:root{
  --navy:#1B2C4A;
  --navy-dk:#0F1A30;
  --mint:#C8E6E0;
  --mint-dk:#8FBFB8;
  --paper:#FAFCFB;
  --soft:#F0F6F4;
  --gold:#B79A5F;
  --ink:#1A2030;
  --gray:#5A6878;
  --line:rgba(27,44,74,0.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Inter Tight","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;line-height:1.85;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.cont{max-width:1240px;margin:0 auto;padding:0 32px}
@media (max-width:720px){.cont{padding:0 18px}}

.eb{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.32em;color:var(--navy);display:block;margin-bottom:14px;text-transform:uppercase}
h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(34px,5vw,68px);line-height:1.05;letter-spacing:-.01em;margin-bottom:18px;color:var(--ink)}
h2 em{font-style:italic;color:var(--navy)}

/* === Floating Action Button === */
.fab{position:fixed;bottom:24px;right:24px;z-index:60;background:#06C755;color:#fff;border-radius:999px;padding:14px 20px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 28px -8px rgba(6,199,85,0.5),0 4px 12px rgba(0,0,0,0.15);font-family:"Inter Tight",sans-serif;font-weight:700;font-size:13px;letter-spacing:.04em;transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(80px)}
.fab.shown{opacity:1;transform:translateY(0)}
.fab:hover{transform:translateY(-2px);box-shadow:0 16px 32px -8px rgba(6,199,85,0.6),0 6px 14px rgba(0,0,0,0.2)}
.fab svg{width:18px;height:18px}
@media (max-width:720px){.fab{bottom:18px;right:18px;padding:12px 18px}.fab-l{font-size:12px}}

.hd{position:sticky;top:0;z-index:50;background:rgba(250,252,251,0.94);backdrop-filter:saturate(140%) blur(10px);padding:14px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy)}
.b-logo{width:36px;height:36px;background:var(--soft);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--navy)}
.b-logo svg{width:18px;height:18px}
.b-w{display:flex;flex-direction:column;line-height:1.15}
.b1{font-family:"Noto Serif JP",serif;font-weight:700;font-size:16px;color:var(--ink)}
.b2{font-family:"Inter Tight",sans-serif;font-size:10px;letter-spacing:.18em;color:var(--gray)}
.hd nav{display:flex;gap:28px}
.hd nav a{font-family:"Inter Tight",sans-serif;font-weight:500;font-size:13px;letter-spacing:.04em;color:var(--ink);transition:color .25s}
.hd nav a:hover{color:var(--navy)}
@media (max-width:900px){.hd{padding:12px 18px}.hd nav{display:none}}

