@charset "UTF-8";
/*-変数定義 font(読み込んでいるウェイトのみ使用可。functions.php の MACHIDA_KT_GOOGLE_FONTS_URL と揃えること)
------------------------------*/
/*-変数定義 color (Figmaトークン)
------------------------------*/
/*--------------------------
z-index
---------------------------*/
/*--------------------------
content-width
---------------------------*/
/*--------------------------
下層の見出しスタイル(コア見出しとカスタムブロック内の見出しで共用)
---------------------------*/
/*--基本
------------------------------*/
body {
  font-family: "M PLUS 1", sans-serif;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

body {
  color: #0e0f0f;
  background: #ffffff;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

body.is-drawer-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

:target {
  scroll-margin-top: 100px;
}

main.is-page {
  padding-top: 0;
}

/*--表示切替
------------------------------*/
@media screen and (max-width:767px) {
  .u-pc {
    display: none !important;
  }
}

.u-sp {
  display: none !important;
}
@media screen and (max-width:767px) {
  .u-sp {
    display: revert !important;
  }
}

.u-sp-tab {
  display: none !important;
}
@media screen and (max-width:1024px) {
  .u-sp-tab {
    display: revert !important;
  }
}

/*--定義リスト(destyle が dt を太字にするが、カンプの dt は全て通常ウェイト)
------------------------------*/
dt {
  font-weight: 400;
}

/*--セクション見出し(英字ラベル + 日本語)
------------------------------*/
.sec-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
@media screen and (max-width:767px) {
  .sec-head {
    gap: 6px;
  }
}

.sec-head__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.sec-head__en::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 14px;
  background: linear-gradient(to bottom, #0b6f73 0 6px, transparent 6px 8px, #b9cdce 8px 14px);
}

.sec-head__ja {
  font-family: "Zen Old Mincho", serif;
  font-size: 44px;
  font-size: 2.75rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
}
@media screen and (max-width:767px) {
  .sec-head__ja {
    font-size: 1.625rem;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width:359px) {
  .sec-head__ja {
    font-size: 1.375rem;
    letter-spacing: 0.06em;
  }
}

.sec-head--white {
  color: #ffffff;
}

/* ----------------------------------------
フロント(style.scss)とエディタ(editor-style.scss)の両方で最上位に読み込む部品
---------------------------------------- */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*--ボタン(緑・角丸8)
------------------------------*/
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  min-height: 50px;
  padding: 12px 32px 16px;
  background: #0b6f73;
  border-radius: 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.btn:hover {
  opacity: 0.8;
}

.btn--outline {
  background: #ffffff;
  border: 1px solid #489598;
  color: #0b6f73;
}

/*--キーボード操作時のフォーカス表示(destyle が outline を消しているため復元する)
------------------------------*/
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid #0b6f73;
  outline-offset: 2px;
}

/*--ヘッダー(FVの上に浮く半透明バー。tab以下はロゴ+MENUボタン)
------------------------------*/
.header {
  position: fixed;
  top: 12px;
  left: 12px;
  right: 12px;
  z-index: 50;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  padding: 12px 24px;
  background: rgba(255, 255, 255, .6);
  border: 1px solid #ffffff;
  border-radius: 8px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
@media screen and (max-width:1280px) {
  .header {
    top: 4px;
    left: 4px;
    right: 4px;
    padding: 2px 2px 2px 12px;
  }
}

.is-drawer-open .header {
  z-index: 210;
}

.header__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  min-width: 0;
}

.header__logo {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header__logo img {
  display: block;
  width: 236px;
  height: 36px;
}
@media screen and (max-width:1280px) {
  .header__logo img {
    width: 196px;
    height: 30px;
  }
}

.header__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-weight: 300;
  font-size: 8px;
  font-size: 0.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width:1280px) {
  .header__text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}

.header__title,
.header__address {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

@media screen and (max-width:1280px) {
  .header__nav {
    display: none;
  }
}

.gnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(20px, (100vw - 1281px) * 12 / 159 + 20px, 32px);
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.gnav a,
.gnav .gnav__parent {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.gnav a:hover,
.gnav .gnav__parent:hover {
  color: #0b6f73;
}

/*--プルダウン(カンプ無し。ヘッダーと同じ白の角丸パネル)
------------------------------*/
.gnav__item--sub {
  position: relative;
}

.gnav__parent {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  cursor: pointer;
}
.gnav__parent::after {
  content: "";
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.gnav__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  padding-top: 30px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.gnav__parent[aria-expanded=true] + .gnav__sub {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) {
  .gnav__item--sub:hover .gnav__sub {
    opacity: 1;
    visibility: visible;
  }
}

.gnav__sub-list {
  min-width: 200px;
  padding: 8px 0;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 0 8px 24px rgba(14, 15, 15, .08);
          box-shadow: 0 8px 24px rgba(14, 15, 15, .08);
}
.gnav__sub-list li + li {
  border-top: 1px solid #dbe3e4;
}
.gnav__sub-list a {
  display: block;
  padding: 14px 24px;
}

.header__menu {
  display: none;
}
@media screen and (max-width:1280px) {
  .header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    width: 56px;
    height: 56px;
    padding: 12px 6px;
    background: #80cc28;
    border-radius: 8px;
    font-size: 0.8125rem;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0e0f0f;
    cursor: pointer;
  }
}

.header__menu-lines {
  position: relative;
  display: block;
  width: 16px;
  height: 7px;
}
.header__menu-lines span {
  position: absolute;
  left: 0;
  width: 16px;
  height: 1px;
  background: #0e0f0f;
  -webkit-transition: top 0.3s, -webkit-transform 0.3s;
  transition: top 0.3s, -webkit-transform 0.3s;
  transition: top 0.3s, transform 0.3s;
  transition: top 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.header__menu-lines span:first-child {
  top: 0;
}
.header__menu-lines span:last-child {
  top: 6px;
}

.header__menu.is-active .header__menu-lines span:first-child {
  top: 3px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.header__menu.is-active .header__menu-lines span:last-child {
  top: 3px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*--ドロワー(カンプ無し。ヘッダーの配色で構成)
------------------------------*/
.drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 90px 20px 40px;
  background: rgba(244, 244, 242, .98);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.drawer.is-open {
  opacity: 1;
  visibility: visible;
}

.drawer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.drawer__list li {
  border-bottom: 1px solid #dbe3e4;
}
.drawer__list a {
  display: block;
  padding: 16px 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.drawer__toggle {
  position: relative;
  display: block;
  width: 100%;
  padding: 16px 48px 16px 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: left;
  cursor: pointer;
}
.drawer__toggle::before, .drawer__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 17px;
  width: 14px;
  height: 1px;
  background: #0e0f0f;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.drawer__toggle::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.drawer__toggle[aria-expanded=true]::after {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.drawer__sub {
  padding: 0 0 12px 16px;
}
.drawer__sub li {
  border-bottom: none;
}
.drawer__sub a {
  padding: 10px 4px;
  font-size: 14px;
  font-size: 0.875rem;
}

.drawer__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin-top: 24px;
}
.drawer__cta .btn {
  gap: 6px;
  font-size: 16px;
  font-size: 1rem;
}
.drawer__cta .btn img {
  width: 24px;
  height: 24px;
}
.drawer__cta .btn--tel {
  background: #80cc28;
}

/*--フッター
------------------------------*/
.footer {
  padding: 48px 0 24px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .footer {
    padding: 24px 0 78px;
  }
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .footer__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .footer__inner {
    width: calc(100% - 34px);
  }
}

/*--中段: ナビ --*/
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  padding-top: 32px;
  border-top: 1px solid #0e0f0f;
}
@media screen and (max-width:767px) {
  .footer__nav {
    gap: 24px;
    padding-top: 0;
    border-top: 0;
  }
}

.footer__nav-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width:767px) {
  .footer__nav-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}

.footer__nav-brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 275px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:767px) {
  .footer__nav-brand {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 24px;
    width: 100%;
  }
}

.footer__nav-logo {
  display: block;
  width: 100%;
}
.footer__nav-logo img {
  display: block;
  width: 100%;
  height: auto;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
@media screen and (max-width:767px) {
  .footer__nav-logo {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
  }
}

.footer__insta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 42px;
  height: 42px;
  background: #ffffff;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.footer__insta:hover {
  opacity: 0.7;
}
.footer__insta img {
  width: 21px;
  height: 22px;
}

.footer__nav-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 715px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .footer__nav-cols {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
    gap: 16px;
  }
}
@media screen and (max-width:767px) {
  .footer__nav-cols {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 12px;
    gap: 12px 0;
  }
}

.f-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 164px;
}
@media screen and (max-width:1024px) {
  .f-nav {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
  }
}
@media screen and (max-width:767px) {
  .f-nav {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 164px;
    max-width: calc(50% - 6px);
  }
}

.f-nav__title {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.f-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.f-nav__list a:hover {
  text-decoration: underline;
}

/*--下段: コピーライト + ガイドライン --*/
.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width:767px) {
  .footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 8px;
  }
}

.footer__copy {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .footer__copy {
    text-align: center;
  }
}

.footer__guideline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  width: 713px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .footer__guideline {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
  }
}
@media screen and (max-width:767px) {
  .footer__guideline {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}

.footer__guideline-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.footer__guideline-title::before {
  content: "";
  width: 4px;
  height: 12px;
  background: #0e0f0f;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.footer__guideline-text {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width:767px) {
  .footer__guideline-text {
    letter-spacing: 0.05em;
  }
}
.footer__guideline-text a {
  display: block;
  text-decoration: underline;
  text-underline-position: from-font;
}
.footer__guideline-text a:hover {
  opacity: 0.7;
}

/*--診療時間表(フッター・TOPの診療時間セクションで共用)
------------------------------*/
.timetable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 100%;
}

.timetable__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:359px) {
  .timetable__table {
    font-size: 0.875rem;
  }
}
.timetable__table th,
.timetable__table td {
  padding: 12px 0 11px;
  border-bottom: 1px solid #848f90;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .timetable__table th,
  .timetable__table td {
    padding: 8px 0 7px;
  }
}
.timetable__table thead th {
  padding-top: 0;
}
.timetable__table .timetable__label {
  width: 165.5px;
  text-align: left;
}
@media screen and (max-width:1024px) {
  .timetable__table .timetable__label {
    width: 31%;
  }
}
@media screen and (max-width:767px) {
  .timetable__table .timetable__label {
    width: 131px;
  }
}
@media screen and (max-width:374px) {
  .timetable__table .timetable__label {
    width: 38.4%;
  }
}
.timetable__table th:not(.timetable__label),
.timetable__table td {
  width: 60px;
}
@media screen and (max-width:1024px) {
  .timetable__table th:not(.timetable__label),
  .timetable__table td {
    width: auto;
  }
}
@media screen and (max-width:767px) {
  .timetable__table th:not(.timetable__label),
  .timetable__table td {
    width: 27px;
    text-align: left;
  }
}
@media screen and (max-width:374px) {
  .timetable__table th:not(.timetable__label),
  .timetable__table td {
    width: auto;
  }
}
@media screen and (max-width:767px) {
  .timetable__table td {
    padding-left: 2px;
  }
}
.timetable__table th:last-child,
.timetable__table td:last-child {
  width: auto;
  padding-left: 22.5px;
}
@media screen and (max-width:1024px) {
  .timetable__table th:last-child,
  .timetable__table td:last-child {
    padding-left: 0;
  }
}
@media screen and (max-width:767px) {
  .timetable__table th:last-child,
  .timetable__table td:last-child {
    padding-left: 0;
  }
}
@media screen and (max-width:374px) {
  .timetable__table th:last-child,
  .timetable__table td:last-child {
    width: 48px;
  }
}
@media screen and (max-width:767px) {
  .timetable__table td:last-child {
    padding-left: 16px;
  }
}
.timetable__table .is-mark {
  color: #0b6f73;
}

.timetable__notes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .timetable__notes {
    gap: 4px;
  }
}
@media screen and (max-width:359px) {
  .timetable__notes {
    font-size: 0.8125rem;
  }
}

.timetable__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.timetable__note .is-mark {
  color: #0b6f73;
}

.timetable__note-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 58px;
  padding-right: 8px;
  border-right: 1px solid #848f90;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.timetable__note-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.timetable__note-body small {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .timetable__note-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2px;
  }
}

/*--住所・最寄駅
------------------------------*/
.access-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.access-info__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.access-info__row img {
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.access-info__list {
  list-style: disc;
  padding-left: 18px;
}

/*--医院情報(ロゴ・予約・診療時間表 + 地図・住所)
TOPの診療時間・アクセスとフッター上段で共用(template-parts/clinic-info.php)
------------------------------*/
.clinic-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 47px;
}
@media screen and (max-width:1024px) {
  .clinic-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 32px;
  }
}
@media screen and (max-width:767px) {
  .clinic-info {
    gap: 16px;
  }
}

.clinic-info__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 595px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .clinic-info__main {
    width: auto;
  }
}
@media screen and (max-width:767px) {
  .clinic-info__main {
    gap: 24px;
  }
}

.clinic-info__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
}
.clinic-info__brand img {
  display: block;
  width: 349px;
  height: 53px;
}
@media screen and (max-width:767px) {
  .clinic-info__brand img {
    width: 262px;
    height: 40px;
  }
}
@media screen and (max-width:767px) {
  .clinic-info__brand {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 6px;
  }
}

.clinic-info__tagline {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .clinic-info__tagline {
    line-height: 1.5;
  }
}

.clinic-info__reserve {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 23px;
}
@media screen and (max-width:767px) {
  .clinic-info__reserve {
    gap: 8px;
  }
}

.clinic-info__reserve-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 24px;
}
@media screen and (max-width:767px) {
  .clinic-info__reserve-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2px;
  }
}

.clinic-info__reserve-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.clinic-info__reserve-note {
  margin-bottom: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .clinic-info__reserve-note {
    margin-bottom: 0;
    font-size: 0.625rem;
    line-height: 1.4;
  }
}

.clinic-info__reserve-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 14px;
}
@media screen and (max-width:767px) {
  .clinic-info__reserve-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}

.clinic-info__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  width: 290px;
  padding: 12px 0;
  background: #ffffff;
  border-radius: 4px;
}
@media screen and (max-width:767px) {
  .clinic-info__tel {
    width: 100%;
  }
}

.clinic-info__tel-label {
  height: 20px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
}

.clinic-info__tel-number {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.clinic-info__web {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  width: 290px;
  height: 56px;
  background: #0b6f73;
  border-radius: 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #ffffff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.clinic-info__web:hover {
  opacity: 0.8;
}
.clinic-info__web img {
  width: 24px;
  height: 24px;
}
@media screen and (max-width:767px) {
  .clinic-info__web {
    width: 100%;
  }
}

.clinic-info__map-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  width: 438px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .clinic-info__map-col {
    width: auto;
  }
}
@media screen and (max-width:767px) {
  .clinic-info__map-col {
    gap: 16px;
  }
}

.clinic-info__map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
}
@media screen and (max-width:767px) {
  .clinic-info__map {
    gap: 4px;
  }
}

.clinic-info__map-frame {
  width: 100%;
  height: 342px;
  background: #c4c4c4;
}
.clinic-info__map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width:767px) {
  .clinic-info__map-frame {
    height: 200px;
  }
}

.clinic-info__map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.clinic-info__map-link:hover {
  opacity: 0.7;
}
.clinic-info__map-link span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
}
.clinic-info__map-link img {
  width: 6px;
  height: 10px;
}

.clinic-info--top .clinic-info__map-frame {
  height: 475px;
  background: none;
}
@media screen and (max-width:767px) {
  .clinic-info--top .clinic-info__map-frame {
    height: 369px;
  }
}
.clinic-info--top .clinic-info__map-frame img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--追従CTA(PC: 右下のタブ / SP: 画面下部のバー)
body直下(footer.php)に置くこと。transform や filter を持つ要素の内側では position:fixed が効かない
------------------------------*/
.float-cta {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 80;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
}
@media screen and (max-width:767px) {
  .float-cta {
    left: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
    padding: 0 4px 4px;
  }
}

.float-cta__group {
  display: contents;
}
@media screen and (max-width:767px) {
  .float-cta__group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.float-cta__web,
.float-cta__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  padding: 12px 6px;
  border: 2px solid #ffffff;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  color: #ffffff;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.float-cta__web:hover,
.float-cta__tel:hover {
  opacity: 0.85;
}
.float-cta__web img,
.float-cta__tel img {
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:767px) {
  .float-cta__web,
  .float-cta__tel {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 50px;
    border: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
  }
}

.float-cta__web {
  background: #0b6f73;
  font-size: 10px;
  font-size: 0.625rem;
}
@media screen and (max-width:767px) {
  .float-cta__web {
    width: 160px;
    font-size: 0.8125rem;
  }
}

.float-cta__tel {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  background: #80cc28;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .float-cta__tel {
    -ms-flex-item-align: auto;
        align-self: auto;
    width: 150px;
    gap: 2px;
    padding: 6px;
    border-radius: 0 8px 8px 0;
    font-size: 0.8125rem;
    line-height: 1.4;
  }
}

.float-cta__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  background: #b9cdce;
  border-radius: 8px 0 0 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.float-cta__top:hover {
  opacity: 0.85;
}
.float-cta__top img {
  width: 6px;
  height: 10px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (max-width:767px) {
  .float-cta__top {
    border-radius: 8px;
  }
}

/* ----------------------------------------
page base(下層共通)
---------------------------------------- */
.is-page {
  background: #ffffff;
  overflow-x: clip;
}

/* ----------------------------------------
page head(h1帯。写真の上に白85%)
---------------------------------------- */
.page-head {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 320px;
  padding: 74px 0 0;
}
@media screen and (max-width:1280px) {
  .page-head {
    padding-top: 66px;
  }
}
@media screen and (max-width:767px) {
  .page-head {
    min-height: 232px;
  }
}

.page-head__bg {
  position: absolute;
  inset: 0;
}
.page-head__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-head__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .85);
}

.page-head__inner {
  position: relative;
  max-width: 860px;
  width: calc(100% - 96px);
  margin-inline: auto;
}
@media screen and (max-width:767px) {
  .page-head__inner {
    width: calc(100% - 34px);
  }
}

.page-head__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #80cc28;
}
.page-head__en img {
  width: 28px;
  height: 32px;
}
@media screen and (max-width:767px) {
  .page-head__en {
    font-size: 1.75rem;
  }
  .page-head__en img {
    width: 20px;
    height: 23px;
  }
}

.page-head__title {
  margin-top: 6px;
  font-family: "Zen Old Mincho", serif;
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .page-head__title {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
}

/* ----------------------------------------
breadcrumbs
---------------------------------------- */
.breadcrumbs-wrap {
  max-width: 860px;
  width: calc(100% - 96px);
  margin: 8px auto 0;
}
@media screen and (max-width:767px) {
  .breadcrumbs-wrap {
    width: calc(100% - 34px);
  }
}

.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #848f90;
}

.breadcrumbs__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}

.breadcrumbs__item + .breadcrumbs__item::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: url(../img/icon-chevron-green600.svg) center/6px 10px no-repeat;
}

.breadcrumbs__link {
  color: #489598;
  text-decoration: underline;
  text-underline-position: from-font;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.breadcrumbs__link:hover {
  opacity: 0.7;
}

/* ----------------------------------------
page content(入稿エリアの外枠)
---------------------------------------- */
.page-content {
  padding: 40px 0 100px;
}
@media screen and (max-width:767px) {
  .page-content {
    padding: 32px 0 64px;
  }
}

.page-content__inner {
  max-width: 860px;
  width: calc(100% - 96px);
  margin-inline: auto;
}
@media screen and (max-width:767px) {
  .page-content__inner {
    width: calc(100% - 34px);
  }
}

/* ----------------------------------------
404
---------------------------------------- */
.notfound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  padding: 40px 0;
}
@media screen and (max-width:767px) {
  .notfound {
    gap: 26px;
    padding: 24px 0;
  }
}

.notfound__text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}

/* ----------------------------------------
記事一覧・記事詳細(コラム / お知らせ)
---------------------------------------- */
/*--カテゴリ絞り込み
------------------------------*/
.archive-cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px 12px;
  gap: 0.5rem 0.75rem;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}
@media screen and (max-width:767px) {
  .archive-cats {
    gap: 0.5rem;
    margin-bottom: 1.625rem;
  }
}

.archive-cats__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px 20px;
  padding: 0.375rem 1.25rem;
  border: 1px solid #489598;
  border-radius: 999px;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #0b6f73;
  background: #ffffff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.archive-cats__item:hover {
  opacity: 0.7;
}
.archive-cats__item.is-current {
  background: #0b6f73;
  border-color: #0b6f73;
  color: #ffffff;
}

/*--記事リスト
------------------------------*/
.archive-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
  gap: 1.625rem;
}
@media screen and (max-width:767px) {
  .archive-list {
    gap: 1rem;
  }
}

.archive-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 26px;
  gap: 1.625rem;
  padding-bottom: 26px;
  padding-bottom: 1.625rem;
  border-bottom: 1px solid #cbcbcb;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.archive-list__item:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .archive-list__item {
    gap: 1rem;
    padding-bottom: 1rem;
  }
}

.archive-list__item--text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 26px;
  gap: 1.625rem;
}
@media screen and (max-width:767px) {
  .archive-list__item--text {
    gap: 1rem;
  }
}

.archive-list__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  background: #0b6f73;
  -webkit-mask: url(../img/icon-circle-arrow.svg) center/contain no-repeat;
  mask: url(../img/icon-circle-arrow.svg) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .archive-list__arrow {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.archive-list__thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 220px;
          flex: 0 0 220px;
  -ms-flex: 0 0 13.75rem;
      flex: 0 0 13.75rem;
  min-width: 0;
}
.archive-list__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 220/144;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .archive-list__thumb {
    -ms-flex-preferred-size: 7.5rem;
        flex-basis: 7.5rem;
  }
}

.archive-list__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  gap: 0.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}

.archive-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  gap: 0.75rem;
}

.archive-list__date {
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #489598;
}

.archive-list__cat {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 12px;
  padding: 0.125rem 0.75rem;
  background: #dbe3e4;
  border-radius: 999px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #0b6f73;
}

.archive-list__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.025em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .archive-list__title {
    font-size: 0.9375rem;
  }
}

.archive-list__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .archive-list__excerpt {
    font-size: 0.8125rem;
  }
}

/*--記事リスト：カード型(コラム一覧 archive/post.php 用)
  お知らせなど他の一覧に影響しないよう .archive-list--card の中だけで上書きする
------------------------------*/
.archive-list--card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  gap: 1.5rem;
  padding: 30px;
  padding: 1.875rem;
  background: #dbe3e4;
  border-radius: 1rem;
  margin-inline: min(0px, calc((100% - min(100vw - 160px, 1500px)) / 2));
}
@media screen and (max-width:1024px) {
  .archive-list--card {
    grid-template-columns: 1fr;
    margin-inline: 0;
  }
}
@media screen and (max-width:767px) {
  .archive-list--card {
    gap: 1rem;
    padding: 1rem;
  }
}
.archive-list--card .archive-list__item {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 30px;
  gap: 1.875rem;
  padding: 30px;
  padding: 1.875rem;
  background: #ffffff;
  border-bottom: 0;
  border-radius: 0.75rem;
}
@media screen and (max-width:767px) {
  .archive-list--card .archive-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    padding: 1rem;
  }
}
.archive-list--card .archive-list__thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
}
.archive-list--card .archive-list__thumb img {
  border-radius: 0.75rem;
  aspect-ratio: 4/3;
}
@media screen and (max-width:767px) {
  .archive-list--card .archive-list__thumb {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.archive-list--card .archive-list__body {
  gap: 10px;
  gap: 0.625rem;
}
.archive-list--card .archive-list__meta {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.archive-list--card .archive-list__date {
  margin-left: auto;
  font-size: 13px;
  font-size: 0.8125rem;
}
.archive-list--card .archive-list__excerpt {
  -webkit-line-clamp: 3;
}
.archive-list--card .archive-list__arrow {
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-top: auto;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
}
@media screen and (max-width:767px) {
  .archive-list--card .archive-list__arrow {
    width: 2rem;
    height: 2rem;
  }
}

.archive-empty {
  padding: 40px 0;
  padding: 2.5rem 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
  color: #0e0f0f;
}

/*--ページ送り
------------------------------*/
.archive-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
  margin-top: 2.5rem;
}
.archive-pager ul.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  gap: 0.5rem;
}
.archive-pager li .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 40px;
  min-width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  padding: 0 8px;
  padding: 0 0.5rem;
  border: 1px solid #489598;
  border-radius: 0.25rem;
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #0b6f73;
  background: #ffffff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.archive-pager li .page-numbers:hover {
  opacity: 0.7;
}
.archive-pager li .page-numbers.current {
  background: #0b6f73;
  border-color: #0b6f73;
  color: #ffffff;
}
.archive-pager li .page-numbers.dots {
  border-color: transparent;
}

/*--記事詳細のメタ情報
------------------------------*/
.entry-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  gap: 0.75rem;
  margin-bottom: 26px;
  margin-bottom: 1.625rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  border-bottom: 1px solid #cbcbcb;
}

.entry-meta__date {
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.03em;
  color: #489598;
}

.entry-meta__cat {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 12px;
  padding: 0.125rem 0.75rem;
  background: #dbe3e4;
  border-radius: 999px;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #0b6f73;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.entry-meta__cat:hover {
  opacity: 0.7;
}

.entry-thumb {
  margin-bottom: 26px;
  margin-bottom: 1.625rem;
}
.entry-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

/*--前後の記事
------------------------------*/
.entry-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  gap: 1rem;
  margin-top: 64px;
  margin-top: 4rem;
  padding-top: 26px;
  padding-top: 1.625rem;
  border-top: 1px solid #cbcbcb;
}
@media screen and (max-width:767px) {
  .entry-nav {
    margin-top: 2.5rem;
  }
}

.entry-nav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #0b6f73;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.entry-nav__link:hover {
  opacity: 0.7;
}
.entry-nav__link--prev {
  margin-right: auto;
}
.entry-nav__link--next {
  margin-left: auto;
}

.entry-nav__back {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#search__head {
  padding: 20px;
}
#search__head, #search__head * {
  font-family: "M PLUS 1", serif;
  font-weight: 500;
}
#search__head .container {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
}
#search__head .min-container {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  background-color: #DBE3E4;
  padding: 30px;
  border-radius: 10px;
}

.case-search-form__group {
  margin-bottom: 20px;
}
.case-search-form__group-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 18px;
  color: #0E0F0F;
  margin-bottom: 16px;
}
.case-search-form__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #0B6F73;
  display: inline-block;
  border: 2px solid #7EA9AA;
}
.case-search-form__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  background-color: #fff;
  padding: 16px;
  border-radius: 12px;
  list-style: none;
}
.case-search-form__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.case-search-form__checkbox {
  display: none;
}
.case-search-form__checkbox:checked ~ .case-search-form__label, .case-search-form__checkbox:checked + .case-search-form__label {
  background-color: #7EA9AA;
  border-color: #7EA9AA;
  color: #fff;
}
.case-search-form__label:has(.case-search-form__checkbox:checked) {
  background-color: #7EA9AA;
  border-color: #7EA9AA;
  color: #fff;
}
.case-search-form__submit {
  text-align: center;
  margin-top: 24px;
}
.case-search-form__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 14px 40px;
  background-color: #0B6F73;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 16px;
  cursor: pointer;
}
.case-search-form__button:hover {
  opacity: 0.8;
}
.case-search-form__button-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .3);
}

.top-dentition__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  gap: 1.5rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 1000px) {
  .top-dentition__grid {
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }
}

/* ==========================================================
   症例カード（top-dentition__item）
========================================================== */
#case__container {
  padding: 20px 40px 80px;
  /* 横幅は最大1080px、中央揃え */
  /* ---------- ページネーション ---------- */
}
#case__container .archive-common-content__inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
#case__container .pagination {
  margin-top: 48px;
  margin-top: 3rem;
  /* 現在のページ */
  /* 「…」 */
  /* 前へ・次へ(緑の丸＋白い矢印) */
}
#case__container .pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  gap: 0.625rem;
}
#case__container .pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 44px;
  min-width: 2.75rem;
  height: 44px;
  height: 2.75rem;
  padding: 0 8px;
  padding: 0 0.5rem;
  border: 2px solid #0B6F73;
  border-radius: 50%;
  background-color: #fff;
  color: #0B6F73;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  -webkit-transition: background-color 0.2s, color 0.2s, opacity 0.2s;
  transition: background-color 0.2s, color 0.2s, opacity 0.2s;
}
@media screen and (max-width: 767px) {
  #case__container .pagination .page-numbers {
    min-width: 2.375rem;
    height: 2.375rem;
    font-size: 0.875rem;
  }
}
#case__container .pagination a.page-numbers:hover {
  background-color: #0B6F73;
  color: #fff;
}
#case__container .pagination .page-numbers.current {
  background-color: #0B6F73;
  color: #fff;
}
#case__container .pagination .page-numbers.dots {
  min-width: auto;
  border: none;
  background: none;
}
#case__container .pagination .page-numbers.prev,
#case__container .pagination .page-numbers.next {
  background-color: #0B6F73;
}
#case__container .pagination .page-numbers.prev:hover,
#case__container .pagination .page-numbers.next:hover {
  opacity: 0.8;
}
#case__container .pagination .page-numbers.prev::before,
#case__container .pagination .page-numbers.next::before {
  content: "";
  width: 10px;
  width: 0.625rem;
  height: 10px;
  height: 0.625rem;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
