@charset "UTF-8";
/* ==========================================================================
   Pilaful — 追加CSS
   静的サイト v1（pilaful-site）のデザインを WordPress（Cocoon＋ブロックエディタ）へ移植したもの。

   ・ページ本文のスタイルはすべて .hidamari の中に閉じてある
     （固定ページの最外周が <div class="wp-block-group hidamari"> になっている）
   ・.hidamari の外に出さざるを得ないもの（ヘッダー／フッター／固定CTA）だけ、
     末尾の「サイト共通」区画にまとめた
   ========================================================================== */

/* ==========================================================================
   1. トークンと下地（静的サイトの :root をそのまま .hidamari に移した）
   ========================================================================== */
.hidamari {
  --bg:          #FFFFFF;
  --bg-cream:    #F7F4EF;
  --text:        #3B3B3B;
  --text-soft:   #6B6560;
  --beige:       #E7E1D8;
  --beige-dark:  #DAD3C6;
  --terracotta:  #BE6A34;
  --khaki:       #A79470;
  --champagne:   #D9C7A8;
  --gold:        #A98F5D;
  --brown:       #8C7A5E;
  --icon:        #574C43;

  --font-ja: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
             "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  --font-en: Georgia, "Times New Roman", "Hiragino Mincho ProN", serif;

  --wrap:    1120px;
  --wrap-nr:  880px;
  --gutter:  20px;
  --radius:  2px;

  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 40px;
  --s-5: 64px;
  --s-6: 96px;

  background: var(--bg);
  color: var(--text);
  font-family: var(--font-ja);
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  font-weight: 400;
}
@media (min-width: 768px) {
  .hidamari { --gutter: 40px; font-size: 16px; }
}

.hidamari *, .hidamari *::before, .hidamari *::after { box-sizing: border-box; }

/* ==========================================================================
   2. Cocoon と Gutenberg の既定スタイルを打ち消す
      （Cocoon は h2 に背景色、h3 に左罫、table に枠線を付けるため）
   ========================================================================== */
.hidamari h1,
.hidamari h2,
.hidamari h3 {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font-family: var(--font-ja);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: var(--text);
}
.hidamari h2::before, .hidamari h2::after,
.hidamari h3::before, .hidamari h3::after { content: none; }

.hidamari p { margin: 0 0 1.2em; }
.hidamari p:last-child { margin-bottom: 0; }
.hidamari ul, .hidamari ol, .hidamari li { margin: 0; padding: 0; list-style: none; }
.hidamari img { display: block; max-width: 100%; height: auto; }
.hidamari figure { margin: 0; }

.hidamari table,
.hidamari table tr,
.hidamari table td,
.hidamari table th { border: 0; background: none; }
.hidamari .wp-block-table { margin: 0; overflow: visible; }
.hidamari .wp-block-table table { border-collapse: collapse; width: 100%; }

.hidamari a { color: var(--gold); text-decoration: underline; text-underline-offset: 0.25em; }
.hidamari a:hover { text-decoration-thickness: 2px; }
.hidamari :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* ブロック間の既定の余白を無効化し、こちらで組み直す */
.hidamari .wp-block-group,
.hidamari .wp-block-columns { margin-block: 0; }
.hidamari .wp-block-image { margin: 0; }

/* ==========================================================================
   3. レイアウト（帯とコンテンツ幅）
   ========================================================================== */
/* 帯は画面幅いっぱいに広げる。Cocoon のコンテンツ幅に閉じ込められないようにする */
.hidamari {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.hidamari .wrap,
.hidamari .wrap-nr {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--gutter);
  position: relative;
  z-index: 1;
}
.hidamari .wrap-nr { max-width: var(--wrap-nr); }
/* Gutenberg の constrained レイアウトは中身を狭い幅で中央寄せにするので打ち消す */
.hidamari .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.hidamari .section { padding-block: var(--s-5); position: relative; }
.hidamari .section--cream { background: var(--bg-cream); }
.hidamari .section--white { background: var(--bg); }
@media (min-width: 768px) {
  .hidamari .section { padding-block: var(--s-6); }
}

