/* アンケート（/survey/）だけの見た目。色は site.css の変数を使う */
.sv *,.sv *::before,.sv *::after{box-sizing:border-box}
.sv-head .wrap{max-width:760px;margin:0 auto;padding:0 16px}
.sv-head .lede{max-width:none}
.sv-main{max-width:760px;margin:0 auto;padding:26px 16px 64px}
.sv-form{display:flex;flex-direction:column;gap:18px}
.sv-q{border:1px solid var(--line-soft);background:var(--paper);border-radius:6px;padding:18px 18px 16px;margin:0;min-width:0}
.sv-q legend{float:left;width:100%;font-size:17px;font-weight:700;line-height:1.6;margin-bottom:12px;text-wrap:pretty}
.sv-q legend + *{clear:both}
.sv-n{display:inline-block;min-width:2.6em;margin-right:6px;font-size:14px;font-weight:900;color:var(--go-dark);font-variant-numeric:tabular-nums}
.sv-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.sv-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:5px;cursor:pointer;font-size:16px;line-height:1.5;background:var(--paper)}
.sv-opt:hover{border-color:var(--line)}
.sv-opt input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--go)}
.sv-opt:has(input:checked){border-color:var(--go);background:var(--go-soft)}
.sv-opt:has(input:focus-visible){outline:2px solid var(--go);outline-offset:2px}
.sv-qnote{margin:-4px 0 10px}
.sv-q textarea,.sv-field input,.sv-line{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink)}
.sv-q textarea:focus,.sv-field input:focus,.sv-line:focus{outline:2px solid var(--go);outline-offset:1px}
.sv-contact{display:flex;flex-direction:column;gap:12px}
.sv-contact legend{margin-bottom:0}
.sv-field{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:700}
.sv-note{font-size:14px;color:var(--ink-2);line-height:1.7;margin:0}
.sv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-btn{align-self:flex-start;font:inherit;font-size:17px;font-weight:900;color:#fff;background:var(--go);border:0;border-radius:5px;padding:14px 34px;cursor:pointer}
.sv-btn:hover{background:var(--go-dark)}
.sv-btn:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
.sv-err{background:#FDF3F3;border-left:6px solid var(--stop);padding:12px 16px;margin-bottom:18px}
.sv-done{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:24px 20px}
.sv-done p{margin:0 0 10px}
@media (max-width:560px){.sv-opts{grid-template-columns:1fr}.sv-btn{align-self:stretch}}
.sv footer strong{display:block;margin-bottom:6px}