#case__container .pagination .page-numbers.next::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: -3px;
  margin-left: -0.1875rem;
}
#case__container .pagination .page-numbers.prev::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-right: -3px;
  margin-right: -0.1875rem;
}

.top-dentition__item {
  background-color: #DBE3E4;
  border-radius: 0.625rem;
  overflow: hidden;
  padding-bottom: 28px;
  padding-bottom: 1.75rem;
}

.top-dentition__item .image-compare {
  container-type: inline-size;
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
  margin: 15px;
}

.top-dentition__item .image-compare .icv__img-a {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-dentition__item .image-compare .icv__label {
  background-color: rgba(11, 111, 115, .4);
  color: #fff;
}

.top-dentition__item .image-compare .icv__wrapper .icv__img-b {
  width: 100cqw;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-dentition__item-title {
  margin: 24px 24px 0;
  margin: 1.5rem 1.5rem 0;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.64px;
  letter-spacing: 0.04rem;
  color: #3A3D4B;
}
@media screen and (max-width: 1000px) {
  .top-dentition__item-title {
    font-size: 1.25rem;
  }
}

.top-dentition__item-info-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  gap: 0.25rem;
  margin: 16px 24px 0;
  margin: 1rem 1.5rem 0;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem;
  background-color: #0B6F73;
  border-radius: 0.625rem;
  color: #fff;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.8px;
  letter-spacing: 0.05rem;
  line-height: 1;
}

.top-dentition__item-info-text {
  margin: 18px 24px 0;
  margin: 1.125rem 1.5rem 0;
  overflow: visible;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.9;
  letter-spacing: 0.32px;
  letter-spacing: 0.02rem;
  color: black;
}

.top-dentition__item-info-text p {
  margin: 0;
}

/* 項目名(モニター様情報・治療費・リスク・副作用)：緑の丸 + 少し太字 */
.top-dentition__item-info-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
  font-weight: 600;
}

.top-dentition__item-info-label::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10px;
  width: 0.625rem;
  height: 10px;
  height: 0.625rem;
  border-radius: 50%;
  background-color: #0B6F73;
}

.top-dentition__item-info-label:not(:first-child) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.top-dentition__item.--gray {
  background-color: #DBE3E4;
}

.top-dentition__item.--gray .top-dentition__item-info-title {
  background-color: #0B6F73;
}

/* ----------------------------------------
症例詳細ページ（single-case）
---------------------------------------- */
.page-common-content__inner {
  padding: 30px;
}

.case {
  background-color: #fff;
  border-radius: 24px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 24px rgba(11, 111, 115, .08);
          box-shadow: 0 4px 24px rgba(11, 111, 115, .08);
  max-width: 900px;
  margin: 0 auto;
}

.case__inner {
  padding: 32px;
  background-color: #DBE3E4;
}

@media screen and (max-width: 767px) {
  .case__inner {
    padding: 20px;
  }
}
/* ---------- Before/After 画像エリア ---------- */
.case__head-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 42px;
  margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
  .case__head-wrap {
    gap: 60px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
/* 画像同士をつなぐ矢印（マークアップ変更なしでCSSのみで実装） */
.case__head-wrap::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 55%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='25' height='25' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 8H15M15 8L9 2M15 8L9 14' stroke='%230B6F73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .case__head-wrap::after {
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='25' height='25' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1V15M8 15L2 9M8 15L14 9' stroke='%230B6F73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    top: 50%;
  }
}
.case__head {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-top: 10px;
  background-color: #0B6F73;
  border-radius: 16px;
}

.case__head-text {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-transform: lowercase;
  color: #fff;
  margin-bottom: 12px;
}

@media screen and (max-width: 767px) {
  .case__head-text {
    font-size: 25px;
  }
}
.case__head-text.--after {
  color: #fff;
}

.case__head-img {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background-color: #DBE3E4;
}

.case__head-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ---------- タイトル・詳細情報エリア ---------- */
.case__body {
  padding: 15px;
  background-color: #fff;
  border-radius: 16px;
}

.case__body-head-title {
  font-size: 22px;
  font-weight: 700;
  color: #0E0F0F;
  letter-spacing: 0.04em;
  padding: 0 16px 16px 16px;
  margin-bottom: 10px;
  border-bottom: 1px solid #0B6F73;
}

@media screen and (max-width: 767px) {
  .case__body-head-title {
    font-size: 18px;
  }
}
.case__body-content-text {
  font-size: 15px;
  line-height: 2;
  color: #3A3D4B;
}

.case__body-content-text p {
  padding: 10px 0;
  border-bottom: 1px dashed #DBE3E4;
}

.case__body-content-text p:last-child {
  border-bottom: none;
}

.archive-case__empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 10px 0 50px 0;
}

.case__body-content2 {
  padding: 0 16px;
}

