/* ==========================================================================
   えびすだ — 問い合わせフォーム用スタイル
   site.css を読み込んだうえで追加で読み込む。
   ========================================================================== */

/* ---- 入口の3枚カード ---- */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:34px}
.door{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:22px 20px;cursor:pointer;display:block;transition:border-color .15s,transform .15s}
.door:hover{transform:translateY(-2px)}
.door input{position:absolute;opacity:0;pointer-events:none}
.door .dt{font-size:12.5px;font-weight:800;color:#fff;background:var(--teal);padding:4px 12px;border-radius:999px;display:inline-block;margin-bottom:11px}
.door.b .dt{background:var(--ink)}
.door.c .dt{background:var(--accent)}
.door h3{font-size:17.5px;font-weight:900;line-height:1.5;margin-bottom:7px}
.door p{font-size:13.5px;color:var(--ink-soft);line-height:1.75}
/* ラジオ本体は見えないので、キーボード操作時はカード側に focus リングを出す */
.door:has(input:focus-visible){border-color:var(--accent);outline:3px solid rgba(226,98,31,.35);outline-offset:2px}
.door:has(input:checked){border-color:var(--accent);box-shadow:0 10px 30px -18px rgba(226,98,31,.9)}
.door:has(input:checked)::after{content:"✓ この入口で送ります";display:block;margin-top:12px;font-size:12.5px;font-weight:800;color:var(--accent-ink)}
@media(max-width:900px){.doors{grid-template-columns:1fr}}

/* ---- 入口ごとの説明 ---- */
.routebox{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:14px;padding:24px 26px;margin-bottom:30px}
.routebox.corp{border-left-color:var(--accent)}
.routebox h3{font-size:18px;font-weight:900;margin-bottom:10px;line-height:1.5}
.routebox p{font-size:15px;color:var(--ink-soft);line-height:1.85}
.routebox p+p{margin-top:10px}
.routebox ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:14px}
.routebox li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.75;color:var(--ink-soft)}
.routebox li::before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:900}

/* ---- フォーム本体 ---- */
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;box-shadow:var(--shadow)}
.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:700px){.fieldrow{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:14.5px;font-weight:800}
.field .req{font-size:11.5px;font-weight:800;color:#fff;background:var(--accent);padding:2px 8px;border-radius:999px;margin-left:7px;vertical-align:2px}
.field .opt{font-size:11.5px;font-weight:800;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);padding:2px 8px;border-radius:999px;margin-left:7px;vertical-align:2px}
.field .hint{font-size:13px;color:var(--ink-soft);line-height:1.7}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{
  font-family:inherit;font-size:16px;font-weight:500;color:var(--ink);
  background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;width:100%;line-height:1.7;
}
.field textarea{min-height:190px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);background:#fff}

.checks{display:flex;flex-direction:column;gap:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:20px}
.checks .ct{font-size:14.5px;font-weight:900;margin-bottom:2px}
.checks label{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.7;cursor:pointer}
.checks input{margin-top:6px;width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}
.checks small{display:block;font-size:13px;color:var(--ink-soft)}

/* ハニーポット。人間には見えない位置に置く（display:none だと埋めるボットがいるため） */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.submitrow{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
button.btn{border:none;cursor:pointer;font-family:inherit;font-size:16px;padding:15px 34px}
button.btn[disabled]{opacity:.55;cursor:progress}
.privacy{font-size:13px;color:var(--ink-soft);line-height:1.8}

.msg{border-radius:12px;padding:18px 20px;font-size:15px;line-height:1.8;margin-bottom:20px;display:none}
.msg.show{display:block}
.msg.err{background:#fdecea;border:1px solid #f3b7b0;color:#8c2d22}
.msg.ok{background:#e7f2f0;border:1px solid #bcdcd7;color:#155f57}
.msg ul{margin:8px 0 0 20px;font-size:14.5px}
