:root{color-scheme:light;--ink:#10263c;--blue:#17699a;--muted:#596c80;--gold:#9b7130;--line:#e6e8e5;--paper:#fff}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 50% 0%,#fff 0,#f7f7f4 38%,#f1f3f3 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;min-height:100vh}
.header{height:66px;background:#ffffffd9;border-bottom:1px solid #e9ecea;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1000px)/2));color:var(--ink);backdrop-filter:blur(12px)}
.header small,footer{color:#8a949d}.header small{font-size:11px;letter-spacing:.04em}.brand{display:flex;align-items:center;letter-spacing:1.6px;font-size:12px;font-weight:700}.brand b{display:inline-grid;place-items:center;background:var(--ink);color:white;width:30px;height:30px;border-radius:9px;margin-right:10px;font:600 14px Georgia,serif}
.wrap{width:min(100% - 32px,690px);margin:35px auto 28px}.intro{text-align:center;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#94691f;font-weight:900}.intro h1{font:900 clamp(30px,5vw,42px)/1.3 Georgia,"Noto Serif JP",serif;color:#10263c;margin:9px 0;text-shadow:0 1px 0 #ffffff80}.intro em{font-style:normal;color:#17699a}.intro p{color:#4f6276;font-size:13px;line-height:1.7;margin:7px 0 4px}.intro small{display:inline-block;color:#647487;font-size:11px;line-height:1.6}.intro i{font-style:normal;color:#c1a878;padding:0 5px}
.card{background:var(--paper);border:1px solid #e8e9e6;border-radius:18px;padding:clamp(22px,5vw,36px);box-shadow:0 18px 50px #20374c0b,0 2px 8px #20374c05;position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#d4c19a,#a9864b 50%,#d4c19a)}.progress{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#718092;letter-spacing:.04em}.progress b:last-child{color:var(--gold);font-variant-numeric:tabular-nums}.track{height:4px;background:#edf0ef;border-radius:9px;margin:10px 0 25px;overflow:hidden}.track div{height:100%;width:33%;background:linear-gradient(90deg,#cdb788,#a9864b);border-radius:9px;transition:width .35s ease}.step{display:none}.step.active{display:block;animation:reveal .24s ease both}@keyframes reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.step h2{font:bold 21px/1.55 "Noto Serif JP",Georgia,serif;color:var(--ink);margin:9px 0 5px}.step p{font-size:12px;color:#84909c;line-height:1.7;margin:0 0 16px}.options{display:grid;gap:9px}.options label{position:relative;display:flex;align-items:center;gap:12px;min-height:52px;border:1px solid var(--line);border-radius:11px;padding:12px 15px;background:linear-gradient(120deg,#fff,#fdfdfc);font-size:13px;color:#34495d;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.options label:hover{border-color:#c6b58f;background:#fffdf8;transform:translateY(-1px);box-shadow:0 5px 14px #263f550b}.options label:has(input:checked){border-color:#a98b57;background:#faf8f2;box-shadow:0 0 0 2px #b8955918}.options input{appearance:none;flex:0 0 17px;width:17px;height:17px;margin:0;border:1px solid #c3cbd1;border-radius:50%;background:#fff;display:grid;place-content:center}.options input:before{content:"";width:7px;height:7px;border-radius:50%;transform:scale(0);transition:transform .15s;background:#a9864b}.options input:checked{border-color:#a9864b}.options input:checked:before{transform:scale(1)}.options label:after{content:"→";position:absolute;right:15px;color:#b6a37e;font-size:15px;opacity:0;transform:translateX(-3px);transition:.18s}.options label:hover:after,.options label:has(input:checked):after{opacity:1;transform:translateX(0)}
.buttons{display:flex;gap:10px;margin-top:14px}.buttons button{border:0;background:transparent;color:#82909b;padding:8px 2px;font-size:11px;cursor:pointer}.buttons button:hover{color:var(--blue)}[hidden]{display:none!important}.line-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:23px;border:0;border-radius:10px;padding:16px 20px;background:linear-gradient(110deg,#08c65c,#06b94f);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 7px 18px #06c75530;transition:transform .2s,box-shadow .2s}.line-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #06c7553d}.line-button span{font-size:17px}.line-button:disabled{background:#9aa7a0;cursor:not-allowed;box-shadow:none}.note{font-size:11px!important;line-height:1.8;color:#7b8794!important;margin-top:15px!important}a{color:var(--blue)}#error{color:#b42318;font-size:12px;margin-top:8px}footer{text-align:center;font-size:10px;letter-spacing:.08em;margin:20px}
@media(max-width:520px){.header{height:55px;padding:0 15px}.header small{font-size:9px}.brand{font-size:10px;letter-spacing:1.2px}.brand b{width:27px;height:27px;margin-right:8px}.wrap{width:min(100% - 24px,690px);margin:13px auto 20px}.intro{margin-bottom:13px}.intro h1{font-size:clamp(26px,7vw,33px);line-height:1.24;margin:6px 0}.intro p{font-size:12px;line-height:1.45;margin:5px 0 3px}.intro small{font-size:10px}.card{padding:17px 15px 15px;border-radius:15px}.track{margin:8px 0 17px}.step h2{font-size:18px;line-height:1.45;margin:6px 0 4px}.step p{font-size:11px;margin:0 0 12px}.options{gap:7px}.options label{min-height:44px;padding:9px 12px;font-size:12px}.options input{width:16px;height:16px;flex-basis:16px}.options label:after{right:12px}.buttons{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Refined hero layout */
.intro{max-width:620px;margin:0 auto 22px;padding:3px 12px 0}
.intro .eyebrow{display:flex;align-items:center;justify-content:center;gap:11px;letter-spacing:2.6px;color:#8e6a32}
.intro .eyebrow:before,.intro .eyebrow:after{content:"";width:24px;height:1px;background:linear-gradient(90deg,transparent,#c6ad7a)}
.intro .eyebrow:after{transform:scaleX(-1)}
.intro h1{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(30px,5vw,41px);font-weight:800;line-height:1.38;letter-spacing:.035em;margin:10px 0 0;text-wrap:balance}
.intro h1:after{content:"";display:block;width:26px;height:2px;margin:11px auto 12px;border-radius:2px;background:linear-gradient(90deg,#d3c19b,#9a783f,#d3c19b)}
.intro p{max-width:440px;margin:0 auto 9px;color:#56697c;font-size:13px;line-height:1.8;letter-spacing:.015em;text-wrap:pretty}
.intro small{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 12px;border:1px solid #ebe5d8;border-radius:999px;background:#fffdf9;color:#687585;font-size:10px;line-height:1.5;letter-spacing:.015em}
.intro i{color:#b0915c;padding:0 2px}
@media(max-width:520px){.intro{margin:0 auto 13px;padding:0 2px}.intro .eyebrow{gap:9px;font-size:9px}.intro .eyebrow:before,.intro .eyebrow:after{width:18px}.intro h1{font-size:clamp(27px,7vw,33px);line-height:1.34;letter-spacing:.025em;margin:7px 0 0}.intro h1:after{margin:8px auto 8px;width:22px}.intro p{font-size:11px;line-height:1.6;margin-bottom:7px}.intro small{font-size:9px;padding:4px 9px}}
/* Larger, clearer type across the page */
.header small{font-size:12px}.brand{font-size:13px}.intro .eyebrow,.step>.eyebrow{font-size:11px}.intro h1{font-size:clamp(34px,5.2vw,44px)}.intro p{font-size:14px}.intro small{font-size:12px}.progress{font-size:13px}.step h2{font-size:23px}.step p{font-size:14px}.options label{font-size:15px;min-height:56px}.buttons button{font-size:13px}.line-button{font-size:16px;min-height:56px}.note{font-size:12px!important}#error{font-size:13px}footer{font-size:11px}
.final-step{padding:6px 0 2px}.final-step h2{margin-top:11px;margin-bottom:8px}.final-step>p{font-size:15px;line-height:1.9;color:#596c7e;margin:0 auto 18px;max-width:500px}.keyword{display:inline-block;color:#173d5a;font-weight:800;letter-spacing:.02em}.line-hint{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 auto 5px;padding:12px 14px;border:1px solid #eee7da;border-radius:12px;background:#fcfaf5;color:#66778a;font-size:13px}.line-hint span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f0e8d8;color:#8f6d37;font-size:11px;font-weight:800}.line-hint i{font-style:normal;color:#ba9e6a}.final-step .line-button{margin-top:18px;min-height:60px;font-size:17px;letter-spacing:.02em}.final-step .note{margin-top:12px!important}.desktop-break{display:none}
@media(max-width:520px){.header small{font-size:10px}.brand{font-size:11px}.intro .eyebrow,.step>.eyebrow{font-size:10px}.intro h1{font-size:clamp(29px,7.5vw,36px)}.intro p{font-size:13px}.intro small{font-size:11px}.progress{font-size:12px}.step h2{font-size:20px}.step p{font-size:13px}.options label{font-size:14px;min-height:49px}.buttons button{font-size:12px}.line-button{font-size:16px;min-height:54px}.note{font-size:12px!important}footer{font-size:11px}.final-step>p{font-size:14px;line-height:1.85}.line-hint{gap:7px;padding:11px 9px;font-size:12px}.line-hint span{width:22px;height:22px}.final-step .line-button{margin-top:15px;min-height:56px;font-size:16px}.desktop-break{display:block}}
