:root{--bg:#f7f7f5;--card:#fff;--text:#1f2328;--muted:#5b636e;--line:#e3e3df;--accent:#0b7a5c;--accent-weak:#e6f3ee;--result:#fff8e6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;line-height:1.75;font-size:16px}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
a{color:var(--accent)}
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.site-header .wrap{height:56px;display:flex;align-items:center}
.logo{font-weight:700;font-size:18px;text-decoration:none;color:var(--text)}
.logo::before{content:"";display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--accent);margin-right:8px;vertical-align:-1px}
main{padding:20px 16px 40px}
h1{font-size:26px;line-height:1.4;margin:8px 0 8px}
h2{font-size:20px;margin:36px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--line)}
h3{font-size:17px;margin:24px 0 8px}
.lead{color:var(--muted);margin:0 0 20px}
.crumbs{font-size:13px;color:var(--muted)}
.tool{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0 24px}
.field{margin:0 0 14px}
.field label,.field .label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>.field{flex:1 1 140px}
input[type=number],input[type=date],input[type=text],select,textarea{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid #c9c9c4;border-radius:8px;background:#fff;color:var(--text)}
textarea{min-height:200px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.unit{font-size:13px;color:var(--muted)}
.radios{display:flex;gap:6px;flex-wrap:wrap}
.radios label{display:inline-flex;align-items:center;gap:4px;border:1px solid #c9c9c4;border-radius:999px;padding:6px 12px;font-weight:500;cursor:pointer;margin:0}
.radios input{accent-color:var(--accent)}
button,.btn{display:inline-block;font:inherit;font-weight:700;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;cursor:pointer;text-decoration:none}
button.sub{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.result{background:var(--result);border:1px solid #f0dca8;border-radius:10px;padding:16px;margin-top:16px}
.result .big{font-size:28px;font-weight:800;line-height:1.3}
.result .big small{font-size:15px;font-weight:600}
.result p{margin:4px 0}
table{border-collapse:collapse;width:100%;font-size:15px;margin:8px 0 16px;background:var(--card)}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f1f1ee;font-weight:600}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr.hl td{background:var(--accent-weak);font-weight:700}
.table-scroll{overflow-x:auto}
.note{font-size:13px;color:var(--muted)}
details.faq{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}
details.faq summary{font-weight:700;cursor:pointer}
.updated{font-size:13px;color:var(--muted);margin-top:32px}
.related ul{padding-left:20px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--text)}
.card:hover{border-color:var(--accent)}
.card strong{display:block;color:var(--accent);margin-bottom:4px}
.card span{font-size:13px;color:var(--muted);line-height:1.6;display:block}
table.kv th{width:30%}
.site-footer{border-top:1px solid var(--line);background:var(--card);padding:20px 0;font-size:13px;color:var(--muted)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px}
.site-footer a{color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}
.stat b{display:block;font-size:22px}
.stat span{font-size:12px;color:var(--muted)}
.group-row{display:flex;gap:8px;align-items:end;margin-bottom:8px}
.group-row .field{margin:0;flex:1}
