/* ===============================
    CONTACT FORM（完成版）
=============================== */
/* pタグの余白を完全無効化 */
.custom-contact-form p {
  margin: 0 !important;
  padding: 0 !important;
}

/* brを無効化 */
.custom-contact-form br {
  display: none;
}

/* CF7のラップ調整 */
.custom-contact-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 6px; /* ←ラベルとの距離だけ作る */
}

/* 全体 */
.custom-contact-form {
  max-width: 700px;
  margin: 0 auto;
  padding: 60px 40px;
  background: #fafafa;
  border-radius: 16px;
  color: #222;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* 見出し */
.custom-contact-form h4 {
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
}

/* 各項目 */
.form-group {
  margin-bottom: 30px;
}

/* ラベル（上固定） */
.form-group label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 14px;
  color: #333;
}

/* 必須項目 */
.required {
  font-size: 10px;
  display: inline-block; 
  padding: 2px 8px;
  margin-left: 6px;
  background-color: red;
  color: #ffffff;
  width: fit-content;
  border-radius: 4px;
  vertical-align: middle;
  line-height: 1.2;
}

/* 任意項目 */
.any {
  font-size: 10px;
  display: inline-block; 
  padding: 2px 8px;
  margin-left: 6px;
  background-color: gray;
  color: #ffffff;
  width: fit-content;
  border-radius: 4px;
  vertical-align: middle;
  line-height: 1.2;
}

/* 入力欄（統一） */
.form-group input,
.form-group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  outline: none;
  transition: 0.2s;
}

/* 高さ調整 */
.form-group input {
  height: 44px;
}

.form-group textarea {
  min-height: 120px;
  resize: vertical;
}

/* フォーカス */
.form-group input:focus,
.form-group textarea:focus {
  border-color: #00c8ff;
  box-shadow: 0 0 0 3px rgba(0,200,255,0.1);
}

/* ===============================
    ★修正・統合：送信・変更ボタンエリア
=============================== */

/* 1. ボタンを包んでいる「pタグ」を横並びの土台にする */
.submit-area p {
  display: flex !important;           /* 縦並びを解除して横並びに */
  justify-content: center !important; /* 中央寄せ */
  gap: 20px !important;               /* ボタンの間のすき間 */
  max-width: 500px;                   /* 2つのボタンを合わせた全体の最大横幅 */
  margin: 40px auto 0 !important;     /* 上に40pxの余白、左右は中央寄せ */
  position: relative !important;      /* スピナー（ぐるぐる）の基準位置 */
}

/* 2. 自動挿入される「brタグ（改行）」を完全に非表示にする */
.submit-area p br {
  display: none !important;
}

/* 3. ボタン自体の設定（文字数に関わらず「全く同じ幅」で横いっぱいに引き伸ばす） */
.submit-area input[type="button"],
.submit-area input[type="submit"],
.submit-area .wpcf7-form-control {
  flex: 1 !important;                 /* ★最重要：これで等幅になります */
  box-sizing: border-box !important;  /* 幅の計算を狂わせない設定 */
  width: 100% !important;
  max-width: none !important;         /* 後述の古いスタイルを上書き */
  
  /* グラデーションや見た目の装飾 */
  background: linear-gradient(135deg, #00c8ff, #0077ff) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 0 !important;         /* 上下のみ余白（左右はflexに任せる） */
  border-radius: 30px !important;
  font-size: 14px !important;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: 0.3s;
  text-align: center;                 /* 文字を中央に */
}

/* 4. ホバー（マウスを乗せたとき）の演出 */
.submit-area input[type="button"]:hover,
.submit-area input[type="submit"]:hover,
.submit-area .wpcf7-form-control:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,200,255,0.3);
}

/* 5. 送信中ぐるぐる（スピナー）の位置がボタンを邪魔しないよう調整 */
.submit-area .wpcf7-spinner {
  position: absolute;
  bottom: -30px;                      /* ボタンの下側に表示 */
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

/* プラグインの進行バー非表示 */
.wpcf7-msf-progress,
.cf7msf-bar {
  display: none !important;
}

/* スマホ対応（お問い合わせ） */
@media (max-width: 768px) {
  .custom-contact-form {
    padding: 40px 20px;
  }
}

/* ===============================
    参加申し込み専用
=============================== */

/* フォーム全体のコンテナ */
.wpcf7-form {
    max-width: 800px;
    margin: 0 auto;
    background: #f9f9f9;
    padding: 30px;
    border-radius: 10px;
    color: #333;
}

/* 見出しのデザイン */
h5 { background: #0056b3; color: #fff; padding: 10px; border-radius: 5px; margin: 30px 0 15px; }
h6 { font-size: 1.1rem; margin-bottom: 15px; display: flex; justify-content: space-between; align-items: center; border-left: 5px solid #0056b3; padding-left: 10px; }

/* グリッドレイアウト */
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.full, .member-card { grid-column: span 2; }

/* メンバーカードの装飾 */
.member-card {
    background: #fff;
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* 横並び項目（年齢・性別・スタンド） */
.inline-3 {
    display: flex;
    gap: 20px;
    margin: 15px 0;
    flex-wrap: wrap;
}

/* 入力フィールドの共通スタイル */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

/* ラジオボタンをボタン風にする（押しやすくする） */
.wpcf7-list-item { margin: 0 5px 0 0; }
.wpcf7-radio label, .wpcf7-checkbox label {
    cursor: pointer;
    background: #eee;
    padding: 5px 15px;
    border-radius: 20px;
    transition: 0.3s;
}
.wpcf7-list-item input:checked + span {
    background: #0056b3;
    color: #fff;
    padding: 5px 15px;
    border-radius: 20px;
}

/* トグル（参加するチェックボックス）の強調 */
.toggle {
    font-size: 0.9rem;
    background: #e9ecef;
    padding: 5px 10px;
    border-radius: 4px;
}

/* ★元々あった .wpcf7-submit の単体スタイルは、
   上記の共通「.submit-area」側で綺麗に横並び等幅化されるため自動的に上書き・調整されます */

/* スマホ対応（参加申し込み） */
@media (max-width: 600px) {
    .form-grid { grid-template-columns: 1fr; }
    .full { grid-column: span 1; }
    .inline-3 { flex-direction: column; gap: 10px; }
    
    /* スマホの時はボタンを縦並びにして押しやすくしたい場合は、以下のコメントアウトを外してください */
    /* .submit-area p { flex-direction: column; } */
}

/* 申し込み２追加 */
.toggle-btn {
    background: #0056b3;
    color: #fff !important;
    padding: 2px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    cursor: pointer;
    font-weight: normal;
}
.toggle-btn input { margin-right: 5px; }

/* グループ表示時のアニメーション（ふんわり出す） */
[data-class="wpcf7cf_group"] {
    background: #fdfdfd;
    padding-top: 20px;
    border-top: 2px dashed #eee;
    margin-top: 10px;
}

/* 性別・スタンドのラジオボタンをコンパクトに */
.form-grid .wpcf7-list-item {
    display: inline-block;
    margin-right: 10px;
}