/* ============================================================
   Sales Commit LP — 共通ベース
   ブランド定数: 白 #FFFFFF / 墨 #1A1A1A / 黄 #F5C518
   黄の規律: 面(ベタ塗り)か線(下線・罫線)のみ。
             浮遊図形片・グラデーション・影・グロー禁止
   角丸: 0px に統一（混在禁止）
   ============================================================ */
:root{
  --white:#FFFFFF;
  --ink:#1A1A1A;
  --yellow:#F5C518;
  --y-soft:#FEF5D4;      /* 黄の面（淡）: 提案資料と同じ */
  /* 透明感・格のためのトーン（面の重なりで深さを出す） */
  --ink-deep:#0D0D0D;    /* 暗ブロック: 提案資料と同じ黒 */
  --ink-lift:#16181C;    /* 黒の中で一段持ち上げる面 */
  --ink-soft:#1E2127;
  --paper:#FAF9F7;       /* 明ブロックの相方（区切り用の紙色） */
  --paper-2:#F3F1EC;
  --gold-06:rgba(245,197,24,.06);
  --gold-12:rgba(245,197,24,.12);
  --gold-22:rgba(245,197,24,.22);
  --gold-40:rgba(245,197,24,.40);
  --line-soft:rgba(26,26,26,.10);
  --g50:#FAFAFA;
  --g100:#F2F2F2;
  --g200:#E8E8E8;
  --g300:#DCDCDC;
  --g600:#6B6B6B;
  --radius:0px;
  --maxw:1120px;
  --pad:20px;
  --serif:'Noto Serif JP',"Hiragino Mincho ProN",serif;
  --sans:'Noto Sans JP',"Hiragino Kaku Gothic ProN",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
/* display を持つ要素にも hidden 属性を効かせる（.form{display:flex} 対策） */
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--white);color:var(--ink);
  overflow-wrap:anywhere;word-break:normal;
  font-family:var(--sans);font-size:16px;line-height:1.9;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:700;line-height:1.45;letter-spacing:.01em;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:separate;border-spacing:0;}
.ph{width:100%;height:auto;background:var(--g200);border-radius:var(--radius);}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:8px;top:8px;z-index:99;background:var(--yellow);color:var(--ink);padding:8px 14px;}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}

/* ---------- header / footer ---------- */
.site-head{border-bottom:1px solid var(--g200);}
.site-head__in{display:flex;align-items:center;justify-content:space-between;height:56px;}
.wordmark{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.02em;}
.wordmark b{font-weight:700;}
.variant-tag{font-size:11px;letter-spacing:.14em;color:var(--g600);border:1px solid var(--g300);padding:2px 9px;}
.site-foot{border-top:1px solid var(--g200);margin-top:8px;}
.site-foot__in{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding-top:28px;padding-bottom:36px;}
.site-foot__c{font-size:12.5px;color:var(--g600);}

/* ---------- 共通パーツ ---------- */
section{padding:64px 0;}
.h2{font-size:24px;line-height:1.5;margin-bottom:28px;}
.btns{display:flex;flex-direction:column;gap:12px;}
.btns--c{margin-top:28px;}
.btn{
  display:flex;align-items:center;justify-content:center;
  min-height:56px;padding:14px 24px;border-radius:var(--radius);
  font-weight:700;font-size:15px;letter-spacing:.02em;text-align:center;
  border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;
}
.btn--y{background:var(--yellow);color:var(--ink);border-color:var(--yellow);}
.btn--y:hover{background:var(--ink);color:var(--white);border-color:var(--ink);}
.btn--o{background:var(--white);color:var(--ink);border-color:var(--ink);}
.btn--o:hover{background:var(--ink);color:var(--white);}

/* 黄アクセント（面/線のみ・浮遊片なし） */
.accent{position:relative;display:inline-block;}
.accent__t{position:relative;}
.accent__bar{position:absolute;background:var(--yellow);}

/* ---------- ① FV ---------- */
.fv{padding-top:44px;padding-bottom:52px;}
.fv__catch{font-size:38px;line-height:1.34;letter-spacing:.005em;}
.fv__sub{margin-top:20px;font-size:15px;line-height:1.95;color:var(--ink);}
.fv .btns{margin-top:28px;}
.fv__vis{margin-top:36px;}

/* ---------- ② 状態変化とプロセス ---------- */
.catch2{display:flex;flex-direction:column;gap:6px;font-size:23px;line-height:1.5;text-align:center;}
.lead{margin-top:26px;text-align:center;}
.lead__l{font-size:14.5px;line-height:2.05;color:var(--ink);}
.steps{margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.step{position:relative;padding:20px 16px 22px;border-radius:var(--radius);border:1px solid var(--g200);}
.step--g{background:var(--g100);}
.step--y{background:var(--y-soft);border-color:var(--yellow);}
.step__n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--ink);color:var(--white);font-size:12px;font-weight:700;border-radius:var(--radius);}
.step__k{display:block;margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--g600);}
.step__t{margin-top:4px;font-size:16px;line-height:1.5;}
.step__d{margin-top:8px;font-size:13px;line-height:1.85;color:var(--g600);}

/* ---------- ③ 特徴3つ ---------- */
.s-feat{padding-top:8px;}
.feats{display:grid;gap:22px;}
.feat{padding-top:22px;border-top:2px solid var(--ink);}
.feat__i{display:block;width:32px;height:32px;color:var(--ink);}
.feat__i svg{width:100%;height:100%;}
.feat__t{margin-top:14px;font-size:19px;}
.feat__d{margin-top:6px;font-size:14px;color:var(--g600);}

/* ---------- ④ 比較表 ---------- */
.cmp-scroll{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  /* iOSで sticky セルの背景が透ける・ちらつくのを防ぐ */
  transform:translateZ(0);
}
.cmp{width:100%;min-width:680px;font-size:13px;}
.cmp th,.cmp td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--g200);}
.cmp thead td,.cmp thead th{border-bottom:2px solid var(--ink);}
.cmp__corner{background:var(--white);position:-webkit-sticky;position:sticky;left:0;z-index:3;min-width:104px;}
.cmp thead th{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.04em;white-space:nowrap;}
.cmp th[scope=row]{
  position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--white);
  font-family:var(--sans);font-size:12.5px;font-weight:700;white-space:nowrap;min-width:104px;
}
/* SC列は常時視認（右に固定） */
.cmp .sc{
  position:-webkit-sticky;position:sticky;right:0;z-index:3;
  background:var(--y-soft);border-left:2px solid var(--yellow);
  font-weight:700;min-width:132px;
}
.cmp thead .sc{z-index:4;}
.cmp__hint{margin-top:10px;font-size:11.5px;color:var(--g600);}