/* 円弧のセクション区切り */
.hidamari .arc-top { position: relative; }
.hidamari .arc-top::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5vw;
  width: 100%;
  height: 10vw;
  background: inherit;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  pointer-events: none;
}

/* 細い斜線のアクセント（静的版の .slash-deco）は 2026-09-15 に取りやめ。
   復活させる場合は .hidamari .slash に背景画像（グラデーションの1px線）を戻す */
.hidamari .slash { background-image: none; }

/* 円弧は帯の背景色だけを引き継ぐ（線は引き継がない） */
.hidamari .arc-top::before { background-image: none; }

/* ==========================================================================
   4. 見出し
   ========================================================================== */
.hidamari .label-en {
  display: block;
  font-family: var(--font-en);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--s-1);
}
.hidamari .sec-title {
  font-size: 21px;
  letter-spacing: 0.1em;
  margin-bottom: var(--s-4);
}
/* 見出しの下の添え書き。見出しと添え書きの間は 16px、添え書きの下に 40px */
.hidamari .sec-title + .sec-sub { margin-top: calc(var(--s-4) * -1 + var(--s-2)); }
.hidamari .sec-sub {
  font-size: 13px;
  font-weight: 400;
  color: var(--text-soft);
  letter-spacing: 0.06em;
  margin-bottom: var(--s-4);
}
@media (min-width: 768px) {
  .hidamari .sec-title { font-size: 27px; }
  .hidamari .sec-sub { font-size: 14px; }
}
.hidamari .center { text-align: center; }
.hidamari .lead { color: var(--text-soft); }
.hidamari .text-sm { font-size: 13px; }
.hidamari .mt-2 { margin-top: var(--s-2); }
.hidamari .mt-3 { margin-top: var(--s-3); }
.hidamari .mt-4 { margin-top: var(--s-4); }

/* ==========================================================================
   5. 画像（比率を固定して切り抜く）
   ========================================================================== */
.hidamari .ph {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--beige);
  border-radius: var(--radius);
  aspect-ratio: 3 / 2;
}
.hidamari .ph img { width: 100%; height: 100%; object-fit: cover; }

.hidamari .ph--16x9 { aspect-ratio: 16 / 9; }
.hidamari .ph--4x3  { aspect-ratio: 4 / 3; }
.hidamari .ph--3x4  { aspect-ratio: 3 / 4; }
.hidamari .ph--3x2  { aspect-ratio: 3 / 2; }
.hidamari .ph--1x1  { aspect-ratio: 1 / 1; }
.hidamari .ph--qr   { max-width: 240px; margin-inline: auto; background: var(--bg); }

/* メインビジュアル：768px を境に PC 用（16:9）とスマホ用（4:5）を出し分ける */
.hidamari .ph--hero { border: 0; border-radius: 0; }
.hidamari .hero-sp { display: block; aspect-ratio: 4 / 5; }
.hidamari .hero-pc { display: none; aspect-ratio: 16 / 9; }
@media (min-width: 768px) {
  .hidamari .hero-sp { display: none; }
  .hidamari .hero-pc { display: block; }
}

/* ==========================================================================
   6. ヒーロー（TOP）
   ========================================================================== */
.hidamari .hero { position: relative; background: var(--bg-cream); }
.hidamari .hero__body {
  padding: var(--s-4) var(--gutter) var(--s-5);
  text-align: center;
}
.hidamari .hero__catch {
  font-size: 21px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: var(--s-3);
}
.hidamari .hero__meta { font-size: 13px; color: var(--text-soft); letter-spacing: 0.08em; margin: 0; }
.hidamari .hero__open {
  display: inline-block;
  margin: var(--s-3) 0 0;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--terracotta);
  border-top: 1px solid var(--champagne);
  border-bottom: 1px solid var(--champagne);
  padding: 6px 14px;
}
@media (min-width: 768px) {
  .hidamari .hero__body  { padding: var(--s-5) var(--gutter) var(--s-6); }
  .hidamari .hero__catch { font-size: 27px; }
}
@media (min-width: 1024px) {
  .hidamari .hero__catch { font-size: 31px; }
  .hidamari .hero__meta  { font-size: 14px; }
}

