@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ページ）

   ====================================================================== */
/* h2 引き締める整える（TOPページ） */
h2.is-style-section_ttl.brand-visual-title {
  margin: 0 0 .8em;
  font-size: 2.8em;
  font-weight: 100;
}

@media (max-width: 769px) {
  h2.is-style-section_ttl.brand-visual-title {
    font-size: 1.8em;
  }
}

/* h2 コンセプトタイトル（TOPページ） */
h2.concept-title>span {
  font-size: 0.5em;
  /* 見出しより少し小さく */
  font-weight: 400;
  /* 細め */
  margin-left: 1em;
  /* 「見つけ方」との間に少し余白 */
  letter-spacing: 0.02em;
  /* 日本語なので字間は控えめ */
}

/* ======================================================================
   ✅ インスタグラム　まとめ（TOPページ）

   ====================================================================== */

/* === Instagram セクション（写真だけ＋リンク） === */
.ig-section {
  max-width: 1100px;
  margin: 0 auto;
}

/* 4枚グリッド（PCは4列、タブレット/スマホは2列） */
.ig-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* 画像の箱：比率固定して「縦長デカすぎ」を防ぐ */
.ig-item {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  /* 正方形に統一（最重要） */
  overflow: hidden;
  border-radius: 12px;
  background: #eee;
}

/* 画像をトリミングして揃える */
.ig-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .25s ease, opacity .25s ease;
}

/* ホバーで「押せる」感 */
@media (hover:hover) {
  .ig-item:hover img {
    transform: scale(1.03);
    opacity: .92;
  }
}

/* 動画っぽさ（必要なものだけ is-video を付ける） */
.ig-item.is-video::after {
  content: "▶";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 44px;
  color: #fff;
  text-shadow: 0 0 12px rgba(0, 0, 0, .6);
  pointer-events: none;
}