/* ---------- ⑤ チーム ---------- */
.lead-card{margin-top:4px;display:grid;gap:18px;padding:22px 18px;border:1px solid var(--g200);border-radius:var(--radius);}
.lead-card__ph{max-width:190px;}
.lead-card__name{font-family:var(--serif);font-weight:700;font-size:19px;}
.lead-card__name span{display:inline-block;margin-left:8px;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--ink);background:var(--yellow);padding:2px 8px;border-radius:var(--radius);}
.bio{margin-top:12px;}
.bio__l{font-size:13.5px;line-height:2;color:var(--g600);}
.mcards{margin-top:14px;display:grid;gap:12px;}
.mcard{padding:20px 18px;border:1px solid var(--g200);border-radius:var(--radius);}
.mcard__h{display:flex;align-items:center;gap:12px;}
.ini{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--ink);color:var(--white);font-weight:700;font-size:14px;letter-spacing:.04em;border-radius:var(--radius);flex:0 0 auto;}
.mcard__r{font-size:13px;letter-spacing:.08em;color:var(--g600);font-weight:700;}
.mcard__r b{color:var(--ink);font-size:15px;margin-left:2px;}
/* スクリーンリーダー用（視覚的にはバッジで表現済みのイニシャル） */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.osfig{margin:26px 0 0;}
.ph--os{border:1px solid var(--g200);}
.osfig__c{margin-top:10px;font-size:12px;line-height:1.85;color:var(--g600);}

/* ---------- ⑥ 営業の知見 ---------- */
.ncards{display:grid;gap:20px;}
.ncard__a{display:block;}
.ph--th{border:1px solid var(--g200);}
.ncard__d{display:block;margin-top:12px;font-size:11.5px;letter-spacing:.08em;color:var(--g600);}
.ncard__t{margin-top:5px;font-size:16px;line-height:1.6;}
.ncard__a:hover .ncard__t{text-decoration:underline;text-underline-offset:3px;}
.note-more{margin-top:24px;text-align:right;}
.note-more a{font-size:14px;font-weight:700;border-bottom:2px solid var(--yellow);padding-bottom:3px;}

/* ---------- ⑦ FAQ ---------- */
.faqs{border-top:1px solid var(--g300);}
.faq{border-bottom:1px solid var(--g300);}
.faq__q{
  display:flex;gap:12px;align-items:flex-start;
  padding:20px 30px 20px 0;position:relative;cursor:pointer;
  font-weight:700;font-size:15px;line-height:1.7;list-style:none;
}
.faq__q::-webkit-details-marker{display:none;}
.faq__q::after{
  content:"";position:absolute;right:4px;top:27px;
  width:12px;height:2px;background:var(--ink);
}
.faq__q::before{
  content:"";position:absolute;right:9px;top:22px;
  width:2px;height:12px;background:var(--ink);transition:transform .18s;
}
.faq[open] .faq__q::before{transform:scaleY(0);}
.faq__mark{font-family:var(--serif);font-weight:700;color:var(--yellow);flex:0 0 auto;}
.faq__a{display:flex;gap:12px;padding:0 0 22px;}
.faq__l{font-size:14px;line-height:1.95;color:var(--g600);}

/* ---------- ⑧ 最終CTA ---------- */
.h2--final{text-align:center;}
.kicker.kicker--final{text-align:center;color:var(--yellow);margin:10px 0 0;}
.fcards{display:grid;gap:26px;margin-top:44px;}
.fcard{text-align:center;}
.fcard__d{font-size:14px;line-height:1.8;margin-bottom:12px;}
.fcard__btn{
  display:flex;align-items:center;justify-content:center;gap:12px;
  min-height:74px;padding:18px 26px;border-radius:var(--radius);
  font-weight:700;font-size:16px;letter-spacing:.03em;
  border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s;
}
.fcard__ic{display:inline-flex;width:22px;height:22px;flex:0 0 auto;}
.fcard__ic svg{width:100%;height:100%;}
.fcard__btn.is-primary{
  background:linear-gradient(135deg,#F9DA7E 0%,#F5C518 48%,#DCA90F 100%);
  color:var(--ink);
}
.fcard__btn.is-primary:hover{background:var(--white);}
.fcard__btn.is-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5);}
.fcard__btn.is-ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white);}

/* ---------- セクションのリード文 ---------- */
.sec-lead{font-size:14.5px;line-height:1.95;color:var(--g600);margin:0 0 34px;max-width:74ch;text-wrap:pretty;}

/* ============================================================
   ④ 比較表 — 見出し帯とSC列を立てたリッチ版
   ============================================================ */
