main {
    padding-top: 1rem;
}

h1 {
    background: linear-gradient(0deg, #87ce83 0%, #bce7ba 100%);
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 5px;
    border: 1px solid var(--dream-sub);
}
h2 {
    font-size: 1.375rem!important;
    font-weight: 700!important;
    padding-bottom: 0.25rem!important;
    border-bottom: 1px solid #369332!important;
}
h3 {
  font-size: 1.25rem!important;
  font-weight: 400!important;
}
h3:before {
  content: '■';
  color: #369332;
  font-size: 1.25rem;
}

/* レイアウトに関して */
.wp-block-columns {
    margin-bottom: 1rem;
}
.wp-block-column {
    margin-bottom: 0.5rem;
}
.wp-block-column p {
    margin: 0;
}

@media (max-width: 767.98px) {
  figure.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  figure.wp-block-table table {
    min-width: 640px;
  }
  figure.wp-block-table th,
  figure.wp-block-table td {
    white-space: nowrap;
  }
}

figure.wp-block-table table {
    font-size: 0.75rem;
}
@media (max-width: 767.98px) {
  /* 横スクロールの土台 */
  figure.wp-block-table {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .5rem; /* スクロールバー分の余白 */
  }

  /* テーブルの横幅を確保（列数に応じて調整） */
  figure.wp-block-table table {
    min-width: 720px;
    border-collapse: collapse;
  }

  figure.wp-block-table th,
  figure.wp-block-table td {
    white-space: nowrap;
  }

  /* オーバーレイ本体（疑似要素で表示） */
  figure.wp-block-table.is-scroll-hint::after {
    content: "左右にスワイプできます";
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    width: 240px;
    text-align: center;
    padding: 54px 14px 14px;
    border-radius: 10px;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 13px;
    line-height: 1.3;
    z-index: 10;
    pointer-events: none;
  }

  /* 矢印っぽいアイコン（簡易版） */
  figure.wp-block-table.is-scroll-hint::before {
    content: "↔";
    position: absolute;
    left: 50%;
    top: calc(45% - 16px);
    transform: translate(-50%, -50%);
    font-size: 30px;
    color: #fff;
    z-index: 11;
    pointer-events: none;
  }

  /* フェードアウト用 */
  figure.wp-block-table.is-scroll-hint.fadeout::before,
  figure.wp-block-table.is-scroll-hint.fadeout::after {
    opacity: 0;
    transition: opacity .35s ease;
  }
}

hr.page:last-child {
  display: nonel;
}

/* コンタクトフォームのスタイル */
.wpcf7 {
  text-align: center;
}
form.wpcf7-form {
  display: inline-block;
}
form.wpcf7-form > p {
  text-align: left;
}
.wpcf7-form p:last-of-type {
    text-align: center;
}
.wpcf7-spinner {
  display: block;
}

