@charset "UTF-8";
/* 栃内歯科医院 インプラントLP — Figma 622:147 準拠 / PC=1920カンプ(内容幅1280) SP=390カンプ */
:root{
  --green:#508888; --deep:#184848; --navy:#204870; --gold:#a89050; --gold2:#b8a048;
  --text:#373d42; --pale:#f0f4f0; --beige:#f0ece8;
  --serif:"Noto Serif JP",serif; --sans:"Noto Sans JP",sans-serif;
  --en:"Crimson Text",serif; --num:"Barlow",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--serif);color:var(--text);background:#fff;overflow-x:hidden;line-height:1.65}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;height:auto}
em{font-style:normal}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sp{display:none}
.tb{text-box:trim-both cap alphabetic}
.k4{letter-spacing:-.04em}.k12{letter-spacing:-.12em}.p4{letter-spacing:.04em}

/* ===================== PC (>=1024) ===================== */
@media (min-width:1024px){
  /* 1024〜1279 はカンプ1280幅をそのまま縮小表示 */
  .stg{position:relative;width:1280px;margin:0 auto}

  /* ---------- header ---------- */
  .hd{position:absolute;z-index:20;top:0;left:0;right:0;height:96px;display:flex;justify-content:space-between;
      padding:0 max(24px,calc((100% - 1536px)/2))}
  .hd__logo{display:flex;align-items:flex-start;gap:28px;padding-top:8px}
  .hd__mark{position:relative;display:block;width:102px;height:86px;overflow:hidden}
  .hd__mark img{position:absolute;width:406.35%;height:106.65%;max-width:none;left:-1.81%;top:-3.32%}
  .hd__name{position:relative;display:block;width:392px;height:87.635px;overflow:hidden}
  .hd__name img:first-child{position:absolute;width:143.59%;height:142.19%;max-width:none;left:-39.58%;top:-18.41%}
  .hd__name .hd__nameline{position:absolute;left:0;top:59.37px;width:392px;height:1px}
  .hd__cta{display:flex}
  .hd__tel,.hd__web{position:relative;display:block;width:280px;height:96px;color:#fff}
  .hd__tel{background:rgba(32,72,112,.95)}
  .hd__web{background:rgba(168,144,80,.86)}
  .hd__tel::after,.hd__web::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.65);pointer-events:none}
  .hd__lbl{position:absolute;top:12px;left:0;right:0;text-align:center;font-family:var(--serif);font-weight:500;font-size:16px;line-height:1;letter-spacing:.08em}
  .hd__tel .hd__lbl{left:106px;right:auto}
  .hd__web .hd__lbl{left:83px;right:auto;letter-spacing:.04em}
  .hd__num{position:absolute;left:27px;top:34px;display:flex;gap:5px;align-items:center;font-family:var(--num);font-weight:600;font-size:32px;line-height:1;letter-spacing:.04em}
  .hd__num img{width:17px;height:23px}
  .hd__hours{position:absolute;left:0;width:281px;top:67px;text-align:center;font-family:"Inter",sans-serif;font-weight:300;font-size:14px;line-height:1;letter-spacing:.02em}
  .hd__webtxt{position:absolute;left:49px;top:40px;display:flex;align-items:center;gap:16px;font-family:var(--sans);line-height:1}
  .hd__webtxt img{width:18px;height:29px}
  .hd__webtxt b{font-weight:700;font-size:32px;letter-spacing:.08em}
  .hd__webtxt b.yoyaku{font-weight:900;font-size:27px;margin-left:-16px;letter-spacing:.08em}
  .hd__chev{position:absolute;left:252px;top:38px;width:9.6px;height:17.6px}

  /* ---------- FV ---------- */
  .fv{position:relative;height:968px;overflow:hidden;background:#fff url(../img/fv_bg.jpg) center top/1920px 968px no-repeat}
  .fv__grp{position:absolute;top:0;left:max(24px,calc(50% - 680px));width:728px;height:968px}
  .fv__box{position:absolute;left:80px;top:232px;width:584px;height:352px}
  .fv__box::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.5);transform:rotate(-5deg)}
  .fv__box::after{content:"";position:absolute;inset:0;background:var(--green);mix-blend-mode:multiply}
  .fv__ttl{position:absolute;z-index:1;left:315.5px;top:24px;transform:translateX(-50%);white-space:nowrap;text-align:center;
           color:#fff;font-weight:300;font-size:72px;line-height:1.1;letter-spacing:.02em}
  .fv__line{position:absolute;z-index:1;left:40px;top:216px;width:488px;height:1px;background:#fff}
  .fv__sub{position:absolute;z-index:1;left:300.5px;top:240px;transform:translateX(-50%);white-space:nowrap;text-align:center;
           color:#fff;font-weight:300;font-size:32px;line-height:1.25;letter-spacing:.1em}
  .fv__badges li{position:absolute;width:240px;height:240px}
  .fv__badges .b1{left:0;top:632px}.fv__badges .b2{left:244px;top:680px}.fv__badges .b3{left:488px;top:632px}
  .fv__badges img{position:absolute;left:-.86px;top:-.86px;width:241.6px;height:241.7px}
  .fv__badges p{position:absolute;left:0;right:0;text-align:center;white-space:nowrap;color:rgba(55,61,66,.9);font-weight:400;font-size:30px;line-height:1.35}
  .fv__badges em{color:var(--gold)}
  .fv__badges .b1 p{top:58px}.fv__badges .b1 em{font-size:38px;line-height:1.15}
  .fv__badges .b2 p{top:56px}.fv__badges .b2 em{font-size:40px;line-height:1.2}
  .fv__badges .b3 p{top:58px;left:5px}.fv__badges .b3 em{font-size:36px;line-height:1.2;letter-spacing:-.08em}

  /* ---------- 治療の種類（インプラント / オールオン4） ---------- */
  .type{position:relative;height:584px;overflow:hidden}
  .type__bg{position:absolute;top:0;width:50%;height:584px;background-repeat:no-repeat;background-size:960px 584px}
  .type__bg--l{left:0;background-image:url(../img/type_bgL.jpg);background-position:right top}
  .type__bg--r{right:0;background-image:url(../img/type_bgR.jpg);background-position:left top}
  .type .stg{height:584px}
  .tcard{position:absolute;top:120px;width:576px;height:368px;background:rgba(255,255,255,.8);box-shadow:4px 8px 12px rgba(0,0,0,.12)}
  .tcard--impl{left:0}.tcard--ao4{left:704px}
  .tcard__head{position:absolute;left:60px;top:-32px;width:456px;height:64px;background:var(--deep);color:#fff;font-weight:300}
  .tcard__ja{position:absolute;left:72px;top:11px;font-size:36px;line-height:1;letter-spacing:-.04em;white-space:nowrap}
  .tcard--ao4 .tcard__ja{left:78px}
  .tcard__en{position:absolute;top:18px;font-size:18px;line-height:1;letter-spacing:.04em;white-space:nowrap;padding-bottom:12px;border-bottom:1px solid #fff}
  .tcard--impl .tcard__en{left:304px;width:76px;text-align:center}
  .tcard--ao4 .tcard__en{left:304px;width:80px;text-align:center}
  .tcard__en sup{font-size:.55em;vertical-align:top;line-height:1}
  .tcard__img{position:absolute;left:40px;top:48px;width:248px;height:184px;object-fit:cover}
  .tcard__point{position:absolute;left:232px;top:96px;width:304px;height:80px}
  .tcard__point::before{content:"";position:absolute;left:48px;top:8px;width:264px;height:80px;background:rgba(221,221,221,.7);z-index:-1}
  .tcard__point::after{content:"";position:absolute;inset:0;background:url(../img/type_label.svg) 0 0/304px 80px no-repeat}
  .tcard__point>span{position:absolute;z-index:1;left:32px;top:20px;white-space:nowrap;color:var(--navy);font-weight:300;font-size:24px;line-height:1.65;
                     background:linear-gradient(transparent 24px,#fff0a0 24px,#fff0a0 36px,transparent 36px) no-repeat 0 0/264px 100%}
  .tcard--ao4 .tcard__point>span{left:36px;background-size:256px 100%}
  .tcard__point small{font-size:18px}
  .tcard__rec{position:absolute;left:40px;top:248px;width:192px;height:88px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
              text-align:center;color:var(--gold);font-family:var(--sans);font-weight:350;font-size:20px;line-height:1.5}
  .tcard__list{position:absolute;left:272px;top:240px}
  .tcard__list li{position:relative;padding-left:36px;font-weight:300;font-size:20px;line-height:1.65;white-space:nowrap}
  .tcard__list li::before{content:"";position:absolute;left:0;top:8px;width:24px;height:24px;background:url(../img/ic_check_gold.svg) 0 0/24px 24px}
  .tcard__note{position:absolute;left:146px;top:339px;font-weight:300;font-size:15px;line-height:1.65;white-space:nowrap}

  /* ---------- PROBLEM ---------- */
  .prob{position:relative;height:928px;overflow:hidden;background:var(--beige)}
  .prob__photo{position:absolute;top:0;left:calc(50% - 960px);width:1664px;height:928px;background:url(../img/problem_bg.jpg) 0 0/1664px 928px no-repeat}
  .prob__body{position:absolute;top:0;left:min(calc(50% + 32px),calc(100% - 756px));width:690px;height:928px}
  .prob__en{position:absolute;left:0;width:350px;top:62px;text-align:center;font-family:var(--en);font-size:64px;line-height:1;letter-spacing:.15em;color:rgba(0,0,0,.1)}
  .prob__ttl{position:absolute;left:0;top:117px;font-weight:400;white-space:nowrap}
  .prob__ttl .l1{display:block;font-size:40px;line-height:96px;height:62px;margin-left:1px}
  .prob__ttl .l1 .xl{font-size:48px}
  .prob__ttl .l2{display:block;font-size:40px;line-height:102px;margin-left:-2px}
  .prob__ttl em{color:var(--gold2);font-size:68px}
  .prob__ttl .ka{letter-spacing:-.15em}
  .prob__ttl .q{font-size:56px}
  .prob__list{position:absolute;left:0;top:320px;display:flex;flex-direction:column;gap:16px}
  .prob__list li{display:flex;align-items:center;gap:32px;width:var(--w);height:76px;padding-left:36px;border-radius:8px;background:rgba(255,255,255,.8);
                 font-weight:300;font-size:24px;line-height:1.2;letter-spacing:.1em;white-space:nowrap}
  .prob__list li::before{content:"";flex:none;width:32.2px;height:22.3px;margin:-1.4px -1.4px -2.8px -1.4px;background:url(../img/ic_check_line.svg) center/contain no-repeat}

  /* ---------- 個別無料相談 (622:164) ---------- */
  .cons{position:relative;height:2424px;overflow:hidden;background:#083030}
  .cons::before{content:"";position:absolute;left:0;right:0;top:1108px;height:4px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons__banner{position:absolute;z-index:2;left:0;right:0;top:0;height:256px;background:url(../img/c_banner.svg) center top/100% 256px no-repeat}
  .cons__banner::after{content:"";position:absolute;left:0;right:0;top:163px;height:82px;background:url(../img/c_bannerline.svg) center top/100% 82px no-repeat}
  .cons__banner p{position:absolute;left:0;right:0;top:44px;text-align:center;color:#fff;font-weight:400;letter-spacing:.036em;white-space:nowrap}
  .cons__banner .s{display:block;font-size:40px;line-height:1.35}
  .cons__banner .l{display:block;font-size:56px;line-height:1.35;letter-spacing:.04em}
  .cons__photo{position:absolute;left:0;right:0;top:176px;height:936px;background:url(../img/cons_photo.jpg) center top/cover no-repeat}
  .cons__ivory{position:absolute;left:0;right:0;top:1112px;height:744px;background:url(../img/cons_bg.jpg) center top/cover no-repeat}
  .cons::before,.cons::after{z-index:1}
  .cons__ivory::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons .stg{height:2424px}
  /* 字間は最終字の後ろにも付き中央が左へずれるため、中央揃えの英字見出しは字間の半分（左右指定は字間ぶんの padding）で補正する */
  .cons__en{position:absolute;padding-left:26px;left:0;right:0;top:241px;text-align:center;font-family:var(--en);font-size:104px;line-height:1;letter-spacing:26px;color:#cfcfcf;mix-blend-mode:soft-light;white-space:nowrap}
  .cons__ttl{position:absolute;left:0;right:0;top:376px;text-align:center;font-weight:400;white-space:nowrap}
  .cons__ttl .s{display:block;font-size:48px;line-height:1.2;letter-spacing:.06em;color:#fff}
  .cons__ttl .l{display:block;font-size:64px;line-height:1.2;letter-spacing:2.88px;color:#e8c878}
  .cons__lead{position:absolute;left:13px;right:0;top:552px;text-align:center;color:#fff;font-weight:400;font-size:20px;line-height:2;letter-spacing:.08em;white-space:nowrap}
  .cons__img{position:absolute;left:0;top:680px;width:592px;height:360px}
  .cons__catch{position:absolute;left:704px;top:704px;color:#fff;font-weight:400;font-size:32px;line-height:1.35;letter-spacing:2px;white-space:nowrap}
  .cons__catch em{color:#e8c878;font-size:40px}
  .cons__txt{position:absolute;left:704px;top:840px;width:576px;color:#fff;font-weight:400;font-size:20px;line-height:2}
  .cons__h3{position:absolute;left:0;right:0;top:1194px;text-align:center;color:var(--navy);font-weight:400;font-size:48px;line-height:1.25;letter-spacing:1.92px;white-space:nowrap}
  .cons__line{position:absolute;left:280px;top:1255px;width:720px;height:1px}
  .ccard{position:absolute;top:1336px;width:592px;height:280px;background:#fff;border-radius:24px;box-shadow:0 2px 20px rgba(0,0,0,.12)}
  .ccard--1{left:0}.ccard--2{left:688px}
  .ccard::before{content:"";position:absolute;left:236px;top:-16px;width:120px;height:96px;background:url(../img/cons_badge.svg) 0 0/120px 96px no-repeat}
  .ccard::after{content:"";position:absolute;left:243px;top:-16px;width:106px;height:96px;background:url(../img/cons_badge2.svg) 0 0/106px 96px no-repeat}
  .ccard__no{position:absolute;z-index:1;left:256px;width:80px;top:-6px;text-align:center;font-family:var(--en);font-size:64px;line-height:1;color:#fff}
  .ccard--2 .ccard__no{left:256.5px}
  .ccard__ttl{position:absolute;top:87px;color:var(--gold);font-weight:600;font-size:28px;line-height:1.8;letter-spacing:.05em;white-space:nowrap}
  .ccard--1 .ccard__ttl{left:194px}.ccard--2 .ccard__ttl{left:135px}
  .ccard__ic{position:absolute;height:auto}
  .ccard--1 .ccard__ic{left:76.5px;top:137.5px;width:122.991px}
  .ccard--2 .ccard__ic{left:94px;top:149px;width:78px}
  .ccard__txt{position:absolute;top:160px;width:320px;font-family:var(--sans);font-weight:300;font-size:18px;line-height:1.8}
  .ccard--1 .ccard__txt{left:240px}.ccard--2 .ccard__txt{left:232px}
  .cons__note{position:absolute;left:0;right:0;top:1680px;text-align:center;font-weight:300;font-size:20px;line-height:1.8;letter-spacing:.1em;white-space:nowrap}

  /* CTA ブロック（相談セクション下部・共通） */
  .cta{position:absolute;left:0;top:1856px;width:1280px;height:568px}
  .cta__ttl{position:absolute;left:4px;right:-4px;top:68px;text-align:center;color:#fff;font-weight:500;font-size:40px;line-height:1.4;letter-spacing:2px;white-space:nowrap}
  .cta__ttl span{font-size:42px}
  .cta__ttl::before{content:"";position:absolute;left:266px;top:-.5px;width:752.731px;height:65.5px;background:url(../img/cta_ttl.svg) 0 0/100% 100% no-repeat}
  .cta__tel,.cta__web{position:absolute;top:200px;width:608px;height:200px;color:#fff;overflow:hidden}
  .cta__tel{left:0;background:#286058}
  .cta__web{left:672px;background:var(--gold)}
  .cta__tel::before,.cta__web::before{content:"";position:absolute;left:272px;top:0;width:336px;height:200px;background:url(../img/cta_ovL.svg) 0 0/336px 200px no-repeat}
  .cta__web::before{background-image:url(../img/cta_ovR.svg)}
  .cta__tel::after,.cta__web::after{content:"";position:absolute;inset:12px;border:1px solid #ddd}
  .cta__web::after{border-color:#fff}
  .cta__tellbl{position:absolute;left:0;right:0;top:33px;text-align:center;font-family:var(--sans);font-weight:350;font-size:22px;line-height:1.5;letter-spacing:.08em;white-space:nowrap}
  .cta__num{position:absolute;left:88px;top:77px;display:flex;align-items:center;gap:16px;font-family:var(--en);font-size:68px;letter-spacing:1.9px;line-height:1;white-space:nowrap}
  .cta__num img{width:37px;height:50px;margin:-1.5px}
  .cta__hours{position:absolute;left:304.5px;top:146px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;white-space:nowrap;font-family:var(--sans);font-weight:300;font-size:22px;line-height:1.5;letter-spacing:.08em}
  .cta__hours .cl{letter-spacing:-.12em}
  .cta__pill{display:flex;align-items:center;justify-content:center;width:104px;height:28px;border-radius:3px;background:#fff;color:var(--text);font-weight:350;font-size:18px;letter-spacing:.08em}
  .cta__webtxt{position:absolute;left:135px;top:59px;display:flex;align-items:flex-start;gap:24px;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.25);white-space:nowrap}
  .cta__webtxt img{width:70px;height:54px;margin:-2px}
  .cta__webtxt .g{position:relative;top:-2px;display:block;width:251px;height:56px}
  .cta__webtxt .w{position:absolute;left:0;top:0;font-size:56px;letter-spacing:3.92px}
  .cta__webtxt .y{position:absolute;left:144px;top:1px;font-size:50px;letter-spacing:3.5px}
  .cta__weblbl{position:absolute;left:226px;top:140px;font-weight:500;font-size:24px;line-height:1;letter-spacing:.08em;white-space:nowrap}
  .cta__chev{position:absolute;left:551.3px;top:89.3px;width:15.707px;height:29.414px}
  .cta__foot{position:absolute;left:0;right:0;top:456px;text-align:center;color:#fff;font-weight:500;font-size:22.5px;line-height:1.6;letter-spacing:.05em;white-space:nowrap}

  /* ---------- 失った歯の影響 (622:167) ---------- */
  .loss{position:relative;height:960px;background:var(--beige)}
  .loss .stg{height:960px}
  .loss__img{position:absolute;top:0;right:calc(50% + 48px);width:min(744px,calc(50% - 64px));height:auto;aspect-ratio:744/504}
  .loss__ttl{position:absolute;left:640px;top:95px;width:638px;font-weight:500;letter-spacing:2.4px;line-height:0;white-space:nowrap}
  .loss__ttl .ln{display:block}
  .loss__ttl span{font-size:40px;line-height:1.2}
  .loss__ttl em{font-size:64px;line-height:1.2;color:var(--gold2)}
  .loss__line{position:absolute;left:640px;top:286px;width:638px;height:1px}
  .loss__txt{position:absolute;left:640px;top:328px;font-weight:300;font-size:20px;line-height:2;white-space:nowrap}
  .loss__cards{position:absolute;left:0;top:464px;display:flex;gap:20px}
  .loss__cards li{width:240px;height:200px;border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
  .loss__cards p{text-align:center;font-weight:300;font-size:22px;line-height:1.35;white-space:nowrap;color:#333}
  .loss__cards .c1 p{color:var(--text)}
  .loss__cards .c2{gap:20px}.loss__cards .c3{padding-top:8px}.loss__cards .c5{padding-bottom:16px}
  .loss__cards .c1 img{width:99.428px;height:66.515px;margin:0 0 0 -1px}
  .loss__cards .c2 img{width:121.173px;height:86.376px;margin:-1px -.42px -1px -.76px}
  .loss__cards .c3 img{width:152.173px;height:58.293px;margin:0 -.42px 0 -.76px}
  .loss__cards .c4 img{width:145.393px;height:60px;margin:-1px 0 0 -.39px}
  .loss__cards .c5 img{width:117.179px;height:69.666px;margin:-.38px -1px -1px -.17px}
  .loss__p1{position:absolute;left:114px;top:748px;font-weight:400;font-size:24px;line-height:2;letter-spacing:.05em;white-space:nowrap}
  .loss__p2{position:absolute;left:106px;top:800px;color:var(--gold2);font-weight:500;font-size:29px;line-height:2;letter-spacing:.05em;white-space:nowrap}
  .loss__p2 b{font-weight:500;font-size:41px}
  .loss__line2{position:absolute;left:112px;top:866px;width:760px;height:1px}
  .loss__woman{position:absolute;left:858px;top:646px;width:416px;height:314px;overflow:hidden}
  .loss__woman img{position:absolute;max-width:none;left:-43.9%;top:-5.63%;width:143.92%;height:106.87%}

  /* ---------- RESTORING YOUR BITE (622:168) ---------- */
  .bite{position:relative;height:1200px;overflow:hidden;background:#e0e8e0}
  .bite::before{content:"";position:absolute;top:-15px;left:calc(50% - 960px);width:2168px;height:1215px;background:url(../img/bite_tex.jpg) 0 0/100% 100% no-repeat;mix-blend-mode:multiply;opacity:.7}
  .bite .stg{height:1200px}
  .bite__model{position:absolute;top:296px;left:min(calc(50% - 360px),calc(100% - 1152px));width:1320px;height:864px}
  .bite__model>img{position:relative;width:1320px;height:864px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
  .bite__model::before{content:"";position:absolute;left:104px;top:680px;width:800px;height:160px;background:radial-gradient(closest-side,rgba(136,136,136,.6),rgba(136,136,136,0));mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.2626) 0,#000 292px);mask-image:linear-gradient(90deg,rgba(0,0,0,.2626) 0,#000 292px)}
  .blabel{position:absolute;left:888px;width:240px}
  .blabel::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.8)}
  .blabel::after{content:"";position:absolute;left:-144px;width:144px;height:16px;background:url(../img/bite_lead.svg) 0 0/144px 16px no-repeat}
  .blabel.b1{top:48px;height:136px}.blabel.b1::after{top:60px}
  .blabel.b2{top:240px;height:136px}.blabel.b2::after{top:60px}
  .blabel.b3{top:432px;height:160px}.blabel.b3::after{top:72px}
  .blabel p{position:absolute;left:24px;color:var(--text);font-weight:500;letter-spacing:1.1px;white-space:nowrap;line-height:0}
  .blabel.b1 p{top:20px}.blabel.b2 p{top:18px}.blabel.b3 p{top:18px}
  .blabel span{display:block}
  .blabel .t{font-size:28px;line-height:1.2;letter-spacing:1.4px}
  .blabel.b2 .t{letter-spacing:.56px}
  .blabel .s{font-size:22px;line-height:1.2;margin-left:-.55em}
  .blabel .d1,.blabel .d2{font-weight:400;font-size:18px}
  .blabel .d1{line-height:1.8}.blabel .d2{line-height:1.2}
  .bite__en{position:absolute;left:0;right:0;top:0;text-align:center;font-family:var(--en);font-size:112px;line-height:2;letter-spacing:16.8px;color:#fff;opacity:.45;white-space:nowrap}
  .bite__ttl{position:absolute;left:0;right:0;top:128px;font-size:56px;text-align:center;font-weight:400;letter-spacing:2.88px;line-height:0;white-space:nowrap}
  .bite__ttl .ln{display:block}
  .bite__ttl span{font-size:48px;line-height:1.25}
  .bite__ttl .a{font-size:56px;letter-spacing:-.04em}
  .bite__ttl .no{letter-spacing:-.36em}
  .bite__ttl em{font-size:64px;line-height:1.25;color:var(--gold2)}
  .bite__ttl em.kc{letter-spacing:-.36em}
  .bite__hl{position:absolute;left:0;height:20px;background:rgba(255,255,255,.7)}
  .bite__hl.h1{top:448px;width:624px}.bite__hl.h2{top:506px;width:604px}
  .bite__lead{position:absolute;left:0;top:376px;font-weight:300;font-size:36px;line-height:1.6;letter-spacing:.04em;white-space:nowrap}
  .bite__pills li{position:absolute;left:0;width:648px;height:112px;border-radius:64px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.25)}
  .bite__pills .p1{top:600px}.bite__pills .p2{top:736px}.bite__pills .p3{top:872px}
  .bite__pills li::after{content:"";position:absolute;left:151.5px;top:20px;width:1px;height:72px;background:#b89838}
  .bite__pills img{position:absolute}
  .bite__pills .p1 img{left:58px;top:17px;width:55.572px;height:68px}
  .bite__pills .p2 img{left:65.9px;top:31px;width:41.227px;height:52px}
  .bite__pills .p3 img{left:58px;top:15px;width:55.076px;height:68px}
  .bite__pills p{position:absolute;left:200px;font-weight:400;font-size:32px;line-height:1;letter-spacing:.05em;white-space:nowrap}
  .bite__pills .p1 p{top:46px}.bite__pills .p3 p{top:44px}
  .bite__pills .p2 p{top:26px;line-height:1.2}
  .bite__foot{position:absolute;left:0;top:1032px;font-family:var(--sans);font-weight:300;font-size:20px;line-height:2;white-space:nowrap}

  /* ---------- インプラント・ブリッジ・入れ歯の比較 (622:169) ---------- */
  .cmp{position:relative;height:1400px;overflow:hidden;background:var(--beige)}
  .cmp__stripe{position:absolute;transform:rotate(-18.15deg) scale(1,.97) skewX(13.01deg)}
  .cmp__stripe.s1{left:calc(50% - 1515.63px);top:133px;width:1830.615px;height:223.889px;background:linear-gradient(-.941deg,rgba(255,255,255,0) 5.9647%,rgba(255,255,255,.3) 94.035%)}
  .cmp__stripe.s2{left:calc(50% - 813.81px);top:1073px;width:2029.643px;height:265.528px;background:linear-gradient(-1.006deg,rgba(255,255,255,0) 5.9647%,rgba(255,255,255,.3) 94.035%)}
  .cmp .stg{height:1400px}
  .cmp__ttl{position:absolute;left:646.09px;top:112px;font-size:56px;transform:translateX(-50%);text-align:center;font-weight:400;letter-spacing:2.24px;line-height:0;white-space:nowrap;color:var(--gold)}
  .cmp__ttl .ln{display:block}
  .cmp__ttl .ln>span{font-size:56px;line-height:1.25}
  .cmp__ttl .d{color:var(--text)}
  .cmp__ttl .no{font-size:40px!important;letter-spacing:1.6px}
  .cmp__lead{position:absolute;left:0;right:0;top:288px;text-align:center;font-weight:300;font-size:20px;line-height:2;letter-spacing:.8px;white-space:nowrap}
  .cmp__note{position:absolute;left:.5px;right:0;top:1271px;text-align:center;font-weight:300;font-size:20px;line-height:2;letter-spacing:.8px;white-space:nowrap}
  .cmp__tbl{position:absolute;left:0;top:472px;width:1280px;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-family:var(--sans)}
  .cmp__tbl th,.cmp__tbl td{position:relative;padding:0;vertical-align:top;font-weight:inherit}
  .cmp__tbl::before{content:"";position:absolute;left:152px;top:280px;width:376px;height:488px;background:#e8f0e8;border:3px solid var(--green);border-top:0;border-radius:0 0 16px 16px}
  .cmp__tbl thead tr{height:280px}
  .cmp__tbl thead .lb{width:152px}
  .cmp__tbl thead th{width:376px}
  .cmp__tbl thead th::before{content:"";position:absolute;left:0;right:0;top:8px;bottom:0;border-radius:16px 16px 0 0}
  .cmp__tbl thead .im::before{top:0;background:var(--green)}
  .cmp__tbl thead .br::before{background:#b5b5b5}
  .cmp__tbl thead .de::before{background:#9a9a9a}
  .cmp__tbl .tab{position:absolute;left:50%;top:32px;transform:translateX(-50%);font-weight:700;font-size:24px;line-height:1;letter-spacing:3.84px;color:#fff;white-space:nowrap}
  .cmp__tbl .im .tab{top:28px;margin-left:.5px}
  .cmp__tbl .de .tab{margin-left:-1px}
  .cmp__tbl .pic{position:absolute;left:24px;top:80px;width:328px;height:184px;border-radius:12px;background:#eee}
  .cmp__tbl .im .pic{background:#e8f0e8}
  .cmp__tbl .pic img{position:absolute}
  .cmp__tbl .im .pic img{left:108px;top:15px;width:112px;height:159px}
  .cmp__tbl .br .pic img{left:76px;top:55px;width:176px;height:86px}
  .cmp__tbl .de .pic img{left:55px;top:31px;width:226px;height:128px}
  .cmp__tbl tbody tr{height:96px;background:rgba(255,255,255,.9)}
  .cmp__tbl tbody tr:nth-child(even){background:rgba(248,248,248,.9)}
  .cmp__tbl tbody th{font-weight:700;font-size:20px;line-height:1;color:var(--gold);text-align:center}
  .cmp__tbl tbody th span{position:absolute;left:0;right:0;top:38px;white-space:nowrap}
  .cmp__tbl tbody .r3 th span{top:25px;line-height:1.2}
  .cmp__tbl tbody tr+tr td.im::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--green)}
  .cmp__tbl tbody td.de::before{content:"";position:absolute;left:-.5px;top:0;width:1px;height:96px;background:#b5b5b5}
  .cmp__tbl .mk{position:absolute;left:50%;top:var(--mt);transform:translateX(-50%)}
  .cmp__tbl .tx{position:absolute;left:0;right:0;top:var(--tt);text-align:center;font-weight:300;font-size:18px;line-height:1;white-space:nowrap}
  .cmp__tbl .r4 .de .tx{margin-left:1px}
  .cmp__tbl .r1{--mt:14px;--tt:70px}.cmp__tbl .r2{--mt:10px;--tt:66px}.cmp__tbl .r3{--mt:12px;--tt:68px}
  .cmp__tbl .r4{--mt:10px;--tt:68px}.cmp__tbl .r5{--mt:14px;--tt:68px}

  /* ---------- 栃内歯科医院が大切にしている5つのこと / REASON (622:171) ---------- */
  .rsn{position:relative;height:3480px;overflow:hidden;background:#f8f8f8}
  .rsn .stg{height:3480px}
  .rsn__bg{position:absolute;width:632px;height:304px;mix-blend-mode:multiply}
  .rsn__bg.b1{left:calc(50% - 752px);top:656px;background:#e8f0e8}
  .rsn__bg.b2{left:calc(50% - 752px);top:1584px;background:#ebebeb;mix-blend-mode:normal}
  .rsn__bg.b3{left:calc(50% - 752px);top:3056px;background:#f8f4e8;opacity:.8}
  .rsn__bg.b4{left:calc(50% + 120px);top:984px;background:#f8f4e8;opacity:.8}
  .rsn__bg.b5{left:calc(50% + 120px);top:2456px;background:#e8f0e8}
  .rsn__en{position:absolute;margin-left:19.6px;left:calc(50% - 1px);top:-20px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:39.2px;color:#000;opacity:.1;white-space:nowrap}
  .rsn__ttl{position:absolute;left:0;right:0;top:147px;font-size:48px;text-align:center;font-weight:400;letter-spacing:2.88px;line-height:0;white-space:nowrap}
  .rsn__ttl .ln{display:block}
  .rsn__ttl .ln>span{font-size:48px;line-height:1.5}
  .rsn__ttl em{font-size:64px;line-height:1.5;color:var(--gold)}
  .rsn__ttl .sp5{letter-spacing:3.2px}
  .rsn__ttl .ln>.rsn__five{position:absolute;left:732.5px;top:55px;transform:translateX(-50%);font-family:var(--en);font-size:136px;line-height:1.72;letter-spacing:-10.88px;color:var(--gold)}
  .rsn__ph{position:absolute;width:744px;height:496px}
  .rsn__lbl{position:absolute;width:11px;height:85px}
  .rsn__lbl::before{content:"";position:absolute;left:5px;top:0;width:1px;height:10px;background:#d8b860}
  .rsn__lbl span{position:absolute;left:-30px;top:44px;width:71px;transform:rotate(90deg);font-family:var(--en);font-size:17px;line-height:2;letter-spacing:1.36px;white-space:nowrap}
  .rsn__no{position:absolute;font-family:var(--en);font-size:128px;line-height:2;color:#585858;white-space:nowrap}
  .rsn__no b{font-weight:400;color:var(--gold)}
  .rsn__h{position:absolute;font-weight:400;font-size:40px;letter-spacing:3.2px;line-height:0;white-space:nowrap}
  .rsn__h .ln{display:block}
  .rsn__h .ln>*{line-height:1.25}
  .rsn__h em{color:var(--gold)}
  .rsn__h .t1{letter-spacing:1.28px}.rsn__h .t06{letter-spacing:.64px}
  .rsn__txt{position:absolute;width:440px;font-size:20px;line-height:2;letter-spacing:.4px}
  .rsn__txt .hang{position:absolute}
  .rsn .i1 .rsn__txt{letter-spacing:.6px}
  .rsn .i1 .rsn__ph{left:0;top:424px}.rsn .i1 .rsn__lbl{left:847px;top:442px}.rsn .i1 .rsn__no{left:872px;top:442px}.rsn .i1 .rsn__h{left:840px;top:576px}.rsn .i1 .rsn__txt{left:840px;top:752px}
  .rsn .i2 .rsn__ph{left:536px;top:1024px}.rsn .i2 .rsn__lbl{left:295px;top:1081px}.rsn .i2 .rsn__no{left:320px;top:1082px}.rsn .i2 .rsn__h{left:0;top:1216px}.rsn .i2 .rsn__txt{left:0;top:1336px}
  .rsn .i3 .rsn__ph{left:0;top:1624px}.rsn .i3 .rsn__lbl{left:846px;top:1681px}.rsn .i3 .rsn__no{left:872px;top:1682px}.rsn .i3 .rsn__h{left:840px;top:1816px}.rsn .i3 .rsn__txt{left:840px;top:1936px}
  .rsn .i4 .rsn__ph{left:536px;top:2224px}.rsn .i4 .rsn__lbl{left:295px;top:2282px}.rsn .i4 .rsn__no{left:320px;top:2282px}.rsn .i4 .rsn__h{left:0;top:2432px}.rsn .i4 .rsn__txt{left:0;top:2552px}
  .rsn .i5 .rsn__ph{left:0;top:2824px}.rsn .i5 .rsn__lbl{left:846px;top:2833px}.rsn .i5 .rsn__no{left:872px;top:2834px}.rsn .i5 .rsn__h{left:840px;top:2984px}.rsn .i5 .rsn__txt{left:840px;top:3104px}
  .rsn__badge{position:absolute;left:1136px;top:2824px;width:144px;height:112px;background:#0c1d46;clip-path:polygon(0 0,144px 0,144px 112px,72px 92px,0 112px)}
  .rsn__badge::before,.rsn__badge::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:#e8c878}
  .rsn__badge::before{left:7px}.rsn__badge::after{left:135px}
  .rsn__badge>span{position:absolute;left:71.5px;transform:translateX(-50%);color:#e8c878;opacity:.9;font-weight:400;line-height:1.15;white-space:nowrap;text-align:center}
  .rsn__badge .l1{top:-2px;font-size:48px}
  .rsn__badge .l1 small{font-size:30px}
  .rsn__badge .n1{letter-spacing:-2.4px}
  .rsn__badge .l2{top:53.2px;font-size:30px}

  /* ---------- 手術への不安が強い方へ / COMFORT & SAFETY (622:172) ---------- */
  .saf{position:relative;height:1968px;overflow:hidden;background:#fff}
  .saf .stg{height:1968px}
  .saf__bg{position:absolute;left:calc(50% - 960px);top:0;width:1920px;height:1048px;background:url(../img/saf_bg.jpg) 0 0/100% 100% no-repeat}
  .saf__low{position:absolute;left:0;right:0;bottom:0;height:840px;background:var(--beige)}
  .saf__pt{position:absolute;left:calc(50% - 520px);top:1128px;width:1480px;height:840px;max-width:none}
  .saf__en{position:absolute;margin-left:12.32px;left:calc(50% - .5px);top:-20px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:24.64px;color:#000;opacity:.1;white-space:nowrap}
  .saf__ttl{position:absolute;left:calc(50% + .5px);top:147px;transform:translateX(-50%);font-size:48px;text-align:center;font-weight:400;letter-spacing:2.88px;line-height:0;white-space:nowrap}
  .saf__ttl .ln,.flw__ttl .ln{display:block}
  .saf__ttl .ln>span{font-size:48px;line-height:1.25}
  .saf__ttl em{font-size:64px;line-height:1.25;color:var(--gold)}
  .saf__lead{position:absolute;left:128px;top:352px;width:1024px;text-align:center;font-weight:300;font-size:20px;line-height:2;letter-spacing:.8px}
  .saf__tri{position:absolute;max-width:none}
  .saf__tri.t1{left:-24px;top:824px;width:224px;height:224px}
  .saf__tri.t2{left:432px;top:520px;width:184px;height:184px;transform:rotate(180deg)}
  .saf__ph{position:absolute;left:0;top:544px;width:592px;height:480px}
  .saf__catch{position:absolute;left:704px;top:522px;font-size:0;line-height:0;white-space:nowrap}
  .saf__catch>*{font-size:24px;line-height:60px;font-weight:400}
  .saf__catch b{font-size:28px}
  .saf__line{position:absolute;left:704px;top:583px;width:576px;height:1px;background:#b3b3b3}
  .saf__h{position:absolute;left:704px;top:608px;font-size:40px;font-weight:400;letter-spacing:2px;line-height:0;white-space:nowrap;color:var(--gold)}
  .saf__h em{font-size:40px;line-height:1.35}
  .saf__h span{font-size:32px;line-height:1.35;color:var(--text)}
  .saf__txt{position:absolute;left:704px;top:676px;width:576px;font-weight:300;font-size:20px;line-height:2;letter-spacing:.4px}
  .saf__note{position:absolute;left:704px;top:936px;width:576px;height:96px;border:1px solid var(--gold);border-radius:8px}
  .saf__note p{position:absolute;left:50%;top:14px;transform:translateX(-50%);text-align:center;color:var(--gold);font-weight:500;font-size:21px;line-height:1.5;white-space:nowrap}
  .saf__ask{position:absolute;left:0;top:1191px;font-size:0;line-height:0;white-space:nowrap;font-weight:400}
  .saf__ask>*{font-size:40px;line-height:1.5}
  .saf__ask em{font-size:56px;color:var(--gold)}
  .saf__list{position:absolute;left:2px;top:1328px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
  .saf__list li{height:76px;padding:0 0 8px 36px;display:flex;align-items:center;gap:32px;border-radius:8px;background:rgba(255,255,255,.8)}
  .saf__list li:nth-child(1){width:608px}.saf__list li:nth-child(2){width:544px}.saf__list li:nth-child(3){width:496px}
  .saf__list li:nth-child(4){width:712px}.saf__list li:nth-child(5){width:632px}.saf__list li:nth-child(6){width:736px}
  .saf__list .chk{flex:none;width:29.416px;height:29.416px;display:flex;align-items:center;justify-content:center}
  .saf__list .chk i{display:block;position:relative;flex:none;width:16px;height:25.6px;transform:rotate(45deg)}
  .saf__list .chk img{position:absolute;left:0;top:0;width:18px;height:27.6px;max-width:none}
  .saf__list .tx{display:flex;align-items:center;justify-content:center;padding-top:8px}
  .saf__list p{font-weight:300;font-size:24px;line-height:1.2;letter-spacing:2.4px;white-space:nowrap}

  /* ---------- インプラント治療の流れ / FLOW (622:173) ---------- */
  .flw{position:relative;height:3920px;overflow:hidden;background:#fff url(../img/flow_bg.png) 0 0/10px 10px repeat}
  .flw .stg{height:3920px}
  .flw__en{position:absolute;margin-left:19.6px;left:calc(50% - 1px);top:-20px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:39.2px;color:#000;opacity:.1;white-space:nowrap}
  .flw__ttl{position:absolute;left:calc(50% + .5px);top:136px;transform:translateX(-50%);font-size:48px;text-align:center;font-weight:400;letter-spacing:1.92px;line-height:0;white-space:nowrap}
  .flw__ttl .ln>span{font-size:48px;line-height:1.25}
  .flw__ttl em{font-size:64px;line-height:1.25;color:var(--gold)}
  .flw__ph{position:absolute;width:684px;height:432px;max-width:none}
  .flw .od .flw__ph{left:0;clip-path:polygon(0 0,684px 0,596px 432px,0 432px)}
  .flw .ev .flw__ph{left:596px;clip-path:polygon(0 0,684px 0,684px 432px,88px 432px)}
  .flw__no{position:absolute;font-family:var(--en);font-size:56px;line-height:1;color:var(--gold);white-space:nowrap}
  .flw .od .flw__no{left:843.5px;transform:translateX(-50%)}.flw .ev .flw__no{left:123px}.flw .f3 .flw__no{left:843px}
  .flw__lbl{position:absolute;font-family:var(--en);font-style:italic;font-size:20px;line-height:1;color:#8b898a;white-space:nowrap}
  .flw .od .flw__lbl{left:761px}.flw .ev .flw__lbl{left:65px}
  .flw__line{position:absolute;width:456px;height:1px;background:#c8b070}
  .flw .od .flw__line{left:760px}.flw .ev .flw__line{left:64px}
  .flw__h{position:absolute;font-weight:400;font-size:32px;line-height:1.25;letter-spacing:2.56px;color:var(--gold);white-space:nowrap}
  .flw .od .flw__h{left:761px}.flw .ev .flw__h{left:65px}.flw .f1 .flw__h,.flw .f3 .flw__h{left:760px}.flw .f2 .flw__h{left:64px}
  .flw .f3 .flw__h,.flw .f4 .flw__h,.flw .f6 .flw__h,.flw .f8 .flw__h{line-height:1.35}
  .flw .f5 .flw__h{letter-spacing:1.28px}.flw .f5 .flw__h .n0{letter-spacing:0}
  .flw__txt{position:absolute;width:456px;font-weight:300;font-size:20px;line-height:2}
  .flw .od .flw__txt{left:764px}.flw .ev .flw__txt{left:69px}.flw .f2 .flw__txt{left:68px}
  .flw .f1 .flw__ph{top:352px}.flw .f1 .flw__no{top:401px}.flw .f1 .flw__lbl{top:430px}.flw .f1 .flw__line{top:455px}.flw .f1 .flw__h{top:472px}.flw .f1 .flw__txt{top:536px}
  .flw .f2 .flw__ph{top:784px}.flw .f2 .flw__no{top:849px}.flw .f2 .flw__lbl{top:878px}.flw .f2 .flw__line{top:903px}.flw .f2 .flw__h{top:916px}.flw .f2 .flw__txt{top:980px}
  .flw .f3 .flw__ph{top:1216px}.flw .f3 .flw__no{top:1281px}.flw .f3 .flw__lbl{top:1310px}.flw .f3 .flw__line{top:1335px}.flw .f3 .flw__h{top:1349px}.flw .f3 .flw__txt{top:1416px}
  .flw .f4 .flw__ph{top:1648px}.flw .f4 .flw__no{top:1713px}.flw .f4 .flw__lbl{top:1742px}.flw .f4 .flw__line{top:1767px}.flw .f4 .flw__h{top:1781px}.flw .f4 .flw__txt{top:1848px}
  .flw .f5 .flw__ph{top:2080px}.flw .f5 .flw__no{top:2169px}.flw .f5 .flw__lbl{top:2198px}.flw .f5 .flw__line{top:2223px}.flw .f5 .flw__h{top:2232px}.flw .f5 .flw__txt{top:2296px}
  .flw .f6 .flw__ph{top:2512px}.flw .f6 .flw__no{top:2577px}.flw .f6 .flw__lbl{top:2606px}.flw .f6 .flw__line{top:2631px}.flw .f6 .flw__h{top:2645px}.flw .f6 .flw__txt{top:2712px}
  .flw .f7 .flw__ph{top:2944px}.flw .f7 .flw__no{top:3033px}.flw .f7 .flw__lbl{top:3062px}.flw .f7 .flw__line{top:3087px}.flw .f7 .flw__h{top:3096px}.flw .f7 .flw__txt{top:3160px}
  .flw .f8 .flw__ph{top:3376px}.flw .f8 .flw__no{top:3441px}.flw .f8 .flw__lbl{top:3470px}.flw .f8 .flw__line{top:3495px}.flw .f8 .flw__h{top:3509px}.flw .f8 .flw__txt{top:3576px}

  /* ---------- TREATMENT OPTIONS (622:174) ---------- */
  /* Figma の soft-light は Pegtop 式で W3C 式より暗い＝白 #fff を #cfcfcf にして同じ明るさに寄せる（.cons__en も同様） */
  .trt{position:relative;height:2304px;overflow:hidden;background:var(--beige)}
  .trt .stg{height:2304px}
  .trt__band{position:absolute;left:calc(50% - 960px);top:0;width:1920px;height:360px;max-width:none}
  .trt__bandline{position:absolute;left:calc(50% - 960px);top:267px;width:1920.17px;height:82px;max-width:none}
  .trt__en{position:absolute;margin-left:12.32px;left:calc(50% - .5px);top:-17px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:24.64px;color:#cfcfcf;mix-blend-mode:soft-light;white-space:nowrap}
  .trt__ttl{position:absolute;left:calc(50% + .5px);top:137px;transform:translateX(-50%);font-size:48px;font-weight:400;line-height:0;letter-spacing:2.24px;color:#e8c878;text-align:center;white-space:nowrap}
  .trt__ttl .ln{display:block}
  .trt__ttl .ln>*{line-height:1.25;font-size:40px}
  .trt__ttl .ln>em{font-size:48px}
  .trt__ttl .ln>.l2{font-size:52px}.trt__ttl .ln>em.l2{font-size:64px}
  .trt__lead{position:absolute;left:100px;top:424px;width:1080px;text-align:center;font-weight:300;font-size:20px;line-height:2;letter-spacing:.6px}
  .trt__ph{position:absolute;width:840px;height:632px;max-width:none}
  .trt .b1 .trt__ph{left:-320px;top:624px}
  .trt .b2 .trt__ph{left:760px;top:1424px}
  .trt__no{position:absolute;width:0;height:0}
  .trt__no .fr{position:absolute;left:-88.5px;top:-88.5px;width:177px;height:177px;max-width:none}
  .trt__no .sq{position:absolute;left:-80px;top:-80px;width:160px;height:160px;background:var(--deep)}
  .trt .b1 .trt__no{left:561px;top:735px}.trt .b1 .trt__no .fr{transform:rotate(-12deg)}.trt .b1 .trt__no .sq{transform:translate(-.06px,.53px) rotate(-12deg)}
  .trt .b2 .trt__no{left:728px;top:1544px}.trt .b2 .trt__no .fr{transform:rotate(12deg)}.trt .b2 .trt__no .sq{transform:translate(-.27px,.47px) rotate(12deg)}
  .trt__num{position:absolute;transform:translateX(-50%);font-family:var(--en);font-size:96px;line-height:1;white-space:nowrap}
  .trt .b1 .trt__num{left:562px;top:685px;color:#b09860}
  .trt .b2 .trt__num{left:726px;top:1496px;color:var(--gold)}
  .trt__h{position:absolute;font-size:0;line-height:0;font-weight:400;white-space:nowrap}
  .trt__h>*{font-size:40px;line-height:1.25}
  .trt__h>em{font-size:48px;color:var(--gold)}
  .trt__h .k8{letter-spacing:-3.84px}
  .trt .b1 .trt__h{left:688px;top:630px}
  .trt .b2 .trt__h{left:0;top:1432px}
  .trt__line{position:absolute;width:592px;height:1px;background:#c8b070}
  .trt .b1 .l1{left:688px;top:719px}.trt .b1 .l2{left:688px;top:839px}
  .trt .b2 .l1{left:0;top:1527px}.trt .b2 .l2{left:0;top:1607px}
  .trt__sub{position:absolute;font-weight:400;white-space:nowrap}
  .trt .b1 .trt__sub{left:708px;top:736px;font-size:32px;line-height:1.25;letter-spacing:2.56px}
  .trt .b2 .trt__sub{left:12px;top:1544px;font-size:0;line-height:0}
  .trt .b2 .trt__sub>*{font-size:32px;line-height:1.25}
  .trt .b2 .trt__sub small{font-size:24px}
  .trt .b2 .trt__sub span.k20{letter-spacing:-6.4px}.trt .b2 .trt__sub small.k20{letter-spacing:-4.8px}
  .trt__txt{position:absolute;width:592px;font-weight:300;font-size:20px;line-height:2;letter-spacing:.6px}
  .trt .b1 .trt__txt{left:688px;top:872px}
  .trt .b2 .trt__txt{left:0;top:1640px}
  .trt__bar{position:absolute;width:888px;height:40px}
  .trt__bar span{position:absolute;top:5px;font-weight:600;font-size:22px;line-height:1.2;letter-spacing:2.64px;color:#fff;white-space:nowrap}
  .trt .b1 .trt__bar{left:392px;top:1056px;background:linear-gradient(90deg,rgba(168,144,80,0),#a89050)}
  .trt .b1 .trt__bar span{left:568px}
  .trt .b2 .trt__bar{left:0;top:1872px;background:linear-gradient(90deg,#a89050,rgba(168,144,80,0))}
  .trt .b2 .trt__bar span{left:16px;top:4px}
  .trt__cards{position:absolute;display:flex;gap:24px}
  .trt__cards li{width:280px;height:200px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center}
  .trt .b1 .trt__cards{left:392px;top:1120px}
  .trt .b1 .trt__cards li{gap:16px}
  .trt .b1 .trt__cards li img{width:120px;height:152px}
  .trt .b1 .trt__cards li>div{width:104px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
  .trt .b1 .trt__cards li.g>div{gap:24px}
  .trt .b1 .trt__cards .t{font-weight:400;font-size:24px;line-height:1.1;color:var(--gold);white-space:nowrap}
  .trt .b1 .trt__cards .g .t{font-size:28px;line-height:1.25}
  .trt .b1 .trt__cards .d{width:100%;font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.5;word-break:break-word}
  .trt .b2 .trt__cards{left:0;top:1936px}
  .trt .b2 .trt__cards li{flex-direction:column;gap:28px}
  .trt .b2 .trt__cards li.c2{gap:20px}
  .trt .b2 .trt__cards p{font-weight:400;font-size:23px;line-height:1.25;letter-spacing:.92px;color:var(--gold);text-align:center;white-space:nowrap}
  .trt .b2 .trt__cards .c1>img{width:145.429px;height:57px;margin-left:-.94px;max-width:none}
  .trt .b2 .trt__cards .c3>img{width:113.224px;height:59.8415px;margin-left:-.81px;margin-bottom:-.25px;max-width:none}
  .trt .b2 .trt__cards .ic{position:relative;display:block;width:107px;height:77.32px}
  .trt .b2 .trt__cards .ic img{position:absolute;max-width:none}
  .trt .b2 .trt__cards .ic .a{left:4.75px;top:4.75px;width:68.5647px;height:36.9023px}
  .trt .b2 .trt__cards .ic .b{left:10.98px;top:43.39px;width:84.4282px;height:35.1818px}
  .trt .b2 .trt__cards .ic .c{left:66px;top:-5px;width:46px;height:46px}
  .trt__note{position:absolute;left:0;top:2160px;font-weight:300;font-size:18px;line-height:1.8;letter-spacing:.54px;white-space:nowrap}

  /* ---------- CASE（1035:1967） ---------- */
  .cs{position:relative;height:1320px;overflow:hidden;overflow:clip;background:#e8f0f0}
  .cs .stg{height:1320px}
  .cs__deco img{position:absolute;left:calc(50% - 960px);top:0;width:1048px;height:1192px;max-width:none}
  .cs__en{position:absolute;margin-left:19.6px;left:calc(50% + .5px);top:-18px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:39.2px;color:#000;opacity:.1;white-space:nowrap}
  .cs__ttl{position:absolute;left:50%;top:112px;transform:translateX(-50%);font-size:64px;font-weight:400;line-height:1.25;letter-spacing:2.56px;color:var(--gold);white-space:nowrap}
  .cs__box{position:absolute;left:228px;top:232px;width:1080px;height:840px;background:rgba(255,255,255,.7);box-shadow:4px 4px 16px rgba(0,0,0,.15)}
  .cs__track{position:relative;display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .cs__track::-webkit-scrollbar{display:none}
  .cs__track:focus-visible{outline:2px solid #407878;outline-offset:4px}
  .cs__slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
  .cs__hd{position:absolute;left:88px;top:40px;width:904px;height:80px;background:var(--deep)}
  .cs__hdbg{position:absolute;left:0;top:0;width:204px;height:80px;max-width:none}
  .cs__no{position:absolute;left:29px;top:16px;font-family:var(--en);font-size:48px;line-height:1;color:#fff;white-space:nowrap}
  .cs__name{position:absolute;left:225px;top:29px;font-size:32px;font-weight:500;line-height:0;color:#fff;white-space:nowrap}
  .cs__name>.pc>*{line-height:1}
  .cs__name .k{letter-spacing:-2.56px}
  .cs__b,.cs__a{position:absolute;top:151px;width:432px}
  .cs__b{left:88px}.cs__a{left:560px}
  .cs__b figcaption,.cs__a figcaption{position:relative;height:41px;font-family:var(--en);font-weight:600;font-size:30px;line-height:1;letter-spacing:2.1px;color:#c0ac70;text-align:center}
  .cs__b figcaption::before,.cs__b figcaption::after,.cs__a figcaption::before,.cs__a figcaption::after{content:"";position:absolute;top:16.5px;width:159.158px;height:1px;background:#c0ac70}
  .cs__b figcaption::before,.cs__a figcaption::before{left:0}
  .cs__b figcaption::after,.cs__a figcaption::after{right:0}
  .cs__b img,.cs__a img{display:block;width:432px;height:280px;object-fit:cover}
  .cs__tri{position:absolute;left:534px;top:315px;width:16px;height:34px}
  .cs__tabs{position:absolute;left:108px;top:496px;display:flex;gap:16px}
  .cs__tabs button{display:flex;align-items:center;justify-content:center;width:160px;height:48px;padding-bottom:2px;border:2px solid #407878;border-radius:8px;background:#fff;color:#407878;font-family:var(--serif);font-weight:500;font-size:23px;line-height:1;white-space:nowrap}
  .cs__tabs button[aria-selected="true"]{background:#407878;color:#fff}
  .cs__info{position:absolute;left:88px;top:576px;display:grid;grid-template-columns:280px 624px;width:904px}
  .cs__info>div{display:flex;align-items:center;gap:24px}
  .cs__info dt{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:112px;height:32px;border-radius:5px;background:#c0ac70;font-family:var(--sans);font-weight:700;font-size:18px;line-height:1;letter-spacing:1.8px;color:#fff;text-align:center;white-space:nowrap}
  .cs__info dd{margin:0;font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.5;letter-spacing:.68px;color:var(--text);white-space:nowrap}
  .cs__info .r1,.cs__info .r4{grid-column:1/-1}
  .cs__info .r1,.cs__info .r2,.cs__info .r3{margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #ccc}
  .cs__info .r1 dt{width:160px;height:48px}
  .cs__info .r1 dd{width:720px;line-height:1.35;letter-spacing:.34px;white-space:normal}
  .cs__info .r4 dt{display:block;height:68px;padding-top:13.6px;font-size:17px;line-height:1.2;letter-spacing:1.7px}
  .cs__info .r4 dd{width:768px;line-height:1.35;white-space:normal}
  #case02 .cs__name{top:31px;font-size:28px}
  #case02 .cs__info .r3 dd{letter-spacing:.2px}
  .cs__prev,.cs__next{position:absolute;top:616px;width:32px;height:72px}
  .cs__prev{left:208px}.cs__next{left:1296px}
  /* 1385px 未満では次への矢印が画面右端で切れるため、画面内に寄せる（--z は body の zoom 値） */
  .cs__next{left:min(1296px,calc(50% + 50vw / var(--z,1) - 56px))}
  /* 1200〜1202・1264〜1269・1328〜1335px で症例カードの右端が画面外に最大 4px 出るため、右に 8px 残して寄せる（1336px 以上はカンプ位置のまま） */
  .cs__box{left:min(228px,calc(50% + 50vw / var(--z,1) - 1088px))}
  .cs__prev img,.cs__next img{position:absolute;left:-4.68px;top:-2.33px;width:39.2988px;height:76.6505px;max-width:none}
  .cs__next img{transform:scaleX(-1);left:auto;right:-4.68px}
  .cs__prev.b,.cs__next.b{display:none}
  .cs__thumbs{position:absolute;left:352px;top:1112px;display:flex;gap:32px}
  .cs__th{position:relative;display:block;width:256px;height:136px;border-radius:10px;overflow:hidden;background:#d9d9d9;color:#fff;text-align:left}
  .cs__th img{position:absolute;left:0;top:0;width:256px;height:136px}
  .cs__th i{position:absolute;left:0;bottom:0;width:256px;height:40px;background:#aaa;mix-blend-mode:multiply}
  .cs__badge{position:absolute;left:8px;top:102px;display:flex;align-items:center;justify-content:center;width:80px;height:28px;border-radius:3px;background:#083030;font-family:var(--en);font-size:21px;line-height:1;white-space:nowrap}
  .cs__th.t2 .cs__badge{background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),#184848}
  .cs__lbl{position:absolute;left:94px;top:105px;font-size:0;line-height:0;font-weight:500;white-space:nowrap}
  .cs__lbl>*{font-size:17px;line-height:1.2}
  .cs__lbl .k{letter-spacing:-2.21px}

  /* ---------- 院長紹介（622:177） ---------- */
  .dr{position:relative;height:1280px;overflow:hidden;background:#fff}
  .dr .stg{height:1280px}
  .dr__bg{position:absolute;left:calc(50% - 960px);top:0;width:1920px;height:1280px;max-width:none}
  .dr__photo{position:absolute;left:calc(50% - 120px);top:0;width:1080px;height:1389px;max-width:none}
  .dr__grad{position:absolute;left:calc(50% - 120px);top:592px;width:1080px;height:688px;background:linear-gradient(rgba(115,115,115,0),#737373);mix-blend-mode:multiply}
  .dr__bar{position:absolute;top:0;width:88px;background:#083030}
  .dr__bar.b1{left:408px;height:672px}.dr__bar.b2{left:520px;height:640px}.dr__bar.b3{left:632px;height:456px}
  /* 縦組みはカンプと同じく 1 字ずつ改行させて組む（字ごとに大きさ・行送りが違うため） */
  .dr__v{position:absolute;top:49px;display:block;width:60px;font-size:48px;line-height:0;font-weight:400;color:#fff;text-align:center;word-break:break-all;line-break:anywhere}
  .dr__v>span{line-height:1.1}
  .dr__v .r48{font-size:48px}.dr__v .r40{font-size:40px}
  .dr__v .m56{font-size:56px;font-weight:500}
  .dr__v .g{color:#b8a058}
  .dr__v .l105{line-height:1.05}.dr__v .l95{line-height:.95}.dr__v .l1{line-height:1}
  .dr__v.c3{left:646px}
  .dr__v.c2{left:533.5px}
  .dr__v.c1{left:421.5px;font-size:56px}
  .dr__v.c1b{left:421.5px;top:255px;font-size:40px}
  .dr__v .n14{display:block;height:60.5px}
  .dr__v .n14>span{position:absolute;left:29.5px;top:209px;transform:translateX(-50%);margin-left:-1.52px;font-family:var(--en);font-size:76px;line-height:1;letter-spacing:-3.04px;color:#b8a058;white-space:nowrap}
  .dr__name{position:absolute;left:1278px;top:720px;transform:translateX(-100%);font-size:24px;line-height:0;font-weight:400;color:#fff;text-align:right;white-space:nowrap}
  .dr__name>span{display:block;line-height:1.35}
  .dr__name .l1{font-size:24px;letter-spacing:1.2px;margin-right:-1.2px}
  .dr__name .l2{font-size:48px;letter-spacing:5.76px;margin-right:-5.76px}
  .dr__nline{position:absolute;left:824px;top:748px;width:456px;height:1px;background:#fff}
  .dr__en{position:absolute;left:1061px;margin-left:2.8px;top:786px;transform:translateX(-100%);font-family:var(--en);font-size:28px;line-height:2.8;letter-spacing:2.8px;color:#fff;white-space:nowrap}
  .dr__ph{position:absolute;width:360px;height:248px;object-fit:cover}
  .dr__ph.p1{left:-120px;top:222px}.dr__ph.p2{left:0;top:504px}
  .dr__pnl{position:absolute;left:0;top:832px;width:1280px;height:344px;background:rgba(255,255,255,.88)}
  .dr__blk{position:absolute;top:0}
  .dr__blk.b1{left:40px}.dr__blk.b2{left:456px}.dr__blk.b3{left:872px}
  .dr__h{position:absolute;left:0;top:52px;font-size:24px;font-weight:400;line-height:2;letter-spacing:1.92px;color:var(--gold);white-space:nowrap}
  .dr__ln{position:absolute;left:0;top:83px;width:368px;height:1px;background:#d8b860}
  .dr__tx{position:absolute;left:0;top:109px;font-size:17px;line-height:0;font-weight:300;color:#4d4d4d;white-space:pre}
  .dr__yr{position:absolute;left:0;top:138px;font-size:17px;line-height:0;color:var(--gold);white-space:nowrap}
  .dr__yr .n{font-family:var(--en);font-size:17px}
  .dr__yr .y{font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-size:13px}
  /* Figma の複数行テキストは「次の行の行送り」が行間になる（行ごとに行送りが違う箇所は margin で再現） */
  .dr__tx>span,.dr__yr>span{display:block;line-height:25.5px}
  .dr__yr>span>*{line-height:0}
  .dr__blk.b1 .dr__tx>span:nth-child(2),.dr__blk.b1 .dr__tx>span:nth-child(5),.dr__blk.b1 .dr__tx>span:nth-child(6){margin-top:22.1px}
  .dr__blk.b2 .dr__tx>span+span{margin-top:8.5px}
  .dr__blk.b3 .dr__tx>span:nth-child(3),.dr__blk.b3 .dr__tx>span:nth-child(5),.dr__blk.b3 .dr__tx>span:nth-child(6){margin-top:8.5px}
  .dr__yr>span:nth-child(2){margin-top:73.78px}.dr__yr>span:nth-child(3){margin-top:23.8px}

  /* ---------- PRICE（622:178） ---------- */
  .prc{position:relative;height:1024px;overflow:hidden;background:#fff}
  .prc .stg{height:1024px}
  .prc__pat{position:absolute;inset:0;background:url(../img/price_bg.png) 0 0/10px 10px repeat;opacity:.7}
  .prc__en{position:absolute;left:calc(50% - 1px);margin-left:19.6px;top:-18px;transform:translateX(-50%);font-family:var(--en);font-size:112px;line-height:1;letter-spacing:39.2px;color:#000;opacity:.1;white-space:nowrap}
  .prc__ttl{position:absolute;left:calc(50% + .5px);margin-left:.96px;top:136px;transform:translateX(-50%);font-size:48px;font-weight:400;line-height:0;letter-spacing:1.92px;color:var(--text);white-space:nowrap}
  .prc__ttl>*{font-size:36px;line-height:1.25}
  .prc__ttl>em{font-size:48px;color:var(--gold)}
  .prc__lead{position:absolute;left:128px;top:240px;width:1024px;font-size:20px;font-weight:300;line-height:1.8;letter-spacing:1px;text-align:center}
  .prc__cards{position:absolute;left:0;top:360px}
  .prc__card{position:absolute;top:0;width:400px;height:440px;border-radius:16px;background:#fff;box-shadow:3px 3px 12px rgba(0,0,0,.16)}
  .prc__card.c1{left:0}.prc__card.c2{left:440px}.prc__card.c3{left:880px}
  .prc__h{height:80px;border-radius:16px 16px 0 0;background:var(--deep);font-size:28px;font-weight:500;line-height:1.2;color:#fff;white-space:nowrap}
  .prc__h>span{position:absolute;left:200px;top:30px;transform:translateX(-50%)}
  .c2 .prc__h>span{left:200.5px;letter-spacing:2.24px;margin-left:1.12px}
  .c3 .prc__h>span{left:200.5px;letter-spacing:1.4px;margin-left:.7px}
  .prc__img{position:absolute;max-width:none}
  .c1 .prc__img{left:87px;top:105px;width:226px;height:160px}
  .c2 .prc__img{left:103px;top:88px;width:194px;height:192px}
  .c3 .prc__img{left:108px;top:100px;width:184px;height:171px}
  .prc__yen{position:absolute;top:292px;display:flex;align-items:flex-end;gap:4px;white-space:nowrap}
  .c1 .prc__yen{left:60px}.c2 .prc__yen{left:56px}
  .prc__yen .num,.prc__yen2 .num{font-family:var(--en);font-size:56px;line-height:1}
  .prc__yen .unit,.prc__yen2 .unit{padding-bottom:10px;font-family:var(--sans);font-weight:700;font-size:24px;line-height:1}
  .prc__yen .k{letter-spacing:-5.6px}
  .prc__note{position:absolute;top:357px;font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:.8px;white-space:nowrap}
  .prc__note>span{display:block}
  .c1 .prc__note{left:148px}.c2 .prc__note{left:155px}
  .prc__chk{position:absolute;width:18.8503px;height:14.2538px;max-width:none}
  .c1 .k1{left:118.574px;top:366.597px}.c1 .k2{left:118.574px;top:398.597px}
  .c2 .k1{left:126.574px;top:366.597px}.c2 .k2{left:126.574px;top:398.597px}
  .c3 .k3{left:26.574px;top:296.597px}.c3 .k4{left:222.574px;top:296.597px}
  .prc__sub{position:absolute;top:288px;font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:.8px;white-space:nowrap}
  .prc__sub.s1{left:52px}.prc__sub.s2{left:251px;letter-spacing:-1.6px}
  .prc__div{position:absolute;left:200px;top:289px;width:1px;height:120px;background:#ddd}
  .prc__yen2{position:absolute;top:328px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
  .prc__yen2.y1{left:25px}.prc__yen2.y2{left:220px}
  .prc__yen2 .num{font-size:48px}
  .prc__yen2 .unit{font-size:20px}
  .prc__yen2 .a{letter-spacing:1.6px}.prc__yen2 .b{letter-spacing:-7px}.prc__yen2 .c{letter-spacing:-11.2px}
  .prc__fn{position:absolute;left:calc(50% + .5px);margin-left:.45px;transform:translateX(-50%);top:872px;white-space:nowrap;font-family:var(--sans);font-size:18px;font-weight:300;line-height:1.5;letter-spacing:.9px;text-align:center}

  /* ---------- FAQ（650:689） ---------- */
  .faq{position:relative;height:3296px;overflow:hidden;background:#fff}
  .faq .stg{height:3296px}
  .faq__bg{position:absolute;left:calc(50% - 960px);width:1920px;background:url(../img/faq_bg.jpg) 0 0/100% 100% no-repeat}
  .faq__bg.b1{top:0;height:2455px}
  .faq__bg.b2{top:2455px;height:841px;background-image:url(../img/faq_bg2.jpg)}
  .faq__en{position:absolute;left:calc(50% + 3.5px);margin-left:15px;top:0;transform:translateX(-50%);font-family:var(--en);font-size:120px;line-height:2;letter-spacing:30px;color:#000;opacity:.1;white-space:nowrap}
  .faq__ttl{position:absolute;left:calc(50% + 4px);margin-left:-1.2px;top:147px;transform:translateX(-50%);font-size:48px;font-weight:400;line-height:0;letter-spacing:2.88px;text-align:center;white-space:nowrap}
  .faq__ttl>span{display:block}
  .faq__ttl .l1{font-size:48px;line-height:1.25}
  .faq__ttl .l2{font-size:64px;line-height:1.25;color:var(--gold)}
  .faq__lead,.faq__fn{position:absolute;left:204px;width:872px;font-size:20px;font-weight:300;line-height:2;text-align:center}
  .faq__lead{top:336px;letter-spacing:.8px;white-space:pre-wrap}
  .faq__fn{top:3144px;letter-spacing:.6px}
  .faq__list{position:absolute;left:0;top:520px;width:1280px}
  .faq__item+.faq__item{margin-top:72px}
  .faq__lb{display:flex;align-items:flex-end;flex-shrink:0;font-family:var(--en);white-space:nowrap}
  .faq__lb .l{font-size:80px;line-height:2}
  .faq__lb .n{font-size:40px;font-weight:600;line-height:.6}
  .faq__q{display:flex;align-items:center;gap:32px;width:1024px;height:104px;padding:0 32px 0 40px;border-radius:8px;color:#fff;background:linear-gradient(to right,#587068,#083030)}
  .faq__q .faq__lb{gap:4px}
  .faq__qt{flex:1;font-size:32px;font-weight:500;line-height:1.25;letter-spacing:2.56px}
  .faq__a{display:flex;align-items:center;gap:48px;width:1200px;margin:24px 0 0 80px;padding:48px 40px 48px 48px;border-radius:8px;background:#fff}
  .faq__a .faq__lb{gap:2px;align-self:stretch;padding:16px 20px 16px 0;border-right:1px solid #587068;color:#184848}
  .faq__at{width:920px;font-size:20px;font-weight:300;line-height:2;letter-spacing:.6px}
  .faq__item:nth-child(even) .faq__q{background:linear-gradient(to right,#c3ae77,#b49f69 50%,#9f8f67)}
  .faq__item:nth-child(even) .faq__a .faq__lb{border-color:#c5af73;color:var(--gold)}
  .faq__item.i1 .faq__a{align-items:flex-start}.faq__item.i1 .faq__at,.faq__item.i2 .faq__at{width:auto;flex:1}
  .faq__item.i3 .faq__a{align-items:flex-end;gap:55px}
  .faq__item.i5 .faq__a .faq__lb,.faq__item.i7 .faq__a .faq__lb{padding-right:24px}

  /* ---------- 個別無料相談 2 回目 (656:1470) ---------- */
  .cons2{position:relative;height:1200px;overflow:hidden;background:#083030}
  .cons2__photo{position:absolute;left:0;right:0;top:0;height:632px;background:url(../img/cons2_photo.jpg) center top/cover no-repeat}
  .cons2::before{content:"";position:absolute;z-index:1;left:0;right:0;top:628px;height:4px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons2::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:12px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons2 .stg{height:1200px}
  .cons2__en{top:-15px}
  .cons2__ttl{top:120px;margin-left:3px}
  .cons2__ttl .l{margin-top:2px}
  .cons2__lead{position:absolute;left:0;right:0;top:296px;text-align:center;color:#fff;font-weight:400;font-size:20px;line-height:2;letter-spacing:1.6px;white-space:nowrap}
  .cons2__box{position:absolute;left:128px;top:408px;width:1024px;height:128px;box-sizing:border-box;border:1px solid #e8c878}
  .cons2__q{position:absolute;left:0;right:0;top:437px;text-align:center;color:#e8c878;font-weight:400;font-size:36px;line-height:1.35;letter-spacing:2.88px;white-space:nowrap}
  .cta--2{top:616px}
  .cta--2 .cta__ttl::before{top:-.488px;width:752.745px;height:67.489px;background-image:url(../img/cta_ttl2.svg)}
  .cta--2 .cta__webtxt img{width:69px;height:53px;margin:-1.5px}

  /* ---------- 限定解除の情報 (656:1760・展開時の中身は 973:1414) ---------- */
  /* JS が無い環境では最初から全部見せる（.js の時だけ畳んで「詳しくみる」を出す） */
  .lim{position:relative;height:1432px;overflow:hidden;background:#e8ecec url(../img/lim_bg.png) 0 0/8px 8px;color:#4d4d4d}
  .js .lim{height:800px;transition:height .5s ease}
  .js .lim.is-open{height:1432px}
  .lim .stg{height:100%}
  .lim__fade,.lim__more{display:none}
  .js .lim__fade{display:block;position:absolute;left:0;right:0;top:384px;height:416px;background:linear-gradient(rgba(255,255,255,0) 0px,rgba(252,253,253,0.125) 32px,rgba(249,250,250,0.25) 64px,rgba(246,248,248,0.375) 96px,rgba(244,246,246,0.5) 128px,rgba(241,243,243,0.625) 160px,rgba(238,241,241,0.75) 192px,rgba(235,238,238,0.875) 224px,rgba(232,236,236,1) 256px)}  /* Figma は非乗算アルファで補間するため段階で再現 */
  .js .lim__more{display:flex;position:absolute;left:50%;top:656px;transform:translateX(-50%);width:356px;height:56px;align-items:center;justify-content:center;background:#fff;border:1px solid #666;border-radius:5px;font-family:var(--sans);font-weight:400;font-size:17px;line-height:.9;color:var(--text)}
  .js .lim.is-open .lim__fade,.js .lim.is-open .lim__more{display:none}
  .lim__panel{position:absolute;left:0;top:96px;width:1280px;height:1240px;background:#fff;outline:0}
  .lim__ttl{position:absolute;left:0;right:0;top:64px;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:400;font-size:32px;line-height:1.5;letter-spacing:2.56px;white-space:nowrap}
  .lim__ttl::after{content:"";position:absolute;left:128px;right:128px;top:63px;height:1px;background:#aaa}
  .lim__std{position:absolute;left:128px;top:168px;width:320px;height:80px;padding:33px 0 0 70px;border-radius:4px;background:#f2f2f2;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;font-size:20px;line-height:1.8;white-space:nowrap}
  .lim__stdtxt{position:absolute;left:512px;top:178px;width:640px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8}
  .lim__box{position:absolute;left:128px;width:1024px;border:1px solid #aaa}
  .lim__box--md{top:288px;height:304px}
  .lim__box--risk{top:624px;height:176px}
  .lim__box--fee{top:832px;height:328px}
  .lim__h{position:absolute;left:0;right:0;top:29px;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;font-size:20px;line-height:1.8;letter-spacing:1.6px;white-space:nowrap}
  .lim__box--md .lim__h::after,.lim__box--risk .lim__h::after{content:"";position:absolute;left:75px;right:75px;height:1px;background:#aaa}
  .lim__box--md .lim__h::after,.lim__box--risk .lim__h::after{top:41px}
  .lim__col{position:absolute;top:95px;width:392px}
  .lim__col--m{left:103px}.lim__col--d{left:527px}
  .lim__col h4{height:48px;padding-top:18px;font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.6;white-space:nowrap}
  .lim__col--m h4{background:#e6edf4;padding-left:156px}
  .lim__col--d h4{background:#f2f2f2;padding-left:151px}
  .lim__list{font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.85;white-space:nowrap}
  .lim__col .lim__list{margin:16px 0 0 40px}
  .lim__list li{position:relative}
  .lim__list li::before{content:"";position:absolute;left:-33.035px;top:8.98px;width:18.071px;height:13.091px;background:url(../img/lim_check.svg) 0 0/100% 100% no-repeat}
  .lim__risk{position:absolute;left:111px;top:87px;line-height:1.8}
  .lim__risk li::before{left:-30.035px}
  .lim__risk li+li::before{top:10.18px}
  .lim__fee{position:absolute;left:71px;top:79px;width:872px}
  .lim__fee div{position:relative;display:flex;align-items:center;height:40px;margin-bottom:8px;background:#f2f2f2;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:400;font-size:16px;white-space:nowrap}
  .lim__fee dt{width:240px;padding-left:48px;text-align:center}
  .lim__fee dt::after{content:"";position:absolute;left:272px;top:8px;width:1px;height:24px;background:#aaa}
  .lim__fee dd{padding-left:40px;letter-spacing:1.28px}
  .lim__fee small{font-size:13px}
  .lim__note{position:absolute;left:75px;top:239px;width:872px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8}

  /* ---------- 医院情報・地図 (658:2008 上 1280px) ---------- */
  .info{position:relative;background:var(--beige)}
  .info .stg{height:1280px}
  .info__band{position:absolute;left:0;right:0;top:0;height:432px;overflow:hidden;background:rgba(5,44,44,.85)}
  .info__rays{position:absolute;left:50%;top:0;width:1920px;height:432px;margin-left:-960px}
  .info__rays i{position:absolute;width:1920px;height:432px;background:linear-gradient(rgba(255,255,255,0) 70%,#fef8d8)}
  .info__rays .r1{left:-656.07px;top:-301.13px;transform:rotate(-12deg);opacity:.05}
  .info__rays .r2{left:-754.94px;top:-300.62px;transform:rotate(60deg);opacity:.08}
  .info__rays .r3{left:659.38px;top:-236.94px;transform:rotate(30deg);opacity:.05}
  .info__rays .r4{left:60.72px;top:435.5px;transform:rotate(-8deg) scaleY(-1);opacity:.1}
  .info__mark{position:absolute;left:568px;top:48px;width:144px;height:125px;overflow:hidden}
  .info__mark img{position:absolute;left:0;top:0;width:393.87%;height:100.61%;max-width:none}
  .info__corp{position:absolute;left:572px;top:200px;font-family:var(--sans);font-weight:400;font-size:18px;line-height:2;letter-spacing:1.8px;color:#fff;white-space:nowrap}
  .info__name{position:absolute;left:440px;top:224px;width:400px;height:88px;overflow:hidden}
  .info__name img{position:absolute;left:-37.5%;top:-15.78%;width:137.39%;height:137.68%;max-width:none}
  .info__shadow{position:absolute;left:-40px;top:576px;width:520px;height:384px;background:rgba(208,200,184,.3)}
  .info__photo{position:absolute;left:0;top:368px;width:560px;height:536px}
  .info__ttl{position:absolute;left:648px;top:354px;font-family:var(--serif);font-weight:300;font-size:36px;line-height:2;letter-spacing:2.88px;color:#fff;white-space:nowrap}
  .info__en{position:absolute;left:888px;top:371px;font-family:"Besley",serif;font-weight:400;font-size:22px;line-height:2;letter-spacing:5.28px;color:#fff;white-space:nowrap}
  .info__list{font-family:var(--sans);font-weight:300;font-size:20px;line-height:2;letter-spacing:1.6px;color:var(--text);white-space:nowrap}
  .info__list dt,.info__list dd{position:absolute}
  .info__list dt{left:696px}
  .info__list dt img{position:absolute;max-width:none}
  .info__list .l1{top:450px}.info__list .l1 img{left:-40px;top:6px;width:20px;height:28px}
  .info__list .l2{top:570px}.info__list .l2 img{left:-43.25px;top:6.75px;width:26.5px;height:26.5px}
  .info__list .l3{top:690px}.info__list .l3 img{left:-42.25px;top:6px;width:28.1549px;height:28.2492px}
  .info__list .l4{left:685px;top:809px;color:#444}
  .info__list .l4 .m{left:-30.2px;top:-.2px;width:28.4122px;height:39.4011px}
  .info__list .l4 .c{left:-15.31px;top:27.12px;width:8.62052px;height:6.29142px}
  .info__list dt::after{content:"";position:absolute;left:-48px;width:632px;height:1px;background:#c5c6c6;top:45px}
  .info__list .l4::after{left:-37px;top:46px}
  .info__list dd{left:664px}
  .info__list .v1{top:502px}
  .info__list .v2{top:626px;letter-spacing:.8px}
  .info__list .v3{top:742px}
  .info__list .v4{left:0;top:0}
  .info__tel{position:absolute;left:656px;top:878px;display:flex;align-items:center;gap:8px;height:27px;font-family:var(--num);font-weight:700;font-size:30px;line-height:1.2;letter-spacing:3px;color:var(--gold)}
  .info__tel img{width:20px;height:27px}
  .info__note{position:absolute;left:664px;top:920px;font-size:18px;letter-spacing:1.44px}
  .info__note img{position:absolute;left:-16px;top:11px;width:7.07107px;height:14.1421px}
  .info__map{position:absolute;z-index:1;left:0;top:1024px;width:1280px;height:320px}
  .info__map img{width:100%;height:100%}

  /* ---------- フッター (658:2008 下 256px) ---------- */
  .ft{position:relative;background:#083030;color:var(--gold);font-family:var(--en);font-style:italic;font-weight:400;font-size:20px;line-height:1.5;text-align:center}
  .ft .stg{height:256px}
  .ft__c1{position:absolute;left:0;right:0;top:104px}
  .ft__c1::after{content:"";position:absolute;left:50%;top:55px;width:32px;height:1px;margin-left:-16px;background:var(--gold)}
  .ft__c2{position:absolute;left:0;right:0;top:184px;letter-spacing:1px;padding-left:1px}
  .ft__c2 small{font-size:inherit}
}
/* 1280px 未満〜1327px は左右に 24px 以上の余白が残るよう段階的に縮小（デザイン基準幅 1280 の内容が画面端に接しないように） */
@media (min-width:1024px) and (max-width:1071px){body{zoom:.75;--z:.75}}
@media (min-width:1072px) and (max-width:1135px){body{zoom:.8;--z:.8}}
@media (min-width:1136px) and (max-width:1199px){body{zoom:.85;--z:.85}}
@media (min-width:1200px) and (max-width:1263px){body{zoom:.9;--z:.9}}
@media (min-width:1264px) and (max-width:1327px){body{zoom:.95;--z:.95}}
/* @@SP-BEGIN */
/* ===================== SP (<=1023) — カンプ 927:351（390 幅）を基準座標で組み、画面幅に合わせて body を拡縮 ===================== */
@media (max-width:1023px){
  body{zoom:var(--spz,1);line-break:strict}
  .pc{display:none!important}
  .sp{display:inline}
  img.sp{display:block}
  .stg{position:relative;width:390px;margin:0 auto}
  main>section{position:relative;overflow:hidden}

  /* ---------- header（927:352 内 941:351） ---------- */
  .hd{position:absolute;z-index:20;top:0;left:0;width:390px;height:80px}
  .hd__logo{position:absolute;left:52px;top:16px;width:283px;height:48px}
  .hd__mark{position:absolute;left:0;top:0;width:56px;height:47px;overflow:hidden}
  .hd__mark img{position:absolute;width:406.35%;height:106.65%;max-width:none;left:-1.81%;top:-3.32%}
  .hd__name{position:absolute;left:68px;top:0;width:214.71px;height:48px;overflow:hidden}
  .hd__name img:first-child{position:absolute;width:143.59%;height:142.19%;max-width:none;left:-39.58%;top:-18.41%}
  .hd__name .hd__nameline{position:absolute;left:0;top:32.52px;width:214.71px;height:1px}
  .hd__cta{display:none}

  /* ---------- FV（927:352） ---------- */
  .fv{height:832px;background:#fff url(../img/fv_sp.jpg) 0 0/390px 832px no-repeat}
  .fv__grp{position:absolute;inset:0}
  .fv__box{position:absolute;left:0;top:128px;width:192px;height:424px}
  .fv__box::after{content:"";position:absolute;inset:0;background:var(--green);mix-blend-mode:multiply}
  .fv__line{display:none}
  .fv__ttl,.fv__sub{position:absolute;z-index:1;writing-mode:vertical-rl;white-space:nowrap;color:#fff}
  .fv__ttl{left:84px;top:56px;height:300px;font-weight:400;font-size:40px;line-height:48px;letter-spacing:4px;text-indent:-30px}
  .fv__k1{letter-spacing:1.2px}.fv__k2{letter-spacing:-1.4px}
  .fv__sub{left:20px;top:138.5px;height:270px;font-weight:300;font-size:20px;line-height:28px;letter-spacing:3px;text-indent:-30px}
  .fv__k3{letter-spacing:1.8px}
  .fv__badges li{position:absolute;width:135.92px;height:136px}
  .fv__badges .b1{left:96px;top:680px}.fv__badges .b2{left:152px;top:552px}.fv__badges .b3{left:248px;top:656px}
  .fv__badges img{position:absolute;left:-.87px;top:-.87px;width:137.65px;height:137.73px;max-width:none}
  .fv__badges p{position:absolute;left:0;right:0;text-align:center;white-space:nowrap;color:rgba(55,61,66,.9);font-weight:400;font-size:17px;line-height:1.3}
  .fv__badges em{color:var(--gold)}
  .fv__badges .b1 p{top:34px;line-height:1.3}.fv__badges .b1 em{font-size:20px;line-height:1.15}
  .fv__badges .b2 p{top:31px;line-height:1.22}.fv__badges .b2 em{font-size:21px;line-height:1.2}
  .fv__badges .b3 p{top:33px;left:1px;line-height:1.25}.fv__badges .b3 em{font-size:21px;line-height:1.17;letter-spacing:-.1em}

  /* ---------- 治療の種類（927:353） ---------- */
  .type{height:480px;background:#eef2f5}
  .type__bg{position:absolute;top:0;width:195px;height:480px;background-repeat:no-repeat;background-size:195px 480px}
  .type__bg--l{left:0;background-image:url(../img/type_bgL_sp.jpg)}
  .type__bg--r{left:195px;background-image:url(../img/type_bgR_sp.jpg)}
  .type .stg{height:480px}
  .type .stg::before{content:"";position:absolute;left:16px;top:56px;width:358px;height:360px;background:rgba(255,255,255,.8);box-shadow:4px 8px 12px rgba(0,0,0,.16)}
  .type .stg::after{content:"";position:absolute;left:194.5px;top:80px;width:1px;height:296px;background:#ddd}
  .tcard{position:static}
  .tcard__head{position:absolute;top:72px;width:152px;height:48px;padding-bottom:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
               background:var(--deep);color:#fff;font-weight:300;line-height:1;white-space:nowrap;text-align:center}
  .tcard--impl .tcard__head,.tcard--impl .tcard__img,.tcard--impl .tcard__rec{left:30px}
  .tcard--ao4 .tcard__head,.tcard--ao4 .tcard__img,.tcard--ao4 .tcard__rec{left:209px}
  .tcard__ja{font-size:18px;letter-spacing:-.04em}
  .tcard__en{font-size:12px;letter-spacing:.04em}
  .tcard__en sup{font-size:1em;vertical-align:baseline;line-height:1}
  .tcard__img{position:absolute;top:132px;width:152px;height:96px;object-fit:cover}
  .tcard__point{position:absolute;top:216px;width:128px;height:48px;background:#fff}
  .tcard--impl .tcard__point{left:42px}.tcard--ao4 .tcard__point{left:221px}
  .tcard__point::before{content:"";position:absolute;left:4px;top:4px;width:128px;height:48px;background:rgba(221,221,221,.7);z-index:-1}
  .tcard__point>span{position:absolute;left:-8px;right:-8px;top:3px;text-align:center;white-space:nowrap;color:var(--navy);font-weight:300;font-size:16px;line-height:20px}
  .tcard__point .m{display:block;width:fit-content;margin:0 auto;background:linear-gradient(transparent 12px,#fff0a0 12px)}
  .tcard__point small{font-size:12px}
  .tcard__rec{position:absolute;top:268px;width:152px;padding-bottom:6px;border-bottom:1px solid var(--gold);text-align:center;white-space:nowrap;
              color:var(--gold);font-family:var(--sans);font-weight:350;font-size:14px;line-height:1.5}
  .tcard__rec::after{content:"";position:absolute;left:72px;top:20px;width:8px;height:4px;background:url(../img/type_tri_sp.svg) 0 0/8px 4px}
  .tcard__list{position:absolute;top:305px}
  .tcard--impl .tcard__list{left:30px;letter-spacing:-.02em}.tcard--ao4 .tcard__list{left:209px;letter-spacing:-.04em}
  .tcard__list li{position:relative;padding-left:22px;font-weight:300;font-size:14px;line-height:1.62;white-space:nowrap}
  .tcard--ao4 .tcard__list li{padding-left:19px}
  .tcard__list li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;background:url(../img/ic_check_gold_sp.svg) 0 0/14px 14px}
  .tcard__note{position:absolute;left:72px;top:384px;font-weight:300;font-size:13px;line-height:1.65;white-space:nowrap}

  /* ---------- PROBLEM（927:355） ---------- */
  .prob{height:1000px;background:var(--beige)}
  .prob__photo{position:absolute;inset:0;
    background:linear-gradient(rgba(217,217,217,.8) 15%,rgba(217,217,217,.45) 65%,rgba(217,217,217,0)) 0 0/390px 256px no-repeat,
               linear-gradient(rgba(200,196,192,0),#c8c4c0 12%) 0 504px/390px 496px no-repeat,
               url(../img/problem_sp.jpg) 0 0/390px 568px no-repeat}
  .prob__photo::after{content:"";position:absolute;inset:0;background:#fff;mix-blend-mode:soft-light;opacity:.25}
  .prob__body{position:absolute;inset:0}
  .prob__en{position:absolute;left:0;right:0;top:0;margin-left:1px;text-align:center;font-family:var(--en);font-size:56px;line-height:2;letter-spacing:.15em;color:rgba(0,0,0,.1);
            text-box:trim-both cap alphabetic}
  .prob__ttl{font-weight:400;white-space:nowrap}
  .prob__ttl .l1{position:absolute;left:89px;top:44px;font-size:22px;line-height:2}
  .prob__ttl .l1 .xl{font-size:28px}
  .prob__ttl .l2{position:absolute;left:0;right:0;top:82px;text-align:center;font-size:24px;line-height:1.65}
  .prob__ttl em{color:#887030;font-size:36px}
  .prob__ttl .ka{padding-right:28px}
  .prob__ttl .q{position:absolute;left:248px;top:47px;width:36px;height:54px;font-size:36px;line-height:1.5;text-align:center;transform:rotate(10deg)}
  .prob__list{position:absolute;left:24px;top:488px;display:flex;flex-direction:column;gap:10px}
  .prob__list li{position:relative;width:342px;padding:16px 12px 16px 46px;border-radius:8px;background:rgba(255,255,255,.8);
                 font-weight:300;font-size:18px;line-height:1.35;letter-spacing:.04em;text-box:trim-both cap alphabetic}
  .prob__list li::before{content:"";position:absolute;left:14.94px;top:15.6px;width:20.11px;height:14.18px;background:url(../img/ic_check_line_sp.svg) 0 0/100% 100% no-repeat}

  /* ---------- CONSULTATION 1（927:356 バナー・写真／927:358 相談の内容／927:359 CTA） ---------- */
  .cons{height:3144px;background:#083030}
  .cons .stg{height:3144px}
  .cons::before,.cons::after{content:"";position:absolute;z-index:1;left:0;right:0;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons::before{top:1384px;height:4px}
  .cons::after{bottom:0;height:8px}
  .cons__banner{position:absolute;z-index:2;left:0;right:0;top:0;height:224px;background:url(../img/c_banner_sp.svg) 0 0/390px 224px no-repeat}
  .cons__banner::after{content:"";position:absolute;left:0;top:183.5px;width:390.16px;height:33px;background:url(../img/c_bannerline_sp.svg) 0 0/390.16px 33px no-repeat}
  .cons__banner p{position:absolute;left:8.5px;right:-8.5px;top:32px;text-align:center;color:#fff;font-weight:400;letter-spacing:1.12px;white-space:nowrap}
  .cons__banner .s{display:block;font-size:28px;line-height:1.35}
  .cons__banner .l{display:block;font-size:36px;line-height:1.35}
  .cons__sp1{display:inline-block!important;width:24.48px}
  .cons__photo{position:absolute;left:0;right:0;top:184px;height:1200px;background:url(../img/cons_sp.jpg) 0 0/390px 1200px no-repeat}
  .cons__ivory{position:absolute;left:0;right:0;top:1384px;height:1080px;background:url(../img/cons_ivory_sp.jpg) 0 0/390px 1080px no-repeat}
  .cons__ivory::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons__en{position:absolute;left:0;right:0;top:223.9px;margin-left:1px;padding-left:4.4px;text-align:center;font-family:var(--en);font-size:44px;line-height:1;letter-spacing:4.4px;color:#cfcfcf;mix-blend-mode:soft-light;white-space:nowrap}
  .cons__ttl{position:absolute;left:0;right:0;top:304px;text-align:center;font-weight:400;white-space:nowrap}
  .cons__ttl .s{display:block;padding-left:3px;font-size:28px;line-height:1.25;letter-spacing:2.24px;color:#fff}
  .cons__ttl .l{display:block;margin-top:2px;padding-left:1px;font-size:40px;line-height:1.25;letter-spacing:1.12px;color:#e8c878}
  .cons__ttl .p4{display:block;padding-left:3px;letter-spacing:3.2px}
  .cons__lead{position:absolute;left:24px;top:472px;width:342px;color:#fff;font-weight:400;font-size:17px;line-height:2;letter-spacing:.68px}
  .cons__img{position:absolute;left:24px;top:672px;width:342px;height:208px}
  .cons__catch{position:absolute;left:24px;top:928px;color:#fff;font-weight:400;font-size:22px;line-height:1.35;letter-spacing:1.2px;white-space:nowrap}
  .cons__catch em{color:#e8c878;font-size:28px}
  .cons__txt{position:absolute;left:24px;top:1056px;width:342px;color:#fff;font-weight:400;font-size:17px;line-height:2;letter-spacing:.68px}
  .cons__nw{white-space:nowrap}
  .cons__t32{letter-spacing:-.32px}
  .cons__h3{position:absolute;left:0;right:0;top:1456px;margin-left:1px;text-align:center;color:var(--navy);font-weight:400;font-size:32px;line-height:1.25;letter-spacing:1.28px;white-space:nowrap}
  .cons__line{position:absolute;left:24px;top:1552px;width:342px;height:1px;content:url(../img/cons_line_sp.svg)}
  .ccard{position:absolute;left:24px;top:1624px;width:342px;height:256px;background:#fff;border-radius:18px;box-shadow:0 2px 20px rgba(0,0,0,.12)}
  .ccard--2{top:1928px;height:232px}
  .ccard::before{content:"";position:absolute;left:119px;top:-16px;width:104px;height:80px;background:url(../img/cons_badge_sp.svg) 0 0/104px 80px no-repeat}
  .ccard::after{content:"";position:absolute;left:126px;top:-16px;width:90px;height:80px;background:url(../img/cons_badge2_sp.svg) 0 0/90px 80px no-repeat}
  .ccard__no{position:absolute;z-index:1;left:131.5px;top:-11px;width:80px;text-align:center;font-family:var(--en);font-size:56px;line-height:1;color:#fff}
  .ccard--2 .ccard__no{left:130.5px;top:-12px}
  .ccard__ttl{position:absolute;left:0;top:152px;width:148px;text-align:center;color:var(--gold);font-weight:600;font-size:22px;line-height:1.3;white-space:nowrap}
  .ccard--2 .ccard__ttl{top:150px;font-size:20px}
  .ccard__ic{position:absolute}
  .ccard--1 .ccard__ic{left:39.76px;top:78.75px;width:68.77px;height:58.5px;content:url(../img/ic_counsel_sp.svg)}
  .ccard--2 .ccard__ic{left:49.75px;top:78.75px;width:47.69px;height:58.5px;content:url(../img/ic_doc_sp.svg)}
  .ccard__txt{position:absolute;left:144px;top:96px;width:184px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8}
  .cons__note{position:absolute;left:24px;top:2224px;width:342px;text-align:center;font-weight:300;font-size:17px;line-height:1.8;letter-spacing:.85px}
  /* CTA（927:359。.cta--2 は CONSULTATION 2 側で位置を上書き） */
  .cta{position:absolute;left:0;top:2464px;width:390px;height:680px}
  .cta__ttl{position:absolute;left:47px;right:47px;top:72px;text-align:center;color:#fff;font-weight:500;font-size:30px;line-height:1;letter-spacing:1.6px;white-space:nowrap}
  .cta__ttl span{font-size:32px}
  .cta__ttl::before{content:"";position:absolute;left:-22.95px;top:-.27px;width:341.93px;height:37.27px;background:url(../img/cta_ttl_sp.svg) 0 0/100% 100% no-repeat}
  .cta__tel,.cta__web{position:absolute;left:35px;width:320px;height:128px;color:#fff;overflow:hidden;box-shadow:8px 8px 0 rgba(17,17,17,.4)}
  .cta__tel{top:168px;background:#286058}
  .cta__web{top:328px;background:var(--gold)}
  .cta__tel::before,.cta__web::before{content:"";position:absolute;left:136px;top:0;width:184px;height:128px;background:url(../img/cta_ovL_sp.svg) 0 0/184px 128px no-repeat}
  .cta__web::before{background-image:url(../img/cta_ovR_sp.svg)}
  .cta__tel::after,.cta__web::after{content:"";position:absolute;inset:6px;border:1px solid #ddd}
  .cta__web::after{border-color:#fff}
  .cta__tellbl{position:absolute;left:1px;right:0;top:22px;text-align:center;font-family:var(--sans);font-weight:350;font-size:14px;line-height:1.5;letter-spacing:1.12px;white-space:nowrap}
  .cta__num{position:absolute;left:27px;top:50px;display:flex;align-items:center;gap:10px;font-family:var(--en);font-size:42px;line-height:1;letter-spacing:1.68px;white-space:nowrap}
  .cta__num img{width:22px;height:29px;margin:-1px;content:url(../img/ic_tel2_sp.svg)}
  .cta__hours{position:absolute;left:160.5px;top:94px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--sans);font-weight:350;font-size:12.5px;line-height:1.5;letter-spacing:1px}
  .cta__hours .cl{letter-spacing:-.12em}
  .cta__pill{display:flex;align-items:center;justify-content:center;width:64px;height:18px;border-radius:3px;background:#fff;color:var(--text);font-weight:350;font-size:11px;letter-spacing:.44px}
  .cta__webtxt{position:absolute;left:52px;top:40px;display:flex;align-items:flex-start;gap:16px;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.25);white-space:nowrap}
  .cta__webtxt img{width:40.5px;height:31.31px;margin:-1.25px;content:url(../img/ic_web_sp.svg)}
  .cta__webtxt .g{position:relative;display:block;width:163.6px;height:36px}
  .cta__webtxt .w{position:absolute;left:0;top:0;font-size:36px;letter-spacing:2.52px}
  .cta__webtxt .y{position:absolute;left:93px;top:1px;font-size:33px;letter-spacing:2.31px}
  .cta__weblbl{position:absolute;left:101px;top:95px;font-weight:500;font-size:18px;line-height:1;letter-spacing:1.44px;white-space:nowrap}
  .cta__chev{position:absolute;left:293.25px;top:54.34px;width:9.75px;height:19.33px;content:url(../img/ic_chev2_sp.svg)}
  .cta__foot{position:absolute;left:24px;right:24px;top:504px;text-align:center;color:#fff;font-weight:500;font-size:17px;line-height:31px;letter-spacing:.85px}

  /* ---------- 失った歯の影響（927:360） ---------- */
  .loss{height:1304px;background:var(--beige)}
  .loss .stg{height:1304px}
  .loss::before{content:"";position:absolute;left:0;top:0;width:390px;height:208px;background:url(../img/loss_bg_sp.svg) 0 0/390px 208px no-repeat}
  .loss__img{position:absolute;left:60px;top:-30px;width:352px;height:238px;max-width:none;object-fit:fill;-webkit-mask:url(../img/loss_mask_sp.svg) -60px 30px/390px 208px no-repeat;mask:url(../img/loss_mask_sp.svg) -60px 30px/390px 208px no-repeat}
  .loss .stg::before{content:"";position:absolute;left:4.101px;top:97.834px;width:382.482px;height:130.273px;transform:rotate(-6deg);mix-blend-mode:multiply;background:url(../img/loss_wave_sp.svg) 0 0/100% 100% no-repeat}
  .loss .stg::after{content:"";position:absolute;z-index:1;left:4.577px;top:95.175px;width:380.846px;height:121.656px;transform:rotate(-5deg);background:url(../img/loss_gold_sp.svg) 0 -.499px/380.846px 122.654px no-repeat}
  .loss__ttl{position:absolute;z-index:2;left:24px;top:169px;color:var(--text);font-weight:500;letter-spacing:.72px;line-height:0;white-space:nowrap}
  .loss__ttl .ln{display:block}
  .loss__ttl .ln:first-child>span:first-child{display:block}
  .loss__ttl span{font-size:24px;line-height:1.2}
  .loss__ttl em{font-size:36px;line-height:1.2;letter-spacing:1.08px;color:var(--gold2)}
  .loss__ttl .ln+.ln em{font-size:32px;letter-spacing:.96px}
  .loss__line,.loss__line2{position:absolute;left:24px;top:303px;width:342px;height:1px;content:url(../img/loss_line_sp.svg)}
  .loss__line2{top:999px}
  .loss__txt{position:absolute;left:24px;top:344px;width:342px;color:var(--text);font-weight:300;font-size:17px;line-height:2}
  .loss__cards{position:absolute;left:30px;top:504px;display:grid;grid-template-columns:160px 160px;gap:10px;margin:0;padding:0;list-style:none}
  .loss__cards li{width:160px;height:144px;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
  .loss__cards .c2{gap:16px}.loss__cards .c3{padding-top:4px}.loss__cards .c5{padding-bottom:8px}
  .loss__cards p{text-align:center;font-weight:300;font-size:17px;line-height:1.35;white-space:nowrap;color:#333}
  .loss__cards .c1 p{color:var(--text)}
  .loss__cards img{flex:none;max-width:none}
  .loss__cards .c1 img{width:73px;height:48.656px;margin:0 0 0 -1px;content:url(../img/ic_loss1_sp.svg)}
  .loss__cards .c2 img{width:97.174px;height:69.501px;margin:-1px -.42px -1px -.75px;content:url(../img/ic_loss2_sp.svg)}
  .loss__cards .c3 img{width:113.172px;height:43.237px;margin:0 -.42px 0 -.75px;content:url(../img/ic_loss3_sp.svg)}
  .loss__cards .c4 img{width:112.393px;height:46.572px;margin:-1px 0 0 -.39px;content:url(../img/ic_loss4_sp.svg)}
  .loss__cards .c5 img{width:97.179px;height:58.345px;margin:-.83px -1px -1px -.18px;content:url(../img/ic_loss5_sp.svg)}
  .loss__p1{position:absolute;z-index:1;left:24px;top:1032px;color:var(--text);font-weight:400;font-size:17px;line-height:1.6;letter-spacing:.51px;white-space:nowrap}
  .loss__p2{position:absolute;z-index:1;left:24px;top:1109px;color:var(--gold2);font-weight:500;font-size:20px;line-height:0;letter-spacing:1px;white-space:nowrap}
  .loss__p2 b{font-weight:500;font-size:28px;line-height:1.3;letter-spacing:1.4px}
  .loss__woman{position:absolute;left:157px;top:1086px;width:288px;height:218px;overflow:hidden}
  .loss__woman img{position:absolute;max-width:none;left:-43.9%;top:-5.63%;width:143.92%;height:106.87%}

  /* ---------- RESTORING YOUR BITE（927:361） ---------- */
  .bite{height:1480px;background:linear-gradient(180deg,#e4ece8,#d1d9d2)}
  .bite .stg{height:1480px}
  .bite__model{position:absolute;left:0;top:888px;width:390px;height:520px;overflow:hidden}
  .bite__model::before{content:"";position:absolute;left:-33.52px;top:409.26px;width:481.482px;height:96.296px;mix-blend-mode:multiply;background:url(../img/bite_shadow_sp.svg) 0 0/100% 100% no-repeat}
  .bite__model>img{position:absolute;left:-176.114px;top:0;width:794.444px;height:520px;max-width:none;object-fit:fill}
  .blabel{position:absolute;left:24px;width:168px;height:112px}
  .blabel::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.8)}
  .blabel::after{content:"";position:absolute;left:168px;top:48px;width:80px;height:16px;transform:scaleX(-1);background:url(../img/bite_lead1_sp.svg) 0 0/100% 100% no-repeat}
  .blabel.b1{top:8px}
  .blabel.b2{left:8px;top:144px}.blabel.b2::after{width:104px;background-image:url(../img/bite_lead2_sp.svg)}
  .blabel.b3{top:280px;height:128px}.blabel.b3::after{top:56px;width:88px;background-image:url(../img/bite_lead3_sp.svg)}
  .blabel p{position:absolute;left:14px;top:16px;color:var(--text);font-weight:500;letter-spacing:1.1px;white-space:nowrap;line-height:0}
  .blabel span{display:block}
  .blabel .t{font-size:22px;line-height:1.2}
  .blabel.b2 .t{letter-spacing:-1.6px}
  .blabel .s{font-size:17px;line-height:1.2;margin-left:-.55em}
  .blabel .d1,.blabel .d2{font-weight:400;font-size:13px}
  .blabel .d1{line-height:1.8}.blabel .d2{line-height:1.35}
  .bite__en{position:absolute;left:4.34px;right:-4.34px;top:0;text-align:center;font-family:var(--en);font-size:48px;line-height:.8;letter-spacing:7.68px;color:#fff;opacity:.45;white-space:nowrap}
  .bite__ttl{position:absolute;left:0;right:0;top:105px;text-align:center;color:var(--text);font-weight:400;font-size:28px;letter-spacing:1.12px;line-height:0;white-space:nowrap}
  .bite__ttl .ln{display:block}
  .bite__ttl span{font-size:28px;line-height:1.25}
  .bite__ttl .a{letter-spacing:-1.12px}
  .bite__ttl .no{letter-spacing:-10.08px}
  .bite__ttl em{font-size:36px;line-height:1.25;color:var(--gold2)}
  .bite__ttl em.kc{letter-spacing:-12.96px}
  .bite__hl{display:none}
  .bite__lead{position:absolute;left:200.5px;top:280px;transform:translateX(-50%);text-align:center;color:var(--text);font-weight:300;font-size:17px;line-height:1.8;letter-spacing:.68px;white-space:nowrap}
  .bite__pills li{position:absolute;left:24px;top:416px;width:342px;height:88px;border-radius:64px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.12)}
  .bite__pills .p2{top:520px;height:112px}.bite__pills .p3{top:648px}
  .bite__pills li::after{content:"";position:absolute;left:88px;top:20px;width:1px;height:48px;background:#b89838}
  .bite__pills .p2::after{height:72px}
  .bite__pills img{position:absolute;max-width:none}
  .bite__pills .p1 img{left:26px;top:13.05px;width:45.765px;height:56px;content:url(../img/ic_bite1_sp.svg)}
  .bite__pills .p2 img{left:30.015px;top:33px;width:38px;height:48px;content:url(../img/ic_bite2_sp.svg)}
  .bite__pills .p3 img{left:26px;top:11.04px;width:45.357px;height:56px;content:url(../img/ic_bite3_sp.svg)}
  .bite__pills p{position:absolute;left:112px;top:37px;color:var(--text);font-weight:400;font-size:20px;line-height:1;letter-spacing:1px;white-space:nowrap}
  .bite__pills .p2 p{top:25px;line-height:1.2}
  .bite__foot{position:absolute;left:0;right:0;top:768px;text-align:center;color:var(--text);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.8;white-space:nowrap}
/* ---- 比較表（927:363・タブ3状態 964:3147） ---- */
.cmp{height:1408px;background:var(--beige);--pb:#e8f0e8;--pc:var(--green);--ph:608px;--lb:var(--green);--ln:url(../img/cmp_line_sp.svg)}
.cmp[data-cur=br]{--pb:#ececec;--pc:#b5b5b5;--ph:616px;--lb:#9a9a9a;--ln:url(../img/cmp_line2_sp.svg)}
.cmp[data-cur=de]{--pb:#ececec;--pc:#9a9a9a;--ph:608px;--lb:#9a9a9a;--ln:url(../img/cmp_line2_sp.svg)}
.cmp__stripe{display:none}
.cmp .stg{height:1408px}
.cmp__ttl{position:absolute;left:calc(50% + .5px);top:88px;transform:translateX(-50%);text-align:center;white-space:nowrap;font-weight:400;font-size:36px;line-height:1.25;letter-spacing:1.12px;color:var(--gold)}
.cmp__ttl .ln{display:block}
.cmp__ttl .d{color:var(--text);font-size:28px}
.cmp__ttl .ln+.ln>span:last-child{font-size:36px;letter-spacing:1.44px}
.cmp__lead{position:absolute;left:24px;top:264px;width:342px;font-weight:300;font-size:17px;line-height:2;letter-spacing:.51px;text-align:left;white-space:normal}
.cmp__note{position:absolute;left:24px;top:1248px;width:342px;padding-left:17.68px;text-indent:-17.68px;font-weight:300;font-size:17px;line-height:1.8;letter-spacing:.68px;text-align:left;white-space:normal}
.cmp__tabs{display:block}
.cmp__tabs button{position:absolute;top:544px;width:110px;height:56px;padding:0;border-radius:16px 16px 0 0;color:#fff;font-family:var(--sans);font-weight:700;font-size:18px;line-height:1;letter-spacing:1.44px;text-align:center;white-space:nowrap}
.cmp__tabs [data-col=im]{left:24px;background:var(--green);padding-top:3.2px;line-height:1.2;letter-spacing:1.08px}
.cmp__tabs [data-col=br]{left:140px;background:#b5b5b5}
.cmp__tabs [data-col=de]{left:256px;background:#9a9a9a}
.cmp__tabs [aria-pressed=true]{top:536px;height:64px;padding-top:2px}
.cmp__tabs [data-col=im][aria-pressed=true]{padding-top:1.2px}
.cmp__tbl{position:static;display:block;font-family:var(--sans)}
.cmp__tbl thead,.cmp__tbl tbody,.cmp__tbl tr{display:block}
.cmp__tbl::before{content:"";position:absolute;left:24px;top:600px;width:342px;height:var(--ph);background:var(--pb);border:2px solid var(--pc);border-top:0;border-radius:0 0 16px 16px}
.cmp__tbl thead .lb,.cmp__tbl .br,.cmp__tbl .de{display:none}
.cmp[data-cur=br] .cmp__tbl .im,.cmp[data-cur=de] .cmp__tbl .im{display:none}
.cmp[data-cur=br] .cmp__tbl .br,.cmp[data-cur=de] .cmp__tbl .de{display:block}
.cmp__tbl thead th{position:absolute;left:24px;top:600px;width:342px;height:200px;padding:0;background:var(--pc)}
.cmp__tbl .tab{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cmp__tbl .pic{position:absolute;left:19px;top:20px;width:304px;height:160px;border-radius:12px;background:#eee}
.cmp__tbl .im .pic{background:#e8f0e8}
.cmp__tbl .pic img{position:absolute;object-fit:fill}
.cmp__tbl .im .pic img{left:107px;top:15px;width:90px;height:128px}
.cmp__tbl .br .pic img{left:79px;top:44px;width:147px;height:72px}
.cmp__tbl .de .pic img{left:60px;top:28px;width:184px;height:104px}
.cmp__tbl tbody th{position:absolute;left:42px;top:var(--lt);width:88px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;background:var(--lb);color:#fff;font-weight:700;font-size:17px;line-height:1;text-align:center;white-space:nowrap}
.cmp__tbl .r3 th{height:56px;line-height:1.3}
.cmp[data-cur=br] .cmp__tbl .r5 th{height:56px}
.cmp__tbl tbody td{position:absolute;left:0;top:0;width:390px;height:0;padding:0}
.cmp__tbl tbody tr+tr td::before{content:"";position:absolute;left:24px;top:calc(var(--ly) - 1px);width:342px;height:1px;background:var(--ln) 0 0/342px 1px no-repeat}
.cmp__tbl .mk{position:absolute;left:156.5px;top:calc(var(--my) - 19.5px);width:39px;height:39px}
.cmp__tbl .mk[src$="mk_dcirc.svg"]{content:url(../img/mk_dcirc_sp.svg)}
.cmp__tbl .mk[src$="mk_circ.svg"]{content:url(../img/mk_circ_sp.svg)}
.cmp__tbl .mk[src$="mk_tri.svg"]{content:url(../img/mk_tri_sp.svg);top:calc(var(--my) - 17.095px);height:34.19px}
.cmp__tbl .tx{position:absolute;left:214px;top:var(--ty);width:136px;font-weight:300;font-size:16px;line-height:1.5;color:var(--text);text-align:left;white-space:normal}
.cmp__tbl .r1{--lt:816px}.cmp__tbl .r2{--lt:894px;--ly:880px}.cmp__tbl .r3{--lt:976px;--ly:960px}.cmp__tbl .r4{--lt:1063px;--ly:1048px}.cmp__tbl .r5{--lt:1143px;--ly:1128px}
.cmp[data-cur=br] .cmp__tbl .r5{--lt:1144px}
.cmp__tbl .r1 .im{--my:840px;--ty:828px}.cmp__tbl .r2 .im{--my:918px;--ty:894px}.cmp__tbl .r3 .im{--my:1004px;--ty:980px}.cmp__tbl .r4 .im{--my:1086.5px;--ty:1075px}.cmp__tbl .r5 .im{--my:1166.5px;--ty:1155px}
.cmp__tbl .r1 .br{--my:840px;--ty:828px}.cmp__tbl .r2 .br{--my:918px;--ty:894px}.cmp__tbl .r3 .br{--my:1004.5px;--ty:992px}.cmp__tbl .r4 .br{--my:1087px;--ty:1075px}.cmp__tbl .r5 .br{--my:1172px;--ty:1136px}
.cmp__tbl .r1 .de{--my:840.5px;--ty:816px}.cmp__tbl .r2 .de{--my:918.5px;--ty:894px}.cmp__tbl .r3 .de{--my:1004.5px;--ty:980px}.cmp__tbl .r4 .de{--my:1087px;--ty:1063px}.cmp__tbl .r5 .de{--my:1167px;--ty:1143px}
  /* REASON（927:364） */
  .rsn{position:relative;height:3824px;overflow:hidden;background:#f8f8f8}
  .rsn .stg{height:3824px}
  .rsn__bg{position:absolute;width:336px;height:160px;mix-blend-mode:multiply}
  .rsn__bg.b1{left:calc(50% - 195px);top:424px;background:#e8f0e8}
  .rsn__bg.b2{left:calc(50% - 141px);top:1048px;background:#f8f4e8;opacity:.8}
  .rsn__bg.b3{left:calc(50% - 195px);top:1728px;background:#ebebeb;mix-blend-mode:normal}
  .rsn__bg.b4{left:calc(50% - 141px);top:2464px;background:#e8f0e8}
  .rsn__bg.b5{left:calc(50% - 195px);top:3144px;background:#f8f4e8;opacity:.8}
  .rsn__en{position:absolute;margin-left:7px;left:calc(50% - .5px);top:-8px;transform:translateX(-50%);font-family:var(--en);font-size:56px;line-height:1;letter-spacing:14px;color:#000;opacity:.1;white-space:nowrap}
  .rsn__ttl{position:absolute;left:0;right:0;top:90px;font-size:34px;text-align:center;font-weight:400;letter-spacing:1.44px;line-height:0;white-space:nowrap;color:#373d42}
  .rsn__ttl .ln{display:block}
  .rsn__ttl .ln>span{font-size:34px;line-height:1.5}
  .rsn__ttl .ln>span:nth-of-type(1){line-height:1.35}
  .rsn__ttl .ln:first-child>span{line-height:1.5}
  .rsn__ttl em{font-size:48px;line-height:1.35;color:var(--gold)}
  .rsn__ttl .sp5{line-height:1.5;letter-spacing:2.4px}
  .rsn__ttl .ln:nth-child(2)>em:first-child,.rsn__ttl .ln:nth-child(2)>span:nth-of-type(1){position:relative;top:2px}
  .rsn__ttl .ln:nth-child(2)>span:last-child{position:relative;top:5px}
  .rsn__ttl .ln>.rsn__five{position:absolute;left:123px;top:111px;transform:translateX(-50%);font-family:var(--en);font-size:80px;line-height:1.72;letter-spacing:-6.4px;color:var(--gold)}
  .rsn__ph{position:absolute;left:24px;width:342px;height:224px}
  .rsn__lbl{position:absolute;left:24px;width:8px;height:52px}
  .rsn__lbl::before{content:"";position:absolute;left:3.5px;top:0;width:1px;height:8px;background:#d8b860}
  .rsn__lbl span{position:absolute;left:4px;top:32px;transform:translate(-50%,-50%) rotate(90deg);font-family:var(--en);font-size:10px;line-height:2;letter-spacing:.8px;white-space:nowrap;color:#373d42}
  .rsn__no{position:absolute;left:37px;font-family:var(--en);font-size:80px;line-height:1;color:#585858;white-space:nowrap}
  .rsn__no b{font-weight:400;color:var(--gold)}
  .rsn__h{position:absolute;left:24px;font-weight:400;font-size:27px;letter-spacing:2.16px;line-height:0;white-space:nowrap;color:#373d42}
  .rsn__h .ln{display:block}
  .rsn__h .ln>*{line-height:1.25}
  .rsn__h em{color:var(--gold)}
  .rsn .i1 .rsn__h,.rsn .i2 .rsn__h,.rsn .i3 .rsn__h,.rsn .i4 .rsn__h{margin-top:1px}
  .rsn .i1 .rsn__h .t06{letter-spacing:1.08px}
  .rsn__txt{position:absolute;left:24px;width:342px;font-size:17px;line-height:2;letter-spacing:.34px;color:#373d42}
  .rsn .i1 .rsn__txt,.rsn .i2 .rsn__txt{letter-spacing:.51px}
  .rsn__txt .hang{display:none}
  .rsn .i1 .rsn__ph{top:336px}.rsn .i1 .rsn__lbl,.rsn .i1 .rsn__no{top:620px}.rsn .i1 .rsn__h{top:704px}.rsn .i1 .rsn__txt{top:824px}
  .rsn .i2 .rsn__ph{top:1072px}.rsn .i2 .rsn__lbl,.rsn .i2 .rsn__no{top:1332px}.rsn .i2 .rsn__h{top:1416px}.rsn .i2 .rsn__txt{top:1504px}
  .rsn .i3 .rsn__ph{top:1752px}.rsn .i3 .rsn__lbl,.rsn .i3 .rsn__no{top:2012px}.rsn .i3 .rsn__h{top:2096px}.rsn .i3 .rsn__txt{top:2184px}
  .rsn .i4 .rsn__ph{top:2376px}.rsn .i4 .rsn__lbl,.rsn .i4 .rsn__no{top:2660px}.rsn .i4 .rsn__h{top:2744px}.rsn .i4 .rsn__txt{top:2832px}
  .rsn .i5 .rsn__ph{top:3056px}.rsn .i5 .rsn__lbl{top:3332px}.rsn .i5 .rsn__no{top:3340px}.rsn .i5 .rsn__h{top:3424px}.rsn .i5 .rsn__txt{top:3512px}
  .rsn__badge{position:absolute;left:262px;top:3328px;width:104px;height:80px;background:#0c1d46;clip-path:polygon(0 0,104px 0,104px 80px,52px 68px,0 80px)}
  .rsn__badge::before,.rsn__badge::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:#e8c878}
  .rsn__badge::before{left:5.78px}.rsn__badge::after{left:98.22px}
  .rsn__badge>span{position:absolute;left:53.5px;transform:translateX(-50%);color:#e8c878;opacity:.9;font-weight:400;line-height:1.05;white-space:nowrap;text-align:center}
  .rsn__badge .l1{top:0;font-size:36px}
  .rsn__badge .l1 small{font-size:25px}
  .rsn__badge .n1{letter-spacing:-1.8px}
  .rsn__badge .l2{top:37.8px;font-size:25px}
  /* 静脈内鎮静法（927:365・927:366） */
  .saf{position:relative;height:2576px;overflow:hidden;background:#fff}
  .saf .stg{height:2576px}
  .saf__bg{position:absolute;left:calc(50% - 195px);top:0;width:390px;height:1576px;background:url(../img/saf_bg_sp.jpg) 0 0/390px 480px no-repeat}
  .saf__bg::after{content:"";position:absolute;left:0;bottom:0;width:390px;height:480px;background:url(../img/saf_bg_sp.jpg) 0 0/100% 100% no-repeat;transform:rotate(180deg)}
  .saf__low{position:absolute;left:0;right:0;top:1576px;height:1000px;background:var(--beige)}
  .saf__pt{position:absolute;left:calc(50% - 195px);top:1784px;width:390px;height:280px;max-width:none}
  .saf__wv{position:absolute;left:calc(50% - 195px);top:1966.24px;width:390px;height:195.5px}
  .saf__wv img{position:absolute;left:0;max-width:none}
  .saf__wv .w1{top:27.5px;width:390px;height:168px;transform:rotate(180deg)}
  .saf__wv .w3{top:13.49px;width:390px;height:86px}
  .saf__wv .w2{left:2.834px;top:16.09px;width:384.332px;height:82.82px;transform:rotate(175deg)}
  .saf__en{position:absolute;margin-left:2.88px;left:calc(50% - 1px);top:0;transform:translateX(-50%);font-family:var(--en);font-size:48px;line-height:.8;letter-spacing:5.76px;color:#000;opacity:.1;white-space:pre;text-align:center}
  .saf__ttl{position:absolute;left:50%;top:120px;transform:translateX(-50%);font-size:28px;text-align:center;font-weight:400;letter-spacing:1.44px;line-height:0;white-space:nowrap;color:#373d42}
  .saf__ttl .ln{display:block}
  .saf__ttl .ln>span{font-size:28px;line-height:1.35}
  .saf__ttl em{display:block;position:relative;top:2px;font-size:36px;line-height:1.35;color:var(--gold)}
  .saf__lead{position:absolute;left:24px;top:296px;width:342px;text-align:left;text-spacing-trim:space-all;font-weight:300;font-size:17px;line-height:2;letter-spacing:.68px;color:#373d42}
  .saf__tri{position:absolute;max-width:none}
  .saf__tri.t1{left:19px;top:664px;width:128px;height:128px}
  .saf__tri.t2{left:275px;top:520px;width:96px;height:96px;transform:rotate(180deg)}
  .saf__ph{position:absolute;left:35px;top:536px;width:320px;height:240px}
  .saf__catch{position:absolute;left:24px;top:840px;font-size:0;line-height:0;white-space:nowrap;color:#373d42}
  .saf__catch>*{font-size:20px;line-height:1.5;font-weight:400}
  .saf__catch b{font-size:24px}
  .saf__line{position:absolute;left:24px;top:923px;width:342px;height:1px;background:#b3b3b3}
  .saf__h{position:absolute;left:24px;top:960px;font-size:34px;font-weight:400;letter-spacing:1.7px;line-height:0;white-space:nowrap;color:var(--gold)}
  .saf__h em{font-size:34px;line-height:1.35}
  .saf__h span{font-size:24px;line-height:1.35;color:#373d42}
  .saf__txt{position:absolute;left:24px;top:1024px;width:342px;font-weight:300;font-size:17px;line-height:2;letter-spacing:.34px;color:#373d42}
  .saf__note{position:absolute;left:24px;top:1344px;width:342px;padding:16px 20px;border:1px solid var(--gold);border-radius:8px}
  .saf__note p{text-align:center;color:var(--gold);font-weight:500;font-size:19px;line-height:1.5}
  .saf__ask{position:absolute;left:50%;top:1640px;transform:translateX(-50%);text-align:center;font-size:0;line-height:0;white-space:nowrap;font-weight:400;color:#373d42}
  .saf__ask>*{font-size:24px;line-height:1.5}
  .saf__ask em{font-size:36px;color:var(--gold)}
  .saf__list{position:absolute;left:24px;top:2080px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .saf__list li{display:flex;align-items:flex-start;gap:12px;width:342px;height:69px;padding:16px 12px 16px 16px;border-radius:8px;background:rgba(255,255,255,.8)}
  .saf__list li:nth-child(2),.saf__list li:nth-child(3){align-items:center;height:45px}
  .saf__list .chk{position:relative;display:block;flex:none;width:18px;height:11px}
  .saf__list .chk i{position:absolute;left:-1.057px;top:-1.065px;display:block;width:20.114px;height:14.178px}
  .saf__list .chk img{display:block;width:20.114px;height:14.178px;max-width:none;content:url(../img/saf_chk_sp.svg)}
  .saf__list .tx{flex:1 0 0;min-width:1px}
  .saf__list p{font-weight:300;font-size:18px;line-height:1.35;letter-spacing:.72px;color:#373d42}
  /* FLOW（927:367） */
  .flw{position:relative;height:5680px;overflow:hidden;background:#fff url(../img/flow_bg.png) 0 0/10px 10px repeat}
  .flw .stg{height:5680px}
  .flw__en{position:absolute;margin-left:9.8px;left:calc(50% - .5px);top:-9px;transform:translateX(-50%);font-family:var(--en);font-size:56px;line-height:1;letter-spacing:19.6px;color:#000;opacity:.1;white-space:nowrap}
  .flw__ttl{position:absolute;left:calc(50% + .5px);top:88px;transform:translateX(-50%);font-size:28px;text-align:center;font-weight:400;letter-spacing:1.12px;line-height:0;white-space:nowrap;color:#373d42}
  .flw__ttl .ln{display:block}
  .flw__ttl .ln>span{font-size:28px;line-height:1.25}
  .flw__ttl em{font-size:36px;line-height:1.25;color:var(--gold)}
  .flw__ttl .ln>em:first-child{display:block;font-size:38px}
  .flw__ph{position:absolute;width:368px;height:304px;max-width:none}
  .flw .od .flw__ph{left:0;clip-path:polygon(0 0,368px 0,328px 304px,0 304px)}
  .flw .ev .flw__ph{left:22px;clip-path:polygon(0 0,368px 0,368px 304px,40px 304px)}
  .flw__no{position:absolute;font-family:var(--en);font-size:48px;line-height:1;color:var(--gold);white-space:nowrap}
  .flw .od .flw__no{transform:translateX(-50%)}
  .flw .ev .flw__no{left:70px}
  .flw__lbl{position:absolute;left:24px;margin-top:1px;font-family:var(--en);font-style:italic;font-size:16px;line-height:1;color:#8b898a;white-space:nowrap}
  .flw__line{position:absolute;left:24px;width:342px;height:1px;background:#c8b070}
  .flw__h{position:absolute;left:24px;font-weight:400;font-size:26px;line-height:1.25;letter-spacing:1.04px;color:var(--gold);white-space:nowrap}
  .flw .f3 .flw__h,.flw .f4 .flw__h,.flw .f6 .flw__h,.flw .f8 .flw__h{line-height:1.35}
  .flw .f1 .flw__h .n0{letter-spacing:0}
  .flw__txt{position:absolute;left:24px;width:342px;font-weight:300;font-size:17px;line-height:2;color:#373d42}
  .flw .f1 .flw__ph{top:288px}.flw .f1 .flw__no{left:91px;top:624px}.flw .f1 .flw__lbl{top:648px}.flw .f1 .flw__line{top:671px}.flw .f1 .flw__h{top:688px}.flw .f1 .flw__txt{top:744px}
  .flw .f2 .flw__ph{top:960px}.flw .f2 .flw__no{top:1296px}.flw .f2 .flw__lbl{top:1320px}.flw .f2 .flw__line{top:1343px}.flw .f2 .flw__h{top:1356px}.flw .f2 .flw__txt{top:1412px}
  .flw .f3 .flw__ph{top:1632px}.flw .f3 .flw__no{left:93px;top:1968px}.flw .f3 .flw__lbl{top:2012px}.flw .f3 .flw__line{top:2015px}.flw .f3 .flw__h{top:2029px}.flw .f3 .flw__txt{top:2088px}
  .flw .f4 .flw__ph{top:2304px}.flw .f4 .flw__no{top:2640px}.flw .f4 .flw__lbl{top:2664px}.flw .f4 .flw__line{top:2687px}.flw .f4 .flw__h{top:2701px}.flw .f4 .flw__txt{top:2760px}
  .flw .f5 .flw__ph{top:2976px}.flw .f5 .flw__no{left:93.5px;top:3312px}.flw .f5 .flw__lbl{top:3336px}.flw .f5 .flw__line{top:3359px}.flw .f5 .flw__h{top:3368px}.flw .f5 .flw__txt{top:3424px}
  .flw .f6 .flw__ph{top:3640px}.flw .f6 .flw__no{top:3976px}.flw .f6 .flw__lbl{top:4000px}.flw .f6 .flw__line{top:4023px}.flw .f6 .flw__h{top:4037px}.flw .f6 .flw__txt{top:4096px}
  .flw .f7 .flw__ph{top:4312px}.flw .f7 .flw__no{left:93.5px;top:4649px}.flw .f7 .flw__lbl{left:23px;top:4672px}.flw .f7 .flw__line{top:4695px}.flw .f7 .flw__h{top:4704px}.flw .f7 .flw__txt{top:4760px}
  .flw .f8 .flw__ph{top:4976px}.flw .f8 .flw__no{top:5313px}.flw .f8 .flw__lbl{left:25px;top:5336px}.flw .f8 .flw__line{top:5359px}.flw .f8 .flw__h{top:5373px}.flw .f8 .flw__txt{top:5432px}

  /* ---------- 骨が少ない・多くの歯を失った方（927:368） ---------- */
  .trt{height:3400px;background:var(--beige)}
  .trt .stg{height:3400px}
  .trt__band{position:absolute;left:0;top:0;width:390px;height:272px;max-width:none;content:url(../img/trt_band_sp.svg)}
  .trt__bandline{position:absolute;left:0;top:231.51px;width:390.162px;height:33px;max-width:none;content:url(../img/trt_bandline_sp.svg)}
  .trt__en{position:absolute;margin-left:2.88px;left:calc(50% + .5px);top:1px;transform:translateX(-50%);font-family:var(--en);font-size:48px;line-height:.8;letter-spacing:5.76px;color:#105757;white-space:nowrap;text-align:center}
  .trt__ttl{position:absolute;left:50%;margin-left:.56px;top:100px;transform:translateX(-50%);font-size:27px;font-weight:400;line-height:0;letter-spacing:1.12px;color:#e8c878;text-align:center;white-space:nowrap}
  .trt__ttl .ln{display:block}
  .trt__ttl .ln>*{font-size:27px;line-height:1.25}
  .trt__ttl .ln>.l2{font-size:36px;letter-spacing:.12px}
  .trt__ttl .ln:last-child{position:relative;top:1px}
  .trt__lead{position:absolute;left:24px;top:320px;width:342px;font-weight:300;font-size:17px;line-height:2;letter-spacing:.51px;color:#373d42}
  .trt__ph{position:absolute;left:24px;width:342px;height:256px;max-width:none}
  .trt .b1 .trt__ph{top:608px}
  .trt .b2 .trt__ph{top:2016px}
  .trt__no{position:absolute;width:0;height:0}
  .trt__no .fr{position:absolute;left:-52.5px;top:-52.5px;width:105px;height:105px;max-width:none;content:url(../img/trt_frame_sp.svg)}
  .trt__no .sq{position:absolute;left:-46px;top:-46px;width:92px;height:92px;background:var(--deep)}
  .trt .b1 .trt__no{left:73.675px;top:637.675px}.trt .b1 .trt__no .fr{transform:rotate(-12deg)}.trt .b1 .trt__no .sq{transform:translate(-.115px,-1.245px) rotate(-12deg)}
  .trt .b2 .trt__no{left:316.68px;top:2045.68px}.trt .b2 .trt__no .fr{transform:rotate(12deg)}.trt .b2 .trt__no .sq{transform:translate(.01px,-.64px) rotate(12deg)}
  .trt__num{position:absolute;transform:translateX(-50%);font-family:var(--en);font-size:64px;line-height:1;color:#b09860;white-space:nowrap}
  .trt .b1 .trt__num{left:74px;top:604px}
  .trt .b2 .trt__num{left:316.69px;top:2011.84px}
  .trt__h{position:absolute;left:24px;font-size:0;line-height:0;font-weight:400;white-space:nowrap;color:#373d42}
  .trt__h>*{font-size:30px;line-height:1.25}
  .trt__h>em{font-size:38px;color:var(--gold)}
  .trt__h .k8{letter-spacing:-3.04px}
  .trt .b1 .trt__h{top:888px}
  .trt .b2 .trt__h{top:2296px}
  .trt__line{position:absolute;left:24px;width:342px;height:1px;background:#c8b070}
  .trt .b1 .l1{top:1007px}.trt .b1 .l2{top:1095px}
  .trt .b2 .l1{top:2367px}.trt .b2 .l2{top:2455px}
  .trt__sub{position:absolute;left:24px;font-weight:400;white-space:nowrap;color:#373d42}
  .trt .b1 .trt__sub{top:1023px;font-size:22px;line-height:1.25;letter-spacing:2.42px}
  .trt .b2 .trt__sub{top:2383px;font-size:0;line-height:0}
  .trt .b2 .trt__sub>*{font-size:22px;line-height:1.25;letter-spacing:2.2px}
  .trt .b2 .trt__sub>span:first-child{margin-right:-2.2px}
  .trt .b2 .trt__sub small{font-size:18px;letter-spacing:1.8px}
  .trt .b2 .trt__sub small:not(.k20){margin-right:-3.6px}
  .trt .b2 .trt__sub span.k20{letter-spacing:-4.4px}.trt .b2 .trt__sub small.k20{letter-spacing:-3.6px}
  .trt__txt{position:absolute;left:24px;width:342px;font-weight:300;font-size:17px;line-height:2;letter-spacing:.51px;color:#373d42}
  .trt .b1 .trt__txt{top:1136px}
  .trt .b2 .trt__txt{top:2496px}
  .trt__bar{position:absolute;left:24px;width:342px}
  .trt__bar span{position:absolute;font-weight:600;font-size:22px;line-height:1.2;letter-spacing:2.64px;color:#fff;white-space:nowrap}
  .trt .b1 .trt__bar{top:1360px;height:48px;background:linear-gradient(90deg,rgba(168,144,80,0),#a89050 65%)}
  .trt .b1 .trt__bar span{left:24px;top:10px}
  .trt .b2 .trt__bar{top:2792px;height:72px;background:linear-gradient(90deg,#a89050,rgba(168,144,80,0))}
  .trt .b2 .trt__bar span{left:86px;top:8px}
  .trt__cards{position:absolute;left:39px;width:312px;display:flex;flex-direction:column;gap:16px}
  .trt__cards li{width:312px;height:auto;padding:16px 16px 16px 24px;border-radius:16px;background:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}
  .trt .b1 .trt__cards{top:1440px}
  .trt .b1 .trt__cards li img{width:96px;height:120px}
  .trt .b1 .trt__cards li>div{width:152px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
  .trt .b1 .trt__cards .t{width:100%;font-weight:400;font-size:22px;line-height:1.1;color:var(--gold);white-space:nowrap}
  .trt .b1 .trt__cards .g .t{line-height:1.25}
  .trt .b1 .trt__cards li:nth-child(2) .t{letter-spacing:-.44px}
  .trt .b1 .trt__cards li:nth-child(3) .t{letter-spacing:-.22px}
  .trt .b1 .trt__cards .d{width:100%;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.5;color:#373d42;word-break:break-word}
  .trt .b2 .trt__cards{top:2896px}
  .trt .b2 .trt__cards p{width:152px;font-weight:400;font-size:18px;line-height:1.25;letter-spacing:.72px;color:var(--gold);text-align:center;white-space:nowrap}
  .trt .b2 .trt__cards .c1>img{width:98.856px;height:52px;margin:0 -.104px 0 -.256px;max-width:none;content:url(../img/ic_trt1_sp.svg)}
  .trt .b2 .trt__cards .c3>img{width:98.96px;height:52.379px;margin:0 -.41px -.379px -.811px;max-width:none;content:url(../img/ic_trt3_sp.svg)}
  .trt .b2 .trt__cards .ic{position:relative;display:block;flex:none;width:94.054px;height:72.006px}
  .trt .b2 .trt__cards .ic img{position:absolute;max-width:none}
  .trt .b2 .trt__cards .ic .a{left:-1.247px;top:4.341px;width:63.934px;height:34.536px;content:url(../img/ic_trt2a_sp.svg)}
  .trt .b2 .trt__cards .ic .b{left:4.559px;top:40.322px;width:78.793px;height:32.934px;content:url(../img/ic_trt2b_sp.svg)}
  .trt .b2 .trt__cards .ic .c{left:55.532px;top:-5.002px;width:43.524px;height:43.523px;content:url(../img/ic_trt2c_sp.svg)}
  .trt__note{position:absolute;left:24px;top:3240px;width:342px;padding-left:16.48px;text-indent:-16.48px;font-weight:300;font-size:16px;line-height:1.8;letter-spacing:.48px;color:#373d42;white-space:normal}

  /* ---------- CASE インプラント症例（973:869） ---------- */
  .cs{height:1652px;background:#e8f0f0}
  .cs .stg{height:1652px}
  .cs__deco img{position:absolute;left:50%;top:0;width:390px;height:584px;margin-left:-195px;max-width:none}
  .cs__en{position:absolute;left:calc(50% + .5px);top:-8px;margin-left:9.8px;transform:translateX(-50%);font-family:var(--en);font-size:56px;line-height:1;letter-spacing:19.6px;color:#000;opacity:.1;white-space:nowrap}
  .cs__ttl{position:absolute;left:50%;top:88px;margin-left:1.76px;transform:translateX(-50%);font-size:38px;font-weight:400;line-height:1.25;letter-spacing:1.52px;color:var(--gold);white-space:nowrap}
  .cs__ttl .k{margin-right:1px;letter-spacing:-1.64px}
  .cs__box{position:absolute;left:24px;top:400px;width:342px;height:1076px;background:rgba(255,255,255,.7);box-shadow:4px 4px 16px rgba(0,0,0,.15)}
  .cs__track{position:relative;display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .cs__track::-webkit-scrollbar{display:none}
  .cs__track:focus-visible{outline:2px solid #407878;outline-offset:2px}
  .cs__slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
  .cs__hd{position:absolute;left:16px;top:24px;width:310px;height:112px;background:var(--deep)}
  .cs__hdbg{position:absolute;left:0;top:0;width:310px;height:32px;max-width:none}
  .cs__no{position:absolute;left:24px;top:6px;font-family:var(--en);font-size:22px;line-height:1;letter-spacing:1.32px;color:#fff;white-space:nowrap}
  .cs__name{position:absolute;left:21px;top:48px;width:268px;font-size:22px;font-weight:500;line-height:1.3;color:#fff;white-space:nowrap}
  .cs__name .k{letter-spacing:-3.52px}
  #case03 .cs__name{top:62px}
  .cs__b,.cs__a{position:absolute;top:160px;width:140px}
  .cs__b{left:19px}.cs__a{left:183px}
  .cs__b figcaption,.cs__a figcaption{position:relative;height:24px;font-family:var(--en);font-weight:600;font-size:18px;line-height:1;letter-spacing:1.26px;color:#c0ac70;text-align:center}
  .cs__b figcaption::before,.cs__b figcaption::after,.cs__a figcaption::before,.cs__a figcaption::after{content:"";position:absolute;top:7.5px;height:1px;background:#c0ac70}
  .cs__b figcaption::before{left:0;width:39.861px}.cs__b figcaption::after{right:0;width:37.917px}
  .cs__a figcaption::before{left:0;width:43.75px}.cs__a figcaption::after{right:0;width:41.806px}
  .cs__b img,.cs__a img{display:block;width:140px;height:96px;object-fit:cover}
  .cs__a picture{display:block;background:#d9d9d9}
  .cs__tri{position:absolute;left:168px;top:223px;width:8px;height:18px}
  .cs__tabs{position:absolute;left:23px;top:304px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:296px}
  .cs__tabs button{display:flex;justify-content:center;width:92px;height:36px;padding:8px 0 10px;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1px #407878;color:#407878;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1;white-space:nowrap}
  .cs__tabs button[aria-selected="true"]{background:#407878;box-shadow:none;color:#fff}
  .cs__info{position:absolute;left:16px;top:416px;display:flex;flex-direction:column;gap:24px;width:310px}
  .cs__info>div{display:flex;flex-direction:column;gap:12px}
  .cs__info .r1{order:1}.cs__info .r3{order:2}.cs__info .r2{order:3}.cs__info .r4{order:4}
  .cs__info dt{display:flex;justify-content:center;height:30px;padding-top:8px;border-radius:5px;background:#c0ac70;font-family:var(--sans);font-weight:700;font-size:14px;line-height:1;letter-spacing:1.4px;color:#fff;white-space:nowrap;padding-left:1.4px}
  .cs__info dd{margin:0;font-family:var(--sans);font-weight:300;font-size:16px;line-height:22px;letter-spacing:.64px;color:var(--text)}
  .cs__info .r1 dd{margin-right:-1px;letter-spacing:.32px}
  .cs__info .r2 dd,.cs__info .r3 dd{line-height:1.5;text-align:center}
  .cs__info .r1 dd,.cs__info .r2 dd,.cs__info .r4 dd{position:relative;top:-1px}
  .cs__prev,.cs__next{position:absolute;top:462px;width:14px;height:32px}
  .cs__prev{left:14px}.cs__next{left:362px}
  .cs__prev.b,.cs__next.b{top:1525px}
  .cs__prev img,.cs__next img{position:absolute;left:-3.322px;top:-1.645px;width:19.2034px;height:35.2925px;max-width:none}
  .cs__next img{transform:scaleX(-1);left:auto;right:-3.322px}
  .cs__thumbs{position:absolute;left:46px;top:1520px;display:flex;gap:8px}
  .cs__th{display:block;width:96px;height:42px}
  .cs__th img,.cs__th i,.cs__lbl{display:none}
  .cs__badge{display:flex;justify-content:center;width:96px;height:42px;padding-top:10px;border-radius:3px;background:#083030;font-family:var(--en);font-size:23px;line-height:1;color:#fff;white-space:nowrap}
  .cs__th.t2 .cs__badge{background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),#184848}

  /* ---------- 院長紹介（927:370） ---------- */
  .dr{height:1752px;background:#f0f0f0}
  .dr .stg{height:1752px}
  .dr__bg{display:none}
  /* 写真・左からの灰色グラデ・下端フェードは dr_photo_sp.jpg に焼き込み済み（390×760） */
  .dr__photo{position:absolute;left:calc(50% - 195px);top:0;width:390px;height:760px;max-width:none}
  .dr__grad{position:absolute;left:calc(50% - 195px);top:224px;width:390px;height:1528px;background:linear-gradient(rgba(115,115,115,0),#737373);mix-blend-mode:multiply;opacity:.6}
  .dr__bar{position:absolute;top:0;width:56px;background:#083030}
  .dr__bar.b1{left:24px;height:440px}.dr__bar.b2{left:90px;height:432px}.dr__bar.b3{left:156px;height:304px}
  .dr__v{position:absolute;top:24px;display:block;font-size:36px;line-height:0;font-weight:400;color:#fff;text-align:center;word-break:break-all;line-break:anywhere}
  .dr__v>span{line-height:1.1}
  .dr__v .r48{font-size:36px}.dr__v .r40{font-size:28px}
  .dr__v .m56{font-size:40px;font-weight:500}
  .dr__v .g{color:#b8a058}
  .dr__v .l105{line-height:1.05}.dr__v .l95{line-height:.95}.dr__v .l1{line-height:1}
  .dr__v.c3{left:160px;width:48px}
  .dr__v.c2{left:93px;width:51px}
  .dr__v.c1{left:31px;width:41px;font-size:40px}
  .dr__v.c1b{left:31px;width:41px;top:171px;font-size:28px}
  .dr__v .n14{display:block;height:41.8px}
  /* Figma は「次の行の行送り」で字を送るため、字の大きさが変わる箇所で 1〜3px ずれる→カンプ実測で補正 */
  .dr__v>span:not(.n14){position:relative}
  .dr__v.c1>span:nth-child(2){top:2px}
  .dr__v.c1b>span:nth-child(2){top:2px}.dr__v.c1b>span:nth-child(3){top:3px}.dr__v.c1b>span:nth-child(4){top:1px}
  .dr__v.c2>span:nth-child(3){top:1px}.dr__v.c2>span:nth-child(6),.dr__v.c2>span:nth-child(7){top:1.5px}
  .dr__v.c3>span:nth-child(3){top:2px}.dr__v.c3>span:nth-child(4){top:1.5px}
  .dr__v .n14>span{position:absolute;left:22.5px;top:155px;transform:translateX(-50%);margin-left:-1.12px;font-family:var(--en);font-size:56px;line-height:1;letter-spacing:-2.24px;color:#b8a058;white-space:nowrap}
  .dr__name{position:absolute;left:365px;top:474px;transform:translateX(-100%);font-size:14px;line-height:0;font-weight:400;color:#fff;text-align:right;white-space:nowrap}
  .dr__name>span{display:block}
  .dr__name .l1{font-size:14px;line-height:21px;letter-spacing:.56px;margin-right:-.56px}
  .dr__name .l2{font-size:32px;line-height:48px;letter-spacing:3.84px;margin-right:-3.84px}
  .dr__nline{position:absolute;left:104px;top:495px;width:262px;height:1px;background:#fff}
  .dr__en{position:absolute;left:365px;margin-left:1.8px;top:541px;transform:translateX(-100%);font-family:var(--en);font-size:18px;line-height:2.8;letter-spacing:1.8px;color:#fff;white-space:nowrap}
  .dr__ph{position:absolute;width:184px;height:128px;max-width:none}
  .dr__ph.p1{left:24px;top:576px}.dr__ph.p2{left:182px;top:656px}
  .dr__pnl{position:absolute;left:24px;top:816px;width:342px;height:840px;background:rgba(255,255,255,.88)}
  .dr__blk{position:absolute;left:0;top:0}
  .dr__blk.b2{top:328px}.dr__blk.b3{top:576px}
  .dr__h{position:absolute;left:22px;top:30px;font-size:20px;font-weight:400;line-height:2;letter-spacing:1.6px;color:var(--gold);white-space:nowrap}
  .dr__ln{position:absolute;left:23px;top:53px;width:296px;height:1px;background:#d8b860}
  .dr__tx{position:absolute;left:23px;top:79px;font-size:15px;line-height:0;font-weight:300;color:#4d4d4d;white-space:pre}
  .dr__yr{position:absolute;left:22px;top:110px;font-size:17px;line-height:0;color:var(--gold);white-space:nowrap}
  .dr__yr .n{font-family:var(--en);font-size:17px}
  .dr__yr .y{font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-size:13px}
  /* 行間はカンプの「次の行の行送り」を margin で再現（基本 15px×1.5。カンプは 23px ピッチで描画） */
  .dr__tx>span{display:block;line-height:23px}
  .dr__yr>span{display:block;line-height:20px}
  .dr__yr>span>*{line-height:0}
  .dr__blk.b1 .dr__tx>span:nth-child(2),.dr__blk.b1 .dr__tx>span:nth-child(5),.dr__blk.b1 .dr__tx>span:nth-child(6){margin-top:31px}
  .dr__blk.b2 .dr__tx>span+span{margin-top:7px}
  .dr__blk.b3 .dr__tx>span:nth-child(3),.dr__blk.b3 .dr__tx>span:nth-child(4){display:inline}
  .dr__blk.b3 .dr__tx>span:nth-child(2){margin-bottom:7px}
  .dr__blk.b3 .dr__tx>span:nth-child(5),.dr__blk.b3 .dr__tx>span:nth-child(6){margin-top:7px}
  .dr__yr>span:nth-child(2){margin-top:104px}.dr__yr>span:nth-child(3){margin-top:34px}
  /* ---------- PRICE（927:372） ---------- */
  .prc{height:1760px;background:#fff}
  .prc .stg{height:1760px}
  .prc__pat{position:absolute;inset:0;background:url(../img/price_bg.png) 0 0/10px 10px repeat;opacity:.7}
  .prc__en{position:absolute;left:calc(50% + .5px);margin-left:7px;top:-9px;transform:translateX(-50%);font-family:var(--en);font-size:56px;line-height:1;letter-spacing:14px;color:#000;opacity:.1;white-space:nowrap}
  .prc__ttl{position:absolute;left:calc(50% + .5px);margin-left:.56px;top:101px;transform:translateX(-50%);font-size:36px;font-weight:400;line-height:0;letter-spacing:1.12px;color:var(--text);text-align:center;white-space:nowrap}
  .prc__ttl>*{font-size:28px;line-height:1.35}
  .prc__ttl>em{font-size:36px;color:var(--gold)}
  .prc__ttl .k{letter-spacing:-.21px}
  .prc__lead{position:absolute;left:24px;top:240px;width:342px;font-size:17px;font-weight:300;line-height:31px;letter-spacing:.85px}
  .prc__cards{position:absolute;left:0;top:0;width:390px}
  .prc__card{position:absolute;left:24px;width:342px;border-radius:16px;background:#fff;box-shadow:3px 3px 12px rgba(0,0,0,.16)}
  .prc__card.c1{top:408px;height:328px}.prc__card.c2{top:760px;height:328px}.prc__card.c3{top:1112px;height:424px}
  .prc__h{height:64px;border-radius:16px 16px 0 0;background:var(--deep);font-size:24px;font-weight:500;line-height:1.2;color:#fff;white-space:nowrap}
  .prc__h>span{position:absolute;left:171px;top:24px;transform:translateX(-50%)}
  .c1 .prc__h>span{top:23px}
  .c2 .prc__h>span{left:171.5px;letter-spacing:1.92px;margin-left:.96px}
  .c3 .prc__h>span{left:171.5px;letter-spacing:1.2px;margin-left:.6px}
  .prc__img{position:absolute;max-width:none}
  .c1 .prc__img{left:71px;top:72px;width:200px;height:128px}
  .c2 .prc__img{left:102px;top:72px;width:139px;height:136px}
  .c3 .prc__img{left:59px;top:80px;width:224px;height:128px}
  .prc__yen,.prc__yen2{position:absolute;top:216px;display:flex;align-items:flex-end;gap:4px;white-space:nowrap}
  .c1 .prc__yen{left:80px}.c2 .prc__yen{left:70px}
  .prc__yen .num,.prc__yen2 .num{position:relative;top:1px;font-family:var(--en);font-size:36px;line-height:1}
  .c1 .prc__yen .num{left:1px}
  .prc__yen .unit,.prc__yen2 .unit{padding-bottom:7px;font-family:var(--sans);font-weight:700;font-size:15px;line-height:1}
  .c2 .prc__yen .unit{padding-bottom:8px}
  .prc__yen .k{letter-spacing:-5.25px}
  .prc__note{position:absolute;left:128px;top:257px;font-family:var(--sans);font-size:17px;line-height:1.5;letter-spacing:.68px;white-space:nowrap}
  .prc__note>span{display:block}
  .c2 .prc__note{top:260px}
  .prc__chk{position:absolute;max-width:none}
  .c1 .prc__chk,.c2 .prc__chk{width:15.1213px;height:11.182px}
  .c1 .k1{left:105.939px;top:266.939px}.c1 .k2{left:105.939px;top:293.939px}
  .c2 .k1{left:102.939px;top:268.939px}.c2 .k2{left:102.939px;top:296.939px}
  .c3 .prc__chk{width:18.1377px;height:13.1904px;left:62.931px}
  .c3 .k3{top:228.948px}.c3 .k4{top:335.948px}
  .prc__sub{position:absolute;left:88px;font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:.8px;white-space:nowrap}
  .prc__sub.s1{top:219px}.prc__sub.s2{top:327px}
  .prc__div{position:absolute;left:23px;top:307px;width:296px;height:1px;background:#ddd}
  .prc__yen2{gap:2px}
  .prc__yen2.y1{left:78px;top:257px}.prc__yen2.y2{left:76px;top:365px}
  .prc__yen2 .a{letter-spacing:1.2px}.prc__yen2 .b{letter-spacing:-5.25px}
  .prc__fn{position:absolute;left:24px;top:1584px;width:342px;font-family:var(--sans);font-size:17px;font-weight:300;line-height:1.5;letter-spacing:.85px}
  .prc__fn3{position:relative;top:8.5px}
  /* ---------- FAQ（927:373） ---------- */
  .faq{height:3944px;background:var(--beige)}
  .faq .stg{height:3944px}
  .faq__bg{display:none}
  .faq__en{position:absolute;left:calc(50% + .5px);margin-left:7px;top:0;transform:translateX(-50%);font-family:var(--en);font-size:56px;line-height:2;letter-spacing:14px;color:#000;opacity:.1;white-space:nowrap}
  .faq__ttl{position:absolute;left:calc(50% + .5px);margin-left:.56px;top:96px;transform:translateX(-50%);font-size:28px;font-weight:400;line-height:1.25;letter-spacing:1.12px;text-align:center;white-space:nowrap}
  .faq__ttl>span{display:block}
  .faq__ttl .l1{font-size:28px;line-height:1.25}
  .faq__ttl .l2{margin-top:2.5px;font-size:38px;line-height:1.25;color:var(--gold)}
  .faq__lead{position:absolute;left:24px;top:224px;width:342px;font-size:17px;font-weight:300;line-height:2}
  .faq__fn{position:absolute;left:24px;top:3802px;width:342px;font-size:17px;font-weight:300;line-height:1.6;letter-spacing:.51px;text-align:center}
  .faq__list{position:absolute;left:23px;top:384px;width:344px}
  .faq__item{position:relative;padding-top:136px}
  .faq__item+.faq__item{margin-top:48px}
  .faq__q{position:absolute;left:0;top:0;width:312px;display:flex;flex-direction:column;gap:12px;padding:12px 8px 12px 24px;border-radius:8px;color:#fff;background:linear-gradient(to right,#587068,#083030)}
  .faq__lb{display:flex;align-items:flex-end;font-family:var(--en);white-space:nowrap}
  .faq__lb .l{height:28px;margin-right:-11px;font-size:44px;line-height:2;letter-spacing:11px}
  .faq__lb .n{font-size:28px;font-weight:600;line-height:.6}
  .faq__q .faq__lb{gap:4px}
  .faq__qt{font-size:22px;font-weight:500;line-height:28px;letter-spacing:1.76px}
  .faq__a{display:flex;flex-direction:column;gap:16px;width:312px;margin-left:32px;padding:20px 24px;border-radius:8px;background:#fff}
  .faq__a .faq__lb{gap:2px;padding-bottom:16px;border-bottom:1px solid #587068;color:#184848}
  .faq__at{font-size:17px;font-weight:300;line-height:2;letter-spacing:.51px}
  .faq__item:nth-child(even) .faq__q{background:linear-gradient(to right,#c3ae77,#b49f69 50%,#9f8f67)}
  .faq__item:nth-child(even) .faq__a .faq__lb{border-color:#c5af73;color:var(--gold)}
  /* CONSULTATION 2（973:1302・973:1321） */
  .cons2{height:1448px;background:#083030}
  .cons2 .stg{height:1448px}
  .cons2__photo{position:absolute;left:0;right:0;top:0;height:768px;background:url(../img/cons2_sp.jpg) 0 0/390px 768px no-repeat}
  .cons2::before,.cons2::after{content:"";position:absolute;z-index:1;left:0;right:0;background:linear-gradient(90deg,#f7e4a0,#b68d40)}
  .cons2::before{top:764px;height:4px}
  .cons2::after{bottom:0;height:8px}
  .cons2__en{top:-6px;color:#fff}
  .cons2__ttl{top:96px}
  .cons2__lead{position:absolute;left:24px;top:280px;width:342px;color:#fff;font-weight:400;font-size:17px;line-height:2;letter-spacing:.68px}
  .cons2__box{position:absolute;left:24px;top:512px;width:342px;height:160px;box-shadow:inset 0 0 0 1px #e8c878}
  .cons2__q{position:absolute;left:47px;top:546px;width:296px;text-align:center;color:#e8c878;font-weight:400;font-size:24px;line-height:1.5;letter-spacing:1.92px}
  .cta--2{top:768px}
  /* 限定解除の情報（927:374 閉じた状態・973:1415 展開時。展開時のセクション高さはカンプ無し＝パネル上下 64px 対称の 2216px と仮定） */
  .lim{position:relative;height:2216px;overflow:hidden;background:#e8ecec url(../img/lim_bg.png) 0 0/8px 8px;color:#4d4d4d}
  .js .lim{height:768px;transition:height .5s ease}
  .js .lim.is-open{height:2216px}
  .lim .stg{height:100%}
  .lim__fade,.lim__more{display:none}
  .js .lim__fade{display:block;position:absolute;left:0;right:0;top:424px;height:344px;background:linear-gradient(rgba(255,255,255,0) 0px,rgba(252,253,253,0.125) 32px,rgba(249,250,250,0.25) 64px,rgba(246,248,248,0.375) 96px,rgba(244,246,246,0.5) 128px,rgba(241,243,243,0.625) 160px,rgba(238,241,241,0.75) 192px,rgba(235,238,238,0.875) 224px,rgba(232,236,236,1) 256px)}
  .js .lim__more{display:flex;position:absolute;left:50%;top:640px;transform:translateX(-50%);width:320px;height:56px;align-items:center;justify-content:center;background:#fff;border:1px solid #666;border-radius:5px;font-family:var(--sans);font-weight:400;font-size:17px;line-height:.9;color:var(--text)}
  .js .lim.is-open .lim__fade,.js .lim.is-open .lim__more{display:none}
  .lim__panel{position:absolute;left:24px;top:64px;width:342px;height:2088px;background:#fff;outline:0}
  .lim__ttl{position:absolute;left:0;right:0;top:48px;padding-left:1px;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:400;font-size:24px;line-height:1.3;letter-spacing:1.92px;white-space:nowrap}
  .lim__ttl::after{content:"";position:absolute;left:19px;width:304px;top:79px;height:1px;background:#aaa}
  .lim__std{position:absolute;left:19px;top:152px;width:304px;height:56px;padding-top:21px;border-radius:4px;background:#f2f2f2;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;font-size:18px;line-height:1.8;letter-spacing:.72px;white-space:nowrap}
  .lim__stdtxt{position:absolute;left:19px;top:232px;width:304px;font-family:var(--sans);font-weight:300;font-size:15px;line-height:27px}
  .lim__box{position:absolute;left:19px;width:304px;border:1px solid #aaa}
  .lim__box--md{top:400px;height:664px}
  .lim__box--risk{top:1088px;height:288px}
  .lim__box--fee{top:1400px;height:632px}
  .lim__h{position:absolute;left:0;right:0;top:32px;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:600;font-size:18px;line-height:1.8;letter-spacing:1.44px;white-space:nowrap}
  .lim__box--md .lim__h{top:27px;line-height:1.3;letter-spacing:.72px}
  .lim__box--md .lim__h::after,.lim__box--risk .lim__h::after{content:"";position:absolute;left:23px;right:23px;height:1px;background:#aaa}
  .lim__box--md .lim__h::after{top:59px}
  .lim__box--risk .lim__h::after{top:38px}
  .lim__col{position:absolute;left:23px;width:256px}
  .lim__col--m{top:111px}.lim__col--d{top:375px}
  .lim__col h4{height:36px;padding-top:13px;text-align:center;font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.6;white-space:nowrap}
  .lim__col--m h4{background:#e6edf4}
  .lim__col--d h4{background:#f2f2f2}
  .lim__list{font-family:var(--sans);font-weight:300;font-size:15px;line-height:23px}
  .lim__col .lim__list{width:228px;margin:21px 0 0 29px}
  .lim__list li{position:relative}
  .lim__list li+li{margin-top:7px}
  .lim__list li::before{content:"";position:absolute;left:-28.03px;top:5.63px;width:16.763px;height:12.134px;background:url(../img/lim_check_sp.svg) 0 0/100% 100% no-repeat}
  /* チェック印はカンプで項目ごとに手置き（最大 1.5px のばらつき）→ 項目別に合わせる */
  .lim__col--m li:nth-child(3)::before{top:4.33px}.lim__col--m li:nth-child(4)::before{top:4.04px}
  .lim__col--d li:nth-child(2)::before{top:5.33px}.lim__col--d li:nth-child(3)::before{top:5.04px}.lim__col--d li:nth-child(4)::before{top:4.75px}
  .lim__risk li+li::before{top:6.63px}
  .lim__risk{position:absolute;left:52px;top:91px;width:228px}
  .lim__fee{position:absolute;left:23px;top:71px;width:256px}
  .lim__fee div{position:relative;height:104px;margin-bottom:8px;background:#f2f2f2;text-align:center;font-family:"YuMincho","Yu Mincho","游明朝",var(--serif);font-weight:400;font-size:15px;white-space:nowrap}
  .lim__fee dt{position:absolute;left:0;right:0;top:15px;line-height:1;text-box:trim-both cap alphabetic}
  .lim__fee dt::after{content:"";position:absolute;left:16px;top:24px;width:224px;height:1px;background:#aaa}
  .lim__fee dd{position:absolute;left:0;right:0;top:56px;line-height:1.6;letter-spacing:1.2px;text-box:trim-both cap alphabetic}
  .lim__fee small{display:block;font-weight:300;font-size:13px;line-height:1.6}
  .lim__note{position:absolute;left:23px;top:416px;width:256px;font-family:var(--sans);font-weight:300;font-size:15px;line-height:27px}
  /* 医院情報・フッター（927:375） */
  .info{position:relative;overflow:visible;background:var(--beige)}
  .info .stg{height:1384px}
  .info__band{position:absolute;left:0;right:0;top:0;height:392px;overflow:hidden;background:linear-gradient(92.88deg,#052c2c 0%,#306060 100%)}
  .info__rays{position:absolute;left:50%;top:0;width:390px;height:392px;margin-left:-195px}
  .info__rays i{position:absolute;width:1920px;height:432px;background:linear-gradient(rgba(255,255,255,0) 70%,#fff)}
  .info__rays .r1{left:-1216.07px;top:-301.13px;transform:rotate(-12deg);opacity:.05}
  .info__rays .r2{left:-852.94px;top:-300.62px;transform:rotate(60deg);opacity:.08}
  .info__rays .r3{left:-60.62px;top:-36.94px;transform:rotate(30deg);opacity:.05}
  .info__rays .r4{left:-576.81px;top:281.11px;transform:rotate(-15deg) scaleY(-1);opacity:.1}
  .info__mark{position:absolute;left:154px;top:56px;width:83px;height:72px;overflow:hidden}
  .info__mark img{position:absolute;left:0;top:0;width:393.87%;height:100.61%;max-width:none}
  .info__corp{position:absolute;left:0;right:0;top:144px;text-box:normal;padding-left:2.3px;font-family:var(--sans);font-weight:400;font-size:13px;line-height:2;letter-spacing:1.3px;color:#fff;text-align:center;white-space:nowrap}
  .info__name{position:absolute;left:59px;top:176px;width:272px;height:60px;overflow:hidden}
  .info__name img{position:absolute;left:-37.5%;top:-15.78%;width:137.39%;height:137.68%;max-width:none}
  .info__shadow{display:none}
  .info__photo{position:absolute;left:24px;top:296px;width:342px;height:256px}
  .info__ttl{position:absolute;left:127px;top:568px;font-family:var(--serif);font-weight:300;font-size:32px;line-height:2;letter-spacing:2.56px;color:var(--gold);white-space:nowrap}
  .info__en{position:absolute;left:0;right:0;top:632px;padding-left:4.6px;font-family:"Besley",serif;font-weight:400;font-size:15px;line-height:2;letter-spacing:3.6px;color:#666;text-align:center;white-space:nowrap}
  .info__list{font-family:var(--sans);font-weight:300;font-size:16px;line-height:2;letter-spacing:1.28px;color:var(--text);white-space:nowrap}
  .info__list dt,.info__list dd{position:absolute}
  .info__list dt{left:56px}
  .info__list dt img{position:absolute;max-width:none}
  .info__list dt::after{content:"";position:absolute;left:-32px;top:36px;width:342px;height:1px;background:#c5c6c6}
  .info__list .l1{top:691px}.info__list .l1 img{left:-26px;top:5px;width:16px;height:22px}
  .info__list .l2{top:787px}.info__list .l2 img{left:-29px;top:7px;width:20px;height:20px}
  .info__list .l3{top:881px}.info__list .l3 img{left:-30px;top:6px;width:22px;height:22.0454px}
  .info__list .l3::after{left:-31px;top:38px}
  .info__list .l4{top:979px;color:#444}
  .info__list .l4 img.sp{display:block;left:-30px;top:3px;width:21.705px;height:27.0026px}
  .info__list dd{left:40px}
  .info__list .v1{top:735px;line-height:1.5}
  .info__list .v2{top:831px;letter-spacing:.64px}
  .info__list .v3{top:927px}
  .info__list .v4{left:0;top:0}
  .info__tel{position:absolute;left:35px;top:1040px;display:flex;align-items:center;justify-content:center;gap:8px;width:320px;height:64px;padding-left:2px;border:2px solid var(--gold);border-radius:10px;background:#fff;font-family:var(--num);font-weight:700;font-size:26px;line-height:1;letter-spacing:2.6px;color:var(--gold)}
  .info__tel img.sp{width:14px;height:20px}
  .info__tel span{position:relative;top:1px}
  .info__note{position:absolute;left:41px;top:1119px;font-size:14px;line-height:1.6;letter-spacing:1.12px;white-space:nowrap}
  .info__note img{position:absolute;left:-15px;top:5px;width:7.07107px;height:14.1421px}
  .info__map{position:absolute;z-index:1;left:24px;top:1224px;width:342px;height:280px}
  .info__map img{display:block;width:100%;height:100%}
  .ft{position:relative;background:#083030;color:var(--gold);font-family:var(--en);font-style:italic;font-weight:400;font-size:15px;line-height:1.5;text-align:center}
  .ft .stg{height:256px}
  .ft__c1{position:absolute;left:0;right:0;top:149px;padding-right:1px}
  .ft__c1::after{content:"";position:absolute;left:50%;top:34px;width:24px;height:1px;margin-left:-12px;background:var(--gold)}
  .ft__c2{position:absolute;left:0;right:0;top:197px;letter-spacing:.75px;padding-right:1.25px}
  .ft__c2 small{font-size:inherit}
}
@media (max-width:389px){html:not(.js) body{zoom:.82}}
/* @@SP-END */
