@charset "UTF-8";

/* 親テーマ style.css の html { font-size: clamp(...) } を打ち消す */
html {
  font-size: 16px;
}

/* ブロックテーマ main ラッパーの余白を打ち消し（LPは各セクションが幅管理） */
.vision24-houjin-main {
  max-width: none;
  padding: 0;
  margin: 0;
}

/* wpautop 残留時の空 <p> 対策（ヘッダー等） */
.vision24-houjin-main > p:empty {
  display: none;
  margin: 0;
}

/* ==========================================================================
   1. リセットCSS（最小限のノーマライズ）
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/* ページ内リンクのジャンプ先が固定ヘッダーに隠れないようにオフセット */
:target {
  scroll-margin-top: var(--biz-header-height);
}
[id] {
  scroll-margin-top: var(--biz-header-height);
}

html,
body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd,
ul, ol, li {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: inherit;
}

body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ==========================================================================
   2. :root（法人ページ固有トークン）
      色・レイアウト共通値は assets/css/tokens.css を参照
   ========================================================================== */
:root {
  /* --- フォントファミリー（英数字=Roboto Condensed → 日本語=Noto Sans JP） --- */
  --biz-font-base: "Roboto Condensed", "Noto Sans JP", sans-serif;
  --biz-font-number: "Racing Sans One", "Roboto Condensed", sans-serif;
  --biz-font-oswald: "Oswald", "Roboto Condensed", sans-serif;

  /* --- フォントサイズ（すべて4の倍数） --- */
  --biz-fs-12: 12px;   /* 注釈 */
  --biz-fs-14: 14px;   /* トレーナー本文・指導実績 */
  --biz-fs-16: 16px;   /* 平尾店 六本松店 */
  --biz-fs-20: 20px;   /* ヘッダーCTA（一回り小さく） */
  --biz-fs-24: 24px;   /* 帯本文 */
  --biz-fs-30: 30px;   /* サポート体制 見出し帯 */
  --biz-fs-28: 28px;   /* SP見出し（一回り小）*/
  --biz-fs-32: 32px;   /* 法人会員 */
  --biz-fs-40: 40px;   /* セクション見出し・結びコピー */
  --biz-fs-44: 44px;   /* 差別化セクションの黄色帯見出し */
  --biz-fs-48: 48px;   /* 帯：VISION24法人会員 */
  --biz-fs-64: 64px;   /* サポート体制 番号 */

  /* --- レイアウト（法人固有） --- */
  --biz-header-logo-width: 167px;
  /* ヘッダー・FV：1200pxを中央のまま左右それぞれロゴ幅ぶん広げる */
  --biz-content-width-wide: calc(var(--biz-content-width) + (var(--biz-header-logo-width) * 2));
}

/* ==========================================================================
   3. ベース
   ========================================================================== */
body {
  font-family: var(--biz-font-base);
  color: var(--biz-color-black);
  font-weight: 700; /* デザイン上、当面の見出し・帯はboldが基本 */
}

.no-wrap { display: inline-block; }

/* ==========================================================================
   4. ヘッダー（透明・固定・FV前面オーバーレイ）
   ========================================================================== */
.biz-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: var(--biz-header-height);
  background: transparent;
  z-index: 1000;
}

.biz-header-inner {
  width: 100%;
  min-height: var(--biz-header-height);
  padding: 0 var(--biz-side-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
/* wpautop 混入時の空 <p> が flex 先頭に入りロゴが右にずれるのを抑止 */
.biz-header-inner > p:empty {
  display: none;
  margin: 0;
}

/* 左：ロゴ＋テキスト */
.biz-header-brand {
  display: flex;
  align-items: flex-start; /* ロゴ上に10px余白を作るため上揃え */
  gap: 16px;
  padding-top: 10px;       /* ロゴ上の余白10px */
}

.biz-header-logo {
  width: auto;
  height: 106px;
}

/* 右：CTA（まずは無料体験、相談） */
.biz-header-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  margin-top: -16px; /* ロゴ以外を16px上げて重心を揃える */
  padding: 0 16px;
  background-color: var(--biz-color-yellow);
  color: var(--biz-color-black);
  font-size: var(--biz-fs-20);
  font-weight: 700;
  white-space: nowrap;
  border-radius: 4px; /* 若干の角丸 */
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.biz-header-cta:hover {
  transform: scale(1.05);
  background-color: var(--biz-color-black);
  color: var(--biz-color-yellow);
}

/* ==========================================================================
   5. FVプレースホルダー（仮）
   ========================================================================== */
/* ==========================================================================
   5b. ファーストビュー
   ========================================================================== */
.biz-fv {
  position: relative;
  background-image: url("../images/fv-bg.webp");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  padding-top: var(--biz-header-height);
}
.biz-fv-inner {
  max-width: var(--biz-content-width-wide);
  margin: 0 auto;
  padding: 56px var(--biz-side-padding) 72px;
}
.biz-fv-content {
  max-width: 720px;
}
.biz-fv-title {
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--biz-color-black);
  margin-bottom: 28px;
  white-space: nowrap;
  color: var(--color-text);
  -webkit-text-stroke: 4px var(--color-white);  /* 線幅 色 */
  paint-order: stroke fill;          /* 縁を文字の下に描く＝塗りが痩せない */
}

.biz-fv-lead {
  font-size: var(--biz-fs-20);
  font-weight: 500;
  line-height: 1.8;
  color: var(--biz-color-black);
  margin-bottom: 36px;
}
.biz-fv-amount {
  font-size: var(--biz-fs-32);
  font-weight: 700;
background-color: var(--biz-color-yellow);
}
.biz-fv-icons {
  display: flex;
  gap: 12px;
  max-width: 560px;
  margin-bottom: 32px;
}
.biz-fv-icon {
  flex: 1;
  min-width: 0;
  width: auto;
  height: auto;
    box-shadow: 2px 2px 2px #1c1c1c30;
}
.biz-fv-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 560px;
  background-color: var(--color-accent-pink);
  color: var(--biz-color-white);
  font-size: var(--biz-fs-24);
  font-weight: 700;
  padding: 22px 24px;
  border-radius: 999px;
  transition: transform 0.2s ease, filter 0.2s ease;
  margin-bottom: 20px;
}
.biz-fv-cta:hover {
  transform: scale(1.02);
  filter: brightness(0.9);
}
.biz-fv-note {
  display: inline-block;
  font-size: var(--biz-fs-14);
  font-weight: 500;
  line-height: 1.6;
  color: var(--biz-color-black);
  background-color: #ffffff35;
backdrop-filter: blur(10px); 
}
.biz-fv-note-red {
  color: var(--biz-color-red);
  font-weight: 700;
  text-decoration: underline;

}
.biz-fv-note-sm {
  font-size: var(--biz-fs-12);
}

/* スマホ専用FV（デスクトップでは非表示） */
.biz-fv-sp {
  display: none;
}
.biz-fv-sp-bg {
  display: block;
  width: 100%;
  height: auto;
}
.biz-fv-sp-content {
  position: absolute;
  inset: 0;
  margin-bottom: 40px;
}
.biz-fv-sp-title,
.biz-fv-sp-lead,
.biz-fv-sp-cta,
.biz-fv-sp-note,
.biz-fv-sp-icons {
  position: absolute;
  left: 5%;
  right: 5%;
}
.biz-fv-sp-title {
  top: 32%; /* 黄色〜水色の境目より少し下へ。1行目を黄色側、2行目を水色側に */
  transform: translateY(-50%); /* 2行ブロックの中央を基準位置に合わせる */
  font-size: 9vw; /* nowrapで2行目(10字)が幅90vwに収まるサイズ */
  font-weight: 700;
  line-height: 1.3;
  color: var(--biz-color-black);
  white-space: nowrap; /* 各行を折り返さない */
  -webkit-text-stroke: 4px var(--color-white);  /* 線幅 色 */
  paint-order: stroke fill;          /* 縁を文字の下に描く＝塗りが痩せない */
}
.biz-fv-sp-lead {
  top: 61%;
  text-align: center;
  font-size: 4.2vw;
  font-weight: 500;
  line-height: 1.7;
  color: var(--biz-color-black);
}
.biz-fv-sp-amount {
  font-size: 5.6vw;
  font-weight: 700;
background-color: var(--biz-color-yellow);
}
.biz-fv-sp-cta {
  top: 75%;
  left: 4%;
  right: 4%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-accent-pink);
  color: var(--biz-color-white);
  font-size: 4.8vw;
  font-weight: 700;
  padding: 4.6vw 4vw;
  border-radius: 999px;
}