.cmp{border:1px solid var(--g300);}
.cmp thead th{
  background:#8E8E8E;color:var(--white);
  padding:15px 12px;font-weight:700;border-bottom:0;
  border-left:1px solid rgba(255,255,255,.28);
}
.cmp thead th.sc{
  background:linear-gradient(135deg,#C9A227 0%,#A8861B 100%);
  color:var(--white);border-left:1px solid rgba(255,255,255,.4);
}
.cmp__corner{background:var(--white);border-bottom:0;}
.cmp th[scope=row]{
  background:var(--g100);border-right:1px solid var(--g300);
  padding:16px 12px;
}
.cmp td{border-left:1px solid var(--g300);text-align:center;}
.cmp tbody tr:nth-child(even) th[scope=row]{background:#ECECEC;}
.cmp tbody tr:nth-child(even) td{background:#FBFBFB;}
.cmp .sc{
  background:var(--y-soft);border-left:2px solid var(--yellow);
  font-weight:700;color:var(--ink);
}
.cmp tbody tr:nth-child(even) .sc{background:#FDF0C6;}
/* ◎◯△− を丸で受ける */
.cmp td{white-space:pre-line;}
.cmp__hint{margin-top:10px;font-size:11.5px;color:var(--g600);}

/* ============================================================
   768px 以上
   ============================================================ */
@media (min-width:768px){
  :root{--pad:32px;}
  section{padding:88px 0;}
  .h2{font-size:30px;margin-bottom:36px;}
  .btns{flex-direction:row;}
  .btn{min-width:210px;}
  .fv__catch{font-size:48px;}
  .fv__sub{font-size:17px;margin-top:24px;}
  .catch2{font-size:34px;gap:8px;}
  .lead{margin-top:34px;}
  .lead__l{font-size:15.5px;}
  .steps{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;}
  .step{padding:24px 18px 26px;}
  .feats{grid-template-columns:repeat(3,1fr);gap:32px;}
  .cmp{font-size:14px;min-width:0;}
  .cmp th,.cmp td{padding:18px 16px;}
  .cmp__hint{display:none;}
  .lead-card{grid-template-columns:230px 1fr;gap:32px;padding:32px;align-items:start;}
  .lead-card__ph{max-width:none;}
  .mcards{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;}
  .ncards{grid-template-columns:repeat(3,1fr);gap:24px;}
  .fcards{grid-template-columns:repeat(2,1fr);gap:32px;margin-top:52px;}
  .fcard__d{font-size:15px;margin-bottom:16px;}
  .fcard__btn{min-height:84px;font-size:17px;}
  .sec-lead{font-size:15.5px;margin-bottom:44px;}
  .faq__q{font-size:16px;}
}

/* ============================================================
   1280px 以上
   ============================================================ */
@media (min-width:1280px){
  section{padding:112px 0;}
  .h2{font-size:34px;}
  .fv__catch{font-size:68px;}
  .fv__sub{font-size:18px;}
  .catch2{font-size:42px;}
  .lead__l{font-size:16px;}
}


/* ============================================================
   ブロック区切り（背景を交互に振って境界を見せる）
   ============================================================ */
.s-change{background:var(--paper);}
.s-feat{background:var(--white);}
.s-cmp{background:var(--paper);}
.s-team{background:var(--white);}
.s-note{background:var(--paper);}
.s-faq{background:var(--white);}

/* 見出しの上に置く小ラベル */
.kicker{
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--g600);font-weight:700;margin-bottom:10px;
}
.h2--tight{margin-bottom:28px;}

/* ============================================================
   ② 支援プロセス — 開閉行（クリックで具体支援が開く）
   ============================================================ */
.acc__hint{margin:40px 0 14px;font-size:12.5px;color:var(--g600);}
.accs{border-top:1px solid var(--line-soft);}
.acc{border-bottom:1px solid var(--line-soft);}
.acc__sum{
  display:flex;align-items:flex-start;gap:14px;
  padding:24px 0;cursor:pointer;list-style:none;
}
.acc__sum::-webkit-details-marker{display:none;}
.acc__n{
  flex:0 0 auto;width:26px;height:26px;margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--ink);border-radius:var(--radius);
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.02em;
  transition:background .2s,color .2s,border-color .2s;
}
.acc__head{flex:1 1 auto;min-width:0;}
.acc__k{
  display:block;font-family:var(--sans);font-size:11px;font-weight:700;
  letter-spacing:.18em;color:var(--g600);margin-bottom:5px;
}
.acc__t{
  display:block;font-family:var(--serif);font-weight:700;
  font-size:19px;line-height:1.5;color:var(--ink);letter-spacing:.01em;
}
.acc__d{display:block;margin-top:5px;font-size:13.5px;line-height:1.8;color:var(--g600);}
/* ＋／− の指示子（線のみ） */
.acc__ico{
  position:relative;flex:0 0 auto;width:18px;height:18px;margin-top:8px;
}
.acc__ico::before,.acc__ico::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--ink);
  transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s;
}
.acc__ico::before{width:14px;height:1.5px;transform:translate(-50%,-50%);}
.acc__ico::after{width:1.5px;height:14px;transform:translate(-50%,-50%);}
.acc[open] .acc__ico::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.acc[open] .acc__n{background:var(--ink);color:var(--white);}
.acc:hover .acc__t{opacity:.62;}

/* 開いた中身 */
.acc__panel{
  display:grid;gap:20px;padding:0 0 30px 40px;
  animation:accOpen .34s cubic-bezier(.22,1,.36,1);
}
@keyframes accOpen{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.acc__p{font-size:14px;line-height:2;color:var(--text,var(--ink));max-width:42ch;}
.acc__list li{
  position:relative;padding:13px 0 13px 20px;font-size:13.5px;line-height:1.8;
  border-bottom:1px solid var(--line-soft);color:var(--ink);
}
.acc__list li:last-child{border-bottom:0;}
.acc__list li::before{
  content:"";position:absolute;left:0;top:21px;
  width:7px;height:7px;background:var(--yellow);transform:rotate(45deg);
}

/* ============================================================
   スクロール連動の出現
   ============================================================ */
.anim-on .reveal{opacity:0;transform:translateY(18px);}
.anim-on .reveal.is-in{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--d,0ms),
             transform .7s cubic-bezier(.22,1,.36,1) var(--d,0ms);
}
.anim-on .fv-in{opacity:0;transform:translateY(14px);}
.anim-on .fv-in.is-in{opacity:1;transform:none;transition:opacity .8s ease .06s,transform .8s cubic-bezier(.22,1,.36,1) .06s;}
@media (prefers-reduced-motion:reduce){
  .anim-on .reveal,.anim-on .fv-in{opacity:1 !important;transform:none !important;transition:none !important;}
  .acc__panel{animation:none;}
}

@media (min-width:768px){
  .kicker{font-size:12px;}
  .acc__sum{gap:20px;padding:30px 0;}
  .acc__t{font-size:23px;}
  .acc__d{font-size:14.5px;}
  .acc__panel{grid-template-columns:1fr 1fr;gap:44px;padding:0 0 40px 46px;}
  .acc__p{font-size:14.5px;}
  .acc__list li{font-size:14px;}
}
@media (min-width:1280px){
  .acc__t{font-size:26px;}
  .acc__panel{grid-template-columns:.9fr 1.1fr;gap:56px;}
}
}

/* ============================================================
   下層ページ（お問い合わせ / 資料ダウンロード）
   ============================================================ */
.sub{padding:56px 0 88px;background:var(--paper);min-height:70vh;}
.sub__in{max-width:760px;}
.sub__h{font-size:clamp(26px,3.6vw,40px);line-height:1.4;margin:6px 0 18px;}
.sub__lead{font-size:15px;line-height:1.95;color:var(--g600);margin-bottom:36px;max-width:52ch;}
.sub__note{font-size:12.5px;line-height:1.9;color:var(--g600);margin-top:20px;}
.doccard{border:1px solid var(--g300);background:var(--white);padding:22px 24px;}
.doccard__t{font-family:var(--serif);font-weight:700;font-size:15px;margin-bottom:12px;}
.doccard__l li{position:relative;padding:9px 0 9px 20px;font-size:13.5px;line-height:1.8;border-bottom:1px solid var(--line-soft);}
.doccard__l li:last-child{border-bottom:0;}
.doccard__l li::before{content:"";position:absolute;left:0;top:17px;width:7px;height:7px;background:var(--yellow);transform:rotate(45deg);}