/* === Hero === */
.hero{padding:64px 0 96px;background:linear-gradient(180deg,var(--soft) 0%,var(--paper) 80%);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-200px;right:-180px;width:600px;height:600px;background:radial-gradient(circle,rgba(200,230,224,0.4) 0%,transparent 70%);pointer-events:none}
.hero-grid{position:relative;max-width:1240px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}
.hero-eb{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;background:var(--paper);padding:6px 14px;border-radius:999px;display:inline-block;margin-bottom:24px;border:1px solid var(--line)}
.hero h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(40px,6vw,84px);line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.hero h1 .line{display:block}
.hero h1 em{font-style:normal;color:var(--navy)}
.hero-lead{font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.95;color:var(--gray);margin-top:24px}
.hero-stats{display:flex;gap:36px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap}
.stat{display:flex;flex-direction:column;gap:4px}
.stat .s-num{font-family:"Lora",serif;font-weight:600;font-size:48px;color:var(--navy);line-height:1;letter-spacing:-.02em}
.stat .s-plus,.stat .s-percent{font-family:"Lora",serif;font-weight:500;font-size:24px;color:var(--mint-dk);margin-left:4px;display:inline-block}
.stat .s-lbl{font-family:"Inter Tight",sans-serif;font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--gray);text-transform:uppercase}
.hero-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:36px}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--navy);color:#fff;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:14px;border-radius:999px;transition:background .25s,gap .25s}
.btn-primary:hover{background:var(--navy-dk);gap:14px}
.btn-tel{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;background:#fff;color:var(--ink);font-family:"Lora",serif;font-weight:600;font-size:15px;border-radius:999px;border:1.5px solid var(--line);transition:border-color .25s}
.btn-tel:hover{border-color:var(--navy)}
.btn-tel svg{width:14px;height:14px;color:var(--navy)}
.hero-aside{position:sticky;top:96px}
.ha-card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 18px 40px -20px rgba(27,44,74,0.18);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.ha-eb{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.slots{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.slots li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-family:"Inter Tight",sans-serif;font-size:14px}
.slots li:last-child{border-bottom:none}
.slots .ok{color:#5BA876;font-weight:700;font-size:18px}
.slots .full{color:#C04848;font-weight:700;font-size:18px}
.slots .few{color:var(--gold);font-weight:700;font-size:18px}
.ha-note{font-family:"Inter Tight",sans-serif;font-size:11px;color:var(--gray);letter-spacing:.04em}
.ha-cta{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px;background:var(--navy);color:#fff;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:13px;border-radius:999px;letter-spacing:.04em;transition:gap .25s,background .25s}
.ha-cta:hover{gap:12px;background:var(--navy-dk)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero-aside{position:static}}

/* === Trust === */
.trust{padding:48px 0;background:var(--paper)}
.trust-strip{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:24px;background:var(--soft);border-radius:14px}
.trust .t{display:inline-flex;align-items:center;gap:10px;font-family:"Inter Tight",sans-serif;font-size:13px;color:var(--ink)}
.trust .t svg{width:20px;height:20px;color:var(--navy)}

/* === Symptoms === */
.symptoms{padding:140px 0;background:var(--paper)}
.sympt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}
@media (max-width:720px){.sympt-grid{grid-template-columns:1fr}}
.sm{position:relative;background:#fff;padding:36px 32px;border-radius:18px;border:1.5px solid var(--line);transition:border-color .3s,transform .3s,box-shadow .3s}
.sm:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 12px 28px -16px rgba(27,44,74,0.2)}
.sm-feat{grid-column:1/-1;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dk) 100%);color:#fff;border-color:var(--gold);box-shadow:0 18px 40px -20px rgba(27,44,74,0.5)}
.sm-feat:hover{box-shadow:0 24px 48px -20px rgba(27,44,74,0.55)}
.sm-no{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.32em;color:var(--gold);background:rgba(183,154,95,0.12);padding:5px 12px;border-radius:999px;display:inline-block;margin-bottom:18px}
.sm-feat .sm-no{background:rgba(183,154,95,0.25)}
.sm h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:24px;margin-bottom:14px;color:var(--ink)}
.sm-feat h3{color:#fff}
.sm p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.95;color:var(--gray);margin-bottom:14px}
.sm-feat p{color:rgba(250,252,251,0.85)}
.sm strong{color:var(--gold);font-weight:700}
.sm ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding-top:18px;border-top:1px dashed rgba(255,255,255,0.18)}
.sm ul li{font-family:"Inter Tight",sans-serif;font-size:13px;color:rgba(250,252,251,0.85);padding-left:18px;position:relative}
.sm ul li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:1.5px;background:var(--gold)}

/* === Flow === */
.flow{padding:140px 0;background:var(--soft)}
.flow-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.fl-side{position:sticky;top:96px}
.fl-list{list-style:none;display:flex;flex-direction:column;gap:0;position:relative}
.fl-list li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:24px 0;align-items:start;position:relative;border-bottom:1px solid var(--line)}
.fl-list li:last-child{border-bottom:none}
.fn{width:60px;height:60px;background:var(--navy);color:var(--mint);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Lora",serif;font-weight:600;font-size:20px;flex-shrink:0}
.fl-list h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;color:var(--ink);margin-bottom:6px}
.fl-list p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.85;color:var(--gray)}
.ftime{display:inline-block;margin-top:8px;font-family:"Inter Tight",sans-serif;font-weight:500;font-size:11px;letter-spacing:.18em;color:var(--gold);background:rgba(183,154,95,0.12);padding:4px 10px;border-radius:999px}
@media (max-width:900px){.flow-grid{grid-template-columns:1fr;gap:32px}.fl-side{position:static}}