.biz-fv-sp-note {
  top: 84%;
  font-size: 3vw;
  font-weight: 400;
  line-height: 1.6;
  color: var(--biz-color-black);
}
.biz-fv-sp-note-red {
  color: var(--biz-color-red);
  font-weight: 700;
  text-decoration: underline;
}
.biz-fv-sp-note-sm {
  white-space: nowrap;
}

.biz-fv-sp-icons {
  top: 90%;
  left: 4%;
  right: 4%;
  display: flex;
  gap: 2vw;
}
.biz-fv-sp-icon {
  flex: 1;
  min-width: 0;
  width: auto;
  height: auto;
  box-shadow: 2px 2px 2px #1c1c1c30;
}

/* トレーナー詳細トグル（デスクトップでは非表示） */
.biz-trainer-toggle {
  display: none;
}

/* ==========================================================================
   6. 問題提起セクション（黒背景・下端V字カット）
   ========================================================================== */
.biz-problem {
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  padding: 100px 0 100px; /* 下はV字カット分を考慮して広めに */
  /* 下端を中央に向かって尖らせるV字カット（深さ160px：開始を高く・深め） */
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 160px), 50% 100%, 0 calc(100% - 160px));
}

.biz-problem-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}

/* セクション見出し */
.biz-problem-heading {
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 80px;
}

/* 各ブロック */
.biz-problem-item {
  margin-bottom: 72px;
}

/* 黄色ラベルの行（装飾ラインを下線として内包） */
.biz-problem-label-row {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 16px; /* ラベルとラインの間隔 */
  margin-bottom: 24px;
}

/* 装飾ライン：擬似要素で下線として描画（途切れさせず全部見せる）。
   ラインは「画面の片端 〜 反対側のコンテンツ端」を結ぶ。
   .biz-problem-inner は最大1000px・左右padding付きなので、コンテンツ端＝この行の左右端。
   そこから画面端まで伸ばす分を calc(50vw - 500px) で算出し、狭い画面では 0 にクランプ。 */
.biz-problem-label-row::after {
  content: "";
  position: absolute;
  bottom: 0; /* ラベルの下に下線として配置 */
  height: 1px;
  background-color: var(--biz-color-line);
  --biz-line-extend: max(0px, calc(50vw - 500px));
}

/* 01・03：左端始まり → コンテンツ右端で止まる（右に空白） */
.biz-problem-label-row--left::after {
  left: calc(-1 * var(--biz-line-extend) - var(--biz-side-padding));
  right: 0;
}

/* 02：右端始まり → コンテンツ左端で止まる（左に空白） */
.biz-problem-label-row--right::after {
  left: 0;
  right: calc(-1 * var(--biz-line-extend) - var(--biz-side-padding));
}

/* 黄色ラベル（ラインに重ねず、上に配置） */
.biz-problem-label {
  font-size: var(--biz-fs-16);
  font-weight: 700;
  color: var(--biz-color-yellow);
}

/* ブロック見出し */
.biz-problem-title {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 32px;
}

/* 本文 */
.biz-problem-text {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.9;
  color: var(--biz-color-white);
}

/* 結びコピー */
.biz-problem-conclusion {
  font-size: var(--biz-fs-40);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin: 40px auto 40px;
}
.biz-problem-conclusion-accent {
  background-color: var(--biz-color-yellow);

}

/* ==========================================================================
   8. 解決策：3つの戦略的投資（白背景・黄色カード）
   ========================================================================== */
.biz-solution {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-solution-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-solution-heading {
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 64px;
}

.biz-card-list {
  display: flex;
  gap: 32px;
  align-items: flex-start; /* 等高(stretch)をやめ上揃え。アコーディオン展開時に3カード目だけ伸び、他2列は伸びない */

}


.biz-card {
  flex: 1;
  background-color: var(--biz-color-yellow);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  padding: 40px 32px;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.biz-card-icon {
  margin-bottom: 24px;
}
.biz-card-icon img {
  height: 80px;
  width: auto;
}
.biz-card-title {
  font-size: var(--biz-fs-28);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 24px;
  /* 3枚で見出しの高さを揃え、本文の開始位置を統一（最大3行想定） */
  min-height: calc(var(--biz-fs-32) * 1.3 * 3);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.biz-card-text {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
}
.biz-card-note {
  font-size: var(--biz-fs-12);
  font-weight: 400;
  text-align: left;
  margin-top: 16px;
}
.biz-card-note a {
  text-decoration: underline;
}



/* ==========================================================================
   9. 健康経営の実績作り（グレー背景）
   ========================================================================== */

.biz-H-and-P{
font-size: 0.75rem;

}

biz-H-and-P-innner

.biz-achievement {
  background-color: var(--biz-color-gray-bg);
  padding: 96px 0;
}
.biz-achievement-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-achievement-heading {
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 56px;
}
.biz-achievement-box-list {
  display: flex;
  gap: 32px;
  margin-bottom: 48px;
}
.biz-achievement-box {
  flex: 1;
  background-color: var(--biz-color-white);
  border-left: 24px solid var(--biz-color-yellow);
  padding: 24px 32px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
}
.biz-achievement-box-title {
  font-size: var(--biz-fs-16);
  font-weight: 700;
  margin-bottom: 8px;
}
.biz-achievement-box-text {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.8;
}
.biz-achievement-lead {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 40px;
}
.biz-achievement-note {
  background-color: var(--biz-color-white);
  border-radius: 8px;
  margin-top: 8px;
  padding: 8px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.12);
}
.biz-achievement-note-main {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.9;
  margin-bottom: 24px;
}
.biz-achievement-note-sub {
  font-size: var(--biz-fs-12);
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text-secondary);
}
.biz-achievement-note a {
  text-decoration: underline;
}
/* アコーディオン：見出し「健康経営優良法人について ∨」をタップで開閉 */
.biz-achievement-note-toggle {
  display: flex;
  /* align-items: center; */
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--biz-font-base);
  font-size: var(--biz-fs-20);
  font-weight: 700;
  color: var(--biz-color-black);
  text-align: left;
}
.biz-achievement-note-chevron {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  margin-bottom: 4px;
  border-right: 2px solid var(--biz-color-black);
  border-bottom: 2px solid var(--biz-color-black);
  transform: rotate(45deg); /* ∨（下向き） */
  transition: transform 0.3s ease;
}
.biz-achievement-note.is-open .biz-achievement-note-chevron {
  margin-bottom: -4px;
  transform: rotate(-135deg); /* ∧（上向き） */
}
.biz-achievement-note-body {
  text-align-last: left;
  max-height: 0;
  padding-top: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding-top 0.4s ease;
}
.biz-achievement-note.is-open .biz-achievement-note-body {
  padding-top: 20px;
}

/* ==========================================================================
   10. コスト比較（グラフ）
   ========================================================================== */
