@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
*/

/* TOPページ：containerの上余白を削除（SWELL標準対策） */
.home #content.l-content.l-container {
  padding-top: 0 !important;
}

/* TOPページ：フッター直前の余白を削除 */
.home #content.l-content.l-container {
  margin-bottom: 0 !important;
}

/* 最大横幅を500pxに制限 */
.max-w-500 {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}


/* =========================
   タイトル用フォント指定
   ========================= */
.font-title {
  font-family: "Noto Serif JP", serif;
}

/* =========================
   Contact Form 7 全体枠
   ========================= */
.wpcf7 {
  max-width: 600px;
  margin: 0 auto;
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 32px;
  padding-right: 32px;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.wpcf7 input[type="submit"]:hover {
  opacity: 0.9;
}
.wpcf7 .form-submit {
  margin-top: 24px !important;
}

/* =========================
   CF7 デフォルト p 余白リセット
   （← ここが一番重要）
   ========================= */
.wpcf7 p {
  margin: 0;
}

/* =========================
   各フォーム項目
   ========================= */
.form-item {
  margin-bottom: 16px; /* 各項目同士の間隔 */
}

/* ラベル */
.form-item label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px; /* ← ラベルと入力欄の距離を詰める */
}

/* 必須マーク */
.required {
  color: #d93025;
  margin-left: 2px;
}

/* =========================
   input / select / textarea
   ========================= */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  padding: 12px;
  font-size: 14px;
  border: 1px solid #cfd8dc;
  border-radius: 2px;
  box-sizing: border-box;
  margin-top: 0; /* ← 上余白を完全に消す */
}

/* テキストエリア */
.wpcf7 textarea {
  min-height: 120px;
  resize: vertical;
}

/* =========================
   送信ボタン
   ========================= */
.form-submit {
  margin-top: 24px;
}

.wpcf7 input[type="submit"] {
  width: 100%;
  background: #2563eb;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 0;
  border: none;
  cursor: pointer;
}

/* =========================
   CF7：label の高さ問題を完全解消
   ========================= */

/* label を行要素として扱わない */
.form-item label {
  display: inline-flex;     /* ← block ではなく inline-flex が肝 */
  align-items: center;
  line-height: 1;           /* 行ボックスを殺す */
  margin: 0 0 2px 0;        /* 下だけ最小余白 */
  padding: 0;
  font-size: 14px;
  font-weight: 600;
}

/* 必須マーク */
.form-item label .required {
  line-height: 1;
  margin-left: 4px;
}


/* =========================
   スマホ対応
   ========================= */
@media (max-width: 768px) {
  .wpcf7 {
    padding: 24px 16px;
  }
}