/* タブレット */
@media (max-width: 1024px) {
  .ig-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* スマホ */
@media (max-width: 599px) {
  .ig-grid {
    gap: 10px;
  }

  .ig-item {
    border-radius: 10px;
  }
}

/* 下のボタン（控えめに、でも分かる） */
.ig-cta {
  margin-top: 18px;
  text-align: center;
}

.ig-btn {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid rgba(0, 0, 0, .12);
  background: #fff;
}

@media (hover:hover) {
  .ig-btn:hover {
    opacity: .85;
  }
}

/* ig-item が付いていない a タグも全部まとめて正方形にする */
.ig-grid>a {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #eee;
}

.ig-grid>a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



/* ======================================================================
   ✅ よくあるご質問　まとめ（TOPページ）

   ====================================================================== */

.faq-container {
  background: linear-gradient(135deg, #FFFFFF 0%, #E9F1F9 100%);
  background: linear-gradient(180deg,
      #ffffff 0%,
      /* ほぼ白：元のまま */
      #f2f7fc 40%,
      /* 元よりほんの少しだけ濃く */
      #e3edf6 100%
      /* #E9F1F9 を自然に濃くした色 */
    );
}

details.swell-block-accordion__item {
  margin-bottom: 1em;
}

.swell-block-accordion.faq-content {
  max-width: 1000px;
  margin: 0 auto;
}

.swell-block-accordion__title:before {
  color: #4784C2;
}

summary.swell-block-accordion__title {
  box-shadow: 0 4px 12px rgba(0, 80, 180, 0.18);
  /* 青みのある柔らかい影 */

  background: #fff;
}

i.__icon--closed.icon-caret-down {
  color: #4784C2;
}

.icon-arrow_drop_up:before,
.icon-caret-up:before {
  content: "\e943";
  color: #4784C2;
}

.swell-block-accordion__title {
  position: relative;
  padding: 1.25em 1em 1.25em 4em;
}

.swell-block-accordion__title:before {
  content: "Q";
  position: absolute;
  top: 50%;
  left: 1em;
  bottom: unset;
  transform: translateY(-50%);
  display: block;
  border-radius: 9999px;
  width: 2em;
  text-align: center;
  line-height: 2;
  font-family: Arial, sans-serif;
  font-weight: 400;
}

.swell-block-accordion__body {
  box-shadow: 0 4px 12px rgba(0, 80, 180, 0.08);
  /* 青みのある柔らかい影 */
  position: relative;
  padding: 1.25em 1em 1.25em 4em;
}

.swell-block-accordion__body {
  background: #F2F8FF;
}

/* ======================================================================
   ✅ 料金表　まとめ（TOPページ）

   ====================================================================== */
/* 料金表のヘッダー（青背景）だけ枠線色を変更 */
figure.price-table table thead th {
  border-color: #d0d0d0 !important;
  /* 薄いグレー */
}

/* もし th に直接枠線が無い場合に備えて補完 */
figure.price-table table thead th {
  border: 1px solid #d0d0d0 !important;
}

/*テーブルプラグイン*/
/* 左右のセル（course + togo）を結合して見せる */
figure.wp-block-flexible-table-block-table.price-table td.course,
figure.wp-block-flexible-table-block-table.price-table td.togo {
  background-color: #0068b7;
  /* 同じ背景色にする */
  color: #fff;
  text-align: center;
  border-right: none !important;
  /* 真ん中の線を消す */
}

/* 左側 course のセルの右線を消す */
figure.wp-block-flexible-table-block-table.price-table td.course {
  border-right: none !important;
}

/* 右側 togo のセルの左線を消す（安全に完全消し） */
figure.wp-block-flexible-table-block-table.price-table td.togo {
  border-left: none !important;
}

@media (max-width: 768px) {
  figure.price-table table td {
    padding: 6px 3px;
    font-size: 12px;
  }
}


p.price_head_title {
  font-size: 1.5em;
  margin-bottom: .3em;
  margin-top: 1.2em;
  padding-left: .3em;
}

/*料金背景*/
.swell-block-fullWide.law-bg.price-section {
  background: linear-gradient(90deg,
      rgba(116, 176, 213, 0.15) 0%,
      /* #74B0D5 の15%透明 */
      rgba(116, 176, 213, 0.15) 50%,
      rgba(45, 127, 183, 0.15) 100%
      /* #2D7FB7 の15%透明 */
    );
}

/* ============================
   料金表（.price-table） 基本スタイル
   ============================ */

/* テーブル全体のリセット＆基本 */
figure.wp-block-table.price-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.95rem;
}

/* すべてのセルの共通ボーダー・余白 */
figure.wp-block-table.price-table td {
  border: 1px solid #dcdfe6;
  padding: 14px 18px;
  vertical-align: middle;
}

/* 外枠を少し太めにして見本っぽく */
figure.wp-block-table.price-table table {
  border: 2px solid #0074b8;
}

/* ============================
   ヘッダー行（コース / 料金 / 備考）
   ============================ */

/* 1行目（ヘッダー）は青背景＋白文字 */
figure.wp-block-table.price-table tbody tr:first-child td {
  background-color: #0074b8;
  /* 見本の濃い青 */
  color: #ffffff;
  font-weight: 700;
  text-align: center;
}

/* 「コース」セルだけ左寄せ気味にしたければ */
figure.wp-block-table.price-table tbody tr:first-child td:first-child {
  text-align: center;
}

/* ============================
   コース名・料金・備考
   ============================ */

/* 左端：コース名（フリーコース、月◯回コース） */
figure.wp-block-table.price-table tbody tr td:first-child {
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

/* 真ん中の料金列（3列目）を右寄せ＋青色で強調 */
figure.wp-block-table.price-table tbody tr td:nth-child(3) {
  font-weight: 700;
  color: #0074b8;
}

/* 「男性 / 女性 / 高校生…」などの区分（2列目）は左寄せ */
figure.wp-block-table.price-table tbody tr td:nth-child(2) {
  text-align: left;
  white-space: nowrap;
}

/* 備考列（4列目）は読みやすく */
figure.wp-block-table.price-table tbody tr td:nth-child(4) {
  text-align: left;
  line-height: 1.7;
}

/* ============================
   行ごとの見栄え調整
   ============================ */

/* 行の高さを少しゆったりさせる */
figure.wp-block-table.price-table tbody tr {
  min-height: 54px;
}

/* 偶数行にうっすら背景をつけて見やすく（必要なければ削除） */
figure.wp-block-table.price-table tbody tr:nth-child(2n+1):not(:first-child) td {
  background-color: #f9fcff;
}

/* 最下行（月1回コースなど）を点線で下線風に（見本の破線イメージ） */
figure.wp-block-table.price-table tbody tr:last-child td {
  border-bottom-style: dashed;
  border-bottom-color: #00a0e9;
}

/* 横スクロールを完全に無効化 */
figure.wp-block-table.price-table {
  overflow-x: visible !important;
}

/* 内側テーブルの幅がはみ出さないように調整 */
figure.wp-block-table.price-table table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  /* はみ出し防止の決め手 */
}

/* 価格表テーブル：1行目の3番目のセル（＝備考）だけ白文字にする */
figure.wp-block-table.price-table tbody tr:first-child td:nth-child(3) {
  color: #fff !important;
}

figure.wp-block-table.price-table tbody tr td:nth-child(2) {
  color: #0047b8 !important;
  font-weight: 700;
}

/* ===============================
   💰 price_1 テーブル（完全再現）
   =============================== */

/* 基本設定 */
.price_1 table {
  width: 100%;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  /* 列幅固定 */
  font-size: 1rem;
}

/* 全セル共通 */
.price_1 td,
.price_1 th {
  border: 1px solid #d0d0d0 !important;
  /* グレーの枠線 */
  padding: 12px 20px !important;
  /* 縦余白をスリム化 */
  vertical-align: middle !important;
  word-break: break-word;
  background-color: #fff !important;
}

/* -----------------------------------------
   1列目：青背景（入会金 / 共済保険代）
   ----------------------------------------- */
.price_1 td:first-child,
.price_1 th:first-child {
  width: 25% !important;
  /* 左カラム幅 */
  background-color: #0074b8 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: center !important;
  font-size: 1.1rem !important;
}

/* -----------------------------------------
   2列目：金額（青文字）
   ----------------------------------------- */
.price_1 td:nth-child(2),
.price_1 th:nth-child(2) {
  width: 20% !important;
  color: #0065b3 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

/* -----------------------------------------
   3列目：説明文（共済保険代のみ）
   ----------------------------------------- */
.price_1 td:nth-child(3) {
  width: 55% !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: #333;
}

/* -----------------------------------------
   スマホ（縦積みにする）
   ----------------------------------------- */
@media (max-width: 599px) {

  /* スマホ用：paddingを縮小 */
  .price_1 td,
  .price_1 th {
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
  }

  /* 左項目を少しスリムに */
  .price_1 td:first-child {
    font-size: 0.8rem !important;
    width: 32% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  /* 金額（青文字） */
  .price_1 td:nth-child(2) strong,
  .price_1 td:nth-child(2) b {
    font-size: 0.95rem !important;
  }

  /* 説明文を圧縮 */
  .price_1 td:nth-child(2) {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }

  .price_1 td:first-child {
    width: 26% !important;
  }

  .price_1 td:nth-child(2) {
    width: 25% !important;
  }

  .price_1 td:nth-child(2) {
    width: 30% !important;
  }
}

/* =========================================
   💰 price_2 料金テーブル（完全再現版）
   ========================================= */

/* テーブル全体 */
.price_2 table {
  width: 100%;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

/* 全セル共通 */
.price_2 th,
.price_2 td {
  border: 1px solid #dcdfe6 !important;
  padding: 12px 20px !important;
  /* 高さをスリムに */
  vertical-align: middle !important;
  word-break: break-word;
}

/* -------------------------------------------------------
   1行目（ヘッダー行）を青背景＆白文字に強制変更
   ------------------------------------------------------- */
.price_2 tr:first-child th,
.price_2 tr:first-child td {
  font-weight: 700 !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}



/* -------------------------------------------------------
   列幅（見本と同じ比率）
   ------------------------------------------------------- */
.price_2 th:first-child,
.price_2 td:first-child {
  width: 25% !important;
  /* コース名 */
}

.price_2 th:nth-child(2),
.price_2 td:nth-child(2) {
  width: 20% !important;
  /* 料金 */
}

.price_2 th:nth-child(3),
.price_2 td:nth-child(3) {
  width: 55% !important;
  /* 備考 */
}



/* -------------------------------------------------------
   料金（青文字・太字）
   ------------------------------------------------------- */
.price_2 td:nth-child(2) {
  font-weight: 700 !important;
}



/* -------------------------------------------------------
   スマホ（縦積みにして読みやすく）
   ------------------------------------------------------- */
@media (max-width: 599px) {


  /* paddingと文字サイズを小さくして圧縮 */
  .price_2 th,
  .price_2 td {
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
  }

  /* 左列の行の高さを詰める */
  .price_2 td:first-child {
    font-size: 0.85rem !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* 金額の文字サイズも縮小 */
  .price_2 td:nth-child(2) {
    font-size: 0.9rem !important;
  }

  /* 備考欄も詰める */
  .price_2 td:nth-child(3) {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }
}

figure.price_2 td.course {
  text-align: center !important;
}

td.course {
  padding-right: 0 !important;
}

figure.price_2 td.price-tate {
  width: 30% !important;
  /* 好きな数字に変更してOK */
}

figure.price_2 td.course-type {
  width: 10% !important;
  /* 好きな数字に変更してOK */
}

/* =========================================
   💰 price_3 料金テーブル（完全再現版）
   ========================================= */

/* テーブル全体 */
.price_3 table {
  width: 100%;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

/* 全セル共通 */
.price_3 th,
.price_3 td {
  border: 1px solid #dcdfe6 !important;
  padding: 12px 20px !important;
  /* 高さをスリムに */
  vertical-align: middle !important;
  word-break: break-word;
}

/* -------------------------------------------------------
   1行目（ヘッダー行）を青背景＆白文字に強制変更
   ------------------------------------------------------- */
.price_3 tr:first-child th,
.price_3 tr:first-child td {
  font-weight: 700 !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}



/* -------------------------------------------------------
   列幅（見本と同じ比率）
   ------------------------------------------------------- */
.price_3 th:first-child,
.price_3 td:first-child {
  width: 25% !important;
  /* コース名 */
}

.price_3 th:nth-child(2),
.price_3 td:nth-child(2) {
  width: 20% !important;
  /* 料金 */
}

.price_3 th:nth-child(3),
.price_3 td:nth-child(3) {
  width: 55% !important;
  /* 備考 */
}



/* -------------------------------------------------------
   料金（青文字・太字）
   ------------------------------------------------------- */
.price_3 td:nth-child(2) {
  font-weight: 700 !important;
}



/* -------------------------------------------------------
   スマホ（縦積みにして読みやすく）
   ------------------------------------------------------- */
@media (max-width: 599px) {


  /* paddingと文字サイズを小さくして圧縮 */
  .price_3 th,
  .price_3 td {
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
  }

  /* 左列の行の高さを詰める */
  .price_3 td:first-child {
    font-size: 0.85rem !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* 金額の文字サイズも縮小 */
  .price_3 td:nth-child(2) {
    font-size: 0.9rem !important;
  }

  /* 備考欄も詰める */
  .price_3 td:nth-child(3) {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }
}

figure.price_3 td.course {
  text-align: center !important;
}

td.course {
  padding-right: 0 !important;
}

figure.price_3 td.price-tate {
  width: 30% !important;
  /* 好きな数字に変更してOK */
}

figure.price_3 td.course-type {
  width: 10% !important;
  /* 好きな数字に変更してOK */
}

td.text-color strong {
  color: #0074ba !important;
  /* 好きな色に変更してOK */
}

@media (max-width: 599px) {
  .price_3 td:nth-child(3) {
    width: 32% !important;
  }
}

/* =========================================
   💰 price_4 料金テーブル（完全再現版）
   ========================================= */
@media (max-width: 599px) {
  figure:is(.price_2, .price_4) td.price-tate.sp_price-tate {
    width: 20% !important;
  }
}

/* ▼ price_2 テーブルの外枠（figure 全体）だけ青色にする */
figure.wp-block-flexible-table-block-table.price_1,
figure.wp-block-flexible-table-block-table.price-table.is-style-default.price_1,
figure.wp-block-flexible-table-block-table.price-table.is-style-default.price_2,
figure.wp-block-flexible-table-block-table.price-table.is-style-default.price_3 {
  border: 2px solid #0068b7;
  /* 好きな青に変更OK */
  border-radius: 4px;
  /* 任意：角を少し丸める */
  overflow: hidden;
  /* 任意：角丸の中にテーブルを収める */
}

/* =========================================
   ✅ 入会時に必要なもの
   ========================================= */
/* 入会時に必要なもののリスト & 注意書きを中央寄せ（箱ごと） */
.swell-block-column.swl-has-mb--s.membership-info .wp-block-list.is-style-num_circle,
.swell-block-column.swl-has-mb--s.membership-info p.list_atttention {
  max-width: 80%;
  /* 横幅を少し狭くして中央寄せしやすく */
  margin-left: auto;
  margin-right: auto;
}



/* 下の注意書きも同じ幅＆位置にそろえる */
.swell-block-column.swl-has-mb--s.membership-info p.list_attention {
  max-width: 80%;
  margin: .5rem auto 0;
}

.swell-block-columns.is-style-clmn-shadow.member-container>div {
  justify-content: center;
}




/* 入会時必要なもの */

.membership-info {
  background: #fff;
  padding: 2em 2.4em 2em !important;
  border-radius: 18px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
  margin: 0 auto 3rem;
  max-width: 900px;
  /* 横幅をコンパクトに */
}

/* 番号リスト */
.membership-info .is-style-num_circle {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: mi-num;
}

/* 各行のテキスト */
.membership-info .is-style-num_circle li {
  position: relative;
  margin: 0 0 0.9em;
  padding-left: 3.2em;
  font-weight: 700;
  font-size: 1.1rem;
  /* テキスト大きく */
  color: #2f6fb0;
  line-height: 1.7;
}

/* 丸ナンバー */
.membership-info .is-style-num_circle li::before {
  counter-increment: mi-num;
  content: counter(mi-num);

  position: absolute;
  left: 0;
  top: -0.1em;

  width: 2.2em;
  height: 2.2em;
  border-radius: 50%;
  background: #e4e7ed;
  color: #2f6fb0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  /* 番号も少し大きく */
}

/* 補足テキスト */
.membership-info p {
  margin: 0.6em 0 0;
  font-size: 1rem;
  /* 補足も読みやすいサイズに */
  color: #5a7a99;
}

/* スマホ */
@media (max-width: 767px) {
  .membership-info {
    padding: 1.6rem 1.4rem;
    max-width: 100%;
  }
}

/*クレジッドカード注意書き*/
p.list_atttention {
  font-size: .9em;
  line-height: .7;
  margin: 0;
  color: #333;
  padding-left: 3.8em;
}

.swell-block-columns .membership-info .wp-block-list.is-style-num_circle li:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 599px) {
  .membership-info {
    padding: 1em 0em 1.4em !important;
  }

  .swell-block-column.swl-has-mb--s.membership-info .wp-block-list.is-style-num_circle,
  .swell-block-column.swl-has-mb--s.membership-info p.list_atttention {
    max-width: 87%;
  }
}


/* ======================================================================
   ✅ お客様の声　VOICE　まとめ（TOPページ）

   ====================================================================== */
/* 背景装飾あしらい（薄く入れる場合はこちら） */
.voice-container {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.voice-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/wp-content/uploads/2025/12/Group-127004.png");
  opacity: 0.48;
  background-repeat: no-repeat;
  z-index: -1;
  top: -21%;
  left: 12%;
  background-size: 30%;

}


/* 内側が白背景なら透明にして背景を見せる */
.voice-container .l-container {
  background: transparent !important;
}

/* ① voice-card を横並びの親として指定 */
.swell-block-column.swl-has-mb--s.voice-card {
  display: flex;
  align-items: center;
  padding: 2em;
  padding-left: 2.5em;
  border-radius: 20px;
  background-color: #f2f8fc;
  /* 必要なら変更 */
}

/* ② 左の画像を固定幅にして余白を取る */
.swell-block-column.swl-has-mb--s.voice-card .wp-block-image {
  flex-shrink: 0;
  margin-right: 1.5em;
}

.swell-block-column.swl-has-mb--s.voice-card .wp-block-image img {
  max-width: 90px;
  height: auto;
}

/* ③ 右側のテキスト全体を縦並びにする */
.swell-block-column.swl-has-mb--s.voice-card p {
  margin: 0 0 .9em;
  line-height: 1.7;
}

.swell-block-column.swl-has-mb--s.voice-card p:last-child {
  margin-bottom: 0;
}

/* ④ タイトル（太字）は行間調整して見本通りに */
.swell-block-column.swl-has-mb--s.voice-card strong {
  font-size: 1.3rem;
  line-height: 1.3;
  color: #04384c;
}

/* ⑤ 「◯代 女性」の文字調整 */

p.has-text-align-center.voice-head {
  text-align: center;
  display: inline-block;
  margin-bottom: .5rem;
  color: #04384c;
  font-weight: 600;
}

.wp-block-group.voice-txt {
  margin-left: .5em;
}

.voice-title {
  color: #4479AD !important;
  font-weight: bold;
  font-size: 1.25em;
  text-align: left;
}

@media (max-width: 599px) {
  .swell-block-column.swl-has-mb--s.voice-card {
    padding: 1em .8em;
    padding-left: auto;
  }

  .voice-title {
    font-size: .9em;
    margin-bottom: .4em !important;
  }

  .swell-block-column.swl-has-mb--s.voice-card p {
    line-height: 1.5;
  }
}

/* ======================================================================
   ✅ FORM TO FEEL セクション　まとめ（TOPページ）
ただ痩せるだけじゃない！１２３
   ====================================================================== */
.wp-block-column.effect-item {
  overflow: visible !important;
}

.effect-container {
  background: linear-gradient(135deg, #ffffff 30%, #E9F1F9 100%);
}

@media (min-width: 770px) {
  .wp-block-columns.effect-content.p-reverse {
    flex-direction: row-reverse;
  }
}

.effect-content {
  counter-reset: initial !important;
}

.effect-container>div {
  counter-reset: effectNum;
  max-width: 1200px;
  margin: 0 auto;
}

.effect-content {
  gap: 5em !important;
}

.effect-item {
  position: relative;
}

/*ナンバリング*/
.effect-item:nth-child(1)::before {
  content: "01";
}

.effect-item::before {
  counter-increment: effectNum;
  content: counter(effectNum, decimal-leading-zero);
  position: absolute;
  top: -14%;
  left: -9%;
  font-size: 10em;
  line-height: 1;
  font-weight: 700;
  font-style: Italic;
  opacity: .9;
  font-family: "Noto Serif JP", serif;
  color: #cae0f5;
  z-index: 2;
}

@media (max-width: 769px) {

  /* 奇数番目の行だけ反転 */
  .effect-content:nth-of-type(odd):not(:first-of-type) {
    flex-direction: column-reverse;
  }

  .effect-content:nth-of-type(even):not(:first-of-type) {
    flex-direction: column-reverse;
  }

  .effect-content {
    gap: 2em !important;
  }
}

@media (max-width: 599px) {
  /* スマホだけ：1枚目のカードだけ上下を入れ替え */

  /* 1枚目のカードを flex にしておく（安全のため） */
  .wp-block-columns.effect-content.effect-content-first {
    flex-direction: column !important;
  }

  .effect-item::before {
    left: -3%;
    font-size: 6em;
  }
}

/* ======================================================================
   ✅ 英字TOPスライダーセクション　まとめ（TOPページ）
引き締める、整える　スライダー・・・ジム見学
   ====================================================================== */
/* --------------------------------------------------
  personal-kv ブランディング　カバー 背景デコレーション画像
-------------------------------------------------- */
/* 万一、横スクロールが出る場合の保険 */
.business-section {
  overflow-x: clip;
}

.wp-block-cover.brand-visual.brand-visual {
  position: relative;
  /* 擬似要素の基準にする */
  overflow: visible;
}

/*キックボクシングカバーのグラデーション*/
.wp-block-cover.brand-visual .wp-block-cover__background {
  background: linear-gradient(135deg, #66bbe5 30%, #46A4D1 50%, #5FB2D9 100%) !important;
}

/* 1) Cover の箱を右寄せ（幅を少し絞って右に寄せる） */
/* カバーだけを右端にフルブリードさせる */
.brand-visual.wp-block-cover {
  /* ビューポート幅に広げる（コンテナの制約から脱出） */
  max-width: none;
  padding: 0 50px 0 ;

  /* 右端をビューポートに揃える肝 */
  margin-left: auto;
  margin-right: calc(50% - 50vw);

  /* SWELL が入れる内側余白を消す（必要なら） */
  padding: 0;
}
@media (min-width: 600px){
.personal-kv.wp-block-cover{
padding:0 50px 0 !important;
}
}
@media (max-width: 599px) {
.brand-visual.wp-block-cover,
.personal-kv.wp-block-cover {
padding: 60px 19px 50px !important;
    }
  }
/* 画像の見せたい位置を右寄せぎみに（必要なら微調整） */
.brand-visual .wp-block-cover__image-background {
  object-fit: cover;
  object-position: 85% center;
  /* 80〜95% で微調整。右端なら 100% center */
}

/* パララックスONの時（背景画像で描画される） */
.brand-visual.has-parallax {
  background-position: right center;
}

/* スマホは通常幅へ戻す（お好みで） */
@media (max-width: 960px) {
  .brand-visual.wp-block-cover {
    width: auto;
    margin-right: 0;
  }

  .brand-visual .wp-block-cover__image-background {
    object-position: 50% 50%;
  }
}

/*カバーの上下にパディング*/
.wp-block-cover.brand-visual {
  padding-top: 60px !important;
  padding-bottom: 100px !important;
}

/* 見本のブロックに合わせてクラスは忠実に */
.wp-block-cover.brand-visual {
  position: relative;
}

.swell-block-fullWide.business-section.brand-visual {
  background-color: #fff !important;
}

/*ここで左の女性の画像を調整して！*/
figure.wp-block-image.size-full.u-lb-off.bland-image {
  position: absolute;
  top: 0;
  left: 50% !important;
  transform: translateX(-120%) !important;
  /* ← 左へ42%ぶんバイアス（お好みで -35%〜-50% を調整） */

  /* サイズは可変だけど上限下限を固定 */
  width: clamp(500px, 46vw, 880px) !important;
  aspect-ratio: 1 / 1;
  background-size: cover !important;
  background-position: 35% 50% !important;
  /* 顔を基準にしたい場合はここで微調整 */
  z-index: 3;
}

@media (max-width: 1100px) {
  figure.wp-block-image.size-full.u-lb-off.bland-image {
    top: 10%;
  }
}

@media (max-width: 769px) {
  figure.wp-block-image.size-full.u-lb-off.bland-image {
    position: unset;
    top: auto;
    left: auto;
    transform: initial !important;
    width: 100% !important;
  }
}

@media (max-width: 599px) {
  .swell-block-fullWide.pc-py-40.sp-py-20.alignfull.business-section.brand-visual {
    padding-top: 0 !important;
  }
}

@media (max-width: 599px) {

  .brand-visual.wp-block-cover {
    padding: 60px 20px 80px !important;
  }

  .swell-block-fullWide.pc-py-40.sp-py-20.alignfull.business-section.brand-visual {
    padding-top: 0 !important;
  }
}

/* スライダー全体 */
.slider-wrapper {
  margin-top: -6em;
  z-index: 10;
  position: relative;
  display: flex;
  /* スライドのグループを横並び */
}

/* スライド3枚のグループ */
.slider {
  animation: scroll-left 20s infinite linear .5s both;
  display: flex;
  /* スライド3枚を横並び */
}

/* スライド */
.slide {
  list-style: none;
  width: 100vw;
}

/* スライドの画像 */
.slide img {
  display: block;
}

/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

/* ▼ スライダー領域だけ、本文リスト用の li スタイルを無効化 */
ul.slider>li {
  list-style: none;
  margin: 0;
  /* .post_content li の余白を打ち消し */
  position: static;
  /* .post_content li { position:relative; } を打ち消し */
  line-height: 0;
  /* 画像の下の隙間対策 */
}

/* ▼ flex の伸び抑制＆サイズ定義 */
ul.slider {
  display: flex;
  align-items: center;
  /* stretch をやめる（縦に伸びない） */
  gap: 0;
}

ul.slider>li.slide {
  flex: 0 0 100vw;
  /* 横幅だけ 100vw に固定。高さは中身に従う */
  height: auto;
}

/* ▼ 画像はブロック化して高さは自動。切り抜くなら object-fit */
ul.slider>li.slide img {
  display: block;
  height: auto;
  /* 画像比率を維持（object-fit不要ならこれでOK） */
  /* object-fit: cover;  /* 必要なら有効化：枠に合わせてトリミング */
}

ul.slider>li.slide img {
  height: 100%;
  object-fit: cover;
}

@media (max-width: 599px) {

  ul.slider>li.slide img {
    object-fit: contain !important;
  }

  /*スライダーの高さを変える*/
  ul.slider>li.slide {
    flex: 0 0 50% !important;
    /* 親(ul)の半分＝2枚表示 */
    max-width: 50% !important;
  }
}

/* ======================================================================
   ✅ レッスン選択　セレクトタブセクション　まとめ（TOPページ）
   あなたに合うレッスンの見つけ方
   ====================================================================== */
p.-en.lesson_en_sub {
  font-size: 14px;
  /* 小さめで上品 */
  letter-spacing: 0.15em;
  /* 字間広め */
  color: #3b4653;
  /* 落ち着いた濃紺グレー系 */
  font-weight: 400;
  /* 細字 */
  margin-bottom: 0.75rem;
  /* 下の大見出しと余白 */
}

.c-tabList .c-tabList__button {
  position: relative;
  padding-right: 28px;
  /* 矢印のために余白を追加 */
}

/* 矢印アイコン（CSSのafterで追加） */
.c-tabList .c-tabList__button::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
  /* ← 下向きの矢印 */
  pointer-events: none;
  opacity: 0.8;
}

/* 通常時（グレー矢印） */
.c-tabList .c-tabList__button::after {
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
}

/* 選択中（白矢印） */
.c-tabList .c-tabList__button[aria-selected="true"]::after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.c-tabList__button {
  font-size: 1.2em;
  font-weight: 600;
}

@media (max-width: 599px) {

  /*レッスンカードの枠せん*/
  .lesson-card-wrap>div>.swell-block-column.swl-has-mb--s {
    border: 1px solid #eee !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    padding: 20px 0;
  }
}

/* ======================================================================
   ✅ コンセプトセクション　まとめ（TOPページ）
   ココロもカラダも整えたい人が選ぶ“新習慣”
   ====================================================================== */


.feature-item>* {
  position: relative;
  z-index: 1;
}

.feature-item {
  position: relative;
  padding-top: 2rem;
}

/* 擬似要素で 01, 02... を自動生成 */
.feature-item::before {
  counter-increment: feat;
  content: counter(feat, decimal-leading-zero);
  /* 01,02… */
  position: absolute;
  top: -7%;
  left: -9%;
  font-size: 6em;
  line-height: 1;
  font-weight: 700;
  font-style: Italic;
  opacity: .5;
  font-family: "Noto Serif JP", serif;
  color: #D0E0F0;
  z-index: 0;
}

.feature-item:nth-child(1)::before {
  content: "01";
}

.feature-item:nth-child(2)::before {
  content: "02";
}

.feature-item:nth-child(3)::before {
  content: "03";
}

.feature-item:nth-child(4)::before {
  content: "04";
}



/* concept-container 背景あしらい */
.swell-block-fullWide.concept-container {
  position: relative;
  z-index: 0;
}

.swell-block-fullWide.concept-container::before {
  content: "";
  position: absolute;
  inset: 0;
  /* top/right/bottom/left を全部0にするショートハンド */
  background-image: url('/wp-content/uploads/2025/12/concept-bg.png');
  background-repeat: no-repeat;
  z-index: -1;
  background-size: 61%;
  opacity: .4;
  top: -40%;
  background-position: center center;
  z-index: -1;
  /* 中身より後ろへ */
}

.concept-card-wrap>.swell-block-columns__inner {
  row-gap: 5rem !important;
}

p.-en.value-label {
  margin-bottom: .4em;
  font-size: 1em;
}

.swell-block-columns.concept-card-wrap {
  max-width: 1050px;
  margin: 0 auto;
}

.concept-card-wrap {
  color: #304B66;
}

/*LETS TRY*/
figure.wp-block-image.size-full.u-lb-off.concept-bg {
  position: absolute;
  right: 0;
  top: -3%;
}

@media (min-width: 1300px) {
  figure.wp-block-image.size-full.u-lb-off.concept-bg {
    right: 0vw;
    top: 4%;
    opacity: .7;
    left: 10%;
  }
}

.concept-container {
  position: relative;
  overflow: hidden;
}

.concept-container::after {
  content: "Kickboxing × Fitness";
  opacity: 1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-family: "Noto Serif JP", serif;
  font-size: 7rem;
  font-weight: 300;
  color: #fff;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: 0;
  user-select: none;
  pointer-events: none;
}

.concept-container {
  background: linear-gradient(135deg, #ffffff 30%, #E9F1F9 100%);
}

/*レッツとらい*/
@media screen and (max-width:599px) {
  figure.wp-block-image.size-full.u-lb-off.concept-bg.concept_letstry img {
    width: 80%;
  }

  figure.wp-block-image.size-full.u-lb-off.concept-bg {
    top: -1%;
  }
}

/* ======================================================================
   ✅ 🔗NEWSニュースセクション　まとめ（TOPページ）
   ====================================================================== */
/* NEWS内のシンプル一覧だけの上線色を変更 */
.news-section ul.p-postList.-type-simple>li.p-postList__item {
  border-top-width: .5px;
  border-top-color: #808080;
  /* 好きな色に */
}

/* NEWSセクションのシンプル型：最後の項目だけボーダーを消す */
.news-section ul.p-postList.-type-simple>li.p-postList__item:last-child {
  border-bottom: none !important;
}


/* =========================
   NEWS list（p-postList）
   ========================= */
.p-postList.-type-simple .p-postList__cat::before {
  display: none !important;
}

/* 1) 各行の区切りとベース */
.p-postList.-type-simple>.p-postList__item {
  position: relative;
  border-top: 1px solid #dbe9e5;
  /* 行の罫線 */
}

.p-postList.-type-simple>.p-postList__item:last-child {
  border-bottom: 1px solid #dbe9e5;
  /* 下端だけ締める */
}

/* 見本の“左上に短いライン” */
.p-postList.-type-simple>.p-postList__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 2px;
  background: #233752;
}

/* 2) 行全体のレイアウト（左：日付＋カテゴリ／右：タイトル） */
.p-postList.-type-simple .p-postList__link {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 22px 0;
  /* 行の上下余白 */
  text-decoration: none;
  color: inherit;
}

/* 3) 左側（メタ：日付＋カテゴリ） */
.p-postList.-type-simple .p-postList__meta {
  flex: 0 0 220px;
  /* 左カラムの幅 */
  display: flex;
  align-items: center;
  gap: 16px;
  /* 日付とバッジの間隔 */
}

/* 日付 */
.p-postList.-type-simple .p-postList__times {
  font-weight: 700;
  line-height: 1;
  color: #233752
}

/* カテゴリーバッジ */
.p-postList.-type-simple .p-postList__cat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 4px;
  /* pill 形状 */
  line-height: 1;
  font-size: 15px;
  color: #fff;
  background: #4784C2;
}

/* 小さなアイコン風（必要なければ削除OK） */
.p-postList.-type-simple .p-postList__cat::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: #0f5c3d;
  display: inline-block;
}

/* 4) 右側（タイトル） */
.p-postList.-type-simple .p-postList__body {
  flex: 1 1 auto;
}

.p-postList.-type-simple .p-postList__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f5c3d;
  /* 2行で折り返し・はみ出しを省略（見本の行間に合わせて） */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 5) ホバー（軽くアクセント） */
.p-postList.-type-simple .p-postList__link:hover .p-postList__title {
  opacity: .8;
}

/* 6) スマホ：縦積み */
@media (max-width: 768px) {
  .p-postList.-type-simple .p-postList__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .p-postList.-type-simple .p-postList__meta {
    flex: none;
  }
}

/* NEWS一覧：一番下のグレーの横線だけ消す */
ul.p-postList.-type-simple>li.p-postList__item:last-child>a.p-postList__link {
  /* border-bottom: none !important; */
}

/* NEWS：短い緑線を 2 番目と 3 番目の項目だけ非表示にする */
.p-postList.-type-simple>.p-postList__item:nth-child(2)::before,
.p-postList.-type-simple>.p-postList__item:nth-child(3)::before {
  content: none !important;
}

.p-postList.-type-simple .p-postList__title {
  font-weight: 100;
  color: #000;
}

/* NEWSのタイトルの字間を広げる */
.p-postList.-type-simple .p-postList__title {
  letter-spacing: .055em !important;
}

.p-postList.-type-simple .p-postList__times {
  letter-spacing: .055em !important;
}

.-type-simple .p-postList__meta {
  margin: 0 0 9px;
}

.p-postList.-type-simple .p-postList__title {
  color: #233752;
}

/* ======================================================================
   ✅ 🔗BUTTONS MASTER CSS（サイト内ボタンはここに集約）
   - 目的：ボタンの色・サイズ・余白・角丸・ホバーを統一する
   - 運用：個別ページの場当たり修正を減らす（最後の「例外」で管理）
   ====================================================================== */

/*ボタンの設定*/
[class*=is-style-btn_] a {
  min-width: auto !important;
}

/*ボタンの設定①ひだり*/
.swell-block-button.is-style-btn_line.btn.btn-primary {
  max-width: 318px;
  width: 100%;
  margin-left: 0;
}

/*ボタンの設定①真ん中*/
.swell-block-button.-size-s.is-style-btn_normal.btn.btn-primary {
  max-width: 318px;
  width: 100%;
}

.btn a {
  max-width: 321px;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .08em;
  padding: 1em 56px;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-primary a {
  background-color: #005290;
  color: #fff;
  border: none;
}

.btn-primary:hover a {
  background-color: #003d66;
}

@media screen and (max-width: 599px) {
  .swell-block-button.is-style-btn_line.btn.btn-primary {
    max-width: 308px;
    margin-left: auto;
  }

  .swell-block-button.-size-s.is-style-btn_normal.btn.btn-primary {
    max-width: 308px;
  }
}

.btn-primary {
  color: #fff;
  background-color: none !important;
  border-color: none !important;
}

/* =========================
   青いグラデーションボタン
   ========================= */
/*グラデーションボタン*/
.swell-block-button.is-style-btn_normal.personal-btn>a {
  padding: 0.8em 1.4em;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(35, 62, 102, .25);
  background: linear-gradient(135deg, #467CCC 0%, #233E66 100%);
}

/* 入会登録・Instagramボタン：スマホだけサイズ調整 */
@media screen and (max-width: 599px) {
  .membership.is-style-btn_normal.btn-gradient>a.swell-block-button__link>span {
    font-size: 16px;
    /* 文字を少し小さく */
  }

  .membership.is-style-btn_normal.btn-gradient>a.swell-block-button__link {
    padding: 14px 40px !important;
    /* 高さ・横幅を抑える */
    border-radius: 32px !important;
    /* 丸すぎ防止 */
  }
}

/*グラデーションボタン*/
.btn-gradient>a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 40px !important;
  background: linear-gradient(135deg, #467CCC 0%, #233E66 100%);
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(35, 62, 102, 0.25);
  transition: all 0.3s ease;
}

/* =========================
   360° ジム見学（調整版）
   ========================= */

/* ボタン本体 */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* ← 上寄せに変更 */
  align-items: center;
  width: clamp(140px, 18vw, 220px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding-top: 28%;
  /* 文字を円の上側に寄せる */
  background: linear-gradient(180deg, #4B86BD 0%, #2F6FA6 100%);
  color: #fff;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.04em;
  font-weight: 700;
  white-space: pre-line;
  position: relative;
  overflow: visible;
  box-shadow: 0 8px 20px rgba(47, 111, 166, 0.35);
  transition: transform .18s ease, box-shadow .18s ease;
}

/* 文字サイズを大きく */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link>span {
  text-align: right;
  display: block;
  font-size: 2em;
  line-height: 1.2;
  margin-top: -18px;
}

@media (max-width: 1100px) {
  .swell-block-button.is-style-btn_normal.gym_tour {
    bottom: -17%;
  }
}

@media (max-width: 769px) {
  .swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link>span {
    font-size: 1.3em;
  }
}

/* 白丸＋矢印（位置を上に調整） */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link::after {
  content: "›";
  position: absolute;
  bottom: clamp(24px, 2.6vw, 39px);
  /* ← ここを上方向に上げる（数値を増やす） */
  width: clamp(32px, 4vw, 44px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #fff;
  color: #2F6FA6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
}

/* ホバー時のリフト */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(47, 111, 166, .45);
}

/* 親ごと前面へ（既に absolute 指定している前提） */
.swell-block-button.is-style-btn_normal.gym_tour {
  position: absolute;
  /* 既に指定済みならそのまま */
  z-index: 30;
  /* 背景より前面に */
}

/* 丸ボタン本体の影を強化 */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link {
  /* 既存プロパティはそのまま + 影を強める */
  box-shadow:
    0 14px 28px rgba(47, 111, 166, 0.38),
    /* 青寄りの拡散影 */
    0 8px 18px rgba(0, 0, 0, 0.18),
    /* 黒の補助影で輪郭を締める */
    0 0 0 1px rgba(255, 255, 255, 0.15);
  /* 薄い輪郭で背景との境界を強調 */
}

/* ホバー時は少しだけリフトアップ＋影濃く */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow:
    0 18px 34px rgba(47, 111, 166, 0.45),
    0 10px 22px rgba(0, 0, 0, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.17);
}

/* 白い小丸（矢印）にも独立した影を追加して存在感UP */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link::after {
  /* 既存指定はそのまま + 影だけ強化 */
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.04);
}

/* 下の落ち影（楕円）の明るさも少し上げたい場合 */
.swell-block-button.is-style-btn_normal.gym_tour .swell-block-button__link::before {
  background: radial-gradient(ellipse at center,
      rgba(47, 111, 166, 0.35), rgba(47, 111, 166, 0) 70%);
}


/*360°ジム見学ボタン*/
.swell-block-button.is-style-btn_normal.gym_tour {
  position: absolute;
  z-index: 13;
  left: -11%;
  bottom: -30%;
}

@media (max-width: 769px) {
  .swell-block-button.is-style-btn_normal.gym_tour {
    bottom: 0;
  }
}

@media (max-width: 599px) {
  .swell-block-button.is-style-btn_normal.gym_tour {
    left: 9%;
  }
}

/*ラベルアニメーション*/
.infiniteLoop img {
  display: block;
  width: 100vw;
  animation: slideLoop 12s linear infinite;
  height: auto;
}

figure.wp-block-image.brand-visual_bottom-label {
  position: relative;
  z-index: 100;
  right: 30%;
  bottom: 0;
}

p.brand-visual_head {
  font-size: 1.2em;
}

.wp-block-image.u-lb-off.brand-visual {
  margin-bottom: 0;
}

/*ロゴ背景*/
.swell-block-columns.personal-lesson-container {
  position: relative;
}

/*背景ロゴ画像*/
.swell-block-columns.personal-lesson-container::before {
  background-position: right -140px bottom;
  /* ← 右に140px押し出す。数値で微調整 */
  transform: scale(2);
  content: "";
  background: url(/wp-content/uploads/2025/11/Group-126967.png) no-repeat;
  position: absolute;
  top: -23%;
  opacity: .7;
  right: -100%;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-size: contain;
  /* ←これが重要！画像を要素いっぱいに拡大 */
}

.wp-block-cover.brand-visual.brand-visual {
  margin-bottom: 0;
}

/*パーソナルレッスン　水色のグラデーション*/
span.wp-block-cover__background.has-background-dim-100.has-background-dim {
  background: linear-gradient(135deg, #60b2d9 50%, #2D7FB7 100%) !important;
}

@media (max-width: 599px) {
  .wp-block-cover.personal-kv .wp-block-cover__background {
    background: linear-gradient(135deg, #74B0D5 20%, #2D7FB7 100%) !important;
    opacity: .53 !important;
  }
}

@media screen and (max-width: 599px) {
  .wp-block-cover.personal-kv.top-select-lesson {
    padding: 4em 1em !important;
  }

  h2.is-style-section_ttl.personal-lesson-title {
    font-size: 1.8em !important;
  }
}









.wp-block-cover.personal-kv {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

h2.is-style-section_ttl.personal-lesson-title {
  margin: 0 0 1em 0;
  font-size: 2em;
  font-weight: 100;
}

/* 見出し本体にクラスを付与して使用（H2/H3どれでもOK） */
.personal-lesson-subtitle {
  position: relative;
  display: inline-block;
  /* テキスト幅に合わせて中央に線を出す */
  padding-bottom: .8em;
  /* 文字と線の間隔 */
}

/* 下線（中央寄せ・長さは可変） */
.personal-lesson-subtitle::after {
  content: "";
  position: absolute;
  left: -1%;
  bottom: 0;
  width: 10em;
  /* 画面に応じて長さ可変 */
  height: 2px;
  background: rgba(255, 255, 255, .9);
  /* 白い線（背景が暗めなのでやや強め） */
  border-radius: 2px;
  pointer-events: none;
}

/* 背景が明るいページ用に少し弱めたい時（任意で上書き） */
/*
.personal-lesson-subtitle::after{ background: rgba(40,60,90,.25); }
*/
.swell-block-columns.personal-lesson-container {
  margin-bottom: 0;
}


@media (max-width: 599px) {
  .business-section {
    margin-bottom: 0 !important;
  }

  .personal-kv.wp-block-cover {
    padding: 60px 19px 50px !important;
  }

  .personal-kv .wp-block-cover__image-background {
    object-position: 9% 50% !important;
  }

  .wp-block-cover.personal-kv.-lesson {
    margin-bottom: 0;
  }

  figure.wp-block-image.size-large.u-lb-off.personal-bg {
    top: 80% !important;
    z-index: -1 !important;
  }
}


















/*入会登録ボタン*/
/* 見本ボタンのデザイン（親ブロック配下の a のみ対象） */
.swell-block-button.membership.is-style-btn_normal.btn-gradient>a.swell-block-button__link {
  display: inline-flex;
  /* 中央寄せ */
  align-items: center;
  justify-content: center;
  color: #fff !important;
  /* 文字色は白固定 */
  font-size: 20px;
  /* 見本の大きめ文字 */
  font-weight: 600;

  padding: 20px 80px;
  /* 横に長い pill ボタン */
  border-radius: 50px;
  /* 見本と同じ丸 pill 形状 */

  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  /* 見本の柔らかい影 */
  transition: all .25s ease;
}


/* ホバー時（必要なら） */
.swell-block-button.membership.is-style-btn_normal.btn-gradient>a.swell-block-button__link:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}









/* ======================================================================
   ✅ ヘッダー　まとめ
   ====================================================================== */
a.hero-reserve-btn {
  min-width: 150px;
  /* ← 適正値に調整してOK */
  white-space: nowrap;
}

/* ヒーローエリアの「体験予約はこちら」ボタン  */
.hero-reserve-btn {
  position: relative;
  /* ::before / ::after を配置するため */
  display: inline-flex;
  /* テキストを縦中央に */
  align-items: center;
  justify-content: flex-start;
  padding: 14px 90px 14px 20px;
  width: auto;
  background-color: #ffffff;
  /* ボタン本体は白 */
  color: #0052a3;
  /* テキストの青（お好みで調整） */
  font-size: 18px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  /* 見本っぽく軽く影 */
  overflow: hidden;
  /* 右側の斜め部分をはみ出さないように */
}

/* 右側の青い斜めの帯（見本と同じ形） */
.hero-reserve-btn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  /* 青い部分の横幅 */
  height: 100%;
  background: linear-gradient(90deg, #1672c6, #0b4f9e);
  clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
}

/* 右端の「＞」マーク */
.hero-reserve-btn::after {
  content: "›";
  /* 矢印（> より少し細い） */
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  color: #ffffff;
  font-size: 20px;
  z-index: 2;
}

/* テキストは前面に出す */
.hero-reserve-btn span {
  position: relative;
  z-index: 2;
}

/* ホバー時の軽いアクション */
.hero-reserve-btn:hover {
  opacity: 0.9;
}

/* ======================================================================
   ✅ フッター　まとめ
   ====================================================================== */
/*フッターQR*/
/* フッターQRのホバーアクション */
.footer_qr a img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/*フッター*/
p.contact-box {
  border: 1px solid #fff !important;
}

@media (min-width: 600px) {
  .footer_fixed {
    display: none !important;
  }
}

@media (max-width: 599px) {
  .l-footer {
    bottom: 42px;
  }

  .footer_fixed {
    position: fixed;
    display: flex;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 999;
  }
}

/*フッターボタン*/

div#fix_bottom_menu {

  color: #1E5AA8;
}

#fix_bottom_menu::before {
  opacity: 1 !important;
  background: #f2f8ff;
      background: #E5EFF8;

}

/*電話ボタン*/
.footer_tel {
  width: 50%;
  background: #1E5AA8;
  color: #fff;

  text-align: center;
  padding: 10px 0;
}

/*体験予約*/
.footer_contact {
  width: 50%;
  background: #2F80ED;
  color: #fff;

  text-align: center;
  padding: 10px 0;
}

.footer_fixed a {
  color: #fff;
  text-decoration: none;
}

/* ホバー時 */
.footer_qr a:hover img {
  transform: scale(1.01);
  /* 画像を少し拡大 */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
  /* ふわっと浮く影 */
}

@media (min-width: 960px) {
  .w-footer__box:last-child {
    font-size: .9em;
    border-left: 1px solid;
    max-width: 33%;
  }
}

.l-footer {
  background-color: #084a83;
  color: #fff;
}

/* =========================================
   フッター中央カラムだけのレイアウト調整
   電話番号ボックスを一番上に固定する
   ========================================= */


/* フッター中央の電話番号ウィジェットの上の余白を詰める */
#footer #custom_html-5 {
  margin-top: -75px !important;
}

@media screen and (max-width: 959px) {
  #footer #custom_html-5 {
    margin-top: 0 !important;
  }
}

@media screen and (min-width: 960px) {
  .w-footer__box:last-child {
    margin-left: 3em;
  }
}

@media screen and (max-width: 959px) {
  .w-footer__box:last-child {
    margin-left: 0;
  }
}

/* =====================================
   フッター：カスタムHTML内の電話ボックス
   （#footer 内にある .contact-box 一式）
   ===================================== */

/* ウィジェット自体を横並びの中にきれいに収める */
#footer .w-footer__box .widget_custom_html {
  display: flex;
  align-items: center;
  /* ロゴなどと縦位置をそろえる */
  justify-content: flex-start;
}

/* 電話ボックス全体 */
#footer .contact-box {
  display: inline-flex;
  /* span と a を横並びにする */
  align-items: stretch;
  margin: 0;
  font-size: 14px;
  line-height: 1;
}

/* 左側のテキスト部分（池袋本町のキックボクシングジム） */
#footer .contact-box01 {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  color: #fff;
  letter-spacing: 0.04em;
  white-space: nowrap;
  /* 折り返して崩れないように */
}

