/* ==========================================================
   CSS variables — brand palette sampled from official banner
   ========================================================== */
:root{
  --navy:#0A2A43;
  --ink:#1C3549;
  --ink-soft:#51677A;
  --blue:#0068C9;
  --blue-dark:#024FA0;
  --blue-deep:#003A78;
  --green:#009262;
  --green-dark:#02754E;
  --orange:#FF5D08;
  --bg:#F6FAFE;
  --bg-soft:#EAF5FF;
  --bg-deep:#0B2540;
  --white:#FFFFFF;
  --border:#DCE9F4;
  --shadow: 0 10px 30px rgba(10,42,67,.08);
  --radius:16px;
  --maxw:1180px;
  font-size:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.8;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{position:relative;}
.eyebrow{
  display:inline-block;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--blue-dark);
  background:var(--bg-soft);
  padding:6px 16px;
  border-radius:99px;
  margin-bottom:18px;
}
h2.sec-title{
  font-size:clamp(1.5rem,3.6vw,2.3rem);
  font-weight:800;
  color:var(--navy);
  line-height:1.55;
  margin:0 0 20px;
  letter-spacing:.01em;
}
p.lead{
  font-size:clamp(1rem,2vw,1.15rem);
  color:var(--ink-soft);
  max-width:760px;
  margin:0 0 8px;
}
.brand-nudge{color:var(--blue);}
.toi-brand{color:inherit;}
.nudge-brand{color:var(--blue);}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  padding:16px 30px;
  border-radius:99px;
  font-size:1rem;
  transition:transform .15s ease, box-shadow .15s ease;
  cursor:pointer;
  border:none;
}
.btn-primary{
  background:linear-gradient(90deg,var(--blue),var(--blue-dark));
  color:#fff;
  box-shadow:0 8px 22px rgba(0,104,201,.28);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,104,201,.35);}