.form{display:flex;flex-direction:column;gap:22px;margin-top:8px;}
.fld{display:flex;flex-direction:column;gap:8px;}
.fld__l{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--ink);}
.fld .rq{color:var(--yellow);margin-left:2px;}
.fld .opt{color:var(--g600);font-weight:400;margin-left:4px;}
.fld input,.fld textarea{
  width:100%;border:1px solid var(--g300);background:var(--white);
  padding:13px 14px;font-size:16px;color:var(--ink);border-radius:var(--radius);
  font-family:inherit;line-height:1.7;
}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow);}
.fld textarea{resize:vertical;}
.fld .is-err{border-color:#C0392B;}
.form__submit{margin-top:6px;align-self:flex-start;min-width:240px;cursor:pointer;border:0;}
.okbox{border:1px solid var(--yellow);background:var(--y-soft);padding:28px 26px;margin-top:8px;}
.okbox__t{font-family:var(--serif);font-weight:700;font-size:20px;}
.okbox__d{font-size:14px;color:var(--text,var(--ink));margin-top:8px;line-height:1.9;}
.okbox__dl{margin-top:18px;display:inline-flex;min-width:240px;}
a.wordmark{color:inherit;}

@media (min-width:768px){
  .sub{padding:72px 0 120px;}
  .sub__in--two{max-width:var(--maxw);display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  .sub__lead{font-size:16px;}
}


/* ============================================================
   ④ 比較表 — モバイルの列幅
   左の項目列とSC列を両方固定すると、狭い画面では中央の他社列が
   潰れて文字が見切れる。767px以下では固定幅を絞り、
   他社列に読める幅を確保する。
   ============================================================ */
@media (max-width:767px){
  /* 76 + 88*3 + 110 = 450。画面350pxに対し、
     項目列76 + 他社1列88 + SC列110 = 274 が同時に見え、
     残り76pxで次の列が覗くのでスクロールできると分かる */
  .cmp{min-width:450px;table-layout:fixed;font-size:11.5px;}
  .cmp th,.cmp td{padding:13px 7px;}
  .cmp__corner{min-width:76px;width:76px;}
  .cmp th[scope=row]{
    min-width:76px;width:76px;padding-left:9px;padding-right:7px;
    white-space:normal;line-height:1.45;font-size:11.5px;
  }
  .cmp td{width:88px;}
  .cmp .sc{min-width:110px;width:110px;}
  .cmp thead th{white-space:normal;line-height:1.4;font-size:11px;padding:12px 7px;}
  /* 固定列の境目に影を出して、続きがあることを伝える */
  .cmp .sc{box-shadow:-6px 0 8px -6px rgba(0,0,0,.18);}
  .cmp th[scope=row]{box-shadow:6px 0 8px -6px rgba(0,0,0,.14);}
  .cmp__hint{color:var(--ink);font-weight:700;}
}

/* ============================================================
   A案 — タイポグラフィ主役 / editorial
   全体白地。情報の格はフォントサイズと余白のみで作る。
   FV右側はビジュアルを置かず余白＋黄の面を1枚だけ幾何配置（画面の10%以下）。
   ============================================================ */
.v-a .fv__catch{font-weight:700;letter-spacing:-.005em;}
/* 黄アクセント＝線（下線） */
.v-a .accent__bar{left:-.02em;right:-.02em;bottom:.1em;height:.13em;}

.v-a .fv__vis--a{display:none;}

/* 装飾を削り、余白と級数で格をつける */
.v-a .step{background:var(--g50);border-color:var(--g200);}
.v-a .step--y{background:var(--y-soft);border-color:var(--yellow);}
.v-a .feat{border-top-width:1px;}
.v-a .feat__t{font-size:20px;}
.v-a .lead-card,.v-a .mcard{border-color:var(--g200);}

@media (min-width:768px){
  .v-a .fv{padding-top:88px;padding-bottom:104px;}
  .v-a .fv__in{display:grid;grid-template-columns:1fr 180px;gap:40px;align-items:center;}
  /* 黄の面を1枚だけ・幾何的に配置（FV領域の約6%） */
  .v-a .fv__vis--a{display:block;margin-top:0;justify-self:end;width:100%;}
  .v-a .catch2{letter-spacing:.01em;}
  .v-a .h2{letter-spacing:.02em;}
}
@media (min-width:1280px){
  .v-a .fv{padding-top:120px;padding-bottom:140px;}
  .v-a .fv__in{grid-template-columns:1fr 340px;gap:64px;}

}


/* ------------------------------------------------------------
   A案 — 透明感の付与
   ベタ塗りをやめ、面の重なりと透過で「格」を出す。
   ------------------------------------------------------------ */
.v-a .fv{background:var(--white);}
.v-a .fv__vis--a{display:block;margin-top:28px;width:74%;margin-left:auto;line-height:0;}
.v-a .fv__vis--a svg{width:100%;height:auto;display:block;}
/* 重なりは各図形のアルファだけで作る。
   mix-blend-mode はiOS SafariでSVGの合成が破綻することがあるため使わない */

/* 黄の下線も透過を重ねて硬さを取る */
.v-a .accent__bar{background:var(--gold-40);height:.16em;}
.v-a .accent::before{
  content:"";position:absolute;left:-.02em;right:-.02em;bottom:.1em;height:.07em;
  background:var(--yellow);
}

/* ⑧のみ暗ブロックで締める */
.v-a .s-final{background:var(--ink-deep);color:var(--white);}
.v-a .s-final .h2{color:var(--white);}
.v-a .s-final .fcard__a{border-color:rgba(255,255,255,.26);}
.v-a .s-final .fcard__d{color:rgba(255,255,255,.66);}
.v-a .s-final .fcard__a:hover{background:var(--yellow);border-color:var(--yellow);}
.v-a .s-final .fcard__a:hover .fcard__t,
.v-a .s-final .fcard__a:hover .fcard__d,
.v-a .s-final .fcard__a:hover .fcard__go{color:var(--ink);}
.v-a .site-foot{background:var(--ink-deep);border-top-color:rgba(255,255,255,.12);margin-top:0;}
.v-a .site-foot .wordmark{color:var(--white);}
.v-a .site-foot__c{color:rgba(255,255,255,.55);}

@media (min-width:768px){
  .v-a .fv__vis--a{margin-top:0;width:100%;}
}


/* ------------------------------------------------------------
   A案 v2 — 味気なさの解消
   白地は維持しつつ、光の層と金の階調で密度を上げる。
   ------------------------------------------------------------ */
.v-a .fv{
  background:
    radial-gradient(96% 76% at 84% 10%, rgba(245,197,24,.15) 0%, rgba(245,197,24,.04) 40%, rgba(245,197,24,0) 66%),
    radial-gradient(70% 60% at 8% 88%, rgba(13,13,13,.05) 0%, rgba(13,13,13,0) 60%),
    var(--white);
  position:relative;
}
/* FV下端の細い金線で、次のブロックとの境界を作る */
.v-a .fv::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg, rgba(245,197,24,0) 0%, rgba(245,197,24,.6) 30%, rgba(245,197,24,.2) 70%, rgba(245,197,24,0) 100%);
}
.v-a .accent__bar{background:linear-gradient(135deg,#F7D24B 0%,#F5C518 50%,#C9A227 100%);height:.14em;}
.v-a .accent::before{display:none;}
.v-a .btn--y{background:linear-gradient(135deg,#F9DA7E 0%,#F5C518 50%,#DCA90F 100%);border-color:transparent;}

/* 明ブロックの平坦さを取る */
.v-a .s-change,.v-a .s-cmp,.v-a .s-note{
  background:
    radial-gradient(76% 58% at 90% 4%, rgba(245,197,24,.07) 0%, rgba(245,197,24,0) 58%),
    var(--paper);
}
.v-a .s-final{
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(245,197,24,.09) 0%, rgba(245,197,24,0) 60%),
    linear-gradient(180deg, #16181C 0%, #0D0D0D 100%);
}


/* ============================================================
   v1 — 営業のプロフェッショナルファームとしての再構成（2026-09-30）
   説明文ではなく、余白・英字タイポ・番号・罫線・動きで格を出す。
   黄の規律は従来どおり（面か線のみ・浮遊片なし）。
   ============================================================ */
:root{
  --en:'Inter Tight',"Helvetica Neue",Arial,var(--sans);
  --line-dark:rgba(255,255,255,.12);
  --ease:cubic-bezier(.22,1,.36,1);
}
/* 語のまとまりで折り返す（日本語の変な位置での改行を防ぐ） */
.br{display:inline-block;}
.kicker{font-family:var(--en);letter-spacing:.2em;}
.kicker::before{
  content:"";display:inline-block;width:20px;height:2px;margin-right:10px;
  background:var(--yellow);vertical-align:middle;position:relative;top:-2px;
}
.h2--xl{font-size:28px;line-height:1.42;margin-bottom:22px;letter-spacing:.01em;}
.sec-lead p + p{margin-top:.6em;}

/* ---------- header（トップのみ黒でHEROと地続きに） ---------- */
.home .site-head{background:var(--ink-deep);border-bottom-color:var(--line-dark);color:var(--white);}

/* ---------- ① HERO ---------- */
.hero{position:relative;overflow:hidden;background:var(--ink-deep);color:var(--white);padding:52px 0 60px;}
.hero__in{position:relative;}
.hero__brand{
  font-family:var(--serif);font-weight:700;word-break:auto-phrase;
  font-size:34px;line-height:1.32;letter-spacing:.005em;
}
.hero__catch{
  margin-top:22px;font-family:var(--sans);font-weight:700;
  font-size:19px;line-height:1.6;letter-spacing:.04em;color:rgba(255,255,255,.9);
}
.hero__catch .hl{color:var(--yellow);}
.svc-ticker{margin-top:40px;border-top:1px solid var(--line-dark);}
.svc-ticker__i{
  position:relative;display:flex;align-items:baseline;gap:14px;
  padding:13px 0 12px;border-bottom:1px solid var(--line-dark);
  font-family:var(--en);color:rgba(255,255,255,.3);
  transition:color .5s var(--ease);
}
.svc-ticker__n{font-size:12px;font-weight:600;letter-spacing:.12em;flex:0 0 auto;transition:color .5s var(--ease);}
.svc-ticker__t{font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.25;transition:transform .6s var(--ease);}
.svc-ticker__i.is-on{color:var(--white);}
.svc-ticker__i.is-on .svc-ticker__n{color:var(--yellow);}
.svc-ticker__i.is-on .svc-ticker__t{transform:translateX(6px);}
/* 表示中の領域の下に、次へ切り替わるまでの進捗線 */
.svc-ticker__i::after{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
}
.svc-ticker.is-auto .svc-ticker__i.is-on::after{animation:tick var(--tick,2800ms) linear forwards;}
@keyframes tick{to{transform:scaleX(1);}}
.hero__foot{margin-top:34px;}
.hero__sub{font-size:14.5px;line-height:1.95;color:rgba(255,255,255,.72);}
.hero .btns{margin-top:26px;}
.btn--line{background:transparent;color:var(--white);border-color:rgba(255,255,255,.55);}
.btn--line:hover{background:var(--white);color:var(--ink);border-color:var(--white);}
.hero .btn--y:hover{background:var(--white);color:var(--ink);border-color:var(--white);}
/* 行ごとに下からせり上がる出現（テキストはDOM上常にある。クリップのみ） */
.anim-on .hero__brand .br,.anim-on .hero__catch > .br{animation:lineUp .9s var(--ease) both;}
.anim-on .hero__brand .br:nth-child(2){animation-delay:.12s;}
.anim-on .hero__catch > .br:nth-child(1){animation-delay:.3s;}
.anim-on .hero__catch > .br:nth-child(2){animation-delay:.38s;}
@keyframes lineUp{
  from{clip-path:inset(0 0 100% 0);transform:translateY(.4em);}
  to{clip-path:inset(0 0 -10% 0);transform:none;}
}

/* ---------- ② PROBLEM ---------- */
.s-prob{background:var(--white);}
.probs{display:grid;border-top:1px solid var(--line-soft);margin-top:8px;}
.prob{
  position:relative;padding:22px 0 20px;border-bottom:1px solid var(--line-soft);
  display:grid;grid-template-columns:52px 1fr;column-gap:8px;align-items:baseline;
}
.prob::after{
  content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
}
.prob__n{font-family:var(--en);font-weight:600;font-size:26px;line-height:1;letter-spacing:-.02em;color:var(--g300);transition:color .3s;}
.prob__t{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.55;}
.prob__to{
  grid-column:2;margin-top:6px;font-family:var(--en);font-size:11.5px;font-weight:600;
  letter-spacing:.06em;color:var(--g600);
}
.prob:hover .prob__n{color:var(--ink);}
.prob:hover::after{transform:scaleX(1);}
.prob__end{
  margin-top:40px;font-family:var(--serif);font-weight:700;
  font-size:20px;line-height:1.6;
}

/* ---------- ③ SERVICES ---------- */
.s-svc{background:radial-gradient(76% 58% at 90% 4%, rgba(245,197,24,.07) 0%, rgba(245,197,24,0) 58%),var(--paper);}
.svc{margin-top:8px;border-top:1px solid var(--ink);}
.svc .acc{border-bottom-color:var(--line-soft);}
.svc .acc__sum{gap:14px;padding:24px 0 22px;align-items:flex-start;}
.svc__n{
  flex:0 0 auto;min-width:30px;padding-top:.45em;
  font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--g600);
  transition:color .3s;
}
.svc__t{
  display:block;font-family:var(--en);font-weight:700;
  font-size:25px;line-height:1.12;letter-spacing:-.02em;color:var(--ink);
  transition:transform .45s var(--ease),opacity .2s;
}
.svc .acc__d{margin-top:8px;}
.svc .acc:hover .svc__t{transform:translateX(6px);}
.svc .acc[open] .svc__n{color:var(--ink);}
.svc .acc[open] .acc__d{display:none;}
.svc .acc[open] .svc__t{transform:none;}
/* 開いた行だけ、左端に黄の線 */
.svc .acc{position:relative;}
.svc .acc::before{
  content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.svc .acc[open]::before{transform:scaleX(1);}
.svc .acc__panel{padding-left:44px;}
.svc__lead{font-family:var(--serif);font-weight:700;font-size:19px;line-height:1.65;}
.acc__list--2 li{padding-top:11px;padding-bottom:11px;}
.acc__list--2 li::before{top:19px;}

/* ---------- ④ PROFESSIONALS ---------- */
.s-pro{background:var(--ink-deep);color:var(--white);}
.s-pro .kicker{color:rgba(255,255,255,.6);}
.s-pro .h2{color:var(--white);}
.pro__fields{
  font-family:var(--serif);font-weight:700;font-size:24px;line-height:1.5;
  display:flex;flex-wrap:wrap;column-gap:.6em;
}
.pro__fields span{display:inline-block;}
.pro__lead{margin-top:18px;font-size:14.5px;line-height:2;color:rgba(255,255,255,.7);}
.roles{display:grid;margin-top:44px;border-top:1px solid var(--line-dark);}
.role{padding:28px 0 30px;border-bottom:1px solid var(--line-dark);}
.role__k{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--yellow);}
.role__v{
  margin-top:10px;font-family:var(--en);font-weight:700;
  font-size:64px;line-height:.95;letter-spacing:-.04em;
}
.role__v i{font-style:normal;color:var(--yellow);}
.role__d{margin-top:16px;font-size:14px;line-height:1.95;color:rgba(255,255,255,.72);}
.base{margin-top:64px;}
.base__k{font-size:12.5px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.55);margin-bottom:14px;}
.base__l{margin:0;border-top:1px solid var(--line-dark);}
.base__r{
  display:grid;grid-template-columns:1fr;gap:2px;
  padding:16px 0;border-bottom:1px solid var(--line-dark);
}
.base__r dt{font-family:var(--en);font-weight:600;font-size:19px;letter-spacing:.02em;transition:color .3s;}
.base__r dd{margin:0;font-size:14px;color:rgba(255,255,255,.72);}
.base__r:hover dt{color:var(--yellow);}
.base__end{margin-top:36px;font-family:var(--serif);font-weight:700;font-size:26px;line-height:1.5;}
.base__end .br:last-child{color:var(--yellow);}

/* ---------- ⑤ EXECUTION ---------- */
.s-exe{background:var(--white);}
.flow{display:grid;margin-top:12px;counter-reset:none;}
.flow__s{
  position:relative;display:grid;grid-template-columns:44px 1fr;column-gap:8px;
  padding:18px 0 18px;border-top:2px solid var(--g200);
}
/* 工程を順に黄で塗っていく */
.flow__s::before{
  content:"";position:absolute;left:0;top:-2px;height:2px;width:100%;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
}
.flow.is-in .flow__s::before{transform:scaleX(1);transition:transform .7s var(--ease) calc(var(--i,0) * 220ms + 150ms);}
.flow__s:nth-child(1){--i:0}.flow__s:nth-child(2){--i:1}.flow__s:nth-child(3){--i:2}
.flow__s:nth-child(4){--i:3}.flow__s:nth-child(5){--i:4}.flow__s:nth-child(6){--i:5}
.flow__n{grid-row:span 2;font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--g600);padding-top:.35em;}
.flow__k{font-family:var(--en);font-weight:700;font-size:22px;letter-spacing:-.01em;line-height:1.3;}
.flow__d{font-size:13.5px;line-height:1.8;color:var(--g600);margin-top:2px;}
.exe__end{
  margin-top:56px;font-family:var(--serif);font-weight:700;
  font-size:32px;line-height:1.45;letter-spacing:.01em;
  display:flex;flex-direction:column;
}
.exe__end .br{position:relative;align-self:flex-start;}
.exe__end .br:last-child::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:.14em;z-index:-1;
  background:linear-gradient(135deg,#F7D24B 0%,#F5C518 50%,#C9A227 100%);
  transform:scaleX(0);transform-origin:left;
}
.exe__end{position:relative;z-index:0;}
.exe__end.is-in .br:last-child::after{transform:scaleX(1);transition:transform .8s var(--ease) .35s;}

/* ---------- ⑥ FOUNDER ---------- */
.s-fdr{background:var(--paper);}
.fdr{display:grid;gap:26px;margin-top:10px;}
.fdr__ph{max-width:220px;}
.fdr__ph img{border:1px solid var(--g200);}
.fdr__name{font-family:var(--serif);font-size:30px;line-height:1.3;letter-spacing:.06em;}
.fdr__sum{margin-top:14px;font-size:15px;line-height:1.95;}
.fdr__sum p + p{margin-top:.4em;color:var(--g600);}
.cv{margin:26px 0 0;border-top:1px solid var(--ink);}
.cv__r{display:grid;gap:2px;padding:13px 0;border-bottom:1px solid var(--line-soft);}
.cv__r dt{font-family:var(--en);font-weight:700;font-size:15px;letter-spacing:.01em;}
.cv__r dd{margin:0;font-size:13.5px;line-height:1.8;color:var(--g600);}
.facts{margin-top:24px;display:grid;gap:10px;}
.facts li{position:relative;padding-left:20px;font-weight:700;font-size:14.5px;line-height:1.7;}
.facts li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--yellow);}