.biz-cost {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-cost-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-cost-heading {
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 40px;
}
.biz-cost-text {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.9;
  max-width: 1000px;
  margin: 0 auto 48px;
}
.biz-cost-graph {
  text-align: center;
  margin-bottom: 48px;
}
.biz-cost-graph img {
  width: 100%;
  max-width: 800px;
  height: auto;
}

/* 吹き出し風コールアウト */
.biz-cost-callout {
  position: relative;
  display: flex;
  align-items: center;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  border: 2px solid var(--color-border);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
/* 上向きのツノ */
.biz-cost-callout::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid var(--color-border);
}
.biz-cost-callout::after {
  content: "";
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-bottom: 14px solid var(--biz-color-white);
}
.biz-cost-callout-label {
  flex-shrink: 0;
  background-color: var(--biz-color-yellow);
  font-size: var(--biz-fs-16);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  padding: 16px 20px;
  border-radius: 4px;
}
.biz-cost-callout-body {
  flex: 1;
}
.biz-cost-callout-detail {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  margin-bottom: 8px;
}
.biz-cost-callout-result {
  font-size: clamp(20px, 4vw, 36px); /* レスポンシブで自動縮小 */
  font-weight: 700;
  color: var(--biz-color-black);
  line-height: 1.3;
  text-decoration: underline;
}
.biz-cost-callout-amount {
  color: var(--biz-color-red);
}

/* ==========================================================================
   11. 黄色いリード帯
   ========================================================================== */
.biz-lead-band {
  background-color: var(--biz-color-yellow);
  width: 100%;
  padding: 40px var(--biz-side-padding);
}

.biz-lead-band-inner {
  max-width: var(--biz-content-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 40px;
}

/* 左：黒枠ボックス内の見出し */
.biz-lead-band-label {
  flex-shrink: 0;
  border: 8px solid var(--biz-color-black);
  padding: 16px 32px;
  font-size: var(--biz-fs-48);
  font-weight: 700;
  line-height: 1.2;
  color: var(--biz-color-black);
  white-space: nowrap;
}

/* 右：本文 */
.biz-lead-band-text {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  line-height: 1.6;
  color: var(--biz-color-black);
}

/* タブレット以下でのみ表示する改行 */

/* ==========================================================================
   12. 差別化：24時間競合との違い（黒背景・比較テーブル）
   ========================================================================== */
.biz-compare {
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  padding: 100px auto;

}

/* 上部の黄色帯（全幅） */
.biz-compare-band {
  background-color: var(--biz-color-yellow);
  padding: 32px var(--biz-side-padding);
  margin-bottom: 64px;
}
.biz-compare-band-title {
  font-size: var(--biz-fs-44);
  font-weight: 700;
  color: var(--biz-color-black);
  text-align: center;
  line-height: 1.4;
}

.biz-compare-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0; /* 1200px幅をフルに使い、左右ブロック580px×2＋スペーサーを成立させる */
}

.biz-compare-lead {
  font-size: var(--biz-fs-24);
  font-weight: 400;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 56px;
}

/* 比較テーブル（3列：項目名／一般ジム／VISION24） */
.biz-compare-cols {
  width: 100%;
}
.biz-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0; /* 列はすべて連結。VISION24列だけ後述の左帯で離す */
  table-layout: fixed;
}
.biz-compare-table th,
.biz-compare-table td {
  vertical-align: middle;
}

/* ヘッダー行 */
.biz-compare-head {
  font-size: var(--biz-fs-32);
  font-weight: 700;
  text-align: center;
  padding: 20px 16px;
}
.biz-compare-head--general {
  background-color: var(--color-gray-ui);
  color: var(--biz-color-black);
}
/* VISION24ヘッダー：金グラデーション・ロゴはトップのみpadding */
.biz-compare-head--vision {
  background: linear-gradient(120deg, #ccc9ad 0%, #fffcd9 35%, #c1bc7e 70%, #e5e3c3 100%);
  padding: 24px 16px 0; /* 形の都合でトップのみ余白 */
  text-align: center;
}
/* 分離帯（スペーサー列）：背景色を透過させ、線も出さない */
.biz-compare-spacer {
  background-color: transparent;
  border: none;
  padding: 0;
}

/* 列幅（colgroupで確実に固定）：項目1 : 一般ジム2 : VISION24 3 ＋ スペーサー
   → 左ブロック(1+2=3) と VISION24(3) が左右対称 */
.biz-col-item {
  width: 16.111%;
}
.biz-col-desc {
  width: 32.222%;
}
.biz-col-spacer {
  width: 3.334%;
}
.biz-col-feature {
  width: 48.333%;
}
.biz-compare-logo {
  height: 64px;
  width: auto;
  vertical-align: bottom;
}

/* 本文セル：白背景 */
.biz-compare-item,
.biz-compare-desc,
.biz-compare-feature {
  background-color: var(--biz-color-white);
  color: var(--biz-color-black);
  font-size: var(--biz-fs-20);
  padding: 20px 24px;
  border-bottom: 1px solid var(--color-border-light);
  line-height: 1.5;
}

/* 項目名列（薄いグレー・中央） */
.biz-compare-item {
  background-color: var(--color-gray-bg-soft);
  font-weight: 500;
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}
/* 一般ジムの説明列（左寄せ） */
.biz-compare-desc {
  font-weight: 400;
  text-align: left;
}
/* VISION24の特徴列（チェック＋太字テキスト）
   チェックは左で上下中央、テキストは折り返しても先頭が揃うようブロック化 */

.biz-compare-feature {
  font-weight: 700;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 12px;
}
.biz-compare-feature > span {
  flex: 1;
}
.biz-compare-feature .biz-compare-check {
  width: 32px;
  height: auto;
  margin-right: 0;
  flex-shrink: 0;
}

/* 結びの2行 */
.biz-compare-conclusion {
  text-align: center;
  margin-top: 64px;
}
.biz-compare-conclusion-line {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  line-height: 1.6;
}
.biz-compare-conclusion-line--strong {
  margin-top: 12px;
}

/* ==========================================================================
   13. 6つのサポート体制（背景画像＋#1C1C1Cオーバーレイ・交互レイアウト）
   ========================================================================== */
.biz-support {
  background-color: var(--biz-color-black);
}
.biz-support-band {
  background-color: var(--biz-color-black);
  padding: 40px var(--biz-side-padding);
}
.biz-support-band-title {
  font-size: var(--biz-fs-30);
  font-weight: 700;
  color: var(--biz-color-white);
  text-align: center;
  line-height: 1.5;
}

/* 本文エリア：背景画像＋#1C1C1C 90%オーバーレイ */
.biz-support-inner {
  position: relative;
  padding: 40px var(--biz-side-padding) 55px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* 各項目（背景）：修飾クラスで個別指定（並び順・帯の有無に影響されない） */
.biz-support-inner--01 { background-image: url("../images/support-01-24hour-gym.webp"); }
.biz-support-inner--02 { background-image: url("../images/support-02-rental.webp"); }
.biz-support-inner--03 { background-image: url("../images/support-03-personal-training.webp"); }
.biz-support-inner--04 { background-image: url("../images/support-04-machine.webp"); }
.biz-support-inner--05 { background-image: url("../images/support-05-meal-guidance.webp"); }
.biz-support-inner--06 { background-image: url("../images/support-06-diet-bento.webp"); }


/* 各項目（背景のオーバーレイ（黒くする）） */
.biz-support-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(28, 28, 28, 0.9); /* #1C1C1C 90% */
  pointer-events: none;
}


/* 各項目（交互レイアウト） */
.biz-support-item {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 56px;
  padding: 48px 0;
}




.biz-support-item--reverse {
  flex-direction: row-reverse;
}

/* 写真（500×333・ドロップシャドウ） */
.biz-support-photo {
  flex-shrink: 0;
  position: relative;
 z-index: 1;
}
.biz-support-photo img {
  display: block;
  width: 500px;
  height: 333px;
  object-fit: cover;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
}

/* テキスト側 */
.biz-support-body {
  flex: 1;
  position: relative;
  z-index: 1;
}
.biz-support-head {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 20px;
}
.biz-support-num {
  font-family: var(--biz-font-number);
  font-size: var(--biz-fs-64);
  color: var(--biz-color-yellow);
  line-height: 1;
  flex-shrink: 0;
}
.biz-support-title {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  color: var(--biz-color-white);
  line-height: 1.5;
}
.biz-support-underline {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.biz-support-text {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  color: var(--biz-color-white);
  line-height: 1.9;
}

/* ==========================================================================
   14. 通いたくなる空間（フルスクリーン画像フェード・白背景）
      見出し〜下テキストが1画面に収まるよう min-height:100vh のflex縦組み
   ========================================================================== */
.biz-env {
  background-color: var(--biz-color-white);
  color: var(--biz-color-black);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-bottom: 56px;
}

/* 見出し・本文 */
.biz-env-head {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 56px var(--biz-side-padding) 24px;
}
.biz-env-title {
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 32px;
}
.biz-env-lead {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.9;
}

/* スライダー（フルスクリーン幅・残りの高さを埋める） */
.biz-env-slider {
  position: relative;
  flex: 1;
  min-height: 320px;
  width: 100%;
  overflow: hidden;
  margin-bottom: 28px; /* 下部テキストの上ラインとの余白 */
}
.biz-env-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease;
  pointer-events: none;
}
.biz-env-slide.is-active {
  opacity: 1;
}

/* 下のテキスト（タブ）＋上下の装飾ライン
   上ライン：画面左端 → 中央+600px（コンテンツ右端）で止まる
   下ライン：画面右端 → 中央-600px（コンテンツ左端）で止まる */
.biz-env-tabs {
  position: relative;
  max-width: 1200px; /* 中央±600px */
  width: 100%;
  margin: 0 auto 28px; /* セクション端との余白 */
  padding: 16px var(--biz-side-padding);
  display: flex;
  justify-content: space-between;
}
/* 上ライン：左端始まり → コンテンツ右端で止まる */
.biz-env-tabs::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * max(0px, (50vw - 600px)));
  right: 0;
  height: 1px;
  background-color: var(--biz-color-black);
}
/* 下ライン：右端始まり → コンテンツ左端で止まる */
.biz-env-tabs::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: calc(-1 * max(0px, (50vw - 600px)));
  height: 1px;
  background-color: var(--biz-color-black);
}
.biz-env-tab {
  flex: 1;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--biz-font-base);
  font-size: var(--biz-fs-16);
  font-weight: 400;
  color: var(--biz-color-black);
  text-align: center;
  padding: 0 8px;
  transition: color 0.2s ease;
}
/* 選択中・ホバーはグレー色で強調（太字にはしない） */
.biz-env-tab.is-active,
.biz-env-tab:hover {
  color: var(--color-text-muted);
}

