@charset "UTF-8";
:root {
  --noto: "Noto Serif JP", serif;
  --noto-sans: "Noto Sans JP", sans-serif;
  --yugo:
    "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", sans-serif;
}

.pc-b {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .pc-b {
    display: none !important;
  }
}

.pc-f {
  display: flex !important;
}
@media screen and (max-width: 768px) {
  .pc-f {
    display: none !important;
  }
}

.pc-g {
  display: grid !important;
}
@media screen and (max-width: 768px) {
  .pc-g {
    display: none !important;
  }
}

.sp-b {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp-b {
    display: block !important;
  }
}

.sp-f {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp-f {
    display: flex !important;
  }
}

.sp-g {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp-g {
    display: grid !important;
  }
}

/* =========================================================
   Global
   ========================================================= */
:root {
  --font-base: "Noto Sans JP", var(--yugo);
  --color-primary: #00b58c;
  --color-primary-focus: rgba(0, 181, 140, 0.35);
  --color-ink: #1f1f1f;
  --color-text: #333333;
  --color-black: #000000;
  --color-placeholder: #cccccc;
  --color-line: #e6e6e6;
  --color-line-light: #e5e5e5;
  --color-control-line: #cccccc;
  --color-flag-line: #e7e7e7;
  --color-dash: #656565;
  --color-sub: #b3b3b3;
  --color-lang: #b3b3b3;
  --color-lang-current: #2d2d2d;
  --color-required: #da0000;
  --color-card: #f7f7f7;
  --color-underline: #a8a8a8;
  --color-white: #ffffff;
  --container: 100.2rem;
  --gutter: 2rem;
}

.theme-medtec {
  --color-primary: #155675;
  --color-primary-focus: rgba(21, 86, 117, 0.35);
}

body {
  background-color: var(--color-white);
  color: var(--color-ink);
  font-family: var(--font-base);
}

.l-container {
  inline-size: min(var(--container), 100% - var(--gutter) * 2);
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  z-index: 100;
  inset-block-start: 0;
  inset-inline-start: 0;
  padding: 1rem 1.6rem;
  transform: translateY(-200%);
  border-radius: 0 0 5px 0;
  background-color: var(--color-primary);
  color: var(--color-white);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.skip-link:focus {
  transform: translateY(0);
}

/* =========================================================
   Components
   ========================================================= */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 24rem;
  block-size: 6rem;
  padding-inline: 2.4rem;
  border-radius: 999px;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-size: 1.8rem;
  font-weight: 700;
  transition: opacity 0.2s ease;
}
.c-button::before, .c-button::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.c-button::before {
  margin-block-end: calc((1 - 1.5555555556) * 0.5em);
}
.c-button::after {
  margin-block-start: calc((1 - 1.5555555556) * 0.5em);
}
@media (hover) {
  .c-button:hover {
    opacity: 0.7;
  }
}
.c-button--wide {
  min-inline-size: 24.2rem;
}
.c-button--back {
  background-color: var(--color-sub);
}
.c-button--small {
  min-inline-size: 10rem;
  block-size: 3.6rem;
  padding-inline: 1.2rem;
  line-height: 1.5714285714;
  letter-spacing: 0.02em;
  font-size: 1.4rem;
  font-weight: 700;
}
.c-button--small::before, .c-button--small::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.c-button--small::before {
  margin-block-end: calc((1 - 1.5714285714) * 0.5em);
}
.c-button--small::after {
  margin-block-start: calc((1 - 1.5714285714) * 0.5em);
}
@media screen and (max-width: 768px) {
  .c-button {
    line-height: 1.625;
    letter-spacing: 0em;
    font-size: 1.6rem;
    inline-size: auto;
    min-inline-size: 20rem;
    max-inline-size: 100%;
    block-size: 5rem;
    padding-inline: 2.8rem;
    font-weight: 700;
  }
  .c-button::before, .c-button::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .c-button::before {
    margin-block-end: calc((1 - 1.625) * 0.5em);
  }
  .c-button::after {
    margin-block-start: calc((1 - 1.625) * 0.5em);
  }
  .c-button--wide {
    min-inline-size: 20rem;
  }
  .c-button--small {
    line-height: 1.5384615385;
    letter-spacing: 0.02em;
    font-size: 1.3rem;
    min-inline-size: 8rem;
    block-size: 3.4rem;
    padding-inline: 1rem;
    font-weight: 700;
  }
  .c-button--small::before, .c-button--small::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .c-button--small::before {
    margin-block-end: calc((1 - 1.5384615385) * 0.5em);
  }
  .c-button--small::after {
    margin-block-start: calc((1 - 1.5384615385) * 0.5em);
  }
}

.c-input {
  inline-size: 100%;
  block-size: 5rem;
  padding-inline: 2.1rem;
  border: 1px solid var(--color-line);
  border-radius: 5px;
  background-color: var(--color-white);
  color: var(--color-ink);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.c-input::placeholder {
  color: var(--color-placeholder);
}
.c-input:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 1px;
}
.c-input.is-error {
  border-color: var(--color-required);
}
.c-input--num {
  inline-size: 8rem;
  padding-inline: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-input--num {
    inline-size: 6rem;
  }
}
.c-input--inline {
  inline-size: min(28rem, 100%);
  padding-inline: 1.4rem;
}

.c-textarea {
  inline-size: 100%;
  min-block-size: 12rem;
  padding: 1.4rem 2.1rem;
  border: 1px solid var(--color-line);
  border-radius: 5px;
  background-color: var(--color-white);
  color: var(--color-ink);
  resize: vertical;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  margin-block: 0;
}
.c-textarea::placeholder {
  color: var(--color-placeholder);
}
.c-textarea:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 1px;
}
.c-textarea.is-error {
  border-color: var(--color-required);
}

.c-select {
  position: relative;
  inline-size: min(17.2rem, 100%);
}
.c-select--full {
  inline-size: 100%;
}
.c-select__control {
  inline-size: 100%;
  block-size: 5rem;
  padding-inline: 2.1rem 3.6rem;
  border: 1px solid var(--color-line);
  border-radius: 5px;
  background-color: var(--color-white);
  color: var(--color-black);
  cursor: pointer;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.c-select__control:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 1px;
}
.c-select__control.is-error {
  border-color: var(--color-required);
}
.c-select__icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 1.7rem;
  inline-size: 1.6rem;
  block-size: 1.1rem;
  transform: translateY(-50%);
  color: var(--color-black);
  pointer-events: none;
}