/* ==========================================================================
   7. 3つの理由（アイコンカード）
   ========================================================================== */
.hidamari .grid-3 { gap: var(--s-4); }
@media (min-width: 782px) { .hidamari .grid-3 { gap: var(--s-3); } }

.hidamari .card--icon { text-align: center; }
.hidamari .card--icon .icon {
  display: block;
  width: 88px;
  height: 88px;
  margin: 0 auto var(--s-3);
  color: var(--icon);
}
/* 女性アイコンは外周の丸がないぶん少し大きめにして、家／¥ と見た目の大きさを揃える */
.hidamari .card--icon .icon--woman { width: 94px; height: 94px; margin-bottom: calc(var(--s-3) - 6px); }
@media (min-width: 768px) {
  .hidamari .card--icon .icon { width: 100px; height: 100px; }
  .hidamari .card--icon .icon--woman { width: 106px; height: 106px; }
}
.hidamari .card__title { font-size: 16px; letter-spacing: 0.08em; margin: 0 0 var(--s-1); }
.hidamari .card__text  { font-size: 14px; color: var(--text-soft); margin: 0; max-width: 21em; margin-inline: auto; }

/* ==========================================================================
   8. 2カラム（文章＋写真）
   ========================================================================== */
.hidamari .split { gap: var(--s-4); }
@media (min-width: 782px) {
  .hidamari .split { gap: var(--s-5); }
  .hidamari .split > .wp-block-column { align-self: center; }
  .hidamari .split--narrow-media > .split__body  { flex-grow: 1.2; }
  .hidamari .split--narrow-media > .split__media { flex-grow: 0.8; }
}
.hidamari .split__body p:last-child { margin-bottom: 0; }

/* ==========================================================================
   9. ページ冒頭（下層ページの見出し）
   ========================================================================== */
.hidamari .page-head {
  background: var(--bg-cream);
  padding-block: var(--s-5);
  text-align: center;
}
.hidamari .page-head h1 { font-size: 22px; letter-spacing: 0.14em; }
.hidamari .page-head p  { font-size: 13px; color: var(--text-soft); margin: var(--s-2) 0 0; }
.hidamari .page-head .label-en { margin: 0 0 var(--s-1); font-size: 11px; color: var(--gold); }
@media (min-width: 768px) { .hidamari .page-head h1 { font-size: 28px; } }

/* パンくず（ブロックで持っている。Cocoon のパンくずは apply.sh で止めてある） */
.hidamari .pf-crumb { padding-block: var(--s-2); }
.hidamari .pf-crumb p { font-size: 12px; color: var(--text-soft); margin: 0; }
.hidamari .pf-crumb a { color: var(--text-soft); }

/* ==========================================================================
   10. 料金表（静的版の <table> を表ブロックに置き換え）
   ========================================================================== */
.hidamari .price-table table { font-size: 14px; }
.hidamari .price-table th,
.hidamari .price-table td {
  border-bottom: 1px solid var(--beige-dark);
  padding: 14px 8px;
  text-align: left;
  vertical-align: top;
}
.hidamari .price-table thead th {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--brown);
  font-weight: 400;
  border-bottom-color: var(--brown);
  white-space: nowrap;
}
.hidamari .price-table td:first-child { font-weight: 700; letter-spacing: 0.06em; }
.hidamari .price-table td:nth-child(2) { white-space: nowrap; font-family: var(--font-en); font-size: 16px; }
.hidamari .price-table td:last-child { font-size: 12px; color: var(--text-soft); }
/* 体験レッスン（1行目）を強調 */
.hidamari .price-table tbody tr:first-child { background: var(--bg-cream); }
.hidamari .price-table tbody tr:first-child td:nth-child(2) { color: var(--terracotta); font-weight: 700; }

