/* WHIP SPA 第8版（3ページ）
   色はお店の実物から … 黒い丸看板と黒い引き戸・白い板張りの壁・木の椅子・泡の白。
   ミュゼのページだけ、どこでもミュゼの水色を足す。欧文は看板に近い幾何の Jost。 */

@property --dark { syntax: '<number>'; inherits: true; initial-value: 0; }

:root{
  --ink:#1d1b18; --ink-2:#34302b; --text:#2f2a25; --muted:#6c645b; --line:rgba(29,27,24,.12); --line-2:rgba(29,27,24,.2);
  --cream:#fbf8f3; --milk:#f4efe7; --latte:#e8dfd2; --sand:#d9cdbd;
  --cara:#8a5b37; --cara-l:#c9a07a;
  --sky:#56ace1; --sky-ink:#1b6aa0; --sky-d:#155585; --sky-pale:#eef7fc; --sky-mist:#dcedf8;
  --line-g:#00853a;
  --jp:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",sans-serif;
  --en:"Jost","Noto Sans JP",sans-serif;
  --r:22px; --gut:clamp(20px,4vw,40px); --hd:72px;
  --sh:0 24px 60px -34px rgba(48,36,24,.45);
  --sh-s:0 10px 30px -18px rgba(48,36,24,.4);
  --ease:cubic-bezier(.22,.8,.26,1);
  --spring:cubic-bezier(.34,1.4,.64,1);
}
@media (max-width:959px){:root{--hd:62px}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 12px)}
body{margin:0;background:var(--cream);color:var(--text);font-family:var(--jp);font-size:16px;line-height:1.95;letter-spacing:.03em;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2.5px solid var(--cara);outline-offset:3px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--gut)}
.sp{display:inline}.pc{display:none}
@media (min-width:960px){.pc{display:inline}.sp{display:none}}

