.tl-lab{
  --tl-lab-red:#B42F26; --tl-lab-red-dark:#81322B; --tl-lab-red-tint:#F7EAE9;
  --tl-lab-navy:#2F5275; --tl-lab-navy-mid:#507192; --tl-lab-navy-pale:#CFDBE8; --tl-lab-navy-tint:#F2F5F9;
  --tl-lab-ink:#222; --tl-lab-ink-2:#333; --tl-lab-ink-3:#666; --tl-lab-ink-4:#8A8A8A;
  --tl-lab-line:#CCC; --tl-lab-line-soft:#E5E5E5; --tl-lab-line-hair:#EDEDED;
  --tl-lab-paper:#FFF; --tl-lab-paper-2:#FAFBFC; --tl-lab-paper-3:#F5F6F7;
  --tl-lab-w-single:900px; --tl-lab-w-wide:1120px;
  /* 和文はVCC公式サイトと同一のゴシックスタック。明朝は使わない */
  --tl-lab-font:"Segoe UI",Verdana,"\6E38\30B4\30B7\30C3\30AF",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  /* 欧文の研究塾名・STEP番号・数字のみに使用するセリフ */
  --tl-lab-font-brand:"Times New Roman",Times,Georgia,serif;
  font-family:var(--tl-lab-font);
  font-size:16px; line-height:1.9; color:var(--tl-lab-ink-2);
  background:var(--tl-lab-paper);
  -webkit-font-smoothing:antialiased;
}
.tl-lab *, .tl-lab *::before, .tl-lab *::after{box-sizing:border-box;}
.tl-lab img{max-width:100%;height:auto;}
.tl-lab a{color:inherit;}
.tl-lab p{margin:0 0 1.35em;}
.tl-lab p:last-child{margin-bottom:0;}
.tl-lab ul, .tl-lab ol{list-style:none;margin:0;padding:0;}
.tl-lab h1, .tl-lab h2, .tl-lab h3, .tl-lab h4{background:none;border:0;padding:0;text-align:left;}
.tl-lab :focus-visible{outline:2px solid var(--tl-lab-red);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.tl-lab *{animation:none!important;transition:none!important;}}

/* ---------- shared layout ---------- */
.tl-lab-wrap{width:100%;max-width:var(--tl-lab-w-single);margin:0 auto;padding:0 24px;}
.tl-lab-wrap-wide{width:100%;max-width:var(--tl-lab-w-wide);margin:0 auto;padding:0 24px;}
.tl-lab-sec{padding:60px 0;}
.tl-lab-sec--tint{background:var(--tl-lab-paper-2);}
.tl-lab-sec--navytint{background:var(--tl-lab-navy-tint);}
.tl-lab-sec--grid{background:var(--tl-lab-paper);background-image:linear-gradient(var(--tl-lab-navy-pale) 1px,transparent 1px),linear-gradient(90deg,var(--tl-lab-navy-pale) 1px,transparent 1px);background-size:44px 44px;background-position:-1px -1px;position:relative;}
.tl-lab-sec--grid::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.94));pointer-events:none;}
.tl-lab-sec--grid > *{position:relative;}

.tl-lab-eyebrow{font-size:11px;font-weight:600;letter-spacing:.26em;color:var(--tl-lab-red);margin:0 0 16px;text-transform:uppercase;}
.tl-lab-eyebrow--navy{color:var(--tl-lab-navy);}
.tl-lab h2.tl-lab-h2{font-family:var(--tl-lab-font);font-size:1.875rem;font-weight:700;line-height:1.55;letter-spacing:.02em;color:var(--tl-lab-ink);border-bottom:1px solid var(--tl-lab-line);padding-bottom:.45em;margin:0 0 1em;position:relative;text-wrap:balance;}
.tl-lab h2.tl-lab-h2::before{content:"";width:84px;height:2px;position:absolute;left:0;bottom:-1px;background:var(--tl-lab-red);}
.tl-lab h3.tl-lab-h3{font-family:var(--tl-lab-font);font-size:1.3125rem;font-weight:600;line-height:1.6;letter-spacing:.02em;color:var(--tl-lab-ink);margin:0 0 .7em;text-wrap:balance;}
.tl-lab-lead{font-size:1rem;line-height:1.95;color:var(--tl-lab-ink-2);letter-spacing:.01em;}
.tl-lab-note{font-size:.8125rem;line-height:1.8;color:var(--tl-lab-ink-4);}

/* ---------- ブランド英字（欧文の研究塾名） ---------- */
.tl-lab-brand{font-family:var(--tl-lab-font-brand);font-weight:400;letter-spacing:.01em;font-feature-settings:"kern" 1;}

