:root{--ink:#1d2430;--mute:#5b6676;--line:#d9dee6;--acc:#0b6e4f;--warn:#b3261e;--bg:#f7f8fa}
*{box-sizing:border-box}body{margin:0;font:15px/1.6 "Hiragino Sans","Noto Sans JP","Yu Gothic",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.top,main{max-width:860px;margin:0 auto;padding:16px}
h1{font-size:24px;margin:8px 0}h1 span{display:block;font-size:16px;color:var(--mute);font-weight:500}
.lead{margin:0;color:var(--mute)}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.plan{margin-left:auto;font-size:13px;color:var(--mute)}
fieldset{background:#fff;border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:8px 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 14px}
legend{font-weight:700;padding:0 6px}
label{display:flex;flex-direction:column;font-size:13px;color:var(--mute)}
label.chk{flex-direction:row;align-items:center;gap:6px;color:var(--ink)}
input,select,button{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
input[inputmode=numeric]{text-align:right}
button{cursor:pointer;background:#eef3f1;border-color:#c5d8d0}
.hint{grid-column:1/-1;margin:0;font-size:12px;color:var(--mute)}
.deps{grid-column:1/-1;display:grid;gap:6px}
.dep,.dep-h{display:grid;grid-template-columns:1.1fr 1.2fr 1fr .5fr 1fr;gap:6px;align-items:center}
.dep-h{font-size:12px;color:var(--mute)}.dep input[type=checkbox]{justify-self:center}
.out{background:#fff;border:2px solid var(--acc);border-radius:10px;padding:14px 16px;margin:16px 0 8px}
.out.minus{border-color:var(--warn)}
.big{margin:0;font-size:18px}.big b{font-size:34px;color:var(--acc)}.out.minus .big b{color:var(--warn)}
.sub{margin:2px 0 10px;color:var(--mute)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:5px 4px;text-align:left}td{text-align:right;white-space:nowrap}
.notes{margin:10px 0 0;padding-left:18px;font-size:13px;color:var(--mute)}
.paidline{background:#fffbe8;border:1px solid #eadb9b;border-radius:8px;padding:10px 12px;font-size:14px}
.paidline a{color:var(--acc);font-weight:700}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.file{flex-direction:row;align-items:center;border:1px solid #c5d8d0;background:#eef3f1;border-radius:6px;padding:6px 8px;color:var(--ink);cursor:pointer}
.file input{display:none}
.list,.key,.faq{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 14px;margin:12px 0}
h2{font-size:17px;margin:8px 0}
.list td,.list th{text-align:right}.list td:first-child,.list th:first-child{text-align:left}
.law{font-size:12px;color:var(--mute)}
@media (max-width:560px){.dep,.dep-h{grid-template-columns:1fr 1fr}.dep-h{display:none}}
@media print{.bar,form,.tools,.key,.faq,.paidline,.list,.lead{display:none!important}body{background:#fff}.out{border:1px solid #000}}
.mini{display:none}
@media (max-width:860px){.mini{display:block;position:fixed;left:0;right:0;bottom:0;background:var(--acc);color:#fff;text-align:center;padding:10px;font-weight:700;text-decoration:none;z-index:9}main{padding-bottom:56px}}
@media print{.mini{display:none!important}}
.spec{margin:6px 0 0;font-size:13px;color:var(--acc);font-weight:600}
