/* =========================================
   Empowerment Town Confirm & Thanks CSS
   Type: Force Compact (Gap Killer)
========================================= */

/* 0) テーマ側の干渉リセット */
body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 1. ベースレイアウト */
.emp-confirm {
  padding: 32px 0 48px;
  font-family: "Notosans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  color: #222;
  background: #fff;
  text-align: left !important;
  box-sizing: border-box;
}

.emp-confirm * {
  box-sizing: border-box;
}

.emp-confirm__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}

/* 2. ヘッダーエリア */
.emp-confirm__header {
  text-align: center;
  margin-bottom: 16px;
  position: relative !important;
  z-index: 2;
}

.emp-confirm__logo {
  display: block !important;
  margin: 0 auto 12px !important;
  width: min(60vw, 300px) !important;
  height: auto !important;
}

.emp-confirm__title {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.emp-confirm__lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #444;
}

/* 3. 確認カード */
.emp-confirm__card {
  background: #fff;
  border: 1px solid #e6e6ea;
  border-radius: 14px;
  padding: 24px 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  margin-top: 0 !important;
  position: relative;
  z-index: 1;
}

/* ★追加対策：カード内の勝手な隙間（p, br）を全削除 */
.emp-confirm__card p {
  margin: 0 !important;
  padding: 0 !important;
}
.emp-confirm__card br {
  display: none !important;
}

/* CF7メッセージ枠 */
.emp-confirm .wpcf7-response-output {
  margin: 12px 0 0;
  border-radius: 6px;
  font-size: 13px;
  padding: 8px 12px;
}

/* 4. テーブル */
.emp-confirm table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0 !important; /* ★テーブル下の余白をゼロに */
}

.emp-confirm th,
.emp-confirm td {
  padding: 10px 8px;
  vertical-align: top;
  border-bottom: 1px solid #f0f0f3;
  text-align: left;
}

.emp-confirm th {
  width: 240px;
  font-size: 13px;
  font-weight: 700;
  color: #333;
  line-height: 1.4;
  white-space: nowrap;
}

.emp-confirm td {
  font-size: 14px;
  color: #222;
  line-height: 1.6;
}

.emp-confirm tr:last-child th,
.emp-confirm tr:last-child td {
  border-bottom: none;
}

/* 5. ボタン（隙間・強制調整） */

/* 戻るボタン（白） */
.emp-confirm a.back,
.emp-confirm .wpcf7-previous,
.emp-confirm button.wpcf7c-btn-back {
  display: block;
  width: 100%;
  height: 50px;
  /* テーブルとの隙間（16pxあける） */
  margin-top: 16px !important;
  margin-bottom: 0 !important; /* 下の隙間はゼロ */
  
  background: #fff;
  border: 1px solid #d9d9df;
  color: #444;
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}

/* 送信ボタン（赤） */
.emp-confirm input[type="submit"],
.emp-confirm .wpcf7-submit,
.emp-confirm button[type="submit"] {
  display: block;
  width: 100%;
  height: 50px;
  
  /* ★ここが重要：上のボタンとの距離を12pxに固定 */
  margin-top: 12px !important; 
  margin-bottom: 0 !important;
  
  background: #EB322D;
  border: none;
  color: #fff;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.2s;
}

/* ホバー */
.emp-confirm input[type="submit"]:hover { opacity: 0.85; }
.emp-confirm .wpcf7-previous:hover { background: #f9f9fa; }


/* 6. スマホ対応 */
@media (max-width: 720px) {
  .emp-confirm {
    padding: 24px 0 40px;
  }
  
  .emp-confirm__inner {
    padding: 0 12px;
  }
  
  .emp-confirm__card {
    padding: 20px 16px;
  }

  /* テーブルのブロック化 */
  .emp-confirm table, .emp-confirm tbody, .emp-confirm tr, .emp-confirm th, .emp-confirm td {
    display: block;
    width: 100%;
  }

  .emp-confirm th {
    width: 100%;
    padding: 0 0 4px;
    border-bottom: none;
    font-size: 12px;
    color: #666;
    white-space: normal;
  }

  .emp-confirm td {
    padding: 0 0 12px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    margin-bottom: 12px;
  }
  
  .emp-confirm tr:last-child td {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* スマホのボタン距離調整 */
  .emp-confirm a.back,
  .emp-confirm .wpcf7-previous {
    height: 44px;
    line-height: 42px;
    font-size: 14px;
    margin-top: 16px !important; /* テーブルとの距離 */
  }

  .emp-confirm input[type="submit"],
  .emp-confirm .wpcf7-submit {
    height: 44px;
    line-height: 44px;
    font-size: 14px;
    margin-top: 10px !important; /* ★ボタン間の距離を10pxに */
  }
}

/* =========================
   サンクスページ用 (Thanks)
========================= */
.emp-thanks__card {
  text-align: center;
  padding: 32px 16px;
  background: #fff;
  border: 1px solid #e6e6ea;
  border-radius: 14px;
}

.emp-thanks__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.emp-thanks__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(300px, 100%);
  height: 48px;
  background: #EB322D;
  color: #fff;
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}