/* ============================================
   MORIX フォームページ CSS（forms.md §11.9 の基本形セット）
   - ヘッダー/フッター/リセット/本文色は本体テーマ（style.css + base.css）が持つ。
     このファイルは本体 CSS の後に、フォームページ 2 枚でだけ読み込む。
   - 入力枠は form.evort.jp の共通 embed.js / embed.css が描画する。
   ============================================ */

/* 幅100%の入力欄にpaddingとborderが加算されないよう、フォーム内で統一する。 */
.tel-box,
.tel-box * {
  box-sizing: border-box;
}

/* --- パンくず（フォームページのみ。サンクスには置かない＝forms.md §11.9） --- */
.breadcrumb-container {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.breadcrumb-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.breadcrumb-list__item {
  display: block;
}
.breadcrumb-list__link {
  color: inherit;
}
.breadcrumb-list__link:hover {
  text-decoration: underline;
}
.breadcrumb-list__sep {
  margin: 0 1em;
}

/* --- ページレイアウト --- */
.form-main {
  min-height: 60vh;
  padding: 40px 20px 80px;
}
.form-page-container {
  max-width: 760px;
  margin: 0 auto;
}

/* セクション見出し（motoda 方式：電話 → メールの 2 段構成） */
.form-section-heading {
  font-size: 20px;
  font-weight: 700;
  color: #303030;
  margin: 0 0 20px;
  padding-left: 14px;
  border-left: 4px solid #002bad;
  line-height: 1.4;
}
.form-section + .form-section {
  margin-top: 48px;
}

/* 電話問い合わせボックス（motoda 方式・テキスト実装） */
.tel-box {
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  padding: 24px 20px;
  text-align: center;
}
.tel-box__note,
.page .content_inner .tel-box__note {
  font-size: 14px;
  color: #303030;
  margin: 0 0 12px;
  text-align: center;
}
.tel-box__numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px 32px;
  flex-wrap: wrap;
}
.tel-box__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.tel-box__mark {
  display: inline-block;
  background: #002bad;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 3px 12px;
  border-radius: 2px;
  line-height: 1.4;
}
.tel-box__number {
  font-size: 26px;
  font-weight: 700;
  color: #002bad;
  letter-spacing: 1px;
  line-height: 1.2;
}
a.tel-box__number {
  color: #002bad;
}
@media (max-width: 480px) {
  .tel-box__number {
    font-size: 22px;
  }
}

/* --- 資料 DL：2 カラムレイアウト（正本＝motoda /form/download/ の .dl-form。
       flex 320/440・gap 48・サムネ max-width 240px を変えない） --- */
.form-page-container--wide {
  max-width: 1200px;
  margin: 0 auto;
}
.dl-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 48px;
  margin: 40px 0 1rem;
}
@media (max-width: 900px) {
  .dl-form {
    gap: 28px;
  }
}

/* 左カラム: 資料の説明（motoda と同値） */
.dl-form__lead {
  flex: 1 1 320px;
  min-width: 0;
}
.dl-form__title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  color: #303030;
  margin: 0 0 16px;
}
@media (max-width: 767px) {
  .dl-form__title {
    font-size: 21px;
  }
}
.dl-form__thumb {
  display: block;
  width: 100%;
  max-width: 240px;
  height: auto;
  border: 1px solid #e5e7eb;
  margin: 0 auto 60px;
}
.dl-form__catch {
  display: block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: #303030;
  margin: 0 0 12px;
}
@media (max-width: 767px) {
  .dl-form__catch {
    font-size: 20px;
  }
}
/* 本体 base.css が strong を font: inherit でリセットするため、資料説明の太字を戻す */
.dl-form__text strong {
  font-weight: 700;
}
.dl-form__text {
  font-size: 15px;
  line-height: 1.9;
  color: #303030;
  margin: 0 0 20px;
}
.dl-form__reasons {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.dl-form__reasons li {
  position: relative;
  padding-left: 20px;
  font-size: 15px;
  line-height: 1.9;
  color: #303030;
}
.dl-form__reasons li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.75em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #002bad;
}

/* 右カラム: フォーム（motoda と同値） */
.dl-form__body {
  flex: 1 1 440px;
  min-width: 0;
}
.form-page-title {
  font-size: 28px;
  font-weight: 700;
  color: #303030;
  text-align: center;
  margin: 0 0 16px;
  line-height: 1.4;
}
.form-page-lead {
  font-size: 15px;
  line-height: 1.9;
  color: #303030;
  text-align: center;
  margin: 0 0 40px;
}
@media (max-width: 768px) {
  .form-main {
    padding: 36px 16px 56px;
  }
  .form-page-title {
    font-size: 22px;
  }
  .form-page-lead {
    text-align: left;
    margin-bottom: 28px;
  }
}

/* --- サンクスページ --- */
.thanks-section {
  text-align: center;
  padding: 64px 16px;
  max-width: 720px;
  margin: 0 auto;
}
.thanks-section__heading {
  font-size: 24px;
  font-weight: 700;
  color: #303030;
  line-height: 1.4;
  margin: 0 0 32px;
}
.thanks-section__body {
  font-size: 15px;
  line-height: 1.9;
  color: #303030;
  white-space: pre-line;
  text-align: center;
}
.thanks-section__back {
  margin-top: 40px;
}
.thanks-section__back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 13px 40px;
  border: 2px solid #002bad;
  border-radius: 100px;
  background: #fff;
  color: #002bad;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.8px;
  transition: background 0.2s, color 0.2s;
}
.thanks-section__back a:hover {
  background: #002bad;
  color: #fff;
}

/* A brief introduction precedes the form on mobile; desktop retains two columns. */
.dl-form { display: grid; grid-template-columns: minmax(0, .85fr) minmax(360px, 1fr); grid-template-areas: "intro form" "details form"; gap: 32px 48px; align-items: start; }
.dl-form__lead { grid-area: intro; }
.dl-form__details { grid-area: details; }
.dl-form__body { grid-area: form; }
.dl-form__thumb { margin-bottom: 0; }
.dl-form__details { min-width: 0; }
@media (max-width: 900px) {
  .dl-form { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "details"; max-width: 640px; margin: 0 auto; gap: 32px; }
  .dl-form__lead { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; column-gap: 20px; }
  .dl-form__thumb { grid-column: 1; grid-row: 1; width: 88px; }
  .dl-form__title { grid-column: 2; grid-row: 1; font-size: 21px; line-height: 1.65; margin: 0; }
  .dl-form__details { padding-top: 28px; border-top: 1px solid #e1e4ec; }
}
/* Normal Turnstile is always 300px wide. Reserve that width even at 320px,
   without recreating an already verified widget when the viewport changes. */
@media (max-width: 480px) {
  .form-page .container { width: calc(100% - clamp(20px, calc(100vw - 300px), 40px)); }
  .form-page .content_inner { margin-top: 8px; }
  .form-page .content { padding-top: 24px; }
  .dl-form__lead { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; }
  .dl-form__thumb { width: 72px; }
  .dl-form__title { font-size: 18px; line-height: 1.6; }
}

/* Theme paragraph spacing belongs to page copy, outside the common form. */
.page .content_inner .evf-root .evf-intro p { margin-top: 0; }
.page .content_inner .evf-root .evf-intro .evf-small { margin-top: 4px; }
.contact-thanks .evf-root p:last-of-type { margin-bottom: 0; }
