:root{--primary:#e60044;--primary-dark:#c3003a;--primary-light:#fce4eb;--primary-tint:#fff0f4;--bg:#f5f5f7;--surface:#fff;--surface-sub:#fafafb;--text:#1a1a1a;--text-sub:#555;--text-mute:#999;--border:#e0e0e0;--border-strong:#ccc;--line-soft:#eee;--avail:#2e9e5b;--few:#e8920c;--full:#bbb;--closed:#c9c9c9;--sat:#1769c0;--sun:#d32f4a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-pop:0 4px 16px #0000001f;--shadow-sticky:2px 0 4px #0000000f;--font:"Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, system-ui, -apple-system, sans-serif;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}input,textarea{font-family:inherit}.app{background:var(--bg);flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;display:flex;position:relative}.app-header{z-index:20;background:var(--primary);border-bottom:none;flex-direction:column;align-items:center;padding:13px 16px;display:flex;position:sticky;top:0;box-shadow:0 1px 5px #00000024}.brandmark{letter-spacing:.14em;color:#fff;margin:0 0 0 .14em;font-size:20px;font-weight:800}.brandmark .dot{color:#fff;opacity:.65}.brandtag{letter-spacing:.14em;color:#ffffffd1;margin-top:3px;font-size:10.5px}.brandrule{display:none}.content{flex:1;padding:16px 16px 128px}.step-ind{align-items:flex-start;margin:2px 0 22px;display:flex}.step-ind .si{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.step-ind .si-node{background:var(--surface);width:26px;height:26px;color:var(--text-mute);border:1.5px solid var(--border);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex}.step-ind .si-label{color:var(--text-mute);font-size:11px}.step-ind .si:before{content:"";background:var(--border);width:100%;height:2px;position:absolute;top:13px;left:-50%}.step-ind .si:first-child:before{display:none}.step-ind .si.active .si-node,.step-ind .si.done .si-node{background:var(--primary);color:#fff;border-color:var(--primary)}.step-ind .si.active .si-label{color:var(--primary);font-weight:700}.step-ind .si.done .si-label{color:var(--text-sub)}.step-ind .si.done:before,.step-ind .si.active:before{background:var(--primary)}.heading{color:var(--text);margin:0 0 6px;font-size:20px;font-weight:700}.lead{color:var(--text-sub);margin:0 0 18px;font-size:14px;line-height:1.7}.eyebrow{color:var(--primary);align-items:center;gap:8px;margin:20px 0 10px;font-size:12px;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--primary);border-radius:2px;width:3px;height:14px}.staff-intro{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.staff-intro .ring{color:#fff;background:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;font-weight:700;display:flex}.staff-intro .label{letter-spacing:.1em;color:var(--primary);font-size:10.5px;font-weight:700}.staff-intro .name{color:var(--text);margin-top:2px;font-size:17px;font-weight:700}.staff-intro .note{color:var(--text-mute);margin-top:2px;font-size:11.5px}.stores{gap:10px;display:flex}.store{border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);text-align:center;flex:1;padding:16px 10px;transition:all .15s}.store .jp{color:var(--text);font-size:16px;font-weight:600}.store.on{border-color:var(--primary);background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary)}.store.on .jp{color:var(--primary-dark)}.menu{text-align:left;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;margin-bottom:10px;padding:14px 16px;transition:all .15s;display:block}.menu.on{border-color:var(--primary);background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary)}.menu .top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.menu .nm{color:var(--text);font-size:15px;font-weight:600;line-height:1.45}.menu .pr{color:var(--primary);white-space:nowrap;font-size:18px;font-weight:700}.menu .pr small{color:var(--text-mute);font-size:11px;font-weight:400}.menu .dur{color:var(--text-mute);margin-top:4px;font-size:12px}.menu .desc{color:var(--text-sub);border-top:1px solid var(--line-soft);margin-top:8px;padding-top:8px;font-size:12.5px;line-height:1.6}.cal-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.cal-nav .lbl{color:var(--text);font-size:14px;font-weight:700}.cal-nav button{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-md);color:var(--text-sub);white-space:nowrap;padding:7px 12px;font-size:13px;font-weight:600}.cal-nav button:disabled{opacity:.35}.cal-scroll{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);-webkit-overflow-scrolling:touch;max-height:60vh;overflow:auto}.cal-grid{width:max-content;min-width:100%;display:grid}.cal-corner{z-index:4;background:var(--surface);border-right:1px solid var(--border);border-bottom:2px solid var(--border-strong);position:sticky;top:0;left:0}.cal-dayhead{z-index:3;background:var(--surface);border-bottom:2px solid var(--border-strong);border-right:1px solid var(--line-soft);text-align:center;padding:6px 0;position:sticky;top:0}.cal-dayhead .wd{color:var(--text-mute);font-size:11px;font-weight:600}.cal-dayhead .dy{color:var(--text);margin-top:1px;font-size:15px;font-weight:700}.cal-dayhead.sat .wd,.cal-dayhead.sat .dy{color:var(--sat)}.cal-dayhead.sun .wd,.cal-dayhead.sun .dy{color:var(--sun)}.cal-time{z-index:2;background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-sticky);color:var(--text-sub);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:11px;display:flex;position:sticky;left:0}.cal-time.hour{color:var(--text);border-top:1px solid var(--line-soft);font-weight:700}.cal-cell{background:var(--surface);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);width:100%;height:34px;color:var(--full);justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:700;line-height:1;display:flex}.cal-cell.hour{border-top:1px solid var(--line-soft)}.cal-cell.ok{color:var(--avail)}.cal-cell.few{color:var(--few)}.cal-cell.full{color:var(--full);background:var(--surface-sub)}.cal-cell.off{color:var(--closed);background:#f2f2f4;font-size:12px}.cal-cell.load{color:var(--border)}.cal-cell.ok,.cal-cell.few{cursor:pointer}.cal-cell.ok:active,.cal-cell.few:active{background:var(--primary-tint)}.cal-cell.on{background:var(--primary);color:#fff;box-shadow:inset 0 0 0 2px var(--primary-dark)}.cal-cell:disabled{cursor:default}.cal-legend{color:var(--text-sub);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;display:flex}.cal-legend span{align-items:center;gap:4px;display:inline-flex}.cal-legend b{font-size:14px}.cal-legend .g{color:var(--avail)}.cal-legend .o{color:var(--few)}.cal-legend .x{color:var(--full)}.cal-legend .d{color:var(--closed)}.field{margin-bottom:16px}.field label{color:var(--text);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field .req{color:#fff;background:var(--primary);letter-spacing:.04em;vertical-align:middle;border-radius:10px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700}.field input,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);width:100%;height:48px;color:var(--text);padding:0 14px;font-size:16px;transition:all .15s}.field input::placeholder,.field textarea::placeholder{color:#bbb}.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.field textarea{resize:vertical;height:auto;min-height:92px;padding:12px 14px;line-height:1.6}.field .err{color:var(--primary-dark);margin-top:6px;font-size:12px}.policy{background:var(--surface-sub);border:1px solid var(--border);border-radius:var(--radius-md);margin:18px 0;padding:14px 16px}.policy .ttl{letter-spacing:.06em;color:var(--primary);margin-bottom:8px;font-size:11.5px;font-weight:700}.policy .hl{color:var(--text);margin-bottom:9px;font-size:13px;font-weight:700;line-height:1.6}.policy ul{margin:0;padding-left:18px}.policy li{color:var(--text-sub);margin-bottom:5px;font-size:12px;line-height:1.7}.consent{align-items:flex-start;gap:10px;margin:14px 0 4px;display:flex}.consent input{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin-top:1px}.consent label{color:var(--text);font-size:13.5px;line-height:1.55}.summary{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--border);margin-bottom:16px;overflow:hidden}.srow{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:14px;padding:13px 16px;display:flex}.srow:last-child{border-bottom:none}.srow .k{color:var(--text-mute);flex-shrink:0;width:72px;font-size:12px}.srow .v{color:var(--text);flex:1;font-size:14px;line-height:1.55}.srow .v .strong{font-size:15px;font-weight:700}.srow.feature{background:var(--primary-tint)}.srow.feature .v .strong{color:var(--primary-dark)}.tag{letter-spacing:.04em;border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:700;display:inline-block}.tag.nm{background:var(--primary);color:#fff}.tag.om{background:var(--bg);color:var(--text-sub);border:1px solid var(--border)}.fineprint{color:var(--text-mute);font-size:12px;line-height:1.7}.footer{width:100%;max-width:600px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 12px #0000000d}.footer-sel{color:var(--text-sub);text-align:center;margin-bottom:8px;font-size:12.5px}.footer-sel b{color:var(--primary-dark);font-weight:700}.btn{border-radius:var(--radius-md);letter-spacing:.02em;background:var(--primary);color:#fff;border:none;width:100%;padding:15px;font-size:16px;font-weight:700;transition:all .15s}.btn:active{background:var(--primary-dark)}.btn:disabled{color:#fff;background:#ddd}.btn.accent{background:var(--primary)}.btn.accent:active{background:var(--primary-dark)}.back{color:var(--text-sub);background:0 0;border:none;align-items:center;gap:2px;margin-bottom:6px;padding:4px 2px;font-size:14px;display:inline-flex}.done{text-align:center;padding:28px 6px}.done .seal{background:var(--primary-tint);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex}.done .seal svg{width:32px;height:32px}.done h2{color:var(--text);margin:0 0 12px;font-size:21px;font-weight:700}.done p{color:var(--text-sub);margin:0;font-size:14px;line-height:1.85}.paybox{background:var(--surface);border:1px solid var(--primary-light);border-radius:var(--radius-md);text-align:left;margin:20px 0;padding:18px}.paybox .ph{color:var(--primary-dark);margin-bottom:8px;font-size:14px;font-weight:700}.paybox .amt{color:var(--text);margin:6px 0 10px;font-size:28px;font-weight:700}.paybox .amt small{color:var(--text-mute);font-size:13px;font-weight:400}.paybox p{color:var(--text-sub);font-size:12.5px;line-height:1.7}.note{text-align:center;color:var(--text-mute);padding:28px 10px;font-size:13.5px;line-height:1.8}.loading{text-align:center;color:var(--text-mute);padding:56px 16px;font-size:13px}.spinner{border:3px solid var(--line-soft);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;margin:0 auto 14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner-err{background:var(--primary-tint);color:var(--primary-dark);border:1px solid var(--primary-light);border-radius:var(--radius-md);text-align:center;margin-bottom:14px;padding:12px 14px;font-size:13px;line-height:1.55}a{color:var(--primary-dark)}
