:root{color-scheme:light;--ink:#233b36;--muted:#5e706a;--accent:#20664c;--line:#d9e3dc;--paper:#f6f7f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.85}a{color:var(--accent);text-underline-offset:.22em}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b46c22;outline-offset:4px}.shell{width:min(1060px,100% - 40px);margin:auto}header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:22px 0}.brand{font-weight:800;text-decoration:none;font-size:1.05rem}.badge,.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.05em}.badge{background:#edf3ed;border-radius:20px;padding:3px 12px;white-space:nowrap}.breadcrumbs{font-size:.75rem;color:var(--muted);margin:28px 0;overflow-wrap:anywhere}h1{font-size:clamp(1.65rem,4.5vw,2.75rem);line-height:1.45;letter-spacing:-.025em;margin:36px 0 16px;max-width:900px}h2{font-size:1.3rem;margin:32px 0 14px}h3{font-size:1.08rem;line-height:1.6}.lead{max-width:750px;color:var(--muted);margin-bottom:28px}.intro-note{border-left:3px solid var(--accent);padding:10px 18px;background:#eaf0e8;font-size:.86rem}.category-nav{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 40px}.category-nav a{padding:8px 16px;border:1px solid var(--line);border-radius:30px;text-decoration:none;background:#fff}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:18px}.card{display:block;text-decoration:none;background:#fff;padding:25px;border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:border-color .2s}.card:hover{border-color:var(--accent)}.card h3{margin:12px 0}.card p{font-size:.85rem;color:var(--muted)}.eyebrow,.card-link{color:var(--accent)}.card-link{font-size:.85rem;font-weight:700}.calculator{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:28px;margin:32px 0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}label{display:block;font-size:.85rem;font-weight:650}input,select{display:block;width:100%;border:1px solid #9dac9f;border-radius:6px;padding:12px;color:var(--ink);background:#fff;min-height:48px;margin-top:7px}.check{display:flex;gap:10px;align-items:flex-start;grid-column:1/-1}.check input{width:20px;min-height:20px;flex-shrink:0}button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:7px;padding:12px 23px;font-weight:700;cursor:pointer;min-height:48px}.secondary{background:#fff;color:var(--accent)}.hint,.fine{font-size:.77rem;color:var(--muted)}.presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.presets button{padding:5px 13px;font-size:.85rem}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.result-grid p{background:#eef3eb;padding:18px;border-radius:8px;margin:0}.result-grid strong{display:block;font-size:clamp(1.5rem,4vw,2.2rem);overflow-wrap:anywhere}.result-grid small{font-size:.9rem;font-weight:400}#result:empty{display:none}#result{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.highlight{padding:14px;background:#eaf0e8;font-weight:700}.warning{padding:15px;background:#fff1db;border-left:3px solid #ab681c}table{width:100%;border-collapse:collapse;font-size:.85rem;margin:18px 0}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{font-weight:700}thead{background:#edf2eb}article{max-width:800px;margin:45px 0}article p{font-size:.95rem}details{border-bottom:1px solid var(--line);padding:16px 0}summary{font-weight:650;cursor:pointer}details p{max-width:800px}.sources{font-size:.8rem;overflow-wrap:anywhere}.sources h2{font-size:1rem}.ad-slot{margin:40px 0 28px;border:1px dashed #a7b6ac;min-height:75px;display:grid;place-items:center;font-size:.7rem;color:var(--muted)}footer{background:#e8eee5;margin-top:50px;padding:30px 0}footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.8rem;margin-bottom:20px}footer p{font-weight:700}footer small{font-size:.7rem}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:8px;z-index:2}.skip:focus{top:8px}[hidden]{display:none!important}@media(max-width:640px){.shell{width:calc(100% - 32px)}.header-inner{flex-wrap:wrap;padding:17px 0;gap:8px}.brand{font-size:.88rem}.badge{font-size:.65rem}.fields{grid-template-columns:1fr}.calculator{padding:18px}.result-grid{grid-template-columns:1fr}h1{margin-top:26px}button{margin-bottom:6px}th,td{padding:9px 5px;font-size:.77rem}}
/* 狭い画面と長い共有URLでもグリッドの最小幅を押し広げない。 */
.fields>*{min-width:0}input,select{min-width:0;max-width:100%}.shell{overflow-wrap:anywhere}table{table-layout:fixed}button{max-width:100%;white-space:normal}