.c-zip {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.c-zip__input {
  inline-size: 7.5rem;
  padding-inline: 0;
  text-align: center;
}
.c-zip__dash {
  inline-size: 1.3rem;
  block-size: 2px;
  background-color: var(--color-dash);
}

.c-tel {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  block-size: 5rem;
  padding-inline: 1.8rem 2.1rem;
  border: 1px solid var(--color-line);
  border-radius: 5px;
  background-color: var(--color-white);
}
.c-tel:focus-within {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 1px;
}
.c-tel:not(.c-tel--stacked).is-error, .c-tel:not(.c-tel--stacked):has(.c-tel__input.is-error), .c-tel:not(.c-tel--stacked):has(.c-tel__select.is-error) {
  border-color: var(--color-required);
}
.c-tel__country {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-shrink: 0;
}
.c-tel__flag {
  display: block flow;
  inline-size: 3.5rem;
  border: 1px solid var(--color-flag-line);
}
.c-tel__flag img {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 3/2;
}
.c-tel__icon {
  inline-size: 1.6rem;
  block-size: 1.1rem;
  color: var(--color-black);
}
.c-tel__select {
  position: absolute;
  inset: -1rem 0;
  inline-size: 100%;
  opacity: 0;
  cursor: pointer;
}
.c-tel__input {
  flex: 1 1 auto;
  min-inline-size: 0;
  block-size: 100%;
  color: var(--color-ink);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.c-tel__input::placeholder {
  color: var(--color-placeholder);
}
.c-tel__input:focus-visible {
  outline: none;
}
.c-tel--stacked {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  block-size: auto;
  padding: 0;
  border: 0;
  background-color: transparent;
}
.c-tel--stacked:focus-within {
  border: 0;
  outline: none;
}
.c-tel--stacked .c-tel__country {
  inline-size: min(43.5rem, 100%);
}
.c-tel--stacked .c-tel__number {
  display: flex;
  gap: 0.8rem;
}
.c-tel--stacked .c-tel__prefix {
  inline-size: 10rem;
  flex: none;
  background-color: var(--color-card);
}
@media screen and (max-width: 768px) {
  .c-tel--stacked .c-tel__prefix {
    inline-size: 7rem;
  }
}
.c-tel--stacked .c-tel__number-input {
  flex: 1 1 auto;
  min-inline-size: 0;
}

.c-check {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.c-check__input {
  flex-shrink: 0;
  inline-size: 1.8rem;
  block-size: 1.8rem;
  border: 1px solid var(--color-control-line);
  border-radius: 3px;
  background-color: var(--color-white);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.3rem 0.9rem;
  appearance: none;
  cursor: pointer;
}
.c-check__input:checked {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  background-image: url("/img/icon-check.svg");
}
.c-check__input:focus-visible {
  outline: 2px solid var(--color-primary-focus);
  outline-offset: 1px;
}
.c-check__input.is-error {
  border-color: var(--color-required);
}
.c-check__text {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
.c-check--top {
  align-items: flex-start;
}
.c-check--top .c-check__text {
  line-height: 1;
  letter-spacing: -0.07em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
.c-check--top .c-check__text:lang(en) {
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .c-check--top .c-check__text {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .c-check--top .c-check__text::before, .c-check--top .c-check__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .c-check--top .c-check__text::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .c-check--top .c-check__text::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
.c-check--radio {
  gap: 1.2rem;
}
.c-check--radio .c-check__input {
  inline-size: 1.6rem;
  block-size: 1.6rem;
  border-radius: 50%;
}
.c-check--radio .c-check__input:checked {
  border-color: var(--color-control-line);
  background-color: var(--color-white);
  background-image: radial-gradient(circle at center, var(--color-primary) 0.5rem, transparent calc(0.5rem + 1px));
  background-size: 100% 100%;
}
.c-check--radio .c-check__input.is-error {
  border-color: var(--color-required);
}

.c-check-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem 2.8rem;
}
.c-check-list--radio {
  gap: 1.4rem 3rem;
}

.schedule {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.schedule__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.4rem 2.8rem;
}
.schedule__date {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .schedule__date {
    flex-basis: 100%;
  }
}

.detail {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.detail__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.detail__fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2.4rem;
  padding-inline-start: 2.8rem;
}
@media screen and (max-width: 768px) {
  .detail__fields {
    padding-inline-start: 0;
  }
}
.detail__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}
.detail__unit {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  white-space: nowrap;
}

.modal {
  inline-size: min(64rem, 100% - var(--gutter) * 2);
  max-block-size: calc(100dvb - 4rem);
  margin: auto;
  padding: 0;
  border: none;
  border-radius: 10px;
  background-color: var(--color-white);
  color: var(--color-ink);
}
.modal::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.modal__inner {
  padding: 4rem;
}
@media screen and (max-width: 768px) {
  .modal__inner {
    padding: 2.4rem 2rem;
  }
}
.modal__form {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.modal__form[hidden] {
  display: none;
}
@media screen and (max-width: 768px) {
  .modal__form {
    gap: 2rem;
  }
}
.modal__title {
  line-height: 1.6666666667;
  letter-spacing: -0.07em;
  font-size: 1.8rem;
  font-weight: 700;
}
.modal__title::before, .modal__title::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.modal__title::before {
  margin-block-end: calc((1 - 1.6666666667) * 0.5em);
}
.modal__title::after {
  margin-block-start: calc((1 - 1.6666666667) * 0.5em);
}
@media screen and (max-width: 768px) {
  .modal__title {
    line-height: 1.625;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .modal__title::before, .modal__title::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .modal__title::before {
    margin-block-end: calc((1 - 1.625) * 0.5em);
  }
  .modal__title::after {
    margin-block-start: calc((1 - 1.625) * 0.5em);
  }
}
.modal__field {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.modal__label {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .modal__label {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.modal__error {
  color: var(--color-required);
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-size: 1.4rem;
}
.modal__error::before, .modal__error::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.modal__error::before {
  margin-block-end: calc((1 - 1.5714285714) * 0.5em);
}
.modal__error::after {
  margin-block-start: calc((1 - 1.5714285714) * 0.5em);
}
.modal__text {
  line-height: 1.875;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.modal__text::before, .modal__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.modal__text::before {
  margin-block-end: calc((1 - 1.875) * 0.5em);
}
.modal__text::after {
  margin-block-start: calc((1 - 1.875) * 0.5em);
}
@media screen and (max-width: 768px) {
  .modal__text {
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .modal__text::before, .modal__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .modal__text::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .modal__text::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.modal__note {
  line-height: 1.7142857143;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  display: flex;
}
@media screen and (max-width: 768px) {
  .modal__note {
    line-height: 1.6666666667;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.2rem;
  }
}
.modal__note-mark {
  flex: none;
}
.modal__note-text {
  min-inline-size: 0;
}
.modal__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   Header
   ========================================================= */
.header {
  position: sticky;
  inset-block-start: 0;
  z-index: 10;
  background-color: var(--color-white);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.04);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  block-size: 8rem;
}
@media screen and (max-width: 768px) {
  .header__inner {
    block-size: 6rem;
  }
}
@media screen and (max-width: 420px) {
  .header__inner--cphi {
    flex-wrap: wrap;
    gap: 1rem;
    block-size: auto;
    padding-block: 1rem;
  }
  .header__inner--cphi .header__utility {
    margin-inline-start: auto;
  }
}
.header__logo {
  display: block flow;
  inline-size: 19.7rem;
}
.header__logo img {
  inline-size: 100%;
  block-size: auto;
}
@media screen and (max-width: 768px) {
  .header__logo {
    inline-size: 14rem;
  }
}
.header__logo--cphi {
  display: flex;
  align-items: flex-end;
  gap: 1.6rem;
  inline-size: auto;
  flex: none;
}
.header__logo--cphi img {
  inline-size: auto;
  block-size: 4.4rem;
}
.header__logo--cphi .header__logo-pharma {
  inline-size: 7.8rem;
  block-size: auto;
}
@media screen and (max-width: 768px) {
  .header__logo--cphi {
    gap: 1rem;
  }
  .header__logo--cphi img {
    block-size: 2.4rem;
  }
  .header__logo--cphi .header__logo-pharma {
    inline-size: 4.3rem;
    block-size: auto;
  }
}
.header__logo--medtec {
  inline-size: 13.7rem;
}
@media screen and (max-width: 768px) {
  .header__logo--medtec {
    inline-size: 9.8rem;
  }
}
.header__utility {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .header__utility {
    gap: 1rem;
  }
}

.lang {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.lang__item {
  display: flex;
  align-items: center;
}
.lang__item + .lang__item {
  padding-inline-start: 0.8rem;
  border-inline-start: 1px solid var(--color-line-light);
}
.lang__link {
  color: var(--color-lang);
  line-height: 1.2857142857;
  letter-spacing: 0.02em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .lang__link {
    line-height: 1.3846153846;
    letter-spacing: 0.02em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.3rem;
  }
}
@media (hover) {
  .lang__link:hover {
    color: var(--color-lang-current);
  }
}
.lang__link--current {
  color: var(--color-lang-current);
}

/* =========================================================
   Footer
   ========================================================= */
.footer {
  background-color: var(--color-text);
  color: var(--color-white);
}
.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6rem;
  block-size: 15rem;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2.8rem;
    block-size: auto;
    padding-block: 4rem;
  }
}
.footer__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 4.2rem;
}
@media screen and (max-width: 768px) {
  .footer__list {
    gap: 1.2rem 2.4rem;
  }
}
.footer__link {
  line-height: 1.7142857143;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
@media (hover) {
  .footer__link:hover {
    text-decoration: underline;
  }
}
.footer__info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  text-align: end;
}
@media screen and (max-width: 768px) {
  .footer__info {
    text-align: start;
  }
}
.footer__tagline {
  line-height: 1.4285714286;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.footer__copyright {
  line-height: 1.6666666667;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.2rem;
}

/* =========================================================
   Page frame
   ========================================================= */
.page {
  padding-block: 8.8rem 12rem;
}
@media screen and (max-width: 768px) {
  .page {
    padding-block: 4.8rem 6.4rem;
  }
}

.page-title {
  text-align: center;
}
.page-title__text {
  display: block flow;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 3.8rem;
  font-weight: 700;
}
.page-title__text::after {
  content: "";
  display: block flow;
  inline-size: 6rem;
  block-size: 3px;
  margin: 2rem auto 0;
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .page-title__text {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2.8rem;
  }
  .page-title__text::after {
    margin-block-start: 1.4rem;
  }
}
.page-title__note {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  margin-block-start: 1.9rem;
}
@media screen and (max-width: 768px) {
  .page-title__note {
    line-height: 1.6666666667;
    letter-spacing: 0em;
    font-size: 1.2rem;
    margin-block-start: 1.4rem;
  }
  .page-title__note::before, .page-title__note::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .page-title__note::before {
    margin-block-end: calc((1 - 1.6666666667) * 0.5em);
  }
  .page-title__note::after {
    margin-block-start: calc((1 - 1.6666666667) * 0.5em);
  }
}

/* =========================================================
   Progress tracker
   ========================================================= */
.steps {
  margin-block-start: 6.2rem;
}
@media screen and (max-width: 768px) {
  .steps {
    margin-block-start: 4rem;
  }
}
@media screen and (max-width: 420px) {
  .steps {
    margin-inline: -1.2rem;
  }
}
.steps__list {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  inline-size: min(58.8rem, 100%);
  margin-inline: auto;
}
.steps__list::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset-block-start: 2.7rem;
  inset-inline: 1.1rem;
  block-size: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .steps__list::before {
    inset-block-start: 2.6rem;
    inset-inline: 10%;
  }
}
@media screen and (max-width: 420px) {
  .steps__list::before {
    inset-block-start: 2.3rem;
  }
}
@media screen and (max-width: 360px) {
  .steps__list::before {
    inset-block-start: 2.1rem;
  }
}
@media screen and (max-width: 768px) {
  .steps__list {
    inline-size: 100%;
  }
}
.steps__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  inline-size: 5.5rem;
  padding-block-end: 2.5rem;
}
@media screen and (max-width: 768px) {
  .steps__item {
    flex: 1 1 0;
    inline-size: auto;
    min-inline-size: 0;
    padding-block-end: 0;
  }
}
.steps__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  inline-size: 5.5rem;
  block-size: 5.5rem;
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  background-color: var(--color-white);
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .steps__circle {
    inline-size: 5.2rem;
    block-size: 5.2rem;
  }
}
@media screen and (max-width: 420px) {
  .steps__circle {
    inline-size: 4.6rem;
    block-size: 4.6rem;
  }
}
@media screen and (max-width: 360px) {
  .steps__circle {
    inline-size: 4.2rem;
    block-size: 4.2rem;
  }
}
.steps__label {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .steps__label {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1rem;
  }
}
@media screen and (max-width: 420px) {
  .steps__label {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 360px) {
  .steps__label {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 0.8rem;
  }
}
.steps__num {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .steps__num {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 420px) {
  .steps__num {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 360px) {
  .steps__num {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.steps__name {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  text-align: center;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .steps__name {
    line-height: 1.2727272727;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.1rem;
    position: static;
    inline-size: 100%;
    margin-block-start: 1.2rem;
    transform: none;
    white-space: normal;
  }
}
@media screen and (max-width: 420px) {
  .steps__name {
    line-height: 1.3;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1rem;
    margin-block-start: 1rem;
  }
}
@media screen and (max-width: 360px) {
  .steps__name {
    line-height: 1.3333333333;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 0.9rem;
  }
}
.steps__item--current .steps__circle {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.steps__sp-break {
  display: none;
}
@media screen and (max-width: 768px) {
  .steps__sp-break {
    display: inline;
  }
}
.steps--three .steps__list {
  inline-size: min(36rem, 100%);
}
@media screen and (max-width: 768px) {
  .steps--three .steps__list::before {
    inset-inline: 16.6667%;
  }
}
.steps--four .steps__list {
  inline-size: min(50rem, 100%);
}
.steps--en .steps__item {
  padding-block-end: 5.7rem;
}
@media screen and (max-width: 768px) {
  .steps--en .steps__item {
    padding-block-end: 5.4rem;
  }
}
@media screen and (max-width: 420px) {
  .steps--en .steps__item {
    padding-block-end: 4.9rem;
  }
}
@media screen and (max-width: 360px) {
  .steps--en .steps__item {
    padding-block-end: 4.6rem;
  }
}
.steps--en .steps__name {
  inset-block-start: calc(100% - 2.25rem);
  inset-block-end: auto;
  inline-size: 14rem;
  transform: translate(-50%, -50%);
  white-space: normal;
}
@media screen and (max-width: 768px) {
  .steps--en .steps__name {
    position: absolute;
    inset-block-start: calc(100% - 2.1rem);
    inline-size: 100%;
    margin-block-start: 0;
  }
}
@media screen and (max-width: 420px) {
  .steps--en .steps__name {
    inset-block-start: calc(100% - 1.95rem);
  }
}
@media screen and (max-width: 360px) {
  .steps--en .steps__name {
    inset-block-start: calc(100% - 1.8rem);
  }
}

/* =========================================================
   Card
   ========================================================= */
.card {
  margin-block-start: 5.8rem;
  padding: 6rem 12rem 6.3rem;
  background-color: var(--color-card);
}
@media screen and (max-width: 1000px) {
  .card {
    padding-inline: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .card {
    margin-block-start: 3.2rem;
    padding: 4rem 2rem;
  }
}
.card--complete {
  padding-block-end: 5.8rem;
}
@media screen and (max-width: 768px) {
  .card--complete {
    padding-block-end: 4rem;
  }
}
.card--terms {
  margin-block-start: 4rem;
  padding-block-end: 0.4rem;
}
@media screen and (max-width: 768px) {
  .card--terms {
    margin-block-start: 2.4rem;
    padding-block-end: 0.4rem;
  }
}
.card--outline {
  margin-block-start: 3rem;
  padding-block: 5.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .card--outline {
    margin-block-start: 2.4rem;
    padding-block: 3.2rem;
  }
}
.card__title {
  color: var(--color-primary);
  text-align: center;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .card__title {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2rem;
  }
}

/* =========================================================
   Terms (STEP1 来場規約同意)
   ========================================================= */
.intro {
  margin-block-start: 5.8rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .intro {
    margin-block-start: 3.2rem;
    text-align: start;
  }
}
.intro__title {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .intro__title {
    line-height: 1.625;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .intro__title::before, .intro__title::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .intro__title::before {
    margin-block-end: calc((1 - 1.625) * 0.5em);
  }
  .intro__title::after {
    margin-block-start: calc((1 - 1.625) * 0.5em);
  }
}
.intro__title--vip-en {
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 2rem;
  margin-block: 0;
}
.intro__title--vip-en::before, .intro__title--vip-en::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.intro__title--vip-en::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.intro__title--vip-en::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .intro__title--vip-en {
    line-height: 1.75;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .intro__title--vip-en::before, .intro__title--vip-en::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .intro__title--vip-en::before {
    margin-block-end: calc((1 - 1.75) * 0.5em);
  }
  .intro__title--vip-en::after {
    margin-block-start: calc((1 - 1.75) * 0.5em);
  }
}
.intro__text {
  line-height: 1.75;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
  margin-block-start: 1.6rem;
}
.intro__text::before, .intro__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.intro__text::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.intro__text::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
.intro__text:lang(en) {
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .intro__text {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
    margin-block-start: 1.2rem;
  }
  .intro__text::before, .intro__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .intro__text::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .intro__text::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.intro__link {
  text-decoration: underline;
  text-decoration-color: var(--color-underline);
  text-underline-offset: 0.4rem;
}
@media (hover) {
  .intro__link:hover {
    text-decoration-color: currentColor;
  }
}

.benefit__title {
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--color-line);
  color: var(--color-primary);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .benefit__title {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2rem;
  }
}
.benefit__list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin-block-start: 2.9rem;
}
@media screen and (max-width: 768px) {
  .benefit__list {
    gap: 2.4rem;
    margin-block-start: 2rem;
  }
}
.benefit__list--numbered {
  gap: 2rem;
  counter-reset: benefit;
}
@media screen and (max-width: 768px) {
  .benefit__list--numbered {
    gap: 1.6rem;
  }
}
.benefit__item--numbered {
  position: relative;
  padding-inline-start: 2.4rem;
  counter-increment: benefit;
  line-height: 1.75;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.benefit__item--numbered::before, .benefit__item--numbered::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.benefit__item--numbered::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.benefit__item--numbered::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
.benefit__item--numbered::before {
  content: counter(benefit) ".";
  position: absolute;
  inset-inline-start: 0;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .benefit__item--numbered {
    padding-inline-start: 2.2rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .benefit__item--numbered::before, .benefit__item--numbered::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .benefit__item--numbered::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .benefit__item--numbered::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.benefit__lead {
  margin-block-start: 2rem;
  line-height: 1.75;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.benefit__lead::before, .benefit__lead::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.benefit__lead::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.benefit__lead::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
@media screen and (max-width: 768px) {
  .benefit__lead {
    margin-block-start: 1.6rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .benefit__lead::before, .benefit__lead::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .benefit__lead::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .benefit__lead::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.benefit__link {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--color-underline);
  text-underline-offset: 0.3rem;
}
@media (hover) {
  .benefit__link:hover {
    text-decoration-color: currentColor;
  }
}
.benefit__list--notes {
  gap: 1.2rem;
  margin-block-start: 2.4rem;
}
@media screen and (max-width: 768px) {
  .benefit__list--notes {
    gap: 1rem;
    margin-block-start: 1.6rem;
  }
}
.benefit__list--notes.terms__list {
  margin-block-start: 2.4rem;
}
@media screen and (max-width: 768px) {
  .benefit__list--notes.terms__list {
    margin-block-start: 1.6rem;
  }
}
.benefit__item--notes {
  line-height: 1.75;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.benefit__item--notes::before, .benefit__item--notes::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.benefit__item--notes::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.benefit__item--notes::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
.benefit__item--notes:lang(en) {
  line-height: 1.75;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.benefit__item--notes:lang(en)::before, .benefit__item--notes:lang(en)::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.benefit__item--notes:lang(en)::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.benefit__item--notes:lang(en)::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
@media screen and (max-width: 768px) {
  .benefit__item--notes {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .benefit__item--notes::before, .benefit__item--notes::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .benefit__item--notes::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .benefit__item--notes::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.benefit__sublist {
  margin-block-start: 0.4rem;
  padding-inline-start: 1.6rem;
}
.benefit__subitem {
  position: relative;
}
.benefit__subitem::before {
  content: "・";
  position: absolute;
  inset-inline-start: -1.6rem;
}
.benefit__heading {
  padding-inline-start: 1.1rem;
  border-inline-start: 2px solid var(--color-primary);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .benefit__heading {
    line-height: 1.25;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.6rem;
  }
}
.benefit__text {
  margin-block-start: 1.4rem;
  line-height: 1.5;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.benefit__text::before, .benefit__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.benefit__text::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.benefit__text::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
.benefit__text:lang(en) {
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .benefit__text {
    margin-block-start: 1rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .benefit__text::before, .benefit__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .benefit__text::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .benefit__text::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}

.terms {
  margin-block-start: 5.9rem;
}
@media screen and (max-width: 768px) {
  .terms {
    margin-block-start: 3.2rem;
  }
}
.terms__heading {
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--color-line);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .terms__heading {
    line-height: 1.5;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .terms__heading::before, .terms__heading::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .terms__heading::before {
    margin-block-end: calc((1 - 1.5) * 0.5em);
  }
  .terms__heading::after {
    margin-block-start: calc((1 - 1.5) * 0.5em);
  }
}
.terms__scroll {
  position: relative;
  margin-inline: -12rem -11.6rem;
}
.terms__scroll::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0 1.8rem;
  block-size: 8rem;
  background: linear-gradient(to bottom, rgba(247, 247, 247, 0), var(--color-card));
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.terms__scroll--fade::after {
  opacity: 1;
}
@media screen and (max-width: 1000px) {
  .terms__scroll {
    margin-inline: -5rem -4.6rem;
  }
}
@media screen and (max-width: 768px) {
  .terms__scroll {
    margin-inline: -2rem -1.6rem;
  }
  .terms__scroll::after {
    block-size: 6rem;
  }
}
.terms__body {
  max-block-size: 90.6rem;
  padding: 2.4rem 10.6rem 6rem 12rem;
  overflow-y: auto;
}
@media screen and (max-width: 1000px) {
  .terms__body {
    padding-inline: 5rem;
  }
}
.terms__body::-webkit-scrollbar {
  width: 1.4rem;
}
.terms__body::-webkit-scrollbar-track {
  border-radius: 0.7rem;
  background-color: var(--color-white);
}
.terms__body::-webkit-scrollbar-thumb {
  border: 2px solid var(--color-white);
  border-radius: 0.7rem;
  background-color: var(--color-control-line);
  background-clip: padding-box;
}
.terms__body:focus-visible {
  outline: 2px solid var(--color-primary-focus);
  outline-offset: -2px;
}
@media screen and (max-width: 768px) {
  .terms__body {
    max-block-size: 56rem;
    padding: 1.6rem 1.6rem 4rem 2rem;
  }
}
.terms__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  line-height: 2;
  letter-spacing: -0.07em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
.terms__list:lang(en) {
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .terms__list {
    line-height: 1.8571428571;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.terms__item {
  position: relative;
  padding-inline-start: 1.9rem;
}
.terms__item::before {
  content: "";
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-start: 0;
  inline-size: 1.3rem;
  block-size: 1.3rem;
  border-radius: 50%;
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .terms__item {
    padding-inline-start: 1.8rem;
  }
  .terms__item::before {
    inset-block-start: 0.7rem;
    inline-size: 1.2rem;
    block-size: 1.2rem;
  }
}
.terms__group {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.terms__group + .terms__group {
  margin-block-start: 3rem;
}
@media screen and (max-width: 768px) {
  .terms__group + .terms__group {
    margin-block-start: 2.2rem;
  }
}
.terms__subheading {
  color: var(--color-primary);
  line-height: 1.7777777778;
  letter-spacing: -0.07em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .terms__subheading {
    line-height: 1.625;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.6rem;
  }
}
.terms__text {
  line-height: 2;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.terms__text::before, .terms__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.terms__text::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.terms__text::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .terms__text {
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .terms__text::before, .terms__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .terms__text::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .terms__text::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.terms__text--notice {
  color: var(--color-required);
  font-weight: 700;
}
.terms__list--numbered {
  counter-reset: terms;
}
.terms__item--numbered {
  padding-inline-start: 3.2rem;
  counter-increment: terms;
}
.terms__item--numbered::before {
  content: counter(terms) "）";
  inset-block-start: 0;
  inline-size: auto;
  block-size: auto;
  border-radius: 0;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .terms__item--numbered {
    padding-inline-start: 2.8rem;
  }
  .terms__item--numbered::before {
    inset-block-start: 0;
    inline-size: auto;
    block-size: auto;
  }
}

.agree {
  margin-block-start: 3.8rem;
}
@media screen and (max-width: 768px) {
  .agree {
    margin-block-start: 2.8rem;
  }
}
.agree__required {
  margin-inline-start: 0.5rem;
  color: var(--color-required);
  font-weight: 700;
}
.agree__links {
  text-align: center;
  line-height: 2;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.agree__links::before, .agree__links::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.agree__links::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.agree__links::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
.agree__links:lang(en) {
  line-height: 2;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.agree__links:lang(en)::before, .agree__links:lang(en)::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.agree__links:lang(en)::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.agree__links:lang(en)::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .agree__links {
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
    text-align: start;
  }
  .agree__links::before, .agree__links::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .agree__links::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .agree__links::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.agree__notice {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .agree__notice {
    text-align: start;
  }
}
.agree__notice-title {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.8rem;
  font-weight: 700;
}
.agree__notice-text {
  margin-block-start: 1.4rem;
  line-height: 2;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.agree__notice-text::before, .agree__notice-text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.agree__notice-text::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.agree__notice-text::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .agree__notice-text {
    margin-block-start: 1rem;
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .agree__notice-text::before, .agree__notice-text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .agree__notice-text::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .agree__notice-text::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.agree__statement {
  margin-block-start: 3.2rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.agree__statement::before, .agree__statement::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.agree__statement::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.agree__statement::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .agree__statement {
    margin-block-start: 2.4rem;
    text-align: start;
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .agree__statement::before, .agree__statement::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .agree__statement::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .agree__statement::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.agree__checks-title {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
.agree__link {
  font-weight: 700;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-color: var(--color-underline);
  text-underline-offset: 0.9rem;
}
.agree__link:lang(en) {
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (hover) {
  .agree__link:hover {
    text-decoration-color: currentColor;
  }
}
.agree__pdf {
  display: inline flow-root;
  inline-size: 1.9rem;
  margin-inline-start: 0.8rem;
  vertical-align: middle;
  transition: opacity 0.2s ease;
}
.agree__pdf img {
  display: block flow;
}
@media (hover) {
  .agree__pdf:hover {
    opacity: 0.7;
  }
}
.agree__checks {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  inline-size: fit-content;
  margin-block-start: 5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .agree__checks {
    gap: 1.6rem;
    inline-size: auto;
    margin-block-start: 3.2rem;
  }
}
.agree__check {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.agree__note {
  padding-inline-start: 2.8rem;
  line-height: 1;
  letter-spacing: -0.07em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
.agree__note:lang(en) {
  line-height: 1.4285714286;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .agree__note {
    line-height: 1.5;
    letter-spacing: 0em;
    font-size: 1.2rem;
  }
  .agree__note::before, .agree__note::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .agree__note::before {
    margin-block-end: calc((1 - 1.5) * 0.5em);
  }
  .agree__note::after {
    margin-block-start: calc((1 - 1.5) * 0.5em);
  }
}
.agree__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-start: 6rem;
}
@media screen and (max-width: 768px) {
  .agree__actions {
    margin-block-start: 3.6rem;
  }
}

/* =========================================================
   Form (STEP2 基本情報入力 / STEP3 アンケート)
   ========================================================= */
.form {
  margin-block-start: 4rem;
}
@media screen and (max-width: 768px) {
  .form {
    margin-block-start: 2.8rem;
  }
}
.form--survey {
  margin-block-start: 3rem;
}
@media screen and (max-width: 768px) {
  .form--survey {
    margin-block-start: 2rem;
  }
}
.form__lead {
  margin-block-start: 2.4rem;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.form__lead::before, .form__lead::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.form__lead::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.form__lead::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
@media screen and (max-width: 768px) {
  .form__lead {
    margin-block-start: 1.6rem;
    text-align: start;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .form__lead::before, .form__lead::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .form__lead::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .form__lead::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.form__row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-block: 2rem;
  border-block-end: 1px solid var(--color-line);
}
@media screen and (max-width: 768px) {
  .form__row {
    gap: 1.6rem;
    padding-block: 1.8rem;
  }
}
.form__row--survey {
  padding-block: 3rem 3rem;
}
@media screen and (max-width: 768px) {
  .form__row--survey {
    padding-block: 2.4rem 2rem;
  }
}
.form__field {
  display: grid;
  grid-template-columns: 30rem minmax(0, 1fr);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .form__field {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1rem;
  }
}
.form__field--stack {
  grid-template-columns: minmax(0, 1fr);
  row-gap: 2rem;
}
@media screen and (max-width: 768px) {
  .form__field--stack {
    row-gap: 1.4rem;
  }
}
.form__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 0.9rem;
  padding-inline-end: 1.4rem;
}
@media screen and (max-width: 768px) {
  .form__head {
    padding-inline-end: 0;
  }
}
.form__label {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .form__label {
    line-height: 1.5;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.6rem;
  }
}
.form__required {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 3.4rem;
  block-size: 1.8rem;
  border-radius: 3px;
  background-color: var(--color-required);
  color: var(--color-white);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.2rem;
  font-weight: 700;
}
.form__required--asterisk {
  inline-size: auto;
  block-size: auto;
  background-color: transparent;
  color: var(--color-required);
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
.form__note {
  flex-basis: 100%;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.2rem;
  font-weight: 500;
}
.form__caption {
  margin-inline-start: 0.3rem;
  color: var(--color-required);
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.2rem;
}
.form__caption::before, .form__caption::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.form__caption::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.form__caption::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .form__caption {
    flex-basis: 100%;
    margin-inline-start: 0;
  }
}
.form__sublabel {
  margin-inline-start: auto;
  text-align: end;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .form__sublabel {
    margin-inline-start: 0;
    text-align: start;
  }
}
@media screen and (max-width: 768px) {
  .form__sublabel--pc {
    display: none;
  }
}
.form__body {
  grid-column: 2;
  min-inline-size: 0;
}
@media screen and (max-width: 768px) {
  .form__body {
    grid-column: 1;
  }
}
.form__field--stack .form__body, .form__field--stack .form__alert, .form__field--stack .form__hint {
  grid-column: 1;
}
.form__extra {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-block-start: 1.6rem;
}
.form__extra-label {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .form__extra-label {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .form__extra-label::before, .form__extra-label::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .form__extra-label::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .form__extra-label::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
.form__inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 2.1rem;
}
.form__alert {
  grid-column: 2;
  margin-block-start: 0.8rem;
  padding-inline-start: 1.2rem;
  text-indent: -1.2rem;
  color: var(--color-required);
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.2rem;
}
.form__alert::before, .form__alert::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.form__alert::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.form__alert::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .form__alert {
    grid-column: 1;
    margin-block-start: 0;
  }
}
.form__hint {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  grid-column: 2;
  margin-block-start: 0.8rem;
  color: var(--color-black);
}
.form__hint:lang(en), .form__hint--multiline {
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-size: 1.4rem;
}
.form__hint:lang(en)::before, .form__hint:lang(en)::after, .form__hint--multiline::before, .form__hint--multiline::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.form__hint:lang(en)::before, .form__hint--multiline::before {
  margin-block-end: calc((1 - 1.5714285714) * 0.5em);
}
.form__hint:lang(en)::after, .form__hint--multiline::after {
  margin-block-start: calc((1 - 1.5714285714) * 0.5em);
}
@media screen and (max-width: 768px) {
  .form__hint {
    grid-column: 1;
    margin-block-start: 0;
  }
}
.form__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-start: 6rem;
}
.form__actions--pair {
  gap: 3.6rem;
}
@media screen and (max-width: 768px) {
  .form__actions {
    flex-direction: column;
    gap: 1.6rem;
    margin-block-start: 3.6rem;
  }
  .form__actions--pair {
    gap: 1.6rem;
  }
}

/* =========================================================
   Confirmation list (STEP4)
   ========================================================= */
.confirm {
  margin-block-start: 5.9rem;
}
@media screen and (max-width: 768px) {
  .confirm {
    margin-block-start: 2.8rem;
  }
}
.confirm__row {
  display: flex;
  align-items: flex-start;
  padding-block: 2.9rem 2.8rem;
  border-block-end: 1px solid var(--color-line);
}
@media screen and (max-width: 768px) {
  .confirm__row {
    flex-direction: column;
    gap: 1.2rem;
    padding-block: 2rem;
  }
}
.confirm__row--stack {
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .confirm__row--stack {
    gap: 1.2rem;
  }
}
.confirm__label {
  inline-size: 26.2rem;
  flex-shrink: 0;
  line-height: 1.75;
  letter-spacing: 0em;
  font-size: 1.6rem;
  font-weight: 700;
}
.confirm__label::before, .confirm__label::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.confirm__label::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.confirm__label::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
@media screen and (max-width: 768px) {
  .confirm__label {
    inline-size: auto;
    line-height: 1.5;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .confirm__label::before, .confirm__label::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .confirm__label::before {
    margin-block-end: calc((1 - 1.5) * 0.5em);
  }
  .confirm__label::after {
    margin-block-start: calc((1 - 1.5) * 0.5em);
  }
}
.confirm__value {
  flex: 1 1 auto;
  min-inline-size: 0;
  color: var(--color-black);
  line-height: 1.75;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.confirm__value::before, .confirm__value::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.confirm__value::before {
  margin-block-end: calc((1 - 1.75) * 0.5em);
}
.confirm__value::after {
  margin-block-start: calc((1 - 1.75) * 0.5em);
}
@media screen and (max-width: 768px) {
  .confirm__value {
    line-height: 1.5;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .confirm__value::before, .confirm__value::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .confirm__value::before {
    margin-block-end: calc((1 - 1.5) * 0.5em);
  }
  .confirm__value::after {
    margin-block-start: calc((1 - 1.5) * 0.5em);
  }
}
.confirm__row--stack .confirm__label {
  inline-size: auto;
}

/* =========================================================
   Completion (STEP5)
   ========================================================= */
.complete {
  text-align: center;
}
.complete__lead {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.8rem;
  margin-block-start: 2.9rem;
  font-weight: 700;
}
.complete__text {
  margin-block-start: 2.9rem;
  line-height: 2;
  letter-spacing: -0.07em;
  font-size: 1.6rem;
}
.complete__text::before, .complete__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.complete__text::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.complete__text::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .complete__text {
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
    text-align: start;
  }
  .complete__text::before, .complete__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .complete__text::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .complete__text::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.complete__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  margin-block-start: 5.8rem;
}
@media screen and (max-width: 1040px) {
  .complete__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 18.4rem));
    gap: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .complete__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block-start: 3.2rem;
  }
}
@media screen and (max-width: 420px) {
  .complete__actions {
    grid-template-columns: 1fr;
  }
}
.complete__action {
  display: flex;
  flex: 0 0 18.4rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  block-size: 5rem;
  border: 2px solid var(--color-primary);
  border-radius: 999px;
  background-color: var(--color-white);
  color: var(--color-primary);
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.complete__action--share {
  flex-direction: row;
  gap: 0.4rem;
  white-space: nowrap;
}
@media (hover) {
  .complete__action:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
}
.complete__action:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
@media screen and (max-width: 768px) {
  .complete__action {
    inline-size: 100%;
    padding-inline: 0.8rem;
  }
}
.complete__brand--linkedin {
  display: block;
  inline-size: 2.4rem;
  block-size: auto;
}
.complete__brand--x {
  color: var(--color-black);
  font-family: Arial, sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.notice {
  margin-block-start: 5.6rem;
  margin-inline: -3rem;
  padding: 6.2rem 4.6rem 6.3rem;
  border-radius: 5px;
  background-color: var(--color-white);
  color: var(--color-text);
  text-align: start;
}
@media screen and (max-width: 768px) {
  .notice {
    margin-block-start: 3.2rem;
    margin-inline: 0;
    padding: 3.2rem 2rem;
  }
}
.notice__title {
  text-align: center;
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .notice__title {
    line-height: 1.625;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .notice__title::before, .notice__title::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .notice__title::before {
    margin-block-end: calc((1 - 1.625) * 0.5em);
  }
  .notice__title::after {
    margin-block-start: calc((1 - 1.625) * 0.5em);
  }
}
.notice__text {
  margin-block-start: 3rem;
  line-height: 2;
  letter-spacing: -0.09em;
  font-size: 1.6rem;
}
.notice__text::before, .notice__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.notice__text::before {
  margin-block-end: calc((1 - 2) * 0.5em);
}
.notice__text::after {
  margin-block-start: calc((1 - 2) * 0.5em);
}
@media screen and (max-width: 768px) {
  .notice__text {
    margin-block-start: 2rem;
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .notice__text::before, .notice__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .notice__text::before {
    margin-block-end: calc((1 - 1.8571428571) * 0.5em);
  }
  .notice__text::after {
    margin-block-start: calc((1 - 1.8571428571) * 0.5em);
  }
}
.notice__contact {
  margin-block-start: 2.7rem;
  padding-block-start: 3rem;
  border-block-start: 1px solid var(--color-line);
}
@media screen and (max-width: 768px) {
  .notice__contact {
    margin-block-start: 2.4rem;
    padding-block-start: 2rem;
  }
}

.contact {
  display: grid;
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .contact {
    gap: 0.8rem;
  }
}
.contact--stacked {
  gap: 1.6rem;
}
.contact--stacked .contact__mail {
  display: inline-block;
  max-inline-size: 100%;
}
.contact__summary {
  line-height: 1.5;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contact__summary {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.contact__summary:lang(ja) {
  line-height: 1.5;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .contact__summary:lang(ja) {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.contact__label {
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.6rem;
  font-weight: 700;
}
.contact__label::before, .contact__label::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.contact__label::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.contact__label::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .contact__label {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .contact__label::before, .contact__label::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .contact__label::before {
    margin-block-end: calc((1 - 1.7142857143) * 0.5em);
  }
  .contact__label::after {
    margin-block-start: calc((1 - 1.7142857143) * 0.5em);
  }
}
.contact__body {
  display: grid;
  gap: 1.6rem;
  min-inline-size: 0;
}
.contact__mail {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
  font-weight: 700;
  word-break: break-all;
}
@media (hover) {
  .contact__mail:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  .contact__mail {
    line-height: 1.7142857143;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 1.4rem;
  }
}
.contact__hours {
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.contact__hours::before, .contact__hours::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.contact__hours::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.contact__hours::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .contact__hours {
    line-height: 1.4285714286;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .contact__hours::before, .contact__hours::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .contact__hours::before {
    margin-block-end: calc((1 - 1.4285714286) * 0.5em);
  }
  .contact__hours::after {
    margin-block-start: calc((1 - 1.4285714286) * 0.5em);
  }
}

/* =========================================================
   Sitemap
   ========================================================= */
.sitemap {
  padding-block: 7.2rem 10rem;
}
@media screen and (max-width: 768px) {
  .sitemap {
    padding-block: 4.8rem 7.2rem;
  }
}
.sitemap__header {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.sitemap__heading {
  line-height: 1.3333333333;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sitemap__heading {
    line-height: 1.3571428571;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2.8rem;
  }
}
.sitemap__intro {
  line-height: 1.75;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.6rem;
}
.sitemap__groups {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin-block-start: 5.6rem;
}
@media screen and (max-width: 768px) {
  .sitemap__groups {
    gap: 4rem;
    margin-block-start: 4rem;
  }
}
.sitemap__group-title {
  line-height: 1.4545454545;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sitemap__group-title {
    line-height: 1.5;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2rem;
  }
}
.sitemap__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-block-start: 1.8rem;
}
@media screen and (max-width: 768px) {
  .sitemap__grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.sitemap__card {
  padding: 2.8rem 3rem;
  border: 1px solid var(--color-line);
  border-radius: 1rem;
  background-color: var(--color-card);
}
@media screen and (max-width: 768px) {
  .sitemap__card {
    padding: 2.4rem 2rem;
  }
}
.sitemap__site-title {
  line-height: 1.5;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 2rem;
  font-weight: 700;
}
.sitemap__site-link, .sitemap__step-link {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.sitemap__site-link:focus-visible, .sitemap__step-link:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
@media (hover) {
  .sitemap__site-link:hover, .sitemap__step-link:hover {
    color: var(--color-primary);
  }
}
.sitemap__path {
  margin-block-start: 0.4rem;
  color: var(--color-dash);
  overflow-wrap: anywhere;
  line-height: 1.6923076923;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.3rem;
}
.sitemap__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem 1.6rem;
  margin-block-start: 2.4rem;
}
@media screen and (max-width: 420px) {
  .sitemap__steps {
    grid-template-columns: 1fr;
  }
}
.sitemap__step {
  line-height: 1.7142857143;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
}

/* =========================================================
   Visitor My Page (CPHI JP / Medtec EN)
   ========================================================= */
.mypage-screen {
  font-feature-settings: "palt";
}
.mypage-screen :where(a, button):focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 5px;
}

.mypage-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "logo navigation languages";
  gap: 2rem;
  block-size: auto;
  min-block-size: 8rem;
  padding-block: 1.6rem;
}
@media screen and (max-width: 1000px) {
  .mypage-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "logo languages toggle";
  }
}
@media screen and (max-width: 768px) {
  .mypage-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "logo languages toggle";
    gap: 0.8rem;
    min-block-size: 6rem;
    padding-block: 1rem;
  }
}
.mypage-header__logo {
  grid-area: logo;
}
.mypage-header__navigation {
  grid-area: navigation;
}
@media screen and (max-width: 1000px) {
  .mypage-header__navigation {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-0.8rem);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
    position: absolute;
    z-index: 20;
    inset: 100% 0 auto;
    padding: 2.4rem var(--gutter);
    border-block-start: 1px solid var(--color-line);
    background-color: var(--color-white);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
  }
}
@media screen and (max-width: 1000px) and (prefers-reduced-motion: reduce) {
  .mypage-header__navigation {
    transition: none;
  }
}
.mypage-header__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.6rem 2rem;
}
@media screen and (max-width: 1000px) {
  .mypage-header__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
  }
}
.mypage-header__link {
  display: block;
  line-height: 1.5714285714;
  letter-spacing: 0.02em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.4rem;
  font-weight: 700;
}
@media (hover) {
  .mypage-header__link:hover {
    color: var(--color-primary);
  }
}
.mypage-header__languages {
  grid-area: languages;
}
.mypage-header__toggle {
  grid-area: toggle;
  display: none;
  inline-size: 4rem;
  block-size: 4rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1000px) {
  .mypage-header__toggle {
    display: flex;
  }
}
.mypage-header__toggle-line {
  position: relative;
  inline-size: 2.4rem;
  block-size: 2px;
  background-color: var(--color-ink);
  transition: background-color 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .mypage-header__toggle-line {
    transition: none;
  }
}
.mypage-header__toggle-line::before, .mypage-header__toggle-line::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  block-size: 2px;
  background-color: var(--color-ink);
  transition: transform 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .mypage-header__toggle-line::before, .mypage-header__toggle-line::after {
    transition: none;
  }
}
.mypage-header__toggle-line::before {
  inset-block-start: -0.7rem;
}
.mypage-header__toggle-line::after {
  inset-block-start: 0.7rem;
}
@media screen and (max-width: 1000px) {
  .mypage-header--open .mypage-header__navigation {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
  }
  .mypage-header--open .mypage-header__toggle-line {
    background-color: transparent;
  }
  .mypage-header--open .mypage-header__toggle-line::before {
    transform: translateY(0.7rem) rotate(45deg);
  }
  .mypage-header--open .mypage-header__toggle-line::after {
    transform: translateY(-0.7rem) rotate(-45deg);
  }
}

.mypage {
  scroll-margin-block-start: 15rem;
  padding-block: 6.8rem 12rem;
}
.mypage__inner {
  inline-size: min(76rem, 100% - var(--gutter) * 2);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .mypage {
    padding-block: 4.8rem 7.2rem;
  }
}

.mypage-title {
  text-align: center;
}
.mypage-title__text {
  line-height: 1;
  letter-spacing: 0em;
  margin-block: calc((1em - 1lh) / 2);
  font-size: 3.8rem;
  font-weight: 700;
}
.mypage-title__text::after {
  content: "";
  display: block;
  inline-size: 6rem;
  block-size: 3px;
  margin: 2rem auto 0;
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .mypage-title__text {
    line-height: 1;
    letter-spacing: 0em;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 2.8rem;
  }
  .mypage-title__text::after {
    margin-block-start: 1.6rem;
  }
}
.mypage-title__label {
  position: relative;
  inset-block-start: -0.1rem;
}
.mypage-title__note {
  position: relative;
  inset-block-start: -0.1rem;
  margin-block-start: 1.9rem;
  line-height: 1.7142857143;
  letter-spacing: -0.008em;
  font-size: 1.4rem;
}
.mypage-title__note::before, .mypage-title__note::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-title__note::before {
  margin-block-end: calc((1 - 1.7142857143) * 0.5em);
}
.mypage-title__note::after {
  margin-block-start: calc((1 - 1.7142857143) * 0.5em);
}

.mypage-button {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: min(28rem, 100%);
  min-block-size: 6rem;
  margin-inline: auto;
  padding: 1.8rem 2rem;
  border-radius: 999px;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  transition: opacity 0.2s ease;
}
.mypage-button__text {
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-size: 1.8rem;
  font-weight: 700;
}
.mypage-button__text::before, .mypage-button__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-button__text::before {
  margin-block-end: calc((1 - 1.3333333333) * 0.5em);
}
.mypage-button__text::after {
  margin-block-start: calc((1 - 1.3333333333) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-button__text {
    line-height: 1.5;
    letter-spacing: 0em;
    font-size: 1.6rem;
  }
  .mypage-button__text::before, .mypage-button__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-button__text::before {
    margin-block-end: calc((1 - 1.5) * 0.5em);
  }
  .mypage-button__text::after {
    margin-block-start: calc((1 - 1.5) * 0.5em);
  }
}
.mypage-button--profile {
  inline-size: min(24rem, 100%);
}
.mypage-button--wide {
  inline-size: min(38rem, 100%);
}
@media (hover) {
  .mypage-button:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .mypage-button {
    min-block-size: 5.2rem;
    padding-block: 1.4rem;
  }
}

.mypage-badge {
  scroll-margin-block-start: 15rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
  align-items: center;
  padding-block: 5rem 8rem;
  border-block-end: 1px solid var(--color-line);
}
.mypage-badge__image {
  inline-size: min(57.8rem, 100%);
  block-size: auto;
  aspect-ratio: 578/818;
}
@media screen and (max-width: 768px) {
  .mypage-badge {
    gap: 3.6rem;
    padding-block: 3.6rem 5.6rem;
  }
}

.mypage-seminars {
  scroll-margin-block-start: 15rem;
  padding-block: 8rem;
  border-block-end: 1px solid var(--color-line);
}
.mypage-seminars__title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: 5rem;
  padding: 1.4rem 2rem;
  border-radius: 1rem 1rem 0 0;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
}
.mypage-seminars__heading {
  line-height: 1.2;
  letter-spacing: 0em;
  font-size: 2rem;
  font-weight: 700;
}
.mypage-seminars__heading::before, .mypage-seminars__heading::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-seminars__heading::before {
  margin-block-end: calc((1 - 1.2) * 0.5em);
}
.mypage-seminars__heading::after {
  margin-block-start: calc((1 - 1.2) * 0.5em);
}
.mypage-seminars__table {
  inline-size: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-block-start: 0;
  border-radius: 0 0 1rem 1rem;
  margin-block-end: 6rem;
}
@media screen and (max-width: 768px) {
  .mypage-seminars__table {
    margin-block-end: 3.6rem;
  }
}
.mypage-seminars__row:nth-child(odd) {
  background-color: var(--color-card);
}
.mypage-seminars__row + .mypage-seminars__row .mypage-seminars__schedule,
.mypage-seminars__row + .mypage-seminars__row .mypage-seminars__name {
  border-block-start: 1px solid var(--color-line);
}
.mypage-seminars__schedule {
  inline-size: 24rem;
  block-size: 7rem;
  padding: 1.3rem 2.9rem;
  vertical-align: middle;
  border-inline-end: 1px solid var(--color-line);
}
@media screen and (max-width: 768px) {
  .mypage-seminars__schedule {
    inline-size: 40%;
    padding: 1.6rem 1.2rem;
  }
}
.mypage-seminars__date {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.mypage-seminars__date-label {
  line-height: 1.2222222222;
  letter-spacing: -0.01em;
  font-size: 1.8rem;
}
.mypage-seminars__date-label::before, .mypage-seminars__date-label::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-seminars__date-label::before {
  margin-block-end: calc((1 - 1.2222222222) * 0.5em);
}
.mypage-seminars__date-label::after {
  margin-block-start: calc((1 - 1.2222222222) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-seminars__date-label {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .mypage-seminars__date-label::before, .mypage-seminars__date-label::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-seminars__date-label::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .mypage-seminars__date-label::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
.mypage-seminars__time {
  line-height: 1.375;
  letter-spacing: 0em;
  font-size: 1.6rem;
}
.mypage-seminars__time::before, .mypage-seminars__time::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-seminars__time::before {
  margin-block-end: calc((1 - 1.375) * 0.5em);
}
.mypage-seminars__time::after {
  margin-block-start: calc((1 - 1.375) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-seminars__time {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .mypage-seminars__time::before, .mypage-seminars__time::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-seminars__time::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .mypage-seminars__time::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
.mypage-seminars__name {
  padding: 1.3rem 3.8rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .mypage-seminars__name {
    padding: 1.6rem 1.2rem;
  }
}
.mypage-seminars__text {
  position: relative;
  inset-block-start: -0.1rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.6rem;
  overflow-wrap: anywhere;
}
.mypage-seminars__text::before, .mypage-seminars__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-seminars__text::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.mypage-seminars__text::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-seminars__text {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .mypage-seminars__text::before, .mypage-seminars__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-seminars__text::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .mypage-seminars__text::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
@media screen and (max-width: 768px) {
  .mypage-seminars {
    padding-block: 5.6rem;
  }
}

.mypage-profile {
  scroll-margin-block-start: 15rem;
  padding-block-start: 7.8rem;
}
.mypage-profile__title {
  position: relative;
  inset-block-start: -0.1rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-size: 2.4rem;
  color: var(--color-primary);
  font-weight: 700;
  text-align: center;
}
.mypage-profile__title::before, .mypage-profile__title::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-profile__title::before {
  margin-block-end: calc((1 - 1.3333333333) * 0.5em);
}
.mypage-profile__title::after {
  margin-block-start: calc((1 - 1.3333333333) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-profile__title {
    line-height: 1.3636363636;
    letter-spacing: 0em;
    font-size: 2.2rem;
  }
  .mypage-profile__title::before, .mypage-profile__title::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-profile__title::before {
    margin-block-end: calc((1 - 1.3636363636) * 0.5em);
  }
  .mypage-profile__title::after {
    margin-block-start: calc((1 - 1.3636363636) * 0.5em);
  }
}
.mypage-profile__list {
  margin-block: 4.7rem 6rem;
}
@media screen and (max-width: 768px) {
  .mypage-profile__list {
    margin-block: 3.6rem;
  }
}
.mypage-profile__row {
  display: flex;
  align-items: center;
  gap: 2.3rem;
  min-block-size: 7.6rem;
  padding-block: 2.4rem;
  border-block-end: 1px solid var(--color-line);
}
@media screen and (max-width: 768px) {
  .mypage-profile__row {
    gap: 1.6rem;
    min-block-size: 7rem;
    padding-block: 2rem;
  }
}
.mypage-profile__label {
  flex: 0 0 24rem;
}
@media screen and (max-width: 768px) {
  .mypage-profile__label {
    flex-basis: 34%;
  }
}
.mypage-profile__value {
  min-inline-size: 0;
  flex: 1;
  color: var(--color-black);
}
.mypage-profile__text {
  position: relative;
  inset-block-start: -0.1rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-size: 1.6rem;
  overflow-wrap: anywhere;
}
.mypage-profile__text::before, .mypage-profile__text::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.mypage-profile__text::before {
  margin-block-end: calc((1 - 1.5) * 0.5em);
}
.mypage-profile__text::after {
  margin-block-start: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 768px) {
  .mypage-profile__text {
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
  .mypage-profile__text::before, .mypage-profile__text::after {
    content: "";
    display: block flow;
    inline-size: 0;
    block-size: 1px;
  }
  .mypage-profile__text::before {
    margin-block-end: calc((1 - 1.5714285714) * 0.5em);
  }
  .mypage-profile__text::after {
    margin-block-start: calc((1 - 1.5714285714) * 0.5em);
  }
}
@media screen and (max-width: 768px) {
  .mypage-profile {
    padding-block-start: 5.6rem;
  }
}

.mypage-footer__inner {
  padding-block-end: 0.4rem;
}
@media screen and (max-width: 768px) {
  .mypage-footer__inner {
    padding-block: 4rem;
  }
}
.mypage-footer__list {
  column-gap: 4.4rem;
}
@media screen and (max-width: 768px) {
  .mypage-footer__list {
    column-gap: 2.4rem;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }
  .mypage-header,
  .mypage-screen > .skip-link,
  .mypage-screen > .footer,
  .mypage-title,
  .mypage-seminars,
  .mypage-profile,
  .mypage-badge > .mypage-button {
    display: none;
  }
  .mypage {
    padding: 0;
  }
  .mypage__inner {
    inline-size: 100%;
  }
  .mypage-badge {
    display: block;
    padding: 0;
    border: 0;
  }
  .mypage-badge__image {
    inline-size: 100%;
    max-block-size: 100vh;
    object-fit: contain;
  }
}
