/* ==========================================================================
   シャベリッシュ デザインシステム ds.css
   出典：https://merise.asia/shabelish/ の見た目（2026-10-14 取得）
   使い方：<link rel="stylesheet" href="ds.css"> だけでページが作れる。
   フォントは各ページの <head> に下の1行を入れる（外部読み込みはこれだけ）：
   <link href="https://fonts.googleapis.com/css2?family=Reem+Kufi:wght@400;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap" rel="stylesheet">
   命名：.c-xxx＝部品、.c-xxx--yyy＝変化形、.c-xxx__zzz＝部品の中身、.u-xxx＝補助
   ========================================================================== */

/* ---------- 1. トークン ---------- */
:root{
  --base-0:#fff; --base-10:#f7f7f7; --base-20:#efefef; --base-30:#e2e2e2; --base-40:#cfcfcf;
  --base-50:#a8a8a8; --base-60:#777; --base-70:#555; --base-80:#383838; --base-90:#222; --base-100:#000;
  --primary-10:#fdeded; --primary-20:#fad4d5; --primary-30:#f2a6a8; --primary-40:#e97a7d;
  --primary-50:#d23339; --primary-60:#b91e26; --primary-70:#a40106;
  --secondary-10:#fffceb; --secondary-50:#ffd700; --tertiary-50:#0d6ab7;

  --text:#222; --text-sub:#555; --text-mute:#777; --line:#e2e2e2;
  --font-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --font-en:"Reem Kufi","Zen Kaku Gothic New",sans-serif;

  --fs-12:12px; --fs-14:14px; --fs-16:16px; --fs-18:18px; --fs-20:20px; --fs-24:24px; --fs-32:32px; --fs-40:40px;
  --r-0:0; --r-btn:4px; --r-card:16px; --r-pill:9999px;
  --shadow:0 4px 8px #00000014;
  --w-content:1120px; --w-narrow:760px; --gutter:20px;
  --sec-y:88px; --header-h:64px;
}
@media (max-width:767px){ :root{ --sec-y:56px; --header-h:56px; --gutter:16px; } }

/* ---------- 2. 土台 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-16);line-height:1.8;color:var(--text);background:var(--base-0);overflow-wrap:anywhere;word-break:normal;line-break:strict}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--tertiary-50);outline-offset:2px}

/* ---------- 3. レイアウト部品 ---------- */
.c-container{width:100%;max-width:calc(var(--w-content) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.c-container--narrow{max-width:calc(var(--w-narrow) + var(--gutter)*2)}
.c-section{padding:var(--sec-y) 0}
.c-section--tight{padding:calc(var(--sec-y)*.6) 0}
.c-section--white{background:var(--base-0);color:var(--text)}
.c-section--gray{background:var(--base-10);color:var(--text)}
.c-section--dark{background:var(--base-90);color:var(--base-0)}
.c-section--black{background:var(--base-100);color:var(--base-0)}
.c-section--red{background:var(--primary-50);color:var(--base-0)}
.c-section--pink{background:var(--primary-10);color:var(--text)}
.c-section--dark .u-sub,.c-section--black .u-sub{color:var(--base-40)}
.c-section--red .u-sub{color:var(--primary-10)}

.c-grid{display:grid;gap:24px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.c-grid--1{--cols:1}.c-grid--2{--cols:2}.c-grid--3{--cols:3}.c-grid--4{--cols:4}.c-grid--6{--cols:6}
.c-grid--gap-s{gap:12px}.c-grid--gap-l{gap:40px}
.c-grid--center{justify-items:center}
@media (max-width:959px){ .c-grid--4{--cols:2} .c-grid--6{--cols:3} }
@media (max-width:767px){ .c-grid--2,.c-grid--3{--cols:1} .c-grid--4{--cols:1} .c-grid--6{--cols:2} .c-grid--keep2{--cols:2} }
.c-stack>*+*{margin-top:var(--stack,16px)}
.c-stack--l{--stack:32px}.c-stack--s{--stack:8px}
.c-cluster{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.c-cluster--center{justify-content:center}
.u-center{text-align:center}.u-left{text-align:left}
.u-sub{color:var(--text-sub)}.u-mute{color:var(--text-mute)}.u-red{color:var(--primary-50)}
.u-en{font-family:var(--font-en);letter-spacing:.04em}
.u-mt-s{margin-top:12px}.u-mt-m{margin-top:24px}.u-mt-l{margin-top:48px}
.u-sp-only{display:none}.u-pc-only{display:inline}
@media (max-width:767px){ .u-sp-only{display:inline} .u-pc-only{display:none} }
.u-nowrap{white-space:nowrap}
.u-hide-sp{display:block}@media (max-width:767px){.u-hide-sp{display:none}}

/* ---------- 4. 文字（見出しの型） ---------- */
.c-eyebrow{font-family:var(--font-en);font-size:var(--fs-14);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-50);line-height:1.4}
.c-section--dark .c-eyebrow,.c-section--black .c-eyebrow{color:var(--primary-40)}
.c-section--red .c-eyebrow{color:var(--primary-10)}
.c-heading{display:grid;gap:12px;margin-bottom:48px}
.c-heading--center{text-align:center;justify-items:center}
.c-heading--left{text-align:left;justify-items:start}
.c-heading__title{font-size:clamp(24px,3.4vw,40px);font-weight:900;line-height:1.4;letter-spacing:.01em}
.c-heading__title--xl{font-size:clamp(30px,5.6vw,56px);line-height:1.25}
.c-heading__lead{font-size:clamp(15px,1.6vw,18px);color:var(--text-sub);max-width:42em}
.c-section--dark .c-heading__lead,.c-section--black .c-heading__lead{color:var(--base-40)}
.c-section--red .c-heading__lead{color:var(--primary-10)}
.c-heading__title em{font-style:normal;color:var(--primary-50)}
.c-section--dark .c-heading__title em,.c-section--black .c-heading__title em{color:var(--primary-40)}
.c-heading--rule .c-heading__title{padding-bottom:16px;border-bottom:3px solid var(--primary-50)}
.c-h3{font-size:clamp(18px,2vw,24px);font-weight:900;line-height:1.5}
.c-h4{font-size:var(--fs-18);font-weight:700;line-height:1.5}
.c-text{font-size:var(--fs-16);line-height:1.9}
.c-text--s{font-size:var(--fs-14);line-height:1.8}
.c-note{font-size:var(--fs-12);line-height:1.7;color:var(--text-mute)}
.c-section--dark .c-note,.c-section--black .c-note{color:var(--base-50)}
.c-marker{background:linear-gradient(transparent 62%,var(--secondary-50) 62%);font-weight:700}
.c-strong-red{color:var(--primary-50);font-weight:900}

/* ---------- 5. ボタン・バッジ・タグ ---------- */
.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 24px;border:2px solid transparent;border-radius:var(--r-btn);font-family:var(--font-body);font-size:var(--fs-16);font-weight:700;line-height:1.4;text-decoration:none;text-align:center;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.c-btn--primary{background:var(--primary-50);color:var(--base-0)}
.c-btn--primary:hover{background:var(--primary-60)}
.c-btn--outline{background:transparent;color:var(--text);border-color:var(--text)}
.c-btn--outline:hover{background:var(--base-90);color:var(--base-0)}
.c-btn--outline-light{background:transparent;color:var(--base-0);border-color:var(--base-0)}
.c-btn--outline-light:hover{background:var(--base-0);color:var(--base-90)}
.c-btn--dark{background:var(--base-90);color:var(--base-0)}
.c-btn--dark:hover{background:var(--base-100)}
.c-btn--white{background:var(--base-0);color:var(--primary-50)}
.c-btn--white:hover{background:var(--primary-10)}
.c-btn--ghost{background:transparent;color:var(--primary-50);padding-left:0;padding-right:0;border-color:transparent;text-decoration:underline;text-underline-offset:4px}
.c-btn--lg{min-height:60px;padding:14px 40px;font-size:var(--fs-18)}
.c-btn--sm{min-height:36px;padding:6px 16px;font-size:var(--fs-14)}
.c-btn--block{display:flex;width:100%}
.c-btn--arrow::after{content:"\2192";font-weight:400}
.c-btn--stack{flex-direction:column;gap:2px}
.c-btn__sub{font-size:var(--fs-12);font-weight:500;opacity:.9}
.c-btn[disabled]{opacity:.4;pointer-events:none}

.c-badge{display:inline-flex;align-items:center;padding:2px 12px;border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:700;line-height:1.6;background:var(--base-20);color:var(--base-80)}
.c-badge--red{background:var(--primary-50);color:var(--base-0)}
.c-badge--pink{background:var(--primary-10);color:var(--primary-60)}
.c-badge--dark{background:var(--base-90);color:var(--base-0)}
.c-badge--yellow{background:var(--secondary-50);color:var(--base-90)}
.c-badge--line{background:transparent;border:1px solid currentColor}
.c-tags{display:flex;flex-wrap:wrap;gap:8px}
.c-tag{display:inline-block;padding:4px 14px;border:1px solid var(--base-40);border-radius:var(--r-pill);font-size:var(--fs-14);background:var(--base-0);color:var(--base-80);text-decoration:none}
a.c-tag:hover{border-color:var(--primary-50);color:var(--primary-50)}
.c-section--dark .c-tag,.c-section--black .c-tag{background:transparent;color:var(--base-30);border-color:var(--base-70)}

/* ---------- 6. ヘッダー・パンくず・目次 ---------- */
.c-header{position:sticky;top:0;z-index:50;background:var(--base-0);border-bottom:0}
.c-header__in{display:flex;align-items:center;gap:24px;min-height:var(--header-h);max-width:calc(var(--w-content) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.c-header__logo{font-size:20px;font-weight:900;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.c-header__logo span{color:var(--primary-50)}
.c-header__nav{display:flex;gap:24px;margin-left:auto;font-size:var(--fs-14);font-weight:700}
.c-header__nav a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.c-header__nav a:hover,.c-header__nav a[aria-current]{border-bottom-color:var(--primary-50)}
.c-header__cta{margin-left:0;white-space:nowrap}
.c-header__toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;position:relative}
.c-header__toggle span,.c-header__toggle span::before,.c-header__toggle span::after{position:absolute;left:11px;width:22px;height:2px;background:var(--text);content:"";transition:transform .2s}
.c-header__toggle span{top:21px}.c-header__toggle span::before{top:-7px;left:0}.c-header__toggle span::after{top:7px;left:0}
.c-header__menu{display:none}
@media (max-width:959px){
  .c-header__nav{display:none}
  .c-header__cta{display:none}
  .c-header__toggle{display:block}
  .c-header__menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--base-0);border-bottom:1px solid var(--line);padding:8px var(--gutter) 20px}
  .c-header.is-open .c-header__menu{display:block}
  .c-header__menu a:not(.c-btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}
  .c-header__menu .c-btn{margin-top:16px}
}
.c-header--dark{background:var(--base-90);color:var(--base-0);border-bottom-color:var(--base-80)}
.c-header--dark .c-header__toggle span,.c-header--dark .c-header__toggle span::before,.c-header--dark .c-header__toggle span::after{background:var(--base-0)}
.c-header--dark .c-header__menu{background:var(--base-90)}
.c-header--dark .c-header__menu a:not(.c-btn){border-bottom-color:var(--base-80)}
.c-header--simple .c-header__nav{display:none}.c-header--simple .c-header__cta{margin-left:auto;display:inline-flex}.c-header--simple .c-header__toggle{display:none}

.c-breadcrumb{font-size:var(--fs-12);color:var(--text-mute);padding:14px 0}
.c-breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.c-breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--base-50)}
.c-breadcrumb a{color:var(--text-sub);text-decoration:none}
.c-breadcrumb a:hover{text-decoration:underline}
.c-breadcrumb [aria-current]{color:var(--text);font-weight:700}
.c-section--dark .c-breadcrumb,.c-breadcrumb--dark{color:var(--base-50)}
.c-breadcrumb--dark a{color:var(--base-30)}.c-breadcrumb--dark [aria-current]{color:var(--base-0)}

.c-toc{border:1px solid var(--line);border-radius:var(--r-card);padding:20px 24px;background:var(--base-0)}
.c-toc__title{font-family:var(--font-en);font-size:var(--fs-14);letter-spacing:.14em;color:var(--primary-50);font-weight:600;margin-bottom:8px}
.c-toc ol{counter-reset:toc;display:grid;gap:2px}
.c-toc li{counter-increment:toc}
.c-toc a{display:flex;gap:12px;padding:8px 0;text-decoration:none;font-weight:700;border-bottom:1px dashed var(--line)}
.c-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-en);color:var(--primary-50)}
.c-toc a:hover{color:var(--primary-50)}
.c-toc--inline ol{display:flex;flex-wrap:wrap;gap:8px}
.c-toc--inline a{border:1px solid var(--base-40);border-radius:var(--r-pill);padding:6px 16px;font-size:var(--fs-14)}
.c-toc--inline a::before{content:none}

