@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==============================
   Contact Form 7 専用スタイル
   （他フォームへは影響しない）
============================== */

.wpcf7 {
  --brand: #0277BD;   /* メイン青 */
  --cta:   #F57C00;   /* CTAオレンジ */
  --line:  #e5e7eb;   /* 枠線 */
  --bg:    #ffffff;   /* 背景 */
}

.form-label {
	display: inline-block;
	margin-bottom: 10px;
}

/* ラッパー */
.wpcf7 form {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
  max-width: 720px;
  margin: 0 auto;
}

.wpcf7 p {
  margin-bottom: 18px;
}

.wpcf7 label {
  display: block;
  color: #1a1a1a;
  margin-bottom: .4em;
}

/* 入力・テキストエリア */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}

.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* フォーカス */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);
}

/* ラジオ・チェックボックス */
.wpcf7 .wpcf7-list-item {
  margin-right: 14px;
}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  margin-right: 0;
}

/* エラー・メッセージ */
.wpcf7-not-valid-tip {
  font-size: 12px;
  color: #d91f11;
  margin-top: 6px;
}

.wpcf7 form.invalid .wpcf7-response-output {
  border-color: #d91f11;
  background: #fff1f0;
  color: #8a120b;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #16a34a;
  background: #f0fff4;
  color: #166534;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  display: inline-block;
  width: 100%;
  background: var(--cta);
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  border: none;
  border-radius: 999px;
  padding: 14px 0;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(245, 124, 0, .25);
  transition: filter .2s, transform .05s;
}

.wpcf7 input[type="submit"]:hover {
  filter: brightness(1.05);
}

.wpcf7 input[type="submit"]:active {
  transform: translateY(1px);
}

/* スマホ最適化 */
@media (max-width: 767px) {
  .wpcf7 form {
    padding: 20px;
  }
}

/* ==============================
   CF7 必須・任意ラベルデザイン
============================== */
.wpcf7 .badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
  line-height: 1.4;
}

/* 必須：赤背景 */
.wpcf7 .badge.required {
  background-color: #d32f2f; /* 赤 */
}

/* 任意：青背景 */
.wpcf7 .badge.optional {
  background-color: #1976d2; /* 青 */
}