/* ---------- 文字 ---------- */
.h2{font-size:clamp(25px,3.3vw,38px);font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--ink);font-feature-settings:"palt" 1;margin-bottom:20px;text-wrap:balance}
.body{font-size:clamp(15px,1.2vw,16px);max-width:40em}
.body + .body{margin-top:12px}
.fine{font-size:12.5px;line-height:1.8;color:var(--muted);margin-top:14px}
.lnk{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:6px 0;font-weight:700;font-size:14.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor}
.lnk:hover{color:var(--cara)}
.yen{font-family:var(--en)}
.arw{position:relative;display:inline-block;width:18px;height:10px;flex:none}
.arw::before{content:"";position:absolute;left:0;right:1px;top:50%;height:1.5px;background:currentColor;transform:translateY(-50%)}
.arw::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.mark{width:36px;height:36px;flex:none}
.mark circle{fill:var(--ink)}
.mark circle.b{fill:none;stroke:#fff;stroke-width:1.6}
.stars{display:inline-flex;gap:2px;vertical-align:-2px}
.stars i{width:14px;height:14px;background:#d9a441;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.stars.big i{width:26px;height:26px}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:14px 30px;border-radius:999px;border:0;font-weight:700;font-size:15.5px;letter-spacing:.05em;text-decoration:none;line-height:1.4;text-align:center;transition:transform .35s var(--ease),background .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn .arw{transition:transform .3s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}
.btn-wide{width:100%}
.btn-ink{background:var(--ink);color:#fff;box-shadow:0 16px 30px -16px rgba(29,27,24,.7)}
.btn-ink:hover{background:#000}
.btn-sky{background:var(--sky-ink);color:#fff;box-shadow:0 16px 30px -16px rgba(27,106,160,.7)}
.btn-sky:hover{background:var(--sky-d)}
.btn-line{background:var(--line-g);color:#fff}
.btn-line:hover{background:#006e30}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* ---------- ヘッダー ---------- */
.hd{position:sticky;top:0;z-index:80;background:rgba(251,248,243,.88);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:border-color .3s}
.hd.scrolled{border-bottom-color:var(--line)}
.hd.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream)}
.hd-in{max-width:1240px;margin:0 auto;padding:0 var(--gut);height:var(--hd);display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-t{display:grid;line-height:1.1}
.brand-t b{font-family:var(--en);font-weight:600;font-size:19px;letter-spacing:.12em}
.brand-t small{font-size:10.5px;color:var(--muted);letter-spacing:.12em;margin-top:3px}
.brand-m{display:flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid var(--line-2);text-decoration:none;color:var(--sky-ink)}
.brand-m img{width:46px}
.brand-m small{font-size:11px;font-weight:700;line-height:1.3;width:3.6em}
.gnav{margin-left:auto;display:flex;gap:4px}
.gnav a{position:relative;padding:10px 16px;font-size:14.5px;font-weight:500;text-decoration:none;color:var(--ink);letter-spacing:.06em}
.gnav a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.gnav a:hover::after,.gnav a[aria-current="page"]::after{transform:scaleX(1)}
.btn-rsv{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:14.5px;letter-spacing:.08em;text-decoration:none;transition:background .3s}
.btn-rsv:hover{background:#000}
.hb{display:none;width:46px;height:46px;border:0;border-radius:50%;background:transparent;position:relative}
.hb i{position:absolute;left:12px;right:12px;height:1.6px;background:var(--ink);transition:transform .35s var(--ease)}
.hb i:first-of-type{top:18px}.hb i:last-of-type{top:27px}
.hb[aria-expanded="true"] i:first-of-type{transform:translateY(4.5px) rotate(45deg)}
.hb[aria-expanded="true"] i:last-of-type{transform:translateY(-4.5px) rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:var(--hd);bottom:0;background:var(--cream);padding:18px var(--gut) 40px;overflow:auto;display:grid;align-content:start;gap:4px}
.mnav > a{display:grid;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-size:20px;font-weight:700;color:var(--ink)}
.mnav > a span{font-size:12.5px;font-weight:500;color:var(--muted)}
.mnav > a[aria-current="page"]{color:var(--cara)}
.mnav-tel{margin-top:20px;font-size:13px;color:var(--muted);display:grid}
.mnav-tel a{font-family:var(--en);font-weight:500;font-size:26px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
@media (max-width:959px){
  .gnav{display:none}
  .brand-m{display:none}
  .btn-rsv{margin-left:auto;min-height:44px;padding:0 20px}
  .hb{display:block}
  .brand-t b{font-size:17px}
}
@media (max-width:359px){.brand-t small{display:none}}

/* ---------- 節 ---------- */
.sec{padding:clamp(72px,9vw,120px) 0}
.rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-ready .rv:not(.in){opacity:0;transform:translateY(18px)}
.cta-row{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px}

/* ================= はじまり ================= */
.hero{position:relative;padding:clamp(28px,5vw,64px) 0 0;background:var(--cream);overflow:hidden}
.hero-in{display:grid;gap:32px;align-items:center;position:relative;z-index:2}
.hero-k{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.1em;display:flex;align-items:center;gap:10px}
.hero-k::before{content:"";width:22px;height:1px;background:var(--muted)}
.hero-catch{margin:18px 0 18px;font-size:clamp(34px,5.4vw,64px);font-weight:700;line-height:1.38;letter-spacing:.04em;color:var(--ink);font-feature-settings:"palt" 1}
.hero-h1{font-size:clamp(14px,1.25vw,15.5px);font-weight:700;line-height:1.7;letter-spacing:.06em;color:var(--ink-2)}
.hero-h1 span{font-weight:500;color:var(--muted)}
.hero-lead{margin-top:16px;max-width:31em;font-size:clamp(15px,1.25vw,16.5px);word-break:keep-all;overflow-wrap:anywhere}
.hero-rate{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;color:var(--muted);line-height:1.6}
.hero-rate b{font-family:var(--en);font-weight:600;font-size:18px;color:var(--ink);letter-spacing:.02em}
.offer{margin-top:24px;max-width:520px;padding:22px 24px 18px;border-radius:26px;background:#fff;box-shadow:var(--sh)}
.offer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.offer-l{display:grid;font-weight:700;font-size:15.5px;color:var(--ink);line-height:1.5}
.offer-l small{font-size:12px;color:var(--cara);letter-spacing:.08em}
.offer-p{display:flex;align-items:baseline;gap:10px;line-height:1;white-space:nowrap}
.offer-p s{font-family:var(--en);font-size:14px;color:var(--muted)}
.offer-p b{font-family:var(--en);font-weight:500;font-size:clamp(38px,4vw,46px);color:var(--ink);letter-spacing:.01em}
.offer-p .yen{font-size:.55em;margin-right:2px}
.offer-n{font-size:13px;color:var(--muted);margin:8px 0 14px}
.offer-sub{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;margin-top:12px;font-size:12px;color:var(--muted);line-height:1.6}
.offer-sub a{font-weight:700;color:var(--line-g);font-size:13.5px}
.hero-pic{position:relative;display:grid;justify-items:center}
.arch{position:relative;width:min(100%,400px);border-radius:999px 999px 26px 26px;overflow:hidden;box-shadow:var(--sh);background:var(--latte)}
.arch img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%}
.arch figcaption{position:absolute;left:16px;bottom:46px;padding:5px 12px;border-radius:999px;background:rgba(251,248,243,.92);font-size:12px;font-weight:700;color:var(--ink)}
.hero-musee{position:relative;z-index:3;margin-top:-28px;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:999px;background:#fff;box-shadow:var(--sh-s);text-decoration:none;color:var(--ink);font-size:12.5px;line-height:1.45;transition:transform .35s var(--ease)}
.hero-musee:hover{transform:translateY(-2px)}
.hero-musee img{width:46px}
.hero-musee span{display:grid}
.hero-musee b{font-size:14px;color:var(--sky-ink)}
.hero-musee .arw{color:var(--sky-ink)}
@media (min-width:960px){
  .hero-in{grid-template-columns:1.12fr .88fr;gap:56px;align-items:start;padding-top:12px}
  .hero-pic{padding-top:10px}
}
@media (max-width:959px){
  .hero-in{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .hero-txt{display:contents}
  .hero-k{order:1}.hero-catch{order:2;margin:12px 0 10px}.hero-h1{order:3}
  .hero-pic{order:4;margin:22px 0 4px}
  .hero-lead{order:5}.hero-rate{order:6}.offer{order:7}
  .arch{width:min(64vw,300px)}
  .arch figcaption{bottom:40px;font-size:11px}
  .hero-musee{margin-top:-24px;font-size:12px}
}
/* 泡（さわれる） */
.foam{position:relative;height:clamp(170px,21vw,290px);margin-top:clamp(-170px,-10vw,-60px);z-index:1;touch-action:pan-y}
.foam canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.foam::before{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(#fff,#f6f1ea);border-radius:50% 50% 0 0/24px 24px 0 0}
.js .foam.ready::before{display:none}
.foam-hint{position:absolute;right:var(--gut);bottom:14px;z-index:2;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.06em;pointer-events:none;transition:opacity .6s}
.foam-hint i{width:14px;height:14px;border-radius:50%;border:1.3px solid currentColor;position:relative}
.foam-hint i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid currentColor;opacity:.5;animation:hint 2.4s ease-out infinite}
@keyframes hint{from{transform:scale(.5);opacity:.6}to{transform:scale(1.4);opacity:0}}
.foam.touched .foam-hint{opacity:0}

/* ================= はじめての方へ ================= */
.first{background:#fff;padding:clamp(40px,5vw,64px) 0}
.first-h{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--cara);margin-bottom:20px}
.first-list{display:grid;gap:20px 28px;grid-template-columns:1fr}
.first-list li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:start}
.first-list svg{grid-row:span 2;width:44px;height:44px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.first-list b{font-size:16px;color:var(--ink);line-height:1.5}
.first-list span{font-size:13.5px;color:var(--muted);line-height:1.75}
@media (min-width:640px){.first-list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.first-list{grid-template-columns:repeat(4,1fr)}}

/* ================= 泡のこと（読み進めると泡が細かくなる） ================= */
.awa{position:relative;background:var(--ink);color:#f3ede4;padding:80px 0}
.awa.awa-on{height:260vh;padding:0}
.awa-on .awa-stick{position:sticky;top:var(--hd);height:calc(100vh - var(--hd));height:calc(100svh - var(--hd));display:grid;align-items:center;overflow:hidden}
.awa .h2{color:#fff}
.awa-in{display:grid;gap:28px;align-items:center;width:100%}
.awa-steps{display:grid;gap:6px;margin-top:8px}
.awa-steps li{padding:14px 18px;border-radius:16px;transition:background .5s,opacity .5s;opacity:.42}
.awa-steps li.on{opacity:1;background:rgba(255,255,255,.07)}
.awa-steps b{display:block;font-size:16.5px;color:#fff;line-height:1.5}
.awa-steps span{display:block;font-size:14px;line-height:1.85;color:rgba(243,237,228,.82);margin-top:2px}
.awa-scroll{margin-top:18px;font-size:12.5px;color:rgba(243,237,228,.6);display:flex;align-items:center;gap:10px}
.awa-scroll::before{content:"";width:1px;height:26px;background:linear-gradient(rgba(243,237,228,0),rgba(243,237,228,.7))}
.awa-vis{display:grid;justify-items:center;gap:12px}
.lens{position:relative;width:min(100%,460px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#efe9e0;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 80px -30px rgba(0,0,0,.8)}
.lens canvas{position:absolute;inset:0;width:100%;height:100%}
.lens-sheen{position:absolute;inset:0;border-radius:50%;background:radial-gradient(70% 50% at 30% 18%,rgba(255,255,255,.35),rgba(255,255,255,0) 60%);box-shadow:inset 0 0 40px rgba(60,44,30,.25);pointer-events:none}
.awa-meter{width:min(80%,320px);height:2px;background:rgba(255,255,255,.16);border-radius:2px;overflow:hidden}
.awa-meter i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(var(--p,0))}
.awa-note{font-size:11.5px;color:rgba(243,237,228,.55)}
@media (min-width:960px){.awa-in{grid-template-columns:1fr 1fr;gap:64px}}
@media (max-width:959px){
  .awa.awa-on{height:300vh}
  .awa-in{gap:14px}
  .awa .h2{font-size:22px;margin-bottom:6px}
  .awa-txt{order:2}
  .awa-on .awa-steps{gap:0;margin-top:0;position:relative;min-height:128px}
  .awa-on .awa-steps li{position:absolute;inset:0;padding:6px 2px;opacity:0;background:none!important;transition:opacity .5s}
  .awa-on .awa-steps li.on{opacity:1}
  .awa-scroll{display:none}
  .lens{width:min(62vw,36svh)}
  .awa-note{display:none}
  .awa-on .awa-stick{padding-bottom:70px}
}

/* ================= コースと料金 ================= */
.course{background:var(--cream)}
.concern{margin:28px 0 30px;padding:20px 22px;border-radius:22px;background:#fff;box-shadow:var(--sh-s)}
.concern-h{font-size:13px;font-weight:700;color:var(--cara);letter-spacing:.1em;margin-bottom:10px}
.concern-chips{display:flex;flex-wrap:wrap;gap:8px}
.concern-chips button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--milk);font-weight:700;font-size:14px;color:var(--ink);transition:background .3s,color .3s}
.concern-chips button:hover{background:var(--latte)}
.concern-chips button[aria-pressed="true"]{background:var(--ink);color:#fff}
.concern-say{margin-top:12px;font-size:14px;color:var(--muted);min-height:1.9em}
.concern-say b{color:var(--ink)}
.cards{display:grid;gap:16px}
.cc{position:relative;display:flex;flex-direction:column;padding:26px 24px 22px;border-radius:26px;background:#fff;box-shadow:var(--sh-s);transition:box-shadow .5s,transform .5s var(--ease)}
.cc-tag{align-self:flex-start;font-size:12px;font-weight:700;color:var(--cara);letter-spacing:.06em;padding:3px 12px;border-radius:999px;background:var(--milk)}
.cc h3{margin-top:14px;font-size:20px;line-height:1.5;color:var(--ink)}
.cc-min{font-family:var(--en);font-size:14px;color:var(--muted);margin-top:2px}
.cc-d{font-size:14px;line-height:1.85;margin-top:10px}
.cc-n{font-size:12.5px;color:var(--muted);line-height:1.7;margin-top:8px}
.cc-p{margin-top:16px;border-top:1px solid var(--line)}
.cc-p > div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line)}
.cc-p dt{font-size:13px;color:var(--muted)}
.cc-p dt small{margin-left:6px;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--milk);color:var(--cara);font-weight:700}
.cc-p dd{font-family:var(--en);font-size:17px;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.cc-p .first dt{color:var(--ink);font-weight:700}
.cc-p .first dd{font-size:28px;font-weight:500}
.cc-go{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--ink);text-decoration:none}
.cc-go:hover{color:var(--cara)}
.cc-go:hover .arw{transform:translateX(3px)}
.cc-go .arw{transition:transform .3s var(--ease)}
.cc.hit,.others li.hit > a{box-shadow:0 0 0 2px var(--ink),var(--sh-s)}
.cc.hit{transform:translateY(-4px)}
.cc.hit::after{content:"合いそうです";position:absolute;right:18px;top:-12px;padding:2px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
@media (min-width:900px){.cards{grid-template-columns:repeat(3,1fr);gap:20px}}
.others,.oil{margin-top:34px}
.others-h{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.others-h small{font-size:12.5px;font-weight:500;color:var(--muted)}
.others ul{display:grid;gap:8px}
.others li > a{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:#fff;text-decoration:none;color:var(--ink);transition:box-shadow .4s,background .3s}
.others li > a:hover{background:var(--milk)}
.others li > a span{font-weight:700;font-size:15px;line-height:1.5}
.others li > a small{display:block;font-weight:500;font-size:12.5px;color:var(--muted)}
.others li > a b{font-family:var(--en);font-weight:500;font-size:18px;font-variant-numeric:lining-nums}
@media (min-width:900px){.others ul{grid-template-columns:1fr 1fr}}
.kayoi{margin-top:40px;padding:24px 22px 20px;border-radius:24px;background:var(--milk)}
.kayoi-h{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:14px}
.kayoi ol{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 10px;position:relative}
.kayoi li{display:grid;align-content:start;position:relative;padding-left:16px}
.kayoi li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.kayoi li small{font-size:12px;color:var(--muted)}
.kayoi li b{font-family:var(--en);font-weight:500;font-size:22px;color:var(--ink);line-height:1.3}
.kayoi li:nth-child(3) b{font-family:var(--jp);font-weight:700;font-size:18px}
.kayoi li span{font-size:12px;color:var(--muted);line-height:1.6}
.kayoi li:last-child b{color:var(--cara)}
.kayoi .fine{margin-top:10px}
@media (min-width:760px){
  .kayoi ol{grid-template-columns:repeat(4,1fr)}
  .kayoi ol::before{content:"";position:absolute;left:3px;right:12%;top:calc(.6em + 3px);height:1px;background:var(--sand)}
}
.wari{display:grid;gap:12px;margin-top:22px;grid-template-columns:1fr 1fr}
.wari-c{padding:18px 18px 16px;border-radius:20px;background:#fff;display:grid;align-content:start}
.wari-k{font-size:12.5px;font-weight:700;color:var(--cara)}
.wari-p{font-family:var(--en);font-weight:500;font-size:26px;color:var(--ink);line-height:1.35}
.wari-p small{font-family:var(--jp);font-size:13px;font-weight:700;margin-left:2px}
.wari-t{font-size:12.5px;line-height:1.75;color:var(--muted);margin-top:4px}
@media (min-width:1000px){.wari{grid-template-columns:repeat(4,1fr)}}
.oil-list{display:grid;gap:0 28px;border-top:1px solid var(--line)}
.oil-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}
.oil-list span{font-size:14.5px;font-weight:500;color:var(--ink)}
.oil-list small{margin-left:8px;font-size:12px;color:var(--muted)}
.oil-list b{font-family:var(--en);font-weight:500;font-size:16px}
@media (min-width:760px){.oil-list{grid-template-columns:1fr 1fr}}

/* ================= オプション（グラス） ================= */
.opt{background:#fff}
.opt-in{display:grid;gap:34px;margin-top:20px}
.opt-h{font-size:13px;font-weight:700;color:var(--cara);letter-spacing:.08em;margin:0 0 10px;display:flex;gap:10px;align-items:baseline}
.opt-h small{font-weight:500;color:var(--muted);letter-spacing:.02em}
.opt-h:not(:first-child){margin-top:24px}
.opt-base{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.opt-base button{display:grid;gap:2px;justify-items:start;text-align:left;min-height:64px;padding:10px 14px;border-radius:16px;border:0;background:var(--milk);font-size:13px;font-weight:700;line-height:1.45;color:var(--ink);transition:background .3s,color .3s}
.opt-base button b{font-family:var(--en);font-weight:500;font-size:16px}
.opt-base button[aria-checked="true"]{background:var(--ink);color:#fff}
.opt-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt-list button{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;text-align:left;min-height:62px;padding:10px 14px 10px 36px;border-radius:16px;border:0;background:var(--cream);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;font-weight:700;line-height:1.4;color:var(--ink);transition:background .3s,box-shadow .3s}
.opt-list button::before{content:"";position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--c,#fff);box-shadow:inset 0 0 0 1px rgba(29,27,24,.25)}
.opt-list button small{grid-column:1;font-weight:500;font-size:11.5px;color:var(--muted)}
.opt-list button b{grid-row:1 / span 2;grid-column:2;font-family:var(--en);font-weight:500;font-size:15px}
.opt-list button:hover{background:#fff}
.opt-list button[aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.opt-list button[aria-pressed="true"]::after{content:"";position:absolute;left:17px;top:50%;width:6px;height:3.5px;margin-top:-3px;border-left:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:rotate(-45deg)}
.opt-r{display:grid;justify-items:center;align-content:start;text-align:center;padding:24px 20px 26px;border-radius:28px;background:var(--cream)}
.glass{width:180px}
.glass-svg{width:100%;height:auto;overflow:visible}
.g-line{fill:none;stroke:rgba(29,27,24,.45);stroke-width:2}
.g-layer{transition:transform .6s var(--spring)}
.g-layer.new{animation:gIn .6s var(--spring)}
@keyframes gIn{from{transform:translateY(-60px);opacity:0}}
.g-top path{fill:#fffdf9;stroke:rgba(29,27,24,.18);stroke-width:1.4}
.g-top{transition:transform .6s var(--spring);transform-box:fill-box;transform-origin:50% 100%}
.g-top.bump{animation:gBump .5s var(--spring)}
@keyframes gBump{40%{transform:var(--t) scale(1.08,.9)}}
.opt-sum{margin-top:6px;display:grid;line-height:1.2}
.opt-sum small{font-size:12px;color:var(--muted)}
.opt-sum b{font-family:var(--en);font-weight:500;font-size:44px;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.opt-cnt{font-size:13px;color:var(--muted);margin:4px 0 16px;min-height:1.9em}
@media (min-width:960px){.opt-in{grid-template-columns:1fr 340px;gap:48px;align-items:start}.opt-r{position:sticky;top:calc(var(--hd) + 24px)}}
@media (max-width:520px){.opt-base{grid-template-columns:1fr}.opt-list{grid-template-columns:1fr}}

/* ================= 口コミ ================= */
.voice{background:var(--milk)}
.voice-in{display:grid;gap:34px;align-items:center}
.voice-score{display:flex;align-items:center;gap:16px;line-height:1}
.voice-score b{font-family:var(--en);font-weight:400;font-size:clamp(64px,8vw,96px);color:var(--ink);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.voice .body{margin:14px 0 10px}
.voice-cap{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:14px}
.vc{display:grid;gap:10px}
.vc li{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px 6px;padding:16px 20px;border-radius:18px;background:#fff;overflow:hidden;isolation:isolate}
.vc li::before{content:"";position:absolute;left:0;bottom:0;height:3px;width:calc(var(--n) / 13 * 100%);background:var(--cara-l);z-index:-1;transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease)}
.vc li.in::before{transform:scaleX(1)}
.vc b{font-family:var(--en);font-weight:500;font-size:34px;color:var(--ink);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.vc small{font-size:13px;color:var(--muted)}
.vc span{font-weight:700;font-size:15px;color:var(--ink);padding-left:10px}
@media (min-width:960px){.voice-in{grid-template-columns:.9fr 1.1fr;gap:70px}}

/* ================= 店長 ================= */
.tencho{background:var(--cream)}
.tencho-in{display:grid;gap:34px;align-items:center}
.tencho-pic{border-radius:26px;overflow:hidden;box-shadow:var(--sh);max-width:400px}
.tencho-pic img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.tencho-k{font-size:13px;font-weight:700;color:var(--cara);letter-spacing:.1em;margin-bottom:8px}
.tencho-q{margin-top:6px;padding-left:20px;border-left:2px solid var(--sand);display:grid;gap:12px}
.tencho-q p{font-size:15.5px;line-height:2}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tags li{font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
@media (min-width:960px){.tencho-in{grid-template-columns:400px 1fr;gap:72px}}
@media (max-width:959px){.tencho-pic{max-width:none}.tencho-pic img{aspect-ratio:4/4.2}}

/* ================= 45分の流れ（明かりが落ちる） ================= */
.flow{--dark:0;position:relative;padding:clamp(72px,9vw,120px) 0;transition:--dark 1s var(--ease);
  background:var(--milk);color:var(--text);
  background:color-mix(in oklab,var(--milk),#211c18 calc(var(--dark) * 100%));
  color:color-mix(in oklab,var(--text),#efe7dc calc(var(--dark) * 100%))}
.flow .h2{color:color-mix(in oklab,var(--ink),#fff calc(var(--dark) * 100%))}
.flow-in{display:grid;gap:30px;margin-top:20px}
.flow-vis{position:relative}
.clock{position:relative;width:200px;height:200px;margin:0 auto}
.clock svg{width:100%;height:100%;transform:rotate(-90deg)}
.c-bg{fill:none;stroke:color-mix(in oklab,var(--sand),#4a4038 calc(var(--dark) * 100%));stroke-width:2}
.c-fg{fill:none;stroke:color-mix(in oklab,var(--ink),#f4d8b0 calc(var(--dark) * 100%));stroke-width:3;stroke-linecap:round;stroke-dasharray:var(--m,0) 5;transition:stroke-dasharray .8s var(--ease)}
.clock-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;line-height:1}
.clock-c b{font-family:var(--en);font-weight:400;font-size:62px;font-variant-numeric:lining-nums tabular-nums;color:color-mix(in oklab,var(--ink),#fff calc(var(--dark) * 100%))}
.clock-c span{font-family:var(--en);font-size:18px;margin-left:4px}
.clock-t{position:absolute;left:-60px;right:-60px;top:calc(100% + 10px);text-align:center;font-size:14px;font-weight:700;letter-spacing:.06em}
.lamp{position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,214,160,.32),rgba(255,214,160,0));opacity:var(--dark);pointer-events:none;z-index:-1}
.flow-vis{isolation:isolate}
.flow-steps{display:grid;gap:12px}
.flow-steps li{position:relative;padding:20px 22px 20px 64px;border-radius:20px;background:#fff;background:color-mix(in oklab,#fff,#2b2520 calc(var(--dark) * 100%));transition:opacity .5s;opacity:.72}
.flow-steps li.on{opacity:1}
.fs-no{position:absolute;left:20px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--en);font-size:14px;box-shadow:inset 0 0 0 1px currentColor}
.flow-steps h3{font-size:17px;line-height:1.5}
.flow-steps p{font-size:14px;line-height:1.85;margin-top:4px}
.fs-fact{margin-top:10px!important;padding:10px 14px;border-radius:12px;font-size:13px!important;font-weight:700;background:color-mix(in oklab,var(--milk),#3b322b calc(var(--dark) * 100%));color:color-mix(in oklab,var(--cara),#f4d8b0 calc(var(--dark) * 100%))}
.flow-note{margin-top:20px;color:inherit;opacity:.7}
@media (min-width:960px){
  .flow-in{grid-template-columns:320px 1fr;gap:60px;align-items:start}
  .flow-vis{position:sticky;top:calc(var(--hd) + 18vh)}
  .flow-steps li{padding:26px 28px 26px 74px}
  .fs-no{left:26px;top:26px}
}
@media (max-width:959px){
  .flow-vis{display:flex;justify-content:center}
  .clock{width:150px;height:150px}
  .clock-c b{font-size:44px}
  .clock-c span{font-size:12px}
  .clock-t{font-size:13px}
  .flow-vis{padding-bottom:34px}
  .lamp{width:300px;height:300px;margin:-150px 0 0 -150px}
}

/* ================= よくある質問（会話） ================= */
.faq{background:#fff}
.faq-in{display:grid;gap:30px;align-items:start}
@media (min-width:960px){.faq-in{grid-template-columns:.8fr 1.2fr;gap:60px}}
.chat{border-radius:26px;background:var(--cream);padding:22px 20px 18px;box-shadow:var(--sh-s)}
.chat-src{display:grid;gap:10px}
.chat-src dt{font-weight:700;color:var(--ink)}
.chat-src dd{margin:0 0 6px;font-size:14px}
.chat.on .chat-src{display:none}
.chat-log{display:grid;gap:10px;max-height:360px;overflow:auto;padding:4px 2px 10px;scroll-behavior:smooth}
.cm{max-width:86%;padding:11px 16px;border-radius:18px;font-size:14px;line-height:1.8;animation:cmIn .45s var(--ease)}
@keyframes cmIn{from{opacity:0;transform:translateY(8px)}}
.cm.shop{justify-self:start;background:#fff;border-top-left-radius:6px;display:grid;gap:2px}
.cm.shop .cm-who{font-size:11px;font-weight:700;color:var(--cara)}
.cm.shop .av{display:none}
.cm.me{justify-self:end;background:var(--ink);color:#fff;border-top-right-radius:6px}
.cm.typing{display:flex;gap:4px;padding:14px 16px}
.cm.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typ 1s infinite}
.cm.typing i:nth-child(2){animation-delay:.15s}.cm.typing i:nth-child(3){animation-delay:.3s}
@keyframes typ{50%{transform:translateY(-4px);opacity:.4}}
.chat-q{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.chat-q button{min-height:40px;padding:6px 14px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font-size:13px;font-weight:700;color:var(--ink);transition:background .25s}
.chat-q button:hover{background:var(--milk)}
.chat-q button.used{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.chat-more{margin-top:12px;font-size:12.5px;color:var(--muted)}
.chat-more a{color:var(--line-g);font-weight:700}

/* ================= Instagram ================= */
.ig-band{background:var(--cream);padding:0 0 clamp(56px,7vw,90px)}
.ig-in{display:grid;gap:20px}
.ig-acct{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:22px;background:#fff;box-shadow:var(--sh-s);text-decoration:none;color:var(--ink);flex-wrap:wrap}
.ig-av{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;flex:none;isolation:isolate}
.ig-av::before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 210deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75);z-index:-2}
.ig-av::after{content:"";position:absolute;inset:0;border-radius:50%;background:#fff;z-index:-1}
.ig-av svg{width:46px;height:46px}
.ig-av svg circle{fill:var(--ink)}
.ig-av svg .w{fill:none;stroke:#fff;stroke-width:1.6}
.ig-av img{width:44px}
.ig-who{display:grid;line-height:1.4}
.ig-who small{font-size:12px;color:var(--muted)}
.ig-who b{font-family:var(--en);font-weight:500;font-size:16.5px;letter-spacing:.02em}
.ig-go{margin-left:auto;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.ig-acct:hover .ig-go .arw{transform:translateX(3px)}
.ig-go .arw{transition:transform .3s var(--ease)}
.ig-embed-wrap{max-width:540px}

/* ================= 予約・相談（全ページ共通） ================= */
.contact{background:var(--ink);color:#efe8de;padding:clamp(72px,9vw,110px) 0 clamp(60px,7vw,90px)}
.contact .h2{color:#fff}
.ct-grid{display:grid;gap:14px;margin-top:10px}
.ct-c{display:flex;flex-direction:column;padding:24px 22px 22px;border-radius:24px;background:#2a2622}
.ct-k{font-size:13px;font-weight:700;letter-spacing:.06em;color:#fff}
.ct-t{font-size:13.5px;line-height:1.85;color:rgba(239,232,222,.78);margin:6px 0 16px}
.ct-c .btn{margin-top:auto}
.ct-w .btn-ink{background:#fbf8f3;color:var(--ink);box-shadow:none}
.ct-w .btn-ink:hover{background:#fff}
.ct-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px;font-size:13px}
.ct-links a{color:#bfe3f8}
.ct-line{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.ct-line .btn{padding:10px 8px;font-size:13.5px;letter-spacing:0}
.ct-c .btn{padding:14px 20px;font-size:15px}
.ct-info{display:grid;gap:22px;margin-top:30px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.ct-tel a{display:inline-block;font-family:var(--en);font-weight:400;font-size:clamp(30px,3.6vw,40px);letter-spacing:.06em;color:#fff;text-decoration:none;line-height:1.3}
.ct-tel p:last-child{font-size:13px;color:rgba(239,232,222,.75)}
.ct-dl{display:grid;gap:10px}
.ct-dl > div{display:grid;grid-template-columns:5.5em 1fr;gap:12px;font-size:14px;line-height:1.8}
.ct-dl dt{color:rgba(239,232,222,.6)}
.ct-dl .lnk{display:flex;width:max-content;margin-top:4px;color:#fff;font-size:13.5px}
@media (min-width:900px){.ct-grid{grid-template-columns:repeat(3,1fr)}.ct-info{grid-template-columns:.8fr 1.2fr;gap:50px}}

/* ---------- フッター ---------- */
.ft{background:#161411;color:rgba(239,232,222,.7);padding:34px 0 calc(34px + 80px)}
.ft-in{display:grid;gap:12px;font-size:13px}
.ft-logo{display:flex;align-items:center;gap:10px;color:#fff}
.ft-logo b{font-family:var(--en);font-weight:600;letter-spacing:.12em;font-size:17px}
.ft-logo .mark circle{fill:#fff}
.ft-logo .mark circle.b{fill:none;stroke:#161411}
.ft-nav,.ft-sns{display:flex;flex-wrap:wrap;gap:6px 20px}
.ft-nav a,.ft-sns a{color:#fff;text-decoration:none}
.ft-nav a:hover,.ft-sns a:hover{text-decoration:underline}
.ft-demo{font-size:11.5px;color:rgba(239,232,222,.5);margin-top:8px}
@media (min-width:960px){.ft{padding-bottom:34px}}

/* ---------- スマホの下の帯 ---------- */
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1.25fr 1.15fr .8fr;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(251,248,243,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line);transition:transform .4s var(--ease)}
.bbar a{display:grid;place-content:center;text-align:center;min-height:52px;border-radius:14px;text-decoration:none;font-weight:700;font-size:14px;line-height:1.25}
.bbar small{font-size:10.5px;font-weight:500;opacity:.85}
.bb-w{background:var(--ink);color:#fff}
.bb-m{background:var(--sky-ink);color:#fff}
.bb-l{background:var(--line-g);color:#fff}
.bbar.hide{transform:translateY(110%)}
@media (min-width:960px){.bbar{display:none}}

/* ---------- 予約の窓 ---------- */
.rsv{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;background:var(--cream);color:var(--text);box-shadow:0 40px 100px -30px rgba(0,0,0,.6);overflow:hidden auto;overscroll-behavior:contain}
.rsv::backdrop{background:rgba(29,27,24,.45);backdrop-filter:blur(3px)}
.rsv[open]{animation:rsvIn .45s var(--ease)}
@keyframes rsvIn{from{opacity:0;transform:translateY(20px) scale(.98)}}
.rsv-in{position:relative;padding:30px 24px 24px}
.rsv-h{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:18px;padding-right:40px}
.rsv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rsv-c{display:grid;justify-items:center;text-align:center;gap:2px;padding:20px 12px 18px;border-radius:20px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:var(--sh-s);transition:transform .35s var(--ease)}
.rsv-c:hover{transform:translateY(-3px)}
.rsv-c .mark{width:46px;height:46px;margin-bottom:6px}
.rsv-c img{width:62px;margin-bottom:4px}
.rsv-c b{font-size:18px}
.rsv-c span{font-size:12.5px;color:var(--muted)}
.rsv-c small{font-size:11.5px;color:var(--cara);font-weight:700;line-height:1.5;margin-top:4px}
.rsv-m small{color:var(--sky-ink)}
.rsv-sub{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin-top:14px;font-size:13px}
.rsv-sub a,.rsv-sub button{color:var(--ink)}
.rsv-talk{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.rsv-talk a{color:var(--ink);font-weight:700}
.rsv-x{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;box-shadow:var(--sh-s)}
.rsv-x::before,.rsv-x::after{content:"";position:absolute;left:14px;right:14px;top:50%;height:1.6px;background:var(--ink);transform:rotate(45deg)}
.rsv-x::after{transform:rotate(-45deg)}
.rsv-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;font-weight:700;font-size:13.5px;color:var(--cara);margin:-10px 0 8px}
.rsv-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:999px;background:var(--milk);margin-bottom:10px}
.rsv-tabs button{min-height:40px;border:0;border-radius:999px;background:none;font-weight:700;font-size:14px;color:var(--muted)}
.rsv-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 4px 14px -8px rgba(29,27,24,.5)}
.rsv-list li + li{border-top:1px solid var(--line)}
.rsv-list a{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:12px;padding:11px 10px;border-radius:14px;text-decoration:none;color:var(--ink);transition:background .25s}
.rsv-list a:hover{background:#fff}
.rsv-list .arw{color:var(--cara)}
.rl-n{font-weight:700;font-size:15px;line-height:1.5}
.rl-n em{display:table;font-style:normal;font-size:11px;color:#fff;background:var(--ink);border-radius:999px;padding:1px 8px;margin-bottom:3px}
.rl-n small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.rsv-list b{font-family:var(--en);font-weight:500;font-size:18px;white-space:nowrap}
.rsv-list a.hl{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.rsv-note{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}
@media (max-width:520px){
  .rsv{width:100%;max-height:100dvh;border-radius:24px 24px 0 0;margin-bottom:0}
  .rsv-in{padding:26px 16px 20px}
  .rsv-list a{gap:8px;padding:11px 6px;grid-template-columns:1fr auto 14px}
  .rl-n{font-size:14px}
  .rsv-list b{font-size:16px}
}

/* ================= 下層の頭 ================= */
.phead{position:relative;overflow:hidden;padding:clamp(32px,5vw,70px) 0 clamp(50px,6vw,80px)}
.phead-in{display:grid;gap:30px;align-items:center}
.phead-k{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.1em}
.phead-h{font-size:clamp(30px,4.6vw,52px);line-height:1.42;font-weight:700;letter-spacing:.04em;color:var(--ink);margin:12px 0 16px;font-feature-settings:"palt" 1;text-wrap:balance}
.phead-lead{max-width:31em;font-size:clamp(15px,1.25vw,16.5px)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.jump a{font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s}
.jump a:hover{background:var(--ink);color:#fff}
.phead-duo{position:relative;height:clamp(300px,52vw,470px)}
.phead-duo figure{position:absolute;overflow:hidden;box-shadow:var(--sh)}
.pd-a{left:0;top:0;width:62%;border-radius:999px 999px 26px 26px}
.pd-b{right:0;bottom:0;width:44%;border-radius:50%;aspect-ratio:1;border:6px solid #fff}
.pd-a img{aspect-ratio:3/4;object-fit:cover;width:100%}
.pd-b img{width:100%;height:100%;object-fit:cover}
@media (min-width:960px){.phead-in{grid-template-columns:1.1fr .9fr;gap:60px}}

/* ================= ミュゼの脱毛 ================= */
.p-datsumo{--accent:var(--sky-ink)}
.p-datsumo :focus-visible{outline-color:var(--sky-ink)}
.p-datsumo .h2{color:var(--ink)}
.phead-musee{background:linear-gradient(180deg,#fff,var(--sky-pale))}
.m-offer{margin-top:24px;max-width:520px;padding:22px 24px 20px;border-radius:26px;background:#fff;box-shadow:0 24px 60px -34px rgba(27,106,160,.45);position:relative;overflow:hidden}
.m-offer::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;background:var(--sky-pale);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.mo-k{position:relative;font-size:12.5px;font-weight:700;color:var(--sky-ink);letter-spacing:.06em}
.mo-n{position:relative;font-weight:700;font-size:16px;color:var(--ink)}
.mo-p{position:relative;display:flex;align-items:baseline;gap:6px;line-height:1.1;margin:6px 0 4px;color:var(--sky-ink)}
.mo-p b{font-family:var(--en);font-weight:500;font-size:clamp(54px,6vw,72px);letter-spacing:.01em}
.mo-p span{font-weight:700;font-size:20px}
.mo-p small{font-size:13px;font-weight:500;color:var(--muted)}
.mo-t{position:relative;font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:14px}
.m-offer .fine{margin-top:10px}
.m-pts{background:#fff}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.num{background:var(--sky-pale);border-radius:22px;padding:22px 10px 20px;text-align:center;display:grid;justify-items:center}
.num b{font-family:var(--en);font-weight:500;font-size:clamp(34px,6vw,64px);line-height:1;color:var(--sky-ink);display:inline-flex;overflow:hidden;height:1em;font-variant-numeric:lining-nums tabular-nums}
.num > span{font-weight:700;color:var(--ink);font-size:clamp(12.5px,1.5vw,16px);margin-top:6px}
.num small{font-size:12px;color:var(--muted);line-height:1.5;margin-top:6px}
.odo-d{display:inline-block;height:1em;overflow:hidden}
.odo-d span{display:block;transition:transform 1.6s var(--ease)}
.odo-d span i{display:block;height:1em;font-style:normal;line-height:1}
@media (max-width:520px){.num{padding:16px 4px 14px}.num small{font-size:10.5px;letter-spacing:0}}
.pts{display:grid;gap:12px;margin-top:22px}
.pt4{padding:22px 22px 20px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--sky-mist)}
.pt4 b{display:block;font-size:17px;color:var(--ink);line-height:1.5}
.pt4 span{display:block;font-size:13.5px;color:var(--muted);line-height:1.8;margin-top:4px}
.pt4::before{content:"";display:block;width:16px;height:16px;margin-bottom:10px;background:var(--sky);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
@media (min-width:760px){.pts{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.pts{grid-template-columns:repeat(4,1fr)}}

.who{background:var(--sky-pale)}
.who-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 26px;max-width:620px}
.who-tabs button{display:grid;justify-items:center;gap:6px;border:0;border-radius:20px;padding:14px 8px;background:#fff;font-weight:700;font-size:15px;color:var(--ink);transition:background .35s,color .35s}
.who-tabs button[aria-selected="true"]{background:var(--sky-ink);color:#fff}
.wi{width:38px;height:38px;border-radius:50%;background:var(--sky-pale);position:relative;overflow:hidden}
.wi::before{content:"";position:absolute;left:50%;top:9px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--sky-ink)}
.wi::after{content:"";position:absolute;left:50%;top:24px;width:24px;height:24px;margin-left:-12px;border-radius:50%;background:var(--sky-ink)}
.wi-w::after{border-radius:50% 50% 30% 30%;width:28px;margin-left:-14px}
.wi-k::before{top:13px;width:10px;height:10px;margin-left:-5px}
.wi-k::after{top:25px;width:19px;height:19px;margin-left:-9.5px}
.who-tabs button[aria-selected="true"] .wi{background:#fff}
.pn{animation:pnIn .5s var(--ease)}
@keyframes pnIn{from{opacity:0;transform:translateY(12px)}}
.pn-grid{display:grid;gap:22px}
@media (min-width:960px){.pn-grid{grid-template-columns:1fr 1fr;gap:30px}}
.menu-list{background:#fff;border-radius:26px;padding:24px 22px 24px;align-self:start}
.ml-h{font-weight:700;color:var(--ink);font-size:15px;margin-bottom:8px}
.menu-list ul{border-top:1px solid var(--line)}
.menu-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.menu-list li span{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.5}
.menu-list li small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.menu-list li b{font-family:var(--en);font-weight:500;font-size:17px;white-space:nowrap;color:var(--ink)}
.menu-list .ml-h + ul{margin-bottom:18px}
.menu-list .ml-h:not(:first-child){margin-top:20px}
.menu-list .btn{margin-top:8px}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.kids-note{font-size:13.5px;color:var(--ink);font-weight:700;margin-top:12px}
.ml-note{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.8}

.body-map,.face,.timer{background:#fff;border-radius:26px;padding:24px 22px}
.bm-s{font-size:13.5px;color:var(--muted);line-height:1.75}
.bm-view{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--sky-pale);margin:14px 0 6px}
.bm-view button,.face-sw button{min-height:38px;padding:0 16px;border-radius:999px;border:0;background:none;font-weight:700;font-size:13.5px;color:var(--muted)}
.bm-view button[aria-pressed="true"],.face-sw button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 4px 12px -8px rgba(27,106,160,.6)}
.face-sw{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--sky-pale);margin:6px 0}
.bm-fig{display:grid;place-items:center;padding:6px 0}
.bm-fig svg{width:min(100%,240px);height:auto;overflow:visible;filter:drop-shadow(0 10px 14px rgba(27,106,160,.14))}
.fig *{fill:var(--sky-pale);stroke:none}
.fig .limb{fill:none;stroke:var(--sky-pale);stroke-width:22;stroke-linecap:round}
.fig .leg{fill:none;stroke:var(--sky-pale);stroke-width:30;stroke-linecap:round}
.fig .bun{opacity:0;transition:opacity .4s}
.body-map.back .fig .bun{opacity:1}
.ind circle{fill:rgba(86,172,225,0);transition:fill .4s}
.ind circle.on{fill:rgba(86,172,225,.3)}
.dots .dt{cursor:pointer}
.dots .dt circle{fill:#fff;stroke:var(--sky-ink);stroke-width:2.2;transition:fill .3s}
.dots .dt .glow{fill:rgba(255,255,255,0);stroke:none;transform-box:fill-box;transform-origin:center}
.dots .dt:hover circle:not(.glow){fill:#dff0fb}
.dots .dt.on circle:not(.glow){fill:var(--sky-ink)}
.dots .dt.on .glow{animation:dolph .7s var(--ease)}
.dots .dt.l circle:not(.glow){stroke-dasharray:3 2}
.dots .dt.l.on circle:not(.glow){stroke-dasharray:none}
@keyframes dolph{from{fill:rgba(86,172,225,.6);transform:scale(.5)}to{fill:rgba(86,172,225,0);transform:scale(3.2)}}
.dots .hid{display:none}
.bm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bm-chips button{min-height:36px;border:0;border-radius:999px;padding:4px 12px;background:var(--sky-pale);font-size:12.5px;font-weight:700;color:var(--ink);transition:background .25s,color .25s}
.bm-chips button i{font-style:normal;font-family:var(--en);font-size:11px;color:var(--sky-ink);margin-left:4px}
.bm-chips button[aria-pressed="true"]{background:var(--sky-ink);color:#fff}
.bm-chips button[aria-pressed="true"] i{color:#cfe8f7}
.bm-sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-weight:700;color:var(--ink)}
.bm-sum span{font-family:var(--en);font-weight:500;font-size:18px}
.bm-yen{font-family:var(--en);font-weight:500;font-size:18px}
.bm-yen b{font-size:40px;font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.bm-yen small{font-family:var(--jp);font-size:12px;color:var(--muted);margin-left:4px}
.bm-note{font-size:13.5px;margin-top:8px;min-height:3.4em;line-height:1.75}
.bm-note b{color:var(--sky-ink)}
.face-fig{display:grid;place-items:center;margin:10px 0}
.face-fig svg{width:min(100%,240px);overflow:visible}
.fc-face,.fc-ear,.fc-neck{fill:var(--sky-pale);stroke:#b9daef;stroke-width:2}
.fc-hair{fill:#3a4452}
.fc-dots g{opacity:.16;transition:opacity .4s}
.fc-dots g text{opacity:0;transition:opacity .4s}
.fc-dots g.on,.fc-dots g.on text{opacity:1}
.fc-dots circle{fill:var(--sky-ink);stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center}
.fc-dots text{font-family:var(--jp);font-size:12px;font-weight:700;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.face-out{background:var(--sky-pale);border-radius:18px;padding:14px 18px}
.fo-n{font-weight:700;color:var(--ink)}
.fo-r{font-size:12.5px;color:var(--muted);line-height:1.6}
.fo-p{font-family:var(--en);font-weight:500;font-size:32px;color:var(--sky-ink);line-height:1.2}
.men-r{display:grid;gap:20px}
.timer{display:grid;justify-items:center;text-align:center}
.timer .ml-h,.timer .bm-s{justify-self:stretch;text-align:left}
.tm{position:relative;width:230px;height:230px;margin:14px 0 6px;touch-action:none}
.tm svg{width:100%;height:100%;overflow:visible}
.tm-bg{fill:#fff;stroke:var(--sky-pale);stroke-width:14}
.tm-arc{fill:none;stroke:var(--sky);stroke-width:14;stroke-linecap:round;stroke-dasharray:var(--a,30) 90;transform:rotate(-90deg);transform-origin:120px 120px;transition:stroke-dasharray .25s}
.tm-ticks line{stroke:#b9d6ea;stroke-width:2}
.tm-ticks text{font-family:var(--en);font-size:10px;fill:#7f97aa;text-anchor:middle}
.tm-knob{cursor:grab;transform-origin:120px 120px;transform:rotate(var(--deg,120deg));transition:transform .25s}
.tm-knob circle{fill:var(--ink);stroke:#fff;stroke-width:4}
.tm.drag .tm-knob,.tm.drag .tm-arc{transition:none}
.tm-c{position:absolute;inset:46px;border-radius:50%;display:grid;place-content:center;pointer-events:none}
.tm-c p{font-weight:700;color:var(--ink)}
.tm-c p b{font-family:var(--en);font-weight:500;font-size:44px;line-height:1}
.tm-y{font-family:var(--en);color:var(--sky-ink);font-size:20px}
.tm-y b{font-size:26px!important}
.tm-btns{display:flex;gap:8px}
.tm-btns button{min-height:44px;border:0;border-radius:999px;background:var(--sky-pale);padding:0 16px;font-size:13px;font-weight:700;color:var(--ink)}

.futatsu{background:#fff}
.dial{display:grid;gap:14px;margin-top:26px;align-items:center}
.reel{background:var(--sky-pale);border-radius:26px;padding:18px 16px;display:grid;justify-items:center;gap:6px;touch-action:pan-x}
.reel-h{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:14px}
.reel-h img{width:40px}
.reel-h .mark{width:26px;height:26px}
.reel-up,.reel-dn{width:48px;height:36px;border:0;border-radius:12px;background:#fff;position:relative}
.reel-up::after,.reel-dn::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-left:1.8px solid var(--ink);border-top:1.8px solid var(--ink);transform:translate(-50%,-30%) rotate(45deg)}
.reel-dn::after{transform:translate(-50%,-70%) rotate(225deg)}
.reel-win{position:relative;height:108px;width:100%;overflow:hidden;isolation:isolate;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.reel-win ul{position:absolute;left:0;right:0;top:36px;transition:transform .55s var(--spring)}
.reel-win li{height:36px;display:grid;place-content:center;text-align:center;font-weight:700;color:var(--ink);font-size:15px;line-height:1.2;opacity:.35;transition:opacity .3s;cursor:pointer}
.reel-win li small{font-size:11px;font-weight:500;color:var(--muted)}
.reel-win li.on{opacity:1}
.reel-win::before{content:"";position:absolute;left:6px;right:6px;top:34px;height:40px;border-radius:12px;background:#fff;z-index:-1}
.dial-plus{font-family:var(--en);font-size:32px;color:var(--sky);text-align:center;line-height:1}
.dial-out{background:var(--ink);color:#fff;border-radius:26px;padding:22px 24px;display:grid;gap:4px}
.do-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px}
.do-row s{font-family:var(--en);opacity:.7}
.do-row.big > b{font-family:var(--en);font-weight:500;font-size:38px;line-height:1.1;font-variant-numeric:lining-nums tabular-nums}
.do-row.big b b{font-size:inherit;font-weight:inherit}
.do-off{justify-self:start;margin-top:6px;background:#fff;color:var(--ink);font-weight:700;font-size:13.5px;border-radius:999px;padding:3px 14px}
.do-off b{font-family:var(--en);font-weight:500;font-size:17px;margin-right:4px}
.do-min{font-size:13px;opacity:.85;margin-top:4px}
.do-min b{font-family:var(--en);font-weight:500;font-size:18px;margin:0 2px}
@media (min-width:960px){.dial{grid-template-columns:1fr 40px 1fr 1fr;gap:18px}}
.plus{background:#fff;padding-top:0}
.plus-in{display:grid;gap:16px;align-items:stretch}
.pl-card{background:var(--sky-pale);border-radius:26px;padding:26px 24px}
.pl-k{font-size:12.5px;font-weight:700;color:var(--sky-ink)}
.pl-h{font-size:20px;font-weight:700;color:var(--ink);margin:4px 0 8px}
.pl-t{font-size:14px}
.pl-p{font-family:var(--en);font-weight:500;font-size:28px;color:var(--ink);margin-top:10px;display:flex;align-items:baseline;gap:10px}
.pl-p small{font-family:var(--jp);font-size:12.5px;color:var(--muted);font-weight:500}
.pl-member{background:var(--milk)}
.pl-pic{border-radius:26px;overflow:hidden;max-width:240px}
.pl-pic img{width:100%;aspect-ratio:3/4;object-fit:cover}
@media (min-width:960px){.plus-in{grid-template-columns:1fr 1fr 220px}}
.p-datsumo .faq{background:var(--sky-pale)}
.p-datsumo .chat{background:#fff}
.p-datsumo .cm.shop{background:var(--sky-pale)}
.p-datsumo .cm.shop .cm-who{color:var(--sky-ink)}
.p-datsumo .ig-band{background:var(--sky-pale)}

/* ================= お店・アクセス ================= */
.phead-shop{background:linear-gradient(180deg,var(--cream),var(--milk))}
.futari{background:#2b2723;color:#efe8de;overflow:hidden}
.futari .h2{color:#fff}
.futari .body{color:rgba(239,232,222,.82)}
.futari-in{display:grid;gap:34px;align-items:center}
.sign-card{margin-top:22px;border-radius:22px;padding:20px 22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);min-height:170px}
.sign-card.in > *{animation:scIn .55s var(--ease) both}
.sign-card.in > *:nth-child(2){animation-delay:.06s}.sign-card.in > *:nth-child(3){animation-delay:.12s}.sign-card.in > *:nth-child(4){animation-delay:.18s}
@keyframes scIn{from{opacity:0;transform:translateY(8px)}}
.sc-k{font-size:12.5px;font-weight:700;color:#e9d5bd;letter-spacing:.06em}
.sc-h{font-size:clamp(18px,2vw,22px);font-weight:700;line-height:1.55;margin-top:4px;color:#fff}
.sc-t{font-size:14px;line-height:1.85;margin-top:8px;color:rgba(239,232,222,.85)}
.sc-go{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 22px}
.sign-card .lnk{color:#fff}
.sign-card.both{border-color:rgba(233,213,189,.5);background:rgba(233,213,189,.08)}
/* 壁 … 実物の白い板張りが、夕方に暮れた色 */
.wall{position:relative;height:460px;border-radius:28px;overflow:hidden;isolation:isolate;background:repeating-linear-gradient(90deg,#6f6a63 0 58px,#625d57 58px 60px);box-shadow:inset 0 0 90px rgba(0,0,0,.45),0 30px 60px -30px rgba(0,0,0,.6);transition:filter .8s}
.wall::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.25),rgba(20,16,12,.55));z-index:-1;pointer-events:none;transition:opacity .8s}
.wall.lit::after{opacity:.55}
.wall.both::after{opacity:.2}
.wall-light{position:absolute;right:-12%;top:-8%;width:92%;height:120%;background:radial-gradient(closest-side,rgba(255,236,206,.0),transparent);transition:background .8s;z-index:-1;pointer-events:none}
.wall.lit .wall-light{background:radial-gradient(closest-side,rgba(255,236,206,.3),transparent)}
.wall.both .wall-light{background:radial-gradient(closest-side,rgba(255,236,206,.5),transparent)}
.wall-door{position:absolute;left:8%;bottom:0;width:34%;height:78%;margin:0;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#141210,#1f1c19);box-shadow:inset 0 0 0 3px #0c0b0a}
.wall-door::after{content:"";position:absolute;right:12%;top:46%;width:6px;height:46px;border-radius:4px;background:#45403a}
.sign{position:absolute;right:14%;width:clamp(116px,13vw,158px);aspect-ratio:1;border-radius:50%;border:0;padding:0;display:grid;place-items:center;transition:filter .5s,box-shadow .5s,transform .45s var(--ease)}
.sign:hover{transform:scale(1.03)}
.sign-m{top:9%;background:#e4e7ea;filter:brightness(.5) saturate(.6);box-shadow:inset 0 0 0 5px #c9ced3}
.sign-m img{width:78%}
.sign-w{top:calc(9% + clamp(116px,13vw,158px) + 26px);background:#0e0d0c;color:#77716a;display:grid;align-content:center;justify-items:center;gap:2px}
.sign-w b{font-family:var(--en);font-weight:600;font-size:clamp(15px,1.6vw,20px);letter-spacing:.08em;transition:color .5s,text-shadow .5s}
.sign-w small{font-family:var(--en);font-size:8px;letter-spacing:.24em}
.sign-w i{position:absolute;border-radius:50%;border:1.3px solid currentColor;transition:border-color .5s}
.sign-w .sb1{width:10px;height:10px;right:26%;top:18%}.sign-w .sb2{width:6px;height:6px;right:20%;top:30%}.sign-w .sb3{width:5px;height:5px;left:30%;bottom:22%}.sign-w .sb4{width:8px;height:8px;left:24%;bottom:32%}
.sign-m[aria-pressed="true"]{filter:none;background:#fff;box-shadow:inset 0 0 0 5px #dfe3e6,0 0 70px 12px rgba(214,236,250,.7)}
.sign-w[aria-pressed="true"]{color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.1),0 0 60px 6px rgba(255,248,236,.32)}
.sign-w[aria-pressed="true"] b{text-shadow:0 0 12px rgba(255,255,255,.7)}
.sign::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1.3px dashed rgba(255,236,206,.45);pointer-events:none;animation:signHint 2.6s ease-in-out infinite}
.sign[aria-pressed="true"]::before{display:none}
@keyframes signHint{50%{transform:scale(1.05);opacity:.35}}
.wall-bub{position:absolute;border-radius:50%;border:1.3px solid rgba(255,255,255,.85);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.7),rgba(255,255,255,.05) 60%);pointer-events:none;animation:wallBub 2.2s var(--ease) forwards}
@keyframes wallBub{from{transform:translateY(0) scale(.4);opacity:1}to{transform:translateY(-240px) scale(1.1);opacity:0}}
@media (min-width:960px){.futari-in{grid-template-columns:1fr 1fr;gap:60px}}
@media (max-width:520px){.wall{height:380px}.sign{right:10%}}
.msg{background:var(--cream)}
.access{background:#fff}
.access-in{display:grid;gap:26px;margin-top:10px}
.info{display:grid;border-top:1px solid var(--line)}
.info > div{display:grid;grid-template-columns:6em 1fr;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.8}
.info dt{color:var(--muted);font-size:13.5px}
.info dd small{display:block;font-size:12.5px;color:var(--muted)}
.info a{font-family:var(--en);font-size:18px;color:var(--ink)}
.map{border-radius:22px;overflow:hidden;box-shadow:var(--sh-s);background:var(--milk);aspect-ratio:4/3}
.map iframe{width:100%;height:100%;border:0;display:block}
@media (min-width:960px){.access-in{grid-template-columns:1fr 1fr;gap:40px;align-items:start}.map{aspect-ratio:auto;height:100%;min-height:380px}}
.p-shop .faq{background:var(--milk)}

/* ---------- 動きを減らす設定 ----------
   押す・なぞる・読み進めるで動く物は止めない。勝手に回り続ける物だけ止める。 */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .foam-hint i::after,.sign::before,.cm.typing i{animation:none}
}
.phead .hero-h1 + .phead-lead{margin-top:14px}
@media (max-width:520px){
  .offer{padding:20px 18px 16px}
  .offer-top{flex-direction:column;align-items:flex-start;gap:4px}
  .offer-l{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}
  .offer-p b{font-size:40px}
}
/* 押せる物は 44px 以上（hp-kata の botan.md §3） */
.lnk{min-height:44px}
.jump a,.chat-q button,.bm-chips button,.bm-view button,.face-sw button,.rsv-tabs button{min-height:44px}
.reel-up,.reel-dn{height:44px}
.offer-sub a,.ct-links a,.rsv-sub a,.rsv-talk a,.ft-nav a,.ft-sns a,.chat-more a{display:inline-flex;align-items:center;min-height:44px}
/* スマホの和文は文節で折る（<wbr> は _build/wbr.py が入れる） */
@media (max-width:959px){body{word-break:keep-all;overflow-wrap:anywhere}}

/* ---------- 仕上げ（2026-10-11） ---------- */
/* ミュゼのページでも、ご予約の節の見出しは白（.p-datsumo .h2 の紺に負けて、暗い地に沈んでいた） */
.p-datsumo .contact .h2{color:#fff}
/* 屋号・予約のボタン・大きな数字は、途中で折らない */
.brand-t b,.btn-rsv,.voice-score b,.mo-p b,.do-row.big > b,.wari-p,.oil-list b,.cc-p dd,.offer-p b{white-space:nowrap}
.mo-p{flex-wrap:wrap}
/* Instagram の埋め込み（公式の枠は最小326px）を、狭い画面の幅に収める */
.ig-in > *{min-width:0}
.ig-embed-wrap iframe{min-width:0!important;max-width:100%!important}
/* 幅320〜359px のスマホ */
@media (max-width:359px){
  .hd-in{gap:8px}
  .brand{gap:8px}
  .hd .mark{width:32px;height:32px}
  .brand-t b{font-size:15px;letter-spacing:.08em}
  .btn-rsv{padding:0 14px;font-size:13.5px;letter-spacing:.04em}
  .hb{width:44px;height:44px}
  .hb i:first-of-type{top:17px}.hb i:last-of-type{top:26px}
  .wari{grid-template-columns:1fr}
  .voice-score b{font-size:56px}
  .mo-p b{font-size:48px}
  .num b{font-size:24px}
  .ct-line{grid-template-columns:1fr}
  .do-row.big > b{font-size:32px}
  .pl-h{font-size:18px}
}