/* ---------- buttons ---------- */
.tl-lab-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;text-decoration:none;font-weight:600;letter-spacing:.08em;padding:1.05em 2.4em;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease;font-size:1.0625rem;line-height:1.4;text-align:center;}
.tl-lab-btn::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);flex:none;}
.tl-lab-btn--primary{background:var(--tl-lab-red);color:#FFF;border-color:var(--tl-lab-red);}
.tl-lab-btn--primary:hover{background:var(--tl-lab-red-dark);border-color:var(--tl-lab-red-dark);}
.tl-lab-btn--ghost{background:transparent;color:#FFF;border-color:rgba(255,255,255,.55);}
.tl-lab-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#FFF;}
.tl-lab-btn--outline{background:#FFF;color:var(--tl-lab-navy);border-color:var(--tl-lab-navy);}
.tl-lab-btn--outline:hover{background:var(--tl-lab-navy);color:#FFF;}
.tl-lab-btn--block{display:flex;width:100%;}

/* ---------- 実画像（CLS対策：比率で領域を先に確保） ---------- */
.tl-lab figure.tl-lab-fig{margin:0;}
/* ワイド図版：②③④のみ、本文カラム（900px）より左右に広げて最大1120pxで中央配置。
   本文の見出し・導入文・結論文の幅は変更しない。901px以上でのみ適用。 */
@media screen and (min-width:901px){
  .tl-lab figure.tl-lab-fig--wide{
    width:max(100%, min(1120px, calc(100vw - 56px)));
    max-width:none;
    margin-left:50%;
    transform:translateX(-50%);
  }
}
.tl-lab-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--tl-lab-paper-3);}
.tl-lab-fig--profile .tl-lab-img{aspect-ratio:1002/1506;object-fit:cover;object-position:center top;}
.tl-lab-cap{font-size:.75rem;line-height:1.8;color:var(--tl-lab-ink-4);margin:10px 0 0;}
@media screen and (min-width:901px){figure.tl-lab-fig--wide{margin-top:8px;margin-bottom:8px;}}

/* 拡大表示（②③④） */
.tl-lab-zoom{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font-family:inherit;}
.tl-lab-zoom .tl-lab-zoom-hint{position:absolute;right:10px;bottom:10px;display:none;opacity:0;transition:opacity .16s ease;align-items:center;gap:.4em;background:rgba(47,82,117,.92);color:#FFF;font-size:.75rem;font-weight:700;padding:.45em .8em;letter-spacing:.02em;pointer-events:none;}
.tl-lab-zoom .tl-lab-zoom-hint::before{content:"";width:11px;height:11px;border:2px solid #FFF;border-radius:50%;}
.tl-lab-zoom:hover .tl-lab-zoom-hint, .tl-lab-zoom:focus-visible .tl-lab-zoom-hint{display:inline-flex;opacity:1;}
#tlLabLightbox{position:fixed;inset:0;z-index:100;background:rgba(17,17,17,.94);display:none;flex-direction:column;}
#tlLabLightbox:not([hidden]){display:flex;}
body.tl-lab-lb-open .tl-lab-spcta{display:none!important;}
#tlLabLightbox .tl-lab-lb-bar{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;color:#FFF;font-size:.75rem;line-height:1.6;}
#tlLabLightbox .tl-lab-lb-close{appearance:none;border:1px solid rgba(255,255,255,.6);background:transparent;color:#FFF;font-family:inherit;font-size:.8125rem;font-weight:700;padding:.5em 1.1em;cursor:pointer;flex:none;}
#tlLabLightbox .tl-lab-lb-close:hover{background:rgba(255,255,255,.15);}
#tlLabLightbox .tl-lab-lb-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center;padding:0 0 16px;}
#tlLabLightbox img{display:block;max-width:none;width:1100px;height:auto;margin:auto;}
@media (min-width:1200px){#tlLabLightbox img{width:auto;max-width:96vw;}}


/* ---------- SECTION 01 hero ---------- */
.tl-lab-hero{border-bottom:1px solid var(--tl-lab-line-soft);padding:44px 0 56px;background:#FFF;background-image:linear-gradient(var(--tl-lab-navy-pale) 1px,transparent 1px),linear-gradient(90deg,var(--tl-lab-navy-pale) 1px,transparent 1px);background-size:44px 44px;position:relative;}
.tl-lab-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.96));}
.tl-lab-hero > *{position:relative;}
.tl-lab-hero-visual{margin:0 0 24px;}
.tl-lab-hero-text{max-width:100%;}
.tl-lab-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.tl-lab-badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.1em;padding:.5em 1.1em;line-height:1.4;}
.tl-lab-badge--cat{background:var(--tl-lab-red);color:#FFF;}
.tl-lab-badge--open{background:var(--tl-lab-navy);color:#FFF;}
.tl-lab h1.tl-lab-title{font-family:var(--tl-lab-font-brand);font-size:2.375rem;font-weight:400;line-height:1.3;letter-spacing:.015em;color:var(--tl-lab-ink);margin:0 0 .55em;text-wrap:balance;}
.tl-lab h1.tl-lab-title .tl-lab-sub{display:block;font-family:var(--tl-lab-font);font-size:1.0625rem;font-weight:500;color:var(--tl-lab-navy);letter-spacing:.16em;margin-top:.7em;}
.tl-lab-hero-catch{font-size:1.1875rem;font-weight:500;line-height:1.95;letter-spacing:.02em;color:var(--tl-lab-red);margin:0 0 .9em;}
.tl-lab-hero-desc{font-size:.9375rem;line-height:2;color:var(--tl-lab-ink-2);margin:0 0 1.6em;}
/* 画像の直下は「価値の説明」、右カラムに「判断材料＋CTA」を集約して重複感を解消 */
.tl-lab-hero-lower{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:start;}
.tl-lab-hero-desc{font-size:.9375rem;line-height:2.05;color:var(--tl-lab-ink-2);margin:0;letter-spacing:.01em;}
.tl-lab-hero-card{border:1px solid var(--tl-lab-line-soft);background:#FFF;padding:20px 24px 24px;}
.tl-lab-hero-card-h{font-size:.6875rem;font-weight:600;letter-spacing:.2em;color:var(--tl-lab-ink-4);margin:0 0 6px;text-transform:uppercase;}
.tl-lab-hero-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);margin:0 0 20px;}
.tl-lab-hero-card dt{font-size:.75rem;font-weight:500;letter-spacing:.06em;color:var(--tl-lab-ink-3);padding:8px 0;border-bottom:1px solid var(--tl-lab-line-hair);white-space:nowrap;}
.tl-lab-hero-card dd{margin:0;font-size:.9375rem;font-weight:500;color:var(--tl-lab-ink);padding:8px 0 8px 16px;border-bottom:1px solid var(--tl-lab-line-hair);text-align:right;font-variant-numeric:tabular-nums;line-height:1.5;}
.tl-lab-hero-card dt:last-of-type, .tl-lab-hero-card dd:last-of-type{border-bottom:0;}
.tl-lab-hero-card .tl-lab-em-price{color:var(--tl-lab-red);font-size:1.0625rem;font-weight:700;}
.tl-lab-hero-card .tl-lab-em-navy{color:var(--tl-lab-navy);font-weight:600;}
.tl-lab-hero-card .tl-lab-tax-s{font-size:.75rem;font-weight:500;white-space:nowrap;}
.tl-lab-hero-deadline{display:flex;align-items:center;justify-content:center;gap:.6em;margin:14px 0 0;font-size:.75rem;color:var(--tl-lab-ink-2);font-variant-numeric:tabular-nums;}
.tl-lab-hero-deadline .tl-lab-lbl{background:var(--tl-lab-navy);color:#FFF;font-size:.625rem;font-weight:600;letter-spacing:.08em;padding:.35em .7em;}
.tl-lab-hero-deadline b{color:var(--tl-lab-ink);font-weight:600;}

/* ---------- SECTION 02 checklist ---------- */
.tl-lab-checks{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--tl-lab-line-soft);border:1px solid var(--tl-lab-line-soft);}
.tl-lab-checks li{background:#FFF;display:flex;gap:16px;align-items:flex-start;padding:16px 24px;font-size:1rem;line-height:1.85;letter-spacing:.01em;}
.tl-lab-check-mark{flex:none;width:18px;height:18px;margin-top:5px;border:2px solid var(--tl-lab-red);display:grid;place-items:center;}
.tl-lab-check-mark::after{content:"";width:9px;height:5px;border-left:2px solid var(--tl-lab-red);border-bottom:2px solid var(--tl-lab-red);transform:rotate(-45deg) translate(1px,-1px);}

/* ---------- SECTION 03 key message ---------- */
.tl-lab-keymsg{background:var(--tl-lab-navy);color:#FFF;padding:30px 32px;margin:28px 0 0;text-align:center;}
.tl-lab-keymsg .tl-lab-keymsg-label{display:block;font-size:.9375rem;font-weight:400;opacity:.82;margin-bottom:.5em;}
.tl-lab-keymsg strong{display:block;font-size:1.375rem;font-weight:600;line-height:1.85;letter-spacing:.04em;text-wrap:balance;}
.tl-lab-keymsg em{font-style:normal;color:#FFC9C4;}

/* ---------- SECTION 04 comparison ---------- */
.tl-lab-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0 0;}
.tl-lab-compare{text-align:center;margin:24px 0 0;}
.tl-lab-compare .tl-lab-compare-from{font-size:1rem;color:var(--tl-lab-ink-3);}
.tl-lab-compare .tl-lab-compare-mark{display:block;margin:.4em auto;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid var(--tl-lab-red);}
.tl-lab-compare .tl-lab-compare-to{font-size:1.1875rem;font-weight:600;color:var(--tl-lab-red);line-height:1.8;letter-spacing:.03em;text-wrap:balance;}

/* ---------- SECTION 05 three elements ---------- */
.tl-lab-tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 0;}
/* 中間CTA：直前の内容を受ける一文を添えた控えめな導線 */
.tl-lab-midcta{margin:34px 0 0;border:1px solid var(--tl-lab-navy);border-top:3px solid var(--tl-lab-red);background:#FFF;padding:32px 34px;text-align:center;box-shadow:0 2px 18px rgba(47,82,117,.08);}
.tl-lab-midcta-lead{font-size:1.0625rem;font-weight:500;line-height:2;letter-spacing:.02em;color:var(--tl-lab-ink);margin:0 0 24px;text-wrap:balance;}
.tl-lab-midcta-note{font-size:.75rem;color:var(--tl-lab-ink-3);margin:16px 0 0;font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.tl-lab-pullquote{border-left:3px solid var(--tl-lab-red);background:var(--tl-lab-red-tint);padding:22px 26px;margin:26px 0 0;font-size:1.125rem;font-weight:500;line-height:1.95;letter-spacing:.03em;color:var(--tl-lab-red-dark);text-wrap:balance;}

/* ---------- SECTION 06 5STEP ---------- */
/* 5STEP：未来→現在の逆算軸を明示し、カードは余白を確保した論理図として構成 */
.tl-lab-steps-axis{display:flex;align-items:center;gap:18px;margin:36px 0 16px;font-size:.75rem;letter-spacing:.14em;color:var(--tl-lab-navy);font-weight:600;}
.tl-lab-steps-axis .tl-lab-steps-rule{flex:1;height:1px;background:var(--tl-lab-navy-pale);position:relative;}
.tl-lab-steps-axis .tl-lab-steps-rule::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);border-left:8px solid var(--tl-lab-navy-pale);border-top:4px solid transparent;border-bottom:4px solid transparent;}
.tl-lab-steps{display:grid;grid-template-columns:repeat(var(--tl-lab-step-count,5),minmax(0,1fr));gap:0;margin:0;border:1px solid var(--tl-lab-line-soft);background:#FFF;}
.tl-lab-step{padding:26px 12px 30px;border-right:1px solid var(--tl-lab-line-soft);position:relative;display:flex;flex-direction:column;gap:0;}
.tl-lab-step:last-child{border-right:0;}
.tl-lab-step::after{display:none;}
.tl-lab-step-n{font-family:var(--tl-lab-font-brand);font-size:1.875rem;font-weight:400;line-height:1;color:var(--tl-lab-navy-pale);font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:0 0 14px;}
.tl-lab-step-t{font-size:.9375rem;font-weight:600;line-height:1.6;color:var(--tl-lab-ink);margin:0 0 10px;letter-spacing:.005em;padding-top:12px;border-top:2px solid var(--tl-lab-navy);}
.tl-lab-step-d{font-size:.75rem;line-height:1.85;color:var(--tl-lab-ink-3);margin:0;}

/* ---------- SECTION 07 program ---------- */
.tl-lab-prog{display:grid;gap:16px;margin:26px 0 0;}
.tl-lab-prog-item{position:relative;}
.tl-lab-prog-item:not(:last-child)::after{content:"";position:absolute;left:100px;bottom:-18px;width:1px;height:18px;background:var(--tl-lab-navy-pale);}
.tl-lab-prog-item{border:1px solid var(--tl-lab-line-soft);background:#FFF;display:grid;grid-template-columns:200px minmax(0,1fr);}
.tl-lab-prog-when{background:var(--tl-lab-navy);color:#FFF;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.tl-lab-prog-no{font-size:.6875rem;font-weight:500;letter-spacing:.18em;opacity:.85;}
.tl-lab-prog-date{font-size:1.0625rem;font-weight:600;line-height:1.5;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.tl-lab-prog-time{font-size:.875rem;font-variant-numeric:tabular-nums;opacity:.9;}
.tl-lab-prog-body{padding:20px 26px;}
.tl-lab-prog-t{font-size:1.1875rem;font-weight:600;color:var(--tl-lab-ink);margin:0 0 5px;line-height:1.55;letter-spacing:.02em;}
.tl-lab-prog-sub{font-size:.9375rem;color:var(--tl-lab-red);font-weight:500;margin:0 0 16px;letter-spacing:.02em;}
.tl-lab-prog-label{font-size:.6875rem;font-weight:600;letter-spacing:.12em;color:var(--tl-lab-ink-4);margin:0 0 4px;}
.tl-lab-prog-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;}
.tl-lab-prog-tags li{font-size:.8125rem;background:var(--tl-lab-paper-3);border:1px solid var(--tl-lab-line-hair);padding:.35em .8em;line-height:1.5;}
/* 第1回の検討領域は1行に圧縮し、回ごとの情報量の偏りを抑える */
.tl-lab-prog-topics{font-size:.8125rem;line-height:1.85;color:var(--tl-lab-ink-3);margin:0 0 14px;letter-spacing:.01em;}
.tl-lab-prog-out{background:var(--tl-lab-red-tint);border-left:3px solid var(--tl-lab-red);padding:12px 16px;font-size:.9375rem;line-height:1.7;}
.tl-lab-prog-out b{color:var(--tl-lab-red-dark);font-weight:600;display:block;font-size:.6875rem;letter-spacing:.14em;margin-bottom:3px;}

/* ---------- SECTION 09 takeaways ---------- */
.tl-lab-takeaways{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tl-lab-line-soft);background:#FFF;}
.tl-lab-takeaways li{padding:12px 18px;font-size:.9375rem;line-height:1.7;display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--tl-lab-line-soft);}
.tl-lab-takeaways li:nth-child(odd){border-right:1px solid var(--tl-lab-line-soft);}
.tl-lab-takeaways li::before{content:"";flex:none;width:7px;height:7px;margin-top:.6em;background:var(--tl-lab-red);}
.tl-lab-takeaways li.tl-lab-takeaways-key{grid-column:1/-1;border-right:0;background:var(--tl-lab-navy-tint);font-weight:700;}
.tl-lab-takeaways li.tl-lab-takeaways-key:last-child{border-bottom:0;}

/* ---------- SECTION 10 photos ---------- */
.tl-lab-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 12px;}

/* ---------- SECTION 11 profile ---------- */
.tl-lab-profile{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;align-items:start;margin:26px 0 0;}
.tl-lab-profile-role{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--tl-lab-navy);margin:0 0 8px;line-height:1.7;}
.tl-lab-profile-name{font-size:1.5rem;font-weight:600;color:var(--tl-lab-ink);margin:0 0 4px;letter-spacing:.08em;}
.tl-lab-profile-name .tl-lab-profile-en{display:block;font-family:var(--tl-lab-font-brand);font-size:.8125rem;font-weight:400;letter-spacing:.16em;color:var(--tl-lab-ink-4);margin-top:6px;}
/* 講師の専門領域を本文の前に整理 */
.tl-lab-expertise{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--tl-lab-line-soft);}
.tl-lab-expertise li{padding:14px 0;border-bottom:1px solid var(--tl-lab-line-soft);}
.tl-lab-ex-k{display:block;font-size:.9375rem;font-weight:600;color:var(--tl-lab-navy);letter-spacing:.02em;margin-bottom:3px;}
.tl-lab-ex-v{display:block;font-size:.8125rem;line-height:1.85;color:var(--tl-lab-ink-3);}
.tl-lab-profile-body{grid-column:1/-1;max-width:760px;margin-top:22px;}
.tl-lab-profile-body p{font-size:.9375rem;line-height:1.95;margin:0 0 .95em;letter-spacing:.01em;}
.tl-lab-profile-body p:last-child{margin-bottom:0;}

/* ---------- SECTION 12 outline ---------- */
.tl-lab-outline{border-top:2px solid var(--tl-lab-ink);margin:24px 0 0;}
.tl-lab-outline dl{display:grid;grid-template-columns:180px minmax(0,1fr);margin:0;}
.tl-lab-outline dt{border-bottom:1px solid var(--tl-lab-line-soft);padding:13px 18px;font-size:.9375rem;font-weight:700;color:var(--tl-lab-ink);background:var(--tl-lab-paper-2);}
.tl-lab-outline dd{border-bottom:1px solid var(--tl-lab-line-soft);padding:13px 20px;margin:0;font-size:.9375rem;line-height:1.8;}
.tl-lab-price-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--tl-lab-navy);margin:0 0 2px;}
.tl-lab-price-main{font-size:2.125rem;font-weight:700;color:var(--tl-lab-red);line-height:1.3;font-variant-numeric:tabular-nums;display:block;letter-spacing:.005em;margin:0;}
.tl-lab-price-main .tl-lab-price-tax{font-size:1rem;font-weight:700;letter-spacing:0;}
.tl-lab-price-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;margin:.5em 0 0;font-size:.875rem;color:var(--tl-lab-ink-3);}
.tl-lab-price-off{display:inline-block;background:var(--tl-lab-red-tint);color:var(--tl-lab-red-dark);border:1px solid var(--tl-lab-red);font-size:.8125rem;font-weight:700;padding:.2em .7em;letter-spacing:.02em;}
.tl-lab-price-was s{color:var(--tl-lab-ink-4);font-variant-numeric:tabular-nums;}
.tl-lab-tag{display:inline-block;font-size:.8125rem;font-weight:700;line-height:1.5;padding:.35em .85em;background:var(--tl-lab-navy-tint);color:var(--tl-lab-navy);border:1px solid var(--tl-lab-navy-pale);}
.tl-lab-tag--solid{background:var(--tl-lab-navy);color:#FFF;border-color:var(--tl-lab-navy);}
.tl-lab-tagrow{display:flex;flex-wrap:wrap;gap:6px;margin:.7em 0 0;}
.tl-lab-price-note{margin:.9em 0 0;padding:.7em 1em;background:var(--tl-lab-navy-tint);border-left:3px solid var(--tl-lab-navy);font-size:.875rem;font-weight:700;line-height:1.7;color:var(--tl-lab-navy);}
.tl-lab-sched{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.tl-lab-sched th, .tl-lab-sched td{text-align:left;padding:6px 12px 6px 0;font-size:.9375rem;vertical-align:top;}
.tl-lab-sched th{font-weight:700;color:var(--tl-lab-navy);white-space:nowrap;}

/* ---------- SECTION 13/14 ---------- */
.tl-lab-absence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 0;}
.tl-lab-absence-card{border:1px solid var(--tl-lab-line-soft);padding:24px;background:#FFF;}
.tl-lab-absence-card--accent{border-top:3px solid var(--tl-lab-navy);}
.tl-lab-absence-card h4{font-size:1.0625rem;font-weight:600;margin:0 0 12px;color:var(--tl-lab-ink);letter-spacing:.02em;line-height:1.6;}
.tl-lab-absence-card p{font-size:.9375rem;line-height:1.85;margin:0 0 .8em;}
.tl-lab-absence-card p:last-child{margin-bottom:0;}
.tl-lab details.tl-lab-terms{border:1px solid var(--tl-lab-line-soft);background:var(--tl-lab-paper-3);margin:34px 0 0;}
.tl-lab details.tl-lab-terms summary{cursor:pointer;list-style:none;padding:16px 20px;font-size:.9375rem;font-weight:700;color:var(--tl-lab-ink-3);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.tl-lab details.tl-lab-terms summary::-webkit-details-marker{display:none;}
.tl-lab details.tl-lab-terms summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--tl-lab-ink-4);border-bottom:1.5px solid var(--tl-lab-ink-4);transform:rotate(45deg);flex:none;transition:transform .2s ease;}
.tl-lab details.tl-lab-terms[open] summary::after{transform:rotate(-135deg);}
.tl-lab details.tl-lab-terms .tl-lab-terms-body{padding:0 20px 20px;font-size:.8125rem;line-height:1.9;color:var(--tl-lab-ink-3);}
.tl-lab details.tl-lab-terms .tl-lab-terms-body p{margin:0 0 1em;}

/* ---------- SECTION 15 final CTA ---------- */
.tl-lab-finalcta{background:var(--tl-lab-navy);color:#FFF;padding:62px 0;text-align:center;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;}
.tl-lab-finalcta h2{font-size:1.75rem;font-weight:600;line-height:1.75;letter-spacing:.04em;margin:0 0 .7em;color:#FFF;text-wrap:balance;}
.tl-lab-finalcta .tl-lab-finalcta-name{font-size:1.0625rem;font-weight:400;color:var(--tl-lab-navy-pale);margin:0 0 2.2em;line-height:1.9;letter-spacing:.06em;}
.tl-lab-finalcta .tl-lab-finalcta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.tl-lab-finalcta .tl-lab-finalcta-fine{margin:2em 0 0;font-size:.8125rem;color:rgba(255,255,255,.7);}

/* ---------- SP fixed CTA ---------- */
.tl-lab-spcta{display:none;}

/* ---------- responsive ---------- */
@media screen and (max-width:900px){
  .tl-lab-zoom .tl-lab-zoom-hint{display:inline-flex;opacity:1;}
  .tl-lab-hero-lower{grid-template-columns:1fr;gap:26px;}
  .tl-lab-sec{padding:44px 0;}
  .tl-lab h2.tl-lab-h2{font-size:1.5rem;}
  .tl-lab h3.tl-lab-h3{font-size:1.25rem;}
  .tl-lab h1.tl-lab-title{font-size:1.875rem;}
  .tl-lab-compare{grid-template-columns:1fr;gap:14px;}
  .tl-lab-tri{grid-template-columns:1fr;gap:12px;}
  .tl-lab-steps{grid-template-columns:1fr;}
  .tl-lab-steps-axis{display:none;}
  .tl-lab-step{border-right:0;border-bottom:1px solid var(--tl-lab-line-soft);padding:20px 22px 22px;}
  .tl-lab-step:last-child{border-bottom:0;}
  .tl-lab-step-n{font-size:1.5rem;margin:0 0 10px;}
  .tl-lab-step::after{display:block;content:"";position:absolute;right:auto;left:50%;top:auto;bottom:-8px;transform:translateX(-50%) rotate(135deg);width:13px;height:13px;background:#FFF;border-top:1px solid var(--tl-lab-navy-pale);border-right:1px solid var(--tl-lab-navy-pale);z-index:2;}
  .tl-lab-step:last-child::after{display:none;}
  .tl-lab-prog-item{grid-template-columns:1fr;}
  .tl-lab-prog-item:not(:last-child)::after{display:none;}
  .tl-lab-prog-when{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:10px;padding:14px 20px;}
  .tl-lab-photos{grid-template-columns:1fr 1fr;}
  .tl-lab-profile{grid-template-columns:190px minmax(0,1fr);gap:26px;}
  .tl-lab-midcta{padding:24px 20px;margin-top:28px;}
  .tl-lab-absence{grid-template-columns:1fr;}
  .tl-lab-finalcta h2{font-size:1.5rem;}
}
@media screen and (max-width:600px){
  .tl-lab body{font-size:15px;}
  .tl-lab-wrap, .tl-lab-wrap-wide{padding:0 18px;}
  .tl-lab-sec{padding:34px 0;}
  .tl-lab h2.tl-lab-h2{font-size:1.3125rem;margin-bottom:.85em;}
  .tl-lab h1.tl-lab-title{font-size:1.75rem;}
  .tl-lab-hero-card{padding:18px 18px 20px;}
  .tl-lab h1.tl-lab-title .tl-lab-sub{font-size:.9375rem;}
  .tl-lab-hero{padding:28px 0 36px;}
  .tl-lab-zoom .tl-lab-zoom-hint{display:inline-flex;opacity:1;}
  .tl-lab-hero-catch{font-size:.9375rem;}
  .tl-lab-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tl-lab-hero-facts dd{font-size:.9375rem;}
  .tl-lab-btn{width:100%;padding:1.1em 1.4em;font-size:1rem;}
  .tl-lab-keymsg{padding:22px 18px;margin-top:22px;}
  .tl-lab-keymsg strong{font-size:1.1875rem;}
  .tl-lab-compare .tl-lab-compare-to{font-size:1.0625rem;}
  .tl-lab-pullquote{font-size:1rem;padding:18px 20px;}
  .tl-lab-takeaways{grid-template-columns:1fr;}
  .tl-lab-photos{grid-template-columns:1fr;}
  .tl-lab-profile{grid-template-columns:1fr;gap:18px;}
  .tl-lab-profile-photo{max-width:210px;}
  .tl-lab-profile-body{margin-top:16px;}
  .tl-lab-midcta{padding:24px 18px;}
  .tl-lab-midcta-lead{font-size:.9375rem;}
  .tl-lab-outline dl{grid-template-columns:1fr;}
  .tl-lab-outline dt{border-bottom:0;padding:10px 14px 2px;}
  .tl-lab-outline dd{padding:2px 14px 11px;}
  .tl-lab-price-main{font-size:1.875rem;}
  .tl-lab-finalcta{padding:42px 0;}
  .tl-lab-finalcta h2{font-size:1.3125rem;}
  .tl-lab-spcta{display:block;opacity:0;transform:translateY(100%);transition:opacity .25s ease,transform .25s ease;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.96);border-top:1px solid var(--tl-lab-line-soft);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(0,0,0,.08);}
  .tl-lab-spcta .tl-lab-btn{padding:.95em 1.2em;font-size:.9375rem;}
  .tl-lab body{padding-bottom:76px;}
}


/* ============================================================
   タイポグラフィ（案B）：和文はVCC既存ゴシック、セリフは欧文・数字のみ
   ============================================================ */
.tl-lab h1.tl-lab-title{font-family:var(--tl-lab-font);font-weight:600;letter-spacing:.02em;}
.tl-lab h1.tl-lab-title .tl-lab-brand{font-family:var(--tl-lab-font-brand);font-weight:400;letter-spacing:.015em;}
.tl-lab h1.tl-lab-title .tl-lab-sub{font-family:var(--tl-lab-font);}
.tl-lab h2.tl-lab-h2,.tl-lab h3.tl-lab-h3,.tl-lab .tl-lab-finalcta h2{font-family:var(--tl-lab-font);}
.tl-lab .tl-lab-step-n{font-family:var(--tl-lab-font-brand);font-weight:400;}
.tl-lab .tl-lab-profile-en{font-family:var(--tl-lab-font-brand);font-weight:400;}

/* ============================================================
   SECTION 01 ファーストビュー：SPのみ拡大導線を出す（JSは共通1本）
   PC/SPの出し分けはCSSのみ。JS側に画面幅の判定は持たせない。
   ============================================================ */
.tl-lab .tl-lab-zoom--fv .tl-lab-zoom-hint{display:inline-flex;opacity:.9;font-size:.6875rem;}
@media screen and (min-width:601px){
  .tl-lab .tl-lab-zoom--fv{pointer-events:none;cursor:default;}
  .tl-lab .tl-lab-zoom--fv .tl-lab-zoom-hint{display:none;}
}

/* 構造用ラッパー（試作版では素の div だった箇所） */
.tl-lab .tl-lab-profile-head{min-width:0;}
.tl-lab .tl-lab-hero-cta{display:flex;flex-wrap:wrap;gap:14px;}
@media screen and (max-width:600px){ .tl-lab .tl-lab-hero-cta{flex-direction:column;} }

/* ===== 2026-09-02 情報設計・密度調整 ここから ===== */

/* 図版内と同一メッセージの補助テキストはPCで非表示（SPは画像内文字が読めないため表示） */
@media screen and (min-width:901px){ .tl-lab .tl-lab-echo{display:none!important;} }

/* 小見出し（階層の橋渡し） */
.tl-lab-subhead{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--tl-lab-ink-4);margin:30px 0 10px;}

/* SECTION 09 完成する成果物カード */
.tl-lab-deliv{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--tl-lab-deliv-count,4),minmax(0,1fr));border:1px solid var(--tl-lab-navy-pale);background:#FFF;}
.tl-lab-deliv-item{padding:22px 20px 24px;border-right:1px solid var(--tl-lab-navy-pale);display:flex;flex-direction:column;}
.tl-lab-deliv-item:last-child{border-right:0;}
.tl-lab-deliv-n{font-family:var(--tl-lab-font-brand);font-size:1.5rem;line-height:1;color:var(--tl-lab-red);letter-spacing:.03em;margin:0 0 12px;}
.tl-lab-deliv-t{font-size:1rem;font-weight:700;line-height:1.6;color:var(--tl-lab-ink);margin:0 0 8px;padding-top:10px;border-top:2px solid var(--tl-lab-navy);letter-spacing:.01em;}
.tl-lab-deliv-d{font-size:.8125rem;line-height:1.85;color:var(--tl-lab-ink-3);margin:0;}
/* 奇数項目でも空セルが見えないように最後を全幅化 */
.tl-lab-takeaways li.tl-lab-takeaways-wide{grid-column:1/-1;border-right:0;}
.tl-lab-takeaways li:last-child{border-bottom:0;}

/* SECTION 08 フォローアップ：タグ→チェックリスト */
.tl-lab-fulist{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;}
.tl-lab-fulist li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--tl-lab-line-soft);font-size:.9375rem;line-height:1.75;}
.tl-lab-fulist .tl-lab-check-mark{margin-top:4px;}

