/* ==== contact.css (お問い合わせページ専用) ==== */
:root{
  --bg:#edf5fb; --ink:#0f172a; --muted:#64748b; --card:#ffffff; --line:#e6eef6;
  --brand:#2563eb; --accent:#60a5fa; --pill:#1d4ed8; --hero-from:#eff6ff; --hero-to:#e0f2fe;
  --shadow:0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
  --radius:16px;
}

/* hero */
.hero{background:linear-gradient(135deg,var(--hero-from),var(--hero-to));border-bottom:1px solid var(--line)}
.hero-inner{display:grid;gap:20px;grid-template-columns:1.2fr .8fr;align-items:center}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}}
.hero-visual{aspect-ratio:4/3;border-radius:20px;border:1px solid var(--line);background:
  radial-gradient(1200px 600px at -10% -10%, rgba(96,165,250,.2), transparent 60%),
  radial-gradient(800px 400px at 120% 120%, rgba(37,99,235,.15), transparent 55%),
  linear-gradient(135deg,#ffffff,#f8fcff);position:relative;overflow:hidden}
.hero-visual::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent 0 10px,rgba(37,99,235,.04) 10px 20px)}
.badge{display:inline-flex;align-items:center;gap:8px;background:#eef2ff;color:#1e40af;border-radius:999px;padding:6px 12px;font-weight:700;font-size:12px;border:1px solid #dbeafe}

/* card */
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.form-modern{--ring:0 0 0 4px rgba(37,99,235,.08);}

/* すべて縦1カラム */
.field{display:grid;gap:6px;margin-top:10px}
.label{font-weight:800}
.req{display:inline-block;margin-left:6px;font-size:12px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:999px;padding:2px 8px}

/* inputs */
.input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s, box-shadow .15s}
.input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}
.input::placeholder{color:#94a3b8}
textarea.input{min-height:140px;resize:vertical}

/* select pretty */
.select-wrap{position:relative}
.select{appearance:none;padding-right:42px}
.select-wrap::after{
  content:"";position:absolute;right:12px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);
  border-right:2px solid #64748b;border-bottom:2px solid #64748b;pointer-events:none;opacity:.8
}

/* chip checkboxes */
.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;user-select:none}
.chip-check{appearance:none;width:16px;height:16px;border:2px solid #cbd5e1;border-radius:4px;display:inline-block;position:relative}
.chip-check:checked{border-color:transparent;background:var(--brand)}
.chip-check:checked::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'><path d='M6.173 12.414L2.05 8.293l1.414-1.414 2.709 2.708 6.364-6.364 1.414 1.414z'/></svg>") center/12px 12px no-repeat}

/* checkline & actions */
.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.checkline{display:flex;gap:10px;align-items:flex-start;margin-top:10px}
.check{width:18px;height:18px}
.btns{display:flex;gap:10px;flex-wrap:wrap}

/* hints */
.help,.hint{color:var(--muted);font-size:12px}

/* LINE block */
.line-grid{display:grid;gap:16px;grid-template-columns:1fr 300px;align-items:center}
@media(max-width:900px){.line-grid{grid-template-columns:1fr}}
.qr{aspect-ratio:1/1;border:1px dashed var(--line);border-radius:16px;display:grid;place-items:center;background:#fff}

/* 確認画面 */
.confirm-list{display:grid;gap:10px;margin-top:12px}
.confirm-list > div{display:grid;grid-template-columns:140px 1fr;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.confirm-list dt{font-weight:800;color:#334155}
.confirm-list dd{margin:0}
.thanks h3{margin:0 0 6px}

