/* ══════════════════════════════════════════════════════════════
   Anté サイト全体のデザイントーン統一（v41）
   コンセプト：小さめの文字 × 広い字間・行間 × たっぷりの余白（REPOSÉページと同じトーン）
   ・見た目（CSS）だけの調整。文章・見出し・リンク・構造化データは一切変更しない
   ══════════════════════════════════════════════════════════════ */
:root{
  --sec-py:128px;          /* セクション上下の余白（PC） */
  --rf-ink:#2B2B2B;
  --rf-sub:#6B6B6B;
  --rf-note:#808080;
  --rf-line:#ECECEC;
}
@media (max-width:768px){
  :root{ --sec-py:88px; --px:28px; }
}

/* ── 1. 余白：セクションの上下・左右 ─────────────────── */
body.ante-page:not(.rp-page) section:is(.sec,[class$="-sec"],[class*="-sec "],[class*="-sec--"]):not([class*="cta"]):not([class*="bar"]){
  padding-top:var(--sec-py)!important;padding-bottom:var(--sec-py)!important;
}
@media (max-width:768px){
  body.ante-page:not(.rp-page) :is([class$="-in"],[class*="-in "],[class$="-in--sm"],[class*="-in--sm "],[class$="-inner"],[class*="-inner "],[class*="-inner--"]):not(nav *):not(header *):not(footer *){
    padding-left:28px!important;padding-right:28px!important;
  }
}

/* ── 2. 本文：字間・行間をゆったり（個別指定のない本文のみ） ── */
/* 詳細度0：各ページの個別指定を上書きしない */
:where(body.ante-page) :where(main,section,article) :where(p,li,dd,td){
  line-height:2;letter-spacing:.06em;
}
:where(body.ante-page) :where(section) :where(p){ color:var(--rf-ink); }

/* 注釈・補足：小さく、少し薄く */
body.ante-page :is([class$="-note"],[class*="-note "],[class*="__note"],[class$="-caption"],[class*="-cap "]):not([class*="box"]){
  font-size:11px!important;line-height:1.85!important;letter-spacing:.06em!important;color:var(--rf-note)!important;
}

/* ── 3. 見出し：細め・字間広め・余白多め ─────────────── */
body.ante-page :is(.sec-title,[class$="-h2"],[class*="-h2 "]){
  font-weight:400!important;letter-spacing:.1em!important;line-height:1.6!important;
}
body.ante-page :is(.sec-tag,[class$="-tag"],[class*="-tag "]):not([class*="badge"]){
  letter-spacing:.3em!important;
}
body.ante-page :is(.sec-head){ margin-bottom:56px!important; }

/* ── 4. ボタン：上品な丸みのある形に統一 ─────────────── */
body.ante-page .btn{
  border-radius:999px!important;min-height:50px;padding-left:36px!important;padding-right:36px!important;
  font-size:12.5px!important;letter-spacing:.14em!important;font-weight:500;
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;line-height:1.4;
}
body.ante-page .btn--outline{border-width:1px!important;}

/* ── 5. カード：線を淡く ─────────────────────────── */
body.ante-page :is([class$="-card"],[class*="-card "],[class$="-item"],[class*="-item "]){ border-color:var(--rf-line); }

/* ── 6. スマホ ─────────────────────────────────── */
@media (max-width:768px){
  /* 見出し */
  body.ante-page:not(.rp-page) :is(.sec-title,[class$="-h2"],[class*="-h2 "]):not([class*="__"]){
    font-size:clamp(1.2rem,5.2vw,1.38rem)!important;
  }
  body.ante-page:not(.rp-page) :is(.sec-head,[class$="-head"]):not(header *){ margin-bottom:40px!important; }

  /* 本文：スマホは13px基準・長い段落は左揃え */
  :where(body.ante-page:not(.rp-page)) :where(section) :where(p){ font-size:13px; line-height:2; }
  body.ante-page:not(.rp-page) section p:not(:is([class*="catch"],[class*="price"],[class*="tag"],[class*="badge"],[class*="label"],[class*="num"],[class*="stat"],[class*="-en"],[class*="name"],[class*="ttl"],[class*="title"],[class*="copy"])):not(:is([class*="cta"],[class*="final"],[class*="hero"],[class*="fv"],[class*="stat"],[class*="price"],[class*="num"],[class*="plan-head"],[class*="badge"],[class*="bar"],figure,figcaption,[class*="banner"],[class*="trust"]) p){
    text-align:left!important;
  }
  body.ante-page :is([class$="-lead"],[class*="-lead "],[class*="__lead"]){ font-size:13px!important;line-height:2!important; }

  /* ボタン：横幅いっぱい・押しやすく */
  body.ante-page section .btn--lg,body.ante-page section .btn--black{ width:100%;max-width:420px; }

  /* 横スライド（特徴・メリット・理由など、6枚前後のカード一覧） */
  body.ante-page :is(.hc-why-grid,.oem-feat-grid,.ws-brand-grid,.ws-support-grid,.ag-merit-grid,.bq-equip-grid,.bq-feat-grid,.rc-charm-grid,.mg-merit-grid,.md-service-grid,.md-merit-grid,.m-feature-grid,.m-effect-grid){
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:12px!important;margin-left:-28px!important;margin-right:-28px!important;padding:4px 28px 20px!important;
    scroll-padding-left:28px;scrollbar-width:none;background:transparent!important;border:none!important;
  }
  body.ante-page :is(.hc-why-grid,.oem-feat-grid,.ws-brand-grid,.ws-support-grid,.ag-merit-grid,.bq-equip-grid,.bq-feat-grid,.rc-charm-grid,.mg-merit-grid,.md-service-grid,.md-merit-grid,.m-feature-grid,.m-effect-grid)::-webkit-scrollbar{display:none;}
  body.ante-page :is(.hc-why-grid,.oem-feat-grid,.ws-brand-grid,.ws-support-grid,.ag-merit-grid,.bq-equip-grid,.bq-feat-grid,.rc-charm-grid,.mg-merit-grid,.md-service-grid,.md-merit-grid,.m-feature-grid,.m-effect-grid) > *{
    flex:0 0 80%!important;max-width:80%!important;scroll-snap-align:start;border:1px solid var(--rf-line)!important;background:#fff;
    grid-column:auto!important;
  }
  body.ante-page :is(.hc-why-grid,.oem-feat-grid,.ws-brand-grid,.ws-support-grid,.ag-merit-grid,.bq-equip-grid,.bq-feat-grid,.rc-charm-grid,.mg-merit-grid,.md-service-grid,.md-merit-grid,.m-feature-grid,.m-effect-grid)::after{content:'';flex:0 0 16px;}
}

