:root{--bg:#f6f7fb;--surface:#fff;--ink:#1a2233;--ink-soft:#54607a;--line:#e4e7f0;--brand:#1f6f5c;--brand-strong:#155446;--brand-tint:#e8f3ef;--accent:#2f6df0;--warn:#b15c00;--radius:14px;--shadow:0 1px 2px #141e3c0f, 0 8px 24px #141e3c0f;--maxw:880px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;font-size:16px;line-height:1.75}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 18px}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:60px;display:flex}.brand{color:var(--ink);letter-spacing:.01em;align-items:center;gap:8px;font-size:1.15rem;font-weight:800;display:inline-flex}.brand:hover{text-decoration:none}.brand .mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;display:grid}.nav a{color:var(--ink-soft);margin-left:16px;font-size:.92rem}.hero{padding:40px 0 14px}.hero h1{margin:0 0 10px;font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.35}.hero p{color:var(--ink-soft);margin:0}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:22px 0;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);padding:18px;transition:transform .12s,box-shadow .12s;display:block}a.card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 28px #141e3c1a}.card h3{margin:0 0 6px;font-size:1.05rem}.card p{color:var(--ink-soft);margin:0;font-size:.9rem}.card .tag{color:var(--brand-strong);background:var(--brand-tint);border-radius:999px;margin-bottom:10px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}main{padding:8px 0 48px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:18px 0;padding:22px}.field{margin-bottom:16px}.field label{margin-bottom:6px;font-size:.95rem;font-weight:700;display:block}.field .hint{color:var(--ink-soft);font-size:.82rem;font-weight:400}.field input[type=number],.field select{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 14px;font-size:1.05rem}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.checks{flex-wrap:wrap;gap:14px 22px;display:flex}.checks label{align-items:center;gap:8px;font-weight:600;display:flex}.checks input{width:18px;height:18px}.result-hero{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;border-radius:var(--radius);text-align:center;margin-bottom:18px;padding:24px}.result-hero .label{opacity:.9;margin:0;font-size:.9rem}.result-hero .big{letter-spacing:-.01em;margin:4px 0;font-size:clamp(2rem,7vw,2.8rem);font-weight:900}.result-hero .sub{opacity:.92;margin:0;font-size:.95rem}.breakdown{border-collapse:collapse;width:100%}.breakdown th,.breakdown td{border-bottom:1px solid var(--line);text-align:left;padding:11px 6px}.breakdown td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.breakdown tr.total td{border-top:2px solid var(--ink);border-bottom:none;font-size:1.05rem}.breakdown .muted{color:var(--ink-soft);font-weight:400}.breakdown .sect{color:var(--ink-soft);padding-top:16px;font-size:.82rem}.note{color:var(--ink-soft);border:1px solid #efe9d6;border-left:3px solid var(--warn);background:#fbfaf5;border-radius:8px;margin-top:16px;padding:12px 14px;font-size:.82rem}.prose h2{margin:30px 0 10px;font-size:1.25rem}.prose h3{margin:22px 0 8px;font-size:1.05rem}.prose p,.prose li{color:#2a3550}.prose ul{padding-left:1.2em}details{border:1px solid var(--line);background:#fff;border-radius:10px;margin:10px 0;padding:4px 14px}summary{cursor:pointer;padding:10px 0;font-weight:700}.freshness{color:var(--ink-soft);margin:10px 0 0;font-size:.8rem}.freshness.is-stale{color:var(--warn);font-weight:600}.freshness-warn{color:var(--warn);font-weight:700}.ad-slot{place-items:center;min-height:90px;margin:20px 0;display:grid}.aff-cta{border:1px solid var(--line);border-radius:var(--radius);background:var(--brand-tint);margin:18px 0;padding:16px 18px;position:relative}.aff-cta-pr{color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:999px;padding:1px 8px;font-size:.68rem;position:absolute;top:8px;right:10px}.aff-cta-heading{color:var(--brand-strong);margin:0 0 4px;font-weight:800}.aff-cta-note{color:var(--ink-soft);margin:0 0 8px;font-size:.85rem}.aff-cta-link a{font-weight:700}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:30px}.site-footer .container{color:var(--ink-soft);padding:26px 18px;font-size:.85rem}.site-footer a{color:var(--ink-soft);margin-right:16px}.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 22px;font-size:1rem;font-weight:700;display:inline-block}.btn:hover{background:var(--brand-strong);text-decoration:none}@media (width<=520px){.row{grid-template-columns:1fr}.nav a{margin-left:12px}}
