.budget-worksheet{border:1px solid #E5E5E5;border-top:3px solid #F8AC1B;padding:26px;margin:30px 0;background:#FAFAFA;font-family:'Noto Sans JP',sans-serif}
.budget-worksheet .budget-note{font-size:.85rem;line-height:1.7;color:#666}
.budget-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.budget-inputs label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:700;line-height:1.6}
.budget-inputs input{font:inherit;font-size:1rem;font-weight:400;width:100%;min-width:0;box-sizing:border-box;border:1px solid #666;border-radius:0;background:#fff;color:#000;padding:12px}
.budget-inputs input:focus-visible,.budget-reset:focus-visible{outline:2px solid #F8AC1B;outline-offset:3px}
.budget-reset{font:inherit;font-size:.8rem;margin:22px 0;padding:10px 14px;background:#fff;color:#000;border:1px solid #000;cursor:pointer}
.budget-results dl{margin:0;border-top:1px solid #E5E5E5}
.budget-results dl>div{display:grid;grid-template-columns:1fr auto;gap:20px;padding:15px 0;border-bottom:1px solid #E5E5E5}
.budget-results dt{font-size:.8rem;line-height:1.7}
.budget-results dd{margin:0;font-size:1rem;font-weight:700;text-align:right}
.budget-error{border-left:3px solid #F8AC1B;padding-left:12px;font-size:.9rem}
.blog-table caption{padding:14px 18px;text-align:left;font-size:.8rem;color:#666;background:#fff}
@media(max-width:600px){.budget-worksheet{padding:18px}.budget-inputs{grid-template-columns:1fr}.budget-results dl>div{grid-template-columns:1fr;gap:5px}.budget-results dd{text-align:left}}
@media print{.budget-worksheet{background:#fff}.budget-reset{display:none}.budget-inputs{grid-template-columns:1fr 1fr}.budget-worksheet input{border:0;padding:0}}
