@charset "UTF-8";
/* ============================================================
   monstyle Basic ─ アナリスト養成講座 B案（page-msb-analyst-b.php）
   置き場所: swell_child/assets/css/msb-analyst-b.css
   ※ msb-salon-b.css（B案の共通の土台：白い面・英字＋日本語の見出し・本文・
     チェックリスト・ステップ・Q&A・ボタン・追従ボタン・背景）の後に読み込み
   ・旧LP（Studio版）の「写真を全幅で敷いた帯＋白文字」をストーリーと締めに使う
   ============================================================ */

.msb-analystb{
  --anb-brown-dk:#6B4F2A;   /* 読ませたい茶色の文字（薄いゴールドの代わり） */
  --anb-goldbg:linear-gradient(140deg, #BC9762 0%, #9C7644 100%);
}
.msb-analystb :is(.anb-big, .anb-big__sub, .anb-statement, .anb-quote__txt, .anb-eq__cap, .anb-method__lead,
  .anb-value__lead, .anb-skills__ttl, .anb-skills__close, .anb-close, .anb-band__close,
  .anb-closing__text p, .anb-worries__lead, .anb-worries__txt, .anb-merit__item h3, .anb-tl__ttl, .anb-tl__lead){
  word-break:auto-phrase; text-wrap-style:balance;
}
/* チェックリストは読みやすい濃い文字色に（チェックの印はゴールドのまま） */
.msb-analystb .lgb-check li{ color:var(--lg-ink); }

/* ------------------------------------------------------------
   1. トップ画像（全幅）─ 比較用 3案（a 縦書きの大きなコピー／b 浮かぶ茶色のカード／c 丸く切り抜いた写真）
   ・スマホは旧LPと同じく、女性を大きく（頭〜腰）配置
   ------------------------------------------------------------ */
.anb-fv{
  position:relative; background:#EAE7E1; overflow-x:clip;   /* 横だけ切る（案bのカードは下にはみ出させる） */
  height:clamp(580px, calc(100svh - 90px), 1000px);
  --anb-box1:#A47C4A; --anb-box2:#B8915F;   /* 茶色のカード */
}
.anb-fv__photo{ position:absolute; inset:0; overflow:hidden; }
.anb-fv__photo img{
  width:100%; height:100%; object-fit:cover; object-position:28% 22%;
  animation:lgbFocus 3s var(--lg-ease) both;
}
/* 下端をクリームへやわらかく溶かす */
.anb-fv::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:20%; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(248,237,211,0) 0%, rgba(248,237,211,.7) 100%);
}

/* 講座名（共通の形） */
.anb-fv__ttl{
  position:relative; margin:0 !important;
  font-family:var(--msb-mincho) !important; font-weight:500 !important; line-height:1.3 !important;
}
.anb-fv__pre{ display:block; margin:0 0 .9em .15em; font-size:clamp(.82rem, 1vw, .96rem); letter-spacing:.4em; }
.anb-fv__brand{ display:block; font-weight:600; line-height:1.3; letter-spacing:.14em; }
.anb-brand sup{
  position:relative; top:-.05em; margin-left:.04em; vertical-align:super;
  font-family:var(--msb-gothic); font-weight:500; font-size:.34em; letter-spacing:0;
}
.anb-fv__main{ display:block; white-space:nowrap; letter-spacing:.12em; }
.anb-fv__field{ margin-top:1.1em !important; font-family:var(--msb-gothic); font-size:.84rem; letter-spacing:.32em; }
@keyframes anbTtl{
  from{ opacity:0; filter:blur(10px); transform:translateY(8px); }
  to{ opacity:1; filter:blur(0); transform:none; }
}