/* === Price === */
.price{padding:140px 0;background:var(--paper)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
@media (max-width:900px){.pr-grid{grid-template-columns:1fr}}
.pr{position:relative;padding:36px 28px;background:#fff;border:1.5px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s,transform .3s}
.pr:hover{border-color:var(--mint-dk);transform:translateY(-3px)}
.pr-feat{background:linear-gradient(180deg,var(--soft) 0%,#fff 100%);border-color:var(--gold);box-shadow:0 12px 32px -16px rgba(27,44,74,0.18)}
.pr-name{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:13px;letter-spacing:.18em;color:var(--gray);text-transform:uppercase}
.pr-amount{font-family:"Lora",serif;font-weight:500;font-size:48px;letter-spacing:-.01em;color:var(--ink)}
.pr ul{list-style:none;display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px dashed var(--line)}
.pr li{font-family:"Noto Sans JP",sans-serif;font-size:13px;color:var(--gray);padding-left:18px;position:relative}
.pr li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1.5px;background:var(--mint-dk)}
.pr-badge{position:absolute;top:-12px;right:24px;background:var(--gold);color:#fff;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.18em;padding:4px 10px;border-radius:999px}

/* === FAQ accordion === */
.faq{padding:140px 0;background:var(--soft)}
.faq-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:32px}
.fq{background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;transition:border-color .3s}
.fq.open{border-color:var(--navy)}
.fq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:24px 28px;font-family:"Noto Serif JP",serif;font-weight:600;font-size:16px;color:var(--ink);text-align:left}
.fq-q svg{width:20px;height:20px;color:var(--navy);transition:transform .35s cubic-bezier(.4,.2,.3,1);flex-shrink:0}
.fq.open .fq-q svg{transform:rotate(180deg)}
.fq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,.2,.3,1)}
.fq.open .fq-a{max-height:400px}
.fq-a p{padding:0 28px 24px;font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:2;color:var(--gray)}

/* === Reserve === */
.reserve{padding:140px 0;background:var(--paper)}
.reserve-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dk) 100%);color:#fff;border-radius:24px;padding:64px;display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center;box-shadow:0 24px 60px -24px rgba(27,44,74,0.45)}
.reserve .eb{color:var(--gold)}
.reserve h2{color:#fff}
.reserve h2 em{color:var(--gold);font-style:italic}
.rc-l p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.95;color:rgba(255,255,255,0.78);margin-top:18px}
.rc-r{display:flex;flex-direction:column;gap:14px}
.rcta{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:14px;transition:background .3s,border-color .3s,padding .3s}
.rcta:hover{background:rgba(255,255,255,0.12);border-color:var(--gold);padding-left:32px}
.rcta.primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.rcta.primary:hover{background:#D4B574}
.rcta-l{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:14px;letter-spacing:.04em}
.rcta em{font-family:"Inter Tight",sans-serif;font-style:italic;font-size:11px;color:rgba(255,255,255,0.55);font-weight:500}
.rcta.primary em{color:rgba(27,44,74,0.7)}
@media (max-width:900px){.reserve-card{grid-template-columns:1fr;padding:36px 28px;gap:32px}}

/* === Info === */
.info{padding:140px 0;background:var(--paper)}
.info-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}
.info dl{display:grid;grid-template-columns:80px 1fr;row-gap:14px;margin-top:18px}
.info dt{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.22em;color:var(--navy);text-transform:uppercase;padding-top:4px}
.info dd{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.7;border-bottom:1px solid var(--line);padding-bottom:14px}
.map-mock{aspect-ratio:4/3;background:linear-gradient(135deg,var(--soft) 0%,#fff 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.85;color:var(--ink);border:1.5px solid var(--line);background-image:repeating-linear-gradient(45deg,transparent 0,transparent 12px,rgba(143,191,184,0.06) 12px,rgba(143,191,184,0.06) 24px)}
.map-mock b{color:var(--navy)}
@media (max-width:900px){.info-grid{grid-template-columns:1fr;gap:32px}}

.ft{background:var(--navy);color:#fff;padding:32px 0}
.ft-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:"Lora",serif;font-size:14px}
.ft-in em{color:var(--mint);font-style:italic}
.ft-in span:last-child{font-family:"Inter Tight",sans-serif;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,0.5);font-style:normal}

.in-view{animation:rise 1s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.in-view{animation:none}}

/* =====================================================
   Level1 共通5モーション (2026-05-12 batch4 追加)
   M1 reveal / M2 ヘッダ縮小 / M3 Ken Burns / M4 行スライド / M5 追従CTA
   ===================================================== */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
.hd{transition:padding .3s ease,background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.hd.is-scrolled{box-shadow:0 2px 14px rgba(27,44,74,0.08);backdrop-filter:saturate(140%) blur(10px)}
.hd.is-scrolled .hd-in{padding-top:8px;padding-bottom:8px}
@keyframes l1KenBurns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.1) translate(-2%,-1.5%)}}
.l1-kenburns{animation:l1KenBurns 22s ease-in-out infinite alternate;will-change:transform}
.l1-line{display:inline-block;opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.l1-line.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .l1-kenburns{animation:none!important}
  .l1-line{opacity:1!important;transform:none!important;transition:none!important}
}

