:root{color-scheme:dark;--background:#141414;--text:#fff;--muted:#b8b8b8;--card:#242424;--border:#454545;--silver:#d0d0d0}
*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--text);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-text-size-adjust:100%;line-height:1.6}
.page{width:100%;max-width:480px;margin:0 auto;padding:calc(30px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom))}
.header{text-align:center;padding-bottom:25px;border-bottom:1px solid var(--border)}
.brand{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1.2;font-weight:400;letter-spacing:.15em;padding-left:.15em}
.brand img{display:block;width:auto;max-width:100%;max-height:70px;margin:0 auto}
[hidden]{display:none!important}
.eyebrow{margin:8px 0 0;font-size:10px;font-weight:500;letter-spacing:.24em;color:var(--silver);line-height:1.5}
.page-label{margin:13px 0 0;font-size:13px;color:var(--muted);letter-spacing:.08em}
.benefit{text-align:center;padding:23px 0 22px}
.benefit .eyebrow{margin:0}
.benefit-main{margin:10px 0 8px;font-size:23px;font-weight:500;white-space:nowrap;line-height:1.35}
.benefit-main strong{font-family:Georgia,"Times New Roman",serif;font-size:48px;font-weight:400;letter-spacing:-.03em}
.benefit-main strong span{font-size:32px}
.benefit-note{font-size:12px;margin:0;color:var(--muted)}
.guidance{background:#1d1d1d;border:1px solid #353535;border-radius:3px;text-align:center;padding:16px 10px}
.guidance h2{font-size:14px;font-weight:500;margin:0}
.name-example{font-size:17px;letter-spacing:.04em;margin:6px 0}
.name-example span{color:var(--muted);font-size:12px}
.guidance-note{margin:0;font-size:12px;color:var(--muted)}
.locations{padding-top:24px}
.locations h2{font-size:14px;font-weight:500;text-align:center;margin:0 0 14px;letter-spacing:.03em}
.store-list{display:grid;gap:12px}
.store-card{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:108px;padding:17px 20px;border:1px solid var(--border);border-radius:3px;background:var(--card);color:var(--text);text-decoration:none;transition:background-color .15s,border-color .15s;-webkit-tap-highlight-color:rgba(255,255,255,.12)}
.store-card>span:first-child{min-width:0}
.store-en{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;margin-bottom:7px;line-height:1.4}
.store-brand{display:block;font-size:12px;line-height:1.5}
.store-name{display:block;font-size:21px;font-weight:500;letter-spacing:.06em;line-height:1.5}
.arrow{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid #595959;border-radius:50%;font-size:19px;color:var(--silver);line-height:1}
.store-card:focus-visible{outline:2px solid #fff;outline-offset:4px}
.store-card:active{background:#303030}
.booking-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}
footer{text-align:center;color:var(--muted);padding-top:26px}
footer p{font-size:9px;letter-spacing:.17em;margin:0}
footer .copyright{font-size:10px;letter-spacing:.06em;margin-top:6px}
@media(hover:hover){.store-card:hover{border-color:#909090;background:#2c2c2c}}
@media(min-width:600px){.page{padding-top:48px;padding-bottom:32px}.header{padding-bottom:30px}.benefit{padding-top:28px;padding-bottom:28px}}
@media(max-width:350px){.page{padding-left:16px;padding-right:16px}.guidance h2{font-size:13px}.guidance-note,.benefit-note{font-size:11px}.store-card{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.store-card{transition:none}}
