:root{color-scheme:light;--bg:#fbfaf7;--ink:#23211f;--muted:#6f6a63;--line:#e7dfd5;--panel:#fff;--accent:#5d8c74;--accent-strong:#35624e;--accent-soft:#edf6f0;--warm:#d97854;--warm-soft:#fff1e9;--shadow:0 18px 52px rgba(58,46,35,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.7}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(18px,4vw,56px);background:rgba(251,250,247,.96);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;font-weight:800;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--warm));font-size:13px}.back-link{color:var(--accent-strong);font-size:14px}main{width:min(100% - 36px,980px);margin:auto}.intro{min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:760px;padding:64px 0}.eyebrow{display:block;margin:0 0 10px;color:var(--warm);font-weight:800;font-size:13px}.intro h1,.result-hero h1{font-size:clamp(34px,6vw,60px);line-height:1.18;margin:0 0 20px}.lead{font-size:clamp(17px,2.3vw,21px);color:#514c47}.feature-list{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;margin:12px 0 30px;list-style:none;color:var(--accent-strong);font-weight:700}.feature-list li:before{content:"✓";margin-right:7px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 22px;border:1px solid transparent;border-radius:10px;font-weight:800;cursor:pointer;text-decoration:none}.primary{color:#fff;background:var(--accent-strong)}.primary:hover{background:#274c3c}.secondary{color:var(--accent-strong);background:#fff;border-color:var(--accent)}.text-button{color:var(--accent-strong);background:transparent}.button:focus-visible,input:focus-visible{outline:3px solid #e3a561;outline-offset:3px}.notice,.privacy-note{margin-top:22px;color:var(--muted);font-size:13px}.diagnosis{padding:clamp(38px,8vw,76px) 0}.progress-wrap{margin-bottom:30px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.progress{height:8px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--line)}.progress span{display:block;width:8.33%;height:100%;background:linear-gradient(90deg,var(--accent),var(--warm));transition:width .2s}fieldset{min-width:0;margin:0;padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}legend{display:block;width:100%;padding:0;font-size:clamp(23px,4vw,34px);font-weight:800;line-height:1.4}.question-help{color:var(--muted)}.answer-area{display:grid;gap:12px;margin-top:24px}.option{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.option:hover,.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.option input{width:20px;height:20px;margin:3px 0;accent-color:var(--accent-strong)}.text-input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.char-count{text-align:right;color:var(--muted);font-size:13px}.form-actions,.result-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px}.error{margin:16px 0 0;color:#9b3025;font-weight:700}.results{padding:54px 0 80px}.result-hero{margin-bottom:36px}.score-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.score-legend span{padding:5px 10px;border-radius:999px;background:var(--accent-soft);font-size:12px}.recommendations{display:grid;gap:22px}.recommendation{padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);break-inside:avoid}.rec-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.rank{color:var(--warm);font-weight:900}.rec-head h2{margin:2px 0 8px;font-size:clamp(23px,4vw,32px)}.total-score{flex:0 0 auto;text-align:center;color:var(--accent-strong);font-weight:900;font-size:25px}.total-score small{display:block;font-size:11px}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.score-item{padding:8px 4px;border-radius:8px;background:var(--bg);text-align:center;font-size:11px}.score-item b{display:block;font-size:17px;color:var(--accent-strong)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail{padding:14px;border-left:3px solid var(--accent);background:var(--accent-soft)}.detail.risk{border-color:var(--warm);background:var(--warm-soft)}.detail h3{margin:0 0 5px;font-size:14px}.detail p{margin:0}.result-section{margin-top:42px;padding:clamp(22px,4vw,34px);border-radius:18px;background:#fff;border:1px solid var(--line);break-inside:avoid}.result-section h2{margin-top:0}.rules ol{display:grid;gap:14px;padding-left:24px}.rules li span{display:block;color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.plan-grid article{padding:15px;background:var(--accent-soft);border-radius:12px}.plan-grid b{color:var(--warm)}.plan-grid h3{margin:3px 0}.plan-grid p{margin:0;font-size:14px}.sales li{margin-bottom:8px}
@media(max-width:680px){.back-link{font-size:12px}.intro{padding:42px 0}.detail-grid,.plan-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,1fr)}.rec-head{display:block}.total-score{text-align:left}.form-actions .button{flex:1}.result-actions .button{width:100%}}
@media(max-width:380px){main{width:min(100% - 24px,980px)}.site-header{padding:12px}.brand span:last-child{display:none}fieldset{padding:20px 16px}.option{padding:12px}.intro h1,.result-hero h1{font-size:32px}}
.company-input-wrap{display:grid;gap:5px;max-width:520px;margin:18px 0 22px}.company-input-wrap label{font-weight:800}.company-input-wrap small{color:var(--muted)}
@media print{.company-input-wrap{display:none!important}}
@media print{@page{size:A4;margin:12mm}.site-header,.intro,.diagnosis,.result-actions,.privacy-note{display:none!important}body{background:#fff;font-size:10pt}main{width:100%}.results{display:block!important;padding:0}.result-hero h1{font-size:24pt}.recommendation,.result-section{box-shadow:none;margin-top:12px;padding:14px;break-inside:avoid}.score-grid{margin:8px 0}.detail{padding:8px}.plan-grid{grid-template-columns:repeat(4,1fr)}}
