@charset "UTF-8";
/* ============================================================
   NANDANA（ヨガスタジオ Nandana）案件用 上書きCSS
   Figma準拠。テーマ・かんたんサイト設定は編集せず、ここだけで調整します。
   SP = 〜767px ／ PC = 768px〜（デザインカンプは SP 375px・PC 1440px）
   ============================================================ */

:root {
  --nd-rose:#B95F88; --nd-magenta:#C24887; --nd-coral:#CF6A56;
  --nd-ink:#5A4A55; --nd-sub:#84727D;
  --nd-page:#FFF8FB; --nd-soft:#FDEEF5; --nd-peach:#FDEDE5; --nd-band:#FAE0EE; --nd-line:#F6E3EE;
  --nd-grad:linear-gradient(180deg,#D66AA3 0%,#B03C78 100%);
  --nd-serif:"Noto Serif JP","Hiragino Mincho ProN",serif;
  --nd-latin:"Cormorant Garamond","Noto Serif JP",serif;
  --nd-w:820px;
}

/* ---------- 全体 ---------- */
body, body.public-page{ background:var(--nd-page) !important; color:var(--nd-ink) !important; font-size:16px; }
.nd-home p, .entry-content .nd-instpage p, .nd-home h2, .nd-home h3, .entry-content .nd-instpage h2, .entry-content .nd-instpage h3, .nd-home figure, .entry-content .nd-instpage figure, .nd-home ul, .entry-content .nd-instpage ul, .nd-home .wp-block-buttons, .entry-content .nd-instpage .wp-block-buttons { margin:0 !important; }
.nd-home img, .entry-content .nd-instpage img { max-width:100%; height:auto; }
.entry-content > .yoga-home { margin-bottom:0 !important; }
/* ブロックエディタの自動余白（is-layout-flow の margin-block-start）を無効化。間隔は gap で管理 */
.nd-home .wp-block-group > *, .entry-content .nd-instpage .wp-block-group > * { margin-block-start:0 !important; margin-block-end:0 !important; }

/* セクション見出し（英字ラベル＋日本語見出し） */
.nd-section { padding:32px 0 48px !important; }
.nd-section .yoga-section__inner { max-width:var(--nd-w); padding-inline:20px; display:flex; flex-direction:column; gap:24px; }
.nd-section .yoga-section__en {
  margin:0 !important; font:700 17px/1.6 "Noto Sans JP",sans-serif !important; letter-spacing:.18em; text-transform:uppercase;
  color:var(--nd-rose) !important; text-align:center;
}
.entry-content .nd-section h2.yoga-section__title {
  margin:-18px 0 0 !important; padding:0 !important; font:700 22px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; text-align:center; border:0 !important;
}
.nd-section .yoga-section__title::before, .nd-section .yoga-section__title::after,
.nd-section .yoga-section__en::before, .nd-section .yoga-section__en::after { display:none !important; content:none !important; }
.entry-content .nd-lead { font-size:14px; line-height:1.6; color:var(--nd-sub) !important; text-align:center; }

/* constrained レイアウトの auto マージンで子要素が縮むのを防ぐ（flex 縦並びの中で全幅に） */
.entry-content .nd-section .yoga-section__inner > *{ width:100%; max-width:100% !important; margin-inline:0 !important; box-sizing:border-box; }

/* 背景色 */
.nd-section--news { background:var(--nd-page); }
.nd-section--trial { background:var(--nd-band); padding:20px 0 !important; }
.nd-section--classes { background:var(--nd-soft); }
.nd-section--instructor { background:var(--nd-page); }
.nd-section--price { background:#fff; }
.nd-section--schedule { background:var(--nd-soft); }
.nd-section--faq { background:#fff; }
.nd-section--access { background:var(--nd-page); }
.nd-section--instructor-list { background:var(--nd-page); }

/* ---------- ボタン ---------- */
.nd-home .wp-block-buttons.nd-cta, .nd-instpage .wp-block-buttons.nd-cta,
.nd-home .wp-block-buttons.nd-hero-info__sub, .nd-home .wp-block-buttons.nd-more, .nd-home .wp-block-buttons.nd-hero-info__cta {
  display:flex !important; flex-direction:column; align-items:stretch; gap:12px; margin:0; padding:0;
}
.nd-btn { width:100%; margin:0 !important; }
.nd-btn .wp-block-button__link {
  display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; box-sizing:border-box;
  padding:16px 24px; border-radius:999px; font:700 16px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.04em; text-align:center; text-decoration:none;
  transition:filter .2s, transform .2s;
}
.nd-btn:hover .wp-block-button__link { filter:brightness(1.05); transform:translateY(-1px); }
.nd-btn--grad .wp-block-button__link { background:var(--nd-grad) !important; color:#fff !important; border:0 !important; box-shadow:0 4px 10px rgba(176,60,120,.28); }
.nd-btn--cancer .wp-block-button__link { background:var(--nd-band) !important; color:var(--nd-magenta) !important; border:1.5px solid var(--nd-magenta) !important; box-shadow:none; }
.nd-btn--outline .wp-block-button__link { background:transparent !important; color:var(--nd-rose) !important; border:1.5px solid var(--nd-rose) !important; box-shadow:none; }
.entry-content .nd-more { align-items:center !important; }
.entry-content .nd-more .nd-btn { width:100%; max-width:360px; }
.entry-content .nd-more .nd-btn .wp-block-button__link { width:100%; }
.entry-content .nd-cta--reserve { padding-bottom:20px; }
.nd-btn--xl .wp-block-button__link { min-height:64px; font-size:22px !important; letter-spacing:.06em; box-shadow:0 6px 16px rgba(194,71,135,.3); }
.nd-btn--xl .wp-block-button__link::after { content:""; width:9px; height:9px; margin-left:14px; border-top:3px solid #fff; border-right:3px solid #fff; transform:rotate(45deg); }

/* ---------- TOPスライド（SP） ---------- */
.yss-fv { --nd-strip:66px; }
.yss-fv .yss-fv__overlay { background:linear-gradient(180deg,rgba(58,53,50,.55) 0%,rgba(58,53,50,.42) 28%,rgba(58,53,50,.12) 45%,rgba(58,53,50,0) 70%) !important; opacity:1 !important; }
.yss-fv .yss-fv__content { top:34px !important; transform:none !important; left:20px !important; right:20px !important; display:flex; flex-direction:column; align-items:center; gap:10px; pointer-events:none; }
.yss-fv .yss-fv__subtitle { order:-1; margin:0 !important; font:700 16px/1.2 "Noto Sans JP",sans-serif !important; letter-spacing:0; color:#fff !important; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.yss-fv .yss-fv__title { font:600 30px/1.4 var(--nd-serif) !important; letter-spacing:.06em; max-width:20em; text-wrap:balance; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.yss-fv .yss-fv__button { display:none !important; }
.yss-fv .yss-fv__arrow { width:auto; height:auto; font-size:0; top:201px !important; }
.yss-fv .yss-fv__arrow::before { content:""; display:block; width:12px; height:12px; border-left:3px solid #fff; border-bottom:3px solid #fff; filter:drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
.yss-fv .yss-fv__arrow--prev { left:14px !important; } .yss-fv .yss-fv__arrow--prev::before{ transform:rotate(45deg); }
.yss-fv .yss-fv__arrow--next { right:14px !important; } .yss-fv .yss-fv__arrow--next::before{ transform:rotate(-135deg); }
.yss-fv .yss-fv__dots { bottom:calc(var(--nd-strip) + 18px) !important; gap:10px; }
.yss-fv .yss-fv__dot { opacity:.5; } .yss-fv .yss-fv__dot.is-active{ opacity:1; }

@media (max-width: 767px){
  .yss-fv .yss-fv__viewport { position:absolute; inset:0 0 var(--nd-strip) 0; height:auto !important; }
  .nd-fv-strip {
    position:absolute; z-index:6; left:0; right:0; bottom:0; height:var(--nd-strip); box-sizing:border-box; padding:0 150px 0 20px;
    display:flex; flex-direction:column; justify-content:center; gap:3px; background:var(--nd-grad); color:#fff !important; text-decoration:none !important;
  }
  .nd-fv-strip__label { font:700 20px/1.1 "Noto Sans JP",sans-serif !important; letter-spacing:.06em; display:flex; align-items:center; gap:8px; }
  .nd-fv-strip__label::after { content:""; width:8px; height:8px; border-top:2.6px solid #fff; border-right:2.6px solid #fff; transform:rotate(45deg); }
  .nd-fv-strip__note { font:500 16px/1.1 "Noto Sans JP",sans-serif !important; opacity:.92; }
  .nd-fv-badge {
    position:absolute; z-index:7; right:12px; top:412px; width:132px; height:132px; box-sizing:border-box; border-radius:50%;
    background:#fff; border:4px solid #EAA8D8; box-shadow:0 3px 10px rgba(0,0,0,.22); color:var(--nd-magenta) !important;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-family:"Noto Sans JP",sans-serif; font-weight:700; text-align:center;
  }
  .nd-fv-badge__label { font-size:16px; letter-spacing:.1em; line-height:1.1; }
  .nd-fv-badge__price { display:flex; align-items:baseline; justify-content:center; line-height:1; }
  .nd-fv-badge__price b { font-size:32px; font-weight:700; }
  .nd-fv-badge__price i { font-size:18px; font-style:normal; margin-left:1px; }
  .nd-fv-badge__tax { font-size:16px; line-height:1.1; }
}

/* ---------- ヒーロー下の案内帯 ---------- */
.entry-content .nd-hero-info { margin-bottom:0 !important; background:#fff; position:relative; z-index:2; width:100vw; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
.entry-content .nd-hero-info__inner { max-width:var(--nd-w); margin-inline:auto; padding:28px 20px 32px; display:flex; flex-direction:column; gap:14px; }
.entry-content .nd-hero-info__lead, .entry-content .nd-hero-info__offer { display:none; }
.entry-content .nd-hero-info__features { list-style:none; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.entry-content .nd-hero-info__features li:nth-child(4) { margin-top:-14px; }
.entry-content .nd-hero-info__features li { margin:0; padding:0; font:500 16px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; }
.entry-content .nd-hero-info__sub { margin-top:0; }

/* ---------- 体験レッスン受付中 ---------- */
.nd-section--trial .yoga-section__inner { gap:18px; }
.entry-content .nd-trial__title { font:700 20px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; text-align:center; }
.entry-content .nd-trial__banner { margin:0 !important; }
.entry-content .nd-trial__banner img { display:block; width:100%; border-radius:12px; box-shadow:0 8px 22px rgba(176,60,120,.36); }
/* 体験バナー：PC＝横長／スマホ＝縦長 */
.entry-content .nd-trial__banner--pc { display:none !important; }
@media (min-width: 768px){ .entry-content .nd-trial__banner--pc { display:block !important; } .entry-content .nd-trial__banner--sp { display:none !important; } }

/* 体験バナー：ホバーでふわっと浮く（マウス操作のときだけ） */
.entry-content .nd-trial__banner a { display:block; border-radius:12px; transition:transform .3s ease; }
.entry-content .nd-trial__banner img { transition:box-shadow .3s ease, filter .3s ease; }
@media (hover:hover) and (pointer:fine){
  .entry-content .nd-trial__banner a:hover, .entry-content .nd-trial__banner a:focus-visible { transform:translateY(-6px) scale(1.012); }
  .entry-content .nd-trial__banner a:hover img, .entry-content .nd-trial__banner a:focus-visible img { box-shadow:0 16px 32px rgba(176,60,120,.42); filter:brightness(1.03); }
}
.entry-content .nd-trial__banner a:focus-visible { outline:3px solid var(--nd-magenta); outline-offset:4px; }
@media (prefers-reduced-motion:reduce){ .entry-content .nd-trial__banner a, .entry-content .nd-trial__banner img { transition:none; } .entry-content .nd-trial__banner a:hover { transform:none; } }
.entry-content .nd-trial__note { font-size:14px; line-height:1.4; text-align:center; color:var(--nd-ink) !important; }

/* ---------- レッスン紹介 ---------- */
.entry-content .nd-levels { display:flex; flex-direction:column; gap:24px; }
.entry-content .nd-level { background:#fff; border-radius:14px; padding:22px 20px; display:flex; flex-direction:column; gap:12px; }
.entry-content .nd-level__head { display:flex; align-items:center; gap:10px; }
.entry-content .nd-level__badge { flex:none; background:var(--nd-coral); color:#fff !important; font:700 14px/1.2 "Noto Sans JP",sans-serif !important; padding:4px 10px; border-radius:8px; }
.entry-content .nd-level__title { font:700 15.5px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; }
.entry-content .nd-level__desc { font-size:16px; line-height:1.7; color:var(--nd-sub) !important; }
.entry-content .nd-level__tags { display:flex; flex-wrap:wrap; gap:10px; }
.entry-content .nd-level--2 .nd-level__tags { display:grid; grid-template-columns:repeat(2,max-content); gap:10px; }
.entry-content .nd-chip { background:var(--nd-peach); color:var(--nd-ink) !important; font:500 14px/1.2 "Noto Sans JP",sans-serif !important; padding:8px 16px; border-radius:20px; margin:0 !important; }

.entry-content .nd-specials { display:flex; flex-direction:column; gap:24px; }
.entry-content .nd-special { background:#fff; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; gap:14px; }
.entry-content .nd-special__image { margin:0 !important; }
.entry-content .nd-special__image img { display:block; width:100%; height:180px; object-fit:cover; object-position:50% 30%; }
.entry-content .nd-special__body { padding:0 20px 20px; display:flex; flex-direction:column; gap:8px; }
.entry-content .nd-special__title { font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; }
.entry-content .nd-special__desc { font-size:16px; line-height:1.7; color:var(--nd-sub) !important; }
.nd-home .nd-special--cancer { margin-top:8px !important; }

.entry-content .nd-special:nth-child(3) .nd-special__image img { object-position:50% 50%; }
.entry-content .nd-special--cancer .nd-special__image img { object-position:50% 50%; }

/* ---------- インストラクター ---------- */
.entry-content .nd-inst-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.entry-content .nd-inst { background:#fff; border-radius:14px; padding:24px 16px 22px; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.entry-content .nd-inst__photo { margin:0 !important; width:104px; height:104px; }
.entry-content .nd-inst__photo img { width:104px; height:104px; object-fit:cover; border-radius:50%; display:block; }
.entry-content .nd-inst__name { font:700 15px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; }
.entry-content .nd-inst__classes { font-size:14px; line-height:1.65; color:var(--nd-sub) !important; }


/* インストラクターのカード全体をタップで、詳細ページのその人の位置へ（名前のリンクをカード全面に広げる） */
.entry-content .nd-inst { position:relative; transition:transform .25s ease, box-shadow .25s ease; }
.entry-content .nd-inst__name a { color:inherit !important; text-decoration:none !important; }
.entry-content .nd-inst__name a::after { content:""; position:absolute; inset:0; border-radius:14px; }
.entry-content .nd-inst__name a:focus-visible::after { outline:3px solid var(--nd-magenta); outline-offset:2px; }
@media (hover:hover) and (pointer:fine){
  .entry-content .nd-inst:hover { transform:translateY(-4px); box-shadow:0 10px 22px rgba(176,60,120,.16); }
}
@media (prefers-reduced-motion:reduce){ .entry-content .nd-inst { transition:none; } .entry-content .nd-inst:hover { transform:none; } }
/* 詳細ページ：固定ヘッダーに隠れないよう、飛び先の上に余白 */
.entry-content .nd-profile { scroll-margin-top:84px; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } }

/* ---------- 料金 ---------- */
.entry-content .nd-plan-heading { display:flex !important; align-items:center; gap:10px; font:700 20px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.1em; color:var(--nd-coral) !important; }
.entry-content .nd-plan-heading::before {
  content:""; flex:none; width:30px; height:30px; border-radius:50%; background:var(--nd-coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 13'%3E%3Cpath d='M1.5 6.5l4.2 4.2L15.5 1.8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/17px 13px no-repeat;
}
.nd-home .nd-plan-heading--other { margin-top:8px !important; }
.nd-home .nd-plans { display:flex; flex-direction:column; gap:12px; margin-top:-8px !important; }
.entry-content .nd-plan { position:relative; background:var(--nd-page); border-radius:12px; padding:18px; display:flex; flex-direction:column; gap:4px; border:1.5px solid transparent; }
.entry-content .nd-plan.is-featured { background:var(--nd-soft); border-color:var(--nd-rose); }
.entry-content .nd-plan__row { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.entry-content .nd-plan__name { font:700 16px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; }
.entry-content .nd-plan__price { font:700 18px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; white-space:nowrap; }
.entry-content .nd-plan__price, .entry-content .nd-row__price { display:flex; align-items:baseline; justify-content:flex-end; gap:0; white-space:nowrap; }
.entry-content .nd-plan__price strong { font:700 18px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; }
.entry-content .nd-row__price strong { font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; }
.entry-content .nd-plan__price span, .entry-content .nd-row__price span, .entry-content .nd-tax { font:400 14px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; }
.entry-content .nd-plan__row { align-items:baseline; }
.entry-content .nd-tax { white-space:nowrap; }
/* 全角「（」の左側の余白ぶん詰めて、金額のすぐ横に税込を置く */
.entry-content .nd-plan__price span, .entry-content .nd-row__price span, .entry-content .nd-fee-row__price span { margin-left:-.35em; }
.entry-content .nd-plan.is-featured { margin-top:6px; }
.entry-content .nd-plan__badge { position:absolute; top:-12px; right:16px; margin:0 !important; background:var(--nd-coral); color:#fff !important; font:700 14px/1.4 "Noto Sans JP",sans-serif !important; padding:3px 12px; border-radius:999px; box-shadow:0 2px 6px rgba(176,60,120,.25); }
.entry-content .nd-plan__note { text-align:right; font-size:16px; line-height:1.5; color:var(--nd-sub) !important; }
/* 入会金：料金の一番上の目立つカード（帯見出し＋プランのタグ） */
.entry-content .nd-home .nd-pgroups + .nd-fee-card { margin-top:16px !important; }
.entry-content .nd-fee-card { background:var(--nd-soft); border:1px solid var(--nd-line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; text-align:center; }
.entry-content .nd-fee-card__band { background:var(--nd-coral); color:#fff !important; font:700 16px/1.5 "Noto Sans JP",sans-serif !important; letter-spacing:.06em; padding:12px 16px; margin:0 !important; }
.entry-content .nd-fee-card__body { display:flex; flex-direction:column; align-items:center; gap:10px; padding:16px 12px 22px; }
.entry-content .nd-fee-card__tags { display:flex; justify-content:center; flex-wrap:nowrap; gap:6px; }
.entry-content .nd-fee-tag { background:#fff; border:1px solid var(--nd-coral); border-radius:999px; color:var(--nd-coral) !important; font:700 13px/1.4 "Noto Sans JP",sans-serif !important; padding:5px 10px; white-space:nowrap; margin:0 !important; }
.entry-content .nd-fee-card__rows { width:100%; max-width:340px; display:flex; flex-direction:column; gap:8px; padding:0 12px; box-sizing:border-box; }
.entry-content .nd-fee-card__small { font:400 14px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; margin:0 !important; text-align:center; }
.entry-content .nd-fee-row { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.entry-content .nd-fee-row__label { font:400 16px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; text-align:left; margin:0 !important; }
.entry-content .nd-fee-row__label strong { font-weight:700 !important; }
.entry-content .nd-fee-row__price { display:flex; align-items:baseline; gap:0; margin:0 !important; white-space:nowrap; }
.entry-content .nd-fee-row__price { font:700 16px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-magenta) !important; }
.entry-content .nd-fee-card .nd-fee-row:first-child .nd-fee-row__label { font-weight:700 !important; }
.entry-content .nd-fee-row__price span { font:400 14px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; }
@media (min-width: 768px){
  .entry-content .nd-fee-card__body { padding:16px 20px 22px; }
  .entry-content .nd-fee-tag { font-size:14px !important; padding:6px 14px; }
  }
.entry-content .nd-plan-mat.nd-plan-mat--accent { font-weight:700 !important; color:var(--nd-coral) !important; }
.entry-content .nd-price__note { font-size:16px; line-height:1.5; color:var(--nd-sub) !important; }
.entry-content .nd-pgroups { display:flex; flex-direction:column; gap:24px; }
.entry-content .nd-pgroup { background:#fff; border:.5px solid var(--nd-line); border-radius:16px; overflow:hidden; box-shadow:0 0 0 .5px var(--nd-line); }
.entry-content .nd-pgroup__title { margin:0 !important; padding:14px 20px !important; font:700 16px/1.5 "Noto Sans JP",sans-serif !important; border:0 !important; }
.entry-content .nd-pgroup--rose .nd-pgroup__title { background:var(--nd-soft) !important; color:var(--nd-rose) !important; }
.entry-content .nd-pgroup--peach .nd-pgroup__title { background:var(--nd-peach) !important; color:var(--nd-coral) !important; }
.entry-content .nd-pgroup__body { padding:20px; display:flex; flex-direction:column; gap:16px; }
.entry-content .nd-row { display:grid; grid-template-columns:1fr auto; column-gap:12px; row-gap:4px; align-items:baseline; }
.entry-content .nd-row__label { font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; }
.entry-content .nd-row__price { font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; text-align:right; }
.entry-content .nd-row__note { grid-column:1 / -1; text-align:right; font-size:16px; line-height:1.6; color:var(--nd-sub) !important; }


/* 料金：見出し＋マット注記／非会員グループ */
.entry-content .nd-plan-block { display:flex; flex-direction:column; gap:8px; }
.entry-content .nd-plan-block--other { margin-top:8px !important; }
.entry-content .nd-plan-mat { font:400 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; }
.entry-content .nd-price__note { font-weight:700 !important; }
.entry-content .nd-psub { display:flex; flex-direction:column; gap:12px; }
.entry-content .nd-psub + .nd-psub { border-top:1px solid var(--nd-line); padding-top:20px; }
.entry-content .nd-psub .nd-row { column-gap:8px; }
.entry-content .nd-psub .nd-row__label { white-space:nowrap; }
.entry-content .nd-psub__title { font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-coral) !important; }
.nd-br-sp { display:none; }
@media (max-width: 767px){ .nd-br-sp { display:inline; } }
.entry-content .nd-row__note--solo { text-align:right; font-size:16px; line-height:1.6; color:var(--nd-sub) !important; margin-top:0 !important; }

/* ---------- スケジュール ---------- */
.nd-section--schedule .yoga-section__inner { gap:18px; }
.entry-content .nd-schedule__image { margin:0 !important; }
.entry-content .nd-schedule__image img { display:block; width:100%; border:1px solid var(--nd-line); border-radius:12px; cursor:zoom-in; }
.entry-content .nd-zoom-hint { display:flex; align-items:center; justify-content:center; gap:6px; font:500 14px/1.4 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; }
.entry-content .nd-zoom-hint::before {
  content:""; width:20px; height:20px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23B95F88' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5'/%3E%3Cpath d='M13 13l5 5'/%3E%3C/svg%3E") center/20px no-repeat;
}

/* ---------- FAQ ---------- */
.nd-section--faq .yoga-section__inner { gap:16px; }
/* 質問どうしの間隔を半分に（見出しとの間隔は変えない） */
.entry-content .nd-section--faq .nd-faq__item + .nd-faq__item { margin-top:-8px !important; }
@media (min-width:768px){ .entry-content .nd-section--faq .nd-faq__item + .nd-faq__item { margin-top:-16px !important; } }
.entry-content .nd-faq__item { background:#FBF8F5; border:0 !important; box-shadow:none !important; border-radius:12px; padding:20px 18px; margin:0 !important; }
.entry-content .nd-faq__item summary { list-style:none; display:flex; align-items:center; gap:12px; cursor:pointer; font:700 16px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; padding:0 !important; }
.entry-content .nd-faq__item summary::-webkit-details-marker { display:none; }
.entry-content .nd-faq__item summary::before { content:"Q"; flex:none; font:700 20px/1 var(--nd-latin) !important; color:var(--nd-rose) !important; }
.entry-content .nd-faq__item summary::after { content:""; flex:none; margin-left:auto; width:14px; height:14px; background:linear-gradient(var(--nd-rose),var(--nd-rose)) center/100% 2px no-repeat, linear-gradient(var(--nd-rose),var(--nd-rose)) center/2px 100% no-repeat; transition:background-size .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1); }
.entry-content .nd-faq__item.is-open summary::after { background-size:100% 2px, 2px 0; transform:rotate(180deg); }
/* 開閉のなめらかな動きは studio-custom.js（高さをアニメーション）。JSが使えない環境では通常の開閉になります */
.entry-content .nd-faq__item { transition:background-color .3s ease; }
.entry-content .nd-faq__item.is-open { background:#FAF4F0; }
.entry-content .nd-faq__item > p { transition:opacity .35s ease .05s; }
@media (prefers-reduced-motion:reduce){ .entry-content .nd-faq__item, .entry-content .nd-faq__item summary::after { transition:none; } }
.entry-content .nd-home .nd-faq__item > p { margin-top:10px !important; font-size:16px; line-height:1.7; color:var(--nd-sub) !important; }

/* ---------- アクセス ---------- */
.entry-content .nd-access { display:flex; flex-direction:column; gap:18px; }
.entry-content .nd-access__map { border-radius:12px; overflow:hidden; background:#DAD8D4; height:220px; }
.entry-content .nd-access__map iframe { width:100%; height:100%; display:block; border:0; }
.entry-content .nd-info { background:#fff; border-radius:12px; padding:20px; display:flex; flex-direction:column; gap:12px; }
.entry-content .nd-info__row { display:flex; flex-direction:column; gap:4px; }
.entry-content .nd-info__label { font:700 14px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-coral) !important; }
.entry-content .nd-info__value { font-size:16px; line-height:1.6; color:var(--nd-ink) !important; }
.entry-content .nd-info__value a { color:inherit !important; text-decoration:none; }

/* ---------- インストラクター詳細ページ ---------- */
.entry-content .nd-instpage .nd-profiles { display:flex; flex-direction:column; gap:16px; }
.entry-content .nd-profile { background:#fff; border-radius:14px; padding:24px 20px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.entry-content .nd-profile__photo { margin:0 !important; width:128px; height:128px; }
.entry-content .nd-profile__photo img { width:128px; height:128px; object-fit:cover; border-radius:50%; display:block; }
.entry-content .nd-profile__name { font:700 20px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-rose) !important; text-align:center; }
.entry-content .nd-profile__tags { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.entry-content .nd-instpage .nd-profile__qtitle { align-self:flex-start; margin-top:4px !important; font:700 14px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-coral) !important; }
.entry-content .nd-profile__quals { align-self:stretch; list-style:none; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:6px; }
.entry-content .nd-profile__quals li { position:relative; margin:0; padding-left:1em; font-size:14px; line-height:1.7; color:var(--nd-sub) !important; }
.entry-content .nd-profile__quals li::before { content:"・"; position:absolute; left:0; }
.nd-section--closing { background:var(--nd-band); }
.nd-section--closing .yoga-section__inner { gap:18px; }

/* ---------- フッター ---------- */
/* Cocoon は 834px 以下でフッターウィジェットを隠すので、常に表示する */
.footer-widgets{ display:block !important; margin:0 auto !important; padding:0; }
.footer-widgets-mobile{ display:none !important; }
.footer-left, .footer-right{ display:none !important; }
.footer{ background:var(--nd-band) !important; margin-top:0 !important; }
.footer-in{ max-width:var(--nd-w); }
.footer-widgets > div.footer-center, .footer-widgets .footer-center{ width:100% !important; max-width:none; padding:44px 20px 12px !important; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.footer .widget{ margin:0 !important; width:100%; }
.nd-footer-brand{ display:flex; flex-direction:column; align-items:center; gap:16px; }
.nd-footer-brand__mark{ width:64px !important; height:64px !important; }
.nd-footer-brand__name{ font:600 24px/1.4 var(--nd-latin) !important; letter-spacing:.08em; color:var(--nd-rose) !important; }
.footer .menu, .footer .menu-footer-container ul, .footer .widget_nav_menu ul{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px; margin:0; padding:0; list-style:none; }
.footer .widget_nav_menu li{ margin:0; padding:0; border:0; }
.footer .widget_nav_menu a{ color:var(--nd-ink) !important; font:400 14px/1.6 "Noto Sans JP",sans-serif !important; text-decoration:none; padding:0; }
.footer .widget_nav_menu a::before{ display:none !important; }
.nd-sns{ display:flex; justify-content:center; gap:16px; }
.nd-sns__btn{ width:42px; height:42px; border-radius:50%; background:var(--nd-rose); color:#fff !important; display:grid; place-items:center; text-decoration:none; }
.nd-footer-address{ margin:12px 0 0 !important; font:400 14px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; text-align:center; }
.nd-footer-address a{ color:inherit !important; text-decoration:none; }
/* 下段：ロゴ・Cocoonのメニューは使わず、コピーライトだけ中央に */
.footer-bottom{ display:block !important; background:transparent !important; margin:0 !important; padding:8px 20px 32px !important; text-align:center; }
.footer-bottom-logo, .navi-footer, .footer-bottom .navi-footer-in{ display:none !important; }
.footer-bottom-content{ width:100%; padding:0 !important; }
.footer .copyright, .copyright{ color:var(--nd-ink) !important; font:400 14px/1.6 "Noto Sans JP",sans-serif !important; text-align:center; margin:0 !important; }
.go-to-top, .go-to-top-button{ background:var(--nd-rose) !important; color:#fff !important; border-radius:50%; }


/* ---------- PCヘッダー（1025px〜）：ロゴ左／メニュー右・1行 ---------- */
@media (min-width: 1025px){
  #header-container{ background:#fff; box-shadow:none; }
  #header-container .header-container-in.hlt-top-menu{ max-width:1440px !important; width:100%; box-sizing:border-box; padding:14px 80px !important; align-items:center; justify-content:space-between; min-height:80px; }
  #header-container .header{ width:auto !important; flex:none; padding:0 !important; background:transparent; }
  #header-container .header-in{ padding:0 !important; min-height:0; width:auto; }
  #header-container .logo-header{ padding:0 !important; margin:0; }
  #header-container .logo-header img{ height:52px !important; width:auto !important; max-height:52px !important; display:block; }
  #header-container .logo-header img.site-fixed-logo-image{ display:none !important; }
  #navi{ flex:1 1 auto; width:auto !important; background:transparent !important; }
  #navi .navi-in{ padding:0 !important; }
  #navi .menu-header{ height:auto !important; justify-content:flex-end; align-items:center; gap:28px; flex-wrap:nowrap; }
  #navi .menu-header > li{ width:auto !important; height:auto !important; background:transparent !important; }
  #navi .menu-header > li > a{ padding:0 !important; background:transparent !important; color:var(--nd-ink) !important; font:500 16px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.08em; white-space:nowrap; height:auto; }
  #navi .menu-header > li > a:hover{ color:var(--nd-rose) !important; }
  #navi .menu-header > li > a .item-description{ display:none; }
  /* ホバーの下線：文字の幅に合わせて、文字の少し下に出す（テーマ既定の下線は余白ゼロだと文字に重なるため上書き） */
  #navi .menu-header > li > a{ position:relative; display:inline-block; }
  #navi .menu-header > li > a::after{ left:0 !important; right:0; bottom:-6px !important; width:100% !important; height:2px; background:var(--nd-rose) !important; transform:scaleX(0) !important; transform-origin:left center; transition:transform .3s ease; }
  #navi .menu-header > li > a:hover::after{ transform:scaleX(1) !important; }
  /* 右端の予約ボタンは下線なし。かわりに少し浮き上がる */
  #navi .menu-header > li.nd-nav-cta > a::after{ display:none !important; }
  #navi .menu-header > li.nd-nav-cta > a{ transition:transform .25s ease, box-shadow .25s ease, filter .25s ease; box-shadow:0 2px 6px rgba(176,60,120,.2); }
  #navi .menu-header > li.nd-nav-cta > a:hover{ transform:translateY(-3px); box-shadow:0 8px 16px rgba(176,60,120,.32); }
  #navi .menu-header > li.nd-nav-cta > a{ background:var(--nd-grad) !important; color:#fff !important; font-weight:700 !important; padding:12px 24px !important; border-radius:999px; letter-spacing:.1em; }
  #navi .menu-header > li.nd-nav-cta > a:hover{ color:#fff !important; filter:brightness(1.06); }
}

/* ---------- スマホヘッダー ---------- */
.yss-mheader { min-height:64px; box-shadow:none; border-bottom:0; }
.yss-mheader__toggle span { display:none; }
.yss-mheader__toggle .fa { font-size:24px; }

/* ============================================================
   PC（768px〜）
   ============================================================ */
@media (min-width: 768px){
  .nd-section { padding:56px 0 72px !important; }
  .nd-section .yoga-section__inner { gap:32px; padding-inline:0; }
  .entry-content .nd-section h2.yoga-section__title { font-size:24px !important; margin:-24px 0 0 !important; }
  .entry-content .nd-lead { font-size:16px; }
  /* ボタン幅はすべて同じ（PC：400px、768〜1099px：340px、スマホ：横いっぱい） */
  .entry-content .nd-home, .entry-content .nd-instpage { --nd-btn-w:400px; }
  .entry-content .nd-home .wp-block-buttons.nd-cta, .entry-content .nd-instpage .wp-block-buttons.nd-cta { max-width:var(--nd-btn-w) !important; width:100% !important; margin-inline:auto !important; }
  .entry-content .nd-more .nd-btn { max-width:var(--nd-btn-w); }
  .entry-content .nd-hero-info__cta { max-width:var(--nd-btn-w); }

  /* スライド：写真のみ（文字・帯・バッジはスマホ専用） */
  .yss-fv .yss-fv__content, .nd-fv-strip, .nd-fv-badge { display:none !important; }
  .yss-fv .yss-fv__overlay { display:none !important; }
  .yss-fv .yss-fv__arrow { top:50% !important; transform:translateY(-50%) !important; width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.92); box-shadow:0 2px 8px rgba(0,0,0,.18); }
  .yss-fv .yss-fv__arrow::before { width:11px; height:11px; border-color:var(--nd-ink); filter:none; }
  .yss-fv .yss-fv__arrow--prev { left:24px !important; } .yss-fv .yss-fv__arrow--next{ right:24px !important; }
  .yss-fv .yss-fv__arrow { display:flex !important; align-items:center; justify-content:center; padding:0 !important; line-height:0; }  /* ボタン内の文字(‹)がグリッドの行を作って上にずれるので、flexで上下中央に */
  .yss-fv .yss-fv__arrow::before { margin:0 !important; }
  .yss-fv .yss-fv__arrow--prev::before { transform:translateX(4px) rotate(45deg); }
  .yss-fv .yss-fv__arrow--next::before { transform:translateX(-4px) rotate(-135deg); }
  .yss-fv .yss-fv__dots { bottom:20px !important; }

  /* Anytime 風の案内帯 */
  .entry-content .nd-hero-info { box-shadow:0 10px 24px rgba(176,60,120,.14); }
  .entry-content .nd-hero-info__inner { max-width:1240px; padding:44px 24px 48px; flex-direction:row; justify-content:space-between; align-items:center; gap:32px; }
  .entry-content .nd-hero-info__lead { display:flex; flex-direction:column; gap:14px; flex:0 1 auto; min-width:0; }
  .entry-content .nd-hero-info__eyebrow { font:700 20px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.04em; color:var(--nd-magenta) !important; }
  .entry-content .nd-hero-info__catch { font:600 clamp(28px,2.6vw,38px)/1.35 var(--nd-serif) !important; letter-spacing:.03em; color:var(--nd-ink) !important; white-space:nowrap; }
  .entry-content .nd-hero-info__features { align-items:flex-start; text-align:left; gap:8px; flex:0 1 340px; }
  .entry-content .nd-hero-info__features li { display:flex; align-items:center; gap:12px; font:700 18px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.02em; color:var(--nd-ink) !important; }
  .entry-content .nd-hero-info__features li::before {
    content:""; flex:none; width:26px; height:26px; border-radius:50%; background:var(--nd-magenta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 7'%3E%3Cpath d='M1 3.5l2.6 2.6L9 1' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px 9px no-repeat;
  }
  .entry-content .nd-hero-info__features li br { display:inline; }
  .entry-content .nd-hero-info__features li:nth-child(4) { margin-top:0; }
  .entry-content .nd-sp-only { display:none; }
  .entry-content .nd-hero-info__offer { display:flex; flex-direction:column; align-items:center; gap:12px; flex:0 0 400px; }
  .entry-content .nd-hero-info__price { display:flex; align-items:center; justify-content:center; gap:10px; }
  .entry-content .nd-offer-pill { background:var(--nd-magenta); color:#fff !important; font:700 18px/1 "Noto Sans JP",sans-serif !important; letter-spacing:.12em; padding:9px 16px; border-radius:999px; white-space:nowrap; }
  .entry-content .nd-price { white-space:nowrap; display:flex; align-items:baseline; gap:2px; color:var(--nd-magenta) !important; font-weight:700; font-size:56px; line-height:1; }
  .entry-content .nd-price__num { font-size:56px; line-height:1; } .entry-content .nd-price__yen{ font-size:24px; } .entry-content .nd-price__tax{ font-size:18px; }
  .entry-content .nd-hero-info__cta { width:100%; }
  .entry-content .nd-hero-info__note { font:500 18px/1.4 "Noto Sans JP",sans-serif !important; letter-spacing:.08em; color:var(--nd-ink) !important; }
  .nd-home .wp-block-buttons.nd-hero-info__sub{ display:none !important; }

  /* レッスン */
  .entry-content .nd-levels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .entry-content .nd-level__title { font-size:18px !important; }
  .entry-content .nd-specials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
  .entry-content .nd-special__image img { height:220px; }
  .entry-content .nd-special--wide { grid-column:1 / -1; flex-direction:row; align-items:stretch; gap:0; }
  .entry-content .nd-special--wide .nd-special__image { flex:0 0 50%; }
  .entry-content .nd-special--wide .nd-special__image { position:relative; min-height:260px; }
  .entry-content .nd-special--wide .nd-special__image img { position:absolute; inset:0; width:100%; height:100%; min-height:0; }
  .entry-content .nd-special--wide .nd-special__body { flex:1 1 50%; padding:24px 32px; justify-content:center; }
  .entry-content .nd-specials > .wp-block-buttons { grid-column:1 / -1; }
  .entry-content .nd-cta--reserve { padding-bottom:12px; }
  .nd-home .nd-special--cancer { margin-top:12px !important; }
  .entry-content .nd-special__title { font-size:18px !important; }

  .entry-content .nd-inst-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }

  .entry-content .nd-plan-heading { font-size:22px !important; }
  .entry-content .nd-plans { gap:14px; }
  .entry-content .nd-pgroups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
  .entry-content .nd-pgroup--wide { grid-column:1 / -1; }
  .entry-content .nd-pgroup--wide .nd-pgroup__body { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:start; }
  .entry-content .nd-psub + .nd-psub { border-top:0; padding-top:0; }

  .entry-content .nd-schedule__image img { border-radius:14px; }
  .entry-content .nd-zoom-hint { display:none !important; }

  .entry-content .nd-access { flex-direction:row; align-items:stretch; gap:24px; }
  .entry-content .nd-access__map { flex:1; height:auto; min-height:380px; }
  .entry-content .nd-info { flex:0 0 326px; }

  .entry-content .nd-instpage .nd-profiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }

  .nd-footer-brand__mark { width:112px; height:112px; }
  .nd-footer-brand__name { font-size:32px; }
  .footer .menu a, .nd-footer-address, .copyright, .footer .copyright { font-size:16px; }
  .nd-sns { gap:24px; } .nd-sns__btn{ width:64px; height:64px; }
  .nd-sns__btn svg { width:30px; height:30px; }
}


/* タブレット幅（768〜1099px）：案内帯は「見出し → 特徴 / 価格」の2段に */
@media (min-width: 768px) and (max-width: 1099px){
  .entry-content .nd-hero-info__inner { flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:24px 40px; padding:36px 24px 40px; }
  .entry-content .nd-hero-info__lead { flex:1 1 100%; align-items:center; text-align:center; }
  .entry-content .nd-hero-info__features { flex:0 1 330px; }
  .entry-content .nd-hero-info__offer { flex:0 1 340px; }
  .entry-content .nd-home, .entry-content .nd-instpage { --nd-btn-w:340px; }
  .entry-content .nd-hero-info__catch { font-size:34px !important; }
}


/* ---------- 料金表：PCは「ブロックごとに1つの表」（スマホは今までのカード表示） ---------- */
.nd-br-pc { display:none; }
@media (min-width: 768px){
  .nd-br-pc { display:inline; }
  .entry-content .nd-dot { display:none; }

  /* ベーシックプラン：3行を1つの表に */
  .entry-content .nd-plans { gap:0; margin-top:0 !important; background:#fff; border:1px solid var(--nd-line); border-radius:16px; overflow:hidden; }
  .entry-content .nd-plan { position:relative; display:grid; grid-template-columns:minmax(120px,200px) 1fr minmax(190px,240px); column-gap:24px; align-items:center; padding:16px 24px; margin:0 !important; background:transparent; border:0; border-radius:0; }
  .entry-content .nd-plan + .nd-plan { border-top:1px solid var(--nd-line); }
  .entry-content .nd-plan.is-featured { background:var(--nd-soft); }
  .entry-content .nd-plan__row { display:contents; }
  .entry-content .nd-plan__name { grid-column:1; grid-row:1; }
  .entry-content .nd-plan__note { grid-column:2; grid-row:1; text-align:left; margin:0 !important; }
  .entry-content .nd-plan__price { grid-column:3; grid-row:1; justify-content:flex-end; }
  .entry-content .nd-plan__badge { top:50%; right:auto; left:96px; transform:translateY(-50%); box-shadow:none; }

  /* その他の料金：枠をつなげて1つの表に（見出し帯＋行） */
  .entry-content .nd-pgroups { display:block; background:#fff; border:1px solid var(--nd-line); border-radius:16px; overflow:hidden; }
  .entry-content .nd-pgroup { border:0; border-radius:0; box-shadow:none; background:transparent; }
  .entry-content .nd-pgroup__title { padding:13px 24px !important; }
  .entry-content .nd-pgroup__body { padding:0; gap:0; }
  .entry-content .nd-row { display:grid; grid-template-columns:minmax(120px,200px) 1fr minmax(190px,240px); column-gap:24px; align-items:center; padding:16px 24px; }
  .entry-content .nd-row + .nd-row { border-top:1px solid var(--nd-line); }
  .entry-content .nd-row__label { grid-column:1; grid-row:1; text-align:left; }
  .entry-content .nd-row__note { grid-column:2; grid-row:1; grid-column-end:3; text-align:left; }
  .entry-content .nd-row__price { grid-column:3; grid-row:1; }
  .entry-content .nd-row__note--solo { grid-column:2; }
  .entry-content .nd-pgroup--wide, .entry-content .nd-pgroup--wide .nd-pgroup__body { display:block; }
}


/* ---------- 入会金：PCは左に見出し（コーラル）／右に金額の2カラム。スマホは上に帯 ---------- */
@media (min-width: 768px){
  .entry-content .nd-fee-card { display:grid; grid-template-columns:260px 1fr; grid-template-rows:auto auto auto; background:linear-gradient(90deg,var(--nd-coral) 260px,var(--nd-soft) 260px); text-align:left; }
  .entry-content .nd-fee-card__body { display:contents; }
  .entry-content .nd-fee-card__band { grid-column:1; grid-row:1; background:transparent; font-size:18px !important; text-align:center; padding:28px 24px 14px; }
  .entry-content .nd-fee-card__tags { grid-column:1; grid-row:2; flex-direction:column; align-items:center; gap:8px; padding:0 24px 28px; align-self:start; }
  .entry-content .nd-fee-tag { background:#fff; border:0; color:var(--nd-coral) !important; font-size:14px !important; padding:5px 14px; }
  .entry-content .nd-fee-card__rows { grid-column:2; grid-row:1 / span 2; max-width:none; width:auto; gap:14px; padding:24px 40px 8px; align-self:center; }
  .entry-content .nd-fee-row + .nd-fee-row { border-top:1px solid var(--nd-line); padding-top:14px; }
  .entry-content .nd-fee-row__price { font-size:18px !important; }
  .entry-content .nd-fee-row__price .nd-tax { font-size:14px !important; }
  .entry-content .nd-fee-card__small { grid-column:2; grid-row:3; text-align:left; padding:6px 40px 24px; }
}

/* ---------- スケジュール拡大表示（JS） ---------- */
.nd-lightbox { position:fixed; inset:0; z-index:100000; background:rgba(58,53,50,.88); display:none; flex-direction:column; align-items:center; padding:56px 12px 24px; }
.nd-lightbox.is-open { display:flex; }
.nd-lightbox__scroll { width:100%; max-width:1100px; flex:1; overflow:auto; -webkit-overflow-scrolling:touch; }
.nd-lightbox__scroll img { display:block; width:900px; max-width:none; margin:0 auto; border-radius:8px; background:#fff; }
.nd-lightbox__close { position:absolute; top:12px; right:12px; width:40px; height:40px; border:0; border-radius:50%; background:#fff; color:var(--nd-ink) !important; font:400 24px/1 sans-serif !important; cursor:pointer; }
.nd-lightbox__hint { margin-top:10px; font-size:14px; color:#fff !important; opacity:.85; }
@media (min-width:1100px){ .nd-lightbox__scroll img{ width:100%; } }

/* 料金内の改行：エディターで編集しても消えないよう、改行（<br>）はクラスなしの普通の改行にし、表示の切り替えは場所ごとのCSSで行う */
.entry-content .nd-plan__note br { display:none; }
.entry-content .nd-row__label br { display:inline; }
@media (min-width:768px){
  .entry-content .nd-plan__note br { display:inline; }
  .entry-content .nd-row__label br { display:none; }
}

/* スケジュール表の拡大表示：PCでは横スクロールの案内は不要 */
@media (min-width:1100px){ .nd-lightbox__hint { display:none; } }

/* フッターのリンク：ホバーで背景は付けず、文字色だけロゴと同じピンクに */
.footer .widget_nav_menu a:hover, .footer .widget_nav_menu a:focus-visible, .footer .menu a:hover, .footer .menu a:focus-visible,
.footer .widget_nav_menu li a:hover { background:transparent !important; background-color:transparent !important; color:var(--nd-rose) !important; }
.footer .widget_nav_menu a { transition:color .2s ease; }

/* ---------- 法的ページ（プライバシーポリシー／利用規約／特定商取引法） ---------- */
.nd-section--privacy, .nd-section--terms, .nd-section--tokushoho { background:#fff; }
.entry-content .nd-legalpage .nd-lead { text-align:left; font-size:16px; line-height:1.9; color:var(--nd-ink) !important; }
.entry-content .nd-legal { display:block; }
.entry-content .nd-legalpage .nd-legal .nd-legal__h { font:700 18px/1.5 "Noto Sans JP",sans-serif !important; color:var(--nd-ink) !important; border:0 !important; border-left:4px solid var(--nd-rose) !important; padding:2px 0 2px 12px !important; margin:40px 0 12px !important; background:none !important; }
.entry-content .nd-legalpage .nd-legal .nd-legal__h:first-child { margin-top:8px !important; }
.entry-content .nd-legalpage .nd-legal p { font-size:16px; line-height:1.9; color:var(--nd-ink) !important; margin:0 0 12px !important; }
.entry-content .nd-legalpage .nd-legal ul, .entry-content .nd-legalpage .nd-legal ol { margin:0 0 12px !important; padding-left:1.4em !important; }
.entry-content .nd-legalpage .nd-legal li { font-size:16px; line-height:1.9; color:var(--nd-ink) !important; margin:0 0 4px !important; }
.entry-content .nd-legal a { color:var(--nd-rose) !important; text-decoration:underline; word-break:break-all; }
.entry-content .nd-legalpage .nd-legal .nd-legal__date { text-align:right; color:var(--nd-sub) !important; margin-top:28px !important; }
.entry-content .nd-legal-table { margin:0 !important; width:100%; }
.entry-content .nd-legal-table table { width:100%; border-collapse:collapse; table-layout:fixed; }
.entry-content .nd-legal-table th, .entry-content .nd-legal-table td { border:1px solid var(--nd-line); padding:14px 16px; font-size:16px; line-height:1.8; text-align:left; vertical-align:top; color:var(--nd-ink) !important; }
.entry-content .nd-legal-table th { width:30%; background:var(--nd-soft); font-weight:700; }
@media (max-width: 767px){
  .entry-content .nd-legal-table table, .entry-content .nd-legal-table tbody, .entry-content .nd-legal-table tr, .entry-content .nd-legal-table th, .entry-content .nd-legal-table td { display:block; width:100%; box-sizing:border-box; }
  .entry-content .nd-legal-table tr { margin-bottom:12px; }
  .entry-content .nd-legal-table th { border-bottom:0; padding:10px 14px; }
  .entry-content .nd-legal-table td { padding:12px 14px; }
}
/* フッターの法的ページのリンク（小さめ・グレー） */
#nav_menu-905 { margin-top:8px !important; }
#nav_menu-905 .menu, #nav_menu-905 ul { gap:6px 18px; }
#nav_menu-905 a { font-size:14px !important; color:var(--nd-sub) !important; text-decoration:underline; }
#nav_menu-905 a:hover { color:var(--nd-rose) !important; background:transparent !important; }
/* フッターの法的ページのリンク（ウィジェットに頼らない版） */
.nd-legal-links { margin:8px 0 0; text-align:center; }
.nd-legal-links ul { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; margin:0; padding:0; list-style:none; }
.nd-legal-links li { margin:0; padding:0; }
.nd-legal-links a { font:400 14px/1.6 "Noto Sans JP",sans-serif !important; color:var(--nd-sub) !important; text-decoration:underline; background:transparent !important; }
.nd-legal-links a:hover { color:var(--nd-rose) !important; }

/* ---------- レンタルスタジオ（写真スライダー） ---------- */
.nd-section--studio { background:#fff; }
.entry-content .nd-studio-wrap { position:relative; width:100%; max-width:var(--nd-w); margin:0 auto; }
.entry-content .nd-studio-slider.wp-block-gallery { display:flex !important; flex-wrap:nowrap !important; gap:0 !important; margin:0 !important; padding:0 !important; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; border-radius:12px; box-shadow:0 8px 24px rgba(176,60,120,.18); -webkit-overflow-scrolling:touch; }
.entry-content .nd-studio-slider.wp-block-gallery::-webkit-scrollbar { display:none; }
.entry-content .nd-studio-slider.wp-block-gallery > figure.wp-block-image { flex:0 0 100% !important; width:100% !important; max-width:100% !important; margin:0 !important; aspect-ratio:3 / 2; scroll-snap-align:start; position:relative; }
.entry-content .nd-studio-slider.wp-block-gallery > figure.wp-block-image img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; display:block; }
.entry-content .nd-studio-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.92); box-shadow:0 2px 8px rgba(0,0,0,.18); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:transform .2s ease, box-shadow .2s ease; }
.entry-content .nd-studio-arrow::before { content:""; width:10px; height:10px; border-left:3px solid var(--nd-ink); border-bottom:3px solid var(--nd-ink); }
.entry-content .nd-studio-arrow--prev { left:10px; } .entry-content .nd-studio-arrow--prev::before { transform:translateX(2px) rotate(45deg); }
.entry-content .nd-studio-arrow--next { right:10px; } .entry-content .nd-studio-arrow--next::before { transform:translateX(-2px) rotate(-135deg); }
.entry-content .nd-studio-arrow:hover { box-shadow:0 4px 12px rgba(0,0,0,.25); }
.entry-content .nd-studio-dots { position:absolute; left:0; right:0; bottom:12px; z-index:2; display:flex; justify-content:center; gap:10px; }
.entry-content .nd-studio-dot { width:10px; height:10px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.55); box-shadow:0 1px 3px rgba(0,0,0,.25); cursor:pointer; }
.entry-content .nd-studio-dot.is-active { background:#fff; }
.entry-content .nd-studio-text { font-size:16px; line-height:1.9; text-align:center; color:var(--nd-ink) !important; margin:0 !important; }
@media (min-width:768px){
  .entry-content .nd-studio-slider.wp-block-gallery { border-radius:16px; }
  .entry-content .nd-studio-arrow { width:48px; height:48px; }
  .entry-content .nd-studio-arrow--prev { left:20px; } .entry-content .nd-studio-arrow--next { right:20px; }
  .entry-content .nd-studio-text { font-size:18px; line-height:1.8; }
  .entry-content .nd-studio-dots { bottom:16px; }
}
@media (prefers-reduced-motion:reduce){ .entry-content .nd-studio-slider.wp-block-gallery { scroll-behavior:auto; } }


/* ---------- スケジュール画像：スマホは他のコンテンツと同じ左右の余白で横幅いっぱい(100%)／PCはコンテンツ幅の80% ---------- */
.entry-content .nd-section--schedule .yoga-section__inner > .nd-schedule__image,
.entry-content .nd-section--schedule .yoga-section__inner > .nd-sched-wrap { width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
.entry-content .nd-schedule__image img { width:100%; height:auto; border:1px solid var(--nd-line) !important; border-radius:12px !important; }
.entry-content .nd-sched-slider { display:flex; align-items:flex-start; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; border-radius:12px; }
.entry-content .nd-sched-slider::-webkit-scrollbar { display:none; }
.entry-content .nd-sched-slider > figure.wp-block-image { flex:0 0 100%; width:100%; margin:0 !important; scroll-snap-align:start; }
.entry-content .nd-sched-slider > figure.wp-block-image img { display:block; width:100%; height:auto; border:1px solid var(--nd-line) !important; border-radius:12px !important; }
.entry-content .nd-sched-wrap .nd-studio-arrow { top:min(50%, 220px); }
.entry-content .nd-schedule__empty { text-align:center; color:var(--nd-sub) !important; }
@media (min-width:768px){
  .entry-content .nd-section--schedule .yoga-section__inner > .nd-schedule__image,
  .entry-content .nd-section--schedule .yoga-section__inner > .nd-sched-wrap { width:80% !important; max-width:80% !important; margin-left:auto !important; margin-right:auto !important; }
  .entry-content .nd-schedule__image img, .entry-content .nd-sched-slider > figure.wp-block-image img { border-radius:14px !important; }
  .entry-content .nd-sched-slider { border-radius:14px; }
}