/* ---------- ⑦ COLUMN / ⑧ FAQ / ⑨ CTA ---------- */
.s-note{background:var(--white);}
.s-faq{background:var(--paper);}
.h2--final{font-size:28px;line-height:1.45;margin:14px 0 0;}
.kicker--final::before{display:none;}
.final__lead{margin-top:18px;text-align:center;font-size:15px;line-height:1.9;color:rgba(255,255,255,.7);}
.home .fcards{margin-top:36px;}

@media (min-width:768px){
  .h2--xl{font-size:40px;margin-bottom:26px;}
  .hero{padding:96px 0 96px;}
  .hero__brand{font-size:52px;line-height:1.28;}
  .hero__catch{font-size:24px;margin-top:26px;}
  .svc-ticker{margin-top:56px;}
  .svc-ticker__i{padding:16px 0 15px;gap:22px;}
  .svc-ticker__n{font-size:13px;}
  .svc-ticker__t{font-size:34px;}
  .hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:40px;}
  .hero .btns{margin-top:0;flex:0 0 auto;}
  .hero__sub{font-size:15.5px;}

  .probs{grid-template-columns:repeat(2,1fr);border-left:1px solid var(--line-soft);}
  .prob{
    display:block;padding:30px 28px 32px;border-right:1px solid var(--line-soft);min-height:190px;
  }
  .prob__n{display:block;font-size:44px;}
  .prob__t{margin-top:18px;font-size:19px;}
  .prob__end{margin-top:52px;font-size:26px;}

  .svc .acc__sum{gap:26px;padding:34px 0 30px;}
  .svc__n{font-size:15px;min-width:40px;padding-top:.9em;}
  .svc__t{font-size:44px;}
  .svc .acc__panel{padding-left:66px;}
  .svc__lead{font-size:24px;}
  .acc__list--2{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;}
  .acc__list--2 li:nth-last-child(2):nth-child(odd){border-bottom:0;}

  .pro__fields{font-size:34px;}
  .pro__lead{font-size:15.5px;}
  .roles{grid-template-columns:repeat(3,1fr);margin-top:64px;border-left:1px solid var(--line-dark);}
  .role{padding:32px 26px 36px;border-right:1px solid var(--line-dark);}
  .role__v{font-size:clamp(52px,6.4vw,88px);}
  .base{margin-top:88px;}
  .base__r{grid-template-columns:260px 1fr;align-items:baseline;padding:20px 0;}
  .base__r dt{font-size:24px;}
  .base__r dd{font-size:15px;}
  .base__end{font-size:38px;margin-top:48px;}

  .flow{grid-template-columns:repeat(3,1fr);column-gap:24px;margin-top:20px;}
  .flow__s{display:block;padding:20px 0 30px;}
  .flow__n{display:block;}
  .flow__k{display:block;margin-top:10px;font-size:26px;}
  .flow__d{display:block;margin-top:8px;font-size:14px;}
  .exe__end{margin-top:72px;font-size:48px;}

  .fdr{grid-template-columns:260px 1fr;gap:48px;align-items:start;}
  .fdr__ph{max-width:none;}
  .fdr__name{font-size:38px;}
  .cv__r{grid-template-columns:220px 1fr;align-items:baseline;padding:15px 0;}
  .cv__r dd{font-size:14.5px;}
  .facts li{font-size:15.5px;}

  .h2--final{font-size:40px;}
  .final__lead{font-size:16px;}
  .home .fcards{margin-top:48px;}
}
@media (min-width:1280px){
  .h2--xl{font-size:50px;}
  .hero{padding:120px 0 112px;}
  .hero__brand{font-size:70px;}
  .hero__catch{font-size:28px;}
  .svc-ticker__t{font-size:44px;}
  .probs{grid-template-columns:repeat(3,1fr);}
  .svc__t{font-size:56px;}
  .flow{grid-template-columns:repeat(6,1fr);column-gap:20px;}
  .flow__k{font-size:22px;}
  .exe__end{font-size:60px;}
  .base__end{font-size:44px;}
  .h2--final{font-size:48px;}
}
/* タッチ端末では常に見せ、マウス環境ではホバーで補足を出す */
@media (hover:hover) and (min-width:768px){
  .prob__to{opacity:0;transform:translateY(6px);transition:opacity .35s,transform .45s var(--ease);display:block;margin-top:14px;}
  .prob:hover .prob__to{opacity:1;transform:none;}
}
@media (hover:none) and (min-width:768px){
  .prob__to{display:block;margin-top:14px;}
}
@media (prefers-reduced-motion:reduce){
  .anim-on .hero__brand .br,.anim-on .hero__catch > .br{animation:none;}
  .svc-ticker__i{color:var(--white);}
  .svc-ticker__i .svc-ticker__n{color:var(--yellow);}
  .svc-ticker__i.is-on .svc-ticker__t{transform:none;}
  .flow__s::before{transform:scaleX(1);}
  .exe__end .br:last-child::after{transform:scaleX(1);}
  .prob::after,.svc .acc::before,.svc__t{transition:none;}
}
/* HERO: 横幅が取れる画面では、上段にブランドコピー、
   下段の左にCTA・右に支援領域。CTAを1画面目に収める */
