@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Old+Mincho:wght@500&display=swap";:root{--sr-teal: #00666b;--sr-teal-dark: #004a4e;--sr-espresso: #48322a;--sr-cream: #f4f1ea;--sr-sand: #e9e4d9;--sr-material: #d9cfc0;--sr-charcoal: #26241f;--sr-white: #ffffff;--sr-subtle: #6b6558;--sr-danger: #a94438;--sr-font-display: "EB Garamond", "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sr-font-ui: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sr-font-jp: "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;--sr-font-tagline: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sr-s1: 8px;--sr-s2: 16px;--sr-s3: 24px;--sr-s4: 32px;--sr-s5: 40px;--sr-s6: 48px;--sr-s8: 64px;--sr-s10: 80px;--sr-s14: 112px;--sr-s20: 160px;--sr-radius-none: 0;--sr-radius-sm: 2px;--sr-radius-pill: 9999px}[data-sr-theme=dark]{--sr-cream: #14140f;--sr-sand: #24241d;--sr-charcoal: #f1efe8;--sr-subtle: #a8a294;--sr-teal: #4db6ba;--sr-teal-dark: #0c2f31;--sr-espresso: #c8a898}:root{--green: var(--sr-teal);--green-dk: var(--sr-teal-dark);--espresso: var(--sr-espresso);--cream: var(--sr-cream);--sand: var(--sr-sand);--charcoal: var(--sr-charcoal);--muted: var(--sr-subtle);--danger: var(--sr-danger);--font-en: var(--sr-font-ui);--font-jp: var(--sr-font-jp);--font-tagline: var(--sr-font-tagline)}*{box-sizing:border-box;margin:0}body{font-family:var(--font-jp);color:var(--charcoal);background:var(--sand)}.app{max-width:480px;margin:0 auto;padding:0 16px 110px;min-height:100vh;background:var(--cream)}.brand{padding:22px 0 14px;border-bottom:1.5px solid var(--green);margin-bottom:12px}.brand-logo{display:block;width:220px;max-width:70%}.context{margin-top:10px}.badge{font-size:12px;font-weight:500;letter-spacing:.08em;background:transparent;color:var(--green);border:1px solid var(--green);padding:4px 12px;border-radius:2px}.error{background:color-mix(in srgb,var(--sr-danger) 10%,var(--sr-cream));color:var(--danger);border-radius:4px;padding:10px 14px;font-size:13px;margin-bottom:12px}.loading{color:var(--muted);padding:24px 0;text-align:center}h2{font-family:var(--font-en);font-weight:600;font-size:13px;color:var(--green);letter-spacing:.18em;text-transform:uppercase;margin:24px 0 4px;border-bottom:1px solid var(--green);padding-bottom:6px}.item{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--sand);cursor:pointer;-webkit-tap-highlight-color:transparent}.item.soldout{cursor:default;opacity:.45}.item-name{font-weight:500;font-size:15px}.item-en{color:var(--muted);font-family:var(--font-en);font-weight:400;font-size:11px;letter-spacing:.08em;margin-left:6px;text-transform:uppercase}.item-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.6}.item-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.item-price{font-family:var(--font-en);font-weight:500;font-variant-numeric:tabular-nums}.soldout-label{font-size:12px;color:var(--danger);font-weight:500}.in-cart{min-width:24px;height:24px;border-radius:50%;background:var(--green);color:var(--cream);font-family:var(--font-en);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.qty-controls{display:flex;align-items:center;gap:10px}.qty-controls button{width:32px;height:32px;border-radius:50%;border:1px solid var(--green);background:var(--cream);color:var(--green);font-size:17px;cursor:pointer}.qty-controls b{min-width:16px;text-align:center;font-family:var(--font-en)}.cart-bar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:448px;padding:16px;background:var(--green);color:var(--cream);border:none;border-radius:4px;font-family:var(--font-jp);font-size:16px;font-weight:700;letter-spacing:.04em;cursor:pointer}.total-row{display:flex;justify-content:space-between;padding:16px 0;font-size:17px}.total-row b{font-family:var(--font-en);font-variant-numeric:tabular-nums}.cta{width:100%;padding:16px;background:var(--green);color:var(--cream);border:none;border-radius:4px;font-family:var(--font-jp);font-size:16px;font-weight:700;letter-spacing:.04em;cursor:pointer;margin-top:8px}.cta:disabled{opacity:.45}.back{width:100%;padding:14px;background:none;border:none;color:var(--muted);font-size:14px;font-family:var(--font-jp);cursor:pointer;margin-top:6px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#26241f73;display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet{width:100%;max-width:480px;background:var(--cream);border-radius:8px 8px 0 0;padding:20px 20px 28px;max-height:80vh;overflow-y:auto}.sheet-head{display:flex;justify-content:space-between;font-size:17px;padding-bottom:12px;border-bottom:1.5px solid var(--green);margin-bottom:8px}.sheet-head span{font-family:var(--font-en);font-variant-numeric:tabular-nums}.mod-group h3{font-family:var(--font-en);font-size:11px;font-weight:600;color:var(--green);margin:14px 0 4px;letter-spacing:.18em;text-transform:uppercase}.mod-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--sand);cursor:pointer}.mod-row input{width:20px;height:20px;accent-color:var(--green)}.mod-name{flex:1;font-size:15px}.mod-price{color:var(--muted);font-family:var(--font-en);font-size:14px}.done-view{text-align:center}.done-box{padding:40px 0 24px}.done-label{color:var(--muted);letter-spacing:.1em}.order-number{font-family:var(--font-en);font-size:60px;font-weight:600;color:var(--green);letter-spacing:.04em;margin:12px 0}.done-total{font-size:15px;margin-bottom:20px}.done-note{color:var(--muted);font-size:14px;line-height:1.9;letter-spacing:.06em}.done-tagline{font-family:var(--font-tagline);letter-spacing:.3em;color:var(--espresso);font-size:13px;margin-top:28px}.ready-view{animation:ready-flash 1s ease}.ready-label{color:var(--green);font-weight:700;font-size:18px}.ready-number{color:var(--green)!important}.ready-note{color:var(--green);font-weight:500}@keyframes ready-flash{0%{background:var(--sand)}to{background:var(--cream)}}.badge.member{margin-left:6px;background:var(--green);color:var(--cream);border-color:var(--green)}.member-box{border:1px solid var(--sand);border-radius:4px;padding:14px 16px;margin:16px 0 4px;background:var(--sr-white)}.member-box h3{font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.member-box h3+h3{margin-top:18px}.coupon{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--sand);border-radius:3px;margin-bottom:8px;cursor:pointer}.coupon.on{border-color:var(--green);background:color-mix(in srgb,var(--sr-teal) 8%,var(--sr-cream))}.coupon input{margin-top:3px;accent-color:var(--green)}.coupon b{display:block;font-size:15px;font-weight:500}.coupon em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}.point-row{display:flex;align-items:center;gap:8px}.point-row input{width:96px;padding:9px 10px;border:1px solid var(--sand);border-radius:3px;font-family:var(--font-en);font-variant-numeric:tabular-nums;font-size:16px;text-align:right}.point-row input:focus{outline:none;border-color:var(--green)}.point-row>span{font-size:14px;color:var(--muted)}.point-row button{margin-left:auto;padding:8px 12px;font-size:13px;background:transparent;color:var(--green);border:1px solid var(--green);border-radius:2px;cursor:pointer}.hint{font-size:12px;color:var(--danger);margin-top:6px}.total-row.sub{padding:10px 0 6px;font-size:15px;color:var(--muted)}.total-row.discount{padding:4px 0;font-size:14px;color:var(--green);font-variant-numeric:tabular-nums}.total-row.sub+.total-row.discount{border-top:none}.done-discount{font-size:13px;color:var(--green);margin-bottom:4px;font-variant-numeric:tabular-nums}button.badge.member{cursor:pointer;font-family:inherit}.member-card{text-align:center}.member-card h3{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted)}.card-name{font-size:19px;font-weight:500;margin:6px 0 16px}.card-qr{width:100%;max-width:260px;aspect-ratio:1;margin:0 auto;display:block;border:1px solid var(--sand);border-radius:4px}.card-expiry{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.6}.card-error{padding:28px 0;color:var(--danger);font-size:14px}.card-error .back{margin-top:12px}.card-stats{display:flex;justify-content:center;gap:32px;margin:20px 0 12px;padding:14px 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}.card-stats dt{font-size:11px;color:var(--muted);letter-spacing:.06em}.card-stats dd{font-family:var(--font-en);font-size:22px;font-variant-numeric:tabular-nums;color:var(--green);margin-top:3px}.card-coupons{list-style:none;padding:0;margin:0 0 14px}.card-coupons li{font-size:13px;color:var(--green);border:1px solid var(--green);border-radius:2px;padding:6px 10px;margin-bottom:6px}.member-card h4{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--muted);text-align:left;margin-bottom:8px}.card-history{list-style:none;padding:0;margin:0 0 16px}.card-history li{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--sand);text-align:left}.card-history li span:first-child{font-family:var(--font-en);color:var(--muted);font-variant-numeric:tabular-nums}.card-history li span:nth-child(2){flex:1;color:var(--charcoal)}.card-history b{font-family:var(--font-en);font-variant-numeric:tabular-nums}.card-history .plus{color:var(--green)}.card-history .minus{color:var(--muted)}.card-note{font-size:12px;color:var(--muted);margin-bottom:14px}button.badge.login{cursor:pointer;font-family:inherit;margin-left:6px}.login-sheet{text-align:center}.login-sheet h3{font-size:17px;font-weight:500;margin-bottom:10px}.login-lead{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.login-buttons{display:flex;justify-content:center;min-height:44px}.login-note{font-size:13px;color:var(--muted);line-height:1.8;padding:16px 0}.pay-choice{margin:16px 0 8px;display:grid;gap:8px}.pay-choice-title{font-size:13px;color:var(--muted)}.pay-choice label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;font-size:15px;cursor:pointer}.pay-choice label.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.pay-choice input{accent-color:var(--green)}.pay-box{padding:24px 0 16px;text-align:center}.pay-label{font-size:14px;color:var(--muted)}.pay-total{font-size:36px;font-weight:700;margin:4px 0 6px}.pay-note{font-size:13px;color:var(--muted);margin-bottom:18px}.pay-sandbox{font-size:12px;color:var(--danger);margin-bottom:12px}.card-container{min-height:90px;text-align:left}
