:root{--ink:#24343b;--muted:#63747a;--teal:#2f7f78;--teal-dark:#205f59;--mint:#eaf5f2;--paper:#fff;--bg:#f7fbfa;--line:#c9dad6;--sand:#fff9ef;--sand-line:#ead8b5;--lav:#f4f1f8;--lav-line:#d8cfe2;--danger:#a44e40;--shadow:0 16px 44px rgba(32,70,66,.09);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 100% 0,#e8f5f2 0,transparent 28rem),var(--bg);line-height:1.7}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-header{max-width:760px;margin:auto;padding:22px 22px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.site-header p{margin:0;color:var(--muted);font-size:.82rem}.brand{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--teal-dark);letter-spacing:.04em}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--teal);color:white}.app-shell{max-width:680px;margin:0 auto;padding:24px 20px 72px}.screen{animation:fade-in .28s ease}.eyebrow{display:inline-flex;color:var(--teal-dark);font-weight:800;font-size:.86rem;letter-spacing:.05em;background:var(--mint);border-radius:999px;padding:5px 12px}h1{font-size:clamp(2.15rem,8vw,3.35rem);line-height:1.18;letter-spacing:-.04em;margin:18px 0 16px}h1 span{color:var(--teal-dark)}h2{line-height:1.35}.lead{font-size:1.08rem;color:var(--muted);margin:0 0 24px}.intro-card,.safety-card,.next-action-card,.final-summary{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.intro-card{margin-bottom:18px}.intro-card p{margin:0}.intro-card p+p{margin-top:6px}.safety-card{box-shadow:none;background:#fffdfa}.safety-card h2{font-size:1.15rem;margin:0 0 10px}.safety-card ul{margin:0;padding-left:1.25rem}.safety-card li+li{margin-top:7px}.consent-control{display:flex;align-items:center;gap:14px;margin:22px 0 0;padding:17px;background:var(--paper);border:2px solid var(--line);border-radius:18px;cursor:pointer}.consent-control input{position:absolute;opacity:0}.fake-check{flex:none;width:28px;height:28px;border:2px solid var(--teal);border-radius:8px;background:white;position:relative}.consent-control input:checked+.fake-check{background:var(--teal)}.consent-control input:checked+.fake-check:after{content:"✓";position:absolute;color:#fff;font-weight:900;inset:-2px 0 0;text-align:center;font-size:1.15rem}.consent-control:has(input:focus-visible){outline:3px solid #92c9c3;outline-offset:3px}.helper{color:var(--muted);font-size:.85rem;margin:8px 4px 14px}.primary-button,.secondary-button,.survey-button{min-height:54px;border-radius:15px;padding:13px 22px;font-weight:800;text-align:center;cursor:pointer}.primary-button{width:100%;border:0;background:var(--teal-dark);color:white;box-shadow:0 8px 18px rgba(32,95,89,.18)}.primary-button:disabled{background:#bdcbc8;box-shadow:none;cursor:not-allowed}.secondary-button{border:1.5px solid var(--teal);background:white;color:var(--teal-dark)}.privacy-note{text-align:center;color:var(--muted);font-size:.8rem;margin:14px 0 0}.progress-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem}.progress-row span:first-child{font-size:1.05rem;font-weight:900;color:var(--teal-dark)}.progress-track{height:8px;background:#dfeae8;border-radius:999px;overflow:hidden;margin:10px 0 22px}.progress-track div{height:100%;width:12.5%;background:var(--teal);border-radius:inherit;transition:width .25s ease}.question-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.question-number{font-size:.82rem;font-weight:900;color:var(--teal);letter-spacing:.08em}.question-card h1{font-size:clamp(1.6rem,6vw,2.15rem);margin:7px 0 14px}.question-text{font-size:1.06rem;margin:0}.question-note{color:var(--danger);font-size:.9rem;margin:10px 0 0}.question-note:empty{display:none}.choice-group,.action-group{border:0;padding:0;margin:25px 0 0}.choice-group legend{font-weight:700;margin-bottom:12px}.choice{display:flex;align-items:center;gap:14px;min-height:72px;border:2px solid var(--line);background:white;border-radius:17px;padding:12px 14px;cursor:pointer}.choice+.choice{margin-top:10px}.choice input,.action-option input{position:absolute;opacity:0}.choice-icon{width:40px;height:40px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--mint);color:var(--teal-dark);font-size:1.3rem;font-weight:900}.choice strong{display:block;font-size:1.04rem}.choice small{display:block;color:var(--muted);font-size:.83rem}.choice:has(input:checked){border-color:var(--teal);background:var(--mint)}.choice:has(input:focus-visible),.action-option:has(input:focus-visible){outline:3px solid #92c9c3;outline-offset:2px}.nav-row{display:grid;grid-template-columns:1fr 1.7fr;gap:12px;margin-top:16px}.result-screen>h1{font-size:clamp(2rem,7.5vw,3rem)}.count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.count-card{padding:18px 8px 14px;border-radius:18px;text-align:center;border:1px solid}.count-card span{display:block;font-size:.78rem;font-weight:800}.count-card strong{font-size:2.2rem;line-height:1.1;margin-right:2px}.count-card small{font-size:.72rem}.count-card.ok{background:var(--mint);border-color:var(--line)}.count-card.later{background:var(--sand);border-color:var(--sand-line)}.count-card.unknown{background:var(--lav);border-color:var(--lav-line)}.result-list-card{background:white;border:1px solid var(--line);border-radius:18px;padding:17px 19px;margin-top:12px}.result-list-card h2{font-size:1rem;margin:0 0 8px;display:flex;align-items:center;gap:9px}.result-list-card ul{margin:0;padding-left:1.25rem}.result-list-card li+li{margin-top:3px}.dot{width:10px;height:10px;border-radius:50%}.later-dot{background:#d39b3c}.unknown-dot{background:#8c79a5}.next-action-card{margin-top:24px}.step-label{color:var(--teal-dark);font-weight:900;font-size:.82rem;margin:0}.next-action-card h2{font-size:1.6rem;margin:3px 0 5px}.next-action-card>p:not(.step-label){margin:0;color:var(--muted)}.action-group{display:grid;gap:9px;margin-bottom:17px}.action-option{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:14px;padding:13px;cursor:pointer;line-height:1.5}.radio-dot{width:22px;height:22px;flex:none;border:2px solid var(--teal);border-radius:50%;position:relative}.action-option:has(input:checked){border-color:var(--teal);background:var(--mint)}.action-option input:checked+.radio-dot:after{content:"";position:absolute;inset:4px;background:var(--teal);border-radius:50%}.final-summary{margin-top:18px;text-align:center;border-color:var(--teal);background:linear-gradient(180deg,#fff,#f4fbf9)}.completion-mark{width:54px;height:54px;border-radius:18px;background:var(--teal);color:white;display:grid;place-items:center;font-size:1.7rem;font-weight:900;margin:0 auto}.final-summary h2{font-size:1.55rem;margin:14px 0 6px}.final-summary>p{color:var(--muted)}.chosen-action{text-align:left;background:white;border:1px solid var(--line);border-radius:16px;padding:15px;margin:18px 0}.chosen-action span{display:block;font-size:.8rem;color:var(--teal-dark);font-weight:800}.chosen-action strong{display:block;margin-top:5px;font-size:1.05rem}.save-hint{font-size:.84rem}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.survey-area{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.survey-area h3{font-size:1.05rem;margin:0}.survey-area p{font-size:.88rem;color:var(--muted);margin:4px 0 12px}.survey-button{display:block;background:var(--teal-dark);color:white;text-decoration:none}.survey-pending{background:#eef3f2;border-radius:12px;padding:10px}.text-button{border:0;background:transparent;color:var(--muted);text-decoration:underline;padding:18px 10px 4px;cursor:pointer}.site-footer{max-width:680px;margin:auto;padding:0 20px 34px;color:var(--muted);font-size:.76rem;text-align:center}.site-footer p{margin:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:700px){.app-shell{padding-top:36px}.question-card{padding:34px}.choice-group{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice+.choice{margin-top:0}.choice{align-items:flex-start;flex-direction:column;min-height:130px}.nav-row{margin-top:20px}.count-card span{font-size:.9rem}}
@media(max-width:420px){.site-header p{display:none}.app-shell{padding-left:16px;padding-right:16px}.question-card{padding:19px}.progress-row span:last-child{max-width:190px;text-align:right}.result-actions{grid-template-columns:1fr}.count-card{padding-left:3px;padding-right:3px}.count-card span{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white}.site-header,.site-footer,#start-screen,#question-screen,.next-action-card,.result-actions,.survey-area,.text-button,.save-hint{display:none!important}.app-shell{max-width:none;padding:12mm}.result-screen{display:block!important}.result-screen>h1{font-size:28pt}.count-grid{break-inside:avoid}.result-list-card,.final-summary{box-shadow:none;break-inside:avoid}.final-summary[hidden]{display:block!important}.final-summary{margin-top:10mm}.chosen-action{border:1px solid #999}.eyebrow{border:1px solid #aaa;background:white}}
