:root{--bg:#f7f4ef;--surface:#fffdf9;--text:#2f2a25;--muted:#6f665d;--line:#ded5ca;--accent:#7f5d3b;--soft:#efe4d6;font:16px/1.8 "Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:var(--surface);color:var(--accent);border:1px solid var(--line);border-radius:7px;padding:11px 18px;min-height:48px;line-height:1.6}button:hover{background:var(--soft)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #366d77;outline-offset:3px}.banner{text-align:center;font-size:.8rem;padding:10px 20px;background:var(--accent);color:#fff}.shell{max-width:900px;margin:auto;padding:38px 24px 32px}header{padding-bottom:28px;margin-bottom:22px;border-bottom:1px solid var(--line)}.kicker{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--accent);margin:0 0 10px}h1{font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.45;margin:0 0 16px;letter-spacing:.01em}h2{font-size:1.4rem;line-height:1.55;margin:0 0 18px}h3{font-size:1.05rem;margin:0 0 8px}p{margin:0 0 16px;overflow-wrap:anywhere}.lead{color:var(--muted);font-size:1.1rem;margin-bottom:22px}.store{font-weight:700}.store span{font-size:.72rem;font-weight:400;background:var(--soft);border-radius:20px;padding:4px 10px;margin-left:8px;display:inline-block}.notice{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:15px 18px;font-size:.88rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:30px;margin:20px 0}.muted{color:var(--muted);font-size:.84rem}.progress{display:flex;list-style:none;padding:0;gap:8px;margin:24px 0;font-size:.85rem}.progress li{flex:1;text-align:center;border-bottom:3px solid var(--line);padding:10px 3px;color:var(--muted)}.progress li.active{color:var(--accent);border-color:var(--accent);font-weight:700}label{display:block;margin:20px 0 7px;font-weight:600;font-size:.92rem}select{display:block;width:100%;color:var(--text);background:white;border:1px solid var(--line);border-radius:7px;min-height:50px;padding:10px 12px}blockquote{margin:20px 0;padding:24px;border-left:4px solid var(--accent);background:var(--soft);white-space:pre-line;border-radius:0 8px 8px 0;line-height:2}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}.actions button{flex:1}footer{font-size:.8rem;color:var(--muted);margin-top:28px}footer button{font-size:.8rem}.tabs{display:flex;gap:8px}.tabs button{flex:1}.fixed{display:grid;grid-template-columns:150px minmax(0,1fr);margin:20px 0}.fixed dt,.fixed dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem;overflow-wrap:anywhere}.fixed dt{color:var(--muted);padding-right:12px}.amount{font-size:1.45rem;color:var(--accent);font-weight:700;margin:20px 0}.terms{padding:18px;background:var(--soft);border-radius:8px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400;margin:22px 0}.check input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:3px 0}.signature{padding:22px;border:1px dashed var(--line);margin:18px 0;text-align:center}.signature span{display:block;font:italic 2rem Georgia,serif;color:var(--accent)}.signature small{font-size:.78rem;color:var(--muted)}.print-warning{font-weight:700;border:2px solid var(--accent);padding:12px;color:var(--accent)}dialog{border:1px solid var(--line);border-radius:12px;max-width:min(480px,calc(100vw - 32px));padding:24px;color:var(--text);background:var(--surface)}dialog::backdrop{background:#2f2a2560}[hidden]{display:none!important}
@media(max-width:600px){.shell{padding:24px 16px}.panel{padding:22px 18px}.banner{font-size:.72rem;padding:9px 12px}.lead{font-size:.98rem}h2{font-size:1.2rem}.notice{padding:14px;font-size:.8rem}.progress{font-size:.75rem;gap:4px}.actions{flex-direction:column}.actions button{width:100%}.fixed{grid-template-columns:90px minmax(0,1fr)}.fixed dt,.fixed dd{font-size:.8rem}blockquote{padding:18px;font-size:.92rem}.tabs button{font-size:.8rem;padding:10px 6px}.store{font-size:.9rem}}
@media print{body{background:white;font-size:11pt}.no-print,header,.tabs,footer,dialog{display:none!important}.banner{background:white!important;color:#222!important;border:2px solid #222;padding:8px;font-weight:700}.shell{max-width:none;padding:16px}body:has(#receipt:not([hidden])) .shell>section:not(#receipt){display:none!important}.panel{border:0;padding:0;box-shadow:none}.print-warning{border:2px solid #222;color:#222}.fixed dt,.fixed dd{font-size:10pt}.signature{break-inside:avoid}h2{font-size:18pt}.fixed{grid-template-columns:130px minmax(0,1fr)}}
:root{--bg:#f6f7f4;--surface:#ffffff;--text:#1f2a24;--muted:#66736b;--line:#d8e0da;--accent:#116b5b;--soft:#eef3ec}
