:root{--ink:#18211d;--gold:#d6a83e;--cream:#f6f1e7;--green:#174b38}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#294b3e 0,#10241c 40%,#09140f 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif}.survey-shell{width:min(760px,calc(100% - 28px));margin:36px auto 70px}.hero{padding:50px 34px;text-align:center;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:24px 24px 0 0;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.02));box-shadow:0 24px 70px rgba(0,0,0,.3)}.eyebrow{letter-spacing:.24em;color:#f0d58b;font-size:12px;font-weight:800}.hero h1{margin:14px 0 4px;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(29px,6vw,50px);line-height:1.25}.hero h1 small{font-size:.55em;font-weight:500}.date{display:inline-block;margin:18px 0 8px;padding:8px 16px;border-block:1px solid var(--gold);letter-spacing:.18em;color:#f0d58b;font-weight:800}form{background:var(--cream);padding:30px;border-radius:0 0 24px 24px}section{margin-bottom:22px;padding:26px;background:#fff;border:1px solid #e4ddcf;border-radius:16px}h2{margin:0 0 22px;color:var(--green);font-size:20px}fieldset{padding:0;margin:0 0 22px;border:0}legend,.field{display:block;width:100%;margin-bottom:10px;font-weight:750}.field small{color:#65726b;font-weight:400}input,select,textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #c9cec9;border-radius:9px;background:#fff;font:inherit;font-size:16px}input:focus,select:focus,textarea:focus{outline:3px solid rgba(214,168,62,.28);border-color:var(--gold)}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:13px 8px;text-align:center;border:1px solid #cdd5d0;border-radius:9px;cursor:pointer}.choices input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.confirm{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #dcc47c;border-radius:12px;background:#fff9e8}.confirm input{width:20px;height:20px;margin:0;flex:none}.submit{width:100%;padding:17px;border:0;border-radius:11px;background:linear-gradient(135deg,#1d684a,#143f30);color:#fff;font:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(23,75,56,.25)}.submit:disabled{opacity:.6}#form-message{text-align:center;font-weight:700;color:#b42318}#form-message.success{padding:18px;border-radius:10px;background:#e9f7ed;color:#176a3c}@media(max-width:560px){.survey-shell{margin-top:14px}.hero{padding:36px 18px}form{padding:16px}section{padding:20px 16px}.choices{grid-template-columns:1fr}}
