@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Montserrat:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500&display=swap');
:root{--ink:#334139;--paper:#ebe7de;--card:#f8f6f0;--line:#d4cfc2;--accent:#c8d8a8;--muted:#777b71}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif}.page-shell{max-width:680px;margin:auto;padding:0 18px}.hero{background:linear-gradient(138deg,#d9dfcf 0%,#c4d0bb 100%);margin:0 -18px;padding:48px 26px 44px;border-radius:0 0 38px 38px;border-bottom:1px solid #b9c2ad}.eyebrow,.section-label,footer{font:11px/1.3 'DM Mono',monospace;letter-spacing:.12em}.hero .eyebrow{color:#637263;margin:0;text-transform:none}.property-name{font:500 clamp(17px,4.7vw,23px)/1.4 'Zen Kaku Gothic New','Noto Sans JP',sans-serif;letter-spacing:.03em;margin:31px 0 15px;color:#3d4a42}.hero h1{font:400 clamp(18px,5vw,24px)/1.4 'Zen Kaku Gothic New','Noto Sans JP',sans-serif;letter-spacing:.12em;margin:0;color:#536257}form{padding:34px 0 16px}.section-label{margin:0 0 14px;color:var(--muted)}.field-grid{display:grid;gap:13px}.field-grid label{font-size:13px;font-weight:600}.field-grid input{font:15px 'Noto Sans JP',sans-serif;width:100%;display:block;margin-top:6px;padding:14px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.options-section{margin-top:40px}.section-heading{display:flex;justify-content:space-between;align-items:baseline}.muted{font-size:11px;color:var(--muted);margin:0}.option-list{display:grid;gap:10px}.option-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;justify-content:space-between;gap:16px;transition:.15s}.option-card.included{border-color:#94a880;background:#f2f6e9}.option-top{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.option-card h2{font-size:15px;margin:0}.option-card strong{font:600 13px Montserrat,sans-serif;margin-left:auto;white-space:nowrap}.option-card small{font:11px 'Noto Sans JP',sans-serif;font-weight:400}.option-card p{font-size:11px;line-height:1.65;color:#6d7169;margin:7px 0 0}.quantity{align-self:center;display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:100px;background:#fff}.quantity button{width:32px;height:34px;border:0;background:#f1eee6;font-size:18px;color:var(--ink);cursor:pointer}.quantity output{width:34px;text-align:center;font:13px 'DM Mono',monospace}.notice{margin:28px 0;background:#ddd8cc;border-radius:14px;padding:17px;font-size:11px;line-height:1.65}.notice strong{font-size:12px}.notice p{margin:6px 0 0}.summary{background:#526359;color:#fff;border-radius:18px;padding:20px}.summary-title{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.summary-title button{border:0;background:transparent;color:#dce4d4;font:10px 'Noto Sans JP',sans-serif;cursor:pointer}.cart-items{margin:15px 0;border-top:1px solid #79877d;border-bottom:1px solid #79877d;padding:10px 0}.empty-cart{color:#d2d9ce;font-size:12px;margin:5px 0}.cart-line{font-size:12px;display:flex;justify-content:space-between;padding:5px 0;gap:12px}.cart-line em{color:#d2d9ce;font-style:normal}.cart-line b{background:#dce8b9;color:var(--ink);font-size:9px;padding:1px 4px;border-radius:3px}.total{display:flex;justify-content:space-between;align-items:baseline}.total strong{font:600 24px Montserrat,sans-serif;letter-spacing:-.05em}.checkout-button{width:100%;margin-top:14px;padding:17px;border:0;border-radius:14px;background:var(--accent);color:#314035;font:700 14px 'Noto Sans JP',sans-serif;display:flex;justify-content:space-between;cursor:pointer}.checkout-button:disabled{opacity:.6;cursor:wait}.payment-note{text-align:center;color:var(--muted);font-size:10px}.form-message{color:#b42318;font-size:12px;text-align:center;min-height:18px;margin:10px 0 0}footer{text-align:center;color:#999b92;padding:28px 0 40px}@media(min-width:600px){.page-shell{padding:0 28px}.hero{margin:0 -28px;padding-left:42px}.field-grid{grid-template-columns:1fr 1fr}.option-card{padding:18px 20px}}
