:root{--ink:#1b1d21;--ink-soft:#5b6068;--ink-faint:#646a72;--bg:#f6f6f4;--surface:#ffffff;--line:#e6e5e1;--accent:#0f6f63;--accent-soft:#e7f2f0;--accent-ink:#0a4d45;--alert:#b3261e;--alert-soft:#fdf0ef;--radius:12px;--gap:16px;--measure:42rem;--font-sans:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.75;font-feature-settings:"palt" 1}address,cite,dfn,em,i,var{font-style:normal;font-weight:700}a{color:var(--accent-ink);text-underline-offset:.2em}h1,h2,h3{line-height:1.4;letter-spacing:.01em;margin:0 0 .5em}h1{font-size:1.5rem}h2{font-size:1.175rem;margin-top:2rem}h3{font-size:1rem}p{margin:0 0 1em}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.page{max-width:var(--measure);margin:0 auto;padding:0 20px 64px}.site-header{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.site-header a{font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none}.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:20px 0 48px;color:var(--ink-soft);font-size:.875rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px;margin-bottom:8px}.card{background:var(--surface);border-radius:var(--radius);padding:20px;margin:var(--gap) 0}.stack>*+*{margin-top:var(--gap)}.lede{color:var(--ink-soft)}.meta{color:var(--ink-faint);font-size:.8125rem;line-height:1.7}.ad-disclosure{font-size:1rem;line-height:1.6;color:var(--ink);background:var(--accent-soft);border-radius:8px;padding:10px 14px;margin:12px 0}.field{margin-bottom:20px}.field .field-legend,.field>label{display:block;font-weight:700;margin-bottom:6px}.field-help{color:var(--ink-soft);font-size:.875rem;margin:4px 0 0}.field-error{color:var(--alert);font-size:.875rem;font-weight:700;margin:6px 0 0}.input-row{display:flex;align-items:center;gap:8px}input[type=number],input[type=text],select{width:100%;font:inherit;color:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-height:48px}[tabindex="-1"]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--alert)}.unit{flex:none;color:var(--ink-soft)}fieldset{border:0;margin:0;padding:0}.radio-list{display:grid;grid-gap:8px;gap:8px}.radio-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-height:48px;cursor:pointer}.radio-item:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.optional-group{margin:8px 0 20px}.optional-group>summary{cursor:pointer;font-weight:700;color:var(--accent-ink)}.optional-group[open]>summary{margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:14px 20px;border:0;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;background:var(--accent);color:#fff}.btn:disabled{background:var(--line);color:var(--ink-faint);cursor:not-allowed}.btn-secondary{color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}.btn-secondary,.result{background:var(--surface)}.result{border-radius:var(--radius);padding:24px 20px;margin-top:24px}.result-emphasis{text-align:center;padding:8px 0 4px}.result-emphasis .label{color:var(--ink-soft);font-size:.9375rem}.result-emphasis .value{display:block;font-size:clamp(2.5rem,12vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--accent-ink);margin:4px 0}.result-emphasis .value .unit{font-size:.4em;margin-left:4px;color:var(--ink-soft)}.result-breakdown{list-style:none;margin:20px 0 0;padding:0;font-size:.9375rem}.result-breakdown li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}.result-breakdown .label{color:var(--ink-soft)}.result-breakdown .value{font-weight:700;text-align:right;margin-left:auto;max-width:100%}.result-breakdown .note{display:block;font-weight:400;font-size:.8125rem;color:var(--ink-faint)}.disclaimer{background:var(--alert-soft);color:var(--ink);border-radius:8px;padding:12px 14px;margin-top:16px;font-size:.9375rem;line-height:1.7}.disclaimer strong,.error-summary{color:var(--alert)}.error-summary{background:var(--alert-soft);border-radius:8px;padding:12px 14px;margin-bottom:16px;font-weight:700}.tool-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.tool-card{position:relative;background:var(--surface);border-radius:var(--radius);padding:18px 20px;transition:background-color .15s ease,box-shadow .15s ease}.tool-card:focus-within,.tool-card:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tool-card-title{margin:0;font-size:1.0625rem;line-height:1.5}.tool-card-link{color:var(--accent-ink);text-decoration:none;font-weight:700}.tool-card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.tool-card-link:focus-visible{outline:none}.tool-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.tool-card-desc{margin:8px 0 0;color:var(--ink-soft);font-size:.875rem;line-height:1.7}.tool-card-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:14px 0 0}.tool-card-meta{color:var(--ink-faint);font-size:.8125rem}.tool-card-cta{color:var(--accent-ink);font-size:.9375rem;font-weight:700;line-height:1.6}h2 .count{color:var(--ink-faint);font-size:.875rem;font-weight:400}.badge{display:inline-block;font-size:.75rem;font-weight:700;color:var(--ink-soft);background:var(--bg);border-radius:999px;padding:2px 10px;margin-bottom:6px}.prose h2{font-size:1.125rem;border-top:1px solid var(--line);padding-top:1.5rem}.prose ul{padding-left:1.25em}.prose li{margin-bottom:.4em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@media (min-width:640px){h1{font-size:1.875rem}.card,.result{padding:28px}}.result-alert{background:var(--alert-soft);border-left:4px solid var(--alert);border-radius:8px;padding:14px 16px;margin-bottom:20px}.result-alert .label{display:block;color:var(--alert);font-weight:700;margin-bottom:2px}.result-alert .value{font-weight:700}.result-alert .note{display:block;margin-top:4px;font-size:.875rem;color:var(--ink-soft)}.result-emphasis .value.is-text{font-size:clamp(1.5rem,7vw,2.25rem);letter-spacing:0;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.cta-area{margin:8px 0 0;font-size:.9375rem;font-weight:700;line-height:1.6;color:var(--ink)}.cta-area-part{white-space:nowrap}.cta-area-label{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.8125rem}.site-brand{display:inline-flex;align-items:center;gap:9px}.site-brand svg{flex:none}.site-header .header-tools{font-size:.875rem;color:var(--accent-ink);text-decoration:underline;padding:12px 0 12px 8px}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--surface);padding:12px 18px;border-radius:8px}.skip-link:focus{top:8px}.home-intro{padding:24px 0 22px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent-ink);font-weight:700;font-size:.875rem;margin-bottom:14px}.home-intro h1{font-size:clamp(1.7rem,5.4vw,2.4rem);line-height:1.5;letter-spacing:-.02em;margin-bottom:16px}.home-intro .lede{max-width:35rem}.trust-notes{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:0;color:var(--accent-ink);font-size:.8125rem;font-weight:700}.trust-notes li:before{content:"✓";margin-right:6px}.section-intro{margin:26px 0 12px}.section-intro h2{margin:0 0 4px}.section-intro p{margin:0}.category-title,.section-intro p{color:var(--ink-soft);font-size:.875rem}.category-title{margin-top:16px}.tool-card{border:1px solid var(--line)}.tool-card-situation{font-size:.8125rem;color:var(--ink-soft);margin-bottom:6px}.card-arrow{display:inline-flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);margin-left:3px}.tool-card:focus-within .card-arrow,.tool-card:hover .card-arrow{background:var(--accent);color:white}.breadcrumb{color:var(--ink-soft);font-size:.8125rem;margin:2px 0 14px}.form-intro{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}.form-intro h2,.next-step h2,.result-heading{margin-top:0}.form-progress{color:var(--ink-soft);font-size:.875rem;margin:14px 0 0}.form-progress strong{color:var(--accent-ink)}.field-requirement{display:inline-block;font-size:.75rem;font-weight:400;color:var(--ink-soft);background:var(--bg);padding:1px 7px;border-radius:4px;margin-left:8px;vertical-align:middle}.radio-item input{accent-color:var(--accent);width:18px;height:18px;flex:none}.radio-item:focus-within{outline:2px solid var(--accent);outline-offset:2px}.form-footnote{color:var(--ink-soft);text-align:center;font-size:.8125rem;margin:10px 0 0}.error-summary p{margin:0}.error-summary ul{margin:8px 0 0;padding-left:20px}.error-summary ul:empty{display:none}.error-link{border:0;background:none;padding:6px 0;text-align:left;color:var(--alert);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}#calculation-basis,#tools,.result-region{scroll-margin-top:20px}.result-heading{font-size:.875rem;color:var(--ink-soft)}.next-step{margin-top:20px;padding:20px;background:var(--accent-soft);border-radius:var(--radius)}.next-step p{font-size:.9375rem}.result-actions{display:grid;grid-gap:8px;gap:8px}.text-action{display:inline-flex;align-items:center;min-height:44px}.btn:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--accent-ink)}@media (min-width:640px){.home-intro{padding-top:32px}.result-actions{grid-template-columns:1fr 1fr;column-gap:20px}.result-actions .btn{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;scroll-behavior:auto!important}}.estimate-guide h3{margin-top:1.75rem}.estimate-guide blockquote{margin:1.25rem 0;padding:16px;background:var(--surface);border-left:3px solid var(--accent);overflow-wrap:anywhere}.estimate-guide table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9375rem;table-layout:fixed}.estimate-guide td,.estimate-guide th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.estimate-guide th:first-child{width:30%}