/* スマホ：横スクロールさせず積み上げ表示 */
@media (max-width: 767px) {
  .hidamari .price-table table, .hidamari .price-table tbody,
  .hidamari .price-table tr, .hidamari .price-table td { display: block; width: 100%; }
  .hidamari .price-table thead { display: none; }
  .hidamari .price-table tbody tr {
    border-bottom: 1px solid var(--beige-dark);
    padding-block: var(--s-2);
  }
  .hidamari .price-table td { border: 0; padding: 2px 0; }
  .hidamari .price-table td:first-child { font-size: 16px; margin-bottom: 4px; }
  .hidamari .price-table td::before {
    color: var(--brown);
    font-size: 11px;
    letter-spacing: 0.08em;
    font-family: var(--font-ja);
    font-weight: 400;
  }
  .hidamari .price-table td:nth-child(2)::before { content: "料金："; }
  .hidamari .price-table td:last-child::before  { content: "備考："; }
  .hidamari .price-table tbody tr:first-child { padding-inline: var(--s-2); }
}

/* ==========================================================================
   11. ステップ（レッスンの流れ）
   ========================================================================== */
.hidamari .steps { gap: var(--s-4); }
@media (min-width: 782px) { .hidamari .steps { gap: var(--s-3); } }
.hidamari .step .wp-block-image { margin-bottom: var(--s-2); }
.hidamari .step__num { font-family: var(--font-en); font-size: 40px; color: var(--champagne); line-height: 1; margin: 0; }
@media (min-width: 768px) { .hidamari .step__num { font-size: 56px; } }
.hidamari .step__title { font-size: 16px; margin: var(--s-2) 0 var(--s-1); letter-spacing: 0.08em; }
.hidamari .step__text  { font-size: 14px; color: var(--text-soft); margin: 0; }

/* ==========================================================================
   12. Q&A（Q／A の印は CSS で付ける）
   ========================================================================== */
.hidamari .qa { border-top: 1px solid var(--beige-dark); }
.hidamari .qa__item { border-bottom: 1px solid var(--beige-dark); padding-block: var(--s-3); }
/* 文中にリンクがあっても崩れないよう、flex ではなく左パディング＋絶対配置で印を置く */
.hidamari .qa__q,
.hidamari .qa__a { position: relative; padding-left: calc(1.6em + var(--s-2)); }
.hidamari .qa__q { font-size: 15px; font-weight: 700; letter-spacing: 0.06em; margin-bottom: var(--s-2); }
.hidamari .qa__a { font-size: 14px; color: var(--text-soft); margin: 0; }
.hidamari .qa__q::before,
.hidamari .qa__a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.6em;
  font-family: var(--font-en);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}
.hidamari .qa__q::before { content: "Q"; color: var(--terracotta); }
.hidamari .qa__a::before { content: "A"; color: var(--khaki); }

/* ==========================================================================
   13. 定義リスト（静的版の <dl> を表ブロックに置き換え）
   ========================================================================== */
.hidamari .deflist table { font-size: 14px; border-top: 1px solid var(--beige-dark); }
.hidamari .deflist td {
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--beige-dark);
  vertical-align: baseline;
}
.hidamari .deflist td:first-child { color: var(--brown); font-size: 12px; letter-spacing: 0.1em; }
@media (min-width: 768px) {
  .hidamari .deflist td:first-child { width: 200px; font-size: 13px; padding-right: var(--s-3); }
}
@media (max-width: 767px) {
  .hidamari .deflist tr, .hidamari .deflist td { display: block; width: 100%; }
  .hidamari .deflist td:first-child { border-bottom: 0; padding-bottom: 2px; }
  .hidamari .deflist td:last-child  { padding-top: 0; }
}

/* ==========================================================================
   14. 注記・地図
   ========================================================================== */
.hidamari .notice {
  background: var(--bg-cream);
  border-left: 3px solid var(--khaki);
  padding: var(--s-3);
  font-size: 13px;
  color: var(--text-soft);
}
.hidamari .notice p:last-child { margin-bottom: 0; }
.hidamari .notice strong { color: var(--text); }

.hidamari .map-embed { position: relative; aspect-ratio: 4 / 3; background: var(--beige); }
.hidamari .map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
@media (min-width: 768px) { .hidamari .map-embed { aspect-ratio: 16 / 9; } }