/* ----------------------------------------
入稿エリア(.wp-content-area)
---------------------------------------- */
.wp-content-area {
  text-align: left;
  /*-変数定義 font(読み込んでいるウェイトのみ使用可。functions.php の MACHIDA_KT_GOOGLE_FONTS_URL と揃えること)
  ------------------------------*/
  /*-変数定義 color (Figmaトークン)
  ------------------------------*/
  /*--------------------------
  z-index
  ---------------------------*/
  /*--------------------------
  content-width
  ---------------------------*/
  /*--------------------------
  下層の見出しスタイル(コア見出しとカスタムブロック内の見出しで共用)
  ---------------------------*/
  /* ----------------------------------------
  コアブロック(段落・見出し・リスト・引用)
  ※スコープなしpartial。フロントは .wp-content-area、
    エディタは .editor-styles-wrapper 配下で読み込まれる
  ---------------------------------------- */
  /*-段落・リンク
  ------------------------------*/
  /*-見出し(タグでデザインが決まる。h3だけ「破線」のブロックスタイルあり)
  ------------------------------*/
  /*-リスト(通常ul=明朝ドット / 番号ol=緑丸数字 / チェックul)
  ------------------------------*/
  /*-引用
  ------------------------------*/
  /* ----------------------------------------
  目次(LuckyWP Table of Contents 上書き)
  ---------------------------------------- */
  /* ----------------------------------------
  テーブル(Flexible Table Block)
  見出し行=緑600、1列目=緑200。プラグインのCSSに勝つためクラス2連セレクタで詳細度を上げる
  ---------------------------------------- */
  /* ----------------------------------------
  ボタン(コアブロック core/button)
  既定 = primary(緑)。ブロックスタイルで secondary(白) / anchor(ページ内リンク) に切り替える。
  外部リンクは [target="_blank"] を見てアイコンを自動で付ける
  ---------------------------------------- */
  /*--secondary(白地に緑枠)
  ------------------------------*/
  /*--ページ内リンク(白地・下向き矢印)
  ------------------------------*/
  /* ----------------------------------------
  Point見出しボックス(block-point-box)
  放射線 + 緑の見出し + 短い下線を中央に置き、本文が続く
  ---------------------------------------- */
  /* ----------------------------------------
  緑帯見出しボックス(block-heading-box)
  ---------------------------------------- */
  /* ----------------------------------------
  注意点ボックス(block-attention-box)
  ---------------------------------------- */
  /* ----------------------------------------
  h3リスト(block-list-box)
  check = ベージュ地 + 破線h3 + チェックリスト / green = 緑100地 + 丸棒h3
  ---------------------------------------- */
  /* ----------------------------------------
  FAQ(block-faq)
  details/summaryのブラウザ標準で開閉する。
  json-faq.php(faq__con)がFAQ構造化データを読む
  ---------------------------------------- */
  /* ----------------------------------------
  ドクターコメント(block-bubble)
  丸写真 + 肩書き/氏名 と 緑100の吹き出し
  ---------------------------------------- */
  /* ----------------------------------------
  流れコンテンツ(block-step)
  画像312×216を左右どちらかに置き、Step番号 + 破線h3 + 本文
  ---------------------------------------- */
  /* ----------------------------------------
  ポイントコンテンツ(block-point-contents)
  ベージュ丸のPoint番号 + 破線h3(右上に鉛筆) + 本文。任意で右に画像
  ---------------------------------------- */
  /* ----------------------------------------
  監修者ボックス(block-supervisor)
  通常: 緑100のヘッダー(＋/−で本文を開閉)
  プロフィール(常時開く): ベージュ地に本文と「詳細を見る」
  ---------------------------------------- */
  /* ----------------------------------------
  特徴リスト(block-features)
  ベージュ地にロゴ + 施術名 + 白い行(歯アイコン + 文)
  ---------------------------------------- */
  /* ----------------------------------------
  ブログカード(block-blog-card)
  サムネイル左(ラベル付き) + タイトル/抜粋
  ---------------------------------------- */
  /* ----------------------------------------
  関連記事(block-related-posts)
  緑100のカード3列
  ---------------------------------------- */
  /* ----------------------------------------
  CTA帯(cta-band) と CTAボタン2種(cta-btns)
  cta-btns は CTA帯・強みCTA・診断・CTAボタン単体ブロックで共用
  ---------------------------------------- */
  /*--ボタン2種(TEL / Web予約)
  ------------------------------*/
  /* ----------------------------------------
  強みCTA(cta-strong)
  ベージュ全幅。ロゴ + 施術名 + 写真 + 強み3つ + ボタン2種
  ---------------------------------------- */
  /* ----------------------------------------
  比較表(block-comparison)
  フィルター(チェック)で列をハイライト。表はSPで横スクロール
  ---------------------------------------- */
  /* ----------------------------------------
  症例 before/after(block-before-after)
  左: 比較スライダー(range入力を透明で重ね、--pos で境界を動かす)
  右: 施術内容 + 治療情報 2×2、下: 注記
  ---------------------------------------- */
  /* ----------------------------------------
  かんたん矯正診断(block-quiz)
  パネル(start / 設問1〜4 / result)を is-active で切り替える。ロジックは js/script.js
  ---------------------------------------- */
  /*--進捗(01〜05)
  ------------------------------*/
  /*--選択肢
  ------------------------------*/
  /*--結果
  ------------------------------*/
}
.wp-content-area p {
  text-align: justify;
}
.wp-content-area strong,
.wp-content-area b {
  font-weight: 700;
}
.wp-content-area mark:not([style]) {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, rgba(128, 204, 40, .45)));
  background: linear-gradient(transparent 55%, rgba(128, 204, 40, .45) 55%);
  color: inherit;
}
.wp-content-area > * {
  margin-top: 64px;
  margin-top: 4rem;
}
.wp-content-area > *:first-child {
  margin-top: 0;
}
.wp-content-area > h2 + *,
.wp-content-area > h3 + *,
.wp-content-area > h4 + *,
.wp-content-area > h5 + *,
.wp-content-area > h6 + * {
  margin-top: 16px;
  margin-top: 1rem;
}
.wp-content-area > :is(h2, h3, h4, h5, h6) + :is(h2, h3, h4, h5, h6) {
  margin-top: 64px;
  margin-top: 4rem;
}
@media screen and (max-width:767px) {
  .wp-content-area > * {
    margin-top: 2.5rem;
  }
  .wp-content-area > h2 + *,
  .wp-content-area > h3 + *,
  .wp-content-area > h4 + *,
  .wp-content-area > h5 + *,
  .wp-content-area > h6 + * {
    margin-top: 1rem;
  }
  .wp-content-area > :is(h2, h3, h4, h5, h6) + :is(h2, h3, h4, h5, h6) {
    margin-top: 2.5rem;
  }
}
.wp-content-area > .aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.wp-content-area > .alignleft {
  margin-left: 0;
  margin-right: auto;
}
.wp-content-area > .alignright {
  margin-left: auto;
  margin-right: 0;
}
.wp-content-area > .wp-block-embed.aligncenter .wp-block-embed__wrapper {
  text-align: center;
}
.wp-content-area > .wp-block-embed.alignleft .wp-block-embed__wrapper {
  text-align: left;
}
.wp-content-area > .wp-block-embed.alignright .wp-block-embed__wrapper {
  text-align: right;
}
.wp-content-area > .block-faq + .block-faq {
  margin-top: 16px;
  margin-top: 1rem;
}
.wp-content-area > .block-step + .block-step,
.wp-content-area > .block-point-contents + .block-point-contents,
.wp-content-area > .block-bubble + .block-bubble {
  margin-top: 32px;
  margin-top: 2rem;
}
.wp-content-area > .wp-block-buttons + .wp-block-buttons {
  margin-top: 16px;
  margin-top: 1rem;
}
.wp-content-area :where(.inner-content) > * {
  margin-top: 16px;
  margin-top: 1rem;
}
.wp-content-area :where(.inner-content) > *:first-child {
  margin-top: 0;
}
.wp-content-area :where(.wp-block-column, .wp-block-group) > * {
  margin-top: 16px;
  margin-top: 1rem;
}
.wp-content-area :where(.wp-block-column, .wp-block-group) > *:first-child {
  margin-top: 0;
}
.wp-content-area p {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #0e0f0f;
}
.wp-content-area a:not([class]) {
  color: #489598;
  text-decoration: underline;
  text-underline-position: from-font;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area a:not([class]):hover {
  opacity: 0.7;
}
.wp-content-area h2.wp-block-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid #b9cdce;
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area h2.wp-block-heading::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  height: 40px;
  background: url(../img/heading-teeth.webp) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .wp-content-area h2.wp-block-heading {
    font-size: 1.375rem;
  }
  .wp-content-area h2.wp-block-heading::before {
    width: 45px;
    height: 30px;
  }
}
.wp-content-area h3.wp-block-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area h3.wp-block-heading::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 36px;
  border-radius: 3px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #489598), color-stop(50%, #0b6f73));
  background: linear-gradient(to bottom, #489598 0 50%, #0b6f73 50%);
}
@media screen and (max-width:767px) {
  .wp-content-area h3.wp-block-heading {
    font-size: 1.25rem;
  }
  .wp-content-area h3.wp-block-heading::before {
    height: 29px;
  }
}
.wp-content-area h3.wp-block-heading.is-style-dashed {
  display: block;
  padding-bottom: 4px;
  border-bottom: 2px dashed #7ea9aa;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .wp-content-area h3.wp-block-heading.is-style-dashed {
    font-size: 1.25rem;
  }
}
.wp-content-area h3.wp-block-heading.is-style-dashed::before {
  content: none;
}
.wp-content-area h4.wp-block-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eaeeef;
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area h4.wp-block-heading::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10px;
  height: 10px;
  background: #7ea9aa;
  border-radius: 50%;
}
@media screen and (max-width:767px) {
  .wp-content-area h4.wp-block-heading {
    font-size: 1.125rem;
  }
}
.wp-content-area h5.wp-block-heading,
.wp-content-area h6.wp-block-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #0b6f73;
}
.wp-content-area h5.wp-block-heading::before,
.wp-content-area h6.wp-block-heading::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2px;
  height: 24px;
  background: #0b6f73;
}
.wp-content-area h6.wp-block-heading {
  font-size: 16px;
  font-size: 1rem;
}
.wp-content-area ul:where(.wp-block-list, :not([class])) > li {
  position: relative;
  padding-left: 20px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area ul:where(.wp-block-list, :not([class])) > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 8px;
  height: 8px;
  background: #0b6f73;
  border: 2px solid #7ebcbf;
  border-radius: 50%;
}
.wp-content-area ul:where(.wp-block-list, :not([class])) > li + li {
  margin-top: 8px;
}
@media screen and (max-width:767px) {
  .wp-content-area ul:where(.wp-block-list, :not([class])) > li {
    font-size: 1rem;
  }
}
.wp-content-area ul:where(.wp-block-list, :not([class])).is-style-check > li, .wp-content-area ul:where(.wp-block-list, :not([class])).is-check > li {
  padding-left: 30px;
  font-family: "M PLUS 1", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area ul:where(.wp-block-list, :not([class])).is-style-check > li::before, .wp-content-area ul:where(.wp-block-list, :not([class])).is-check > li::before {
  top: 1px;
  width: 24px;
  height: 24px;
  background: url(../img/icon-checkbox.svg) center/contain no-repeat;
  border: 0;
  border-radius: 0;
}
.wp-content-area ol:where(.wp-block-list, :not([class])) {
  list-style: none;
  counter-reset: ol-counter;
}
.wp-content-area ol:where(.wp-block-list, :not([class])) > li {
  position: relative;
  counter-increment: ol-counter;
  padding-left: 32px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #0e0f0f;
}
.wp-content-area ol:where(.wp-block-list, :not([class])) > li::before {
  content: counter(ol-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 26px;
  height: 26px;
  background: #80cc28;
  border-radius: 50%;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  color: #ffffff;
}
.wp-content-area ol:where(.wp-block-list, :not([class])) > li + li {
  margin-top: 8px;
}
.wp-content-area blockquote.wp-block-quote {
  padding: 24px 32px;
  background: #f4f4f2;
  border-left: 4px solid #b9cdce;
}
@media screen and (max-width:767px) {
  .wp-content-area blockquote.wp-block-quote {
    padding: 16px 20px;
  }
}
.wp-content-area blockquote.wp-block-quote cite {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-size: 0.75rem;
  font-style: normal;
}
.wp-content-area .lwptoc {
  margin-bottom: 0 !important;
}
.wp-content-area .lwptoc.lwptoc-autoWidth .lwptoc_i {
  display: block;
  max-width: none;
}
.wp-content-area .lwptoc .lwptoc_i {
  background: #ffffff !important;
  border: 1px solid #489598;
  border-radius: 0;
  padding: 0 0 24px !important;
  font-size: 15px;
  font-size: 0.9375rem;
}
.wp-content-area .lwptoc .lwptoc_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #489598;
  padding: 6px 16px;
}
.wp-content-area .lwptoc .lwptoc_title {
  font-size: 15px !important;
  font-size: 0.9375rem !important;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #ffffff;
}
.wp-content-area .lwptoc .lwptoc_toggle {
  padding: 0;
}
.wp-content-area .lwptoc .lwptoc_toggle::before, .wp-content-area .lwptoc .lwptoc_toggle::after {
  content: none !important;
}
.wp-content-area .lwptoc .lwptoc_toggle_label {
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: #ffffff !important;
  border-bottom: none !important;
}
.wp-content-area .lwptoc .lwptoc_items {
  padding: 16px 32px 0;
  counter-reset: toc1;
}
@media screen and (max-width:767px) {
  .wp-content-area .lwptoc .lwptoc_items {
    padding: 16px 16px 0;
  }
}
.wp-content-area .lwptoc .lwptoc_item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #0e0f0f !important;
  border-bottom: none !important;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .lwptoc .lwptoc_item > a:hover {
  opacity: 0.7;
}
.wp-content-area .lwptoc .lwptoc_item > a .lwptoc_item_label {
  text-decoration: underline;
  text-underline-position: from-font;
}
.wp-content-area .lwptoc .lwptoc_item_number {
  display: none !important;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap + .lwptoc_itemWrap {
  margin-top: 16px;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item {
  counter-increment: toc1;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a::before {
  content: counter(toc1, decimal-leading-zero) ".";
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item .lwptoc_itemWrap {
  margin-top: 6px;
  margin-left: 32px;
}
@media screen and (max-width:767px) {
  .wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item .lwptoc_itemWrap {
    margin-left: 20px;
  }
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item .lwptoc_itemWrap + .lwptoc_itemWrap {
  margin-top: 8px;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item .lwptoc_itemWrap .lwptoc_item > a {
  gap: 4px;
}
.wp-content-area .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item .lwptoc_itemWrap .lwptoc_item > a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 8px;
  background: #b9cdce;
  border-radius: 50%;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  overflow-x: auto;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table table {
  width: 100%;
  min-width: 600px;
  min-width: 37.5rem;
  border-collapse: collapse;
  border: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #0e0f0f;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th,
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
  padding: 12px 6px;
  border: 0;
  border-bottom: 1px solid #b9cdce;
  border-right: 1px solid #b9cdce;
  font-weight: 400;
  vertical-align: middle;
  background: transparent;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th:last-child,
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td:last-child {
  border-right: 0;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table thead th,
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table thead td {
  background: #0b6f73;
  border-bottom: 0;
  color: #ffffff;
}
.wp-content-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table tbody tr > :first-child {
  background: #dbe3e4;
}
.wp-content-area .wp-block-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px 20px;
}
.wp-content-area .wp-block-button__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  max-width: 100%;
  padding: 12px 32px 16px;
  background: #0b6f73;
  border: 1px solid #0b6f73;
  border-radius: 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
  white-space: nowrap;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width:767px) {
  .wp-content-area .wp-block-button__link {
    white-space: normal;
    text-align: left;
  }
}
.wp-content-area .wp-block-button__link:hover, .wp-content-area .wp-block-button__link:focus {
  opacity: 0.8;
}
.wp-content-area .wp-block-button__link[target=_blank],
.wp-content-area .wp-block-button.is-external .wp-block-button__link {
  padding-right: 16px;
}
.wp-content-area .wp-block-button__link[target=_blank]::after,
.wp-content-area .wp-block-button.is-external .wp-block-button__link::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask: url(../img/icon-external-white.svg) center/contain no-repeat;
  mask: url(../img/icon-external-white.svg) center/contain no-repeat;
}
.wp-content-area .wp-block-button.is-style-secondary .wp-block-button__link {
  background: #ffffff;
  border-color: #489598;
  color: #0b6f73;
}
.wp-content-area .wp-block-button.is-style-anchor .wp-block-button__link {
  gap: 6px;
  padding: 6px 8px 8px 24px;
  background: #ffffff;
  border-color: #489598;
  color: #0b6f73;
}
.wp-content-area .wp-block-button.is-style-anchor .wp-block-button__link::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: url(../img/icon-chevron-green600.svg) center/6px 10px no-repeat;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-mask: none;
  mask: none;
}
.wp-content-area .block-point-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-point-box__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.wp-content-area .block-point-box__head::before {
  content: "";
  width: 88px;
  height: 32px;
  background: url(../img/point-rays.svg) center/contain no-repeat;
}
.wp-content-area .block-point-box__label {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
  color: #0b6f73;
}
.wp-content-area .block-point-box__bar {
  display: block;
  width: 40px;
  height: 2px;
  background: #b9cdce;
}
.wp-content-area .block-point-box__body {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-heading-box__head {
  padding: 6px 24px;
  background: #075558;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-heading-box__head {
    padding: 6px 16px;
    font-size: 1rem;
  }
}
.wp-content-area .block-heading-box__body {
  padding: 16px 24px;
  background: #f4f4f2;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-heading-box__body {
    padding: 16px;
  }
}
.wp-content-area .block-attention-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  padding: 16px 24px;
  background: rgba(218, 0, 17, .3);
  border: 2px solid #da0011;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-attention-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    padding: 16px;
  }
}
.wp-content-area .block-attention-box__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 102px;
  height: 90px;
  background: url(../img/icon-attention.svg) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-attention-box__icon {
    width: 68px;
    height: 60px;
  }
}
.wp-content-area .block-attention-box__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-list-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 32px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-list-box {
    padding: 24px 16px;
  }
}
.wp-content-area .block-list-box--check {
  background: #f4f4f2;
}
.wp-content-area .block-list-box--check .block-list-box__head {
  display: block;
  padding-bottom: 4px;
  border-bottom: 2px dashed #7ea9aa;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-list-box--check .block-list-box__head {
    font-size: 1.25rem;
  }
}
.wp-content-area .block-list-box--check .block-list-box__body ul:where(.wp-block-list, :not([class])) > li {
  padding-left: 30px;
  font-family: "M PLUS 1", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-list-box--check .block-list-box__body ul:where(.wp-block-list, :not([class])) > li::before {
  top: 1px;
  width: 24px;
  height: 24px;
  background: url(../img/icon-checkbox.svg) center/contain no-repeat;
  border: 0;
  border-radius: 0;
}
.wp-content-area .block-list-box--check .block-list-box__body ul:where(.wp-block-list, :not([class])) > li + li {
  margin-top: 12px;
}
.wp-content-area .block-list-box--green {
  background: #eaeeef;
}
.wp-content-area .block-list-box--green .block-list-box__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area .block-list-box--green .block-list-box__head::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 36px;
  border-radius: 3px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #489598), color-stop(50%, #0b6f73));
  background: linear-gradient(to bottom, #489598 0 50%, #0b6f73 50%);
}
@media screen and (max-width:767px) {
  .wp-content-area .block-list-box--green .block-list-box__head {
    font-size: 1.25rem;
  }
  .wp-content-area .block-list-box--green .block-list-box__head::before {
    height: 29px;
  }
}
.wp-content-area .block-list-box__body {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-faq {
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid #cbcbcb;
}
.wp-content-area .block-faq__q {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  cursor: pointer;
}
.wp-content-area .block-faq__q::-webkit-details-marker {
  display: none;
}
.wp-content-area .block-faq__q-mark,
.wp-content-area .block-faq__a-mark {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 26px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  color: #7ea9aa;
}
.wp-content-area .block-faq__a-mark {
  color: #0b6f73;
}
.wp-content-area .block-faq__q-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-faq__q-text {
    font-size: 1rem;
  }
}
.wp-content-area .block-faq__toggle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: url(../img/icon-chevron-black.svg) center/6px 10px no-repeat;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.wp-content-area .block-faq[open] .block-faq__toggle {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.wp-content-area .block-faq__a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
  margin-top: 8px;
}
.wp-content-area .block-faq__a-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-top: 4px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-bubble {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-bubble {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
  }
}
.wp-content-area .block-bubble--right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.wp-content-area .block-bubble__person {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  width: 75px;
}
.wp-content-area .block-bubble__img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-content-area .block-bubble__title {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  color: #2e4e78;
}
.wp-content-area .block-bubble__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.wp-content-area .block-bubble__balloon {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-left: 17px;
  padding: 24px;
  background: #eaeeef;
  border-radius: 4px;
}
.wp-content-area .block-bubble__balloon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -17px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-style: solid;
  border-width: 10px 18px 10px 0;
  border-color: transparent #eaeeef transparent transparent;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-bubble__balloon {
    margin-left: 12px;
    padding: 16px;
  }
  .wp-content-area .block-bubble__balloon::before {
    top: 24px;
    left: -12px;
    -webkit-transform: none;
            transform: none;
    border-width: 7px 12px 7px 0;
  }
}
.wp-content-area .block-bubble--right .block-bubble__balloon {
  margin-left: 0;
  margin-right: 17px;
}
.wp-content-area .block-bubble--right .block-bubble__balloon::before {
  left: auto;
  right: -17px;
  border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent #eaeeef;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-bubble--right .block-bubble__balloon {
    margin-right: 12px;
  }
  .wp-content-area .block-bubble--right .block-bubble__balloon::before {
    right: -12px;
    border-width: 7px 0 7px 12px;
  }
}
.wp-content-area .block-bubble__text {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}
.wp-content-area .block-step--right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-step--right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.wp-content-area .block-step__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 312px;
}
.wp-content-area .block-step__img img {
  display: block;
  width: 100%;
  height: 216px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-step__img {
    width: 100%;
  }
  .wp-content-area .block-step__img img {
    height: auto;
    aspect-ratio: 312/216;
  }
}
.wp-content-area .block-step__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.wp-content-area .block-step__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 6px;
  padding-top: 8px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  line-height: 0.6;
  color: #7ea9aa;
}
.wp-content-area .block-step__label-en {
  font-size: 20px;
  font-size: 1.25rem;
}
.wp-content-area .block-step__label-num {
  font-size: 60px;
  font-size: 3.75rem;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-step__label-num {
    font-size: 2.75rem;
  }
}
.wp-content-area .block-step__head {
  display: block;
  padding-bottom: 4px;
  border-bottom: 2px dashed #7ea9aa;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-step__head {
    font-size: 1.25rem;
  }
}
.wp-content-area .block-step__text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-point-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.wp-content-area .block-point-contents__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-point-contents__head-row {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
  padding-right: 44px;
}
.wp-content-area .block-point-contents__head-row::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 28px;
  height: 51px;
  background: url(../img/icon-pencil.svg) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__head-row {
    gap: 12px;
    padding-right: 36px;
  }
}
.wp-content-area .block-point-contents__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #f4f4f2;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  line-height: 1;
  color: #2e4e78;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__label {
    width: 72px;
    height: 72px;
  }
}
.wp-content-area .block-point-contents__label-en {
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__label-en {
    font-size: 1rem;
  }
}
.wp-content-area .block-point-contents__label-num {
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 0.8;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__label-num {
    font-size: 2.75rem;
  }
}
.wp-content-area .block-point-contents__head {
  display: block;
  padding-bottom: 4px;
  border-bottom: 2px dashed #7ea9aa;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__head {
    font-size: 1.25rem;
  }
}
.wp-content-area .block-point-contents__text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-point-contents__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 312px;
}
.wp-content-area .block-point-contents__img img {
  display: block;
  width: 100%;
  height: 216px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-point-contents__img {
    width: 100%;
  }
  .wp-content-area .block-point-contents__img img {
    height: auto;
    aspect-ratio: 312/216;
  }
}
.wp-content-area .block-supervisor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.wp-content-area .block-supervisor__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  padding: 12px 24px;
  background: #eaeeef;
  border-radius: 4px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor__header {
    gap: 12px;
    padding: 12px 16px;
  }
}
.wp-content-area .block-supervisor--toggle .block-supervisor__header {
  cursor: pointer;
}
.wp-content-area .block-supervisor.is-open .block-supervisor__header {
  border-radius: 4px 4px 0 0;
}
.wp-content-area .block-supervisor__person {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor__person {
    gap: 12px;
  }
}
.wp-content-area .block-supervisor__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor__img {
    width: 64px;
    height: 64px;
  }
}
.wp-content-area .block-supervisor__names {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  font-family: "Zen Old Mincho", serif;
}
.wp-content-area .block-supervisor__title {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.wp-content-area .block-supervisor__name {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor__name {
    font-size: 1.125rem;
  }
}
.wp-content-area .block-supervisor__actions {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.wp-content-area .block-supervisor__instagram {
  display: block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-supervisor__instagram:hover {
  opacity: 0.7;
}
.wp-content-area .block-supervisor__instagram img {
  width: 32px;
  height: 32px;
}
.wp-content-area .block-supervisor__toggle {
  width: 32px;
  height: 32px;
  background: url(../img/icon-plus.svg) center/contain no-repeat;
  cursor: pointer;
}
.wp-content-area .block-supervisor.is-open .block-supervisor__toggle {
  background-image: url(../img/icon-minus.svg);
}
.wp-content-area .block-supervisor__content {
  display: none;
  padding: 12px 24px 24px;
  background: #eaeeef;
  border-top: 1px solid #7ea9aa;
  border-radius: 0 0 4px 4px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor__content {
    padding: 12px 16px 16px;
  }
}
.wp-content-area .block-supervisor.is-open .block-supervisor__content {
  display: block;
}
.wp-content-area .block-supervisor__more {
  display: none;
  -ms-flex-item-align: end;
      align-self: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-top: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #0e0f0f;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-supervisor__more:hover {
  opacity: 0.7;
}
.wp-content-area .block-supervisor__more::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/icon-chevron-black.svg) center/6px 10px no-repeat;
}
.wp-content-area .block-supervisor.is-open .block-supervisor__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.wp-content-area .block-supervisor--profile {
  gap: 16px;
  padding: 24px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-supervisor--profile {
    padding: 16px;
  }
}
.wp-content-area .block-supervisor--profile .block-supervisor__header {
  padding: 0;
  background: transparent;
}
.wp-content-area .block-supervisor--profile .block-supervisor__content {
  padding: 0;
  background: transparent;
  border: 0;
}
.wp-content-area .block-supervisor--profile .block-supervisor__more {
  margin-top: -4px;
}
.wp-content-area .block-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  padding: 24px 32px 32px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-features {
    padding: 24px 12px;
  }
}
.wp-content-area .block-features__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.wp-content-area .block-features__logo {
  width: 314px;
  height: auto;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-features__logo {
    width: 236px;
  }
}
.wp-content-area .block-features__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-features__name {
    font-size: 1.375rem;
  }
}
.wp-content-area .block-features__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  width: 100%;
  max-width: 796px;
}
.wp-content-area .block-features__list > * {
  margin-top: 0;
}
.wp-content-area .block-features__list > p {
  position: relative;
  min-height: 112px;
  padding: 16px 24px 16px 129px;
  -ms-flex-line-pack: center;
      align-content: center;
  background: #ffffff;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: left;
}
.wp-content-area .block-features__list > p::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  width: 81px;
  height: 80px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon-feature.svg) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-features__list > p {
    min-height: 77px;
    padding: 12px 16px 12px 82px;
  }
  .wp-content-area .block-features__list > p::before {
    left: 16px;
    width: 54px;
    height: 53px;
  }
}
.wp-content-area .block-blog-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 17px;
  color: #0e0f0f;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-blog-card__link:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-blog-card__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 12px;
  }
}
.wp-content-area .block-blog-card__thumb {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 312px;
}
.wp-content-area .block-blog-card__thumb img {
  display: block;
  width: 100%;
  height: 168px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-blog-card__thumb {
    width: 100%;
  }
  .wp-content-area .block-blog-card__thumb img {
    height: auto;
    aspect-ratio: 312/168;
  }
}
.wp-content-area .block-blog-card__label {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 8px 2px;
  background: #80cc28;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-blog-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 531px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-blog-card__body {
    max-width: none;
  }
}
.wp-content-area .block-blog-card__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-position: from-font;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-blog-card__title {
    font-size: 1rem;
  }
}
.wp-content-area .block-blog-card__excerpt {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-related-posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-related-posts {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
.wp-content-area .block-related-posts__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding-bottom: 24px;
  background: #eaeeef;
  border-radius: 4px;
  color: #0e0f0f;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-related-posts__item:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-related-posts__item {
    gap: 12px;
    padding-bottom: 16px;
  }
}
.wp-content-area .block-related-posts__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 276/170;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px 4px 0 0;
}
.wp-content-area .block-related-posts__title {
  padding: 0 24px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-position: from-font;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-related-posts__title {
    padding: 0 12px;
  }
}
.wp-content-area .cta-band {
  position: relative;
  overflow: hidden;
  padding: 64px 48px;
  background: #ffffff;
  border-radius: 8px;
}
.wp-content-area .cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/consult-bg.webp) center/cover no-repeat;
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-band {
    padding: 40px 16px;
  }
}
.wp-content-area .cta-band__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.wp-content-area .cta-band__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.wp-content-area .cta-band__lead {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
}
.wp-content-area .cta-band__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-band__title {
    font-size: 1.375rem;
  }
}
.wp-content-area .cta-band__text {
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.wp-content-area .cta-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.wp-content-area .cta-btns__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  min-height: 80px;
  padding: 12px 16px;
  border-radius: 8px;
  text-align: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .cta-btns__item:hover {
  opacity: 0.8;
}
.wp-content-area .cta-btns__item--tel {
  background: #ffffff;
  border: 1px solid #489598;
  color: #0e0f0f;
}
.wp-content-area .cta-btns__item--web {
  background: #0b6f73;
  color: #ffffff;
}
.wp-content-area .cta-btns__note {
  font-family: "Zen Old Mincho", serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.wp-content-area .cta-btns__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 6px;
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-btns__main {
    font-size: 1.125rem;
  }
}
.wp-content-area .cta-btns__main--web {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wp-content-area .cta-btns__main--web::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: url(../img/icon-calendar-white.svg) center/contain no-repeat;
}
.wp-content-area .cta-btns__tel-label {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.06em;
}
.wp-content-area .cta-strong {
  width: 100vw;
  width: var(--page-w, 100vw);
  margin-left: calc(50% - 50vw);
  margin-left: calc(50% - var(--page-w, 100vw) / 2);
  padding: 64px 0;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong {
    padding: 40px 0;
  }
}
.wp-content-area .cta-strong__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  max-width: 860px;
  width: calc(100% - 96px);
  margin-inline: auto;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__inner {
    width: calc(100% - 34px);
    gap: 24px;
  }
}
.wp-content-area .cta-strong__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.wp-content-area .cta-strong__logo {
  width: 314px;
  height: auto;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__logo {
    width: 236px;
  }
}
.wp-content-area .cta-strong__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__name {
    font-size: 1.375rem;
  }
}
.wp-content-area .cta-strong__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 22px;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.wp-content-area .cta-strong__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 308px;
}
.wp-content-area .cta-strong__photo img {
  display: block;
  width: 100%;
  height: 368px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__photo {
    width: 100%;
  }
  .wp-content-area .cta-strong__photo img {
    height: auto;
    aspect-ratio: 308/368;
  }
}
.wp-content-area .cta-strong__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 530px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__body {
    max-width: none;
  }
}
.wp-content-area .cta-strong__catch {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
}
.wp-content-area .cta-strong__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
}
.wp-content-area .cta-strong__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 162px;
}
.wp-content-area .cta-strong__badge img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__badge {
    width: 31%;
  }
  .wp-content-area .cta-strong__badge img {
    width: 72px;
    height: 72px;
  }
}
.wp-content-area .cta-strong__badge-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong__badge-text {
    font-size: 0.75rem;
  }
}
.wp-content-area .cta-strong__note {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.wp-content-area .cta-strong__divider {
  margin: 0;
  border: 0;
  border-top: 1px solid #cbcbcb;
}
.wp-content-area .cta-strong__desc {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .cta-strong .cta-btns {
  gap: 20px;
}
@media screen and (max-width:767px) {
  .wp-content-area .cta-strong .cta-btns {
    gap: 12px;
  }
}
.wp-content-area .cta-strong .cta-btns__item {
  border-radius: 4px;
}
.wp-content-area .cta-strong .cta-btns__item--tel {
  border: 0;
}
.wp-content-area .block-comparison {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-comparison__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area .block-comparison__head::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 36px;
  border-radius: 3px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #489598), color-stop(50%, #0b6f73));
  background: linear-gradient(to bottom, #489598 0 50%, #0b6f73 50%);
}
@media screen and (max-width:767px) {
  .wp-content-area .block-comparison__head {
    font-size: 1.25rem;
  }
  .wp-content-area .block-comparison__head::before {
    height: 29px;
  }
}
.wp-content-area .block-comparison__lead {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-comparison__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 24px;
}
.wp-content-area .block-comparison__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.wp-content-area .block-comparison__filter::before {
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 20px;
  height: 20px;
  border: 2px solid #cbcbcb;
  border-radius: 2px;
  background: #ffffff;
}
.wp-content-area .block-comparison__filter.is-active::before {
  border: 0;
  background: url(../img/icon-checkbox.svg) center/contain no-repeat;
}
.wp-content-area .block-comparison__scroll {
  position: relative;
  overflow-x: auto;
}
.wp-content-area .block-comparison__table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}
.wp-content-area .block-comparison__table th,
.wp-content-area .block-comparison__table td {
  padding: 12px 8px;
  border-bottom: 1px solid #b9cdce;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  vertical-align: middle;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.wp-content-area .block-comparison__table th:first-child,
.wp-content-area .block-comparison__table td:first-child {
  text-align: left;
}
.wp-content-area .block-comparison__table th.is-active,
.wp-content-area .block-comparison__table td.is-active {
  background: #d1ebeb;
}
.wp-content-area .block-comparison__table thead th {
  height: 42px;
  padding: 6px 8px;
  background: #eaeeef;
  border-top: 1px solid #b9cdce;
  font-size: 13px;
  font-size: 0.8125rem;
}
.wp-content-area .block-comparison__table thead th.is-active {
  background: #c1e6e5;
}
.wp-content-area .block-comparison__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
.wp-content-area .block-comparison__badge {
  padding: 0 4px 2px;
  background: #80cc28;
  font-family: "M PLUS 1", sans-serif;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.wp-content-area .block-comparison__sub {
  margin-top: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-comparison__stars {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.wp-content-area .block-comparison__stars i {
  width: 24px;
  height: 24px;
  margin-left: -4px;
  background: url(../img/icon-star-off.svg) center/contain no-repeat;
}
.wp-content-area .block-comparison__stars i:first-child {
  margin-left: 0;
}
.wp-content-area .block-comparison__stars i.is-on {
  background-image: url(../img/icon-star-on.svg);
}
.wp-content-area .block-comparison__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
  color: #0e0f0f;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-comparison__link:hover {
  opacity: 0.7;
}
.wp-content-area .block-comparison__link::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/icon-chevron-black.svg) center/6px 10px no-repeat;
}
.wp-content-area .block-comparison__note {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: right;
}
.wp-content-area .block-comparison__closing {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
.wp-content-area .block-comparison__btn {
  -ms-flex-item-align: center;
      align-self: center;
  gap: 12px;
  padding-right: 16px;
}
.wp-content-area .block-comparison__btn::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/icon-external-white.svg) center/contain no-repeat;
}
.wp-content-area .block-before-after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-before-after__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 18px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-before-after__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.wp-content-area .block-before-after__slider {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 420px;
  aspect-ratio: 420/296;
  overflow: hidden;
  background: #eaecec;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-before-after__slider {
    width: 100%;
  }
}
.wp-content-area .block-before-after__img {
  position: absolute;
  inset: 0;
}
.wp-content-area .block-before-after__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-content-area .block-before-after__img--after {
  -webkit-clip-path: inset(0 0 0 var(--pos, 50%));
          clip-path: inset(0 0 0 var(--pos, 50%));
}
.wp-content-area .block-before-after__label {
  position: absolute;
  bottom: 0;
  z-index: 1;
  padding: 2px 4px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  color: #ffffff;
  pointer-events: none;
}
.wp-content-area .block-before-after__label--before {
  left: 0;
  background: rgba(132, 143, 144, .5);
}
.wp-content-area .block-before-after__label--after {
  right: 0;
  background: rgba(7, 85, 88, .5);
}
.wp-content-area .block-before-after__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--pos, 50%);
  z-index: 1;
  width: 2px;
  background: #ffffff;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
}
.wp-content-area .block-before-after__handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #80cc28 url(../img/icon-compare.svg) center/24px no-repeat;
}
.wp-content-area .block-before-after__input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
.wp-content-area .block-before-after__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-before-after__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.wp-content-area .block-before-after__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
.wp-content-area .block-before-after__title::before {
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 8px;
  background: #0b6f73;
  border: 2px solid #7ebcbf;
  border-radius: 50%;
}
.wp-content-area .block-before-after__text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-before-after__info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 0;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-before-after__info {
    gap: 12px;
  }
}
.wp-content-area .block-before-after__info-item {
  padding-left: 12px;
  border-left: 4px solid #dbe3e4;
}
.wp-content-area .block-before-after__info-item dt {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-before-after__info-item dd {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-before-after__note {
  padding: 17px 24px;
  background: #eaecec;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-before-after__note {
    padding: 12px 16px;
  }
}
.wp-content-area .block-quiz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  max-width: 641px;
  margin-inline: auto;
  padding: 24px 48px 32px;
  background: #f4f4f2;
  -webkit-box-shadow: 0 16px 16px rgba(12, 12, 13, .1), 0 4px 2px rgba(12, 12, 13, .05);
          box-shadow: 0 16px 16px rgba(12, 12, 13, .1), 0 4px 2px rgba(12, 12, 13, .05);
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz {
    gap: 24px;
    padding: 16px 16px 32px;
  }
}
.wp-content-area .block-quiz__panel {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.wp-content-area .block-quiz__panel.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__panel {
    gap: 12px;
  }
}
.wp-content-area .block-quiz__title {
  display: block;
  padding-bottom: 4px;
  border-bottom: 2px dashed #7ea9aa;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__title {
    font-size: 1.25rem;
  }
}
.wp-content-area .block-quiz__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.wp-content-area .block-quiz__lead,
.wp-content-area .block-quiz__hint {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__hint {
    font-size: 0.8125rem;
    line-height: 1.5;
  }
}
.wp-content-area .block-quiz__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}
.wp-content-area .block-quiz__badge {
  padding: 0 2px 2px;
  background: #80cc28;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz__image img {
  display: block;
  width: 100%;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-content-area .block-quiz__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50px;
  padding: 12px 32px 16px;
  background: #0b6f73;
  border: 1px solid #0b6f73;
  border-radius: 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  white-space: nowrap;
  color: #ffffff;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.wp-content-area .block-quiz__btn:hover {
  opacity: 0.8;
}
.wp-content-area .block-quiz__btn:disabled {
  opacity: 0.4;
  cursor: default;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__btn {
    padding: 12px 20px 16px;
    font-size: 1rem;
  }
}
.wp-content-area .block-quiz__btn--outline {
  background: #ffffff;
  border-color: #489598;
  color: #0b6f73;
}
.wp-content-area .block-quiz__btn--start {
  width: 100%;
}
.wp-content-area .block-quiz__divider {
  margin: 0;
  border: 0;
  border-top: 1px solid #cbcbcb;
}
.wp-content-area .block-quiz__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.wp-content-area .block-quiz__cta-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__cta-title {
    font-size: 1.125rem;
  }
}
.wp-content-area .block-quiz__cta-text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz__cta-note {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz .cta-btns {
  gap: 20px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz .cta-btns {
    gap: 12px;
  }
}
.wp-content-area .block-quiz .cta-btns__item {
  min-height: 68px;
  padding: 8px;
}
.wp-content-area .block-quiz .cta-btns__main {
  font-size: 18px;
  font-size: 1.125rem;
}
.wp-content-area .block-quiz__progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
}
.wp-content-area .block-quiz__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 40px;
  height: 40px;
  border: 2px solid #eaecec;
  border-radius: 50%;
  background: #ffffff;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  color: #cbcbcb;
}
.wp-content-area .block-quiz__step.is-done {
  border-color: #0b6f73;
  background: #0b6f73;
  color: #ffffff;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__step {
    width: 32px;
    height: 32px;
    font-size: 0.9375rem;
  }
}
.wp-content-area .block-quiz__line {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 2px;
  margin: 0 8px;
  background: #eaecec;
}
.wp-content-area .block-quiz__line.is-done {
  background: #0b6f73;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__line {
    margin: 0 4px;
  }
}
.wp-content-area .block-quiz__options {
  display: grid;
  gap: 12px 8px;
}
.wp-content-area .block-quiz__options--grid3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__options--grid3 {
    gap: 6px;
  }
}
.wp-content-area .block-quiz__options--grid2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 17px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__options--grid2 {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__options--grid2.block-quiz__options--cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
}
.wp-content-area .block-quiz__options--list {
  grid-template-columns: 1fr;
}
.wp-content-area .block-quiz__option {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  padding: 4px;
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.wp-content-area .block-quiz__option.is-selected {
  border-color: #7ea9aa;
}
.wp-content-area .block-quiz__option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.wp-content-area .block-quiz__option--card {
  min-height: 160px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__option--card {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2px;
    min-height: 0;
    padding: 18px 4px 8px;
    font-size: 0.8125rem;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    word-break: auto-phrase;
  }
  .wp-content-area .block-quiz__option--card .block-quiz__option-img {
    width: 66px;
    height: 44px;
  }
  .wp-content-area .block-quiz__option--card .block-quiz__option-label::before {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 15px;
    height: 15px;
  }
  .wp-content-area .block-quiz__option--card.is-selected > .block-quiz__option-label::before {
    width: 15px;
    height: 15px;
  }
  .wp-content-area .block-quiz__option--card .block-quiz__option-sub {
    font-size: 0.6875rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
}
.wp-content-area .block-quiz__option-img {
  width: 108px;
  height: 72px;
  -o-object-fit: contain;
     object-fit: contain;
}
.wp-content-area .block-quiz__option--row {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2px;
  padding: 12px 24px;
}
.wp-content-area .block-quiz__option--row .block-quiz__option-sub {
  padding-left: 24px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__option--row {
    padding: 10px 16px;
  }
}
.wp-content-area .block-quiz__option-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.wp-content-area .block-quiz__option-label::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid #cbcbcb;
  border-radius: 50%;
  background: #ffffff;
}
.wp-content-area .is-selected > .block-quiz__option-label::before {
  width: 20px;
  height: 20px;
  border-color: #0b6f73;
  background: radial-gradient(#0b6f73 0 5px, #ffffff 5.5px);
}
.wp-content-area .block-quiz__option--check .block-quiz__option-label::before {
  border-radius: 2px;
}
.wp-content-area .block-quiz__option--check.is-selected > .block-quiz__option-label::before {
  border: 0;
  background: url(../img/icon-checkbox.svg) center/contain no-repeat;
}
.wp-content-area .block-quiz__option-sub {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}
.wp-content-area .block-quiz__nav-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__nav-right {
    gap: 8px;
  }
}
.wp-content-area .block-quiz__result-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.wp-content-area .block-quiz__result-lead {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
.wp-content-area .block-quiz__result-text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz__fee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  padding: 12px 24px;
  background: #ffffff;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__fee {
    padding: 12px 16px;
  }
}
.wp-content-area .block-quiz__fee-label {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.wp-content-area .block-quiz__fee-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  font-family: "Zen Old Mincho", serif;
}
.wp-content-area .block-quiz__fee-main {
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .wp-content-area .block-quiz__fee-main {
    font-size: 1.375rem;
  }
}
.wp-content-area .block-quiz__fee-sub {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.wp-content-area .block-quiz__cta-title--result,
.wp-content-area .block-quiz__cta-note--result {
  display: none;
}
.wp-content-area .block-quiz.is-result .block-quiz__cta-title--start,
.wp-content-area .block-quiz.is-result .block-quiz__cta-text--start {
  display: none;
}
.wp-content-area .block-quiz.is-result .block-quiz__cta-title--result,
.wp-content-area .block-quiz.is-result .block-quiz__cta-note--result {
  display: block;
}

/*--ベース・全体レイアウト(PC=背景と左右パネル固定。SP=全幅)
------------------------------*/
.mplp-body {
  margin: 0;
  background: #E3F2F0;
  font-family: "M PLUS 1", "Noto Sans JP", sans-serif;
  color: #234;
}

.mp-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.mplp {
  --u: 1px;
  --mp-s: 1;
  position: fixed;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 113px;
  background: #E3F2F0 url("../img/mouthpiece-lp.webp") center bottom/cover no-repeat;
}
.mplp img {
  display: block;
  max-width: 100%;
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .mplp {
    gap: 40px;
  }
}
@media (min-width: 1100px) {
  .mplp {
    inset: 0 auto auto 0;
    width: calc(100vw / var(--mp-s));
    height: calc(100svh / var(--mp-s));
    -webkit-transform: scale(var(--mp-s));
            transform: scale(var(--mp-s));
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
@media (max-width: 1099px) {
  .mplp {
    --u: calc(100vw / 375);
    display: block;
    gap: 0;
  }
}

/*--中央カラム(ここだけスクロール。1セクション=1ページでスナップ)
------------------------------*/
.mp-col {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 375px;
  height: 667px;
  max-height: calc(100svh / var(--mp-s, 1) - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  outline: 0;
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
  scrollbar-width: none;
  border-radius: 12px;
  background: #f4fafa;
  -webkit-box-shadow: 0 10px 40px rgba(15, 114, 118, .18);
          box-shadow: 0 10px 40px rgba(15, 114, 118, .18);
}
.mp-col::-webkit-scrollbar {
  display: none;
}
@media (max-width: 1099px) {
  .mp-col {
    width: 100%;
    height: 100vh;
    height: 100svh;
    max-height: none;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.mp-page {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  --mp-frame: calc(667 * var(--u));
  --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2));
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/*--FV
------------------------------*/
.mp-fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 1099px) {
  .mp-fv {
    --u: min(calc(100vw / 375), calc(100svh / 667));
  }
}

.mp-fv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.mp-fv__head {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: calc(52 * var(--u));
  padding: 0 calc(14 * var(--u));
  background: rgba(247, 251, 251, .88);
}

.mp-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(6 * var(--u));
  color: #222;
  text-decoration: none;
}

.mp-logo__img {
  display: block;
  width: calc(168 * var(--u));
  height: auto;
}

.mp-btn-s {
  display: grid;
  place-items: center;
  width: calc(79 * var(--u));
  height: calc(35 * var(--u));
  border-radius: 4px;
  color: #fff;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  text-decoration: none;
  background: linear-gradient(135deg, #c4506d, #d66b85);
}

.mp-fv__body {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(40 * var(--u));
}
@media (max-width: 1099px) {
  .mp-fv__body {
    padding-top: calc(calc(16 * var(--u)) + max(0px, calc((100svh - calc(667 * var(--u))) * 0.4)));
  }
}

.mp-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(7 * var(--u));
  margin: 0 0 calc(18 * var(--u)) calc(0 * var(--u));
  padding: 0;
  list-style: none;
}
.mp-tags li {
  padding: calc(5 * var(--u)) calc(7 * var(--u));
  border-radius: 2px;
  background: #0f7276;
  color: #fff;
  font-size: calc(11 * var(--u));
  font-weight: 700;
  white-space: nowrap;
}

.mp-fv__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(8 * var(--u));
  margin: 0 0 calc(10 * var(--u));
  color: #0f7276;
  font: italic 500 calc(12 * var(--u))/1 "Cormorant Garamond", serif;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.mp-fv__en::after {
  content: "";
  width: calc(28 * var(--u));
  height: 1px;
  background: #0f7276;
}

.mp-fv__catch {
  margin: 0 0 calc(8 * var(--u));
  color: #0a4f55;
  font: 500 calc(20 * var(--u))/1.3 "Zen Old Mincho", serif;
  letter-spacing: 0.1em;
}
.mp-fv__catch em {
  color: #d9607f;
  font-style: normal;
}

.mp-fv__title {
  position: relative;
  margin: 0;
  color: #0a4f55;
  font: 700 calc(33 * var(--u))/1.3 "Zen Old Mincho", serif;
  letter-spacing: 0.02em;
}
.mp-fv__title text {
  z-index: 2;
}

.mp-fv__script {
  position: relative;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: calc(3 * var(--u)) 0 0 calc(47 * var(--u));
  color: #35857f;
  font: 400 calc(27.55 * var(--u))/1.2 "Allura", cursive;
  letter-spacing: 0;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.mp-fv__script img {
  position: absolute;
  top: calc(-4 * var(--u));
  left: calc(128 * var(--u));
  width: calc(22 * var(--u));
  height: auto;
  -webkit-transform: rotate(4deg);
          transform: rotate(4deg);
}

.mp-bubbles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(6 * var(--u));
  margin: calc(18 * var(--u)) 0 0 calc(-6 * var(--u));
  padding: 0;
  list-style: none;
}

.mp-bubble {
  position: relative;
  display: grid;
  place-items: center;
  width: calc(104 * var(--u));
  height: calc(104 * var(--u));
}

.mp-bubble__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
}

.mp-bubble__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 84%;
  height: 84%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  text-align: center;
}
.mp-bubble__in small {
  font-size: calc(10 * var(--u));
  color: #555;
  line-height: 1.5;
}
.mp-bubble__in small:last-child {
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  color: #444;
}
.mp-bubble__in b {
  font: 500 calc(26 * var(--u))/1.1 "Zen Old Mincho", serif;
  color: #0a4f55;
}

.mp-bubble__in--txt b {
  font-size: calc(14 * var(--u));
  line-height: 1.5;
}
.mp-bubble__in--txt small {
  font-size: calc(9 * var(--u));
}

.mp-fv__free-ttl {
  margin: 20px 0 calc(13 * var(--u));
  padding-top: calc(14 * var(--u));
  text-align: center;
  color: #0a4f55;
  font: 400 calc(13 * var(--u))/1 "Zen Old Mincho", serif;
  letter-spacing: 0.06em;
}
.mp-fv__free-ttl::before {
  content: "＼ ";
}
.mp-fv__free-ttl::after {
  content: " ／";
}

.mp-free {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  margin: 0;
  padding: 0;
  list-style: none;
}
.mp-free li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(100 * var(--u));
  height: calc(100 * var(--u));
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  border: 2px solid #fff;
  -webkit-box-shadow: 0 4px 14px rgba(15, 114, 118, .12);
          box-shadow: 0 4px 14px rgba(15, 114, 118, .12);
}
.mp-free .mp-free__icon {
  width: auto;
  height: calc(20 * var(--u));
  margin-bottom: calc(4 * var(--u));
}
.mp-free span {
  color: #0A4F52;
  font-family: "Zen Old Mincho", serif;
  font-size: 11px;
  line-height: 1.3;
  text-align: center;
}
.mp-free b {
  margin-top: calc(2 * var(--u));
  color: #c4506d;
  font: 500 calc(24 * var(--u))/1.1 "Zen Old Mincho", serif;
  letter-spacing: 0.08em;
}
.mp-free li:last-child span {
  font-size: 9.5px;
}

.mp-fv__note {
  margin: calc(14 * var(--u)) 0 0;
  text-align: center;
  color: #4a5a5a;
  font-size: calc(9 * var(--u));
}