/* =====================================================
   2026-05-13 マルチページ化 追加: ハンバーガー / ドロワー / サブページ共通
   ===================================================== */
.burger{display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;position:relative;z-index:201;margin-left:auto}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px auto;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s,background .25s;border-radius:2px}
.burger.is-open span{background:var(--ink)}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.drawer{position:fixed;inset:0;background:var(--paper);z-index:200;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;opacity:0;visibility:hidden;transition:opacity .35s cubic-bezier(.2,.8,.2,1),visibility .35s}
.drawer.is-open{opacity:1;visibility:visible}
.drawer::before{content:"アトリエ整骨 ふれあい";position:absolute;top:24px;left:32px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:15px;color:var(--navy)}
.drawer::after{content:"LINE 24h 受付中";position:absolute;bottom:32px;left:32px;font-family:"Inter Tight",sans-serif;font-size:12px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.drawer a{font-family:"Noto Serif JP",serif;font-size:clamp(28px,5vw,42px);font-weight:600;color:var(--ink);letter-spacing:.04em;opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1),color .25s;line-height:1.2}
.drawer a:hover{color:var(--navy)}
.drawer.is-open a{opacity:1;transform:none}
.drawer.is-open a:nth-child(1){transition-delay:.1s}
.drawer.is-open a:nth-child(2){transition-delay:.18s}
.drawer.is-open a:nth-child(3){transition-delay:.26s}
.drawer.is-open a:nth-child(4){transition-delay:.34s}
.drawer.is-open a:nth-child(5){transition-delay:.42s}
.drawer-cta{margin-top:1rem;padding:14px 36px;background:#06C755;color:#fff!important;font-family:"Inter Tight",sans-serif!important;font-weight:700;font-size:14px!important;border-radius:999px;letter-spacing:.04em}
body.is-locked{overflow:hidden}

.hd nav a.is-current{color:var(--navy);position:relative}
.hd nav a.is-current::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--navy);border-radius:2px}
@media (max-width:900px){.burger{display:block}}