/* ==========================================================================
   15. ボタン（二重構造：白い「Personal」チップ ＋ 日本語 ＋ ＞）
       ブロック側はボタンブロックの文字だけ。チップと矢印は CSS で付ける。
       ※ クラス名は Cocoon 自身の .btn と衝突するので pf-btn にしてある
   ========================================================================== */
.hidamari .btn-row { gap: var(--s-2); justify-content: center; flex-direction: column; align-items: center; }
@media (min-width: 768px) {
  .hidamari .btn-row { flex-direction: row; }
}
/* Cocoon はボタンの外枠 .wp-block-button 自体に背景色(#333)を付けるので消す */
.hidamari .wp-block-button { background: none; border: 0; box-shadow: none; width: 100%; max-width: 380px; }
@media (min-width: 768px) { .hidamari .wp-block-button { max-width: 320px; } }

.hidamari .pf-btn .wp-block-button__link {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-radius: var(--radius);
  text-decoration: none;
  text-align: left;
  color: #fff;
  background: var(--terracotta);
  font-family: var(--font-ja);
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.6;
  box-shadow: none;
  transition: opacity .2s ease;
}
.hidamari .pf-btn .wp-block-button__link:hover { opacity: 0.86; color: #fff; }
.hidamari .pf-btn .wp-block-button__link::before {
  content: "Personal";
  flex: none;
  background: #fff;
  color: var(--terracotta);
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  padding: 5px 10px;
  border-radius: var(--radius);
  line-height: 1.4;
}
.hidamari .pf-btn .wp-block-button__link::after {
  content: ">";
  flex: none;
  margin-left: auto;
  font-family: var(--font-en);
  opacity: 0.9;
}
.hidamari .pf-btn--khaki .wp-block-button__link { background: var(--khaki); }
.hidamari .pf-btn--khaki .wp-block-button__link::before { color: var(--khaki); content: "Contact"; }

/* CTA セクション */
.hidamari .cta { background: var(--bg-cream); text-align: center; }
.hidamari .cta__title { font-size: 19px; letter-spacing: 0.1em; margin-bottom: var(--s-2); }
.hidamari .cta__note  { font-size: 13px; color: var(--text-soft); margin-bottom: var(--s-4); }
@media (min-width: 768px) { .hidamari .cta__title { font-size: 24px; } }

/* ==========================================================================
   16. サイト共通（.hidamari の外に出さざるを得ないもの）
       ここだけはページ本文の外側に効きます。
   ========================================================================== */

/* 帯を画面幅いっぱいに広げているので、横スクロールが出ないように抑える */
body { overflow-x: hidden; background: #FFFFFF; }
/* 固定CTA（下部固定バー）に隠れないための逃げ */
@media (max-width: 767px) { body { padding-bottom: 76px; } }

/* 固定ページでは本文まわりの枠と余白を外す（デザインが全幅前提のため） */
body.page .main,
body.page .content,
body.page .entry-content {
  padding: 0;
  margin: 0;
  border: 0;
  max-width: none;
  background: transparent;
  box-shadow: none;
}
body.page .content { margin-block: 0; }
body.page .entry-content { margin-block: 0; }

/* 固定ページのタイトルは本文の h1 と重複するため隠す
   （本文側の <h1> をブロックエディタで編集してください） */
body.page .entry-title { display: none; }
/* 固定ページに出る著者情報ボックスは不要 */
body.page .author-info { display: none; }


/* --------------------------------------------------
   ヘッダー（静的サイトのデザインに合わせる）
   Cocoon 側は「トップメニュー小（右寄せ）」に設定してある。
   -------------------------------------------------- */
#header-container {
  background: rgba(255,255,255,0.94);
  backdrop-filter: saturate(120%) blur(6px);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
  border-bottom: 1px solid #E7E1D8;
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 60;
}
#header-container-in,
#header,
#header-in,
#navi,
#navi-in { background: transparent; box-shadow: none; }

/* ロゴとメニューを1行に並べ、静的サイトと同じ幅・高さに揃える */
@media (min-width: 1024px) {
  #header-container-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: 40px;
    min-height: 76px;
  }
  #header, #navi { width: auto; max-width: none; margin: 0; padding: 0; }
  #header-in, #navi-in {
    width: auto; max-width: none; margin: 0; padding: 0; min-height: 0;
  }
}