/* SECTION 10 実施後のアクション */
.tl-lab-actions{margin:22px 0 0;border-left:3px solid var(--tl-lab-navy);background:var(--tl-lab-navy-tint);padding:20px 24px;}
.tl-lab-actions-h{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--tl-lab-navy);margin:0 0 10px;}
.tl-lab-actions-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;}
.tl-lab-actions-l li{position:relative;padding-left:18px;font-size:.9375rem;line-height:1.75;color:var(--tl-lab-ink-2);}
.tl-lab-actions-l li::before{content:"";position:absolute;left:0;top:.62em;width:0;height:0;border-left:6px solid var(--tl-lab-red);border-top:4px solid transparent;border-bottom:4px solid transparent;}

/* 中間CTA：注記を分割表示 */
.tl-lab-midcta-note span + span::before{content:"／";opacity:.5;margin:0 .4em;}

/* 最終CTA：見出しリセットの左寄せを打ち消して中央軸に統一 */
.tl-lab .tl-lab-finalcta h2{text-align:center;}
.tl-lab-finalcta .tl-lab-finalcta-brand{display:block;font-family:var(--tl-lab-font-brand);letter-spacing:.1em;}
.tl-lab-finalcta .tl-lab-finalcta-sub{display:inline-block;}
.tl-lab-finalcta .tl-lab-finalcta-name{margin:0 0 1.9em;}
.tl-lab-finalcta .tl-lab-finalcta-fine span + span::before{content:"／";opacity:.55;margin:0 .4em;}

