/* LINE公式アカウント予約 お客様向け予約画面（LIFF）の見た目。app.blade.php から ?v=更新時刻 付きで読み込む */
:root{--wait:#c2410c;--wait-l:#fff1e6;--wait-line:#fdba74;--bad-bg:#fef2f2;--btn-dis-ink:#3f6b50;--g:#06C755;--g-d:#05a647;--g-l:#e8f9ef;--ink:#1f2937;--sub:#6b7280;--line:#e5e7eb;--bg:#f6f7f9;--card:#fff;--red:#dc2626;--amber:#b45309;
  --on-g:#fff;--input:#fff;--muted:#eef0f3;--dis:#f1f2f4;--dis-ink:#b3b8bf;--mk:#c7cbd1;--warn:#fef3c7;--sat:#2563eb;--g-dis:#b9e9cc;--policy:#fffbeb;--policy-line:#fde68a;--glow:none}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}
header{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--line)}
html[lang="zh-CN"],html[lang="zh-CN"] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}
.lang-sw{display:flex;justify-content:flex-end;gap:.15rem;padding:.3rem .6rem 0}
.lang-sw button{border:0;background:none;color:var(--sub);font:inherit;font-size:.72rem;line-height:1.4;padding:.1rem .5rem;border-radius:999px;cursor:pointer;white-space:nowrap}
.lang-sw button.on{background:var(--g-l);color:var(--g-d);font-weight:700}
.hd{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem}
.hd h1{font-size:1rem;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabs{display:flex}
.tabs button{flex:1;white-space:nowrap;border:0;background:none;padding:.6rem;font-size:.9rem;color:var(--sub);border-bottom:3px solid transparent;font-weight:600}
.tabs button.on{color:var(--g-d);border-color:var(--g)}
main{max-width:560px;margin:0 auto;padding:1rem 1rem 7rem}
.steps{display:flex;gap:.25rem;margin-bottom:1rem}
.steps i{flex:1;height:4px;border-radius:2px;background:var(--line)}
.steps i.on{background:var(--g)}
h2{font-size:1.1rem;margin:.25rem 0 .75rem}
.note{font-size:.9rem;color:var(--sub);white-space:pre-line}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin-bottom:.6rem}
.cat{font-size:.8rem;color:var(--sub);font-weight:700;margin:1rem 0 .4rem}
.opt{display:flex;gap:.75rem;align-items:flex-start;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1rem;margin-bottom:.5rem;font:inherit;color:inherit;cursor:pointer}
.opt.on{border-color:var(--g);background:var(--g-l)}
.opt[disabled]{opacity:.45;cursor:not-allowed}
.opt .mk{flex:0 0 1.25rem;height:1.25rem;margin-top:.15rem;border:2px solid var(--mk);border-radius:50%}
.opt.multi .mk{border-radius:5px}
.opt.on .mk{border-color:var(--g);background:var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8 13.6 4.4 10l-1.4 1.4L8 16.4l9-9-1.4-1.4z'/%3E%3C/svg%3E") center/90% no-repeat}
.opt b{display:block}
.opt .ph{flex:0 0 3.5rem;width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover;background:var(--line)}
.opt .who{flex:1;min-width:0}
.opt:has(.ph){align-items:center}
.opt small{display:block;color:var(--sub);font-size:.85rem}
.price{margin-left:auto;white-space:nowrap;font-weight:700;font-size:.95rem}
.cal-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.cal .w{text-align:center;font-size:.75rem;color:var(--sub)}
.cal .w.sun{color:var(--red)} .cal .w.sat{color:var(--sat)}
.day{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:.35rem 0;text-align:center;font:inherit;color:inherit;min-height:3.4rem}
.day small{display:block;font-size:.95rem;font-weight:700;line-height:1.2}
.day .mark{font-size:.9rem;color:var(--g-d);font-weight:700}
.day.few .mark{color:var(--amber)}
.day[disabled]{background:var(--dis);color:var(--dis-ink)}
.day[disabled] .mark{color:var(--dis-ink)}
.day.in{background:var(--g-l);border-color:transparent}
.day.full .mark{color:var(--amber)}
.day.on{border-color:var(--g);background:var(--g-l)}
.times{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.times button{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:.6rem 0;font:inherit;font-weight:700}
.times button.on{border-color:var(--g);background:var(--g-l);color:var(--g-d)}
label.f{display:block;font-size:.85rem;font-weight:700;margin:.8rem 0 .3rem}
label.f em{font-style:normal;color:var(--red);font-size:.75rem;margin-left:.3rem}
label.f span.opt-l{font-weight:400;color:var(--sub);font-size:.75rem;margin-left:.3rem}
input,textarea,select{width:100%;font:inherit;font-size:16px;padding:.65rem .75rem;border:1.5px solid var(--line);border-radius:10px;background:var(--input);color:inherit}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--g)}
input.bad,select.bad,textarea.bad{border-color:var(--red);background:var(--bad-bg)}
.qs.bad{outline:2px solid var(--red);outline-offset:3px;border-radius:10px}
.err{color:var(--red);font-size:.8rem;margin-top:.25rem}
.alert{border-radius:12px;padding:.8rem 1rem;margin-bottom:.8rem;font-size:.9rem}
.alert.e{background:#fef2f2;color:#991b1b}
.alert.i{background:var(--g-l);color:var(--g-d)}
dl.sum{margin:0}
dl.sum div{display:flex;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
dl.sum div:last-child{border:0}
dl.sum dt{flex:0 0 5.5rem;color:var(--sub);font-size:.85rem}
dl.sum dd{margin:0;flex:1;font-weight:600}
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom))}
.bar .in{max-width:560px;margin:0 auto;display:flex;gap:.5rem}
.btn{flex:1;border:0;border-radius:999px;padding:.85rem 1rem;font:inherit;font-weight:700;background:var(--g);color:var(--on-g);box-shadow:var(--glow)}
.btn[disabled]{background:var(--g-dis);color:var(--btn-dis-ink);box-shadow:none}
.btn.sec{flex:0 0 auto;background:var(--muted);color:var(--ink);box-shadow:none}
.btn.dng{background:var(--card);color:var(--red);border:1.5px solid #fecaca;box-shadow:none}
.link{background:none;border:0;color:var(--g-d);font:inherit;font-weight:700;padding:0;text-decoration:underline}
.bk-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.bk-h b{font-size:1.05rem}
.tag{display:inline-block;white-space:nowrap;flex:none;font-size:.75rem;border-radius:999px;padding:.05rem .55rem;background:var(--muted);color:var(--sub)}
.tag.ok{background:var(--g-l);color:var(--g-d)}
.tag.wl{background:var(--warn);color:var(--amber)}
.opt .ev{flex:1;min-width:0}
.opt .ev img{display:block;width:100%;max-height:160px;object-fit:cover;border-radius:8px;margin-bottom:.4rem}
.opt .ev .ev-when{color:var(--g-d);font-weight:700}
.times.seats{grid-template-columns:repeat(3,1fr)}
.times button small.seat{display:block;font-size:.7rem;font-weight:600;color:var(--sub);line-height:1.2;margin-top:.15rem}
.times button.on small.seat{color:var(--g-d)}
.card em.req{font-style:normal;color:var(--red);font-size:.75rem;margin-left:.3rem}
.lim{display:inline-block;margin-top:.2rem;font-size:.72rem;font-weight:700;color:var(--amber);background:var(--warn);border-radius:6px;padding:0 .4rem}
.day.wait{background:var(--wait-l);border-color:var(--wait-line)}
.day.wait .mark{display:block;line-height:1.15}
.day.wait .mark .fl{display:block;font-size:.8rem;color:var(--sub);font-weight:600}
.day.wait .mark .wt{display:block;font-size:.8rem;color:var(--wait);font-weight:800}
.day.ended .mark{display:block;font-size:.8rem;line-height:1.15}
.day.ended .mark span{display:block}
.tr{display:flex;align-items:center;gap:.5rem}
.tr select{flex:1}
.qs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.qs button{border:1.5px solid var(--line);background:var(--card);color:inherit;border-radius:999px;padding:.4rem .8rem;font:inherit;font-size:.88rem}
.qs button.on{border-color:var(--g);background:var(--g-l);color:var(--g-d);font-weight:700}
.row{display:flex;gap:.5rem;margin-top:.7rem}
.row .btn{padding:.6rem .8rem;font-size:.9rem}
.center{text-align:center}
.done{font-size:3rem;color:var(--g)}
.spin{display:flex;justify-content:center;padding:3rem 0}
.spin i{width:2rem;height:2rem;border:3px solid var(--line);border-top-color:var(--g);border-radius:50%;animation:r .8s linear infinite}
@keyframes r{to{transform:rotate(360deg)}}
.devbar{background:#fef3c7;color:#92400e;font-size:.75rem;padding:.3rem 1rem;text-align:center}
.hide{display:none!important}

.consent{display:flex;align-items:flex-start;gap:.55rem;margin:.6rem 0;font-size:.95rem;cursor:pointer}
.consent input{width:1.2rem;height:1.2rem;margin-top:.15rem;flex:none;accent-color:var(--g)}
.reasons{margin:.4rem 0 .6rem}
.reasons .consent{margin:.35rem 0}
.card.policy{background:var(--policy);border-color:var(--policy-line)}
/* Web予約の本人確認（メールアドレス・確認コード） */
.web-login h2{font-size:1.05rem;margin:.2rem 0 .5rem}
.web-login .muted{color:var(--sub);font-size:.85rem;line-height:1.7;margin:0 0 .4rem}
.web-login .btn{display:block;width:100%;margin-top:1rem}
.web-login a{color:var(--g)}
.web-out{display:block;text-align:center;font-size:.8rem;color:var(--sub);margin:1.2rem 0 5rem}

/* 予約画面のデザイン（店舗設定 booking_theme。App\Support\BookingTheme）。色は変数だけで切り替える */
body.t-natural{--g:#b0714a;--g-d:#8f5634;--g-l:#f6ece4;--ink:#3b2f27;--sub:#7a6a5e;--line:#e8ddd3;--bg:#faf6f1;--card:#fff;--mk:#cdbfb3;--g-dis:#e3cbbb;--muted:#f1e9e1}
body.t-clinic{--g:#2563eb;--g-d:#1d4ed8;--g-l:#e8f0fe;--ink:#1e293b;--sub:#64748b;--line:#e2e8f0;--bg:#f5f8fc;--g-dis:#bfd3fb;--sat:#0891b2}
body.t-pop{--g:#ec4899;--g-d:#db2777;--g-l:#fde7f3;--ink:#3b1d2e;--sub:#8b6b7d;--line:#f6d7e7;--bg:#fff7fb;--g-dis:#f9c4df;--muted:#fbeaf3}
body.t-elegant,body.t-majin{--ink:#f3f4f2;--sub:#a3a8a5;--line:#2c3130;--bg:#0c0e0e;--card:#161a19;--input:#0f1312;--muted:#232827;--dis:#121615;--dis-ink:#4b524f;
  --mk:#4b524f;--warn:#3a2f12;--amber:#f5b942;--red:#f87171;--sat:#60a5fa;--policy:#2a2412;--policy-line:#5c4a12}
body.t-elegant{--g:#c9a45c;--g-d:#d8b878;--g-l:#2b2618;--on-g:#1a1408;--g-dis:#5c4e2e}
body.t-majin{--g:#2dff7a;--g-d:#5dffa0;--g-l:#0f2a1a;--on-g:#03140a;--g-dis:#1d4d31;--glow:0 0 18px rgba(45,255,122,.45);--card:#0f1412;--line:#1f2a24}
body.t-elegant header,body.t-majin header{background:#0c0e0e}
body.t-majin .tabs button.on,body.t-majin .done{text-shadow:0 0 12px rgba(45,255,122,.6)}
body.t-elegant .btn.dng,body.t-majin .btn.dng{border-color:#5b2323}
body.t-elegant .alert.e,body.t-majin .alert.e{background:#3a1717;color:#fecaca}
body.t-elegant,body.t-majin{--wait:#fdba74;--wait-l:#3a2410;--wait-line:#7c4a1a;--bad-bg:#3a1717;--btn-dis-ink:#d1d5db}
body.t-elegant input,body.t-elegant textarea,body.t-elegant select,body.t-majin input,body.t-majin textarea,body.t-majin select{color:var(--ink)}

/* パステル：やさしい配色のカラフル（メインはラベンダー。段階・日付・時間を淡い色で塗り分ける） */
body.t-pastel{--g:#8b7cf6;--g-d:#6d5ce8;--g-l:#f1eeff;--ink:#3f3a56;--sub:#857f9b;--line:#ece6f7;--bg:#fdf7ff;--card:#fff;--mk:#cfc6ea;--g-dis:#d6cffb;--muted:#f5f1fc;--sat:#5aa9e6;--red:#f0718f;--amber:#e39a3b;--warn:#fff3df}
body.t-pastel{background:linear-gradient(180deg,#fff5fb 0,#f6f4ff 45%,#f1fbf7 100%) fixed}
body.t-pastel header{background:rgba(255,255,255,.85);backdrop-filter:blur(6px)}
body.t-pastel .steps i.on:nth-child(5n+1){background:#f9a8c9}body.t-pastel .steps i.on:nth-child(5n+2){background:#fcc79a}
body.t-pastel .steps i.on:nth-child(5n+3){background:#9be3c4}body.t-pastel .steps i.on:nth-child(5n+4){background:#9cc9f5}body.t-pastel .steps i.on:nth-child(5n){background:#b9a8f7}
body.t-pastel .card{border-color:#efe8fb;box-shadow:0 2px 10px rgba(139,124,246,.06)}
body.t-pastel .day:not([disabled]):nth-child(7n+1){background:#fff4f8}body.t-pastel .day:not([disabled]):nth-child(7n+2){background:#fff8f1}
body.t-pastel .day:not([disabled]):nth-child(7n+3){background:#f3fcf8}body.t-pastel .day:not([disabled]):nth-child(7n+4){background:#f2f8ff}
body.t-pastel .day:not([disabled]):nth-child(7n+5){background:#f7f4ff}body.t-pastel .day:not([disabled]):nth-child(7n+6){background:#fffbec}
body.t-pastel .day.on{background:var(--g-l)!important}
body.t-pastel .btn{background:linear-gradient(90deg,#e57aa8,#8b7cf6 55%,#5a9fe0);color:#fff;text-shadow:0 1px 2px rgba(80,60,140,.25)}
body.t-pastel .btn[disabled]{background:var(--g-dis)}
body.t-pastel .btn.sec{background:var(--muted);color:var(--ink);text-shadow:none}
body.t-pastel .btn.dng{background:#fff;color:var(--red);text-shadow:none}

/* 和モダン：生成り×藍。見出しは明朝 */
body.t-wamodern{--g:#1f3a5f;--g-d:#16304f;--g-l:#e7ecf3;--ink:#2b2b2b;--sub:#6b6458;--line:#e4dccb;--bg:#f7f3ea;--card:#fffdf8;--mk:#c9bfa9;--g-dis:#b9c4d3;--muted:#efe9dc;--sat:#3b6ea8;--red:#b23a3a}
body.t-wamodern h1,body.t-wamodern h2,body.t-wamodern .bk-h b{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;letter-spacing:.04em}
body.t-wamodern header{background:#fffdf8;border-bottom:2px solid #1f3a5f}
body.t-wamodern .btn{border-radius:6px}
/* フォレスト：深緑×木目調 */
body.t-forest{--g:#2f5d3a;--g-d:#244a2e;--g-l:#e6efe6;--ink:#26302a;--sub:#6b6a5c;--line:#ddd6c8;--bg:#f3f1ea;--card:#fffdf7;--mk:#c2b8a3;--g-dis:#b5c9b9;--muted:#ece7db}
body.t-forest header{background:repeating-linear-gradient(90deg,#8b6b4a 0,#9a7a57 6px,#8b6b4a 12px,#7d5f40 18px);border-bottom:0}
body.t-forest header h1{color:#fffaf0}
body.t-forest .tabs{background:#fffdf7}
/* モノトーン */
body.t-mono{--g:#111;--g-d:#000;--g-l:#ececec;--ink:#111;--sub:#666;--line:#ddd;--bg:#f5f5f5;--card:#fff;--mk:#bbb;--g-dis:#bdbdbd;--muted:#eee;--sat:#444;--red:#b91c1c}
body.t-mono .btn{letter-spacing:.06em}
/* 季節：桜・夏・紅葉・冬（背景に季節の模様） */
body.t-sakura{--g:#e0789a;--g-d:#c95c80;--g-l:#fde8ee;--ink:#4a2e36;--sub:#8c6c76;--line:#f6dbe3;--bg:#fff6f8;--g-dis:#f4c3d3;--muted:#fdeef2}
body.t-sakura{background:radial-gradient(circle at 12% 8%,rgba(248,180,200,.35) 0 18px,transparent 19px),radial-gradient(circle at 88% 22%,rgba(248,180,200,.28) 0 12px,transparent 13px),radial-gradient(circle at 70% 70%,rgba(248,180,200,.22) 0 16px,transparent 17px),#fff6f8 fixed}
body.t-summer{--g:#0ea5c6;--g-d:#0784a0;--g-l:#dff6fb;--ink:#0f2f3a;--sub:#5b7c86;--line:#d3eef4;--bg:#effaff;--g-dis:#a9dfeb;--muted:#e3f5fa;--amber:#d97706}
body.t-summer header{background:linear-gradient(90deg,#e0f7ff,#fff 70%)}
body.t-summer{background:linear-gradient(180deg,#effaff 0,#f7fdff 60%,#fff8e6 100%) fixed}
body.t-autumn{--g:#c2552a;--g-d:#a4421d;--g-l:#fbe6da;--ink:#3b2418;--sub:#86695a;--line:#f0dccd;--bg:#fbf5ee;--g-dis:#ecbfa6;--muted:#f7ebe0;--amber:#c98a12}
body.t-autumn{background:linear-gradient(160deg,#fff4e8 0,#fbf5ee 50%,#fdeedd 100%) fixed}
body.t-autumn .steps i.on:nth-child(odd){background:#e3a21a}
body.t-winter{--g:#4a6fa5;--g-d:#3a5a8a;--g-l:#e5edf7;--ink:#1e2a3a;--sub:#66768a;--line:#dde5ef;--bg:#f4f7fb;--g-dis:#b7c7dd;--muted:#eaf0f7}
body.t-winter{background:radial-gradient(circle at 15% 12%,#fff 0 4px,transparent 5px),radial-gradient(circle at 75% 30%,#fff 0 3px,transparent 4px),radial-gradient(circle at 40% 65%,#fff 0 5px,transparent 6px),linear-gradient(180deg,#e9f0f9,#f4f7fb 60%) fixed}
/* 見やすさ重視：大きい文字・太い線・はっきりした色 */
body.t-readable{--g:#007a33;--g-d:#005c26;--g-l:#e3f4ea;--ink:#000;--sub:#333;--line:#8a8a8a;--bg:#fff;--card:#fff;--mk:#555;--g-dis:#9fbfab;--muted:#e6e6e6;--dis-ink:#888;--red:#b00020;--amber:#8a4b00}
body.t-readable,body.t-readable input,body.t-readable select,body.t-readable textarea{font-size:19px}
body.t-readable .card,body.t-readable .opt,body.t-readable .day,body.t-readable .times button,body.t-readable input,body.t-readable select,body.t-readable textarea{border-width:2px}
body.t-readable .btn{padding:1.05rem 1rem;font-size:1.1rem}
body.t-readable .day{min-height:4rem}body.t-readable .day small{font-size:1.1rem}
body.t-readable .times{grid-template-columns:repeat(3,1fr)}body.t-readable .times button{padding:.85rem 0;font-size:1.05rem}
body.t-readable .opt small,body.t-readable .note,body.t-readable .tag{font-size:.95rem}
body.t-readable .tabs button{font-size:1.05rem;padding:.8rem}

/* 予約完了の「カレンダーに追加」 */
.cal-add{display:flex;flex-direction:column;gap:.5rem;max-width:320px;margin:1.2rem auto 0}
.cal-add .btn{display:block;text-decoration:none;text-align:center;padding:.7rem 1rem;font-size:.92rem}
.cal-add .note{margin:0}

/* イベントの開催スケジュール（日にちから選ぶ） */
.vsw{display:flex;background:var(--muted);border-radius:999px;padding:3px;margin-bottom:.9rem}
.vsw button{flex:1;border:0;background:none;border-radius:999px;padding:.5rem .3rem;font:inherit;font-size:.85rem;font-weight:700;color:var(--sub)}
.vsw button.on{background:var(--card);color:var(--g-d);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chips{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;margin-bottom:.6rem;scrollbar-width:none}
.chips button{flex:0 0 auto;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.8rem;color:inherit;white-space:nowrap}
.chips button.on{border-color:var(--g);background:var(--g-l);color:var(--g-d);font-weight:700}
.sdays{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none}
.sd{flex:0 0 3.1rem;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:.35rem 0;font:inherit;color:inherit;text-align:center;line-height:1.2}
.sd small{display:block;font-size:.95rem;font-weight:700}
.sd span{display:block;font-size:.7rem;color:var(--sub)}
.sd.sun span{color:var(--red)} .sd.sat span{color:var(--sat)}
.sd i{display:block;width:6px;height:6px;border-radius:50%;margin:.25rem auto 0}
.sd i.dot{background:var(--g)} .sd i.dot.full{background:var(--dis-ink)}
.sd.none{background:var(--dis);color:var(--dis-ink)} .sd.none span{color:var(--dis-ink)}
.sd.on{border-color:var(--g);background:var(--g-l)}
.sc{display:flex;gap:.8rem;align-items:center;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.8rem .9rem;margin-bottom:.5rem;font:inherit;color:inherit;cursor:pointer}
.sc-t{flex:0 0 3.4rem;text-align:center;line-height:1.2}
.sc-t b{display:block;font-size:1.05rem}
.sc-t small{font-size:.72rem;color:var(--sub)}
.sc-m{flex:1;min-width:0}
.sc-m b{display:block;font-size:.95rem}
.sc-m small{display:block;font-size:.78rem;color:var(--sub)}
.sc-s{display:inline-block;margin-top:.3rem;font-size:.75rem;font-weight:700;color:var(--g-d);background:var(--g-l);border-radius:6px;padding:.05rem .45rem;line-height:1.5}
.sc-s.full{color:var(--amber);background:var(--warn)}
.sc-go{flex:0 0 auto;font-size:1.4rem;color:var(--mk);line-height:1}
.sc.full{background:var(--dis)}
.sc[disabled]{opacity:.6;cursor:not-allowed}

/* 2026-10-31 使いやすさの改善：空き待ちの分かりやすさ・完了画面・入力の確かめ */
.alert.w{background:var(--wait-l);color:var(--wait);border:1.5px solid var(--wait-line)}
.alert.w b{font-weight:800}
.legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.85rem;color:var(--sub);margin:.7rem 0 0}
.legend i{font-style:normal;font-weight:700;color:var(--g-d)}
.legend i.lg-few{color:var(--amber)}
.legend i.lg-wait{color:var(--wait);background:var(--wait-l);border:1px solid var(--wait-line);border-radius:4px;padding:0 .25rem;font-size:.8rem}
.legend i.lg-off{color:var(--dis-ink);background:var(--dis);border-radius:4px;padding:0 .25rem}
.wl-hint{background:var(--wait-l);color:var(--wait);border:1px solid var(--wait-line);border-radius:10px;padding:.55rem .8rem;font-size:.88rem;font-weight:700;margin:0 0 .7rem}
.day.off .mark{color:var(--dis-ink)}
.opt.big{align-items:center;padding:1rem}
.opt.big b{font-size:1.02rem}
.opt .num{flex:0 0 1.7rem;height:1.7rem;border-radius:50%;background:var(--g-l);color:var(--g-d);font-weight:800;display:flex;align-items:center;justify-content:center}
.opt.wl-go{border-color:var(--wait-line);background:var(--wait-l)}
.opt.wl-go .num{background:var(--wait);color:#fff}
.opt .go{margin-left:auto;font-size:1.4rem;color:var(--mk);line-height:1}
.near .opt{align-items:center}
.wl-more{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .8rem;margin-top:.9rem;background:var(--wait-l);border-color:var(--wait-line)}
.wl-more b{font-size:.92rem}
.wl-more .link{color:var(--wait);font-size:.95rem}
.wl-steps{margin:0 0 .8rem;padding:.7rem .9rem .7rem 2.1rem;background:var(--wait-l);border:1px solid var(--wait-line);border-radius:12px;font-size:.92rem;color:var(--ink)}
.wl-steps li{margin:.15rem 0}
.wl-steps li::marker{color:var(--wait);font-weight:800}
.done.wl{font-size:2.6rem}
.wl-done p{margin:.35rem 0}
.wl-card.ready{border:2px solid var(--g);background:var(--g-l)}
.wl-card .tag.wl{background:var(--wait-l);color:var(--wait);font-weight:700}
.wl-card .tag.ok{font-weight:700}
.wl-card.ready .tag.ok{background:var(--g);color:var(--on-g)}
.wl-now{margin:.5rem 0 0;font-weight:700;color:var(--g-d)}
.wl-stop{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.7rem;font-size:.9rem}
.wl-stop .btn{flex:0 0 auto;padding:.45rem .9rem;font-size:.88rem}
.link.sub{color:var(--sub);font-weight:600;font-size:.88rem}
.edit-l{margin:.5rem 0 0;text-align:right;font-size:.9rem}
.done-notes{margin:.2rem 0 .8rem;padding-left:1.2rem;font-size:.92rem}
.done-notes li{margin:.15rem 0}
.shop-info .note{margin:.3rem 0 .6rem}
.shop-info a:not(.btn){color:var(--g-d);font-weight:700}
.shop-info .btn.tel{display:block;text-align:center;text-decoration:none}
.bd{display:flex;gap:.4rem}
.bd-i{display:flex;align-items:center;gap:.25rem;flex:1}
.bd-i:first-child{flex:2.2}
.bd-i select{padding-left:.5rem;padding-right:.3rem}
.bd-i span{font-size:.9rem;flex:none}
.tabs .badge{display:inline-block;min-width:1.25rem;margin-left:.3rem;padding:0 .35rem;border-radius:999px;background:var(--g);color:var(--on-g);font-size:.72rem;line-height:1.25rem;vertical-align:.1em}
.sizes{margin:-.2rem 0 .7rem 1.2rem;border-color:var(--g)}
.sizes > b{display:block;margin-bottom:.4rem}
/* 特定商取引法の表記のモーダル・利用目的の文・事前決済の最終確認（2026-10-31） */
.note.privacy{margin-top:.8rem}
.consent.bad{color:var(--red)}
.consent em{margin-left:.4rem}
dl.sum.pre dd{white-space:pre-wrap;text-align:left}
.modal-bg{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:1rem}
.modal{background:var(--card);color:var(--ink);border-radius:12px;padding:1rem;width:100%;max-width:520px;max-height:85vh;overflow:auto}
.modal .btn{width:100%;margin-top:.8rem}
