/* =========================================================
   こみやま鍼灸整骨院・整体院 新サイト v1 院専用CSS（komiyama.css）
   元サイトの配色トークンに寄せる：
     とても薄い #f3eeeb／薄い #e8cab7／トープ #cbb8aa／モカ #a48670／ローズ #eb6877
   方針＝元サイトの雰囲気（ベージュ・モカの帯、ローズピンクの電話ボタンと強調、明るく温かい）で、
         余白・文字組み・部品の作りを整えて「元サイト以上に整った」見え方にする
   ========================================================= */
:root{
  --c0:#f3eeeb; --c0b:#faf6f3; --c1:#e8cab7; --c2:#cbb8aa; --c2d:#b9a393; --c3:#a48670; --c3d:#7c6250;
  --rose:#eb6877; --rose-d:#d44f63; --rose-p:#fdf1f1;
  --ink:#3a302a; --body:#4b413b; --muted:#8b7f76; --line:#e8dfd8;
  --mk:#fff59b; --green:#06c755; --green-d:#04a646;
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --r:6px; --shadow:0 4px 18px rgba(124,98,80,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--body);background:#fff;font-size:16px;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased;word-break:auto-phrase;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
b,strong{font-weight:700}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;display:inline-block;vertical-align:-.18em}
.gt{font-size:1.25em;line-height:1;margin-left:.4em}
.mk{background:linear-gradient(transparent 56%,var(--mk) 56%);font-weight:700;padding:0 .05em}
.rs{color:var(--rose-d);font-weight:700}
.kp{display:inline-block}
.center{text-align:center}
.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}.mt48{margin-top:48px}
@media(min-width:768px){.only-sp{display:none!important}}
@media(max-width:767px){.only-pc{display:none!important}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------- h1バー（元サイトの最上段の小さな1行） ---------- */
.h1bar{max-width:1140px;margin:0 auto;padding:8px 20px 0}
.h1bar h1{font-size:12.5px;font-weight:400;color:var(--muted);letter-spacing:.04em;line-height:1.6}

/* ---------- ロゴ（予約優先制の小札＋院名） ---------- */
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}
.logo .tag{background:var(--c2);color:#fff;font-size:12px;letter-spacing:.14em;padding:1px 12px;border-radius:3px;line-height:1.7}
.logo .nm{font-family:var(--serif);font-weight:500;font-size:24px;color:#6e5c50;letter-spacing:.08em;line-height:1.3}

/* ---------- ヘッダー（PC） ---------- */
.hd{background:#fff}
.hd-in{max-width:1140px;margin:0 auto;padding:12px 20px 16px;display:grid;grid-template-columns:1.05fr 1.35fr .9fr;gap:26px;align-items:center}
.hd-info .hrs{display:grid;gap:1px;font-size:13.5px;color:var(--ink);padding-bottom:6px;border-bottom:1px solid #f1ebe6}
.hd-info .t,.finfo .t,.rsv-tk .t,.hours-n .t,.shz .t{display:inline-block;min-width:4.6em;text-align:center;background:var(--c2);color:#fff;font-size:12px;border-radius:3px;padding:0 8px;margin-right:10px;line-height:1.75}
.hd-info .ad{font-size:13px;color:var(--ink);padding-top:6px;line-height:1.8}
.hd-info .pk{display:inline-block;border:1px solid var(--c2);color:var(--c3d);font-size:12px;border-radius:3px;padding:0 9px;margin:3px 10px 0 0;line-height:1.7}
.hd-info .mp{font-size:12.5px;color:var(--c3);text-decoration:underline;text-underline-offset:3px}
.hd-btns{display:grid;gap:9px}
.b-tel,.b-net,.b-line{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:700;transition:filter .15s,transform .15s}
.b-tel{background:var(--rose);color:#fff;padding:12px 10px;font-size:18px;letter-spacing:.06em;box-shadow:0 3px 0 #c9505f}
.b-net{background:#f4f1ee;color:var(--ink);padding:11px 10px;font-size:14.5px}
.b-line{background:var(--green);color:#fff;padding:12px 10px;font-size:15px}
.b-tel:hover,.b-net:hover,.b-line:hover{filter:brightness(1.05);transform:translateY(-1px)}

/* ---------- メニュー帯（トープ） ---------- */
.gnav{background:var(--c2);position:sticky;top:0;z-index:60;box-shadow:0 2px 8px rgba(124,98,80,.12)}
.gnav ul{max-width:1140px;margin:0 auto;display:flex}
.gnav li{flex:1;border-right:1px solid rgba(255,255,255,.5)}
.gnav li:first-child{border-left:1px solid rgba(255,255,255,.5)}
.gnav a{display:block;text-align:center;color:#fff;padding:14px 4px;font-size:15px;font-weight:500;letter-spacing:.08em;transition:background .15s}
.gnav a:hover{background:rgba(255,255,255,.16)}
.gnav a.cur{background:var(--c3)}

/* ---------- SPヘッダー（院名＋予約・問い合わせ＋メニュー） ---------- */
.sph{display:none}
@media(max-width:991px){
  .hd,.gnav{display:none}
  body{padding-top:60px}
  .sph{display:flex;position:fixed;top:0;left:0;right:0;height:60px;background:#fff;z-index:100;align-items:center;gap:0;padding:0 6px 0 12px;box-shadow:0 1px 8px rgba(0,0,0,.08)}
  .sph .logo-sp{flex:1 1 auto;gap:3px;min-width:0}
  .sph .logo-sp .tag{font-size:10px;padding:0 8px;letter-spacing:.1em}
  .sph .logo-sp .nm{font-size:15.5px;letter-spacing:.04em;white-space:nowrap}
  .sph-rsv{flex:0 0 auto;display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink);padding:0 10px;height:40px;border-left:1px solid var(--c0);border-right:1px solid var(--c0);white-space:nowrap}
  .sph-rsv .ic{color:var(--c3)}
  .sph-menu{flex:0 0 auto;width:48px;height:44px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;margin-left:4px}
  .sph-menu i{display:block;width:24px;height:2px;background:#7a6a5f;border-radius:2px}
  .h1bar{padding:6px 14px 0}.h1bar h1{font-size:11.5px}
}
@media(max-width:374px){.sph .logo-sp .nm{font-size:14px}.sph-rsv{font-size:11.5px;padding:0 7px}}

/* ドロワー */
.drawer{position:fixed;inset:0;z-index:200;display:none}
.drawer.open{display:block}
.drawer .ov{position:absolute;inset:0;background:rgba(58,48,42,.45)}
.drawer .pn{position:absolute;top:0;right:0;bottom:0;width:min(84vw,340px);background:#fff;overflow-y:auto;padding:14px 18px 40px;box-shadow:-10px 0 30px rgba(0,0,0,.18)}
.drawer .cl{display:flex;align-items:center;justify-content:center;margin-left:auto;width:44px;height:44px;border:1px solid var(--c2);border-radius:6px;background:#fff;color:var(--c3d);font-size:24px;cursor:pointer;line-height:1}
.drawer ul{margin-top:8px}
.drawer li a{display:flex;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);font-weight:500;font-size:15px;color:var(--ink)}
.drawer li a::before{content:"›";color:var(--c3);font-size:18px;margin-right:10px;line-height:1}
.drawer .dcta{display:grid;gap:10px;margin-top:20px}

/* ---------- トップ画像（当社生成・PC/SPで別構図） ---------- */
.fv{max-width:1200px;margin:0 auto}
.fv img{width:100%;height:auto}
@media(min-width:768px){.fv{padding:0 20px}.fv img{border-radius:0 0 6px 6px}}

/* ---------- セクション・見出し ---------- */
.sc{padding:clamp(40px,6vw,64px) 0}
.wrap{max-width:1110px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:900px}
.bg-w{background:#fff}.bg-b{background:var(--c0b)}.bg-c0{background:var(--c0)}
.h2c{position:relative;font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.7vw,28px);color:var(--ink);text-align:center;letter-spacing:.08em;line-height:1.6;padding:4px 0 18px;margin:0 0 clamp(26px,4vw,40px)}
.h2c::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--c3) 22%,var(--c3) 78%,transparent)}
.h2c::before{content:"";position:absolute;left:50%;bottom:-3px;width:7px;height:7px;margin-left:-3.5px;background:var(--c3);transform:rotate(45deg)}
.h2c .sub{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--c3);letter-spacing:.12em;margin-top:4px}
.h2b{font-family:var(--serif);font-weight:600;font-size:clamp(18px,2.4vw,23px);color:#fff;background:linear-gradient(90deg,var(--c2d),var(--c2) 70%,#d3c3b7);padding:12px 20px 12px 22px;border-radius:4px;letter-spacing:.08em;line-height:1.5;margin:0 0 26px;position:relative;text-shadow:0 1px 1px rgba(90,70,56,.25)}
.h2b::before{content:"";position:absolute;left:10px;top:50%;width:4px;height:58%;transform:translateY(-50%);background:rgba(255,255,255,.75);border-radius:2px}
.h3l{font-size:clamp(16px,2vw,19px);font-weight:700;color:var(--ink);background:var(--c0);border-left:5px solid var(--c2);padding:9px 16px;margin:30px 0 16px;line-height:1.55;letter-spacing:.05em}
.sc .wrap > .h2b:first-child,.sc .wrap > .h2c:first-child{margin-top:0}
.tx p,.wp-t p,.prose p{font-size:clamp(15px,1.6vw,16px);line-height:2.05;margin:0 0 14px;color:var(--body)}
.tx p:last-child,.wp-t p:last-child{margin-bottom:0}
.lead{font-size:clamp(15px,1.7vw,17px);line-height:2;color:var(--ink);text-align:center;margin:0 auto 22px;max-width:820px}

/* 文章＋写真 */
.wp{display:flex;gap:clamp(20px,3.4vw,36px);align-items:flex-start}
.wp.rev{flex-direction:row-reverse}
.wp-t{flex:1 1 56%;min-width:0}
.wp-p{flex:0 1 40%;min-width:0}
.wp-p img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
@media(max-width:767px){.wp,.wp.rev{flex-direction:column}.wp-p{width:100%}}
.photo-wide{margin:22px 0}
.photo-wide img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
.photo-band img{width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:var(--r);margin:18px 0}

/* ボタン */
.b-mocha,.b-rose,.b-line2{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-weight:700;border-radius:6px;padding:13px 30px;font-size:15px;letter-spacing:.06em;transition:filter .15s,transform .15s}
.b-mocha{background:var(--c3);color:#fff;box-shadow:0 3px 0 #86695a}
.b-rose{background:var(--rose);color:#fff;box-shadow:0 3px 0 #c9505f}
.b-line2{background:var(--green);color:#fff;box-shadow:0 3px 0 #04913e}
.b-mocha:hover,.b-rose:hover,.b-line2:hover{filter:brightness(1.06);transform:translateY(-1px)}
.bnr{display:block;margin:0 auto;border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .2s}
a.bnr:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(124,98,80,.18)}
.bnr img{width:100%}

/* チェックリスト（ローズのチェック） */
.cklist{display:grid;gap:0}
.cklist li{display:flex;gap:10px;align-items:flex-start;padding:10px 4px;border-bottom:1px dashed #e3d8cf;font-weight:500;color:var(--ink);font-size:clamp(15px,1.6vw,16px);line-height:1.7}
.cklist li .ic{color:#fff;background:var(--rose);border-radius:50%;padding:3px;width:22px;height:22px;margin-top:2px}
.cklist.two{grid-template-columns:1fr 1fr;column-gap:26px}
@media(max-width:600px){.cklist.two{grid-template-columns:1fr}}

/* ---------- お客様の声の帯（HTML版） ---------- */
.vband{max-width:820px;margin:0 auto}
.vb-lead{text-align:center;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(15px,2.2vw,20px);letter-spacing:.06em;margin-bottom:12px}
.vb-lead b{color:var(--rose-d)}
.vb-lead .ch{color:var(--c2);margin:0 .5em;letter-spacing:-.2em}
.vb-box{border:2px solid var(--c2);border-radius:10px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.vb-top{display:flex;align-items:center;gap:clamp(12px,3vw,26px);padding:clamp(14px,2.6vw,22px) clamp(14px,3vw,28px)}
.vb-g{flex:0 0 auto;width:clamp(92px,15vw,122px);aspect-ratio:1;border-radius:50%;border:3px double var(--c3);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);color:var(--c3d);text-align:center;line-height:1.25;background:radial-gradient(circle,#fff 55%,var(--c0) 100%)}
.vb-g .g1{font-size:clamp(12px,1.8vw,15px);font-weight:600}
.vb-g .g2{font-size:clamp(15px,2.3vw,20px);font-weight:700;color:var(--rose-d);margin-top:4px;border-top:1px solid var(--c1);padding-top:3px}
.vb-c{flex:1;min-width:0;font-family:var(--serif);color:var(--ink)}
.vb-c .c1{font-size:clamp(15px,2.4vw,22px);font-weight:600;line-height:1.4}
.vb-c .c1 b{font-size:1.9em;color:var(--rose-d);font-style:italic;letter-spacing:0;margin-right:.08em}
.vb-c .c2{font-size:clamp(12.5px,1.8vw,16px);margin:4px 0 0}
.vb-c .c3{font-size:clamp(19px,3.2vw,30px);font-weight:700;letter-spacing:.1em;line-height:1.35}
.vb-mid{background:linear-gradient(90deg,var(--c3),#b59581 50%,var(--c3));color:#fff;text-align:center;padding:12px 16px 10px}
.vb-mid .m1{font-size:clamp(13px,1.9vw,16px);font-weight:500;letter-spacing:.08em}
.vb-mid .m2{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--serif);font-weight:600;font-size:clamp(15px,2.4vw,22px);line-height:1.25}
.vb-mid .m2 b{font-size:clamp(46px,8vw,72px);color:#fff5c9;font-style:italic;line-height:1;letter-spacing:-.02em}
.vb-mid .m2 b small{font-size:.45em}
.vb-mid .m3{font-size:11px;opacity:.9}
.vb-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;background:var(--c0)}
.vb-ph figure{border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 2px 6px rgba(124,98,80,.14)}
.vb-ph img{width:100%;aspect-ratio:530/429;object-fit:cover}
@media(max-width:480px){.vb-ph{gap:6px;padding:8px}}

/* クチコミ */
.kk{max-width:820px;margin:0 auto}
.kk-card{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:var(--shadow)}
.kk-card p{font-size:14.5px;color:var(--ink);font-weight:500}
@media(max-width:600px){.kk-card{justify-content:center;text-align:center}}

/* ---------- メニューカード（2列） ---------- */
.mcards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mcard{display:flex;gap:16px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .2s}
.mcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(124,98,80,.16)}
.mcard .mi{flex:0 0 42%;border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.mcard .mi img{width:100%;height:100%;object-fit:cover}
.mcard .mb{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.mcard h3{font-family:var(--serif);font-weight:600;font-size:clamp(17px,1.9vw,19px);color:var(--c3d);letter-spacing:.06em;line-height:1.45}
.mcard h3 .nw{display:inline-block;background:var(--rose);color:#fff;font-family:var(--sans);font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:3px;margin-left:8px;vertical-align:3px;letter-spacing:.06em}
.mcard p{font-size:13.5px;line-height:1.8;flex:1;color:var(--body)}
.mcard .more{align-self:flex-end;background:var(--c2);color:#fff;font-size:12px;font-weight:500;padding:3px 14px;border-radius:3px;letter-spacing:.06em}
@media(max-width:767px){.mcards{grid-template-columns:1fr;gap:12px}.mcard .mi{flex-basis:38%}}

/* その他対応＋お気軽に */
.other{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;max-width:1000px;margin:clamp(30px,5vw,50px) auto 0}
.other .r{display:grid;gap:18px;justify-items:center}
@media(max-width:767px){.other{grid-template-columns:1fr}}

/* ---------- 初回料金（HTML版） ---------- */
.offer{max-width:800px;margin:0 auto;background:#fff;border:2px solid #f0b3bb;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(212,79,99,.12)}
.of-h{background:linear-gradient(90deg,#e45d70,var(--rose) 50%,#f07d8a);color:#fff;text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(22px,3.6vw,32px);letter-spacing:.12em;padding:10px 12px}
.of-b{display:flex;align-items:stretch}
.of-t{flex:1 1 60%;padding:clamp(16px,3vw,26px) clamp(16px,3vw,28px);min-width:0}
.of-lead{display:grid;gap:0;color:var(--body);font-size:clamp(14px,1.8vw,16.5px);line-height:1.8}
.of-c{font-family:var(--serif);font-weight:600;font-size:clamp(17px,2.4vw,22px);color:var(--ink);line-height:1.5;margin-top:8px}
.of-c b{font-size:1.3em;color:var(--rose-d);background:linear-gradient(transparent 70%,#fde2e5 70%)}
.offer .nm{font-weight:700;color:var(--c3d);margin-top:10px;font-size:15px}
.offer .was{margin-top:12px;font-weight:700;color:var(--ink);font-size:clamp(15px,2vw,18px)}
.offer .was .lb{display:inline-block;background:#4b413b;color:#fff;font-size:12px;padding:1px 8px;border-radius:3px;margin-right:8px;vertical-align:2px}
.offer .was s{text-decoration-thickness:2px;text-decoration-color:var(--rose-d);font-size:1.2em;margin-right:4px}
.offer .now{display:flex;align-items:center;gap:10px;margin-top:6px}
.offer .now .lim{flex:0 0 auto;width:62px;height:62px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:15px;line-height:1.2}
.offer .now b{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--rose-d);font-size:clamp(52px,9vw,82px);line-height:1;letter-spacing:.01em}
.offer .now .yen{font-weight:700;color:var(--rose-d);font-size:clamp(20px,3vw,28px);line-height:1.1}
.offer .now .yen small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.of-p{flex:0 0 36%;position:relative}
.of-p img{width:100%;height:100%;object-fit:cover}
.of-n{text-align:center;font-weight:700;color:var(--ink);font-size:clamp(14px,1.9vw,16.5px);padding:10px 12px 14px;border-top:1px dashed #f0c7cc;background:var(--rose-p)}
.offer .of-btn{text-align:center;padding:0 12px 18px;background:var(--rose-p)}
@media(max-width:600px){.of-b{flex-direction:column-reverse}.of-p{flex:0 0 auto;height:200px}.of-p img{object-position:center 30%}}
.of-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:10px}

/* ---------- 選ばれる5つの理由 ---------- */
.reasons{display:grid;gap:18px}
.reason{display:flex;gap:clamp(16px,3vw,28px);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2.4vw,20px);box-shadow:var(--shadow);align-items:center}
.reason .ph{flex:0 0 34%;border-radius:4px;overflow:hidden;aspect-ratio:3/2}
.reason .ph img{width:100%;height:100%;object-fit:cover}
.reason .bd{flex:1;min-width:0}
.reason .no{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.reason .no span{font-family:var(--serif);font-style:italic;color:var(--c3);font-size:13px;letter-spacing:.12em}
.reason .no b{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--rose);color:#fff;font-family:var(--serif);font-size:20px;box-shadow:0 3px 8px rgba(212,79,99,.3)}
.reason h3{color:var(--rose-d);font-size:clamp(17px,2vw,20px);font-weight:700;line-height:1.55;margin-bottom:8px}
.reason p{font-size:14.5px;line-height:1.95}
@media(max-width:767px){.reason{flex-direction:column;align-items:stretch}.reason .ph{flex:0 0 auto}}

/* 初めての方へ */
.hj{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.hj-h{background:linear-gradient(90deg,#dcb9a5,var(--c1),#dcb9a5);color:#fff;text-align:center;font-weight:700;font-size:clamp(15px,2vw,17px);letter-spacing:.08em;padding:10px;text-shadow:0 1px 1px rgba(120,80,60,.25)}
.hj-b{display:flex;gap:26px;align-items:center;padding:18px clamp(16px,3vw,28px)}
.hj-b .cklist{flex:1}
.hj-b .ph{flex:0 0 38%;border-radius:4px;overflow:hidden}
.hj-b .ph img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(max-width:767px){.hj-b{flex-direction:column-reverse}.hj-b .ph{width:100%}}
.hj-t{margin-top:22px}

/* 立ち位置 */
.pos img{margin:0 auto}

/* 代表あいさつ */
.greet{display:flex;gap:clamp(20px,3.6vw,40px);align-items:flex-start}
.greet .ph{flex:0 0 min(44%,470px)}
.greet .ph img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
.greet .ph .cap{text-align:center;font-size:13.5px;color:var(--ink);margin-top:8px;font-weight:500}
.greet .tx{flex:1;min-width:0}
.greet .qual{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.greet .qual span{background:var(--c0);border:1px solid var(--c2);color:var(--c3d);font-size:13px;font-weight:700;padding:3px 12px;border-radius:99px}
@media(max-width:767px){.greet{flex-direction:column}.greet .ph{flex:0 0 auto;width:100%}}

/* お店の雰囲気 */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal figure{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.gal img{width:100%;aspect-ratio:348/246;object-fit:cover}
.gal figcaption{padding:8px 10px;font-size:13.5px;font-weight:500;color:var(--ink);text-align:center}
@media(max-width:767px){.gal{grid-template-columns:repeat(2,1fr);gap:10px}}

/* 所在地（トップ） */
.shz{display:grid;grid-template-columns:7fr 5fr;gap:clamp(18px,3vw,32px);align-items:start}
.gmap{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--c0)}
.gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.shz h3{font-size:18px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.shz p{font-size:15px;color:var(--ink)}
.shz ul{display:grid;gap:6px;margin:12px 0 14px;font-size:14.5px}
.shz img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
@media(max-width:767px){.shz{grid-template-columns:1fr}}
.shozai .gmap{aspect-ratio:16/7}
@media(max-width:767px){.shozai .gmap{aspect-ratio:4/3}}
.map-ad{display:flex;align-items:flex-start;gap:6px;margin-top:10px;font-size:14px;color:var(--ink)}
.map-ad .ic{color:var(--c3);margin-top:4px}

/* ---------- ご予約・お問い合わせ ---------- */
.rsv{background:#fff;border-radius:10px;padding:clamp(22px,4vw,44px) clamp(16px,4vw,48px);box-shadow:var(--shadow)}
.rsv .h2c{margin-bottom:26px}
.rsv-btns{display:grid;gap:12px;max-width:620px;margin:0 auto}
.rb{display:flex;align-items:center;gap:14px;border-radius:8px;padding:14px 20px;transition:filter .15s,transform .15s}
.rb .ic{width:30px;height:30px}
.rb span{flex:1;text-align:center;font-weight:700;font-size:clamp(14px,1.8vw,16px);line-height:1.5;letter-spacing:.05em}
.rb span b{display:block;font-size:clamp(17px,2.4vw,21px)}
.rb.tel{background:var(--rose);color:#fff;box-shadow:0 3px 0 #c9505f}
.rb.web{background:#f4f1ee;color:var(--ink);border:1px solid #e7e0da}
.rb.web .ic{color:var(--c3)}
.rb.line{background:var(--green);color:#fff;box-shadow:0 3px 0 #04913e}
.rb:hover{filter:brightness(1.05);transform:translateY(-1px)}
.rsv-rib{text-align:center;margin:26px auto 16px}
.rsv-rib span{position:relative;display:inline-block;background:var(--rose);color:#fff;font-weight:700;font-size:clamp(14px,2vw,17px);padding:8px 34px;letter-spacing:.05em}
.rsv-rib span::before,.rsv-rib span::after{content:"";position:absolute;top:0;border:solid transparent;border-width:20px 12px}
.rsv-rib span::before{left:-12px;border-right-color:var(--rose);border-left-width:0}
.rsv-rib span::after{right:-12px;border-left-color:var(--rose);border-right-width:0}
.rsv-tk{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:620px;margin:0 auto}
.rsv-tk ul{display:grid;gap:8px;font-size:14.5px;color:var(--ink);font-weight:500}
.rsv-tk .qr{flex:0 0 132px}
.rsv-tk .qr img{width:132px;height:132px}
@media(max-width:600px){.rsv-tk{flex-direction:column;align-items:flex-start}.rsv-tk .qr{display:none}}
.hours-w{max-width:620px;margin:24px auto 0}
.hours{width:100%;border-collapse:collapse;font-size:14px;text-align:center}
.hours th,.hours td{border:1px solid var(--line);padding:8px 2px}
.hours thead th{background:var(--c0);color:var(--c3d);font-weight:700;font-size:13px}
.hours tbody th{color:var(--c3d);font-weight:700;white-space:nowrap;padding:8px 6px;font-size:13px}
.hours td.o{color:var(--c3)}
.hours td.s{color:var(--rose-d)}
.hours td.x{color:#b9aea6}
.hours-n{display:grid;gap:5px;margin-top:10px;font-size:14px;color:var(--ink)}

/* ---------- 症状ページ ---------- */
.riskbox{margin-top:30px;background:linear-gradient(180deg,#f6f3f1,#fff 60%);border:1px solid #e6dfd9;border-radius:10px;padding:clamp(20px,4vw,34px) clamp(16px,4vw,40px);text-align:center;box-shadow:var(--shadow)}
.rk-h{font-family:var(--serif);font-weight:700;font-size:clamp(21px,3.4vw,32px);color:var(--ink);line-height:1.45;letter-spacing:.06em}
.rk-h b{color:var(--rose-d);font-size:1.12em}
.rk-l{display:grid;gap:10px;max-width:640px;margin:18px auto 0;text-align:left}
.rk-l li{display:flex;gap:10px;align-items:flex-start;font-weight:700;color:var(--ink);font-size:clamp(15px,1.9vw,17px);line-height:1.6;border-bottom:1px solid #ece5df;padding-bottom:8px}
.rk-l .x{flex:0 0 auto;color:var(--rose-d);font-size:20px;line-height:1.2}
.rk-ar{width:0;height:0;margin:18px auto 10px;border-left:42px solid transparent;border-right:42px solid transparent;border-top:26px solid #f4e2a6}
.rk-safe span{display:inline-block;background:var(--c3);color:#fff;font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.8vw,24px);padding:4px 26px;border-radius:4px;letter-spacing:.1em}
.rk-m{margin-top:12px;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(16px,2.4vw,21px);line-height:1.7}
.rk-m b{color:var(--rose-d);font-size:1.35em}

/* 他店と当店の違い */
.cmp{display:grid;gap:26px;max-width:860px;margin:0 auto}
.cmp-k{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:12px}
.cmp-k::before,.cmp-k::after{content:"";flex:1;height:1px;background:#bfb2a8}
.cmp-k span{font-weight:700;color:var(--ink);font-size:clamp(16px,2vw,18px);letter-spacing:.1em;white-space:nowrap}
.cmp-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cmp-o,.cmp-u{position:relative;border-radius:8px;padding:16px 16px 16px 76px;min-height:96px;display:flex;flex-direction:column;justify-content:center}
.cmp-o{background:#eef1f3;color:#55606a}
.cmp-u{background:var(--rose-p);color:var(--ink);border:2px solid #f2bcc3}
.cmp-2 .fc{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:48px;height:48px}
.cmp-o .fc{color:#8e9aa4}.cmp-u .fc{color:var(--rose)}
.cmp-2 .lb{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:700;color:#fff;border-radius:3px;padding:0 9px;margin-bottom:4px}
.cmp-o .lb{background:#8e9aa4}.cmp-u .lb{background:var(--rose)}
.cmp-2 p{font-size:clamp(14px,1.7vw,15.5px);font-weight:700;line-height:1.65}
.cmp-u p b{color:var(--rose-d)}
@media(max-width:600px){.cmp-2{grid-template-columns:1fr;gap:8px}}
.cmp-rec{display:flex;align-items:center;gap:18px;margin-top:6px}
.cmp-rec .bub{position:relative;flex:1;background:#fffbe6;border:2px solid #f1e3a3;border-radius:14px;padding:18px 22px;font-weight:700;color:var(--ink);font-size:clamp(15px,1.9vw,17px);line-height:1.8}
.cmp-rec .bub::after{content:"";position:absolute;right:-14px;top:50%;margin-top:-10px;border:10px solid transparent;border-left:14px solid #f1e3a3;border-right:0}
.cmp-rec .bub ul{margin:4px 0}
.cmp-rec .bub li{color:var(--rose-d)}
.cmp-rec .bub .end{text-align:right}
.cmp-rec .ph{flex:0 0 150px;border-radius:50%;overflow:hidden;aspect-ratio:1;box-shadow:var(--shadow);border:4px solid #fff}
.cmp-rec .ph img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
@media(max-width:600px){.cmp-rec{flex-direction:column-reverse}.cmp-rec .bub::after{display:none}.cmp-rec .ph{flex:0 0 auto;width:120px}}

/* 雑誌・書籍掲載 */
.books{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:10px;padding:clamp(18px,3vw,30px);background:#fff;box-shadow:var(--shadow)}
.bk-h{text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(19px,3vw,28px);color:var(--ink);line-height:1.6;letter-spacing:.05em}
.bk-h b{background:var(--rose);color:#fff;padding:0 .3em;margin:0 .15em;border-radius:2px}
.bk-g{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.book{display:flex;gap:14px;align-items:center;background:var(--c0b);border-radius:8px;padding:14px}
.book .cv{flex:0 0 96px;height:136px;border-radius:2px 6px 6px 2px;background:linear-gradient(90deg,#5b4336 0,#6d5244 8%,#8b6b58 9%,#7b5d4b 100%);color:#fff;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;box-shadow:4px 4px 10px rgba(58,48,42,.25);font-family:var(--serif)}
.book:nth-child(2) .cv{background:linear-gradient(90deg,#1f5a3a 0,#2a6a47 8%,#3c8a5f 9%,#2f7550 100%)}
.book .cv .t1{font-size:11px;letter-spacing:.08em;opacity:.9}
.book .cv .t2{font-size:15px;font-weight:700;letter-spacing:.1em}
.book .bt{font-weight:700;color:var(--ink);font-size:15px;line-height:1.6}
.book .bs{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.6}
@media(max-width:600px){.bk-g{grid-template-columns:1fr}}

/* お客様の声（文章・写真） */
.tvoice{border-top:1px solid var(--line);padding:20px 4px 18px}
.tvoice h3{font-size:16px;font-weight:700;color:var(--ink);border-left:4px solid var(--c2);padding-left:12px;line-height:1.5}
.tvoice h4{font-family:var(--serif);font-weight:700;font-size:clamp(17px,2.2vw,20px);color:var(--rose-d);margin:10px 0 6px;line-height:1.5}
.tvoice p{font-size:15px;line-height:2}
.tvoice .ds,.pv .ds{font-size:11.5px;color:var(--muted);margin-top:6px}
.pv-h{font-size:17px;font-weight:700;color:var(--ink);margin:26px 0 14px;text-align:center;letter-spacing:.08em}
.pvoices{display:grid;gap:18px;margin-top:10px}
.pvoices.c3{grid-template-columns:repeat(3,1fr)}
.pvoices.c2{grid-template-columns:repeat(2,1fr)}
.pv{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.pv img{width:100%;aspect-ratio:530/429;object-fit:cover}
.pv figcaption{background:var(--c0);color:var(--c3d);font-weight:700;font-size:13.5px;padding:7px 12px;border-left:4px solid var(--c2)}
.pv p{font-size:14.5px;line-height:1.9;padding:10px 12px 0}
.pv .ds{padding:0 12px 12px}
@media(max-width:767px){.pvoices.c3,.pvoices.c2{grid-template-columns:1fr 1fr;gap:10px}.pv p{font-size:13.5px}}
@media(max-width:420px){.pvoices.c3,.pvoices.c2{grid-template-columns:1fr}}

/* 施術内容 */
.cont{display:flex;gap:clamp(16px,3vw,30px);align-items:flex-start}
.cont .ph{flex:0 0 40%}
.cont .ph img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
.cont .tx{flex:1;min-width:0}
@media(max-width:767px){.cont{flex-direction:column}.cont .ph{width:100%}}

/* 施術の流れ（8ステップ） */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px;counter-reset:fl}
.fl{position:relative;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:0 0 14px;overflow:visible}
.fl .no{position:absolute;top:-10px;left:-8px;z-index:2;width:36px;height:36px;border-radius:50%;background:var(--c1);color:#fff;font-family:var(--serif);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(124,98,80,.25)}
.fl .ph{border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.fl .ph img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fl .ph.noimg{aspect-ratio:3/2;background:linear-gradient(135deg,var(--c0),#fff);display:flex;align-items:center;justify-content:center}
.fl .ph.noimg span{font-family:var(--serif);font-size:40px;color:var(--c2);font-style:italic}
.fl h3{font-size:15.5px;font-weight:700;color:var(--ink);padding:10px 12px 2px;line-height:1.5}
.fl p{font-size:13.5px;line-height:1.85;padding:0 12px}
.fl:not(:nth-child(4n))::after{content:"";position:absolute;right:-13px;top:28%;border:7px solid transparent;border-left:8px solid var(--c1);border-right:0}
@media(max-width:900px){.flow{grid-template-columns:repeat(2,1fr)}.fl::after{display:none}}
@media(max-width:420px){.flow{gap:18px 12px}.fl h3{font-size:14.5px}.fl p{font-size:12.5px}}

/* このような効果が期待できます */
.fx{display:flex;gap:clamp(18px,3vw,32px);align-items:center}
.fx .cklist{flex:1}
.fx .ph{flex:0 0 38%}
.fx .ph img{width:100%;border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover}
@media(max-width:767px){.fx{flex-direction:column}.fx .ph{width:100%}}
.fx-note{font-size:12px;color:var(--muted);margin-top:10px}

/* 比較表（発毛など・文字の表） */
.cmpt-w{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.cmpt{width:100%;border-collapse:collapse}
.cmpt th,.cmpt td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:clamp(13.5px,1.7vw,15px);line-height:1.7;text-align:center;vertical-align:middle}
.cmpt thead th{font-weight:700}
.cmpt thead th.o{background:#9aa3ab;color:#fff}
.cmpt thead th.us{background:var(--rose);color:#fff}
.cmpt tbody th{background:var(--c0);color:var(--c3d);font-weight:700;width:8.5em}
.cmpt td.o{color:#5d6770;background:#f7f8f9}
.cmpt td.us{color:var(--ink);font-weight:700;background:#fffafa}
.cmpt td.us b{color:var(--rose-d)}
@media(max-width:600px){
  .cmpt-w{border:0;background:transparent;box-shadow:none}
  .cmpt,.cmpt tbody,.cmpt tr,.cmpt th,.cmpt td{display:block;width:100%}
  .cmpt thead{display:none}
  .cmpt tr{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px;background:#fff}
  .cmpt tbody th{width:100%}
  .cmpt td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;margin-bottom:2px;color:var(--muted)}
}

/* 交通事故：事例カード */
.cases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.case{background:#fff;border:1px solid #d8c9bd;border-radius:6px;overflow:hidden;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column}
.case .ch{background:var(--c3);color:#fff;font-weight:700;letter-spacing:.1em;padding:4px;font-size:15px}
.case .ci{height:74px;display:flex;align-items:center;justify-content:center;color:#e08a5d}
.case .ci svg{height:54px;width:auto}
.case p{border-top:1px dashed #e6c9b5;margin:0 10px;padding:8px 4px 12px;font-weight:700;color:var(--ink);font-size:14.5px;line-height:1.55;flex:1;display:flex;flex-direction:column;justify-content:center}
.case p small{font-size:11px;color:var(--muted);font-weight:500}
.case.sum{border-color:var(--rose);background:var(--rose-p)}
.case.sum p{border-top:0;font-size:13.5px}
.case.sum p b{color:var(--rose-d)}
.case.sum .ci{color:var(--rose)}
@media(max-width:767px){.cases{grid-template-columns:repeat(2,1fr);gap:10px}}

/* 交通事故：保険の説明 */
.jk-sub{display:flex;gap:clamp(14px,2.6vw,26px);align-items:flex-start;margin-bottom:10px}
.jk-sub .ic2{flex:0 0 72px;height:72px;border-radius:50%;background:var(--c0);display:flex;align-items:center;justify-content:center;color:var(--c3);border:1px solid var(--c2)}
.jk-sub .ic2 svg{width:36px;height:36px}
.jk-sub .tx{flex:1;min-width:0}
.jk-sub .tx ol{margin:0 0 12px 1.4em}
.jk-sub .tx li{font-weight:700;color:var(--ink);line-height:1.9}
.note-red{color:var(--rose-d);font-weight:700}
@media(max-width:600px){.jk-sub .ic2{flex-basis:52px;height:52px}.jk-sub .ic2 svg{width:26px;height:26px}}

/* 交通事故：流れ（9ステップ） */
.jflow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jf{display:flex;gap:12px;align-items:center;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:12px 14px;border-left:4px solid var(--c2)}
.jf .n{flex:0 0 auto;font-family:var(--serif);font-weight:700;font-style:italic;color:var(--c3);font-size:28px;line-height:1}
.jf .ph{flex:0 0 84px;border-radius:4px;overflow:hidden}
.jf .ph img{width:84px;height:62px;object-fit:cover}
.jf b{display:block;color:var(--ink);font-size:15px;line-height:1.5}
.jf small{display:block;color:var(--rose-d);font-weight:700;font-size:12.5px;line-height:1.5;margin-top:2px}
@media(max-width:900px){.jflow{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.jflow{grid-template-columns:1fr}}

/* Q&A */
.faq{display:grid;gap:10px;max-width:900px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(124,98,80,.06)}
.faq summary{display:flex;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none;font-weight:700;color:var(--ink);font-size:clamp(15px,1.8vw,16px);line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq .q,.faq .aa{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;color:#fff}
.faq .q{background:var(--c3)}
.faq .aa{background:var(--rose)}
.faq .qt{flex:1}
.faq .pm{flex:0 0 auto;width:14px;height:14px;position:relative}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--c3);transition:transform .2s}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq .a{display:flex;gap:12px;padding:12px 16px 16px;background:var(--c0b);border-top:1px solid var(--line);font-size:15px;line-height:1.95}

/* 文章ページ */
.prose h3{font-size:clamp(17px,2.1vw,19px);font-weight:700;color:var(--ink);margin:26px 0 10px;padding-left:12px;border-left:5px solid var(--c2);line-height:1.5}
.prose ul.dot{margin:0 0 16px;display:grid;gap:6px}
.prose ul.dot li{padding-left:18px;position:relative;font-weight:500}
.prose ul.dot li::before{content:"";position:absolute;left:2px;top:.8em;width:7px;height:7px;border-radius:50%;background:var(--c2)}
.caution{background:var(--rose-p);border:1px solid #f2c2c8;border-radius:var(--r);padding:12px 16px;font-size:14px;line-height:1.85;color:#8c3242;font-weight:500;margin-top:14px}
.pt-box{background:var(--c0b);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}

/* ビフォーアフター */
.bagrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ba{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.ba img{width:100%;height:auto}
.ba .bb{padding:10px 14px 14px}
.ba .per{display:inline-block;background:var(--rose);color:#fff;font-weight:700;font-size:12.5px;padding:1px 10px;border-radius:3px;margin-right:6px}
.ba .who{font-weight:700;color:var(--ink);font-size:14px}
.ba ul{margin-top:6px;display:grid;gap:2px;font-size:13.5px;font-weight:500}
.ba ul b{color:var(--rose-d)}
.ba .ds{font-size:11px;color:var(--muted);margin-top:6px}
@media(max-width:600px){.bagrid{grid-template-columns:1fr}}

/* 発毛：パターン・ポイント・安心の数字 */
.pattern{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pattern .pi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px;box-shadow:0 2px 8px rgba(124,98,80,.06)}
.pattern h4{font-size:16.5px;font-weight:700;color:var(--c3d);margin-bottom:6px;padding-bottom:6px;border-bottom:1px dashed var(--c1)}
.pattern p{font-size:14px;line-height:1.9}
@media(max-width:600px){.pattern{grid-template-columns:1fr}}
.points{display:grid;gap:12px;max-width:760px;margin:0 auto}
.points li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px;font-weight:700;color:var(--ink);font-size:clamp(15px,1.9vw,17px);line-height:1.6;box-shadow:0 2px 8px rgba(124,98,80,.06)}
.points li b{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px}
.points li small{display:block;font-size:13.5px;font-weight:500;color:var(--body)}
.anshin{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.anshin div{background:#fff;border:2px solid var(--c1);border-radius:10px;text-align:center;padding:16px 8px;box-shadow:0 2px 8px rgba(124,98,80,.06)}
.anshin b{display:block;font-family:var(--serif);font-size:clamp(22px,3vw,30px);color:var(--rose-d);line-height:1.2}
.anshin span{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-top:6px;line-height:1.5}
@media(max-width:767px){.anshin{grid-template-columns:repeat(2,1fr)}}
.recs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}
.recs figure{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(124,98,80,.1)}
.recs figcaption{font-size:12px;font-weight:700;text-align:center;padding:4px;color:var(--ink)}
@media(max-width:767px){.recs{grid-template-columns:repeat(3,1fr)}}
.hakase{display:flex;gap:24px;align-items:center}
.hakase .ph{flex:0 0 32%}
.hakase .ph img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}
.hakase .tx{flex:1}
.hakase .ttl{font-weight:700;color:var(--c3d);font-size:14px}
.hakase .nm{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--ink);margin:4px 0 10px}
@media(max-width:767px){.hakase{flex-direction:column}.hakase .ph{width:70%}}
.cta-inline{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}

/* 料金表 */
.pcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pcard{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;box-shadow:var(--shadow)}
.pcard .pi{flex:0 0 38%;border-radius:4px;overflow:hidden}
.pcard .pi img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.pcard .pb{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.pcard h3{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--c3d)}
.pcard .pr{font-size:14px;font-weight:700;color:var(--ink);line-height:1.6}
.pcard .pr s{color:var(--muted);font-weight:500}
.pcard .pr b{color:var(--rose-d);font-size:22px;font-family:var(--serif)}
.pcard .pn{font-size:12.5px;color:var(--muted);line-height:1.7}
.pcard .more{align-self:flex-end;margin-top:auto;background:var(--c2);color:#fff;font-size:12px;padding:3px 14px;border-radius:3px}
@media(max-width:767px){.pcards{grid-template-columns:1fr}}
.price-notes{display:grid;gap:6px;font-size:14px}

/* お客様の声ページ */
.vlist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.vlist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.vlist{grid-template-columns:1fr}}

/* フォーム */
.cform{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(18px,3.6vw,32px);box-shadow:var(--shadow)}
.cform .row2{margin-bottom:18px}
.cform .lb{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);margin-bottom:6px;font-size:15px}
.cform .req{background:var(--rose);color:#fff;font-size:11px;padding:1px 8px;border-radius:3px}
.cform .opt{background:#a59a92;color:#fff;font-size:11px;padding:1px 8px;border-radius:3px}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform input[type=date],.cform select,.cform textarea{width:100%;font-family:var(--sans);font-size:16px;padding:12px 14px;border:1px solid #d9cec6;border-radius:6px;background:#fffdfb;color:var(--ink)}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--c3);box-shadow:0 0 0 3px rgba(164,134,112,.2)}
.cform textarea{min-height:130px;resize:vertical}
.cform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cform .hint{font-size:12px;color:var(--muted);margin-top:4px}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .agree{font-size:13px;margin:6px 0 16px}
.cform .agree a{color:var(--c3d);font-weight:700;text-decoration:underline}
.cform button{width:100%;border:0;cursor:pointer;background:var(--rose);color:#fff;font-weight:700;font-size:17px;padding:16px;border-radius:8px;box-shadow:0 3px 0 #c9505f;font-family:var(--sans)}
.cform .msg{display:none;margin-top:14px;padding:12px 14px;border-radius:6px;font-weight:700;font-size:14px}
.cform .msg.err{display:block;background:#fff5f5;color:#9b1c2c;border:1px solid #f0b7bf}
@media(max-width:520px){.cform .two{grid-template-columns:1fr}}
.ctel{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:0 auto}
.ctel h3{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;text-align:center}
@media(max-width:600px){.ctel{grid-template-columns:1fr}}

/* お知らせ・記事 */
.news-list{display:grid;gap:10px;max-width:760px;margin:0 auto}
.news-list a{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;font-weight:500;color:var(--ink)}
.news-list time{flex:0 0 auto;font-size:12.5px;color:var(--c3)}
.article{max-width:820px;margin:0 auto}
.article .date{font-size:13px;color:var(--c3);font-weight:700;margin-bottom:10px}
.article figure{margin:16px 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.article figcaption{font-size:12.5px;padding:6px 12px;background:#fff}
.page-ttl{background:linear-gradient(180deg,var(--c0),#fff);padding:clamp(26px,4vw,44px) 20px;text-align:center}
.page-ttl h2{font-family:var(--serif);font-weight:600;font-size:clamp(22px,3vw,30px);color:var(--ink);letter-spacing:.1em}
.page-ttl p{margin-top:6px;font-size:14px;color:var(--body)}

/* ---------- フッター ---------- */
.ft{background:#fff;border-top:1px solid var(--line);margin-top:0}
.ft-in{max-width:1140px;margin:0 auto;padding:44px 20px 26px;display:grid;grid-template-columns:1fr 1fr 2fr;gap:30px}
.fh{font-weight:700;color:var(--ink);font-size:14.5px;margin-bottom:8px;letter-spacing:.08em}
.fcol ul{border-left:2px solid #ece6e1;padding-left:12px;display:grid;gap:3px}
.fcol a{font-size:13.5px;color:var(--body)}
.fcol a:hover{color:var(--c3d);text-decoration:underline}
.finfo .logo{margin-bottom:10px}
.finfo ul{display:grid;gap:4px;font-size:13.5px;color:var(--ink)}
.ft .cp{background:var(--c1);color:#fff;text-align:center;font-size:12px;padding:12px 16px;letter-spacing:.05em}
@media(max-width:991px){.ft-in{grid-template-columns:1fr 1fr}.finfo{grid-column:1/-1}}
@media(max-width:520px){.ft-in{grid-template-columns:1fr;gap:22px}}

/* ---------- SP画面下のLINEバナー ---------- */
.spbnr{display:none}
@media(max-width:767px){
  .spbnr{display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;box-shadow:0 -2px 10px rgba(0,0,0,.12);background:#fff}
  .spbnr img{width:100%;height:auto}
  body{padding-bottom:calc(100vw * 0.24)}
}

/* フェードイン */
.fade{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.fade.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}
.of-ba{display:grid;grid-template-columns:1fr 1fr;height:100%}
.of-ba figure{position:relative;overflow:hidden}
.of-ba img{width:100%;height:100%;object-fit:cover}
.of-ba figcaption{position:absolute;left:0;right:0;bottom:0;text-align:center;background:rgba(58,48,42,.55);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;padding:2px}
.mcard .mi.ct img,.pcard .pi.ct img{object-fit:contain;background:var(--c0)}
.recs img{width:auto;max-width:100%;margin:0 auto}

/* ---------- v1 調整（ローカル撮影で見つけた崩れ） ---------- */
.logo .nm{white-space:nowrap;font-size:clamp(19px,1.95vw,24px)}
.hd-in{grid-template-columns:1.2fr 1.3fr .85fr}
.rb span,.rb span b{white-space:nowrap}
@media(max-width:991px){
  .sph{padding:0 4px 0 10px}
  .sph .logo-sp .nm{font-size:clamp(12.5px,3.6vw,15px);letter-spacing:0}
  .sph-rsv{font-size:clamp(11px,3.1vw,12.5px);padding:0 6px;gap:3px}
  .sph-menu{width:44px;margin-left:2px}
}
@media(max-width:360px){.sph-rsv .ic{display:none}}
@media(max-width:600px){
  .rsv{padding:22px 12px}
  .rb{padding:12px 12px;gap:8px}
  .rb .ic{width:24px;height:24px}
  .rb span{font-size:13px}
  .rb span b{font-size:17.5px}
  .rsv-rib span{font-size:13px;padding:7px 14px;border-radius:4px;white-space:normal;line-height:1.6}
  .rsv-rib span::before,.rsv-rib span::after{display:none}
}
.bk-g>*{min-width:0}
.book .bi{flex:1;min-width:0}
/* グリッドの列が中身の最小幅で広がらないように（SPのはみ出し防止） */
.flow{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mcards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:767px){.mcards{grid-template-columns:minmax(0,1fr)}}
.gal{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:767px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cases{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:767px){.cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vb-ph{grid-template-columns:repeat(3,minmax(0,1fr))}
.fl,.case,.pv,.mcard,.gal figure,.reason,.ba,.pcard{min-width:0}
/* 料金表の小見出し（元サイトの下線つき見出し） */
.h2u{font-size:clamp(18px,2.2vw,21px);font-weight:700;color:var(--ink);border-bottom:2px solid var(--c1);padding:0 0 8px;margin:6px 0 22px;letter-spacing:.06em}
.pcard h3 small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px;letter-spacing:0}
.cbtn{max-width:560px;margin:0 auto 10px}
.lead small{font-size:13px;color:var(--muted)}
@media(max-width:600px){
  .of-h{font-size:19px;letter-spacing:.05em;padding:9px 10px}
  .of-b{flex-direction:column}
  .of-p{flex:0 0 auto;height:170px}
  .offer .now b{font-size:54px}
  .pcard h3{font-size:17px}
}

/* =====================================================================
   v2（改善ループ2周目・Codexレビューの指摘への対応）
   ===================================================================== */
/* ---------- S10/D04：固定LINEバナーは元サイトにあったページだけ。余白はバナーの直前の空き要素で確保（body の余白はやめた） */
.spbnr-sp{display:none}
@media(max-width:767px){
  body{padding-bottom:0}
  .spbnr-sp{display:block;height:calc(100vw * .225)}
}

/* ---------- S03/S04：院の YouTube の動画 */
.yt{position:relative;width:100%;max-width:640px;margin:12px auto 10px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;box-shadow:var(--shadow)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tvoice.has-yt .yt{margin-left:0}
.atopy-v{margin-top:28px;background:var(--c0b);border:1px solid var(--line);border-radius:10px;padding:clamp(16px,3vw,26px)}
.atopy-v .av-h{text-align:center;font-family:var(--serif);font-weight:700;color:var(--rose-d);font-size:clamp(19px,2.6vw,24px);letter-spacing:.06em}
.atopy-v .av-s{text-align:center;font-weight:700;color:var(--ink);font-size:clamp(14.5px,1.8vw,16px);margin-top:4px}
.atopy-v .av-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.atopy-v .av-g .yt{margin:0}
@media(max-width:600px){.atopy-v .av-g{grid-template-columns:minmax(0,1fr)}}

/* ---------- S02：写真のないお客様の声 */
.pv.pv-noimg{background:#fff;border:1px solid var(--line)}
.pv-noimg .pv-q{font-family:var(--serif);font-size:64px;line-height:1;color:var(--c1);text-align:center;padding:18px 0 0;height:74px;background:linear-gradient(180deg,var(--c0b),#fff)}
.pv-noimg p{font-size:15.5px;font-weight:500;color:var(--ink)}

/* ---------- S12・D14：よくある質問 */
.qa-more{max-width:900px;margin:18px auto 0;font-size:14px;color:var(--body);text-align:center}
.qa-more a{color:var(--c3d);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
  .faq summary{gap:8px;padding:12px 10px;font-size:15px}
  .faq .q,.faq .aa{width:24px;height:24px;font-size:13px}
  .faq .pm{width:11px;height:11px}
  .faq .pm::before,.faq .pm::after{top:4.5px}
  .faq .a{gap:8px;padding:10px 10px 14px;font-size:14.5px;line-height:1.9}
  .sc .wrap.narrow .faq{margin-left:-6px;margin-right:-6px}
}

/* ---------- D05：初回料金のカード（料金を主役に） */
.offer{max-width:860px}
.of-b{display:grid;grid-template-columns:minmax(0,1fr) 30%;align-items:stretch}
.of-t{padding:clamp(16px,2.6vw,24px) clamp(16px,3vw,28px) clamp(10px,2vw,16px)}
.of-p{position:relative;overflow:hidden;min-height:150px}
.of-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.of-b-ba{grid-template-columns:minmax(0,1fr) 46%}
.of-bafig{margin:14px clamp(14px,2.4vw,22px) 12px 0;align-self:center}
.of-bafig img{width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px rgba(124,98,80,.15)}
.of-bafig figcaption{font-size:13px;font-weight:700;color:var(--ink);text-align:center;margin-top:6px;line-height:1.5}
.of-bafig figcaption small{display:block;font-size:10.5px;font-weight:500;color:var(--muted)}
.of-pr{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px clamp(12px,2.4vw,26px);padding:clamp(14px,2.4vw,20px) 16px clamp(16px,2.6vw,22px);background:linear-gradient(180deg,#fff 0,var(--rose-p) 100%);border-top:1px dashed #f0c7cc}
.of-pr .was{margin:0;font-weight:700;color:var(--ink);font-size:clamp(16px,2.1vw,20px);white-space:nowrap}
.of-pr .was .lb{display:inline-block;background:#6d6058;color:#fff;font-size:12.5px;padding:2px 9px;border-radius:3px;margin-right:8px;vertical-align:3px}
.of-pr .was s{font-size:1.25em;text-decoration-thickness:2px;text-decoration-color:var(--rose-d);margin-right:2px}
.of-pr .was .nk{font-size:.85em}
.of-pr .arw{width:0;height:0;border-style:solid;border-width:13px 0 13px 17px;border-color:transparent transparent transparent var(--rose)}
.of-pr .now{display:flex;align-items:flex-end;gap:6px;margin:0}
.of-pr .now b{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--rose-d);font-size:clamp(66px,10.5vw,108px);line-height:.86;letter-spacing:0}
.of-pr .now .yen{font-weight:700;color:var(--rose-d);font-size:clamp(24px,3.4vw,34px);line-height:1.1;padding-bottom:4px}
.of-pr .now .yen small{display:block;font-size:12.5px;color:var(--muted);font-weight:500}
.of-pr .now .lim{align-self:center;flex:0 0 auto;width:74px;height:74px;margin-left:10px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:15.5px;line-height:1.25;box-shadow:0 3px 0 #c9505f}
@media(max-width:600px){
  .of-b,.of-b-ba{grid-template-columns:minmax(0,1fr)}
  .of-p{min-height:0;height:160px}
  .of-bafig{margin:0 14px 12px}
  .of-pr{flex-direction:column;gap:4px}
  .of-pr .arw{transform:rotate(90deg);border-width:10px 0 10px 13px}
  .of-pr .now b{font-size:clamp(60px,18vw,78px)}
  .of-pr .now .lim{width:62px;height:62px;font-size:14px;margin-left:6px}
}

/* ---------- D06：料金表のメニュー別カード */
.pcard.v2 .pr{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.pcard.v2 .pw{font-size:13.5px;font-weight:500;color:var(--muted)}
.pcard.v2 .pw s{margin-left:6px;color:var(--muted)}
.pcard.v2 .pnow{font-size:15px;font-weight:700;color:var(--rose-d);line-height:1.2}
.pcard.v2 .pnow .nl{display:inline-block;font-size:12.5px;background:var(--rose-p);border:1px solid #f2bcc3;color:var(--rose-d);border-radius:3px;padding:1px 8px;margin-right:8px;vertical-align:6px}
.pcard.v2 .pnow b{font-family:"Noto Serif JP",serif;font-size:30px;font-weight:700;letter-spacing:0;margin-right:2px}
.pcard.v2 .pnow small{font-size:11.5px;color:var(--muted);font-weight:500;margin-left:2px}
.pcard.v2 .more{align-self:stretch;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:var(--c3d);color:#fff;font-size:14.5px;font-weight:700;letter-spacing:.06em;padding:8px 14px;border-radius:5px;box-shadow:0 2px 0 #5e4a3d}
.pcard.v2 .more:hover{background:#6c5445}
@media(max-width:480px){.pcard.v2{flex-direction:column}.pcard.v2 .pi{flex:0 0 auto}.pcard.v2 .pi img{aspect-ratio:16/9}}

/* ---------- D07：他店と当店の違い */
.cmp.v2{gap:16px;max-width:900px}
.cmp.v2 .cmp-i{display:grid;grid-template-columns:132px minmax(0,1fr) minmax(0,1.45fr);background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.cmp.v2 .cmp-k{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0;padding:14px 8px;background:var(--c0)}
.cmp.v2 .cmp-k::before,.cmp.v2 .cmp-k::after{content:none}
.cmp.v2 .ki{width:54px;height:54px;border-radius:50%;background:#fff;color:var(--c3d);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(124,98,80,.15)}
.cmp.v2 .ki svg{width:34px;height:34px}
.cmp.v2 .kt{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:15.5px;letter-spacing:.06em;text-align:center;line-height:1.35}
.cmp.v2 .cmp-o,.cmp.v2 .cmp-u{min-height:0;padding:14px 18px;border-radius:0;border:0;display:flex;flex-direction:column;justify-content:center}
.cmp.v2 .cmp-o{background:#f8f6f4;color:#7a716b}
.cmp.v2 .cmp-u{background:var(--rose-p);color:var(--ink);border-left:4px solid var(--rose)}
.cmp.v2 .lb{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:12px;font-weight:700;color:#fff;border-radius:3px;padding:1px 9px 1px 7px;margin-bottom:6px}
.cmp.v2 .lb svg{width:12px;height:12px}
.cmp.v2 .cmp-o .lb{background:#a79d96}
.cmp.v2 .cmp-u .lb{background:var(--rose)}
.cmp.v2 .cmp-o p{font-size:13.5px;font-weight:500;line-height:1.7}
.cmp.v2 .cmp-u p{font-size:clamp(16px,1.9vw,18px);font-weight:700;line-height:1.65}
.cmp.v2 .cmp-u p b{color:var(--rose-d)}
@media(max-width:700px){
  .cmp.v2 .cmp-i{grid-template-columns:minmax(0,1fr)}
  .cmp.v2 .cmp-k{flex-direction:row;justify-content:flex-start;padding:10px 14px;gap:10px}
  .cmp.v2 .ki{width:40px;height:40px}.cmp.v2 .ki svg{width:26px;height:26px}
  .cmp.v2 .kt{font-size:16px}
  .cmp.v2 .cmp-o{padding:10px 14px}
  .cmp.v2 .cmp-u{padding:12px 14px;border-left:0;border-top:3px solid var(--rose)}
}

/* ---------- D10：雑誌・書籍の掲載実績 */
.books.v2{max-width:900px;background:linear-gradient(180deg,#fff,var(--c0b));border:1px solid var(--line)}
.books.v2 .bk-h{font-size:clamp(20px,3vw,30px)}
.books.v2 .bk-g{gap:18px;margin-top:22px}
.books.v2 .book{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c3);border-radius:8px;padding:18px 18px 16px;box-shadow:0 2px 10px rgba(124,98,80,.08)}
.books.v2 .bk-ic{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--c0);color:var(--c3d);display:flex;align-items:center;justify-content:center}
.books.v2 .bk-ic svg{width:34px;height:34px}
.books.v2 .bk-lb{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--rose);border-radius:3px;padding:0 9px;letter-spacing:.1em}
.books.v2 .bt{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(17px,2vw,20px);line-height:1.6;margin-top:6px}
.books.v2 .bs{font-size:14px;color:var(--body);margin-top:6px;line-height:1.8}

/* ---------- D11：施術の流れ（PCは3列・番号と工程名を大きく・順番の矢印） */
.flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 30px}
.fl .no{top:-12px;left:-10px;width:auto;height:auto;min-width:54px;padding:5px 10px 4px;border-radius:26px;background:var(--c3);flex-direction:column;line-height:1;font-size:20px;letter-spacing:.02em}
.fl .no small{font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.14em;margin-bottom:2px;opacity:.9}
.fl h3{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--c3d);padding:12px 16px 4px}
.fl p{font-size:14.5px;line-height:1.9;padding:0 16px}
.fl:not(:nth-child(4n))::after{content:none}
.fl:not(:nth-child(3n)):not(:last-child)::after{content:"";position:absolute;right:-22px;top:26%;border-style:solid;border-width:9px 0 9px 12px;border-color:transparent transparent transparent var(--c2)}
@media(max-width:900px){
  .flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .fl::after,.fl:not(:nth-child(3n)):not(:last-child)::after{content:none}
  .fl .no{min-width:44px;font-size:16px;padding:4px 8px 3px}
  .fl h3{font-size:15.5px;padding:10px 12px 2px}
  .fl p{font-size:13.5px;padding:0 12px}
}
@media(max-width:420px){.fl h3{font-size:14.5px}.fl p{font-size:12.5px}}

/* ---------- S09：JOYトレのお喜びの声の帯 */
.jband{max-width:860px;margin:0 auto;background:#fff;border:2px solid var(--c2);border-radius:12px;padding:clamp(18px,3vw,30px);box-shadow:var(--shadow);text-align:center}
.jb-h{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(19px,3vw,28px);line-height:1.6;letter-spacing:.04em}
.jb-h b{color:#fff;background:var(--rose);padding:0 .3em;margin:0 .1em;border-radius:3px}
.jb-g{margin-top:10px;font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(18px,2.6vw,24px)}
.jb-g .gg{color:var(--c3d);border-bottom:2px solid var(--c1)}
.jb-g em{font-style:normal;color:var(--rose-d);font-size:1.3em}
.jb-ph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.jb-ph figure{border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(124,98,80,.14)}
.jb-ph img{width:100%;aspect-ratio:530/429;object-fit:cover}
@media(max-width:480px){.jb-ph{gap:6px}}

/* ---------- D03：交通事故の事例の図 */
.case.v2 .cfig{padding:12px 10px 6px;background:linear-gradient(180deg,#fff,var(--c0b))}
.case.v2 .cfig svg{width:100%;height:auto;max-height:84px;display:block}
.case.v2.sum .ci{height:auto;padding:16px 0 4px}
.chatlp{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;background:#fff;border:1px dashed var(--c2);border-radius:8px;padding:12px 16px;font-size:14.5px;color:var(--ink);text-align:center}
.chatlp a{display:inline-flex;align-items:center;gap:4px;background:var(--c3);color:#fff;font-weight:700;font-size:14px;padding:8px 16px;border-radius:5px;min-height:40px}
.sc.sc-chatlp{padding-top:0}

/* ---------- S05・S06・D08：発毛 */
.hvcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hvc{background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column}
.hvc .hv-ph img{width:100%;height:auto}
.hvc .hv-q{position:relative;margin:14px 16px 4px;padding:12px 16px;background:var(--rose-p);border-radius:8px;font-family:var(--serif);font-weight:700;color:var(--rose-d);font-size:clamp(17px,2vw,20px);line-height:1.6;text-align:center}
.hvc .hv-q::before{content:"";position:absolute;left:50%;top:-9px;margin-left:-9px;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--rose-p)}
.hvc .hv-ba{margin:10px 16px 0}
.hvc .hv-ba img{width:100%;height:auto;border-radius:4px}
.hvc .hv-m{margin:8px 16px 0}
.hvc .per{display:inline-block;background:var(--rose);color:#fff;font-weight:700;font-size:12.5px;padding:1px 10px;border-radius:3px;margin-right:6px}
.hvc .who{font-weight:700;color:var(--ink);font-size:14px}
.hvc .ds{font-size:11px;color:var(--muted);margin:4px 16px 14px}
@media(max-width:700px){.hvcs{grid-template-columns:minmax(0,1fr)}}
.hstory{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(16px,2.6vw,24px);box-shadow:0 2px 8px rgba(124,98,80,.06)}
.hs-h{font-weight:700;color:var(--ink);text-align:center;font-size:clamp(15px,1.9vw,17px);margin-bottom:14px}
.hstory ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:hs}
.hstory li{position:relative;background:var(--c0b);border-radius:8px;padding:12px 12px 14px;text-align:center}
.hstory li:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;margin-top:-8px;border-style:solid;border-width:8px 0 8px 11px;border-color:transparent transparent transparent var(--c2)}
.hstory li b{display:block;font-family:var(--serif);color:var(--c3d);font-size:16px;margin-bottom:4px}
.hstory li:last-child{background:var(--rose-p)}
.hstory li:last-child b{color:var(--rose-d)}
.hstory li span{font-size:13.5px;line-height:1.75;color:var(--body)}
@media(max-width:767px){.hstory ol{grid-template-columns:minmax(0,1fr);gap:16px}.hstory li:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-14px;margin:0 0 0 -8px;border-width:11px 8px 0;border-color:var(--c2) transparent transparent}}
.hfirst{max-width:820px;margin:0 auto 8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(16px,2.6vw,24px);box-shadow:var(--shadow)}
.hf-h{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(18px,2.2vw,21px);text-align:center;margin-bottom:12px}
.hfirst ol{display:grid;gap:10px}
.hfirst li{display:grid;grid-template-columns:40px 11em minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:8px;background:var(--c0b)}
.hfirst li .n{width:36px;height:36px;border-radius:50%;background:var(--c3);color:#fff;font-family:var(--serif);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center}
.hfirst li b{color:var(--c3d);font-size:15.5px}
.hfirst li .t{font-size:14.5px;line-height:1.75}
@media(max-width:600px){.hfirst li{grid-template-columns:36px minmax(0,1fr);row-gap:2px}.hfirst li .t{grid-column:2}}
.pat-note{font-size:13px;color:var(--muted);text-align:center;margin:-8px 0 14px}
.pattern .pi.v2{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start}
.pattern .pfig{background:var(--c0b);border-radius:8px;padding:6px}
.pattern .pfig svg{width:100%;height:auto;display:block}

/* ---------- D01・D12：トップのその他対応メニュー／お気軽にご相談ください */
.other.v2{align-items:stretch}
.taiou{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);height:100%}
.ta-h{background:var(--c3);color:#fff;text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(19px,2.4vw,24px);letter-spacing:.12em;padding:10px}
.ta-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.ta-c{background:var(--c0b);border:1px solid #eee4dc;border-radius:8px;padding:10px 6px 10px;text-align:center}
.ta-f{width:78px;height:78px;margin:0 auto;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(124,98,80,.12)}
.ta-f svg{width:62px;height:62px}
.ta-c p{margin-top:6px;font-weight:700;color:var(--ink);font-size:15px;letter-spacing:.04em;white-space:nowrap}
.okg{display:flex;align-items:center;gap:14px;width:100%;max-width:500px}
.okg-b{position:relative;flex:1;background:#fff;border:2px solid var(--c1);border-radius:14px;padding:18px 18px;box-shadow:var(--shadow)}
.okg-b::after{content:"";position:absolute;right:-13px;top:50%;margin-top:-10px;border-style:solid;border-width:10px 0 10px 13px;border-color:transparent transparent transparent var(--c1)}
.okg-b .o1{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(16px,2vw,19px);line-height:1.6}
.okg-b .o2{font-family:var(--serif);font-weight:700;color:var(--rose-d);font-size:clamp(20px,2.6vw,25px);line-height:1.5;margin-top:4px}
.okg-ph{flex:0 0 132px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:var(--shadow)}
.okg-ph img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
@media(max-width:480px){.ta-g{grid-template-columns:repeat(2,minmax(0,1fr))}.okg-ph{flex-basis:96px}.okg-b{padding:14px}}
/* v2 仕上げ（ローカル撮影で見つけた点） */
.other.v2 .r{align-content:center}
.ta-f{width:92px;height:92px}.ta-f svg{width:78px;height:78px}
.case.v2 .ch{margin:0;flex:0 0 auto;border-top:0;padding:5px 4px;display:block}
.case.v2 .cfig{border-bottom:1px dashed #e6c9b5;margin:0 10px;padding:12px 0 8px;background:none}
.case.v2 p:not(.ch){display:block;flex:0 0 auto;border-top:0;margin:auto 10px;padding:10px 4px 12px}
.case.v2 p small{display:block}
.case.v2.sum p{margin:auto 10px}
.hstory ol,.hfirst ol{list-style:none;padding:0;margin:0}
.hfirst li{grid-template-columns:40px 12.5em minmax(0,1fr)}
@media(max-width:600px){.hfirst li{grid-template-columns:36px minmax(0,1fr)}}
.pattern .pi.v2{grid-template-columns:108px minmax(0,1fr)}
@media(max-width:600px){.pattern .pi.v2{grid-template-columns:88px minmax(0,1fr)}}
@media(max-width:600px){.faq summary{gap:7px;padding:12px 8px}.faq .a{padding:10px 8px 14px}}

/* =====================================================================
   v3（改善ループ3周目・2026-09-29）Codexレビュー v2（構成6件・デザイン6件）への対応
   ===================================================================== */

/* ---------- S03：スマホ・タブレットの固定ヘッダー（60px）の下に、メニューから飛んだ先の見出しが隠れないように */
@media(max-width:991px){.sc[id]{scroll-margin-top:60px}}

/* ---------- S02：発毛「髪のボリュームが気になる方へ」＝導入 → 悩み → ランキング → 原因 → ボリュームUPの事例 → 他社との違い */
.hnayami{margin:30px auto 4px;max-width:760px;text-align:center}
.hn-b{position:relative;display:inline-block;background:var(--rose-p);border:1.5px solid #f2c2c8;border-radius:40px;padding:14px 30px;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(17px,2.2vw,21px);line-height:1.6}
.hn-b::after{content:"";position:absolute;left:50%;bottom:-11px;margin-left:-10px;border-style:solid;border-width:11px 10px 0;border-color:#f2c2c8 transparent transparent}
.hn-b::before{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border-style:solid;border-width:9px 8px 0;border-color:var(--rose-p) transparent transparent;z-index:1}
.hn-m{margin-top:24px;font-family:var(--serif);font-weight:700;color:var(--rose-d);font-size:clamp(19px,2.8vw,27px);line-height:1.6;letter-spacing:.04em}
.hvup2{margin:30px auto 8px;max-width:720px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:clamp(18px,3vw,28px);text-align:center}
.hu-s{display:inline-block;background:var(--c3);color:#fff;font-weight:700;font-size:14px;letter-spacing:.12em;padding:2px 16px;border-radius:20px}
.hu-h{margin-top:10px;font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(21px,3vw,30px);line-height:1.5}
.hu-h em{font-style:normal;color:var(--rose-d);background:linear-gradient(transparent 68%,#fde2e5 68%)}
.hu-ph{margin:16px auto 0;max-width:624px}
.hu-ph img{width:100%;height:auto;border-radius:8px}
.hu-m{margin-top:10px}
.hu-m .who{font-weight:700;color:var(--ink);font-size:14px}
.hvup2 .ds{font-size:11.5px;color:var(--muted);margin-top:4px}
.bagrid .ba:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
@media(max-width:600px){.bagrid .ba:last-child:nth-child(odd){width:100%}.hn-b{border-radius:18px;padding:12px 18px}}

/* ---------- S04：腰痛・頭痛「アフターケア、トレーニング」の体型のお悩み（具体例） */
.tx .shape{background:var(--c0b);border:1px solid var(--line);border-radius:10px;padding:14px 16px 12px;margin:0 0 16px}
.tx .shape .sh-h{font-weight:700;color:var(--ink);font-size:15px;line-height:1.6;margin:0 0 8px}
.tx .shape .sh-h b{color:var(--rose-d)}
.tx .shape ul{display:flex;flex-wrap:wrap;gap:6px}
.tx .shape li{background:#fff;border:1px solid #ead9cd;border-radius:20px;padding:1px 12px;font-size:13.5px;font-weight:500;color:var(--c3d);white-space:nowrap;line-height:1.8}
.tx .shape .sh-m{margin:10px 0 0;font-weight:700;color:var(--ink);font-size:15px;line-height:1.7}

/* ---------- D05：症状ページ「気になる○○をそのままにしていると…」＝①見出し ②注意事項 ③施術案内 の3段 */
.riskbox.v3{background:none;border:0;box-shadow:none;padding:0;max-width:880px;margin:34px auto 0;text-align:center}
.rk-s1{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);background:linear-gradient(90deg,#efe6df,var(--c0) 50%,#efe6df);border-radius:12px 12px 0 0;padding:clamp(18px,3vw,26px) clamp(14px,3vw,28px);border-bottom:3px solid var(--c3)}
.rk-ic{flex:0 0 auto;width:clamp(48px,6vw,62px);height:clamp(48px,6vw,62px);border-radius:50%;background:#fff;color:var(--rose-d);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(124,98,80,.15)}
.rk-ic svg{width:60%;height:60%}
.riskbox.v3 .rk-h{text-align:left;font-size:clamp(22px,3.4vw,34px);line-height:1.45;letter-spacing:.05em}
.riskbox.v3 .rk-h b{font-size:1.18em}
.rk-s2{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:clamp(16px,2.6vw,24px) clamp(16px,4vw,48px) clamp(18px,3vw,26px);box-shadow:var(--shadow)}
.riskbox.v3 .rk-l{max-width:none;margin:0;gap:12px}
.riskbox.v3 .rk-l li{align-items:center;font-size:clamp(16px,2.1vw,19.5px);border-bottom:1px dashed #eadfd6;padding-bottom:12px;gap:14px}
.riskbox.v3 .rk-l li:last-child{border-bottom:0;padding-bottom:0}
.riskbox.v3 .rk-l .x{width:30px;height:30px;border-radius:50%;background:var(--rose);color:#fff;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.riskbox.v3 .rk-l b{color:var(--rose-d)}
.riskbox.v3 .rk-ar{margin:16px auto 14px;border-left:56px solid transparent;border-right:56px solid transparent;border-top:28px solid var(--c1)}
.rk-s3{background:linear-gradient(180deg,var(--rose-p),#fff 85%);border:2px solid #f2c2c8;border-radius:12px;padding:clamp(20px,3vw,30px) clamp(14px,3vw,30px) clamp(22px,3.4vw,34px);box-shadow:0 8px 22px rgba(212,79,99,.10)}
.riskbox.v3 .rk-safe span{display:inline-flex;align-items:center;gap:8px;border-radius:40px;padding:6px 26px 6px 18px;background:var(--c3)}
.riskbox.v3 .rk-safe svg{width:1.1em;height:1.1em}
.riskbox.v3 .rk-m{margin-top:16px;font-weight:700;font-size:clamp(19px,2.9vw,29px);line-height:1.65}
.riskbox.v3 .rk-m b{font-size:1.5em;color:var(--rose-d);background:linear-gradient(transparent 64%,var(--mk) 64%);padding:0 .08em}
@media(max-width:600px){
  .rk-s1{flex-direction:column}
  .riskbox.v3 .rk-h{text-align:center}
  .riskbox.v3 .rk-l li{align-items:flex-start}
  .riskbox.v3 .rk-l .x{width:26px;height:26px;font-size:15px;margin-top:2px}
}

/* ---------- D01・D03：施術の流れの図解（写真の無い工程）／交通事故の流れ（同じ部品） */
.fl .ph.illu{aspect-ratio:3/2;background:linear-gradient(150deg,#f7f0ea 0%,#fbf8f5 55%,#f3ebe4 100%);display:flex;align-items:center;justify-content:center}
.fl .ph.illu svg{width:88%;height:auto;max-height:92%;display:block}
.flow.jk .fl p{color:var(--rose-d);font-weight:700;font-size:14px;line-height:1.7}

/* ---------- D04：JOYトレ「効果が期待できる理由」（独自の断面図） */
.jdg{margin:30px auto 0;max-width:880px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:clamp(18px,3vw,30px) clamp(14px,3vw,30px)}
.jdg-h{text-align:center;font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(21px,3vw,28px);letter-spacing:.08em;line-height:1.5}
.jdg-h small{display:inline-block;margin-left:10px;vertical-align:4px;font-family:var(--sans);font-size:12.5px;font-weight:700;color:#fff;background:var(--c2d);padding:1px 10px;border-radius:3px;letter-spacing:.1em}
.jd-fig{margin-top:18px}
.jd-grid{display:grid;grid-template-columns:minmax(92px,20%) repeat(3,minmax(0,1fr));grid-template-rows:auto 42px 58px 96px 96px}
.jd-hd{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 4px 8px;font-weight:700;font-size:clamp(13px,1.7vw,15.5px);color:var(--c3d);line-height:1.35}
.jd-hd small{display:block;font-size:.8em;font-weight:500}
.jd-hd.joy{color:var(--rose-d)}
.jd-lb{grid-column:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 10px 0 0;text-align:right;font-weight:700;font-size:clamp(12.5px,1.6vw,14.5px);color:var(--ink);line-height:1.3}
.jd-lb small{font-weight:500;color:var(--muted);font-size:.86em;margin-top:2px}
.jd-ly{grid-column:2/5}
.jd-lb.skin,.jd-ly.skin{grid-row:2}.jd-lb.fat,.jd-ly.fat{grid-row:3}.jd-lb.out,.jd-ly.out{grid-row:4}.jd-lb.in,.jd-ly.in{grid-row:5}
.jd-ly.skin{background:#f6dccb;border-radius:8px 8px 0 0}
.jd-ly.fat{background:#fbf1dc}
.jd-ly.out{background:repeating-linear-gradient(172deg,#f1cdc3 0 9px,#ecc1b7 9px 18px)}
.jd-ly.in{background:repeating-linear-gradient(172deg,#dea39d 0 9px,#d6978f 9px 18px);border-radius:0 0 8px 8px}
.jd-ar{grid-row:2/6;position:relative;z-index:2}
.jd-ar.low{grid-column:2}.jd-ar.joy{grid-column:3}.jd-ar.hf{grid-column:4}
.jd-ar i{position:absolute;left:50%;top:6px;transform:translateX(-50%)}
.jd-ar i::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border-style:solid}
.jd-ar.low i{width:16px;height:118px;background:linear-gradient(#fff,#c2ad9e);border-radius:3px}
.jd-ar.low i::after{border-width:16px 15px 0;border-color:#c2ad9e transparent transparent}
.jd-ar .zz{position:absolute;left:calc(50% + 14px);top:4px;width:18px}
.jd-ar .zz svg{width:100%;height:auto;display:block}
.jd-ar.joy .gl{position:absolute;left:4%;right:4%;top:100px;bottom:0;background:radial-gradient(closest-side,rgba(235,104,119,.38),rgba(235,104,119,0));}
.jd-ar.joy i{width:24px;height:250px;background:linear-gradient(#fff3c4,#f7b25b 45%,var(--rose) 100%);border-radius:4px;box-shadow:0 0 12px rgba(235,104,119,.35)}
.jd-ar.joy i::after{border-width:22px 20px 0;border-color:var(--rose) transparent transparent}
.jd-ar.hf i{width:4px;height:252px;background:repeating-linear-gradient(#9d8a7c 0 8px,transparent 8px 13px)}
.jd-ar.hf i::after{border-width:12px 8px 0;border-color:#9d8a7c transparent transparent}
.jd-cards{display:grid;grid-template-columns:minmax(92px,20%) repeat(3,minmax(0,1fr));gap:0 10px;margin-top:14px}
.jd-cards::before{content:""}
.jd-c{background:var(--c0b);border-radius:8px;padding:10px 12px 12px;border-top:3px solid var(--c2)}
.jd-c.joy{background:var(--rose-p);border-top-color:var(--rose)}
.jd-ct{display:flex;gap:6px;align-items:baseline;font-weight:700;color:var(--ink);font-size:15px;line-height:1.45}
.jd-ct small{font-size:.82em;font-weight:500}
.jd-c .mk2{flex:0 0 auto;font-size:18px;color:var(--c3)}
.jd-c.joy .mk2{color:var(--rose-d)}
.jd-c p:not(.jd-ct){font-size:14.5px;line-height:1.8;color:var(--body);margin-top:4px}
.jd-c.joy p b{color:var(--rose-d)}
.jd-mus{margin:16px auto 0;display:grid;gap:6px;max-width:720px}
.jd-mus li{font-size:14.5px;line-height:1.8;color:var(--body);padding-left:16px;position:relative}
.jd-mus li b{margin-right:8px;color:var(--ink)}
.jd-mus li::before{content:"";position:absolute;left:2px;top:.78em;width:7px;height:7px;border-radius:50%;background:var(--c2)}
.jdg-badge{margin:18px auto 0;text-align:center;font-family:var(--serif);font-weight:700;color:#fff;background:var(--rose);border-radius:40px;padding:10px 24px;font-size:clamp(17px,2.4vw,22px);max-width:520px;box-shadow:0 3px 0 #c9505f;line-height:1.5}
.jdg .fx-note{text-align:center;margin-top:12px}
@media(max-width:700px){
  .jd-grid{grid-template-columns:78px repeat(3,minmax(0,1fr));grid-template-rows:auto 34px 46px 84px 84px}
  .jd-hd{font-size:12px;padding:0 2px 6px}
  .jd-lb{font-size:11.5px;padding-right:6px}
  .jd-ar.low i{width:13px;height:94px}
  .jd-ar.low i::after{border-width:13px 12px 0}
  .jd-ar .zz{left:calc(50% + 10px);width:14px}
  .jd-ar.joy .gl{top:80px}
  .jd-ar.joy i{width:18px;height:212px}
  .jd-ar.joy i::after{border-width:18px 16px 0}
  .jd-ar.hf i{height:214px}
  .jd-cards{grid-template-columns:minmax(0,1fr);gap:10px}
  .jd-cards::before{display:none}
}

/* ---------- D02：初回料金カード（スマホ）＝見出し → 通常価格・初回価格・限定条件 → 写真と補足 の順 */
@media(max-width:600px){
  .offer{display:flex;flex-direction:column}
  .offer>.of-h{order:0}
  .offer>.of-pr{order:1;border-top:0;border-bottom:1px dashed #f0c7cc;background:linear-gradient(180deg,var(--rose-p) 0,#fff 100%)}
  .offer>.of-b{order:2}
  .offer>.of-n{order:3}
  .offer>.of-btn{order:4}
  .of-b:not(.of-b-ba){grid-template-columns:minmax(0,1fr) 34%}
  .of-c{font-size:16px}
  .of-b:not(.of-b-ba) .of-p{height:auto;min-height:128px}
  .of-b:not(.of-b-ba) .of-t{padding:14px 12px 12px 16px}
  .of-bafig{margin:12px 14px 12px}
}

/* ---------- v3.1 D02：施術内容の図解（ダイエット「生活習慣の改善アドバイス」。施術の流れ07と同じ図解・写真と同じ角丸と影） */
.cont .ph.illu{aspect-ratio:3/2;border-radius:var(--r);box-shadow:var(--shadow);background:linear-gradient(150deg,#f7f0ea 0%,#fbf8f5 55%,#f3ebe4 100%);display:flex;align-items:center;justify-content:center}
.cont .ph.illu svg{width:88%;height:auto;max-height:92%;display:block}
