/* page-contact.css v2 — アンカー guntû。導線は罫で3行に割り、フォームは左の見出しから吊る。
   色は base.css のトークンだけを使う（直書き禁止）。カード・角丸・影・アクセント色なし。 */

/* ---- 見出し帯のリード（大きく詰めた1行＋開いた本文） ---- */
.p-contact__lead-lg{ font-size:22px; line-height:36px; letter-spacing:.08em; }
.p-contact__lead-lg + p{ margin-top:22px; }

/* ---- ① 3つの導線（カードにしない＝1px罫で割った3行） ---- */
.p-ways-sec{ padding:var(--s-10) 0 var(--s-12); }
.p-ways__head{ display:grid; grid-template-columns:1fr 460px; gap:0 80px; align-items:end; margin-bottom:var(--s-6); }
.p-ways{ border-top:1px solid var(--rule); }
.p-ways__row{ display:grid; grid-template-columns:200px 1fr 220px; gap:0 60px; align-items:start;
  padding:40px 0; border-bottom:1px solid var(--rule); }
.p-ways__key{ font-size:16px; letter-spacing:.1em; line-height:28px; }
.p-ways__en{ display:block; margin-top:8px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mid); }
.p-ways__tel{ display:inline-block; font-size:34px; line-height:1.1; color:var(--ink); }
.p-ways__tel + .p-ways__text{ margin-top:18px; }
.p-ways__text{ font-size:14px; line-height:30px; }
.p-ways__act{ padding-top:6px; }
.p-ways__act .c-note{ display:block; }
@media (max-width:1023px){
  .p-ways__head{ grid-template-columns:1fr; gap:24px 0; align-items:start; }
  .p-ways__row{ grid-template-columns:1fr; gap:14px 0; padding:30px 0; }
  .p-ways__act{ padding-top:0; }
}
@media (max-width:767px){
  .p-ways__tel{ font-size:28px; }
  .p-ways__key{ font-size:15px; }
}

/* ---- ② フォーム（左に見出し、右に帳面。中央対称にしない） ---- */
.p-form-sec{ padding:0 0 var(--s-14); }
.p-form__grid{ display:grid; grid-template-columns:300px 1fr; gap:0 72px; align-items:start; }
.p-form__body{ position:relative; }
.c-form{ position:relative; }
.p-form__intro{ margin-bottom:26px; max-width:var(--w-text); }
@media (max-width:1023px){
  .p-form__grid{ grid-template-columns:1fr; gap:36px 0; }
}

/* fieldset のブラウザ既定枠を消す（legend は display を変えない＝WebKit の描画差を避ける） */
.p-form__fieldset{ margin:0; padding:0; border:0; min-width:0; }
.p-form__legend{ padding:0; margin-bottom:14px; font-size:14px; letter-spacing:.08em; color:var(--ink); }
.p-form__legend .c-form__opt{ display:inline-block; margin-left:12px; vertical-align:2px; }
.c-form__label .c-form__req,
.c-form__label .c-form__opt{ flex:none; }

/* ご希望日時：日付＋時間帯を1行に */
.p-form__dt-row{ display:grid; grid-template-columns:88px 1fr 1fr; gap:0 28px; align-items:center; }
.p-form__dt-row + .p-form__dt-row{ margin-top:20px; padding-top:20px; border-top:1px solid var(--rule); }
.p-form__dt-no{ font-size:13px; letter-spacing:.08em; color:var(--ink-mid); }
/* 空欄のとき、base の「日付を選ぶ」と重ならないよう既定の年月日表示を伏せる */
.c-form__date-wrap.is-empty > input[type="date"]::-webkit-datetime-edit{ opacity:0; }
@media (max-width:767px){
  .p-form__dt-row{ grid-template-columns:1fr; gap:0; }
  .p-form__dt-no{ margin-bottom:2px; }
  .p-form__dt-row + .p-form__dt-row{ margin-top:16px; padding-top:16px; }
}

/* 同意・送信・注記は左に揃える（中央寄せの塊を作らない） */
.p-form__field--agree .c-form__agree{ justify-content:flex-start; margin-top:0; }
.c-form__submit{ margin-left:0; margin-right:0; }
.p-form__foot-note{ margin-top:20px; max-width:var(--w-text); }

/* 送信完了 */
.c-form__done{ text-align:left; padding:var(--s-8) 0 0; }
.p-form__done-text{ margin-top:22px; font-size:14px; line-height:30px; }
.p-form__done-note{ margin-top:18px; }
.p-form__done-tel{ margin-left:12px; font-size:20px; color:var(--ink); }