/* --- サブページ共通: ヒーロー (小型) --- */
.sub-hero{padding:64px 0 80px;background:linear-gradient(180deg,var(--soft) 0%,var(--paper) 100%);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.sub-hero::before{content:"";position:absolute;top:-160px;right:-160px;width:520px;height:520px;background:radial-gradient(circle,rgba(200,230,224,0.4) 0%,transparent 70%);pointer-events:none}
.sub-hero-in{position:relative;max-width:1240px;margin:0 auto;padding:0 32px;z-index:1}
.sub-hero .eb-pill{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;background:#fff;padding:6px 14px;border-radius:999px;display:inline-block;margin-bottom:24px;border:1px solid var(--line)}
.sub-hero h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(34px,5.6vw,72px);line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin-bottom:24px}
.sub-hero h1 em{font-style:italic;color:var(--navy)}
.sub-hero p{font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.95;color:var(--gray);max-width:64ch}
.sub-hero-meta{display:flex;gap:24px;margin-top:32px;flex-wrap:wrap}
.sub-hero-meta .m{display:inline-flex;align-items:center;gap:10px;font-family:"Inter Tight",sans-serif;font-size:13px;color:var(--ink);padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:999px}
.sub-hero-meta .m svg{width:16px;height:16px;color:var(--navy)}

/* --- treatments.html: 施術メニュー --- */
.tr-page{padding:120px 0;background:var(--paper)}
.tr-page h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.1;margin-bottom:24px}
.tr-page h2 em{font-style:italic;color:var(--navy)}
.tr-block{margin-bottom:80px;padding-bottom:64px;border-bottom:1px dashed var(--line)}
.tr-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.tr-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-bottom:32px}
.tr-head .num{width:60px;height:60px;background:var(--soft);color:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Lora",serif;font-weight:600;font-size:22px;flex-shrink:0;border:2px solid var(--mint-dk)}
.tr-head .lbl{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:8px}
.tr-head h2{margin-bottom:0}
.tr-body{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
@media (max-width:900px){.tr-body{grid-template-columns:1fr;gap:24px}}
.tr-desc{font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:1.95;color:var(--gray);margin-bottom:18px}
.tr-aim{margin-top:18px;padding:24px;background:var(--soft);border-radius:14px;border-left:4px solid var(--mint-dk)}
.tr-aim h4{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--navy);text-transform:uppercase;margin-bottom:10px}
.tr-aim ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.tr-aim li{font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.7;color:var(--ink);padding-left:18px;position:relative}
.tr-aim li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1.5px;background:var(--mint-dk)}
.tr-side{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px}
.tr-side dt{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:4px}
.tr-side dd{font-family:"Noto Sans JP",sans-serif;font-size:14px;color:var(--ink);padding-bottom:12px;border-bottom:1px dashed var(--line)}
.tr-side dd:last-child{border-bottom:none;padding-bottom:0}
.tr-side .pp{font-family:"Lora",serif;font-weight:600;font-size:32px;color:var(--navy);line-height:1}
.tr-disclaim{margin-top:80px;padding:32px;background:var(--soft);border-radius:14px;border:1px solid var(--line)}
.tr-disclaim h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;margin-bottom:12px;color:var(--ink)}
.tr-disclaim p{font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.95;color:var(--gray);margin-bottom:8px}

/* --- symptoms.html: 対応症状 --- */
.sy-page{padding:120px 0;background:var(--paper)}
.sy-page h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.1;margin-bottom:18px}
.sy-page h2 em{font-style:italic;color:var(--navy)}
.sy-block{padding:48px;background:#fff;border:1.5px solid var(--line);border-radius:18px;margin-bottom:24px;transition:border-color .3s,box-shadow .3s,transform .3s}
.sy-block:hover{border-color:var(--mint-dk);box-shadow:0 12px 28px -18px rgba(27,44,74,0.2);transform:translateY(-3px)}
.sy-block.feat{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dk) 100%);color:#fff;border-color:var(--gold)}
.sy-block.feat h2,.sy-block.feat h3{color:#fff}
.sy-block.feat .sy-no{background:rgba(183,154,95,0.25);color:var(--gold)}
.sy-block.feat p,.sy-block.feat li{color:rgba(255,255,255,0.82)}
.sy-block.feat .sy-check li::before{background:var(--gold)}
.sy-block.feat .sy-care{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.18)}
.sy-block.feat .sy-care h4{color:var(--gold)}
.sy-no{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:11px;letter-spacing:.32em;background:rgba(183,154,95,0.12);color:var(--gold);text-transform:uppercase;padding:5px 12px;border-radius:999px;display:inline-block;margin-bottom:18px}
.sy-block h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:26px;margin-bottom:14px;color:var(--ink)}
.sy-block .lead{font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.95;color:var(--gray);margin-bottom:24px}
.sy-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}
@media (max-width:720px){.sy-grid{grid-template-columns:1fr;gap:18px}}
.sy-check h4{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--navy);text-transform:uppercase;margin-bottom:12px}
.sy-block.feat .sy-check h4{color:var(--gold)}
.sy-check ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.sy-check li{font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.75;color:var(--ink);padding-left:22px;position:relative}
.sy-block.feat .sy-check li{color:rgba(255,255,255,0.82)}
.sy-check li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:1.5px;background:var(--mint-dk)}
.sy-care{padding:20px;background:var(--soft);border-radius:12px;border:1px solid var(--line)}
.sy-care h4{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--navy);text-transform:uppercase;margin-bottom:10px}
.sy-care p{font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.8;color:var(--gray)}

