:root{--paper:#f5f3ed;--sheet:#fff;--ink:#1f2420;--muted:#5f645d;--faint:#767b72;--line:#e7e3d9;--line-2:#efece3;--teal:#0e8c80;--teal-deep:#0a5f57;--teal-tint:#e8f3f1;--teal-soft:#cfe7e3;--sat:#2f6fb0;--sun:#c05040;--danger:#a5432f;--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",system-ui,sans-serif;--shadow:0 1px 2px rgba(31,36,32,.04),0 8px 22px rgba(31,36,32,.06);--shadow-sm:0 1px 2px rgba(31,36,32,.05),0 3px 10px rgba(31,36,32,.05);--shadow-teal:0 8px 18px rgba(14,140,128,.32);--r:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;text-rendering:optimizeLegibility}body,button{color:var(--ink)}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;-webkit-tap-highlight-color:transparent}.date-chip:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}h1{font-size:inherit;font-weight:inherit;margin:0}.num{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.screen{display:flex;flex-direction:column;margin:0 auto;max-width:460px;min-height:100dvh;position:relative}.pad{padding:0 20px}.masthead{align-items:center;display:flex;gap:11px;padding:18px 20px 0}.masthead .mark{background:var(--teal);border-radius:11px;box-shadow:var(--shadow-sm);color:#fff;display:grid;flex:0 0 auto;height:36px;place-items:center;width:36px}.masthead .mark svg{height:21px;width:21px}.masthead .tt{min-width:0}.masthead .brand{color:var(--faint);font-size:9.5px;font-weight:800;letter-spacing:.2em}.masthead .store{font-size:18px;font-weight:800;letter-spacing:.01em;line-height:1.3;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps{display:flex;padding:18px 30px 8px}.steps .st{align-items:center;display:flex;flex:1;flex-direction:column;gap:6px;position:relative}.steps .st .dot{background:var(--sheet);border:2px solid var(--line);border-radius:50%;color:var(--faint);display:grid;font-size:13px;font-weight:800;height:30px;place-items:center;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;width:30px;z-index:2}.steps .st .dot svg{height:15px;width:15px}.steps .st.on .dot{box-shadow:0 4px 12px #0e8c8057;transform:scale(1.06)}.steps .st.done .dot,.steps .st.on .dot{background:var(--teal);border-color:var(--teal);color:#fff}.steps .st .lb{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em}.steps .st.on .lb{color:var(--teal-deep)}.steps .st:before{background:var(--line);content:"";height:2px;left:-50%;position:absolute;right:50%;top:14px;z-index:1}.steps .st:first-child:before{display:none}.steps .st.done:before,.steps .st.on:before{background:var(--teal)}.section-h{margin:20px 0 2px}.section-h .t{font-size:20px;font-weight:800;letter-spacing:.01em;line-height:1.4}.section-h .d{color:var(--muted);font-size:12.5px;margin-top:3px}.menu-list{display:flex;flex-direction:column;gap:11px;margin:16px 0 26px}.menu-card{align-items:center;background:var(--sheet);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;display:flex;gap:13px;padding:15px;text-align:left;transition:transform .1s ease,border-color .15s,background .15s;width:100%}.menu-card:active{background:var(--teal-tint);border-color:var(--teal-soft);transform:scale(.99)}.menu-card .ic{background:var(--teal-tint);border-radius:13px;color:var(--teal-deep);display:grid;flex:0 0 auto;height:46px;place-items:center;width:46px}.menu-card .ic svg{height:25px;width:25px}.menu-card .bd{flex:1;min-width:0}.menu-card .nm{font-size:16px;font-weight:800;letter-spacing:.01em;line-height:1.4}.menu-card .du{align-items:center;color:var(--muted);display:inline-flex;font-size:12.5px;gap:5px;margin-top:3px;white-space:nowrap}.menu-card .du svg{flex:0 0 auto;height:13px;opacity:.85;width:13px}.menu-card .rt{align-items:center;display:flex;flex:0 0 auto;gap:10px}.menu-card .pr{font-size:14.5px;font-weight:800;white-space:nowrap}.menu-card .pr.free{color:var(--teal-deep)}.menu-card .pr .y{color:var(--muted);font-size:11.5px;margin-right:1px}.menu-card .chev{background:var(--line-2);border-radius:50%;color:var(--faint);display:grid;flex:0 0 auto;height:26px;place-items:center;width:26px}.menu-card .chev svg{height:15px;width:15px}.back{align-items:center;background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:700;gap:4px;margin-left:-8px;min-height:44px;padding:11px 8px}.back svg{height:15px;width:15px}.picks{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 4px}.picks .chip{align-items:center;background:var(--teal-tint);border-radius:999px;color:var(--teal-deep);display:inline-flex;font-size:12px;font-weight:800;gap:5px;padding:5px 11px}.picks .chip svg{height:13px;width:13px}.dates-wrap{margin:6px -20px 4px 0;position:relative}.dates{display:flex;gap:9px;overflow-x:auto;padding:16px 20px 12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dates::-webkit-scrollbar{display:none}.date-chip{background:var(--sheet);border:1.5px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;flex:0 0 auto;padding:11px 6px;position:relative;text-align:center;transition:transform .1s;width:60px}.date-chip:active{transform:scale(.96)}.date-chip .dw{color:var(--muted);font-size:11px;font-weight:800}.date-chip .dy{font-size:21px;font-weight:800;line-height:1.05;margin-top:1px}.date-chip.today{border-color:var(--teal-soft)}.date-chip.sat .dw,.date-chip.sat .dy{color:var(--sat)}.date-chip.sun .dw,.date-chip.sun .dy{color:var(--sun)}.date-chip.on{background:var(--teal);border-color:var(--teal);box-shadow:var(--shadow-teal)}.date-chip.on .dw,.date-chip.on .dy{color:#fff}.date-chip.soldout{opacity:.4}.date-chip .tag{background:var(--ink);border-radius:999px;color:#fff;font-size:9.5px;font-weight:800;left:50%;letter-spacing:.02em;padding:2px 7px;position:absolute;top:-9px;transform:translate(-50%);white-space:nowrap}.date-chip .tag.soon{background:var(--teal)}.slots-h{align-items:center;color:var(--muted);display:flex;font-size:12.5px;font-weight:800;gap:6px;margin:8px 0 10px}.slots-h svg{color:var(--teal);flex:0 0 auto;height:15px;width:15px}.slots{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:0 0 28px}.slot{background:var(--sheet);border:1.5px solid var(--teal-soft);border-radius:13px;box-shadow:var(--shadow-sm);color:var(--teal-deep);cursor:pointer;font-size:16px;font-weight:800;letter-spacing:.03em;padding:15px 4px;transition:transform .1s}.slot .end{color:var(--muted);display:block;font-size:10.5px;font-weight:700;letter-spacing:.01em;margin-top:2px}.slot.on,.slot:active{background:var(--teal);border-color:var(--teal);color:#fff;transform:scale(.97)}.slot.on .end{color:#ffffffd9}.slots-empty{color:var(--muted);font-size:13.5px;padding:30px 0;text-align:center}.slots-empty .sk{background:var(--line-2);border-radius:50%;color:var(--faint);display:inline-grid;height:44px;margin-bottom:10px;place-items:center;width:44px}.slots-empty .sk svg{height:22px;width:22px}.recap{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin:14px 0 20px;padding:4px 18px 18px}.recap .who{border-bottom:1px solid var(--line-2);color:var(--muted);font-size:13.5px;padding:16px 0 12px}.recap .who b{color:var(--ink);font-size:15px;font-weight:800}.recap dl{display:grid;gap:15px 16px;grid-template-columns:auto 1fr;margin:16px 0 0}.recap dt{align-items:center;color:var(--muted);display:inline-flex;font-size:12.5px;font-weight:700;gap:6px;letter-spacing:.03em;white-space:nowrap}.recap dt svg{color:var(--teal);flex:0 0 auto;height:15px;opacity:.9;width:15px}.recap dd{font-size:15.5px;font-weight:800;margin:0;text-align:right}.recap dd.big{font-size:17px}.recap .total{align-items:center;border-top:1px dashed var(--line);display:flex;justify-content:space-between;margin-top:16px;padding-top:15px}.recap .total span{color:var(--muted);font-size:12.5px;font-weight:700}.recap .total b{font-size:19px;font-weight:800}.recap .total b.free{color:var(--teal-deep);font-size:17px}.foot{background:linear-gradient(to top,var(--paper) 74%,transparent);bottom:0;margin-top:auto;padding:14px 20px calc(16px + env(safe-area-inset-bottom));position:sticky}.cta{align-items:center;background:var(--teal);border:none;border-radius:14px;box-shadow:var(--shadow-teal);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--sans);font-size:16.5px;font-weight:800;gap:9px;justify-content:center;letter-spacing:.03em;padding:17px;transition:background .15s,transform .12s;width:100%}.cta svg{height:20px;width:20px}.cta:active{transform:translateY(1px)}.cta:active,.cta[disabled]{background:var(--teal-deep)}.cta[disabled]{box-shadow:none;cursor:default;opacity:.5}.cta-note{align-items:center;color:var(--muted);display:flex;font-size:11.5px;gap:5px;justify-content:center;margin-top:11px;text-align:center}.cta-note svg{color:var(--teal);flex:0 0 auto;height:13px;width:13px}.done-wrap{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:40px 28px;text-align:center}.done-mark{animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both;background:var(--teal);border-radius:50%;box-shadow:var(--shadow-teal);color:#fff;display:grid;height:76px;margin-bottom:22px;place-items:center;width:76px}.done-mark svg{height:38px;width:38px}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.done-wrap .t{font-size:23px;font-weight:800}.done-wrap .sub{color:var(--muted);font-size:13.5px;line-height:1.9;margin-top:12px}.done-recap{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-top:24px;padding:18px 24px}.done-recap .dt{font-size:20px;font-weight:800;letter-spacing:.01em}.done-recap .mn{color:var(--muted);font-size:13.5px;font-weight:700;margin-top:5px}.done-note{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px;margin-top:20px}.done-note svg{color:var(--teal);flex:0 0 auto;height:15px;width:15px}.center{color:var(--muted);display:grid;flex:1;font-size:13.5px;padding:40px;place-items:center;text-align:center}.center .err-mark{background:#f5e4e0;border-radius:50%;display:grid;height:52px;margin:0 auto 14px;place-items:center;width:52px}.center .err-mark svg{color:var(--danger);height:26px;width:26px}.spin{animation:spin .8s linear infinite;border:2.5px solid var(--line);border-radius:50%;border-top-color:var(--teal);height:30px;margin:0 auto 14px;width:30px}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}