/* 右側の電話番号ボタン部分 */
#footer .contact-box a {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0 4px 4px 0;
  /* 右だけ角丸 */
}

/* 左のテキスト側も左端以外を角丸にして一体感を出す */
#footer .contact-box01 {
  border-radius: 4px 0 0 4px;
}

/* ホバー時の軽いアクション */
#footer .contact-box a:hover {
  opacity: 0.85;
  color: #0068B7;
}

/* -------------------------------
   スマホ時：中央寄せ＆つぶれ防止
   ------------------------------- */
@media screen and (max-width: 767px) {
  #footer .w-footer__box .widget_custom_html {
    justify-content: center;
    /* スマホでは中央寄せ */
    margin-top: 10px;
  }

  #footer .contact-box {
    flex-wrap: wrap;
    /* どうしても狭い時は折り返して崩れ防止 */
    text-align: center;
  }
}

.l-footer__widgetArea {
  background: #396e9b;
  color: #fff;
}

/*TOPページだけ変更がきかないので！*/
/* 通常状態（必要なら色を固定） */
#footer .contact-box a .contact-box02 {
  color: #ffffff !important;
}

/* ホバー時 */
#footer .contact-box a:hover .contact-box02 {
  color: #0068B7 !important;
}


/* ホバー時：電話番号＆アイコンの色 */
#footer .contact-box a:hover .contact-box02,
#footer .contact-box a:hover .contact-box02 i.fa-solid.fa-square-phone {
  color: #0068B7 !important;
}

