:root{--navy:#00004c;--navy-soft:#1a1a6e;--red:#d7003a;--ink:#1a1a1a;--ink-2:#4a4a52;--grey:#96969b;--line:#c9c9cd;--band:#f3f3f5;--paper:#fff;--ok:#1f7a4d;--font-body:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans CJK JP", "BIZ UDPGothic", sans-serif;--font-num:"Helvetica Neue", "Avenir Next", "Segoe UI", ui-sans-serif, sans-serif;--radius:4px;--w:640px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-feature-settings:"palt";background-image:linear-gradient(to bottom, var(--navy) 0, var(--navy) 6px, transparent 6px);background-repeat:no-repeat;margin:0;font-size:16px;line-height:1.7}.app{max-width:var(--w);padding:28px 20px calc(48px + env(safe-area-inset-bottom));flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;animation:.32s cubic-bezier(.2,.7,.2,1) both rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen{animation:none}}.eyebrow{font-family:var(--font-num);letter-spacing:.18em;text-transform:uppercase;color:var(--navy);align-items:center;gap:10px;margin:0 0 6px;font-size:12px;display:flex}.eyebrow:after{content:"";background:var(--line);flex:1;height:1px}.eyebrow .no{font-size:13px;font-weight:700}h1,h2{color:var(--navy);letter-spacing:.01em;margin:0 0 12px;font-weight:700;line-height:1.35}h1{font-size:26px}h2{font-size:20px}h3{color:var(--ink);margin:0 0 6px;font-size:17px}p{margin:0 0 12px}.lead{color:var(--ink-2)}.note{color:var(--grey);font-size:14px}.small{font-size:14px}.rule{border:0;border-top:1px solid var(--line);margin:20px 0}.spacer{flex:1}.btn{appearance:none;border:2px solid var(--navy);background:var(--navy);color:#fff;font:inherit;border-radius:var(--radius);cursor:pointer;letter-spacing:.04em;width:100%;min-height:52px;padding:14px 22px;font-size:17px;font-weight:700;transition:transform .12s,background .12s,opacity .12s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.secondary{color:var(--navy);background:0 0}.btn.accent{background:var(--red);border-color:var(--red)}.btn-row{gap:12px;margin-top:24px;display:flex}.btn-row .btn.secondary{flex:none;width:auto;padding-inline:18px}.progress{gap:4px;margin:0 0 22px;display:flex}.progress span{background:var(--line);border-radius:2px;flex:1;height:4px}.progress span.done{background:var(--navy)}.progress span.current{background:var(--red)}.field{margin-bottom:18px;display:block}.field .label{color:var(--ink);align-items:baseline;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.tag{letter-spacing:.08em;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:700}.tag.req{color:var(--red);border:1px solid var(--red)}.tag.opt{color:var(--grey);border:1px solid var(--line)}input[type=text],input[type=email],input[type=password],select,textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;min-height:50px;padding:12px 14px;font-size:17px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,.choice:focus-within{outline-offset:2px;outline:3px solid #d7003a59}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:40px}textarea{resize:vertical;min-height:110px;line-height:1.6}.counter{text-align:right;font-family:var(--font-num);color:var(--grey);margin-top:4px;font-size:13px}.check{border:1px solid var(--line);border-radius:var(--radius);background:var(--band);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--navy);flex:none;margin:2px 0 0}.error{color:var(--red);margin-top:6px;font-size:14px}.alert{border-left:4px solid var(--red);background:#fff4f6;margin:12px 0;padding:12px 14px;font-size:15px}.alert.ok{border-color:var(--ok);background:#f1f8f4}.question{border-top:1px solid var(--line);padding:18px 0}.question:first-of-type{border-top:0;padding-top:4px}.q-no{font-family:var(--font-num);color:var(--red);letter-spacing:.1em;font-size:13px;font-weight:700}.q-text{margin:2px 0;font-size:17px;font-weight:700;line-height:1.55}.q-hint{color:var(--grey);margin:0 0 12px;font-size:14px}.choices{gap:8px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:center;gap:12px;padding:11px 14px;font-size:16px;transition:border-color .12s,background .12s;display:flex}.choice input{width:20px;height:20px;accent-color:var(--navy);flex:none;margin:0}.choice.on{border-color:var(--navy);background:#eef0f7;font-weight:700}.choice .scale{font-family:var(--font-num);color:var(--grey);text-align:center;width:14px;font-size:12px}.kpis{grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin:8px 0 16px;display:grid}.kpi{border-top:3px solid var(--navy);background:var(--band);padding:12px 10px 10px}.kpi .v{font-family:var(--font-num);color:var(--navy);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.kpi .v small{color:var(--grey);margin-left:3px;font-size:14px;font-weight:500}.kpi .l{color:var(--ink-2);letter-spacing:.06em;margin-top:6px;font-size:12px}.kpi.accent{border-top-color:var(--red)}.kpi.accent .v{color:var(--red)}.chevrons{grid-template-columns:repeat(4,1fr);gap:3px;margin:4px 0 18px;display:grid}.chev{background:var(--band);color:var(--ink-2);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);padding:8px 6px 8px 12px;font-size:12px;line-height:1.35}.chev.first{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);padding-left:8px}.chev.on{background:var(--navy);color:#fff;font-weight:700}.chev .t{font-weight:700;display:block}.chev small{font-family:var(--font-num);opacity:.8;display:block}.chart-box{height:250px;margin:4px 0 6px;position:relative}.focus{border:1px solid var(--line);border-left:4px solid var(--red);margin:8px 0 18px;padding:14px 16px}.focus h3{color:var(--navy);font-size:17px;line-height:1.5}.focus .cat{color:var(--red);letter-spacing:.08em;margin-bottom:4px;font-size:13px;font-weight:700}.comment{background:var(--band);border-radius:var(--radius);min-height:120px;margin:8px 0 12px;padding:16px}.comment p:last-child{margin-bottom:0}.loading{color:var(--ink-2);align-items:center;gap:12px;display:flex}.dots{gap:4px;display:inline-flex}.dots i{background:var(--navy);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.guide{border-top:1px solid var(--line);color:var(--ink-2);padding-top:12px;font-size:15px}.title-block{padding:14px 0 6px}.title-block .brand{font-family:var(--font-num);letter-spacing:.22em;color:var(--red);text-transform:uppercase;margin-bottom:8px;font-size:12px}.title-block h1{font-size:30px;line-height:1.3}.meta-row{color:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px;margin:14px 0 20px;padding:10px 0;font-size:14px;display:flex}.meta-row b{color:var(--navy);font-family:var(--font-num);margin-right:4px;font-size:18px}.done-mark{border:3px solid var(--navy);width:64px;height:64px;color:var(--navy);border-radius:50%;place-items:center;margin:8px 0 18px;font-size:30px;display:grid}@media (width>=560px){.app{padding-top:40px}h1{font-size:30px}}
