:root{--ink:#1d2430;--mut:#5b6474;--line:#d9dee6;--acc:#0b6e4f;--bg:#f6f7f9}
*{box-sizing:border-box}body{margin:0;font:15px/1.7 "Hiragino Sans","Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.top,main,.foot{max-width:980px;margin:0 auto;padding:0 16px}.top h1{font-size:1.45rem;line-height:1.4;margin:24px 0 8px}
.lede{font-size:1.02rem}.checked,.small,.note{color:var(--mut);font-size:.88rem}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:16px 0}
.card h2{font-size:1.15rem;margin:0 0 10px}
label{display:block;margin:6px 0}input,select,button{font:inherit}input,select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;max-width:100%}
#f1 input[data-k=wage]{width:220px;font-size:1.2rem}label.chk{display:inline-flex;gap:6px;align-items:center}
.out{margin:12px 0}.res{border-collapse:collapse;width:100%}.res th,.res td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.res td{text-align:right;font-weight:600;white-space:nowrap}
.upsell{background:#eef7f2;border-radius:8px;padding:10px 12px}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:8px 14px;border-radius:8px;text-decoration:none}.btn.alt{background:#fff;color:var(--acc);border:1px solid var(--acc)}
button{padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.bar,.grid2{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.emp{border-top:1px dashed var(--line);padding:10px 0}.emph{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tot{color:var(--mut);font-size:.88rem}
.months{display:grid;grid-template-columns:repeat(6,1fr);gap:4px 8px}.months label.m{font-size:.8rem;color:var(--mut);margin:2px 0}.months input{width:100%}
.months input.bm{width:4.5em;margin-right:4px}
.mon{border-collapse:collapse;width:100%;font-size:.8rem}.mon td{border:1px solid var(--line);padding:4px;text-align:center}
.rates{border-collapse:collapse;width:100%}.rates th,.rates td{border:1px solid var(--line);padding:6px;text-align:center}
.warn{color:#a33}.filebtn{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:5px 10px}.filebtn input{display:none}
.foot{color:var(--mut);font-size:.82rem;padding:20px 16px}
@media (max-width:640px){.months{grid-template-columns:repeat(3,1fr)}}
@media print{.top,#free,#facts,.foot,.bar,.acts,#lock,button{display:none!important}.card{border:0}}