@media (min-width:1024px){
  .hero__in{
    display:grid;grid-template-columns:minmax(0,1fr) 420px;column-gap:56px;
    grid-template-areas:"copy copy" "foot tick";
  }
  .hero__in > .fv-in:first-child{grid-area:copy;}
  .svc-ticker{grid-area:tick;align-self:end;margin-top:44px;}
  .hero__foot{grid-area:foot;align-self:end;display:block;margin-top:0;}
  .hero .btns{margin-top:26px;}
  .svc-ticker__t{font-size:28px;}
  .svc-ticker__i{padding:15px 0 14px;}
}
@media (min-width:1280px){
  .hero{padding:80px 0 96px;}
  .hero__in{grid-template-columns:minmax(0,1fr) 460px;column-gap:72px;}
  .hero__brand{font-size:66px;}
  .svc-ticker__t{font-size:32px;}
}
/* 日本語見出しを文節で折り返し、1文字だけの行を作らない */
.prob__t,.h2,.svc__lead,.exe__end,.base__end,.prob__end,.fdr__sum,.faq__q{word-break:auto-phrase;text-wrap:balance;}
/* 本文も文節単位で折り返す（対応ブラウザのみ。非対応は従来どおり） */
.home main{word-break:auto-phrase;}
.v-a .s-note{background:var(--white);}

