/* ==========================================================================
   TOP page — SP layout (Figma 260513 node 334:22495, 375px)
   HTML / PC styles unchanged — responsive overrides only
   ========================================================================== */

@media (max-width: 767px) {
  /* ----- FV hero（Figma SP 336:21834）-----
     写真（photo-top-fv-sp.jpg）とブロブ装飾（青・ピンク）を別レイヤーとして
     重ねる、Figma 本来の構成に合わせた実装。ブロブは個別の PNG を
     background-image + background-size:cover + mix-blend-mode:multiply
     で表示する（.top-fv__deco の mix-blend-mode:multiply は
     css/top-fv.css のベース定義をそのまま利用）。
     画像の差し替えは CSS の content:url() ではなく、HTML 側の
     <picture><source media="(max-width:767px)"> で行う（content:url() は
     置き換え後の画像の実サイズがブラウザによって正しく反映されず、
     実機 Safari で高さの計算がずれて余白が生じる不具合があったため）。 */
  .top-fv {
    min-height: 0 !important;
    height: 373px !important;
    margin-top: -60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #f5f2ed !important;
    overflow: visible !important;
    isolation: auto !important;
  }

  /* 写真をブロブより手前(z-index高め)に重ね、写真自体の下端を
     mask-image で透明にフェードさせることで、その透けた部分から
     ブロブの色が自然に見えるようにする（ブロブを手前に重ねると
     multiply が写真全体にかかって暗くなりすぎるため）。 */
  .top-fv__bg {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    transform: none !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%) !important;
  }

  .top-fv__bg img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  .top-fv__deco--green {
    display: none !important;
  }

  .top-fv__deco--blue img,
  .top-fv__deco--pink img {
    display: none !important;
  }

  .top-fv__deco--blue {
    display: block !important;
    left: -129px !important;
    top: -60px !important;
    width: 542.322px !important;
    height: 583.307px !important;
    transform: rotate(-12.05deg) !important;
    background: url('../../assets/images/deco-blob-blue-sp.png') 50% / cover no-repeat !important;
  }

  .top-fv__deco--pink {
    display: block !important;
    left: 98px !important;
    top: 71px !important;
    width: 506.211px !important;
    height: 499.274px !important;
    transform: rotate(-102.31deg) !important;
    background: url('../../assets/images/deco-blob-pink-sp.png') 50% / cover no-repeat !important;
  }

  /* .top-main 自体が isolation:isolate + z-index:1 で独立した重なり
     コンテキストを作っているため、内部の .top-news-section の
     z-index をいくら上げても、外側にある .top-fv__bg（z-index:3）の
     方が手前に出てしまっていた。.top-main 全体の z-index を引き上げ、
     お知らせのタイトル・アイコンが写真の滲み出しより手前に来るようにする。 */
  .top-main {
    z-index: 4 !important;
  }

  /* header.css より詳細度を上げて absolute を維持
     キャッチコピー: PC同様に白。サイズは他ページH1と同系統の 36px */
  body > div[class*='bg-[#f5f2ed]'] > section.top-fv .top-fv__title,
  .top-fv__title {
    position: absolute !important;
    left: 37px !important;
    right: auto !important;
    top: 134px !important;
    width: 301px !important;
    max-width: calc(100% - 74px) !important;
    margin: 0 !important;
    margin-inline: 0 !important;
    transform: none !important;
    color: #fff !important;
    text-align: left !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-size: 36px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 1.8px !important;
    text-shadow: 0px 7.56px 5.04px rgba(142, 85, 114, 0.7) !important;
    z-index: 6 !important;
  }

  .top-fv__title span {
    display: block !important;
    color: #fff !important;
  }

  /* ----- Main column ----- */
  .top-main,
  .top-main[class*='gap-[300px]'] {
    max-width: 100% !important;
    padding-top: 60px !important;
    gap: 60px !important;
  }

  .top-main > .top-news-section,
  .top-main > .top-calendar-section,
  .top-main > .top-children-section,
  .top-main > .top-adult-section,
  .top-main > .top-symptom-section,
  .top-main > .top-concept-section,
  .top-main > .top-treatment-section,
  .top-main > .top-director-section,
  .top-main > .top-case-section,
  .top-main > .top-price-section,
  .top-main > .top-faq-section,
  .top-main > .top-knowledge-section {
    padding-inline: 40px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-main > .top-adult-section {
    padding-inline: 0 !important;
  }

  .top-main > [class*='section'][class*='gap-[60px]'],
  .top-main > .top-symptom-section[class*='gap-[60px]'] {
    gap: 60px !important;
  }

  /* ----- Section headings (h2 block) — 他下層ページと同一（26px / アイコン 39.65×80.65） ----- */
  .top-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;
  }

  .top-main [class*='text-[46px'],
  .top-main [class*='text-[46px'] p,
  .top-main [class*='text-[46px'] 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;
  }

  .top-main [class*='leading-[62px]'],
  .top-main [class*='leading-[38px]'] {
    line-height: 35px !important;
  }

  .top-main [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'],
  .top-main [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'] p {
    color: var(--colore-2, var(--p, #636171)) !important;
    text-align: center !important;
    font-family: "Zen Maru Gothic", sans-serif !important;
    font-size: 10.753px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.538px !important;
  }

  /* h2 icon (braces) — 他ページと同サイズ */
  .top-main [class*='h-[59px]'][class*='w-[120px]'] {
    height: 39.65px !important;
    width: 80.65px !important;
  }

  /* ----- News（Figma 334:22508 — h2: 334:22510 / list: 334:22511） ----- */
  /* FV セクションの写真は overflow:visible で下のセクションまで滲み出す
     デザインのため（.top-fv__bg の z-index:3）、お知らせのタイトル・
     アイコンがその下に隠れないよう、より高い z-index を指定して手前に
     出す。 */
  .top-news-section {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    isolation: isolate !important;
  }

  .top-news-section > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ニュース一覧のラッパーは見出しラッパーの内側にネストされているため、
     祖先の align-items: center の影響で "2026.07.07" の文字幅まで縮んで
     しまっていた。区切り線がカードいっぱいに伸びるよう明示的に幅を指定。 */
  .top-news-section [class*='flex-[1_0_0]'][class*='gap-[10px]'] {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    flex: none !important;
  }

  .top-news-section [class*='text-[46px]'][class*='text-[#8e5572]'],
  .top-news-section [class*='text-[46px]'][class*='text-[#8e5572]'] p {
    font-size: 26px !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
  }

  .top-news-section [class*='leading-[38px]'],
  .top-news-section [class*='leading-[62px]'] {
    line-height: 35px !important;
  }

  .top-news-section [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'],
  .top-news-section [class*='Zen_Maru_Gothic_Medium'][class*='text-[16px'][class*='tracking-[0.8px'] p {
    color: var(--colore-2, var(--p, #636171)) !important;
    text-align: center !important;
    font-family: "Zen Maru Gothic", sans-serif !important;
    font-size: 10.753px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.538px !important;
  }

  .top-news-section [class*='text-[18px]'][class*='tracking-[1.8px]'],
  .top-news-section [class*='DemiLight'][class*='text-[18px]'] {
    font-size: 15px !important;
    line-height: 18.817px !important;
    letter-spacing: 1.21px !important;
    gap: 6.72px !important;
  }

  .top-news-section [class*='text-[18px]'][class*='tracking-[1.8px]'] p,
  .top-news-section [class*='DemiLight'][class*='text-[18px]'] p {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  .top-news-item {
    padding-top: 0 !important;
    padding-bottom: 12px !important;
    border-bottom-width: 0.672px !important;
  }

  /* ----- Section backgrounds（Figma SP 336:21832）-----
     PC/Tablet の HTML・画像は変更せず、SP のみ位置・サイズ・アセットを差し替え。
     content:url() は使わず、ラッパーに background-image を当てて img を隠す。 */

  /* 時計（image 120）— お知らせ付近 */
  .top-main > [class*='size-[1500px]'] {
    left: -101px !important;
    top: 322px !important;
    width: 383px !important;
    height: 383px !important;
    max-width: none !important;
    transform: none !important;
    translate: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .top-main > [class*='size-[1500px]'] > img {
    display: block !important;
    content: url('../../assets/images/deco-bg-news-clock-sp.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* 桃/黄 blob（image 97）— 診療受付時間カード右（Figma y≈580 / calendar相対≈188） */
  .top-main > .absolute[class*='left-[539px]'] {
    left: auto !important;
    right: -60px !important;
    top: 400px !important;
    width: 269.35px !important;
    height: 272.63px !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background: url('../../assets/images/deco-blob-peach-sp.png') center / contain no-repeat !important;
    background-color: transparent !important;
  }

  .top-main > .absolute[class*='left-[539px]'] > * {
    display: none !important;
  }

  /* ----- Calendar（Figma SP 336:43657） ----- */
  .top-main > .top-calendar-section {
    margin-inline: 20px !important;
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20.161px !important;
    padding: 40.323px 20px !important;
    border-radius: 13.441px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    box-shadow: 0 2.688px 1.344px rgba(0, 0, 0, 0.15) !important;
  }

  .top-calendar-section [class*='px-[107px]'] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .top-calendar-section [class*='w-[866px]'] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 見出しブロック */
  .top-calendar-section [class*='h-[59px]'][class*='w-[120px]'] {
    height: 39.65px !important;
    width: 80.65px !important;
  }

  .top-calendar-section [class*='text-[46px]'][class*='text-[#8e5572]'],
  .top-calendar-section [class*='text-[46px]'][class*='text-[#8e5572]'] p {
    font-size: 26px !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
    text-align: center !important;
  }

  .top-calendar-section [class*='text-[16px]'][class*='tracking-[0.8px]'],
  .top-calendar-section [class*='text-[16px]'][class*='tracking-[0.8px]'] p {
    font-size: 10.753px !important;
    line-height: normal !important;
    letter-spacing: 0.5376px !important;
    text-align: center !important;
    color: #636171 !important;
  }

  /* 診療時間カード — 提供アセット（表＋注記込み）を表示 */
  .top-calendar-section [class*='bg-[#f7f4f4]'] {
    margin-inline: 20px !important;
    width: calc(100% - 40px) !important;
    max-width: 335px !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
  }

  /* PC用のテキスト表・注記は非表示 */
  .top-calendar-section [class*='bg-[#f7f4f4]'] > * {
    display: none !important;
  }

  .top-calendar-section [class*='bg-[#f7f4f4]']::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 506 / 470 !important;
    background: url('../../assets/images/table-medical-hours-sp.png') center / contain no-repeat !important;
  }

  /* 医院情報（診療時間表下 — Figma 336:43664） */
  .top-calendar-section [class*='gap-[42px]'] {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28.226px !important;
    width: 100% !important;
    max-width: 240px !important;
    margin-inline: auto !important;
  }

  /* 院名・電話・予約ボタン */
  .top-calendar-section [class*='gap-[42px]'] > [class*='h-[170px]'] {
    width: 100% !important;
    max-width: 239.247px !important;
    height: auto !important;
    min-width: 0 !important;
    padding-top: 10.081px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section [class*='gap-[42px]'] > [class*='gap-[19px]'] {
    width: 100% !important;
    max-width: 224.462px !important;
    height: auto !important;
    min-width: 0 !important;
    align-items: flex-start !important;
    gap: 12.769px !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='w-[356px]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='w-[334px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 院名 — 11.74px */
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[26px]'][class*='text-[#8e5572]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[26px]'][class*='text-[#8e5572]'] p {
    color: #8e5572 !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important;
    font-size: 11.74px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 0.587px !important;
    white-space: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* 電話行 */
  .top-calendar-section [class*='gap-[42px]'] > [class*='h-[170px]'] [class*='gap-[10px]'][class*='py-[15px]'] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6.72px !important;
    width: 100% !important;
    max-width: 239.247px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10.081px 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    zoom: unset !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='gap-[10px]'][class*='py-[15px]'] > [class*='pt-[10px]'] {
    padding-top: 6.72px !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='size-[36.695px]'] {
    width: 24.661px !important;
    height: 24.661px !important;
    flex-shrink: 0 !important;
  }

  /* 電話番号 — Figma 22.58px */
  .top-calendar-section [class*='gap-[42px]'] a[href^='tel:'][class*='text-[50px]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[50px]'][class*='text-[#8e5572]'] {
    color: #8e5572 !important;
    font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important;
    font-size: 22.58px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 1.129px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  .top-calendar-section [class*='gap-[42px]'] 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: 1 !important;
    letter-spacing: inherit !important;
  }

  /* 予約案内 — 7.23px */
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[16px]'][class*='text-black'][class*='whitespace-nowrap'],
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[16px]'][class*='text-black'][class*='whitespace-nowrap'] p {
    color: #000 !important;
    text-align: center !important;
    font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important;
    font-size: 7.23px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: 0.3615px !important;
    white-space: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='pt-[11px]'][class*='gap-[10px]'] {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6.72px !important;
    width: 100% !important;
    padding-top: 7.392px !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='h-[36px]'][class*='w-[176px]'] {
    width: 118.28px !important;
    height: 24.194px !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='h-[44px]'][class*='w-[127px]'] {
    width: 85.349px !important;
    height: 29.57px !important;
  }

  /* 住所 — 12.1px / 左揃え */
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[18px]'][class*='tracking-[0.9px]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='text-[18px]'][class*='tracking-[0.9px]'] p {
    font-size: 12.1px !important;
    letter-spacing: 0.605px !important;
    line-height: normal !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    align-self: stretch !important;
    color: #000 !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='gap-[15px]'][class*='items-end'] {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 10.081px !important;
    width: 100% !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='h-[36px]'][class*='w-[107px]'] {
    width: 71.909px !important;
    height: 24.194px !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='size-[35px]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='size-[36px]'] {
    width: 24.194px !important;
    height: 24.194px !important;
  }

  /* ----- Children orthodontics ----- */
  .top-children-section {
    gap: 40px !important;
    align-items: center !important;
  }

  .top-children-section > :not([class*='absolute']) {
    width: 100% !important;
    max-width: 295px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  .top-children-section [class*='flex-wrap'][class*='gap-[40px_0px]'] {
    flex-direction: column !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
  }

  .top-children-section [class*='flex-wrap'][class*='gap-[40px_0px]'][class*='px-['] {
    padding-inline: 0 !important;
  }

  /* カード本体: 画像 → タイトル → ボタンの縦並び・中央揃え */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 201.613px !important;
    min-width: 0 !important;
    max-width: 201.613px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  /* 歯型画像 — 161.29×154.378px に統一（ツーバイフォー・クワドヘリックス含む） */
  .top-children-section .top-children-tooth-photo,
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='h-[229.714px]'],
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='h-[229.714px]'][class*='w-[240px]'] {
    width: 161.29px !important;
    max-width: 161.29px !important;
    height: 154.378px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    zoom: normal !important;
    margin-inline: auto !important;
    flex-shrink: 0 !important;
  }

  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='h-[229.714px]'] > img,
  .top-children-section .top-children-tooth-photo__img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: var(--obj-x, 50%) var(--obj-y, 50%) !important;
  }

  .top-children-section .top-children-tooth-photo {
    position: relative !important;
    overflow: hidden !important;
  }

  /* タイトル行 */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > div[class*='py-[10px]'] {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding-inline: 0 !important;
  }

  /* カード内 btn-s */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 6px 12px !important;
    gap: 6px !important;
    border-width: 1.34px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='text-[18.07px]'],
  .top-children-section [class*='rounded-[86'] [class*='text-[18.07px]'] p {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.35px !important;
    white-space: nowrap !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 10px !important;
    height: 3.5px !important;
    flex-shrink: 0 !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: 0 !important;
  }

  .top-children-section [class*='items-start'][class*='justify-center'] {
    align-items: center !important;
    justify-content: center !important;
  }

  .top-children-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 16.13px !important;
    letter-spacing: 0.67px !important;
  }

  .top-children-section [class*='text-[28px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 26.88px !important;
  }

  .top-children-section [class*='text-[18px]']:not([class*='text-[#8e5572]']) {
    font-size: 15px !important;
    line-height: 26.88px !important;
  }

  /* 期ラベル: 見出しと説明文（永久歯が生え揃った後…）を改行 */
  .top-children-section [class*='text-[0px]'][class*='text-center'] span[class*='text-[28px]'] {
    display: block !important;
    width: 100% !important;
  }

  .top-children-section [class*='text-[0px]'][class*='text-center'] span[class*='text-[18px]'] {
    display: block !important;
    width: 100% !important;
  }

  .top-children-section span[class*='text-[28px]']:empty {
    display: none !important;
  }

  /* 子どもの矯正 — PC用デコ（飛行機・動物など）は非表示。円形写真のみカンプ配置 */
  .top-children-plane,
  body:has(.top-main) div[class*='h-[83px]'][class*='w-[136px]']:has(img[src*='photo-children-plane']),
  body:has(.top-main) div[class*='h-[83px]'][class*='w-[136px]']:has(img[src*='0c65469e816b1bd395fb7b7f14db726abdd10227']),
  .top-children-section > .absolute:not([class*='size-[1000px]']),
  .top-children-section > [class*='absolute']:not([class*='size-[1000px]']) {
    display: none !important;
  }

  /* image 117 — 子どもたち円形背景 */
  .top-children-section > [class*='size-[1000px]'] {
    display: block !important;
    left: 50% !important;
    top: -67px !important;
    width: 325px !important;
    height: 325px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    translate: none !important;
    opacity: 0.9 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .top-children-section > [class*='size-[1000px]'] > img {
    display: block !important;
    content: url('../../assets/images/photo-children-section-bg-sp.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
    opacity: 0.9 !important;
  }

  .top-children-section {
    overflow: visible !important;
  }

  .top-children-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-children-section [class*='from-[#693851]'][class*='rounded-[100px]'] {
    max-width: 100% !important;
    width: 100% !important;
    padding: 16px 24px !important;
    gap: 10px !important;
    font-size: 15px !important;
  }

  .top-children-section [class*='from-[#693851]'][class*='rounded-[100px]'] [class*='text-[24px]'],
  .top-children-section > a.site-cta-link [class*='text-[24px]'] {
    flex: 1 1 auto !important;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.65px !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .top-children-section [class*='from-[#693851]'][class*='rounded-[100px]'] p,
  .top-children-section > a.site-cta-link [class*='text-[24px]'] p {
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.65px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  /* 一覧ボタンが大人矯正FVと重ならないよう前面に */
  /* 歯型画像 — 末尾で再指定（ツーバイフォー・クワドヘリックス） */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='w-[240px]'][class*='h-[229.714px]'] {
    position: relative !important;
    width: 161.29px !important;
    max-width: 161.29px !important;
    height: 154.378px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex-shrink: 0 !important;
    margin-inline: auto !important;
    overflow: hidden !important;
  }

  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='w-[240px]'][class*='h-[229.714px]'] > img {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: var(--obj-x, 50%) var(--obj-y, 50%) !important;
  }

  /* ツーバイフォー・クワドヘリックス img 直指定 */
  .top-children-section img[src*='photo-child-braces'],
  .top-children-section img[src*='photo-arch-expander'],
  .top-children-section img.absolute[class*='size-full'][width='240'] {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 161.29px !important;
    height: 154.378px !important;
    max-width: 161.29px !important;
    max-height: 154.378px !important;
    margin-inline: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .top-children-section > a.site-cta-link {
    position: relative !important;
    z-index: 3 !important;
  }

  /* ----- Adult orthodontics ----- */
  .top-adult-section {
    gap: 40px !important;
    z-index: 1 !important;
    align-items: center !important;
  }

  .top-adult-section > :not(.top-adult-fv-mask):not([class*='absolute']) {
    width: 100% !important;
    max-width: 295px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* SP（Figma 341:42080 / 341:42082）: 女性円形はタイトル背後中央、peach は右上 */
  .top-adult-section {
    overflow: visible !important;
  }

  .top-adult-fv-mask {
    display: block !important;
    left: 0 !important;
    right: auto !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    overflow: visible !important;
    z-index: 0 !important;
    aspect-ratio: auto !important;
  }

  /* image 111 — left:calc(50%-9.5px) size:346 top:-69 translateX(-50%) */
  .top-adult-fv-bg {
    inset: auto !important;
    left: 50% !important;
    right: auto !important;
    top: -69px !important;
    width: 346px !important;
    height: 346px !important;
    opacity: 0.9 !important;
    transform: translateX(calc(-50% - 9.5px)) !important;
    background: url('../../assets/images/photo-adult-section-bg-sp.png') center top / cover no-repeat !important;
  }

  .top-adult-fv-bg > img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .top-adult-fv-deco--pink {
    display: block !important;
    left: -120px !important;
    right: auto !important;
    top: -40px !important;
    width: 280px !important;
    height: 300px !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.4 !important;
    background: url('../../assets/images/deco-blob-adult-side-sp.png') left center / contain no-repeat !important;
    background-color: transparent !important;
  }

  .top-adult-fv-deco--pink > * {
    display: none !important;
  }

  /* image 106 — タイトル右上（白四角背景を出さない） */
  .top-adult-fv-deco--orange {
    display: block !important;
    left: auto !important;
    right: -120px !important;
    top: -40px !important;
    width: 300px !important;
    height: 320px !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
    opacity: 0.4 !important;
    background: url('../../assets/images/deco-blob-adult-peach-sp.png') right center / contain no-repeat !important;
    background-color: transparent !important;
  }

  .top-adult-fv-deco--orange > * {
    display: none !important;
  }

  .top-adult-section > :not(.top-adult-fv-mask):nth-child(2) {
    margin-top: 0 !important;
  }

  /* h2 ブロック: inline-grid の左寄せを解除（カード写真は除外） */
  .top-adult-section [class*='inline-grid'][class*='place-items-start']:not(.top-adult-mask-photo):not(.top-adult-round-photo) {
    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;
  }

  .top-adult-section [class*='items-start'][class*='justify-center'] {
    align-items: center !important;
    justify-content: center !important;
  }

  /* リード文 */
  .top-adult-section > p[class*='text-[28px]'] {
    width: 100% !important;
    max-width: 295px !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.94px !important;
  }

  /* カード一覧 */
  .top-adult-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: column !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 295px !important;
    padding-inline: 0 !important;
  }

  .top-adult-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    width: 100% !important;
    max-width: 295px !important;
    margin-inline: auto !important;
    align-items: center !important;
  }

  /* 円形写真: 175px に統一（min-w/min-h 259px の上書き） */
  .top-adult-section .top-adult-mask-photo,
  .top-adult-section .top-adult-round-photo,
  .top-adult-section [class*='size-[300px]'][class*='rounded-[780'] {
    display: block !important;
    width: 174.731px !important;
    height: 174.731px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 174.731px !important;
    max-height: 174.731px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    margin-inline: auto !important;
  }

  .top-adult-section .top-adult-mask-photo__img {
    width: 500px !important;
    height: 333px !important;
    left: -168px !important;
    top: -84px !important;
  }

  .top-adult-section .top-adult-round-photo > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* カードタイトル */
  .top-adult-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 16.13px !important;
    height: auto !important;
    width: 100% !important;
    text-align: center !important;
  }

  .top-adult-section [class*='flex-col'][class*='gap-[20px]'] [class*='h-[60px]'] {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  /* カード内ボタン — 狭幅カードに収める */
  .top-adult-section [class*='flex-col'][class*='gap-[20px]'] > [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 7px 14px !important;
    gap: 6px !important;
    border-width: 1.34px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .top-adult-section [class*='rounded-[86'] [class*='text-[16px]'],
  .top-adult-section [class*='rounded-[86'] [class*='text-[16px]'] p {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
  }

  .top-adult-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 10px !important;
    height: 3.5px !important;
    flex-shrink: 0 !important;
  }

  .top-adult-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: 0 !important;
  }

  .top-adult-section [class*='text-[18px]'][class*='text-center'] {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .top-adult-section > a.site-cta-link,
  .top-adult-section [class*='from-[#693851]'][class*='rounded-[100px]'] {
    max-width: 295px !important;
    width: 100% !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    padding: 13px 34px 17px !important;
    font-size: 15px !important;
  }

  .top-adult-section [class*='from-[#693851]'][class*='rounded-[100px]'] p {
    font-size: 15px !important;
    line-height: 21.5px !important;
    letter-spacing: 1px !important;
  }

  /* ----- Symptom ----- */
  .top-symptom-section {
    gap: 40px !important;
    padding-top: 16px !important;
    align-items: center !important;
  }

  /* Figma SP 334:22542: 2列 × 5行（gap 40px / 18px）— 不足行は左詰め */
  .top-symptom-section [class*='gap-[40px_18px]'] {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    row-gap: 40px !important;
    column-gap: 18px !important;
    width: 100% !important;
  }

  .top-symptom-section [class*='gap-[40px_18px]'] > [class*='w-[200px]'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: calc((100% - 18px) / 2) !important;
    max-width: calc((100% - 18px) / 2) !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    height: auto !important;
  }

  .top-symptom-section [class*='flex-col'][class*='gap-[15px]'] {
    align-items: center !important;
  }

  .top-symptom-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 16.13px !important;
    letter-spacing: 0.67px !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  .top-symptom-section [class*='flex-col'][class*='gap-[15px]'] [class*='h-[60px]'] {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  /* btn-s — 子ども矯正と同一、行内で下端揃え */
  /* ボタンは <a> でラップされているため、直接の子要素セレクタでは <a> までしか届かない */
  .top-symptom-section [class*='flex-col'][class*='gap-[15px]'] > a {
    align-self: center !important;
    flex-shrink: 0 !important;
    margin-top: auto !important;
    max-width: 100% !important;
  }

  /* 2列カード幅に収まる btn-s（本文15px上書きで崩れないよう小型化） */
  .top-symptom-section [class*='flex-col'][class*='gap-[15px]'] [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 7px 14px !important;
    gap: 6px !important;
    border-width: 1.34px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .top-symptom-section [class*='rounded-[86'] [class*='text-[18.07px]'],
  .top-symptom-section [class*='rounded-[86'] [class*='text-[18.07px]'] p {
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.35px !important;
    white-space: nowrap !important;
  }

  .top-symptom-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 10px !important;
    height: 3.5px !important;
    flex-shrink: 0 !important;
  }

  .top-symptom-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: 0 !important;
  }

  /* 症状別 — peach blob 背景（image 113 系） */
  .top-symptom-section {
    overflow: visible !important;
  }

  /* style.css の left:-243px より詳細度を上げて上書き */
  .top-main .top-symptom-section .symptom-deco {
    display: block !important;
    left: -40px !important;
    right: auto !important;
    top: -100px !important;
    width: 280px !important;
    height: 360px !important;
    max-width: none !important;
    transform: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    isolation: auto !important;
    z-index: 0 !important;
    pointer-events: none !important;
    overflow: visible !important;
    background: url('../../assets/images/photo-symptom-section-bg-sp-v2.png') center / contain no-repeat !important;
    background-color: transparent !important;
    background-clip: border-box !important;
    box-shadow: none !important;
  }

  .top-symptom-section .symptom-deco img {
    display: none !important;
  }


  /* 症状別カード画像 — Figma SP イラストに差し替え */
  .top-symptom-section [class*='rounded-[600']:has(img[src*='d2667b1302c61193812904128d157606fbfc4eb9']) {
    background: url('../../assets/images/symptom-sp-01.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='d2667b1302c61193812904128d157606fbfc4eb9'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='ee0669f11e4e08fee2f0376450d1cab28e957fe6']) {
    background: url('../../assets/images/symptom-sp-02.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='ee0669f11e4e08fee2f0376450d1cab28e957fe6'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='e095f3955a2ea6494b1329e4c87aa33d004dd98c']) {
    background: url('../../assets/images/symptom-sp-03.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='e095f3955a2ea6494b1329e4c87aa33d004dd98c'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='9a4df9e8b55c7144d74cd39234318b1f5b2d1828']) {
    background: url('../../assets/images/symptom-sp-04.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='9a4df9e8b55c7144d74cd39234318b1f5b2d1828'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='0eba5a69cc0820fdb3798b0abf404b6699cb6daa']) {
    background: url('../../assets/images/symptom-sp-05.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='0eba5a69cc0820fdb3798b0abf404b6699cb6daa'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='cb983b3fc1d65db783ae2805cb6604fa0efef95e']) {
    background: url('../../assets/images/symptom-sp-06.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='cb983b3fc1d65db783ae2805cb6604fa0efef95e'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='c4f7bb1c61e2bbe1cdab690a356bdd437ddabd8a']) {
    background: url('../../assets/images/symptom-sp-07.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='c4f7bb1c61e2bbe1cdab690a356bdd437ddabd8a'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='8e61c0da5cb7e840904f7180dcb292b302d67d4e']) {
    background: url('../../assets/images/symptom-sp-08.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='8e61c0da5cb7e840904f7180dcb292b302d67d4e'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='28f886c4381bfbe99379be8f761fb2f1c6311922']) {
    background: url('../../assets/images/symptom-sp-09.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='28f886c4381bfbe99379be8f761fb2f1c6311922'] {
    opacity: 0 !important;
  }
  .top-symptom-section [class*='rounded-[600']:has(img[src*='0292d59a98dd407b15b917116a9604d1ea1b2a17']) {
    background: url('../../assets/images/symptom-sp-10.png') center / cover no-repeat !important;
  }
  .top-symptom-section img[src*='0292d59a98dd407b15b917116a9604d1ea1b2a17'] {
    opacity: 0 !important;
  }

  .top-symptom-section > :not(.symptom-deco):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  /* ----- Concept ----- */
  .top-concept-section {
    flex-direction: column !important;
    gap: 40px !important;
    padding-bottom: 40px !important;
  }

  /* 矯正へのこだわり — Figma SP にセクション背景なし */
  .top-concept-section > .absolute,
  .top-concept-section > [class*='absolute'] {
    display: none !important;
  }

  .top-concept-section > :not(.absolute):not([class*='absolute']) {
    max-width: 100% !important;
  }

  .top-concept-section [class*='text-[46px]'][class*='text-[#8e5572]'],
  .top-concept-section [class*='text-[46px]'][class*='text-[#8e5572]'] p {
    font-size: 26px !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
  }

  .top-concept-section [class*='leading-[62px]'] {
    line-height: 35px !important;
  }

  .top-concept-section p[class*='text-[18px]'],
  .top-concept-section [class*='DemiLight'][class*='text-[18px]'] {
    font-size: 15px !important;
    line-height: 18.82px !important;
    letter-spacing: 1.21px !important;
    max-width: 100% !important;
  }

  /* ----- Treatment cards ----- */
  .top-treatment-section {
    margin-top: -40px !important;
    padding-top: 40px !important;
    gap: 40px !important;
  }

  .top-treatment-card {
    gap: 26px !important;
  }

  /* Figma SP: フェーズ番号＋見出しは横並び */
  .top-treatment-card > div[class*='flex-col'][class*='gap-[30px]'] {
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-treatment-card div[class*='gap-[30px]'][class*='items-center'][class*='justify-center'] {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    text-align: left !important;
  }

  .top-treatment-card div[class*='text-[28px]'] {
    text-align: left !important;
  }

  .top-treatment-section .top-treatment-photo {
    width: 300px !important;
    height: 300px !important;
    zoom: 0.672054;
    margin-inline: auto;
  }

  /* 06/07 円形写真 — Figma SP 差し替え（PC用 inline の width/left/top を打ち消し） */
  .top-treatment-section img[src*='photo-price-smiling-woman'],
  .top-treatment-section img[src*='photo-piggybank-coin'] {
    content: url('../../assets/images/photo-treatment-06-sp.png') !important;
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .top-treatment-section img[src*='photo-piggybank-coin'] {
    content: url('../../assets/images/photo-treatment-07-sp.png') !important;
  }

  .top-treatment-section .top-phase-num {
    width: 79.3px !important;
    height: 73.93px !important;
  }

  .top-treatment-card [class*='text-[28px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.94px !important;
  }

  .top-treatment-card [class*='text-[18px]'][class*='tracking-[1.8px]'] {
    font-size: 15px !important;
    line-height: 18.82px !important;
    letter-spacing: 1.21px !important;
  }

  .top-treatment-card [class*='from-[#693851]'][class*='rounded-[100px]'] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 7px 27px 9px !important;
  }

  .top-treatment-card [class*='from-[#693851]'][class*='rounded-[100px]'] p {
    font-size: 15px !important;
    letter-spacing: 0.67px !important;
  }

  /* LOVE IS BEST プロモボックス（Figma 334:22608） */
  .top-treatment-card [class*='px-[61px]'][class*='py-[41px]'][class*='rounded-[20px]'] {
    padding: 27.554px 40.995px !important;
    border-radius: 13.441px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .top-treatment-card [class*='px-[61px]'] [class*='gap-[10px]'] {
    gap: 6.72px !important;
    width: 100% !important;
    align-items: flex-start !important;
  }

  .top-treatment-card [class*='px-[61px]'] [class*='text-[32.218px]'] {
    font-size: 15px !important;
    letter-spacing: 1.0826px !important;
    text-align: left !important;
    width: 100% !important;
    white-space: nowrap !important;
  }

  .top-treatment-card [class*='px-[61px]'] [class*='DemiLight'][class*='text-[18px]'] {
    font-size: 15px !important;
    line-height: 18.817px !important;
    letter-spacing: 1.2097px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .top-treatment-card [class*='px-[61px]'] a.site-cta-link[class*='rounded-[100px]'] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 13.441px !important;
    padding: 6.72px 26.882px 9.409px !important;
    box-sizing: border-box !important;
  }

  .top-treatment-card [class*='px-[61px]'] a.site-cta-link [class*='text-[20px]'] {
    font-size: 15px !important;
    letter-spacing: 0.672px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    white-space: nowrap !important;
  }

  .top-treatment-card [class*='px-[61px]'] a.site-cta-link [class*='text-[20px]'] p {
    font-size: 15px !important;
    line-height: normal !important;
    white-space: nowrap !important;
  }

  .top-treatment-card [class*='px-[61px]'] a.site-cta-link [class*='h-[7px]'][class*='w-[25px]'] {
    width: 16.801px !important;
    height: 4.704px !important;
    flex-shrink: 0 !important;
  }

  .top-treatment-card [class*='px-[61px]'] [aria-hidden] [class*='rounded-[20px]'],
  .top-treatment-card [class*='px-[61px]'] [aria-hidden] img {
    border-radius: 13.441px !important;
  }

  /* ----- Director ----- */
  .top-director-section {
    gap: 40px !important;
    padding-inline: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* 院長 — 歯科医+子ども円形背景は非表示 */
  .top-director-section > [class*='size-[1000px]'],
  .top-director-section img[src*='photo-director-treating'],
  .top-director-section img[src*='photo-director-section-bg'] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* 右・青み blob — LOVE IS BEST カードより上 */
  .top-director-section > .absolute[class*='mix-blend-multiply'][class*='left-[447px]'] {
    left: auto !important;
    right: -80px !important;
    top: -320px !important;
    width: 280px !important;
    height: 290px !important;
    transform: none !important;
    opacity: 0.5 !important;
    mix-blend-mode: multiply !important;
    background: url('../../assets/images/deco-blob-director-right-sp.png') center / contain no-repeat !important;
    background-color: transparent !important;
    z-index: 0 !important;
  }

  .top-director-section > .absolute[class*='mix-blend-multiply'][class*='left-[447px]'] > * {
    display: none !important;
  }

  /* 左・ピンク blob — LOVE IS BEST カードより上 */
  .top-director-section > .absolute[class*='mix-blend-multiply'][class*='left-[-352px]'] {
    left: -90px !important;
    right: auto !important;
    top: -360px !important;
    width: 260px !important;
    height: 260px !important;
    transform: none !important;
    opacity: 0.5 !important;
    mix-blend-mode: multiply !important;
    background: url('../../assets/images/deco-blob-director-left-sp.png') center / contain no-repeat !important;
    background-color: transparent !important;
    z-index: 0 !important;
  }

  .top-director-section > .absolute[class*='mix-blend-multiply'][class*='left-[-352px]'] > * {
    display: none !important;
  }

  .top-director-section > :not(.absolute):not([class*='absolute']) {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* h2 — PC用クリーム色を SP 用パープルに（Figma 334:22614）
     他セクション見出し（26px）と揃える ※ #f5f2ed のため共通セレクタが当たらない */
  .top-director-section [class*='text-[#f5f2ed]'][class*='text-[46px]'],
  .top-director-section [class*='text-[#f5f2ed]'][class*='text-[46px]'] p {
    color: #8e5572 !important;
    font-size: 26px !important;
    line-height: 33px !important;
    letter-spacing: 2.6px !important;
  }

  .top-director-section [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;
  }

  /* 見出しアイコン — 他セクションと同じ SP サイズを明示 */
  .top-director-section [class*='h-[59px]'][class*='w-[120px]'] {
    height: 39.65px !important;
    width: 80.65px !important;
  }

  .top-director-section img[src*='icon-braces-cream.svg'] {
    content: url('../../assets/images/icon-braces-pink.svg') !important;
  }

  .top-director-section img[src*='icon-dental-tools-cream.svg'] {
    content: url('../../assets/images/icon-dental-tools-pink.svg') !important;
  }

  /* リード文 — 写真と重なる下余白 */
  .top-director-section [class*='pb-[350px]'] {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 235px !important;
    width: 100% !important;
  }

  .top-director-section [class*='pb-[350px]'] [class*='text-[28px]'] {
    font-size: 15px !important;
    letter-spacing: 0.9409px !important;
    line-height: normal !important;
    text-align: center !important;
  }

  /* メイン写真 — SP フルブリード（style.css 1024px の relative を上書き） */
  body:has(.top-main) .top-director-section .absolute[class*='h-[555px]'] {
    position: absolute !important;
    left: 50% !important;
    top: 239px !important;
    transform: translateX(-50%) translateY(50px) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 372.984px !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body:has(.top-main) .top-director-section .absolute[class*='h-[555px]'] img {
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
  }

  .top-director-section img[src*='photo-director-xray'] {
    content: url('../../assets/images/photo-director-sp.jpg') !important;
  }

  /* 白カード */
  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 40px 20px 50px !important;
    gap: 26px !important;
    border-radius: 13.441px !important;
    box-shadow: 0 2.688px 2.688px rgba(0, 0, 0, 0.1) !important;
    box-sizing: border-box !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[0px]'] span[class*='text-[22px]'] {
    display: block !important;
    font-size: 15px !important;
    line-height: normal !important;
    margin-top: 2px !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[0px]'] span[class*='text-[38px]'] {
    font-size: 15px !important;
    letter-spacing: 1.2769px !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] [class*='DemiLight'][class*='text-[18px]'],
  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] [class*='text-[18px]'][class*='tracking-[1.8px]'] {
    font-size: 15px !important;
    line-height: 22px !important;
    letter-spacing: 1.4px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] [class*='leading-[28px]'] {
    line-height: 22px !important;
  }

  /* btn-b — Figma SP（334:22621）2行・中央揃え */
  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] a.site-cta-link[class*='rounded-[100px]'],
  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] a.site-cta-link[class*='from-[#693851]'] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 309px !important;
    min-width: 0 !important;
    padding: 13.441px 33.602px 16.801px !important;
    gap: 13.441px !important;
    box-sizing: border-box !important;
    margin-inline: auto !important;
    flex-shrink: 0 !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] a.site-cta-link > [class*='text-[24px]'] {
    flex: 1 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    line-height: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] a.site-cta-link > [class*='text-[24px]'] p {
    font-size: 15px !important;
    line-height: 21.505px !important;
    letter-spacing: 0.8px !important;
    text-align: center !important;
    white-space: pre-line !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    max-width: 8.2em !important;
    margin-inline: auto !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] a.site-cta-link > [class*='h-[7px]'][class*='w-[25px]'] {
    width: 16.801px !important;
    height: 4.704px !important;
    flex-shrink: 0 !important;
  }

  .top-director-section [class*='text-[18px]'][class*='tracking-[0.9px]'] {
    font-size: 15px !important;
    line-height: 22px !important;
    letter-spacing: 1.4px !important;
  }

  /* ----- Case（Figma 334:22622 — card-b 縦並び） ----- */
  .top-case-section {
    gap: 40px !important;
    overflow: hidden !important;
    align-items: center !important;
  }

  /* 症例一覧 — Figma SP にセクション背景なし */
  .top-case-section > .absolute,
  .top-case-section > [class*='absolute'] {
    display: none !important;
  }

  .top-case-section [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;
  }

  /* カード一覧 — 縦1列・gap 40px */
  .top-case-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: column !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 295px !important;
    padding-inline: 0 !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    gap: 13.441px !important;
    width: 100% !important;
    max-width: 174.731px !important;
    margin-inline: auto !important;
    align-items: center !important;
  }

  /* 症例カード写真 — PC同様の長方形（角丸） */
  .top-case-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    max-width: 295px !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'][class*='items-start'][class*='w-[300px]'],
  .top-case-section a [class*='rounded-[20px]'][class*='w-[300px]'],
  .top-case-section [class*='rounded-[20px]'][class*='w-[300px]'][class*='h-[300px]'] {
    width: 295px !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    min-width: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 13.441px !important;
    background: #fff !important;
    flex-shrink: 0 !important;
    margin-inline: auto !important;
    position: relative !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] > [class*='inline-grid']:first-child {
    display: none !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] > [class*='inline-grid']:last-child {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    inset: 0 !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[33px]'],
  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='leading-[28px]'] {
    display: none !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[150px]'][class*='bg-white'] {
    width: 100% !important;
    height: 100% !important;
    border-radius: 13.441px !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[150px]'] img,
  .top-case-section [class*='rounded-[20px]'] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 13.441px !important;
  }

  /* カードタイトル */
  .top-case-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 16.13px !important;
    letter-spacing: 0.67px !important;
    height: auto !important;
    width: 100% !important;
    text-align: center !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[20px]'] [class*='h-[60px]'] {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  /* カード内 btn-s — 本文15px上書きではみ出さないよう小型化 */
  .top-case-section [class*='flex-col'][class*='gap-[20px]'] > [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 7px 14px !important;
    gap: 6px !important;
    border-width: 1.34px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .top-case-section [class*='rounded-[86'] [class*='text-[16px]'],
  .top-case-section [class*='rounded-[86'] [class*='text-[16px]'] p {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
  }

  .top-case-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 10px !important;
    height: 3.5px !important;
    flex-shrink: 0 !important;
  }

  .top-case-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: 0 !important;
  }

  /* 一覧 btn-b */
  .top-case-section > a.site-cta-link,
  .top-case-section [class*='from-[#693851]'][class*='rounded-[100px]'] {
    display: flex !important;
    width: 100% !important;
    max-width: 295px !important;
    margin-inline: auto !important;
    padding: 13px 34px 17px !important;
    gap: 13.441px !important;
    box-sizing: border-box !important;
  }

  .top-case-section [class*='from-[#693851]'][class*='rounded-[100px]'] p,
  .top-case-section > a.site-cta-link [class*='text-[24px]'] p {
    font-size: 15px !important;
    line-height: 21.5px !important;
    letter-spacing: 1px !important;
  }

  .top-case-section > a.site-cta-link [class*='h-[7px]'][class*='w-[25px]'] {
    width: 16.801px !important;
    height: 4.704px !important;
    flex-shrink: 0 !important;
  }

  /* ----- Price（Figma 341:42100 — 円形写真＋右blob） ----- */
  .top-price-section {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding-inline: 40px !important;
    overflow: visible !important;
  }

  .top-price-section > .absolute:not([class*='size-[700px]']),
  .top-price-section > [class*='absolute']:not([class*='size-[700px]']) {
    display: none !important;
  }

  /* image 101 — 貯金箱＋歯＋電卓（アートワークは画像上部） */
  .top-price-section > [class*='size-[700px]'] {
    display: block !important;
    left: 50% !important;
    top: -70px !important;
    width: 285px !important;
    height: 285px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    opacity: 1 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .top-price-section > [class*='size-[700px]'] > img {
    display: block !important;
    content: url('../../assets/images/photo-price-section-bg-sp.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  .top-price-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 295px !important;
    flex: none !important;
  }

  .top-price-section [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;
  }

  .top-price-section [class*='text-[46px]'],
  .top-price-section [class*='text-[46px]'] p {
    font-size: 26px !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
  }

  .top-price-section [class*='leading-[62px]'] {
    line-height: 35px !important;
  }

  .top-price-section p[class*='text-[18px]'] {
    font-size: 15px !important;
    line-height: 18.82px !important;
    letter-spacing: 1.21px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  /* ----- FAQ（Figma SP — Q&A透かし背景） ----- */
  .top-faq-section {
    gap: 40px !important;
    align-items: center !important;
    overflow: visible !important;
    padding-inline: 40px !important;
  }

  /* Q&A 透かし（image 95）以外の左右デコは非表示 */
  .top-faq-section > .absolute[class*='h-[538px]'],
  .top-faq-section > [class*='absolute'][class*='h-[538px]'],
  .top-faq-section > [class*='blur-'],
  .top-faq-section [class*='sticky'] {
    display: none !important;
  }

  .top-faq-section > .absolute:has(img[src*='deco-first-visit']),
  .top-faq-section > [class*='absolute']:has(img[src*='9417f2d']),
  .top-faq-section > [class*='absolute']:has(img[src*='8223f9e']) {
    display: none !important;
  }

  /* image 95 — Q&A 背景 */
  .top-faq-section {
    position: relative !important;
    overflow: visible !important;
  }

  .top-faq-section::before {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: -13px !important;
    width: 301px !important;
    height: 139px !important;
    transform: translateX(-50%) !important;
    background: url('../../assets/images/deco-faq-qa-sp.png') center / contain no-repeat !important;
    opacity: 0.9 !important;
    filter: blur(5px) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .top-faq-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-faq-section [class*='sticky'],
  .top-faq-section [class*='blur-'] {
    display: none !important;
  }

  .top-faq-section > :not(.absolute):not([class*='absolute']) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-faq-section [class*='w-[515px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-faq-section [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;
  }

  .top-faq-section [class*='text-[46px]'],
  .top-faq-section [class*='text-[46px]'] p {
    font-size: 26px !important;
    line-height: 35px !important;
    letter-spacing: 1.3px !important;
  }

  .top-faq-section [class*='leading-[62px]'] {
    line-height: 35px !important;
  }

  /* アコーディオン一覧 */
  .top-faq-section [class*='cursor-pointer'][class*='flex-col'][class*='gap-[10px]'] {
    gap: 6.72px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-faq-section .faq-accordion-item {
    width: 100% !important;
    max-width: 100% !important;
    padding: 6.72px 16px !important;
    border-radius: 13.441px !important;
    box-shadow: 0 2.688px 1.344px rgba(0, 0, 0, 0.1) !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  .top-faq-section .faq-accordion-item--featured {
    background: #fff !important;
  }

  .top-faq-section .faq-accordion-item--open {
    gap: 20.161px !important;
  }

  .top-faq-section .faq-accordion__question {
    gap: 20.161px !important;
    padding-block: 6.72px !important;
    width: 100% !important;
    align-items: flex-start !important;
  }

  .top-faq-section .faq-accordion-item--open .faq-accordion__panel {
    margin-top: 0 !important;
  }

  .top-faq-section .faq-accordion__q {
    font-size: 40.32px !important;
    line-height: 53.763px !important;
    letter-spacing: 2.016px !important;
    width: auto !important;
    min-width: 31px !important;
    flex-shrink: 0 !important;
  }

  .top-faq-section .faq-accordion__question-text {
    font-size: 15px !important;
    line-height: 18.817px !important;
    letter-spacing: 1.478px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .top-faq-section .faq-accordion-item--featured .faq-accordion__question-text {
    line-height: 18px !important;
  }

  .top-faq-section .faq-accordion__icon {
    width: 10.753px !important;
    height: 10.753px !important;
    flex-shrink: 0 !important;
  }

  .top-faq-section .faq-accordion__panel-inner > div {
    gap: 20.161px !important;
    padding-top: 6.72px !important;
    padding-bottom: 20.161px !important;
    padding-right: 0 !important;
    align-items: flex-start !important;
  }

  .top-faq-section .faq-accordion__panel-inner > div > p:first-child {
    font-size: 40.32px !important;
    line-height: 53.763px !important;
    width: auto !important;
    min-width: 31px !important;
    flex-shrink: 0 !important;
  }

  .top-faq-section .faq-accordion__panel-inner > div > p:last-child {
    font-size: 15px !important;
    line-height: 22px !important;
    letter-spacing: 1.4px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /* 一覧 btn-b */
  .top-faq-section .top-faq-cta,
  .top-faq-section a.site-cta-link[class*='rounded-[100px]'] {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding: 13.441px 33.602px 16.801px !important;
    gap: 13.441px !important;
    box-sizing: border-box !important;
  }

  .top-faq-section .top-faq-cta p,
  .top-faq-section a.site-cta-link[class*='rounded-[100px]'] p {
    font-size: 15px !important;
    line-height: 21.5px !important;
    letter-spacing: 1px !important;
  }

  .top-faq-section .top-faq-cta [class*='h-[7px]'],
  .top-faq-section a.site-cta-link [class*='h-[7px]'][class*='w-[25px]'] {
    width: 16.801px !important;
    height: 4.704px !important;
    flex-shrink: 0 !important;
  }

  /* ----- Knowledge（Figma 334:22642 — card-b 縦並び） ----- */
  .top-knowledge-section {
    gap: 40px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  /* 基礎知識 — MFTガイド円形（image 124）。左右blobは非表示 */
  .top-knowledge-section > [class*='absolute']:not([class*='size-[1000px]']) {
    display: none !important;
  }

  .top-knowledge-section > [class*='size-[1000px]'] {
    display: block !important;
    left: 50% !important;
    top: -48px !important;
    width: 357px !important;
    height: 357px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    translate: none !important;
    opacity: 1 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .top-knowledge-section > [class*='size-[1000px]'] > img {
    display: block !important;
    content: url('../../assets/images/deco-knowledge-mft-guide-sp.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  .top-knowledge-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-knowledge-section [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;
  }

  .top-knowledge-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: column !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 295px !important;
    padding-inline: 0 !important;
  }

  .top-knowledge-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    gap: 13.441px !important;
    width: 100% !important;
    max-width: 174.731px !important;
    margin-inline: auto !important;
    align-items: center !important;
  }

  .top-knowledge-section [class*='size-[300px]'],
  .top-knowledge-section [class*='rounded-[780'] {
    width: 174.731px !important;
    height: 174.731px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 174.731px !important;
    max-height: 174.731px !important;
    flex-shrink: 0 !important;
    margin-inline: auto !important;
  }

  .top-knowledge-section [class*='min-h-[259'] {
    min-height: 0 !important;
  }

  .top-knowledge-section [class*='min-w-[259'] {
    min-width: 0 !important;
  }

  .top-knowledge-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 15px !important;
    line-height: 16.13px !important;
    letter-spacing: 0.67px !important;
    height: auto !important;
    width: 100% !important;
    text-align: center !important;
  }

  .top-knowledge-section [class*='flex-col'][class*='gap-[20px]'] [class*='h-[60px]'] {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  .top-knowledge-section [class*='flex-col'][class*='gap-[20px]'] [class*='leading-[24px]'] {
    line-height: 16.13px !important;
  }

  /* カード内 btn-s — 症例と同様 */
  .top-knowledge-section [class*='flex-col'][class*='gap-[20px]'] > [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 7px 14px !important;
    gap: 6px !important;
    border-width: 1.34px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .top-knowledge-section [class*='rounded-[86'] [class*='text-[16px]'],
  .top-knowledge-section [class*='rounded-[86'] [class*='text-[16px]'] p {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
  }

  .top-knowledge-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 10px !important;
    height: 3.5px !important;
    flex-shrink: 0 !important;
  }

  .top-knowledge-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: 0 !important;
  }

  /* ----- Footer (TOP) — Figma 334:22648 ----- */
  .top-footer {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-top: 120px !important;
    padding-inline: 0 !important;
    padding-bottom: 60px !important;
    gap: 60px !important;
    overflow-x: hidden !important;
  }

  /* マップ — 左右余白なし / 外観写真 — 左右余白あり */
  .top-footer > [class*='aspect-[3050'] {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    align-self: stretch !important;
    border-radius: 0 !important;
  }

  /* 医院外観写真 — 左右余白（マップは全幅のまま） */
  .top-footer > [class*='aspect-[1944'] {
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    margin-inline: 40px !important;
    align-self: center !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .top-footer > [class*='aspect-[3050'] img {
    border-radius: 0 !important;
  }

  .top-footer > [class*='aspect-[1944'] img {
    border-radius: 10px !important;
  }

  /* マップ以外のフッターコンテンツは40px余白 */
  .top-footer > :not([class*='aspect-[3050']):not([class*='aspect-[1944']) {
    padding-inline: 40px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .top-main[class*='gap-[300px]'] + .top-footer,
  body:has(.top-main) .top-footer {
    margin-top: 0 !important;
  }

  /* サイトマップ — Figma 334:22648 / 182:1959（2列・左寄せ） */
  .top-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;
  }

  .top-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;
  }

  .top-footer > [class*='gap-[36px]'] [class*='items-center'] {
    align-items: flex-start !important;
  }

  .top-footer > [class*='gap-[36px]'] [class*='text-center'] {
    text-align: left !important;
  }

  .top-footer > [class*='gap-[36px]'] [class*='gap-[20px]'] {
    gap: 13.44px !important;
  }

  .top-footer > [class*='gap-[36px]'] .site-footer-link,
  .top-footer > [class*='gap-[36px]'] .site-footer-link p {
    text-align: left !important;
  }

  /* 左列 — 一般リンク（Figma SP: 10.753px / 22.849px） */
  .top-footer > [class*='gap-[36px]'] > div:first-child {
    font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Hiragino Sans', sans-serif !important;
    font-weight: 700 !important;
    color: var(--color-primary, #8e5572) !important;
  }

  .top-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;
  }

  /* 見出し — 大人の矯正 / 医院紹介 / 子どもの矯正 / 症状別（Figma SP: 10.753px / 17.473px） */
  .top-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;
  }

  /* サブリンク — インビザライン等（Figma SP: 9.409px / 17.473px） */
  .top-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'],
  .top-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;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-thickness: auto !important;
    text-underline-offset: auto !important;
    text-underline-position: from-font !important;
  }

  .top-footer > [class*='gap-[36px]'] p[class*='text-[#636171]'] span[class*='underline'] {
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 17.473px !important;
    letter-spacing: 0.941px !important;
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration-line: inherit !important;
    text-underline-position: inherit !important;
  }

  /* ロゴ・住所ブロック */
  .top-footer [class*='max-w-[840px]'] {
    max-width: 100% !important;
    gap: 20px !important;
    align-items: center !important;
  }

  .top-footer [class*='gap-[41px_60px]'] {
    flex-direction: column !important;
    align-items: center !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .top-footer [class*='gap-[41px_60px]'] [class*='px-[30px]'] {
    padding-inline: 0 !important;
    width: 100% !important;
    align-items: center !important;
  }

  .top-footer [class*='aspect-[3635'] {
    min-height: 0 !important;
    min-width: 0 !important;
    max-width: 260px !important;
    width: 100% !important;
    margin-inline: auto !important;
  }

  .top-footer [class*='gap-[41px_60px]'] [class*='text-[18px]'] {
    font-size: 14px !important;
    line-height: 22px !important;
    letter-spacing: 0.7px !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  /* 予約CTA + 電話番号 */
  .top-footer [class*='gap-[0px_32px]'] {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .top-footer [class*='gap-[0px_32px]'] > [class*='flex-col'] {
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  /* 精密検査予約（相談）はこちら — Figma SP */
  .top-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;
  }

  .top-footer [class*='gap-[0px_32px]'] [class*='text-[16px]'][class*='text-[color:var(--p'] {
    font-size: 12px !important;
    line-height: 18px !important;
  }

  .top-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;
  }

  .top-footer [class*='gap-[0px_32px]'] [class*='inline-grid'] [class*='col-1'] {
    position: relative !important;
    margin: 0 !important;
    width: auto !important;
  }

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

  /* フッター電話番号 — Figma SP */
  .top-footer [class*='gap-[0px_32px]'] a[href^='tel:'][class*='text-[42px]'],
  .top-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;
  }

  .top-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;
  }

  /* LINE / EPARK / MAP / SNS */
  .top-footer [class*='gap-[17px]'] {
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .top-footer [class*='gap-[17px]'] > [class*='inline-grid'] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-footer [class*='gap-[17px]'] [class*='col-1'] {
    position: relative !important;
    margin: 0 !important;
    grid-column: unset !important;
    grid-row: unset !important;
    flex-shrink: 0 !important;
  }

  .top-footer [class*='gap-[17px]'] [class*='h-[36px]'][class*='w-[176px]'] {
    width: 140px !important;
    height: 29px !important;
  }

  .top-footer [class*='gap-[17px]'] [class*='h-[44px]'][class*='w-[127px]'] {
    width: 100px !important;
    height: 35px !important;
  }

  .top-footer [class*='gap-[17px]'] [class*='h-[36px]'][class*='w-[107px]'] {
    width: 85px !important;
    height: 29px !important;
  }

  .top-footer [class*='gap-[17px]'] [class*='size-[35px]'],
  .top-footer [class*='gap-[17px]'] [class*='size-[36px]'] {
    width: 30px !important;
    height: 30px !important;
  }

  .top-footer [class*='min-w-[300px]'] {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-footer [class*='max-w-[390px]'],
  .top-footer [class*='max-w-[404px]'] {
    max-width: 100% !important;
  }

  .top-footer > [class*='max-w-[840px]'] > [class*='text-[14px]'] {
    font-size: 12px !important;
    line-height: 22px !important;
    letter-spacing: 1.2px !important;
  }

  /* ----- ネット予約（追従ボタン）— SP 非表示 ----- */
  body:has(.top-main) a:has(> .reservation-btn),
  body:has(.top-main) .reservation-btn {
    display: none !important;
  }
}

/* ==========================================================================
   TOP page — Tablet layout (768px–1024px)
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  /* ----- Shell ----- */
  .top-main,
  .top-main[class*='gap-[300px]'] {
    max-width: 100% !important;
    padding-top: 0 !important;
    gap: 80px !important;
  }

  .top-main > .top-news-section,
  .top-main > .top-children-section,
  .top-main > .top-adult-section,
  .top-main > .top-symptom-section,
  .top-main > .top-concept-section,
  .top-main > .top-treatment-section,
  .top-main > .top-director-section,
  .top-main > .top-case-section,
  .top-main > .top-price-section,
  .top-main > .top-faq-section,
  .top-main > .top-knowledge-section {
    padding-inline: 60px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-main > [class*='section'][class*='gap-[60px]'],
  .top-main > .top-symptom-section[class*='gap-[60px]'] {
    gap: 48px !important;
  }

  /* セクション背景 — 表示は残しつつ、中央寄せ translate は壊さない */
  .top-main > .absolute:not(.top-children-plane) {
    opacity: 1 !important;
  }

  /* left-1/2 + -translate-x-1/2 系は中央復元（scale 打ち消しで transform:none しない） */
  .top-main > [class*='-translate-x-1/2'],
  .top-children-section > [class*='-translate-x-1/2'],
  .top-director-section > [class*='-translate-x-1/2'],
  .top-knowledge-section > [class*='-translate-x-1/2'],
  .top-case-section > [class*='-translate-x-1/2'],
  .top-faq-section > [class*='-translate-x-1/2'],
  .top-price-section > [class*='-translate-x-1/2'] {
    left: 50% !important;
    transform: translateX(-50%) !important;
    opacity: 1 !important;
  }

  /* 時計背景 — PC同様、カード左背後（はみ出しすぎない位置） */
  .top-main > [class*='size-[1500px]'] {
    left: -40px !important;
    top: 180px !important;
    width: 620px !important;
    height: 620px !important;
    max-width: none !important;
    transform: none !important;
    opacity: 0.8 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  /* 桃blob — 右端に収めてカードと被りすぎないように */
  .top-main > .absolute[class*='left-[539px]'] {
    left: auto !important;
    right: -80px !important;
    top: 280px !important;
    width: 380px !important;
    height: 380px !important;
    transform: none !important;
    opacity: 0.8 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  /* ----- FV -----
     写真をフローに乗せてセクション高さを確保。PC absolute / height:1000px を打ち消す。 */
  .top-fv {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    background: #f5f2ed !important;
    overflow: visible !important;
  }

  .top-fv__bg {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    transform: none !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%) !important;
  }

  .top-fv__bg img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  /* PC 絶対座標のブロブは狭幅で崩れるため非表示 */
  .top-fv__deco--green,
  .top-fv__deco--blue,
  .top-fv__deco--pink {
    display: none !important;
  }

  body > div[class*='bg-[#f5f2ed]'] > section.top-fv .top-fv__title,
  .top-fv__title {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 42% !important;
    width: calc(100% - 80px) !important;
    max-width: 720px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: clamp(28px, 4.2vw, 40px) !important;
    line-height: 1.35 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-shadow: 0 11.25px 7.5px rgba(142, 85, 114, 0.7) !important;
    z-index: 6 !important;
  }

  .top-main {
    z-index: 4 !important;
    position: relative !important;
  }

  /* ----- Section headings ----- */
  .top-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;
  }

  .top-main [class*='text-[46px]'][class*='text-[#8e5572]'],
  .top-main [class*='text-[46px]'][class*='text-[#8e5572]'] p {
    font-size: 32px !important;
    line-height: 1.3 !important;
    letter-spacing: 1.6px !important;
  }

  .top-main [class*='leading-[62px]'] {
    line-height: 1.3 !important;
  }

  .top-main [class*='text-[16px]'][class*='tracking-[0.8px]'],
  .top-main [class*='text-[16px]'][class*='tracking-[0.8px]'] p {
    font-size: 15px !important;
    letter-spacing: 0.7px !important;
  }

  .top-main [class*='h-[59px]'][class*='w-[120px]'] {
    height: 44px !important;
    width: 90px !important;
  }

  .top-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;
  }

  /* ----- News ----- */
  .top-news-section {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 32px !important;
    position: relative !important;
    z-index: 5 !important;
  }

  .top-news-section > * {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .top-news-section [class*='flex-[1_0_0]'][class*='gap-[10px]'] {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    flex: none !important;
  }

  /* ----- Calendar（中央寄せ・子どもの矯正背景とのかぶり防止） ----- */
  .top-main > .top-calendar-section {
    position: relative !important;
    z-index: 6 !important;
    margin-inline: auto !important;
    width: calc(100% - 120px) !important;
    max-width: 720px !important;
    padding: 40px 20px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section {
    gap: 32px !important;
    border-radius: 16px !important;
  }

  .top-calendar-section [class*='px-[107px]'] {
    padding-inline: 0 !important;
  }

  .top-calendar-section [class*='w-[866px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-calendar-section [class*='bg-[#f7f4f4]'] {
    margin-inline: -20px !important;
    width: calc(100% + 40px) !important;
    max-width: none !important;
    padding-block: 24px !important;
    padding-inline: 0 !important;
    gap: 24px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section [class*='bg-[#f7f4f4]'] > div:first-child {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    height: auto !important;
  }

  .top-medical-hours {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 844 / 241;
    flex-shrink: 0 !important;
    transform: none !important;
    zoom: unset !important;
    margin-inline: auto !important;
  }

  .top-medical-hours p {
    font-size: calc((100vw - 80px) * 20 / 844) !important;
    letter-spacing: calc((100vw - 80px) * 1 / 844) !important;
    line-height: normal !important;
  }

  .top-calendar-section [class*='bg-[#f7f4f4]'] > div:nth-child(2) {
    padding-inline: 24px !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section [class*='gap-[42px]'] {
    flex-direction: column !important;
    align-items: center !important;
    gap: 32px !important;
    width: 100% !important;
  }

  .top-calendar-section [class*='gap-[42px]'] > [class*='h-[170px]'],
  .top-calendar-section [class*='gap-[42px]'] > [class*='gap-[19px]'] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-inline: 24px !important;
    box-sizing: border-box !important;
  }

  .top-calendar-section [class*='gap-[42px]'] [class*='w-[356px]'],
  .top-calendar-section [class*='gap-[42px]'] [class*='w-[334px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ----- Children — 装飾・3列グリッド／診療時間カード・大人セクションとのかぶり防止 ----- */
  .top-main > .top-children-section {
    position: relative !important;
    z-index: 4 !important;
    overflow: visible !important;
    padding-top: 120px !important;
    padding-bottom: 48px !important;
  }

  .top-children-section {
    gap: 48px !important;
    align-items: center !important;
  }

  .top-children-section > a.site-cta-link,
  .top-children-section [class*='from-[#693851]'][class*='rounded-[100px]'] {
    position: relative !important;
    z-index: 3 !important;
  }

  .top-children-plane,
  .top-children-section > .absolute,
  .top-children-section > [class*='absolute'] {
    opacity: 1 !important;
  }

  /* 子ども円形写真 — 診療時間カードに食い込まないよう下げる */
  .top-children-section > [class*='size-[1000px]'] {
    left: 50% !important;
    top: 24px !important;
    width: 640px !important;
    height: 640px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    opacity: 0.9 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  /* 太陽 — 右上に収める（PC left:826 は狭幅で画面外） */
  .top-children-section > [class*='left-[826px]'] {
    left: auto !important;
    right: -60px !important;
    top: 0 !important;
    width: 260px !important;
    height: 250px !important;
    transform: none !important;
    z-index: 0 !important;
  }

  /* うさぎ低木 — カード下・右端へ（歯型カードと被らない） */
  .top-children-section > [class*='left-[-88px]'] {
    left: auto !important;
    right: -20px !important;
    top: auto !important;
    bottom: -20px !important;
    width: 280px !important;
    height: auto !important;
    transform: scale(0.75) !important;
    transform-origin: bottom right !important;
    z-index: 0 !important;
  }

  /* 蝶 */
  .top-children-section > [class*='left-[71px]'] {
    left: 24px !important;
    top: auto !important;
    bottom: 120px !important;
    transform: scale(0.8) !important;
    z-index: 0 !important;
  }

  /* 木 — 右端・高さ抑制（大人セクションへのはみ出し防止） */
  .top-children-section > [class*='left-[841'] {
    left: auto !important;
    right: -220px !important;
    top: 80px !important;
    width: 340px !important;
    height: 980px !important;
    max-height: 980px !important;
    overflow: hidden !important;
    transform: scale(0.65) !important;
    transform-origin: top right !important;
    z-index: 0 !important;
  }

  /* 左ぼかしblob — 診療時間カードに食い込まないよう下げる */
  .top-children-section > [class*='left-[-368'] {
    left: -220px !important;
    top: 40px !important;
    transform: scale(0.55) !important;
    transform-origin: top left !important;
    opacity: 0.9 !important;
  }

  /* 雲 — カードと被りすぎないよう小さく左へ */
  .top-children-section > [class*='left-[-115px]'] {
    left: -120px !important;
    top: 240px !important;
    transform: scale(0.7) !important;
    opacity: 0.7 !important;
    z-index: 0 !important;
  }

  /* 飛行機 — 見出し文字の左外側へ（PC同様に本文と非交差） */
  .top-children-plane {
    left: -72px !important;
    top: 610px !important;
    width: 120px !important;
    height: 73px !important;
    transform: none !important;
    z-index: 1 !important;
  }

  /* 子ども見出し（0期・一期など）を中央揃え */
  .top-children-section > [class*='text-[0px]'],
  .top-children-section > p[class*='text-[0px]'],
  .top-children-section > [class*='text-center'] {
    text-align: center !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  .top-children-section > :not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  /* 3列 CSS Grid — 中央揃え */
  .top-children-section [class*='flex-wrap'][class*='gap-[40px_0px]'] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    justify-content: center !important;
    align-items: start !important;
    gap: 40px 24px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  /* カード本体 — グリッド列幅に収める */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    flex: none !important;
  }

  /* 歯型写真 — style.css .top-children-tooth-photo を使用 */
  .top-children-section .top-children-tooth-photo,
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='h-[229.714px]'] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 240 / 229.714 !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }

  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > div[class*='py-[10px]'] {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding-inline: 0 !important;
  }

  /* カード内 btn-s — 大人／症例などと同じサイズに揃える */
  .top-children-section [class*='flex-col'][class*='gap-[11px]'] > [class*='rounded-[86'] {
    display: flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 9px 26px 8.696px !important;
    gap: 13px !important;
    border-width: 2px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='text-[18.07px]'],
  .top-children-section [class*='rounded-[86'] [class*='text-[18.07px]'] p {
    font-size: 16px !important;
    line-height: normal !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='h-[5'] {
    width: 14.783px !important;
    height: 5.217px !important;
    flex-shrink: 0 !important;
  }

  .top-children-section [class*='rounded-[86'] [class*='h-[5'] > div[class*='absolute'] {
    inset: -19.17% -11.74% -19.17% -6.76% !important;
  }

  .top-children-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 13.44px !important;
    line-height: 16.13px !important;
    letter-spacing: 0.67px !important;
    text-align: center !important;
  }

  /* ----- Adult — 3列・円形写真／子どもCTAとのかぶり防止 ----- */
  .top-adult-section {
    position: relative !important;
    z-index: 4 !important;
    gap: 48px !important;
    align-items: center !important;
    padding-top: 120px !important;
    padding-bottom: 48px !important;
  }

  /* PC同様に大人矯正の円形背景＋blobを表示 */
  .top-adult-fv-mask {
    display: block !important;
  }

  .top-adult-section > :not(.top-adult-fv-mask):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .top-adult-section > p[class*='text-[28px]'] {
    max-width: 100% !important;
    font-size: 22px !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  .top-adult-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  .top-adult-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    flex: 0 1 200px !important;
    width: 200px !important;
    max-width: calc((100% - 56px) / 3) !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  .top-adult-section .top-adult-mask-photo,
  .top-adult-section .top-adult-round-photo,
  .top-adult-section [class*='size-[300px]'][class*='rounded-[780'] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin-inline: auto !important;
  }

  .top-adult-section .top-adult-mask-photo__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    object-fit: cover !important;
  }

  .top-adult-section .top-adult-round-photo > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .top-adult-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 16px !important;
    line-height: 22px !important;
  }

  /* ----- Symptom — 3列・不足行は左詰め ----- */
  .top-symptom-section {
    gap: 48px !important;
    align-items: center !important;
  }

  .top-symptom-section [class*='gap-[40px_18px]'] {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    row-gap: 40px !important;
    column-gap: 18px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  .top-symptom-section [class*='gap-[40px_18px]'] > [class*='w-[200px]'] {
    flex: 0 0 calc((100% - 36px) / 3) !important;
    width: calc((100% - 36px) / 3) !important;
    max-width: calc((100% - 36px) / 3) !important;
    min-width: 0 !important;
  }

  .top-symptom-section .symptom-deco {
    opacity: 1 !important;
  }

  /* ----- Concept / Treatment ----- */
  .top-concept-section {
    flex-direction: column !important;
    align-items: center !important;
    gap: 48px !important;
    padding-bottom: 48px !important;
  }

  .top-concept-section > .absolute,
  .top-concept-section > [class*='absolute'] {
    opacity: 1 !important;
  }

  /* コンセプト中央blobは中央維持、左右は端に収める */
  .top-concept-section > [class*='left-[39px]'] {
    left: 50% !important;
    transform: translateX(-50%) scale(0.7) !important;
    transform-origin: center top !important;
  }

  .top-concept-section > [class*='left-[-463'] {
    left: -280px !important;
    transform: scale(0.55) !important;
    transform-origin: top left !important;
  }

  .top-concept-section > [class*='left-[575px]'] {
    left: auto !important;
    right: -220px !important;
    transform: scale(0.55) !important;
    transform-origin: top right !important;
  }

  .top-treatment-section {
    position: relative !important;
    z-index: 6 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 64px !important;
    gap: 48px !important;
    overflow: visible !important;
  }

  /* LOVE IS BEST バナーを前面に（院長背景と非交差） */
  .top-treatment-section [class*='rounded-[20px]'][class*='overflow-clip'][class*='px-[61px]'],
  .top-treatment-section [class*='rounded-[20px]'][class*='py-[41px]'] {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-treatment-card {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    gap: 32px !important;
  }

  /* 最終カード（content-start）も中央揃え */
  .top-treatment-card[class*='content-start'],
  .top-treatment-card[class*='items-start'] {
    align-items: center !important;
    justify-content: center !important;
  }

  .top-treatment-card[class*='content-start'] > *,
  .top-treatment-card[class*='items-start'] > * {
    margin-inline: auto !important;
  }

  .top-treatment-section .top-treatment-photo {
    width: 300px !important;
    height: 300px !important;
    zoom: 0.85;
    margin-inline: auto !important;
  }

  .top-treatment-card [class*='px-[61px]'][class*='py-[41px]'][class*='rounded-[20px]'] {
    padding: 28px 32px !important;
    border-radius: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ----- Director — 装飾はPC同様、写真はフロー／上バナーとのかぶり防止 ----- */
  .top-director-section {
    position: relative !important;
    z-index: 5 !important;
    gap: 48px !important;
    overflow: visible !important;
    margin-top: 24px !important;
    padding-top: 120px !important;
    padding-bottom: 64px !important;
  }

  .top-director-section > .absolute[class*='mix-blend-multiply'],
  .top-director-section > .absolute[class*='h-[1079'],
  .top-director-section > .absolute[class*='h-[879'] {
    opacity: 1 !important;
  }

  /* 円形写真 — 負の top を抑え、LOVEバナーに食い込まない */
  .top-director-section > [class*='-translate-x-1/2'][class*='size-[1000px]'] {
    left: 50% !important;
    top: 48px !important;
    transform: translateX(-50%) !important;
    width: 480px !important;
    height: 480px !important;
    opacity: 1 !important;
    z-index: 0 !important;
  }

  /* 院長左右blob — 端に収めて上方向へのはみ出しも抑制 */
  .top-director-section > .absolute[class*='h-[1079'],
  .top-director-section > [class*='h-[1079'] {
    left: -260px !important;
    top: 40px !important;
    transform: scale(0.5) !important;
    transform-origin: top left !important;
    z-index: 0 !important;
  }

  .top-director-section > .absolute[class*='h-[879'],
  .top-director-section > [class*='h-[879'] {
    left: auto !important;
    right: -200px !important;
    top: 20px !important;
    transform: scale(0.5) !important;
    transform-origin: top right !important;
    z-index: 0 !important;
  }

  .top-director-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-director-section [class*='text-[#f5f2ed]'][class*='text-[46px]'] {
    color: #fff !important;
  }

  .top-director-section [class*='pb-[350px]'] {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 32px !important;
    width: 100% !important;
  }

  body:has(.top-main) .top-director-section .absolute[class*='h-[555px]'] {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1080 / 555;
    margin: 0 auto 32px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    z-index: 1 !important;
    pointer-events: auto !important;
  }

  body:has(.top-main) .top-director-section .absolute[class*='h-[555px]'] img {
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 16px !important;
  }

  .top-director-section img[src*='photo-director-xray'] {
    content: url('../../assets/images/photo-director-sp.jpg') !important;
  }

  .top-director-section [class*='bg-[rgba(255,255,255,0.8)]'] {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 40px 32px 48px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  /* CTA を症例背景より前面に */
  .top-director-section a.site-cta-link {
    position: relative !important;
    z-index: 3 !important;
  }

  /* ----- Case — 3列・円形AFTER写真／院長CTAとのかぶり防止 ----- */
  .top-case-section {
    position: relative !important;
    z-index: 4 !important;
    gap: 48px !important;
    align-items: center !important;
    overflow: visible !important;
    isolation: isolate !important;
    padding-top: 104px !important;
    padding-bottom: 56px !important;
  }

  .top-case-section > .absolute,
  .top-case-section > [class*='absolute'] {
    opacity: 1 !important;
    z-index: 0 !important;
  }

  /* 症例円形背景 — 上方向への食い込みを抑制 */
  .top-case-section > [class*='-translate-x-1/2'][class*='size-[1000px]'],
  .top-case-section > [class*='size-[1000px]'] {
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    width: 520px !important;
    height: 520px !important;
  }

  .top-case-section > .absolute:not([class*='size-[1000px]']),
  .top-case-section > [class*='absolute']:not([class*='size-[1000px]']) {
    transform: scale(0.55) !important;
    transform-origin: center top !important;
    top: 20px !important;
  }

  .top-case-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-case-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-content: flex-start !important;
    gap: 40px 24px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    gap: 16px !important;
    align-items: center !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'][class*='items-start'][class*='w-[300px]'] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #fff !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin-inline: auto !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] > [class*='inline-grid']:first-child {
    display: none !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] > [class*='inline-grid']:last-child {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    inset: 0 !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[33px]'],
  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='leading-[28px]'] {
    display: none !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[150px]'][class*='bg-white'] {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 0 !important;
    position: relative !important;
  }

  .top-case-section [class*='flex-col'][class*='gap-[5px]'] [class*='h-[150px]'] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
  }

  .top-case-section [class*='text-[20px]'][class*='text-[#8e5572]'] {
    font-size: 14px !important;
    line-height: 18px !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* ----- Price / FAQ — セクション間かぶり・見切れ防止 ----- */
  .top-price-section,
  .top-faq-section {
    flex-direction: column !important;
    align-items: center !important;
    gap: 48px !important;
    overflow: visible !important;
  }

  .top-price-section {
    position: relative !important;
    z-index: 4 !important;
    padding-top: 112px !important;
    padding-bottom: 56px !important;
    min-height: 360px !important;
  }

  .top-price-section > .absolute,
  .top-price-section > [class*='absolute'] {
    opacity: 1 !important;
    z-index: 0 !important;
  }

  /* 料金円形写真 — 上への食い込みを抑えて中央配置 */
  .top-price-section > [class*='size-[700px]'] {
    left: 50% !important;
    top: -20px !important;
    width: 400px !important;
    height: 400px !important;
    transform: translateX(-50%) !important;
  }

  /* 料金の左右blobは狭幅で本文に被るため非表示（円形写真のみ残す） */
  .top-price-section > .absolute:not([class*='size-[700px]']),
  .top-price-section > [class*='absolute']:not([class*='size-[700px]']) {
    display: none !important;
  }

  .top-price-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-faq-section {
    position: relative !important;
    z-index: 3 !important;
    padding-top: 100px !important;
    padding-bottom: 64px !important;
  }

  .top-faq-section > .absolute,
  .top-faq-section > [class*='absolute'] {
    opacity: 1 !important;
    z-index: 0 !important;
  }

  /* Q&A 左右背景 — 見切れを減らして端に収める */
  .top-faq-section > [class*='h-[538px]'][class*='left-[697px]'],
  .top-faq-section > .absolute[class*='left-[697px]'] {
    left: auto !important;
    right: -40px !important;
    top: 40px !important;
    width: 300px !important;
    height: 300px !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .top-faq-section > [class*='h-[538px]'][class*='left-[-367px]'],
  .top-faq-section > .absolute[class*='left-[-367px]'] {
    left: -40px !important;
    top: 40px !important;
    width: 300px !important;
    height: 300px !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .top-faq-section > [class*='h-[538px]'] img,
  .top-faq-section > .absolute[class*='h-[538px]'] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* 中央 Q&A 透かし — 上端・左右が見切れないよう余白内に収める */
  .top-faq-section > [class*='left-1/2'][class*='pointer-events-none'],
  .top-faq-section > .absolute[class*='left-1/2'] {
    left: 50% !important;
    top: 24px !important;
    bottom: auto !important;
    width: min(480px, 78vw) !important;
    height: 280px !important;
    max-height: 280px !important;
    transform: translateX(-50%) !important;
    overflow: hidden !important;
  }

  .top-faq-section > [class*='left-1/2'] [class*='sticky'],
  .top-faq-section > .absolute[class*='left-1/2'] [class*='sticky'] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  .top-faq-section > [class*='left-1/2'] img,
  .top-faq-section > .absolute[class*='left-1/2'] img {
    position: relative !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* sticky 装飾は残し、操作干渉だけ防ぐ */
  .top-faq-section [class*='sticky'] {
    pointer-events: none !important;
  }

  .top-faq-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-faq-section a.site-cta-link,
  .top-faq-section .top-faq-cta {
    position: relative !important;
    z-index: 3 !important;
  }

  .top-price-section > *,
  .top-faq-section > :not(.absolute):not([class*='absolute']) {
    width: 100% !important;
    max-width: 720px !important;
  }

  .top-faq-section [class*='w-[515px]'] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ----- Knowledge — FAQ CTA とのかぶり防止 ----- */
  .top-knowledge-section {
    position: relative !important;
    z-index: 2 !important;
    gap: 48px !important;
    align-items: center !important;
    margin-top: 16px !important;
    padding-top: 120px !important;
    padding-bottom: 32px !important;
  }

  .top-knowledge-section > [class*='absolute'] {
    opacity: 1 !important;
    z-index: 0 !important;
  }

  .top-knowledge-section > [class*='-translate-x-1/2'],
  .top-knowledge-section > [class*='size-[1000px]'] {
    left: 50% !important;
    top: 40px !important;
    transform: translateX(-50%) !important;
    width: 480px !important;
    height: 480px !important;
  }

  .top-knowledge-section > .absolute:not([class*='size-[1000px]']),
  .top-knowledge-section > [class*='absolute']:not([class*='size-[1000px]']) {
    transform: scale(0.5) !important;
    top: 40px !important;
  }

  .top-knowledge-section > :not(.absolute):not([class*='absolute']) {
    position: relative !important;
    z-index: 2 !important;
  }

  .top-knowledge-section [class*='flex-wrap'][class*='gap-[40px]'][class*='items-start'] {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  .top-knowledge-section [class*='flex-col'][class*='gap-[20px]'][class*='items-center'] {
    flex: 0 1 200px !important;
    width: 200px !important;
    max-width: calc((100% - 56px) / 3) !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  .top-knowledge-section [class*='size-[300px]'],
  .top-knowledge-section [class*='rounded-[780'] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
  }

  .top-knowledge-section [class*='min-h-[259'],
  .top-knowledge-section [class*='min-w-[259'] {
    min-height: 0 !important;
    min-width: 0 !important;
  }

  /* ----- Adult FV 背景 — 子どもCTAに食い込まないよう下げる ----- */
  .top-adult-fv-mask {
    display: block !important;
    left: 50% !important;
    top: 40px !important;
    width: 640px !important;
    height: 640px !important;
    max-width: none !important;
    margin-left: 0 !important;
    aspect-ratio: auto !important;
    transform: translateX(-50%) !important;
    z-index: 0 !important;
    -webkit-mask-image: radial-gradient(
      ellipse 50% 50% at 50% 40%,
      #000 58%,
      transparent 100%
    ) !important;
    mask-image: radial-gradient(
      ellipse 50% 50% at 50% 40%,
      #000 58%,
      transparent 100%
    ) !important;
  }

  .top-adult-fv-bg {
    inset: 0 !important;
    opacity: 0.9 !important;
    background: none !important;
    transform: none !important;
  }

  .top-adult-fv-bg > img {
    display: block !important;
    opacity: 0.9 !important;
    object-fit: cover !important;
    object-position: center top !important;
    content: none !important;
  }

  .top-adult-fv-deco--pink {
    display: block !important;
    left: -260px !important;
    top: 60px !important;
    transform: scale(0.48) !important;
    transform-origin: 30% 25% !important;
    opacity: 0.9 !important;
    background: none !important;
    z-index: 0 !important;
  }

  .top-adult-fv-deco--pink > * {
    display: block !important;
  }

  .top-adult-fv-deco--orange {
    display: block !important;
    right: -220px !important;
    left: auto !important;
    top: 140px !important;
    transform: scale(0.5) !important;
    transform-origin: 70% 30% !important;
    opacity: 0.9 !important;
    background: none !important;
    z-index: 0 !important;
  }

  .top-adult-fv-deco--orange > * {
    display: block !important;
  }

  /* symptom deco — 左端に収めつつ見えすぎない位置 */
  .top-main .top-symptom-section .symptom-deco {
    left: -80px !important;
    top: -180px !important;
    width: 520px !important;
    height: auto !important;
    max-width: 70vw !important;
    opacity: 0.95 !important;
    transform: none !important;
    background-color: transparent !important;
  }

  /* Footer — header.css 全ページ共通タブレット定義を使用 */
}

/* 375px canvas — Figma base width */
@media (max-width: 375px) {
  .top-main,
  .top-main[class*='gap-[300px]'] {
    padding-top: 60px !important;
    gap: 60px !important;
  }
}
