@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:400;src:url(./noto-sans-jp-japanese-400-normal-Cy9Yahyj.woff2) format("woff2"),url(./noto-sans-jp-japanese-400-normal-CVXqO_9z.woff) format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:500;src:url(./noto-sans-jp-japanese-500-normal-D5_20nac.woff2) format("woff2"),url(./noto-sans-jp-japanese-500-normal-Cc_gnXs3.woff) format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:600;src:url(./noto-sans-jp-japanese-600-normal-ZI3Gmaau.woff2) format("woff2"),url(./noto-sans-jp-japanese-600-normal-Dwtxezk0.woff) format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:700;src:url(./noto-sans-jp-japanese-700-normal-Cy7xyTMA.woff2) format("woff2"),url(./noto-sans-jp-japanese-700-normal-CLExAywd.woff) format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:800;src:url(./noto-sans-jp-japanese-800-normal-q8S9FvVi.woff2) format("woff2"),url(./noto-sans-jp-japanese-800-normal-f43eXf9m.woff) format("woff")}:root{color-scheme:light;--font-sans: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;--paper: #f5f3eb;--ink: #282a27;--muted: #6d7068;--line: #d7d5ca;--green: #3c7054;--green-dark: #28513d;--danger: #a34335}*{box-sizing:border-box}html,body{touch-action:pan-y pinch-zoom}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:16px/1.55 var(--font-sans)}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}#app{width:min(480px,calc(100% - 24px));margin:0 auto;padding:28px 0 56px}.stack{display:grid;gap:16px}.service-title{margin:0 0 8px;color:var(--ink);font-size:.9rem;font-weight:700;letter-spacing:.01em}h1{margin:0 0 8px;font-size:1.55rem;letter-spacing:-.03em;font-weight:700}.lead{margin:0;color:var(--muted);font-size:.95rem}.btn{min-height:52px;border:0;border-radius:12px;padding:14px 16px;font-weight:700;width:100%;text-align:center}.btn:focus-visible{outline:3px solid var(--green-dark);outline-offset:3px}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover:not(:disabled){background:var(--green-dark)}.btn.secondary{background:#e5e4dc;color:var(--ink)}.btn.ghost{background:transparent;border:1px solid var(--line);font-weight:600;color:var(--muted)}.btn.choice{text-align:left;background:transparent;border:1px solid var(--line);font-weight:650}.btn.choice.selected{border:2px solid var(--green);background:#edf4ed}.notice{margin:0;padding:12px 0;color:#294635}.notice.error{color:#7d3027}.notice.warn{color:#6a5320}.notice.empty{color:var(--muted)}.fine{color:var(--muted);font-size:.86rem;margin:0}.meta{display:grid;gap:6px;margin:0}.meta div{display:flex;justify-content:space-between;gap:12px}.meta strong{font-weight:700}.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.presets .btn{min-height:48px;padding:10px}.stepper{display:grid;grid-template-columns:72px 1fr 72px;gap:8px;align-items:center}.stepper .value{text-align:center;font-size:1.4rem;font-weight:700}.slider{display:grid;gap:6px;margin:4px 0}.slider label{font-weight:650;display:flex;justify-content:space-between}input[type=range]{width:100%;min-height:44px;accent-color:var(--green);touch-action:pan-y pinch-zoom}input[type=range]:focus-visible{outline:3px solid #28513d;outline-offset:3px}.allocation-remaining{color:var(--danger)}.sum{font-size:1.05rem;font-weight:700;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner-wrap{display:flex;align-items:center;justify-content:center;margin:8px 0;min-height:48px}.spinner-wrap.block{min-height:88px;margin:16px 0}.spinner-wrap.fill{min-height:220px;margin:24px 0}.spinner{width:28px;height:28px;border:2.5px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.list{display:grid;gap:14px}.item strong{display:block;margin-bottom:4px}.item .fine+.fine{margin-top:2px}