/* ------------------------------------------------------------
   モバイルの縦の長さを現行LP並みに抑える（767px以下）
   ------------------------------------------------------------ */
@media (max-width:767px){
  .prob{padding:17px 0 15px;}
  .prob__end{margin-top:30px;}
  .roles{margin-top:32px;}
  .role{padding:22px 0 22px;}
  .role__v{font-size:54px;}
  .role__d{margin-top:10px;}
  .base{margin-top:44px;}
  .base__r{grid-template-columns:128px 1fr;align-items:baseline;gap:10px;padding:13px 0;}
  .base__r dt{font-size:15px;}
  .base__r dd{font-size:13px;line-height:1.7;}
  .base__end{margin-top:28px;font-size:24px;}
  .flow{grid-template-columns:1fr 1fr;column-gap:16px;}
  .flow__s{display:block;padding:14px 0 16px;}
  .flow__n{display:block;padding-top:0;}
  .flow__k{display:block;margin-top:4px;font-size:18px;}
  .flow__d{display:block;font-size:12.5px;line-height:1.7;}
  .exe__end{margin-top:40px;font-size:30px;}
  .fdr{grid-template-columns:112px 1fr;gap:12px 18px;align-items:end;}
  .fdr__ph{max-width:none;}
  .fdr__b{display:contents;}
  .fdr__name{grid-column:2;grid-row:1;font-size:28px;}
  .fdr__sum,.cv,.facts{grid-column:1 / -1;}
  .fdr__sum{margin-top:4px;}
  .cv{margin-top:14px;}
  .cv__r{padding:10px 0;}
  /* note: サムネ左・タイトル右の横並びにして縦を詰める */
  .ncards{gap:0;border-top:1px solid var(--line-soft);}
  .ncard{border-bottom:1px solid var(--line-soft);}
  .ncard__a{display:grid;grid-template-columns:112px 1fr;column-gap:14px;padding:14px 0;align-items:start;}
  .ncard__a .ph--th{grid-row:span 2;}
  .ncard__d{margin-top:0;}
  .ncard__t{margin-top:2px;font-size:14px;line-height:1.6;}
}