/* 店内イベント（空間セクション下部）。auto-fitで折り返すためメディアクエリ不要 */
.biz-env-event {
  max-width: 1200px;
  width: 100%;
  margin: 40px auto 0;
  /* padding: 32px var(--biz-side-padding) 0; */
}
.biz-env-event-box {
  padding: 28px 24px;
  background-color: var(--color-gray-bg-light);
  border: 1px solid var(--color-gray-bg);
  border-radius: 12px;
}
.biz-env-event-intro {
  margin-bottom: 24px;
  text-align: center;
}
.biz-env-event-intro h3 {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  margin-bottom: 8px;
}
.biz-env-event-intro p {
  font-size: var(--biz-fs-14);
  line-height: 1.7;
  color: var(--color-text-secondary);
}
.biz-env-event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.biz-env-event-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background-color: var(--biz-color-white);
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
}
.biz-env-event-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 8px;
  background-color: var(--color-gray-bg-highlight);
  border-radius: 6px;
  box-sizing: border-box;
}
.biz-env-event-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.biz-env-event-text h4 {
  font-size: var(--biz-fs-14);
  font-weight: 700;
  margin-bottom: 4px;
}
.biz-env-event-text p {
  font-size: var(--biz-fs-12);
  line-height: 1.5;
  color: var(--color-text-secondary);
}
.biz-env-event-footer {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px dashed var(--color-border);
  text-align: center;
  font-size: var(--biz-fs-14);
  font-weight: 700;
}
/* スマホ・タブレット時のみアコーディオン化（PCはトグル非表示・本文常時表示） */
.biz-env-event-toggle {
  display: none;
}

/* ==========================================================================
   15. パーソナルトレーナー（店舗切替タブ・拡大カード＋5人サムネ・左右スライド）
   ========================================================================== */
.biz-trainer {
  background-color: var(--biz-color-black);
  background-image: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)), url("../images/bg-trainer.webp");
  background-size: cover;
  background-position: center;
  color: var(--biz-color-white);
  padding-bottom: 96px;
}
.biz-trainer-intro {
  background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), url("../images/bg-trainer-intro.webp");
  background-size: cover;
  background-position: center;
  padding: 80px var(--biz-side-padding) 56px;
}
.biz-trainer-intro-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}
/* 店舗名タブ：#000の黒背景帯 */
.biz-trainer-stores {
  background-color: var(--biz-color-black);
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 8px var(--biz-side-padding);
  margin-bottom: 56px;
}
.biz-trainer-eyebrow {
  font-family: var(--biz-font-base);
  font-size: 96px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text-secondary);
  letter-spacing: 0.02em;
  margin-bottom: 24px;
}
.biz-trainer-title {
  font-weight: 700;
  color: var(--biz-color-white);
  line-height: 1.5;
  margin-bottom: 32px;
  text-align: center;
}
.biz-trainer-lead {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  color: var(--biz-color-white);
  line-height: 1.9;
  margin-bottom: 40px;
}
.biz-trainer-intro-catch {
  font-size: var(--biz-fs-32);
  font-weight: 700;
  color: var(--biz-color-yellow);
  line-height: 1.5;
  text-align: center;
}
.biz-trainer-store {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--biz-font-base);
  font-size: var(--biz-fs-24);
  font-weight: 700;
  color: var(--color-text-muted);
  padding: 16px 32px;
  border-bottom: 3px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.biz-trainer-store.is-active {
  color: var(--biz-color-white);
  border-bottom-color: var(--biz-color-yellow);
}
.biz-trainer-panel {
  display: none;
}
.biz-trainer-panel.is-active {
  display: block;
}
.biz-trainer-stage {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px var(--biz-side-padding);
  overflow: hidden;
}
.biz-trainer-track {
  display: flex;
  gap: 64px; /* トレーナー間の隙間（隣が画面内に映らない距離） */
  transition: transform 0.45s ease;
}
.biz-trainer-feature {
  flex: 0 0 100%;
  height: 560px;
  display: flex;
  align-items: stretch;
  background: linear-gradient(180deg, #acab97 0%, #dcdcd5 100%);
  color: var(--biz-color-black);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 14px rgba(254, 232, 1, 0.7); /* 上下左右の細い黄色光彩 */
}
.biz-trainer-photo {
  flex: 0 0 40%;
  max-width: 440px;
}
.biz-trainer-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.biz-trainer-info {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* strong point 以下はスクロール（カードの縦幅を抑える） */
.biz-trainer-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  margin-top: 8px;
  padding-right: 8px;
}
.biz-trainer-info-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 8px;
}
.biz-trainer-head-right {
  flex-shrink: 1;
  max-width: 62%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.biz-trainer-store-name {
  font-size: var(--biz-fs-20);
  font-weight: 400;
}
/* 名前行：漢字＋英字（白・折り返さない）＋右端まで伸びる黄色線 */
.biz-trainer-name-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 12px;
}
.biz-trainer-name {
  flex-shrink: 0;
  font-size: 28px;
  font-weight: 700;
  display: flex;
  align-items: baseline;
  gap: 16px;
  white-space: nowrap;
}
.biz-trainer-en-wrap {
  flex: 1;
  display: flex;
  align-items: flex-end;
  border-bottom: 2px solid var(--biz-color-yellow);
  padding-bottom: 4px;
}
.biz-trainer-en {
  font-size: var(--biz-fs-16);
  font-weight: 700;
  color: var(--biz-color-white);
  white-space: nowrap;
}
.biz-trainer-insta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: var(--biz-color-black);
  border-radius: 50%;
}
.biz-trainer-insta img {
  width: 22px;
  height: 22px;
}
.biz-trainer-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.biz-trainer-tag {
  font-size: var(--biz-fs-12);
  font-weight: 500;
  background-color: var(--color-gray-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 4px 14px;
}
.biz-trainer-info .biz-trainer-catch {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  color: var(--biz-color-black);
  line-height: 1.6;
  margin-bottom: 12px;
  text-align: left;
}
.biz-trainer-awards {
  list-style: none;
  margin-bottom: 12px;
}
.biz-trainer-award {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  font-size: var(--biz-fs-12);
  font-weight: 500;
  line-height: 1.5;
  padding: 8px 14px;
  margin-bottom: 6px;
  border-radius: 6px;
}
.biz-trainer-award-icon {
  flex-shrink: 0;
  font-size: var(--biz-fs-12);
}
.biz-trainer-sub {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  margin: 16px 0 6px;
}
.biz-trainer-sub--sm {
  font-size: var(--biz-fs-14);
  margin-top: 8px;
}
.biz-trainer-body {
  font-size: var(--biz-fs-14);
  font-weight: 400;
  line-height: 1.8;
}
.biz-trainer-qual {
  font-size: var(--biz-fs-12);
  font-weight: 400;
  line-height: 1.7;
  border: 1px solid var(--color-border-ui-muted);
  padding: 10px 12px;
  margin-bottom: 8px;
}
/* くの字ナビ（プロフィール両サイド） */
.biz-trainer-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 44px;
  height: 44px;
  background-color: rgba(0, 0, 0, 0.55);
  border: none;
  border-radius: 50%;
  cursor: pointer;
}
.biz-trainer-nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 3px solid var(--biz-color-white);
  border-right: 3px solid var(--biz-color-white);
}
.biz-trainer-nav--prev {
  left: 8px;
}
.biz-trainer-nav--prev::before {
  transform: translate(-30%, -50%) rotate(-135deg);
}
.biz-trainer-nav--next {
  right: 8px;
}
.biz-trainer-nav--next::before {
  transform: translate(-70%, -50%) rotate(45deg);
}
.biz-trainer-indicator {
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 28px 0;
}
.biz-trainer-dot {
  width: 48px;
  height: 8px;
  background-color: var(--biz-color-white);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.2s ease;
}
.biz-trainer-dot.is-active {
  background-color: var(--biz-color-yellow);
}
.biz-trainer-thumbs {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.biz-trainer-thumb {
  background-color: var(--biz-color-white);
  border: 2px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  padding: 0 0 12px;
  text-align: left;
  transition: border-color 0.2s ease;
  display: flex;
  flex-direction: column;
}
.biz-trainer-thumb.is-active {
  border-color: var(--biz-color-yellow);
}
.biz-trainer-thumb-photo {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.biz-trainer-thumb-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
/* サムネ下部：名前（漢字＋英字 縦並び左）＋ 黒バッジ（右） */
.biz-trainer-thumb-foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 12px 0;
}
.biz-trainer-thumb-names {
  display: flex;
  flex-direction: column;
}
.biz-trainer-thumb-name {
  font-size: var(--biz-fs-16);
  font-weight: 700;
  color: var(--biz-color-black);
}
.biz-trainer-thumb-en {
  font-size: 10px;
  font-weight: 500;
  color: var(--color-text-muted);
}
.biz-trainer-thumb-badges {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}
.biz-trainer-badge {
  font-size: 10px;
  font-weight: 700;
  color: var(--biz-color-white);
  background-color: var(--biz-color-black);
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.biz-trainer-thumb-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 12px 0;
}
.biz-trainer-thumb-tag {
  font-size: 10px;
  font-weight: 500;
  color: var(--biz-color-black);
  border: 1px solid var(--color-border);
  background-color: var(--color-gray-bg-soft);
  border-radius: 999px;
  padding: 3px 10px;
}

/* ==========================================================================
   16. 料金プラン
   ========================================================================== */
.biz-pricing {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-pricing-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-pricing-title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
.biz-pricing-band {
  background-color: var(--biz-color-yellow);
  font-size: var(--biz-fs-20);
  font-weight: 700;
  text-align: center;
  padding: 16px 24px;
  margin-bottom: 40px;
}
.biz-pricing-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOS慣性スクロール */
  padding-top: 40px;
}
.biz-pricing-table-wrap.is-grabbing {
  cursor: grabbing;
  user-select: none;
}
.biz-pricing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--biz-fs-14);
  table-layout: fixed;
}
.biz-pricing-col-item { width: 22%; }
.biz-pricing-col-biz { width: 30%; }
.biz-pricing-col-exe { width: 24%; }
.biz-pricing-col-normal { width: 24%; }
.biz-pricing-table th,
.biz-pricing-table td {
  border: 1px solid var(--color-border);
  padding: 14px 12px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
}
.biz-pricing-table tbody th {
  font-weight: 700;
  background-color: var(--biz-color-white);
}
/* ヘッダー */
.biz-pricing-th-empty {
  border: none !important;
  background: none;
}
.biz-pricing-th-biz {
  position: relative;
  background-color: var(--biz-color-yellow);
}
.biz-pricing-th-badge {
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: 100%;
  background-color: var(--biz-color-yellow);
  border: 1px solid var(--color-border);
  border-bottom: none;
  font-size: var(--biz-fs-16);
  font-weight: 700;
  padding: 8px 4px;
}
.biz-pricing-th-plan {
  display: block;
  font-size: var(--biz-fs-14);
  font-weight: 700;
}
.biz-pricing-th-plan-cell {
  background-color: var(--color-gray-bg-disabled);
  color: var(--biz-color-black);
  font-weight: 700;
  font-size: var(--biz-fs-16);
}
/* 法人会員列の強調 */
.biz-pricing-biz {
  background-color: var(--color-gray-bg-highlight);
  font-weight: 700;
}
.biz-pricing-strike {
  text-decoration: line-through;
  color: var(--color-text-muted);
  font-weight: 400;
}
.biz-pricing-biz strong {
  font-size: var(--biz-fs-20);
}
.biz-pricing-biz--highlight {
  background-color: var(--biz-color-yellow);
}
.biz-pricing-x {
  color: var(--color-text-muted);
}
/* 特別ベネフィット */
.biz-pricing-benefit {
  position: relative;
  border: 2px solid var(--biz-color-dark);
  border-radius: 12px;
  padding: 40px;
  margin-top: 100px;
}
.biz-pricing-benefit-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--biz-color-white);
  padding: 0 20px;
  font-size: var(--biz-fs-30);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  margin: 0;
}
.biz-pricing-benefit-lead {
  font-size: var(--biz-fs-20);
  text-align: center;
  margin-bottom: 24px;
}
.biz-pricing-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}
.biz-pricing-benefit-item {
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  font-size: var(--biz-fs-20);
  font-weight: 700;
  text-align: center;
  padding: 20px 16px;
  border-radius: 8px;
}
.biz-pricing-note {
  text-align: center;
  font-size: var(--biz-fs-14);
  line-height: 1.8;
}
.biz-pricing-note-title {
  font-weight: 400;
  margin-bottom: 4px;
}