/*フッター*/
.c-listMenu a {
  padding-left: 0 !important;
  padding-right: 0px !important;
}

.c-listMenu a:hover {
  padding-left: 0 !important;
  padding-right: 0px !important;
}

/*フッター*/
.l-footer__widgetArea {
  background: #1B1B1B;
}

/*フッターSNS*/
div#swell_sns_links-5>ul>li>a {
  font-size: 1.5em;
}

/*facebook*/
li.c-iconList__item.-facebook>a {
  background: #0068B7;
  border-color: #0068B7;
}

li.c-iconList__item.-instagram>a {
  background: #0068B7;
  border-color: #0068B7;
}

li.c-iconList__item.-youtube>a {
  background: #0068B7;
  border-color: #0068B7;
}

div#swell_sns_links-5>ul.c-iconList.is-style-circle {
  justify-content: flex-start;
}

div#swell_sns_links-5 {
  margin-top: 0;
}

/*フッターの調整*/
/* 1段目：ロゴを横幅100%で1行占有させる */
#footer #custom_html-2 {
  width: 100%;
  display: block;
  margin-bottom: 6px;
  /* ロゴと2段目の間の余白 */
}

/* 2段目：SNSアイコンとLINEバナーを横並び（ロゴの下） */
#footer #swell_sns_links-5,
#footer #custom_html-4 {
  display: inline-block;
  vertical-align: middle;
}

