/* ===============================
   汎用固定ページスタイル page.css
   （レスポンシブ対応付き）
=============================== */

/* === 共通設定（Gutenberg内でも有効化）=== */
.editor-styles-wrapper {
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  color: #333;
  line-height: 1.6;
}

/* Gutenbergブロックラッパーの横幅を制限（880px）*/
.editor-styles-wrapper .wp-block {
  max-width: 880px !important; /* ← フロントと同じ値に */
  margin-left: auto;
  margin-right: auto;
}

/* 全幅・幅広ブロックにも対応 */
.editor-styles-wrapper .wp-block[data-align="wide"] {
  max-width: 3000px;
}
.editor-styles-wrapper .wp-block[data-align="full"] {
  max-width: 100%;
}


/* 全体レイアウト */
.page-generic {
  max-width: 880px;
  margin: 0 auto;
  padding: 20px 20px;
  background: #fff;
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  color: #333;
  line-height: 1.6;
}

/* 各パーツ */
.page-content-wrapper {
  width: 100%;
}

.page-title-area {
  margin-bottom: 2rem;
  border-bottom: 2px solid #0077A9;
  padding-bottom: 0.3em;
}

.page-title {
  color: #0077A9;
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
}

/* Gutenbergブロックの基本整形 */
.page-body p {
  margin-bottom: 0.8em;
}

.page-body h2 {
  color: #222;
  font-size: 1.4rem;
  margin-top: 2.0em;
  margin-bottom: 0.6em;
  border-left: 4px solid #0077A9;
  padding-left: .5em;
}

.page-body h3 {
  font-size: 1.2rem;
  margin-top: 1.4em;
  margin-bottom: 0.5em;
}

.page-body h4 {
  font-size: 1.1rem;
  margin-top: 1.2em;
  margin-bottom: 0.4em;
  color: #444;
}

.page-body ol,
.page-body ul {
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.page-body li {
  margin-bottom: 0.4em;
}

.page-body strong {
  color: #000;
}

/* 引用 */
.page-body blockquote {
  border-left: 3px solid #ccc;
  padding-left: 1em;
  color: #666;
  font-style: italic;
}

/* テーブル */
.page-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.page-body th,
.page-body td {
  border: 1px solid #ddd;
  padding: 8px 10px;
}
.page-body th {
  background: #f0f6fa;
}

/* 画像 */
.page-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1rem auto;
}

/* リンク */
.page-body a {
  color: #0077A9;
  text-decoration: underline;
}
.page-body a:hover {
  color: #005f86;
}

/* ===============================
      レスポンシブ対応（スマホ）
=============================== */
@media screen and (max-width: 768px) {

  .page-generic {
    padding: 60px 15px;
  }

  .page-title {
    font-size: 1.6rem;
    line-height: 1.3;
  }

  .page-body h2 {
    font-size: 1.2rem;
    border-left-width: 3px;
    margin-top: 1.6em;
    padding-left: .4em;
  }

  .page-body h3 {
    font-size: 1.05rem;
  }

  .page-body p,
  .page-body li {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .page-body table,
  .page-body th,
  .page-body td {
    font-size: 0.85rem;
  }

  .page-body {
    word-break: break-word;
  }
}

/* 超小型端末（iPhone SEなど） */
@media screen and (max-width: 480px) {
  .page-generic {
    padding: 40px 10px;
  }

  .page-title {
    font-size: 1.4rem;
  }

  .page-body h2 {
    font-size: 1.1rem;
  }

  .page-body p {
    font-size: 0.9rem;
  }
}

.wpcf7 form {
  max-width: 700px;
  margin: 0 auto;
  background: #fff;
  padding: 0px 40px;
  border: 1px solid #eee;
  border-radius: 8px;
}

.wpcf7 form h2 {
  color: #0077A9;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 1em;
}

.wpcf7 .lead {
  color: #666;
  margin-bottom: 20px; /* ← 下の余白を大きくした */
}
.wpcf7 form p {
  margin-bottom: 0.4em;  /* ←18〜20pxくらいあるのを約10px程度に */
}

.wpcf7-form-control {
  width: 100%;
  box-sizing: border-box;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 14px; /* ← 下の余白を大きくした */
}

.wpcf7-form-control-wrap[data-name="inquiry-type"] {
  display: block;          /* ブロック要素化（横並び防止） */
  margin-bottom: 1.4em;      /* 下余白 */
}

.wpcf7 textarea {
  min-height: 150px;
}

.btn-primary {
  display: inline-block;
  background: #0077A9;
  color: #fff;
  font-weight: bold;
  padding: 12px 40px;
  border: none;
  border-radius: 50px;
  cursor: pointer;
}

.btn-primary:hover {
  background: #005f86;
}