/* ══ v43 見出しの強弱・黒の軽減 ══════════════════════ */
/* ページ上部（FV）のタイトルを大きく、英字タグは小さく */
body.ante-page .page-hero__title{font-size:clamp(2rem,4.2vw,3.2rem)!important;letter-spacing:.1em!important;font-weight:400!important;line-height:1.3!important;}
body.ante-page .page-hero__tag{font-size:10px!important;letter-spacing:.3em!important;margin-bottom:14px;}
@media (max-width:768px){
  body.ante-page .page-hero__title{font-size:clamp(1.75rem,8vw,2.1rem)!important;}
  /* セクション見出し：本文（13px）との差をはっきり */
  body.ante-page:not(.rp-page) :is(.sec-title,[class$="-h2"],[class*="-h2 "]):not([class*="__"]),
  body.ante-page h2[class*="__title"]{font-size:clamp(1.35rem,6vw,1.6rem)!important;line-height:1.55!important;}
  /* カード・プランの名前（小見出し） */
  body.ante-page :is(.case-title,.e-feat-title,.hp-swiper-title,.md-flow-title,.md-pair-name,.mn-led-name,.mn-mech-title,.oem-flow-title,.oem-item-name,.s-ba-title,.s-step-title,.s-what-point-title,.wx-option-name,.wx-thin-title,.m-effect-title,.si-str-title,.ag-flow-title,.ag-prod-name,.ag-rank-name,.ag-sample-name,.bq-flow-title,.m-flow-title,.mg-flow-title,.mg-support-title,.s-cross-title,.cr-ind-name,.cr-pc-name,.ws-sec h3:not([class]),.hp-sec h3:not([class])){font-size:15px!important;line-height:1.6!important;letter-spacing:.06em!important;}
}
/* 小見出し（プラン名・カード名）：最低15〜16px */
body.ante-page :is(.hc-plan-name,.ho-plan-name,[class*="plan-name"],[class*="plan__name"]){font-size:clamp(1.15rem,2vw,1.35rem)!important;letter-spacing:.08em!important;}

