/*
Theme Name: タイチ鍼灸接骨院（Lightning 子テーマ）
Theme URI: https://hari-riha-kumamoto.com/
Description: Lightning の子テーマ。旧サイトと同じURLの作り・ページ見出し・構造化データを足すために使う。デザインCSSはこのファイルの下半分にまとめてある。
Author: タイチ鍼灸接骨院
Template: lightning
Version: 1.4.2
Text Domain: taichi-child
*/

/* ============================================================
   デザインCSS本体。もとはカスタマイザーの「追加CSS」にあったものを
   子テーマに移した（2026-08-28）。編集はこのファイル → 再アップロード、
   または「外観 > テーマファイルエディター」で行う。
   ============================================================ */

/* ===== タイチ鍼灸接骨院 デザイン（旧サイト再現版 v2）===== */

/* 基本色 */
:root, body {
  --vk-color-primary: #f49b01;
  --vk-color-primary-dark: #d98a00;
  --vk-color-link: #e08c00;
  --vk-color-header-bg: #ffffff;
  --vk-color-footer-bg: #333333;
}

/* ---- 背景のやわらかい曲線（旧サイトの雰囲気） ---- */
body { background: #fff; position: relative; }
body::before,
body::after {
  content: "";
  position: fixed;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}
body::before {
  width: 160vw; height: 90vw;
  right: -60vw; top: -55vw;
  border: 5vw solid rgba(255, 236, 202, .55);
  transform: rotate(-12deg);
}
body::after {
  width: 150vw; height: 80vw;
  left: -70vw; bottom: -50vw;
  border: 4vw solid rgba(255, 236, 202, .4);
  transform: rotate(8deg);
}

/* ---- 見出し2：小さい文字＋大きい文字＋左だけ色付き下線 ---- */
.entry-body h2, .post .entry-body h2, .page .entry-body h2 {
  background: none;
  color: #333;
  padding: 0 0 16px 0;
  border: none;
  border-bottom: 2px solid #e9e9e9;
  position: relative;
  line-height: 1.4;
  margin-top: 3em;
}
.entry-body h2::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 190px; height: 4px;
  background: linear-gradient(to right, #f49b01 0 120px, #34a141 120px 190px);
}
.entry-body h2 .subtext {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin-bottom: 6px;
}
.entry-body h2 .maintext {
  display: block;
  font-size: 30px;
  font-weight: 700;
}

/* ---- 見出し3：クリーム色ボックス＋オレンジ縦バー ---- */
.entry-body h3, .post .entry-body h3, .page .entry-body h3 {
  background: #fbe9c8;
  border: none;
  border-left: 6px solid #f49b01;
  border-radius: 6px;
  padding: 14px 20px;
  color: #333;
  line-height: 1.5;
  margin-top: 2.5em;
}
.entry-body h3 .subtext {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 4px;
}
.entry-body h3 .maintext {
  display: block;
  font-size: 21px;
  font-weight: 700;
}

/* ---- 本文をゆったりめに（旧サイトの行間） ---- */
.entry-body p { line-height: 2; }

/* ---- ページ上部の帯・ボタン・フッター ---- */
.page-header { background-color: #f49b01; background-image: none; }
.page-header .page-header-title,
.page-header .breadcrumb,
.page-header .breadcrumb a { color: #fff; }

.btn-primary, .wp-block-button__link {
  background-color: #f49b01; border-color: #f49b01;
}
.btn-primary:hover, .wp-block-button__link:hover {
  background-color: #ff8300; border-color: #ff8300;
}

blockquote { background: #ffecca; border-left: 4px solid #f49b01; }
a:hover { color: #34a141; }
.site-footer { background-color: #333; color: #eee; }
.site-footer a { color: #ffd189; }

/* スマホでは見出しを少し小さく */
@media (max-width: 767px) {
  .entry-body h2 .maintext { font-size: 24px; }
  .entry-body h3 .maintext { font-size: 18px; }
  body::before, body::after { display: none; }  /* スマホでは曲線を消して軽く */
}
/* ===== トップページ組み立て（v3追記分） ===== */

/* --- ヒーロー（写真＋キャッチコピー＋3カード） --- */
.taichi-hero {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-size: cover;
  background-position: center 30%;
  padding: 100px 20px;
  text-align: center;
}
.taichi-hero-inner { max-width: 1100px; margin: 0 auto; }
.hero-catch {
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.55;
  text-shadow: 0 2px 10px rgba(0,0,0,.5);
  margin-bottom: 18px;
}
.hero-sub {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.hero-marker {
  background: #f49b01;
  color: #fff;
  padding: 2px 10px;
  text-shadow: none;
}
.hero-cards {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}
.hero-card {
  background: #fff;
  border-radius: 10px;
  padding: 24px 26px;
  flex: 1;
  min-width: 240px;
  max-width: 330px;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
}
.hero-card-title { color: #e08c00; font-weight: 700; font-size: 18px; margin-bottom: 8px; }
.hero-card-text { font-size: 14px; color: #333; line-height: 1.8; margin: 0; }

/* --- 旧テーマのブロック部品を整える --- */
/* セクションの器: 全幅の帯＋中身は中央寄せ */
.entry-body .wp-block-funmaker-blocks-group.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.entry-body .block-group-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}
/* 色付き背景の帯はクリームに */
.entry-body .has-background-block { background-color: #fff7e8; }

/* 2列・3列レイアウト */
.entry-body .wp-block-funmaker-blocks-columns.grid-row {
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
}
.entry-body .grid-row > .grid-column { flex: 1; min-width: 260px; }

/* 画像 */
.entry-body .wp-block-funmaker-blocks-image img { max-width: 100%; height: auto; border-radius: 8px; }
.entry-body .image-round img { border-radius: 50%; }

/* ボタン（ホットペッパー/LINE/お問い合わせ）を大きく */
.entry-body .wp-block-funmaker-blocks-buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.entry-body .wp-block-funmaker-blocks-buttons--item { list-style: none; }
.entry-body .wp-block-funmaker-blocks-buttons--item a {
  display: inline-block;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 700;
  color: #fff !important;
  text-decoration: none;
  box-shadow: 0 3px 8px rgba(0,0,0,.18);
}

/* 店舗情報テーブル */
.entry-body .table-content { width: 100%; background: rgba(255,255,255,.95); border-radius: 8px; overflow: hidden; }
.entry-body .table-content th {
  background: #fbe9c8;
  width: 30%;
  padding: 12px 16px;
  text-align: left;
}
.entry-body .table-content td { padding: 12px 16px; background: #fff; }

/* 地図 */
.entry-body .map-frame-wrapper { position: relative; }
.entry-body .map-frame {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; border-radius: 8px;
}

/* お知らせ一覧 */
.entry-body .wp-block-funmaker-blocks-list-posts .list-item {
  border-bottom: 1px solid #eee;
  padding: 14px 4px;
}
.entry-body .post-date-and-tag { font-size: 13px; color: #888; margin-bottom: 2px; }
.entry-body .list-item .title { margin: 0; font-size: 16px; }

/* スマホ調整 */
@media (max-width: 767px) {
  .hero-catch { font-size: 24px; }
  .hero-sub { font-size: 16px; }
  .taichi-hero { padding: 60px 16px; }
  .entry-body .grid-row { gap: 16px; }
}

/* ===== v4 ヒーロー微調整 ===== */
.hero-catch {
  font-size: 36px;
  text-shadow: 0 1px 4px rgba(0,0,0,.35);
  letter-spacing: .02em;
  margin-bottom: 14px;
}
.hero-sub {
  font-size: 18px;
  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
.hero-marker { padding: 3px 8px; }
.taichi-hero { padding: 130px 20px 90px; }
.hero-card { padding: 20px 22px; }
.hero-card-title { font-size: 17px; }
.hero-card-text { font-size: 13.5px; }
@media (max-width: 767px) {
  .hero-catch { font-size: 22px; }
}

/* ===== 予約ボタン ===== */
.global-nav-list .hpb-btn > a {
  background: #ae2d5b;
  color: #fff !important;
  border-radius: 6px;
  font-weight: 700;
  padding: 10px 18px !important;
  margin-left: 8px;
}
.global-nav-list .line-btn > a {
  background: #06c755;
  color: #fff !important;
  border-radius: 6px;
  font-weight: 700;
  padding: 10px 18px !important;
  margin-left: 6px;
}
.global-nav-list .hpb-btn > a:hover,
.global-nav-list .line-btn > a:hover { opacity: .85; color: #fff !important; }


/* ===== ロゴ表示の強制修正 ===== */
.site-header-logo { width: auto; }
.site-header-logo a, .site-header-logo span { display: inline-block; }
.site-header-logo img { width: 252px !important; max-width: none !important; height: 42px !important; max-height: 42px !important; }


/* ===== ナビの幅詰め ===== */
.global-nav-list > li > a { padding-left: 8px !important; padding-right: 8px !important; font-size: 13.5px; }
.global-nav-description { font-size: 10px; }
.global-nav-list .hpb-btn > a, .global-nav-list .line-btn > a { padding: 9px 10px !important; font-size: 12.5px; }
.global-nav-list .hpb-btn > a { margin-left: 4px; }
.global-nav-list .line-btn > a { margin-left: 4px; }


/* ===== トップ専用v5 ===== */
.home .entry-body h2 { text-align: center; border-bottom: none; padding-bottom: 18px; }
.home .entry-body h2::after { left: 50%; transform: translateX(-50%); width: 130px; background: linear-gradient(to right, #f49b01 0 80px, #34a141 80px 130px); }
.home .wp-block-funmaker-blocks-list-posts { max-width: 840px; margin: 0 auto; }
.entry-body .list-item { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.entry-body .post-date-and-tag { display: flex; align-items: center; gap: 12px; margin: 0; }
.entry-body .post-date { color: #666; font-size: 14px; }
.entry-body a.tagname { background: #f49b01; color: #fff !important; font-size: 12px; font-weight: 700; padding: 3px 16px; border-radius: 3px; text-decoration: none; }
.entry-body .list-item .title { flex: 1; margin: 0; }
.entry-body .list-item .title a { color: #333; text-decoration: none; }
.entry-body .list-item .title a:hover { color: #e08c00; }
.entry-body .wp-block-funmaker-blocks-group.cta { background: #fff; border-radius: 14px; box-shadow: 0 4px 18px rgba(0,0,0,.10); border: 1px solid #f0f0f0; max-width: 760px; margin: 40px auto; padding: 30px 24px !important; text-align: center; }
.entry-body .cta-title { font-weight: 700; font-size: 18px; }
.entry-body .cta a[href^='tel'] { font-size: 26px; font-weight: 700; color: #e08c00; text-decoration: none; }


/* ===== 選ばれる理由: 2列カードグリッド ===== */
.entry-body .wp-block-funmaker-blocks-images.gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.entry-body .gallery-item .grid-column-inner { background: #fff; border: 1px solid #eee; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.06); height: 100%; }
.entry-body .gallery-item img { width: 100%; height: auto; display: block; border-radius: 0; }
.entry-body .gallery-item h3, .entry-body .gallery-item h4 { background: none !important; border: none !important; padding: 14px 18px 4px !important; margin: 0; color: #e08c00 !important; font-size: 18px; font-weight: 700; }
.entry-body .gallery-item p { margin: 6px 18px 18px; font-size: 14.5px; line-height: 1.9; color: #333; }
@media (max-width: 767px) {
  .entry-body .wp-block-funmaker-blocks-images.gallery { grid-template-columns: 1fr; }
}


/* ===== コース紹介: 斜め切りオレンジパネル ===== */
.entry-body .gallery.layout-3 { display: block; }
.entry-body .gallery.layout-3 .grid-column-inner {
  display: flex; align-items: stretch;
  background: #f49b01; color: #fff;
  border: none; border-radius: 4px; overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  margin-bottom: 36px; min-height: 300px;
}
.entry-body .gallery.layout-3 .gallery-image { flex: 0 0 46%; margin: 0; }
.entry-body .gallery.layout-3 .gallery-image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.entry-body .gallery.layout-3 .gallery-item:nth-child(odd) .gallery-image { clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); }
.entry-body .gallery.layout-3 .gallery-item:nth-child(even) .grid-column-inner { flex-direction: row-reverse; }
.entry-body .gallery.layout-3 .gallery-item:nth-child(even) .gallery-image { clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
.entry-body .gallery.layout-3 .gallery-right-content { flex: 1; padding: 36px 38px; display: flex; flex-direction: column; justify-content: center; }
.entry-body .gallery.layout-3 .gallery-title, .entry-body .gallery.layout-3 h3 { background: none !important; border: none !important; color: #fff !important; text-align: center; font-size: 22px; font-weight: 700; padding: 0 0 14px !important; margin: 0; line-height: 1.5; }
.entry-body .gallery.layout-3 p { color: #fff; margin: 0 0 14px; font-size: 14.5px; line-height: 1.9; }
.entry-body .gallery.layout-3 b { color: #fff; }
@media (max-width: 767px) {
  .entry-body .gallery.layout-3 .grid-column-inner { flex-direction: column !important; }
  .entry-body .gallery.layout-3 .gallery-image { clip-path: none !important; flex: none; }
  .entry-body .gallery.layout-3 .gallery-right-content { padding: 24px 20px; }
}


/* 色指定のないボタンに既定のオレンジグラデ */
.entry-body .wp-block-funmaker-blocks-buttons--item > a:not([style]) {
  background: linear-gradient(135deg, #f8b500, #f08300);
  color: #fff !important;
  min-width: 220px;
  text-align: center;
  border-radius: 999px;
  font-size: 16px;
}


/* ===== v6 本番モバイル対応 ===== */
:root { --funmaker-theme-color:#f49b01; --funmaker-theme-sub-color:#34a141; --funmaker-theme-font-color:#fff; --funmaker-theme-accent-color:#ff8300; --funmaker-theme-background-color:#ffecca; --funmaker-contact-color:#ae2d5b; --funmaker-contact-font-color:#fff; --funmaker-theme-inner-color:#f49b01; --funmaker-page-title-font-color:#fff; --funmaker-page-title-back-color:#f49b01; }

.entry-body .image-round img { border-radius: 14px !important; }
.entry-body .wp-block-funmaker-blocks-buttons--item > a { border-radius: 999px !important; }

/* こちらも合わせて: 白カード */
.entry-body .list-text-wrapper .grid-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.entry-body .list-text-wrapper .list-item.no-image { background: #fff; border: 1px solid #eee; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.06); padding: 22px 20px; text-align: center; }
.entry-body .list-text-wrapper a.list-item-text { display: block; font-size: 18px; font-weight: 700; color: #333; text-decoration: none; border-bottom: 1px solid #ddd; padding-bottom: 10px; margin-bottom: 10px; }
.entry-body .list-text-wrapper .list-item p { margin: 0; color: #555; font-size: 14px; }

/* コラム新着カード */
.entry-body .list-plain-wrapper .grid-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.entry-body .list-plain-wrapper .list-item { background: #fff; border: 1px solid #eee; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.06); overflow: hidden; padding-bottom: 14px; height: 100%; }
.entry-body .list-plain-wrapper .full-title { font-size: 16px !important; margin: 12px 14px 6px !important; padding: 0 !important; border: none !important; background: none !important; color: #e08c00 !important; font-weight: 700; line-height: 1.5; text-align: left; }
.entry-body .list-plain-wrapper .full-title::after { content: none !important; }
.entry-body .list-plain-wrapper .thumb img { width: 100%; height: auto; display: block; }
.entry-body .list-plain-wrapper .list-item-text { padding: 0 14px; font-size: 13px; color: #444; }

/* モバイル固定バー */
.taichi-mobile-bar { display: none; }

@media (max-width: 767px) {
  .entry-body .list-news-wrapper .list-item { flex-direction: column; align-items: flex-start; gap: 6px; }
  .entry-body .list-news-wrapper .list-item .title { width: 100%; }
  body::before, body::after { display: block; }
  .site-header-logo img { width: 190px !important; height: 32px !important; }
  .entry-body .wp-block-funmaker-blocks-group.alignfull { padding-top: 44px !important; padding-bottom: 44px !important; }
  .entry-body h2 { margin-top: 1.6em; }
  .entry-body .list-plain-wrapper .grid-row { grid-template-columns: 1fr 1fr; }
  .entry-body .list-text-wrapper .grid-row { grid-template-columns: 1fr; }
  body { padding-bottom: 64px; }
  .taichi-mobile-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #f49b01; }
  .taichi-mobile-bar a { flex: 1; text-align: center; color: #fff; font-weight: 700; font-size: 12px; padding: 10px 2px 12px; text-decoration: none; border-right: 1px solid rgba(255,255,255,.4); }
  .taichi-mobile-bar a:last-child { border-right: none; }
  .taichi-mobile-bar .icon { display: block; font-size: 18px; line-height: 1.3; }
}


/* ===== v7 はみ出し修正 ===== */
.entry-body .list-plain-wrapper .grid-row { grid-template-columns: repeat(3, minmax(0,1fr)); }
.entry-body .list-text-wrapper .grid-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
.entry-body .wp-block-funmaker-blocks-images.gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
.entry-body .list-plain-wrapper .list-item, .entry-body .list-text-wrapper .list-item { min-width: 0; }
.entry-body .list-text-wrapper .list-item p:empty { display: none; }
body { overflow-x: hidden; }
@media (max-width: 767px) {
  .entry-body .list-plain-wrapper .grid-row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  .entry-body .list-plain-wrapper .full-title { font-size: 14px !important; }
  .entry-body .list-plain-wrapper .list-item-text { font-size: 12px; }
  .entry-body .list-text-wrapper .grid-row { grid-template-columns: minmax(0,1fr); }
  .entry-body .wp-block-funmaker-blocks-images.gallery { grid-template-columns: minmax(0,1fr); }
}


/* ===== v8 モバイル仕上げ ===== */
/* コラム新着: 重複タイトルを消してカードを揃える */
.entry-body .list-plain-wrapper .full-title { display: none !important; }
.entry-body .list-plain-wrapper .list-item { display: flex; flex-direction: column; }
.entry-body .list-plain-wrapper .thumb { order: -1; }
.entry-body .list-plain-wrapper .list-item-text { display: flex; flex-direction: column; flex: 1; padding: 0 14px; }
.entry-body .list-plain-wrapper .list-item-text > a { display: block; color: #e08c00; font-weight: 700; font-size: 15px; line-height: 1.6; text-decoration: none; margin: 12px 0 8px; }

/* 白背景ボックスの文字余白 */
.entry-body [style*="background-color:#ffffff"], .entry-body [style*="background-color: #ffffff"], .entry-body [style*="background:#ffffff"] { padding: 16px 18px !important; border-radius: 10px; }

/* お知らせをコンパクトに + 幅広バッジ */
.entry-body .list-news-wrapper .list-item { padding: 10px 4px 12px; }
.entry-body .list-news-wrapper .list-item .title { font-size: 15px; line-height: 1.7; margin: 0; }
.entry-body a.tagname { min-width: 170px; text-align: center; }
@media (max-width: 767px) {
  .entry-body .list-news-wrapper .list-item { gap: 4px; }
  .entry-body a.tagname { min-width: 150px; }
}


/* ===== v9 改行とカード内部の仕上げ ===== */
/* 最後の1文字だけ次の行に落ちるのを防ぐ */
h1, h2, h3, .hero-catch, .hero-sub, .cta-title, .hero-card-title, .gallery-title { text-wrap: balance; }
.entry-body p, .hero-card-text, .list-item-text { text-wrap: pretty; }

/* コラム新着カード内部 */
.entry-body .list-plain-wrapper .title { font-size: 15px; line-height: 1.6; margin: 10px 0 6px; }
.entry-body .list-plain-wrapper .title a { color: #e08c00 !important; font-weight: 700; text-decoration: none; }
.entry-body .list-plain-wrapper .post-date-and-tag { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 2px 0 6px; }
.entry-body .list-plain-wrapper a.tagname { min-width: 0; }


/* ===== v10 CTA整列・コンパクト化 ===== */
.entry-body .cta { padding: 24px 20px !important; margin: 28px auto; }
.entry-body .cta-title { margin: 0 0 4px; font-size: 17px; }
.entry-body .cta p { margin: 8px 0; }
.entry-body .cta p:empty { display: none; }
.entry-body .cta .wp-block-funmaker-blocks-buttons { margin: 14px 0 4px; }
@media (max-width: 767px) {
  .entry-body .cta .wp-block-funmaker-blocks-buttons { flex-direction: column; align-items: center; gap: 10px; }
  .entry-body .cta .wp-block-funmaker-blocks-buttons--item { width: 100%; max-width: 300px; }
  .entry-body .cta .wp-block-funmaker-blocks-buttons--item > a { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 12px 10px !important; }
  .entry-body .cta a[href^='tel'] { font-size: 24px; }
  .entry-body .cta { padding: 20px 16px !important; }
}


/* ===== v11 カード見出しを1行に ===== */
@media (max-width: 767px) {
  .entry-body .gallery-item h3, .entry-body .gallery-item h4 {
    font-size: 16px !important;
    padding: 12px 14px 4px !important;
    letter-spacing: 0;
  }
  .entry-body .gallery-item p { font-size: 13.5px; margin: 6px 14px 16px; }
}


/* ===== v12 セクション見出しの行数基準(モバイル) ===== */
@media (max-width: 767px) {
  .entry-body h2 .subtext { font-size: 13px !important; }
  .entry-body h2 .maintext { font-size: clamp(17px, 5.5vw, 21px) !important; line-height: 1.5; }  /* v31 狭い端末で見出しが2行に折れないよう画面幅連動 */
  .entry-body h3 .subtext { font-size: 12px; }
  .entry-body h3 .maintext { font-size: 17px; }
}


/* ===== v13 コラム新着: モバイルは1列に ===== */
.entry-body .list-plain-wrapper { max-width: 100%; }
.entry-body .list-plain-wrapper .grid-row { width: 100%; max-width: 100%; }
.entry-body .list-plain-wrapper .list-item { max-width: 100%; overflow: hidden; }
@media (max-width: 767px) {
  .entry-body .list-plain-wrapper .grid-row { grid-template-columns: 1fr !important; gap: 16px; }
  .entry-body .list-plain-wrapper .title { font-size: 16px; }
}


/* ===== v14 こちらも合わせてカードの内部整形 ===== */
.entry-body .list-text-wrapper .list-item h2.title {
  font-size: 18px !important;
  margin: 0 0 10px !important;
  padding: 0 0 10px !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  text-align: center;
}
.entry-body .list-text-wrapper .list-item h2.title::after { content: none !important; }
.entry-body .list-text-wrapper .list-item .desc { color: #555; font-size: 14px; line-height: 1.8; }
.entry-body .list-text-wrapper a.list-item-text { border: none !important; padding: 0 !important; margin: 0 !important; }
.entry-body .list-text-wrapper .list-item.no-image { padding: 20px 18px; }
.entry-body .list-text-wrapper .grid-item-more { display: none; }
.entry-body .list-text-wrapper .list-item p { display: none; }

/* v14b 説明文も中央に */
.entry-body .list-text-wrapper .list-item .desc { text-align: center; }


/* ===== v15 CTAタイトル1行化と電話色 ===== */
.entry-body .cta-title, .entry-body .cta-title * { font-size: 20px !important; }
@media (max-width: 767px) {
  .entry-body .cta-title, .entry-body .cta-title * { font-size: 17.5px !important; }
}
.entry-body .cta a[href^='tel'] { color: #ff9d00 !important; }
.entry-body .cta a[href^='tel'] span, .entry-body .cta a[href^='tel'] b { color: #ff9d00 !important; }


/* ===== v16 ヒーローの行数調整(モバイル) ===== */
@media (max-width: 767px) {
  .hero-catch { font-size: 17px !important; line-height: 1.8; }
  .hero-sub { font-size: 15px !important; line-height: 2; }
  .hero-marker { padding: 2px 6px; }
}


/* ===== v17 オレンジ見出しを明るい色に統一 ===== */
.hero-card-title,
.entry-body .gallery-item h3, .entry-body .gallery-item h4,
.entry-body .list-plain-wrapper .title a { color: #ff9d00 !important; }


/* ===== v18 声タイトルを2行に ===== */
@media (max-width: 767px) {
  .entry-body h3 { padding: 12px 14px !important; }
  .entry-body h3 .maintext, .entry-body h3.wp-block-funmaker-blocks-headline { font-size: 18px !important; line-height: 1.6 !important; }
  .entry-body h3 .subtext { font-size: 12px !important; }
}


/* ===== v19 コラム新着をモバイル2列に ===== */
@media (max-width: 767px) {
  .entry-body .list-plain-wrapper .grid-row { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px; }
  .entry-body .list-plain-wrapper .list-item-text { padding: 0 10px; }
  .entry-body .list-plain-wrapper .title { font-size: 14px; margin: 8px 0 4px; }
  .entry-body .list-plain-wrapper .title a { font-size: 14px; }
  .entry-body .list-plain-wrapper .post-date-and-tag { gap: 6px; margin: 2px 0 4px; }
  .entry-body .list-plain-wrapper a.tagname { font-size: 11px; padding: 3px 10px; }
  .entry-body .list-plain-wrapper .post-date { font-size: 12px; }
  .entry-body .list-plain-wrapper .list-item-text { font-size: 12px; }
}


/* ===== v20 カテゴリカードの中央揃え強化 ===== */
.entry-body .list-text-wrapper a.list-item-text { display: block; width: 100%; }
.entry-body .list-text-wrapper .list-item h2.title { display: block; width: 100% !important; box-sizing: border-box; text-align: center !important; }
.entry-body .list-text-wrapper .list-item .desc { width: 100%; text-align: center; }


/* ===== v21 ヒーローを画面幅比例のサイズに ===== */
@media (max-width: 767px) {
  .hero-catch { font-size: min(4.2vw, 22px) !important; line-height: 1.8 !important; }
  .hero-sub { font-size: min(3.8vw, 18px) !important; line-height: 2 !important; }
}


/* ===== v22 声タイトル: 画面幅連動で確実に2行 ===== */
.entry-body h3 .maintext { font-size: clamp(15px, 4.6vw, 21px) !important; line-height: 1.6 !important; }
.entry-body h3.wp-block-funmaker-blocks-headline { line-height: 1.6 !important; }

/* =========================================================
   ===== v23 下層ページ 本文ブロック（コラム／事例／お悩み別）=====
   ========================================================= */

/* ---- 複数カラム（画像＋説明文など） ---- */
.entry-body .wp-block-funmaker-blocks-columns{
  display:flex; flex-wrap:wrap; align-items:flex-start;
  margin:1.8em 0; box-sizing:border-box;
}
.entry-body .wp-block-funmaker-blocks-columns > .grid-column{ box-sizing:border-box; padding:0 12px; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column:first-child{ padding-left:0; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column:last-child{ padding-right:0; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-1{ width:100%; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-1-2{ width:50%; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-1-3{ width:33.3333%; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-2-3{ width:66.6667%; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-1-4{ width:25%; }
.entry-body .wp-block-funmaker-blocks-columns > .grid-column-3-4{ width:75%; }
.entry-body .wp-block-funmaker-blocks-columns .grid-column-inner{ height:100%; box-sizing:border-box; }
.entry-body .wp-block-funmaker-blocks-columns .grid-column-inner > :last-child{ margin-bottom:0; }
.entry-body .wp-block-funmaker-blocks-columns .wp-block-funmaker-blocks-image{ margin-top:0; }
.entry-body .wp-block-funmaker-blocks-columns img{ width:100%; height:auto; }
@media (min-width:768px){
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column-md-1{ width:100%; }
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column-md-1-2{ width:50%; }
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column-md-1-3{ width:33.3333%; }
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column-md-2-3{ width:66.6667%; }
}
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column{
    width:100% !important; padding:0; margin-bottom:16px;
  }
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column:last-child{ margin-bottom:0; }
  .entry-body .wp-block-funmaker-blocks-columns img{ max-width:320px; display:block; margin:0 auto; }
}

/* ---- 本文の画像とキャプション ---- */
.entry-body .wp-block-funmaker-blocks-image{ margin:1.6em 0; }
.entry-body .wp-block-funmaker-blocks-image img{ max-width:100%; height:auto; }
.entry-body .wp-caption{ display:table; max-width:100%; }
.entry-body .wp-caption.aligncenter{ margin-left:auto; margin-right:auto; }
.entry-body .wp-caption .wp-caption-text{
  margin:0; padding:6px 2px 0; line-height:1.6; font-size:13px; color:#666; text-align:left;
}
.entry-body .wp-block-funmaker-blocks-image.alignright{ float:right; margin:.4em 0 1em 24px; max-width:44%; }
.entry-body .wp-block-funmaker-blocks-image.alignleft{ float:left; margin:.4em 24px 1em 0; max-width:44%; }
.entry-body .clearfix::after{ content:""; display:block; clear:both; }
.entry-body .block-group-inner::after{ content:""; display:block; clear:both; }
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-image.alignright,
  .entry-body .wp-block-funmaker-blocks-image.alignleft{
    float:none; max-width:100%; margin:1em auto;
  }
}

/* ---- Q&A（Q＝オレンジ／A＝緑） ---- */
.entry-body .wp-block-funmaker-blocks-qa{ margin:1.6em 0; }
.entry-body .wp-block-funmaker-blocks-qa--item{
  border:none; border-bottom:1px solid #ddd; margin:0;
}
.entry-body .wp-block-funmaker-blocks-qa--item > summary::-webkit-details-marker{ display:none; }
.entry-body .wp-block-funmaker-blocks-qa--item > summary{ list-style:none; cursor:default; }
.entry-body .item-question,
.entry-body .item-answer{
  display:flex; flex-direction:row; align-items:flex-start; position:relative; text-align:left;
}
.entry-body .item-question{ font-weight:700; padding:18px 6px 10px; }
.entry-body .item-answer{ padding:0 6px 18px; }
.entry-body .item-question::before,
.entry-body .item-answer::before{
  flex:0 0 auto; min-width:30px; min-height:30px; display:flex;
  font-size:24px; font-weight:700; justify-content:center; align-items:center;
  margin-right:10px; line-height:1;
}
.entry-body .item-question::before{ content:"Q"; color:#f49b01; }
.entry-body .item-answer::before{ content:"A"; color:#34a141; padding-top:3px; }
.entry-body .item-answer p{ margin:0; }

/* ---- 箇条書き（チェック／丸） ---- */
.entry-body .wp-block-funmaker-blocks-list{ margin:1.2em 0; padding-left:0; }
.entry-body .wp-block-funmaker-blocks-list li{
  padding-left:30px; position:relative; list-style:none; text-align:left; margin-bottom:4px;
}
.entry-body .wp-block-funmaker-blocks-list li::before{
  position:absolute; top:.35em; left:2px; width:20px; height:20px; line-height:20px;
  text-align:center; font-size:inherit;
}
.entry-body .wp-block-funmaker-blocks-list.is-style-check li::before{ content:"\2714"; color:#f49b01; }
.entry-body .wp-block-funmaker-blocks-list.is-style-circle li::before{ content:"\25CF"; color:#f49b01; font-size:80%; }
.entry-body .wp-block-funmaker-blocks-list.is-style-square li::before{ content:"\25A0"; color:#f49b01; font-size:88%; }
.entry-body .wp-block-funmaker-blocks-list.is-style-default li::before{ content:"\25B6"; color:#f49b01; font-size:78%; }

/* ---- 表 ---- */
.entry-body .wp-block-funmaker-blocks-table{ margin:1.8em 0; overflow-x:auto; }
.entry-body .table-content{
  border-collapse:collapse; border-spacing:0; width:100%; background:#fff;
}
.entry-body .table-content td,
.entry-body .table-content th{
  padding:14px; border:1px solid #e2e2e2; min-width:60px; vertical-align:middle; line-height:1.7;
}
.entry-body .table-content th{ min-width:140px; color:#fff; background:#f49b01; font-weight:700; }
.entry-body .wp-block-funmaker-blocks-table.th-left .table-content th{ text-align:left; }
.entry-body .wp-block-funmaker-blocks-table.th-top-left .table-content tr:first-child td,
.entry-body .wp-block-funmaker-blocks-table.th-top-left .table-content tr:first-child th,
.entry-body .wp-block-funmaker-blocks-table.th-top-left .table-content tr > :first-child{
  color:#fff; background:#f49b01; font-weight:700;
}
@media (max-width:767px){
  .entry-body .table-content td,
  .entry-body .table-content th{ padding:10px; font-size:14px; }
  .entry-body .table-content th{ min-width:96px; }
}

/* ---- 施術の流れ（番号つきステップ） ---- */
.entry-body .wp-block-funmaker-blocks-flow{ counter-reset:number 0; margin:1.8em 0; display:block; }
.entry-body .wp-block-funmaker-blocks-flow--item{
  counter-increment:number; position:relative; width:100%; margin:0 0 46px; box-sizing:border-box;
}
.entry-body .wp-block-funmaker-blocks-flow--item:last-child{ margin-bottom:0; }
.entry-body .wp-block-funmaker-blocks-flow--item::after{
  content:""; position:absolute; left:50%; bottom:-32px; transform:translateX(-50%) rotate(45deg);
  width:16px; height:16px; border-right:3px solid #f8c777; border-bottom:3px solid #f8c777;
}
.entry-body .wp-block-funmaker-blocks-flow--item:last-child::after{ display:none; }
.entry-body .wp-block-funmaker-blocks-flow--item > .grid-column-inner{
  display:flex; flex-direction:row; align-items:flex-start; gap:18px;
}
.entry-body .wp-block-funmaker-blocks-flow .flow-image{ flex:0 0 30%; width:30%; }
.entry-body .wp-block-funmaker-blocks-flow .flow-image img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block;
}
.entry-body .wp-block-funmaker-blocks-flow .flow-text{ flex:1; position:relative; padding-left:66px; min-width:0; }
.entry-body .wp-block-funmaker-blocks-flow .flow-text .title{
  font-weight:700; font-size:19px; line-height:1.5; margin-bottom:10px;
}
.entry-body .wp-block-funmaker-blocks-flow .flow-text .title::before{
  content:counter(number); position:absolute; left:0; top:0;
  width:50px; height:50px; border-radius:50%; background:#f49b01; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:22px; line-height:1;
}
.entry-body .wp-block-funmaker-blocks-flow .flow-text .desc p{ margin:0; }
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-flow--item > .grid-column-inner{ flex-direction:column; gap:12px; }
  .entry-body .wp-block-funmaker-blocks-flow .flow-image{ flex:none; width:100%; }
  .entry-body .wp-block-funmaker-blocks-flow .flow-text{ padding-left:58px; }
  .entry-body .wp-block-funmaker-blocks-flow .flow-text .title{ font-size:17px; }
  .entry-body .wp-block-funmaker-blocks-flow .flow-text .title::before{ width:44px; height:44px; font-size:19px; }
}

/* ---- 囲み枠（口コミなど） ---- */
.entry-body .has-border-block{
  border:2px solid #f49b01; border-radius:12px; padding:32px; margin:2em 0; box-sizing:border-box;
}
.entry-body .has-border-block > .block-group-inner > :first-child{ margin-top:0; }
.entry-body .has-border-block > .block-group-inner > :last-child{ margin-bottom:0; }
@media (max-width:767px){
  .entry-body .has-border-block{ padding:18px; }
}

/* ---- 小見出し4／本文中リンク ---- */
.entry-body h4.headline-h4,
.entry-body .headline-h4{ font-size:18px; font-weight:700; line-height:1.6; margin:1.6em 0 .6em; }
.entry-body .headline-h4 .maintext{ display:block; }
.entry-body .headline-h4 .subtext{ display:block; font-size:13px; color:#666; }
.entry-body .inline-link{ color:#e08c00; text-decoration:underline; }

/* ===== v23b カラムのflex上書き（旧v3のgrid-row指定を打ち消す） ===== */
.entry-body .wp-block-funmaker-blocks-columns > .grid-column{ flex:0 0 auto; min-width:0; }
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-columns > .grid-column{ flex:0 0 100%; }
}

/* ===== v23c カラムが折り返さないように ===== */
.entry-body .wp-block-funmaker-blocks-columns{ flex-wrap:nowrap; }
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-columns{ flex-wrap:wrap; }
}

/* ===== v23d カラム: 旧v3の .columns.grid-row 指定(gap28/中央揃え/折返し)を打ち消す ===== */
.entry-body .wp-block-funmaker-blocks-columns.grid-row{ gap:0; align-items:flex-start; flex-wrap:nowrap; }
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-columns.grid-row{ flex-wrap:wrap; gap:0; }
}

/* =========================================================
   ===== v24 記事一覧（カテゴリーページ）とサイドバー =====
   ========================================================= */

/* ---- 一覧を白カードに（本番と同じ見え方） ---- */
.post-list .vk_post{
  background:#fff; border-radius:10px; box-shadow:0 2px 10px rgba(0,0,0,.08);
  padding:18px; margin-bottom:24px; display:flex; align-items:flex-start; gap:22px;
  box-sizing:border-box; border:none;
}
.post-list .vk_post .vk_post_imgOuter{
  flex:0 0 292px; width:292px; border-radius:8px; overflow:hidden; margin:0;
}
.post-list .vk_post .vk_post_imgOuter img{
  width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:3/2;
}
.post-list .vk_post .vk_post_body{ flex:1; min-width:0; }
.post-list .vk_post .vk_post_title{ margin:0 0 10px; line-height:1.5; }
.post-list .vk_post .vk_post_title a{
  color:#ff9d00; font-weight:700; font-size:19px; text-decoration:none;  /* v31 一覧の見出しを明るいオレンジに統一 */
}
.post-list .vk_post .vk_post_title a:hover{ text-decoration:underline; }
.post-list .vk_post .vk_post_excerpt{
  color:#444; font-size:15px; line-height:1.9; margin:0;
}
/* 本番にない要素は隠す */
.post-list .vk_post .vk_post_dates,
.post-list .vk_post .card-img-overlay,
.post-list .vk_post .vk_post_btnOuter{ display:none; }

@media (max-width:767px){
  .post-list .vk_post{ flex-direction:column; gap:12px; padding:14px; }
  .post-list .vk_post .vk_post_imgOuter{ flex:none; width:100%; }
  .post-list .vk_post .vk_post_title a{ font-size:17px; }
  .post-list .vk_post .vk_post_excerpt{ font-size:14px; line-height:1.8; }
}

/* ---- サイドバー ---- */
.sub-section .widget{ margin-bottom:34px; }
.sub-section .side-title,
.sub-section .widget-title,
.sub-section .sub-section-title{
  background:none !important; color:#333; font-size:17px; font-weight:700;
  padding:0 0 8px; margin:0 0 4px; border:none; border-bottom:2px solid #f49b01;
  border-radius:0; text-align:left;
}
.sub-section .wp-block-latest-posts__list{ list-style:none; margin:0; padding:0; }
.sub-section .wp-block-latest-posts__list li{
  display:flex; align-items:center; gap:12px;
  padding:12px 0; border-bottom:1px solid #ececec; margin:0;
}
.sub-section .wp-block-latest-posts__featured-image{ flex:0 0 90px; margin:0; }
.sub-section .wp-block-latest-posts__featured-image img{
  width:90px; height:60px; object-fit:cover; border-radius:4px; display:block; max-width:none;
}
.sub-section .wp-block-latest-posts__post-title{
  color:#333; font-size:14px; font-weight:700; line-height:1.5; text-decoration:none;
}
.sub-section .wp-block-latest-posts__post-title:hover{ color:#e07b00; }
.sub-section .wp-block-latest-posts__post-date{
  display:block; font-size:12px; color:#888; margin-top:2px;
}
.sub-section .wp-block-latest-posts__list li > time{ font-size:12px; color:#888; }

/* カテゴリー一覧・リンク一覧 */
.sub-section .wp-block-categories,
.sub-section .side-linklist{ list-style:none; margin:0; padding:0; }
.sub-section .wp-block-categories li,
.sub-section .side-linklist li{ padding:11px 0 11px 16px; border-bottom:1px solid #ececec; position:relative; }
.sub-section .wp-block-categories li::before,
.sub-section .side-linklist li::before{
  content:""; position:absolute; left:2px; top:50%; width:6px; height:6px;
  margin-top:-3px; border-top:2px solid #f49b01; border-right:2px solid #f49b01;
  transform:rotate(45deg);
}
.sub-section .wp-block-categories a,
.sub-section .side-linklist a{ color:#333; font-size:14px; text-decoration:none; }
.sub-section .wp-block-categories a:hover,
.sub-section .side-linklist a:hover{ color:#e07b00; }

/* 店舗情報 */
.side-shopinfo{ padding:14px 0 0; }
.side-shopinfo .side-tel a{
  color:#ff9d00; font-size:26px; font-weight:700; letter-spacing:.5px; text-decoration:none;
}
.side-shopinfo .side-label{
  font-weight:700; font-size:14px; color:#333; margin:14px 0 4px; padding-left:12px; position:relative;
}
.side-shopinfo .side-label::before{
  content:""; position:absolute; left:0; top:.35em; width:4px; height:1em; background:#f49b01; border-radius:2px;
}
.side-shopinfo .side-hours,
.side-shopinfo .side-address{ font-size:14px; line-height:1.8; color:#555; margin:0; }
.side-shopinfo .side-btns{ display:flex; flex-direction:column; gap:8px; margin-top:16px; }
.side-shopinfo .side-btn{
  display:block; text-align:center; padding:11px 8px; border-radius:999px;
  color:#fff !important; font-weight:700; font-size:14px; text-decoration:none;
}
.side-shopinfo .side-btn-hpb{ background:#ae2d5b; }
.side-shopinfo .side-btn-line{ background:#06c755; }

/* ---- 記事ページの日付・著者は本番になし ---- */
.single .entry-header .entry-meta{ display:none; }
.single .entry-header .entry-title{
  font-size:26px; line-height:1.5; font-weight:700; margin:0 0 24px;
}
@media (max-width:767px){
  .single .entry-header .entry-title{ font-size:21px; margin-bottom:18px; }
}

/* =========================================================
   ===== v25 料金プランカード（料金一覧ページ）=====
   ========================================================= */
.entry-body .wp-block-funmaker-blocks-plans.grid-row{
  display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center;
  gap:0; align-items:stretch; margin:20px 0 30px;
}
.entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item{
  flex:0 0 auto; min-width:0; width:33.3333%; box-sizing:border-box;
  margin-bottom:20px; position:relative;
}
.entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:first-child:nth-last-child(2),
.entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:first-child:nth-last-child(2) ~ *{
  width:50%;
}
.entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:only-child{ width:80%; }
.entry-body .wp-block-funmaker-blocks-plans .grid-column-inner{
  display:flex; flex-direction:column; height:100%; margin:0 10px; text-align:center;
  background:#fff; border:2px solid #f49b01; border-radius:20px; overflow:hidden; box-sizing:border-box;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-title{
  background:#f49b01; color:#fff; padding:10px; font-weight:700; font-size:18px; line-height:1.4;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-content{
  padding:15px 10px; flex:1; display:flex; flex-direction:column;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-price{
  margin:5px auto; font-weight:700; font-size:28px; line-height:1.3;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-detail{
  padding:10px; display:flex; flex-direction:column; flex:1;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-detail-text{
  text-align:center; font-size:15px; line-height:1.8;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-detail-text p{ margin:0; }
.entry-body .wp-block-funmaker-blocks-plans .plan-button{
  margin:20px 0 0; padding:0; list-style:none;
  flex:1; display:flex; flex-direction:column; justify-content:flex-end;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-button li{ list-style:none; padding:0; }
.entry-body .wp-block-funmaker-blocks-plans .plan-button-inner{
  display:block; margin:0 auto; padding:9px 5px; width:200px; max-width:100%; box-sizing:border-box;
  font-weight:700; text-decoration:none; background:#fff; border:2px solid #f49b01; color:#f49b01;
  border-radius:100vmax; transition:.2s ease;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-button-inner::before{
  content:"もっと見る"; display:block; text-align:center;
}
.entry-body .wp-block-funmaker-blocks-plans .plan-button-inner:hover{ background:#f49b01; color:#fff; }
.entry-body .wp-block-funmaker-blocks-plans--item.recommend::before{
  content:"当院\aおススメ"; position:absolute; top:-10px; left:-4px; z-index:2;
  width:60px; height:60px; font-size:12px; display:block; text-align:center;
  white-space:pre-wrap; align-content:center; font-weight:700; line-height:1.2;
  background:#f49b01; color:#fff; border:2px solid #fff; border-radius:50%;
}
@media (max-width:767px){
  .entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item,
  .entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:first-child:nth-last-child(2),
  .entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:first-child:nth-last-child(2) ~ *,
  .entry-body .wp-block-funmaker-blocks-plans > .wp-block-funmaker-blocks-plans--item:only-child{ width:100%; }
  .entry-body .wp-block-funmaker-blocks-plans .grid-column-inner{ margin:0; }
  .entry-body .wp-block-funmaker-blocks-plans .plan-price{ font-size:24px; }
}



/* ============================================================
   v26 子テーマ導入にともなう調整（2026-08-28）
   ============================================================ */
/* 記事タイトルは上部のオレンジ帯（h1）に出るので、本文側の見出しは消す */
.single .entry-header .entry-title{ display:none; }
.single .entry-header{ margin-bottom:0; }


/* ============================================================
   v27 お問い合わせフォーム（Contact Form 7 ＋ 確認画面）
   ============================================================ */
.entry-body .contact-form-table{ margin:1.6em 0; }
.entry-body .contact-form-table .field-group-title{
  font-weight:700; font-size:16px; color:#333; margin:1.6em 0 .6em;
  padding-left:12px; position:relative;
}
.entry-body .contact-form-table .field-group-title::before{
  content:""; position:absolute; left:0; top:.25em; width:4px; height:1em;
  background:#f49b01; border-radius:2px;
}
.entry-body .contact-form-table .field-name{ font-weight:700; font-size:15px; margin:0 0 6px; }
.entry-body .contact-form-table .field{ margin-bottom:20px; }
.entry-body .wpcf7-form-control-wrap input[type=text],
.entry-body .wpcf7-form-control-wrap input[type=email],
.entry-body .wpcf7-form-control-wrap textarea{
  width:100%; box-sizing:border-box; padding:12px 14px; font-size:15px;
  border:1px solid #d9d9d9; border-radius:6px; background:#fff;
}
.entry-body .wpcf7-form-control-wrap textarea{ min-height:180px; line-height:1.8; }
.entry-body .wpcf7-form-control-wrap input:focus,
.entry-body .wpcf7-form-control-wrap textarea:focus{
  outline:none; border-color:#f49b01; box-shadow:0 0 0 3px rgba(244,155,1,.15);
}
.entry-body .submit-form{ text-align:center; margin-top:26px; }
.entry-body .submit-form input[type=submit]{
  min-width:240px; padding:14px 32px; font-size:16px; font-weight:700;
  color:#fff; background:linear-gradient(135deg,#f8b500,#f08300);
  border:none; border-radius:999px; cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.entry-body .submit-form input[type=submit]:hover{ opacity:.9; }

/* 確認画面 */
#wpcf7cpcnf table{ border:1px solid #e2e2e2; }
#wpcf7cpcnf th{ background:#fff7e8; color:#333; }
#wpcf7cpcnf th, #wpcf7cpcnf td{ border-bottom:1px solid #e2e2e2; }
.wpcf7cp-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.wpcf7cp-cfm-submit-btn,
.wpcf7cp-cfm-edit-btn{
  min-width:200px; padding:13px 28px; font-size:16px; font-weight:700;
  border-radius:999px; cursor:pointer; border:2px solid #f49b01;
}
.wpcf7cp-cfm-submit-btn{
  color:#fff; background:linear-gradient(135deg,#f8b500,#f08300); border-color:transparent;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.wpcf7cp-cfm-edit-btn{ color:#f49b01; background:#fff; }
@media (max-width:767px){
  .entry-body .submit-form input[type=submit],
  .wpcf7cp-cfm-submit-btn,
  .wpcf7cp-cfm-edit-btn{ min-width:0; width:100%; max-width:300px; }
}


/* ============================================================
   v28 記事下の関連記事カード（旧サイトの仕掛けを復元）
   ============================================================ */
.taichi-related{ margin:3em 0 1em; }
.taichi-related-title{
  font-weight:700; font-size:17px; color:#333; padding:0 0 8px; margin:0 0 14px;
  border-bottom:2px solid #f49b01;
}
.taichi-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.taichi-related-item{
  display:block; background:#fff; border-radius:10px; overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.10); text-decoration:none; transition:.15s;
}
.taichi-related-item:hover{ transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.16); }
.taichi-related-thumb img{ width:100%; height:120px; object-fit:cover; display:block; }
.taichi-related-name{
  display:block; padding:10px 12px 12px; color:#333; font-size:13.5px; font-weight:700; line-height:1.5;
}
@media (max-width:767px){
  .taichi-related-grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .taichi-related-thumb img{ height:90px; }
  .taichi-related-name{ font-size:12.5px; padding:8px 10px 10px; }
}


/* ============================================================
   v29 キャッチコピーとフッター（旧サイトの構造を移植）
   ============================================================ */
/* トップのh1キャッチコピー: ヘッダー上の細い1行 */
.taichi-catchcopy{ padding:6px 15px 0; }
.taichi-catchcopy h1{
  font-size:11px; font-weight:400; color:#777; margin:0; line-height:1.4; letter-spacing:.02em;
}
/* v30 スマホ: 左上固定の≡ボタン(34px)とキャッチコピーが重なるので左を空ける */
@media (max-width:767px){
  .taichi-catchcopy{ padding-left:48px; }
}
/* v30 記事一覧カード: 206行目の min-width:260px がグリッドの列幅(スマホ165px)を突き破るので打ち消す（トップ・記事内の両方） */
.entry-body .list-plain-wrapper .grid-row > .grid-column{ min-width:0; }

/* v30 スマホ固定バー: 絵文字をやめて旧サイトの白PNGアイコン(高さ32px)に戻す */
@media (max-width:767px){
  .taichi-mobile-bar a{ font-size:11px; padding:7px 2px 8px; line-height:1.3; }
  .taichi-mobile-bar .icon{ display:block; height:32px; margin:0 auto 4px; font-size:0; background:center/contain no-repeat; }
  .taichi-mobile-bar .icon img{ display:none !important; }
  .taichi-mobile-bar a:nth-child(1) .icon{ background-image:url(/wp-content/uploads/2026/08/phone-icon.png); }
  .taichi-mobile-bar a:nth-child(2) .icon{ background-image:url(/wp-content/uploads/2026/08/map-icon.png); }
  .taichi-mobile-bar a:nth-child(3) .icon{ background-image:url(/wp-content/uploads/2026/08/line-icon.png); }
  .taichi-mobile-bar a:nth-child(4) .icon{ background-image:url(/wp-content/uploads/2026/08/calendar-alt-solidwhite.png); }
}

/* スマホだけで効く改行（本文に <br class="taichi-sp"> と書く） */
.taichi-sp{ display:none; }
/* v30 ヒーロー: 旧サイトのスマホ表示（大24px・サブ太字）に戻してインパクトを出す。v21の4.2vw方式を上書き */
@media (max-width:767px){
  .hero-catch{ font-size:25px !important; line-height:1.5 !important; margin-bottom:14px; }
  .taichi-sp{ display:inline; }
  .taichi-mobile-bar a{ white-space:nowrap; font-size:10.5px; letter-spacing:-.02em; }
  .hero-sub{ font-size:15px !important; line-height:1.9 !important; }
  .hero-marker{ background:none; padding:0 2px; text-decoration:underline; text-decoration-color:rgba(244,155,1,.9); text-decoration-thickness:.9em; text-underline-offset:-.55em; text-decoration-skip-ink:none; }
}
/* フッターの店舗情報と診療時間表 */
.taichi-footer-info .tfi-name{ font-weight:700; font-size:16px; margin:0 0 6px; }
.taichi-footer-info .tfi-addr{ font-size:13.5px; line-height:1.7; margin:0 0 6px; }
.taichi-footer-info .tfi-tel a{ font-size:22px; font-weight:700; color:#ff9d00; text-decoration:none; }
.taichi-footer-info .tfi-sns{ display:flex; gap:10px; margin:12px 0 0; flex-wrap:wrap; }
.taichi-footer-info .tfi-sns a{
  display:inline-block; padding:6px 14px; border:1px solid #ccc; border-radius:999px;
  font-size:12.5px; color:inherit; text-decoration:none;
}
.taichi-footer-info .tfi-sns a:hover{ border-color:#f49b01; color:#f49b01; }
.taichi-footer-hours .tfh-title{ font-weight:700; font-size:15px; margin:0 0 8px; }
.taichi-footer-hours .tfh-table{ border-collapse:collapse; width:100%; background:transparent; }
.taichi-footer-hours .tfh-table th,
.taichi-footer-hours .tfh-table td{
  border:1px solid rgba(128,128,128,.45); padding:5px 6px; font-size:12px; text-align:center; min-width:0;
}
.taichi-footer-hours .tfh-table th{ background:rgba(244,155,1,.18); color:inherit; font-weight:700; }
.taichi-footer-hours .tfh-table th:first-child,
.taichi-footer-hours .tfh-table td:first-child{ white-space:nowrap; }
.taichi-footer-hours .tfh-note{ font-size:11.5px; margin:6px 0 0; opacity:.85; }

/* ===== v31 一覧カード（お悩み別・コース・コラム・事例）スマホ調整 ===== */
@media (max-width:767px){
  .post-list .vk_post{ align-items:stretch; }
  .post-list .vk_post .vk_post_imgOuter{ flex:0 0 auto; width:100%; }
  .post-list .vk_post .vk_post_body{ width:100%; padding-bottom:0; }
  .post-list .vk_post .vk_post_excerpt{ width:100%; text-wrap:pretty; }
}

/* v31 画面には出さず、読み上げと構造化データにだけ渡す文字 */
.taichi-vh{ position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* ===== v32 スマホの細部（2026-09-16 ユーザーOK） ===== */
@media (max-width:767px){
  /* 見出しを画面幅に合わせ、360px端末で言葉の途中で折れないように */
  .entry-body h2 .maintext{ font-size:clamp(16px,5vw,21px) !important; }
  .entry-body h3 .maintext{ font-size:clamp(14px,4.5vw,18px) !important; }
  /* トップ「コラム新着記事」のカテゴリバッジ 11px→12px */
  .entry-body .list-plain-wrapper a.tagname{ font-size:12px !important; }
  /* トップの大見出し: 360pxで「あり／ます。」と4行に折れていた */
  .hero-catch{ font-size:min(25px,6.6vw) !important; }
}

/* ===== v33 見出しの改行（2026-09-17 ユーザーOK） =====
   text-wrap:balance（464行目）だと1行目を早く折り返して右に空きができ、
   「お越／しの」のように語の途中でも切れていた。トップ以外は、1行目を使い切って
   文節の切れ目で折り返す（auto-phrase は Android Chrome 等。Safari は通常の折り返し） */
body:not(.home) .entry-body h2,
body:not(.home) .entry-body h3,
body:not(.home) .entry-body h2 .maintext,
body:not(.home) .entry-body h3 .maintext,
body:not(.home) .entry-body h2 .subtext,
body:not(.home) .entry-body h3 .subtext{ text-wrap:wrap !important; word-break:auto-phrase; }

/* ===== v34 フッター（パソコン・タブレット）2026-09-17 ユーザーOK =====
   1列目(#block-2)はスマホ予約バーを移動するスクリプトだけで、PCでは空の列になり
   院情報と診療時間が右に寄っていた。空列を隠し、同じ幅の2列を中央に並べる */
@media (min-width:768px){
  .site-footer-content .row{ justify-content:center; column-gap:40px; row-gap:28px; }
  .site-footer-content .row > div:has(#block-2){ display:none; }
  .site-footer-content .row > div{ flex:0 0 440px; width:440px; max-width:100%; }
}