/* ==========================================================================
   17. 導入企業様の声（レビュー）
   ========================================================================== */
.biz-review {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-review-inner {
  max-width: 1200px;
  margin: 0 auto;
  border: 1px solid var(--biz-color-dark);
}
.biz-review-title {
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  font-weight: 700;
  text-align: center;
  padding: 32px var(--biz-side-padding);
}
.biz-review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 40px;
}
.biz-review-card {
  background-color: var(--biz-color-white);
  border: 1px solid var(--color-border-pale);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
}
.biz-review-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.biz-review-avatar {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-color: var(--biz-color-yellow);
  border-radius: 50%;
}
.biz-review-quote {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  line-height: 1.4;
}
.biz-review-body {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 24px;
  flex: 1;
}
.biz-review-author {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text-dark);
}

/* ==========================================================================
   18. FAQ（アコーディオン）
   ========================================================================== */
.biz-faq {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-faq-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-faq-title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
}
.biz-faq-sub {
  font-size: var(--biz-fs-14);
  text-align: center;
  margin-bottom: 48px;
}
.biz-faq-list {
  width: 100%;
}

/* ==========================================================================
   18b. スタートアップキャンペーン（画像差し込み）
   ========================================================================== */
.biz-campaign {
  background-color: var(--biz-color-white);
}
.biz-campaign-inner {
  width: 100%;
}
.biz-campaign-img {
  display: block;
  width: 100%;
  height: auto;
}

/* ==========================================================================
   18c. ご契約の流れ
   ========================================================================== */