/* 黒の帯（ブランドバー）を淡い色に */
body.ante-page :is([class$="-brand-bar"],[class*="-brand-bar "]){background:#F3F2EE!important;border-bottom:1px solid #E8E6E0;}
body.ante-page :is([class$="-brand-bar"],[class*="-brand-bar "]) p{color:#8A8A85!important;font-size:10px!important;letter-spacing:.22em!important;line-height:1.8!important;}
/* スマホ下部の固定ボタン：白地に（LINEだけ緑のまま） */
body.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar){background:#fff!important;border-top:1px solid #E6E6E6;box-shadow:0 -4px 16px rgba(0,0,0,.04);}
body.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar) a:not([class*="line"]):not([href*="lin.ee"]){background:#fff!important;color:#2B2B2B!important;border-right:1px solid #EFEFEF;}
body.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar) a:not([class*="line"]):not([href*="lin.ee"]) *{color:#2B2B2B!important;}
/* メインボタンの黒を少しやわらかく */
body.ante-page .btn--black{background:#2B2B2B!important;border-color:#2B2B2B!important;}

/* ══ v43 ページ途中の「黒い面」をブランドの深緑にして軽く ══ */
body.ante-page :is([class$="-pain-sol"],[class*="-pain-sol "]),
body.ante-page div[style*="background:var(--hc-blk"],
body.ante-page :is(div,section)[style*="background:#0A0A0A"]:not([class*="final"]){
  background:#56704A!important;
}
/* 料金表などの見出し行：黒 → 淡いグレー */
body.ante-page :is([class$="-price-table"],[class*="-price-tbl"],[class$="-table"]) th{background:#F1F1EE!important;color:#2B2B2B!important;}
/* スマホ固定ボタンの黒いボタンも白地に */
body.ante-page :is(.oem-sp-cta,[class$="-sp-cta"]){background:#fff!important;border-top:1px solid #E6E6E6;}
body.ante-page :is([class*="sp-btn--"],[class*="sp-cta__btn"]):not([class*="line"]){background:#fff!important;color:#2B2B2B!important;border-right:1px solid #EFEFEF;}
body.ante-page :is([class*="sp-btn--"],[class*="sp-cta__btn"]):not([class*="line"]) *{color:#2B2B2B!important;}

/* PC：カード名・小見出しを本文より一段大きく */
@media (min-width:769px){
  body.ante-page :is(.oem-feat-title,.hc-why-title,.hc-prod-name,.oem-flow-title,.oem-item-name,.ag-flow-title,.bq-flow-title,.m-flow-title,.mg-flow-title,.md-flow-title,.si-str-title,.m-effect-title){font-size:17px!important;letter-spacing:.06em!important;}
}
/* 「あわせて読みたい」見出しも他の見出しと揃える */
body.ante-page .ante-next__ttl{font-size:clamp(1.5rem,2.6vw,2rem);}
@media (max-width:768px){ body.ante-page .ante-next__ttl{font-size:clamp(1.35rem,6vw,1.6rem);} }

/* ══ v43 残りの黒いカード・見出し帯を深緑に（最後のCTAだけ締め色として黒を残す） ══ */
body.ante-page :is(.ho-pack--featured .ho-pack-head,.ag-sim-plan__head,.cr-pc-head,.cr-pain-sol,.ws-form-head){
  background-color:#56704A!important;border-color:#56704A!important;
}

/* v43.1 不具合修正：白地にしたスマホ下部ボタンのアイコンが白のまま見えなくなっていた */
body.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar,.oem-sp-cta) a:not([class*="line"]):not([href*="lin.ee"]) svg,
body.ante-page :is([class*="sp-btn--"],[class*="sp-cta__btn"],[class*="sp-cta-bar__btn"]):not([class*="line"]) svg{stroke:#2B2B2B!important;color:#2B2B2B!important;}

/* ══════════════════════════════════════════════════════════════
   v44 スマホのUI統一（幅・ボタン・黒の使い分け・文字・一覧の短縮）
   ※見た目だけ。文章・見出し・リンクは変更しない
   ══════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  /* ① 左右の余白：全ページ28pxに統一 */
  body.ante-page :is(.inner,.inner-sm,.fv-top__content,.wx-bridal,.oem-final-cta,.ho-final,.cr-final):not(header *):not(footer *):not(nav *){padding-left:28px!important;padding-right:28px!important;}
  body.ante-page :is(.sec-head,[class$="-hd"],[class*="-hd "],[class$="-head"]:has(> h2),div:has(> [class$="-h2"])){margin-bottom:40px!important;}

  body.ante-page section > div:has(> :is(.btn,.oem-cta-btn)){padding-left:28px!important;padding-right:28px!important;}
  /* ② ボタン：横幅いっぱい・高さ52px・角丸で統一 */
  body.ante-page :is(.btn,.oem-cta-btn,.oem-fv__btn,.rp-order-line,.rp-order-mail):not(header *):not(nav *):not(footer *):not(.ante-next *):not([class*="drawer"] *):not([class*="sp-bar"] *){
    width:100%!important;max-width:none!important;min-height:52px!important;height:auto!important;border-radius:999px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
    padding:14px 24px!important;font-size:12.5px!important;letter-spacing:.12em!important;margin-left:0!important;margin-right:0!important;
  }
  body.ante-page :has(> :is(.btn,.oem-cta-btn,.oem-fv__btn,.rp-order-line,.rp-order-mail) ~ :is(.btn,.oem-cta-btn,.oem-fv__btn,.rp-order-line,.rp-order-mail)){
    display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:12px!important;grid-template-columns:1fr!important;width:100%!important;max-width:none!important;align-self:stretch!important;flex-shrink:1!important;
  }
  body.ante-page :has(> :is(.btn,.oem-cta-btn,.oem-fv__btn) ~ :is(.btn,.oem-cta-btn,.oem-fv__btn)) > :is(.btn,.oem-cta-btn,.oem-fv__btn){margin-top:0!important;margin-bottom:0!important;}

  /* ③ 黒は「押してほしい所」だけ：下部固定のメイン（予約・フォーム・相談）を黒に */
  body.ante-page.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar,.oem-sp-cta) a:is([class*="--rsv"],[class*="--inquiry"],[class*="--contact"],[class*="--form"],.oem-sp-cta__btn--dark){
    background:#2B2B2B!important;color:#fff!important;border-right-color:#2B2B2B!important;
  }
  body.ante-page.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar,.oem-sp-cta) a:is([class*="--rsv"],[class*="--inquiry"],[class*="--contact"],[class*="--form"],.oem-sp-cta__btn--dark) *{color:#fff!important;}
  body.ante-page.ante-page :is([class$="-sp-bar"],[class*="-sp-bar "],.sp-cta-bar,.oem-sp-cta) a:is([class*="--rsv"],[class*="--inquiry"],[class*="--contact"],[class*="--form"],.oem-sp-cta__btn--dark) svg{stroke:#fff!important;color:#fff!important;}
  /* OEMの「資料請求」は緑 → 白（緑はLINEだけに） */
  body.ante-page.ante-page .oem-sp-cta__btn--outline{background:#fff!important;color:#2B2B2B!important;}
  body.ante-page.ante-page .oem-sp-cta__btn--outline svg{stroke:#2B2B2B!important;}

  /* ⑤ お悩みタグ：丸いチップを詰めて並べる */
  body.ante-page .hp-concern-wrap{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;}
  body.ante-page .hp-concern-tag{display:inline-flex!important;align-items:center;gap:6px;padding:10px 16px!important;font-size:12px!important;letter-spacing:.04em!important;line-height:1.4!important;background:#fff!important;border:1px solid #E3E3DF!important;border-radius:999px!important;margin:0!important;white-space:nowrap;width:auto!important;}
  body.ante-page .hp-concern-tag svg{flex:0 0 13px;width:13px;height:13px;color:#56704A;}

  /* ⑥ 見出し直下の短い説明文は中央揃え（長い本文は左揃えのまま） */
  body.ante-page.ante-page :is(.sec-head,[class$="-hd"],[class*="-hd "],[class$="-head"]:has(> h2),div[style*="text-align:center"]:has(> h2),div:has(> [class$="-tag"] + [class$="-h2"])) > p:not([class*="note"]):not(:has(~ p)):not(p ~ p){text-align:center!important;}

  /* ⑦ 長い一覧：横スライド（同じ形が並ぶもの） */
  body.ante-page :is(.ho-consult .ho-grid,.ho-vs,.cr-pc-grid){
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:12px!important;margin-left:-28px!important;margin-right:-28px!important;padding:4px 28px 20px!important;scroll-padding-left:28px;scrollbar-width:none;
    background:transparent!important;border:none!important;align-items:stretch;
  }
  body.ante-page :is(.ho-consult .ho-grid,.ho-vs,.cr-pc-grid)::-webkit-scrollbar{display:none;}
  body.ante-page :is(.ho-consult .ho-grid,.ho-vs,.cr-pc-grid) > *{flex:0 0 82%!important;max-width:82%!important;scroll-snap-align:start;border:1px solid var(--rf-line)!important;grid-column:auto!important;margin:0!important;}
  body.ante-page :is(.ho-consult .ho-grid,.ho-vs,.cr-pc-grid)::after{content:'';flex:0 0 16px;}
  /* 横スライドの位置表示（JSで追加） */
  .ux-dots{display:flex;justify-content:center;gap:6px;margin:-4px 0 8px;}
  .ux-dots i{width:6px;height:6px;border-radius:50%;background:#D9D9D5;transition:background .2s,width .2s;}
  .ux-dots i.on{background:#2B2B2B;width:18px;border-radius:3px;}

  /* ⑦ タブ（JSでボタンを追加。中身はHTMLにすべて残す） */
  .ux-tabs{display:flex;margin:0 0 28px;border-bottom:1px solid #E3E3DF;}
  .ux-tabs button{flex:1;appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:14px 6px 12px;font:inherit;font-size:13px;letter-spacing:.08em;line-height:1.5;color:#9A9A95;cursor:pointer;}
  .ux-tabs button[aria-selected="true"]{color:#2B2B2B;border-bottom-color:#2B2B2B;}
  .ux-tabs button small{display:block;font-size:10px;letter-spacing:.12em;color:inherit;opacity:.8;}
  .ux-tabbed > .ux-off{display:none!important;}
  .ux-tabbed{display:block!important;}
  .ux-tabbed > *{margin-left:0!important;margin-right:0!important;width:auto!important;max-width:none!important;}
}

@media (max-width:768px){
  /* ④ 文字サイズの整理：本文（12〜14px台に散らばっていたもの）を13pxにそろえる
     サブコピー（-sub）は15px。名前・価格・数字・タグ・注釈などは対象外 */
  body.ante-page:not(.rp-page) section :is(p,li,dd):not(:is([class*="name"],[class*="title"],[class*="ttl"],[class*="price"],[class*="num"],[class*="catch"],[class*="-en"],[class*="tag"],[class*="badge"],[class*="label"],[class*="note"],[class*="cap"],[class*="stat"],[class*="copy"],[class*="kpi"],[class*="yen"],[class*="unit"],[class*="amount"],[class*="val"],[class*="sub"],[class*="supp"],[class*="head"],[class*="lead"])):not(:is(header,footer,nav,table,figure,[class*="sp-bar"],[class*="sp-cta"],.ante-next,[class*="hero"],[class*="fv"],[class*="final"],[class*="cta"],[class*="stat"],[class*="price"],[class*="badge"],[class*="kpi"],[class*="num"],[class*="head"],[class*="banner"],[class*="sim"],details summary) *){
    font-size:13px!important;
  }
  body.ante-page:not(.rp-page) section :is(p,div)[class$="-sub"]:not(:is(header,footer,[class*="hero"],[class*="card"],[class*="head"]) *){font-size:15px!important;line-height:1.8!important;}
}

/* ══ v45 流れ（ステップ）の見た目を全ページで統一 ══════════════════
   番号は深緑の丸＋「01」表記（元の文字はHTMLに残したまま、見た目だけ番号に置き換え） */
body.ante-page :is(.m-flow-grid,.s-step-flow,.e-flow-list,.oem-flow,.ho-flow,.ws-flow-list,.mg-flow-grid,.md-flow,.ag-flow-grid,.bq-flow,.hc-flow-grid){counter-reset:uxflow;}
body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-item-inner){counter-increment:uxflow;}
body.ante-page :is(.m-flow-num,.s-step-num,.e-flow-circle,.oem-flow-num,.ho-flow-num,.ws-flow-circle,.mg-flow-num,.md-flow-num,.ag-flow-num,.bq-flow-num,.hc-flow-num-wrap > div){
  width:44px!important;height:44px!important;min-width:44px;border-radius:50%!important;background:#56704A!important;border:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;
  font-size:0!important;color:#fff!important;line-height:1!important;box-shadow:none!important;
}
body.ante-page :is(.m-flow-num,.s-step-num,.e-flow-circle,.oem-flow-num,.ho-flow-num,.ws-flow-circle,.mg-flow-num,.md-flow-num,.ag-flow-num,.bq-flow-num,.hc-flow-num-wrap > div) *{font-size:0!important;}
body.ante-page :is(.m-flow-num,.s-step-num,.e-flow-circle,.oem-flow-num,.ho-flow-num,.ws-flow-circle,.mg-flow-num,.md-flow-num,.ag-flow-num,.bq-flow-num,.hc-flow-num-wrap > div)::before{
  content:counter(uxflow,decimal-leading-zero);font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;letter-spacing:.04em;color:#fff;
}
body.ante-page :is(.m-flow-num,.s-step-num,.e-flow-circle,.oem-flow-num,.ho-flow-num,.ws-flow-circle,.mg-flow-num,.md-flow-num,.ag-flow-num,.bq-flow-num)::after{display:none!important;}
body.ante-page :is(.m-flow-title,.s-step-title,.e-flow-title,.oem-flow-title,.ho-flow-title,.ws-flow-title,.mg-flow-title,.md-flow-title,.ag-flow-title,.bq-flow-title,.hc-flow-txt-wrap > p:first-child){
  font-family:'Yu Mincho','游明朝',YuMincho,'Hiragino Mincho ProN',serif!important;font-size:15px!important;font-weight:500!important;letter-spacing:.06em!important;line-height:1.6!important;color:#2B2B2B!important;
}
body.ante-page :is(.m-flow-desc,.s-step-desc,.e-flow-desc,.oem-flow-desc,.ho-flow-desc,.ws-flow-desc,.mg-flow-desc,.md-flow-desc,.bq-flow-desc,.hc-flow-txt-wrap > p:not(:first-child)){
  font-size:12.5px!important;line-height:1.9!important;letter-spacing:.04em!important;color:#6B6B6B!important;
}
body.ante-page .rc-flow-time{background:#56704A!important;color:#fff!important;border-color:#56704A!important;}
/* 英字の小ラベル（CONTACTなど）は流れの中では省略 */
body.ante-page :is(.e-flow-step-en,.ws-flow-en){display:none!important;}

/* スマホ：左に番号・右に内容の縦タイムラインに統一 */
@media (max-width:768px){
  body.ante-page :is(.m-flow-grid,.s-step-flow,.e-flow-list,.oem-flow,.ho-flow,.ws-flow-list,.mg-flow-grid,.md-flow,.ag-flow-grid,.bq-flow,.hc-flow-grid){
    display:block!important;position:relative;background:transparent!important;border:none!important;gap:0!important;padding:0!important;max-width:none!important;
  }
  body.ante-page :is(.m-flow-grid,.s-step-flow,.e-flow-list,.oem-flow,.ho-flow,.ws-flow-list,.mg-flow-grid,.md-flow,.ag-flow-grid,.bq-flow,.hc-flow-grid)::before,
  body.ante-page :is(.m-flow-grid,.s-step-flow,.e-flow-list,.oem-flow,.ho-flow,.ws-flow-list,.mg-flow-grid,.md-flow,.ag-flow-grid,.bq-flow,.hc-flow-grid)::after{display:none!important;}
  body.ante-page .hc-flow-grid > div{padding:0!important;}
  body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-item-inner){
    display:grid!important;grid-template-columns:44px 1fr!important;column-gap:18px!important;row-gap:4px!important;align-items:start!important;
    position:relative!important;padding:0 0 32px!important;margin:0!important;text-align:left!important;
    background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;width:auto!important;opacity:1!important;transform:none!important;
  }
  body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-grid > div:not(:last-child) .hc-flow-item-inner):not(:last-child)::before{
    content:''!important;display:block!important;position:absolute!important;left:21.5px!important;top:52px!important;bottom:6px!important;width:1px!important;height:auto!important;background:#D9DED5!important;
  }
  body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-item-inner)::after{display:none!important;}
  body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-item-inner) > :first-child{grid-column:1!important;grid-row:1 / span 4!important;margin:0!important;}
  body.ante-page :is(.m-flow-item,.s-step,.e-flow-item,.oem-flow-step,.ho-flow-step,.ws-flow-item,.mg-flow-item,.md-flow-step,.ag-flow-item,.bq-flow-item,.hc-flow-item-inner) > :not(:first-child){grid-column:2!important;margin:0!important;text-align:left!important;width:auto!important;padding:0!important;}
  body.ante-page :is(.e-flow-num-col,.ws-flow-nc,.hc-flow-num-wrap){display:block!important;width:44px!important;padding:0!important;margin:0!important;}
  body.ante-page :is(.m-flow-title,.s-step-title,.e-flow-title,.oem-flow-title,.ho-flow-title,.ws-flow-title,.mg-flow-title,.md-flow-title,.ag-flow-title,.bq-flow-title,.hc-flow-txt-wrap > p:first-child){padding-top:10px!important;margin:0 0 2px!important;text-align:left!important;}
  body.ante-page :is(.m-flow-desc,.s-step-desc,.e-flow-desc,.oem-flow-desc,.ho-flow-desc,.ws-flow-desc,.mg-flow-desc,.md-flow-desc,.bq-flow-desc,.hc-flow-txt-wrap > p:not(:first-child)){text-align:left!important;margin:0!important;}
}

/* ══ v45 お客様の声：スマホは横スライド ══ */
@media (max-width:768px){
  body.ante-page :is(.si-rev-grid,.s-review-grid,.e-review-grid,.ux-rev-grid){
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:12px!important;margin-left:-28px!important;margin-right:-28px!important;padding:4px 28px 20px!important;scroll-padding-left:28px;scrollbar-width:none;align-items:stretch;
  }
  body.ante-page :is(.si-rev-grid,.s-review-grid,.e-review-grid,.ux-rev-grid)::-webkit-scrollbar{display:none;}
  body.ante-page :is(.si-rev-grid,.s-review-grid,.e-review-grid,.ux-rev-grid) > *{flex:0 0 82%!important;max-width:82%!important;scroll-snap-align:start;margin:0!important;}
  body.ante-page :is(.si-rev-grid,.s-review-grid,.e-review-grid,.ux-rev-grid)::after{content:'';flex:0 0 16px;}
}

/* ══ v45 ワックスページを他の施術ページと同じトーンに（黒を減らす） ══ */
body.ante-page :is(.wx-type-head,.wx-part-card,.wx-option-card)::before{height:1px!important;background:#E3E3DF!important;}
body.ante-page :is(.wx-type-badge){background:#56704A!important;color:#fff!important;}
body.ante-page .wx-type-point::before{background-color:#56704A!important;}
body.ante-page .wx-compare-table th.wax-col{background:#56704A!important;color:#fff!important;}
body.ante-page .wx-ok{background:#56704A!important;}
body.ante-page .wx-bridal{background:#56704A!important;}
body.ante-page .wx-bridal-photo{background:#4A6140!important;}
body.ante-page :is(.wx-sec,section) div[style*="width:32px;height:32px;border-radius:50%;background:#000"]{background:#56704A!important;}
/* 「See the Results.」などの黒い帯 → 淡いグレー */
body.ante-page.page-template-wax div[style*="background:#000;padding:48px 0"]{background:#F3F2EE!important;}
body.ante-page.page-template-wax div[style*="background:#000;padding:48px 0"] *{color:#2B2B2B!important;}
body.ante-page.page-template-wax div[style*="background:#000;padding:48px 0"] :is(p,span):not(:first-child){color:#6B6B6B!important;}


/* v45 不具合修正：明るい背景の最終CTAで、線のボタン（施術事例を見る・Instagram等）の文字が白く見えなくなっていた */
body.ante-page.ante-page .final-cta :is(.btn--outline,.btn--ghost),
body.ante-page.ante-page .final-cta :is(.btn--outline,.btn--ghost) *{color:#2B2B2B!important;}
body.ante-page.ante-page .final-cta :is(.btn--outline,.btn--ghost){border-color:#2B2B2B!important;background:transparent!important;}
@media (max-width:768px){
  /* ワックス：「ワックス脱毛とは？」の見出しを他ページと同じ中央に、長い本文は左揃え */
  body.ante-page.page-template-wax div:has(> .wx-tag + .wx-h2) > :is(.wx-tag,.wx-h2){display:block;text-align:center!important;}
  body.ante-page.page-template-wax div:has(> .wx-tag + .wx-h2) > .wx-divider{margin:12px auto 28px!important;}
  body.ante-page.page-template-wax div:has(> .wx-tag + .wx-h2) > .wx-lead{text-align:left!important;}
  body.ante-page.page-template-wax div[style*="border-left:2px solid #000"]{border-left-color:#56704A!important;}
}

/* ══════════════════════════════════════════════════════════════
   v46 共通パーツ化（全ページで同じ見た目に）
   ══════════════════════════════════════════════════════════════ */
/* 1. 見出しセット：英字ラベル・見出し・線 */
body.ante-page:not(.rp-page) section :is([class*="tag"],[class*="-en"],[class*="label"],[class*="eyebrow"]):has(+ h2):not([class*="badge"]){
  font-family:'Yu Gothic Medium','游ゴシック Medium','Yu Gothic','Hiragino Sans',sans-serif!important;
  font-size:10px!important;letter-spacing:.3em!important;color:#A3A39E!important;text-transform:uppercase;font-weight:500!important;line-height:1.6!important;
}
body.ante-page:not(.rp-page) section :is(div,span):empty:not([class*="dot"]):not([class*="line"]):is(h2 + *){
  width:24px!important;height:1px!important;background:#56704A!important;border:none!important;
}
@media (min-width:769px){
  body.ante-page:not(.rp-page) section :is(.sec-title,[class$="-h2"],[class*="-h2 "],[class*="hd__title"]):not([class*="__"]):is(h2){font-size:clamp(1.9rem,2.6vw,2.2rem)!important;}
  body.ante-page:not(.rp-page) section h2[class*="hd__title"]{font-size:clamp(1.9rem,2.6vw,2.2rem)!important;}
}
/* 見出しの補足（長い見出しを2段に：文字はそのまま、2段目を小さく） */
body.ante-page h2 .ux-subttl{display:block;font-size:.5em;letter-spacing:.1em;color:#6B6B6B;margin-top:12px;line-height:1.7;}
@media (max-width:768px){ body.ante-page h2 .ux-subttl{font-size:13px;white-space:nowrap;} }

/* 2. バッジ：強調＝深緑／補足＝淡いグレー の2種類 */
body.ante-page :is(.hp-cmp-badge:not(.hp-cmp-badge--gray),.ws-card-badge,.cr-pack-badge,.fv-top__badge,.wx-type-badge,[class*="-badge--dark"],[class*="-badge--blk"]){
  background:#56704A!important;color:#fff!important;border-color:#56704A!important;
}
body.ante-page :is(.hp-cmp-badge--gray,[class*="-badge--gray"],[class*="-badge--sub"]){background:#F1F1EE!important;color:#6B6B6B!important;border-color:#F1F1EE!important;}

/* 3. 表：見出し行は淡いグレー・線は細く */
body.ante-page:not(.rp-page) section table thead th,
body.ante-page:not(.rp-page) section table tr:first-child th:not(:only-child){
  background:#F1F1EE!important;color:#2B2B2B!important;border-color:#E6E6E2!important;font-weight:500!important;
}
body.ante-page:not(.rp-page) section table :is(td,th){border-color:#EDEDEA!important;}

/* 4. カード：太い黒線・色線をやめて細い線に（水光の薬剤色は細線で残す） */
body.ante-page :is(.hp-cmp-card-head,.hp-cmp-cta,.e-concern-card,.wx-type-head,.wx-part-card,.wx-option-card)::before{height:1px!important;background:#E3E3DF!important;}
body.ante-page :is(.s-concern-card,.s-drug-card-head)::before{height:2px!important;}
body.ante-page :is(.ho-pack,.hc-prod-card,.hp-cmp-card){border-top-width:1px!important;border-top-color:#E3E3DF!important;}
body.ante-page .ho-pack--featured{border-color:#56704A!important;}

/* 5. 淡い背景色を1色（#F7F7F5）に */
body.ante-page:not(.rp-page) :is(section[style*="background:#F5F5F5"],section[style*="background:#F7F7F7"],section[style*="background:#F8F8F8"],section[style*="background:#FAFAFA"],section[style*="--hc-off"],section[style*="--ag-cream"],section[style*="--bq-off"],section[style*="--cr-off"],section[style*="--ho-off"],section[style*="--mg-off"],section[style*="--rc-cream"],.ho-related,.hp-cmp-sec,.oem-sec--beige,.sec--off){
  background:#F7F7F5!important;
}

/* 6. チェック・スライドの点：深緑に */
body.ante-page .hp-cmp-item--on::before,body.ante-page .hp-peel-point::before,body.ante-page .cr-pain-check{background-color:#56704A!important;}
body.ante-page .swiper-pagination-bullet-active{background:#56704A!important;}
.ux-dots i.on{background:#56704A!important;}

/* 7. 小見出し：左の縦線をやめ「見出し＋右に細い線」に */
body.ante-page:not(.rp-page) section h3[style*="border-left"],
body.ante-page.page-template-about section h3:is([style*="border-left"],[class*="title"]):has(+ *){
  border-left:none!important;padding-left:0!important;display:flex!important;align-items:center;gap:12px;
}
body.ante-page:not(.rp-page) section h3[style*="border-left"]::after{content:'';flex:1;height:1px;background:#E3E3DF;}

/* 9. 見出し下の短いリード：1〜2文字だけ次の行に残らないように */
body.ante-page section :is(.sec-head,[class$="-hd"],[class$="-head"],div[style*="text-align:center"]) > p,
body.ante-page section :is([class$="-lead"],[class*="__lead"],[class$="-hd__sub"]){text-wrap:pretty;}
@media (max-width:768px){
  body.ante-page section :is(.sec-head,[class$="-hd"],[class$="-head"],div[style*="text-align:center"]) > p:not(:has(~ p)):not(p ~ p){text-wrap:balance;}
}

/* ── ハーブピーリング：タブ・料金表 ── */
/* タブ：丸いセグメント型（全ページ共通） */
@media (max-width:768px){
  .ux-tabs{gap:4px;margin:0 auto 24px!important;padding:4px!important;background:#F1F1EE!important;border:none!important;border-radius:999px;max-width:340px;}
  .ux-tabs button{border:none!important;margin:0!important;padding:10px 8px!important;border-radius:999px;font-size:12px!important;letter-spacing:.06em!important;color:#8A8A85!important;background:transparent;line-height:1.4!important;}
  .ux-tabs button[aria-selected="true"]{background:#fff!important;color:#2B2B2B!important;box-shadow:0 1px 4px rgba(0,0,0,.08);}
  .ux-tabbed .hp-cmp-card-head::before{display:none!important;}
  .ux-tabbed .hp-cmp-card{border:1px solid #E8E8E5!important;}

  /* 料金表：スマホはメニューごとの行（初回・HPB・通常を小ラベル付きで） */
  body.ante-page .hp-price-table{min-width:0!important;width:100%!important;border:none!important;background:transparent!important;}
  body.ante-page .hp-price-table thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  body.ante-page .hp-price-table tbody{display:block;}
  body.ante-page .hp-price-table tr{display:grid!important;grid-template-columns:repeat(3,1fr);background:transparent!important;border-bottom:1px solid #E8E8E5;padding:14px 2px 12px;}
  body.ante-page .hp-price-table td{display:block;border:none!important;padding:0!important;text-align:left!important;font-size:15px!important;font-family:'Cormorant Garamond',Georgia,serif!important;color:#2B2B2B!important;font-weight:400!important;}
  body.ante-page .hp-price-table td:first-child{grid-column:1/-1;font-family:'Yu Mincho','游明朝',YuMincho,serif!important;font-size:14px!important;font-weight:500!important;margin-bottom:6px!important;}
  body.ante-page .hp-price-table td:not(:first-child)::before{display:block;font-family:'Yu Gothic Medium','游ゴシック Medium','Yu Gothic',sans-serif;font-size:10px;letter-spacing:.14em;color:#9A9A95;margin-bottom:2px;}
  body.ante-page .hp-price-table td:nth-child(2)::before{content:'初回';}
  body.ante-page .hp-price-table td:nth-child(3)::before{content:'HPB';}
  body.ante-page .hp-price-table td:nth-child(4)::before{content:'通常';}
  body.ante-page .hp-price-table td:last-child{font-weight:600!important;}
  body.ante-page div:has(> .hp-price-table){overflow:visible!important;margin-bottom:8px!important;}
  body.ante-page #price h3{font-size:15px!important;margin-top:32px!important;}
  body.ante-page #price h3 + p{font-size:11px!important;color:#8A8A85!important;line-height:1.8!important;}

  /* はみ出していた比較表は画面幅に収める */
  body.ante-page :is(.hp-cmp-table,.wx-compare-table,.s-compare-table,.m-ingredient-table-wrap table){min-width:0!important;width:100%!important;table-layout:fixed;}
  body.ante-page :is(.hp-cmp-table,.wx-compare-table,.s-compare-table,.m-ingredient-table-wrap table) :is(th,td){padding:10px 6px!important;font-size:12px!important;line-height:1.6!important;word-break:normal;overflow-wrap:break-word;white-space:normal!important;min-width:0!important;}
  body.ante-page :is(.hp-cmp-table,.wx-compare-table,.s-compare-table) :is(th,td):first-child{width:34%;}
}
body.ante-page .s-compare-table :is(td,th).s-compare-highlight,body.ante-page .s-compare-table th:nth-child(2){background:#56704A!important;color:#fff!important;}
body.ante-page .s-compare-table td.s-compare-highlight *{color:#fff!important;}

/* ══ v47 ワックス：ブライダル帯を読みやすく・料金とオプションを一覧に ══ */
/* ブライダル：深緑 → 淡い背景＋濃い文字 */
body.ante-page .wx-bridal{background:#F7F7F5!important;border:1px solid #ECECE8;}
body.ante-page .wx-bridal-photo{background:#ECECE8!important;}
body.ante-page .wx-bridal-tag{color:#A3A39E!important;}
body.ante-page .wx-bridal-h2{color:#2B2B2B!important;}
body.ante-page .wx-bridal :is(.wx-bridal-copy,p){color:#555!important;}
body.ante-page .wx-bridal :is(.wx-bridal-copy,p) :is(strong,b,span){color:#2B2B2B!important;}
body.ante-page .wx-bridal a:not(.btn){color:#56704A!important;}
body.ante-page .wx-scene-tag{border-color:#D9D9D5!important;color:#555!important;background:#fff!important;border-radius:999px;letter-spacing:.06em!important;}
body.ante-page .wx-bridal .btn--white{background:#2B2B2B!important;color:#fff!important;border-color:#2B2B2B!important;}
body.ante-page .wx-bridal .btn--ghost{background:#06C755!important;color:#fff!important;border-color:#06C755!important;}

@media (max-width:768px){
  body.ante-page .wx-bridal{padding:44px 24px!important;}
  /* 料金・パーツ：1行ずつ（左に名前と内容、右に価格） */
  body.ante-page .wx-parts-grid{display:block!important;background:transparent!important;gap:0!important;border-top:1px solid #E8E8E5;padding:0!important;}
  body.ante-page .wx-part-card{display:grid!important;grid-template-columns:1fr auto;column-gap:16px;align-items:center;padding:18px 2px!important;background:transparent!important;border:none!important;border-bottom:1px solid #E8E8E5!important;}
  body.ante-page .wx-part-card::before{display:none!important;}
  body.ante-page .wx-part-card > *{grid-column:1;margin:0!important;}
  body.ante-page .wx-part-size{font-size:10px!important;letter-spacing:.2em!important;color:#A3A39E!important;margin-bottom:2px!important;}
  body.ante-page .wx-part-name{font-size:15px!important;line-height:1.6!important;color:#2B2B2B!important;}
  body.ante-page .wx-part-items{font-size:11.5px!important;line-height:1.75!important;color:#8A8A85!important;margin-top:4px!important;}
  body.ante-page .wx-part-price{grid-column:2!important;grid-row:1 / span 3;text-align:right;font-size:20px!important;white-space:nowrap;color:#2B2B2B!important;}
  body.ante-page .wx-part-price small{display:block;font-size:9.5px!important;margin:0!important;}

  /* 追加オプション：同じ一覧の形に */
  body.ante-page .wx-option-grid{display:block!important;gap:0!important;border-top:1px solid #E8E8E5;}
  body.ante-page .wx-option-card{display:block!important;padding:18px 2px!important;background:transparent!important;border:none!important;border-bottom:1px solid #E8E8E5!important;box-shadow:none!important;}
  body.ante-page .wx-option-card::before,body.ante-page .wx-option-icon{display:none!important;}
  body.ante-page .wx-option-card > *{grid-column:1;margin:0!important;}
  body.ante-page .wx-option-name{font-size:15px!important;line-height:1.6!important;color:#2B2B2B!important;}
  body.ante-page .wx-option-desc{font-size:11.5px!important;line-height:1.75!important;color:#8A8A85!important;margin-top:4px!important;}
  body.ante-page .wx-option-card{position:relative;}
  body.ante-page .wx-option-price{font-size:14px!important;line-height:1.6!important;color:#56704A!important;margin:2px 0 0!important;letter-spacing:.04em!important;}
}

/* v48 ワックス：ブライダル写真（wax-bridal.jpg があるときだけ表示。縦長の後ろ姿に合わせる） */
body.ante-page .wx-bridal--nophoto{grid-template-columns:1fr!important;max-width:860px;margin-left:auto;margin-right:auto;}
body.ante-page .wx-bridal--photo .wx-bridal-photo{aspect-ratio:4/5!important;background:#ECECE8!important;}
body.ante-page .wx-bridal--photo .wx-bridal-photo img{object-position:center 30%;}
@media (max-width:1024px){
  body.ante-page .wx-bridal--photo{grid-template-columns:1fr!important;}
  body.ante-page .wx-bridal--photo .wx-bridal-photo{display:block!important;aspect-ratio:4/3!important;margin:-44px -24px 28px!important;}
}

/* ══ v52 ══════════════════════════════════════════ */
@media (max-width:768px){
  /* 横スライドのカード：一番長いカードに高さを合わせて中が空く問題 → 各カードは中身の高さに */
  body.ante-page :is(.hc-why-grid,.oem-feat-grid,.ws-brand-grid,.ws-support-grid,.ag-merit-grid,.bq-equip-grid,.bq-feat-grid,.rc-charm-grid,.mg-merit-grid,.md-service-grid,.md-merit-grid,.m-feature-grid,.m-effect-grid,.si-rev-grid,.s-review-grid,.e-review-grid,.ux-rev-grid,.ho-consult .ho-grid,.ho-vs,.cr-pc-grid){align-items:flex-start!important;}
  body.ante-page :is(.ws-brand-grid,.ws-support-grid) :is(.ws-card-body,.ws-card-desc){flex:none!important;}
  body.ante-page :is(.ws-brand-grid,.ws-support-grid) .ws-card .btn{width:100%!important;align-self:stretch!important;}
  /* 数字ボックスが奇数のとき、最後を横いっぱいに（灰色の空きマスをなくす） */
  body.ante-page .ws-kpi-grid > .ws-kpi:last-child:nth-child(odd){grid-column:1 / -1;}
  /* ワックス：施術イメージ3枚は横スライド */
  body.ante-page .ux-gallery{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px!important;padding:0 28px!important;background:transparent!important;scrollbar-width:none;margin:48px 0 0;}
  body.ante-page .ux-gallery::-webkit-scrollbar{display:none;}
  body.ante-page .ux-gallery > *{flex:0 0 78%;scroll-snap-align:center;}
  body.ante-page .ux-gallery::after{content:'';flex:0 0 12px;}
  /* ワックス：使い分け（タブ時）は上の太線なし */
  .ux-tabbed .wx-type-head::before{display:none!important;}
  .ux-tabbed .wx-type-card{border:1px solid #E8E8E5!important;}
  body.ante-page .wx-type-grid.ux-tabbed{background:transparent!important;}
}

/* v52 OEM：深緑の面が多く重いので、主役（FCフルパック）以外は明るい面に */
body.ante-page .oem-herb-card--peel{background:#fff!important;border:1px solid #E3E3DF!important;}
body.ante-page .oem-herb-card--peel :is(.oem-herb-card__title,h3){color:#2B2B2B!important;}
body.ante-page .oem-herb-card--peel :is(li,p){color:#555!important;}
body.ante-page .oem-herb-card--peel .oem-herb-card__tag{color:#56704A!important;}
body.ante-page .oem-herb-card--peel :is(span,a,div)[class*="lot"],body.ante-page .oem-herb-card--peel a{color:#2B2B2B!important;border-color:#D9D9D5!important;}
body.ante-page .oem-herb-card--nopeel{border:1px solid #E3E3DF!important;}
body.ante-page .oem-fc-merit{background:#F7F7F5!important;border:1px solid #E3E3DF!important;}
body.ante-page .oem-fc-merit *{color:#2B2B2B!important;}
body.ante-page .oem-fc-merit :is(li,p){color:#555!important;}
body.ante-page .oem-fc-merit :is(li)::before{color:#56704A!important;border-color:#56704A!important;}
body.ante-page .oem-fc-merit :is(a.oem-fv__btn,a.btn,a[class*="btn"]){background:#2B2B2B!important;color:#fff!important;border-color:#2B2B2B!important;}
body.ante-page .oem-fc-merit :is(a.oem-fv__btn,a.btn,a[class*="btn"]) *{color:#fff!important;}
body.ante-page .ho-vs-col--ok{background:#EEF2EA!important;}
body.ante-page .ho-vs-col--ok *{color:#2B2B2B!important;}
body.ante-page .ho-vs-col--ok li{color:#444!important;}
body.ante-page .ho-card--dark{background:#EEF2EA!important;}
body.ante-page .ho-card--dark *{color:#2B2B2B!important;}
@media (max-width:768px){
  /* 奇数個のグリッドで最後のマスが灰色に空く → 最後を横いっぱいに */
  body.ante-page :is(.oem-photos,.s-ba-grid,.e-feat-grid,.mg-support-grid) > :last-child:nth-child(odd){grid-column:1 / -1;}
  /* OEM（ハーブピーリング）：ギャラリー画像の横はみ出し */
  body.ante-page .ho-gallery .ho-ph{width:100%!important;max-width:100%!important;}
}

/* ══ v53 ビフォーアフターの共通レイアウト（スマホ） ══ */
@media (max-width:768px){
  body.ante-page .ux-ba-host{overflow:visible!important;padding:0!important;margin:0!important;width:auto!important;}
  body.ante-page .ux-ba-host :is(.swiper-button-prev,.swiper-button-next,.swiper-pagination,[class*="-prev"],[class*="-next"],[class*="pagination"]){display:none!important;}
  body.ante-page .ux-ba-host ~ :is([class*="-prev"],[class*="-next"],[class*="pagination"],.swiper-button-prev,.swiper-button-next){display:none!important;}
  body.ante-page .ux-ba{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:12px!important;transform:none!important;margin:0 -28px!important;padding:4px 28px 16px!important;scroll-padding-left:28px;scrollbar-width:none;width:auto!important;
    display:flex!important;grid-template-columns:none!important;background:transparent!important;height:auto!important;align-items:stretch!important;}
  body.ante-page .ux-ba::-webkit-scrollbar{display:none;}
  body.ante-page .ux-ba::after{content:'';flex:0 0 16px;}
  body.ante-page .ux-ba > .ux-ba-item{flex:0 0 82%!important;width:82%!important;max-width:none!important;margin:0!important;scroll-snap-align:start;height:auto!important;}
  body.ante-page .ux-ba-list{display:flex!important;flex-direction:column;gap:16px!important;grid-template-columns:none!important;background:transparent!important;}
  body.ante-page .ux-ba-list > .ux-ba-item{width:100%!important;}

  /* カード */
  body.ante-page .ux-ba-card{display:flex!important;flex-direction:column;height:100%;background:#fff!important;border:1px solid #ECECE8!important;border-radius:0;overflow:hidden;margin:0!important;box-shadow:none!important;}
  body.ante-page .ux-ba-imgs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px!important;background:#fff!important;height:auto!important;}
  body.ante-page .ux-ba-img{position:relative!important;aspect-ratio:3/4!important;width:auto!important;height:auto!important;overflow:hidden;background:#EEEEEA!important;display:block!important;}
  body.ante-page .ux-ba-img--a{background:#E8ECE4!important;}
  body.ante-page .ux-ba-img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;}
  body.ante-page .ux-ba-img > div{position:absolute!important;inset:0;width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center;font-size:10px!important;letter-spacing:.2em;color:#B5B5B0!important;background:transparent!important;}
  body.ante-page .ux-ba-img > span{position:absolute!important;top:8px!important;left:8px!important;bottom:auto!important;padding:3px 9px!important;border-radius:999px;font-size:9px!important;letter-spacing:.16em!important;line-height:1.4!important;background:rgba(43,43,43,.72)!important;color:#fff!important;font-family:'Cormorant Garamond',Georgia,serif!important;}
  body.ante-page .ux-ba-img--a > span{background:#56704A!important;}
  /* 文字 */
  body.ante-page .ux-ba-info{padding:16px 18px 18px!important;flex:1;text-align:left!important;}
  body.ante-page .ux-ba-info > :first-child{display:block;font-size:10px!important;letter-spacing:.16em!important;color:#56704A!important;margin:0 0 6px!important;line-height:1.6!important;}
  body.ante-page .ux-ba-info > :nth-child(2){font-family:'Yu Mincho','游明朝',YuMincho,serif!important;font-size:15px!important;line-height:1.6!important;color:#2B2B2B!important;margin:0 0 6px!important;font-weight:500!important;}
  body.ante-page .ux-ba-info > :nth-child(3){font-size:11px!important;color:#8A8A85!important;letter-spacing:.06em!important;line-height:1.7!important;}
}
@media (max-width:768px){
  /* ビフォーアフター：親の余白に関係なく画面の端から端まで流れるように */
  body.ante-page .ux-ba{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;padding-left:28px!important;padding-right:28px!important;scroll-padding-left:28px;box-sizing:border-box!important;}
  body.ante-page section :is(div,section):has(.ux-ba){overflow:visible!important;}
  body.ante-page .ux-ba-host{overflow:visible!important;}
}
@media (max-width:768px){
  /* 左右余白の統一：ページ内に直接書かれた「max-width＋padding」の入れ物も28pxに */
  body.ante-page :is(section,main) div[style*="margin:0 auto"][style*="padding:0 "]:not(header *):not(footer *){padding-left:28px!important;padding-right:28px!important;}
  /* セクション見出しは全ページ中央にそろえる（サロン一覧・トップなど左寄せだったもの） */
  body.ante-page:not(.rp-page) section .sec-head{text-align:center!important;}
  body.ante-page:not(.rp-page) section .sec-head :is(.sec-tag,.sec-title,.sec-sub,p){text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
  body.ante-page:not(.rp-page) section .sec-head :is([class*="divider"],[class*="sec-line"],.sec-head__line){margin-left:auto!important;margin-right:auto!important;}
}
@media (max-width:768px){
  body.ante-page.ante-page #medical-partner > div{padding-left:28px!important;padding-right:28px!important;}
  body.ante-page .ho-final .ho-btns{padding-left:0!important;padding-right:0!important;}
}
@media (max-width:768px){
  body.ante-page.ante-page:not(.rp-page) section :is(.inner,.inner-sm) > :is(.sec-tag,.sec-title,.sec-sub){display:block;text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
}

/* ══ v54 PC：コンテンツ幅を全セクションで統一（左右の端をそろえる） ══ */
@media (min-width:769px){
  body.ante-page :is([class$="-in--sm"],[class*="-in--sm "],[class$="-inner--sm"],[class*="-inner--sm "],.inner-sm,.inner--sm,
    .hp-inner,.wx-inner,.mn-inner,
    section div[style*="max-width:960px"][style*="margin:0 auto"],section div[style*="max-width:760px"][style*="margin:0 auto"],section div[style*="max-width:1080px"][style*="margin:0 auto"]):not(header *):not(footer *){
    max-width:1080px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;
    padding-left:64px!important;padding-right:64px!important;box-sizing:border-box!important;
  }
}
@media (min-width:769px){
  body.ante-page :is(.rp-intro__pts,.rp-ingr-list,.rp-safety,.mg-set-card){max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box;}
}

/* ══ v55 サロン一覧：医療提携ブロック（チャコール）＋オンライン診療の予約 ══ */
body.ante-page #medical-partner{background:#2B2B2B!important;padding:96px 0!important;}
body.ante-page #medical-partner > div > div{align-items:start!important;}
body.ante-page #medical-partner .mp-side{display:flex;flex-direction:column;gap:16px;}
body.ante-page #medical-partner .mp-photo{aspect-ratio:3/2;overflow:hidden;background:#3A3A3A;}
body.ante-page #medical-partner .mp-photo img{width:100%;height:100%;object-fit:cover;display:block;}
body.ante-page #medical-partner .mp-online{background:#fff;padding:28px 26px;color:#2B2B2B;}
body.ante-page #medical-partner .mp-online__en{font-family:'Cormorant Garamond',Georgia,serif;font-size:10px!important;letter-spacing:.3em;text-transform:uppercase;color:#A3A39E!important;margin:0 0 8px;}
body.ante-page #medical-partner .mp-online__ttl{font-family:'Yu Mincho','游明朝',YuMincho,serif;font-size:19px;font-weight:500;letter-spacing:.06em;color:#2B2B2B;margin:0 0 10px;border:none;padding:0;}
body.ante-page #medical-partner .mp-online__lead{font-size:12.5px!important;line-height:1.9!important;color:#555!important;margin:0 0 14px;text-align:left!important;}
body.ante-page #medical-partner .mp-online__list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;}
body.ante-page #medical-partner .mp-online__list li{font-size:11.5px!important;letter-spacing:.04em;line-height:1.5;padding:6px 12px;border:1px solid #E3E3DF;border-radius:999px;color:#2B2B2B!important;background:#FAFAF8;}
body.ante-page #medical-partner .mp-online__no{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;background:#F3F2EE;margin:0 0 14px;}
body.ante-page #medical-partner .mp-online__no span{font-size:11px;letter-spacing:.1em;color:#6B6B6B;}
body.ante-page #medical-partner .mp-online__no strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:500;letter-spacing:.14em;color:#2B2B2B;}
body.ante-page #medical-partner .mp-online__btn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:#06C755;color:#fff!important;font-size:13px;letter-spacing:.1em;text-decoration:none;font-weight:500;}
body.ante-page #medical-partner .mp-online__btn:hover{opacity:.85;}
body.ante-page #medical-partner .mp-online__note{font-size:10.5px!important;line-height:1.8!important;color:#8A8A85!important;margin:12px 0 0;text-align:left!important;}
@media (max-width:768px){
  body.ante-page #medical-partner{padding:80px 0!important;}
  body.ante-page #medical-partner .mp-online{padding:24px 20px;}
}
body.ante-page #medical-partner .mp-online__cats{font-size:12px!important;line-height:1.9!important;letter-spacing:.04em;color:#2B2B2B!important;padding:12px 0;border-top:1px solid #ECECE8;border-bottom:1px solid #ECECE8;margin:0 0 18px;text-align:left!important;}
body.ante-page #medical-partner .mp-online__btn--more{background:#2B2B2B;}
@media (max-width:768px){ body.ante-page.ante-page.oc-page .oc-lead{text-align:left!important;} }

/* ══ v57 HERBCELL：開発元メーカー直販ブロック ══ */
body.ante-page .hc-plan-cost{font-size:13px!important;color:#2B2B2B!important;margin-top:10px!important;letter-spacing:.04em;}
body.ante-page .hc-maker-lead{max-width:720px;margin:20px auto 0;font-size:14px;line-height:2.1;color:#444;}
body.ante-page .hc-maker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
body.ante-page .hc-maker-card{border:1px solid #ECECE8;background:#fff;padding:28px 24px;}
body.ante-page .hc-maker-en{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:11px;letter-spacing:.2em;color:#56704A;text-transform:uppercase;margin-bottom:8px;}
body.ante-page .hc-maker-ttl{font-family:'Yu Mincho','游明朝',YuMincho,serif;font-size:16px;font-weight:500;letter-spacing:.06em;color:#2B2B2B;margin:0 0 14px;}
body.ante-page .hc-maker-dl{margin:0;}
body.ante-page .hc-maker-dl > div{padding:10px 0;border-top:1px solid #F0F0EE;}
body.ante-page .hc-maker-dl dt{font-size:12.5px;font-weight:500;color:#2B2B2B;margin:0 0 2px;}
body.ante-page .hc-maker-dl dd{font-size:12.5px;line-height:1.8;color:#6B6B6B;margin:0;}
body.ante-page .hc-maker-cta{display:flex;justify-content:center;gap:12px;margin-top:36px;flex-wrap:wrap;}
@media (max-width:768px){
  body.ante-page .hc-maker-lead{font-size:13px;text-align:left!important;}
  body.ante-page .hc-maker-grid{grid-template-columns:1fr;gap:10px;}
  body.ante-page .hc-maker-card{padding:22px 20px;}
  body.ante-page.ante-page .hc-maker-lead{text-align:left!important;}
}
@media (max-width:768px){ body.ante-page.ante-page.ante-page #maker .hc-maker-lead{text-align:left!important;} }
