:root{--paper: #F6F7F4;--ink: #171A18;--green: #0C7C59;--green-soft: #E7F2EE;--muted: #6E7672;--line: #E2E6E3;--card: #FFFFFF;--warn-bg: #FBF0E8;--warn-ink: #A4552A;--chart-blue: #2a78d6;--font-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--radius-card: 16px;--radius-control: 12px;--shadow-card: 0 1px 2px rgba(23, 26, 24, .04)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh}.container{max-width:480px;margin:0 auto;padding:24px 16px 48px}h1,h2,h3{font-family:var(--font-sans);font-weight:700;line-height:1.4;margin:0 0 .5em;letter-spacing:.01em}h1{font-size:1.4rem}h2{font-size:1.05rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-card)}.muted{color:var(--muted);font-size:.8rem}button{font-family:var(--font-sans)}.field-label{display:block;font-weight:700;font-size:.95rem;margin-bottom:10px}.field-hint{color:var(--muted);font-size:.78rem;line-height:1.6;margin:0 0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.chip-on{border-color:var(--green);background:var(--green);color:#fff}.plan-list{display:flex;flex-direction:column;gap:10px}.plan-option{display:block;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:var(--radius-control);padding:12px 14px;cursor:pointer;color:var(--ink);transition:border-color .15s,background .15s}.plan-option-on{border-color:var(--green);background:var(--green-soft)}.plan-option-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.plan-option-name{font-weight:700;font-size:.95rem}.plan-option-price{font-weight:700;font-size:.9rem;color:var(--green);white-space:nowrap}.plan-option-desc{display:block;color:var(--muted);font-size:.78rem;margin-top:2px;line-height:1.5}.input-row{display:flex;align-items:center;gap:8px;margin-top:8px}.num-input{width:8em;font-size:1.05rem;font-weight:600;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--card);color:var(--ink);font-family:var(--font-sans)}.num-input:focus{outline:none;border-color:var(--green)}.stepper{display:flex;align-items:center;gap:20px}.stepper button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);font-size:1.4rem;cursor:pointer;color:var(--ink);line-height:1}.stepper button:active{border-color:var(--green);background:var(--green-soft)}.stepper-value{font-size:1.25rem;font-weight:700;min-width:3em;text-align:center}.btn-primary{display:block;width:100%;background:var(--green);color:#fff;border:none;border-radius:var(--radius-control);padding:15px;font-size:1.05rem;font-weight:700;cursor:pointer;margin-bottom:10px}.btn-primary:disabled{opacity:.6}.btn-link{text-align:center;text-decoration:none}.btn-secondary{display:block;width:100%;background:var(--card);color:var(--green);border:1.5px solid var(--green);border-radius:var(--radius-control);padding:13px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:10px}.btn-text{display:block;width:100%;background:none;border:none;color:var(--muted);padding:8px;font-size:.85rem;cursor:pointer;text-decoration:underline}.error-text{color:var(--warn-ink);font-size:.85rem}.fact-list{margin:0 0 10px;padding:0}.fact-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.fact-row:last-child{border-bottom:none}.fact-row dt{color:var(--muted);font-size:.85rem;flex-shrink:0}.fact-row dd{margin:0;text-align:right;font-size:1rem}.fact-row dd strong{font-size:1.1rem}.over{color:var(--warn-ink)}.warn-box{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius-control);padding:12px 14px;font-size:.9rem;margin:10px 0 0;line-height:1.6}.up-card{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius-control);padding:18px 16px;text-align:center;margin-bottom:12px;line-height:1.6}.up-big{font-size:1.7rem;font-weight:700;margin:4px 0}.cta-card{border-color:var(--green)}input[type=range]{accent-color:var(--green);height:32px}