.biz-flow {
  background-color: var(--biz-color-white);
  padding-bottom: 96px;
}
.biz-flow-limit {
  background-color: var(--biz-color-yellow);
  padding: 32px var(--biz-side-padding);
  margin: 64px 0 80px;
}
.biz-flow-limit-inner {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  font-size: var(--biz-fs-16);
  font-weight: 500;
  line-height: 1.9;
}
.biz-flow-limit-strong {
  font-weight: 700;
  color: var(--color-accent-pink-alt);
}
.biz-flow-limit-red {
  color: var(--color-accent-pink-alt);
  font-weight: 700;
}
.biz-flow-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-flow-title {
  font-size: var(--biz-fs-30);
  font-weight: 700;
  text-align: center;
  margin-bottom: 48px;
}
.biz-flow-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
  margin-bottom: 64px;
}
.biz-flow-step {
  flex: 1;
  max-width: 240px;
  text-align: center;
}
.biz-flow-icon {
  height: 56px;
  width: auto;
  margin-bottom: 16px;
}
.biz-flow-step-title {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  line-height: 1.4;
}
.biz-flow-step-sub {
  font-size: var(--biz-fs-12);
  font-weight: 400;
  margin-top: 4px;
}
.biz-flow-arrow {
  flex-shrink: 0;
  align-self: center;
  width: 14px;
  height: 14px;
  border-top: 3px solid var(--biz-color-dark);
  border-right: 3px solid var(--biz-color-dark);
  transform: rotate(45deg);
}
/* CTA（紺色ボックス）：すべて中央揃え */
.biz-flow-cta {
  background-color: var(--color-dark-blue);
  color: var(--biz-color-white);
  padding: 48px;
  border-radius: 4px;
  text-align: center;
}
.biz-flow-cta-title {
  font-size: var(--biz-fs-24);
  font-weight: 400;
  margin-bottom: 32px;
}
.biz-flow-cta-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}
.biz-flow-cta-tel-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.biz-flow-cta-store {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--biz-fs-20);
  font-weight: 700;
  line-height: 1;
}
.biz-flow-cta-store img {
  height: 36px;
  width: auto;
  display: block;
}
.biz-flow-cta-store-name {
  font-size: var(--biz-fs-20);
  font-weight: 700;
  line-height: 1;
}
.biz-flow-cta-num {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--biz-font-oswald);
  font-size: var(--biz-fs-32);
  font-weight: 600;
  color: var(--biz-color-white);
  text-decoration: underline;
  letter-spacing: 0.04em;
  line-height: 1;
}
.biz-flow-cta-phone {
  height: 24px;
  width: auto;
  display: block;
}
.biz-flow-cta-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.biz-flow-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--biz-color-white);
  color: var(--biz-color-black);
  font-size: var(--biz-fs-16);
  font-weight: 700;
  padding: 16px 24px;
  border-radius: 4px;
  text-align: center;
  transition: transform 0.2s ease, filter 0.2s ease;
}
.biz-flow-cta-btn:hover {
  transform: scale(1.025);
  filter: brightness(0.9);
}
.biz-flow-cta-btn--primary {
  background-color: var(--biz-color-yellow);
}
.biz-flow-cta-note {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  color: var(--biz-color-white);
  line-height: 1.8;
  margin-top: 32px;
}

/* ==========================================================================
   18d. 店舗情報・アクセス
   ========================================================================== */
.biz-access {
  background-color: var(--biz-color-dark);
  color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-access-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--biz-side-padding);
}
.biz-access-stores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  margin-bottom: 48px;
}
.biz-access-store:first-child {
  border-right: 1px solid var(--color-text-secondary);
  padding-right: 48px;
}
.biz-access-store-name {
  font-size: var(--biz-fs-30);
  font-weight: 700;
  color: var(--biz-color-yellow);
  margin-bottom: 16px;
}
.biz-access-tel {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}
.biz-access-tel a {
  font-family: var(--biz-font-oswald);
  font-size: var(--biz-fs-32);
  font-weight: 600;
  color: var(--biz-color-white);
  text-decoration: underline;
  letter-spacing: 0.04em;
}
.biz-access-note {
  font-size: var(--biz-fs-14);
  font-weight: 400;
}
.biz-access-addr {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 8px;
}
.biz-access-pin {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 6px;
  transition: transform 0.2s ease;
}
.biz-access-pin:hover {
  transform: scale(1.3);
}
.biz-access-pin img {
  width: 20px;
  height: 20px;
}
.biz-access-walk {
  font-size: var(--biz-fs-14);
  font-weight: 400;
  margin-bottom: 24px;
}
.biz-access-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--biz-color-white);
  border-radius: 999px;
  color: var(--biz-color-white);
  font-size: var(--biz-fs-14);
  font-weight: 500;
  padding: 12px 28px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.biz-access-btn:hover {
  background-color: var(--biz-color-white);
  color: var(--biz-color-black);
}
.biz-access-map img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* ==========================================================================
   18e. お問い合わせフォーム
   ========================================================================== */
.biz-contact {
  background-color: var(--biz-color-white);
  padding: 96px 0;
}
.biz-contact-inner {
  max-width: 900px;
  margin: 0 auto;
}
.biz-contact-title {
  background-color: var(--biz-color-yellow);
  font-size: var(--biz-fs-24);
  font-weight: 700;
  text-align: center;
  padding: 16px 24px;
  margin-bottom: 40px;
}

/* フォーム本体の装飾は assets/css/form-common.css（トップと共通） */

/* 送信完了ポップアップ */
.biz-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 24px;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.biz-popup-overlay.is-open {
  opacity: 1;
}
.biz-popup {
  background-color: var(--biz-color-white);
  border-radius: 12px;
  padding: 40px 32px;
  max-width: 420px;
  width: 100%;
  text-align: center;
  transform: translateY(8px);
  transition: transform 0.25s ease;
}
.biz-popup-overlay.is-open .biz-popup {
  transform: translateY(0);
}
.biz-popup-title {
  font-size: var(--biz-fs-24);
  font-weight: 700;
  margin-bottom: 12px;
}
.biz-popup-text {
  font-size: var(--biz-fs-14);
  line-height: 1.7;
  margin-bottom: 24px;
}
.biz-popup-close {
  background-color: var(--biz-color-yellow);
  color: var(--biz-color-black);
  font-family: var(--biz-font-base);
  font-size: var(--biz-fs-16);
  font-weight: 700;
  padding: 12px 40px;
  border: none;
  border-radius: 999px;
  cursor: pointer;
}

/* ==========================================================================
   18f. 見学予約（hacomono埋め込み）
   ========================================================================== */
.biz-reserve {
  background-color: var(--biz-color-gray-bg);
  padding: 96px 0;
  margin: 0 auto;
}
.biz-reserve-inner {
  max-width: 900px;
  margin: 0 auto;

}
.biz-reserve-title {
  background-color: var(--biz-color-yellow);
  font-size: var(--biz-fs-24);
  font-weight: 700;
  text-align: center;
  padding: 16px 24px;

}
.biz-reserve-embed {
  background-color: var(--biz-color-white);
  border-radius: 8px;

}
.biz-faq-item {
  border-top: 1px dotted var(--color-border-dashed);
}
.biz-faq-item:last-child {
  border-bottom: 1px dotted var(--color-border-dashed);
}
.biz-faq-q {
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: 0;
  padding: 24px 8px;
  text-align: left;
  font-family: var(--biz-font-base);
  appearance: none;
  -webkit-appearance: none;
}
.biz-faq-q-mark,
.biz-faq-a-mark {
  flex-shrink: 0;
  font-size: var(--biz-fs-20);
  font-weight: 700;
  line-height: 1.6;
}
.biz-faq-q-text {
  flex: 1;
  min-width: 0;
  font-size: var(--biz-fs-16);
  font-weight: 700;
  line-height: 1.6;
}
/* ＋／－アイコン */
.biz-faq-icon {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 2px;
}
.biz-faq-icon::before,
.biz-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--biz-color-dark);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.biz-faq-icon::before {
  width: 22px;
  height: 2px;
  transform: translate(-50%, -50%);
}
.biz-faq-icon::after {
  width: 2px;
  height: 22px;
  transform: translate(-50%, -50%);
}
.biz-faq-q[aria-expanded="true"] .biz-faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
/* 回答（スムーズ開閉） */
.biz-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.biz-faq-a-inner {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 0 8px 28px;
}
.biz-faq-a-text {
  flex: 1;
  min-width: 0;
}
.biz-faq-a-text p {
  font-size: var(--biz-fs-16);
  font-weight: 400;
  line-height: 1.9;
}
.biz-faq-a-text p + p {
  margin-top: 20px;
}

/* ==========================================================================
   18b. フッター（センター揃え・黒背景）
   ========================================================================== */
.biz-footer {
  background-color: var(--biz-color-black);
  text-align: center;
  padding: 40px var(--biz-side-padding);
}
.biz-footer-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 32px;
}
.biz-footer-links a {
  color: var(--biz-color-white);
  font-size: var(--biz-fs-14);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.biz-footer-links a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

/* ==========================================================================
   18c. 主流セクション見出しの共通サイズ（h2 fs-40系をまとめる。font-sizeのみ共通化）
   ========================================================================== */
.biz-heading-section {
  font-size: var(--biz-fs-40);
}

/* ==========================================================================
   19. レスポンシブ
      タブレット：~768px / スマホ：~480px（縦積み対応）
   ========================================================================== */
/* 中間幅（~1024px）：1200pxの基本レイアウトと768pxの間で、
   多カラムが窮屈になり折り返しで縦長化するのを解消する。
   ※1024px超（調整済みのデスクトップ）と≤768px（既存）には影響させない */
@media (max-width: 1024px) {
  /* solution：3カードを縦1列に（窮屈な3列折り返しを回避） */
  .biz-card-list {
    flex-direction: column;
    gap: 24px;
    align-items: stretch; /* 縦積み時はカードを全幅に戻す */
  }
  .biz-review-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 32px;
  }

  /* サポート：写真を可変化し、本文が痩せて折り返しが増えるのを防ぐ
     （横並びは維持。写真の固定500pxを比率可変に） */
  .biz-support-item {
    gap: 32px;
  }
  .biz-support-photo {
    flex: 0 1 42%;
    min-width: 0;
  }
  .biz-support-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 500 / 333;
  }
}

