:root{--navy:#0b2d53;--navy2:#173f69;--gold:#bd9238;--gold2:#e9d49c;--ink:#17263a;--muted:#687588;--paper:#f7f3e9;--white:#fff;--line:#dbe1e6;--green:#476e62;--rose:#995f56}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f2ec;color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.7}button,input,textarea,select{font:inherit;color:inherit}.site-head{background:#fff;border-bottom:3px solid var(--gold);box-shadow:0 5px 20px #0b2d5310}.head-inner{max-width:1140px;margin:auto;padding:10px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand-logo{width:335px;height:72px;object-fit:contain;object-position:left}.head-copy{text-align:right;color:var(--navy)}.head-copy b,.head-copy span{display:block}.head-copy b{font-family:serif;font-size:22px}.head-copy span{font-size:12px;letter-spacing:.05em}main{max-width:1140px;margin:auto;padding:24px 20px 70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin:0 auto 22px;gap:8px}.step{border:0;background:#e6e6e2;color:#78818b;border-radius:999px;padding:9px 16px;font-weight:700;cursor:pointer}.step i{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;margin-right:7px;font-style:normal}.step.active{background:var(--navy);color:#fff}.panel{display:none}.panel.active{display:block}.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 45px #0b2d530e}.intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px}.hero-card{background:linear-gradient(155deg,var(--navy),#10233c);color:#fff;padding:42px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:330px;height:330px;border:70px double #ffffff0b;border-radius:50%;right:-185px;bottom:-135px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--gold);font-weight:800;margin:0 0 12px}.hero-card h1,.survey-head h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.42;font-size:35px;margin:0 0 20px}.lead{color:var(--muted);margin:0}.hero-card .lead{color:#e7edf5}.score-note{display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff33;margin-top:32px;padding-top:24px}.score-note strong{font:700 35px/1 serif;color:var(--gold2)}.score-note span{font-size:14px}.score-note small{opacity:.65}.form-card{padding:30px}.form-card h2{margin:0 0 17px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.episode{font-weight:700;font-size:14px}.wide{grid-column:1/-1}input,textarea,select{display:block;width:100%;margin-top:5px;border:1px solid #bfc8d1;border-radius:8px;padding:10px 11px;background:#fff}textarea{min-height:73px;resize:vertical}.ethics{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:18px;padding:13px 15px;background:#f4edda;border-left:4px solid var(--gold);font-size:13px}.ethics b{color:var(--navy)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}.split{justify-content:space-between}.btn{border:1px solid var(--navy);background:#fff;color:var(--navy);border-radius:8px;padding:10px 18px;font-weight:800;cursor:pointer}.btn:hover{transform:translateY(-1px)}.primary{background:var(--navy);color:#fff}.gold{background:var(--gold);border-color:var(--gold);color:#172334}.small{padding:7px 11px;font-size:13px}.survey-card{padding:34px}.survey-head{display:flex;justify-content:space-between;gap:20px}.survey-head h1{margin:0;font-size:31px}.counter{min-width:105px;text-align:right;color:var(--navy)}.counter b{font-size:36px}.counter span{font-size:13px}.progress{height:9px;background:#e7eaec;border-radius:10px;overflow:hidden;margin:20px 0 30px;position:sticky;top:10px;z-index:5}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#e2c36f);transition:.2s}.question-group{margin:0 0 32px}.group-title{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--gold);padding-bottom:10px}.group-title .num{background:var(--navy);color:#fff;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-weight:800}.group-title h2{margin:0;font-size:21px;color:var(--navy)}.group-title small{color:var(--muted)}.question{padding:18px 4px;border-bottom:1px solid var(--line)}.question p{font-weight:700;margin:0 0 10px}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.scale label{text-align:center;border:1px solid var(--line);border-radius:8px;padding:7px 3px;cursor:pointer;font-size:13px}.scale label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}.scale input{display:block;width:auto;margin:0 auto 2px}.scale-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:4px}.episode{display:block;margin-top:28px}.episode textarea{min-height:110px}.report-toolbar{position:sticky;top:10px;z-index:10;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;box-shadow:0 5px 20px #0b2d5314}.report-toolbar>div:first-child{display:flex;gap:12px;align-items:center}.report-toolbar b{color:var(--navy)}.report-toolbar span{font-size:12px;color:var(--muted)}.toolbar-actions{display:flex;gap:6px}.report-page{display:none;background:#fff;min-height:760px;border:1px solid var(--line);box-shadow:0 18px 50px #0b2d5310;border-radius:3px;padding:50px 56px;position:relative;overflow:hidden}.report-page.active{display:block}.page-no{position:absolute;right:30px;bottom:22px;color:#9aa3ae;font:12px serif}.page-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em}.page-title{font:700 31px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif;color:var(--navy);margin:9px 0 22px}.cover{background:linear-gradient(145deg,#fff 0 56%,#f5edd9 56%);display:flex;flex-direction:column;justify-content:center}.cover:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #caa44d55;border-radius:50%;right:-110px;bottom:-80px;box-shadow:0 0 0 38px #caa44d0e,0 0 0 76px #caa44d0e,0 0 0 114px #caa44d0e}.cover-logo{width:300px;height:75px;object-fit:contain;object-position:left;margin-bottom:54px}.cover h1{font:700 46px/1.4 "Yu Mincho",serif;color:var(--navy);margin:0;max-width:640px}.cover h1 em{font-style:normal;color:var(--gold)}.cover-company{margin-top:65px;font-size:19px;font-weight:700}.cover-meta{color:var(--muted);font-size:13px}.cover-tag{position:absolute;right:90px;top:300px;background:var(--navy);color:#fff;border:6px solid #fff;box-shadow:0 0 0 2px var(--gold);width:155px;height:155px;border-radius:50%;display:grid;place-content:center;text-align:center;z-index:2}.cover-tag b{font:700 40px serif;color:var(--gold2)}.cover-tag small{font-size:11px}.score-layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:center}.total-ring{width:250px;height:250px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--gold) var(--score),#e6e8e8 0);position:relative}.total-ring:before{content:"";position:absolute;inset:17px;background:#fff;border-radius:50%}.total-ring>*{position:relative}.total-ring strong{font:700 70px/1 serif;color:var(--navy)}.total-ring span{font-weight:700}.level{display:inline-block;padding:5px 11px;background:var(--navy);color:#fff;border-radius:999px;font-size:13px}.two-score{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.score-card{background:var(--paper);padding:18px;border-radius:12px}.score-card b{font-size:14px;color:var(--navy)}.score-card strong{display:block;font:700 35px serif;color:var(--gold)}.callout{border-left:4px solid var(--gold);background:#f7f3e9;padding:14px 17px;margin:20px 0}.radar-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.radar{width:100%;max-height:390px}.axis-list{display:grid;gap:10px}.axis-row{display:grid;grid-template-columns:90px 1fr 42px;align-items:center;gap:9px;font-size:13px}.axis-row .track{height:9px;background:#e8ebed;border-radius:9px;overflow:hidden}.axis-row .fill{height:100%;background:var(--gold)}.axis-row strong{text-align:right;color:var(--navy)}.principle{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.principle-card,.detail-card,.action-card,.case-card,.question-card{border:1px solid var(--line);border-radius:12px;padding:17px}.principle-card h3,.detail-card h3,.action-card h3,.case-card h3{margin:0 0 8px;color:var(--navy)}.principle-card .mini-score{font:700 30px serif;color:var(--gold)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-card p{font-size:13px;margin:6px 0}.detail-card .badge{font-size:11px;background:#eef2f4;border-radius:20px;padding:4px 8px}.balance{display:grid;grid-template-columns:1fr 90px 1fr;gap:16px;align-items:center;margin:25px 0}.balance-side{padding:21px;border-radius:13px;background:#f6f1e5}.balance-side.method{background:#eaf0f4}.balance-mid{text-align:center;color:var(--gold);font:700 28px serif}.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.risk-card{padding:20px;border-radius:12px;background:#f4f1ea}.risk-card.high{border-top:5px solid var(--rose)}.risk-card.watch{border-top:5px solid var(--gold)}.risk-card h3{margin:0 0 8px}.action-road{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.action-card{position:relative;padding-top:37px}.action-card .when{position:absolute;left:15px;top:0;background:var(--navy);color:#fff;padding:5px 11px;border-radius:0 0 8px 8px;font-size:12px}.action-card ul{padding-left:18px;font-size:13px}.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-card{background:#faf8f2}.case-card .year{font:700 28px serif;color:var(--gold)}.case-card p{font-size:13px}.case-card a{font-size:12px;color:var(--navy)}.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.question-card{min-height:103px}.question-card b{color:var(--gold);font-family:serif}.question-card p{margin:5px 0;font-weight:700}.declaration{border:2px solid var(--gold);padding:28px;margin-top:20px}.declaration blockquote{font:700 23px/1.7 "Yu Mincho",serif;color:var(--navy);margin:0}.signature{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:45px}.signature div{border-bottom:1px solid #89929c;padding-bottom:8px}.report-bottom{display:flex;justify-content:center;gap:10px;margin-top:17px}footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}
@media(max-width:800px){.head-copy{display:none}.brand-logo{width:270px}.intro-grid,.score-layout,.radar-layout,.detail-grid,.risk-grid{grid-template-columns:1fr}.hero-card{padding:30px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.survey-card{padding:20px}.report-toolbar{position:static;align-items:flex-start}.report-toolbar,.toolbar-actions{flex-wrap:wrap}.report-page{padding:30px 22px;min-height:auto}.cover{min-height:700px}.cover h1{font-size:36px}.cover-tag{right:35px;top:380px}.principle,.action-road,.cases{grid-template-columns:1fr}.question-grid{grid-template-columns:1fr}.balance{grid-template-columns:1fr}.balance-mid{transform:rotate(90deg)}.steps span{display:none}}
@media print{@page{size:A4;margin:0}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-head,.steps,.report-toolbar,.report-bottom,footer{display:none!important}main{max-width:none;padding:0}.panel{display:none!important}#report{display:block!important}#reportPages{display:block}.report-page{display:block!important;width:210mm;height:297mm;min-height:297mm;padding:17mm 16mm;border:0;box-shadow:none;page-break-after:always;break-after:page}.report-page:last-child{page-break-after:auto}.cover{min-height:297mm}.page-no{right:16mm;bottom:10mm}}

/* Production questionnaire flow */
.question-group{display:none}.question-group.active{display:block}.scale{grid-template-columns:repeat(6,1fr)}.episode{display:none}.episode.active{display:block}.chapter-status{display:flex;justify-content:space-between;align-items:center;background:#f3f0e8;border-left:4px solid var(--gold);padding:10px 14px;margin-bottom:20px;color:var(--navy)}.chapter-status span{font-size:13px;color:var(--muted)}.answer-guide{display:flex;gap:14px;align-items:flex-start;background:#eef2f4;padding:12px 14px;border-radius:8px;font-size:13px;margin-top:18px}.answer-guide b{white-space:nowrap;color:var(--navy)}.form-error{color:#8a3e35;font-weight:700;min-height:1.7em;margin:12px 0 0}.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}.confidence{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;background:#eef2f4;border-radius:999px;font-size:12px;color:var(--navy)}.scale label small{display:block;font-size:11px;font-weight:400}.scale label.na{background:#f5f5f3}
@media(max-width:650px){.scale{grid-template-columns:repeat(3,1fr)}.answer-guide{display:block}.answer-guide b{display:block;margin-bottom:4px}}
.consents{display:grid;gap:9px;margin-top:18px;padding:15px;background:#f7f5ef;border:1px solid var(--line);border-radius:10px;font-size:13px}.consents label{font-weight:600}.consents input{display:inline-block;width:auto;margin:0 5px 0 0}.consents a{color:var(--navy)}#website{position:absolute;left:-9999px}.save-status{font-size:12px;color:var(--green);font-weight:700}.save-status.error{color:var(--rose)}
