:root{color-scheme:light;--ink:#263d32;--green:#4c7657;--paper:#fbf8f0;--line:#d5dfce}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN',sans-serif;line-height:1.85}.brand{max-width:1000px;margin:auto;padding:24px;font-family:Georgia,serif;font-size:24px}.brand span{display:block;font:11px/1.5 system-ui;letter-spacing:.18em;color:var(--green)}.shell{max-width:740px;margin:20px auto 64px;padding:0 20px}.card{background:#fffdf8;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,6vw,48px);box-shadow:0 14px 60px #263d3209}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--green)}h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(28px,6vw,42px);line-height:1.6;margin:12px 0 24px}h2{font-size:19px}p{overflow-wrap:anywhere}.price{font-size:32px;font-weight:600}.price small{font-size:13px;font-weight:400}a{color:var(--green);text-underline-offset:4px}button,.button{display:block;width:100%;border:0;border-radius:12px;background:var(--green);color:#fff;text-align:center;font:600 16px/1.7 system-ui;padding:16px 20px;text-decoration:none;cursor:pointer;min-height:52px;margin:20px 0 12px}button:disabled{opacity:.6;cursor:wait}.secondary{background:#e4ece0;color:var(--ink)}.text-link{display:block;margin:20px 0}.text-button{background:none;color:var(--green);text-decoration:underline;font-size:14px}.muted{font-size:13px;color:#5e6c60}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin:26px 0}.consent input{flex:none;width:22px;height:22px;margin-top:4px}label{display:block;margin-top:20px}input:not([type=checkbox]):not([type=hidden]),select{width:100%;border:1px solid #aebda9;border-radius:10px;padding:14px;font:16px system-ui;color:var(--ink);background:#fff;margin:6px 0 8px}input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ad8b46;outline-offset:4px}.status,.notice{font-size:14px;white-space:pre-line;padding:12px 0}.notice{border-left:3px solid #b59a6c;padding-left:16px}[hidden]{display:none!important}@media(max-width:420px){.brand{padding:16px 20px}.shell{margin-top:4px}.card{border-radius:18px}}