/* ---------- 7. ヒーロー ---------- */
.c-hero{background:var(--base-90);color:var(--base-0);padding:72px 0 80px;overflow:hidden}
.c-hero__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.c-hero__kicker{color:var(--primary-50);font-weight:900;font-size:clamp(16px,2vw,20px);margin-bottom:12px;letter-spacing:.02em}
.c-hero__title{font-size:clamp(34px,6.4vw,72px);font-weight:900;line-height:1.2;letter-spacing:.01em}
.c-hero__title em{font-style:normal;color:var(--primary-50)}
.c-hero__sub{margin-top:24px;font-size:clamp(14px,1.6vw,18px);color:var(--base-30);line-height:1.9}
.c-hero__actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.c-hero__proof{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:var(--fs-14);color:var(--base-40)}
.c-hero__proof li::before{content:"\2713";color:var(--primary-40);margin-right:6px;font-weight:700}
.c-hero__notice{margin-bottom:28px;display:inline-block;padding:8px 16px;border:1px solid var(--base-70);font-size:var(--fs-12);color:var(--base-40)}
@media (max-width:859px){ .c-hero{padding:44px 0 52px} .c-hero__in{grid-template-columns:minmax(0,1fr);gap:32px} }
.c-hero--black{background:var(--base-100)}
.c-hero--light{background:var(--base-0);color:var(--text)}
.c-hero--light .c-hero__sub{color:var(--text-sub)}
.c-hero--light .c-hero__proof{color:var(--text-sub)}
.c-hero--light .c-hero__proof li::before{color:var(--primary-50)}
.c-hero--gray{background:var(--base-10);color:var(--text)}
.c-hero--gray .c-hero__sub{color:var(--text-sub)}
.c-hero--center .c-hero__in{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
.c-hero--center .c-hero__sub{max-width:36em}
.c-hero--center .c-hero__actions,.c-hero--center .c-hero__proof{justify-content:center}
/* ページ見出し（下層ページ用の低いヒーロー） */
.c-hero--page{padding:48px 0 56px}
.c-hero--page .c-hero__title{font-size:clamp(28px,4.6vw,48px)}
.c-hero--page .c-hero__in{grid-template-columns:minmax(0,1fr)}
@media (max-width:767px){ .c-hero--page{padding:32px 0 40px} }
/* 画像つきヒーロー（背景に写真を敷く） */
.c-hero--photo{position:relative;background-size:cover;background-position:center}
.c-hero--photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000000cc,#00000066)}
.c-hero--photo .c-hero__in{position:relative}

/* 動画・メディアカード */
.c-media{position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--base-80);aspect-ratio:16/10;box-shadow:var(--shadow)}
.c-media--9x16{aspect-ratio:9/16;max-width:280px}
.c-media--1x1{aspect-ratio:1/1}
.c-media--4x3{aspect-ratio:4/3}
.c-media__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:var(--primary-50);border:0;display:grid;place-items:center}
.c-media__play::after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.c-media__cap{position:absolute;left:0;right:0;bottom:0;padding:24px 16px 12px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:var(--fs-14);font-weight:700}
.c-media__chip{position:absolute;left:12px;top:12px}
.c-media--card{background:var(--base-0);color:var(--text);aspect-ratio:auto;display:block}
.c-media__body{padding:16px 20px 20px;display:grid;gap:4px}
.c-media__who{font-weight:900}
.c-media__role{font-size:var(--fs-12);color:var(--text-mute)}
.c-media__thumb{aspect-ratio:16/10;background:var(--base-80);position:relative}

/* 画像の場所取り（実画像に置き換える前提） */
.c-ph{display:grid;place-items:center;background:var(--base-20);color:var(--base-60);font-size:var(--fs-14);font-weight:700;text-align:center;padding:16px;border-radius:var(--r-card);min-height:160px}
.c-ph--dark{background:var(--base-80);color:var(--base-40)}
.c-figure{display:grid;gap:8px}
.c-figure__cap{font-size:var(--fs-12);color:var(--text-mute)}
.c-section--dark .c-figure__cap{color:var(--base-50)}