@media screen and (max-width:900px){
  /* PROGRAM 日付帯：回数／日付／時間の3層構造で固定（日付の文字数で高さが変わらない） */
  .tl-lab-prog-when{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:2px;padding:12px 20px 14px;}
  .tl-lab-prog-no{opacity:.8;}
  .tl-lab-deliv{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tl-lab-deliv-item:nth-child(2n){border-right:0;}
  .tl-lab-deliv-item:nth-child(-n+2){border-bottom:1px solid var(--tl-lab-navy-pale);}
  .tl-lab-fulist{grid-template-columns:1fr;gap:0;}
  .tl-lab-actions-l{grid-template-columns:1fr;}
}
@media screen and (max-width:600px){
  .tl-lab-deliv{grid-template-columns:1fr;}
  .tl-lab-deliv-item{border-right:0;border-bottom:1px solid var(--tl-lab-navy-pale);padding:18px 18px 20px;}
  .tl-lab-deliv-item:last-child{border-bottom:0;}
  .tl-lab-subhead{margin:24px 0 8px;}
  /* SP密度調整（2026-09-02 最終微調整） */
  .tl-lab-actions{padding:14px 16px;margin-top:19px;}
  .tl-lab-deliv-item{padding:14px 18px 16px;}
  .tl-lab-takeaways li{padding:10px 16px;}
  .tl-lab-lead{margin-bottom:19px;}
  .tl-lab-cap{margin-top:9px;}
  .tl-lab-absence{margin-top:24px;}
  .tl-lab-expertise{margin-top:18px;}
  .tl-lab-expertise li{padding:11px 0;}
  /* 最終CTA：縦構造 */
  .tl-lab-finalcta .tl-lab-finalcta-sub{display:block;margin-top:.25em;}
  .tl-lab-finalcta .tl-lab-finalcta-btns{flex-direction:column;gap:10px;}
  .tl-lab-finalcta .tl-lab-finalcta-fine span{display:block;}
  .tl-lab-finalcta .tl-lab-finalcta-fine span + span::before{content:none;margin:0;}
  .tl-lab-finalcta .tl-lab-finalcta-fine span + span{margin-top:.35em;}
  .tl-lab-midcta-note span{display:block;}
  .tl-lab-midcta-note span + span::before{content:none;margin:0;}
  .tl-lab-midcta-note span + span{margin-top:.3em;}
}
/* ===== 2026-09-02 情報設計・密度調整 ここまで ===== */

/* ===== 2026-09-02b 実画面確認後の微調整 ここから ===== */

/* --- 親テーマの a / p 指定より確実に優先させる（tl-lab 名前空間内のみ） --- */
.tl-lab a.tl-lab-btn--primary,
.tl-lab a.tl-lab-btn--primary:link,
.tl-lab a.tl-lab-btn--primary:visited{background:var(--tl-lab-red);color:#FFF;border-color:var(--tl-lab-red);}
.tl-lab a.tl-lab-btn--primary:hover,
.tl-lab a.tl-lab-btn--primary:focus,
.tl-lab a.tl-lab-btn--primary:active{background:var(--tl-lab-red-dark);color:#FFF;border-color:var(--tl-lab-red-dark);}
.tl-lab a.tl-lab-btn--outline,
.tl-lab a.tl-lab-btn--outline:link,
.tl-lab a.tl-lab-btn--outline:visited{background:#FFF;color:var(--tl-lab-navy);border-color:var(--tl-lab-navy);}
.tl-lab a.tl-lab-btn--outline:hover,
.tl-lab a.tl-lab-btn--outline:focus,
.tl-lab a.tl-lab-btn--outline:active{background:var(--tl-lab-navy);color:#FFF;border-color:var(--tl-lab-navy);}
.tl-lab a.tl-lab-btn--ghost,
.tl-lab a.tl-lab-btn--ghost:link,
.tl-lab a.tl-lab-btn--ghost:visited{color:#FFF;border-color:rgba(255,255,255,.55);}
.tl-lab a.tl-lab-btn--ghost:hover,
.tl-lab a.tl-lab-btn--ghost:focus,
.tl-lab a.tl-lab-btn--ghost:active{background:rgba(255,255,255,.12);color:#FFF;border-color:#FFF;}

/* 段落クラスの余白（親テーマの p 指定に上書きされないように） */
.tl-lab p.tl-lab-eyebrow{margin:0 0 16px;}
.tl-lab p.tl-lab-hero-catch{margin:0 0 .9em;}
.tl-lab p.tl-lab-hero-deadline{margin:18px 0 0;}
.tl-lab p.tl-lab-midcta-lead{margin:0 0 24px;}
.tl-lab p.tl-lab-midcta-note{margin:20px 0 0;}
.tl-lab p.tl-lab-subhead{margin:34px 0 12px;}
.tl-lab p.tl-lab-cap{margin:10px 0 0;}
.tl-lab p.tl-lab-price-eyebrow{margin:0 0 2px;}
.tl-lab p.tl-lab-price-main{margin:0;}
.tl-lab p.tl-lab-price-sub{margin:.5em 0 0;}
.tl-lab p.tl-lab-price-note{margin:.9em 0 0;}
.tl-lab p.tl-lab-tagrow{margin:.7em 0 0;}
.tl-lab p.tl-lab-steps-axis{margin:30px 0 14px;}
.tl-lab h3.tl-lab-prog-t{margin:0 0 5px;}
.tl-lab p.tl-lab-prog-sub{margin:0 0 14px;}
.tl-lab p.tl-lab-prog-label{margin:0 0 4px;}
.tl-lab p.tl-lab-prog-topics{margin:0 0 14px;}
.tl-lab p.tl-lab-prog-out{margin:0;}
.tl-lab p.tl-lab-deliv-t{margin:0 0 8px;}
.tl-lab p.tl-lab-deliv-d{margin:0;}
.tl-lab p.tl-lab-step-t{margin:0 0 10px;}
.tl-lab p.tl-lab-step-d{margin:0;}
.tl-lab p.tl-lab-profile-role{margin:0 0 8px;}
.tl-lab p.tl-lab-profile-name{margin:0 0 6px;}
.tl-lab p.tl-lab-actions-h{margin:0 0 10px;}
.tl-lab p.tl-lab-pullquote{margin:26px 0 0;}
.tl-lab p.tl-lab-gets-t{margin:0 0 6px;}
.tl-lab p.tl-lab-gets-d{margin:0;}
.tl-lab p.tl-lab-finalcta-fine{margin:26px 0 0;}

/* --- 図版セクション：本文コンテナを図版幅（最大1120px）へ揃える --- */
@media screen and (min-width:901px){
  .tl-lab .tl-lab-sec--fig .tl-lab-wrap{width:min(calc(var(--tl-lab-w-wide) + 48px), calc(100vw - 32px));max-width:none;margin-left:50%;transform:translateX(-50%);}
  .tl-lab .tl-lab-sec--fig .tl-lab-lead{max-width:920px;}
  .tl-lab .tl-lab-sec--fig .tl-lab-actions{max-width:none;}
  /* 本文と図版の間に明確な余白（METHOD等で文章と画像が接触して見えない） */
  .tl-lab .tl-lab-sec--fig figure.tl-lab-fig{margin-top:32px;}
}
@media screen and (max-width:900px){
  .tl-lab .tl-lab-sec--fig figure.tl-lab-fig{margin-top:22px;}
}

/* --- SECTION 09 持ち帰る成果物リスト --- */
.tl-lab-gets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--tl-lab-line-soft);}
.tl-lab-gets-i{display:flex;gap:16px;align-items:flex-start;padding:18px 20px 20px;background:#FFF;border-bottom:1px solid var(--tl-lab-line-soft);border-right:1px solid var(--tl-lab-line-soft);}
.tl-lab-gets-i:nth-child(2n){border-right:0;}
.tl-lab-gets-n{flex:none;font-family:var(--tl-lab-font-brand);font-size:1.125rem;line-height:1.5;color:var(--tl-lab-red);letter-spacing:.04em;min-width:2em;}
.tl-lab-gets-b{min-width:0;}
.tl-lab-gets-t{font-size:1rem;font-weight:700;line-height:1.65;color:var(--tl-lab-ink);letter-spacing:.01em;}
.tl-lab-gets-d{font-size:.8125rem;line-height:1.9;color:var(--tl-lab-ink-3);}
.tl-lab-gets-i.tl-lab-gets-key{background:var(--tl-lab-navy-tint);}
@media screen and (max-width:900px){
  .tl-lab-gets{grid-template-columns:1fr;}
  .tl-lab-gets-i{border-right:0;}
}
@media screen and (max-width:600px){
  .tl-lab-gets-i{padding:14px 16px 16px;gap:12px;}
  .tl-lab p.tl-lab-subhead{margin:26px 0 10px;}
  .tl-lab p.tl-lab-hero-deadline{margin:16px 0 0;}
  .tl-lab p.tl-lab-midcta-note{margin:16px 0 0;}
}
/* ===== 2026-09-02b ここまで ===== */

/* ===== 2026-09-02c 受講者の声（PARTICIPANT VOICE）ここから ===== */
.tl-lab-voices{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--tl-lab-navy-pale);border-left:1px solid var(--tl-lab-navy-pale);}
.tl-lab-voice{background:#FFF;border-right:1px solid var(--tl-lab-navy-pale);border-bottom:1px solid var(--tl-lab-navy-pale);padding:22px 26px 24px;display:flex;flex-direction:column;}
.tl-lab-voice-n{font-family:var(--tl-lab-font-brand);font-size:.875rem;line-height:1;letter-spacing:.16em;color:var(--tl-lab-red);text-transform:uppercase;}
.tl-lab-voice-t{font-size:1.0625rem;font-weight:700;line-height:1.65;color:var(--tl-lab-ink);letter-spacing:.01em;padding-top:12px;border-top:2px solid var(--tl-lab-navy);}
.tl-lab-voice-b{font-size:.875rem;line-height:1.95;color:var(--tl-lab-ink-2);}
.tl-lab-voice-w{font-size:.75rem;line-height:1.7;color:var(--tl-lab-ink-4);letter-spacing:.02em;padding-top:12px;border-top:1px solid var(--tl-lab-line-hair);}
.tl-lab p.tl-lab-voice-n{margin:0 0 12px;}
.tl-lab p.tl-lab-voice-t{margin:0 0 12px;}
.tl-lab p.tl-lab-voice-b{margin:0 0 16px;}
.tl-lab p.tl-lab-voice-w{margin:auto 0 0;}
.tl-lab p.tl-lab-voice-note{margin:16px 0 0;}
@media screen and (max-width:900px){
  .tl-lab-voices{grid-template-columns:1fr;border-left:1px solid var(--tl-lab-navy-pale);}
  .tl-lab-voice{border-right:1px solid var(--tl-lab-navy-pale);padding:20px 22px 22px;}
}
@media screen and (max-width:600px){
  .tl-lab-voice{padding:16px 18px 18px;}
  .tl-lab-voice-t{font-size:1rem;}
  .tl-lab p.tl-lab-voice-n{margin:0 0 10px;}
  .tl-lab p.tl-lab-voice-t{margin:0 0 10px;}
  .tl-lab p.tl-lab-voice-b{margin:0 0 14px;}
}
/* ===== 2026-09-02c ここまで ===== */

/* ==================================================================
   日本語の折り返し（研究塾テンプレート共通・投稿IDに依存しません）
   PHP側で意味の切れ目に挿入した <wbr> だけを改行位置として使い、
   見出しやCTAが単語の途中で改行されないようにします。
   word-break:keep-all … <wbr>と句読点以外では改行しない
   overflow-wrap:anywhere … 1行に収まらない語がある場合の最後の手段
     （はみ出し・横スクロールを起こさないため）
   ※ word-break:auto-phrase は「方法論」「実現可能性」等を
     分断する場合があったため採用していません。
   ================================================================== */
.tl-lab h1.tl-lab-title,
.tl-lab h2.tl-lab-h2,
.tl-lab h3.tl-lab-h3,
.tl-lab .tl-lab-hero-catch,
.tl-lab .tl-lab-keymsg strong,
.tl-lab .tl-lab-prog-t,
.tl-lab .tl-lab-prog-sub,
.tl-lab .tl-lab-prog-topics,
.tl-lab .tl-lab-prog-out,
.tl-lab .tl-lab-expertise,
.tl-lab .tl-lab-btn,
.tl-lab .tl-lab-finalcta h2{
  word-break:keep-all;
  overflow-wrap:anywhere;
  line-break:strict;
}

/* ---------------------------------------------------------
   参加企業について（研究塾共通の注意書き）
   ※特定の研究塾に限定したセレクタは使わない
--------------------------------------------------------- */
.tl-lab .tl-lab-notice{
  margin:28px 0 0;
  padding:22px 24px;
  background:var(--tl-lab-paper);
  border:1px solid var(--tl-lab-navy-pale);
  border-left:3px solid var(--tl-lab-navy);
  word-break:keep-all; overflow-wrap:anywhere; line-break:strict;
}
.tl-lab .tl-lab-notice-h{
  margin:0 0 10px;
  font-size:1rem; font-weight:700; line-height:1.7;
  color:var(--tl-lab-navy);
}
.tl-lab .tl-lab-notice p{margin:0 0 10px; font-size:.9375rem; line-height:1.9; color:var(--tl-lab-ink-2);}
.tl-lab .tl-lab-notice p:last-child{margin:0;}
.tl-lab .tl-lab-notice + .tl-lab-terms{margin-top:28px;}
@media screen and (max-width:600px){
  .tl-lab .tl-lab-notice{padding:18px 16px;}
  .tl-lab .tl-lab-notice p{font-size:.875rem;}
}

/* 最終CTAの本文（任意・研究塾共通） */
.tl-lab-finalcta .tl-lab-finalcta-lead{
  max-width:760px; margin:0 auto 1.6em;
  font-size:1rem; line-height:1.95; color:#EAF0F6;
  word-break:keep-all; overflow-wrap:anywhere; line-break:strict;
}
@media screen and (max-width:600px){
  .tl-lab-finalcta .tl-lab-finalcta-lead{font-size:.9375rem; text-align:left;}
}

/* ---------------------------------------------------------
   図版ライトボックス：重なり順とSPの閉じるボタン（研究塾共通）
   テーマの #header が z-index:999 のため、z-index:100 のままでは
   ヘッダー／メニューがライトボックスより前面に描画され、
   閉じるボタンが隠れてしまう。モーダルとして最前面へ引き上げる。
   ※特定の研究塾に限定したセレクタは使わない
--------------------------------------------------------- */
#tlLabLightbox{z-index:100000;}
#tlLabLightbox .tl-lab-lb-bar{
  padding-top:calc(12px + env(safe-area-inset-top));
  padding-left:calc(16px + env(safe-area-inset-left));
  padding-right:calc(16px + env(safe-area-inset-right));
}
#tlLabLightbox .tl-lab-lb-scroll{
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
}
@media screen and (max-width:768px){
  #tlLabLightbox .tl-lab-lb-close{
    min-width:44px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35em;
    padding:0 .9em;
    border-radius:6px;
    border-color:rgba(255,255,255,.85);
    background:rgba(255,255,255,.16);
  }
  #tlLabLightbox .tl-lab-lb-close::before{content:"\00d7";font-size:1.3em;line-height:1;}
}

/* VCC 研究塾 CV導線 v2 適用テスト */

/* ===== TL LAB DOC : ここから 詳細資料（PDF）ダウンロード（SECONDARY CTA） ===== */
/* 申込（PRIMARY）より控えめ。既存 .tl-lab-sec / .tl-lab-btn の設計に合わせる。 */
.tl-lab-sec--doc{padding:48px 0;}
.tl-lab-doccta{border:1px solid var(--tl-lab-line);background:#FFF;padding:30px 34px;text-align:center;}
.tl-lab-doccta-ttl{font-family:var(--tl-lab-font);font-size:1.1875rem;font-weight:600;line-height:1.6;letter-spacing:.02em;color:var(--tl-lab-ink);margin:0 0 .7em;text-wrap:balance;}
.tl-lab-doccta-lead{font-size:.9375rem;line-height:1.95;letter-spacing:.01em;color:var(--tl-lab-ink-2);margin:0 0 22px;text-wrap:balance;}
.tl-lab-doccta-note{font-size:.75rem;line-height:1.8;color:var(--tl-lab-ink-3);margin:14px 0 0;letter-spacing:.02em;}
.tl-lab-doccta .tl-lab-btn{font-size:1rem;padding:.95em 2.1em;}

/* 最終CTA内：申込前に詳細を確認したい方向けの小導線 */
.tl-lab-finalcta-doc{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.25em .8em;margin:20px 0 0;font-size:.8125rem;line-height:1.9;letter-spacing:.02em;color:rgba(255,255,255,.78);}
.tl-lab-finalcta-doc > span{color:rgba(255,255,255,.78);}
.tl-lab a.tl-lab-doclink,
.tl-lab a.tl-lab-doclink:link,
.tl-lab a.tl-lab-doclink:visited{color:#FFF;font-weight:600;text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:1px;}
.tl-lab a.tl-lab-doclink:hover,
.tl-lab a.tl-lab-doclink:focus{color:#FFF;text-decoration-thickness:2px;}

@media screen and (max-width:900px){
	.tl-lab-sec--doc{padding:40px 0;}
	.tl-lab-doccta{padding:26px 22px;}
}
@media screen and (max-width:600px){
	.tl-lab-doccta{padding:24px 18px;}
	.tl-lab-doccta-ttl{font-size:1.0625rem;}
	.tl-lab-doccta-lead{font-size:.875rem;margin-bottom:18px;}
	.tl-lab-doccta .tl-lab-btn{display:flex;width:100%;font-size:.9375rem;padding:1em 1.1em;}
	.tl-lab-finalcta-doc{flex-direction:column;gap:.35em;}
}
/* ===== TL LAB DOC : ここまで ===== */

/* ===== TL LAB DOC FORM : ここから 資料請求ページ／資料サンクスページ ===== */
.tl-lab-docwrap{width:100%;max-width:var(--tl-lab-w-single);margin:0 auto;padding:0 24px;font-family:var(--tl-lab-font);color:var(--tl-lab-ink);}
.tl-lab-docpage,.tl-lab-docthanks{border:1px solid var(--tl-lab-line);border-top:3px solid var(--tl-lab-red);background:#FFF;padding:30px 34px;margin:0 0 32px;}
.tl-lab-docpage-lab{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .8em;margin:0 0 18px;}
.tl-lab-docpage-lab-en{font-family:var(--tl-lab-font-brand);font-size:1.375rem;font-weight:400;letter-spacing:.02em;color:var(--tl-lab-navy);}
.tl-lab-docpage-lab-ja{font-size:.9375rem;font-weight:600;letter-spacing:.04em;color:var(--tl-lab-ink-2);}
.tl-lab-docpage-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3em 1em;margin:0 0 16px;padding:14px 16px;background:var(--tl-lab-paper-2);}
.tl-lab-docpage-meta dt{font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--tl-lab-ink-3);margin:0;}
.tl-lab-docpage-meta dd{margin:0;font-size:.9375rem;font-weight:600;line-height:1.7;color:var(--tl-lab-ink);}
.tl-lab-docpage-note{font-size:.8125rem;line-height:1.9;color:var(--tl-lab-ink-3);margin:0;}
.tl-lab-docpage-actions{margin:18px 0 0;}
.tl-lab-docpage--empty{border-top-color:var(--tl-lab-navy);}
.tl-lab-docpage--empty .tl-lab-docpage-lead{font-size:.9375rem;line-height:1.95;color:var(--tl-lab-ink-2);margin:0;}

.tl-lab-docthanks{text-align:center;}
.tl-lab-docthanks .tl-lab-docpage-lab{justify-content:center;}
.tl-lab-docthanks-doc{font-size:1.0625rem;font-weight:600;line-height:1.7;letter-spacing:.02em;color:var(--tl-lab-ink);margin:0 0 22px;text-wrap:balance;}
.tl-lab-docthanks-btn{margin:0;}
.tl-lab-docthanks-note{font-size:.75rem;line-height:1.9;color:var(--tl-lab-ink-3);margin:16px 0 0;}
.tl-lab-docthanks-entry{margin:28px 0 0;padding:22px 0 0;border-top:1px solid var(--tl-lab-line-soft);}
.tl-lab-docthanks-entry-lead{font-size:.875rem;line-height:1.8;color:var(--tl-lab-ink-2);margin:0 0 14px;}

@media screen and (max-width:600px){
	.tl-lab-docwrap{padding:0 18px;}
	.tl-lab-docpage,.tl-lab-docthanks{padding:24px 18px;}
	.tl-lab-docpage-lab-en{font-size:1.1875rem;}
	.tl-lab-docthanks-btn .tl-lab-btn,.tl-lab-docpage-actions .tl-lab-btn,.tl-lab-docthanks-entry .tl-lab-btn{display:flex;width:100%;font-size:.9375rem;padding:1em 1.1em;}
}
/* ===== TL LAB DOC FORM : ここまで ===== */
