/* ==========================================================================
CF7フォーム共通スタイル（am-cf7）シンプル版
ラベルと入力欄の縦積みレイアウト
========================================================================== */

.am-cf7 {
  max-width: 940px;
  margin: 0 auto;
}

/* フィールド行（縦積み表示）
------------------------------------------------------------ */
.am-cf7__field {
  display: block;
  padding: 16px 0;
  border-bottom: 1px solid #e5e5e5;
}

/* CF7のコントロールラップ（span）をブロック化して幅100%を効かせる */
.am-cf7 .wpcf7-form-control-wrap {
  display: block;
}
.am-cf7__name-row .wpcf7-form-control-wrap {
  display: inline-block;
}

/* WPDLフォーム（.dl_form 内）は1カラム表示 */
.dl_form .am-cf7__field {
  display: block;
  padding: 12px 0;
}
.dl_form .am-cf7__label {
  margin-bottom: 8px;
}

/* ラベル
------------------------------------------------------------ */
.am-cf7__label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 14px;
  color: #333;
}

.am-cf7__badge {
  background: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-weight: normal;
}
.am-cf7__badge::before {
  content: "（";
}
.am-cf7__badge::after {
  content: "）";
}
.am-cf7__badge--req {
  color: #333;
}
.am-cf7__badge--opt {
  color: #888;
}

/* 入力欄
------------------------------------------------------------ */
.am-cf7 input[type='text'],
.am-cf7 input[type='tel'],
.am-cf7 input[type='email'],
.am-cf7 textarea,
.am-cf7 select {
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
  font-size: 14px;
}
.am-cf7 input[type='text'],
.am-cf7 input[type='tel'],
.am-cf7 input[type='email'] {
  height: 36px;
}
.am-cf7 select {
  width: 360px;
  max-width: 100%;
  height: 36px;
}
.am-cf7 textarea {
  height: 120px;
}

/* 氏名（姓・名インラインラベル）
------------------------------------------------------------ */
.am-cf7__name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.am-cf7__name-label {
  margin-right: 4px;
  font-size: 14px;
  color: #333;
}
.am-cf7__name-row input[type='text'] {
  width: 130px;
}

/* 例示テキスト
------------------------------------------------------------ */
.am-cf7__example {
  margin-top: 6px;
  font-size: 12px;
  color: #888;
}

/* 個人情報同意
------------------------------------------------------------ */
.am-cf7__consent {
  font-size: 14px;
}
.am-cf7__consent a {
  /* .section__contact__cont a の汎用ボタンスタイルを継承してしまうため、通常のリンク表示にリセットする */
  color: #3d9bd9 !important;
  text-decoration: none;
  display: inline !important;
  background: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  width: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.am-cf7__consent-note {
  margin-top: 6px;
  font-size: 12px;
  color: #666;
}

/* 送信ボタン
------------------------------------------------------------ */
.am-cf7__submit {
  margin-top: 24px;
  text-align: center;
  position: relative;
}
.am-cf7__submit .wpcf7-form-control-wrap {
  display: inline-block;
}
.am-cf7__submit .wpcf7-spinner {
  position: absolute;
}
.am-cf7__submit .wpcf7-submit {
  width: 200px;
  height: 48px;
  border: 0;
  border-radius: 4px;
  background: #3d9bd9;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
}
.am-cf7__submit .wpcf7-submit:hover {
  background: #2f86bf;
}

/* CF7バリデーション・送信結果表示
------------------------------------------------------------ */
.am-cf7 .wpcf7-not-valid-tip {
  margin-top: 4px;
  color: #d9333f;
  font-size: 12px;
}
.am-cf7 .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 8px 12px;
  border-radius: 2px;
}

