/* PC: 初診見出しは1行のまま */
@media (min-width: 768px) {
  body:has(.price-page) .price-heading-br {
    display: none !important;
  }
}

/* ==========================================================================
   Price page — SP layout (Figma node 336:21488, 375px)
   HTML / PC styles unchanged — responsive overrides only
   Section h2: 26px / 35px / tracking 1.3px
   ========================================================================== */

@media (max-width: 767px) {
  body:has(.price-page) .price-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-shadow: none !important;
  }

  /* ----- Breadcrumb — hide ----- */
  body:has(.price-page) .price-page > div[class*='w-[1080px]'][class*='py-[10px]'] {
    display: none !important;
  }

  /* ----- Hide PC deco / floating (FV・セクション装飾は下記で再表示) ----- */
  body:has(.price-page) .price-page > .absolute[class*='size-[150px]'],
  body:has(.price-page) .price-main > div[class*='absolute'][class*='bottom-0']:not(.price-fv-bg),
  body:has(.price-page) .price-main > div[class*='absolute'][class*='mix-blend-multiply']:not(.price-deco) {
    display: none !important;
  }

  /* ----- SP FV blobs（Figma 341:44237 / 341:44235） ----- */
  body:has(.price-page) .price-deco {
    display: block !important;
    position: absolute !important;
    max-width: none !important;
    transform: none !important;
    translate: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
    overflow: hidden !important;
    mix-blend-mode: multiply !important;
  }

  body:has(.price-page) .price-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  body:has(.price-page) .price-deco-left {
    left: -140px !important;
    right: auto !important;
    top: 60px !important;
    width: 260px !important;
    height: 280px !important;
    opacity: 0.55 !important;
    background: url('../../assets/images/deco-price-fv-left-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-deco-right {
    left: auto !important;
    right: -120px !important;
    top: 70px !important;
    width: 240px !important;
    height: 260px !important;
    opacity: 0.45 !important;
    background: url('../../assets/images/deco-price-fv-right-sp.png') center / contain no-repeat !important;
  }

  /* ----- SP FV: photo-price-fv（上寄せ） ----- */
  body:has(.price-page) .price-fv-bg {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 110px !important;
    width: 600px !important;
    height: 633px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    translate: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 0.9 !important;
    overflow: visible !important;
    background: url('../../assets/images/photo-price-fv.png') center bottom / cover no-repeat !important;
    -webkit-mask-image: radial-gradient(circle at center, #000 38%, rgba(0, 0, 0, 0.55) 55%, transparent 72%) !important;
    mask-image: radial-gradient(circle at center, #000 38%, rgba(0, 0, 0, 0.55) 55%, transparent 72%) !important;
  }

  body:has(.price-page) .price-fv-bg > div,
  body:has(.price-page) .price-fv-bg img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* ----- H1 KV (Figma 334:28005) ----- */
  body:has(.price-page) .price-main > div[class*='h-[200px]'] {
    background: transparent !important;
    height: 134px !important;
    min-height: 134px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    flex-shrink: 0 !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[200px]'] [class*='text-[60px]'] {
    color: var(--corlor-1, #8e5572) !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 36px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 1.8px !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[200px]'] [class*='text-[60px]'] p {
    color: inherit !important;
    text-align: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  /* ----- Main column ----- */
  body:has(.price-page) .price-main,
  body:has(.price-page) .price-main[class*='gap-[200px]'] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-top: 0 !important;
    padding-inline: 40px !important;
    padding-bottom: 0 !important;
    gap: 60px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-main > :not(.price-fv-bg):not(.price-deco):not(.absolute):not(.site-footer),
  body:has(.price-page) .price-main[class*='gap-[200px]'] > :not(.price-fv-bg):not(.price-deco):not(.absolute):not(.site-footer):not([class*="-faq-section"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Figma main pt-[200px]（flex gap 60 + margin 140） */
  body:has(.price-page) .price-main > div[class*='h-[200px]'] + div[class*='gap-[60px]'] {
    margin-top: 140px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  body:has(.price-page) .price-children-section,
  body:has(.price-page) .price-main > div[class*='h-[1596px]'] {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    position: relative !important;
  }

  body:has(.price-page) .price-main > div[class*='gap-[60px]'],
  body:has(.price-page) .price-payment-section {
    gap: 40px !important;
    overflow: visible !important;
    position: relative !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[1596px]'],
  body:has(.price-page) .price-children-section {
    gap: 40px !important;
  }

  /* ----- SP section deco: 子どもの矯正（左写真 / 右￥） ----- */
  body:has(.price-page) .price-children-section > .price-children-section-photo {
    display: block !important;
    position: absolute !important;
    left: -40px !important;
    top: 100px !important;
    width: 220px !important;
    height: 220px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-deco {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -100px !important;
    top: 40px !important;
    width: 250px !important;
    height: 290px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.7 !important;
    overflow: hidden !important;
    background: url('../../assets/images/deco-price-children-yen-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  /* 子どもの矯正 — 右￥イラスト（白・Figma image 102） */
  body:has(.price-page) .price-children-section > .price-children-section-blur {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -130px !important;
    top: 85px !important;
    width: 300px !important;
    height: 150px !important;
    max-width: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 0.55 !important;
    filter: blur(3px) !important;
    overflow: visible !important;
    background: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-blur img {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 0.85 !important;
    filter: none !important;
  }

  body:has(.price-page) .price-children-section > :not(.absolute):not([class*='price-children-section-']) {
    position: relative !important;
    z-index: 1 !important;
  }

  /* ----- SP section deco: 大人の矯正（左写真 / 右blob＋￥・小さめ右側） ----- */
  body:has(.price-page) .price-payment-section > .price-payment-section-bg {
    display: block !important;
    position: absolute !important;
    left: -110px !important;
    top: -35px !important;
    width: 274px !important;
    height: 274px !important;
    max-width: none !important;
    bottom: auto !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-bg .price-payment-section-bg-sticky {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-deco {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -120px !important;
    top: -10px !important;
    width: 280px !important;
    height: 300px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.45 !important;
    overflow: visible !important;
    transform: rotate(152.83deg) !important;
    filter: blur(4px) !important;
    background: url('../../assets/images/deco-price-adult-yen-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  /* 大人の矯正 — 右￥イラスト（白・Figma image 102） */
  body:has(.price-page) .price-payment-section > .price-payment-section-blur {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -130px !important;
    top: 45px !important;
    width: 290px !important;
    height: 145px !important;
    max-width: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 0.55 !important;
    filter: blur(3px) !important;
    overflow: visible !important;
    background: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-blur img {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 0.85 !important;
    filter: none !important;
  }

  body:has(.price-page) .price-payment-section > :not(.absolute):not([class*='price-payment-section-']) {
    position: relative !important;
    z-index: 1 !important;
  }

  body:has(.price-page) .price-main > div[class*='w-[1080px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ----- Section headings (h2 block) — TOP .top-main ----- */
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'][class*='items-center'][class*='justify-center'][class*='max-w-[1080px]'][class*='min-w-[300px]'] {
    display: flex !important;
    min-width: 201.613px !important;
    max-width: 725.806px !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.672px !important;
    align-self: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .price-main [class*='h-[59px]'][class*='w-[120px]'] {
    height: 39.651px !important;
    width: 80.645px !important;
  }

  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='pb-[20px]'] {
    padding-bottom: 13.441px !important;
  }

  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='py-[10px]'] {
    padding-block: 6.72px !important;
  }

  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[0.8px]'],
  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[1.6px]'] {
    font-size: 15px !important;
    letter-spacing: 0.5375px !important;
  }

  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[0.8px]'] p,
  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[1.6px]'] p {
    font-size: inherit !important;
    letter-spacing: inherit !important;
  }

  body:has(.price-page) .price-main [class*='items-start'][class*='justify-center']:not(.price-payment-card) {
    align-items: center !important;
    justify-content: center !important;
  }

  body:has(.price-page) .price-main [class*='inline-grid'][class*='place-items-start'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* h2 — Figma SP 26px / lh35 / ls1.3 / Medium */
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'],
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'] p,
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'] span,
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'],
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'] p,
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'] span {
    color: var(--corlor-1, #8e5572) !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 26px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  /* 「トータルフィー制度」— SPでも1行（幅に合わせてサイズを調整） */
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'] p.price-total-fee-heading,
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'] p.price-total-fee-heading {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    letter-spacing: 0 !important;
    font-size: clamp(20px, 6.5vw, 26px) !important;
  }

  body:has(.price-page) .price-main [class*='leading-[55px]'],
  body:has(.price-page) .price-main [class*='leading-[62px]'],
  body:has(.price-page) .price-main [class*='leading-[38px]'] {
    line-height: 35px !important;
  }

  /* 当院限定プラン h2 — Figma 334:24340 / 30.91px */
  body:has(.price-page) .price-clinic-plan-section [class*='flex-col'][class*='gap-px'] p[class*='text-[46px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p[class*='text-[46px]'] {
    font-size: 30.91px !important;
    line-height: 36.962px !important;
    letter-spacing: 3.091px !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='flex-col'][class*='gap-px'] p[class*='text-[36px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p[class*='text-[36px]'] {
    font-size: 15px !important;
    line-height: 36.962px !important;
    letter-spacing: 2.42px !important;
  }

  /* ----- Body copy — Figma 16px / lh25 / ls1.6 ----- */
  body:has(.price-page) .price-main > div[class*='gap-[60px]'] > p[class*='text-[24px]'],
  body:has(.price-page) .price-main > div[class*='h-[1596px]'] > p[class*='text-[24px]'],
  body:has(.price-page) .price-children-section > p[class*='text-[24px]'],
  body:has(.price-page) .price-payment-section > p[class*='text-[24px]'] {
    font-size: 15px !important;
    line-height: 25px !important;
    letter-spacing: 1.6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body:has(.price-page) .price-main > div[class*='gap-[60px]'] > p[class*='text-[24px]']:not([class*='text-center']),
  body:has(.price-page) .price-payment-section > p[class*='text-[24px]']:not([class*='text-center']) {
    text-align: left !important;
  }

  /* ----- トータルフィー info box — Figma w295 / title 13px ----- */
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] {
    width: 100% !important;
    max-width: 295px !important;
    background: #fff !important;
    border-radius: 6.72px !important;
    padding: 13.441px 26.882px !important;
    gap: 6.72px !important;
    box-sizing: border-box !important;
  }

  /* 【トータルフィーに含まれるもの】— 折り返しなし */
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] > p[class*='text-[22px]'] {
    color: #8e5572 !important;
    font-size: clamp(11px, 3.4vw, 13px) !important;
    line-height: 21.505px !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    text-align: center !important;
  }

  /* 含まれるものリスト本文 */
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='leading-[0]'][class*='text-[18px]'][class*='tracking-[0.9px]'],
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='leading-[0]'][class*='text-[18px]'][class*='tracking-[0.9px]'] p,
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[18px]'],
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[18px]'] p {
    color: #636171 !important;
    text-align: center !important;
    font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif !important;
    font-size: 12.097px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 21.505px !important;
    letter-spacing: 0.605px !important;
  }

  /* ----- Sub-table headings ----- */
  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[32px]'] {
    font-size: 15px !important;
    letter-spacing: 1.0753px !important;
  }

  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[28px]'] {
    font-size: 15px !important;
    letter-spacing: 0.941px !important;
  }

  /* お支払い方法・サポート — マウスピース矯正（インビザライン）
     ※ .price-main の 15px 見出しルールより詳細度を上げる */
  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p[class*='text-[#8e5572]'],
  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p {
    text-align: center !important;
  }

  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[32px]'],
  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p span[class*='text-[32px]'] {
    color: var(--corlor-1, #8e5572) !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 21.505px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 1.075px !important;
  }

  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[28px]'],
  body:has(.price-page) .price-main .price-payment-block [class*='pb-[20px]'] > p span[class*='text-[28px]'] {
    color: var(--corlor-1, #8e5572) !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 18.817px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.941px !important;
    display: block !important;
  }

  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[32px]'][class*='text-[#8e5572]']:not([class*='text-[0px]']) {
    font-size: 15px !important;
    letter-spacing: 1.0753px !important;
  }

  /* 0期 / 一期 / 二期 見出し（子ども料金表） */
  body:has(.price-page) .price-main .price-children-section [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[32px]'] {
    color: var(--corlor-1, #8e5572) !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 21.505px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 1.075px !important;
  }

  body:has(.price-page) .price-main .price-children-section [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[28px]'] {
    color: var(--corlor-1, #8e5572) !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 18.817px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.941px !important;
    display: block !important;
  }

  /* ----- Price tables（子ども矯正ページの料金表と同一） ----- */
  body:has(.price-page) .price-main [class*='max-w-[1080px]'][class*='min-w-[300px]'] {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'],
  body:has(.price-page) .price-main [class*='h-[49px]'],
  body:has(.price-page) .price-payment-section [class*='h-[46px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] {
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'] > div,
  body:has(.price-page) .price-main [class*='h-[49px]'] > div,
  body:has(.price-page) .price-payment-section [class*='h-[46px]'] > div,
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] > div {
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 10px 6px !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  /* 2列料金表: 装置名が長いので左を広めに */
  body:has(.price-page) .price-main [class*='h-[46px]']:not(:has(> :nth-child(3))) > :first-child,
  body:has(.price-page) .price-main [class*='h-[49px]']:not(:has(> :nth-child(3))) > :first-child,
  body:has(.price-page) .price-payment-section [class*='h-[46px]']:not(:has(> :nth-child(3))) > :first-child,
  body:has(.price-page) .price-payment-section [class*='h-[49px]']:not(:has(> :nth-child(3))) > :first-child {
    flex: 1.65 1 0 !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]']:not(:has(> :nth-child(3))) > :last-child,
  body:has(.price-page) .price-main [class*='h-[49px]']:not(:has(> :nth-child(3))) > :last-child,
  body:has(.price-page) .price-payment-section [class*='h-[46px]']:not(:has(> :nth-child(3))) > :last-child,
  body:has(.price-page) .price-payment-section [class*='h-[49px]']:not(:has(> :nth-child(3))) > :last-child {
    flex: 1 1 0 !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-payment-section [class*='h-[46px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]'] [class*='leading-[22px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] [class*='leading-[22px]'],
  body:has(.price-page) .price-main [class*='h-[46px]']:has(> div:nth-child(3)) [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]']:has(> div:nth-child(3)) [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]']:has(> div:nth-child(3)) [class*='leading-[22px]'] {
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.4px !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.price-page) .price-main [class*='h-[49px]'] [class*='leading-[22px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] [class*='leading-[22px]'] {
    line-height: 1.4 !important;
  }

  /* 表下注釈（※精密検査後に… など） */
  body:has(.price-page) .price-main [class*='pt-[10px]'] > p[class*='text-[14px]'],
  body:has(.price-page) .price-main [class*='pt-[10px]'] > p[class*='text-black'],
  body:has(.price-page) .price-payment-note p[class*='text-[14px]'] {
    color: #000 !important;
    font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 0.47px !important;
    white-space: normal !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[1596px]'] > div[class*='items-center'] {
    width: 100% !important;
    gap: 40px !important;
  }

  /* ----- Clinic plan section ----- */
  body:has(.price-page) .price-clinic-plan-section {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  body:has(.price-page) .price-clinic-plan-section[class*='gap-[100px]'] {
    gap: 40px !important;
  }

  body:has(.price-page) .price-clinic-plan-section > :not(.price-clinic-plan-list) {
    width: 100% !important;
    max-width: 295px !important;
    min-width: 0 !important;
    flex: none !important;
    margin-inline: auto !important;
  }

  body:has(.price-page) .price-clinic-plan-section > :first-child {
    align-items: center !important;
    justify-content: center !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='items-start'][class*='justify-center'] {
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='inline-grid'][class*='place-items-start'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p {
    text-align: center !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-clinic-plan-section > .price-clinic-plan-list {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    align-self: center !important;
    align-items: flex-start !important;
    margin-inline: auto !important;
    gap: 6.72px !important;
  }

  body:has(.price-page) .price-clinic-plan-list p {
    white-space: normal !important;
    font-size: 15px !important;
    line-height: 22.849px !important;
    letter-spacing: 1.478px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='w-[28px]'] {
    width: 18.817px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='h-[23px]'][class*='w-[28px]'] {
    height: 15.457px !important;
    width: 18.817px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='pt-[7px]'] {
    padding-top: 4.704px !important;
  }

  body:has(.price-page) .price-main [class*='gap-[13px]'][class*='items-start'][class*='w-full'] {
    gap: 8.737px !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  /* clinic-plan は上書き（詳細度で .price-main の center に勝つ） */
  body:has(.price-page) .price-main .price-clinic-plan-list [class*='gap-[13px]'][class*='items-start'][class*='w-full'] {
    gap: 8.737px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  /* ----- Payment section ----- */
  body:has(.price-page) .price-payment-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-payment-block {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-payment-card {
    min-height: 0 !important;
    padding: 13.441px 26.882px !important;
    border-radius: 6.72px !important;
    gap: 6.72px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .price-payment-card > p,
  body:has(.price-page) .price-payment-card > div:not(.price-payment-visual) {
    max-width: 100% !important;
    width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
  }

  body:has(.price-page) .price-payment-card > p:first-of-type {
    font-size: 15px !important;
    line-height: 21.505px !important;
    letter-spacing: 0.7392px !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='text-[22px]'] {
    font-size: 15px !important;
    line-height: 22.849px !important;
    letter-spacing: 1.478px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='text-[18px]'] {
    font-size: 15px !important;
    line-height: 21.505px !important;
    letter-spacing: 0.6048px !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='gap-[13px]'] {
    gap: 8.737px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body:has(.price-page) .price-main .price-payment-card,
  body:has(.price-page) .price-main .price-payment-card[class*='items-start'][class*='justify-center'] {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  body:has(.price-page) .price-main .price-payment-card [class*='gap-[13px]'][class*='items-start'][class*='w-full'],
  body:has(.price-page) .price-main .price-payment-card [class*='gap-[13px]'] {
    gap: 8.737px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body:has(.price-page) .price-payment-visual {
    display: none !important;
  }

  body:has(.price-page) .price-invisalign-photo,
  body:has(.price-page) .price-payment-deco-cards {
    display: none !important;
  }

  /* ----- Footer — medical-info.css 準拠 ----- */
  body:has(.price-page) .site-footer {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-top: 134px !important;
    padding-inline: 0 !important;
    padding-bottom: 40px !important;
    gap: 60px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .site-footer > [class*='aspect-[3050'],
  body:has(.price-page) .site-footer > .site-footer-map {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    align-self: stretch !important;
    border-radius: 6.72px !important;
    overflow: hidden !important;
  }

  /* 医院外観 — Figma 305×166 */
  body:has(.price-page) .site-footer > [class*='aspect-[1944'] {
    width: 305px !important;
    max-width: calc(100% - 40px) !important;
    height: 166px !important;
    aspect-ratio: auto !important;
    margin-inline: auto !important;
    align-self: center !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  body:has(.price-page) .site-footer > [class*='aspect-[3050'] img,
  body:has(.price-page) .site-footer > [class*='aspect-[3050'] iframe,
  body:has(.price-page) .site-footer > .site-footer-map iframe {
    border-radius: 6.72px !important;
  }

  body:has(.price-page) .site-footer > [class*='aspect-[1944'] img {
    border-radius: 10px !important;
    object-fit: cover !important;
  }

  body:has(.price-page) .site-footer > :not([class*='aspect-[3050']):not([class*='aspect-[1944']):not(.site-footer-map) {
    padding-inline: 40px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    gap: 24px !important;
    white-space: normal !important;
    text-align: left !important;
    letter-spacing: 1.075px !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div {
    flex: 0 1 calc(50% - 12px) !important;
    min-width: 0 !important;
    max-width: calc(50% - 12px) !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] [class*='items-center'] {
    align-items: flex-start !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] [class*='text-center'] {
    text-align: left !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] [class*='gap-[20px]'] {
    gap: 13.44px !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] .site-footer-link,
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] .site-footer-link p {
    text-align: left !important;
  }

  /* 左列 — 長文リンクを折り返さない */
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:first-child {
    flex: 0 0 auto !important;
    width: max-content !important;
    max-width: none !important;
    font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Hiragino Sans', sans-serif !important;
    font-weight: 700 !important;
    color: var(--color-primary, #8e5572) !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:first-child .site-footer-link,
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:first-child .site-footer-link p,
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:first-child p {
    white-space: nowrap !important;
  }

  /* 右列を右寄りに */
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:nth-child(even) {
    flex: 0 0 auto !important;
    max-width: none !important;
    margin-left: auto !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] > div:first-child .site-footer-link p {
    font-family: inherit !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: var(--color-primary, #8e5572) !important;
    font-size: 12px !important;
    line-height: 22.849px !important;
    letter-spacing: 1.075px !important;
    text-decoration: none !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] p[class*='text-[#8e5572]'][class*='text-[16px]'] {
    color: var(--corlor-1, var(--color-primary, #8e5572)) !important;
    font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Hiragino Sans', sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 17.473px !important;
    letter-spacing: 1.075px !important;
    text-decoration: none !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'],
  body:has(.price-page) .site-footer > [class*='gap-[36px]'] p[class*='text-[14px]'][class*='underline'] {
    color: var(--colore-2, var(--p, #636171)) !important;
    font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Hiragino Sans', sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 17.473px !important;
    letter-spacing: 0.941px !important;
    text-decoration-line: underline !important;
  }

  body:has(.price-page) .site-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'] span {
    color: var(--colore-2, var(--p, #636171)) !important;
    font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Hiragino Sans', sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 17.473px !important;
    letter-spacing: 0.941px !important;
  }

  body:has(.price-page) .site-footer [class*='max-w-[840px]'] {
    max-width: 100% !important;
    gap: 20px !important;
    align-items: center !important;
    width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[41px_60px]'] {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[41px_60px]'] [class*='px-[30px]'] {
    padding-inline: 0 !important;
    width: 100% !important;
    align-items: center !important;
  }

  body:has(.price-page) .site-footer [class*='aspect-[3635'] {
    min-height: 0 !important;
    min-width: 0 !important;
    max-width: 260px !important;
    width: 100% !important;
    margin-inline: auto !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[41px_60px]'] [class*='text-[18px]'] {
    font-size: 12.1px !important;
    line-height: 18px !important;
    letter-spacing: 0.605px !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] > [class*='flex-col'] {
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='text-[23px]'] {
    color: var(--corlor-1, var(--color-primary, #8e5572)) !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important;
    font-size: 15.457px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: normal !important;
    letter-spacing: 0.773px !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='text-[16px]'][class*='text-[color:var(--p'] {
    font-size: 10.75px !important;
    line-height: 18px !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='inline-grid'] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='inline-grid'] [class*='col-1'] {
    position: relative !important;
    margin: 0 !important;
    width: auto !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='aspect-[45'] {
    width: 28px !important;
    height: 30px !important;
    margin-top: 0 !important;
    flex-shrink: 0 !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] a[href^='tel:'][class*='text-[42px]'],
  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] [class*='text-[42px]'][class*='text-[#8e5572]'] {
    color: var(--corlor-1, var(--color-primary, #8e5572)) !important;
    font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important;
    font-size: 28.226px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: normal !important;
    letter-spacing: 1.411px !important;
    width: auto !important;
    margin-left: 0 !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[0px_32px]'] a[href^='tel:'] p {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[17px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row {
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[17px]'] [class*='h-[36px]'][class*='w-[176px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row [class*='h-[36px]'][class*='w-[176px]'] {
    width: 140px !important;
    height: 29px !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[17px]'] [class*='h-[44px]'][class*='w-[127px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row [class*='h-[44px]'][class*='w-[127px]'] {
    width: 100px !important;
    height: 35px !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[17px]'] [class*='h-[36px]'][class*='w-[107px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row [class*='h-[36px]'][class*='w-[107px]'] {
    width: 85px !important;
    height: 29px !important;
  }

  body:has(.price-page) .site-footer [class*='gap-[17px]'] [class*='size-[35px]'],
  body:has(.price-page) .site-footer [class*='gap-[17px]'] [class*='size-[36px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row [class*='size-[35px]'],
  body:has(.price-page) .site-footer .site-footer-sns-row [class*='size-[36px]'] {
    width: 30px !important;
    height: 30px !important;
  }

  body:has(.price-page) .site-footer [class*='min-w-[300px]'] {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.price-page) .site-footer [class*='max-w-[390px]'],
  body:has(.price-page) .site-footer [class*='max-w-[404px]'] {
    max-width: 100% !important;
  }

  body:has(.price-page) .site-footer > [class*='max-w-[840px]'] > [class*='text-[14px]'] {
    font-size: 12px !important;
    line-height: 22px !important;
    letter-spacing: 1.2px !important;
  }
}

/* ==========================================================================
   Price page — Tablet layout (768px–1024px)
   faq / news / cases タブレット準拠
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  body:has(.price-page) .price-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-shadow: none !important;
  }

  /* ----- Breadcrumb — hide ----- */
  body:has(.price-page) .price-page > div[class*='w-[1080px]'][class*='py-[10px]'] {
    display: none !important;
  }

  /* ----- Hide PC deco / floating (FV・セクション装飾は下記で再表示) ----- */
  body:has(.price-page) .price-page > .absolute[class*='size-[150px]'],
  body:has(.price-page) .price-main > div[class*='absolute'][class*='bottom-0']:not(.price-fv-bg),
  body:has(.price-page) .price-main > div[class*='absolute'][class*='mix-blend-multiply']:not(.price-deco) {
    display: none !important;
  }

  /* ----- TB FV blobs ----- */
  body:has(.price-page) .price-deco {
    display: block !important;
    position: absolute !important;
    max-width: none !important;
    transform: none !important;
    translate: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
    overflow: hidden !important;
    mix-blend-mode: multiply !important;
  }

  body:has(.price-page) .price-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  body:has(.price-page) .price-deco-left {
    left: -160px !important;
    right: auto !important;
    top: 40px !important;
    width: 320px !important;
    height: 340px !important;
    opacity: 0.55 !important;
    background: url('../../assets/images/deco-price-fv-left-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-deco-right {
    left: auto !important;
    right: -140px !important;
    top: 50px !important;
    width: 300px !important;
    height: 320px !important;
    opacity: 0.45 !important;
    background: url('../../assets/images/deco-price-fv-right-sp.png') center / contain no-repeat !important;
  }

  /* ----- TB FV: photo-price-fv（blog/cases 準拠の拡大・上寄せ） ----- */
  body:has(.price-page) .price-fv-bg {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 80px !important;
    width: 720px !important;
    height: 760px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    translate: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 0.9 !important;
    overflow: visible !important;
    background: url('../../assets/images/photo-price-fv.png') center bottom / cover no-repeat !important;
    -webkit-mask-image: radial-gradient(circle at center, #000 38%, rgba(0, 0, 0, 0.55) 55%, transparent 72%) !important;
    mask-image: radial-gradient(circle at center, #000 38%, rgba(0, 0, 0, 0.55) 55%, transparent 72%) !important;
  }

  body:has(.price-page) .price-fv-bg > div,
  body:has(.price-page) .price-fv-bg img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* ----- H1 KV ----- */
  body:has(.price-page) .price-main > div[class*='h-[200px]'] {
    background: transparent !important;
    height: 160px !important;
    min-height: 160px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    flex-shrink: 0 !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[200px]'] [class*='text-[60px]'],
  body:has(.price-page) .price-main > div[class*='h-[200px]'] [class*='text-[60px]'] p {
    color: var(--corlor-1, #8e5572) !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 48px !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 2.4px !important;
    text-align: center !important;
  }

  /* ----- Main column ----- */
  body:has(.price-page) .price-main,
  body:has(.price-page) .price-main[class*='gap-[200px]'] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-top: 0 !important;
    padding-inline: 60px !important;
    padding-bottom: 0 !important;
    gap: 80px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-main > :not(.price-fv-bg):not(.price-deco):not(.absolute):not(.site-footer),
  body:has(.price-page) .price-main[class*='gap-[200px]'] > :not(.price-fv-bg):not(.price-deco):not(.absolute):not(.site-footer):not([class*="-faq-section"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .price-children-section,
  body:has(.price-page) .price-main > div[class*='h-[1596px]'] {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    position: relative !important;
  }

  body:has(.price-page) .price-main > div[class*='gap-[60px]'],
  body:has(.price-page) .price-payment-section,
  body:has(.price-page) .price-children-section {
    gap: 48px !important;
    overflow: visible !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
  }

  /* TB: Figma SP 準拠の先頭余白を拡大追従 */
  body:has(.price-page) .price-main > div[class*='h-[200px]'] + div[class*='gap-[60px]'] {
    margin-top: 100px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* TB section deco */
  body:has(.price-page) .price-children-section > .price-children-section-photo {
    display: block !important;
    position: absolute !important;
    left: -50px !important;
    top: 80px !important;
    width: 260px !important;
    height: 260px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-deco {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -110px !important;
    top: 20px !important;
    width: 300px !important;
    height: 340px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.7 !important;
    overflow: hidden !important;
    background: url('../../assets/images/deco-price-children-yen-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-blur {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -140px !important;
    top: 65px !important;
    width: 360px !important;
    height: 180px !important;
    max-width: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 0.55 !important;
    filter: blur(3px) !important;
    overflow: visible !important;
    background: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body:has(.price-page) .price-children-section > .price-children-section-blur img {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 0.85 !important;
    filter: none !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-bg {
    display: block !important;
    position: absolute !important;
    left: -50px !important;
    top: 40px !important;
    width: 240px !important;
    height: 240px !important;
    max-width: none !important;
    bottom: auto !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-bg .price-payment-section-bg-sticky {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-deco {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -130px !important;
    top: -20px !important;
    width: 340px !important;
    height: 360px !important;
    max-width: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.45 !important;
    overflow: visible !important;
    transform: rotate(152.83deg) !important;
    filter: blur(4px) !important;
    background: url('../../assets/images/deco-price-adult-yen-sp.png') center / contain no-repeat !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-deco > * {
    display: none !important;
    visibility: hidden !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-blur {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: -140px !important;
    top: 30px !important;
    width: 350px !important;
    height: 175px !important;
    max-width: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: 0.55 !important;
    filter: blur(3px) !important;
    overflow: visible !important;
    background: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body:has(.price-page) .price-payment-section > .price-payment-section-blur img {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 0.85 !important;
    filter: none !important;
  }

  body:has(.price-page) .price-children-section > :not(.absolute):not([class*='price-children-section-']),
  body:has(.price-page) .price-payment-section > :not(.absolute):not([class*='price-payment-section-']) {
    position: relative !important;
    z-index: 1 !important;
  }

  body:has(.price-page) .price-main > div[class*='w-[1080px]'],
  body:has(.price-page) .price-main > div[class*='gap-[60px]'] > *,
  body:has(.price-page) .price-children-section > :not(.absolute):not([class*='price-children-section-deco']):not([class*='price-children-section-blur']):not([class*='price-children-section-photo']),
  body:has(.price-page) .price-payment-section > :not(.absolute):not([class*='price-payment-section-deco']):not([class*='price-payment-section-bg']):not([class*='price-payment-section-blur']) {
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
  }

  /* ----- Section headings ----- */
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'][class*='items-center'][class*='justify-center'][class*='max-w-[1080px]'][class*='min-w-[300px]'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 4px !important;
  }

  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='min-w-[300px]'],
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='inline-grid'][class*='min-w-[300px]'] {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-main [class*='h-[59px]'][class*='w-[120px]'] {
    height: 48px !important;
    width: 98px !important;
  }

  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[0.8px]'],
  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[1.6px]'],
  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[0.8px]'] p,
  body:has(.price-page) .price-main [class*='text-[16px]'][class*='tracking-[1.6px]'] p {
    font-size: 15px !important;
    letter-spacing: 0.7px !important;
  }

  body:has(.price-page) .price-main [class*='items-start'][class*='justify-center']:not(.price-payment-card) {
    align-items: center !important;
    justify-content: center !important;
  }

  body:has(.price-page) .price-main [class*='inline-grid'][class*='place-items-start'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    place-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'],
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'] p,
  body:has(.price-page) .price-main [class*='flex-col'][class*='gap-px'] [class*='text-[#8e5572]'][class*='text-[46px]'] span,
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'],
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'] p,
  body:has(.price-page) .price-main [class*='text-[46px]'][class*='text-[#8e5572]'] span {
    font-size: 28px !important;
    line-height: 1.3 !important;
    letter-spacing: 1.6px !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.price-page) .price-main [class*='leading-[55px]'],
  body:has(.price-page) .price-main [class*='leading-[62px]'],
  body:has(.price-page) .price-main [class*='leading-[38px]'] {
    line-height: 1.3 !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='flex-col'][class*='gap-px'] p[class*='text-[46px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p[class*='text-[46px]'] {
    font-size: 28px !important;
    line-height: 1.3 !important;
    letter-spacing: 1.6px !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='flex-col'][class*='gap-px'] p[class*='text-[36px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p[class*='text-[36px]'] {
    font-size: 22px !important;
    line-height: 1.3 !important;
    letter-spacing: 1.4px !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='max-w-[500px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='inline-grid'][class*='min-w-[300px]'] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* ----- Body copy ----- */
  body:has(.price-page) .price-main > div[class*='gap-[60px]'] > p[class*='text-[24px]'],
  body:has(.price-page) .price-main > div[class*='h-[1596px]'] > p[class*='text-[24px]'],
  body:has(.price-page) .price-payment-section > p[class*='text-[24px]'] {
    font-size: 20px !important;
    line-height: 32px !important;
    letter-spacing: 2px !important;
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body:has(.price-page) .price-main > div[class*='gap-[60px]'] > p[class*='text-[24px]']:not([class*='text-center']) {
    text-align: left !important;
  }

  /* ----- トータルフィー info box ----- */
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'],
  body:has(.price-page) .price-main [class*='w-[1080px]'][class*='rounded-[10px]'][class*='px-[40px]'] {
    width: 100% !important;
    max-width: 720px !important;
    background: #fff !important;
    border-radius: 16px !important;
    padding: 24px 32px !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] > p[class*='text-[22px]'] {
    font-size: 18px !important;
    line-height: 28px !important;
    letter-spacing: 1.1px !important;
  }

  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[18px]'],
  body:has(.price-page) .price-main [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[18px]'] p {
    font-size: 16px !important;
    line-height: 26px !important;
    letter-spacing: 0.9px !important;
  }

  /* ----- Sub-table headings ----- */
  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[32px]'],
  body:has(.price-page) .price-payment-block [class*='pb-[20px]'] > p span[class*='text-[32px]'] {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }

  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[#8e5572]'] span[class*='text-[28px]'],
  body:has(.price-page) .price-payment-block [class*='pb-[20px]'] > p span[class*='text-[28px]'] {
    font-size: 20px !important;
    letter-spacing: 1px !important;
  }

  body:has(.price-page) .price-main [class*='pb-[20px]'] > p[class*='text-[32px]'][class*='text-[#8e5572]']:not([class*='text-[0px]']) {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }

  /* ----- Price tables ----- */
  body:has(.price-page) .price-main [class*='max-w-[1080px]'][class*='min-w-[300px]'],
  body:has(.price-page) .price-payment-section [class*='max-w-[1080px]'][class*='min-w-[300px]'] {
    max-width: 720px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'],
  body:has(.price-page) .price-main [class*='h-[49px]'],
  body:has(.price-page) .price-payment-section [class*='h-[46px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] {
    height: auto !important;
    min-height: 44px !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'] > div,
  body:has(.price-page) .price-main [class*='h-[49px]'] > div,
  body:has(.price-page) .price-payment-section [class*='h-[46px]'] > div,
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] > div {
    padding: 10px 8px !important;
    align-items: center !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-payment-section [class*='h-[46px]'] [class*='text-[16px]'] {
    font-size: 14px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.7px !important;
  }

  body:has(.price-page) .price-main [class*='h-[49px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]'] [class*='leading-[22px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] [class*='text-[16px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]'] [class*='leading-[22px]'] {
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.7px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  body:has(.price-page) .price-main [class*='h-[46px]']:has(> div:nth-child(3)) [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]']:has(> div:nth-child(3)) [class*='text-[16px]'],
  body:has(.price-page) .price-main [class*='h-[49px]']:has(> div:nth-child(3)) [class*='leading-[22px]'],
  body:has(.price-page) .price-payment-section [class*='h-[49px]']:has(> div:nth-child(3)) [class*='text-[16px]'] {
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.65px !important;
  }

  body:has(.price-page) .price-main [class*='pt-[10px]'] > p[class*='text-[14px]'],
  body:has(.price-page) .price-payment-note p[class*='text-[14px]'] {
    font-size: 14px !important;
    letter-spacing: 0.7px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  body:has(.price-page) .price-main > div[class*='h-[1596px]'] > div[class*='items-center'] {
    width: 100% !important;
    max-width: 720px !important;
    gap: 48px !important;
  }

  /* ----- Clinic plan section — 当院限定！ ----- */
  body:has(.price-page) .price-clinic-plan-section {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 48px !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  body:has(.price-page) .price-clinic-plan-section[class*='gap-[100px]'] {
    gap: 48px !important;
  }

  body:has(.price-page) .price-clinic-plan-section > :not(.price-clinic-plan-list) {
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
    flex: none !important;
    margin-inline: auto !important;
  }

  body:has(.price-page) .price-clinic-plan-section > :first-child {
    align-items: center !important;
    justify-content: center !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='items-start'][class*='justify-center'] {
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='inline-grid'][class*='place-items-start'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'],
  body:has(.price-page) .price-clinic-plan-section [class*='text-[0px]'] p {
    text-align: center !important;
    width: 100% !important;
  }

  body:has(.price-page) .price-clinic-plan-section > .price-clinic-plan-list {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    align-self: center !important;
    align-items: flex-start !important;
    margin-inline: auto !important;
    gap: 10px !important;
  }

  body:has(.price-page) .price-clinic-plan-list p {
    white-space: normal !important;
    font-size: 18px !important;
    line-height: 28px !important;
    letter-spacing: 1.8px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='w-[28px]'] {
    width: 24px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='h-[23px]'][class*='w-[28px]'] {
    height: 20px !important;
    width: 24px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='pt-[7px]'] {
    padding-top: 6px !important;
  }

  body:has(.price-page) .price-clinic-plan-list [class*='gap-[13px]'] {
    gap: 12px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body:has(.price-page) .price-main [class*='gap-[13px]'][class*='items-start'][class*='w-full'] {
    gap: 12px !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  /* clinic-plan は上書き（詳細度で .price-main の center に勝つ） */
  body:has(.price-page) .price-main .price-clinic-plan-list [class*='gap-[13px]'][class*='items-start'][class*='w-full'] {
    gap: 12px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  /* ----- Payment section ----- */
  body:has(.price-page) .price-payment-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-payment-block {
    width: 100% !important;
    max-width: 720px !important;
    overflow: visible !important;
  }

  body:has(.price-page) .price-payment-card {
    min-height: 0 !important;
    padding: 24px 32px !important;
    border-radius: 16px !important;
    gap: 12px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 720px !important;
    box-sizing: border-box !important;
  }

  body:has(.price-page) .price-payment-card > p,
  body:has(.price-page) .price-payment-card > div:not(.price-payment-visual) {
    max-width: 100% !important;
    width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
  }

  body:has(.price-page) .price-payment-card > p:first-of-type {
    font-size: 18px !important;
    line-height: 28px !important;
    letter-spacing: 1.1px !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='text-[22px]'] {
    font-size: 18px !important;
    line-height: 28px !important;
    letter-spacing: 1.8px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='text-[18px]'] {
    font-size: 16px !important;
    line-height: 26px !important;
    letter-spacing: 0.9px !important;
    text-align: left !important;
  }

  body:has(.price-page) .price-payment-card [class*='gap-[13px]'] {
    gap: 12px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body:has(.price-page) .price-main .price-payment-card,
  body:has(.price-page) .price-main .price-payment-card[class*='items-start'][class*='justify-center'] {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  body:has(.price-page) .price-main .price-payment-card [class*='gap-[13px]'][class*='items-start'][class*='w-full'],
  body:has(.price-page) .price-main .price-payment-card [class*='gap-[13px]'] {
    gap: 12px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  body:has(.price-page) .price-payment-visual {
    display: none !important;
  }

  body:has(.price-page) .price-invisalign-photo,
  body:has(.price-page) .price-payment-deco-cards {
    display: none !important;
  }
}