/* ---- 案a：縦書きの大きなコピー（文字で魅せる） ---- */
/* 文字側（右）をやわらかく明るく */
.is-a.anb-fv::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(252,250,246,0) 42%, rgba(252,250,246,.5) 60%, rgba(252,250,246,.66) 100%);
}
.anb-fva__catch{
  position:absolute; z-index:2; top:9%; right:5.5vw;
  writing-mode:vertical-rl; -webkit-writing-mode:vertical-rl;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.7rem, 2.55vw, 2.7rem); line-height:1.95; letter-spacing:.2em; color:var(--lg-navy);
}
.anb-fva__catch span{ display:block; animation:lgbRise 2s var(--lg-ease) both; }
.anb-fva__catch span:nth-child(1){ animation-delay:.8s; }
.anb-fva__catch span:nth-child(2){ padding-top:1.1em; animation-delay:1.15s; }
.anb-fva__catch .is-key{ padding-top:3.4em; font-size:1.18em; color:#9C7644; animation-delay:1.6s; }
.anb-fva__mark{ position:absolute; z-index:2; left:51%; bottom:9%; }
.is-a .anb-fv__ttl{ color:var(--lg-navy) !important; }
.is-a .anb-fv__pre{ color:var(--lg-brown); animation:lgbRise 1.8s var(--lg-ease) 1.9s both; }
.is-a .anb-fv__brand{ font-size:clamp(2.1rem, 3.4vw, 3.4rem); animation:anbTtl 2.4s var(--lg-ease) 2.1s both; }
:is(.is-a, .is-c) .anb-brand{
  color:#A27A47;
  background:linear-gradient(100deg, #A87D45 0%, #C9A46C 46%, #97703C 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
:is(.is-a, .is-c) .anb-brand sup{ color:#A27A47; -webkit-text-fill-color:#A27A47; }
.is-a .anb-fv__main{ font-size:clamp(2rem, 3.1vw, 3.1rem); animation:anbTtl 2.6s var(--lg-ease) 2.3s both; }
.is-a .anb-fv__field{ color:var(--lg-brown); animation:lgbRise 1.8s var(--lg-ease) 2.9s both; }

/* ---- 案b：浮かぶ茶色のカード（写真と次のセクションをまたぐ） ---- */
.is-b.anb-fv{ z-index:3; }
.is-b.anb-fv + .lgb-body{ padding-top:250px; }
.anb-fvb__card{
  position:absolute; z-index:2; bottom:-130px; right:max(5vw, calc(50% - 640px));
  width:min(46%, 560px); padding:60px 48px 54px; text-align:center; color:#fff;
  background:linear-gradient(155deg, var(--anb-box2) 0%, var(--anb-box1) 100%);
  box-shadow:0 46px 80px -46px rgba(80,52,22,.6);
  animation:anbCardIn 2s var(--lg-ease) 1s both;
}
.anb-fvb__card::before{
  content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.4); pointer-events:none;
}
/* 中の文字は、カードが出たあとに順にふわっと */
.anb-fvb__card > *{ animation:lgbRise 1.8s var(--lg-ease) both; }
.anb-fvb__card > :nth-child(1){ animation-delay:1.7s; }
.anb-fvb__card > :nth-child(2){ animation-delay:2s; }
.anb-fvb__card > :nth-child(3){ animation-delay:2.4s; }
.anb-fvb__card > :nth-child(4){ animation-delay:2.7s; }
.anb-fvb__catch{
  margin-bottom:24px !important;
  font-family:var(--msb-mincho); font-size:clamp(1rem, 1.3vw, 1.14rem); line-height:1.9; letter-spacing:.16em;
  text-shadow:0 1px 12px rgba(86,58,26,.22);
}
.is-b .anb-fv__ttl{ color:#fff !important; text-shadow:0 1px 12px rgba(86,58,26,.22); }
.is-b .anb-fv__pre{ margin-left:0; color:rgba(255,255,255,.92); }
.is-b .anb-fv__brand{ font-size:clamp(2.3rem, 3.5vw, 3.5rem); }
.is-b .anb-brand{ color:#FFF6E6; }
.is-b .anb-fv__main{ font-size:clamp(1.8rem, 2.5vw, 2.5rem); }
.is-b .anb-fv__field{ color:rgba(255,255,255,.9); }
.anb-fvb__cta{ margin-top:32px !important; }
.anb-fvb__cta .lgb-btn{ font-size:.98rem; padding:.95em .95em .95em 2.2em; gap:1.2em; text-shadow:none; }
.anb-fvb__cta .lgb-btn .arrow{ width:36px; height:36px; padding:10px; }
@keyframes anbCardIn{
  from{ opacity:0; transform:translateY(40px); }
  to{ opacity:1; transform:none; }
}

/* ---- スマホ（599px以下）：縦長の写真で女性を大きく ---- */
@media (max-width:599px){
  .anb-fv{ height:min(140vw, calc(100svh - 90px), 1100px); }
  .anb-fv__photo img{ object-position:50% 0; }

  /* a：縦書きは右上の壁に、講座名は下に中央揃え */
  .is-a.anb-fv::before{ background:linear-gradient(180deg, rgba(252,250,246,.3) 0%, rgba(252,250,246,0) 26%); }
  .is-a.anb-fv::after{ height:46%; background:linear-gradient(180deg, rgba(248,237,211,0) 0%, rgba(248,237,211,.74) 42%, rgba(248,237,211,.94) 100%); }
  .anb-fva__catch{ top:3.5%; right:5%; font-size:clamp(1.15rem, 4.6vw, 1.9rem); line-height:1.85; }
  .anb-fva__catch .is-key{ padding-top:2.6em; }
  .anb-fva__mark{ left:0; right:0; bottom:5.5%; text-align:center; }
  .is-a .anb-fv__pre{ margin:0 0 .8em; letter-spacing:.3em; }
  .is-a .anb-fv__brand{ font-size:clamp(1.8rem, 6.4vw, 3rem); }
  .is-a .anb-fv__main{ font-size:clamp(1.75rem, 6vw, 2.9rem); }
  .is-a .anb-fv__field{ margin:.8em 0 0 !important; }

  /* b：カードは写真の下側にかかり、次のセクションへはみ出す */
  .anb-fvb__card{ left:6%; right:6%; width:auto; bottom:-160px; padding:36px 26px 32px; }
  .anb-fvb__card::before{ inset:9px; }
  .is-b.anb-fv + .lgb-body{ padding-top:230px; }
}

@media (max-width:599px){
  .anb-fv{ height:min(178vw, calc(100svh - 64px), 820px); min-height:520px; }
  .anb-fv__pre{ font-size:.74rem; }
  .anb-fv__field{ font-size:.7rem; letter-spacing:.2em; }

  .is-b .anb-fv__pre{ margin-bottom:.7em; letter-spacing:.28em; }
  .is-b .anb-fv__brand{ font-size:clamp(1.75rem, 7.6vw, 2.2rem); letter-spacing:.12em; }
  .is-b .anb-fv__main{ font-size:clamp(1.45rem, 6.4vw, 1.9rem); letter-spacing:.1em; }
  .is-b .anb-fv__field{ margin-top:.9em !important; }
  .anb-fvb__catch{ margin-bottom:16px !important; font-size:.88rem; letter-spacing:.08em; }
  .anb-fvb__cta{ margin-top:22px !important; }
  .anb-fvb__cta .lgb-btn{ font-size:.9rem; padding:.8em .8em .8em 1.8em; gap:.9em; }
  .anb-fvb__cta .lgb-btn .arrow{ width:32px; height:32px; padding:8px; }
}

/* ---- 案c：丸く切り抜いた写真＋はみ出す講座名（円に沿った英字・細い軌道の線） ---- */
.is-c.anb-fv{
  overflow:hidden;
  background:
    radial-gradient(ellipse 55% 65% at 68% 42%, rgba(255,253,249,.95) 0%, rgba(255,253,249,0) 72%),
    linear-gradient(180deg, #FBF5EA 0%, var(--lg-cream) 100%);
}
.is-c.anb-fv::after{ display:none; }
.anb-fvc__stage{
  position:absolute; z-index:1; right:5vw; top:8%;
  width:min(64vw, 1000px); aspect-ratio:1 / 1;
}
.anb-fvc__circle{
  position:absolute; inset:0; margin:0 !important; border-radius:50%; overflow:hidden;
  box-shadow:0 50px 90px -60px rgba(120,90,50,.5);
  animation:anbCircle 2.4s var(--lg-ease) .2s both;
}
.msb-salonb .anb-fvc__circle img{ width:100%; height:100%; object-fit:cover; animation:lgbFocus 3s var(--lg-ease) both; }
@keyframes anbCircle{
  from{ opacity:0; clip-path:circle(20% at 50% 50%); }
  to{ opacity:1; clip-path:circle(50% at 50% 50%); }
}
/* 円に沿った英字（左上から上へ） */
.anb-fvc__arc{
  position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none;
  transform-origin:50% 50%; animation:anbArcIn 2.6s var(--lg-ease) 1.3s both;
}
.anb-fvc__arc text{
  font-family:var(--lg-display); font-style:italic; font-size:2.7px; letter-spacing:.08em; fill:#AE8455;
}
@keyframes anbArcIn{
  from{ opacity:0; transform:rotate(-12deg); }
  to{ opacity:1; transform:none; }
}
/* 円の後ろを通る細い軌道の線 */
.anb-fvc__orbit{
  position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none;
}
.anb-fvc__orbit ellipse{
  fill:none; stroke:rgba(162,122,71,.55); stroke-width:.18;
  stroke-dasharray:1; stroke-dashoffset:1; animation:anbDraw 3s var(--lg-ease) 1s forwards;
}
@keyframes anbDraw{ to{ stroke-dashoffset:0; } }

/* コピーと講座名：写真の左下にかかり、外へはみ出す */
.anb-fvc__copy{ position:absolute; z-index:3; left:9vw; bottom:12%; }
.anb-fvc__catch{
  margin-bottom:30px !important;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.15rem, 1.6vw, 1.55rem); line-height:2; letter-spacing:.18em; color:var(--lg-navy);
  text-shadow:0 0 16px rgba(255,253,249,.9), 0 0 4px rgba(255,253,249,.8);
  animation:lgbRise 1.9s var(--lg-ease) 1.5s both;
}
.is-c .anb-fv__ttl{ color:var(--lg-navy) !important; text-shadow:0 0 16px rgba(255,253,249,.9), 0 0 4px rgba(255,253,249,.8); }
.is-c .anb-fv__pre{ color:var(--lg-brown); animation:lgbRise 1.8s var(--lg-ease) 1.9s both; }
.is-c .anb-fv__brand{ font-size:clamp(2.6rem, 4.4vw, 4.4rem); line-height:1.2; animation:anbTtl 2.4s var(--lg-ease) 2.1s both; }
.is-c .anb-brand{ text-shadow:none; }
.is-c .anb-fv__main{ font-size:clamp(2.1rem, 3.6vw, 3.6rem); animation:anbTtl 2.6s var(--lg-ease) 2.3s both; }
.is-c .anb-fv__field{ color:var(--lg-brown); animation:lgbRise 1.8s var(--lg-ease) 2.9s both; }

/* スマホ（599px以下）：大きな円が右へはみ出し、講座名は円の下側にかかる */
@media (max-width:599px){
  .is-c.anb-fv{ height:auto; min-height:0; padding-bottom:13vw; }
  .anb-fvc__stage{ top:14vw; right:auto; left:-3vw; width:118vw; }
  /* 女性を大きめに（円の中で少し拡大） */
  .msb-salonb .anb-fvc__circle img{ width:124%; height:124%; max-width:none; margin:-3% 0 0 -6%; }
  .anb-fvc__arc{ rotate:12deg; }   /* 英字を画面の内側へ */
  .anb-fvc__arc text{ font-size:3.2px; }
  .anb-fvc__copy{ position:relative; left:auto; bottom:auto; padding:111vw 5vw 0 6vw; }
  .anb-fvc__catch{ margin-bottom:6vw !important; font-size:clamp(1.1rem, 4.9vw, 1.7rem); letter-spacing:.1em; line-height:1.9; }
  .is-c .anb-fv__pre{ margin:0 0 .6em; letter-spacing:.3em; }
  .is-c .anb-fv__brand{ font-size:clamp(2.2rem, 10.4vw, 3.8rem); }
  .is-c .anb-fv__main{ font-size:clamp(1.85rem, 8.2vw, 3.1rem); letter-spacing:.1em; }
  .is-c .anb-fv__field{ margin-top:.9em !important; }
}

/* ---- トップ画像：タブレット・小さめの画面（600〜1080px）はPCと同じ横長の構成。
   縦長の画面でも人物が大きくなりすぎないよう、高さは画面幅の約8割まで ---- */
@media (min-width:600px) and (max-width:959px){
  .anb-fv{ height:clamp(480px, min(calc(100svh - 64px), 80vw), 860px); }
}
@media (min-width:960px) and (max-width:1080px){
  .anb-fv{ height:clamp(480px, min(calc(100svh - 90px), 80vw), 900px); }
}
@media (min-width:600px) and (max-width:1080px){
  .anb-fv__field{ font-size:.76rem; letter-spacing:.24em; }

  /* a：縦書きと講座名を画面幅に合わせて小さめに（講座名がはみ出さず、縦書きと重ならないように） */
  .anb-fva__catch{ top:8%; right:5vw; font-size:clamp(1.15rem, 2.9vw, 2.4rem); }
  .anb-fva__mark{ left:46%; bottom:8%; }
  .is-a .anb-fv__brand{ font-size:clamp(1.6rem, 3.6vw, 2.8rem); }
  .is-a .anb-fv__main{ font-size:clamp(1.45rem, 3.3vw, 2.6rem); }

  /* b：カードを少し広く、文字を一段小さく（ボタンや講座名が途中で折り返さないように） */
  .anb-fvb__card{ right:5vw; bottom:-120px; width:min(max(56%, 340px), 520px); padding:40px 28px 36px; }
  .anb-fvb__card::before{ inset:10px; }
  .anb-fvb__catch{ margin-bottom:18px !important; font-size:clamp(.86rem, 1.5vw, 1.05rem); letter-spacing:.1em; }
  .is-b .anb-fv__pre{ margin-bottom:.7em; font-size:.76rem; letter-spacing:.3em; }
  .is-b .anb-fv__brand{ font-size:clamp(1.8rem, 4vw, 2.8rem); }
  .is-b .anb-fv__main{ font-size:clamp(1.45rem, 3vw, 2.1rem); letter-spacing:.1em; }
  .anb-fvb__cta{ margin-top:24px !important; }
  .anb-fvb__cta .lgb-btn{ font-size:.92rem; padding:.8em .8em .8em 1.9em; gap:1em; white-space:nowrap; }
  .anb-fvb__cta .lgb-btn .arrow{ width:32px; height:32px; padding:8px; }
  .is-b.anb-fv + .lgb-body{ padding-top:220px; }

  /* c：円は画面の高さに収まる大きさで右に（上下中央）。キャッチは2行にして、講座名が円の左下にかかる */
  .anb-fvc__stage{ top:0; bottom:0; right:5vw; margin:auto 0 !important; width:auto; height:min(86%, 60vw); }
  .anb-fvc__copy{ left:7vw; bottom:11%; }
  .anb-fvc__catch{ max-width:16em; margin-bottom:22px !important; font-size:clamp(.95rem, 1.9vw, 1.35rem); line-height:1.9; }
  .is-c .anb-fv__brand{ font-size:clamp(2rem, 4.6vw, 3.6rem); }
  .is-c .anb-fv__main{ font-size:clamp(1.6rem, 3.5vw, 2.8rem); }
}

/* ------------------------------------------------------------
   2. 写真の帯（ストーリー・締め）
   ------------------------------------------------------------ */
.anb-band{
  position:relative; z-index:0; overflow:hidden; margin:0 0 96px; padding:150px 6% 156px;
  color:#fff;
  /* 上下の端をクリームの地へやわらかく溶かす */
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
          mask-image:linear-gradient(180deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.msb-salonb .anb-band__bg{
  position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover;
}
.anb-band::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(88,60,34,.34) 0%, rgba(88,60,34,0) 100%),
    rgba(112,82,52,.3);
}
.anb-band__in{ display:flex; flex-direction:column; max-width:640px; margin:0 auto; text-shadow:0 1px 14px rgba(70,46,24,.35); }
.anb-band__text p{
  font-family:var(--msb-gothic); font-size:1.0625rem; line-height:2.3; letter-spacing:.08em; color:rgba(255,255,255,.95);
}
.anb-band__text p + p{ margin-top:1.6em; }
.anb-band__close{
  margin-top:64px !important;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.25rem, 2vw, 1.6rem); line-height:2; letter-spacing:.14em;
}

/* ------------------------------------------------------------
   3. こんな悩みに（＋ストーリーの書き出し）
   ------------------------------------------------------------ */
.anb-big{
  text-align:center;
  font-family:var(--msb-mincho) !important; font-weight:500 !important;
  font-size:clamp(1.5rem, 2.4vw, 2.1rem) !important; line-height:1.7 !important;
  letter-spacing:.14em; color:var(--lg-navy) !important;
}
.anb-big__sub{
  margin-top:22px !important; text-align:center;
  font-family:var(--msb-mincho); font-weight:500; font-size:clamp(1rem, 1.35vw, 1.1rem); line-height:2.1; letter-spacing:.16em;
  color:var(--anb-brown-dk);
}
.anb-worries__photo{ max-width:780px; margin:60px auto 60px !important; aspect-ratio:980 / 570; }
.anb-worries__photo img{ height:100%; object-fit:cover; }
.anb-worries__q{
  text-align:center; font-family:var(--msb-mincho); font-weight:500;
  font-size:1.12rem; letter-spacing:.16em; color:var(--anb-brown-dk);
}
.anb-worries__list{ max-width:520px; margin-left:auto !important; margin-right:auto !important; }
.anb-worries__story{
  max-width:720px; margin:76px auto 0; padding-top:68px; border-top:1px solid var(--lg-line); text-align:center;
}
.anb-worries__lead{
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.2rem, 1.9vw, 1.45rem); line-height:1.9; letter-spacing:.12em; color:var(--lg-navy);
}
.anb-worries__txt{
  margin-top:26px !important;
  font-family:var(--msb-gothic); font-size:1.02rem; line-height:2.15; letter-spacing:.06em; color:var(--lg-ink);
}

/* ------------------------------------------------------------
   4. メリット
   ------------------------------------------------------------ */
.anb-merit__grid{
  display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:60px; align-items:center;
}
.anb-merit__photo{ aspect-ratio:4 / 5; }
.anb-merit__photo img{ height:100%; object-fit:cover; object-position:40% 50%; }
.anb-merit__item{
  display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start;
  padding:30px 0; border-top:1px solid var(--lg-line);
}
.anb-merit__item:last-child{ border-bottom:1px solid var(--lg-line); }
.anb-merit__no{
  font-variant-numeric:lining-nums; font-family:var(--lg-display); font-weight:400;
  font-size:2.2rem; line-height:1; letter-spacing:.02em; color:#A88050;
}
.anb-merit__item h3{
  font-family:var(--msb-mincho) !important; font-weight:500 !important;
  font-size:1.2rem !important; line-height:1.75 !important; letter-spacing:.1em; color:var(--anb-brown-dk) !important;
}
.anb-merit__item p:not(.anb-merit__no) .mc{ display:inline; }
.anb-merit__item p:not(.anb-merit__no){
  margin-top:.8em !important;
  font-family:var(--msb-gothic); font-size:.98rem; line-height:2.05; letter-spacing:.05em; color:var(--lg-ink);
}

.anb-statement{
  margin:112px 0 48px !important; text-align:center;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.3rem, 2.3vw, 1.8rem); line-height:1.95; letter-spacing:.12em; color:var(--lg-ink);
}
.anb-statement em{
  font-style:normal; color:var(--anb-brown-dk);
  background:linear-gradient(transparent 64%, rgba(214,183,128,.38) 64%);
}

/* 比較表：見出し行は色で分け、文字ははっきり読める濃さに */
.anb-compare{ max-width:880px; margin:0 auto; border:1px solid #E2D5BD; border-radius:8px; overflow:hidden; }
.anb-compare table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.anb-compare th{
  padding:16px 24px; text-align:center; vertical-align:middle;
  font-family:var(--msb-mincho); font-weight:600; font-size:1.04rem; letter-spacing:.1em; line-height:1.6;
}
.anb-compare th:first-child{ width:42%; background:#E9E1D3; color:#544B42; }
.anb-compare th:last-child{ background:var(--lg-navy); color:#fff; }
.anb-compare td{
  padding:18px 24px; border-top:1px solid #E6DBC8; vertical-align:middle;
  font-family:var(--msb-gothic); font-size:1rem; line-height:1.8; letter-spacing:.04em;
}
.anb-compare td:first-child{ background:#F7F2EA; color:#544B42; border-right:1px solid #E6DBC8; }
.anb-compare td:last-child{ background:#fff; color:var(--lg-ink); font-weight:500; }

/* 締めの言葉＋写真 */
.anb-quote{
  display:flex; align-items:center; justify-content:center; gap:36px; margin-top:84px;
}
.anb-quote__photo{
  flex:0 0 132px; width:132px; aspect-ratio:1 / 1; border-radius:50%; overflow:hidden;
  box-shadow:0 0 0 6px var(--lg-paper), 0 0 0 7px rgba(162,122,71,.45);
}
.anb-quote__photo img{ height:100%; object-fit:cover; }
.anb-quote__txt{
  max-width:470px;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.1rem, 1.8vw, 1.35rem); line-height:2; letter-spacing:.1em; color:var(--anb-brown-dk);
}

/* ------------------------------------------------------------
   5. What（軸色メソッド）
   ------------------------------------------------------------ */
.anb-method__lead{
  text-align:center; font-family:var(--msb-mincho);
  font-size:clamp(1rem, 1.5vw, 1.12rem); line-height:2.15; letter-spacing:.1em; color:var(--lg-ink);
}
.anb-eq{ display:flex; justify-content:center; align-items:center; gap:0 14px; margin:60px 0 30px; }
.anb-eq__c{
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:118px; height:118px; border-radius:50%; box-sizing:border-box;
  font-family:var(--msb-mincho); font-weight:600; font-size:1.12rem; letter-spacing:.1em; color:#fff;
  background:var(--anb-goldbg); border:1px solid rgba(255,255,255,.45);
  box-shadow:0 0 0 5px var(--lg-paper), 0 0 0 6px #B48D58;
}
.anb-eq i{ font-style:normal; font-family:var(--lg-display); font-size:1.4rem; color:#A27A47; }
.anb-eq__cap{
  margin-bottom:76px !important; text-align:center;
  font-family:var(--msb-mincho); font-weight:600;
  font-size:clamp(1.45rem, 2.5vw, 2rem); line-height:1.8; letter-spacing:.16em; color:#9C7644;
}
.msb-analystb .anb-method__key{ color:var(--lg-navy); }
.anb-close{
  margin-top:52px !important; text-align:center;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.1rem, 1.7vw, 1.28rem); line-height:2; letter-spacing:.12em; color:var(--anb-brown-dk);
}

/* ------------------------------------------------------------
   6. お客様への提供価値
   ------------------------------------------------------------ */
.anb-value__grid{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:60px; align-items:center;
}
.anb-value__lead{
  margin-bottom:10px !important;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.2rem, 1.9vw, 1.42rem); line-height:1.9; letter-spacing:.12em; color:var(--anb-brown-dk);
}
.anb-value__photo{ aspect-ratio:460 / 408; }
.anb-value__photo img{ height:100%; object-fit:cover; }

/* ビフォーアフター：PCでも K様 → O様 の順に縦積み */
.anb-ba{
  display:grid; grid-template-columns:minmax(0,1fr); gap:64px; max-width:620px;
  margin:96px auto 0; padding-top:76px; border-top:1px solid var(--lg-line);
}
.anb-ba__name{
  margin-bottom:24px !important; text-align:center;
  font-family:var(--msb-mincho); font-weight:500; font-size:1.15rem; letter-spacing:.24em; color:var(--lg-navy);
}
.anb-ba__pics{ display:grid; grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr); align-items:center; }
.anb-ba__pics img{ aspect-ratio:250 / 358; object-fit:cover; border-radius:4px; }
.anb-ba__pics figcaption{
  margin-top:12px; text-align:center;
  font-family:var(--lg-display); font-style:italic; font-size:1.08rem; letter-spacing:.1em; color:#857A6F;
}
.anb-ba__pics figure:last-child figcaption{ color:var(--lg-navy); }
.anb-ba__arrow{ position:relative; justify-self:center; width:26px; height:1px; margin-bottom:36px; background:var(--lg-gold); }
.anb-ba__arrow::after{
  content:""; position:absolute; right:0; top:-3px; width:7px; height:7px;
  border-top:1px solid var(--lg-gold); border-right:1px solid var(--lg-gold); transform:rotate(45deg);
}

/* ------------------------------------------------------------
   7. カリキュラム：左に時系列の縦線＋dayごとのボックス
   ------------------------------------------------------------ */
.anb-tl{ position:relative; list-style:none; margin:0 !important; padding:0; }
.anb-tl::before{
  content:""; position:absolute; left:47px; top:-28px; bottom:-28px; width:1px; background:rgba(162,122,71,.5);
}
.anb-tl__item{
  position:relative; display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:28px; align-items:start;
}
.anb-tl__item + .anb-tl__item{ margin-top:40px; }
.anb-tl__mark{
  position:relative; z-index:1; justify-self:center; width:96px; margin-top:30px !important; padding:11px 0 10px;
  text-align:center; line-height:1; background:var(--lg-paper); border:1px solid rgba(162,122,71,.55); border-radius:4px;
  font-family:var(--lg-display); color:var(--lg-navy);
}
.anb-tl__mark small{ display:block; font-size:.78rem; letter-spacing:.18em; }
.anb-tl__mark b{ display:block; margin-top:4px; font-variant-numeric:lining-nums; font-weight:400; font-size:2rem; }

.anb-tl__box{
  display:grid; grid-template-columns:200px minmax(0,1fr); column-gap:32px; align-items:start;
  padding:32px 36px; border-radius:10px;
  background:rgba(255,255,255,.72); border:1px solid rgba(206,182,140,.42);
}
.anb-tl__photo{ grid-column:1; grid-row:1; aspect-ratio:5 / 4; border-radius:4px; }
.anb-tl__photo img{ height:100%; object-fit:cover; }
.anb-tl__body{ grid-column:2; grid-row:1; }
.anb-tl__tag{
  display:inline-block; margin-bottom:10px !important; padding:.25em 1em; border:1px solid rgba(162,122,71,.5); border-radius:999px;
  font-family:var(--msb-gothic); font-size:.72rem; letter-spacing:.14em; color:var(--anb-brown-dk);
}
.anb-tl__ttl{
  font-family:var(--msb-mincho) !important; font-weight:500 !important;
  font-size:1.32rem !important; line-height:1.6 !important; letter-spacing:.08em; color:var(--lg-ink) !important;
}
.anb-tl__sub{
  margin-top:.25em !important;
  font-family:var(--msb-mincho); font-weight:500; font-size:.95rem; line-height:1.7; letter-spacing:.1em; color:#9C7644;
}
.anb-tl__lead{
  margin-top:16px !important; padding-top:16px; border-top:1px solid var(--lg-line);
  font-family:var(--msb-gothic); font-weight:500; font-size:.96rem; line-height:1.85; letter-spacing:.04em; color:var(--lg-ink);
}
.anb-tl__items{ list-style:none; margin-top:8px !important; }
.anb-tl__items li, .anb-tl__pointTxt, .anb-tl__lead{ word-break:auto-phrase; }
.anb-tl__items li{
  position:relative; padding:.2em 0 .2em 1.2em;
  font-family:var(--msb-gothic); font-size:.93rem; line-height:1.85; letter-spacing:.03em; color:var(--lg-ink);
}
.anb-tl__items li::before{
  content:""; position:absolute; left:.2em; top:1.05em; width:4px; height:4px; border-radius:50%; background:#B48D58;
}
.anb-tl__items li small{ display:block; font-size:.86em; color:#7E746A; }
.anb-tl__point{
  grid-column:1 / -1; grid-row:2; display:flex; align-items:baseline; gap:18px;
  margin-top:24px !important; padding:16px 22px; border-radius:6px; background:rgba(187,141,94,.1);
}
.anb-tl__pointLbl{
  flex:0 0 auto; font-family:var(--lg-display); font-style:italic; font-size:1rem; letter-spacing:.06em; color:#9C7644;
}
.anb-tl__pointTxt{
  font-family:var(--msb-mincho); font-weight:500; font-size:.98rem; line-height:1.9; letter-spacing:.05em; color:var(--lg-ink);
}

.anb-skills{ margin-top:112px; text-align:center; }
.anb-skills__ttl{
  font-family:var(--msb-mincho) !important; font-weight:500 !important;
  font-size:clamp(1.4rem, 2.4vw, 1.8rem) !important; line-height:1.7 !important; letter-spacing:.14em; color:var(--lg-navy) !important;
}
.anb-skills__list{ max-width:480px; margin:36px auto 0 !important; text-align:left; }
.anb-skills__list b{ font-family:var(--msb-mincho); font-weight:600; color:var(--lg-navy); white-space:nowrap; }
.anb-skills__close{
  margin-top:52px !important;
  font-family:var(--msb-mincho); font-weight:500;
  font-size:clamp(1.1rem, 1.7vw, 1.28rem); line-height:2; letter-spacing:.12em; color:var(--lg-navy);
}

/* ------------------------------------------------------------
   8. 講師紹介：見出しを上に、写真の横に名前（PCは名前が先）
   ------------------------------------------------------------ */
.anb-pf__top{
  display:grid; grid-template-columns:240px auto; gap:52px; align-items:center; justify-content:center;
  margin-bottom:60px;
}
.anb-pf__top .lgb-pf__photo{ width:240px; }
.anb-pf__name{ display:flex; flex-direction:column; }
.anb-pf__name .lgb-pf__jp{ margin:0 0 .75em !important; }
.anb-pf__name .lgb-pf__role{ line-height:2; }
.anb-pf .anb-pf__close{ color:var(--lg-ink); }

/* ------------------------------------------------------------
   9. お申込みの流れ（3ステップ）
   ------------------------------------------------------------ */
.anb-steps{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; max-width:780px; margin:0 auto !important; }
.anb-steps .lgb-step:nth-child(3){ border-left:1px solid var(--lg-line); }
.anb-steps .lgb-step__ico{ margin-bottom:14px; }
.anb-flow__text{ margin-top:64px; text-align:center; }

/* ------------------------------------------------------------
   10. 開催日程・無料説明会
   ------------------------------------------------------------ */
.anb-sched__term{
  display:flex; align-items:center; justify-content:center; gap:22px; margin-bottom:30px !important;
  font-family:var(--msb-mincho); font-weight:500; font-size:1.5rem; letter-spacing:.2em; color:var(--lg-navy);
}
.anb-sched__term::before,
.anb-sched__term::after{ content:""; width:40px; height:1px; background:var(--lg-gold); }
.anb-sched__list{ list-style:none; border-top:1px solid var(--lg-line); }
.anb-sched__list li{
  display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:4px 24px; align-items:baseline;
  padding:20px 4px; border-bottom:1px solid var(--lg-line);
}
.anb-sched__day{
  font-variant-numeric:lining-nums; font-family:var(--lg-display); font-size:.9rem; letter-spacing:.12em; color:var(--lg-navy);
}
.anb-sched__day b{ margin-left:.25em; font-weight:400; font-size:1.8rem; letter-spacing:0; }
.anb-sched__topic{
  font-family:var(--msb-mincho); font-weight:500; font-size:1.02rem; letter-spacing:.08em; color:var(--lg-ink);
}
.anb-sched__topic.is-online{ color:var(--lg-brown); }
.anb-sched__topic small{
  margin-left:.9em; font-family:var(--msb-gothic); font-weight:400; font-size:.78rem; letter-spacing:.06em; color:#978B80; white-space:nowrap;
}
.anb-sched__date{
  font-variant-numeric:lining-nums; text-align:right;
  font-family:var(--msb-gothic); font-size:.95rem; letter-spacing:.06em; color:var(--lg-ink); white-space:nowrap;
}
.anb-sched__date small{ margin-left:1em; font-size:.92em; color:#8C8279; }

.anb-orient .lgb-center{ margin-top:48px; }

/* ------------------------------------------------------------
   11. 締め（写真の帯）：PCは左揃えで中央より少し左に。下のフェードなし
   ------------------------------------------------------------ */
.anb-closing{
  margin-bottom:0; padding:170px 6% 180px; text-align:left;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 64px, #000 100%);
          mask-image:linear-gradient(180deg, transparent 0, #000 64px, #000 100%);
}
.anb-closing .anb-band__in{ max-width:620px; margin:0 auto 0 max(0px, calc(50% - 420px)); }
.anb-closing__text p{
  font-family:var(--msb-mincho); font-weight:400;
  font-size:clamp(1rem, 1.5vw, 1.12rem); line-height:2.3; letter-spacing:.14em;
}
.anb-closing__text p + p{ margin-top:2.2em; }
.anb-closing__text b{ font-weight:600; color:#F8E7C4; }
.anb-closing .anb-band__close{
  margin:64px 0 52px !important;
  font-size:clamp(1.1rem, 1.6vw, 1.32rem); line-height:2.1; letter-spacing:.12em;
}

/* ------------------------------------------------------------
   12. レスポンシブ
   ------------------------------------------------------------ */
@media (max-width:1180px){
  .anb-tl__box{ grid-template-columns:170px minmax(0,1fr); column-gap:26px; padding:28px 28px; }
}
@media (max-width:959px){
  .anb-merit__grid, .anb-value__grid{ gap:40px; }
  .anb-tl::before{ left:35px; }
  .anb-tl__item{ grid-template-columns:72px minmax(0,1fr); column-gap:20px; }
  .anb-tl__mark{ width:72px; }
  .anb-tl__box{ grid-template-columns:minmax(0,1fr); }
  .anb-tl__photo{ grid-row:1; aspect-ratio:16 / 9; margin-bottom:20px !important; }
  .anb-tl__body{ grid-column:1; grid-row:2; }
  .anb-tl__point{ grid-row:3; }
}

@media (max-width:767px){
  .anb-band{
    margin-bottom:56px; padding:110px 7% 116px;
    -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 44px), transparent 100%);
            mask-image:linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 44px), transparent 100%);
  }
  .anb-band__text p{ font-size:.95rem; line-height:2.15; letter-spacing:.04em; }
  .anb-band__close{ margin-top:44px !important; font-size:1.14rem; letter-spacing:.08em; }
  /* スマホは旧LPと同じく「選ばれ続けるために…」を帯のいちばん上に */
  .anb-story .anb-band__close{ order:-1; margin:0 0 40px !important; text-align:center; }

  /* 「色を深めると、コンサルは変わる。」は1行で */
  .anb-big{ font-size:4.55vw !important; letter-spacing:.04em; white-space:nowrap; }
  .anb-big .mc{ display:inline; }
  .anb-big__sub{ margin-top:14px !important; font-size:.92rem; letter-spacing:.06em; }
  .anb-worries__photo{ margin:40px -22px 40px !important; max-width:none; aspect-ratio:4 / 3; }
  .anb-worries__q{ font-size:1.02rem; }
  .anb-worries__story{ margin-top:52px; padding-top:48px; }
  .anb-worries__lead{ font-size:1.12rem; letter-spacing:.06em; }
  .anb-worries__txt{ margin-top:20px !important; font-size:.92rem; line-height:2.05; letter-spacing:.03em; }

  .anb-merit__grid, .anb-value__grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .anb-merit__photo{ aspect-ratio:4 / 3; margin:0 -22px !important; }
  /* メリットはスマホでは中央揃え */
  .anb-merit__item{ display:block; padding:28px 0; text-align:center; }
  .anb-merit__no{ font-size:1.9rem; margin-bottom:10px !important; }
  .anb-merit__item h3{ font-size:1.08rem !important; letter-spacing:.06em; }
  .anb-merit__item p:not(.anb-merit__no){ font-size:.92rem; line-height:1.95; letter-spacing:.03em; }
  .anb-merit__item p:not(.anb-merit__no) .mc{ display:inline-block; }
  .anb-statement{ margin:72px 0 32px !important; font-size:1.18rem; letter-spacing:.06em; }

  /* 比較表：スマホも表のまま、文字を小さく */
  .anb-compare th{ padding:11px 8px; font-size:.82rem; letter-spacing:.04em; line-height:1.5; }
  .anb-compare th:first-child{ width:44%; }
  .anb-compare td{ padding:12px 10px; font-size:.78rem; line-height:1.7; letter-spacing:0; }
  .anb-quote{ flex-direction:column; gap:22px; margin-top:60px; }
  .anb-quote__photo{ flex:0 0 auto; width:112px; }
  .anb-quote__txt{ text-align:center; font-size:1.04rem; letter-spacing:.05em; }

  .anb-method__lead{ font-size:.96rem; letter-spacing:.04em; }
  .anb-eq{ margin:44px -8px 22px; gap:0 4px; }
  .anb-eq__c{ width:62px; height:62px; font-size:.76rem; letter-spacing:.02em; box-shadow:0 0 0 3px var(--lg-paper), 0 0 0 4px #B48D58; }
  .anb-eq i{ font-size:.9rem; }
  .anb-eq__cap{ margin-bottom:56px !important; font-size:1.3rem; letter-spacing:.1em; }
  .anb-close{ margin-top:40px !important; font-size:1.06rem; letter-spacing:.06em; }

  .anb-value__lead{ font-size:1.12rem; letter-spacing:.06em; text-align:center; }
  .anb-value__photo{ max-width:360px; width:100%; margin:0 auto !important; }
  .anb-ba{ gap:52px; margin-top:64px; padding-top:56px; }
  .anb-ba__pics{ grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); }

  /* カリキュラム：縦線と Day を細く、ボックスを広く */
  .anb-cu.lgb-panel{ padding-left:14px; padding-right:14px; }
  .anb-tl::before{ left:20px; top:-20px; bottom:-20px; }
  .anb-tl__item{ grid-template-columns:40px minmax(0,1fr); column-gap:10px; }
  .anb-tl__item + .anb-tl__item{ margin-top:28px; }
  .anb-tl__mark{ width:40px; margin-top:18px !important; padding:7px 0 6px; }
  .anb-tl__mark small{ font-size:.56rem; letter-spacing:.08em; }
  .anb-tl__mark b{ margin-top:2px; font-size:1.3rem; }
  .anb-tl__box{ padding:16px 16px 18px; }
  .anb-tl__photo{ aspect-ratio:16 / 10; margin-bottom:16px !important; }
  .anb-tl__ttl{ font-size:1.16rem !important; letter-spacing:.05em; }
  .anb-tl__sub{ font-size:.86rem; letter-spacing:.06em; }
  .anb-tl__lead{ margin-top:12px !important; padding-top:12px; font-size:.9rem; }
  .anb-tl__items li{ font-size:.88rem; }
  .anb-tl__point{ flex-direction:column; gap:4px; margin-top:18px !important; padding:12px 14px; }
  .anb-tl__pointTxt{ font-size:.9rem; letter-spacing:.02em; }
  .anb-skills{ margin-top:80px; padding:0 8px; }
  .anb-skills__ttl{ font-size:1.3rem !important; letter-spacing:.08em; }
  .anb-skills__close{ font-size:1.06rem; letter-spacing:.06em; }

  /* 講師紹介：写真 → 肩書き → 名前 の順（スマホ） */
  .anb-pf__top{ grid-template-columns:minmax(0,1fr); gap:28px; justify-items:center; text-align:center; margin-bottom:40px; }
  .anb-pf__top .lgb-pf__photo{ width:220px; }
  .anb-pf__name .lgb-pf__jp{ order:2; margin:.6em 0 0 !important; }
  .anb-pf__name .lgb-pf__role{ font-size:.94rem; letter-spacing:.08em; }

  .anb-steps{ grid-template-columns:minmax(0,1fr) !important; }
  .anb-steps .lgb-step{ grid-template-columns:64px 44px minmax(0,1fr); column-gap:14px; align-items:center; }
  .anb-steps .lgb-step__no{ grid-column:1; grid-row:1; }
  .anb-steps .lgb-step__ico{ grid-column:2; grid-row:1; width:40px; height:40px; margin:0; }
  .anb-steps .lgb-step__ttl{ grid-column:3; grid-row:1; }
  .anb-steps .lgb-step:nth-child(3){ border-left:0; }
  .anb-flow__text{ margin-top:44px; text-align:left; }

  .anb-sched__term{ font-size:1.3rem; }
  .anb-sched__list li{ grid-template-columns:62px minmax(0,1fr); gap:6px 14px; padding:18px 2px; }
  .anb-sched__day b{ font-size:1.6rem; }
  .anb-sched__topic small{ display:block; margin:.2em 0 0; }
  .anb-sched__date{ grid-column:2; text-align:left; font-size:.9rem; }
  .anb-orient .lgb-center{ margin-top:36px; }

  /* 締め：スマホは中央揃えのまま */
  .anb-closing{
    margin-bottom:0; padding:120px 7% 130px; text-align:center;
    -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 44px, #000 100%);
            mask-image:linear-gradient(180deg, transparent 0, #000 44px, #000 100%);
  }
  .anb-closing .anb-band__in{ margin:0 auto; }
  .anb-closing__text p{ font-size:.96rem; line-height:2.15; letter-spacing:.06em; }
  .anb-closing .anb-band__close{ margin:48px 0 40px !important; font-size:1.02rem; letter-spacing:.06em; }
}

@media (prefers-reduced-motion:reduce){
  .anb-fv__photo img, .anb-fva__catch span, .anb-fvb__card, .anb-fvb__card > *,
  .anb-fvc__circle, .anb-fvc__circle img, .anb-fvc__arc, .anb-fvc__catch,
  .anb-fv__pre, .anb-fv__brand, .anb-fv__main, .anb-fv__field{ animation:none !important; }
  .anb-fvc__orbit ellipse{ animation:none !important; stroke-dashoffset:0; }
}

/* ------------------------------------------------------------
   13. 開催日程：募集中の期を並べて表示（2026.10 修正：5期満席 → 6期・7期を募集）
   ・PCは2つを横に、スマホは縦に。期の見出しに「2027年3月〜7月」のように年と期間を表示
   ------------------------------------------------------------ */
.anb-sched__note{
  margin:-12px auto 40px !important; text-align:center;
  font-family:var(--msb-gothic); font-size:.98rem; line-height:1.9; letter-spacing:.06em; color:var(--lg-ink);
}
.anb-sched__note b{ font-weight:700; color:var(--anb-brown-dk); }
.anb-sched__terms{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px; max-width:900px; margin:0 auto;
}
.anb-sched__terms.is-single{ grid-template-columns:minmax(0,1fr); max-width:620px; }
.anb-sched__box{
  padding:30px 30px 10px; border-radius:10px;
  background:rgba(255,255,255,.66); border:1px solid rgba(206,182,140,.45);
}
.anb-sched__head{ padding-bottom:18px; border-bottom:1px solid #B48D58; text-align:center; }
.anb-sched__ttl{
  display:flex; align-items:center; justify-content:center; gap:14px;
  font-family:var(--msb-mincho); font-weight:500; font-size:1.6rem; line-height:1.4; letter-spacing:.16em; color:var(--lg-navy);
}
.anb-sched__tag{
  padding:.3em .9em .3em 1em; border-radius:999px; background:var(--lg-navy);
  font-family:var(--msb-gothic); font-weight:500; font-size:.72rem; line-height:1.3; letter-spacing:.14em; color:#fff;
}
.anb-sched__period{
  margin-top:6px !important; font-variant-numeric:lining-nums;
  font-family:var(--msb-mincho); font-weight:600; font-size:1.02rem; letter-spacing:.12em; color:var(--anb-brown-dk);
}
.anb-sched__box .anb-sched__list{ border-top:0; }
.anb-sched__box .anb-sched__list li{
  grid-template-columns:72px minmax(0,1fr); gap:2px 12px; padding:14px 2px;
}
.anb-sched__box .anb-sched__list li:last-child{ border-bottom:0; }
.anb-sched__box .anb-sched__day{ grid-row:1 / span 2; align-self:center; }
.anb-sched__box .anb-sched__day b{ font-size:1.6rem; }
.anb-sched__box .anb-sched__topic{ font-size:.98rem; letter-spacing:.06em; }
.anb-sched__box .anb-sched__date{ grid-column:2; text-align:left; font-size:.92rem; letter-spacing:.04em; }
.anb-sched__box .anb-sched__date small{ margin-left:.8em; }

@media (max-width:767px){
  .anb-sched__note{ margin:-8px auto 28px !important; font-size:.9rem; letter-spacing:.03em; }
  .anb-sched__terms{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .anb-sched__box{ padding:24px 16px 4px; }
  .anb-sched__ttl{ font-size:1.4rem; }
  .anb-sched__box .anb-sched__list li{ grid-template-columns:62px minmax(0,1fr); padding:13px 0; }
  .anb-sched__box .anb-sched__day b{ font-size:1.5rem; }
  .anb-sched__box .anb-sched__topic small{ display:inline; margin-left:.8em; }
  .anb-sched__box .anb-sched__date{ font-size:.88rem; }
}

/* ------------------------------------------------------------
   14. トップ画像 B案：アニメを速く（2026.10 修正）
   ------------------------------------------------------------ */
@keyframes anbTtl{
  from{ opacity:0; filter:blur(4px); transform:translateY(8px); }
  to{ opacity:1; filter:blur(0); transform:none; }
}
.anb-fv__photo img{ animation-duration:1.6s; }
.anb-fvb__card{ animation:anbCardIn 1s var(--lg-ease) .25s both; }
.anb-fvb__card > *{ animation-duration:.8s; }
.anb-fvb__card > :nth-child(1){ animation-delay:.5s; }
.anb-fvb__card > :nth-child(2){ animation-delay:.6s; }
.anb-fvb__card > :nth-child(3){ animation-delay:.72s; }
.anb-fvb__card > :nth-child(4){ animation-delay:.84s; }

/* ------------------------------------------------------------
   15. PCで読みやすく（2026.10 修正）※ 共通部分は msb-salon-b.css の 16.
   ・写真の帯（想い・締め）は幅を広げ、文の途中の改行をなくし、行間と段落の間を詰める
   ・段落・ブロックの間を少し詰める
   ------------------------------------------------------------ */
@media (min-width:768px){
  .anb-band{ padding-top:128px; padding-bottom:132px; }
  .anb-band__in{ max-width:760px; }
  .anb-band__text p{ line-height:2.05; letter-spacing:.05em; }
  .anb-band__text p + p{ margin-top:1.1em; }
  .anb-band__close{ margin-top:48px !important; }

  .anb-closing{ padding-top:140px; padding-bottom:150px; }
  .anb-closing .anb-band__in{ max-width:720px; }
  .anb-closing__text p{ line-height:2.05; letter-spacing:.12em; }
  .anb-closing__text p + p{ margin-top:1.5em; }
  .anb-closing .anb-band__close{ margin:52px 0 44px !important; }

  .anb-worries__photo{ margin:48px auto !important; }
  .anb-worries__story{ margin-top:60px; padding-top:52px; }
  .anb-worries__txt{ line-height:2; }
  .anb-merit__item{ padding:26px 0; }
  .anb-merit__item p:not(.anb-merit__no){ line-height:1.9; letter-spacing:.04em; }
  .anb-statement{ margin-top:88px !important; }
  .anb-quote{ margin-top:64px; }
  .anb-eq{ margin-top:48px; }
  .anb-eq__cap{ margin-bottom:60px !important; }
  .anb-close{ margin-top:44px !important; }
  .anb-ba{ margin-top:72px; padding-top:60px; }
  .anb-skills{ margin-top:88px; }
  .anb-skills__close{ margin-top:44px !important; }
  .anb-flow__text{ margin-top:52px; }
  .anb-flow__text p + p{ margin-top:.9em; }
  .anb-orient .lgb-center{ margin-top:40px; }
}
@media (min-width:768px){
  .anb-flow__text p, .anb-worries__txt{ text-wrap-style:balance; }
}
