:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#61483f;background:#fff9f7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:940px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.875rem;border-bottom:1px solid #ecdcd6}.mark{font-family:Georgia,serif;font-size:1.2rem;letter-spacing:.12em;font-weight:bold}main{max-width:700px;margin:48px auto;padding:0 24px;min-height:65vh}.eyebrow{color:#a84452;font-size:.875rem;letter-spacing:.15em;font-weight:700}h1{font-size:clamp(1.7rem,5vw,2.3rem);line-height:1.65;margin:20px 0 28px;letter-spacing:.03em}h2{font-size:1.45rem;line-height:1.7}p{line-height:1.9}button,a.cta{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #61483f;outline-offset:4px}.question{background:white;border:1px solid #eedbd4;border-radius:24px;padding:32px;box-shadow:0 16px 50px #74463408}.progress-top{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:14px}.track{height:6px;background:#eeddd8;border-radius:6px;overflow:hidden}.track span{display:block;background:#e6787e;height:100%;transition:width .25s}button.option{display:block;width:100%;text-align:left;padding:22px 20px;border:1px solid #e3cbc3;background:#fff;border-radius:14px;margin:14px 0;color:#61483f;line-height:1.7;display:flex;align-items:center;gap:14px}.option:before{content:"";width:19px;height:19px;flex-shrink:0;border:1px solid #b89489;border-radius:50%}.option:hover,.option.selected{background:#fff0ed;border-color:#d76a77}.option.selected:before{background:#d76a77;box-shadow:inset 0 0 0 4px #fff}button.primary,a.cta{display:block;text-align:center;border:0;background:#a84452;color:white;border-radius:12px;padding:18px 24px;width:100%;margin-top:22px;font-weight:bold;text-decoration:none}button.primary:disabled{opacity:.4;cursor:default}.back{background:transparent;border:0;color:#70554b;padding:16px 0;margin-top:8px;text-decoration:underline;text-underline-offset:5px}.hint{font-size:.875rem;color:#846b60;text-align:center}.result{text-align:center}.result img{width:100%;height:auto;display:block;border-radius:10px}.result h1{font-size:1.75rem}.line-panel{background:white;border:1px solid #ecd8d0;border-radius:20px;padding:28px;margin-top:28px;text-align:left}.line-panel h2{margin-top:0}.line-panel a.cta{background:#087b48}.notice{background:#fff3ee;border-radius:10px;padding:14px;font-size:.875rem}.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}footer{text-align:center;font-size:.875rem;padding:28px 24px;color:#846b60}@media(max-width:540px){header{padding:20px 18px}.mark{font-size:.95rem}header>span:last-child{font-size:.75rem}main{margin:30px auto;padding:0 18px}.question{padding:24px 20px;border-radius:20px}h1{margin:18px 0 24px}.line-panel{padding:22px}.option{min-height:76px}}

.cover{text-align:center}.cover>img{display:block;width:100%;height:auto;border-radius:12px}.cover .primary{max-width:400px;margin:28px auto 0}.question-illustration{display:block;width:100%;height:175px;object-fit:contain;margin:0 auto 12px}.question .eyebrow{margin-bottom:6px}.question h1{font-size:clamp(1.45rem,4.5vw,2rem);margin:12px 0 20px}@media(min-width:760px){main:has(.cover){max-width:1040px}.cover .hint{margin-top:20px}}@media(max-width:540px){.question-illustration{height:145px}.cover>img{border-radius:6px}}

.cover .primary{background:#f3bdb7;color:#61483f}.cover .primary:hover{background:#efaea7}

.line-panel a.cta{background:#f3bdb7;color:#61483f}.line-panel a.cta:hover{background:#efaea7}

.cover-description{max-width:620px;margin:28px auto 0;text-align:center}.cover-description h2{font-size:1.25rem}.cover-description p{font-size:1rem;margin:16px 0}footer[hidden]{display:none}@media(max-width:540px){.cover-description br{display:none}.cover-description{text-align:left}.cover-description h2{line-height:1.7}}

.line-panel h2{text-align:center;text-wrap:balance}.cover-description h2{text-align:center;line-height:1.85}.cover-description h2>span,.copy-line{display:block}.cover-description p{margin:26px 0;line-height:1.95}.concerns{list-style:none;padding:0;margin:26px auto;text-align:center;max-width:570px}.concerns li{margin:12px 0;line-height:1.85}.concerns li::before{content:"✔︎";margin-right:.5em;color:#a84452}.cover-description .cover-invitation{text-align:center;font-weight:700;line-height:1.8}@media(max-width:540px){.cover-description h2{font-size:1.1rem}.cover-description .cover-invitation{font-size:.9rem}.concerns li{margin:14px 0}.line-panel h2{font-size:1.2rem}}
