@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
*/


/* ==========================
 つぼき鍼灸整骨院 子テーマ 補完スタイル
==========================
 【事前にカスタマイザーで設定する値】
   外観 → カスタマイズ → サイト全体設定 → 基本カラー
     メインカラー      : #2C3E50
     テキストカラー    : #333333
     リンクカラー      : #2C3E50
   外観 → カスタマイズ → サイト全体設定 → 背景色
     背景色            : #FAF8F3

 【パレット定義（メモ）】
   生成り（背景） #FAF8F3 / 藍紺（メイン）#2C3E50 / 藍紺淡 #34495E
   銅（アクセント）#B5734F / 文字 #333333
==========================
*/

/* -----------------------
 0. アクセント色（銅）を変数化して使い回す
   ※ --color_main 等のSWELL本体変数は上書きしない（派生色が崩れるため）
------------------------- */
:root {
  --tsuboki-accent: #B5734F;       /* 銅・テラコッタ */
  --tsuboki-accent-dark: #9C5E3D;  /* 銅の濃いめ（ホバー用） */
  --tsuboki-navy: #2C3E50;         /* 藍紺（メインと同値） */
  --tsuboki-navy-soft: #34495E;    /* 藍紺・淡 */
  --tsuboki-cream: #FAF8F3;        /* 生成り */
}

/* -----------------------
 1. ヘッダー：藍紺背景 × 生成り文字
   （カスタマイザーのヘッダー色設定の代わり／確実にCSSで固定）
------------------------- */
.l-header,
.l-header__inner {
  background-color: var(--tsuboki-navy);
}
.l-header .l-header__title a,
.l-header .c-siteTitle a,
.l-header .p-gnav__item > a,
.l-header .c-gnavInner a {
  color: var(--tsuboki-cream);
}
/* グローバルナビのホバー時に銅でほんのり */
.l-header .p-gnav__item > a:hover {
  color: var(--tsuboki-accent);
}

/* -----------------------
 2. アクセントボタン（予約CTAなど）
   SWELLボタン .is-style-btn_* や .c-btn を銅色に
------------------------- */
.wp-block-button.is-style-btn_solid .wp-block-button__link,
.c-btn.-cv,
a.c-btn.-accent {
  background-color: var(--tsuboki-accent);
  border-color: var(--tsuboki-accent);
  color: #ffffff;
}
.wp-block-button.is-style-btn_solid .wp-block-button__link:hover,
.c-btn.-cv:hover,
a.c-btn.-accent:hover {
  background-color: var(--tsuboki-accent-dark);
  border-color: var(--tsuboki-accent-dark);
}

/* ヘッダー右上などの予約ボタン（SWELLの「CTAボタン」）を銅に */
.l-header .c-headBtn__item.-cv a,
.p-headerCta a {
  background-color: var(--tsuboki-accent);
  border-color: var(--tsuboki-accent);
  color: #ffffff;
}
.l-header .c-headBtn__item.-cv a:hover,
.p-headerCta a:hover {
  background-color: var(--tsuboki-accent-dark);
}

/* -----------------------
 3. 見出し（H2/H3）の文字色
   SWELLはH2背景がメインカラー（藍紺）になり文字は白。
   H3/H4の文字色を藍紺に寄せて統一感を出す。
------------------------- */
.post_content h2 {
  color: #ffffff; /* 藍紺背景の上の白文字（SWEL標準） */
}
.post_content h3 {
  color: var(--tsuboki-navy);
  border-bottom-color: var(--tsuboki-accent); /* 下線を銅でアクセント */
}
.post_content h4 {
  color: var(--tsuboki-navy-soft);
  border-left-color: var(--tsuboki-accent); /* 左線を銅で */
}

/* -----------------------
 4. リンクのホバー・本文中アクセント
------------------------- */
.post_content a {
  text-decoration-color: var(--tsuboki-accent);
}
.post_content a:hover {
  color: var(--tsuboki-accent-dark);
}

/* -----------------------
 5. キャプションボックス等のあしらいを銅に寄せる（任意）
------------------------- */
.cap_box {
  --capbox-color: var(--tsuboki-accent);
}

/* -----------------------
 6. フッター：藍紺背景 × 生成り文字（ヘッダーと対）
------------------------- */
.l-footer {
  background-color: var(--tsuboki-navy);
  color: var(--tsuboki-cream);
}
.l-footer a {
  color: var(--tsuboki-cream);
}
.l-footer a:hover {
  color: var(--tsuboki-accent);
}

/* -----------------------
 7. 見出しを明朝にしたい場合（任意・コメントアウトで提供）
   有効化したい場合は下のブロックのコメントを外す。
-------------------------- */
/*
.post_content h2,
.post_content h3,
.l-header .c-siteTitle,
.p-mainVisual__title {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
}
*/



/* ====== つぼき トップ：当院の3つの特徴（FEATURE） ====== */
.tsuboki-feature{
  background:#FAF8F3;
  padding:64px 5vw 72px;
}
.tsuboki-feature__head{
  text-align:center;
  margin-bottom:44px;
}
.tsuboki-feature__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
/* 見出し：グローバルh2の藍紺バー等が乗っても打ち消す */
.tsuboki-feature__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
/* SWELLがH2に付ける上マージン（約89px）を打ち消す。
   単一クラスでは詳細度が足りないため親クラスを足して上書き（!important不要） */
.tsuboki-feature__head .tsuboki-feature__ttl{
  margin-top:0;
}
.tsuboki-feature__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-feature__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1040px;
  margin:0 auto;
}
.tsuboki-feature__card{
  background:#fff;
  border:1px solid #ece6da;
  border-radius:10px;
  padding:40px 26px 32px;
  text-align:center;
  box-shadow:0 6px 20px rgba(44,62,80,.05);
}
.tsuboki-feature__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  margin-bottom:12px;
  border-radius:50%;
  background:#f5ede2;
  color:#B5734F;
}
.tsuboki-feature__icon svg{ width:30px; height:30px; }
/* カード見出し：下線を銅で（サイト共通のH3/H4ルールに合わせる） */
.tsuboki-feature__cardttl{
  display:inline-block;
  margin:0 auto 16px;
  padding-bottom:12px;
  border-bottom:2px solid #B5734F;
  font-size:1.18rem;
  color:#2C3E50;
}
/* SWELLがH3に付ける上マージン（約62px）を打ち消す。
   H2同様、単一クラスでは詳細度が足りないため親クラスを足して上書き */
.tsuboki-feature__card .tsuboki-feature__cardttl{
  margin-top:0;
}
.tsuboki-feature__txt{
  margin:0;
  font-size:.95rem;
  line-height:1.9;
  color:#333;
  text-align:left;
}
.tsuboki-feature__more{
  text-align:center;
  margin-top:40px;
}