@media (max-width: 768px) {
  :root {
    --biz-side-padding: var(--biz-side-padding-tablet);
  }

  /* 店内イベント：3カード＋締めコピーをアコーディオン化 */
  .biz-env-event-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background-color: var(--biz-color-white);
    border: 1px solid var(--color-border-light);
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--biz-font-base);
    font-size: var(--biz-fs-14);
    font-weight: 700;
    color: var(--biz-color-black);
    text-align: left;
  }
  .biz-env-event-chevron {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--biz-color-black);
    border-bottom: 2px solid var(--biz-color-black);
    transform: rotate(45deg); /* ∨ */
    transition: transform 0.3s ease;
  }
  .biz-env-event.is-open .biz-env-event-chevron {
    transform: rotate(-135deg); /* ∧ */
  }
  .biz-env-event-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }
  .biz-env-event.is-open .biz-env-event-body {
    max-height: 1200px;
    margin-top: 16px;
  }

  .biz-heading-section {
    font-size: var(--biz-fs-28);
  }

  /* お問い合わせ：レスポンシブ時の標準余白（縦40px＋横side-padding）。
     横余白はセクション側で確保しているため≤768でも明示する */
  .biz-contact {
    padding: 40px var(--biz-side-padding);
  }

  /* SP見出し：上書きの無い見出しも一回り小さく */

  .biz-contact-title,
  .biz-support-title,
  .biz-problem-title {
    font-size: var(--biz-fs-20);
  }
  .biz-flow {
  padding-bottom: 40px;
  }

  .biz-flow-limit{
    margin: 40px auto;
  }

  .biz-flow-title,
  .biz-access-store-name {
    font-size: var(--biz-fs-24);
  }

  /* FV：スマホは専用ブロック（背景画像＋重ね）に切り替え */
  .biz-fv {
    background: none;
    padding: 0;
  }
  .biz-fv-inner {
    display: none;
  }
  .biz-fv-sp {
    display: block;
    position: relative;
  }

  /* 問題提起：スマホは見出しタップで本文を開閉（案B） */

  .biz-problem-title {
    cursor: pointer;
    position: relative;
    padding-right: 36px;
  }
  .biz-problem-title::after {
    content: "＋";
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--biz-fs-24);
    font-weight: 400;
    color: var(--biz-color-yellow);
    line-height: 1;
  }
  .biz-problem-item.is-open .biz-problem-title::after {
    content: "−";
  }
  .biz-problem-text {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }

  /* トレーナー：スマホはサムネ非表示＋キャッチ以下をアコーディオン */
  .biz-trainer-thumbs {
    display: none;
  }
  .biz-trainer-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
    padding: 12px 16px;
    background-color: var(--biz-color-black);
    color: var(--biz-color-white);
    border: none;
    border-radius: 6px;
    font-family: var(--biz-font-base);
    font-size: var(--biz-fs-14);
    font-weight: 700;
    cursor: pointer;
  }
  .biz-trainer-toggle-icon::after {
    content: "＋";
    font-size: var(--biz-fs-16);
    line-height: 1;
  }
  .biz-trainer-toggle.is-open .biz-trainer-toggle-icon::after {
    content: "−";
  }
  /* キャッチ以下（受賞歴・詳細）をデフォルト非表示→開いたら表示 */
  .biz-trainer-feature .biz-trainer-awards,
  .biz-trainer-feature .biz-trainer-scroll {
    display: none;
  }
  .biz-trainer-feature.is-profile-open .biz-trainer-awards {
    display: block;
  }
  .biz-trainer-feature.is-profile-open .biz-trainer-scroll {
    display: block;
  }

  /* 料金プラン：テーブルは横スクロール、ベネフィットは2×2を維持 */
