/* SWELL：ブログパーツの下の不要な余白を消す */
.post_content > .p-blogParts {
  margin-bottom: 0 !important; /* 外側の余白 */
}

/* キービジュアルテキスト調整 */
.lp-kv__prehead {
  font-size: 32px !important;
  font-weight: bold;
  line-height: 1.4 !important;
  margin-bottom: 2em;
}

.lp-kv__head {
  font-size: 26px !important;
  line-height: 1.4 !important;
  margin-bottom: 1.8em;
}

.lp-kv__content {
  padding-bottom: 0 !important;
}

.lp-kv__ul-wrapper {
  text-align: center;
}

.lp-kv__ul {
  display: inline-block;
  text-align: left;
}

.lp-kv__ul li {
  font-size: 22px !important;
  margin-bottom: 0.5em;
}

/* スマホキービジュアルテキスト調整 */
@media screen and (max-width: 959px) {
  .lp-kv__prehead--sp {
        font-size: 26px !important;
        font-weight: bold;
        line-height: 1.3 !important;
        margin-bottom: 1.5em;
  }

  .lp-kv__head--sp {
    font-size: 20px !important;
    line-height: 1.4 !important;
    margin-bottom: 2.3em;
  }

  .lp-kv__ul li {
    font-size: 16px !important;
    margin-bottom: 0em;
    font-weight: bold;
  }
}

/* お客さまの声セクション */
.lp-review__note {
  line-height: 1.5 !important;
  font-size: 12px !important;
  color: #999999 !important;
  margin-bottom: 2em !important;
}

/* リスト全体の中央配置 */
.lp-list__ul-wrapper {
  text-align: center;
}
.lp-list__ul {
  display: inline-block;
  text-align: left;
}

/* ヘッダー */
@media screen and (max-width: 959px) {
  #header {
    padding: 0 3px;
  }
  .w-header.pc_ {
    display: block !important;
  }
  .l-header__menuBtn.sp_ {
    display: none;
  }
  .l-header__customBtn.sp_ {
    display: none;
  }
}

/* お問い合わせフォーム */
/* スマホでの横揺れ防止（全要素の強制リセット） */
.wpcf7-form,
.wpcf7-form * {
    max-width: 100%;
    box-sizing: border-box; /* 余白を幅に含める */
}

/* ファイル添付ボタンのはみ出し対策 */
.wpcf7 input[type="file"] {
    max-width: 100%;
    font-size: 16px; /* スマホで文字が小さくなりすぎないように */
}

/* Turnstile（スパム対策）のはみ出し対策 */
.wpcf7-form .cf-turnstile,
.wpcf7-form iframe {
    max-width: 100% !important;
    transform-origin: left center; /* 収まらない場合に縮小基準点を左に */
}

/* Contact Form 7 デザイン調整 */
.c-cf7-item {
    margin-bottom: 2.5em;
}

.c-cf7-item__label {
    display: block;
    font-weight: bold;
    margin-bottom: 0.8em;
    font-size: 1.1em;
    border-left: 4px solid #2e7d32; /* 左側のアクセント線（色は変更可） */
    padding-left: 10px;
}

/* 必須ラベル */
.c-cf7-req {
    display: inline-block;
    background: #e03e2d; /* 赤系 */
    color: #fff;
    font-size: 0.75em;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 8px;
    vertical-align: middle;
    font-weight: normal;
}

/* 任意ラベル */
.c-cf7-any {
    display: inline-block;
    background: #999; /* グレー */
    color: #fff;
    font-size: 0.75em;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 8px;
    vertical-align: middle;
    font-weight: normal;
}

/* 注釈テキスト */
.c-cf7-note {
    font-size: 0.85em;
    color: #666;
    margin-top: 0.3em;
    margin-bottom: 0.5em;
    line-height: 1.5;
}

/* 送信ボタン中央寄せ */
.c-cf7-submit {
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2.5em;
}
.c-cf7-submit input[type="submit"] {
    width: 100%;
    max-width: 400px;
    padding: 1em;
    font-size: 1.1em;
    color: #fff;
    background-color: #D81B60;
}

/* プライバシーポリシー同意欄 */
.c-cf7-privacy {
    text-align: center; /* 中央寄せ */
    margin-bottom: 2em;
}

/* チェックボックス周りの調整 */
.privacy-check .wpcf7-list-item {
    margin: 0;
}
.privacy-check label {
    cursor: pointer;
    font-size: 1.05em;
}

/* リンクの色（SWELLのメインカラーに合わせる場合は調整不要ですが、目立たせるなら指定） */
.privacy-check a {
    text-decoration: underline;
    font-weight: bold;
}

/* cloudflareアイコン調整 */
.c-cf7-item.c-cf7-cloudflare {
    margin-bottom: 0;
}

/* 入力欄とテキストエリアを横幅100%にする */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select {
    width: 100%;
    box-sizing: border-box; /* 枠線や余白を含めて100%にする設定 */
    max-width: 600px; /* SWELLの親要素からはみ出さないようにする */
}

.wpcf7 textarea {
    width: 100%;
    box-sizing: border-box; /* 枠線や余白を含めて100%にする設定 */
    max-width: 100%; /* SWELLの親要素からはみ出さないようにする */
}

/* チェックボックスとラジオボタンを縦並びにする */
.wpcf7-list-item {
    display: block; /* ここで縦並びになります */
    margin: 0 0 10px 0; /* 項目ごとの下の余白 */
}

/* 項目内の余白調整（見た目を整える） */
.wpcf7-list-item label {
    display: block; /* ラベル自体もブロック化してクリックしやすく */
    cursor: pointer;
    line-height: 1.5;
}

/* チェックボックス/ラジオボタン本体と文字の隙間 */
.wpcf7-list-item input {
    margin-right: 8px;
}

/* iOSの入力フォーカス時の自動ズーム防止（16px未満だとズームする） */
@media (max-width: 767px){
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 input[type="url"],
  .wpcf7 input[type="number"],
  .wpcf7 input[type="search"],
  .wpcf7 textarea,
  .wpcf7 select,
  .wpcf7 input[type="file"]{
    font-size: 16px !important;
    line-height: 1.4;
  }
}