/* キャッチフレーズはロゴ下の添え書きとして CSS で出すので、Cocoon のものは隠す */
#header-container .tagline { display: none; }

/* ロゴ：欧文セリフ「Pilaful」＋ イタリックの添え書き */
.logo-header,
.logo-header .site-name-text,
.logo-header a {
  font-family: Georgia, "Times New Roman", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.14em;
  color: #3B3B3B;
  text-decoration: none;
  line-height: 1.1;
}
.logo-header a { padding: 0; margin: 0; display: inline-block; }
.logo-header a:hover { color: #3B3B3B; opacity: .75; }
.logo-header .site-name-text::after {
  content: "pilates studio";
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #8C7A5E;
  margin-top: 2px;
}

/* グローバルメニュー：右寄せ・細字
   Cocoon は「メニュー幅」の設定を #navi .navi-in > ul > li に出すので、それより強い指定で文字幅に戻す */
#navi .navi-in > ul > li,
#navi .menu-header > li { width: auto; }
#navi .navi-in > ul > li > a,
.menu-header .menu-pc > li > a,
#navi .menu-header li a {
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #3B3B3B;
  width: auto;
  height: auto;
  line-height: 1.6;
  padding: 4px 0;
  margin-left: 24px;
  border-bottom: 1px solid transparent;
}
#navi .menu-header li a:hover { background: transparent; color: #A98F5D; border-bottom-color: #A98F5D; }
#navi .menu-header li.current-menu-item > a,
#navi .menu-header li.current_page_item > a {
  color: #A98F5D;
  border-bottom-color: #A98F5D;
}

/* スマホ（1023px以下）
   Cocoon は画面上部に固定のボタンバーを出すので、それ自体をヘッダーとして使う。
   左にロゴ、右に「MENU」の1行にして、静的サイトと同じ形にする。 */
@media (max-width: 1023px) {
  #header-container { display: none; }

  .mobile-header-menu-buttons {
    background: rgba(255,255,255,0.96);
    border-bottom: 1px solid #E7E1D8;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 20px;
    min-height: 60px;
  }
  .mobile-header-menu-buttons .search-menu-button { display: none; }

  /* サイト名を左のロゴとして使う */
  .mobile-header-menu-buttons .logo-menu-button { order: -1; width: auto; flex: 0 0 auto; }
  .mobile-header-menu-buttons .logo-menu-button a {
    font-family: Georgia, "Times New Roman", "Hiragino Mincho ProN", serif;
    font-weight: 400;
    font-size: 20px;
    letter-spacing: 0.14em;
    color: #3B3B3B;
    text-decoration: none;
    padding: 0;
    height: auto;
    line-height: 1.1;
    display: inline-block;
  }
  .mobile-header-menu-buttons .logo-menu-button a .site-name-text::after,
  .mobile-header-menu-buttons .logo-menu-button a::after {
    content: "pilates studio";
    display: block;
    font-style: italic;
    font-size: 10px;
    letter-spacing: 0.14em;
    color: #8C7A5E;
    margin-top: 2px;
  }
  .mobile-header-menu-buttons .logo-menu-button a .site-name-text::after { content: none; }

  /* ハンバーガーは「MENU」の枠付き文字にする */
  .mobile-header-menu-buttons .navi-menu-button { width: auto; flex: 0 0 auto; }
  .navi-menu-button .navi-menu-icon { display: none; }
  .navi-menu-button .navi-menu-caption {
    font-size: 0;            /* Cocoon の「メニュー」文字を消して MENU に置き換える */
    color: #3B3B3B;
    border: 1px solid #DAD3C6;
    border-radius: 2px;
    padding: 8px 14px;
    line-height: 1;
    display: inline-block;
  }
  .navi-menu-button .navi-menu-caption::after {
    content: "MENU";
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    letter-spacing: 0.24em;
  }
}

/* --------------------------------------------------
   フッター（クリーム地・中央揃え）
   -------------------------------------------------- */