/* SNSアイコンとLINEバナーの間のすき間 */
#footer #swell_sns_links-5 {
  margin-right: 24px;
}

/*フッター*/
.l-footer {
  background-color: #000;
}

.l-footer__foot {
  padding-bottom: .8em;
  padding-top: .8em;
}





















.footer_fixed {
  display: none;
}



@media screen and (max-width: 599px) {
  #fix_bottom_menu+.p-fixBtnWrap {
    bottom: 154px !important;
  }


  #fix_bottom_menu {
    padding-bottom: 0 !important;
  }

  .l-footer {
    bottom: 42px;
  }

  #fix_bottom_menu {
    bottom: 43px !important;
  }

  #fix_bottom_menu .menu_list {
    height: 55px !important;
  }

  ul.menu_list {
    height: 55px !important;
  }

  .footer_fixed {
    position: fixed;
    display: flex;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 999;
  }

  /*トップへ戻るボタン*/
  @media screen and (max-width: 599px) {
    #fix_bottom_menu+.p-fixBtnWrap {
      bottom: 94px;
    }

    /*フッターロゴ*/
    div#custom_html-2 {
      padding-left: 0 !important;
    }
  }





  /*フッター電話番号*/
  @media (max-width: 599px) {
    /* 電話番号ブロックのバランス調整 */

    #footer .contact-box a {
      padding-top: 4px !important;
    }

    .h-right {
      display: flex;
      align-items: center;
    }

    .contact-box02 {
      padding: 3px 0 !important;
    }

    p.contact-box {
      padding: 0 !important;
    }

    #footer .contact-box {
      display: flex !important;
      align-items: center !important;
      border: 1px solid rgba(255, 255, 255, 0.4) !important;
      border-radius: 4px !important;
      font-size: 14px;
      line-height: 1.3;
    }

    #footer .contact-box01 {
      padding: 7px 14px 0;
    }

    .contact-box,
    .contact-box01,
    .contact-box02 {
      padding: 6px 12px;
      /* ← 縦の圧縮 */
      font-size: 14px;
      /* 必要なら調整 */
    }

    #footer .c-listMenu a {
      line-height: 1.8;
      padding: 0.6em 10px !important;
    }
  }

  /*フッターボタン*/

  div#fix_bottom_menu {

    color: #1E5AA8;
  }

 
  /*電話botann*/
  .footer_tel {
    width: 50%;
    background: #1E5AA8;
    color: #fff;

    text-align: center;
    padding: 10px 0;
  }

  /*体験予約*/
  .footer_contact {
    width: 50%;
    background: #2F80ED;
    color: #fff;

    text-align: center;
    padding: 10px 0;
  }

  .footer_fixed a {
    color: #fff;
    text-decoration: none;
  }

  .fa-solid,
  .fas {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }

  .fa-phone:before {
    content: "\f095";
  }

  .fa-envelope:before {
    content: "\f0e0";
  }
}