.btn-ghost{
  background:#fff;
  color:var(--blue-dark);
  border:1.5px solid var(--blue);
}
.center{text-align:center;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- Header ---------- */
.toi-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.toi-header-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
  height:64px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.toi-header-logo{
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.02em;
  justify-self:start;
  white-space:nowrap;
}
.toi-header-breadcrumb{
  justify-self:center;
  font-size:.85rem;
  font-weight:700;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--ink-soft);
}
.toi-header-breadcrumb a{border-bottom:1px solid transparent;}
.toi-header-breadcrumb a:hover{border-bottom-color:currentColor;}
.toi-header-breadcrumb .sep{color:#B9C7D3;}
.toi-header-contact{justify-self:end;}
.toi-header-contact a{
  display:inline-flex;
  align-items:center;
  background:var(--blue);
  color:#fff;
  font-weight:700;
  font-size:.82rem;
  padding:10px 18px;
  border-radius:99px;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(0,104,201,.25);
}
@media(max-width:760px){
  .toi-header-inner{
    grid-template-columns:1fr auto;
    height:auto;
    padding:10px 16px;
    row-gap:6px;
  }
  .toi-header-logo{font-size:.92rem;}
  .toi-header-breadcrumb{
    grid-column:1/3;
    order:3;
    justify-self:start;
    font-size:.72rem;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .toi-header-contact a{padding:8px 14px;font-size:.74rem;}
}

/* ---------- Footer ---------- */
.toi-footer{
  background:var(--bg-deep);
  color:#CBD9E6;
  padding:40px 0 28px;
  margin-top:100px;
}
.toi-footer-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
}
.toi-footer-copy{font-size:.78rem;color:#9FB4C7;}
.toi-footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem;font-weight:700;}
.toi-footer-links a{color:#DCE9F4;}
.toi-footer-links a:hover{color:#fff;}
.toi-footer-links .disabled{color:#5D7286;cursor:default;}
@media(max-width:600px){
  .toi-footer-inner{flex-direction:column;align-items:flex-start;}
}

/* ================= HERO ================= */
.hero{
  background:radial-gradient(120% 100% at 15% 0%, var(--bg-soft) 0%, #fff 55%);
  padding:56px 0 40px;
}
.hero-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:40px;
  align-items:center;
}
.hero-eyebrow{
  display:inline-block;font-size:.82rem;font-weight:700;color:var(--blue-dark);
  background:#fff;border:1px solid var(--border);padding:6px 16px;border-radius:99px;margin-bottom:22px;
}
.hero h1{
  font-size:clamp(2rem,4.6vw,3rem);
  font-weight:900;
  color:var(--navy);
  line-height:1.4;
  margin:0 0 20px;
}
.hero h1 .accent{color:var(--blue);}
.hero .sub{
  font-size:clamp(1.05rem,2.2vw,1.3rem);
  font-weight:700;
  color:var(--ink);
  line-height:1.7;
  margin:0 0 22px;
}
.hero .desc{
  font-size:1rem;color:var(--ink-soft);margin:0 0 22px;max-width:520px;
}
.hero .microcopy{
  display:flex;gap:12px;align-items:flex-start;
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:16px 18px;margin:0 0 28px;max-width:520px;box-shadow:var(--shadow);
}
.hero .microcopy .dot{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:var(--bg-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.95rem;
}
.hero .microcopy p{margin:0;font-size:.88rem;color:var(--ink-soft);line-height:1.7;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;}

/* hero visual */
.hero-visual{position:relative;}
.hero-visual svg{width:100%;height:auto;display:block;}
.hero-visual figcaption{
  margin-top:10px;text-align:center;font-size:.78rem;color:var(--ink-soft);
}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{order:-1;max-width:420px;margin:0 auto 8px;}
}

/* ================= generic section paddings ================= */
.sec{padding:76px 0;}
.sec-tight{padding:56px 0;}
.sec-airy{padding:100px 0;}
.sec-alt{background:var(--bg);}

/* ================= 学んで終わる問題 ================= */
.contrast{
  display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch;margin-top:36px;
}
.contrast .arrow-col{display:flex;align-items:center;justify-content:center;color:#B9C7D3;font-size:1.6rem;}
.contrast-panel{
  border-radius:var(--radius);padding:28px 26px;border:1px solid var(--border);
}
.contrast-panel h3{margin:0 0 16px;font-size:1.02rem;font-weight:800;color:var(--navy);}
.contrast-panel.in-training{background:linear-gradient(160deg,#EAF5FF,#fff);}
.contrast-panel.next-day{background:linear-gradient(160deg,#F3F5F7,#fff);}
.think-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.think-list li{
  background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.92rem;color:var(--ink);
}
.in-training .think-list li{border-color:#CFE6FA;color:var(--blue-dark);font-weight:600;}
.flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.flow-list li{
  position:relative;padding:10px 14px 10px 0;font-size:.92rem;color:var(--ink-soft);
}
.flow-list li:not(:last-child)::after{
  content:"↓";display:block;text-align:left;color:#B9C7D3;padding:2px 0 2px 0;
}
.flow-list li:last-child{font-weight:800;color:var(--ink);}
@media(max-width:760px){
  .contrast{grid-template-columns:1fr;}
  .contrast .arrow-col{transform:rotate(90deg);padding:4px 0;}
}

/* ================= 職場コミュニケーションの本質 ================= */
.definition-box{
  background:var(--bg-deep);color:#fff;border-radius:20px;padding:38px 34px;margin:32px 0;
  position:relative;
}
.definition-box .quote-mark{font-size:2.4rem;color:var(--blue);line-height:1;display:block;margin-bottom:6px;}
.definition-box p{margin:0;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:700;line-height:1.85;color:#fff;}
.network-wrap{margin-top:44px;display:flex;justify-content:center;}
.network-wrap svg{max-width:560px;width:100%;height:auto;}
.not-only{margin-top:18px;color:var(--ink-soft);font-size:.92rem;}
.sp-only{display:none;}
@media(max-width:600px){.sp-only{display:inline;}}

/* ================= 抽象から具体へ (Before/After) ================= */
.ba-list{display:flex;flex-direction:column;gap:18px;margin-top:36px;}
.ba-row{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);
}
.ba-before,.ba-after{font-size:.98rem;padding:6px 4px;}
.ba-before{color:#8B96A0;}
.ba-before::before{content:"抽象";display:block;font-size:.68rem;font-weight:800;color:#A8B4BE;letter-spacing:.08em;margin-bottom:4px;}
.ba-after{color:var(--navy);font-weight:800;}
.ba-after::before{content:"具体";display:block;font-size:.68rem;font-weight:800;color:var(--orange);letter-spacing:.08em;margin-bottom:4px;}
.ba-arrow{color:var(--orange);font-size:1.3rem;font-weight:800;}
@media(max-width:640px){
  .ba-row{grid-template-columns:1fr;text-align:left;}
  .ba-arrow{transform:rotate(90deg);justify-self:start;}
}

/* ================= コミュニケーション不足を分解する ================= */
.issue-flow{margin-top:40px;}
.issue-track{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.issue-col h4{
  font-size:.82rem;font-weight:800;color:var(--blue-dark);margin:0 0 12px;
  padding-bottom:8px;border-bottom:2px solid var(--bg-soft);
}
.issue-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.issue-col li{
  background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:.85rem;color:var(--ink-soft);
}
@media(max-width:820px){
  .issue-track{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .issue-track{grid-template-columns:1fr;}
}

/* ================= スキルを知る→仕事で使う / 用語の再定義 ================= */
.skill-transition{
  display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;
  margin:40px 0 8px;text-align:center;
}
.skill-pill{
  background:#fff;border:2px solid var(--border);border-radius:99px;padding:16px 30px;font-weight:800;color:var(--ink-soft);font-size:1rem;
}
.skill-arrow{font-size:1.8rem;color:var(--orange);font-weight:800;}
.skill-pill.after{border-color:var(--blue);color:var(--blue-dark);background:var(--bg-soft);}
.term-ribbon{margin-top:52px;display:flex;flex-direction:column;gap:14px;}
.term-row{
  display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:baseline;
  padding:14px 0;border-bottom:1px dashed var(--border);
}
.term-name{font-weight:800;color:var(--navy);font-size:1rem;}
.term-desc{color:var(--ink-soft);font-size:.92rem;line-height:1.85;}
@media(max-width:640px){
  .term-row{grid-template-columns:1fr;gap:4px;}
}

/* ================= 研修のキャズム ================= */
.chasm{margin-top:44px;}
.chasm-cliffs{
  display:grid;grid-template-columns:1fr 90px 1fr;align-items:end;gap:0;
}
.cliff{border-radius:14px 14px 0 0;padding:22px 20px 26px;min-height:150px;}
.cliff.left{background:linear-gradient(160deg,#EAF5FF,#DCEEFB);}
.cliff.right{background:linear-gradient(160deg,#EEF1F3,#E2E7EA);}
.cliff h4{margin:0 0 10px;font-size:.88rem;font-weight:800;color:var(--blue-dark);}
.cliff.right h4{color:#7A8894;}
.cliff p{margin:0;font-size:.86rem;color:var(--ink-soft);line-height:1.8;}
.cliff-gap{
  position:relative;height:150px;
  background:repeating-linear-gradient(-45deg,#F3F6F8,#F3F6F8 6px,#fff 6px,#fff 12px);
  display:flex;align-items:center;justify-content:center;
}
.cliff-gap span{
  writing-mode:vertical-rl;font-size:.68rem;color:#B9C7D3;font-weight:800;letter-spacing:.1em;
}
.chasm-caption{text-align:center;color:#8B96A0;font-size:.8rem;margin-top:10px;font-weight:700;}
.bridge{
  margin-top:48px;position:relative;padding-top:26px;
}
.bridge-deck{
  position:absolute;top:44px;left:0;right:0;height:6px;border-radius:3px;
  background:linear-gradient(90deg,var(--blue),var(--green));
}
.bridge-steps{
  display:grid;grid-template-columns:repeat(8,1fr);gap:6px;position:relative;
}
.bridge-step{text-align:center;}
.bridge-step .node{
  width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid var(--blue);
  display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:.75rem;font-weight:800;color:var(--blue-dark);
}
.bridge-step:nth-child(n+5) .node{border-color:var(--green);color:var(--green-dark);}
.bridge-step .label{font-size:.72rem;color:var(--ink-soft);font-weight:700;line-height:1.5;}
@media(max-width:900px){
  .bridge-steps{grid-template-columns:repeat(4,1fr);row-gap:28px;}
  .bridge-deck{display:none;}
}
@media(max-width:760px){
  .chasm-cliffs{grid-template-columns:1fr;}
  .cliff-gap{writing-mode:horizontal-tb;height:60px;}
  .cliff-gap span{writing-mode:horizontal-tb;}
}

/* ================= 2か月問い伴走 ================= */
.timeline{
  margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.tl-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 18px;box-shadow:var(--shadow);position:relative;
}
.tl-card .wk{
  display:inline-block;font-size:.72rem;font-weight:800;color:#fff;background:var(--blue);padding:4px 12px;border-radius:99px;margin-bottom:14px;
}
.tl-card:nth-child(2) .wk{background:var(--blue-dark);}
.tl-card:nth-child(3) .wk{background:var(--green);}
.tl-card:nth-child(4) .wk{background:var(--green-dark);}
.tl-card p{margin:0;font-weight:800;color:var(--navy);font-size:1rem;line-height:1.6;}
.tl-connector{
  display:none;
}
@media(max-width:820px){
  .timeline{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .timeline{grid-template-columns:1fr;}
}
.timeline-note{margin-top:22px;color:var(--ink-soft);font-size:.88rem;}

/* ================= 朝晩2回・合計数十秒 ================= */
.big-number-sec{
  background:linear-gradient(135deg,var(--blue-deep),var(--blue-dark));
  color:#fff;border-radius:28px;padding:64px 32px;text-align:center;
}
.big-number-sec .eyebrow{background:rgba(255,255,255,.14);color:#fff;}
.bn-row{display:flex;justify-content:center;gap:60px;flex-wrap:wrap;margin:30px 0 26px;}
.bn-item .num{font-size:clamp(2.6rem,7vw,4.2rem);font-weight:900;line-height:1;color:#fff;}
.bn-item .num .unit{font-size:1.4rem;font-weight:800;margin-left:4px;}
.bn-item .cap{margin-top:8px;font-size:.85rem;color:#CFE3F9;font-weight:700;letter-spacing:.05em;}
.bn-copy{max-width:560px;margin:0 auto;font-size:1.05rem;font-weight:700;line-height:2;color:#fff;}
.bn-copy small{display:block;font-size:.82rem;font-weight:500;color:#CFE3F9;margin-top:14px;line-height:1.9;}

/* ================= 問いの働き ================= */
.qflow{
  margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;
}
.qflow .qnode{
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 20px;font-weight:700;color:var(--ink);
  font-size:.94rem;box-shadow:var(--shadow);text-align:center;
}
.qflow .qnode.main{
  background:var(--bg-deep);color:#fff;font-size:1.02rem;max-width:280px;
}
.qflow .qarrow{color:var(--orange);font-size:1.3rem;font-weight:800;}
.qflow .qnode.final{background:var(--orange);color:#fff;}
.qa-examples{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.qa-col h4{font-size:.85rem;font-weight:800;color:var(--blue-dark);margin:0 0 14px;}
.qa-col.eve h4{color:var(--green-dark);}
.qa-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.qa-col li{
  background:#fff;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:8px;padding:10px 14px;font-size:.88rem;color:var(--ink-soft);
}
.qa-col.eve li{border-left-color:var(--green);}
@media(max-width:700px){
  .qa-examples{grid-template-columns:1fr;}
}
.q-purpose{
  margin-top:30px;color:var(--ink-soft);font-size:.92rem;background:var(--bg);border-radius:12px;padding:16px 20px;
}

/* ================= 言語による意識化 ================= */
.aware-wrap{
  margin-top:52px;position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;
}
.aware-center{
  background:var(--navy);color:#fff;border-radius:20px;padding:26px 30px;max-width:300px;text-align:center;
  font-weight:800;font-size:1.05rem;line-height:1.7;box-shadow:0 16px 40px rgba(10,42,67,.22);z-index:2;
}
.aware-satellite{
  position:absolute;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 16px;font-size:.82rem;font-weight:700;color:var(--ink-soft);box-shadow:var(--shadow);
}
.aware-s1{top:0;left:6%;}
.aware-s2{top:8%;right:2%;}
.aware-s3{bottom:6%;left:0;}
.aware-s4{bottom:0;right:8%;}
.aware-note{text-align:center;color:var(--ink-soft);font-size:.88rem;margin-top:26px;}
@media(max-width:700px){
  .aware-wrap{flex-direction:column;gap:14px;min-height:0;}
  .aware-satellite{position:static;display:inline-block;margin:4px;}
}

/* ================= 研修中の問い（学びの循環） ================= */
.cycle{margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;}
.cycle .cnode{
  background:#fff;border:2px solid var(--bg-soft);border-radius:99px;padding:12px 20px;font-size:.86rem;font-weight:700;color:var(--ink);
}
.cycle .carrow{color:#B9C7D3;font-size:1.1rem;}
.cycle .cloop{font-size:1.4rem;color:var(--blue);font-weight:800;}

/* ================= 15のコミュニケーション行動 ================= */
.action-main{
  margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;align-items:center;
}
.action-main .anode{
  background:var(--blue);color:#fff;border-radius:99px;padding:12px 22px;font-weight:800;font-size:.92rem;
}
.action-main .aarrow{color:var(--blue);font-size:1.2rem;}
.action-cloud{
  margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;position:relative;padding-top:24px;
}
.action-cloud::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:2px;height:20px;background:var(--border);
}
.action-cloud .anode2{
  background:#fff;border:1.5px solid var(--green);color:var(--green-dark);border-radius:99px;padding:9px 18px;font-weight:700;font-size:.84rem;
}

/* ================= 生産性との接続 ================= */
.causal{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:0;}
.causal .cstep{
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 26px;font-weight:700;color:var(--ink);font-size:.92rem;
  box-shadow:var(--shadow);
}
.causal .cstep.first{background:var(--bg-soft);color:var(--blue-dark);font-weight:800;}
.causal .cstep.last{background:var(--navy);color:#fff;font-weight:800;}
.causal .cdown{color:#B9C7D3;font-size:1.2rem;margin:4px 0;}
.causal-note{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:20px;}

/* ================= 心理的安全性 ================= */
.psafety-terms{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.psafety-terms span{
  background:var(--bg-soft);color:var(--blue-dark);border-radius:99px;padding:8px 18px;font-weight:700;font-size:.86rem;
}
.psafety-flow{margin-top:30px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;}
.psafety-flow .pnode{
  background:#fff;border:2px solid var(--border);border-radius:14px;padding:14px 24px;font-weight:800;color:var(--navy);font-size:.94rem;
}
.psafety-flow .parrow{color:var(--orange);font-size:1.3rem;}

/* ================= 3層設計 / 管理職だけを頑張らせない ================= */
.layers{margin-top:44px;display:flex;flex-direction:column;gap:14px;}
.layer{
  display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow);
}
.layer .ltag{font-weight:800;font-size:.95rem;border-radius:10px;padding:10px 4px;text-align:center;color:#fff;}
.layer.mgmt-exec .ltag{background:var(--navy);}
.layer.mgmt-lead .ltag{background:var(--blue);}
.layer.mgmt-staff .ltag{background:var(--green);}
.layer .lacts{display:flex;flex-wrap:wrap;gap:8px;}
.layer .lacts span{
  background:var(--bg);border-radius:99px;padding:6px 14px;font-size:.82rem;color:var(--ink-soft);font-weight:700;
}
.layers-mutual{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:6px;}
.layers-mutual .marrow{color:var(--blue);font-weight:800;}
.term-notes{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.term-notes .tn{background:var(--bg);border-radius:12px;padding:16px 18px;}
.term-notes .tn h5{margin:0 0 6px;font-size:.85rem;font-weight:800;color:var(--blue-dark);}
.term-notes .tn p{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.8;}
@media(max-width:700px){
  .layer{grid-template-columns:1fr;}
  .term-notes{grid-template-columns:1fr;}
}

/* ================= 問いの内在化 ================= */
.internalize{margin-top:44px;display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;}
.int-bubble{
  border-radius:18px;padding:22px 26px;max-width:280px;font-weight:700;font-size:.96rem;line-height:1.7;
}
.int-bubble.outside{background:var(--bg);color:var(--ink-soft);border:1px dashed var(--border);}
.int-bubble.outside::before{content:"外から";display:block;font-size:.7rem;font-weight:800;color:#A8B4BE;margin-bottom:8px;}
.int-bubble.inside{background:var(--navy);color:#fff;}
.int-bubble.inside::before{content:"本人の中から";display:block;font-size:.7rem;font-weight:800;color:#9FD6BC;margin-bottom:8px;}
.int-arrow{font-size:1.6rem;color:var(--orange);font-weight:800;}
.internalize-goal{
  margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
}
.internalize-goal span{
  background:var(--bg-soft);color:var(--blue-dark);border-radius:99px;padding:10px 20px;font-weight:800;font-size:.88rem;
}

/* ================= 日常活用化 ================= */
.daily-ba{margin-top:44px;display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;}
.daily-panel{border-radius:18px;padding:30px 26px;text-align:center;}
.daily-panel.know{background:var(--bg);border:1px solid var(--border);}
.daily-panel.act{background:var(--green);color:#fff;}
.daily-panel .tag{font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px;display:block;}
.daily-panel.know .tag{color:#A8B4BE;}
.daily-panel.act .tag{color:#D9F2E7;}
.daily-panel p{margin:0;font-size:1.05rem;font-weight:800;}
.daily-panel.know p{color:var(--ink-soft);}
.daily-flow{margin-top:14px;font-size:.78rem;color:inherit;opacity:.9;}
@media(max-width:700px){
  .daily-ba{grid-template-columns:1fr;}
}

/* ================= 母艦バナー ================= */
.mothership-banner{padding:20px 0;}
.mothership-banner a{
  display:block;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease;
}
.mothership-banner a:hover{transform:translateY(-3px);}
.mothership-banner img{width:100%;height:auto;}

/* ================= 習慣化・文化化 ================= */
.growth{margin-top:44px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;}
.growth .gnode{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 20px;text-align:center;box-shadow:var(--shadow);}
.growth .gnode .glabel{font-size:.72rem;font-weight:800;color:var(--blue-dark);letter-spacing:.08em;display:block;margin-bottom:8px;}
.growth .gnode p{margin:0;font-weight:700;color:var(--navy);font-size:.94rem;}
.growth .garrow{text-align:center;color:#B9C7D3;font-size:1.4rem;}
@media(max-width:760px){
  .growth{grid-template-columns:1fr;}
  .growth .garrow{transform:rotate(90deg);}
}
.growth-note{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:22px;}

/* ================= 問いだけでは解決できないこと ================= */
.honesty-box{
  margin-top:36px;background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:30px 28px;
}
.honesty-box .htitle{font-weight:800;color:var(--navy);margin:0 0 16px;font-size:1rem;}
.honesty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;}
.honesty-grid span{
  font-size:.86rem;color:var(--ink-soft);padding:6px 0;border-bottom:1px dashed var(--border);
}
.honesty-note{margin-top:18px;font-size:.86rem;color:var(--ink-soft);font-weight:700;}
@media(max-width:600px){.honesty-grid{grid-template-columns:1fr;}}

/* ================= 成果の見方 ================= */
.outcome-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.outcome-grid .ochip{
  background:var(--bg-soft);border-radius:12px;padding:14px 16px;font-size:.86rem;font-weight:700;color:var(--blue-dark);
  display:flex;align-items:center;gap:8px;
}
.outcome-grid .ochip::before{content:"✓";color:var(--green);font-weight:900;}
@media(max-width:820px){.outcome-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.outcome-grid{grid-template-columns:1fr;}}

/* ================= 向いている企業 ================= */
.fit-grid{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 26px;}
.fit-grid .fitem{
  display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink);padding:8px 0;border-bottom:1px solid var(--border);
}
.fit-grid .fitem::before{content:"";flex:0 0 auto;width:18px;height:18px;margin-top:2px;border-radius:5px;background:var(--orange);}
@media(max-width:700px){.fit-grid{grid-template-columns:1fr;}}

/* ================= 研修プログラム ================= */
.program-path{
  margin-top:44px;position:relative;background:linear-gradient(90deg,#EAF5FF,#E7F6EF);
  border-radius:20px;padding:34px 26px;
}
.program-tiers{display:grid;grid-template-columns:1fr 1fr 1.3fr 1.5fr;gap:16px;}
.ptier{display:flex;flex-direction:column;gap:8px;}
.ptier .ptitle{font-size:.72rem;font-weight:800;color:var(--blue-dark);letter-spacing:.05em;margin-bottom:2px;}
.ptier .pitem{
  background:#fff;border-radius:10px;padding:12px 14px;font-size:.84rem;font-weight:700;color:var(--ink);box-shadow:var(--shadow);
}
.ptier:last-child .pitem{background:var(--navy);color:#fff;}
.program-arrow{
  position:absolute;bottom:8px;left:26px;right:26px;text-align:right;color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.05em;
}
@media(max-width:820px){
  .program-tiers{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .program-tiers{grid-template-columns:1fr;}
}

/* ================= 実装手段 ================= */
.impl-list{margin-top:30px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.impl-list .iitem{
  background:#fff;border:1px solid var(--border);border-radius:99px;padding:12px 26px;font-weight:800;color:var(--blue-dark);font-size:.9rem;
}

/* ================= FAQ ================= */
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:10px;}
.faq-item{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff;}
.faq-q{
  padding:18px 22px;font-weight:700;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.95rem;
}
.faq-q::after{content:"+";font-size:1.3rem;color:var(--blue);flex:0 0 auto;transition:transform .2s ease;}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:300px;}
.faq-a p{margin:0;padding:0 22px 20px;color:var(--ink-soft);font-size:.9rem;line-height:1.9;}

/* ================= 最終CTA ================= */
.final-cta{
  background:linear-gradient(135deg,var(--navy),var(--blue-deep));
  border-radius:28px;padding:64px 32px;text-align:center;color:#fff;
}
.final-cta h2{
  font-size:clamp(1.4rem,3.4vw,2.1rem);font-weight:800;line-height:1.7;margin:0 0 34px;color:#fff;
}
.final-cta .cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.final-cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.final-cta .btn-ghost:hover{border-color:#fff;}

/* ================= 差し替え写真イラスト共通 ================= */
.img-illustration{
  width:100%;height:auto;display:block;border-radius:20px;box-shadow:var(--shadow);
}
.chasm-cliffs-img{margin-top:8px;}
.aware-wrap-img{margin-top:44px;}