/* ------------------------------------------------------------
   HERO の黒を単色で潰さない（旧LPの黒の作り方を継承）
   黒の階調 ＋ 右上からの金の光 ＋ 左下の白の淡い光 ＋ 半透明の金の面 ＋ 下端の金線
   ------------------------------------------------------------ */
.hero{
  background:
    radial-gradient(120% 90% at 78% 6%,  rgba(245,197,24,.15) 0%, rgba(245,197,24,.045) 34%, rgba(245,197,24,0) 62%),
    radial-gradient(90% 70% at 12% 96%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 58%),
    linear-gradient(158deg, #1B1E23 0%, #131519 40%, #0D0D0D 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,0) 38%),
    radial-gradient(60% 55% at 90% 80%, rgba(245,197,24,.07) 0%, rgba(245,197,24,0) 70%);
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg, rgba(245,197,24,0) 0%, rgba(245,197,24,.72) 32%, rgba(245,197,24,.28) 68%, rgba(245,197,24,0) 100%);
}
/* 半透明の金の面。文字の可読性を落とさないよう、右上の余白側に薄く置く */
.hero__light{
  position:absolute;pointer-events:none;line-height:0;
  top:-6%;right:-18%;width:78%;max-width:640px;opacity:.55;
}
.hero__light svg{width:100%;height:auto;display:block;}
.anim-on .hero__light{animation:lightIn 1.6s var(--ease) .2s both;}
@keyframes lightIn{from{opacity:0;transform:translate3d(24px,-12px,0);}to{opacity:.55;transform:none;}}
.home .site-head{background:#1A1D22;border-bottom-color:rgba(255,255,255,.07);}
@media (min-width:1024px){
  .hero__light{top:-6%;right:-2%;width:42%;opacity:.68;}
  @keyframes lightIn{from{opacity:0;transform:translate3d(24px,-12px,0);}to{opacity:.68;transform:none;}}
}
@media (prefers-reduced-motion:reduce){ .anim-on .hero__light{animation:none;} }

/* ------------------------------------------------------------
   ①' TRACK RECORD — HEROの約束（Promise）の直後に裏付け（Credential）を置く
   数字が主役。カードUIにせず、罫線と余白だけで組む。
   HEROの黒（#0D0D0D 終端）と地続きにし、下端の金線を境目として使う。
   出現は既存の .reveal（不透明度と位置のみ）。数字のカウントアップはしない
   （実数以上に見せる演出を避けるため）。
   ------------------------------------------------------------ */
.s-trk{background:var(--ink-deep);color:var(--white);padding:52px 0 56px;}
.trk__head{display:grid;gap:10px;}
.trk__k{margin:0;color:rgba(255,255,255,.6);}
.trk__lead{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.62);}
.trk{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:28px;border-top:1px solid var(--line-dark);
}
.trk__i{
  position:relative;display:flex;flex-direction:column;
  padding:22px 12px 24px 0;border-bottom:1px solid var(--line-dark);
}
.trk__i:nth-child(even){padding-left:16px;padding-right:0;border-left:1px solid var(--line-dark);}
/* 出現時に上辺へ黄の線を引く（.flow と同じ語彙） */
.trk__i::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:2px;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
}
.trk__i.is-in::before{transform:scaleX(1);transition:transform .8s var(--ease) calc(var(--d,0ms) + 180ms);}
.anim-off .trk__i::before{transform:scaleX(1);}
.trk__tag{font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--yellow);}
.trk__v{
  margin-top:14px;font-family:var(--en);font-weight:700;white-space:nowrap;
  font-size:clamp(30px,9.4vw,42px);line-height:1;letter-spacing:-.035em;
  font-variant-numeric:lining-nums;
}
.trk__pre{margin-right:.14em;font-size:.4em;font-weight:600;letter-spacing:.06em;vertical-align:.12em;}
.trk__u{margin-left:.06em;font-family:var(--sans);font-size:.42em;font-weight:700;letter-spacing:0;}
.trk__u--plus{margin-left:.02em;font-family:var(--en);font-size:.62em;color:var(--yellow);vertical-align:.32em;}
.trk__sep{margin:0 .12em 0 .08em;font-weight:400;font-size:.62em;color:rgba(255,255,255,.35);vertical-align:.14em;}
.trk__d{margin-top:12px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.66);}
.trk__d .br{display:block;}
.trk__note{margin-top:22px;font-size:11px;line-height:1.8;color:rgba(255,255,255,.5);}

@media (min-width:768px){
  .s-trk{padding:72px 0 76px;}
  .trk__head{grid-template-columns:auto 1fr;align-items:baseline;column-gap:32px;}
  .trk__lead{justify-self:end;font-size:14px;}
  .trk{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px;}
  .trk__i{padding:30px 18px 32px 22px;border-bottom:0;}
  .trk__i:nth-child(even){padding-left:22px;padding-right:18px;}
  .trk__i:first-child{padding-left:0;}
  .trk__i + .trk__i{border-left:1px solid var(--line-dark);}
  .trk__v{margin-top:18px;font-size:clamp(32px,3.9vw,50px);}
  .trk__d{margin-top:16px;font-size:13px;}
  .trk__note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line-dark);font-size:11.5px;}
}
@media (min-width:1280px){
  .s-trk{padding:80px 0 88px;}
  .trk__i{padding:34px 22px 36px 28px;}
  .trk__i:nth-child(even){padding-left:28px;padding-right:22px;}
  .trk__i:first-child{padding-left:0;}
  .trk__v{font-size:50px;}
  .trk__d{font-size:13.5px;}
}
@media (prefers-reduced-motion:reduce){ .trk__i::before{transform:scaleX(1);transition:none;} }
/* 数字の出所（Founderの過去実績であること）をラベル側でも明示する。
   4列の下端で揃うよう、縦並びの末尾に押し下げる */
.trk__src{margin-top:auto;padding-top:12px;font-size:11px;line-height:1.6;color:rgba(255,255,255,.45);}
.trk__src span{font-family:var(--en);font-weight:600;letter-spacing:.04em;}
@media (min-width:768px){ .trk__src{padding-top:16px;font-size:11.5px;} }
