/* ======================================
   CONTACT：中央思想＋左基準入力ゾーン（最終）
====================================== */

/* セクション全体 */
.lp-final-cta {
  position: relative;
  padding: 120px 20px 80px;
  overflow: hidden;
}

/* 背景 */
.lp-contact-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: 0.35;
}

/* 中身 */
.lp-final-cta .lp-inner {
  position: relative;
  z-index: 1;
  max-width: 960px;
  margin: 0 auto;
}

/* 見出し・導入（中央） */
.lp-contact-intro {
  text-align: center;
  margin-bottom: 64px;
}

.lp-sec-kicker {
  font-size: 13px;
  letter-spacing: 0.25em;
  color: #0099cc;
  margin-bottom: 16px;
}

.lp-section-title {
  font-size: 28px;
  margin-bottom: 32px;
}

.lp-contact-lead {
  font-size: 18px;
  line-height: 1.9;
  font-weight: 500;
}

/* 本文・入力ゾーン（左基準） */
.lp-contact-action {
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}

/* 事前ヒアリング */
.lp-prehearing {
  margin-top: 48px;
  text-align: center;
}

.lp-prehearing-inner {
  display: inline-flex;
  gap: 16px;
  flex-wrap: wrap;
}

.lp-btn,
.lp-prehearing-links a {
  display: inline-block;
  padding: 14px 22px;
  border-radius: 999px;
  background: #fff;
  color: #0099cc;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.lp-prehearing-note {
  font-size: 14px;
  color: #555;
  margin-top: 16px;
  max-width: 520px;
}

/* Contact Form 7 */
.lp-contact-form {
  margin-top: 56px;
}

.lp-contact-form .row {
  margin-bottom: 22px;
}

.lp-contact-form label {
  display: flex;
  gap: 8px;
  margin-bottom: 4px;
  font-weight: 600;
}

.lp-contact-form input,
.lp-contact-form textarea,
.lp-contact-form select {
  width: 100%;
  padding: 14px 16px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 15px;
}

/* 送信ボタン */
.lp-contact-form input[type="submit"] {
  display: block;
  max-width: 420px;
  margin: 40px auto 0;
  padding: 16px;
  border-radius: 999px;
  background: #0099cc;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border: none;
}

/* SP */
@media (max-width: 768px) {
  .lp-contact-bg {
    background-attachment: scroll;
  }

  .lp-prehearing-inner {
    flex-direction: column;
    align-items: center;
  }
}
/* ===============================
   CONTACT：背景（最終）
=============================== */
.lp-contact-bg {
  position: absolute;
  inset: 0;
  background-image: url("https://syuzaidouga.com/wp/wp-content/uploads/2025/10/60b2dd0aeb011b5c1555d3b36f1273b4.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.35;
}

/* SPでは fixed を使わない */
@media (max-width: 768px) {
  .lp-contact-bg {
    background-attachment: scroll;
  }
}
/* ===============================
   CONTACT：全幅セクション
=============================== */
.lp-final-cta {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 120px 20px 80px;
  overflow: hidden;
}

/* ======================================
   CONTACT：安心文言ブロック 余白調整
====================================== */

.lp-contact-assurance {
  padding: 48px 24px;        /* ← 上下・左右の余白 */
}

.lp-contact-assurance-inner {
  max-width: 720px;          /* ← 行幅を制御 */
  margin: 0 auto;            /* ← 中央配置 */
}

.lp-contact-assurance p {
  margin-bottom: 12px;       /* ← 各行の呼吸 */
  line-height: 1.9;
}
/* ===============================
   CONTACT：セクション最下部の余白を殺す
=============================== */

.lp-final-cta {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Emanon コンテンツラッパー由来の余白対策 */
.lp-final-cta:last-child {
  margin-bottom: 0 !important;
}

/* CONTACT直後のフッターとの間を詰める */
.lp-final-cta + .l-footer,
.lp-final-cta + footer {
  margin-top: 0 !important;
}
.lp-contact-note-group {
  margin-bottom: 24px; /* ← お好みで 16 / 24 / 32 */
}

.lp-contact-note-group:last-child {
  margin-bottom: 0;
}

/* ===============================
   CF7 必須・任意ラベル復活
================================ */

.wpcf7-form label span,
.wpcf7-form .required,
.wpcf7-form .wpcf7-required {
  display: inline;
  visibility: visible;
  opacity: 1;
  font-size: 12px;
}
/* LP内の説明用ラベルだけに限定 */
.lp-contact-text label span {
  /* ここで装飾 */
}
/* ===============================
   CF7 必須／任意ラベル 強制復活
================================ */

.wpcf7-form label span,
.wpcf7-form .required,
.wpcf7-form .wpcf7-required {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 12px;
}
/* ===============================
   CF7 必須・任意ラベル 完全復活
================================ */

/* 必須・任意 共通 */
.lp-contact-form .badge,
.lp-contact-form .req,
.lp-contact-form .opt {
  display: inline-block !important;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 600;
  color: #fff !important;
  border-radius: 4px;
  vertical-align: middle;
  white-space: nowrap;
}

/* 必須：オレンジ帯 */
.lp-contact-form .req,
.lp-contact-form .required {
  background: #ff8a00 !important;
}

/* 任意：グレー帯 */
.lp-contact-form .opt,
.lp-contact-form .optional {
  background: #999 !important;
}

/* 必須・任意ラベルの縦位置を微調整 */
.lp-contact-form .badge,
.lp-contact-form .req,
.lp-contact-form .opt,
.lp-contact-form .required,
.lp-contact-form .optional {
  position: relative;
  top: 1px;          /* ← まずは 1px */
}

/* CONTACT：説明文だけを左揃え＋中央寄せ */
.lp-final-cta .lp-contact-description {
  max-width: 720px;     /* 読みやすい幅 */
  margin: 32px auto 0;  /* 中央に置く */
  text-align: left;     /* 左揃え */
}
/* ボタンと説明文を同じ左端に揃える */
.lp-contact-actions {
  max-width: 720px;   /* ボタン幅と同じ */
  margin: 0 auto;
  text-align: left;
}

.lp-contact-note {
  margin-top: 12px;
  font-size: 14px;
  color: #555;
}
/* ボタン＋説明文の塊を「中身幅で中央」、中身は「左揃え」 */
#contact .lp-contact-actions{
  display: flex;
  flex-direction: column;
  align-items: flex-start;   /* ←左端を揃える */
  width: fit-content;        /* ←中身（=ボタン）の幅に合わせる */
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}

/* その説明文（改行なし） */
#contact .lp-contact-note{
  margin-top: 12px;
  white-space: nowrap;       /* ←改行しない */
}
/* ボタン＋説明文を左揃えで中央寄せ */
#contact .lp-prehearing-note {
  max-width: fit-content;
  margin: 12px auto 0; /* 中央寄せ＋少し上余白 */
  text-align: left;
  white-space: nowrap; /* 改行させない */
}

/* ボタン群も同じ左端基準にする */
#contact .lp-btn {
  display: inline-block;
}

#contact .lp-btn:first-child {
  margin-left: 0;
}