#footer,
#footer-in,
.footer-bottom {
  background: #F7F4EF;
  color: #6B6560;
  box-shadow: none;
}
#footer {
  border-top: 1px solid #E7E1D8;
  padding-block: 64px 40px;
}
#footer-in { max-width: 1120px; margin-inline: auto; padding-inline: 40px; }

#footer .footer-bottom,
#footer .footer-bottom.fdt-logo {
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
}
/* Cocoon はロゴを position:absolute で左に固定するので、通常の流れに戻す */
#footer .footer-bottom-logo {
  position: static;
  margin: 0 0 24px;
  padding: 0;
  text-align: center;
  width: auto;
  float: none;
}
#footer .footer-bottom-content {
  text-align: center;
  width: auto;
  float: none;
  margin: 0;
  padding: 0;
}

.logo-footer,
.logo-footer a {
  font-family: Georgia, "Times New Roman", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0.14em;
  color: #3B3B3B;
  text-decoration: none;
  text-align: center;
  padding: 0;
  margin: 0;
  line-height: 1.1;
}
.logo-footer a { display: inline-block; }
.logo-footer::after {
  content: "pilates studio";
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #8C7A5E;
  margin-top: 2px;
}

/* フッターメニュー（英字・字間広め） */
#navi-footer .menu-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  margin: 0 0 24px;
}
#navi-footer .menu-footer li { margin: 0; border: 0; width: auto; }
#navi-footer .menu-footer li a {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  color: #6B6560;
  text-decoration: none;
  padding: 0;
}
#navi-footer .menu-footer li a:hover { color: #A98F5D; background: transparent; }

.copyright {
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #6B6560;
  text-align: center;
  padding: 0;
}

@media (max-width: 1023px) {
  #footer-in { padding-inline: 20px; }
  #footer .footer-bottom,
  #footer .footer-bottom-logo,
  #footer .footer-bottom-content,
  #footer .logo-footer,
  #footer .copyright { text-align: center; }
  #footer #navi-footer .menu-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 22px;
  }
  #footer #navi-footer .menu-footer li { width: auto; flex: 0 0 auto; text-align: center; }
}

/* --------------------------------------------------
   フローティングCTA（全ページ共通・functions.php から出力）
   -------------------------------------------------- */
.floating-cta {
  position: fixed;
  z-index: 70;
  left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.96);
  border-top: 1px solid #E7E1D8;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  box-sizing: border-box;
}
.floating-cta *, .floating-cta *::before, .floating-cta *::after { box-sizing: border-box; }
.floating-cta .open-badge {
  flex: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #fff;
  background: #A79470;
  padding: 6px 8px;
  border-radius: 2px;
  line-height: 1.4;
  text-align: center;
}
.floating-cta .open-badge b { display: block; font-size: 12px; }
.floating-cta .pf-btn {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  padding: 11px 14px;
  border-radius: 2px;
  text-decoration: none;
  color: #fff;
  background: #BE6A34;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.6;
  transition: opacity .2s ease;
}
.floating-cta .pf-btn:hover { opacity: 0.86; color: #fff; }
.floating-cta .pf-btn__en {
  flex: none;
  background: #fff;
  color: #BE6A34;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  padding: 5px 10px;
  border-radius: 2px;
  line-height: 1.4;
}
.floating-cta .pf-btn__ja { flex: 1 1 auto; }
.floating-cta .pf-btn__arw { flex: none; font-family: Georgia, serif; opacity: 0.9; }
@media (min-width: 768px) {
  .floating-cta {
    left: auto;
    right: 24px;
    bottom: 24px;
    width: 300px;
    flex-direction: column;
    align-items: stretch;
    border: 1px solid #E7E1D8;
    border-radius: 2px;
    padding: 16px;
    box-shadow: 0 6px 24px rgba(59,59,59,0.10);
  }
}
/* Cocoon の「トップへ戻る」ボタンと重なるので少し上にずらす */
#go-to-top { bottom: 100px; }
@media (min-width: 768px) { #go-to-top { bottom: 150px; right: 24px; } }