/* ---------- 8. 数字の帯（実績） ---------- */
.c-stats{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.c-stats--3{--cols:3}.c-stats--2{--cols:2}
.c-stats__item{padding:28px 20px;text-align:center;border-left:1px solid var(--line);display:grid;gap:6px;align-content:center}
.c-stats__item:first-child{border-left:0}
.c-stats__label{font-size:var(--fs-14);font-weight:700;color:var(--text-sub)}
.c-stats__num{font-family:var(--font-en);font-size:clamp(32px,4.4vw,52px);font-weight:700;line-height:1.1;color:var(--primary-50)}
.c-stats__num small{font-size:.45em;margin-left:2px;font-family:var(--font-body);font-weight:900}
.c-stats__text{font-size:clamp(15px,1.7vw,20px);font-weight:900;line-height:1.5}
.c-stats__text em{font-style:normal;color:var(--primary-50)}
.c-stats--dark{background:var(--base-90);border-color:var(--base-80);color:var(--base-0)}
.c-stats--dark .c-stats__item{border-color:var(--base-80)}
.c-stats--dark .c-stats__label{color:var(--base-40)}
.c-stats--dark .c-stats__num{color:var(--base-0)}
.c-stats--dark .c-stats__text em{color:var(--primary-40)}
.c-stats--red{background:var(--primary-50);border-color:var(--primary-60);color:#fff}
.c-stats--red .c-stats__item{border-color:var(--primary-60)}
.c-stats--red .c-stats__label{color:var(--primary-10)}.c-stats--red .c-stats__num{color:#fff}
@media (max-width:767px){
  .c-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-stats__item{padding:20px 12px;border-left:0;border-top:1px solid var(--line)}
  .c-stats__item:nth-child(-n+2){border-top:0}
  .c-stats__item:nth-child(even){border-left:1px solid var(--line)}
  .c-stats--dark .c-stats__item{border-top-color:var(--base-80);border-left-color:var(--base-80)}
  .c-stats--3,.c-stats--2{grid-template-columns:minmax(0,1fr)}
  .c-stats--3 .c-stats__item,.c-stats--2 .c-stats__item{border-left:0!important;border-top:1px solid var(--line)}
  .c-stats--3 .c-stats__item:first-child,.c-stats--2 .c-stats__item:first-child{border-top:0}
}
/* 数字カード（大きな数字を1つ見せる） */
.c-bignum{display:grid;gap:4px;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--base-0);text-align:center}
.c-bignum__label{font-size:var(--fs-14);font-weight:700;color:var(--text-sub)}
.c-bignum__num{font-family:var(--font-en);font-size:clamp(44px,7vw,80px);font-weight:700;line-height:1.05;color:var(--primary-50)}
.c-bignum__num small{font-family:var(--font-body);font-size:.32em;font-weight:900;margin-left:4px;color:var(--text)}
.c-bignum__desc{font-size:var(--fs-14);color:var(--text-sub)}
.c-bignum--dark{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-bignum--dark .c-bignum__label,.c-bignum--dark .c-bignum__desc{color:var(--base-40)}
.c-bignum--dark .c-bignum__num{color:#fff}.c-bignum--dark .c-bignum__num small{color:var(--base-30)}

/* ---------- 9. BEFORE ⇆ AFTER 比較 ---------- */
.c-compare{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:0;align-items:stretch}
.c-compare__side{border-radius:var(--r-card);padding:24px;display:grid;gap:12px;align-content:start}
.c-compare__side--before{background:var(--base-80);color:var(--base-30)}
.c-compare__side--after{background:var(--primary-50);color:#fff}
.c-compare__tag{font-family:var(--font-en);font-weight:700;font-size:var(--fs-14);letter-spacing:.14em}
.c-compare__arrow{display:grid;place-items:center;font-size:28px;color:var(--base-50);font-family:var(--font-en)}
.c-compare__quote{font-size:var(--fs-18);font-weight:700;line-height:1.7}
.c-compare__meta{font-size:var(--fs-12);opacity:.85}
@media (max-width:767px){
  .c-compare{grid-template-columns:minmax(0,1fr)}
  .c-compare__arrow{transform:rotate(90deg);height:40px}
}
/* 白背景版：2列の対比表（いま／これから） */
.c-compare--light .c-compare__side--before{background:var(--base-20);color:var(--text)}
.c-compare--light .c-compare__side--after{background:var(--primary-10);color:var(--text);border:2px solid var(--primary-50)}
.c-compare--light .c-compare__tag{color:var(--text-mute)}
.c-compare--light .c-compare__side--after .c-compare__tag{color:var(--primary-50)}
.c-compare--light .c-compare__arrow{color:var(--primary-50)}
.c-compare__list li{padding:8px 0 8px 28px;position:relative;border-bottom:1px dashed #ffffff40;line-height:1.7}
.c-compare--light .c-compare__list li{border-bottom-color:var(--base-40)}
.c-compare__side--before .c-compare__list li::before{content:"\00d7";position:absolute;left:4px;color:var(--base-50);font-weight:900}
.c-compare__side--after .c-compare__list li::before{content:"\25cb";position:absolute;left:4px;font-weight:900}

/* 受講生の発話：Before/After の音声カード（3列） */
.c-voice-ba{background:var(--base-80);border-radius:var(--r-card);overflow:hidden;color:#fff;display:grid}
.c-voice-ba__body{padding:20px;display:grid;gap:10px}
.c-voice-ba__title{font-size:var(--fs-18);font-weight:900;line-height:1.5}
.c-voice-ba__who{font-size:var(--fs-12);color:var(--base-40)}
.c-voice-ba__rows{display:grid;gap:8px;margin-top:4px}
.c-voice-ba__row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--base-90)}
.c-voice-ba__row b{font-family:var(--font-en);font-size:var(--fs-12);letter-spacing:.1em;min-width:56px}
.c-voice-ba__row--after b{color:var(--primary-40)}
.c-voice-ba__row .c-player{flex:1}

/* ---------- 10. 悩み・場面の一覧 ---------- */
.c-pain{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:16px}
.c-pain--2{--cols:2}.c-pain--1{--cols:1;max-width:760px;margin-inline:auto}
.c-pain__item{background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);padding:24px;display:grid;gap:10px;align-content:start;position:relative}
.c-pain__scene{font-size:var(--fs-12);font-weight:700;color:var(--primary-50);letter-spacing:.06em}
.c-pain__scene::before{content:"";display:inline-block;width:20px;height:2px;background:var(--primary-50);vertical-align:middle;margin-right:8px}
.c-pain__text{font-size:var(--fs-16);line-height:1.8;font-weight:500}
.c-pain--dark .c-pain__item{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-pain--dark .c-pain__scene{color:var(--primary-40)}.c-pain--dark .c-pain__scene::before{background:var(--primary-40)}
.c-pain--gray .c-pain__item{background:var(--base-10);border-color:var(--base-30)}
.c-pain--list .c-pain__item{border-radius:0;border-width:0 0 1px;background:transparent;padding:20px 0;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:baseline}
.c-pain--list.c-pain--dark .c-pain__item{border-bottom-color:var(--base-70)}
@media (max-width:959px){ .c-pain{--cols:2} }
@media (max-width:767px){ .c-pain{--cols:1} .c-pain--list .c-pain__item{grid-template-columns:minmax(0,1fr);gap:6px} }
.c-pain__close{margin-top:40px;text-align:center;font-size:clamp(17px,2.2vw,24px);font-weight:900;line-height:1.7}
.c-pain__close em{font-style:normal;color:var(--primary-50)}
.c-section--dark .c-pain__close em,.c-section--black .c-pain__close em{color:var(--primary-40)}

/* 吹き出し（会話の場面） */
.c-bubbles{display:grid;gap:14px;max-width:640px}
.c-bubble{display:grid;gap:4px;max-width:86%}
.c-bubble__who{font-size:var(--fs-12);color:var(--text-mute);font-weight:700}
.c-bubble__body{padding:12px 18px;border-radius:18px 18px 18px 4px;background:var(--base-20);line-height:1.7}
.c-bubble--me{justify-self:end}
.c-bubble--me .c-bubble__who{text-align:right}
.c-bubble--me .c-bubble__body{background:var(--primary-50);color:#fff;border-radius:18px 18px 4px 18px}
.c-bubble--en .c-bubble__body{font-family:var(--font-en);font-size:var(--fs-18);letter-spacing:.02em}
.c-bubble--silent .c-bubble__body{background:transparent;border:2px dashed var(--base-50);color:var(--text-mute)}
.c-section--dark .c-bubble__body{background:var(--base-80)}
.c-section--dark .c-bubble--me .c-bubble__body{background:var(--primary-50)}
.c-section--dark .c-bubble__who{color:var(--base-50)}

/* ---------- 11. 説明＋図 ---------- */
.c-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.c-split--rev>:first-child{order:2}
.c-split--top{align-items:start}
.c-split--40-60{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.c-split--60-40{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
@media (max-width:859px){ .c-split,.c-split--40-60,.c-split--60-40{grid-template-columns:minmax(0,1fr);gap:28px} .c-split--rev>:first-child{order:0} }
.c-split__text{display:grid;gap:16px}
.c-points{display:grid;gap:12px}
.c-points li{padding-left:28px;position:relative;line-height:1.8}
.c-points li::before{content:"";position:absolute;left:4px;top:.75em;width:12px;height:12px;border-radius:50%;background:var(--primary-50)}
.c-points li b{font-weight:900}
.c-points--check li::before{content:"\2713";width:auto;height:auto;background:none;color:var(--primary-50);font-weight:900;top:0;left:4px}
.c-points--cross li::before{content:"\00d7";width:auto;height:auto;background:none;color:var(--base-60);font-weight:900;top:0;left:4px;font-size:1.2em}

/* 音の違い（日本語読み／英語読み） */
.c-sound{display:grid;gap:16px}
.c-sound__item{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--base-0)}
.c-sound__en{padding:14px 20px;font-family:var(--font-en);font-size:var(--fs-20);font-weight:600;background:var(--base-10);border-bottom:1px solid var(--line);letter-spacing:.02em}
.c-sound__row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px 20px;align-items:baseline;border-bottom:1px dashed var(--line)}
.c-sound__row:last-child{border-bottom:0}
.c-sound__lab{font-size:var(--fs-12);font-weight:700;color:var(--text-mute)}
.c-sound__jp{color:var(--text-sub)}
.c-sound__real{font-size:var(--fs-20);font-weight:900;color:var(--primary-50)}
.c-sound--dark .c-sound__item{background:var(--base-80);border-color:var(--base-70)}
.c-sound--dark .c-sound__en{background:var(--base-90);border-color:var(--base-70);color:#fff}
.c-sound--dark .c-sound__row{border-color:var(--base-70)}
.c-sound--dark .c-sound__jp{color:var(--base-40)}
.c-sound--dark .c-sound__real{color:var(--primary-40)}

/* ---------- 12. ステップ・流れ ---------- */
.c-steps{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:20px;counter-reset:step}
.c-steps--2{--cols:2}.c-steps--4{--cols:4}
.c-step{background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);padding:28px 24px;display:grid;gap:10px;align-content:start;position:relative}
.c-step__no{font-family:var(--font-en);font-weight:700;font-size:var(--fs-14);letter-spacing:.14em;color:var(--primary-50)}
.c-step__key{font-size:clamp(26px,3.2vw,36px);font-weight:900;line-height:1.3}
.c-step__key em{font-style:normal;color:var(--primary-50)}
.c-step__sub{font-size:var(--fs-14);font-weight:700;color:var(--text-sub)}
.c-step__text{font-size:var(--fs-14);line-height:1.8;color:var(--text-sub)}
.c-steps--dark .c-step{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-steps--dark .c-step__no,.c-steps--dark .c-step__key em{color:var(--primary-40)}
.c-steps--dark .c-step__sub,.c-steps--dark .c-step__text{color:var(--base-40)}
@media (min-width:860px){ .c-steps:not(.c-steps--plain)>.c-step:not(:last-child)::after{content:"\25B6";position:absolute;right:-17px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--primary-50);z-index:1;background:var(--base-0);width:14px;line-height:1;text-align:center} .c-steps--dark>.c-step:not(:last-child)::after{background:var(--base-90)} }
@media (max-width:859px){ .c-steps,.c-steps--4,.c-steps--2{--cols:1} }
@media (min-width:600px) and (max-width:859px){ .c-steps--4,.c-steps--2{--cols:2} }

/* 縦の流れ（タイムライン） */
.c-flow{display:grid;gap:0;position:relative}
.c-flow__item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;position:relative;padding-bottom:28px}
.c-flow__item:last-child{padding-bottom:0}
.c-flow__item::before{content:"";position:absolute;left:27px;top:44px;bottom:-4px;width:2px;background:var(--base-40)}
.c-flow__item:last-child::before{display:none}
.c-flow__dot{width:56px;height:56px;border-radius:50%;background:var(--primary-50);color:#fff;display:grid;place-items:center;font-family:var(--font-en);font-weight:700;font-size:var(--fs-18);z-index:1}
.c-flow__dot--line{background:var(--base-0);color:var(--primary-50);border:2px solid var(--primary-50)}
.c-flow__when{font-size:var(--fs-12);font-weight:700;color:var(--primary-50);letter-spacing:.06em}
.c-flow__title{font-size:var(--fs-18);font-weight:900;line-height:1.5}
.c-flow__text{font-size:var(--fs-14);color:var(--text-sub);margin-top:4px}
.c-section--dark .c-flow__text{color:var(--base-40)}
.c-section--dark .c-flow__item::before{background:var(--base-70)}
.c-section--dark .c-flow__dot--line{background:var(--base-90)}

/* 横の流れ（矢印つき・短い） */
.c-chain{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
.c-chain__item{flex:1 1 140px;padding:16px 20px;background:var(--base-10);border:1px solid var(--line);font-weight:700;text-align:center;position:relative;display:grid;place-items:center;line-height:1.5}
.c-chain__item small{display:block;font-size:var(--fs-12);font-weight:500;color:var(--text-mute)}
.c-chain__item:not(:last-child)::after{content:"";position:absolute;right:-9px;top:50%;width:16px;height:16px;transform:translateY(-50%) rotate(45deg);background:var(--base-10);border-right:1px solid var(--line);border-top:1px solid var(--line);z-index:1}
.c-chain__item--hl{background:var(--primary-50);color:#fff;border-color:var(--primary-50)}
.c-chain__item--hl small{color:var(--primary-10)}
.c-chain__item--hl::after{background:var(--primary-50)!important;border-color:var(--primary-50)!important}
@media (max-width:767px){ .c-chain{flex-direction:column} .c-chain__item:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-9px;transform:translateX(-50%) rotate(135deg)} }

/* ロードマップ（レベル表） */
.c-levels{display:grid;gap:16px}
.c-level{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1.1fr);gap:24px;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--base-0);align-items:start}
.c-level__head{display:grid;gap:4px}
.c-level__no{font-family:var(--font-en);font-weight:700;font-size:var(--fs-20);color:var(--primary-50)}
.c-level__span{font-size:var(--fs-12);color:var(--text-mute);font-weight:700}
.c-level__span b{font-size:var(--fs-18);color:var(--text);font-family:var(--font-en)}
.c-level__title{font-size:var(--fs-20);font-weight:900;line-height:1.4}
.c-level__lead{font-size:var(--fs-14);color:var(--text-sub);margin-top:4px}
@media (max-width:859px){ .c-level{grid-template-columns:minmax(0,1fr);gap:12px} }
.c-levels--dark .c-level{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-levels--dark .c-level__no{color:var(--primary-40)}
.c-levels--dark .c-level__lead,.c-levels--dark .c-level__span{color:var(--base-40)}
.c-levels--dark .c-level__span b{color:#fff}

/* 3つの歯車（毎週の回し方） */
.c-gear{background:var(--base-0);border:1px solid var(--line);border-top:4px solid var(--primary-50);border-radius:0 0 var(--r-card) var(--r-card);padding:24px;display:grid;gap:8px;align-content:start}
.c-gear__title{font-weight:900;font-size:var(--fs-18)}
.c-gear__freq{display:inline-block;justify-self:start;font-family:var(--font-body);font-weight:900;color:var(--primary-50);font-size:var(--fs-24);line-height:1.3}
.c-gear__text{font-size:var(--fs-14);color:var(--text-sub);line-height:1.8}

/* 週間スケジュール（週の中の使い方） */
.c-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.c-week__day{font-size:var(--fs-12);font-weight:700;color:var(--text-mute);padding:6px 0}
.c-week__cell{min-height:64px;border-radius:8px;background:var(--base-10);font-size:var(--fs-12);display:grid;place-items:center;padding:6px 2px;line-height:1.4;font-weight:700}
.c-week__cell--coach{background:var(--primary-50);color:#fff}
.c-week__cell--native{background:var(--base-90);color:#fff}
.c-week__cell--self{background:var(--primary-10);color:var(--primary-60)}
.c-week__legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:var(--fs-12);color:var(--text-sub)}
.c-week__legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
@media (max-width:767px){ .c-week{gap:3px} .c-week__cell{font-size:10px;min-height:56px} }

/* ---------- 13. 特長（番号つき） ---------- */
.c-feature{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.c-feature:first-child{border-top:1px solid var(--line)}
.c-feature__no{font-family:var(--font-en);font-size:48px;font-weight:700;line-height:1;color:var(--primary-50)}
.c-feature__en{font-family:var(--font-en);font-size:var(--fs-12);letter-spacing:.14em;color:var(--text-mute);margin-bottom:4px}
.c-feature__title{font-size:clamp(18px,2.2vw,26px);font-weight:900;line-height:1.5}
.c-feature__text{margin-top:8px;color:var(--text-sub);line-height:1.9}
.c-section--dark .c-feature,.c-section--black .c-feature{border-color:var(--base-70)}
.c-section--dark .c-feature__text,.c-section--black .c-feature__text{color:var(--base-40)}
.c-section--dark .c-feature__no{color:var(--primary-40)}
@media (max-width:767px){ .c-feature{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0} .c-feature__no{font-size:36px} }
/* 特長カード（2x2） */
.c-fcard{background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);padding:28px;display:grid;gap:8px;align-content:start}
.c-fcard__no{font-family:var(--font-en);font-weight:700;color:var(--primary-50);font-size:var(--fs-14);letter-spacing:.14em}
.c-fcard__title{font-size:var(--fs-20);font-weight:900;line-height:1.5}
.c-fcard__text{font-size:var(--fs-14);color:var(--text-sub);line-height:1.9}
.c-fcard--dark{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-fcard--dark .c-fcard__no{color:var(--primary-40)}.c-fcard--dark .c-fcard__text{color:var(--base-40)}

/* ---------- 14. カード・声・プロフィール ---------- */
.c-card{background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);padding:24px;display:grid;gap:10px;align-content:start}
.c-card--shadow{border-color:transparent;box-shadow:var(--shadow)}
.c-card--gray{background:var(--base-10);border-color:var(--base-20)}
.c-card--dark{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-card--red{background:var(--primary-10);border-color:var(--primary-20)}
.c-card--link{text-decoration:none;transition:box-shadow .15s,border-color .15s}
.c-card--link:hover{border-color:var(--primary-50);box-shadow:var(--shadow)}
.c-card__label{font-size:var(--fs-12);font-weight:700;color:var(--primary-50);letter-spacing:.06em}
.c-card__title{font-size:var(--fs-18);font-weight:900;line-height:1.5}
.c-card__text{font-size:var(--fs-14);color:var(--text-sub);line-height:1.8}
.c-card--dark .c-card__text{color:var(--base-40)}
.c-card--dark .c-card__label{color:var(--primary-40)}
.c-card__more{font-size:var(--fs-14);font-weight:700;color:var(--primary-50)}
.c-card__more::after{content:" \2192"}
.c-card__media{margin:-24px -24px 6px;border-radius:var(--r-card) var(--r-card) 0 0;overflow:hidden}
.c-card__media .c-ph{border-radius:0;min-height:140px}

/* 受講生の声 */
.c-voice{background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:grid;align-content:start}
.c-voice__thumb{aspect-ratio:16/10;background:var(--base-20);display:grid;place-items:center;color:var(--base-60);font-size:var(--fs-14);font-weight:700;position:relative}
.c-voice__body{padding:20px;display:grid;gap:8px}
.c-voice__who{font-weight:900}
.c-voice__role{font-size:var(--fs-12);color:var(--text-mute);line-height:1.6}
.c-voice__quote{font-size:var(--fs-14);line-height:1.8;color:var(--text-sub);margin-top:4px}
.c-voice--text .c-voice__quote{font-size:var(--fs-16);color:var(--text)}
.c-voice--dark{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-voice--dark .c-voice__thumb{background:var(--base-70);color:var(--base-40)}
.c-voice--dark .c-voice__role{color:var(--base-50)}.c-voice--dark .c-voice__quote{color:var(--base-30)}
.c-voice--compact .c-voice__body{padding:16px}
.c-voice__avatar{width:56px;height:56px;border-radius:50%;background:var(--base-30);display:grid;place-items:center;font-weight:900;color:var(--base-60);flex:none}

/* 引用 */
.c-quote{position:relative;padding:28px 32px 28px 56px;background:var(--base-10);border-radius:var(--r-card)}
.c-quote::before{content:"\201C";position:absolute;left:18px;top:2px;font-family:var(--font-en);font-size:64px;line-height:1;color:var(--primary-50)}
.c-quote__body{font-size:clamp(17px,2vw,22px);font-weight:700;line-height:1.8}
.c-quote__src{margin-top:12px;font-size:var(--fs-14);color:var(--text-mute)}
.c-quote--dark{background:var(--base-80);color:#fff}.c-quote--dark .c-quote__src{color:var(--base-40)}
.c-quote--line{background:transparent;border-left:4px solid var(--primary-50);border-radius:0;padding:4px 0 4px 24px}
.c-quote--line::before{content:none}
.c-quote--big{text-align:center;background:transparent;padding:40px 0}
.c-quote--big::before{position:static;display:block;font-size:80px;height:44px}
.c-quote--big .c-quote__body{font-size:clamp(22px,3.4vw,36px);font-weight:900;line-height:1.6}

/* インタビュー（Q&A） */
.c-interview{display:grid;gap:28px}
.c-qa{display:grid;gap:10px}
.c-qa__q{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;font-weight:900;font-size:var(--fs-18);line-height:1.6}
.c-qa__q::before{content:"Q";display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--base-90);color:#fff;font-family:var(--font-en)}
.c-qa__a{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;color:var(--text-sub);line-height:1.9}
.c-qa__a::before{content:"A";display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary-50);color:#fff;font-family:var(--font-en);font-weight:700}
.c-interview__head{display:flex;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}
.c-interview__name{font-weight:900;font-size:var(--fs-18)}
.c-interview__role{font-size:var(--fs-12);color:var(--text-mute)}

/* トレーナー・プロフィール */
.c-profile{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--base-0);align-items:start}
.c-profile__img{width:96px;height:96px;border-radius:50%;background:var(--base-30);display:grid;place-items:center;font-size:var(--fs-12);color:var(--base-60);font-weight:700;text-align:center}
.c-profile__role{font-size:var(--fs-12);font-weight:700;color:var(--primary-50)}
.c-profile__name{font-size:var(--fs-20);font-weight:900;line-height:1.4}
.c-profile__text{font-size:var(--fs-14);color:var(--text-sub);margin-top:6px;line-height:1.8}
@media (max-width:480px){ .c-profile{grid-template-columns:minmax(0,1fr);justify-items:start} }

/* メディア・導入実績の帯 */
.c-logos{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:12px}
.c-logos--5{--cols:5}
.c-logos__item{display:grid;place-items:center;min-height:64px;background:var(--base-0);border:1px solid var(--line);font-family:var(--font-en);font-weight:700;font-size:var(--fs-18);color:var(--base-70);padding:8px;text-align:center;line-height:1.3}
.c-logos--dark .c-logos__item{background:transparent;border-color:var(--base-70);color:var(--base-30)}
@media (max-width:767px){ .c-logos,.c-logos--5{--cols:2} }

/* ---------- 15. コース・料金・表 ---------- */
.c-course{position:relative;background:var(--base-0);border:1px solid var(--line);border-radius:var(--r-card);padding:28px 22px 24px;display:grid;gap:10px;align-content:start;text-align:center}
.c-course--hl{border:3px solid var(--primary-50)}
.c-course__ribbon{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);white-space:nowrap}
.c-course__name{font-family:var(--font-en);font-size:var(--fs-20);font-weight:700;letter-spacing:.06em}
.c-course__period{font-size:var(--fs-14);font-weight:900;color:var(--text-sub);padding-bottom:10px;border-bottom:1px dashed var(--base-40)}
.c-course__price{font-family:var(--font-en);font-size:clamp(30px,3.4vw,40px);font-weight:700;line-height:1.2;color:var(--text)}
.c-course__price small{font-family:var(--font-body);font-size:var(--fs-12);font-weight:500;color:var(--text-mute);margin-left:4px}
.c-course__split{font-size:var(--fs-14);font-weight:700;color:var(--primary-50)}
.c-course__goal{font-size:var(--fs-14);color:var(--text-sub);line-height:1.8;text-align:left;margin-top:4px}
.c-course--dark{background:var(--base-80);border-color:var(--base-70);color:#fff}
.c-course--dark .c-course__price{color:#fff}.c-course--dark .c-course__period,.c-course--dark .c-course__goal{color:var(--base-40)}
.c-course--dark .c-course__split{color:var(--primary-40)}
/* 1コースだけを見せる（横長） */
.c-course--wide{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);text-align:left;align-items:center;gap:24px}
.c-course--wide .c-course__period{border:0;padding:0}
@media (max-width:767px){ .c-course--wide{grid-template-columns:minmax(0,1fr)} }

.c-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.c-table{min-width:520px;font-size:var(--fs-14);line-height:1.7}
.c-table th,.c-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.c-table thead th{background:var(--base-90);color:#fff;font-weight:700;white-space:nowrap}
.c-table tbody th{background:var(--base-10);font-weight:900;width:28%;white-space:nowrap}
.c-table .is-hl{background:var(--primary-10);font-weight:900}
.c-table thead .is-hl{background:var(--primary-50);color:#fff}
.c-table--zebra tbody tr:nth-child(even) td{background:var(--base-10)}
.c-table--plain thead th{background:transparent;color:var(--text);border-bottom:2px solid var(--base-90)}
.c-table__yes{color:var(--primary-50);font-weight:900}
.c-table__no{color:var(--base-50)}
/* 縦並びの表（項目と値）：スマホでも崩れにくい */
.c-dl{display:grid;border-top:1px solid var(--line)}
.c-dl__row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.c-dl dt{font-weight:900}.c-dl dd{color:var(--text-sub)}
@media (max-width:640px){ .c-dl__row{grid-template-columns:minmax(0,1fr);gap:2px} }

/* ---------- 16. FAQ・タブ・開閉 ---------- */
.c-faq{display:grid;gap:0;border-top:1px solid var(--line)}
.c-faq__item{border-bottom:1px solid var(--line)}
.c-faq__q{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) 24px;gap:12px;align-items:start;padding:20px 4px;cursor:pointer;font-weight:900;font-size:var(--fs-16);line-height:1.6}
.c-faq__q::-webkit-details-marker{display:none}
.c-faq__q::before{content:"Q";font-family:var(--font-en);color:var(--primary-50);font-size:var(--fs-20);line-height:1.4}
.c-faq__q::after{content:"";width:10px;height:10px;border-right:2px solid var(--base-70);border-bottom:2px solid var(--base-70);transform:rotate(45deg);margin:6px 0 0 4px;transition:transform .2s}
.c-faq__item[open] .c-faq__q::after{transform:rotate(-135deg);margin-top:10px}
.c-faq__a{padding:0 40px 24px 48px;color:var(--text-sub);line-height:1.9}
.c-faq--dark{border-color:var(--base-70)}
.c-faq--dark .c-faq__item{border-color:var(--base-70)}
.c-faq--dark .c-faq__q::after{border-color:var(--base-40)}
.c-faq--dark .c-faq__q::before{color:var(--primary-40)}
.c-faq--dark .c-faq__a{color:var(--base-40)}
.c-faq--card{border:0;gap:12px}
.c-faq--card .c-faq__item{border:1px solid var(--line);border-radius:12px;background:var(--base-0);padding:0 16px}
@media (max-width:767px){ .c-faq__a{padding:0 4px 20px 44px} }

/* 開閉（汎用・「もっと見る」） */
.c-more{border:1px solid var(--line);border-radius:12px;background:var(--base-0)}
.c-more summary{list-style:none;cursor:pointer;padding:16px 20px;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}
.c-more summary::-webkit-details-marker{display:none}
.c-more summary::after{content:"+";font-family:var(--font-en);font-size:24px;color:var(--primary-50);line-height:1}
.c-more[open] summary::after{content:"\2212"}
.c-more__body{padding:0 20px 20px;color:var(--text-sub);line-height:1.9}

/* タブ（JSで切り替え） */
.c-tabs__list{display:flex;gap:0;border-bottom:2px solid var(--base-30);overflow-x:auto;-webkit-overflow-scrolling:touch}
.c-tabs__tab{flex:0 0 auto;padding:12px 22px;border:0;background:transparent;font-weight:700;color:var(--text-mute);border-bottom:4px solid transparent;margin-bottom:-2px;white-space:nowrap}
.c-tabs__tab[aria-selected="true"]{color:var(--primary-50);border-bottom-color:var(--primary-50)}
.c-tabs__panel{padding:28px 0}
.c-tabs__panel[hidden]{display:none}
.c-tabs--fill .c-tabs__tab{flex:1 1 0;text-align:center}
.c-tabs--pill .c-tabs__list{border:0;gap:8px;flex-wrap:wrap}
.c-tabs--pill .c-tabs__tab{border:1px solid var(--base-40);border-radius:var(--r-pill);margin:0;padding:8px 20px}
.c-tabs--pill .c-tabs__tab[aria-selected="true"]{background:var(--primary-50);border-color:var(--primary-50);color:#fff}
.c-section--dark .c-tabs__list{border-color:var(--base-70)}
.c-section--dark .c-tabs__tab{color:var(--base-50)}
.c-section--dark .c-tabs__tab[aria-selected="true"]{color:#fff;border-bottom-color:var(--primary-40)}

/* ---------- 17. 音声プレーヤー ---------- */
.c-player{display:flex;align-items:center;gap:12px;min-width:0}
.c-player__btn{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--primary-50);position:relative}
.c-player__btn::after{content:"";position:absolute;left:16px;top:12px;border-left:12px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
.c-player.is-playing .c-player__btn::after{left:13px;top:12px;width:14px;height:16px;border:0;border-left:4px solid #fff;border-right:4px solid #fff}
.c-player__bar{flex:1;height:6px;border-radius:3px;background:var(--base-40);position:relative;overflow:hidden;min-width:40px}
.c-player__bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--primary-50);transition:width .25s linear}
.c-player__time{font-family:var(--font-en);font-size:var(--fs-12);color:var(--text-mute);min-width:60px;text-align:right}
.c-player--card{padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--base-0)}
.c-player--dark .c-player__bar{background:var(--base-70)}
.c-player--dark .c-player__time{color:var(--base-40)}
.c-player__label{font-size:var(--fs-12);font-weight:700;color:var(--text-mute);display:block}
.c-player--dark .c-player__label{color:var(--base-40)}

/* ---------- 18. 予約への導線（CTA） ---------- */
.c-cta{text-align:center;padding:var(--sec-y) 0}
.c-cta--dark{background:var(--base-90);color:#fff}
.c-cta--red{background:var(--primary-50);color:#fff}
.c-cta--gray{background:var(--base-10)}
.c-cta__title{font-size:clamp(24px,calc(3.6vw + 2px),42px);font-weight:900;line-height:1.5}
.c-cta__lead{margin:16px auto 0;max-width:36em;font-size:clamp(14px,1.6vw,18px);line-height:1.9}
.c-cta--dark .c-cta__lead{color:var(--base-30)}.c-cta--red .c-cta__lead{color:var(--primary-10)}
.c-cta__action{margin-top:32px;display:grid;justify-items:center;gap:16px}
.c-cta__points{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;font-size:var(--fs-14);font-weight:700}
.c-cta__points li::before{content:"\2713";margin-right:6px;color:var(--primary-50)}
.c-cta--dark .c-cta__points li::before{color:var(--primary-40)}
.c-cta--red .c-cta__points li::before{color:#fff}
/* 本文の途中に入れる小さな予約案内 */
.c-inline-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 28px;border:2px solid var(--primary-50);border-radius:var(--r-card);background:var(--primary-10)}
.c-inline-cta__title{font-weight:900;font-size:var(--fs-18);line-height:1.5}
.c-inline-cta__text{font-size:var(--fs-14);color:var(--text-sub);margin-top:4px}
@media (max-width:767px){ .c-inline-cta{grid-template-columns:minmax(0,1fr);padding:20px} }
.c-inline-cta--dark{background:var(--base-90);border-color:var(--base-90);color:#fff}
.c-inline-cta--dark .c-inline-cta__text{color:var(--base-40)}
/* 細い帯（ページ上部のお知らせ） */
.c-topbar{background:var(--base-90);color:#fff;font-size:var(--fs-12);text-align:center;padding:8px var(--gutter);line-height:1.6}
.c-topbar a{color:var(--secondary-50);font-weight:700}
.c-topbar--red{background:var(--primary-50)}.c-topbar--red a{color:#fff}
/* スマホ下部の固定予約ボタン */
.c-sticky-cta{display:none}
@media (max-width:767px){
  .c-sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:#ffffffF2;border-top:1px solid var(--line);box-shadow:0 -4px 8px #00000014}
  body.has-sticky-cta{padding-bottom:76px}
}
.c-sticky-cta--always{display:block;position:fixed}
.c-sticky-cta--dark{background:#222222F2;border-top-color:var(--base-80)}

/* ---------- 19. 注意書き・お知らせ ---------- */
.c-alert{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px 20px;border-radius:8px;background:var(--base-10);border-left:4px solid var(--base-60);font-size:var(--fs-14);line-height:1.8}
.c-alert::before{content:"i";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--base-60);color:#fff;font-family:var(--font-en);font-weight:700;font-size:14px}
.c-alert--red{background:var(--primary-10);border-left-color:var(--primary-50)}.c-alert--red::before{background:var(--primary-50);content:"!"}
.c-alert--yellow{background:var(--secondary-10);border-left-color:var(--secondary-50)}.c-alert--yellow::before{background:var(--secondary-50);color:var(--base-90);content:"!"}
.c-alert--blue{background:#eef5fb;border-left-color:var(--tertiary-50)}.c-alert--blue::before{background:var(--tertiary-50)}
.c-footnotes{font-size:var(--fs-12);color:var(--text-mute);line-height:1.8;display:grid;gap:2px}
.c-footnotes li::before{content:"\203B";margin-right:4px}
.c-section--dark .c-footnotes{color:var(--base-50)}

/* 比較リスト（できる／できない・合う／合わない） */
.c-yesno{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.c-yesno__col{padding:24px;border-radius:var(--r-card);background:var(--base-10)}
.c-yesno__col--yes{background:var(--primary-10);border:2px solid var(--primary-50)}
.c-yesno__title{font-weight:900;font-size:var(--fs-18);margin-bottom:12px}
@media (max-width:767px){ .c-yesno{grid-template-columns:minmax(0,1fr)} }

/* 進み具合のバー（0から始める。値を棒の端に書く） */
.c-meter{display:grid;gap:10px}
.c-meter__row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;font-size:var(--fs-14);font-weight:700}
.c-meter__track{height:28px;background:var(--base-20);border-radius:4px;position:relative}
.c-meter__bar{height:100%;width:var(--v,50%);background:var(--base-60);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-family:var(--font-en);font-size:var(--fs-14);min-width:48px}
.c-meter__bar--red{background:var(--primary-50)}
@media (max-width:480px){ .c-meter__row{grid-template-columns:minmax(0,1fr)} }

/* ページ送り・関連ページ */
.c-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.c-pager a{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;text-decoration:none}
.c-pager a:hover{border-color:var(--primary-50)}
.c-pager small{font-size:var(--fs-12);color:var(--text-mute);font-weight:700}
.c-pager b{font-weight:900;line-height:1.5}
.c-pager a:last-child{text-align:right}
@media (max-width:480px){ .c-pager{grid-template-columns:minmax(0,1fr)} .c-pager a:last-child{text-align:left} }

/* 番号つきの大きなリスト */
.c-numlist{counter-reset:n;display:grid;gap:16px}
.c-numlist li{counter-increment:n;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;line-height:1.8}
.c-numlist li::before{content:counter(n,decimal-leading-zero);font-family:var(--font-en);font-size:28px;font-weight:700;color:var(--primary-50);line-height:1.2}
.c-numlist b{display:block;font-weight:900;font-size:var(--fs-18);line-height:1.5}

/* ---------- 20. フッター ---------- */
.c-footer{background:var(--base-90);color:var(--base-30);padding:56px 0 32px}
.c-footer__top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid var(--base-70)}
.c-footer__logo{font-size:22px;font-weight:900;color:#fff}
.c-footer__logo span{color:var(--primary-40)}
.c-footer__tag{margin-top:12px;font-size:var(--fs-14);line-height:1.8}
.c-footer__title{font-family:var(--font-en);font-size:var(--fs-14);letter-spacing:.14em;color:var(--base-50);margin-bottom:12px}
.c-footer__links{display:grid;gap:10px;font-size:var(--fs-14)}
.c-footer__links a{text-decoration:none}.c-footer__links a:hover{text-decoration:underline}
.c-footer__bottom{padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:var(--fs-12);color:var(--base-50)}
@media (max-width:767px){ .c-footer__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px} .c-footer__top>:first-child{grid-column:1/-1} }
.c-footer--light{background:var(--base-10);color:var(--text-sub)}
.c-footer--light .c-footer__logo{color:var(--text)}.c-footer--light .c-footer__logo span{color:var(--primary-50)}
.c-footer--light .c-footer__top{border-color:var(--base-30)}
.c-footer--light .c-footer__title,.c-footer--light .c-footer__bottom{color:var(--text-mute)}
.c-footer--mini{padding:28px 0}
.c-footer--mini .c-footer__top{display:none}

/* 動きを減らす設定 */
@media (prefers-reduced-motion:reduce){ *{transition:none!important;scroll-behavior:auto!important} }

/* ---------- 21. 色の調整（2026-10-15 永田さんのフィードバック） ----------
   赤はボタンと小さな印だけ。赤い文字・暗い背景に赤い文字は使わない。
   強調語は文字色を変えず、赤い下線で示す。 */
.c-heading__title em,.c-hero__title em,.c-pain__close em,.c-step__key em,.c-stats__text em,
.c-section--dark .c-heading__title em,.c-section--black .c-heading__title em,
.c-section--dark .c-pain__close em,.c-section--black .c-pain__close em{
  color:inherit;text-decoration:underline;text-decoration-color:var(--primary-50);
  text-decoration-thickness:.12em;text-underline-offset:.18em;text-decoration-skip-ink:none}
.c-hero__kicker{color:var(--base-40)}
.c-hero--light .c-hero__kicker,.c-hero--gray .c-hero__kicker{color:var(--text-sub)}
.c-eyebrow,.c-toc__title{color:var(--text-mute)}
.c-section--dark .c-eyebrow,.c-section--black .c-eyebrow{color:var(--base-50)}
.c-card__label,.c-pain__scene,.c-flow__when,.c-profile__role{color:var(--text-sub)}
.c-card--dark .c-card__label{color:var(--base-40)}
.c-step__no,.c-level__no,.c-fcard__no,.c-feature__no{color:var(--text)}
.c-gear__freq{color:var(--text)}
.c-card__more{color:var(--text);text-decoration:underline;text-decoration-color:var(--primary-50);text-underline-offset:4px}
.c-card__more::after{color:var(--primary-50)}
.c-chain__item--hl{background:var(--base-90);border-color:var(--base-90)}
.c-chain__item--hl::after{background:var(--base-90)!important;border-color:var(--base-90)!important}
.c-toc a::before{color:var(--text-mute)}
/* 受講前後の声：明るい背景の白いカード */
.c-voice-ba{background:var(--base-0);color:var(--text);border:1px solid var(--line)}
.c-voice-ba__who{color:var(--text-mute)}
.c-voice-ba__row{background:var(--base-10)}
.c-voice-ba__row b{color:var(--text-mute)}
.c-voice-ba__row--after{background:var(--base-0);border:1px solid var(--base-40)}
.c-voice-ba__row--after b{color:var(--text)}
.c-player__bar{background:var(--base-30)}
.c-voice__thumb{background:var(--base-20)}

/* ---------- 22. シャベリッシュ公式の下層ページに合わせる（2026-10-15） ----------
   出典：https://merise.asia/shabelish/features の見た目
   白い冒頭＋黒い見出し、左寄せの見出し、角丸と枠のない平らな灰色の箱、強調の色や下線は使わない */

/* ヘッダー（ロゴ画像・活用シーンの開くメニュー・2段の予約ボタン） */
.c-header--official .c-header__in{min-height:80px;gap:16px}
.c-header__brand{display:block;flex:none}
.c-header__brand img{height:42px;width:auto}
.c-header--official .c-header__nav{align-items:center;gap:0;font-size:var(--fs-16)}
.c-header--official .c-header__nav>a,.c-nav-trigger{display:flex;align-items:center;height:80px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;font-weight:700;font-size:var(--fs-16);text-decoration:none;color:var(--text)}
.c-header--official .c-header__nav>a:hover,.c-nav-trigger:hover,.c-nav-trigger[aria-current]{border-bottom-color:var(--text)}
.c-nav-trigger{gap:4px;cursor:pointer}
.c-nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.c-nav-item{position:relative}
.c-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(680px,90vw);background:var(--base-0);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px 32px 20px;z-index:70}
.c-mega[hidden]{display:none}
.c-mega__cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.c-mega strong,.c-header__scenes strong{display:block;font-size:var(--fs-12);color:var(--text-mute);letter-spacing:.06em;margin-bottom:6px}
.c-mega a,.c-header__scenes a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:var(--fs-14);text-decoration:none;color:var(--text)}
.c-mega a:hover{color:var(--primary-50)}
.c-mega a[aria-current]{color:var(--primary-50)}
.c-mega__foot{margin-top:16px;font-size:var(--fs-12);color:var(--text-sub)}
.c-mega__foot a{display:inline;border:0;padding:0;color:var(--primary-50);font-size:var(--fs-12)}
.c-header__cta--2line{flex-direction:column;gap:2px;min-height:56px;padding:6px 20px;line-height:1.3}
.c-header__cta-sub{font-size:var(--fs-12);border-bottom:1px solid currentColor;padding-bottom:2px}
.c-header__scenes summary{list-style:none;cursor:pointer;display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}
.c-header__scenes summary::-webkit-details-marker{display:none}
.c-header__scenes>div{padding:8px 0 8px 12px}
.c-header__scenes strong{margin-top:12px}
@media (max-width:1279px){
  .c-header--official .c-header__nav,.c-header--official .c-header__cta{display:none}
  .c-header--official .c-header__toggle{display:block}
  .c-header--official .c-header__in{min-height:64px}
  .c-header__brand img{height:34px}
  .c-header--official .c-header__menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--base-0);border-bottom:1px solid var(--line);padding:8px var(--gutter) 20px;max-height:calc(100dvh - 64px);overflow-y:auto}
  .c-header--official.is-open .c-header__menu{display:block}
  .c-header--official .c-header__menu>a:not(.c-btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}
  .c-header--official .c-header__menu .c-btn{margin-top:16px}
}

/* 冒頭：白い背景・黒い見出し・左寄せ（公式の下層ページと同じ） */
.c-hero--page{background:var(--base-0);color:var(--text);padding:0 0 48px}
.c-hero--page .c-breadcrumb{padding:16px 0 32px}
.c-breadcrumb li+li::before{content:"\203A"}
.c-hero--page .c-hero__kicker{color:var(--text-mute);font-size:var(--fs-14);font-weight:700}
.c-hero--page .c-hero__title{font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.5;letter-spacing:.02em}
.c-hero--page .c-hero__sub{margin-top:24px;font-size:var(--fs-14);color:var(--text);line-height:1.75}
.c-hero--page .c-hero__actions,.c-hero--page .c-hero__proof{display:none}

/* 見出し：左寄せ・英字の小見出しは黒で大きめ・見出しは太字700 */
.c-heading,.c-heading--center{text-align:left;justify-items:start}
.c-eyebrow{font-size:22px;font-weight:600;letter-spacing:.06em;color:var(--text)}
.c-section--dark .c-eyebrow,.c-section--black .c-eyebrow{color:var(--secondary-50)}
.c-heading__title{font-size:clamp(24px,3.4vw,40px);font-weight:700;line-height:1.5}
.c-heading__lead{font-size:var(--fs-14);color:var(--text)}
.c-pain__close{text-align:left}

/* 強調：色も下線も使わない */
.c-heading__title em,.c-hero__title em,.c-pain__close em,.c-step__key em,.c-stats__text em,
.c-section--dark .c-heading__title em,.c-section--black .c-heading__title em{color:inherit;text-decoration:none}

/* 箱：角丸と枠をなくし、白い面では薄い灰色、灰色の面では白 */
.c-card,.c-pain__item,.c-step,.c-level,.c-gear,.c-fcard,.c-voice,.c-voice-ba,.c-toc,.c-yesno__col,.c-compare__side,.c-pager a,.c-ph{border-radius:0}
.c-section--white .c-card,.c-section--white .c-pain__item,.c-section--white .c-step,.c-section--white .c-level,.c-section--white .c-gear,.c-section--white .c-fcard,.c-section--white .c-voice,.c-section--white .c-voice-ba{background:var(--base-10);border-color:transparent}
.c-section--gray .c-card,.c-section--gray .c-pain__item,.c-section--gray .c-step,.c-section--gray .c-level,.c-section--gray .c-gear,.c-section--gray .c-fcard,.c-section--gray .c-voice,.c-section--gray .c-voice-ba{background:var(--base-0);border-color:transparent}
.c-gear{border-top:0}
.c-card--red{background:var(--base-10)!important;border:2px solid var(--base-90)!important}
.c-card__media{border-radius:0}
.c-pain--list .c-pain__item{background:transparent!important;border-bottom:1px solid var(--line)!important}
.c-toc{background:transparent;border:0;padding:0}
.c-btn--lg{border-radius:var(--r-btn)}
.c-header__scenes a{display:flex!important;justify-content:space-between}
/* 2026-10-15 コメント：英字の小見出し・見出し・説明文は中央に揃える（全ページ） */
.c-heading,.c-heading--center,.c-heading--left{text-align:center;justify-items:center}
.c-heading__lead{margin-inline:auto}
.c-pain__close{text-align:center}
/* 2026-10-15 のっぺり対策（永田さんOK）：中央に統一・日本語の赤い小ラベル・黒い欄を1つ・言葉の区切りで折り返す */
.c-hero--page .c-hero__in{text-align:center;justify-items:center}
.c-hero--page .c-hero__in>div{display:grid;justify-items:center}
.c-eyebrow-ja{margin-top:-10px;font-size:var(--fs-12);font-weight:700;color:var(--primary-50);letter-spacing:.06em}
.c-section--dark .c-eyebrow-ja,.c-section--black .c-eyebrow-ja{color:var(--base-30)}
.c-section--spot{background:radial-gradient(ellipse at 50% 0%,var(--base-80) 0%,var(--base-90) 60%)}
.c-section--dark .c-eyebrow{color:var(--secondary-50)}
.c-section--dark .c-heading__lead,.c-section--dark .c-note,.c-section--dark .c-text{color:var(--base-30)}
.c-section--dark .c-h4{color:var(--base-0)}
.c-section--dark .c-card,.c-section--dark .c-voice,.c-section--dark .c-voice-ba{background:var(--base-0);color:var(--text);border-color:transparent}
.c-section--dark .c-card__text{color:var(--text-sub)}
.c-card--red{background:var(--base-10)!important;border:0!important}
.c-section--gray .c-card--red{background:var(--base-0)!important}
.c-heading__title,.c-heading__lead,.c-hero__title,.c-hero__sub,.c-card__title,.c-card__text,.c-pain__text,.c-pain__close,.c-cta__title,.c-cta__lead,.c-voice-ba__title{word-break:auto-phrase;text-wrap:pretty}
/* 2026-10-15 コメント：場面のラベルが折り返すとき、赤い線の下に文字を回り込ませない */
.c-pain__scene{display:flex;align-items:baseline;gap:8px}
.c-pain__scene::before{flex:none;margin-right:0;position:relative;top:-.25em}
.c-pain__scene{word-break:auto-phrase}
/* 2026-10-15 コメント：見出しの下に続く本文（狭い幅の欄）も中央揃えに */
.c-container--narrow>.c-text{text-align:center;word-break:auto-phrase;text-wrap:pretty}
/* 2026-10-15 コメント：行末の「、」「。」の右側の空きを詰め、中央揃えの見出しが左に寄って見えないように */
.p-end{margin-right:-.5em}
.c-heading__title,.c-hero__title,.c-cta__title{word-break:normal;line-break:strict}
.p-end{display:inline-block;margin-right:-.5em}
/* 2026-10-15 コメント：ページ内の目次を、中央揃え・角丸なしの文字リンクに（丸いボタンの並びをやめる） */
.c-toc--inline{text-align:center;padding:0 0 32px;border-bottom:1px solid var(--line)}
.c-toc--inline .c-toc__title{font-family:var(--font-body);font-size:var(--fs-12);letter-spacing:.06em;color:var(--text-mute);margin-bottom:12px}
.c-toc--inline ol{justify-content:center;gap:8px 28px}
.c-toc--inline a{border:0;border-radius:0;padding:4px 0;font-size:var(--fs-14);border-bottom:1px solid var(--base-50)}
.c-toc--inline a:hover{color:var(--primary-50);border-bottom-color:var(--primary-50)}
/* 2026-10-15 コメント：枠線つきの小さなボタンをやめ、「→」つきの文字リンクに（カードの「〜を見る →」と同じ形） */
.c-btn--outline{min-height:0;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);font-size:var(--fs-14);font-weight:700;border-bottom:1px solid var(--primary-50)}
.c-btn--outline::after{content:" \2192";color:var(--primary-50);font-weight:400}
.c-btn--outline:hover{background:transparent;color:var(--primary-50)}
/* 2026-10-15 コメント：受講生のひとことを、話している人のアイコン＋吹き出しで見せる */
.c-saying{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;max-width:760px;margin-inline:auto}
.c-saying__icon{width:56px;height:56px;border-radius:50%;background:var(--base-20);color:var(--base-60);display:grid;place-items:center}
.c-saying__who{font-size:var(--fs-12);font-weight:700;color:var(--text-mute);margin-bottom:6px}
.c-saying__bubble{position:relative;background:var(--base-0);border:1px solid var(--line);border-radius:4px 16px 16px 16px;padding:16px 22px;font-size:clamp(16px,1.8vw,19px);font-weight:700;line-height:1.8}
.c-section--white .c-saying__bubble{background:var(--base-10);border-color:transparent}
.c-saying__bubble::before{content:"";position:absolute;left:-9px;top:14px;width:16px;height:16px;background:inherit;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.c-section--white .c-saying__bubble::before{border:0}
/* 2026-10-15 フィードバック対応 */
/* フッターのロゴ（暗い背景なので白で表示） */
.c-footer__brand{display:inline-block}
.c-footer__brand img{height:40px;width:auto;filter:brightness(0) invert(1)}
/* 活用シーンのメニューを、ヘッダーの幅いっぱいに開く */
.c-header--official{position:sticky}
.c-nav-item{position:static}
.c-mega{left:0;right:0;transform:none;width:auto;border-left:0;border-right:0;padding:32px 0 24px}
.c-mega__cols,.c-mega__foot{max-width:var(--w-content);margin-inline:auto;padding-inline:var(--gutter)}
.c-mega__cols{gap:56px}
/* PCだけで改行する */
.u-br-pc{display:inline}
@media (max-width:767px){.u-br-pc{display:none}}
/* 工程表の下：コースの相談への導線 */
.c-plan-next{margin-top:32px;display:grid;justify-items:center;gap:16px;text-align:center}
.c-plan-next__lead{font-size:var(--fs-16);font-weight:700;line-height:1.8;word-break:auto-phrase}
.c-plan-next__actions{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:center;align-items:center}
.c-heading__lead:has(.u-br-pc){max-width:none}
@media (min-width:768px){.c-heading__lead:has(.u-br-pc),.c-plan-next__lead{word-break:keep-all}}
/* 表の「目安のコース」列：赤やピンクで塗らず、太字だけで示す */
.c-table .is-hl{background:transparent;font-weight:900}
.c-table thead .is-hl{background:var(--base-90);color:#fff}
.c-table--zebra tbody tr:nth-child(even) td.is-hl{background:var(--base-10)}
#plan>.c-container>.c-h3,#plan>.c-container>.c-h3+.c-text{text-align:center;word-break:auto-phrase}
/* 2026-10-15 フィードバック対応（2） */
/* 固定ヘッダーの下に見出しが隠れないよう、ページ内リンクの止まる位置を下げる */
[id]{scroll-margin-top:150px}
/* メニュー下の相談の帯：幅いっぱい・灰色の面・ボタンつき */
.c-mega{padding-bottom:0}
.c-mega__foot{max-width:none;margin-top:24px;padding:20px max(var(--gutter),calc((100% - var(--w-content))/2));background:var(--base-10);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:center;font-size:var(--fs-14);font-weight:700;color:var(--text)}
.c-mega__foot a.c-btn{display:inline-flex;border:0;padding:8px 24px;color:var(--base-0);font-size:var(--fs-14)}
.c-mega__foot a.c-btn:hover{color:var(--base-0)}
/* 受講生のひとこと：3つ並べて会話の欄に */
.c-sayings{display:grid;gap:20px;max-width:760px;margin-inline:auto}
.c-sayings .c-saying{margin:0}
.c-sayings .c-saying:nth-child(even){grid-template-columns:minmax(0,1fr) 56px}
.c-sayings .c-saying:nth-child(even) .c-saying__icon{order:2}
.c-sayings .c-saying:nth-child(even) .c-saying__who{text-align:right}
.c-sayings .c-saying:nth-child(even) .c-saying__bubble{border-radius:16px 4px 16px 16px}
.c-sayings .c-saying:nth-child(even) .c-saying__bubble::before{left:auto;right:-9px;transform:rotate(-135deg)}
/* 2026-10-15 コメント：メニュー下の相談は文字リンクだけ。下の灰色の面と同化しないよう、黒い帯に白い文字 */
.c-mega__foot{background:var(--base-90);color:var(--base-0);padding-block:18px}
.c-mega__foot p{margin:0}
.c-mega__foot a{display:inline;padding:0;border:0;border-bottom:1px solid currentColor;color:var(--base-0);font-size:inherit;font-weight:900}
.c-mega__foot a:hover{color:var(--secondary-50)}
/* 2026-10-15 コメント：黒い帯と黄色はやめ、メニューの白い面のまま線で区切り、リンクは本文と同じ赤い下線に */
.c-mega{border-bottom:1px solid var(--line);box-shadow:0 8px 16px #00000014}
.c-mega__foot{background:var(--base-0);color:var(--text);border-top:1px solid var(--line);padding-block:16px 20px;font-weight:500}
.c-mega__foot a{color:var(--text);font-weight:700;border-bottom:1px solid var(--primary-50)}
.c-mega__foot a:hover{color:var(--primary-50)}
/* ==========================================================================
   23. 公式の下層ページ（プラン・料金など）に揃える（2026-10-15 永田さん）
   文字はすべて左揃え。パンくずは「TOP ＞ ページ名」、TOPに下線、区切りは灰色の「＞」
   ========================================================================== */
.c-hero--page .c-hero__in,.c-hero--page .c-hero__in>div{text-align:left;justify-items:start}
.c-heading,.c-heading--center,.c-heading--left{text-align:left;justify-items:start}
.c-heading__lead{margin-inline:0}
.c-pain__close,.c-container--narrow>.c-text,#plan>.c-container>.c-h3,#plan>.c-container>.c-h3+.c-text{text-align:left}
.c-plan-next{justify-items:start;text-align:left}
.c-plan-next__actions{justify-content:flex-start}
.c-sayings,.c-saying{margin-inline:0}
.p-end{margin-right:0}
.c-hero--page .c-breadcrumb{padding:16px 0 56px;font-size:var(--fs-12);color:var(--text-sub)}
.c-breadcrumb ol{gap:4px 12px}
.c-breadcrumb li+li::before{content:"";display:inline-block;width:6px;height:6px;border-right:1px solid var(--base-50);border-top:1px solid var(--base-50);transform:rotate(45deg);margin:0 12px 1px 0;vertical-align:middle}
.c-breadcrumb a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.c-breadcrumb [aria-current]{color:var(--text-sub);font-weight:400}
.c-hero--page .c-hero__title{font-size:clamp(28px,3.4vw,40px);letter-spacing:.04em}
.c-hero--page .c-hero__sub{margin-top:28px}
/* ==========================================================================
   24. 2026-10-15 フィードバック対応（ヘッダーの線・場面から探す・フッター・比較・声・FAQ）
   ========================================================================== */
/* ヘッダー下の線をなくす */
.c-header--official{border-bottom:0}
/* 縦の余白をつめた欄 */
.c-section--compact{padding:56px 0}
.c-section--compact .c-heading{margin-bottom:24px}
/* 場面から探す：4列の平らな箱（スマホは2列） */
.c-scenes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.c-scene{display:grid;gap:6px;align-content:start;padding:18px 18px 16px;background:var(--base-10);text-decoration:none;color:var(--text);transition:background .15s}
.c-scene:hover{background:var(--base-20)}
.c-scene__label{font-weight:900;font-size:var(--fs-16)}
.c-scene__text{font-size:var(--fs-12);color:var(--text-sub);line-height:1.7;word-break:auto-phrase}
.c-scene__to{font-size:var(--fs-12);font-weight:700;margin-top:4px}
.c-scene__to::after{content:" \2192";color:var(--primary-50)}
@media (max-width:959px){.c-scenes{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 比べる表：1列目は項目、最後の列（シャベリッシュ）だけ太字 */
.c-table--compare{min-width:560px}
.c-table--compare thead th{background:var(--base-90);color:#fff}
.c-table--compare thead th:last-child{background:var(--primary-50)}
.c-table--compare tbody th{width:22%;background:var(--base-10)}
.c-table--compare tbody td:last-child{font-weight:700;color:var(--text)}
.c-table--compare tbody td{color:var(--text-sub)}
.c-section--gray .c-table--compare tbody td,.c-section--gray .c-table--compare tbody th{background:var(--base-0)}
.c-section--gray .c-table--compare tbody th{background:var(--base-20)}
/* 受講生のひとこと：引用カードを3つ並べる */
.c-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.c-qcard{margin:0;padding:24px 22px 20px;background:var(--base-0);display:grid;gap:14px;align-content:space-between}
.c-section--white .c-qcard{background:var(--base-10)}
.c-qcard__body{margin:0;font-size:var(--fs-16);font-weight:700;line-height:1.8;word-break:auto-phrase}
.c-qcard__body::before{content:"\201C";display:block;font-family:var(--font-en);font-size:40px;line-height:.8;color:var(--primary-50);margin-bottom:6px}
.c-qcard__who{font-size:var(--fs-12);color:var(--text-mute);font-weight:700;border-top:1px solid var(--line);padding-top:10px}
@media (max-width:767px){.c-quotes{grid-template-columns:minmax(0,1fr)}}
/* ほかの状態のページ（ページ送りの代わり） */
.c-related{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;padding-bottom:20px;border-bottom:1px solid var(--line)}
.c-related__title{font-size:var(--fs-12);font-weight:700;color:var(--text-mute)}
.c-related ul{display:flex;flex-wrap:wrap;gap:8px 28px}
.c-related a{font-size:var(--fs-14);font-weight:700;text-decoration:none;border-bottom:1px solid var(--primary-50)}
.c-related a::after{content:" \2192";color:var(--primary-50)}
/* FAQ：公式と同じ形の開閉 */
#faq .c-faq{max-width:none}
/* フッター：公式と同じ並び（ロゴと一文／MENU／COMPANY） */
.c-footer--official{padding:64px 0 40px;background:var(--base-90);color:var(--base-0)}
.c-footer__row{display:flex;gap:40px;align-items:flex-start}
.c-footer__lead{flex:1;display:grid;gap:24px}
.c-footer__brand img{height:48px}
.c-footer--official .c-footer__tag{margin:0;font-size:var(--fs-16);line-height:1.75;color:var(--base-0)}
.c-footer__col{width:260px}
.c-footer--official .c-footer__title{font-family:var(--font-en);font-size:var(--fs-16);font-weight:400;letter-spacing:.04em;color:var(--base-0);margin-bottom:24px}
.c-footer__col ul{border-bottom:1px solid var(--base-70)}
.c-footer__col li{border-top:1px solid var(--base-70)}
.c-footer__col a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:var(--fs-14);color:var(--base-0);text-decoration:none}
.c-footer__col a:hover{color:var(--primary-40)}
.c-footer__col a svg{color:var(--base-50);flex:none}
.c-footer__copy{margin-top:40px;font-size:var(--fs-12);color:var(--base-50)}
@media (max-width:959px){.c-footer__row{flex-direction:column}.c-footer__col{width:100%}}
/* 2026-10-15 コメント：メニュー下の相談の文の上の細い線を消す */
.c-mega__foot{border-top:0}
/* 2026-10-15 コメント：「声を聞いてもらう理由」も他の欄と同じ左の位置から始める（本文は読みやすい幅で止める） */
#why-voice .c-text{max-width:46em;text-align:left}
/* 2026-10-15：PCでは文の切れ目で改行し、行の途中で折り返さない */
#why-voice .c-text{max-width:none;word-break:auto-phrase}
@media (min-width:768px){#why-voice .c-text{word-break:keep-all}}
/* 2026-10-15 コメント：右の流れ図が上に寄りすぎないよう、左の文章の高さの真ん中にそろえ、面で囲んで重さを合わせる */
.c-split--material{align-items:center}
.c-split--material>.c-flow{padding:36px 32px;background:var(--base-10)}
.c-section--gray .c-split--material>.c-flow{background:var(--base-0)}
/* 2026-10-15 コメント：「声を聞いてもらう理由」は右が空くので、点数と声で分かることを比べる図を右に置いて2列に */
.c-split--why{align-items:center;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.c-split--why .c-heading{margin-bottom:24px}
.c-split--why .c-text{word-break:keep-all}
.c-why{display:grid;gap:12px}
.c-why__box{padding:22px 24px;background:var(--base-0)}
.c-why__label{font-size:var(--fs-14);font-weight:900;margin-bottom:10px;color:var(--text-mute)}
.c-why__box .c-points{gap:8px;font-size:var(--fs-14)}
.c-why__box--voice{border:2px solid var(--base-90)}
.c-why__box--voice .c-why__label{color:var(--text)}
@media (max-width:859px){.c-split--why{grid-template-columns:minmax(0,1fr)}.c-split--why .c-text{word-break:auto-phrase}}
/* 2026-10-15 コメント：場面から探すを、上の3枚のカードと同じ3列にまとめ、文字を大きく */
.c-scenegroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.c-scenegroup{background:var(--base-10);padding:24px 24px 12px;display:grid;align-content:start}
.c-section--gray .c-scenegroup{background:var(--base-0)}
.c-scenegroup__head{font-size:var(--fs-14);font-weight:700;color:var(--text-sub);text-decoration:none;padding-bottom:12px;border-bottom:2px solid var(--base-90)}
.c-scenegroup__head::after{content:" \2192";color:var(--primary-50)}
.c-scenegroup ul{display:grid}
.c-scenegroup li+li{border-top:1px solid var(--line)}
.c-scenegroup li a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding:16px 0;text-decoration:none;color:var(--text)}
.c-scenegroup li a::after{content:"\2192";grid-column:2;grid-row:1;color:var(--primary-50);font-size:var(--fs-18)}
.c-scenegroup__name{grid-column:1;font-size:var(--fs-18);font-weight:900;line-height:1.4}
.c-scenegroup__text{grid-column:1;font-size:var(--fs-14);color:var(--text-sub);line-height:1.7;word-break:auto-phrase}
.c-scenegroup li a:hover .c-scenegroup__name{color:var(--primary-50)}
@media (max-width:959px){.c-scenegroups{grid-template-columns:minmax(0,1fr)}}
/* 2026-10-15 コメント：流れ図の番号の丸は、赤い塗りや赤い枠をやめ、塗りなし・黒の細い枠と黒い数字に統一 */
.c-flow__dot,.c-flow__dot--line{background:transparent;color:var(--text);border:1px solid var(--base-90);width:48px;height:48px;font-size:var(--fs-16)}
.c-flow__item{grid-template-columns:48px minmax(0,1fr)}
.c-flow__item::before{left:23.5px;top:52px;background:var(--base-40)}
.c-flow__when{color:var(--text-mute)}
/* 2026-10-15 コメント：比較の図は右寄せをやめ、本文の下に同じ大きさの2つの箱で並べる。黒い枠はなし */
.c-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.c-why__box{padding:28px 28px 24px;background:var(--base-0)}
.c-why__box--voice{border:0}
.c-why__label{font-size:var(--fs-18);font-weight:900;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.c-why__box .c-points{gap:10px;font-size:var(--fs-16)}
.c-why__box:not(.c-why__box--voice){color:var(--text-sub)}
.c-why__box--voice .c-why__label{border-bottom:2px solid var(--primary-50)}
@media (max-width:767px){.c-why{grid-template-columns:minmax(0,1fr)}}
#why-voice .c-text{max-width:none}
/* ==========================================================================
   25. 事例1人分のページ（2026-10-15）
   ========================================================================== */
.c-consent{background:var(--secondary-10);border-bottom:1px solid var(--line);padding:20px 0;font-size:var(--fs-14);line-height:1.8}
.c-consent__title{font-weight:900;font-size:var(--fs-16);margin-bottom:4px}
.c-case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.c-case-tags li{font-size:var(--fs-12);font-weight:700;padding:4px 12px;border:1px solid var(--base-40);border-radius:var(--r-pill);color:var(--text-sub)}
.c-case-voice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.c-case-voice__item{background:var(--base-0);color:var(--text);padding:24px;display:grid;gap:12px}
.c-case-voice__when{font-size:var(--fs-14);color:var(--text-sub)}
.c-case-voice__when b{display:block;font-family:var(--font-en);letter-spacing:.1em;color:var(--text-mute);font-size:var(--fs-12)}
.c-case-voice__item--after .c-case-voice__when b{color:var(--primary-50)}
.c-case-about{margin-top:16px;color:var(--base-30);font-size:var(--fs-14)}
.c-case-about summary{cursor:pointer;font-weight:700}
.c-case-about p{margin-top:8px}
@media (max-width:767px){.c-case-voice{grid-template-columns:minmax(0,1fr)}}
.c-case-profile{background:var(--base-0);padding:8px 28px}
.c-case-profile .c-dl__row{grid-template-columns:240px minmax(0,1fr)}
.c-case-approach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.c-case-approach__item{background:var(--base-10);padding:24px;font-size:var(--fs-14);line-height:1.9}
.c-case-approach__label{font-weight:900;font-size:var(--fs-16);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
@media (max-width:767px){.c-case-approach{grid-template-columns:minmax(0,1fr)}}
.c-level--plan{border:1px dashed var(--base-50)!important}
.c-case-detail{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 12px;font-size:var(--fs-14);line-height:1.8}
.c-case-detail dt{font-weight:700;color:var(--text-sub)}
.c-case-detail dd{margin:0}
.c-case-mat{gap:14px}
.c-case-sample{background:var(--base-0);padding:16px 18px}
.c-section--white .c-case-sample{background:var(--base-0)}
.c-case-mat.c-card{background:var(--base-10)}
.c-case-sample__en{font-family:var(--font-en);font-size:var(--fs-20);font-weight:600;line-height:1.6}
.c-case-sample__ja{font-size:var(--fs-14);color:var(--text-sub);margin-top:4px}
.mk-s{color:#d23339;font-weight:700}
.mk-l{color:#0d6ab7;font-weight:700}
.c-case-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--fs-12);color:var(--text-sub)}
.c-case-legend li span,.c-case-legend li b{margin-right:6px}
.c-case-try{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;align-items:center;padding:24px 28px;border:1px solid var(--line)}
@media (max-width:767px){.c-case-try{grid-template-columns:minmax(0,1fr)}}
.c-case-week td{font-size:var(--fs-14)}
.c-case-sample__en{font-family:"Helvetica Neue",Arial,"Zen Kaku Gothic New",sans-serif;font-weight:500;letter-spacing:0;word-spacing:.08em}
.c-case-week thead th:last-child{background:var(--base-90)}
.c-case-week tbody td:last-child{font-weight:400;color:var(--text-sub)}
.c-case-week tbody td:nth-child(2){color:var(--text);font-weight:700}
/* ==========================================================================
   26. 全体設計のページ（2026-10-15）
   ========================================================================== */
.c-gd-map{display:grid;gap:16px}
.c-gd-map__row{display:grid;gap:16px;justify-items:center}
.c-gd-map__row--3{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch}
.c-gd-node{display:grid;gap:4px;padding:20px 22px;background:var(--base-0);text-decoration:none;color:var(--text);font-weight:900;font-size:var(--fs-16);line-height:1.5;border-top:3px solid var(--base-90)}
.c-gd-node small,.c-gd-cases small{font-size:var(--fs-12);font-weight:700;color:var(--text-mute)}
.c-gd-node span{font-size:var(--fs-12);font-weight:500;color:var(--text-sub)}
.c-gd-node--top{min-width:min(420px,100%);text-align:center;border-top-color:var(--primary-50)}
.c-gd-cases{padding:16px 22px;border:1px dashed var(--base-50);background:transparent;display:grid;gap:6px;font-size:var(--fs-14)}
.c-gd-cases ul{display:grid;gap:4px}
.c-gd-cases a{font-weight:700;border-bottom:1px solid var(--primary-50);text-decoration:none}
@media (max-width:767px){.c-gd-map__row--3{grid-template-columns:minmax(0,1fr)}}
.c-gd-cardrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.c-gd-voicecard{display:grid;gap:8px;padding:22px;background:var(--base-10);text-decoration:none;color:var(--text)}
.c-gd-voicecard__scene{font-size:var(--fs-12);font-weight:700;color:var(--text-mute)}
.c-gd-voicecard__who{font-weight:900}
.c-gd-voicecard__issue{font-size:var(--fs-14);color:var(--text-sub);line-height:1.8}
.c-gd-voicecard__audio{display:grid;gap:6px;margin-top:4px}
.c-gd-voicecard__audio span{display:flex;justify-content:space-between;padding:8px 12px;background:var(--base-0);font-size:var(--fs-12);color:var(--text-sub)}
.c-gd-voicecard__audio b{font-family:var(--font-en);letter-spacing:.1em}
.c-gd-voicecard__more{font-size:var(--fs-14);font-weight:700;border-bottom:1px solid var(--primary-50);justify-self:start}
.c-gd-voicecard__more::after{content:" \2192";color:var(--primary-50)}
@media (max-width:767px){.c-gd-cardrow{grid-template-columns:minmax(0,1fr)}}
.c-gd-roster{min-width:980px;font-size:var(--fs-12)}
.c-gd-roster tbody th{width:auto}
.c-gd-roster a{color:var(--text);font-weight:700;border-bottom:1px solid var(--primary-50);text-decoration:none}

/* 2026-10-15 動線：事例がまだない場面はリンクにせず「事例準備中」と出す。事例が1件の場面は事例のページへ直接つなぐ */
.is-soon{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:var(--fs-14);color:var(--text-mute)}
.is-soon small{font-size:var(--fs-12);font-weight:400;color:var(--text-mute);white-space:nowrap}
.c-scenegroup li .is-soon{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding:16px 0;border:0;font-weight:400}
.c-scenegroup li .is-soon small{grid-column:2;grid-row:1;align-self:center}
.c-scenegroup li .is-soon .c-scenegroup__name{color:var(--text-mute)}
.c-scenegroup li .is-soon .c-scenegroup__text{color:var(--text-mute)}
a.c-voice-ba--case{text-decoration:none}
.c-voice-ba__issue{font-size:var(--fs-14);color:var(--text-sub);line-height:1.8}
.c-voice-ba__more{font-size:var(--fs-14);font-weight:700;border-bottom:1px solid var(--primary-50);justify-self:start;margin-top:4px}
.c-voice-ba__more::after{content:" \2192";color:var(--primary-50)}
a.c-voice-ba--case:hover .c-voice-ba__title{color:var(--primary-50)}

/* 2026-10-15 スマホ：事例ページの表・プロフィールを縦に並べて読みやすく（永田さん「スマホだとめちゃくちゃ読みづらい」） */
@media (max-width:767px){
  .c-case-profile{padding:4px 20px}
  .c-case-profile .c-dl__row{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}
  .c-case-profile .c-dl dt,.c-case-profile dt{font-size:var(--fs-14);color:var(--text-mute)}
  .c-case-profile dd{font-size:var(--fs-16);color:var(--text);line-height:1.8}
  .c-case-detail{grid-template-columns:minmax(0,1fr);gap:2px}
  .c-case-detail dd{margin-bottom:12px}
  .c-case-week,.c-case-week tbody,.c-case-week tr,.c-case-week th,.c-case-week td{display:block;width:100%}
  .c-case-week thead{display:none}
  .c-case-week tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .c-case-week tbody th{background:transparent;padding:0 0 6px;font-size:var(--fs-14);color:var(--text-mute);border:0}
  .c-case-week tbody td{padding:0 0 8px;border:0;font-size:var(--fs-15,15px);line-height:1.8}
  .c-case-week td[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-12);font-weight:700;color:var(--text-mute);margin-bottom:2px}
  .c-case-week tbody td:nth-child(2){font-weight:400}
}
@media (max-width:767px){
  .c-table.c-case-week{min-width:0}
  .c-case-week tbody th,.c-section--gray .c-case-week tbody th{width:100%;white-space:normal;background:transparent;font-weight:900;color:var(--text);font-size:var(--fs-16)}
  .c-case-week tbody td,.c-section--gray .c-case-week tbody td{background:transparent;color:var(--text)}
  .c-section--gray .c-case-week tr{background:var(--base-0);padding:16px 18px;margin-bottom:10px;border:0}
}
/* 2026-10-15 共通サンプルの欄：文が詰まって見えたので、行の間をあけ、英文を別の行に（永田さん「バランスが悪い」） */
.c-case-try{padding:28px 32px;gap:24px 40px}
.c-case-try__body{display:grid;gap:10px;min-width:0}
.c-case-try__body .c-h4{margin:0}
.c-case-try__body .c-case-sample{margin:4px 0}
.c-case-try__body .c-note{margin:0}
@media (max-width:767px){.c-case-try{padding:22px 20px}}
/* 2026-10-15 PC：体験ボタンが右の真ん中に浮いて見えたので、説明の下に置く */
.c-case-try{grid-template-columns:minmax(0,1fr);justify-items:start;align-items:start}
/* 2026-10-15 事例ページ末尾の注意書き：縦の余白を半分に（永田さんコメント） */
.c-section--notes{padding:calc(var(--sec-y)*.3) 0}
/* 2026-10-15 体験リンクは、ボタンにせず例文のすぐ下に置く（永田さんコメント「ここの位置にリンクはおかしい」） */
.c-case-try__link{margin:0;font-size:var(--fs-14);font-weight:700}
.c-case-try__link a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--primary-50);padding-bottom:2px}
.c-case-try__link a::after{content:" \2192";color:var(--primary-50)}
/* 2026-10-15 音のつながりは「‿」の記号をやめ、青い色と下線で見せる（記号が機械文字のように崩れて見えた・永田さんコメント） */
.mk-link{color:#0d6ab7;font-weight:700;border-bottom:3px solid #0d6ab7;border-radius:0 0 10px 10px;padding:0 2px 1px}
.c-case-sample__en .mk-link{white-space:nowrap}
/* 2026-10-15 説明の文が「2か / 月目」のように途中で折り返して不自然（永田さん）→ 幅を広げ、言葉の途中で折り返さない */
#week .c-heading__lead,#voice .c-heading__lead{max-width:none}
.c-heading__lead{word-break:auto-phrase}
/* 2026-10-15 読み方の印は元の教材の見せ方に戻す：赤＝強く読む、青＝音がつながる。色は印の文字だけ、下線は細く（永田さん「全部青い・幅が広い」） */
.mk-s{color:#a82e2e;font-weight:800;border-bottom:2px solid #a82e2e}
.mk-l{color:#24577a;font-weight:800;border-bottom:2px solid #24577a}
.c-case-sample__en{letter-spacing:.015em}
/* 2026-10-15 相談の欄：見出しの行末の「。」の分だけ見出しが左に寄って見え、ボタンが右に寄って見えた → 行末の「。」を半分ぶら下げて、見た目の中心をボタンとそろえる（永田さん） */
.c-cta__title .p-end{display:inline-block;margin-right:-.5em}
/* 2026-10-15 PC確認：カリキュラムの項目名が折り返さない幅に、振り返りの文は読みやすい幅に */
.c-case-detail{grid-template-columns:8.5em minmax(0,1fr)}
#change .c-text{max-width:none}
/* 2026-10-16 スマホ：パンくずを1行に。はみ出す分は横にスクロール（永田さん「縦に詰まって見栄えが悪い」） */
@media (max-width:767px){
  .c-hero--page .c-breadcrumb{padding:12px 0 28px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .c-breadcrumb::-webkit-scrollbar{display:none}
  .c-breadcrumb ol{flex-wrap:nowrap;white-space:nowrap;width:max-content}
  .c-breadcrumb li{flex:0 0 auto}
}
/* 2026-10-16 永田さん：見出しが言葉の途中（「いけ／なかった」）で折れる・説明文が変なところで折れる・カリキュラムの行間が詰まりすぎ
   見出し：区切りのよいところ（読点・改行）でだけ折る（Safariでも効く keep-all）。収まらないときだけどこでも折る
   説明文：言葉のまとまりで折る指定（auto-phrase）をやめ、行の右端まで使う */
.c-hero__title,.c-heading__title,.c-cta__title,.c-level__title,.c-card__title,.c-voice-ba__title{word-break:keep-all;overflow-wrap:anywhere}
.c-heading__lead,.c-card__text,.c-pain__text,.c-hero__sub,.c-text,.c-text--s,.c-cta__lead,.c-level__lead,.c-case-detail dd,.c-note{word-break:normal;text-wrap:wrap}
.c-level{row-gap:20px}
.c-level__lead{margin-top:8px;line-height:1.8}
.c-case-detail{gap:10px 16px;line-height:1.8}
@media (max-width:859px){.c-case-detail{padding-top:16px;border-top:1px solid var(--line)}}
@media (max-width:767px){.c-case-detail{grid-template-columns:minmax(0,1fr);gap:4px}.c-case-detail dt{margin-top:10px}.c-case-detail dt:first-child{margin-top:0}}
#change .c-heading{margin-bottom:24px}

.u-br-sp{display:none}
@media (max-width:767px){.u-br-sp{display:inline}}
