/* ============================================================
   ANZAS v2 — page-contact.css(/contact/ 固有)
   出典: 下層カンプ「Contact」
   共通の骨格は main.css / pages.css。ここは
   ①3つの入口カード ②Contact Form 7 のフォーム ③団体・法人の帯(#group)
   ④ご相談からの流れ の差分だけを持つ。
   BP: 900 / 560(pages.css と同じ)
   ============================================================ */

/* ---------- 01 3つの入口 ---------- */

.av2-contact-entry { position: relative; padding: 30px 28px; }
.av2-contact-entry--pick { border: 2px solid var(--av2-brand); }
.av2-contact-entry__pick { position: absolute; top: -12px; left: 24px; }
.av2-contact-entry .av2-box__title { font-size: 19px; margin-top: 10px; }
.av2-contact-entry .av2-box__text { font-size: 13.5px; margin-top: 12px; }
.av2-contact-entry .av2-pill { margin-top: 20px; }

/* ---------- 02 フォーム(本文の Contact Form 7 をそのまま包む) ---------- */

.av2-contact-form { max-width: 720px; margin-top: 40px; border: 1px solid var(--av2-line); border-radius: 20px; padding: 40px; scroll-margin-top: 96px; }
.av2-contact-form > :first-child { margin-top: 0; }
.av2-contact-form p { margin: 20px 0 0; font-size: 14px; line-height: 1.95; }
.av2-contact-form label { display: block; font-size: 13px; font-weight: 700; color: var(--av2-ink); }
.av2-contact-form .wpcf7-form-control-wrap { display: block; }

.av2-contact-form input[type="text"],
.av2-contact-form input[type="email"],
.av2-contact-form input[type="tel"],
.av2-contact-form input[type="url"],
.av2-contact-form input[type="date"],
.av2-contact-form input[type="number"],
.av2-contact-form select,
.av2-contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 8px;
  height: 48px;
  padding: 0 16px;
  border: 1px solid var(--av2-line);
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  color: var(--av2-ink);
}
.av2-contact-form textarea { height: 120px; padding: 14px 16px; line-height: 1.9; resize: vertical; }
.av2-contact-form ::placeholder { color: #C7CDD1; }
.av2-contact-form input:focus,
.av2-contact-form select:focus,
.av2-contact-form textarea:focus { outline: none; border-color: var(--av2-brand); box-shadow: 0 0 0 3px var(--av2-tint); }

/* ご相談種別などの選択肢はピルで見せる */
.av2-contact-form .wpcf7-list-item { display: inline-block; margin: 10px 8px 0 0; }
.av2-contact-form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border: 1px solid var(--av2-line); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--av2-body); cursor: pointer; }
.av2-contact-form .wpcf7-list-item input { accent-color: var(--av2-brand); }
.av2-contact-form .wpcf7-list-item label:has(input:checked) { background: var(--av2-brand); border-color: var(--av2-brand); color: #fff; }
.av2-contact-form .wpcf7-list-item label:has(input:checked) input { accent-color: #fff; }

/* 送信 */
.av2-contact-form input[type="submit"],
.av2-contact-form button[type="submit"] {
  height: 52px;
  margin-top: 28px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px;
  background: var(--av2-brand);
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: background .2s ease;
}
.av2-contact-form input[type="submit"]:hover,
.av2-contact-form button[type="submit"]:hover { background: var(--av2-brand-hover); }
.av2-contact-form .wpcf7-spinner { vertical-align: middle; }
.av2-contact-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 12px; font-weight: 700; color: #D8443A; }
.av2-contact-form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 14px 16px !important; border-width: 1px !important; border-radius: 10px; font-size: 13px; line-height: 1.9; }
.av2-contact-form .av2-note { margin-top: 24px; }

/* ---------- #group 団体・法人 ---------- */

.av2-contact-group { margin-top: 112px; padding: 32px 32px 28px; border-width: 1.5px; scroll-margin-top: 96px; }
.av2-contact-group__row { display: flex; align-items: flex-start; gap: 32px; flex-wrap: wrap; margin-top: 14px; }
.av2-contact-group__row > div { flex: 1; min-width: 280px; }
.av2-contact-group__row .av2-pill { flex-shrink: 0; }
.av2-contact-group .av2-box__title { font-size: 18px; }
.av2-contact-group .av2-box__text { font-size: 13.5px; }
.av2-contact-group p a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 03 ご相談からの流れ ---------- */

.av2-contact-step { padding: 26px 24px; }
.av2-contact-step__no { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--av2-brand); color: #fff; font-family: var(--av2-en); font-weight: 700; font-size: 15px; }
.av2-contact-step__no--last { background: var(--av2-yellow); color: var(--av2-ink); }
.av2-contact-step .av2-box__title { font-size: 16px; margin-top: 14px; }
.av2-contact-step .av2-box__text { margin-top: 8px; font-size: 13px; line-height: 1.9; color: var(--av2-cap); }

/* ---------- レスポンシブ ---------- */

@media (max-width: 900px) {
  .av2-contact-group { margin-top: 88px; }
}
@media (max-width: 560px) {
  .av2-contact-entry { padding: 24px 20px; }
  .av2-contact-form { margin-top: 28px; padding: 24px 18px; }
  .av2-contact-group { margin-top: 72px; padding: 24px 20px; }
  .av2-contact-step { padding: 22px 18px; }
}
