html,
body {
  margin: 0;
  padding: 0;
}
h1,h2,h3,ul,p,dl,dd {
  margin: 0;
  padding: 0;
}
html {
  font-size: 100%;
}
body {
  margin-inline: auto;
  font-size: 1rem;
  background: #FCFEFF;
  color: #333333;
}
img,
svg {
  display: block;
  height: auto;
  max-width: 100%;
}
.img-full { 
  width: 100%;
}
/* 英語・中国語ページ */
.en {
  font-family: "Roboto", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.zh {
  font-family: "Noto Sans SC", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.button {
  display: block;
  text-align: center;
  text-decoration: none;
  background: #3E75EC;
  border-radius: 8px;
  color: #fff;
  padding-block: 18px;
  margin-bottom: 10px;
}
.notice {
  font-size: 0.75rem;
  line-height: 1.4;
}
.section {
  padding: 40px 20px;
}
.section.bk-blue {
  background: #E6F6FD;
}
.section__title {
  color: #3E75EC;
  font-size: 1.3125rem;
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.section__text {
  font-size: 1.0625rem;
  line-height: 1.7;
}
.section__text.text-blue {
  color: #3E75EC;
  font-weight: bold;
  margin-bottom: 5px;
}
.section__caution {
  font-size: 0.875rem;
  line-height: 1.7;
}
.fv__text {
  padding-inline: 20px;
  padding-bottom: 40px;
}
.fv__lead {
  font-size: 0.875rem;
  margin-bottom: 15px;
  line-height: 1.6;
}
.benefit {
  padding-inline: 20px;
  padding-top: 40px;
}
.benefit.in-person {
  padding-bottom: 40px;
}
.benefit__title {
  text-align: center;
}
.benefit__title-img {
  margin-inline: auto;
}
.benefit__img {
  margin-inline: auto;
  margin-block: 24px 17px;
}
.benefit__text {
  margin-bottom: 17px;
  line-height: 1.7;
}
.benefit__cta {
  margin-top: 32px;
}
.clinic-info {
  margin-bottom: 32px;
}
.clinic-info__item {
  border-bottom: solid 1px #C3E5F4;
  font-size: 0.9375rem;
  padding-block: 22px 13px;
  line-height: 1.7;
}
.clinic-info__term {
  color: #3E75EC;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
.clinic-info__desc a {
  color: #3E75EC;
  text-decoration: underline;
}
.consultation {
  margin-block: 24px;
}
.consultation__title {
  color: #fff;
  background: #789DEF;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  padding-block: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  line-height: 1.6;
}
.consultation__title::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
}
.consultation__title.online::before {
  background: url('../../img/common/mobile.svg') center center no-repeat;
  background-size: contain;
}
.consultation__title.in-person::before {
  background: url('../../img/common/hospital.svg') center center no-repeat;
  background-size: contain;
}
.consultation__item {
  background: #fff;
  padding: 16px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.consultation__desc {
  margin-block: 16px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
.consultation__notes {
  background: #F1F1F1;
  padding: 12px 8px;
  border-radius: 4px;
  list-style-type: none;
}
.consultation__notes span {
  font-weight: bold;
}
.consultation__notes-item {
  padding-left: 12px;
  position: relative;
  line-height: 1.7;
  letter-spacing: 0.04em;  
}
.consultation__notes-item::before {
  content: '・';
  display: inline-block;
  position: absolute;
  top: 0;
  left: -2px;
}
.benefit__list {
  background: #E6F6FD;
  padding-block: 16px;
  padding-inline: 12px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 17px;
}
.benefit__list-item {
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.6;
  display: flex;
  gap: 0.6em;
}
.benefit__list-item::before {
  content: "";
  display: inline-block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  background: url('../../img/common/check.svg') center/contain no-repeat;
}
.credit-card-list {
  margin-bottom: 24px;
}
.footer {
  background: #3E3E3E;
  padding: 40px 20px 24px;
}
.copy {
  color: #fff;
  font-size: 0.75rem;
  display: block;
  text-align: center;
}
.footer-nav {
  padding-block: 43px 57px;
  margin-top: 43px;
  border-top: solid 1px #959595;
}
.footer-nav__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.footer-nav__item {
  display: flex;
  align-items: center;
  gap: 0.6em;
}
.footer-nav__item::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 8px;
  background-size: contain;
  background: url('../../img/common/arrow.svg') center center no-repeat;
}
.footer-nav__link {
  color: #fff;
  font-size: 0.9375rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  body {
    font-size: 2rem;
  }
  .fv,
  .main,
  .footer {
    max-width: 750px;
    margin-inline: auto;
  }
  .button {
    padding-block: 32px;
    margin-bottom: 20px;
    font-size: 2rem;
    border-radius: 16px;
  }
  .notice {
    font-size: 1.5rem;
  }
  .section {
    padding: 80px 40px;
  }
  .section__title {
    font-size: 2.625rem;
    margin-bottom: 48px;
  }
  .section__text {
    font-size: 2.125rem;
  }
  .section__caution {
    font-size: 1.75rem;
  }
  .fv__lead {
    font-size: 1.75rem;
    margin-bottom: 30px;
  }
  .fv__text {
    padding: 80px 40px;
  }
  .benefit {
    padding-inline: 40px;
    padding-top: 80px;
  }
  .benefit.in-person {
    padding-bottom: 80px;
  }
  .benefit__title-img.online {
    width: 570px;
  }
  .benefit__img {
    margin-block: 48px 34px;
  }
  .benefit__img.online {
    width: 222px;
  }
  .benefit__title-img.in-person {
    width: 622px;
  }
  .benefit__img.in-person {
    width: 370px;
  }
  .benefit__text {
    margin-bottom: 34px;
  }
  .benefit__list {
    padding: 43px 24px;
  }
  .benefit__list-item::before {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
  }
  .benefit__cta {
    margin-top: 64px;
  }
  .benefit__list-item {
    font-size: 1.75rem;
  }
  .clinic-info {
    margin-bottom: 64px;
  }
  .clinic-info__item {
    font-size: 1.875rem;
    padding-block: 44px 26px;
  }
  .consultation {
    margin-block: 48px;
  }
  .consultation__title {
    padding-block: 14px;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
  }
  .consultation__title::before {
    width: 48px;
    height: 48px;
  }
  .consultation__item {
    font-size: 1.5rem;
    padding: 32px;
  }
  .consultation__notes {
    padding: 24px 16px;
  }
  .consultation__notes-item {
    padding-left: 24px;
  }
  .consultation__desc {
    margin-block: 32px;
  }
  .credit-card-list {
    margin-bottom: 48px;
  }
  .footer {
    padding: 80px 0 40px;
  }
  .footer-info {
    padding-left: 40px;
  }
  .footer-info__img {
    width: 608px;
  }
  .footer-nav {
    padding: 86px 40px 114px;
    margin-top: 86px;
    border-top: solid 1px #959595;
  }
  .footer-nav__link {
    font-size: 1.875rem;
  }
  .footer-nav__list {
    gap: 32px;  
  }
  .footer-nav__item::before {
    width: 8px;
    height: 16px;
    flex: 0 0 8px;
  }
  .copy {
    font-size: 1.5rem;
  }
}