@media screen and (max-width: 599px) {
  #fix_bottom_menu+.p-fixBtnWrap {
    bottom: 154px !important;
  }


  #fix_bottom_menu {
    padding-bottom: 0 !important;
  }

  #fix_bottom_menu {
    bottom: 43px !important;
  }

  #fix_bottom_menu .menu_list {
    height: 55px !important;
  }

  ul.menu_list {
    height: 55px !important;
  }

  .fa-solid,
  .fas {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }

  .fa-phone:before {
    content: "\f095";
  }

  .fa-envelope:before {
    content: "\f0e0";
  }
}

/* ======================================================================
   ✅ ドロワーメニュー　まとめ
   ====================================================================== */
/*ドロワー*/
@media (max-width: 959px) {

  /*ドロワーメニュー*/
  .c-spnav>.menu-item>a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

#sp_menu .c-spnav.c-listMenu li>a {
  display: block;
  width: 100%;
  padding: 12px 16px;
  box-sizing: border-box;
}


/* ドロワーメニュー内 SNS 丸アイコンを大きくする */

#sp_menu .c-iconList.is-style-circle .c-iconList__link {
  width: 40px;
  /* ←丸の大きさ（必要に応じて変更） */
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  padding: 0;
  /* ←これ必須！SWELLが勝手にpadding入れてる */
}