.biz-pricing {
  padding: 40px 0;
}


  .biz-pricing-band {
    font-size: var(--biz-fs-16);
  }
  .biz-pricing-table-wrap {
    cursor: grab; /* ドラッグで横スクロール可能なことを示す */
  }
  .biz-pricing-table {
    min-width: 640px;
  }
  .biz-pricing-benefit {
    padding: 24px;
  }
  .biz-pricing-benefit-title {
    font-size: var(--biz-fs-24);
  }
  .biz-pricing-benefit-grid {
    grid-template-columns: none;
  }
  .biz-pricing-benefit-item {
    font-size: var(--biz-fs-16);
  }

  /* レビュー：1列、見出し縮小 */
  .biz-review{
    padding: 40px var(--biz-side-padding);
  }

  .biz-review-grid {
    grid-template-columns: none;
    padding: var(--biz-side-padding);
  }

  .biz-review-quote {
  font-size: var(--biz-fs-16);
}
.biz-review-body {
  font-size: var(--biz-fs-14);
}
.biz-review-author {
  font-size: var(--biz-fs-12);
}

  /* FAQ：余白・見出し調整 */
  .biz-faq{
    padding: 40px var(--biz-side-padding);
  }
  .biz-faq-sub{
    margin-bottom: 40px;
  }
  .biz-faq-q,
  .biz-faq-a-inner {
    gap: 14px;
  }

  /* ご契約の流れ：ステップ縦積み、矢印は下向き、CTA調整 */
  .biz-flow-steps {
    flex-direction: column;
    align-items: left;
    gap: 16px;
    margin-left: 40px;
    margin-bottom: 40px;
  }
  .biz-flow-step {
    max-width: none;
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
  }
  .biz-flow-icon {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .biz-flow-arrow {
    transform: rotate(135deg);
  }
  .biz-flow-cta {
    padding: 32px 24px;
  }
  .biz-flow-cta-title {
    font-size: var(--biz-fs-20);
  }
  .biz-flow-cta-num {
    font-size: var(--biz-fs-24);
  }
  .biz-flow-cta-btn {
    flex: 1 1 100%;
  }
  .biz-flow-cta-note {
  font-size: var(--biz-fs-14);
  text-align: left;
  line-height: 1.6;
  margin-top: 32px;
}

.biz-flow-cta-tel{
gap: 40px;
}
  .biz-flow-cta-tel-row {
  gap: 8px;
  flex-wrap: wrap;
}



  /* 店舗情報：2→1列、区切り線を下線に */
  .biz-access{
    padding: 40px var(--biz-side-padding);
  }
  .biz-access-tel{
    flex-direction: column;
    gap: 0;
  }
  
  .biz-access-stores {
    grid-template-columns: none;
    gap: 32px;
  }
  .biz-access-store:first-child {
    border-right: none;
    border-bottom: 1px solid var(--color-text-secondary);
    padding-right: 0;
    padding-bottom: 32px;
  }
  /* フォーム・予約：見出し調整 */

    .biz-reserve{
  padding: 40px auto;
  }
  
  .biz-contact-title,
  .biz-reserve-title {
    font-size: var(--biz-fs-16);
  }
  .biz-reserve-embed {
    padding: 0px;
  }


  /* ヘッダー：スマホは全体を小さく（テキスト16px・高さ縮小） */
  :root {
    --biz-header-height: 80px;
  }
  .biz-header-logo {
    width: auto;
    height: 64px;
  }
  .biz-header-brand {
    align-items: flex-start;
    padding-top: 0;
  }
  .biz-header-cta {
    margin-top: 0;
    height: 44px;
    font-size: var(--biz-fs-16);
  }

  /* 黄色帯：縦積み */
  .biz-lead-band-inner {
    flex-direction: column;
    align-items: center; /* 縦並び時は中央寄せ */
    gap: 24px;
  }
  .biz-lead-band-label {
    font-size: var(--biz-fs-32);
    padding: 12px 24px;
  }

  /* 問題提起：見出しと結びを一段縮小 */
  .biz-problem-heading {
    margin-bottom: 56px;
  }
  .biz-problem-conclusion {
    font-size: var(--biz-fs-32);
        margin: 40px auto 40px;
  }

  /* 解決策・健康経営・コスト：見出し一段縮小、横並びを縦積みに */
  .biz-solution-heading,
  .biz-achievement-heading,
  .biz-card-list {
    flex-direction: column;
    gap: 24px;
  }
  .biz-achievement-box-list {
    flex-direction: column;
    gap: 16px;
  }
  .biz-cost-callout {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    text-align: center;
  }
  .biz-cost-callout-result {
    font-size: var(--biz-fs-24);
  }


  /* カード：タブレット以下で［アイコン　余白　見出し］の横並びに */
  .biz-card-head {
    display: flex;
    align-items: center;
    gap: 24px;
    text-align: left;
  }
  .biz-card-icon {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .biz-card-icon img {
    height: 64px;
  }
  .biz-card-title {
    min-height: 0;
    margin-bottom: 24px;
    text-align: left;
    justify-content: center;
  }

  /* 差別化：横3列のまま文字を縮小 */
  .biz-compare {
  padding: 40px 0;
  
  }

  .biz-compare-band{
    padding: 24px var(--biz-side-padding);
  }

  .biz-compare-band-title {
    font-size: var(--biz-fs-28);

  }
  .biz-compare-lead {
    font-size: var(--biz-fs-20);
    margin-bottom: 32px;
  }
  .biz-compare-head {
    font-size: var(--biz-fs-24);
    padding: 16px 8px;
  }
  .biz-compare-item,
  .biz-compare-desc,
  .biz-compare-feature {
    font-size: var(--biz-fs-16);
    padding: 16px 12px;
  }
  .biz-compare-inner {
    padding: 0 var(--biz-side-padding);
  }
.biz-compare-conclusion {
  margin-top: 32px;
}

  .biz-compare-conclusion-line {
    font-size: var(--biz-fs-20);
  }

  .biz-support-band {
  background-color: var(--biz-color-black);
  padding: 24px var(--biz-side-padding);
  }


  /* サポート体制：縦積み（写真→テキスト）、見出し帯を縮小 */
  .biz-support-band-title {
    font-size: var(--biz-fs-20);
  }
  .biz-support-item,
  .biz-support-item--reverse {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding: 32px 0;
  }
  .biz-support-photo {
    width: 100%;
  }
  .biz-support-photo img {
    width: 100%;
    height: auto;
  }
  .biz-support-num {
    font-size: var(--biz-fs-48);
  }
  .biz-support-head {
    gap: 24px;
  }

  /* 通いたくなる空間：見出し縮小、1画面制約を緩和 */
  .biz-env {
    min-height: 0;
  }
  .biz-env-slider {
    height: 56vh;
    flex: none;
  }

  /* トレーナー：拡大カードを縦積み、サムネを横スクロール */


   .biz-trainer{
    padding-bottom: 40px;
   }
  .biz-trainer-intro {
    padding:var(--biz-side-padding);
  }


  .biz-trainer-eyebrow {
    font-size: 56px;
 }
    .biz-trainer-lead{
font-size: var(--biz-fs-14);
   

  }
  .biz-trainer-intro-catch {
    font-size: var(--biz-fs-24);
  }
  .biz-trainer-track {
    align-items: flex-start;  /*開閉で高さが変わっても他カードが伸びない */
  }
  .biz-trainer-store-name{
  font-size: var(--biz-fs-16);
    white-space:nowrap;
  }

  .biz-trainer-feature {
    flex-direction: column;
    height: auto;
    max-height: none; /* 開閉で展開した内容がクリップされないように */
  }
  .biz-trainer-photo {
    flex: none;
    max-width: none;
     width: 100%;
    height: 390px;

  }
  .biz-trainer-info {
    padding: 20px 14px; /* 左右余白を詰めて下部テキストの幅を広げる */
    overflow: visible;
  }
  .biz-trainer-scroll {
    overflow-y: visible;
    flex: none;
  }
  .biz-trainer-thumbs {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 60%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .biz-trainer-thumb {
    scroll-snap-align: start;
  }

}

@media (max-width: 480px) {
  :root {
    --biz-side-padding: var(--biz-side-padding-sp);
  }

  .biz-heading-section {
    font-size: var(--biz-fs-20);
  }

  /* ヘッダー：ロゴを縮小して収める */
  .biz-header-logo {
    width: auto;
    height: 52px;
  }
  .biz-header-cta {
    height: 44px;
    padding: 0 12px;
    font-size: var(--biz-fs-16);
  }

  /* 黄色帯 */
  .biz-lead-band {
    padding: 24px var(--biz-side-padding);
  }
  .biz-lead-band-label {
    font-size: var(--biz-fs-24);
    border-width: 6px;
    padding: 10px 16px;
  }
  .biz-lead-band-text {
    font-size: var(--biz-fs-16);
  }

  /* 問題提起：スマホ調整 */
  .biz-problem {
    padding: 40px 0 60px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), 50% 100%, 0 calc(100% - 48px));
  }
  .biz-problem-heading {
    margin-bottom: 40px;
  }
  .biz-problem-item {
    margin-bottom: 20px;
  }
  .biz-problem-conclusion {
    font-size: var(--biz-fs-24);
    margin: 40px auto 40px;
  }

  /* 解決策・健康経営・コスト：スマホ調整 */
  .biz-solution,
  .biz-achievement,
  .biz-cost {
    padding: 40px 0;
  }
  .biz-solution-heading,
  .biz-achievement-heading,
  .biz-card-title {
    font-size: var(--biz-fs-20);
  }
  .biz-achievement-lead {
    font-size: var(--biz-fs-20);
  }
  /* スマホ：アイコンをさらに小さく、コスト削減文を縮小 */
  .biz-card-icon img {
    height: 52px;
  }
  .biz-cost-callout-result {
    font-size: var(--biz-fs-20);
  }

  /* 差別化：横3列維持。項目名を優先的に縮小 */
  .biz-compare-band{
    padding: 12px var(--biz-side-padding);
    margin-bottom: 32px;
  }


  .biz-compare-band-title {
    font-size: var(--biz-fs-20);
  }
  .biz-compare-head {
    font-size: var(--biz-fs-16);
    padding: 12px 4px;
  }
  .biz-compare-logo {
    height: 40px;
  }
  .biz-compare-item,
  .biz-compare-desc,
  .biz-compare-feature {
    font-size: var(--biz-fs-12);
    padding: 12px 6px;
  }
  .biz-compare-item {
    padding: 12px 4px;
  }
  .biz-compare-feature {
    gap: 8px;
  }
  .biz-compare-feature .biz-compare-check {
    width: 20px;
    margin-right: 0;
  }
  .biz-compare-conclusion-line {
    font-size: var(--biz-fs-16);
  }

  /* サポート体制：スマホ調整 */
  .biz-support-inner {
    padding:var(--biz-side-padding);
  }
  .biz-support-item,
  .biz-support-item--reverse {
    padding: 0 0 16px;
    gap: 24px;
  }
  .biz-support-num {
    font-size: var(--biz-fs-40);
  }
  .biz-support-head {
    gap: 16px;
  }

  /* 通いたくなる空間：スマホ調整（タブは2列折り返し） */

  .biz-env {
 padding: 40px var(--biz-side-padding);
  }

    .biz-env-lead{
    font-size: var(--biz-fs-12);
    }

  .biz-env-head {
 padding: 0 var(--biz-side-padding) 32px;
  }
  .biz-env-slider {
    height: 44vh;
  }
  .biz-env-tabs {
    flex-wrap: wrap;
    padding: 0 var(--biz-side-padding);
  }
  .biz-env-tab {
    flex: 1 1 50%;
    padding: 16px 8px;
    font-size: var(--biz-fs-12);
  }

  /* トレーナー：スマホ調整 */
  .biz-trainer-eyebrow {
    font-size: 36px;
  }
  .biz-trainer-intro-catch {
    font-size: var(--biz-fs-20);
  }
  .biz-trainer-store {
    font-size: var(--biz-fs-16);
    padding: 12px 16px;
  }
  .biz-trainer-info {
    padding: 20px;
  }
  .biz-trainer-name {
    font-size: var(--biz-fs-24);
  }
  .biz-trainer-thumbs {
    grid-auto-columns: 80%;
  }
.biz-contact{
  padding: 40px var(--biz-side-padding);
}


}
