:root{--ink:#0d1418;--ink-2:#16222a;--paper:#fff;--surface:#f4f6f7;--surface-2:#ecf0f1;--line:#e2e7ea;--line-strong:#c8d2d8;--text:#1a2630;--muted:#64757f;--accent:#0e7c86;--accent-ink:#0a5a62;--accent-soft:#e4f1f1;--flag:#a85a12;--flag-soft:#fbf1e4;--flag-line:#e5cba4;--font-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", "Meiryo", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Roboto Mono", monospace;--font-doc:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--wrap:1120px;--wrap-narrow:760px;--radius:3px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--paper);color:var(--text);font-family:var(--font-sans);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;line-height:1.9}h1,h2,h3,h4{letter-spacing:.01em;margin:0;font-weight:600;line-height:1.5}p{margin:0}ul,ol{margin:0;padding:0}button{font-family:inherit;font-size:inherit;cursor:pointer}a{color:inherit}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:24px}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;font-size:11px;display:flex}.eyebrow:after{content:"";background:var(--line);flex:1;height:1px}.eyebrow.on-dark{color:#ffffff8c}.eyebrow.on-dark:after{background:#ffffff29}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header{background:var(--ink);color:#fff;z-index:50;border-bottom:1px solid #ffffff14;position:sticky;top:0}.site-header .wrap{align-items:center;gap:20px;height:60px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.1em;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.brand span{color:var(--accent)}.header-tag{font-family:var(--font-mono);letter-spacing:.16em;color:#ffffff73;border-left:1px solid #ffffff29;padding-left:20px;font-size:10px}.header-back{color:#fff9;margin-left:auto;font-size:12px;text-decoration:none}.header-back:hover{color:#fff}@media (width<=640px){.header-tag{display:none}}.hero{background:var(--ink);color:#fff;padding:72px 0 0;overflow:hidden}.hero-grid{grid-template-columns:1fr 420px;align-items:center;gap:64px;display:grid}.hero h1{margin:22px 0 20px;font-size:clamp(31px,4vw,46px);font-weight:600;line-height:1.45}.hero h1 em{color:var(--accent);white-space:nowrap;width:max-content;max-width:100%;font-size:clamp(24px,3.45vw,40px);font-style:normal;display:block}.hero-lead{color:#ffffffb8;max-width:46em;font-size:16.5px}.hero-lead strong{color:#fff;font-weight:600}.hero-meta{flex-wrap:wrap;gap:10px;margin:28px 0 0;padding-bottom:72px;display:flex}.beta-notice,.legal-notice,.draft-notice{background:#7fc4c917;border:1px solid #7fc4c980;margin:18px 0 22px;padding:14px 16px;font-size:12.5px;line-height:1.8}.beta-notice{color:#fffc}.beta-notice strong,.legal-notice strong,.draft-notice strong{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;font-size:10.5px;display:block}.legal-notice,.draft-notice{color:var(--muted);background:#f5fbfb}.chip{font-family:var(--font-mono);letter-spacing:.08em;color:#ffffffb8;border:1px solid #fff3;border-radius:999px;padding:5px 13px;font-size:11px}.hero-doc{color:var(--text);background:#fff;border-radius:2px 2px 0 0;max-height:300px;padding:26px 26px 0;font-size:11.5px;line-height:1.85;position:relative;overflow:hidden;transform:translateY(8px)rotate(-.4deg);box-shadow:0 -2px 40px #0006}.hero-doc:after{content:"";background:linear-gradient(#fff0,#fff);height:90px;position:absolute;inset:auto 0 0}.hero-doc .hd-title{font-family:var(--font-doc);font-size:15px;font-weight:600}.hero-doc .hd-rule{background:var(--line);height:1px;margin:12px 0 14px}.hero-doc .hd-h{margin-top:12px;font-size:12px;font-weight:600}.hero-doc p{color:#42525e;margin-top:4px}.hero-doc .hd-mark{background:var(--flag-soft);border-bottom:1px solid var(--flag-line);color:var(--flag)}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero-doc{max-height:200px;transform:none}.hero-meta{padding-bottom:40px}}@media (width<=640px){.hero h1{font-size:clamp(29px,8.4vw,36px)}.hero h1 em{letter-spacing:-.02em;font-size:clamp(23px,6.8vw,30px)}}.why{background:var(--surface);border-bottom:1px solid var(--line);padding:56px 0}.why-grid{grid-template-columns:repeat(3,1fr);gap:36px;margin-top:28px;display:grid}.why-item h3{margin:10px 0 8px;font-size:17px}.why-num{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);font-size:11px;font-weight:600}.why-item p{color:var(--muted);font-size:15px;line-height:1.85}@media (width<=820px){.why-grid{grid-template-columns:1fr;gap:24px}}.form-section{padding:72px 0 96px}.progress{gap:2px;margin:28px 0 40px;display:flex}.progress-step{background:var(--line);flex:1;height:2px;position:relative}.progress-step.is-done,.progress-step.is-current{background:var(--accent)}.progress-label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.progress-label b{color:var(--text);letter-spacing:.02em;font-weight:600;font-family:var(--font-sans);font-size:13px}.step{display:none}.step.is-active{animation:.3s fade;display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.step>h2{margin-bottom:8px;font-size:23px}.step>.step-note{color:var(--muted);margin-bottom:32px;font-size:15px}fieldset{border:0;margin:0 0 34px;padding:0}legend{padding:0}.field-head{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.field-head h3{font-size:16px}.req{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:1px 5px;font-size:9.5px;line-height:1.6}.req.opt{color:var(--muted);border-color:var(--line-strong)}.field-help{color:var(--muted);margin-bottom:14px;font-size:14px;line-height:1.8}.opts{gap:8px;display:grid}.opts.cols-2{grid-template-columns:repeat(2,1fr)}.opts.cols-3{grid-template-columns:repeat(3,1fr)}@media (width<=700px){.opts.cols-2,.opts.cols-3{grid-template-columns:1fr}}.opt{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:flex-start;gap:11px;padding:13px 15px;transition:border-color .15s,background .15s;display:flex}.opt:hover{border-color:var(--line-strong);background:var(--surface)}.opt input{accent-color:var(--accent);flex:none;margin:5px 0 0}.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.opt-body{min-width:0}.opt-title{font-size:15px;font-weight:500;line-height:1.7}.opt-desc{color:var(--muted);margin-top:2px;font-size:13.5px;line-height:1.7}.opt:has(input:checked) .opt-desc{color:#4a6165}.step-nav{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:8px;padding-top:28px;display:flex}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--radius);padding:12px 26px;font-size:15.5px;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{color:var(--muted);border-color:var(--line);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--line-strong);opacity:1}.btn-accent{background:var(--accent);border-color:var(--accent)}.btn-sm{padding:8px 16px;font-size:12.5px}.step-nav .spacer{flex:1}.nav-hint{color:var(--muted);font-size:12px}.generating{text-align:center;padding:100px 0 120px;display:none}.generating.is-active{display:block}.gen-bar{background:var(--line);width:200px;height:2px;margin:26px auto;overflow:hidden}.gen-bar i{background:var(--accent);width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.gen-log{font-family:var(--font-mono);color:var(--muted);min-height:1.8em;font-size:12px}.result{display:none}.result.is-active{display:block}.result-head{background:var(--ink);color:#fff;padding:48px 0 0}.result-head h2{margin:18px 0 10px;font-size:clamp(22px,3vw,30px)}.result-head p{color:#ffffffa6;max-width:60em;font-size:13.5px}.result-facts{border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:0;margin-top:30px;display:flex}.fact{border-right:1px solid #ffffff1f;margin-right:26px;padding:16px 26px 18px 0}.fact:last-child{border-right:0}.fact dt{font-family:var(--font-mono);letter-spacing:.14em;color:#ffffff73;font-size:10px}.fact dd{margin:3px 0 0;font-size:13.5px}.tabs{gap:0;margin-top:26px;display:flex}.tab{color:#ffffff8c;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;padding:14px 22px;font-size:13.5px;display:flex}.tab:hover{color:#fff}.tab[aria-selected=true]{color:#fff;border-bottom-color:var(--accent)}.tab .tab-n{font-family:var(--font-mono);letter-spacing:.1em;opacity:.6;font-size:10px}.tab .badge{background:var(--flag);color:#fff;font-family:var(--font-mono);border-radius:2px;padding:1px 6px;font-size:10px}@media (width<=640px){.tab{padding:12px 14px;font-size:12.5px}}.panel{background:var(--surface);padding:44px 0 90px;display:none}.panel.is-active{display:block}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.toolbar .spacer{flex:1}.toolbar-note{color:var(--muted);font-size:12px}.doc{border:1px solid var(--line);background:#fff;padding:56px 60px 64px;position:relative}@media (width<=820px){.doc{padding:32px 22px 40px}}.doc-title{font-family:var(--font-doc);text-align:center;letter-spacing:.04em;font-size:22px;font-weight:600}.doc-sub{text-align:center;color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.1em;margin-top:8px}.doc-rule{background:var(--line-strong);height:1px;margin:30px 0 36px}.doc h3{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;margin:38px 0 12px;padding-bottom:8px;font-size:15px;display:flex}.doc h3 .ch{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;flex:none;font-size:11px}.doc h4{margin:22px 0 6px;font-size:13.5px}.doc p{color:#2c3b46;margin:0 0 10px;font-size:14.5px;line-height:2}.doc ul,.doc ol{margin:0 0 12px;padding-left:1.4em}.doc li{color:#2c3b46;margin-bottom:3px;font-size:14.5px;line-height:1.95}.doc ul{padding-left:0;list-style:none}.doc ul>li{padding-left:1.1em;position:relative}.doc ul>li:before{content:"";background:var(--line-strong);width:5px;height:1px;position:absolute;top:.85em;left:0}.doc .lead-in{color:var(--muted);margin-bottom:12px;font-size:12.5px}.tailored{background:var(--accent-soft);border-left:2px solid var(--accent);margin:0 0 14px;padding:14px 18px}.tailored .tailored-tag{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent-ink);margin-bottom:6px;font-size:9.5px;display:block}.tailored ul>li:before{background:var(--accent)}.doc table{border-collapse:collapse;width:100%;margin:6px 0 16px;font-size:12.5px}.doc th,.doc td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 11px;line-height:1.75}.doc th{background:var(--surface);letter-spacing:.02em;font-size:11.5px;font-weight:600}.doc td .mono{font-family:var(--font-mono);color:var(--muted);font-size:11px}.flag-mark{background:var(--flag-soft);border:1px solid var(--flag-line);color:var(--flag);font-family:var(--font-mono);letter-spacing:.08em;vertical-align:1px;cursor:pointer;white-space:nowrap;border-radius:2px;align-items:center;gap:5px;margin-left:6px;padding:1px 7px;font-size:10px;transition:background .15s;display:inline-flex}.flag-mark:hover{background:#f5e3c9}.flag-mark:before{content:"◆";font-size:7px}.undecided{background:var(--flag-soft);border-bottom:1px solid var(--flag-line);padding:0 2px}.blank{border:1px dashed var(--flag-line);background:var(--flag-soft);margin:0 0 14px;padding:14px 18px}.blank .blank-tag{font-family:var(--font-mono);letter-spacing:.12em;color:var(--flag);margin-bottom:5px;font-size:9.5px;display:block}.blank p{color:#6b563a;margin:0;font-size:12.5px}.doc-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:44px;padding-top:20px;font-size:11.5px;line-height:1.9}.sheet-intro{border:1px solid var(--line);border-left:3px solid var(--flag);background:#fff;margin-bottom:22px;padding:24px 28px}.sheet-intro h3{margin-bottom:8px;font-size:16px}.sheet-intro p{color:var(--muted);font-size:14.5px;line-height:1.9}.issue{border:1px solid var(--line);background:#fff;margin-bottom:12px}.issue-head{text-align:left;background:0 0;border:0;align-items:flex-start;gap:14px;width:100%;padding:18px 22px;display:flex}.issue-head:hover{background:var(--surface)}.issue-n{font-family:var(--font-mono);letter-spacing:.08em;color:var(--flag);border:1px solid var(--flag-line);background:var(--flag-soft);border-radius:2px;flex:none;margin-top:2px;padding:2px 7px;font-size:11px;font-weight:600}.issue-title{flex:1;font-size:15.5px;font-weight:600;line-height:1.7}.issue-where{color:var(--muted);font-size:11.5px;font-family:var(--font-mono);letter-spacing:.06em;margin-top:4px;font-weight:400}.issue-toggle{color:var(--muted);flex:none;margin-top:2px;font-size:18px;line-height:1;transition:transform .2s}.issue.is-open .issue-toggle{transform:rotate(45deg)}.issue-body{padding:0 22px 24px 62px;display:none}.issue.is-open .issue-body{display:block}@media (width<=640px){.issue-body{padding-left:22px}}.issue-row{margin-bottom:16px}.issue-row dt{font-family:var(--font-mono);letter-spacing:.13em;color:var(--muted);margin-bottom:4px;font-size:10px}.issue-row dd{color:#2c3b46;margin:0;font-size:14px;line-height:1.9}.issue-row dd ul{padding-left:0;list-style:none}.issue-row dd li{margin-bottom:2px;padding-left:1.1em;position:relative}.issue-row dd li:before{content:"";background:var(--line-strong);width:5px;height:1px;position:absolute;top:.85em;left:0}.choices{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}@media (width<=640px){.choices{grid-template-columns:1fr}}.choice{border:1px solid var(--line);background:var(--surface);padding:12px 14px}.choice b{margin-bottom:3px;font-size:12px;display:block}.choice span{color:var(--muted);font-size:12px;line-height:1.75}.risk{color:#8a3a2a;font-size:12.5px}.issue.is-target{box-shadow:0 0 0 2px var(--flag)}.lead{background:var(--ink);color:#fff;padding:64px 0}.lead-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:56px;display:grid}@media (width<=820px){.lead-grid{grid-template-columns:1fr;gap:32px}}.lead h2{margin:16px 0 12px;font-size:22px}.lead p{color:#ffffffad;font-size:15px;line-height:1.95}.lead ul{margin:18px 0 0;list-style:none}.lead li{color:#ffffffad;margin-bottom:6px;padding-left:18px;font-size:13px;position:relative}.lead li:before{content:"→";color:var(--accent);font-family:var(--font-mono);font-size:11px;position:absolute;left:0}.lead-form{background:#ffffff0d;border:1px solid #ffffff1f;padding:26px}.lead-form label{font-family:var(--font-mono);letter-spacing:.13em;color:#ffffff80;margin-bottom:7px;font-size:10px;display:block}.lead-form input{color:#fff;border-radius:var(--radius);background:#00000040;border:1px solid #ffffff2e;width:100%;margin-bottom:16px;padding:11px 13px;font-family:inherit;font-size:14px}.lead-form input::placeholder{color:#ffffff4d}.lead-form .btn{justify-content:center;width:100%}.lead-note{color:#fff6;margin-top:12px;font-size:11px;line-height:1.8}.cta{background:var(--surface);border-top:1px solid var(--line);padding:72px 0 90px}.cta-box{border:1px solid var(--line);background:#fff;padding:44px 48px}@media (width<=640px){.cta-box{padding:28px 22px}}.cta h2{margin:14px 0 12px;font-size:20px}.cta p{color:var(--muted);max-width:60em;font-size:13.5px;line-height:1.95}.cta-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.cta-actions a{border-radius:var(--radius);border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 26px;font-size:14px;text-decoration:none}.cta-actions a.secondary{color:var(--text);border-color:var(--line-strong);background:0 0}.site-footer{background:var(--ink);color:#ffffff80;padding:36px 0;font-size:11.5px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.site-footer a{color:#ffffffb3}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);opacity:0;pointer-events:none;z-index:200;border:1px solid #ffffff26;padding:13px 22px;font-size:13px;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast.is-on{opacity:1;transform:translate(-50%)translateY(0)}@media print{.site-header,.hero,.why,.form-section,.result-head,.tabs,.toolbar,.lead,.cta,.site-footer{display:none!important}.draft-notice{color:#333!important;background:0 0!important;border-color:#999!important;display:block!important}.panel{background:#fff;padding:0;display:block!important}.doc{border:0;padding:0}}.diagnosis-nav{z-index:50;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;height:118px;padding:0 clamp(24px,5vw,72px);display:grid;position:relative}.diagnosis-nav-logo{justify-self:start;width:132px;height:100px;text-decoration:none;display:block}.diagnosis-nav-logo-frame{width:132px;height:100px;display:block;position:relative;overflow:hidden}.diagnosis-nav-logo img{width:118px;max-width:none;height:auto;position:absolute;top:2px;left:50%;transform:translate(-50%)}.diagnosis-nav-title{color:var(--muted);font-family:var(--font-mono);letter-spacing:.24em;white-space:nowrap;font-size:10px;font-weight:700}.diagnosis-home{color:var(--muted);justify-self:end;align-items:center;gap:9px;font-size:12px;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.diagnosis-home:hover{color:var(--accent);transform:translate(-3px)}@media (width<=640px){.diagnosis-nav{grid-template-columns:1fr auto;height:88px;padding:0 18px}.diagnosis-nav-logo,.diagnosis-nav-logo-frame{width:104px;height:78px}.diagnosis-nav-logo img{width:92px;top:2px}.diagnosis-nav-title{display:none}.diagnosis-home{font-size:11px}}:root{--ink:#07162c;--ink-2:#102945;--text:#10264b;--muted:#425574;--accent:#2f6f9f;--accent-ink:#245879;--accent-soft:#e8eff9;--font-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", Meiryo, system-ui, sans-serif}.hero h1 em,.hero h1 span,.hero .eyebrow,.hero .mono{color:#8fc1e0}