/* --- story.html: 院長紹介 --- */
.sp-page{padding:120px 0;background:var(--paper)}
.sp-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start;margin-bottom:96px}
@media (max-width:900px){.sp-grid{grid-template-columns:1fr;gap:32px}}
.sp-portrait{aspect-ratio:3/4;background:linear-gradient(135deg,var(--soft) 0%,var(--mint) 100%);border-radius:18px;display:flex;align-items:end;padding:32px;color:var(--navy);border:1.5px solid var(--line);position:sticky;top:96px;overflow:hidden}
.sp-portrait::before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(143,191,184,0.5) 0%,transparent 70%)}
.sp-portrait .sp-pinfo{position:relative;z-index:1}
.sp-portrait h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:28px;margin-bottom:6px}
.sp-portrait p{font-family:"Inter Tight",sans-serif;font-size:12px;letter-spacing:.18em;color:var(--gray);text-transform:uppercase}
.sp-bio .eb{margin-bottom:14px}
.sp-bio h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(28px,4vw,48px);line-height:1.1;margin-bottom:24px}
.sp-bio h2 em{font-style:italic;color:var(--navy)}
.sp-bio p{font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2.05;color:var(--ink);margin-bottom:18px}
.sp-bio .sp-quote{font-family:"Noto Serif JP",serif;font-style:italic;font-size:20px;line-height:1.6;color:var(--navy);padding:24px 28px;margin:32px 0;background:var(--soft);border-left:4px solid var(--gold);border-radius:0 12px 12px 0}

.sp-time{padding:120px 0;background:var(--soft)}
.sp-time .cont{max-width:920px}
.sp-time h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.1;margin-bottom:48px;text-align:center}
.sp-time h2 em{font-style:italic;color:var(--navy)}
.sp-line{position:relative;padding-left:48px;border-left:2px solid var(--mint-dk);display:flex;flex-direction:column;gap:32px;list-style:none}
.sp-line li{position:relative}
.sp-line li::before{content:"";position:absolute;left:-58px;top:8px;width:16px;height:16px;background:var(--paper);border:2px solid var(--navy);border-radius:50%}
.sp-line .yr{font-family:"Lora",serif;font-weight:600;font-size:22px;color:var(--navy);letter-spacing:.02em;margin-bottom:6px;display:block}
.sp-line h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;color:var(--ink);margin-bottom:8px}
.sp-line p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.95;color:var(--gray)}

.sp-cert{padding:120px 0;background:var(--paper)}
.sp-cert h2{font-family:"Lora",serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.1;margin-bottom:32px}
.sp-cert h2 em{font-style:italic;color:var(--navy)}
.sp-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
@media (max-width:900px){.sp-cert-grid{grid-template-columns:1fr}}
.sp-card{padding:32px;background:#fff;border:1.5px solid var(--line);border-radius:18px;transition:border-color .3s,transform .3s}
.sp-card:hover{border-color:var(--mint-dk);transform:translateY(-3px)}
.sp-card .sp-icon{width:48px;height:48px;background:var(--soft);color:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.sp-card .sp-icon svg{width:22px;height:22px}
.sp-card h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;margin-bottom:8px}
.sp-card p{font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.85;color:var(--gray)}

.medical-note{margin-top:48px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:14px;border-top:4px solid var(--gold)}
.medical-note h4{font-family:"Inter Tight",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.medical-note p{font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.95;color:var(--gray)}