/* 銅のCTAボタン（トップ各所で使い回す想定の共通ユーティリティ） */
.tsuboki-btn{
  display:inline-block;
  padding:14px 38px;
  border-radius:6px;
  background:#B5734F;
  color:#fff;
  font-size:1rem;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.tsuboki-btn:hover{
  background:#9C5F3D;
  transform:translateY(-1px);
  color:#fff !important;
}

/* スマホ */
@media (max-width:768px){
  .tsuboki-feature{ padding:48px 6vw 56px; }
  .tsuboki-feature__head{ margin-bottom:32px; }
  .tsuboki-feature__ttl{ font-size:1.4rem; }
  .tsuboki-feature__grid{
    grid-template-columns:1fr;
    gap:18px;
    max-width:420px;
  }
  .tsuboki-feature__card{ padding:34px 24px 28px; }
}

/* ====== つぼき トップ：お悩み・症状から探す（SYMPTOMS） ====== */
.tsuboki-symptom{
  background:#fff;
  padding:64px 5vw 72px;
}
.tsuboki-symptom__head{
  text-align:center;
  margin-bottom:40px;
}
.tsuboki-symptom__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
.tsuboki-symptom__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
.tsuboki-symptom__head .tsuboki-symptom__ttl{
  margin-top:0;
}
.tsuboki-symptom__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-symptom__lead{
  margin:18px auto 0;
  max-width:640px;
  font-size:.98rem;
  line-height:1.9;
  color:#333;
}
.tsuboki-symptom__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:1040px;
  margin:0 auto;
}
.tsuboki-symptom__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:#fff;
  border:1px solid #ece6da;
  border-radius:10px;
  padding:30px 18px 24px;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(44,62,80,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tsuboki-symptom__card:hover{
  transform:translateY(-3px);
  border-color:#B5734F;
  box-shadow:0 12px 28px rgba(44,62,80,.10);
}
.tsuboki-symptom__name{
  font-size:1.15rem;
  font-weight:700;
  color:#2C3E50;
  margin-bottom:8px;
}
.tsuboki-symptom__desc{
  font-size:.85rem;
  line-height:1.7;
  color:#555;
}
.tsuboki-symptom__arrow{
  margin-top:14px;
  font-size:.82rem;
  font-weight:600;
  color:#B5734F;
}
@media (max-width:900px){
  .tsuboki-symptom__grid{ grid-template-columns:repeat(2,1fr); gap:16px; max-width:560px; }
}
@media (max-width:768px){
  .tsuboki-symptom{ padding:48px 6vw 56px; }
  .tsuboki-symptom__head{ margin-bottom:30px; }
  .tsuboki-symptom__ttl{ font-size:1.4rem; }
  .tsuboki-symptom__card{ padding:24px 12px 20px; }
  .tsuboki-symptom__name{ font-size:1rem; }
}


/* ====== つぼき トップ：院長紹介（DIRECTOR） ====== */
.tsuboki-doctor{
  background:#FAF8F3;
  padding:64px 5vw 72px;
}
.tsuboki-doctor__head{
  text-align:center;
  margin-bottom:40px;
}
.tsuboki-doctor__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
.tsuboki-doctor__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
.tsuboki-doctor__head .tsuboki-doctor__ttl{
  margin-top:0;
}
.tsuboki-doctor__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-doctor__inner{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:48px;
  max-width:1040px;
  margin:0 auto;
  align-items:center;
}
.tsuboki-doctor__photo{
  aspect-ratio:4/5;
  border-radius:10px;
  background:#efe8da;
  border:1px solid #e3dccd;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#b0a489;
}
.tsuboki-doctor__photo svg{ width:54px; height:54px; }
.tsuboki-doctor__photo span{ font-size:.85rem; letter-spacing:.08em; }
.tsuboki-doctor__name{
  margin:0 0 4px;
  font-size:1.3rem;
  font-weight:700;
  color:#2C3E50;
}
.tsuboki-doctor__role{
  margin:0 0 18px;
  font-size:.9rem;
  font-weight:600;
  color:#B5734F;
}
.tsuboki-doctor__txt{
  margin:0 0 28px;
  font-size:.97rem;
  line-height:2;
  color:#333;
}
@media (max-width:768px){
  .tsuboki-doctor{ padding:48px 6vw 56px; }
  .tsuboki-doctor__head{ margin-bottom:30px; }
  .tsuboki-doctor__ttl{ font-size:1.4rem; }
  .tsuboki-doctor__inner{ grid-template-columns:1fr; gap:28px; max-width:480px; }
  .tsuboki-doctor__photo{ width:100%; max-width:300px; margin:0 auto; }
}


/* ====== つぼき トップ：患者さまの声（VOICE） ====== */
.tsuboki-voice{
  background:#fff;
  padding:64px 5vw 72px;
}
.tsuboki-voice__head{
  text-align:center;
  margin-bottom:40px;
}
.tsuboki-voice__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
.tsuboki-voice__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
.tsuboki-voice__head .tsuboki-voice__ttl{
  margin-top:0;
}
.tsuboki-voice__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-voice__lead{
  margin:18px auto 0;
  max-width:640px;
  font-size:.98rem;
  line-height:1.9;
  color:#333;
}
.tsuboki-voice__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:1040px;
  margin:0 auto;
}
.tsuboki-voice__card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #ece6da;
  border-radius:10px;
  padding:26px 24px 22px;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(44,62,80,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tsuboki-voice__card:hover{
  transform:translateY(-3px);
  border-color:#B5734F;
  box-shadow:0 12px 28px rgba(44,62,80,.10);
}
.tsuboki-voice__mark{
  font-family:Georgia, "Times New Roman", serif;
  font-size:2.6rem;
  line-height:.8;
  color:#e3cdb9;
  margin-bottom:8px;
}
.tsuboki-voice__title{
  font-size:1rem;
  font-weight:700;
  line-height:1.7;
  color:#2C3E50;
  margin-bottom:12px;
}
.tsuboki-voice__meta{
  font-size:.8rem;
  color:#999;
  margin-bottom:16px;
}
.tsuboki-voice__arrow{
  margin-top:auto;
  font-size:.82rem;
  font-weight:600;
  color:#B5734F;
}
.tsuboki-voice__note{
  max-width:1040px;
  margin:26px auto 0;
  font-size:.78rem;
  line-height:1.7;
  color:#999;
  text-align:center;
}
.tsuboki-voice__more{
  text-align:center;
  margin-top:34px;
}
@media (max-width:900px){
  .tsuboki-voice__grid{ grid-template-columns:1fr; gap:16px; max-width:560px; }
}
@media (max-width:768px){
  .tsuboki-voice{ padding:48px 6vw 56px; }
  .tsuboki-voice__head{ margin-bottom:30px; }
  .tsuboki-voice__ttl{ font-size:1.4rem; }
}


/* ====== つぼき トップ：ブログ最新記事（BLOG） ====== */
.tsuboki-blog{
  background:#fff;             /* S5（患者さまの声）撤去に伴い白へ 2026-09-18。生成りのS4と交互 */
  padding:64px 5vw 72px;
}
.tsuboki-blog__head{
  text-align:center;
  margin-bottom:40px;
}
.tsuboki-blog__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
.tsuboki-blog__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
.tsuboki-blog__head .tsuboki-blog__ttl{
  margin-top:0;
}
.tsuboki-blog__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-blog__lead{
  margin:18px auto 0;
  max-width:640px;
  font-size:.98rem;
  line-height:1.9;
  color:#333;
}
.tsuboki-blog__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:1040px;
  margin:0 auto;
}
.tsuboki-blog__card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #ece6da;
  border-radius:10px;
  padding:24px 22px 20px;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(44,62,80,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tsuboki-blog__card:hover{
  transform:translateY(-3px);
  border-color:#B5734F;
  box-shadow:0 12px 28px rgba(44,62,80,.10);
}
.tsuboki-blog__cat{
  align-self:flex-start;
  font-size:.72rem;
  font-weight:600;
  color:#B5734F;
  background:#f5ede2;
  border-radius:4px;
  padding:3px 10px;
  margin-bottom:12px;
}
.tsuboki-blog__title{
  font-size:.98rem;
  font-weight:700;
  line-height:1.7;
  color:#2C3E50;
  margin-bottom:14px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tsuboki-blog__foot{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding-top:12px;
  border-top:1px solid #f0ece3;
}
.tsuboki-blog__date{
  font-size:.78rem;
  color:#999;
}
.tsuboki-blog__arrow{
  font-size:.78rem;
  font-weight:600;
  color:#B5734F;
  white-space:nowrap;
}
.tsuboki-blog__more{
  text-align:center;
  margin-top:38px;
}
@media (max-width:900px){
  .tsuboki-blog__grid{ grid-template-columns:repeat(2,1fr); gap:16px; max-width:640px; }
}
@media (max-width:600px){
  .tsuboki-blog{ padding:48px 6vw 56px; }
  .tsuboki-blog__head{ margin-bottom:30px; }
  .tsuboki-blog__ttl{ font-size:1.4rem; }
  .tsuboki-blog__grid{ grid-template-columns:1fr; max-width:420px; }
}


/* ====== つぼき トップ：アクセス・ご予約（ACCESS） ====== */
.tsuboki-access{
  background:#FAF8F3;       /* S5撤去に伴い生成りへ 2026-09-18。白のS6と交互 */
  padding:64px 5vw 72px;
}
.tsuboki-access__head{
  text-align:center;
  margin-bottom:40px;
}
.tsuboki-access__en{
  display:block;
  font-size:.8rem;
  letter-spacing:.28em;
  font-weight:600;
  color:#B5734F;
  margin-bottom:6px;
}
.tsuboki-access__ttl{
  display:inline-block;
  position:relative;
  margin:0;
  padding:14px 32px;
  background:#2C3E50;
  border-radius:4px;
  font-size:1.6rem;
  line-height:1.4;
  color:#fff;
}
.tsuboki-access__head .tsuboki-access__ttl{
  margin-top:0;
}
.tsuboki-access__ttl::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:46px;
  height:2px;
  background:#B5734F;
}
.tsuboki-access__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:1040px;
  margin:0 auto;
  align-items:stretch;
}
.tsuboki-access__list{ margin:0; }
.tsuboki-access__row{
  display:flex;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid #f0ece3;
}
.tsuboki-access__row:first-child{ padding-top:0; }
.tsuboki-access__row dt{
  flex:0 0 84px;
  font-size:.85rem;
  font-weight:700;
  color:#B5734F;
  padding-top:2px;
}
.tsuboki-access__row dd{
  margin:0;
  font-size:.95rem;
  line-height:1.7;
  color:#333;
}
.tsuboki-access__row dd a{
  color:#2C3E50;
  font-weight:700;
  text-decoration:none;
}
.tsuboki-access__map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:320px;
  border:0;
  border-radius:10px;
}
.tsuboki-access__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:36px;
  flex-wrap:wrap;
  max-width:1040px;
  margin:44px auto 0;
  padding:32px 28px;
  background:#fff;
  border:1px solid #ece6da;
  border-radius:12px;
}
.tsuboki-access__cta-lead{
  margin:0 0 18px;
  font-size:1rem;
  font-weight:600;
  color:#2C3E50;
  text-align:center;
}
.tsuboki-access__buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
.tsuboki-btn--tel{
  background:#fff;
  color:#B5734F;
  border:2px solid #B5734F;
  padding:12px 30px;
}
.tsuboki-btn--tel:hover{
  background:#B5734F;
  color:#fff !important;
}
.tsuboki-access__qr{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.tsuboki-access__qr img{
  display:block;
  width:118px;
  height:118px;
  border:1px solid #ece6da;
  border-radius:8px;
  background:#fff;
}
.tsuboki-access__qr span{
  font-size:.75rem;
  color:#888;
}
@media (max-width:768px){
  .tsuboki-access{ padding:48px 6vw 56px; }
  .tsuboki-access__head{ margin-bottom:30px; }
  .tsuboki-access__ttl{ font-size:1.4rem; }
  .tsuboki-access__inner{ grid-template-columns:1fr; gap:24px; max-width:480px; }
  .tsuboki-access__map iframe{ min-height:260px; }
  .tsuboki-access__cta{ flex-direction:column; gap:24px; padding:28px 20px; }
}


/* ====== つぼき 症状ページ 共通スタイル（tsuboki-page） ====== */
.tsuboki-page{
  color:#333;
  font-size:1rem;
  line-height:1.9;
}
.tsuboki-page-lead{
  margin:0 0 40px;
  padding:20px 24px;
  background:#FAF8F3;
  border-left:4px solid #B5734F;
  border-radius:0 8px 8px 0;
  font-size:1.05rem;
  line-height:2;
  color:#2C3E50;
}
.tsuboki-page__sec{ margin:0 0 40px; }
.tsuboki-page .tsuboki-page__h2{
  margin:0 0 18px;
  padding:2px 0 2px 14px;
  border-left:5px solid #B5734F;
  background:transparent;
  font-size:1.28rem;
  line-height:1.5;
  color:#2C3E50;
  font-weight:700;
}
.tsuboki-page__sec p{ margin:0 0 1em; }
.tsuboki-page__list{ list-style:none; margin:0; padding:0; }
.tsuboki-page__list li{
  position:relative;
  padding:10px 0 10px 28px;
  border-bottom:1px solid #f0ece3;
  line-height:1.7;
}
.tsuboki-page__list li::before{
  content:"";
  position:absolute;
  left:4px;
  top:16px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#B5734F;
}
.tsuboki-page__box{
  padding:28px 26px;
  background:#FAF8F3;
  border:1px solid #ece6da;
  border-radius:10px;
}
.tsuboki-page__box .tsuboki-page__h2{ border-left:none; padding-left:0; text-align:left; }
.tsuboki-page__flow{ margin:0; padding:0; list-style:none; counter-reset:flow; }
.tsuboki-page__flow > li{ position:relative; padding:6px 0 16px 44px; line-height:1.8; }
.tsuboki-page__flow > li::before{
  counter-increment:flow;
  content:counter(flow);
  position:absolute;
  left:0;
  top:4px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#2C3E50;
  color:#fff;
  font-size:.9rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tsuboki-page__flow ul{ margin:8px 0 0; padding-left:1.1em; font-size:.94rem; color:#555; }
.tsuboki-page__blogtag{ margin:0 0 36px; text-align:center; }
.tsuboki-page__blogtag a{
  display:inline-block;
  padding:10px 22px;
  border:1px solid #B5734F;
  border-radius:6px;
  color:#B5734F;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.tsuboki-page__blogtag a:hover{ background:#B5734F; color:#fff !important; }
.tsuboki-page__cta{
  margin:0 0 22px;
  padding:32px 24px;
  background:#2C3E50;
  border-radius:12px;
  text-align:center;
}
.tsuboki-page__cta-lead{ margin:0 0 18px; color:#fff; font-size:1.05rem; font-weight:600; }
.tsuboki-page__cta .tsuboki-btn{ margin:6px; }
.tsuboki-page__cta .tsuboki-btn--tel{ background:transparent; color:#fff; border:2px solid #fff; }
.tsuboki-page__cta .tsuboki-btn--tel:hover{ background:#fff; color:#2C3E50 !important; }
.tsuboki-page__credit{ margin:0 0 40px; text-align:right; font-size:.82rem; color:#888; }
.tsuboki-page-faq-ttl{
  margin:8px 0 18px;
  padding:2px 0 2px 14px;
  border-left:5px solid #B5734F;
  font-size:1.28rem;
  font-weight:700;
  color:#2C3E50;
}
@media (max-width:768px){
  .tsuboki-page-lead{ padding:16px 18px; font-size:1rem; }
  .tsuboki-page .tsuboki-page__h2{ font-size:1.18rem; }
  .tsuboki-page__box{ padding:22px 18px; }
  .tsuboki-page__cta{ padding:26px 18px; }
}


/* 症状ページ FAQ（SWELL FAQブロックを tsuboki-faq で装飾・開いたまま表示） */
.tsuboki-faq{
  margin:0 0 40px;
  padding:6px 26px;
  background:#FAF8F3;
  border:1px solid #ece6da;
  border-radius:10px;
}
.tsuboki-faq .swell-block-faq__item{
  padding:22px 0;
  border-bottom:1px solid #ece6da;
}
.tsuboki-faq .swell-block-faq__item:last-child{ border-bottom:none; }
.tsuboki-faq .faq_q{
  position:relative;
  margin:0 0 12px;
  padding-left:42px;
  font-weight:700;
  color:#2C3E50;
  line-height:1.6;
}
.tsuboki-faq .faq_q::before{
  content:"Q";
  position:absolute;
  left:0;
  top:14px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#B5734F;
  color:#fff;
  font-size:.85rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tsuboki-faq .faq_a{
  position:relative;
  margin:0;
  padding-left:42px;
}
.tsuboki-faq .faq_a::before{
  content:"A";
  position:absolute;
  left:0;
  top:14px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e7e2d8;
  color:#8a8372;
  font-size:.85rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tsuboki-faq .faq_a__inner{
  color:#333;
  line-height:2;
  font-size:.97rem;
}


/* 院長プロフィール カード（profileページ tsuboki-prof-card） */
.tsuboki-prof-card{
  display:flex;
  gap:26px;
  align-items:center;
  margin:0 0 40px;
  padding:24px 26px;
  background:#FAF8F3;
  border:1px solid #ece6da;
  border-radius:12px;
}
.tsuboki-prof-card__photo{
  flex:0 0 140px;
  width:140px;
  height:180px;
  border-radius:8px;
  background:#eee7db;
  overflow:hidden;
}
.tsuboki-prof-card__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tsuboki-prof-card__body{ flex:1 1 auto; }
.tsuboki-prof-card__name{
  margin:0 0 10px;
  font-size:1.15rem;
  font-weight:700;
  color:#2C3E50;
}
.tsuboki-prof-card__name span{ font-size:.85rem; color:#666; font-weight:500; }
.tsuboki-prof-card__badges{
  display:inline-block;
  margin:0 0 10px;
  padding:6px 14px;
  background:#2C3E50;
  color:#fff;
  border-radius:6px;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.02em;
}
.tsuboki-prof-card__meta{ margin:0; color:#555; font-size:.95rem; }
@media (max-width:768px){
  .tsuboki-prof-card{ flex-direction:column; text-align:center; padding:22px 18px; }
  .tsuboki-prof-card__photo{ flex-basis:auto; }
}


/* ===== 料金ページ（priceページ tsuboki-price-* / tsuboki-pay） ===== */
.tsuboki-price-cards{ display:flex; gap:20px; margin:0 0 20px; }
.tsuboki-price-card{ flex:1 1 0; display:flex; flex-direction:column; background:#fff; border:1px solid #ece6da; border-radius:12px; overflow:hidden; }
.tsuboki-price-card__label{ margin:0; padding:14px 18px; background:#2C3E50; color:#fff; font-weight:700; font-size:1.05rem; text-align:center; }
.tsuboki-price-card__label span{ display:block; margin-top:3px; font-size:.68rem; letter-spacing:.14em; color:#b8c4d0; font-weight:500; }
.tsuboki-price-card__breakdown{ list-style:none; margin:0; padding:20px 22px 6px; }
.tsuboki-price-card__breakdown li{ display:flex; justify-content:space-between; align-items:baseline; padding:9px 0; border-bottom:1px dashed #e6ded0; color:#555; }
.tsuboki-price-card__breakdown li span{ font-weight:600; color:#2C3E50; }
.tsuboki-price-card__sub{ margin:0; padding:22px 22px 0; text-align:center; color:#888; font-size:.92rem; }
.tsuboki-price-card__total{ margin:auto 0 0; padding:16px 22px 24px; text-align:center; }
.tsuboki-price-card__total-label{ display:inline-block; margin-right:8px; font-size:.95rem; color:#555; font-weight:600; vertical-align:middle; }
.tsuboki-price-card__amount{ font-size:2.7rem; font-weight:800; color:#B5734F; line-height:1; letter-spacing:.01em; vertical-align:middle; }
.tsuboki-price-card__yen{ font-size:1.15rem; font-weight:700; margin-left:2px; }
.tsuboki-price-card__tax{ display:block; margin-top:8px; font-size:.8rem; color:#999; }
.tsuboki-price-note{ margin:0 0 40px; padding:14px 18px; background:#FAF8F3; border-left:4px solid #B5734F; border-radius:0 8px 8px 0; font-size:.92rem; color:#444; line-height:1.8; }
.tsuboki-pay{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 8px; }
.tsuboki-pay__chip{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; min-width:120px; padding:14px 18px; background:#FAF8F3; border:1px solid #ece6da; border-radius:10px; font-weight:700; color:#2C3E50; text-align:center; }
.tsuboki-pay__chip small{ margin-top:4px; font-size:.7rem; font-weight:500; color:#999; letter-spacing:.02em; }
.tsuboki-page__cta .tsuboki-btn--line{ background:#06C755; color:#fff; border:2px solid #06C755; }
.tsuboki-page__cta .tsuboki-btn--line:hover{ background:#05b34c; border-color:#05b34c; color:#fff !important; }
@media (max-width:768px){
  .tsuboki-price-cards{ flex-direction:column; gap:16px; }
  .tsuboki-pay__chip{ flex:1 1 40%; min-width:0; }
}


/* ===== LINE導線 ===== */
.tsuboki-btn--line{ background:#06C755; color:#fff; border:2px solid #06C755; }
.tsuboki-btn--line:hover{ background:#05b34c; border-color:#05b34c; color:#fff !important; }
.tsuboki-footer-cta{ background:#2C3E50; padding:20px; }
.tsuboki-footer-cta__inner{ max-width:920px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; }
.tsuboki-footer-cta__lead{ margin:0; color:#fff; font-weight:700; font-size:1.02rem; }
.tsuboki-footer-cta__buttons{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.tsuboki-footer-cta .tsuboki-btn{ margin:0; }
.tsuboki-footer-cta .tsuboki-btn--tel{ background:transparent; color:#fff; border:2px solid #fff; }
.tsuboki-footer-cta .tsuboki-btn--tel:hover{ background:#fff; color:#2C3E50 !important; }
@media (max-width:768px){
  .tsuboki-footer-cta__buttons{ flex-direction:column; align-items:stretch; }
}


/* ===== スマホ固定CTAバー（≤768pxのみ／wp_footer=</body>直前に出力／最前面） ===== */
.tsuboki-fixedbar{ display:none; }
@media (max-width:768px){
  .tsuboki-fixedbar{
    display:flex;
    position:fixed; left:0; right:0; bottom:0;
    z-index:9999;
    height:calc(56px + env(safe-area-inset-bottom, 0px));
    padding-bottom:env(safe-area-inset-bottom, 0px);
    box-sizing:border-box;
    box-shadow:0 -2px 10px rgba(0,0,0,.18);
  }
  .tsuboki-fixedbar__btn{
    flex:1 1 50%;
    display:flex; align-items:center; justify-content:center;
    height:56px;
    color:#fff; font-weight:700; font-size:1.02rem; text-decoration:none; letter-spacing:.03em;
  }
  .tsuboki-fixedbar__btn--line{ background:#06C755; }
  .tsuboki-fixedbar__btn--line:active{ background:#05b34c; }
  .tsuboki-fixedbar__btn--yoyaku{ background:#B5734F; }
  .tsuboki-fixedbar__btn--yoyaku:active{ background:#9C5F3D; }
  /* 固定バーぶんの下部余白（最下部CTA・コピーライトと重ならない） */
  body{ padding-bottom:calc(56px + env(safe-area-inset-bottom, 0px)); }
}


/* スマホ固定CTAバーと SWELLページトップボタンの重なり回避（≤768px：ボタンをバー上へ） */
@media (max-width:768px){
  .p-fixBtnWrap{ bottom:68px !important; }
}


/* ===== 院情報フッター（SWELL標準 .l-footer を非表示にして生成りフッターを表示） ===== */
.l-footer{ display:none !important; }
.tsuboki-sitefooter{
  background:#FAF8F3;
  border-top:2px solid #B5734F;
  color:#333;
  padding:40px 20px 26px;
  font-size:.92rem;
  line-height:1.9;
}
.tsuboki-sitefooter__inner{
  max-width:1080px; margin:0 auto;
  display:grid; grid-template-columns:1.3fr 1.3fr 1fr; gap:32px;
}
.tsuboki-sitefooter__name{ margin:0 0 10px; font-size:1.15rem; font-weight:700; color:#2C3E50; }
.tsuboki-sitefooter__addr{ margin:0 0 8px; }
.tsuboki-sitefooter__tel{ margin:0; font-weight:700; }
.tsuboki-sitefooter__tel a{ color:#333; text-decoration:none; }
.tsuboki-sitefooter__info{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:4px 14px; }
.tsuboki-sitefooter__info dt{ font-weight:700; color:#2C3E50; white-space:nowrap; }
.tsuboki-sitefooter__info dd{ margin:0; }
.tsuboki-sitefooter__nav{ display:flex; flex-direction:column; gap:9px; }
.tsuboki-sitefooter__nav a{ color:#333; text-decoration:none; }
.tsuboki-sitefooter__nav a:hover{ color:#B5734F; }
.tsuboki-sitefooter__copy{ max-width:1080px; margin:26px auto 0; padding-top:16px; border-top:1px solid #ece6da; text-align:center; font-size:.8rem; color:#999; }
@media (max-width:768px){
  .tsuboki-sitefooter__inner{ grid-template-columns:1fr; gap:24px; }
}


/* トップS4 院長写真：仮枠に実画像を敷き込む（顔中心・object-fit cover） */
.tsuboki-doctor__photo{ overflow:hidden; padding:0; }
.tsuboki-doctor__photo img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }


/* ===== トップ S1 ファーストビュー（v3-A：横並び分割・生成り地 / 2026-07-28 確定） =====
   正本スニペット：tsuboki_FV_v3A_実装スニペット_20260728.md
   左＝文字（生成り地）／右＝写真（箱に収める）。旧の background-image・::before グラデは削除（v3では未使用）
   ⚠️ 画像は現状フルURL（test）。公開前にルート相対へ戻す（公開前チェックリスト該当） */
.tsuboki-fv{
  display:grid;grid-template-columns:44% 56%;
  min-height:460px;overflow:hidden;
  /* 案3（抜け感）：下辺に左濃→右淡の銅グラデ帯4px。次セクションとの境目にメリハリを付ける */
  border-bottom:4px solid transparent;
  border-image:linear-gradient(to right,#B5734F,rgba(181,115,79,.1)) 1;
}
.tsuboki-fv-txt{
  display:flex;flex-direction:column;justify-content:center;
  background:#FAF8F3;padding:48px 5%;
}
.tsuboki-fv-title{
  font-size:clamp(24px,3vw,32px);font-weight:900;color:#2C3E50;line-height:1.5;
}
/* SWELL共通H2（.post_content h2＝白文字/1.4rem/太さ700/大きな下マージン）に勝つよう親クラスで特異性を上げる */
.tsuboki-fv .tsuboki-fv-title{
  color:#2C3E50;
  font-size:clamp(24px,3vw,32px);
  font-weight:900;
  line-height:1.5;
  margin:0;
  padding:0;
  background:transparent;
}
.tsuboki-fv-sub{
  font-size:14.5px;color:#4a4640;margin-top:16px;line-height:1.9;
}
.tsuboki-fv-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tsuboki-fv-badges span{
  font-size:12px;color:#2C3E50;border:1px solid rgba(44,62,80,.35);
  border-radius:20px;padding:5px 14px;white-space:nowrap;
}
.tsuboki-fv-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* .tsuboki-btn は既存継承（hoverで白文字固定を維持） */
.tsuboki-btn-yoyaku{background:#B5734F}
.tsuboki-btn-yoyaku:hover{background:#9C5F3D;color:#fff}
.tsuboki-btn-line{background:#06C755}
.tsuboki-btn-line:hover{background:#05a648;color:#fff}

.tsuboki-fv-photo{position:relative}   /* 案3：銅の縦シームは削除（区切りはFV下の銅グラデ帯に集約） */
.tsuboki-fv-photo img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;  /* 二人が収まるよう実機で微調整可 */
}

/* 中間幅（769〜1100px）：文字列が窮屈でCTAが折り返すため 48%/52% に広げる（スニペット§3の調整） */
@media (min-width:769px) and (max-width:1100px){
  .tsuboki-fv{grid-template-columns:48% 52%}
}

/* ===== スマホ（≤768px）：写真 上／文字 下の縦積み ===== */
@media (max-width:768px){
  .tsuboki-fv{grid-template-columns:1fr;min-height:0}
  .tsuboki-fv-photo{height:230px;order:-1;border-left:none}
  .tsuboki-fv-txt{padding:28px 22px 32px;text-align:center;align-items:center}
  .tsuboki-fv .tsuboki-fv-title{font-size:23px}
  .tsuboki-fv-badges{justify-content:center}
  .tsuboki-fv-cta{flex-direction:column;width:100%}
  .tsuboki-fv-cta .tsuboki-btn{text-align:center}
}


/* FV全幅ブレイクアウト（本文ボックスを突き抜けてフルワイドHeroに） */
.tsuboki-fv{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }


/* ホームのみ：FVをヘッダーに密着（.l-content の上余白を0に。他ページは維持） */
.l-content:has(.tsuboki-fv){ padding-top:0 !important; }


/* ===== 症状ページ 本文写真／施術の流れギャラリー（角丸8px・スニペット準拠） ===== */
.tsuboki-page-photo img{ border-radius:8px; }
.tsuboki-flow-gallery figure.wp-block-image img{ border-radius:8px; }
.tsuboki-flow-gallery figcaption{ font-size:.78rem; color:#555; }


/* ===== 症状ページ 見た目調整（2026-07-28） ===== */
/* ① 枠内を白く（生成り地から浮かせる）※枠線・角丸・パディングは既存維持 */
.tsuboki-page__box{ background:#FFFFFF; }
.tsuboki-faq{ background:#FFFFFF; }

/* ② 本文先頭の施術写真：PCは幅540px上限で中央寄せ／スマホは全幅 */
.tsuboki-page-photo{ max-width:540px; margin-inline:auto; }
.tsuboki-page-photo img{ display:block; max-width:100%; height:auto; margin-inline:auto; border-radius:8px; }
@media (max-width:768px){
  .tsuboki-page-photo{ max-width:100%; }
}


/* ===== 症状ページ ブロック改善（2026-07-29 スニペット§1〜§3） ===== */
/* §1 原因＝2×2 番号グリッド（親は白ボックスなので生成りカードが浮く） */
.tsuboki-causes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tsuboki-cause{display:flex;gap:12px;align-items:flex-start;background:#FAF8F3;border-radius:8px;padding:14px 16px}
.tsuboki-cause-n{flex:none;width:26px;height:26px;border-radius:50%;background:#B5734F;color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.tsuboki-causes-foot{margin-top:16px;font-size:14px;color:#665}
@media(max-width:640px){.tsuboki-causes{grid-template-columns:1fr}}

/* §2 施術の流れ＝番号バッジ＋導線ライン＋白カード（親ボックスは外し生成り地に置く） */
.tsuboki-flow{position:relative;padding-left:8px}
.tsuboki-step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:16px;padding-bottom:26px}
.tsuboki-step:not(:last-child)::before{content:"";position:absolute;left:23px;top:44px;bottom:-4px;width:2px;background:#E4DDD0}
.tsuboki-step-num{width:44px;height:44px;border-radius:50%;background:#2C3E50;color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(44,62,80,.18)}
.tsuboki-step-body{background:#fff;border:1px solid #E4DDD0;border-radius:8px;padding:14px 18px}
.tsuboki-step-ttl{font-weight:800;color:#2C3E50;font-size:15.5px}
.tsuboki-step-ttl b{color:#B5734F;margin-right:6px}
.tsuboki-step-desc{font-size:14px;margin-top:4px}
.tsuboki-step-subs{margin-top:10px;padding-top:10px;border-top:1px dashed #E4DDD0;font-size:13.5px}
.tsuboki-step-subs div{padding:3px 0 3px 14px;position:relative}
.tsuboki-step-subs div::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:#B5734F}

/* §3 院長紹介＝○形プロフィール写真
   ※クラス名 .tsuboki-doctor はトップS4（院長紹介セクション）と衝突するため、
     症状ページ側は .tsuboki-page 配下にスコープし、S4から継承される padding/background も打ち消す */
.tsuboki-page .tsuboki-doctor{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;padding:0;background:transparent}
.tsuboki-page .tsuboki-doctor-pic{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 18px rgba(44,62,80,.18)}
.tsuboki-page .tsuboki-doctor-pic img{width:100%;height:100%;object-fit:cover}
.tsuboki-page .tsuboki-doctor-cap{display:block;font-size:12px;color:#B5734F;font-weight:700;letter-spacing:.1em;margin-bottom:4px}
.tsuboki-page .tsuboki-doctor-txt{font-size:14px}
@media(max-width:640px){.tsuboki-page .tsuboki-doctor{grid-template-columns:1fr;justify-items:center;text-align:center}}


/* ===== ヘルニアページ（2026-07-29）※クラスは .tsuboki-page 配下にスコープ ===== */
/* 受診目安：必ず目立たせる強調枠 */
.tsuboki-page .tsuboki-alert{
  margin:0 0 40px;
  padding:24px 26px;
  background:#FFF6F2;
  border:1px solid #E3B49B;
  border-left:6px solid #B5734F;
  border-radius:8px;
}
.tsuboki-page .tsuboki-alert .tsuboki-page__h2{
  margin:0 0 12px; padding:0; border-left:none; color:#8C4A26;
}
.tsuboki-page .tsuboki-alert p{ margin:0 0 10px; }
.tsuboki-page .tsuboki-alert__list{ list-style:none; margin:0; padding:0; }
.tsuboki-page .tsuboki-alert__list li{
  position:relative; padding:6px 0 6px 26px; font-weight:700; color:#2C3E50;
}
.tsuboki-page .tsuboki-alert__list li::before{
  content:"!"; position:absolute; left:0; top:8px;
  width:18px; height:18px; border-radius:50%; background:#B5734F; color:#fff;
  font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;
}
/* 施術方法（整体／はり・きゅう／微弱電流） */
.tsuboki-page .tsuboki-method{ margin-top:20px; display:grid; gap:14px; }
.tsuboki-page .tsuboki-method__item{ background:#FAF8F3; border-radius:8px; padding:16px 18px; }
.tsuboki-page .tsuboki-method__item h3{ margin:0 0 6px; font-size:1rem; color:#B5734F; font-weight:800; }
.tsuboki-page .tsuboki-method__item p{ margin:0; font-size:.95rem; }

/* トップS3：7枚目（3列グリッドで最終行に1枚だけ）を中央に置いて座りを整える */
.tsuboki-symptom__grid > .tsuboki-symptom__card:last-child:nth-child(3n+1){ grid-column:2; }
@media (max-width:768px){
  .tsuboki-symptom__grid > .tsuboki-symptom__card:last-child:nth-child(3n+1){ grid-column:auto; }
}



/* ===== 下層3ページ（アクセス／お問い合わせ／はじめての方）2026-07-31 ===== */
/* 地図（レスポンシブ） */
.tsuboki-page__map{ position:relative; width:100%; aspect-ratio:16/9; border-radius:8px; overflow:hidden; border:1px solid #E4DDD0; }
.tsuboki-page__map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
/* 受付時間テーブル */
.tsuboki-hours{ margin:0 0 24px; }
.tsuboki-hours table{ width:100%; border-collapse:collapse; background:#fff; font-size:.95rem; }
.tsuboki-hours th, .tsuboki-hours td{ border:1px solid #E4DDD0; padding:10px 6px; text-align:center; }
.tsuboki-hours thead th{ background:#2C3E50; color:#fff; font-weight:700; }
.tsuboki-hours tbody td:first-child{ background:#FAF8F3; font-weight:700; color:#2C3E50; white-space:nowrap; }
/* トップS7→アクセスページ導線 */
.tsuboki-access__more{ margin:18px 0 0; text-align:center; }
.tsuboki-access__more a{ color:#B5734F; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:768px){
  .tsuboki-hours table{ font-size:.82rem; }
  .tsuboki-hours th, .tsuboki-hours td{ padding:8px 3px; }
}


/* ===== アクセスページ上部（外観写真＋基本情報カード）2026-08-01 ===== */
.tsuboki-page .tsuboki-access-photo{margin:0 0 8px}
.tsuboki-page .tsuboki-access-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;box-shadow:0 10px 26px rgba(44,62,80,.14);display:block}
.tsuboki-page .tsuboki-access-photo figcaption{font-size:12px;color:#8a8172;margin-top:8px;text-align:center}

.tsuboki-page .tsuboki-info{background:#fff;border:1px solid #E4DDD0;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(44,62,80,.06);margin-top:18px}
.tsuboki-page .tsuboki-info-head{background:#2C3E50;color:#fff;font-weight:800;font-size:15px;padding:14px 22px;letter-spacing:.03em}
.tsuboki-page .tsuboki-info-head .en{display:block;font-size:10px;color:#B5734F;font-weight:700;letter-spacing:.2em;margin-bottom:2px}
.tsuboki-page .tsuboki-info-body{padding:6px 22px}
.tsuboki-page .tsuboki-info-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px dashed #E4DDD0}
.tsuboki-page .tsuboki-info-row:last-child{border-bottom:none}
.tsuboki-page .tsuboki-info-label{display:flex;align-items:center;gap:10px;color:#2C3E50;font-weight:700;font-size:14px}
.tsuboki-page .tsuboki-info-label i{width:30px;height:30px;border-radius:50%;background:#F4ECE2;color:#B5734F;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.tsuboki-page .tsuboki-info-val{font-size:14.5px}
.tsuboki-page .tsuboki-info-val a{color:#B5734F;text-decoration:none;font-weight:700}
.tsuboki-page .tsuboki-info-tag{display:inline-block;font-size:11px;color:#fff;background:#B5734F;border-radius:20px;padding:2px 10px;margin-left:8px;vertical-align:middle}
@media(max-width:600px){.tsuboki-page .tsuboki-info-row{grid-template-columns:120px 1fr}}

/* セクション間隔で開ける（見出し個別の上書き不要） */
.tsuboki-page .tsuboki-page__sec{margin-top:44px}
.tsuboki-page .tsuboki-page__sec:first-of-type{margin-top:0}  /* 先頭は詰めない */

/* ===== 見出しの余白調整（2026-08-01） =====
   ※実マークアップは <section class="tsuboki-page__sec"><h2 class="tsuboki-page__h2"> のため
     .tsuboki-info + h2 は隣接せず不成立。既存 .tsuboki-page .tsuboki-page__h2 に勝つ特異性で指定する。 */
/* 銅ライン小見出しの上下余白（受付時間・地図など全般） */
.tsuboki-page .tsuboki-page__h2{ margin-top:36px; margin-bottom:14px; }
/* 白ボックス／強調枠の内側先頭見出しは詰めたまま（枠のpaddingと二重にしない） */
.tsuboki-page .tsuboki-page__box .tsuboki-page__h2{ margin-top:0; }
/* 基本情報カード直後の見出し（アクセスの「受付時間」）はさらに広め */
.tsuboki-page .tsuboki-info + .tsuboki-page__sec .tsuboki-page__h2{ margin-top:44px; }


/* ===== FAQアコーディオン（details/summary・JSなし）2026-08-14 ===== */
.tsuboki-page .tsuboki-faq2{
  margin:0 0 40px; background:#fff; border:1px solid #E4DDD0; border-radius:10px; overflow:hidden;
}
.tsuboki-page .tsuboki-faq2__item + .tsuboki-faq2__item{ border-top:1px solid #E4DDD0; }
.tsuboki-page .tsuboki-faq2__q{
  position:relative; display:block; cursor:pointer; list-style:none;
  padding:18px 52px 18px 58px; font-weight:700; color:#2C3E50; line-height:1.6;
  transition:background .2s ease;
}
.tsuboki-page .tsuboki-faq2__q::-webkit-details-marker{ display:none; }
.tsuboki-page .tsuboki-faq2__q:hover{ background:#FAF8F3; }
.tsuboki-page .tsuboki-faq2__q:focus-visible{ outline:2px solid #B5734F; outline-offset:-2px; }
/* Qバッジ（銅の丸） */
.tsuboki-page .tsuboki-faq2__q::before{
  content:"Q"; position:absolute; left:18px; top:16px;
  width:28px; height:28px; border-radius:50%; background:#B5734F; color:#fff;
  font-size:.85rem; font-weight:700; display:flex; align-items:center; justify-content:center;
}
/* 開閉インジケーター（＋／−） */
.tsuboki-page .tsuboki-faq2__q::after{
  content:""; position:absolute; right:22px; top:50%; width:11px; height:11px;
  margin-top:-7px; border-right:2px solid #B5734F; border-bottom:2px solid #B5734F;
  transform:rotate(45deg); transition:transform .25s ease;
}
.tsuboki-page .tsuboki-faq2__item[open] .tsuboki-faq2__q::after{ transform:rotate(-135deg); margin-top:-2px; }
.tsuboki-page .tsuboki-faq2__item[open] .tsuboki-faq2__q{ background:#FAF8F3; }
/* 回答 */
.tsuboki-page .tsuboki-faq2__a{
  position:relative; padding:4px 22px 22px 58px; color:#333; font-size:.97rem; line-height:2;
}
.tsuboki-page .tsuboki-faq2__a::before{
  content:"A"; position:absolute; left:18px; top:4px;
  width:28px; height:28px; border-radius:50%; background:#e7e2d8; color:#8a8372;
  font-size:.85rem; font-weight:700; display:flex; align-items:center; justify-content:center;
}
.tsuboki-page .tsuboki-faq2__a ul{ margin:8px 0 0; padding-left:1.2em; }
.tsuboki-page .tsuboki-faq2__a li{ margin:2px 0; }
@media (max-width:600px){
  .tsuboki-page .tsuboki-faq2__q{ padding:16px 44px 16px 52px; font-size:.95rem; }
  .tsuboki-page .tsuboki-faq2__a{ padding:4px 18px 18px 52px; font-size:.93rem; }
  .tsuboki-page .tsuboki-faq2__q::before,
  .tsuboki-page .tsuboki-faq2__a::before{ left:14px; width:26px; height:26px; font-size:.8rem; }
}

/* 閉じているときは回答を非表示（テーマCSSがUA既定を上書きするため明示指定） */
.tsuboki-page .tsuboki-faq2__item:not([open]) .tsuboki-faq2__a{ display:none; }


/* ===== はじめての方：リード直後のワイド写真 / 流れ内インライン写真（2026-08-14） ===== */
.tsuboki-page-photo--wide{ max-width:100%; margin:0 0 28px; }
.tsuboki-page-photo--wide img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; }
.tsuboki-flow-inline{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0 4px; }
.tsuboki-flow-inline figure{ margin:0; }
.tsuboki-flow-inline img{ display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:8px; }
.tsuboki-flow-inline figcaption{ margin-top:6px; font-size:.78rem; color:#555; text-align:center; }
@media (max-width:640px){ .tsuboki-flow-inline{ grid-template-columns:1fr; } }


/* ===== 料金：お支払い方法（カテゴリ別・左寄せ定義リスト）2026-08-15 ===== */
.tsuboki-page .tsuboki-pay2{ margin:0; }
.tsuboki-page .tsuboki-pay2__row{
  display:grid; grid-template-columns:210px 1fr; gap:6px 24px;
  padding:16px 2px; border-bottom:1px solid #E4DDD0; align-items:start; text-align:left;
}
.tsuboki-page .tsuboki-pay2__row:first-child{ border-top:1px solid #E4DDD0; }
.tsuboki-page .tsuboki-pay2 dt{ font-weight:700; color:#2C3E50; line-height:1.7; }
.tsuboki-page .tsuboki-pay2 dd{ margin:0; color:#333; line-height:1.9; }
@media (max-width:640px){
  .tsuboki-page .tsuboki-pay2__row{ grid-template-columns:1fr; gap:4px; padding:14px 2px; }
}


/* ===== profile：経歴（年表）2カラム定義リスト 2026-08-15 ===== */
.tsuboki-page .tsuboki-history{ margin:0; }
.tsuboki-page .tsuboki-history__row{
  display:grid; grid-template-columns:120px 1fr; gap:6px 20px;
  padding:14px 2px; border-bottom:1px solid #E4DDD0; align-items:start; text-align:left;
}
.tsuboki-page .tsuboki-history__row:first-child{ border-top:1px solid #E4DDD0; }
.tsuboki-page .tsuboki-history dt{ color:#B5734F; font-weight:700; line-height:1.7; }
.tsuboki-page .tsuboki-history dd{ margin:0; color:#333; line-height:1.9; }
@media (max-width:600px){
  .tsuboki-page .tsuboki-history__row{ grid-template-columns:1fr; gap:2px; padding:12px 2px; }
}


/* question：開いた回答(A)の上に余白＝QとAを少し離す 2026-08-15 */
.tsuboki-page .tsuboki-faq2__item[open] .tsuboki-faq2__a{ margin-top:12px; }

/* ===== 院情報フッター：院名テキスト → ロゴ画像（2026-08-15） ===== */
.tsuboki-sitefooter__logo{ margin:0 0 10px; }
.tsuboki-sitefooter__logo img{ display:block; width:100%; max-width:280px; height:auto; }
@media (max-width:768px){
  .tsuboki-sitefooter__logo img{ max-width:220px; }
}

/* ===== 特徴ページ：比較表（横スクロール）＋注記 2026-09-16 ===== */
.tsuboki-page .tsuboki-tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 10px; }
.tsuboki-page .tsuboki-compare{ width:100%; min-width:560px; border-collapse:collapse; background:#fff; font-size:.95rem; }
.tsuboki-page .tsuboki-compare th,
.tsuboki-page .tsuboki-compare td{ border:1px solid #E4DDD0; padding:12px 14px; text-align:left; vertical-align:top; line-height:1.8; }
.tsuboki-page .tsuboki-compare thead th{ background:#2C3E50; color:#fff; font-weight:700; text-align:center; }
.tsuboki-page .tsuboki-compare tbody th{ background:#FAF8F3; color:#2C3E50; font-weight:700; white-space:nowrap; width:112px; }
.tsuboki-page .tsuboki-compare td:last-child{ background:#fffdf9; }
@media (max-width:640px){
  .tsuboki-page .tsuboki-compare{ font-size:.88rem; }
  .tsuboki-page .tsuboki-compare th,
  .tsuboki-page .tsuboki-compare td{ padding:10px 12px; }
}
.tsuboki-page .tsuboki-note{ font-size:.82rem; color:#8a8172; }

/* ===== ネット予約ページ（/reserve/）2026-09-18 ===== */
.tsuboki-reserve .tsuboki-page-lead p{ margin:0 0 .6em; }
.tsuboki-reserve .tsuboki-page-lead p:last-child{ margin-bottom:0; }
.tsuboki-page .tsuboki-reserve-notes{ display:grid; gap:18px; padding:22px 24px; background:#FAF8F3; border:1px solid #ece6da; border-radius:10px; }
.tsuboki-page .tsuboki-reserve-notes__item{ display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:start; }
.tsuboki-page .tsuboki-reserve-notes__icon{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid #ece6da; color:#B5734F; font-size:1.05rem; }
.tsuboki-page .tsuboki-reserve-notes .tsuboki-reserve-notes__ttl{ margin:0 0 4px; padding:0; border:none; background:none; font-size:1.02rem; line-height:1.5; color:#2C3E50; font-weight:700; }
.tsuboki-page .tsuboki-reserve-notes .tsuboki-reserve-notes__ttl::before,
.tsuboki-page .tsuboki-reserve-notes .tsuboki-reserve-notes__ttl::after{ content:none; display:none; }
.tsuboki-page .tsuboki-reserve-notes__item p{ margin:0; font-size:.95rem; line-height:1.8; }
.tsuboki-page .tsuboki-reserve-hours{ margin:14px 0 40px; text-align:center; font-size:.92rem; line-height:1.8; color:#555; }
.tsuboki-page .tsuboki-reserve-other{ text-align:center; margin:0 0 22px; }
.tsuboki-page .tsuboki-reserve-other__btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0 0 12px; }
.tsuboki-page .tsuboki-reserve-other p{ margin:0; font-size:.95rem; color:#555; }
@media (max-width:600px){
  .tsuboki-page .tsuboki-reserve-notes{ padding:18px 16px; }
  .tsuboki-page .tsuboki-reserve-other__btns .tsuboki-btn{ width:100%; }
}

/* ===== ネット予約（Booking Package）：「合計金額」の行を非表示（2026-09-19） =====
   メニュー行に料金が出ていて重複するため。見た目だけ隠す（金額計算・メールの[totalAmount]はそのまま）
   .total_amount はプラグインが入力・確認・完了の各画面の合計金額行に付けるクラス */
#booking-package .total_amount{ display:none !important; }
/* スマホ：フォーム見出し「ご予約者さまの情報をご入力ください」（17字）が1文字だけ改行されるため縮める */
@media (max-width:599px){
  #booking-package #booking-package_inputFormPanel .title_in_form{ font-size:18px; }
}