/* ▼ 中のアイコンの大きさ */
#sp_menu .c-iconList__icon {
  font-size: 18px;
  /* ←アイコンの大きさ */
}

/* ▼ SNS丸ボタン：丸の大きさを指定 */
#sp_menu .c-iconList.is-style-circle .c-iconList__link {
  width: 42px;
  /* 好きな大きさに変更OK */
  height: 42px;
  display: flex;
  /* ★ これ！中央揃えの要 */
  align-items: center;
  /* 縦中央 */
  justify-content: center;
  /* 横中央 */
  padding: 0;
  border-radius: 50%;
}

/* ▼ アイコンの大きさ */
#sp_menu .c-iconList.is-style-circle .c-iconList__icon {
  font-size: 20px;
  /* アイコンのサイズ */
  line-height: 1;
  /* SWELLのデフォをそのまま保持 */
}







/* ============================
   SPドロワーメニュー調整
   （#sp_menu / .p-spMenu.-right 系だけ使用）
   ============================ */
@media screen and (max-width: 960px) {

  /* 内側コンテナ：画面いっぱい＆余計な影/余白を消す */
  #sp_menu.p-spMenu.-right .p-spMenu__inner {
    box-shadow: none;
    height: 100vh;
    padding-top: 0;
    width: 100%;
    position: absolute;
    right: 0;
    left: 0;
  }

  /* メニュー本体 */
  #sp_menu.p-spMenu.-right .p-spMenu__body {
    height: 100%;
    padding: 40px 24px 40px;
    background: #b4cae13d;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
    box-sizing: border-box;
  }

  /* 「MENU」見出しを消す（要らなければ） */
  #sp_menu.p-spMenu.-right .c-widget__title.-spmenu {
    display: none;
  }

  /* ナビ全体の位置を少し下げる */
  #sp_menu.p-spMenu.-right .p-spMenu__nav {
    margin-top: 24px;
  }

  /* ULリセット */
  #sp_menu.p-spMenu.-right .c-spnav.c-listMenu {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* 各メニューの行間 */
  #sp_menu.p-spMenu.-right .c-spnav.c-listMenu>li {
    margin-bottom: 12px;
  }

  /* メニュー文字のスタイル */
  #sp_menu.p-spMenu.-right .c-spnav.c-listMenu>li>a {
    display: inline-block;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #222;
    text-decoration: none;
  }

  /* 現在ページに下線 */
  #sp_menu.p-spMenu.-right .c-spnav.c-listMenu>li.current-menu-item>a {
    border-bottom: 2px solid #0068B7;
    padding-bottom: 4px;
  }

  /* 閉じるボタンを右上固定 */
  #sp_menu.p-spMenu.-right .p-spMenu__closeBtn {
    position: absolute;
    top: 16px;
    right: 16px;
  }
}