/*--料金ページ(Monthly Payment。見出しタグなし)
------------------------------*/
.mp-pay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-pay {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}

.mp-pay__in {
  width: calc(339 * var(--u));
  margin: 0 auto;
}

.mp-pay__photo {
  width: 100%;
  height: auto;
  aspect-ratio: 678/400;
  border-radius: calc(7 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-pay__en {
  margin: calc(17 * var(--u)) 0 0;
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.15em;
  text-align: center;
}

.mp-pay__ttl {
  margin: calc(4 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(16 * var(--u));
  font-weight: 500;
  line-height: calc(22 * var(--u));
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.mp-plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(10 * var(--u));
  margin: calc(13 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-plan li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.mp-plan__item {
  display: block;
  overflow: hidden;
  border-radius: calc(7 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 0 calc(10 * var(--u)) rgba(15, 114, 118, .1);
          box-shadow: 0 0 calc(10 * var(--u)) rgba(15, 114, 118, .1);
  color: #0a4f55;
  text-align: center;
  text-decoration: none;
}

.mp-plan__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(6 * var(--u));
  height: calc(30 * var(--u));
  background: #0b6f73;
  color: #fff;
  font-size: calc(11 * var(--u));
  font-weight: 500;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.mp-plan__name::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  border: solid #fff;
  border-width: calc(1.8 * var(--u)) calc(1.8 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mp-plan__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(4 * var(--u));
  padding-top: calc(5 * var(--u));
  white-space: nowrap;
}
.mp-plan__price small {
  color: #0a4f55;
  font-family: "Noto Serif JP", serif;
  font-size: calc(11.5 * var(--u));
  font-weight: 500;
  line-height: 1;
}
.mp-plan__price small:last-child {
  font-size: calc(12 * var(--u));
}
.mp-plan__price b {
  color: #0a4f52;
  font-family: "Noto Serif JP", serif;
  font-size: calc(38 * var(--u));
  font-weight: 500;
  line-height: calc(55 * var(--u));
  letter-spacing: 0;
}

.mp-plan__total {
  display: block;
  padding-bottom: calc(12 * var(--u));
  color: #666;
  font-size: calc(12 * var(--u));
  line-height: calc(15 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.mp-pay__note {
  margin: calc(14 * var(--u)) 0 0;
  color: #6f7b7b;
  font-size: calc(10 * var(--u));
  line-height: calc(15 * var(--u));
  text-align: center;
}

.mp-cta {
  position: relative;
  margin-top: calc(31 * var(--u));
}

.mp-cta__tag {
  position: absolute;
  top: calc(-18 * var(--u));
  left: 50%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  width: calc(253 * var(--u));
  height: calc(26 * var(--u));
  border: 1px solid #d98ba0;
  border-radius: calc(3 * var(--u));
  background: #fff;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.mp-cta__tag span:first-child {
  color: #c4506d;
}
.mp-cta__tag span:first-child::before {
  content: "＼ ";
}
.mp-cta__tag span:first-child::after {
  content: " ／";
}
.mp-cta__tag span:last-child {
  color: #0a4f55;
}

.mp-cta__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  height: calc(66 * var(--u));
  padding-top: calc(6 * var(--u));
  border-radius: calc(6 * var(--u));
  background: -webkit-gradient(linear, left top, right top, from(#c4506d), to(#d46b85));
  background: linear-gradient(90deg, #c4506d, #d46b85);
  color: #fff;
  font-size: calc(17 * var(--u));
  font-weight: 700;
  letter-spacing: 0.07em;
  text-decoration: none;
}
.mp-cta__btn b {
  color: #ffe8a3;
  font-size: calc(24 * var(--u));
  letter-spacing: 0.04em;
}
.mp-cta__btn::after {
  content: "";
  width: calc(7 * var(--u));
  height: calc(7 * var(--u));
  margin-left: calc(-2 * var(--u));
  border: solid #fff;
  border-width: calc(2 * var(--u)) calc(2 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mp-pay__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(9 * var(--u));
  width: calc(295 * var(--u));
  height: calc(52 * var(--u));
  margin: calc(14 * var(--u)) auto 0;
  border-radius: calc(5 * var(--u));
  background: #0b6f73;
  color: #fff;
  text-decoration: none;
}
.mp-pay__tel svg {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(13 * var(--u));
  height: calc(13 * var(--u));
  fill: currentColor;
}
.mp-pay__tel span {
  font-size: calc(12 * var(--u));
  letter-spacing: 0.04em;
}
.mp-pay__tel b {
  font-family: "Noto Serif JP", serif;
  font-size: calc(22 * var(--u));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

/*--症例ページ(Case。h2=症例、h3=症例名)
------------------------------*/
.mp-case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-case {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-case::before {
  content: "Case";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efed;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-case__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-case__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(18 * var(--u)));
  right: calc(11 * var(--u));
  width: calc(72 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-case__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(20 * var(--u));
  font-weight: 500;
  line-height: calc(28 * var(--u));
  letter-spacing: 0.03em;
  text-align: center;
  white-space: nowrap;
}
.mp-case__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3 * var(--u)) auto 0;
  background: #d9607f;
}

.mp-case__en {
  display: block;
  margin-bottom: calc(8 * var(--u));
  color: #0f7276;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(13 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.12em;
}

.mp-case__slides {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: calc(9 * var(--u));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: calc(8 * var(--u));
}
.mp-case__slides::-webkit-scrollbar {
  display: none;
}

.mp-case__slide {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.mp-ba {
  --pos: 50%;
  position: relative;
  height: calc(199 * var(--u));
  overflow: hidden;
  border-radius: calc(8 * var(--u));
  background: #edf3f2;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.mp-ba__after,
.mp-ba__before {
  position: absolute;
  inset: 0;
}

.mp-ba__after {
  background: #edf3f2;
}

.mp-ba__before {
  background: #dde5e5;
  -webkit-clip-path: inset(0 calc(100% - var(--pos)) 0 0);
          clip-path: inset(0 calc(100% - var(--pos)) 0 0);
}

.mp-ba--photo {
  background: #fff;
}
.mp-ba--photo .mp-ba__after,
.mp-ba--photo .mp-ba__before {
  background: #fff;
}

.mp-ba__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  pointer-events: none;
}

.mp-ba__ph {
  position: absolute;
  top: 50%;
  color: #8b9b9b;
  font-size: calc(12 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.mp-ba__before .mp-ba__ph {
  left: calc(var(--pos) / 2);
}
.mp-ba__after .mp-ba__ph {
  left: calc((100% + var(--pos)) / 2);
}

.mp-ba__tag {
  position: absolute;
  top: calc(11 * var(--u));
  z-index: 2;
  height: calc(21 * var(--u));
  padding: 0 calc(9 * var(--u));
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-size: calc(12 * var(--u));
  font-weight: 500;
  line-height: calc(21 * var(--u));
  letter-spacing: 0.12em;
  pointer-events: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.mp-ba__tag.is-hide {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .mp-ba__tag {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-ba__tag--b {
  left: calc(9 * var(--u));
  background: #fff;
  color: #0b6f73;
}

.mp-ba__tag--a {
  right: calc(9 * var(--u));
  background: #0b6f73;
  color: #fff;
}

.mp-ba__bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--pos);
  z-index: 3;
  width: calc(34 * var(--u));
  margin-left: calc(-17 * var(--u));
  outline: 0;
  cursor: ew-resize;
  -ms-touch-action: none;
      touch-action: none;
}
.mp-ba__bar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  background: #fff;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .08);
          box-shadow: 0 0 4px rgba(0, 0, 0, .08);
}
.mp-ba__bar:focus-visible .mp-ba__knob {
  -webkit-box-shadow: 0 0 0 3px rgba(15, 114, 118, .35), 0 2px 8px rgba(0, 0, 0, .14);
          box-shadow: 0 0 0 3px rgba(15, 114, 118, .35), 0 2px 8px rgba(0, 0, 0, .14);
}

.mp-ba__knob {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: calc(34 * var(--u));
  height: calc(34 * var(--u));
  border-radius: 50%;
  background: #fff;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, .14);
          box-shadow: 0 2px 8px rgba(0, 0, 0, .14);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.mp-ba__knob svg {
  width: calc(15 * var(--u));
  height: auto;
  fill: none;
  stroke: #0b6f73;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mp-case__arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  place-items: center;
  width: calc(28 * var(--u));
  height: calc(28 * var(--u));
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #0b6f73;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
          box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
@media (hover: hover) {
  .mp-case__arrow:hover {
    opacity: 0.7;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mp-case__arrow {
    -webkit-transition: none;
    transition: none;
  }
}
.mp-case__arrow svg {
  width: calc(8 * var(--u));
  height: auto;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mp-case__arrow:focus-visible {
  outline: 0;
  -webkit-box-shadow: 0 0 0 3px rgba(15, 114, 118, .35), 0 2px 8px rgba(0, 0, 0, .22);
          box-shadow: 0 0 0 3px rgba(15, 114, 118, .35), 0 2px 8px rgba(0, 0, 0, .22);
}

.mp-case__arrow--prev {
  left: calc(-14 * var(--u));
}

.mp-case__arrow--next {
  right: calc(-14 * var(--u));
}

.mp-case__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(9 * var(--u));
  height: calc(18 * var(--u));
  margin-top: calc(9 * var(--u));
}

.mp-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(4 * var(--u));
}

.mp-dots__dot {
  width: calc(5 * var(--u));
  height: calc(5 * var(--u));
  padding: 0;
  border: 0;
  border-radius: calc(3 * var(--u));
  background: #cfe0df;
  cursor: pointer;
  -webkit-transition: width 0.25s, background 0.25s;
  transition: width 0.25s, background 0.25s;
}
.mp-dots__dot.is-active {
  width: calc(16 * var(--u));
  background: #0b6f73;
}
@media (prefers-reduced-motion: reduce) {
  .mp-dots__dot {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-case__swipe {
  margin: 0;
  color: #0b6f73;
  font-size: calc(12 * var(--u));
  line-height: 1;
  letter-spacing: 0.04em;
}

.mp-info {
  padding: calc(9 * var(--u)) calc(15 * var(--u)) calc(2 * var(--u));
  border: 1px solid #cfe3e1;
  border-radius: calc(6 * var(--u));
  background: #fff;
}

.mp-case__infos {
  position: relative;
  margin-top: calc(7 * var(--u));
}

.mp-info__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10 * var(--u));
  padding-bottom: calc(8 * var(--u));
  border-bottom: 1px solid #dde8e7;
}

.mp-info__no {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  height: calc(20 * var(--u));
  padding: 0 calc(8 * var(--u));
  border-radius: 2px;
  background: #0f7276;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(12 * var(--u));
  line-height: calc(20 * var(--u));
  letter-spacing: 0.06em;
}

.mp-info__ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #234;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  font-weight: 600;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.04em;
}

.mp-info__list {
  margin: 0;
}
.mp-info__list > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: calc(5 * var(--u)) 0;
  border-bottom: 1px solid #e3ecec;
  font-size: calc(11 * var(--u));
  line-height: calc(19 * var(--u));
}
.mp-info__list > div:last-child {
  border-bottom: 0;
}
.mp-info__list dt {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(69 * var(--u));
  color: #0f7276;
  font-weight: 700;
}
.mp-info__list dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #333;
}

.mp-case__note {
  margin: calc(10 * var(--u)) 0 0;
  color: #6f7b7b;
  font-size: calc(10 * var(--u));
  line-height: calc(15 * var(--u));
}

.mp-total {
  margin-top: calc(8 * var(--u));
  padding: calc(8 * var(--u)) calc(18 * var(--u)) calc(2 * var(--u));
  border-radius: calc(7 * var(--u));
  background: linear-gradient(135deg, #12787c 0%, #0b5a5f 55%, #0a5055 100%);
  color: #fff;
  text-align: center;
}

.mp-total__ttl {
  margin: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(16 * var(--u));
  line-height: calc(24 * var(--u));
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mp-total__sub {
  margin: calc(1 * var(--u)) 0 0;
  color: rgba(255, 255, 255, .85);
  font-size: calc(11 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mp-total__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(6 * var(--u));
  line-height: calc(40 * var(--u));
  white-space: nowrap;
}
.mp-total__price span {
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  letter-spacing: 0.1em;
}
.mp-total__price b {
  color: #ffe8a3;
  font-family: "Noto Serif JP", serif;
  font-size: calc(30 * var(--u));
  font-weight: 500;
  line-height: calc(40 * var(--u));
}
.mp-total__price small {
  font-family: "Zen Old Mincho", serif;
  font-size: calc(13 * var(--u));
}

.mp-total__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(6 * var(--u));
  height: calc(33 * var(--u));
  border-radius: calc(6 * var(--u));
  background: -webkit-gradient(linear, left top, right top, from(#c4506d), to(#d46b85));
  background: linear-gradient(90deg, #c4506d, #d46b85);
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(0, 0, 0, .22);
          box-shadow: 0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(0, 0, 0, .22);
  color: #fff;
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
}
.mp-total__btn b {
  color: #ffe8a3;
  font-size: calc(17 * var(--u));
  letter-spacing: 0.06em;
}
.mp-total__btn::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  margin-left: calc(-1 * var(--u));
  border: solid #fff;
  border-width: calc(1.8 * var(--u)) calc(1.8 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mp-total__note {
  margin: calc(3 * var(--u)) 0 0;
  font-size: calc(8.5 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0;
  white-space: nowrap;
}

/*--Aboutページ(h2=マウスピース矯正歯科治療とは？、h3=3つの特長)
------------------------------*/
.mp-about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .54)), to(rgba(255, 255, 255, .54))), url("../img/mouthpiece-lp-About01.webp") center/cover no-repeat;
  background: linear-gradient(rgba(255, 255, 255, .54), rgba(255, 255, 255, .54)), url("../img/mouthpiece-lp-About01.webp") center/cover no-repeat;
}
@media (max-width: 1099px) {
  .mp-about {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-about::before {
  content: "About";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efed;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-about__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-about__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
.mp-about__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(5 * var(--u)) auto 0;
  background: #d9607f;
}

.mp-about__en {
  display: block;
  margin-bottom: calc(10 * var(--u));
  color: #0f7276;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(13 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.12em;
}

.mp-about__img {
  width: 100%;
  height: auto;
  aspect-ratio: 670/380;
  margin-top: calc(13.5 * var(--u));
  border-radius: calc(7 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-about__txt {
  margin: calc(14.5 * var(--u)) 0 0;
  color: #234;
  font-size: calc(12 * var(--u));
  line-height: calc(22 * var(--u));
  letter-spacing: 0.02em;
}

.mp-about__list {
  display: grid;
  gap: calc(6 * var(--u));
  margin-top: calc(13.5 * var(--u));
}

.mp-about__pt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10.5 * var(--u));
  height: calc(38 * var(--u));
  margin: 0;
  padding: 0 calc(14 * var(--u));
  border-radius: calc(4 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 0 calc(6 * var(--u)) rgba(15, 114, 118, .06);
          box-shadow: 0 0 calc(6 * var(--u)) rgba(15, 114, 118, .06);
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.mp-about__ck {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(18 * var(--u));
  height: calc(18 * var(--u));
  border-radius: 50%;
  background: #0b6f73;
}
.mp-about__ck::after {
  content: "";
  position: absolute;
  top: 46%;
  left: 50%;
  width: calc(4.5 * var(--u));
  height: calc(8 * var(--u));
  border: solid #fff;
  border-width: 0 calc(2 * var(--u)) calc(2 * var(--u)) 0;
  -webkit-transform: translate(-50%, -55%) rotate(45deg);
          transform: translate(-50%, -55%) rotate(45deg);
}

/*--Systemページ(h2=マウスピース矯正歯科治療の仕組み、h3=4ステップ)
   見本(375x667)基準。カードは横スクロール(スナップ)+自動ループ+矢印/ドット
------------------------------*/
.mp-sys {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-sys {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-sys::before {
  content: "System";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efed;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-sys__in {
  position: relative;
  z-index: 1;
  width: calc(375 * var(--u));
  margin: 0 auto;
}

.mp-sys__spark {
  position: absolute;
  top: calc(var(--mp-dy) + calc(62 * var(--u)));
  left: calc(50% + calc(118.5 * var(--u)));
  width: calc(28 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-sys__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
.mp-sys__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-sys__en {
  display: block;
  margin-bottom: calc(10 * var(--u));
  color: #0f7276;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(13 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.2em;
}

.mp-sys__lead {
  margin: calc(6.5 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.5 * var(--u));
  line-height: calc(19 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
}

.mp-sys__count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  margin: calc(17 * var(--u)) 0 0;
  line-height: 1;
}
.mp-sys__count span,
.mp-sys__count small {
  font-family: "Noto Serif JP", serif;
  font-size: calc(13 * var(--u));
}
.mp-sys__count span {
  color: #35857f;
  letter-spacing: 0.04em;
}
.mp-sys__count b {
  color: #0f7276;
  font-family: "Noto Serif JP", serif;
  font-size: calc(24 * var(--u));
  font-weight: 400;
}
.mp-sys__count small {
  color: #777;
}

.mp-sys__slides {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(13.5 * var(--u));
  margin: calc(16 * var(--u)) 0 0;
  padding: 0 calc(53 * var(--u));
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-padding: 0;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.mp-sys__slides::-webkit-scrollbar {
  display: none;
}
@media (max-width: 1099px) {
  .mp-sys__slides {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 0 calc((100vw - calc(269 * var(--u))) / 2);
  }
}

.mp-sys__card {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(269 * var(--u));
  overflow: hidden;
  border: 1px solid #d5e5e3;
  border-radius: calc(6 * var(--u));
  background: #fff;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

.mp-sys__img {
  width: 100%;
  height: calc(170 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.mp-sys__body {
  padding: calc(21 * var(--u)) calc(19 * var(--u)) calc(20 * var(--u));
}

.mp-sys__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(12 * var(--u));
}

.mp-sys__no {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: grid;
  place-items: center;
  width: calc(34 * var(--u));
  height: calc(34 * var(--u));
  border-radius: 50%;
  background: #0b6f73;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(15 * var(--u));
  line-height: 1;
}

.mp-sys__step {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(15 * var(--u));
  font-weight: 500;
  line-height: calc(22.5 * var(--u));
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mp-sys__txt {
  margin: calc(4 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12 * var(--u));
  line-height: calc(21.5 * var(--u));
  letter-spacing: 0;
}

.mp-sys__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(14 * var(--u));
  margin-top: calc(6 * var(--u));
  height: calc(26 * var(--u));
}

.mp-sys__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(6 * var(--u));
}

.mp-sys__dot {
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  padding: 0;
  border: 0;
  border-radius: calc(3 * var(--u));
  background: #cfe0df;
  cursor: pointer;
  -webkit-transition: width 0.25s, background 0.25s;
  transition: width 0.25s, background 0.25s;
}
.mp-sys__dot.is-active {
  width: calc(18 * var(--u));
  background: #0b6f73;
}
@media (prefers-reduced-motion: reduce) {
  .mp-sys__dot {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-sys__arrow {
  display: grid;
  place-items: center;
  width: calc(26 * var(--u));
  height: calc(26 * var(--u));
  padding: 0;
  border: 1px solid #cfe3e1;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.mp-sys__arrow svg {
  width: calc(7 * var(--u));
  height: auto;
  fill: none;
  stroke: #0b6f73;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mp-sys__arrow:hover {
  background: #e4f3f1;
}
.mp-sys__arrow:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

.mp-sys__dot:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

/*--Self Checkページ(h2=30秒 簡単矯正チェック)
   見本(375x667)基準。設問の「はい/いいえ」は押すたびに 緑⇔元の色 が切り替わるボタン
------------------------------*/
.mp-chk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-chk {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-chk::before {
  content: "Check";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efed;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-chk__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(25 * var(--u)));
  left: 0;
  width: calc(72 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-chk__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-chk__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
.mp-chk__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-chk__en {
  display: block;
  margin-bottom: calc(8 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(13 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.18em;
}

.mp-chk__list {
  display: grid;
  gap: calc(6 * var(--u));
  margin-top: calc(8 * var(--u));
}

.mp-chk__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(50 * var(--u));
  padding: 0 calc(8 * var(--u)) 0 calc(10 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 0 calc(6 * var(--u)) rgba(15, 114, 118, .05);
          box-shadow: 0 0 calc(6 * var(--u)) rgba(15, 114, 118, .05);
}

.mp-chk__no {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(25 * var(--u));
  color: #0f7276;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(16 * var(--u));
  line-height: 1;
}

.mp-chk__q {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  padding: calc(6 * var(--u)) calc(4 * var(--u)) calc(6 * var(--u)) 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12.5 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.015em;
}

.mp-chk__ans {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(4 * var(--u));
}

.mp-chk__opt {
  display: grid;
  place-items: center;
  width: calc(46 * var(--u));
  height: calc(32 * var(--u));
  padding: 0;
  border: 1.5px solid #d3e3e1;
  border-radius: calc(4 * var(--u));
  background: #fff;
  color: #444;
  font-family: inherit;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: background 0.2s, border-color 0.2s, color 0.2s;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  .mp-chk__opt {
    -webkit-transition: none;
    transition: none;
  }
}
@media (hover: hover) {
  .mp-chk__opt:hover {
    border-color: #0b6f73;
  }
}
.mp-chk__opt:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}
.mp-chk__opt[aria-pressed=true] {
  border-color: #0b6f73;
  background: #0b6f73;
  color: #fff;
}

.mp-chk__result {
  margin-top: calc(8 * var(--u));
  padding: calc(10 * var(--u)) calc(21 * var(--u)) calc(7 * var(--u));
  border-radius: calc(12 * var(--u));
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f4faf9));
  background: linear-gradient(180deg, #fff, #f4faf9);
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(16 * var(--u)) rgba(15, 114, 118, .1);
          box-shadow: 0 calc(4 * var(--u)) calc(16 * var(--u)) rgba(15, 114, 118, .1);
}

.mp-chk__res-en {
  margin: 0;
  padding-left: 0.3em;
  color: #35857f;
  font-family: "Noto Serif JP", serif;
  font-size: calc(12 * var(--u));
  line-height: calc(14 * var(--u));
  letter-spacing: 0.3em;
  text-align: center;
}

.mp-chk__res-ttl {
  margin: calc(5 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(15 * var(--u));
  font-weight: 500;
  line-height: calc(23 * var(--u));
  letter-spacing: 0.03em;
  text-align: center;
  white-space: nowrap;
}

.mp-chk__res-txt {
  margin: calc(4.5 * var(--u)) 0 0;
  color: #234;
  font-size: calc(11.5 * var(--u));
  line-height: calc(21 * var(--u));
  letter-spacing: 0.01em;
}

.mp-cta--chk {
  margin-top: calc(18.5 * var(--u));
}
.mp-cta--chk .mp-cta__tag {
  top: calc(-17 * var(--u));
  width: calc(246 * var(--u));
  height: calc(25 * var(--u));
}
.mp-cta--chk .mp-cta__btn {
  height: calc(59 * var(--u));
  padding-top: calc(5 * var(--u));
  font-size: calc(15 * var(--u));
  letter-spacing: 0.05em;
}
.mp-cta--chk .mp-cta__btn b {
  font-size: calc(18.5 * var(--u));
}

.mp-chk__note {
  margin: calc(10 * var(--u)) 0 0;
  color: #868f8f;
  font-size: calc(9.5 * var(--u));
  line-height: calc(14 * var(--u));
  text-align: center;
  white-space: nowrap;
}

/*--Deviceページ(h2=当院で使用する装置、h3=装置名)
   見本(375x667)基準。2枚のカード(左=当院採用で強調 / 右=取扱いなし)+費用ボックス
------------------------------*/
.mp-dev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-dev {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-dev::before {
  content: "Device";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e9f2f0;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-dev__leaf {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(185 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-dev__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-dev__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
.mp-dev__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-dev__en {
  display: block;
  margin-bottom: calc(8 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(13 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(15 * var(--u));
  letter-spacing: 0.2em;
}

.mp-dev__lead {
  margin: calc(6 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.5 * var(--u));
  line-height: calc(20.5 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
}

.mp-dev__note {
  margin: calc(4 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.5 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
}

.mp-dev__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(10.5 * var(--u));
  margin: calc(8 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.mp-dev__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  height: calc(358 * var(--u));
  padding: calc(11.5 * var(--u)) calc(10 * var(--u));
  border: calc(1.5 * var(--u)) solid #d5e5e3;
  border-radius: calc(6 * var(--u));
  background: #f5f8f7;
}

.mp-dev__card--on {
  border-color: #2a8a85;
  background: #fff;
}

.mp-dev__badge {
  margin: 0;
  padding: 0 calc(7 * var(--u));
  border-radius: calc(3 * var(--u));
  background: #7b8888;
  color: #fff;
  font-size: calc(11 * var(--u));
  font-weight: 700;
  line-height: calc(23 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.mp-dev__card--on .mp-dev__badge {
  background: #c4506d;
}

.mp-dev__label {
  margin: calc(9.5 * var(--u)) 0 0;
  color: #777;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(10.5 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(14 * var(--u));
  letter-spacing: 0.04em;
}
.mp-dev__card--on .mp-dev__label {
  color: #2f827d;
}

.mp-dev__name {
  margin: calc(10.5 * var(--u)) 0 0;
  color: #4a5557;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.13em;
  white-space: nowrap;
}
.mp-dev__card--on .mp-dev__name {
  color: #0a4f55;
}

.mp-dev__img {
  width: 100%;
  height: calc(100 * var(--u));
  margin-top: calc(9.5 * var(--u));
  border-radius: calc(4 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.mp-dev__txt {
  margin: calc(9 * var(--u)) 0 0;
  color: #666;
  font-size: calc(11 * var(--u));
  line-height: calc(18.3 * var(--u));
  letter-spacing: 0;
}
.mp-dev__card--on .mp-dev__txt {
  color: #222;
}

.mp-dev__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  width: 100%;
  height: calc(33.5 * var(--u));
  margin-top: auto;
  border: 1.5px solid #0b6f73;
  border-radius: calc(4 * var(--u));
  background: #fff;
  color: #0b6f73;
  font-size: calc(11 * var(--u));
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
}
.mp-dev__btn::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  margin-left: calc(-2 * var(--u));
  border: solid currentColor;
  border-width: calc(1.6 * var(--u)) calc(1.6 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) {
  .mp-dev__btn:hover {
    background: #e4f3f1;
  }
}
.mp-dev__btn:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

.mp-dev__fee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(11 * var(--u));
  height: calc(81.5 * var(--u));
  margin-top: calc(12.5 * var(--u));
  padding: 0 calc(10 * var(--u)) 0 calc(14 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #fcf0f2;
}

.mp-dev__yen {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: grid;
  place-items: center;
  width: calc(30 * var(--u));
  height: calc(30 * var(--u));
  border-radius: 50%;
  background: #c4506d;
}
.mp-dev__yen svg {
  width: calc(17 * var(--u));
  height: auto;
  fill: none;
  stroke: #fff;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mp-dev__fee-body {
  min-width: 0;
}

.mp-dev__fee-ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14.5 * var(--u));
  font-weight: 500;
  line-height: calc(22 * var(--u));
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mp-dev__fee-txt {
  margin: calc(3 * var(--u)) 0 0;
  color: #555;
  font-size: calc(11 * var(--u));
  line-height: calc(20 * var(--u));
  letter-spacing: 0;
  white-space: nowrap;
}

/*--Why ClearCorrectページ(h2=クリアコレクトをおすすめする理由、h3=3つの理由)
   見本(375x667)基準。背景=About01と同じ泡の画像。1ページに収まるようSPは--uを縦横の小さい方に合わせる
------------------------------*/
.mp-rsn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .22)), to(rgba(255, 255, 255, .22))), url("../img/mouthpiece-lp-About01.webp") center/cover no-repeat;
  background: linear-gradient(rgba(255, 255, 255, .22), rgba(255, 255, 255, .22)), url("../img/mouthpiece-lp-About01.webp") center/cover no-repeat;
}
@media (max-width: 1099px) {
  .mp-rsn {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-rsn::before {
  content: "Reason";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: rgba(255, 255, 255, .6);
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-rsn__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(20 * var(--u)));
  right: calc(8 * var(--u));
  width: calc(78 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-rsn__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-rsn__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
.mp-rsn__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(7 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-rsn__en {
  display: block;
  margin-bottom: calc(9 * var(--u));
  color: #0f7276;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.12em;
}

.mp-rsn__img {
  width: 100%;
  height: calc(140 * var(--u));
  margin-top: calc(12 * var(--u));
  border-radius: calc(8 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.mp-rsn__list {
  display: grid;
  gap: calc(7 * var(--u));
  margin: calc(13 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.mp-rsn__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: calc(79 * var(--u));
  padding: 0 calc(14 * var(--u)) 0 0;
  border-radius: calc(8 * var(--u));
  background: rgba(255, 255, 255, .94);
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(15, 114, 118, .08);
          box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(15, 114, 118, .08);
}

.mp-rsn__no {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: relative;
  width: calc(52 * var(--u));
  color: #0f7276;
  font-family: "Noto Serif JP", serif;
  font-size: calc(22 * var(--u));
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.mp-rsn__no::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: calc(44 * var(--u));
  background: #d5e5e3;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.mp-rsn__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-left: calc(11 * var(--u));
}

.mp-rsn__h {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(13.5 * var(--u));
  font-weight: 700;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.mp-rsn__txt {
  margin: calc(3 * var(--u)) 0 0;
  color: #555;
  font-size: calc(11 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0;
}

.mp-rsn__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  width: calc(270 * var(--u));
  height: calc(46 * var(--u));
  margin: calc(12 * var(--u)) auto 0;
  border: 1.5px solid #0f7276;
  border-radius: calc(3 * var(--u));
  background: rgba(255, 255, 255, .94);
  color: #0f7276;
  font-size: calc(13 * var(--u));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
}
.mp-rsn__btn::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  border: solid currentColor;
  border-width: calc(1.6 * var(--u)) calc(1.6 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) {
  .mp-rsn__btn:hover {
    background: #e4f3f1;
  }
}
.mp-rsn__btn:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

/*--Comparisonページ(h2=マウスピース矯正とワイヤー矯正を比較、h3=こんな方に向いています)
   見本(375x667)基準。丸写真+VS → 比較表 → 向いている方の2ボックス
------------------------------*/
.mp-cmp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-cmp {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-cmp::before {
  content: "Compare";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e9f2f0;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-cmp__wave {
  position: absolute;
  top: calc(50% - calc(120 * var(--u)));
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.mp-cmp__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-cmp__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.14em;
  text-align: center;
  white-space: nowrap;
}
.mp-cmp__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-cmp__en {
  display: block;
  margin-bottom: calc(6.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-cmp__vs {
  display: grid;
  grid-template-columns: 1fr calc(30 * var(--u)) 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: calc(5 * var(--u));
  padding: 0 calc(6 * var(--u));
}

.mp-cmp__fig {
  margin: 0;
  text-align: center;
}
.mp-cmp__fig img {
  width: calc(120 * var(--u));
  height: calc(120 * var(--u));
  margin: 0 auto;
  border: calc(4 * var(--u)) solid #d5e5e3;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mp-cmp__fig figcaption {
  margin-top: calc(5 * var(--u));
  color: #3a4a4c;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.mp-cmp__fig--on img {
  border-color: #2a8a85;
}

.mp-cmp__badge {
  display: grid;
  place-items: center;
  width: calc(30 * var(--u));
  height: calc(30 * var(--u));
  margin-top: calc(45 * var(--u));
  border-radius: 50%;
  background: #c4506d;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(12 * var(--u));
  font-weight: 500;
  letter-spacing: 0.04em;
}

.mp-cmp__tblwrap {
  margin-top: calc(8 * var(--u));
  overflow: hidden;
  border: 1px solid #d5e5e3;
  border-radius: calc(6 * var(--u));
  background: #fff;
}

.mp-cmp__tbl {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.mp-cmp__tbl th, .mp-cmp__tbl td {
  height: calc(27 * var(--u));
  padding: calc(4 * var(--u)) calc(4 * var(--u));
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  vertical-align: middle;
}
.mp-cmp__tbl .mp-cmp__c0 {
  width: 21.2%;
}
.mp-cmp__tbl .mp-cmp__c1 {
  width: 39.1%;
}
.mp-cmp__tbl .mp-cmp__c2 {
  width: 39.7%;
}
.mp-cmp__tbl thead th {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.mp-cmp__tbl thead th:first-child {
  background: #f3f6f6;
  color: #35545a;
}
.mp-cmp__tbl thead th:nth-child(2) {
  background: #0f7276;
}
.mp-cmp__tbl thead th:nth-child(3) {
  background: #7f8c8b;
}
.mp-cmp__tbl tbody th {
  background: #f3f6f6;
  color: #0a4f55;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.mp-cmp__tbl tbody td {
  color: #3a4a4c;
}
.mp-cmp__tbl tbody td:nth-child(2) {
  background: #eef6f5;
}
.mp-cmp__tbl tbody tr:nth-child(even) td:nth-child(3) {
  background: #f6faf9;
}

.mp-cmp__sub {
  margin: calc(9 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.15em;
  text-align: center;
}

.mp-cmp__for {
  display: grid;
  grid-template-columns: calc(166 * var(--u)) 1fr;
  gap: calc(15 * var(--u));
  margin-top: calc(7 * var(--u));
}

.mp-cmp__box {
  height: calc(141 * var(--u));
  padding: calc(4 * var(--u)) calc(8 * var(--u)) 0 0;
  border: 2px solid transparent;
  border-radius: calc(6 * var(--u));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  --ck: #8a9695;
}

.mp-cmp__box--on {
  padding: calc(4 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(10 * var(--u));
  border-color: #2a8a85;
  background: #fff;
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .08);
          box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .08);
  --ck: #0f7276;
}

.mp-cmp__chip {
  display: inline-block;
  margin: 0;
  padding: 0 calc(7 * var(--u));
  border-radius: calc(3 * var(--u));
  background: #7f8c8b;
  color: #fff;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  line-height: calc(23 * var(--u));
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.mp-cmp__box--on .mp-cmp__chip {
  background: #0f7276;
}

.mp-cmp__ul {
  display: grid;
  gap: calc(3 * var(--u));
  margin: calc(3 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-cmp__ul li {
  position: relative;
  padding-left: calc(17 * var(--u));
  color: #3a4a4c;
  font-size: calc(11 * var(--u));
  line-height: calc(15 * var(--u));
  letter-spacing: 0;
}
.mp-cmp__ul li::before {
  content: "";
  position: absolute;
  top: calc(3.5 * var(--u));
  left: calc(1 * var(--u));
  width: calc(10 * var(--u));
  height: calc(5.5 * var(--u));
  border: solid var(--ck);
  border-width: 0 0 calc(2 * var(--u)) calc(2 * var(--u));
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.mp-cmp__note {
  margin: calc(10 * var(--u)) 0 0;
  color: #777;
  font-size: calc(10.5 * var(--u));
  line-height: calc(14 * var(--u));
  letter-spacing: 0;
}

/*--Meritページ(h2=メリットと正直な注意点、h3=メリット/注意点)
   見本(375x667)基準。メリット(緑)と注意点(茶)の2カード
------------------------------*/
.mp-mrt {
  --mrt-c: #0f7276;
  --mrt-ic: #dff0ee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-mrt {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-mrt::before {
  content: "Merit";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #dfece9;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-mrt__leaf {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(185 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-mrt__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-mrt__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}
.mp-mrt__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-mrt__en {
  display: block;
  margin-bottom: calc(7.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-mrt__lead {
  margin: calc(2 * var(--u)) 0 0;
  color: #555;
  font-size: calc(11 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

.mp-mrt__card {
  margin-top: calc(8 * var(--u));
  overflow: hidden;
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(15, 114, 118, .08);
          box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(15, 114, 118, .08);
}
.mp-mrt__card + .mp-mrt__card {
  margin-top: calc(8 * var(--u));
}

.mp-mrt__card--ng {
  --mrt-c: #A25F47;
  --mrt-ic: #f9ede9;
}

.mp-mrt__hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: calc(31 * var(--u));
  margin: 0;
  padding: 0 calc(18 * var(--u));
  background: var(--mrt-c);
  color: #fff;
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

.mp-mrt__hd-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Serif JP", serif;
  font-size: calc(13 * var(--u));
  font-weight: 400;
  letter-spacing: 0.04em;
}
.mp-mrt__hd-en::after {
  content: "";
  width: 1px;
  height: calc(13 * var(--u));
  margin: 0 calc(10 * var(--u));
  background: rgba(255, 255, 255, .7);
}

.mp-mrt__list {
  margin: 0;
  padding: 0 calc(18 * var(--u));
  list-style: none;
}

.mp-mrt__item {
  display: grid;
  grid-template-columns: calc(22 * var(--u)) 1fr;
  gap: calc(5.5 * var(--u));
  padding: calc(4.5 * var(--u)) 0;
  border-bottom: 1px solid #d5e3e1;
}
.mp-mrt__item:last-child {
  border-bottom: 0;
}

.mp-mrt__ic {
  position: relative;
  width: calc(22 * var(--u));
  height: calc(22 * var(--u));
  margin-top: calc(-1 * var(--u));
  border-radius: 50%;
  background: var(--mrt-ic);
}
.mp-mrt__ic::after {
  content: "";
  position: absolute;
  top: 46%;
  left: 50%;
  width: calc(5.5 * var(--u));
  height: calc(10 * var(--u));
  border: solid var(--mrt-c);
  border-width: 0 calc(2.4 * var(--u)) calc(2.4 * var(--u)) 0;
  -webkit-transform: translate(-50%, -55%) rotate(45deg);
          transform: translate(-50%, -55%) rotate(45deg);
}
.mp-mrt__card--ng .mp-mrt__ic::after {
  top: 50%;
  width: calc(2.6 * var(--u));
  height: calc(11.5 * var(--u));
  border: 0;
  border-radius: calc(1 * var(--u));
  background: var(--mrt-c);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 62%, 0 62%, 0 78%, 100% 78%, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 62%, 0 62%, 0 78%, 100% 78%, 100% 100%, 0 100%);
}

.mp-mrt__t {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(13 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.06em;
}
.mp-mrt__card--ng .mp-mrt__t {
  color: #5a372f;
}

.mp-mrt__d {
  margin: 0;
  color: #555;
  font-size: calc(12 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0;
}

/*--Indicationページ(h2=治せる歯並び・治せない歯並び。6症状は表のth)
   見本(375x667)基準。凡例 → 6行の表(写真・症状名・対応度アイコン・説明)
------------------------------*/
.mp-ind {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
  z-index: 1;
  -webkit-box-shadow: 0 2px 0 #f1f8f7;
          box-shadow: 0 2px 0 #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-ind {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-ind::before {
  content: "Indication";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #dfece9;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-ind__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(18 * var(--u)));
  right: calc(7 * var(--u));
  width: calc(76 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-ind__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-ind__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(19 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.09em;
  text-align: center;
  white-space: nowrap;
}
.mp-ind__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-ind__en {
  display: block;
  margin-bottom: calc(5.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-ind__legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  margin: calc(10 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-ind__legend li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(3 * var(--u));
  color: #3a4a4c;
  font-size: calc(12 * var(--u));
  line-height: calc(20 * var(--u));
  white-space: nowrap;
}
.mp-ind__legend .mp-ind__lv {
  width: calc(14 * var(--u));
  height: calc(14 * var(--u));
}

.mp-ind__lv {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(22 * var(--u));
  height: calc(22 * var(--u));
  color: #0f7276;
}
.mp-ind__lv svg {
  display: block;
  width: 100%;
  height: 100%;
}

.mp-ind__lv--ok {
  color: #2a8a85;
}

.mp-ind__lv--caution {
  color: #a2604b;
}

.mp-ind__lv--ng {
  color: #8a9695;
}

.mp-ind__card {
  margin-top: calc(10 * var(--u));
  overflow: hidden;
  border: 1px solid #d5e5e3;
  border-radius: calc(6 * var(--u));
  background: #fff;
}

.mp-ind__tbl {
  display: block;
  width: 100%;
}
.mp-ind__tbl tbody {
  display: block;
}

.mp-ind__row {
  display: grid;
  grid-template-columns: calc(72 * var(--u)) 1fr calc(22 * var(--u));
  grid-template-areas: "ph name lv" "ph txt lv";
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-column-gap: calc(12 * var(--u));
     -moz-column-gap: calc(12 * var(--u));
          column-gap: calc(12 * var(--u));
  row-gap: calc(5 * var(--u));
  min-height: calc(86 * var(--u));
  padding: calc(7 * var(--u)) calc(13 * var(--u)) calc(7 * var(--u)) calc(7 * var(--u));
  border-bottom: 1px solid #d5e5e3;
}
.mp-ind__row:last-child {
  border-bottom: 0;
}
.mp-ind__row:nth-child(even) {
  background: #f8fbfa;
}
.mp-ind__row th, .mp-ind__row td {
  padding: 0;
  text-align: left;
}

.mp-ind__ph {
  grid-area: ph;
  align-self: center;
  display: grid;
  place-items: center;
  width: calc(75 * var(--u));
  height: calc(75 * var(--u));
  border-radius: calc(5 * var(--u));
  background: #eef3f2;
  overflow: hidden;
  color: #7b8888;
  font-size: calc(11 * var(--u));
  line-height: calc(15 * var(--u));
  text-align: center;
}
.mp-ind__ph img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-ind__name {
  grid-area: name;
  -ms-flex-item-align: center;
      align-self: center;
  line-height: calc(20 * var(--u));
  white-space: nowrap;
}

.mp-ind__t {
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  font-weight: 500;
  letter-spacing: 0.1em;
}

.mp-ind__s {
  margin-left: calc(4 * var(--u));
  color: #777;
  font-size: calc(11.5 * var(--u));
  font-weight: 400;
  letter-spacing: 0.02em;
}

.mp-ind__lvc {
  grid-area: lv;
  -ms-flex-item-align: center;
      align-self: center;
  justify-self: center;
}

.mp-ind__txt {
  grid-area: txt;
  color: #555;
  font-size: calc(11.5 * var(--u));
  line-height: calc(16.5 * var(--u));
  letter-spacing: 0;
}

/*--Second Opinionページ(h2=他院でマウスピース矯正は「難しい」と言われた方へ、h3=矯正歯科治療専門だからできる、次の選択肢があります)
   見本(375x667)基準。濃い緑背景。医師カード → 注記 → CTA(料金ページの .mp-cta / .mp-pay__tel を流用)
------------------------------*/
.mp-so {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#177b7e), color-stop(55%, #0f6065), to(#0b4a50));
  background: linear-gradient(180deg, #177b7e 0%, #0f6065 55%, #0b4a50 100%);
  color: #fff;
}
@media (max-width: 1099px) {
  .mp-so {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-so::before {
  content: "Opinion";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: rgba(255, 255, 255, .1);
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}
.mp-so::after {
  content: "";
  position: absolute;
  top: calc(-70 * var(--u));
  right: calc(-90 * var(--u));
  width: calc(260 * var(--u));
  height: calc(260 * var(--u));
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  pointer-events: none;
}

.mp-so__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-so__ttl {
  margin: 0;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}
.mp-so__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(6.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-so__en {
  display: block;
  margin-bottom: calc(8.5 * var(--u));
  color: rgba(255, 255, 255, .78);
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-so__card {
  position: relative;
  height: calc(272 * var(--u));
  margin-top: calc(7 * var(--u));
  overflow: hidden;
  border-radius: calc(6 * var(--u));
  background: #fafafa;
}
.mp-so__card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: calc(140 * var(--u));
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(10, 79, 82, 0)), color-stop(75%, rgba(10, 79, 82, .85)), color-stop(95%, #0a4f52), to(#0a4f52));
  background: linear-gradient(180deg, rgba(10, 79, 82, 0) 0%, rgba(10, 79, 82, .85) 75%, #0a4f52 95%, #0a4f52 100%);
  pointer-events: none;
}

.mp-so__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-so__who {
  position: absolute;
  top: calc(26.5 * var(--u));
  left: calc(16 * var(--u));
  z-index: 1;
  color: #3a4a4c;
}

.mp-so__role {
  margin: 0;
  font-size: calc(11 * var(--u));
  line-height: calc(14.5 * var(--u));
  letter-spacing: 0;
}

.mp-so__name {
  margin: calc(6 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(17 * var(--u));
  font-weight: 500;
  line-height: calc(24 * var(--u));
  letter-spacing: 0.08em;
}

.mp-so__roman {
  margin: calc(1 * var(--u)) 0 0;
  color: #0f7276;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(12.5 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.04em;
}

.mp-so__body {
  position: absolute;
  right: calc(16 * var(--u));
  bottom: calc(14 * var(--u));
  left: calc(16 * var(--u));
  z-index: 1;
}

.mp-so__h {
  margin: 0;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(17 * var(--u));
  font-weight: 500;
  line-height: calc(25.5 * var(--u));
  letter-spacing: 0.01em;
}

.mp-so__txt {
  margin: calc(6 * var(--u)) 0 0;
  color: rgba(255, 255, 255, .92);
  font-size: calc(12.4 * var(--u));
  line-height: calc(19.5 * var(--u));
  letter-spacing: 0;
}

.mp-so__note {
  margin: calc(9.5 * var(--u)) 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: calc(9.7 * var(--u));
  line-height: calc(14 * var(--u));
  letter-spacing: 0;
  white-space: nowrap;
}

.mp-so .mp-cta {
  margin-top: calc(23.5 * var(--u));
}
.mp-so .mp-cta .mp-cta__tag {
  top: calc(-16 * var(--u));
  width: calc(250 * var(--u));
  height: calc(25 * var(--u));
  border: 0;
}

.mp-so .mp-pay__tel {
  height: calc(48 * var(--u));
  margin-top: calc(8 * var(--u));
  background: #fff;
  color: #3a4a4c;
}
.mp-so .mp-pay__tel svg {
  color: #0f7276;
}
.mp-so .mp-pay__tel b {
  color: #0f7276;
}

.mp-so__hours {
  margin: calc(8.5 * var(--u)) 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

/*--Optionsページ(h2=当院でご提案できる3つの選択肢、h3=選択肢名 / 別h2=町田KT矯正歯科の“3つの無料”)
   見本(375x667)基準。3枚のカード(連番バッジ+アイコン+文)+緑の「3つの無料」ボックス
------------------------------*/
.mp-opt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
  -webkit-box-shadow: 0 -2px 0 #f1f8f7;
          box-shadow: 0 -2px 0 #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-opt {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-opt::before {
  content: "Options";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #dfece9;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-opt__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-opt__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}
.mp-opt__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-opt__en {
  display: block;
  margin-bottom: calc(5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-opt__list {
  display: grid;
  gap: calc(5 * var(--u));
  margin: calc(7 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.mp-opt__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(97 * var(--u));
  padding: calc(15 * var(--u)) calc(20 * var(--u)) 0 calc(16 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .06);
          box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .06);
}

.mp-opt__no {
  position: absolute;
  top: calc(9 * var(--u));
  left: calc(9 * var(--u));
  z-index: 1;
  display: grid;
  place-items: center;
  width: calc(22 * var(--u));
  height: calc(22 * var(--u));
  border-radius: 50%;
  background: #c4506d;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(11 * var(--u));
  line-height: 1;
}

.mp-opt__ic {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: grid;
  place-items: center;
  width: calc(67 * var(--u));
  height: calc(67 * var(--u));
  border: 1px solid #d5e5e3;
  border-radius: calc(6 * var(--u));
  background: #f2f8f7;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mp-opt__ic img {
  display: block;
  width: calc(42 * var(--u));
  height: calc(42 * var(--u));
}

.mp-opt__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: calc(-8.25 * var(--u)) 0 0 calc(8.5 * var(--u));
}

.mp-opt__h {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14.5 * var(--u));
  font-weight: 500;
  line-height: calc(20.5 * var(--u));
  letter-spacing: 0.02em;
}

.mp-opt__txt {
  margin: calc(5 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12 * var(--u));
  line-height: calc(19.5 * var(--u));
  letter-spacing: 0;
}

.mp-opt__free {
  margin-top: calc(8 * var(--u));
  padding: calc(8 * var(--u)) calc(8.5 * var(--u)) calc(7 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #0f7276;
  color: #fff;
}

.mp-opt__free-ttl {
  margin: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}

.mp-opt__badges {
  display: grid;
  grid-template-columns: repeat(3, calc(102 * var(--u)));
  gap: calc(6 * var(--u));
  margin: calc(6 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-opt__badges li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(102 * var(--u));
  height: calc(102 * var(--u));
  border-radius: 50%;
  background: #fff;
  text-align: center;
}
.mp-opt__badges span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: calc(28 * var(--u));
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11.5 * var(--u));
  line-height: calc(14 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}
.mp-opt__badges b {
  margin-top: calc(2 * var(--u));
  color: #c4506d;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(24 * var(--u));
  letter-spacing: 0.02em;
}

.mp-opt__free-note {
  margin: calc(7 * var(--u)) 0 0;
  font-size: calc(12 * var(--u));
  line-height: calc(17 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
}

/*--Why Choose Usページ×3(1理由=1ページ。h2は1ページ目のみ、h3=各理由名)
   見本(375x667)基準。ミント地の矩形に重ねた写真+連番バッジ → 理由名 → 説明 → EVIDENCEカード
------------------------------*/
.mp-why {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-why {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-why::before {
  content: "Why Us";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e9f2f0;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-why--2 {
  background: #f3f8f7;
}

.mp-why__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-why__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}
.mp-why__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(2 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-why__en {
  display: block;
  margin-bottom: calc(4.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-why__lab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: calc(16 * var(--u));
  margin: 0 0 calc(12 * var(--u));
  line-height: 1;
}

.mp-why__lab-en {
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.mp-why__lab-jp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #555;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(13 * var(--u));
  letter-spacing: 0.12em;
}
.mp-why__lab-jp::before {
  content: "";
  width: 1px;
  height: calc(12 * var(--u));
  margin: 0 calc(10 * var(--u));
  background: #7a8686;
}

.mp-why__fig {
  position: relative;
  margin-top: calc(13 * var(--u));
  padding: calc(16 * var(--u)) 0 0 calc(30 * var(--u));
}
.mp-why__fig::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: calc(16 * var(--u));
  width: calc(305 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #e1f0ef;
}

.mp-why--1 .mp-why__fig {
  margin-top: calc(13 * var(--u));
}

.mp-why__img {
  position: relative;
  display: block;
  width: calc(305 * var(--u));
  height: auto;
  border-radius: calc(6 * var(--u));
}

.mp-why__no {
  position: absolute;
  left: calc(12 * var(--u));
  bottom: calc(-7 * var(--u));
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(66 * var(--u));
  height: calc(79 * var(--u));
  padding-bottom: calc(8 * var(--u));
  border-radius: calc(8 * var(--u));
  background: #0b6f73;
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(11, 111, 115, .25);
          box-shadow: 0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(11, 111, 115, .25);
  color: #fff;
}

.mp-why__no-l {
  font-family: "Cormorant Garamond", serif;
  font-size: calc(11 * var(--u));
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: calc(14 * var(--u));
  opacity: 0.85;
}

.mp-why__no-n {
  margin-top: calc(4 * var(--u));
  font-family: "Noto Serif JP", serif;
  font-size: calc(34 * var(--u));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.mp-why__h {
  margin: calc(10.5 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(18 * var(--u));
  font-weight: 500;
  line-height: calc(27.5 * var(--u));
  letter-spacing: 0.03em;
}

.mp-why__txt {
  margin: calc(8 * var(--u)) 0 0;
  padding-right: calc(4 * var(--u));
  color: #3a4a4c;
  font-size: calc(12.4 * var(--u));
  line-height: calc(21 * var(--u));
  letter-spacing: 0;
}

.mp-why__ev {
  margin-top: calc(10.5 * var(--u));
  padding: calc(12 * var(--u)) calc(14 * var(--u)) calc(11 * var(--u)) calc(16 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #f1f7f6;
}

.mp-why--2 .mp-why__ev {
  background: #fff;
}

.mp-why__ev-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(8 * var(--u));
  margin: 0;
  color: #0f7276;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  line-height: calc(20 * var(--u));
  letter-spacing: 0.03em;
}
.mp-why__ev-en::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  background: #b6dedb;
}

.mp-why__ev-ttl {
  margin: calc(5 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(14 * var(--u));
  line-height: calc(20 * var(--u));
  letter-spacing: 0.06em;
}

.mp-why__ev-list {
  display: grid;
  gap: calc(7 * var(--u));
  margin: calc(7.75 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-why__ev-list li {
  position: relative;
  padding-left: calc(26.5 * var(--u));
  color: #333;
  font-size: calc(11.5 * var(--u));
  line-height: calc(18.5 * var(--u));
  letter-spacing: 0;
}
.mp-why__ev-list li::before {
  content: "";
  position: absolute;
  top: calc(0.25 * var(--u));
  left: 0;
  width: calc(18 * var(--u));
  height: calc(18 * var(--u));
  border-radius: 50%;
  background: #0b6f73;
}
.mp-why__ev-list li::after {
  content: "";
  position: absolute;
  top: calc(0.25 * var(--u));
  left: 0;
  width: calc(18 * var(--u));
  height: calc(18 * var(--u));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 9.4l3.1 3 5.5-6.2'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

/*--Flowページ(h2=治療の流れ、h3=ステップ名)
   見本(375x667)基準。背景=泡の画像+波。5枚のステップカード(STEP丸+文+写真)+ボタン
------------------------------*/
.mp-flw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f3f9f9 url("../img/mouthpiece-lp-Flow06.webp") center/cover no-repeat;
}
@media (max-width: 1099px) {
  .mp-flw {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-flw::before {
  content: "Flow";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efed;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-flw__wave {
  position: absolute;
  top: calc(var(--mp-dy) + calc(68 * var(--u)));
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.mp-flw__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-flw__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
}
.mp-flw__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-flw__en {
  display: block;
  margin-bottom: calc(7.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-flw__lead {
  margin: calc(6 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.5 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

.mp-flw__list {
  display: grid;
  gap: calc(6 * var(--u));
  margin: calc(12 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.mp-flw__item {
  display: grid;
  grid-template-columns: calc(46 * var(--u)) 1fr calc(72 * var(--u));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: calc(8 * var(--u));
     -moz-column-gap: calc(8 * var(--u));
          column-gap: calc(8 * var(--u));
  height: calc(88 * var(--u));
  padding: 0 calc(9 * var(--u));
  border-radius: calc(6 * var(--u));
  background: rgba(255, 255, 255, .94);
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .05);
          box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .05);
}

.mp-flw__no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(46 * var(--u));
  height: calc(46 * var(--u));
  border-radius: 50%;
  background: #0f7276;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}
.mp-flw__no span {
  font-size: calc(11 * var(--u));
  letter-spacing: 0.04em;
}
.mp-flw__no b {
  margin-top: calc(3 * var(--u));
  font-size: calc(18 * var(--u));
  font-weight: 400;
}
.is-first .mp-flw__no {
  background: #c4506d;
}

.mp-flw__body {
  min-width: 0;
}

.mp-flw__h {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(17 * var(--u));
  font-weight: 500;
  line-height: calc(24 * var(--u));
  letter-spacing: 0.02em;
}

.mp-flw__txt {
  margin: calc(3 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12 * var(--u));
  line-height: calc(17.5 * var(--u));
  letter-spacing: 0;
}

.mp-flw__img {
  display: block;
  width: calc(72 * var(--u));
  height: calc(72 * var(--u));
  border-radius: calc(5 * var(--u));
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-flw__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  width: calc(270 * var(--u));
  height: calc(46 * var(--u));
  margin: calc(10 * var(--u)) auto 0;
  border: 1.5px solid #0f7276;
  border-radius: calc(3 * var(--u));
  background: rgba(255, 255, 255, .94);
  color: #0f7276;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mp-flw__btn::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  border: solid currentColor;
  border-width: calc(1.6 * var(--u)) calc(1.6 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) {
  .mp-flw__btn:hover {
    background: #e4f3f1;
  }
}
.mp-flw__btn:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

/*--Periodページ(h2=治療期間・通院頻度の目安)
   見本(375x667)基準。目安の表 → 注記 → 期間バー → 通院頻度のコールアウト
------------------------------*/
.mp-prd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-prd {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-prd::before {
  content: "Period";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e5f0ee;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-prd__spk {
  position: absolute;
  top: calc(var(--mp-dy) + calc(57 * var(--u)));
  left: calc(305 * var(--u));
  width: calc(28 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-prd__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-prd__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
.mp-prd__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(5.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-prd__en {
  display: block;
  margin-bottom: calc(7 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-prd__tblwrap {
  margin-top: calc(9.5 * var(--u));
  overflow: hidden;
  border: 1px solid #cfe0de;
  border-radius: calc(6 * var(--u));
  background: #fff;
}

.mp-prd__tbl {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.mp-prd__tbl th, .mp-prd__tbl td {
  height: calc(32 * var(--u));
  text-align: left;
  vertical-align: middle;
}
.mp-prd__tbl thead th {
  width: auto;
  height: calc(32.5 * var(--u));
  padding: 0 calc(15 * var(--u));
  background: #0b6f73;
  color: #fff;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  letter-spacing: 0.04em;
}
.mp-prd__tbl thead th:first-child {
  width: calc(151 * var(--u));
}
.mp-prd__tbl tbody th {
  padding: calc(4 * var(--u)) calc(8 * var(--u)) calc(4 * var(--u)) calc(15 * var(--u));
  background: #f0f5f4;
  color: #0a4f55;
  font-size: calc(11.5 * var(--u));
  font-weight: 700;
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
}
.mp-prd__tbl tbody td {
  padding: 0 calc(15 * var(--u));
  color: #333;
  font-size: calc(13 * var(--u));
  letter-spacing: 0.02em;
}
.mp-prd__tbl tbody td.is-sm {
  font-size: calc(11 * var(--u));
}
.mp-prd__tbl tbody tr:nth-child(even) td {
  background: #f8fbfa;
}

.mp-prd__note {
  margin: calc(11 * var(--u)) 0 0;
  color: #777;
  font-size: calc(9.5 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0;
}

.mp-prd__bars {
  display: grid;
  gap: calc(8 * var(--u));
  margin: calc(10 * var(--u)) 0 0;
  padding: calc(13 * var(--u)) calc(16 * var(--u)) calc(12.5 * var(--u));
  list-style: none;
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(15, 114, 118, .07);
          box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(15, 114, 118, .07);
}

.mp-prd__bl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(7 * var(--u));
  margin: 0;
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
}
.mp-prd__bl b {
  color: #0a4f55;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.mp-prd__bl span {
  color: #555;
  letter-spacing: 0;
}

.mp-prd__bar {
  width: var(--w, 100%);
  height: calc(12 * var(--u));
  margin-top: calc(2.5 * var(--u));
  border-radius: calc(4 * var(--u));
  background: #0f7276;
}

.mp-prd__bar--light {
  background: #bfe6e2;
}

.mp-prd__bar--mid {
  background: #2b8c88;
}

.mp-prd__call {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10 * var(--u));
  height: calc(58 * var(--u));
  margin-top: calc(10 * var(--u));
  padding: 0 calc(14 * var(--u));
  border-radius: calc(6 * var(--u));
  background: #fceef0;
}
.mp-prd__call p {
  margin: 0;
  color: #0a4f55;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  line-height: calc(18 * var(--u));
  letter-spacing: 0.02em;
}

.mp-prd__clock {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: grid;
  place-items: center;
  width: calc(28 * var(--u));
  height: calc(28 * var(--u));
  border-radius: 50%;
  background: #c4506d;
  color: #fff;
}
.mp-prd__clock svg {
  width: calc(20 * var(--u));
  height: calc(20 * var(--u));
}

/*--Priceページ(h2=費用・料金の目安)
   見本(375x667)基準。3枚のプランカード(丸写真+プラン名+月額+総額・期間)
------------------------------*/
.mp-prc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-prc {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-prc::before {
  content: "Price";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e5f0ee;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-prc__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(20 * var(--u)));
  right: calc(8 * var(--u));
  width: calc(78 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-prc__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-prc__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}
.mp-prc__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-prc__en {
  display: block;
  margin-bottom: calc(8.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-prc__lead {
  margin: calc(5.5 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.4 * var(--u));
  line-height: calc(21 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

.mp-prc__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(13 * var(--u));
  margin: calc(11.5 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.mp-prc__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(12 * var(--u));
  min-width: 0;
  height: calc(131 * var(--u));
  padding: 0 calc(10 * var(--u)) 0 calc(13 * var(--u));
  border: 1px solid #cfe0de;
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(15, 114, 118, .1);
          box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(15, 114, 118, .1);
}
.mp-prc__card.is-main {
  padding-left: calc(12 * var(--u));
  border: 2px solid #0f7276;
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(16 * var(--u)) rgba(15, 114, 118, .1);
          box-shadow: 0 calc(4 * var(--u)) calc(16 * var(--u)) rgba(15, 114, 118, .1);
}

.mp-prc__img {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(70 * var(--u));
  height: calc(70 * var(--u));
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mp-prc__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.mp-prc__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(6.5 * var(--u));
}

.mp-prc__chip {
  margin: 0;
  padding: 0 calc(8 * var(--u));
  border-radius: calc(3 * var(--u));
  background: #2b8c88;
  color: #fff;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  line-height: calc(25 * var(--u));
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.is-main .mp-prc__chip {
  background: #0f7276;
}

.mp-prc__chip--pop {
  background: #c4506d;
}
.is-main .mp-prc__chip--pop {
  background: #c4506d;
}

.mp-prc__sub {
  margin: 0;
  color: #555;
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0;
  white-space: nowrap;
}

.mp-prc__month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(4 * var(--u));
  margin: calc(5 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Noto Serif JP", serif;
  line-height: calc(38 * var(--u));
}
.mp-prc__month small {
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11 * var(--u));
}
.mp-prc__month b {
  font-size: calc(32 * var(--u));
  font-weight: 500;
  letter-spacing: -0.01em;
}

.mp-prc__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(7 * var(--u));
  margin: calc(4 * var(--u)) 0 0;
  font-size: calc(11 * var(--u));
  line-height: calc(18 * var(--u));
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.mp-prc__meta b {
  color: #0a4f55;
  font-weight: 700;
}
.mp-prc__meta span {
  color: #555;
  font-size: calc(11.5 * var(--u));
}

.mp-prc__note {
  margin: calc(13.5 * var(--u)) 0 0;
  color: #777;
  font-size: calc(9.5 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0;
  white-space: nowrap;
}

/*--Total Feeページ(h2=“総額”で比べてほしいトータルフィー制度)
   見本(375x667)基準。2制度の比較カード+「トータルで月9,900円〜／追加費用¥0」+予約ボタン
------------------------------*/
.mp-tf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-tf {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-tf::before {
  content: "Total Fee";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #edf4f3;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  pointer-events: none;
}

.mp-tf__bub {
  position: absolute;
  top: calc(var(--mp-dy) + calc(20 * var(--u)));
  left: 0;
  width: calc(72 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-tf__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-tf__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}
.mp-tf__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-tf__en {
  display: block;
  margin-bottom: calc(7 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-tf__cmp {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(5 * var(--u));
  margin-top: calc(9 * var(--u));
}

.mp-tf__col {
  height: calc(261 * var(--u));
  padding: calc(5 * var(--u)) calc(7.5 * var(--u)) 0;
  border: 2px solid #d5dada;
  border-radius: calc(8 * var(--u));
  background: #f5f6f6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mp-tf__col--on {
  border-color: #0b6f73;
  background: #f1f8f7;
}

.mp-tf__bar {
  margin: 0;
  border-radius: calc(3 * var(--u));
  background: #7e8b8c;
  color: #fff;
  font-size: calc(12.5 * var(--u));
  font-weight: 700;
  line-height: calc(25 * var(--u));
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}
.mp-tf__col--on .mp-tf__bar {
  background: #0b6f73;
}

.mp-tf__sub {
  margin: calc(7 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--u));
  line-height: calc(16.5 * var(--u));
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}

.mp-tf__items {
  display: grid;
  gap: calc(5.5 * var(--u));
  margin: calc(4 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}
.mp-tf__items li {
  display: grid;
  place-items: center;
  height: calc(28.5 * var(--u));
  border: 1px solid #d5e5e4;
  border-radius: calc(4 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #233;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11.5 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.mp-tf__col--off .mp-tf__items {
  gap: 0;
}
.mp-tf__items .mp-tf__plus {
  height: calc(27.5 * var(--u));
  border: 0;
  background: none;
  color: #7e8b8c;
  font-family: "M PLUS 1", "Noto Sans JP", sans-serif;
  font-size: calc(16 * var(--u));
  line-height: 1;
}

.mp-tf__note {
  margin: calc(5.5 * var(--u)) 0 0;
  color: #4d5b5c;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  line-height: calc(16.5 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

.mp-tf__note--on {
  margin-top: calc(5 * var(--u));
  color: #c4506d;
  line-height: calc(17 * var(--u));
}

.mp-tf__sum {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: calc(65 * var(--u));
  margin-top: calc(9 * var(--u));
  padding: 0 calc(15 * var(--u)) 0 calc(16 * var(--u));
  border: 1px solid #d5e5e4;
  border-radius: calc(8 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  white-space: nowrap;
}

.mp-tf__mo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(4.5 * var(--u));
  margin: 0;
  color: #0b6f73;
  line-height: 1;
}
.mp-tf__mo span {
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11 * var(--u));
  letter-spacing: 0.06em;
}
.mp-tf__mo b {
  font-family: "Noto Serif JP", serif;
  font-size: calc(33 * var(--u));
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.01em;
}
.mp-tf__mo small {
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11 * var(--u));
}

.mp-tf__zero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(9 * var(--u));
}

.mp-tf__zero-t {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(11 * var(--u));
  line-height: calc(19 * var(--u));
}
.mp-tf__zero-t em {
  font-size: calc(15 * var(--u));
  font-style: normal;
  letter-spacing: 0.02em;
}

.mp-tf__zero-n {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(4.5 * var(--u));
  margin: 0;
  color: #c4506d;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}
.mp-tf__zero-n small {
  font-size: calc(16 * var(--u));
}
.mp-tf__zero-n b {
  font-size: calc(33 * var(--u));
  font-weight: 500;
  line-height: 1;
}

.mp-tf__foot {
  margin: calc(9.5 * var(--u)) 0 0;
  color: #777;
  font-size: calc(10 * var(--u));
  line-height: calc(15 * var(--u));
  text-align: center;
  white-space: nowrap;
}

.mp-tf__caut {
  margin: calc(7.5 * var(--u)) 0 0;
  color: #777;
  font-size: calc(9.3 * var(--u));
  line-height: calc(16 * var(--u));
}

.mp-tf__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(7 * var(--u));
  height: calc(52 * var(--u));
  margin-top: calc(6.5 * var(--u));
  border-radius: calc(6 * var(--u));
  background: -webkit-gradient(linear, left top, right top, from(#c4506d), to(#d46983));
  background: linear-gradient(90deg, #c4506d, #d46983);
  -webkit-box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(196, 80, 109, .28);
          box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(196, 80, 109, .28);
  color: #fff;
  font-size: calc(17 * var(--u));
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
}
.mp-tf__cta b {
  color: #ffe8a3;
  font-size: calc(22 * var(--u));
  letter-spacing: 0.04em;
}
.mp-tf__cta::after {
  content: "";
  width: calc(7 * var(--u));
  height: calc(7 * var(--u));
  margin-left: calc(-1 * var(--u));
  border: solid #fff;
  border-width: calc(2 * var(--u)) calc(2 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/*--Riskページ(h2=マウスピース型矯正装置のリスク・デメリット)
   見本(375x667)基準。7項目の番号付きリスト(罫線で区切る)
------------------------------*/
.mp-rsk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-rsk {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-rsk::before {
  content: "Risk";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #edf4f3;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-rsk__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-rsk__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(31.5 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}
.mp-rsk__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-rsk__en {
  display: block;
  margin-bottom: calc(8.5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-rsk__lead {
  margin: calc(6 * var(--u)) 0 0;
  color: #555;
  font-size: calc(12.4 * var(--u));
  line-height: calc(21 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

.mp-rsk__list {
  margin: calc(13.5 * var(--u)) 0 0;
  padding: 0 calc(16 * var(--u)) 0 calc(16 * var(--u));
  border: 1px solid #d5e5e4;
  border-radius: calc(8 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  list-style: none;
}
.mp-rsk__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: calc(9 * var(--u)) 0;
  border-bottom: 1px solid #d5e5e4;
}
.mp-rsk__list li:last-child {
  border-bottom: 0;
}

.mp-rsk__no {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(34 * var(--u));
  color: #0b6f73;
  font-family: "Noto Serif JP", serif;
  font-size: calc(16 * var(--u));
  line-height: calc(22 * var(--u));
}

.mp-rsk__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #2c3a3a;
  font-size: calc(12 * var(--u));
  line-height: calc(19.5 * var(--u));
}

.mp-rsk__note {
  margin: calc(16 * var(--u)) 0 0;
  color: #777;
  font-size: calc(9.3 * var(--u));
  line-height: calc(15 * var(--u));
}

/*--Regulationページ(h2=クリアコレクトと薬機法等について。項目名は<dt>で見出しにしない)
   見本(375x667)基準。白いカードの中に4項目を罫線で区切って並べる
------------------------------*/
.mp-reg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f1f8f7;
}
@media (max-width: 1099px) {
  .mp-reg {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-reg::before {
  content: "Regulation";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e4efec;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-reg__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-reg__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(21 * var(--u));
  font-weight: 500;
  line-height: calc(32.5 * var(--u));
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
.mp-reg__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(3.75 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-reg__en {
  display: block;
  margin-bottom: calc(7.25 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.16em;
}

.mp-reg__list {
  margin: calc(17 * var(--u)) 0 0;
  padding: 0 calc(16 * var(--u));
  border: 1px solid #d5e5e4;
  border-radius: calc(8 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mp-reg__item {
  padding: calc(9.5 * var(--u)) 0 calc(8.3 * var(--u));
  border-bottom: 1px solid #e3ecec;
}
.mp-reg__item:last-child {
  border-bottom: 0;
}
.mp-reg__item dt {
  margin: 0 0 calc(2.3 * var(--u));
  color: #0b6f73;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  line-height: calc(18 * var(--u));
}
.mp-reg__item dd {
  margin: 0;
  color: #2c3a3a;
  font-size: calc(12.5 * var(--u));
  line-height: calc(20.4 * var(--u));
}
.mp-reg__item .mp-reg__sub {
  margin-top: calc(3.2 * var(--u));
  color: #777;
  font-size: calc(10.4 * var(--u));
  line-height: calc(17.5 * var(--u));
}

/*--左右パネル(PCのみ表示・固定)
------------------------------*/
.mp-side {
  display: none;
  width: 320px;
  color: #0a4f55;
}
@media (min-width: 1100px) {
  .mp-side {
    display: block;
  }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .mp-side {
    width: 240px;
  }
}

.mp-side--l .mp-logo {
  margin-bottom: 20px;
}
.mp-side--l .mp-logo .mp-logo__img {
  width: 200px;
}

.mp-side__en {
  margin: 0 0 9px;
  color: #0f7276;
  font: italic 500 15px/1 "Cormorant Garamond", serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mp-side__lead {
  margin: 0 0 7px;
  font: 400 22px/1.5 "Zen Old Mincho", serif;
  letter-spacing: 0.06em;
}

.mp-side__sub {
  margin: 0 0 7px;
  font-size: 12px;
  color: #6b8587;
}

.mp-nav {
  padding: 12px 8px 8px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 8px;
  background: rgba(255, 255, 255, .55);
}
.mp-nav ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mp-nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 5.6px 10px;
  border-radius: 3px;
  color: #234;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
.mp-nav a span {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 16px;
  color: #7aa5a5;
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
}
.mp-nav a:hover {
  background: rgba(15, 114, 118, .08);
}
.mp-nav a.is-current {
  background: -webkit-gradient(linear, left top, right top, from(#0f6f74), to(#2b8a89));
  background: linear-gradient(90deg, #0f6f74, #2b8a89);
  color: #fff;
  font-weight: 700;
}
.mp-nav a.is-current span {
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .mp-nav a {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-card {
  padding: 24px 22px 22px;
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 8px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .92)), to(rgba(238, 247, 246, .9)));
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(238, 247, 246, .9));
  -webkit-box-shadow: 0 2px 14px rgba(15, 114, 118, .08);
          box-shadow: 0 2px 14px rgba(15, 114, 118, .08);
  text-align: center;
}
@media (max-width: 1279px) {
  .mp-card {
    padding: 20px 12px 16px;
  }
}

.mp-card__lead {
  margin: 0 0 10px;
  font: 400 14px/1.6 "Zen Old Mincho", serif;
  letter-spacing: 0.02em;
}
@media (max-width: 1279px) {
  .mp-card__lead {
    font-size: 12px;
  }
}

.mp-card__cap {
  margin: 0 0 10px;
  color: #d9607f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.mp-card__cap::before {
  content: "＼ ";
}
.mp-card__cap::after {
  content: " ／";
}

.mp-mini {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.mp-mini li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  height: 64px;
  padding: 0;
  border: 1.5px solid #d3e6e4;
  border-radius: 8px;
  background: #fff;
  color: #2b3a3a;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.mp-mini li:last-child {
  letter-spacing: 0;
}
.mp-mini li > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2.2em;
  text-align: center;
}
.mp-mini b {
  display: block;
  margin-top: 4px;
  color: #c4506d;
  font: 500 17px/1.2 "Zen Old Mincho", serif;
  letter-spacing: 0.06em;
}
@media (max-width: 1279px) {
  .mp-mini {
    gap: 4px;
  }
  .mp-mini li {
    height: 56px;
    font-size: 8px;
    letter-spacing: 0;
  }
  .mp-mini b {
    font-size: 14px;
  }
}

.mp-btn-l {
  display: block;
  padding: 14px 12px 12px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(135deg, #c4506d, #d66b85);
  -webkit-box-shadow: 0 5px 12px rgba(196, 80, 109, .28);
          box-shadow: 0 5px 12px rgba(196, 80, 109, .28);
}
.mp-btn-l span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.mp-btn-l small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.03em;
}
@media (max-width: 1279px) {
  .mp-btn-l span {
    font-size: 14px;
  }
}

.mp-tel {
  display: block;
  margin: 12px 0;
  padding: 11px 8px;
  border: 2px solid #0f7276;
  border-radius: 6px;
  background: #fff;
  color: #0f7276;
  text-decoration: none;
}
.mp-tel b {
  display: block;
  font: 400 22px/1.3 "Noto Serif JP", serif;
  letter-spacing: 0.03em;
}
.mp-tel small {
  display: block;
  margin-top: 1px;
  font-size: 9px;
  line-height: 1.4;
  color: #6b7777;
}
@media (max-width: 1279px) {
  .mp-tel b {
    font-size: 17px;
  }
  .mp-tel small {
    font-size: 8px;
  }
}

.mp-fee {
  padding: 12px 12px 12px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0e6c71, #2b8a88);
  color: #fff;
  text-align: left;
}
@media (max-width: 1279px) {
  .mp-fee {
    padding: 10px;
  }
}

.mp-fee__ttl {
  margin: 0 0 8px;
  font: 500 13px/1.3 "M PLUS 1", "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mp-fee__ttl span {
  margin-left: 8px;
  padding-left: 10px;
  border-left: 1px solid rgba(255, 255, 255, .8);
  font: 700 13px "M PLUS 1", "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
  text-transform: none;
}
@media (max-width: 1279px) {
  .mp-fee__ttl {
    font-size: 11px;
  }
  .mp-fee__ttl span {
    font-size: 11px;
  }
}

.mp-fee__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.mp-fee__img {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 82px;
  height: 82px;
  border: 2px solid #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
  background: #cfe5e3;
}
@media (max-width: 1279px) {
  .mp-fee__img {
    width: 56px;
    height: 56px;
  }
}

.mp-fee__txt {
  display: block;
  min-width: 0;
}
.mp-fee__txt b {
  display: block;
  margin-top: 3px;
  font: 400 24px/1.1 "Noto Serif JP", serif;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.mp-fee__txt b small {
  font: 700 11px "M PLUS 1", "Noto Sans JP", sans-serif;
  letter-spacing: 0.02em;
}
@media (max-width: 1279px) {
  .mp-fee__txt {
    font-size: 10px;
  }
  .mp-fee__txt b {
    font-size: 19px;
  }
}

.mp-fee__note {
  margin: -5px 0 0;
  font-size: 9px;
  line-height: 1.4;
  opacity: 0.9;
}

/*--FAQページ(h2=よくある質問。質問は<dt>内のbutton・回答は<dd>で、見出しタグにしない)
   見本(375x667)基準。＋/－で1項目ずつ開閉(開くのは常に1つ)。下に背景画像(mouthpiece-lp-FAQ01.webp)付きのCTA枠
------------------------------*/
.mp-faq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #F1F8F7;
}
@media (max-width: 1099px) {
  .mp-faq {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    --mp-frame: calc(743 * var(--u) + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-top: max(0px, (100svh - var(--mp-frame)) * 0.4);
    --mp-dy: max(0px, calc((100% - var(--mp-frame)) / 2 * 1.4));
  }
}
.mp-faq::before {
  content: "FAQ";
  position: absolute;
  top: calc(var(--mp-dy) + calc(8 * var(--u)));
  left: calc(-3 * var(--u));
  color: #e0eeeb;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-faq__leaf {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(185 * var(--u));
  height: auto;
  pointer-events: none;
}

.mp-faq__in {
  position: relative;
  z-index: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
}

.mp-faq__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
.mp-faq__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(4.5 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-faq__en {
  display: block;
  margin-bottom: calc(5 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-faq__list {
  display: grid;
  gap: calc(5 * var(--u));
  margin-top: calc(11 * var(--u));
}

.mp-faq__item {
  overflow: hidden;
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .05);
          box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(15, 114, 118, .05);
}

.mp-faq__dt {
  margin: 0;
}

.mp-faq__q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(7 * var(--u));
  width: 100%;
  min-height: calc(48 * var(--u));
  padding: 0 calc(12 * var(--u));
  border: 0;
  border-radius: calc(6 * var(--u));
  background: transparent;
  color: #0a4f55;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
@media (hover: hover) {
  .mp-faq__q:hover .mp-faq__ic {
    opacity: 0.7;
  }
}
.mp-faq__q:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: -2px;
}

.mp-faq__mk {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(14 * var(--u));
  color: #0f7276;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(15 * var(--u));
  line-height: 1;
}

.mp-faq__mk--a {
  color: #c4506d;
}

.mp-faq__qt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: calc(11 * var(--u));
  font-weight: 700;
  line-height: calc(17 * var(--u));
  letter-spacing: 0.01em;
}

.mp-faq__ic {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(12 * var(--u));
  height: calc(12 * var(--u));
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.mp-faq__ic::before, .mp-faq__ic::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: calc(2 * var(--u));
  margin-top: calc(-1 * var(--u));
  border-radius: calc(1 * var(--u));
  background: #0b6f73;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}
.mp-faq__ic::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.is-open .mp-faq__ic::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .mp-faq__ic {
    -webkit-transition: none;
    transition: none;
  }
  .mp-faq__ic::before, .mp-faq__ic::after {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-faq__a {
  display: grid;
  margin: 0;
  grid-template-rows: 0fr;
  visibility: hidden;
  -webkit-transition: grid-template-rows 0.3s ease, visibility 0s 0.3s;
  transition: grid-template-rows 0.3s ease, visibility 0s 0.3s;
  transition: grid-template-rows 0.3s ease, visibility 0s 0.3s, -ms-grid-rows 0.3s ease;
}
.is-open > .mp-faq__a {
  grid-template-rows: 1fr;
  visibility: visible;
  -webkit-transition: grid-template-rows 0.3s ease, visibility 0s;
  transition: grid-template-rows 0.3s ease, visibility 0s;
  transition: grid-template-rows 0.3s ease, visibility 0s, -ms-grid-rows 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .mp-faq__a {
    -webkit-transition: none;
    transition: none;
  }
  .is-open > .mp-faq__a {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-faq__a-clip {
  min-height: 0;
  overflow: hidden;
}

.mp-faq__a-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(10 * var(--u));
  margin: 0 calc(12 * var(--u));
  padding: calc(8 * var(--u)) 0 calc(7 * var(--u));
  border-top: 1px solid #d5e5e4;
}

.mp-faq__at {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #3a4a4c;
  font-size: calc(12.5 * var(--u));
  line-height: calc(20 * var(--u));
  letter-spacing: 0;
}

.mp-faq__cta {
  margin-top: calc(10 * var(--u));
  padding: calc(10 * var(--u)) calc(15 * var(--u)) calc(9 * var(--u));
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: calc(6 * var(--u));
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .4)), to(rgba(255, 255, 255, .4))), url("../img/mouthpiece-lp-FAQ01.webp") center/cover no-repeat;
  background: linear-gradient(rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)), url("../img/mouthpiece-lp-FAQ01.webp") center/cover no-repeat;
  -webkit-box-shadow: 0 calc(2 * var(--u)) calc(12 * var(--u)) rgba(15, 114, 118, .06);
          box-shadow: 0 calc(2 * var(--u)) calc(12 * var(--u)) rgba(15, 114, 118, .06);
}
.mp-faq__cta .mp-cta {
  margin-top: calc(13 * var(--u));
}
.mp-faq__cta .mp-cta .mp-cta__tag {
  top: calc(-14 * var(--u));
  width: calc(253 * var(--u));
  height: calc(26 * var(--u));
}
.mp-faq__cta .mp-cta .mp-cta__btn {
  height: calc(50 * var(--u));
  padding-top: calc(4 * var(--u));
  font-size: calc(16 * var(--u));
  letter-spacing: 0.05em;
}
.mp-faq__cta .mp-cta .mp-cta__btn b {
  font-size: calc(21 * var(--u));
}
.mp-faq__cta .mp-pay__tel {
  width: 100%;
  height: calc(40 * var(--u));
  margin-top: calc(5 * var(--u));
}
.mp-faq__cta .mp-pay__tel span {
  font-size: calc(11 * var(--u));
}
.mp-faq__cta .mp-pay__tel b {
  font-size: calc(21 * var(--u));
}

.mp-faq__cta-en {
  margin: 0;
  color: #2f827d;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(12 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(14 * var(--u));
  letter-spacing: 0.18em;
  text-align: center;
}

.mp-faq__cta-ttl {
  margin: calc(4 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(15 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

.mp-faq__cta-txt {
  padding: calc(4 * var(--u)) 0;
  color: #234;
  font-size: calc(12.5 * var(--u));
  line-height: calc(19 * var(--u));
  letter-spacing: 0.02em;
}

.mp-faq__hours {
  margin: calc(8 * var(--u)) 0 0;
  color: #3a4a4c;
  font-size: calc(11.5 * var(--u));
  line-height: calc(16 * var(--u));
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}

/*--Accessページ(h2=医院情報・アクセス、h3=医院名)+ フッター
   見本(375x667+固定バー76)基準。SPは固定CTAバーの分(76)を下に空け、743を基準に縮める
------------------------------*/
.mp-acc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
}
@media (max-width: 1099px) {
  .mp-acc {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    padding-bottom: calc(calc(76 * var(--u)) + env(safe-area-inset-bottom, 0px));
  }
}
.mp-acc::before {
  content: "Access";
  position: absolute;
  top: calc(8 * var(--u));
  left: calc(-3 * var(--u));
  color: #e9f2f0;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(72 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}

.mp-acc__in {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: calc(335 * var(--u));
  margin: 0 auto;
  padding-top: calc(26 * var(--u));
}

.mp-acc__ttl {
  margin: 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(20 * var(--u));
  font-weight: 500;
  line-height: calc(32 * var(--u));
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
.mp-acc__ttl::after {
  content: "";
  display: block;
  width: calc(25 * var(--u));
  height: 2px;
  margin: calc(8 * var(--u)) auto 0;
  background: #c4506d;
}

.mp-acc__en {
  display: block;
  margin-bottom: calc(9 * var(--u));
  color: #35857f;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 * var(--u));
  font-style: italic;
  font-weight: 500;
  line-height: calc(16 * var(--u));
  letter-spacing: 0.2em;
}

.mp-acc__map {
  position: relative;
  height: calc(140 * var(--u));
  margin-top: calc(9 * var(--u));
  overflow: hidden;
  border-radius: calc(6 * var(--u));
  background: #e7edec;
}
.mp-acc__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}
.mp-acc__map.is-active iframe {
  pointer-events: auto;
}

.mp-acc__name {
  margin: calc(11 * var(--u)) 0 0;
  color: #0a4f55;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(15 * var(--u));
  font-weight: 500;
  line-height: calc(20 * var(--u));
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.mp-acc__list {
  margin: calc(11.5 * var(--u)) 0 0;
  padding: 0 calc(16 * var(--u));
  border: 1px solid #d5e5e4;
  border-radius: calc(6 * var(--u));
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mp-acc__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: calc(12.5 * var(--u)) 0;
  border-bottom: 1px solid #d5e5e4;
}
.mp-acc__row:last-child {
  border-bottom: 0;
}
.mp-acc__row dt {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(74 * var(--u));
  margin: 0;
  color: #0b6f73;
  font-size: calc(12 * var(--u));
  font-weight: 700;
  line-height: calc(21 * var(--u));
}
.mp-acc__row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin: 0;
  color: #234;
  font-size: calc(12.5 * var(--u));
  line-height: calc(21 * var(--u));
  letter-spacing: 0;
}

.mp-acc__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(8 * var(--u));
  width: calc(270 * var(--u));
  height: calc(46 * var(--u));
  margin: calc(10.5 * var(--u)) auto 0;
  border: 1.5px solid #0f7276;
  border-radius: calc(3 * var(--u));
  background: #fff;
  color: #0f7276;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mp-acc__btn::after {
  content: "";
  width: calc(6 * var(--u));
  height: calc(6 * var(--u));
  border: solid currentColor;
  border-width: calc(1.6 * var(--u)) calc(1.6 * var(--u)) 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) {
  .mp-acc__btn:hover {
    background: #e4f3f1;
  }
}
.mp-acc__btn:focus-visible {
  outline: 2px solid rgba(15, 114, 118, .45);
  outline-offset: 2px;
}

.mp-ft {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  height: calc(86 * var(--u));
  padding-top: calc(19 * var(--u));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: linear-gradient(135deg, #0f7276 0%, #0a4f55 100%);
  color: #fff;
  text-align: center;
}

.mp-ft__name {
  margin: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(17 * var(--u));
  line-height: calc(24 * var(--u));
  letter-spacing: 0.12em;
}

.mp-ft__copy {
  margin: calc(9 * var(--u)) 0 0;
  font-size: calc(12 * var(--u));
  line-height: calc(17 * var(--u));
  letter-spacing: 0.02em;
}

/*--SP固定CTAバー(見出しなし。FV通過後に表示。PCでは出さない=右パネルにCTAがあるため)
------------------------------*/
.mp-fix {
  display: none;
}
@media (max-width: 1099px) {
  .mp-fix {
    --u: min(calc(100vw / 375), calc(100svh / 743));
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(8 * var(--u));
    padding: calc(12 * var(--u)) 0 calc(calc(12 * var(--u)) + env(safe-area-inset-bottom, 0px));
    padding-right: max(calc(8 * var(--u)), calc((100% - calc(375 * var(--u))) / 2 + calc(8 * var(--u))));
    padding-left: max(calc(8 * var(--u)), calc((100% - calc(375 * var(--u))) / 2 + calc(8 * var(--u))));
    background: rgba(220, 232, 231, .96);
    visibility: hidden;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: visibility 0s 0.3s, -webkit-transform 0.3s ease;
    transition: visibility 0s 0.3s, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, visibility 0s 0.3s;
    transition: transform 0.3s ease, visibility 0s 0.3s, -webkit-transform 0.3s ease;
  }
  .mp-fix.is-show {
    visibility: visible;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: visibility 0s, -webkit-transform 0.3s ease;
    transition: visibility 0s, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, visibility 0s;
    transition: transform 0.3s ease, visibility 0s, -webkit-transform 0.3s ease;
  }
}
@media (max-width: 1099px) and (prefers-reduced-motion: reduce) {
  .mp-fix {
    -webkit-transition: none;
    transition: none;
  }
  .mp-fix.is-show {
    -webkit-transition: none;
    transition: none;
  }
}

.mp-fix__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: calc(52 * var(--u));
  border-radius: calc(6 * var(--u));
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.mp-fix__btn span {
  font-size: calc(15 * var(--u));
  font-weight: 700;
  line-height: calc(21 * var(--u));
  letter-spacing: 0.05em;
}
.mp-fix__btn small {
  margin-top: calc(2 * var(--u));
  font-size: calc(9.5 * var(--u));
  line-height: calc(13 * var(--u));
  letter-spacing: 0.03em;
}
.mp-fix__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

.mp-fix__btn--rsv {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  background: linear-gradient(135deg, #c4506d, #d66b85);
  -webkit-box-shadow: 0 calc(4 * var(--u)) calc(12 * var(--u)) rgba(196, 80, 109, .28);
          box-shadow: 0 calc(4 * var(--u)) calc(12 * var(--u)) rgba(196, 80, 109, .28);
}

.mp-fix__btn--tel {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(110 * var(--u));
  background: linear-gradient(135deg, #0f7276, #2b8a89);
}
.mp-fix__btn--tel span {
  font-size: calc(16 * var(--u));
}
.mp-fix__btn--tel small {
  font-size: calc(10.5 * var(--u));
}

.mp-fix__btn--top {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: calc(46 * var(--u));
  padding: 0;
  border: 0;
  background: #a9bec1;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.mp-fix__btn--top::before {
  content: "";
  width: calc(12 * var(--u));
  height: calc(12 * var(--u));
  margin-top: calc(5 * var(--u));
  border: solid #fff;
  border-width: calc(2.4 * var(--u)) calc(2.4 * var(--u)) 0 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (hover: hover) {
  .mp-fix__btn--top:hover {
    background: #94adb1;
  }
}

/*--FV
カンプの版面(PC 1366x768 / SP 375x728)をそのまま組み、--fv-scale(header.phpのインラインJS)で
画面幅に合わせて zoom する。要素は版面内の絶対座標で置く
------------------------------*/
.top-fv {
  position: relative;
  background: #f4f4f2;
  overflow: hidden;
}

.top-fv__stage {
  position: relative;
  width: 1366px;
  height: 768px;
  margin-inline: auto;
  zoom: var(--fv-scale, 1);
}
@media screen and (max-width:767px) {
  .top-fv__stage {
    width: 375px;
    height: 719px;
  }
}

.top-fv__mark {
  position: absolute;
  left: 12px;
  top: 156px;
  width: 585px;
  height: 585px;
}
@media screen and (max-width:767px) {
  .top-fv__mark {
    left: 0;
    top: 444px;
    width: 146px;
    height: 146px;
  }
}

.top-fv__photo {
  position: absolute;
  overflow: hidden;
}
.top-fv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-fv__photo--01 {
  left: 826px;
  top: 0;
  width: 540px;
  height: 320px;
}
@media screen and (max-width:767px) {
  .top-fv__photo--01 {
    left: 231px;
    top: 90px;
    width: 144px;
    height: 204px;
  }
}

.top-fv__photo--02 {
  left: 530px;
  top: 89px;
  width: 216px;
  height: 128px;
}
@media screen and (max-width:767px) {
  .top-fv__photo--02 {
    left: 0;
    top: 70px;
    width: 146px;
    height: 74px;
  }
}

.top-fv__photo--03 {
  left: 975px;
  top: 360px;
  width: 270px;
  height: 320px;
}
@media screen and (max-width:767px) {
  .top-fv__photo--03 {
    left: 228px;
    top: 357px;
    width: 146px;
    height: 173px;
  }
}

.top-fv__photo--04 {
  left: 879px;
  top: 544px;
  width: 162px;
  height: 192px;
}
@media screen and (max-width:767px) {
  .top-fv__photo--04 {
    left: 176px;
    top: 466px;
    width: 88px;
    height: 104px;
  }
}

.top-fv__catch {
  position: absolute;
  left: 96px;
  top: 233px;
  font-family: "Zen Old Mincho", serif;
  font-size: 50px;
  font-size: 3.125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-fv__catch {
    left: 20px;
    top: 160px;
    font-size: 2.1875rem;
    line-height: 1.41;
  }
}

.top-fv__chars {
  position: absolute;
  left: 96px;
  top: 313px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .top-fv__chars {
    left: 20px;
    top: 266px;
  }
}

.top-fv__char {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, .4);
  border: 1px solid #dbe3e4;
  border-radius: 50%;
  font-family: "Zen Old Mincho", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  color: #0b6f73;
}
.top-fv__char + .top-fv__char {
  margin-left: -5px;
}
@media screen and (max-width:767px) {
  .top-fv__char {
    width: 44px;
    height: 44px;
    font-size: 1.75rem;
  }
  .top-fv__char + .top-fv__char {
    margin-left: -4px;
  }
}

.top-fv__catch2 {
  position: absolute;
  left: 463px;
  top: 325px;
  font-family: "Zen Old Mincho", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-fv__catch2 {
    left: 20px;
    top: 318px;
    font-size: 1.9375rem;
  }
}

.top-fv__lead {
  position: absolute;
  left: 96px;
  top: 400px;
  font-family: "Zen Old Mincho", serif;
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-fv__lead {
    left: 20px;
    top: 365px;
    width: 243px;
    font-size: 0.75rem;
    white-space: normal;
  }
}

.top-fv__badges {
  position: absolute;
  left: 96px;
  top: 498px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
@media screen and (max-width:767px) {
  .top-fv__badges {
    left: 6px;
    top: 559px;
    gap: 2px;
  }
}

.top-fv__badge {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  width: 160px;
  height: 160px;
  font-family: "Zen Old Mincho", serif;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .top-fv__badge {
    gap: 2px;
    width: 88px;
    height: 88px;
  }
}

.top-fv__badge-bg {
  position: absolute;
  inset: 0;
}
.top-fv__badge-bg img {
  position: absolute;
  display: block;
}
.top-fv__badge-bg .is-circle {
  inset: 0;
  width: 100%;
  height: 100%;
}
.top-fv__badge-bg .is-shade {
  left: 15.44%;
  top: 15.44%;
  width: 84.56%;
  height: 84.56%;
  mix-blend-mode: multiply;
}

.top-fv__badge-label {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-fv__badge-label {
    font-size: 0.625rem;
    line-height: 1.3;
  }
}

.top-fv__badge:first-child > :not(.top-fv__badge-bg) {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
}
@media screen and (max-width:767px) {
  .top-fv__badge:first-child > :not(.top-fv__badge-bg) {
    -webkit-transform: none;
            transform: none;
  }
}
.top-fv__badge:first-child .top-fv__badge-num {
  letter-spacing: 0;
}

.top-fv__badge-value {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  height: 28px;
}
@media screen and (max-width:767px) {
  .top-fv__badge-value {
    height: auto;
  }
}

.top-fv__badge-num {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-fv__badge-num {
    font-weight: 700;
    font-size: 0.8125rem;
    line-height: 1.5;
  }
}

.top-fv__badge-unit {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-fv__badge-unit {
    font-size: 0.5625rem;
    line-height: 1.3;
  }
}

.top-fv__badge-text {
  position: relative;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-fv__badge-text {
    font-weight: 700;
    font-size: 0.8125rem;
    line-height: 1.5;
  }
}

/*--Instagram投稿スライダー(見出しなし)
------------------------------*/
.top-insta {
  padding: 40px 0 48px;
}
@media screen and (max-width:767px) {
  .top-insta {
    padding: 24px 0;
  }
}

.top-insta__slider {
  position: relative;
  width: min(100% - 102px, 1264px);
  margin-inline: auto;
}
@media screen and (max-width:767px) {
  .top-insta__slider {
    width: 100%;
  }
}

.top-insta__swiper {
  overflow: hidden;
}

.top-insta__slide {
  width: 240px;
  height: 300px;
}
@media screen and (max-width:767px) {
  .top-insta__slide {
    width: 144px;
    height: 180px;
  }
}

.top-insta__post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  background: #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
}
.top-insta__post img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-insta__ph-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: normal;
  letter-spacing: 0;
  color: #6b6b6b;
}

.top-insta__ph-size {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: normal;
  letter-spacing: 0;
  color: #8c8c8c;
}

.top-insta__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  background: #0b6f73;
  border-radius: 8px;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-insta__arrow:hover {
  opacity: 0.85;
}
.top-insta__arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}
.top-insta__arrow img {
  width: 6px;
  height: 10px;
}
@media screen and (max-width:767px) {
  .top-insta__arrow {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
  .top-insta__arrow img {
    width: 5px;
    height: 8px;
  }
}

.top-insta__arrow--prev {
  left: -25px;
}
.top-insta__arrow--prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width:767px) {
  .top-insta__arrow--prev {
    display: none;
  }
}

.top-insta__arrow--next {
  right: -25px;
}
@media screen and (max-width:767px) {
  .top-insta__arrow--next {
    right: 8px;
  }
}

.top-insta__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  height: 8px;
  margin-top: 32px;
}
@media screen and (max-width:767px) {
  .top-insta__dots {
    margin-top: 8px;
  }
}
.top-insta__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
  background: #dbe3e4;
  border-radius: 50%;
  opacity: 1;
}
.top-insta__dots .swiper-pagination-bullet-active {
  background: #489598;
}

/*--FV下のバナーエリア(マウスピース/小児 + トータルフィー制度。見出しなし)
------------------------------*/
.top-banner {
  padding: 60px 0;
  background: #dbe3e4;
}
@media screen and (max-width:767px) {
  .top-banner {
    padding: 24px 0;
  }
}

.top-banner__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-banner__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-banner__inner {
    width: 300px;
    gap: 8px;
  }
}

.top-banner__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-banner__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}
@media screen and (max-width:767px) {
  .top-banner__cards {
    gap: 8px;
  }
}

.top-banner__card {
  position: relative;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  height: 268px;
  border-radius: 8px;
  overflow: hidden;
  color: #0b6f73;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-banner__card:hover {
  opacity: 0.9;
}
@media screen and (max-width:1024px) {
  .top-banner__card {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 520px;
    max-width: 100%;
  }
}
@media screen and (max-width:767px) {
  .top-banner__card {
    width: 100%;
    height: 146px;
  }
}

.top-banner__card-img {
  position: absolute;
  inset: 0;
}
.top-banner__card-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.top-banner__card--kids .top-banner__card-img img {
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width:767px) {
  .top-banner__card--kids .top-banner__card-img img {
    -o-object-position: 100% 45%;
       object-position: 100% 45%;
  }
}

.top-banner__tag {
  position: absolute;
  isolation: isolate;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8px 10px 10px;
  border: 1px solid #0b6f73;
  border-radius: 999px;
  font-weight: 600;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #075558;
  white-space: nowrap;
  border-color: transparent;
}
.top-banner__tag::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid #0b6f73;
  border-radius: inherit;
  pointer-events: none;
}
.top-banner__tag::before {
  content: "";
  position: absolute;
  inset: 2px -4px -4px 2px;
  z-index: -1;
  background: #d1ebeb;
  border-radius: inherit;
}
@media screen and (max-width:767px) {
  .top-banner__tag {
    height: 28px;
    padding: 0 10px 2px;
    font-size: 0.6875rem;
  }
  .top-banner__tag::before {
    inset: 1px -3px -3px 1px;
  }
}

.top-banner__tag--mouthpiece {
  left: 249px;
  top: 28px;
  padding-left: 5px;
}
.top-banner__tag--mouthpiece::before {
  inset: 3px -3px -5px 1px;
}
@media screen and (max-width:767px) {
  .top-banner__tag--mouthpiece {
    left: 74px;
    top: 10px;
    padding-left: 4px;
  }
  .top-banner__tag--mouthpiece::before {
    inset: 1px -3px -3px 1px;
  }
}

.top-banner__tag--kids {
  left: 307px;
  top: 28px;
}
@media screen and (max-width:767px) {
  .top-banner__tag--kids {
    left: 134px;
    top: 10px;
  }
}

.top-banner__tri {
  width: 10px;
  height: 8px;
  margin: 0 2px 0 -1px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width:767px) {
  .top-banner__tri {
    width: 7px;
    height: 6px;
    margin: 0 2px 0 0;
  }
}

.top-banner__title {
  position: absolute;
  left: 315px;
  top: 78px;
  font-weight: 600;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-shadow: 0 0 8px #ffffff;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-banner__title {
    left: 184px;
    top: 45px;
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

.top-banner__title-big {
  position: absolute;
  left: 260px;
  top: 115px;
  width: 257px;
  font-weight: 600;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  text-shadow: 0 0 8px #ffffff;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-banner__title-big {
    left: 87px;
    top: 70px;
    width: auto;
    font-size: 1.5rem;
    line-height: 1.2;
  }
}

.top-banner__title-row {
  position: absolute;
  left: 290px;
  top: 82px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-weight: 600;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-shadow: 0 0 8px #ffffff;
  white-space: nowrap;
}
.top-banner__title-row .top-banner__title-mid {
  font-size: 30px;
  font-size: 1.875rem;
  margin: 0 2px 0 6px;
}
@media screen and (max-width:767px) {
  .top-banner__title-row {
    left: 136px;
    top: 45px;
    width: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 1.5rem;
  }
  .top-banner__title-row .top-banner__title-mid {
    font-size: 1.25rem;
    margin: 0 2px 0 3px;
  }
}

.top-banner__title-sub {
  position: absolute;
  left: 309px;
  top: 139px;
  font-weight: 600;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-shadow: 0 0 8px #ffffff;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-banner__title-sub {
    left: 172px;
    top: 79px;
    font-size: 1.25rem;
  }
}

.top-banner__card-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 48px;
  padding-bottom: 4px;
  background: #0b6f73;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media screen and (max-width:767px) {
  .top-banner__card-btn {
    height: 32px;
    font-size: 1rem;
  }
}

/*--トータルフィー制度バナー --*/
.top-fee {
  position: relative;
  height: 268px;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width:1024px) {
  .top-fee {
    -ms-flex-item-align: center;
        align-self: center;
    width: 300px;
    height: 212px;
    zoom: 2;
  }
}
@media screen and (max-width:767px) {
  .top-fee {
    -ms-flex-item-align: auto;
        align-self: auto;
    width: 100%;
    zoom: 1;
  }
}

.top-fee__frame {
  position: absolute;
  inset: 10px;
  z-index: 2;
  border: 2px solid #c1e6e5;
  border-radius: 5px;
  pointer-events: none;
}
@media screen and (max-width:1024px) {
  .top-fee__frame {
    inset: 6px;
  }
}

.top-fee__band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 83px;
  background: #99dadc;
}
@media screen and (max-width:1024px) {
  .top-fee__band {
    height: 63px;
  }
}

.top-fee__photo {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  width: 534px;
  height: 268px;
  overflow: hidden;
}
.top-fee__photo img {
  position: absolute;
  left: -12.36%;
  top: -12.09%;
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
@media screen and (max-width:1024px) {
  .top-fee__photo {
    left: 193px;
    top: 68px;
    right: auto;
    width: 107px;
    height: 136px;
  }
  .top-fee__photo img {
    position: static;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 40.2% 50%;
       object-position: 40.2% 50%;
  }
}

.top-fee__tags {
  position: absolute;
  left: 114px;
  top: 33px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width:1024px) {
  .top-fee__tags {
    left: 24px;
    top: 16px;
  }
}

.top-fee__tag {
  position: relative;
  isolation: isolate;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 40px;
  padding: 8px 24px 12px;
  border: 1px solid #0b6f73;
  border-radius: 999px;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #075558;
  white-space: nowrap;
  border-color: transparent;
}
.top-fee__tag::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid #0b6f73;
  border-radius: inherit;
  pointer-events: none;
}
.top-fee__tag::before {
  content: "";
  position: absolute;
  inset: 2px -1px -4px 2px;
  z-index: -1;
  background: #99dadc;
  border-radius: inherit;
}
@media screen and (max-width:1024px) {
  .top-fee__tag {
    height: 32px;
    padding: 8px 10px 12px;
    font-weight: 600;
    font-size: 0.75rem;
  }
  .top-fee__tag::before {
    inset: 1px -3px -3px 1px;
  }
}

.top-fee__x {
  font-weight: 300;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.24em;
  margin-right: -0.24em;
  color: #0b6f73;
}
@media screen and (max-width:1024px) {
  .top-fee__x {
    font-weight: 400;
    font-size: 1.25rem;
  }
}

.top-fee__lead {
  position: absolute;
  left: 54px;
  top: 95px;
  z-index: 2;
  width: 515px;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0.24em;
  text-align: center;
  color: #075558;
  white-space: nowrap;
}
@media screen and (max-width:1024px) {
  .top-fee__lead {
    left: 26px;
    top: 57px;
    width: 246px;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #0b6f73;
    text-shadow: 0 0 8px #ffffff;
  }
}

.top-fee__line {
  position: absolute;
  left: 54px;
  top: 133px;
  z-index: 2;
  width: 518px;
  height: 14px;
}
@media screen and (max-width:1024px) {
  .top-fee__line {
    left: 26px;
    top: 82px;
    width: 246px;
    height: 10px;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
}

.top-fee__title {
  position: absolute;
  left: 38px;
  top: 152px;
  z-index: 2;
  font-family: "Zen Old Mincho", serif;
  font-size: 56px;
  font-size: 3.5rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #075558;
  white-space: nowrap;
}
@media screen and (max-width:1024px) {
  .top-fee__title {
    left: 20px;
    top: 96px;
    width: 200px;
    font-size: 1.75rem;
    line-height: 1.14;
    letter-spacing: 0.03em;
    text-align: center;
  }
}

.top-fee__en {
  position: absolute;
  left: 57px;
  top: 215px;
  z-index: 2;
  font-family: "Cormorant Garamond", serif;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 1;
  letter-spacing: 0.11em;
  color: #ffffff;
  white-space: nowrap;
}
@media screen and (max-width:1024px) {
  .top-fee__en {
    left: 17px;
    top: 163px;
    font-size: 0.9375rem;
    line-height: 1.2;
    letter-spacing: 0.27em;
  }
}

.top-fee__btn {
  position: absolute;
  left: 905px;
  top: 198px;
  z-index: 3;
}
@media screen and (max-width:1024px) {
  .top-fee__btn {
    left: 190px;
    top: 174px;
    width: 110px;
    height: 38px;
    min-height: 0;
    padding: 0;
    border-radius: 8px 0 8px 0;
  }
}

/*--ベージュ帯(矯正メニュー〜セカンドオピニオン)
------------------------------*/
.top-band {
  padding: 100px 0 138px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .top-band {
    padding: 32px 0;
  }
}

/*--矯正メニュー
------------------------------*/
.top-treatment {
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-treatment {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-treatment {
    width: calc(100% - 34px);
  }
}

.top-treatment__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}
@media screen and (max-width:1024px) {
  .top-treatment__grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:767px) {
  .top-treatment__grid {
    gap: 8px;
    margin-top: 16px;
  }
}

.menu-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: 24px;
  background: #ffffff;
  border-radius: 8px;
}
@media screen and (max-width:767px) {
  .menu-card {
    gap: 12px;
    padding: 24px 16px;
  }
}

.menu-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
@media screen and (max-width:767px) {
  .menu-card__head {
    gap: 6px;
  }
}

.menu-card__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  height: 80px;
  background: #dbe3e4;
  border-radius: 8px;
  overflow: hidden;
}
.menu-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .menu-card__img {
    width: 77px;
    height: 51px;
  }
}

.menu-card__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.menu-card__sub {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .menu-card__sub {
    font-size: 0.625rem;
    line-height: 1.4;
  }
}

.menu-card__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.menu-card__title small {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .menu-card__title {
    font-size: 1rem;
    line-height: 1.55;
    white-space: nowrap;
  }
  .menu-card__title small {
    font-size: 0.6875rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width:374px) {
  .menu-card__title {
    white-space: normal;
    word-break: keep-all;
  }
}

.menu-card__btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  background: #0b6f73;
  border-radius: 8px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.menu-card__btn:hover {
  opacity: 0.85;
}
.menu-card__btn img {
  width: 6px;
  height: 10px;
}
@media screen and (max-width:767px) {
  .menu-card__btn {
    width: 40px;
    height: 40px;
  }
  .menu-card__btn img {
    width: 5px;
    height: 8px;
  }
}

.menu-card__rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .menu-card__rows {
    font-size: 0.6875rem;
    line-height: 1.3;
  }
}

.menu-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
}

.menu-card__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 106px;
  padding: 2px 6px 4px;
  background: #dbe3e4;
  border-radius: 4px;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (max-width:767px) {
  .menu-card__label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    width: 98px;
    padding: 2px 2px 4px;
    font-size: 0.6875rem;
  }
}

.menu-card__value {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width:767px) {
  .menu-card__value {
    -ms-flex-item-align: center;
        align-self: center;
  }
}

.menu-card__desc {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/*--症例紹介
------------------------------*/
.top-case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  margin-top: 106px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-case {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-case {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:767px) {
  .top-case {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 16px;
    margin-top: 48px;
  }
}

.top-case__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 100%;
}

.top-case__head-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
}

.top-case__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .top-case__filter {
    gap: 6px 16px;
  }
}

.top-case__filter-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  white-space: nowrap;
  cursor: pointer;
}
.top-case__filter-item::before {
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border: 2px solid #cbcbcb;
  border-radius: 50%;
}
.top-case__filter-item:has(:focus-visible) {
  outline: 2px solid #0b6f73;
  outline-offset: 2px;
}
.top-case__filter-item:has(:checked)::before {
  width: 20px;
  height: 20px;
  border-color: #0b6f73;
  background: radial-gradient(#0b6f73 0 5px, #ffffff 5px);
}

.top-case__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}
.top-case__list[hidden] {
  display: none;
}
@media screen and (max-width:1024px) {
  .top-case__list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:767px) {
  .top-case__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    width: auto;
    margin-right: -17px;
    padding-right: 17px;
    overflow-x: auto;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .top-case__list::-webkit-scrollbar {
    display: none;
  }
}

.case-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .case-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 300px;
            flex: 0 0 300px;
    padding-bottom: 8px;
    scroll-snap-align: start;
  }
}

.case-card__goal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 16px;
  background: #0b6f73;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .case-card__goal {
    padding: 12px;
    font-size: 0.8125rem;
    line-height: 1.5;
  }
}

.case-card__title {
  padding: 16px 25px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (max-width:767px) {
  .case-card__title {
    padding: 10px 16px;
    font-size: 14px;
    line-height: 1.5;
  }
}

.case-card__images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.case-card__img {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  height: 160px;
  background: #d9d9d9;
  overflow: hidden;
}
.case-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-card__img span {
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #ffffff;
}
@media screen and (max-width:767px) {
  .case-card__img {
    height: 88px;
  }
  .case-card__img span {
    top: 6px;
    right: 6px !important;
    font-size: 1rem;
  }
}

.case-card__img--before span {
  right: 24px;
}

.case-card__img--after {
  background: #cbcbcb;
}
.case-card__img--after span {
  right: 18px;
}

.case-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  padding: 27px 25px;
}
@media screen and (max-width:767px) {
  .case-card__body {
    gap: 6px;
    padding: 12px 16px;
  }
}

.case-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}

.case-card__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 88px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .case-card__label {
    width: 64px;
    font-size: 0.625rem;
    line-height: 1.4;
    white-space: normal;
  }
}

.case-card__sep {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1px;
  height: 15px;
  background: #cbcbcb;
}
@media screen and (max-width:767px) {
  .case-card__sep {
    height: 30px;
  }
}

.case-card__value {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .case-card__value {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.top-case__empty {
  grid-column: 1/-1;
  width: 100%;
  padding: 40px 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}

/*--セカンドオピニオン(白い箱)
------------------------------*/
.top-second {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  margin-top: 122px;
  padding: 48px 92px 64px;
  background: #ffffff;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-second {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-second {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:1024px) {
  .top-second {
    padding: 48px 40px 64px;
  }
}
@media screen and (max-width:767px) {
  .top-second {
    gap: 24px;
    margin-top: 48px;
    padding: 32px 20px;
  }
}

.top-second__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .top-second__head {
    width: 300px;
    max-width: 100%;
  }
}

.top-second__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 39px;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-second__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}

.top-second__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  width: 491px;
}
@media screen and (max-width:1024px) {
  .top-second__text {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .top-second__text {
    gap: 16px;
    width: 300px;
    max-width: 100%;
  }
}

.top-second__lead {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.top-second__lead p + p {
  margin-top: 1.8em;
}
@media screen and (max-width:767px) {
  .top-second__lead p:first-child {
    display: none;
  }
  .top-second__lead p + p {
    margin-top: 0;
  }
}

.top-second__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

.top-second__sub-title {
  padding-bottom: 4px;
  border-bottom: 1px solid #cbcbcb;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-second__sub-title {
    font-size: 1rem;
  }
}

.top-second__sub-text {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.top-second__sub-text p + p {
  margin-top: 1.5em;
}

.top-second__visual {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 366px;
}
@media screen and (max-width:767px) {
  .top-second__visual {
    width: 300px;
    max-width: 100%;
  }
}

.top-second__ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.top-second__ba-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 36px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #ffffff;
}

.top-second__ba-label--before {
  background: #848f90;
}

.top-second__ba-label--after {
  background: #0b6f73;
}

.top-second__ba-img {
  position: relative;
  height: 112px;
  overflow: hidden;
}
.top-second__ba-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .top-second__ba-img {
    height: 88px;
  }
}

.top-second__ba-img--zoom img {
  -o-object-position: 50% 79%;
     object-position: 50% 79%;
}

.top-second__ba-img--bottom img {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.top-second__ba-img .top-second__ba-mark {
  position: absolute;
  top: 6px;
  left: 104px;
  width: 55px;
  height: 62px;
}
@media screen and (max-width:767px) {
  .top-second__ba-img .top-second__ba-mark {
    top: 3px;
    left: 84px;
  }
}

.top-second__ba-img--after .top-second__ba-img .top-second__ba-mark,
.top-second__ba-img.top-second__ba-img--after .top-second__ba-mark {
  left: 93px;
}
@media screen and (max-width:767px) {
  .top-second__ba-img--after .top-second__ba-img .top-second__ba-mark,
  .top-second__ba-img.top-second__ba-img--after .top-second__ba-mark {
    top: 6px;
    left: 85px;
  }
}

.top-second__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  padding: 12px;
  background: #eaeeef;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.top-second__note p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}
.top-second__note .is-wrap span:last-child {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width:767px) {
  .top-second__note {
    margin-top: 8px;
  }
}

/*--News(お知らせ最新4件)
------------------------------*/
.top-news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  margin-top: 120px;
  margin-bottom: 159px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-news {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-news {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:1024px) {
  .top-news {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
@media screen and (max-width:767px) {
  .top-news {
    gap: 16px;
    margin-top: 48px;
    margin-bottom: 48px;
  }
}

.top-news__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  width: 143px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.top-news__head .btn {
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-news__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  .top-news__head .btn {
    width: 144px;
  }
}

.top-news__title {
  font-family: "Cormorant Garamond", serif;
  font-size: 54px;
  font-size: 3.375rem;
  line-height: 1;
  letter-spacing: 0.02em;
}

.top-news__list {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  max-width: 813px;
  border-top: 1px solid #cbcbcb;
}
@media screen and (max-width:1024px) {
  .top-news__list {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    max-width: none;
  }
}

.top-news__item {
  border-bottom: 1px solid #cbcbcb;
}
.top-news__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  padding: 24px 0 23px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-news__item a:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .top-news__item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
    padding: 12px 0;
  }
}

.top-news__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-news__date {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.top-news__text {
  width: 662px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width:1024px) {
  .top-news__text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
}
@media screen and (max-width:767px) {
  .top-news__text {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

.top-news__item--empty {
  padding: 24px 0 23px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/*--診療時間・アクセス(ベージュ帯。中身は clinic-info)
------------------------------*/
.top-info {
  padding: 80px 0 100px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .top-info {
    padding: 35px 0 26px;
  }
}

.top-info__inner {
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
  display: grid;
  grid-template-columns: 595px 438px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  row-gap: 32px;
}
@media screen and (max-width:1024px) {
  .top-info__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-info__inner {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:1024px) {
  .top-info__inner {
    display: block;
  }
}

.top-info .clinic-info {
  display: contents;
}
@media screen and (max-width:1024px) {
  .top-info .clinic-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 32px;
  }
}
@media screen and (max-width:767px) {
  .top-info .clinic-info {
    gap: 24px;
    margin-top: 24px;
  }
}

.top-info .clinic-info__map-col {
  grid-column: 2;
  grid-row: 1/span 2;
  gap: 23px;
}
@media screen and (max-width:767px) {
  .top-info .clinic-info__map-col {
    gap: 24px;
  }
}

@media screen and (max-width:767px) {
  .top-info .clinic-info__main {
    gap: 24px;
  }
}

/*--診療方針
背景写真は画面に固定し、上の見出し(グラデーション)→白地の3項目→締めの文言の順に写真の上を流れる。
background-attachment: fixed は iOS で効かないため、clip-path で切り抜いた枠の中に position: fixed の img を置く
------------------------------*/
.top-policy {
  position: relative;
  background: #ffffff;
}

.top-policy__bg {
  position: absolute;
  inset: 0;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  pointer-events: none;
}
.top-policy__bg img {
  position: fixed;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.7;
}

.top-policy__main {
  position: relative;
  padding-top: 80px;
  background: linear-gradient(to bottom, transparent 640px, #ffffff 640px);
}
@media screen and (max-width:767px) {
  .top-policy__main {
    padding-top: 30px;
  }
}
.top-policy__main::before, .top-policy__main::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 640px;
}
.top-policy__main::before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .15)), color-stop(67.45%, rgba(255, 255, 255, .7)), color-stop(88.24%, #ffffff));
  background: linear-gradient(to bottom, rgba(0, 0, 0, .15) 0%, rgba(255, 255, 255, .7) 67.45%, #ffffff 88.24%);
}
.top-policy__main::after {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .4)), color-stop(99.22%, #ffffff));
  background: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0%, #ffffff 99.22%);
  mix-blend-mode: multiply;
  opacity: 0.8;
}

.top-policy__inner {
  position: relative;
  z-index: 1;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-policy__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-policy__inner {
    width: calc(100% - 34px);
  }
}

.top-policy__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 34px;
}
.top-policy__head .sec-head {
  width: 590px;
  max-width: 100%;
}
.top-policy__head .sec-head__ja {
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-policy__head {
    gap: 16px;
  }
  .top-policy__head .sec-head {
    width: auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}

.top-policy__catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .top-policy__catch {
    width: 300px;
    max-width: 100%;
    gap: 6px;
    font-size: 1.125rem;
    line-height: 1.55;
  }
}
@media screen and (max-width:359px) {
  .top-policy__catch {
    font-size: 1rem;
  }
}

.top-policy__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 530px;
  max-width: 100%;
  height: 110px;
  margin-top: -10px;
  padding-top: 8px;
  background: #ffffff;
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #0b6f73;
  text-align: center;
}
@media screen and (max-width:767px) {
  .top-policy__box {
    width: 340px;
    max-width: 100%;
    margin-top: 0;
    font-size: 1.25rem;
  }
}
@media screen and (max-width:359px) {
  .top-policy__box {
    font-size: 1.125rem;
  }
}

.top-policy__tri {
  position: absolute;
  left: 50%;
  bottom: -17px;
  width: 69px;
  height: 18px;
  -webkit-transform: translateX(-50%) rotate(180deg);
          transform: translateX(-50%) rotate(180deg);
}

.top-policy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 64px;
  margin-top: 66px;
}
@media screen and (max-width:767px) {
  .top-policy__list {
    gap: 32px;
    width: 340px;
    max-width: 100%;
    margin-top: 41px;
    margin-left: 3px;
  }
}

.policy-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width:1024px) {
  .policy-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 16px;
  }
}
@media screen and (max-width:767px) {
  .policy-item {
    gap: 12px;
  }
}

.policy-item__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 72px;
}
@media screen and (max-width:767px) {
  .policy-item__lead {
    gap: 12px;
  }
}

.policy-item__en {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #489598;
  white-space: nowrap;
}

.policy-item__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  width: 438px;
}
@media screen and (max-width:1024px) {
  .policy-item__text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
    min-width: 0;
  }
}
@media screen and (max-width:767px) {
  .policy-item__text {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 26px);
            flex: 0 0 calc(100% - 26px);
    gap: 12px;
  }
}

.policy-item__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4px;
}
.policy-item__title span {
  display: inline-block;
  padding: 0 8px 4px;
  background: #0b6f73;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #ffffff;
  white-space: nowrap;
}
.policy-item__title span.is-bracket {
  padding-left: 0;
}
@media screen and (max-width:767px) {
  .policy-item__title span {
    font-size: 1.375rem;
    white-space: normal;
  }
}
@media screen and (max-width:359px) {
  .policy-item__title span {
    font-size: 1.1875rem;
  }
}

.policy-item:not(:first-child) .policy-item__text {
  width: 398px;
}
@media screen and (max-width:1024px) {
  .policy-item:not(:first-child) .policy-item__text {
    width: auto;
  }
}

.policy-item__desc {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.policy-item__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  width: 490px;
  height: 424px;
}
.policy-item__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:1024px) {
  .policy-item__photo {
    width: 100%;
    max-width: 490px;
    height: auto;
    margin-inline: auto;
    aspect-ratio: 490/424;
  }
}
@media screen and (max-width:767px) {
  .policy-item__photo {
    max-width: none;
    aspect-ratio: 340/200;
  }
}

.top-policy__close {
  position: relative;
  padding: 64px 0 60px;
  background: rgba(255, 255, 255, .6);
}
@media screen and (max-width:767px) {
  .top-policy__close {
    padding: 56px 0 48px;
  }
}
.top-policy__close .top-policy__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}

.top-policy__close-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .top-policy__close-text {
    font-size: 1.125rem;
    line-height: 1.55;
  }
}

/*--選ばれる5つの理由
------------------------------*/
.top-reason {
  position: relative;
  padding: 107px 0 115px;
  background: #dbe3e4;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .top-reason {
    padding: 48px 0 32px;
  }
}

.top-reason__mark {
  position: absolute;
  left: calc(75% - 62.5px);
  top: 50px;
  width: 354px;
  height: 400px;
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (max-width:767px) {
  .top-reason__mark {
    left: auto;
    right: 4px;
    top: 16px;
    width: 198px;
    height: 224px;
  }
}

.top-reason__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-reason__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-reason__inner {
    width: calc(100% - 34px);
  }
}

.top-reason__title .is-line {
  display: block;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .top-reason__title .is-line {
    font-size: 1.5625rem;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width:359px) {
  .top-reason__title .is-line {
    font-size: 1.3125rem;
  }
}
.top-reason__title .is-big {
  display: block;
  height: 77px;
  line-height: 1;
}
.top-reason__title .is-big > span {
  line-height: inherit;
}
@media screen and (max-width:767px) {
  .top-reason__title .is-big {
    height: auto;
  }
}
.top-reason__title .is-num {
  font-size: 84px;
  font-size: 5.25rem;
  letter-spacing: 0.08em;
}
.top-reason__title .is-sub {
  font-size: 60px;
  font-size: 3.75rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width:767px) {
  .top-reason__title .is-num {
    font-size: 4rem;
  }
  .top-reason__title .is-sub {
    font-size: 3rem;
  }
}

.top-reason__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}
@media screen and (max-width:767px) {
  .top-reason__list {
    gap: 16px;
  }
}

.reason-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
.reason-item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:1024px) {
  .reason-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 16px;
  }
  .reason-item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.reason-item__visual {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 499px;
  height: 372px;
  padding: 52px 0 0 51px;
}
.reason-item:nth-child(even) .reason-item__visual {
  padding: 52px 51px 0 0;
}
@media screen and (max-width:1024px) {
  .reason-item__visual {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
@media screen and (max-width:767px) {
  .reason-item__visual {
    width: 100%;
    max-width: 340px;
    height: auto;
    padding: 34px 0 0 40px;
  }
  .reason-item:nth-child(even) .reason-item__visual {
    padding: 34px 40px 0 0;
  }
}

.reason-item__photo {
  position: relative;
  width: 448px;
  height: 320px;
  background: #ffffff;
  overflow: hidden;
}
.reason-item__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .reason-item__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 300/214;
  }
}

.reason-item__corner {
  position: absolute;
  left: 51px;
  top: 52px;
  width: 60px;
  height: 60px;
}
.reason-item:nth-child(even) .reason-item__corner {
  left: auto;
  right: 51px;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (max-width:767px) {
  .reason-item__corner {
    display: none;
  }
}

.reason-item__badge {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 104px;
  height: 104px;
  background: #ffffff;
  border-radius: 50%;
  color: #7ea9aa;
}
.reason-item:nth-child(even) .reason-item__badge {
  left: auto;
  right: 0;
}
.reason-item__badge span:first-child {
  margin-bottom: -2px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.reason-item__badge span:last-child {
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .reason-item__badge {
    width: 72px;
    height: 72px;
    border: 4px solid #dbe3e4;
  }
  .reason-item__badge span:first-child {
    margin-bottom: -4px;
    font-size: 0.75rem;
  }
  .reason-item__badge span:last-child {
    font-size: 1.625rem;
  }
}

.reason-item__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  width: 530px;
}
@media screen and (max-width:1024px) {
  .reason-item__text {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .reason-item__text {
    gap: 8px;
  }
}

.reason-item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.reason-item__tag {
  padding: 4px 12px;
  background: #7ea9aa;
  border-radius: 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .reason-item__tag {
    -ms-flex-item-align: center;
        align-self: center;
  }
}

.reason-item__title {
  width: 100%;
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .reason-item__title {
    font-size: 1.0625rem;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width:374px) {
  .reason-item__title br.u-pc {
    display: revert !important;
  }
}
@media screen and (max-width:359px) {
  .reason-item__title {
    font-size: 1rem;
  }
}

.reason-item__divider {
  display: block;
  width: 518px;
  max-width: 100%;
  height: 21px;
}
@media screen and (max-width:767px) {
  .reason-item__divider {
    width: 340px;
  }
}

.reason-item__desc {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/*--ドクター紹介
------------------------------*/
.top-doctor {
  padding: 100px 0 122px;
}
@media screen and (max-width:767px) {
  .top-doctor {
    padding: 48px 0;
  }
}

.top-doctor__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-doctor__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-doctor__inner {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:767px) {
  .top-doctor__inner {
    gap: 16px;
  }
}
@media screen and (max-width:767px) {
  .top-doctor__inner > .btn {
    -ms-flex-item-align: center;
        align-self: center;
    margin-top: 16px;
  }
}

.top-doctor__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-doctor__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width:767px) {
  .top-doctor__body {
    gap: 16px;
  }
}

.top-doctor__main {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 622px;
}
@media screen and (max-width:1024px) {
  .top-doctor__main {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: auto;
  }
}

.top-doctor__side {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 400px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .top-doctor__side {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
  }
}

.top-doctor__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-doctor__figure {
    max-width: 400px;
  }
}
@media screen and (max-width:767px) {
  .top-doctor__figure {
    max-width: none;
  }
}

.top-doctor__photo {
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.top-doctor__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:1024px) {
  .top-doctor__photo {
    height: auto;
    aspect-ratio: 400/500;
  }
}
@media screen and (max-width:767px) {
  .top-doctor__photo {
    aspect-ratio: 340/300;
  }
  .top-doctor__photo img {
    -o-object-position: 50% 40%;
       object-position: 50% 40%;
  }
}

.top-doctor__caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}

.top-doctor__role {
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.top-doctor__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
  white-space: nowrap;
}
.top-doctor__name .is-ja {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
.top-doctor__name .is-en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #0b6f73;
}

.top-doctor__lead {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.top-doctor__desc {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.top-doctor__blocks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media screen and (max-width:767px) {
  .top-doctor__blocks {
    gap: 16px;
  }
}

/*--略歴・所属学会(SPは開閉)
------------------------------*/
.doctor-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.doctor-block__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.doctor-block__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
.doctor-block__title::before {
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 8px;
  background: #0b6f73;
  border: 2px solid #7ebcbf;
  border-radius: 50%;
}
@media screen and (max-width:359px) {
  .doctor-block__title {
    font-size: 1rem;
  }
}

.acc-toggle {
  display: none;
}
@media screen and (max-width:767px) {
  .acc-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 32px;
    height: 32px;
    cursor: pointer;
  }
  .acc-toggle img {
    width: 7px;
    height: 13px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .is-open > * > .acc-toggle img, .is-open > .acc-toggle img {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
}

@media screen and (max-width:767px) {
  .js-acc:not(.is-open) > .acc-body,
  .js-acc:not(.is-open) > * > .acc-body {
    display: none;
  }
}

.doctor-career {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.doctor-career__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.doctor-career__row dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 118px;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .doctor-career__row dt {
    width: 84px;
    white-space: normal;
  }
}
.doctor-career__row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}

.doctor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.doctor-list ul {
  width: 300px;
}
.doctor-list a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.doctor-list a:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .doctor-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .doctor-list ul {
    width: 100%;
  }
}

/*--無料矯正相談(背景写真70%)
------------------------------*/
.top-consult {
  position: relative;
  padding: 81px 0 101px;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .top-consult {
    padding: 32px 0;
  }
}

.top-consult__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.top-consult__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.7;
}

.top-consult__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-consult__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-consult__inner {
    width: calc(100% - 34px);
  }
}
.top-consult__inner .sec-head {
  width: 590px;
  max-width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-consult__inner .sec-head__en {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (max-width:767px) {
  .top-consult__inner {
    gap: 16px;
  }
  .top-consult__inner .sec-head {
    width: auto;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.top-consult__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .top-consult__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 24px;
  }
}

.top-consult__lead {
  width: 600px;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
@media screen and (max-width:1024px) {
  .top-consult__lead {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .top-consult__lead {
    font-size: 0.8125rem;
    line-height: 1.5;
  }
}

.top-consult__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 436px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .top-consult__cta {
    width: 100%;
    max-width: 436px;
    margin-inline: auto;
  }
}
@media screen and (max-width:767px) {
  .top-consult__cta {
    max-width: 340px;
  }
}

.top-consult__tel,
.top-consult__web {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 12px;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-consult__tel:hover,
.top-consult__web:hover {
  opacity: 0.85;
}
.top-consult__tel .is-note,
.top-consult__web .is-note {
  font-family: "Zen Old Mincho", serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.top-consult__tel .is-num,
.top-consult__web .is-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.top-consult__tel .is-tel,
.top-consult__web .is-tel {
  height: 20px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
.top-consult__tel img,
.top-consult__web img {
  width: 24px;
  height: 24px;
}

.top-consult__tel {
  background: #ffffff;
  color: #0e0f0f;
}

.top-consult__web {
  background: #0b6f73;
  color: #ffffff;
}
.top-consult__web .is-num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.top-consult__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-top: 16px;
}
@media screen and (max-width:1024px) {
  .top-consult__points {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 16px;
    margin-top: 0;
  }
}
@media screen and (max-width:767px) {
  .top-consult__points {
    margin-top: 8px;
  }
}

.consult-point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  width: 333px;
}
@media screen and (max-width:1024px) {
  .consult-point {
    width: 100%;
  }
}

.consult-point__num {
  position: relative;
  width: 97px;
  height: 44px;
}
.consult-point__num img {
  position: absolute;
  left: 0;
  top: 0;
  width: 97px;
  height: 40px;
}
.consult-point__num span {
  position: absolute;
  left: 50%;
  top: 24px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #7ea9aa;
}

.consult-point__sub {
  font-family: "Zen Old Mincho", serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .consult-point__sub {
    font-size: 0.6875rem;
    line-height: 1.3;
  }
}

.consult-point__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .consult-point__title {
    font-size: 1rem;
  }
}

.consult-point__desc {
  width: 100%;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.top-consult__sep {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1px;
  height: 184px;
  background: #cbcbcb;
}
@media screen and (max-width:1024px) {
  .top-consult__sep {
    width: 100%;
    height: 1px;
  }
}

/*--治療の流れ(ステップタブ + スライダー)
------------------------------*/
.top-flow {
  padding: 100px 0 138px;
  background: #f4f4f2;
}
@media screen and (max-width:767px) {
  .top-flow {
    padding: 32px 0;
  }
}

.top-flow__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-flow__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-flow__inner {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:767px) {
  .top-flow__inner {
    gap: 16px;
  }
}

.top-flow__steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width:767px) {
  .top-flow__steps {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 7px;
    width: 100%;
    max-width: 341px;
    margin-inline: auto;
  }
}

.flow-step {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 16px 12px;
  background: #ffffff;
  border-radius: 8px;
  color: #848f90;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}
.flow-step::after {
  content: "";
  position: absolute;
  right: -8px;
  top: 61px;
  width: 7px;
  height: 10px;
  background: url(../img/flow-step-arrow-white.svg) no-repeat center/contain;
}
.flow-step:last-child::after {
  display: none;
}
.flow-step.is-active {
  background: #0b6f73;
  color: #ffffff;
}
.flow-step.is-active::after {
  background-image: url(../img/flow-step-arrow.svg);
}
@media screen and (max-width:767px) {
  .flow-step {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 60px;
            flex: 0 1 60px;
    min-width: 0;
    gap: 12px;
    padding: 0;
    background: none;
    border-radius: 0;
  }
  .flow-step::after {
    display: none;
  }
  .flow-step.is-active {
    background: none;
    color: #0b6f73;
  }
}

.flow-step__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
.flow-step__num span:first-child {
  font-size: 12px;
  font-size: 0.75rem;
}
.flow-step__num span:last-child {
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width:767px) {
  .flow-step__num {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0;
    width: 48px;
    height: 48px;
    padding: 4px 0 12px;
    background: #ffffff;
    border-radius: 8px;
    color: #848f90;
  }
  .flow-step__num span:first-child {
    margin-bottom: -4px;
  }
  .flow-step.is-active .flow-step__num {
    background: #0b6f73;
    color: #ffffff;
  }
  .flow-step.is-active .flow-step__num::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 7px;
    height: 10px;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
    background: url(../img/flow-step-arrow.svg) no-repeat center/contain;
  }
}

.flow-step__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .flow-step__title {
    font-size: 0.6875rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}

.flow-step__desc {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .flow-step__desc {
    display: none;
  }
}

.top-flow__slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 21px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .top-flow__slider {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
  }
}

.top-flow__swiper {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .top-flow__swiper {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: calc(100% - 1px);
  }
}

.top-flow__nav {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  background: #0b6f73;
  border-radius: 8px;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-flow__nav:hover {
  opacity: 0.85;
}
.top-flow__nav.swiper-button-disabled {
  background: #cbcbcb;
  cursor: default;
  opacity: 1;
}
.top-flow__nav img {
  width: 6px;
  height: 10px;
}
@media screen and (max-width:767px) {
  .top-flow__nav {
    width: 40px;
    height: 40px;
  }
  .top-flow__nav img {
    width: 5px;
    height: 8px;
  }
}

.top-flow__nav--prev {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.top-flow__nav--prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width:767px) {
  .top-flow__nav--prev {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.top-flow__nav--next {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.top-flow__swiper .swiper-wrapper {
  min-height: var(--flow-h, 0);
}
.top-flow__swiper .swiper-slide {
  height: auto;
}
.top-flow__swiper.is-measuring .acc-body {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.flow-card {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 24px;
  background: #ffffff;
}
@media screen and (max-width:767px) {
  .flow-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 16px;
  }
}

.flow-card__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  width: 366px;
  min-height: 457px;
  overflow: hidden;
}
.flow-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 65% center;
     object-position: 65% center;
}
@media screen and (max-width:1024px) {
  .flow-card__photo {
    width: 40%;
    min-height: 0;
    height: auto;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
@media screen and (max-width:767px) {
  .flow-card__photo {
    width: 100%;
    height: 200px;
  }
  .flow-card__photo img {
    -o-object-position: center;
       object-position: center;
  }
}

.flow-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 24px 24px 24px 0;
}
@media screen and (max-width:767px) {
  .flow-card__body {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: calc(100% - 40px);
    padding: 0;
  }
}

.flow-card__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  min-height: 69px;
  padding: 0 32px;
  text-align: center;
}

.flow-card__corner {
  position: absolute;
  width: 32px;
  height: 16px;
}
.flow-card__corner--tl {
  left: 0;
  top: 0;
}
.flow-card__corner--br {
  right: 0;
  bottom: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.flow-card__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
.flow-card__num span:first-child {
  font-size: 12px;
  font-size: 0.75rem;
}
.flow-card__num span:last-child {
  font-size: 20px;
  font-size: 1.25rem;
}

.flow-card__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
.flow-card__title small {
  font-size: inherit;
}
@media screen and (max-width:767px) {
  .flow-card__title {
    font-size: 1.125rem;
    line-height: 1.55;
    letter-spacing: 0.06em;
  }
  .flow-card__title small {
    font-size: 0.9375rem;
  }
}
@media screen and (max-width:374px) {
  .flow-card__title {
    font-size: 1.0625rem;
  }
}
@media screen and (max-width:359px) {
  .flow-card__title {
    font-size: 1rem;
  }
}

.flow-card__desc {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.flow-card__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.flow-card__sub-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 4px;
  border-bottom: 1px solid #b9cdce;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}

.flow-card__sub-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.flow-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.flow-card__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.flow-card__list li::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 6px;
  background: #489598;
}
@media screen and (max-width:767px) {
  .flow-card__list {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .flow-card__list li {
    gap: 4px;
  }
}

.flow-card__note {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
  .flow-card__note {
    font-size: 0.625rem;
    line-height: 1.4;
  }
}

/*--よくあるご質問(dl)
------------------------------*/
.top-faq {
  padding: 120px 0;
}
@media screen and (max-width:767px) {
  .top-faq {
    padding: 48px 0;
  }
}

.top-faq__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-faq__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-faq__inner {
    width: calc(100% - 34px);
  }
}
.top-faq__inner .sec-head {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .top-faq__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}

.faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 622px;
  margin-top: 47px;
}
@media screen and (max-width:1024px) {
  .faq-list {
    width: 100%;
    margin-top: 0;
  }
}
@media screen and (max-width:767px) {
  .faq-list {
    gap: 16px;
  }
}

.faq__con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.faq__question-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  width: 100%;
  padding-bottom: 7px;
  border-bottom: 1px solid #cbcbcb;
  text-align: left;
  cursor: pointer;
}

.faq__q {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #7ea9aa;
}

.faq__question {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55;
  letter-spacing: 0.1em;
}

.faq__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
}
.faq__icon img {
  width: 6px;
  height: 10px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.faq__con.is-open .faq__icon img {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.faq__answer {
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
}
.faq__con.is-open .faq__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.faq__answer p {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.faq__a {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 26px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #0b6f73;
  text-align: center;
}

/*--佑健会グループについて(地図は右端に寄せる)
------------------------------*/
.top-group {
  padding: 0 0 82px;
}
@media screen and (max-width:767px) {
  .top-group {
    padding: 0 0 24px;
  }
}

.top-group__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(36px, 100% - 622px - 565px, 73px);
  padding-left: max(48px, (100% - 1080px) / 2);
}
@media screen and (max-width:1024px) {
  .top-group__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    padding-left: 0;
  }
}

.top-group__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
  width: 622px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width:1024px) {
  .top-group__main {
    width: auto;
    padding: 0 48px;
  }
}
@media screen and (max-width:767px) {
  .top-group__main {
    gap: 16px;
    width: calc(100% - 34px);
    margin-inline: auto;
    padding: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top-group__main .sec-head {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}

.top-group__sub {
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .top-group__sub {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    font-size: 1.125rem;
    line-height: 1.55;
  }
}
@media screen and (max-width:359px) {
  .top-group__sub {
    font-size: 1rem;
  }
}

.top-group__text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.top-group__text p + p {
  margin-top: 1.8em;
}

.top-group__map {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 565px;
          flex: 0 1 565px;
  min-width: 0;
  height: auto;
  aspect-ratio: 565/460;
  background: #f5f5f5;
}
.top-group__map img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width:1024px) {
  .top-group__map {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .top-group__map {
    aspect-ratio: 375/350;
  }
}

/*--コラム(最新2件)
  カードの見た目はコラム一覧(.archive-list--card)と同じ。
  他のページに影響しないよう、すべて .top-column 配下の専用クラスで定義している
------------------------------*/
.top-column {
  padding: 0 0 120px;
}
@media screen and (max-width:767px) {
  .top-column {
    padding: 24px 0 48px;
  }
}

.top-column__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  width: 1080px;
  margin-inline: auto;
  zoom: var(--inner-scale, 1);
}
@media screen and (max-width:1024px) {
  .top-column__inner {
    width: calc(100% - 96px);
    zoom: 1;
  }
}
@media screen and (max-width:767px) {
  .top-column__inner {
    width: calc(100% - 34px);
  }
}
@media screen and (max-width:767px) {
  .top-column__inner {
    gap: 24px;
  }
}

/* カードを囲む緑の枠 */
.top-column__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  gap: 1.5rem;
  padding: 30px;
  padding: 1.875rem;
  background: #dbe3e4;
  border-radius: 1rem;
}
@media screen and (max-width:1024px) {
  .top-column__list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:767px) {
  .top-column__list {
    gap: 1rem;
    padding: 1rem;
  }
}

.top-column__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 30px;
  gap: 1.875rem;
  padding: 30px;
  padding: 1.875rem;
  background: #ffffff;
  border-radius: 0.75rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.top-column__item:hover {
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  .top-column__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    padding: 1rem;
  }
}

.top-column__thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
  min-width: 0;
}
.top-column__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem;
}
@media screen and (max-width:767px) {
  .top-column__thumb {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.top-column__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  gap: 0.625rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}

.top-column__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 12px;
  gap: 0.75rem;
}

.top-column__cat {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 12px;
  padding: 0.125rem 0.75rem;
  background: #dbe3e4;
  border-radius: 999px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #0b6f73;
}

.top-column__date {
  margin-left: auto;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #489598;
}

.top-column__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.025em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .top-column__title {
    font-size: 0.9375rem;
  }
}

.top-column__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  letter-spacing: 0.03em;
  color: #0e0f0f;
}
@media screen and (max-width:767px) {
  .top-column__excerpt {
    font-size: 0.8125rem;
  }
}

.top-column__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-top: auto;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  background: #0b6f73;
  -webkit-mask: url(../img/icon-circle-arrow.svg) center/contain no-repeat;
  mask: url(../img/icon-circle-arrow.svg) center/contain no-repeat;
}
@media screen and (max-width:767px) {
  .top-column__arrow {
    width: 2rem;
    height: 2rem;
  }
}

.top-column__empty {
  padding: 40px 0;
  padding: 2.5rem 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
}

/* 一覧を見るボタン(中央) */
.top-column__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
/*# sourceMappingURL=style.css.map */
