/* --------------------------------
  ▼ Contact セクション：フォント / 余白 / レイアウト
-------------------------------- */
.contact-section {
  max-width: 680px;
  margin: 0 auto;
  padding: 140px 20px 60px; /* 上部をしっかり空けて重なり解消 */
  /* font-family: "Noto Sans JP", sans-serif; */
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  box-sizing: border-box;
}

/* ヘッダーが position: relative でも、上部に余白をしっかり確保 */
@media screen and (max-width: 768px) {
  .contact-section {
    padding: 120px 20px 40px;
  }
}

/* --------------------------------
  ▼ Gravity Forms：基本のスタイル
-------------------------------- */
.gform_wrapper .gfield_label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  padding: 12px 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background: #fff;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border-color: #3a7afe;
  outline: none;
}

/* テキストエリア */
.gform_wrapper textarea {
  min-height: 160px;
}

/* エラー */
.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors {
  color: #d9534f;
  font-size: 1.3rem;
  margin-top: 4px;
}

/* ▼ Gravity Forms：送信ボタン（スタイリッシュ版 / 優先度強化） */
body .gform_wrapper .gform_footer input[type="submit"],
body .gform_wrapper .gform_page_footer input[type="submit"] {
  display: inline-block !important;
  width: 100% !important;
  padding: 16px 24px !important;
  border-radius: 4px !important;
  background: #000 !important;
  color: #fff !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  border: 1px solid #000 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  margin-top: 28px !important;
  box-shadow: none !important;
}

/* ▼ Hover（反転スタイル） */
body .gform_wrapper .gform_footer input[type="submit"]:hover,
body .gform_wrapper .gform_page_footer input[type="submit"]:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}

/* 2カラム → 1カラム化（スマホ最適） */
@media screen and (max-width: 768px) {
  .gform_wrapper ul.gform_fields li.gfield {
    width: 100% !important;
  }
}

/* 確認メッセージ */
.gform_confirmation_message {
  padding: 20px;
  background: #f5faff;
  border: 1px solid #d8e9ff;
  border-radius: 6px;
  font-size: 1.6rem;
  line-height: 1.7;
}


/* ---------------------------------------------------
  ▼ プライバシーポリシー セクション
--------------------------------------------------- */
.privacy-section,
.section-privacy,
.page section { /* どれでも拾えるよう広めに指定 */
  max-width: 720px;
  margin: 0 auto;
  padding: 140px 20px 80px;
  /* font-family: "Noto Sans JP", sans-serif; */
  font-size: 1.5em;
  line-height: 1.9;
  color: #333;
  box-sizing: border-box;
}

/* スマホ時の余白調整 */
@media screen and (max-width: 768px) {
  .privacy-section,
  .page section {
    padding: 120px 20px 60px;
  }
}

/* ---------------------------------------------------
  ▼ タイトル（h1）
--------------------------------------------------- */
.page section h1 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 32px;
  color: #000;
  line-height: 1.3;
}

/* ---------------------------------------------------
  ▼ 見出し（h2）
--------------------------------------------------- */
.page section h2 {
  font-size: 2rem;
  font-weight: 600;
  margin: 40px 0 16px;
  color: #000;
  border-left: 4px solid #000;
  padding-left: 12px;
  line-height: 1.4;
}

.page strong {
  font-weight: bold;
  text-decoration: underline;
}
/* ---------------------------------------------------
  ▼ 本文
--------------------------------------------------- */
.page section p {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.9;
}

/* ---------------------------------------------------
  ▼ リスト
--------------------------------------------------- */
.page section ol,
.page section ul {
  margin: 16px 0 24px 20px;
  padding-left: 0;
}

.page section li {
  margin-bottom: 10px;
  line-height: 1.8;
  font-size: 1.6rem;
}

/* ---------------------------------------------------
  ▼ 語句や文章の詰まりを軽減
--------------------------------------------------- */
.page section br {
  line-height: 2;
}

/* ---------------------------------------------------
  ▼ Gravity Form
--------------------------------------------------- */
.gform_confirmation_message_1 {
  font-size: 1.6rem!important;
}



/* ============================================== */
/* 404 エラーページのスタイル */
/* ============================================== */

/* 404ページ全体のコンテナ（single-post-containerを流用） */
.error-404 {
    text-align: center; /* 内部要素を中央寄せ */
    padding-top: 80px;
    padding-bottom: 80px;
}

/* 404ページタイトル */
.error-404 .page-title {
    font-size: 3em; /* 通常の記事タイトルより大きく */
    margin-bottom: 30px;
}

/* ページ内の説明文 */
.error-404 .page-content p {
    font-size: 1.1em;
    margin-bottom: 1em;
    line-height: 1.6;
}

/* 検索フォームの調整 */
.search-form-404 {
    max-width: 400px; /* フォームの最大幅 */
    margin: 30px auto 40px;
}

/* 404ページ内の最新記事リストの調整 */
.related-posts h2 {
    margin-top: 40px;
}

/* 404でのリスト表示（縦並びにして見やすくする） */
.latest-post-list--404 {
    display: block !important;
}

.latest-post-list--404 .latest-post-item {
    display: flex; /* サムネイルとテキストを横並びに */
    flex: none;
    width: 100%;
    margin-bottom: 15px;
    border: none;
    padding: 10px 0;
    border-bottom: 1px dashed #eee;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.latest-post-list--404 .latest-post-item:hover {
    background-color: #f9f9f9;
    box-shadow: none;
}

.latest-post-list--404 .post-thumbnail-link {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    margin-right: 15px;
}

.latest-post-list--404 .post-content-wrap {
    text-align: left;
}

/* スマホ表示対応 */
@media (max-width: 768px) {
    .error-404 .page-title {
        font-size: 2.5em;
    }
}