:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#152d38;background:#f2f6f8;font-size:16px;line-height:1.65;--blue:#124f68;--border:#c8d7de}
html[lang=ja]{font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}header{flex-wrap:wrap}.language-switch{flex-basis:100%;display:flex;gap:6px;justify-content:flex-end}.language-switch button{font-size:.875rem;min-height:44px;min-width:64px;padding:8px 14px;background:white;color:var(--blue);border:1px solid var(--border)}.language-switch button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.language-note{font-size:.875rem;color:#506775}html[lang=en] header .badge,html[lang=ja] header .badge{white-space:normal;max-width:45%}
[hidden]{display:none!important}.question-group{border-top:1px solid var(--border);padding-top:20px;margin-top:30px}.question-group h2{margin:0 0 6px}.group-description{font-size:.875rem;margin-bottom:24px}.field-help{font-size:.875rem;font-weight:400;color:#506775;margin:0 0 12px}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:22px 0}.review-grid section{padding:16px;border:1px solid var(--border);background:white;border-radius:8px}.review-grid h2{margin:0 0 8px}.review-grid p{margin:0}summary{cursor:pointer;padding:8px 0;font-weight:600}
*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:760px;margin:auto;padding:22px}header{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--border)}header small{display:block;font-size:.875rem;color:#4b6270}header .mark{width:42px;height:42px;display:grid;place-items:center;background:var(--blue);color:white;border-radius:12px;font-size:1.5rem}.badge{margin-left:auto;font-size:.875rem;background:#e1ebf1;color:#224a5b;padding:5px 10px;border-radius:5px;white-space:nowrap}h1{font-size:1.65rem;line-height:1.35;margin:12px 0 14px}h2{font-size:1.15rem}p{margin:10px 0 16px}.muted{color:#506775}.notice{padding:14px 16px;border-left:4px solid #ac6800;background:#fff2d6;margin:12px 0 20px}.safe{border-color:var(--blue);background:#e6f0f4}.progress{height:5px;background:#d8e3e8;margin-bottom:8px}.progress span{display:block;height:100%;background:var(--blue)}.step{font-size:.875rem;color:#506775}fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}legend{font-weight:600;padding:0;margin-bottom:10px;width:100%}label.field{display:block;margin:0 0 25px;font-weight:600}input[type=text],input[type=number],textarea,select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #8ba4b1;border-radius:6px;font:inherit;background:white;color:inherit}textarea{min-height:108px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:20px;height:20px;flex:0 0 20px}.check,.option{display:flex;gap:10px;align-items:flex-start;padding:12px;background:white;border:1px solid var(--border);border-radius:7px;margin:8px 0;cursor:pointer}.check:has(input:checked),.option:has(input:checked){border-color:var(--blue);background:#e7f3f7}.scale{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.scale.ten{grid-template-columns:repeat(6,minmax(0,1fr))}.scale label{position:relative;cursor:pointer}.scale input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.scale span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #8ba4b1;background:white;border-radius:6px;font-weight:600}.scale input:checked+span{background:var(--blue);color:white;border-color:var(--blue)}.scale input:focus-visible+span{outline:3px solid #0b98dc;outline-offset:3px}.ends{display:flex;justify-content:space-between;font-size:.875rem;gap:15px;margin:7px 0}.skip{font-size:.875rem;display:flex;align-items:center;gap:6px;margin-top:8px;color:#506775;cursor:pointer}button,.button{display:inline-block;border:0;border-radius:7px;background:var(--blue);color:white;padding:14px 20px;font:inherit;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;min-height:50px}button:disabled{opacity:.6;cursor:wait}button.secondary{background:#e2eaf0;color:#244455}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:28px 0 15px}.actions button:first-child{flex-grow:1}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid #0b98dc;outline-offset:3px}.error{color:#a32323;font-weight:600}.saved{color:#235b45}footer{color:#506775;font-size:.875rem;padding-bottom:40px}.checklist li{margin-bottom:12px}.divider{border-top:1px solid var(--border);margin:30px 0 22px;padding-top:20px}.confirmation{background:white;border:1px solid var(--border);padding:24px;margin:22px 0;border-radius:10px}.confirmation b{font-size:1.5rem}.flow{padding-left:24px;border-left:3px solid var(--border);margin-left:10px}.flow section{position:relative;background:white;border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin:14px 0}.flow section:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--blue);left:-31px;top:25px}.flow section h2{margin:0}.flow section p{margin:5px 0}.flow time{font-size:.875rem;color:#506775}table{width:100%;border-collapse:collapse;background:white;margin:16px 0}th,td{border:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}@media(max-width:420px){header,main,footer{padding:18px}.scale{gap:4px}h1{font-size:1.5rem}.badge{font-size:.8rem}.scale.ten{grid-template-columns:repeat(6,minmax(0,1fr))}}@media print{body{background:white}header,main,footer{max-width:none}.actions{display:none}.flow section,fieldset{break-inside:avoid}}