/* ======================================================================
   ✅ コンタクトフォーム　まとめ
   ====================================================================== */

/*コンタクトフォーム７*/
div#wpcf7-f12-p25-o1 {
  max-width: 900px;
  margin: 0 auto;
}

.contact-form {
  width: 100%;
  font-size: 14px;
  margin-top: 40px;
}

/* テーブル左 */
.contact-form th {
  background: transparent;
  text-align: left;
  padding: 3%;
  width: 33%;
  vertical-align: middle;
  box-sizing: border-box;
}

/* テーブル右 */
.contact-form td {
  width: 70%;
  vertical-align: middle;
  padding-top: 0.01%;
  padding-bottom: 0.01%;
  box-sizing: border-box;
  background: #fff !important;
}

/* インプットボックス */
.contact-form input,
textarea {
  width: 100%;
  padding: 9px;
  box-sizing: border-box;
}

/*ラジオボタン*/
input[type="radio"] {
  width: 15px;
}

/* 送信ボタン*/
.form_button {
  text-decoration: none;
  padding: 10px;
  text-align: center;
  color: #ffffff;
  background-color: #0068B7 !important;
  border: none;
  width: 200px;
  margin: 40px auto 0;
  display: block;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease 0s;
  opacity: 1;
  cursor: pointer;
  border-radius: 5px !important;
}

.form_button:hover {
  opacity: 0.8;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .contact-form {
    font-size: 12px;
  }

  .contact-form th {
    width: 100%;
    display: block;
  }

  .contact-form td {
    width: 100%;
    display: block;
  }

  .form_button {
    margin: 25px auto 0;
    font-size: 14px;
    border-radius: 5px !important;
  }

  .top #content {
    padding-top: 1.8em;
  }
}

/* 800px以上を表示 */
@media (max-width: 768px) {
  .u-desktop {
    display: none;
  }
}

/* モバイルのみ表示 */
.u-mobile {
  display: none;
}

@media (max-width: 768px) {
  .u-mobile {
    display: block;
  }

  .post_content h2 span {
    font-size: 27px;
    margin-top: -28px;
    margin-bottom: 0;
  }

  p.has-text-align-center.social-icon-text.has-text-color {
    margin-bottom: 5px;
  }
}

/* 送信ボタンを押した後のアクション */
body .wpcf7-not-valid {
  background: #eee;
}

div.wpcf7-response-output {
  border: none;
  text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #1354A1;
  color: #fff;
}

.wpcf7 form.spam .wpcf7-response-output {
  background: #f15b47;
  border-color: #f15b47;
  color: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  background: #ffd900;
}

.wpcf7 .wpcf7-not-valid-tip {
  margin-left: 9px;
  display: inline-block;
  color: #000;
  background-color: #ffd900;
}

.contact__check {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact__check a {
  color: #333333;
  text-decoration: underline;
}

span.wpcf7-list-item {
  margin: 0.3em 1em;
}

/*必須の調整*/
.haveto {
  font-size: 9px;
  padding: 1.5px 5px;
  background: #1F2033 !important;
  color: #fff;
  border-radius: 2px;
  margin-left: 7px;
  position: relative;
  vertical-align: middle;
}

/*任意の調整*/
.any {
  font-size: 9px;
  padding: 1.5px 5px;
  background: #D9D9DA;
  color: #333;
  border-radius: 2px;
  margin-left: 7px;
  position: relative;
  vertical-align: middle;
}



[class*=is-style-btn_] a {
  border-radius: 10px;
}

label {
  display: block;
  position: relative;
  padding-left: 1em;
}

label input {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -9px;
  margin: auto;
}


.wpcf7-radio span.wpcf7-list-item {
  display: inline-block !important;
}

@media (max-width: 768px) {



  span.wpcf7-list-item {
    margin: 1em 0.6em 1em 1em !important;
  }

  /*ポリシー*/
  span.wpcf7-list-item-label {
    font-size: .9em;
  }
}

@media only screen and (max-width: 420px) {
  .wpcf7-textarea {
    width: 100% !important;
    max-width: 100% !important;
  }
}


input#age-area {
  width: 10%;
  margin-right: 7px;
}

@media only screen and (max-width: 400px) {
  input#age-area {
    width: 15%;
    margin-right: 7px;
  }
}


td.contact_message {
  padding-top: 15px;
  padding-bottom: 10px;
}


input {
  background-color: #F5F6F8;
}

.wpcf7-textarea {
  background: #F5F6F8;
}

.post_content td {
  padding: 10px;
}

@media only screen and (max-width:768px) {
  .post_content td {
    border-bottom: none;
  }

  .contact__check {
    margin-top: 1em;
  }

  .post_content th {
    border-bottom: none;
  }

  td.contact_message {
    border: 1px solid #dcdcdc !important;
  }
}

/*コンタクトフォームここまで*/