@charset "utf-8";
/* ============================================================
   ワークストラスト 新TOP v3  2026-08-03 シオン
   強弱譜面（02_設計/強弱譜面_20260803.md）を実装。
   見せ場3つ（FV / 書類 / 最終CTA）と休符の落差・断ち落とし・動きを作る。
   色: 白 / 淡水色 / 紺 / コーラル・水色。黒・緑・紫は使わない。
   ============================================================ */

.wt2{
  --c:1200px;
  --bg:#ffffff; --bg2:#e8f4f8; --deep:#002048; --deep2:#002048; --docblue:#2e6f8a;
  --ink:#002048; --ink2:#526170; --inv:#eaf3fa;
  --line:#dbe8f3; --sky:#65b9d5; --coral:#f28a68; --coral2:#fdece1;
  background:var(--bg); color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:16px; line-height:1.95; font-feature-settings:"palt";
  overflow-x:clip;
}
.wt2 *{box-sizing:border-box}
.wt2 img{max-width:100%;height:auto;vertical-align:bottom}
.wt2 a{color:inherit}
.wt2 .in{width:min(var(--c),calc(100% - 48px));margin-inline:auto}

/* スクロール・イン（reduced-motion で無効） */
.wt2 .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.wt2 .rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.wt2 .rv{opacity:1;transform:none;transition:none}}

/* 帯 */
.wt2 .band{padding:130px 0}
.wt2 .band--pale{background:var(--bg2)}
.wt2 .band--deep{background:var(--deep);color:var(--inv)}
.wt2 .band--deep .lb{color:var(--sky)}
.wt2 .band--deep .lead,.wt2 .band--deep .note{color:#bcd3e6}

/* 見出し：番号＋英字ラベルを小さく上、日本語を大きく下 */
.wt2 .lb{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;
  letter-spacing:.2em;color:var(--sky);margin:0 0 20px;text-transform:uppercase}
.wt2 .lb::before{content:attr(data-n);font-size:12px;color:var(--coral);
  border:1px solid var(--coral);border-radius:50%;width:26px;height:26px;
  display:grid;place-items:center;letter-spacing:0}
.wt2 .ttl{margin:0 0 36px;font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.55;letter-spacing:.01em}
.wt2 .band--deep .ttl{color:#fff}
.wt2 .lead{margin:0 0 46px;font-size:16px;color:var(--ink2);line-height:2.05;max-width:760px}
.wt2 .note{font-size:14px;color:var(--ink2)}
.wt2 .more{display:inline-block;margin-top:26px;font-weight:700;color:var(--sky);text-decoration:none}
.wt2 .more::after{content:" →"}

/* ボタン */
.wt2 .btn{display:inline-block;text-decoration:none;font-weight:700;font-size:14px;
  padding:18px 40px;border-radius:8px}
.wt2 .btn--m{background:var(--coral);color:#fff;box-shadow:0 4px 0 #c9713f}
.wt2 .btn--m:hover{background:#e0824d;color:#fff}
.wt2 .btn--s{border:1.5px solid currentColor}

/* ===== 1. FV（見せ場・伴走の物語・SVGルート＋実績ノード） ===== */
.wt2 .fv{position:relative;min-height:clamp(760px,calc(100svh - 80px),940px);display:flex;align-items:center;
  background:linear-gradient(135deg,var(--bg2) 0%,#f4fafd 46%,#fff 100%);overflow:clip}
.wt2 .fv__grid{width:min(var(--c),calc(100% - 48px));margin-inline:auto;position:relative;z-index:2;padding:100px 0}
.wt2 .fv__copy{position:relative;z-index:3;max-width:600px}
.wt2 .fv__copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-24px -36px -24px -24px;
  border-radius:24px;
  background:linear-gradient(90deg,rgba(244,250,253,.98) 0%,rgba(244,250,253,.95) 78%,rgba(244,250,253,.72) 90%,rgba(244,250,253,0) 100%);
  pointer-events:none;
}
@media (min-width:1201px){
  .wt2 .fv__copy::before{inset:-28px -200px -30px -28px}
}
.wt2 .fv__labels{display:flex;gap:20px;margin:0 0 24px;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--sky)}
.wt2 .fv__labels span{position:relative;padding-left:24px}
.wt2 .fv__labels span::before{content:"";position:absolute;left:0;top:50%;width:16px;height:2px;background:var(--sky)}
.wt2 .fv__chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.wt2 .fv__chip{font-size:13px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;color:var(--ink2);box-shadow:0 3px 10px rgba(23,58,82,.06)}
.wt2 .fv__chip::before{content:"\201C";color:var(--coral);font-weight:700;margin-right:3px}
.wt2 .fv__h{margin:0 0 24px;font-size:clamp(28px,3.4vw,46px);font-weight:800;line-height:1.42;letter-spacing:.01em;color:var(--deep)}
.wt2 .fv__lead{margin:0 0 34px;font-size:16px;color:var(--ink2);line-height:2.05;max-width:30em}
.wt2 .fv__acts{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.wt2 .fv__sub{margin:18px 0 0;display:flex;gap:24px}
.wt2 .fv__sub a{font-size:13.5px;font-weight:700;color:var(--ink2);text-decoration:none;position:relative;padding-left:18px}
.wt2 .fv__sub a::before{content:"\203A";position:absolute;left:0;color:var(--coral);font-weight:800}
.wt2 .fv__sub a:hover{color:var(--sky)}
.wt2 .fv__stage{position:absolute;right:max(-3vw,-56px);bottom:6%;width:min(54vw,790px);z-index:1;pointer-events:none}
.wt2 .fv__hero{position:relative;z-index:1;display:block;width:100%;filter:drop-shadow(0 24px 46px rgba(23,58,82,.15))}
.wt2 .fv__route{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}
.wt2 .fv__routeline{fill:none;stroke:var(--sky);stroke-width:.9;stroke-linecap:round;opacity:.5}
.wt2 .fv__nodes{position:absolute;inset:0;z-index:3}
.wt2 .fv__node{position:absolute;transform:translate(-50%,-50%);background:#fff;border-radius:14px;padding:11px 16px;text-align:center;box-shadow:0 10px 26px rgba(23,58,82,.18);white-space:nowrap}
.wt2 .fv__node b{display:block;font-size:24px;font-weight:800;color:var(--deep);line-height:1}
.wt2 .fv__node b small{font-size:.5em;margin-left:1px}
.wt2 .fv__node span{display:block;margin-top:3px;font-size:11px;color:var(--ink2);letter-spacing:.02em}
.wt2 .fv__node--a{border-bottom:3px solid var(--sky)}
.wt2 .fv__node--a b{font-size:32px}
.wt2 .fv__node--b{border-bottom:3px solid var(--ink2)}
.wt2 .fv__node--c{border-bottom:3px solid var(--coral)}
.wt2 .fv__node--c b{color:var(--coral)}
.wt2 .fv__vert{position:absolute;right:22px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:12px;letter-spacing:.4em;color:var(--ink2);z-index:4}
.wt2 .fv__scroll{position:absolute;left:24px;bottom:28px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.32em;color:var(--ink2);z-index:4}
.wt2 .fv__scroll::after{content:"";display:block;width:1px;height:44px;margin:10px auto 0;background:linear-gradient(var(--ink2),transparent)}
/* FV 初回entrance＋ルート描画＋ノード出現 */
@keyframes wtFvUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes wtFvImg{from{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:none}}
@keyframes wtFvLabel{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes wtFvNode{from{opacity:0;transform:translate(-50%,-40%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes wtFvDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.wt2 .fv__labels{animation:wtFvLabel .6s ease .1s both}
.wt2 .fv__chips{animation:wtFvUp .7s cubic-bezier(.22,1,.36,1) .22s both}
.wt2 .fv__h{animation:wtFvUp .8s cubic-bezier(.22,1,.36,1) .34s both}
.wt2 .fv__lead{animation:wtFvUp .72s cubic-bezier(.22,1,.36,1) .5s both}
.wt2 .fv__acts,.wt2 .fv__sub{animation:wtFvUp .72s cubic-bezier(.22,1,.36,1) .64s both}
.wt2 .fv__hero{animation:wtFvImg .95s cubic-bezier(.22,1,.36,1) .4s both}
.wt2 .fv__routeline{stroke-dasharray:1;stroke-dashoffset:1;animation:wtFvDraw 1s ease .95s forwards}
.wt2 .fv__node{opacity:0;animation:wtFvNode .6s cubic-bezier(.22,1,.36,1) both}
.wt2 .fv__node--a{animation-delay:1.15s}
.wt2 .fv__node--b{animation-delay:1.3s}
.wt2 .fv__node--c{animation-delay:1.45s}
.wt2 .fv__vert,.wt2 .fv__scroll{animation:wtFvLabel .6s ease 1s both}
@media (prefers-reduced-motion:reduce){
  .wt2 .fv__labels,.wt2 .fv__chips,.wt2 .fv__h,.wt2 .fv__lead,.wt2 .fv__acts,.wt2 .fv__sub,
  .wt2 .fv__hero,.wt2 .fv__vert,.wt2 .fv__scroll{animation:none}
  .wt2 .fv__routeline{stroke-dashoffset:0;animation:none}
  .wt2 .fv__node{opacity:1;animation:none}
}
/* FV レスポンシブ（stageを静的化・実績ノードを独立証拠帯へ・中間幅の切れを防ぐため1360pxで切替） */
@media (max-width:1360px){
  .wt2 .fv{min-height:auto}
  .wt2 .fv__grid{padding:92px 0 72px}
  .wt2 .fv__copy{max-width:none}
  .wt2 .fv__stage{position:static;width:min(560px,100%);margin:34px auto 0;right:auto;bottom:auto}
  .wt2 .fv__route{display:none}
  .wt2 .fv__nodes{position:static;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
  .wt2 .fv__node{position:static!important;transform:none!important;left:auto!important;top:auto!important;flex:1 1 30%;min-width:118px;animation:wtFvUp .6s ease both}
}
@media (max-width:640px){
  .wt2 .fv__grid{padding:60px 0 56px}
  .wt2 .fv__copy::before{
    inset:-16px -16px -18px;
    border-radius:18px;
    background:rgba(244,250,253,.96);
  }
  .wt2 .fv__vert{display:none}
  .wt2 .fv__acts .btn{width:100%;text-align:center}
  .wt2 .fv__node b{font-size:22px}
  .wt2 .fv__node--a b{font-size:26px}
}
/* reduced-motion 最終上書き（レスポンシブでnodeアニメが後勝ちするのを防ぐ・全幅で即最終状態） */
@media (prefers-reduced-motion:reduce){
  .wt2 .fv__node{animation:none!important;opacity:1}
  .wt2 .fv__labels,.wt2 .fv__chips,.wt2 .fv__h,.wt2 .fv__lead,.wt2 .fv__acts,.wt2 .fv__sub,.wt2 .fv__hero,
  .wt2 .fv__vert,.wt2 .fv__scroll{animation:none}
  .wt2 .fv__routeline{animation:none;stroke-dashoffset:0}
}

/* ===== 2. 実績帯（イラスト背景・巨大数字・落差を作る） ===== */
.wt2 .stats{background:var(--deep);color:#fff;padding:66px 0}
.wt2 .stats__in{width:min(var(--c),calc(100% - 48px));margin-inline:auto;
  display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.wt2 .stat{text-align:center;flex:1 1 auto}
.wt2 .stat b{display:block;font-size:clamp(44px,6vw,76px);font-weight:800;line-height:1;letter-spacing:-.02em}
.wt2 .stat b small{font-size:.42em;font-weight:700;margin-left:4px}
.wt2 .stat span{display:block;margin-top:10px;font-size:13px;color:#bcd3e6;letter-spacing:.04em}
.wt2 .stat--sep{flex:0 0 1px;align-self:stretch;background:rgba(255,255,255,.16)}

/* ===== 3. Services（認証支援ルート図：相談→Pマーク/ISO並行取得→運用収束） ===== */
.wt2 .svcroute{position:relative;margin-top:8px}
.wt2 .svcroute__link{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.wt2 .svcroute__p{fill:none;stroke:var(--sky);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .85s ease}
.wt2 .in.on .svcroute__p{stroke-dashoffset:0}
.wt2 .in.on .svcroute__p--d1,.wt2 .in.on .svcroute__p--d2{transition-delay:.2s}
.wt2 .in.on .svcroute__p--m1,.wt2 .in.on .svcroute__p--m2{stroke:var(--coral);transition-delay:.7s}
.wt2 .svcroute__p--m1,.wt2 .svcroute__p--m2{stroke:var(--coral)}
.wt2 .svcroute__grid{position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(148px,.82fr) 1.5fr 1.5fr;
  gap:clamp(18px,2.2vw,30px) clamp(40px,5vw,78px);align-items:center}
.wt2 .svcnode--entry{grid-column:1;grid-row:1/3}
.wt2 .svcnode--pms{grid-column:2;grid-row:1}
.wt2 .svcnode--iso{grid-column:2;grid-row:2}
.wt2 .svcnode--ops{grid-column:3;grid-row:1/3}
.wt2 .svcnode{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;text-decoration:none;color:inherit;
  opacity:0;transform:translateY(14px);
  transition:opacity .55s ease,transform .55s ease,box-shadow .22s ease,border-color .22s ease}
.wt2 .in.on .svcnode{opacity:1;transform:none}
.wt2 .in.on .svcnode--pms{transition-delay:.28s}
.wt2 .in.on .svcnode--iso{transition-delay:.42s}
.wt2 .in.on .svcnode--ops{transition-delay:.82s}
.wt2 .svcnode:hover{border-color:var(--sky);box-shadow:0 12px 28px rgba(23,58,82,.10)}
.wt2 .svcnode--entry{background:linear-gradient(158deg,var(--deep) 0%,var(--deep2) 100%);color:#fff;border-color:transparent}
.wt2 .svcnode--entry:hover{border-color:transparent;box-shadow:0 14px 30px rgba(15,43,61,.30)}
/* ルートとカードを繋ぐ接続ドット */
.wt2 .svcnode--pms::before,.wt2 .svcnode--iso::before,.wt2 .svcnode--ops::before{
  content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 4px var(--bg,#fff);z-index:2}
.wt2 .svcnode--ops::before{background:var(--coral)}
.wt2 .svcnode--entry::after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--bg,#fff);z-index:2}
/* PCではsvcpickを透過しグリッド分岐を維持（pms/isoは直接グリッド子として並列表示） */
.wt2 .svcpick{display:contents}
.wt2 .svcpick__label{display:none}
/* ノード内部 */
.wt2 .svcnode__ph{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--sky);margin-bottom:12px}
.wt2 .svcnode--entry .svcnode__ph{color:#8fd0e6}
.wt2 .svcnode--ops .svcnode__ph{color:var(--coral)}
.wt2 .svcnode__ico{display:block;margin-bottom:12px}
.wt2 .svcnode__ico svg{width:38px;height:38px;fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wt2 .svcnode--entry .svcnode__ico svg{stroke:#8fd0e6}
.wt2 .svcnode--ops .svcnode__ico svg{stroke:var(--coral)}
.wt2 .svcnode__t{display:block;font-size:20px;font-weight:800;color:var(--deep);line-height:1.42}
.wt2 .svcnode--entry .svcnode__t{color:#fff;font-size:22px}
.wt2 .svcnode__t small{font-size:14px;color:var(--ink2);margin-left:3px;font-weight:600}
.wt2 .svcnode__d{display:block;margin-top:10px;font-size:13.5px;color:var(--ink2);line-height:1.85}
.wt2 .svcnode--entry .svcnode__d{color:#bcd3e6}
.wt2 .svcnode__tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.wt2 .svcnode__tags span{font-size:12px;background:var(--bg2);color:#26708f;padding:5px 12px;border-radius:6px}
@media (prefers-reduced-motion:reduce){
  .wt2 .svcroute__p{stroke-dashoffset:0!important;transition:none!important}
  .wt2 .svcnode{opacity:1!important;transform:none!important;transition:none!important}
}

/* 実績・安心などのグリッド補助 */
.wt2 .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

/* ===== 4. コース（休符・余白で読ませる） ===== */
.wt2 .course{margin:0 0 44px}
.wt2 .course__h{font-size:18px;font-weight:700;margin:0 0 20px;padding-left:15px;border-left:4px solid var(--coral)}
.wt2 .course__list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;list-style:none;margin:0;padding:0}
.wt2 .course__list li{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;
  border:1px solid var(--line);border-radius:8px;padding:16px 20px}
.wt2 .course__nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.wt2 .course__nm b{font-size:14.5px;font-weight:700;line-height:1.4}
.wt2 .course__list em{font-style:normal;color:var(--ink2);font-size:12.5px}
.wt2 .course__price{flex:0 0 auto;font-size:15px;font-weight:800;color:var(--coral);white-space:nowrap}

/* ===== 5. 書類の量（第二の見せ場・青面・量差＋人の姿勢差） ===== */
.wt2 .docs{padding:100px 0 104px;background:var(--docblue);color:#fff;overflow:clip}
.wt2 .docs .lb{color:#fff}
.wt2 .docs .lb::before{color:#ffd2bd;border-color:#ffd2bd}
.wt2 .docs__head{width:min(var(--c),calc(100% - 48px));margin-inline:auto}
.wt2 .docs__head .ttl{color:#fff;font-size:clamp(28px,3.9vw,54px);line-height:1.4;max-width:20em}
.wt2 .docs__head .lead{color:#eaf5f9}
.wt2 .docs__stage{width:min(1320px,calc(100% - 24px));margin:40px auto 0;position:relative}
.wt2 .docs__compare{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,48px);align-items:stretch}
.wt2 .docs__side{margin:0;text-align:center;position:relative;display:grid;grid-template-rows:1fr auto;justify-items:center}
.wt2 .docs__side img{align-self:end;display:block;width:auto;max-width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(8,28,40,.32))}
.wt2 .docs__side--few img{max-height:clamp(240px,36vh,344px)}
.wt2 .docs__side--many img{max-height:clamp(320px,50vh,460px)}
.wt2 .docs__side figcaption{align-self:start;margin-top:20px;max-width:24em}
.wt2 .docs__badge{display:inline-block;margin:0 0 12px;font-size:13.5px;font-weight:700;padding:7px 18px;border-radius:999px}
.wt2 .docs__badge--few{background:#fff;color:var(--docblue)}
.wt2 .docs__badge--many{background:rgba(8,28,40,.22);color:#fff;border:1px solid rgba(255,255,255,.28)}
.wt2 .docs__side b{display:block;font-size:22px;font-weight:800;color:#fff;line-height:1.3}
.wt2 .docs__note{display:block;margin:8px auto 0;font-size:14px;color:#eaf5f9;line-height:1.85;max-width:22em}
/* 運用負担の可視化軸（軽い←書類の量→重い・左細く右太い楔） */
.wt2 .docs__axis{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(760px,90%);margin:38px auto 0;position:relative}
.wt2 .docs__axis__end{font-size:13px;font-weight:700;color:#eaf5f9;white-space:nowrap}
.wt2 .docs__axis__track{position:relative;height:26px}
.wt2 .docs__axis__wedge{position:absolute;left:0;top:50%;width:100%;height:100%;
  background:linear-gradient(90deg,rgba(255,255,255,.30),var(--coral));border-radius:2px;
  clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);transform:translateY(-50%) scaleX(0);transform-origin:left center;
  transition:transform .9s cubic-bezier(.22,1,.36,1) .3s}
.wt2 .docs__axis__mid{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-size:12px;font-weight:700;letter-spacing:.08em;color:#fff;background:rgba(8,28,40,.4);padding:3px 12px;border-radius:999px}
/* motion：両図を同じベースラインへ整えつつ軽く立ち上げる（比較の同一視野を維持）。楔は左から伸びる */
.wt2 .docs__side{opacity:0;transform:translateY(16px)}
.wt2 .docs__stage.on .docs__side--few{opacity:1;transform:none;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.wt2 .docs__stage.on .docs__side--many{opacity:1;transform:none;transition:opacity .6s ease .12s,transform .8s cubic-bezier(.22,1,.36,1) .12s}
.wt2 .docs__stage.on .docs__axis__wedge{transform:translateY(-50%) scaleX(1)}
@media (prefers-reduced-motion:reduce){
  .wt2 .docs__side{opacity:1;transform:none;transition:none}
  .wt2 .docs__stage.on .docs__side--few,.wt2 .docs__stage.on .docs__side--many{transform:none;transition:none}
  .wt2 .docs__axis__wedge{transform:translateY(-50%) scaleX(1);transition:none}
}
@media (max-width:1000px){
  .wt2 .docs__compare{grid-template-columns:1fr;gap:30px;max-width:420px;margin-inline:auto}
  .wt2 .docs__side{grid-template-rows:auto auto}
  .wt2 .docs__side--few img{max-height:none;max-width:min(280px,72vw)}
  .wt2 .docs__side--many img{max-height:none;max-width:min(340px,86vw);margin:0 auto}
  .wt2 .docs__side figcaption{margin-top:16px}
  .wt2 .docs__axis{width:100%;margin-top:30px}
}

/* ===== 6. メソッド（縦工程＋進行線＋左sticky併置） ===== */
.wt2 .method__wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,4vw,56px);align-items:start;margin-top:8px}
.wt2 .method__aside{position:sticky;top:110px}
.wt2 .method__seal{width:min(230px,66%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 50% 42%,rgba(101,185,213,.28),rgba(101,185,213,.06));
  border:2px solid rgba(101,185,213,.55);color:#fff;margin:0 0 26px}
.wt2 .method__seal b{font-size:30px;font-weight:800;line-height:1.1;color:#fff}
.wt2 .method__seal span{display:block;margin-top:8px;font-size:13px;color:#bcd3e6;letter-spacing:.04em}
.wt2 .method__note{font-size:15px;color:#bcd3e6;line-height:2;max-width:22em}
.wt2 .method__ill{display:block;width:min(300px,76%);height:auto;margin:0 0 24px;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.22))}
.wt2 .safe__ill{display:block;width:min(300px,82%);height:auto;margin:24px auto 0}
.wt2 .method{list-style:none;margin:0;padding:0;position:relative}
.wt2 .method::before{content:"";position:absolute;left:19px;top:14px;bottom:14px;width:2px;
  background:rgba(255,255,255,.18)}
.wt2 .method__line{position:absolute;left:19px;top:14px;width:2px;background:var(--sky);
  height:0;transition:height 1.2s ease;transform-origin:top}
.wt2 .method.on .method__line{height:calc(100% - 28px)}
@media (prefers-reduced-motion:reduce){.wt2 .method__line{height:calc(100% - 28px);transition:none}}
.wt2 .method li{position:relative;padding:0 0 34px 58px}
.wt2 .method li:last-child{padding-bottom:0}
.wt2 .method li::before{content:attr(data-n);position:absolute;left:0;top:-2px;width:40px;height:40px;
  border-radius:50%;background:var(--sky);color:var(--deep);display:grid;place-items:center;
  font-size:14px;font-weight:800;z-index:2}
.wt2 .method__t{display:block;font-size:17px;font-weight:700;margin:6px 0 8px;color:#fff;line-height:1.5}
.wt2 .method__d{display:block;font-size:13px;color:#bcd3e6;line-height:1.95;max-width:640px}

/* ===== 7. 安心（12列grid・非対称・同型カード禁止） ===== */
.wt2 .safe{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:1fr;gap:22px}
.wt2 .safe__main{grid-column:1/8;grid-row:1/3;background:var(--bg2);border-radius:16px;
  padding:44px 40px;display:flex;flex-direction:column;justify-content:center}
.wt2 .safe__main .safe__big{font-size:clamp(56px,7vw,96px);font-weight:800;color:var(--sky);
  line-height:1;letter-spacing:-.02em}
.wt2 .safe__main .safe__big small{font-size:.3em;margin-left:4px}
.wt2 .safe__main .safe__t{margin:14px 0 12px;font-size:22px;font-weight:700}
.wt2 .safe__sub{background:#fff;border-top:3px solid var(--sky);border-radius:4px 4px 12px 12px;
  padding:30px 28px;box-shadow:var(--sh,0 2px 10px rgba(31,58,95,.06))}
.wt2 .safe__sub:nth-of-type(2){grid-column:8/13;grid-row:1/2}
.wt2 .safe__sub:nth-of-type(3){grid-column:8/13;grid-row:2/3}
.wt2 .safe__t{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--sky)}
.wt2 .safe__d{margin:0;font-size:13px;color:var(--ink2);line-height:1.95}

/* ===== 8. 実績詳細（成長図解＋規模別ステップ） ===== */
.wt2 .record{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,54px);align-items:center;margin-top:6px}
/* 成長チャート */
.wt2 .record__chart{position:relative;margin:0;padding:22px 22px 46px;border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,var(--bg2) 100%);border:1px solid var(--line);overflow:hidden}
.wt2 .record__svg{display:block;width:100%;height:clamp(184px,23vw,236px)}
.wt2 .record__area{opacity:0;transition:opacity .9s ease .35s}
.wt2 .record__chart.on .record__area{opacity:1}
.wt2 .record__line{stroke:var(--coral);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1.5s cubic-bezier(.33,.02,.2,1)}
.wt2 .record__chart.on .record__line{stroke-dashoffset:0}
.wt2 .record__dot{position:absolute;top:19px;right:20px;width:13px;height:13px;border-radius:50%;
  background:var(--coral);box-shadow:0 0 0 5px rgba(242,138,104,.20);opacity:0;transform:scale(.4);
  transition:opacity .4s ease 1.2s,transform .4s cubic-bezier(.2,1.4,.4,1) 1.2s}
.wt2 .record__chart.on .record__dot{opacity:1;transform:scale(1)}
.wt2 .record__start{position:absolute;left:22px;bottom:14px;font-size:13px;font-weight:700;color:var(--ink2);line-height:1.35}
.wt2 .record__start small{display:block;font-size:11px;font-weight:400;color:var(--ink2)}
.wt2 .record__now{position:absolute;top:34px;right:22px;text-align:right}
.wt2 .record__now b{font-size:clamp(38px,5.2vw,58px);font-weight:800;color:var(--deep);line-height:1;letter-spacing:-.02em}
.wt2 .record__now i{font-style:normal;font-size:17px;font-weight:800;color:var(--deep);margin-left:2px}
.wt2 .record__now span{display:block;margin-top:5px;font-size:12px;font-weight:600;color:var(--sky)}
.wt2 .record__chart figcaption{position:absolute;right:22px;bottom:16px;max-width:58%;font-size:11.5px;color:var(--ink2);text-align:right;line-height:1.4}
/* 規模別ステップ（建物シルエット＋コース導線） */
.wt2 .record__tiers{align-self:stretch}
.wt2 .record__lede{margin:0 0 16px;font-size:14px;font-weight:700;color:var(--deep)}
.wt2 .record__tier{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;
  background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 20px;margin-bottom:12px;
  text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.wt2 .record__tier:last-child{margin-bottom:0}
.wt2 .record__tier--s{margin-left:0}
.wt2 .record__tier--m{margin-left:14px}
.wt2 .record__tier--l{margin-left:28px}
.wt2 .record__tier:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,58,82,.10);border-color:var(--sky)}
.wt2 .record__ico{display:inline-flex}
.wt2 .record__ico svg{width:44px;height:40px;display:block}
.wt2 .record__ico rect{fill:var(--sky)}
.wt2 .record__tier--l .record__ico rect:last-child{fill:var(--coral)}
.wt2 .record__tn{font-size:16px;font-weight:800;color:var(--deep);line-height:1.3;min-width:0}
.wt2 .record__tn small{display:block;font-size:11.5px;font-weight:400;color:var(--ink2);margin-top:2px}
.wt2 .record__tier em{font-style:normal;font-size:12px;font-weight:700;color:var(--sky);white-space:nowrap}
.wt2 .record__tier em::after{content:"\203A";margin-left:5px;font-weight:800}
@media (prefers-reduced-motion: reduce){
  .wt2 .record__area{opacity:1!important;transition:none!important}
  .wt2 .record__line{stroke-dashoffset:0!important;transition:none!important}
  .wt2 .record__dot{opacity:1!important;transform:none!important;transition:none!important}
  .wt2 .record__tier{transition:none!important}
}

/* ===== 9. お客様の声（編集記事型・左sticky＋右通常scroll・carousel禁止） ===== */
.wt2 .voices{display:grid;grid-template-columns:4fr 8fr;gap:40px;align-items:start}
.wt2 .voices__side{position:sticky;top:100px}
.wt2 .voices__side .ttl{margin-bottom:16px}
.wt2 .voices__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:26px;align-items:start}
.wt2 .voices__list li{position:relative;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:26px 24px;margin:0;overflow:hidden}
.wt2 .voice__ph{display:block;margin:-26px -24px 18px;aspect-ratio:3/2;overflow:hidden;background:#e9f1f6}
.wt2 .voice__ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%}
/* 全カード統一：白背景＋1px line（背景/borderのちぐはぐ解消）。featのみ意図的に別意匠 */
.wt2 .voices__list li.feat{grid-column:1/-1;background:linear-gradient(135deg,var(--deep),var(--docblue));
  border:none;padding:40px 38px}
.wt2 .voices__list li.feat .voice__ph{margin:-40px -38px 26px;aspect-ratio:2.7/1}
.wt2 .voices__list li.feat .voice__ph img{object-position:50% 26%}
.wt2 .voices__list li.feat .voice__t{font-size:19px;color:#fff;line-height:1.9}
.wt2 .voices__list li.feat .voice__b{background:rgba(255,255,255,.2);color:#fff}
.wt2 .voice__b{display:inline-block;font-size:12px;background:var(--coral2);color:#a2521c;
  padding:5px 12px;border-radius:6px;margin-bottom:15px;font-weight:700}
.wt2 .voice__tag{display:inline-block;font-size:11.5px;color:var(--ink2);margin-left:8px}
.wt2 .voices__list li.feat .voice__tag{color:#bcd3e6}
.wt2 .voice__t{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.95;position:relative;z-index:1}
/* お客様の声 固有motion：カードをscrollで下から順に現す（feat→以降stagger） */
.wt2 .voices__list li{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.wt2 .voices__list.is-in li{opacity:1;transform:none}
.wt2 .voices__list.is-in li:nth-child(2){transition-delay:.06s}
.wt2 .voices__list.is-in li:nth-child(3){transition-delay:.12s}
.wt2 .voices__list.is-in li:nth-child(4){transition-delay:.18s}
.wt2 .voices__list.is-in li:nth-child(5){transition-delay:.24s}
.wt2 .voices__list.is-in li:nth-child(n+6){transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.wt2 .voices__list li{opacity:1;transform:none;transition:none}}
/* v11 uplift区画の reduced-motion 上書き（後方base規則に勝つよう!important・非本質motionを0に） */
@media (prefers-reduced-motion:reduce){
  .wt2 .terms li a,.wt2 .terms li a:hover{transition:none!important;transform:none!important}
  .wt2 .newslist li a,.wt2 .newslist li a::before,.wt2 .newslist li a::after{transition:none!important}
  .wt2 .newslist li a:hover::after{transform:none!important}
  .wt2 .faq__i,.wt2 .faq__i summary,.wt2 .faq__i summary::after{transition:none!important}
}

/* ===== 10. 記事 ===== */
.wt2 .arts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;margin:0;padding:0}
.wt2 .arts li{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wt2 .arts img{width:100%;height:auto;display:block}
.wt2 .arts .p{padding:20px 22px}
.wt2 .arts time{font-size:12px;color:var(--sky);font-weight:700}
.wt2 .arts .t4{display:block;margin:8px 0 0;font-size:14px;line-height:1.75;font-weight:700}
.wt2 .arts a{text-decoration:none}

/* ===== 11. 用語集 ===== */
.wt2 .terms{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;list-style:none;margin:0;padding:0;counter-reset:g}
.wt2 .terms li{counter-increment:g}
.wt2 .terms li a{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:24px 26px 24px 76px;text-decoration:none;color:inherit;transition:background .2s,transform .2s,box-shadow .2s}
.wt2 .terms li a::before{content:counter(g,decimal-leading-zero);position:absolute;left:24px;top:23px;
  font-size:21px;font-weight:800;color:var(--sky);line-height:1;letter-spacing:.02em}
.wt2 .terms li a:hover{background:var(--bg2);transform:translateY(-2px);box-shadow:0 8px 20px rgba(23,58,82,.06)}
.wt2 .terms__t{display:block;position:relative;padding-right:22px;font-size:16px;font-weight:700;line-height:1.5}
.wt2 .terms__t::after{content:"→";position:absolute;right:0;top:0;color:var(--sky)}
.wt2 .terms__d{display:block;margin-top:11px;font-size:13.5px;color:var(--ink2);line-height:1.85}

/* ===== 12. 最終CTA（見せ場・70vh・紺） ===== */
.wt2 .final{position:relative;min-height:70vh;display:flex;align-items:center;
  background:linear-gradient(140deg,var(--deep) 0%,var(--deep2) 100%);color:#fff;overflow:clip}
.wt2 .final__in{width:min(var(--c),calc(100% - 48px));margin-inline:auto;text-align:center;padding:100px 0}
.wt2 .final__big{margin:0 0 18px;font-size:clamp(24px,3.4vw,44px);font-weight:800;line-height:1.5}
.wt2 .final__lead{margin:0 0 40px;font-size:15px;color:#bcd3e6}
.wt2 .cta3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:820px;margin:0 auto}
.wt2 .cta3 a{display:block;text-decoration:none;padding:30px 20px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:background .2s}
.wt2 .cta3 a:hover{background:rgba(255,255,255,.14)}
.wt2 .cta3 b{display:block;font-size:17px;margin-bottom:8px;color:#fff}
.wt2 .cta3 span{font-size:12.5px;color:#bcd3e6}

/* ヘッダー */
.wt2-hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(140%) blur(6px)}
.wt2-hd__in{width:min(var(--c),calc(100% - 48px));margin-inline:auto;display:flex;align-items:center;gap:32px;height:76px}
.wt2-hd__logo img{display:block;height:40px;width:auto}
.wt2-hd__nav{display:flex;gap:26px;margin-left:auto;font-size:13.5px;font-weight:700}
.wt2-hd__nav a{text-decoration:none;color:var(--ink)}
.wt2-hd__nav a:hover{color:var(--sky)}
.wt2-hd__cta{background:var(--coral);color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;padding:12px 24px;border-radius:8px}

/* 円CTA */
.wt2-fab{position:fixed;right:28px;bottom:28px;z-index:70;width:108px;height:108px;
  display:grid;place-items:center;text-decoration:none;opacity:0;visibility:hidden;transform:scale(.9);
  transition:opacity .25s,transform .25s,visibility .25s}
.wt2-fab.is-on{opacity:1;visibility:visible;transform:scale(1)}
.wt2-fab__c{position:absolute;inset:0;border-radius:50%;background:var(--coral);border:3px solid #fff;box-shadow:0 8px 24px rgba(23,58,82,.30),0 0 0 1px rgba(23,58,82,.06)}
.wt2-fab__r{position:absolute;inset:0;animation:wt2spin 16s linear infinite}
.wt2-fab__r text{font-size:11px;letter-spacing:.15em;fill:#fff;font-weight:700}
.wt2-fab__a{position:relative;z-index:2;color:#fff;font-size:20px}
@keyframes wt2spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wt2-fab__r{animation:none}}

/* タブレット */
@media (max-width:1000px){
  .wt2 .band{padding:88px 0}
  .wt2 .fv__in{grid-template-columns:1fr;padding:96px 0 70px}
  .wt2 .fv__img{order:-1;margin-right:0}
  .wt2 .fv__big{white-space:normal;font-size:clamp(38px,9vw,60px)}
  .wt2 .fv__vert{display:none}
  .wt2 .g3,.wt2 .g4,.wt2 .safe,.wt2 .arts,.wt2 .terms,.wt2 .method,.wt2 .cta3{grid-template-columns:repeat(2,1fr)}
  .wt2 .record{grid-template-columns:1fr;gap:30px}
  .wt2 .record__tier--m,.wt2 .record__tier--l{margin-left:0}
  .wt2 .course__list{grid-template-columns:1fr}
  .wt2 .stats__in{gap:24px}
  .wt2 .stat--sep{display:none}
  .wt2-hd__nav{display:none}
}
/* スマートフォン */
@media (max-width:640px){
  .wt2{font-size:15px}
  .wt2 .band{padding:64px 0}
  .wt2 .in{width:calc(100% - 32px)}
  .wt2 .fv{min-height:auto}
  .wt2 .fv__in{width:calc(100% - 32px);padding:52px 0 44px;gap:24px}
  .wt2 .fv__big{-webkit-text-stroke-width:1px}
  .wt2 .ttl{font-size:22px;margin-bottom:26px}
  .wt2 .lead{margin-bottom:34px}
  .wt2 .g3,.wt2 .g4,.wt2 .safe,.wt2 .arts,.wt2 .terms,.wt2 .method,.wt2 .cta3{grid-template-columns:1fr}
  .wt2 .record__chart{padding:18px 16px 42px}
  .wt2 .record__now b{font-size:clamp(34px,11vw,46px)}
  /* 規模カード：狭幅は2段（アイコン+規模／下にコース導線）・語中改行なし */
  .wt2 .record__tier{grid-template-columns:auto 1fr;column-gap:13px;row-gap:10px;padding:15px 17px}
  .wt2 .record__ico{grid-column:1;grid-row:1}
  .wt2 .record__tn{grid-column:2;grid-row:1;word-break:keep-all;overflow-wrap:normal}
  .wt2 .record__tier em{grid-column:1/3;grid-row:2;justify-self:start;white-space:normal}
  .wt2 .stats__in{flex-direction:column;gap:26px}
  .wt2 .docs__cap{grid-template-columns:1fr;gap:14px}
  .wt2 .fv__acts .btn{width:100%;text-align:center}
  .wt2 .voice{grid-auto-columns:82%}
  .wt2-hd__in{width:calc(100% - 32px);height:62px;gap:12px}
  .wt2-hd__logo img{height:30px}
  .wt2-hd__cta{padding:10px 15px;font-size:12px}
  .wt2-fab{display:none} /* SPは固定円CTAを隠す（FAQ等への重なり回避・header「相談する」が常時可視で導線重複のため） */
  .wt2-fab__r text{font-size:9px}
}

/* ％などの単位を数字の直後に自然に置く */
.wt2 .stat{display:flex;flex-direction:column;align-items:center}
.wt2 .stat b{display:inline}
.wt2 .stat__u{font-style:normal;font-size:.4em;font-weight:800;margin-left:2px}
/* 数字＋単位を1行に */
.wt2 .stat > b, .wt2 .stat > .stat__u{display:inline}
.wt2 .stat span{width:100%}

/* このTOPページでは既存プラグインの戻るボタンを隠す（CSSはTOPのみ読込＝他ページ非影響） */
.smooth-back-to-top-button{display:none !important}

/* v3差分5件のレスポンシブ */
@media (max-width:1000px){
  .wt2 .method__wrap{grid-template-columns:1fr;gap:26px}
  .wt2 .method__aside{position:static}
  .wt2 .method__seal{margin-inline:auto}
  .wt2 .docs__compare{gap:18px}
  .wt2 .voices{grid-template-columns:1fr;gap:24px}
  .wt2 .voices__side{position:static}
  .wt2 .voices__list{grid-template-columns:1fr}
  .wt2 .safe{grid-template-columns:1fr}
  .wt2 .safe__main{grid-column:auto;grid-row:auto}
  .wt2 .safe__sub:nth-of-type(2),.wt2 .safe__sub:nth-of-type(3){grid-column:auto;grid-row:auto}
  /* サービスルート：SPは 相談→[取得する認証を選ぶ＝2枚束ね]→運用 の縦フロー（2認証を並列と分かる形に） */
  .wt2 .svcroute__link{display:none}
  .wt2 .svcroute__grid{grid-template-columns:1fr;gap:32px;padding-left:0}
  .wt2 .svcnode--entry,.wt2 .svcpick,.wt2 .svcnode--ops{grid-column:1;grid-row:auto}
  .wt2 .svcnode--pms::before,.wt2 .svcnode--iso::before,.wt2 .svcnode--ops::before{display:none}
  .wt2 .svcpick{display:block;position:relative;background:var(--bg2);border-radius:16px;padding:16px 14px 4px}
  .wt2 .svcpick__label{display:block;font-size:13px;font-weight:800;color:var(--sky);letter-spacing:.02em;margin:0 0 12px 2px}
  .wt2 .svcpick__label small{font-size:11px;font-weight:600;color:var(--ink2);margin-left:8px}
  .wt2 .svcpick .svcnode{background:#fff}
  .wt2 .svcpick .svcnode--pms{margin-bottom:12px}
  .wt2 .svcnode--entry{position:relative}
  .wt2 .svcnode--entry::after{content:"";display:block;position:absolute;left:50%;bottom:-22px;top:auto;right:auto;transform:translateX(-50%);width:2px;height:16px;background:var(--sky);border-radius:2px}
  .wt2 .svcpick::after{content:"";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:2px;height:16px;background:var(--coral);border-radius:2px}
}
@media (max-width:640px){
  .wt2 .svcnode{padding:18px 18px}
  .wt2 .svcnode__t{font-size:18px}
  .wt2 .safe__main{padding:32px 26px}
  .wt2 .method li{padding-left:50px}
}

/* ===== 9. News（罫線list） ===== */
.wt2 .newslist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.wt2 .newslist li a{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:20px;
  padding:22px 20px 22px 22px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;position:relative;transition:background .2s}
.wt2 .newslist li a::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:2px;background:transparent;transition:background .2s}
.wt2 .newslist li a:hover{background:var(--bg2)}
.wt2 .newslist li a:hover::before{background:var(--coral)}
.wt2 .newslist li a::after{content:"→";color:var(--sky);font-weight:700;opacity:.45;transition:opacity .2s,transform .2s}
.wt2 .newslist li a:hover::after{opacity:1;transform:translateX(3px)}
.wt2 .newslist time{font-size:14px;color:var(--sky);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.wt2 .newslist__c{font-size:11.5px;background:var(--bg2);color:#26708f;padding:5px 12px;border-radius:999px;font-weight:700}
.wt2 .newslist__t{font-size:14.5px;line-height:1.6;min-width:0}

/* ===== 10. Column（画像なしで成立する編集レイアウト・1件特集＋2件索引） ===== */
.wt2 .cols{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:stretch}
.wt2 .cols__lead{position:relative;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(135deg,var(--deep) 0%,var(--docblue) 100%);color:#fff;
  border-radius:16px;overflow:hidden;text-decoration:none;padding:48px 44px;transition:transform .2s}
.wt2 .cols__lead::before{content:"COLUMN";position:absolute;right:26px;bottom:14px;font-size:66px;font-weight:800;
  letter-spacing:.02em;color:rgba(255,255,255,.08);line-height:1}
.wt2 .cols__lead:hover{transform:translateY(-3px)}
.wt2 .cols__body{position:relative;z-index:1}
.wt2 .cols__tag{display:inline-block;font-size:12px;background:var(--coral2);color:#a2521c;padding:5px 12px;border-radius:6px;margin-bottom:16px}
.wt2 .cols__lead .cols__tag{background:rgba(255,255,255,.2);color:#fff}
.wt2 .cols__t{display:block;font-size:22px;font-weight:700;line-height:1.5}
.wt2 .cols__lead .cols__t{color:#fff}
.wt2 .cols__d{display:block;margin-top:14px;font-size:15px;color:#d6e9f1;line-height:1.95;max-width:26em}
.wt2 .cols__side{display:flex;flex-direction:column;gap:20px}
.wt2 .cols__row{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:28px 30px 28px 30px;text-decoration:none;color:inherit;transition:background .2s,transform .2s}
.wt2 .cols__row:hover{background:var(--bg2);transform:translateY(-2px)}
.wt2 .cols__row .cols__t{font-size:17px;margin-top:6px;padding-right:24px}
.wt2 .cols__row::after{content:"→";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--sky);font-weight:700}

/* ===== 12. FAQ（開閉） ===== */
.wt2 .faq{display:flex;flex-direction:column;gap:14px}
.wt2 .faq__i{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.wt2 .faq__i[open]{box-shadow:0 8px 20px rgba(23,58,82,.08);border-color:transparent}
.wt2 .faq__i summary{list-style:none;cursor:pointer;padding:24px 58px 24px 70px;position:relative;
  font-size:16px;font-weight:700;line-height:1.6}
.wt2 .faq__i summary::-webkit-details-marker{display:none}
.wt2 .faq__i summary::before{content:"Q";position:absolute;left:22px;top:20px;width:32px;height:32px;border-radius:50%;
  background:var(--coral);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;line-height:1}
.wt2 .faq__i summary::after{content:"";position:absolute;right:26px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.wt2 .faq__i[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.wt2 .faq__a{padding:2px 24px 26px 70px;position:relative;font-size:14px;color:var(--ink2);line-height:2}
.wt2 .faq__a::before{content:"A";position:absolute;left:22px;top:2px;width:32px;height:32px;border-radius:50%;
  background:var(--sky);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;line-height:1}
.wt2 .faq__i summary:focus-visible{outline:2px solid var(--sky);outline-offset:-2px}
/* FAQ 2列（相談者イラスト＋カテゴリナビ） */
.wt2 .faq__wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,4vw,52px);align-items:start}
.wt2 .faq__aside{position:sticky;top:100px}
.wt2 .faq__ill{display:block;width:100%;max-width:420px;height:auto}
.wt2 .faq__lead{margin:16px 0 22px;font-size:15px;color:var(--ink2);line-height:2;max-width:24em}
.wt2 .faq__nav{display:flex;flex-wrap:wrap;gap:10px}
.wt2 .faq__chip{font-size:13px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--ink2);border-radius:999px;padding:9px 18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.wt2 .faq__chip:hover{border-color:var(--sky)}
.wt2 .faq__chip.is-on{background:var(--coral);border-color:var(--coral);color:#fff}
.wt2 .faq__cat{display:inline-block;font-size:11px;font-weight:700;color:#26708f;background:var(--bg2);border-radius:5px;padding:3px 9px;margin-right:10px;vertical-align:middle}
.wt2 .faq__i[hidden]{display:none}
@media (max-width:1000px){
  .wt2 .faq__wrap{grid-template-columns:1fr;gap:26px}
  .wt2 .faq__aside{position:static;text-align:center}
  .wt2 .faq__ill{margin:0 auto}
  .wt2 .faq__lead{margin-inline:auto}
  .wt2 .faq__nav{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.wt2 .faq__chip{transition:none!important}}

@media (max-width:1000px){
  .wt2 .cols{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wt2 .newslist li a{grid-template-columns:auto 1fr;gap:8px 12px}
  .wt2 .newslist__t{grid-column:1/3}
}

/* ===== 4. コース一覧：認証種別 × 支援フェーズ 見取り図（v20 / .cmx） ===== */
.wt2 .cmx{margin:0 0 8px}
.wt2 .cmx__cert{margin:0 0 40px}
.wt2 .cmx__certh{font-size:18px;font-weight:700;margin:0 0 18px;padding-left:15px;border-left:4px solid var(--sky)}
.wt2 .cmx__cert--isms .cmx__certh{border-left-color:var(--coral)}

/* フェーズ3列（PC）。列の高さは内容なりで揃えない＝件数差を素直に見せる */
.wt2 .cmx__flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;position:relative}
.wt2 .cmx__ph{position:relative;min-width:0}

/* フェーズ間の進行（PC=右向き／SP=下向き）。装飾のみでDOMの情報は持たない */
.wt2 .cmx__ph::after{content:"";position:absolute;top:13px;right:-13px;width:8px;height:8px;border-top:2px solid var(--line);border-right:2px solid var(--line);transform:rotate(45deg);pointer-events:none}
.wt2 .cmx__ph:last-child::after{display:none}

.wt2 .cmx__pht{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2);margin:0 0 12px;letter-spacing:.04em}
.wt2 .cmx__phn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--inv);color:var(--deep);font-size:11px;font-weight:800;letter-spacing:0}
.wt2 .cmx__cert--isms .cmx__phn{background:var(--coral2)}

.wt2 .cmx__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wt2 .cmx__li{min-width:0}

.wt2 .cmx__item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"nm pr" "tg pr";gap:2px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 15px;text-decoration:none;color:inherit;transition:border-color .25s ease,transform .25s ease}
.wt2 .cmx__item:hover{border-color:var(--sky);transform:translateY(-1px)}
.wt2 .cmx__cert--isms .cmx__item:hover{border-color:var(--coral)}
.wt2 .cmx__item:focus-visible{outline:2px solid var(--sky);outline-offset:2px}

.wt2 .cmx__nm{grid-area:nm;font-size:14.5px;font-weight:700;line-height:1.45;display:flex;align-items:center;gap:7px;flex-wrap:wrap;word-break:keep-all;overflow-wrap:anywhere}
.wt2 .cmx__tg{grid-area:tg;font-size:12.5px;color:var(--ink2);line-height:1.5}
.wt2 .cmx__pr{grid-area:pr;font-size:15px;font-weight:800;color:var(--coral);white-space:nowrap;text-align:right}
.wt2 .cmx__pr--ask{font-size:12px;font-weight:700;color:var(--ink2)}

.wt2 .cmx__badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--coral2);color:var(--deep);font-size:11px;font-weight:700;line-height:1.6;white-space:nowrap}

/* 2規格の費用をまとめて見る比較導線（P版・ISMS版の双方から接続） */
.wt2 .cmx__cmp{display:inline-flex;align-items:center;gap:5px;margin:7px 0 0 2px;font-size:12.5px;font-weight:700;color:var(--docblue);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s ease}
.wt2 .cmx__cmp::before{content:"";width:5px;height:5px;border-top:2px solid var(--docblue);border-right:2px solid var(--docblue);transform:rotate(45deg);flex:0 0 auto}
.wt2 .cmx__cmp:hover{border-bottom-color:var(--docblue)}
.wt2 .cmx__cmp:focus-visible{outline:2px solid var(--docblue);outline-offset:2px}

/* 下段：取得後を支えるサービス */
.wt2 .cmx__sup{margin:8px 0 30px;padding:26px 24px;background:var(--bg2);border-radius:12px}
.wt2 .cmx__suph{font-size:16px;font-weight:700;margin:0 0 18px;color:var(--deep)}
.wt2 .cmx__supgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.wt2 .cmx__supg{min-width:0}
.wt2 .cmx__supl{font-size:12.5px;font-weight:700;color:var(--ink2);margin:0 0 10px;padding-left:10px;border-left:3px solid var(--sky);letter-spacing:.04em}
.wt2 .cmx__list--sup .cmx__item{padding:12px 14px}

@media (max-width:1000px){
  .wt2 .cmx__flow{grid-template-columns:1fr;gap:22px}
  .wt2 .cmx__ph::after{top:auto;right:auto;bottom:-16px;left:10px;transform:rotate(135deg)}
  .wt2 .cmx__supgrid{grid-template-columns:1fr;gap:18px}
}

@media (max-width:640px){
  .wt2 .cmx__cert{margin:0 0 32px}
  .wt2 .cmx__certh{font-size:16.5px}
  .wt2 .cmx__item{grid-template-columns:1fr;grid-template-areas:"nm" "tg" "pr";gap:4px;padding:13px 14px}
  .wt2 .cmx__pr{text-align:left}
  .wt2 .cmx__sup{padding:22px 16px}
}

@media (prefers-reduced-motion:reduce){
  .wt2 .cmx__item{transition:none}
  .wt2 .cmx__item:hover{transform:none}
  .wt2 .cmx__cmp{transition:none}
}

/* ===== 11. 用語集：2つの理解ルート（v21 / .gls） ===== */
.wt2 .gls{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start;margin:0 0 22px}
.wt2 .gls__route{min-width:0}

.wt2 .gls__scope{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--deep);margin:0 0 14px;padding:5px 14px;border-radius:999px;background:var(--inv)}
.wt2 .gls__route--iso .gls__scope{background:var(--coral2)}

.wt2 .gls__node{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .25s ease,transform .25s ease}
a.wt2 .gls__node:hover,.wt2 a.gls__node:hover{border-color:var(--sky);transform:translateY(-1px)}
.wt2 .gls__route--iso a.gls__node:hover{border-color:var(--coral)}
.wt2 a.gls__node:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.wt2 .gls__route--iso a.gls__node:focus-visible{outline-color:var(--coral)}
.wt2 .gls__node--leaf{background:var(--bg2);border-style:dashed}

.wt2 .gls__role{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--ink2);margin:0 0 7px;padding:2px 9px;border-radius:999px;background:var(--bg2)}
.wt2 .gls__node--leaf .gls__role{background:#fff}
.wt2 .gls__t{display:block;font-size:16px;font-weight:700;line-height:1.5;margin:0 0 8px;word-break:keep-all;overflow-wrap:anywhere}
.wt2 .gls__d{display:block;font-size:13.5px;color:var(--ink2);line-height:1.85}

/* 関係ラベル：上下の矢印と語で「なぜ次に繋がるか」を示す */
.wt2 .gls__rel{position:relative;margin:0;padding:26px 0 26px 26px;font-size:12.5px;font-weight:700;color:var(--docblue);line-height:1.5}
.wt2 .gls__rel::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--line)}
.wt2 .gls__rel::after{content:"";position:absolute;left:5px;bottom:18px;width:9px;height:9px;border-bottom:2px solid var(--sky);border-right:2px solid var(--sky);transform:rotate(45deg)}
.wt2 .gls__route--iso .gls__rel::after{border-color:var(--coral)}

.wt2 .gls__pillars{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0}
.wt2 .gls__pillars span{padding:4px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--deep);white-space:nowrap}

.wt2 .gls__note{margin:0;padding:16px 20px;border-left:3px solid var(--sky);background:var(--bg2);border-radius:0 8px 8px 0;font-size:13px;color:var(--ink2);line-height:1.85}

@media (max-width:1000px){
  .wt2 .gls{grid-template-columns:1fr;gap:34px}
}

@media (max-width:640px){
  .wt2 .gls__node{padding:16px 17px}
  .wt2 .gls__t{font-size:15px}
  .wt2 .gls__rel{padding:22px 0 22px 24px}
  .wt2 .gls__note{padding:14px 16px}
}

@media (prefers-reduced-motion:reduce){
  .wt2 .gls__node{transition:none}
  .wt2 a.gls__node:hover{transform:none}
}

/* ===== 9. 新着情報：継続性ストリップ（v23 / .nstrip） ===== */
.wt2 .nstrip{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 22px;padding:18px 22px;background:var(--bg2);border-radius:10px}
.wt2 .nstrip__lead{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.8;min-width:0;flex:1 1 auto}
.wt2 .nstrip__tag{display:inline-block;margin-right:10px;padding:3px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--deep);white-space:nowrap;vertical-align:1px}
.wt2 .nstrip__figs{display:flex;gap:26px;margin:0;flex:0 0 auto}
.wt2 .nstrip__fig{min-width:0}
.wt2 .nstrip__fig dt{margin:0 0 2px;font-size:11.5px;font-weight:700;color:var(--ink2);letter-spacing:.03em;white-space:nowrap}
.wt2 .nstrip__fig dd{margin:0;font-size:22px;font-weight:800;color:var(--deep);line-height:1.2;white-space:nowrap}
.wt2 .nstrip__fig dd span{margin-left:3px;font-size:12px;font-weight:700;color:var(--ink2)}

@media (max-width:1000px){
  .wt2 .nstrip{gap:16px}
  .wt2 .nstrip__figs{gap:22px}
}

@media (max-width:640px){
  .wt2 .nstrip{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 17px}
  .wt2 .nstrip__figs{gap:24px}
  .wt2 .nstrip__fig dd{font-size:20px}
}

/* ===== v23 修正：カテゴリpill廃止に伴う .newslist の列構成是正 ===== */
/* PC: date / title / arrow の3列（旧: date/cat/title/arrow の4列） */
.wt2 .newslist li a{grid-template-columns:auto 1fr auto}

@media (max-width:640px){
  /* SP: 左列に date と title を2行、右列に矢印を2行span＋中央揃え */
  .wt2 .newslist li a{grid-template-columns:1fr auto;gap:6px 14px}
  .wt2 .newslist time{grid-column:1;grid-row:1}
  .wt2 .newslist__t{grid-column:1;grid-row:2}
  .wt2 .newslist li a::after{grid-column:2;grid-row:1/3;align-self:center}
}

/* ===== v24 セクション固有の表示順序 =====
   方針：新しい keyframes / JS を足さない。既存 .rv（外側 .in）に on が付いたことを起点に、
   子要素を section 固有 CSS で段階表示する。子には .rv を付けない（Observer 競合の回避）。
   reduced-motion では子要素も明示的に無効化する（外側 .rv の分岐だけに依存しない）。 */

/* --- コース一覧：フェーズ順（新規 → 更新・継続 → 運用改善） --- */
.wt2 .cmx__flow>.cmx__ph{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
.wt2 .in.rv.on .cmx__flow>.cmx__ph{opacity:1;transform:none}
.wt2 .in.rv.on .cmx__flow>.cmx__ph:nth-child(1){transition-delay:.04s}
.wt2 .in.rv.on .cmx__flow>.cmx__ph:nth-child(2){transition-delay:.14s}
.wt2 .in.rv.on .cmx__flow>.cmx__ph:nth-child(3){transition-delay:.24s}

/* --- 用語集：ルート順。遅延は opacity だけに掛ける（--gls-delay）。
       transition-delay を1値で書くと全プロパティへ反復適用され、
       gls__node の hover（border-color / transform）の開始まで遅れるため。 --- */
.wt2 .gls .gls__node{transition:border-color .25s ease 0s,transform .25s ease 0s,opacity .5s ease var(--gls-delay,0s)}
.wt2 .gls__route>*{opacity:0}
.wt2 .gls__route>.gls__rel{transform:translateY(6px);transition:opacity .5s ease var(--gls-delay,0s),transform .5s ease var(--gls-delay,0s)}
.wt2 .gls__route>.gls__scope{transition:opacity .5s ease var(--gls-delay,0s)}
.wt2 .in.rv.on .gls__route>*{opacity:1}
.wt2 .in.rv.on .gls__route>.gls__rel{transform:none}
.wt2 .in.rv.on .gls__route>*:nth-child(1){--gls-delay:.04s}
.wt2 .in.rv.on .gls__route>*:nth-child(2){--gls-delay:.10s}
.wt2 .in.rv.on .gls__route>*:nth-child(3){--gls-delay:.16s}
.wt2 .in.rv.on .gls__route>*:nth-child(4){--gls-delay:.22s}
.wt2 .in.rv.on .gls__route>*:nth-child(5){--gls-delay:.28s}
.wt2 .in.rv.on .gls__route>*:nth-child(n+6){--gls-delay:.34s}

/* --- 新着：継続性ストリップは時間順（左→右）、記事リストは上から --- */
.wt2 .nstrip__figs>.nstrip__fig{opacity:0;transform:translateX(-8px);transition:opacity .5s ease,transform .5s ease}
.wt2 .in.rv.on .nstrip__figs>.nstrip__fig{opacity:1;transform:none}
.wt2 .in.rv.on .nstrip__figs>.nstrip__fig:nth-child(1){transition-delay:.06s}
.wt2 .in.rv.on .nstrip__figs>.nstrip__fig:nth-child(2){transition-delay:.16s}
.wt2 .newslist>li{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.wt2 .in.rv.on .newslist>li{opacity:1;transform:none}
.wt2 .in.rv.on .newslist>li:nth-child(1){transition-delay:.06s}
.wt2 .in.rv.on .newslist>li:nth-child(2){transition-delay:.12s}
.wt2 .in.rv.on .newslist>li:nth-child(3){transition-delay:.18s}
.wt2 .in.rv.on .newslist>li:nth-child(4){transition-delay:.24s}
.wt2 .in.rv.on .newslist>li:nth-child(5){transition-delay:.30s}
.wt2 .in.rv.on .newslist>li:nth-child(n+6){transition-delay:.36s}

/* --- reduced-motion：子要素も明示的に無効化 --- */
@media (prefers-reduced-motion:reduce){
  .wt2 .cmx__flow>.cmx__ph,
  .wt2 .gls__route>*,
  .wt2 .nstrip__figs>.nstrip__fig,
  .wt2 .newslist>li{opacity:1;transform:none;transition:none;transition-delay:0s}
  /* 詳細度が上の個別ルールを個別に打ち消す（.wt2 .gls .gls__node と .wt2 .gls__route>.gls__rel） */
  .wt2 .gls .gls__node,
  .wt2 .gls__route>.gls__rel,
  .wt2 .gls__route>.gls__scope{opacity:1;transform:none;transition:none;transition-delay:0s}
  .wt2 .in.rv.on .cmx__flow>.cmx__ph:nth-child(n),
  .wt2 .in.rv.on .nstrip__figs>.nstrip__fig:nth-child(n),
  .wt2 .in.rv.on .newslist>li:nth-child(n){transition-delay:0s}
  .wt2 .in.rv.on .gls__route>*:nth-child(n){--gls-delay:0s}
}

/* ===== v25 コントラスト（白／淡水色の上の「意味を持つ文字・UI」のみ濃色へ） =====
   方針：装飾（ドット・線・グラデ）と deep 背景上の明るい sky/coral は維持する。
   使う色は既存2色のみ。--docblue は既に定義済み、--coral-ink は既存の直値 #a2521c を変数化した。
   基準：白 #fff で 5.59:1、淡水色 #e8f4f8 で 4.98:1（いずれも本文基準 4.5:1 以上）。 */
.wt2{--coral-ink:#a2521c}

/* --- 白文字ボタン・丸UI（旧 2.44:1 → 5.59:1） --- */
.wt2 .btn--m{background:var(--coral-ink)}
.wt2 .btn--m:hover{background:var(--coral-ink);filter:brightness(.9)}
/* .wt2 a{color:inherit} が .wt2-hd__cta（クラス1つ）に勝つため、白文字が効いていなかった。
   v23から続く既存不具合。詳細度を上げて明示する。 */
.wt2 .wt2-hd__cta{background:var(--coral-ink);color:#fff}
.wt2-fab{--coral-ink:#a2521c}
.wt2-fab__c{background:var(--coral-ink)}
.wt2 .faq__i summary::before{background:var(--coral-ink)}
.wt2 .faq__a::before{background:var(--docblue)}
.wt2 .faq__i summary::after{border-right-color:var(--docblue);border-bottom-color:var(--docblue)}
.wt2 .faq__i summary:focus-visible{outline-color:var(--docblue)}
.wt2 .faq__chip.is-on{background:var(--coral-ink);border-color:var(--coral-ink)}

/* --- 白／淡水色の上の意味を持つ文字 --- */
.wt2 .lb{color:var(--docblue)}
.wt2 .band--deep .lb{color:var(--sky)}          /* deep 上は維持（5.36:1） */
.wt2 .lb::before{color:var(--coral-ink)}
.wt2 .band--deep .lb::before{color:var(--coral)} /* deep 上は維持（4.88:1） */
.wt2 .more{color:var(--docblue)}
.wt2 .svcnode__ph{color:var(--docblue)}
.wt2 .svcnode--ops .svcnode__ph{color:var(--coral-ink)}
.wt2 .svcpick__label{color:var(--docblue)}
.wt2 .course__price{color:var(--coral-ink)}
.wt2 .cmx__pr{color:var(--coral-ink)}
.wt2 .safe__main .safe__big{color:var(--docblue)}
.wt2 .safe__t{color:var(--docblue)}
.wt2 .record__now span{color:var(--docblue)}
.wt2 .record__chart figcaption{
  padding:4px 7px;
  border-radius:8px;
  background:rgba(255,255,255,.90);
  box-shadow:0 4px 12px rgba(23,58,82,.06);
}
.wt2 .record__tier em{color:var(--docblue)}
.wt2 .arts time{color:var(--docblue)}
.wt2 .terms li a::before{color:var(--docblue)}
.wt2 .terms__t{color:var(--docblue)}
.wt2 .terms__t::after{color:var(--docblue)}
.wt2 .newslist time{color:var(--docblue)}
.wt2 .newslist li a::after{color:var(--docblue)}
.wt2 .cols__row::after{color:var(--docblue)}
.wt2-hd__nav a:hover{color:var(--docblue)}

/* --- FV（背景は淡水色〜白のグラデのため対象） --- */
.wt2 .fv__labels{color:var(--docblue)}
.wt2 .fv__sub a::before{color:var(--coral-ink)}
.wt2 .fv__sub a:hover{color:var(--docblue)}
.wt2 .fv__node--c b{color:var(--coral-ink)}

/* --- hover / keyboard focus も白背景上で3:1以上を確保 --- */
.wt2 .svcnode:not(.svcnode--entry):hover,
.wt2 .faq__chip:hover,
.wt2 .cmx__item:hover,
.wt2 a.gls__node:hover{border-color:var(--docblue)}
.wt2 .cmx__cert--isms .cmx__item:hover,
.wt2 .gls__route--iso a.gls__node:hover{border-color:var(--coral-ink)}
.wt2 .svcnode:focus-visible,
.wt2 .cmx__item:focus-visible,
.wt2 a.gls__node:focus-visible{outline:2px solid var(--docblue);outline-offset:2px}
.wt2 .gls__route--iso a.gls__node:focus-visible{outline-color:var(--coral-ink)}

/* ===== v26-v28 background texture =====
   Canvaの背景テクスチャ例を参照し、書類業務と親和性のある上質紙・漆喰の微粒子感に限定。
   白背景を休符として残し、質感が見え、可読性を損なわない淡水色帯だけに適用する。 */
.wt2 .band--pale{
  background-color:var(--bg2);
  background-image:linear-gradient(rgba(232,244,248,.90),rgba(232,244,248,.90)),url('../images/workstrust-paper-texture-v1.webp');
  background-repeat:no-repeat,repeat;
  background-size:cover,768px 768px;
}
/* 淡水色面の補助情報は4.5:1を割っていたため、既存docblueへ寄せる。 */
.wt2 .band--pale .lead,
.wt2 .band--pale .note,
.wt2 .safe__d,
.wt2 .record__start,
.wt2 .record__start small,
.wt2 .record__chart figcaption,
.wt2 .record__tn small,
.wt2 .svcnode__tags span,
.wt2 .newslist__c,
.wt2 .faq__cat,
.wt2 .cmx__pht,
.wt2 .cmx__supl,
.wt2 .gls__role,
.wt2 .gls__node--leaf .gls__d,
.wt2 .gls__note,
.wt2 .nstrip__lead,
.wt2 .nstrip__fig dt,
.wt2 .nstrip__fig dd span{color:var(--docblue)}

@media(max-width:767px){
  .wt2 .band--pale{background-size:cover,512px 512px}
}

/* ===== v27 Record generated visual ===== */
.wt2 .record__chart{
  min-height:clamp(250px,30vw,340px);
  padding:0;
  background:#f8fbfc;
  isolation:isolate;
}
.wt2 .record__visual{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.wt2 .record__chart::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  height:36%;
  background:linear-gradient(180deg,rgba(248,251,252,0),rgba(248,251,252,.95));
  pointer-events:none;
}
.wt2 .record__start,
.wt2 .record__now,
.wt2 .record__chart figcaption{z-index:2}
.wt2 .record__start{
  left:14px;
  bottom:12px;
  padding:7px 9px;
  border:1px solid rgba(219,232,243,.88);
  border-radius:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 18px rgba(23,58,82,.08);
  backdrop-filter:blur(4px);
}
.wt2 .record__now{
  top:18px;
  right:18px;
  padding:10px 13px;
  border:1px solid rgba(219,232,243,.82);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 22px rgba(23,58,82,.08);
  backdrop-filter:blur(5px);
}
.wt2 .record__now span{color:var(--docblue)}

@media(max-width:767px){
  .wt2 .record__chart{min-height:270px;padding:0}
  .wt2 .record__visual{object-position:58% center}
  .wt2 .record__now{top:12px;right:12px;padding:8px 10px}
  .wt2 .record__start{left:14px;bottom:12px}
  .wt2 .record__chart figcaption{right:14px;bottom:13px;max-width:62%}
}

/* ===== v33 production adapter: keep the active workstrust header/footer ===== */
body.wt2-home #container,
body.wt2-home #content,
body.wt2-home #main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
body.wt2-home .screen-reader-text{
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.wt2 .final__phone{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:baseline;
  gap:10px 18px;
  margin-top:28px;
}
.wt2 .final__phone a{
  color:#fff;
  font-size:clamp(22px,3vw,34px);
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
}
.wt2 .final__phone span{
  color:#eaf3fa;
  font-size:13px;
}
.wt2 .faq + .note{margin-top:22px}
@media(max-width:767px){
  .wt2 .final__phone{display:grid;gap:8px;text-align:center}
}

/* ===== v33 TOP approval IA: dedicated header / guide / tools / footer ===== */
body.wt2-home .l-header,
body.wt2-home .l-footer{display:none!important}
body.wt2-home #wrapper{overflow:visible}

.wt2 .wt2-hd{
  position:sticky;
  top:0;
  z-index:100;
  display:block;
  width:100%;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(15,43,61,.07);
  backdrop-filter:blur(14px);
}
.wt2 .wt2-hd__main{
  width:min(1280px,calc(100% - 48px));
  min-height:72px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.wt2 .wt2-hd__brand{display:grid;gap:2px;text-decoration:none;color:var(--deep);line-height:1}
.wt2 .wt2-hd__brand strong{font-size:20px;letter-spacing:.12em;font-weight:900}
.wt2 .wt2-hd__brand span{font-size:10px;letter-spacing:.08em;color:var(--docblue)}
.wt2 .wt2-hd__contact{display:flex;align-items:center;gap:18px}
.wt2 .wt2-hd__phone{display:grid;gap:2px;text-decoration:none;text-align:right;color:var(--deep)}
.wt2 .wt2-hd__phone b{font-size:18px;letter-spacing:.04em}
.wt2 .wt2-hd__phone span{font-size:10px;color:var(--docblue)}
.wt2 .wt2-hd__cta{display:inline-grid;place-items:center;min-height:42px;padding:0 22px;border-radius:7px;background:var(--coral-ink);color:#fff!important;text-decoration:none;font-size:13px;font-weight:800}
.wt2 .wt2-hd__toggle{display:none;border:0;background:transparent;color:var(--deep);padding:5px;cursor:pointer}
.wt2 .wt2-hd__toggle span{display:block;width:25px;height:2px;margin:5px 0;background:currentColor}
.wt2 .wt2-hd__toggle em{display:block;margin-top:4px;font-size:8px;font-style:normal;letter-spacing:.14em}
.wt2 .wt2-hd__menu{border-top:1px solid rgba(219,232,243,.72);background:#032e80}
.wt2 .wt2-hd__nav{
  width:min(1280px,calc(100% - 48px));
  min-height:44px;
  margin:0 auto;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:0;
  font-size:11.5px;
  font-weight:800;
}
.wt2 .wt2-hd__nav>details,
.wt2 .wt2-hd__nav>a{position:relative;display:flex;align-items:center;margin:0}
.wt2 .wt2-hd__nav>a,
.wt2 .wt2-hd__group>summary{display:flex;align-items:center;min-height:44px;padding:0 clamp(6px,.7vw,12px);text-decoration:none;color:#fff;white-space:nowrap;cursor:pointer}
.wt2 .wt2-hd__group>summary{list-style:none}
.wt2 .wt2-hd__group>summary::-webkit-details-marker{display:none}
.wt2 .wt2-hd__group>summary::after{content:"";width:5px;height:5px;margin-left:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.wt2 .wt2-hd__nav>a:hover,
.wt2 .wt2-hd__nav>a:focus-visible,
.wt2 .wt2-hd__group>summary:hover,
.wt2 .wt2-hd__group>summary:focus-visible,
.wt2 .wt2-hd__group[open]>summary{color:var(--docblue);background:var(--bg2)}
.wt2 .wt2-hd__panel{
  position:absolute;
  top:100%;
  left:0;
  z-index:20;
  display:none;
  width:310px;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:0 0 12px 12px;
  box-shadow:0 20px 34px rgba(15,43,61,.16);
}
.wt2 .wt2-hd__group--wide .wt2-hd__panel{width:370px;grid-template-columns:1fr 1fr}
.wt2 .wt2-hd__group--end .wt2-hd__panel{right:0;left:auto}
.wt2 .wt2-hd__group[open]>.wt2-hd__panel,
.wt2 .wt2-hd__group:hover>.wt2-hd__panel,
.wt2 .wt2-hd__group:focus-within>.wt2-hd__panel{display:grid}
.wt2 .wt2-hd__panel a{display:block;padding:9px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:650;line-height:1.45}
.wt2 .wt2-hd__panel a:hover,
.wt2 .wt2-hd__panel a:focus-visible{background:var(--bg2);color:var(--docblue)}

/* Guide: 7 guides grouped by the reader's stage */
.wt2 .band--guide{background:linear-gradient(135deg,#fff 0%,#f3f9fc 100%)}
.wt2 .guidegrid{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:20px;margin-top:42px}
.wt2 .guidecard{
  position:relative;
  min-height:310px;
  padding:30px 28px;
  overflow:hidden;
  border:1px solid var(--line);
  border-top:4px solid var(--docblue);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 34px rgba(23,58,82,.07);
}
.wt2 .guidecard--renew{border-top-color:var(--coral-ink)}
.wt2 .guidecard--isms{border-color:transparent;border-top-color:var(--sky);background:linear-gradient(155deg,var(--deep) 0%,var(--deep2) 100%);color:#fff}
.wt2 .guidecard__eyebrow{margin:0 0 12px;font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--docblue)}
.wt2 .guidecard--renew .guidecard__eyebrow{color:var(--coral-ink)}
.wt2 .guidecard--isms .guidecard__eyebrow{color:#9ed9ec}
.wt2 .guidecard h3{margin:0 0 22px;font-size:24px;line-height:1.45;color:inherit}
.wt2 .guidecard ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.wt2 .guidecard ol a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:800;background:#f9fcfd}
.wt2 .guidecard ol a:hover{border-color:var(--docblue);background:var(--bg2)}
.wt2 .guidecard ol span{font-size:10px;letter-spacing:.1em;color:var(--docblue)}
.wt2 .guidecard--isms ol a{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff}
.wt2 .guidecard--isms ol a:hover{border-color:#9ed9ec;background:rgba(255,255,255,.13)}
.wt2 .guidecard--isms ol span{color:#9ed9ec}
.wt2 .guidecard__annex{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px;border-radius:9px;background:#fff;color:var(--deep);text-decoration:none}
.wt2 .guidecard__annex b{font-size:13px}
.wt2 .guidecard__annex span{font-size:10px;color:var(--docblue)}
.wt2 .guideall{margin:28px 0 0;text-align:right}

/* Services and tools: non-consulting value is visible at a glance */
.wt2 .band--tools{background:linear-gradient(145deg,var(--deep) 0%,#173f58 100%);color:#fff}
.wt2 .band--tools .lb{color:#9ed9ec}
.wt2 .band--tools .lb::before{color:#f6a286}
.wt2 .band--tools .ttl{color:#fff}
.wt2 .band--tools .lead{color:#d5e5ef}
.wt2 .toolintro{display:grid;grid-template-columns:1fr .86fr;gap:52px;align-items:end}
.wt2 .toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}
.wt2 .toolitem{
  position:relative;
  min-height:154px;
  padding:24px 22px 42px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:#fff;
  color:var(--deep);
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease;
}
.wt2 .toolitem:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(0,0,0,.18)}
.wt2 .toolitem span{display:block;margin-bottom:17px;font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--docblue)}
.wt2 .toolitem b{display:block;font-size:15px;line-height:1.55}
.wt2 .toolitem i{position:absolute;right:17px;bottom:10px;font-size:31px;font-style:normal;font-weight:900;line-height:1;color:#e6f1f6}
.wt2 .toolitem--sky{background:#edf8fb}
.wt2 .toolitem--accent{background:#fff2eb}
.wt2 .toolitem--accent span{color:var(--coral-ink)}
.wt2 .toolall{margin:26px 0 0;text-align:right}
.wt2 .band--tools .more{color:#fff}

/* Dedicated footer keeps the approved information architecture visible */
.wt2-ft{position:relative;z-index:3;background:#091f2e;color:#fff;padding:64px 0 18px}
.wt2-ft__in{width:min(1200px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:.72fr 1.8fr;gap:70px}
.wt2-ft__brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.wt2-ft__brand strong{font-size:22px;letter-spacing:.13em}
.wt2-ft__brand>span{font-size:11px;color:#bcd3e6}
.wt2-ft__brand>a{margin-top:18px;color:#fff;text-decoration:none;font-size:22px;font-weight:800}
.wt2-ft__brand small{color:#bcd3e6;font-size:11px}
.wt2-ft__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.wt2-ft__nav div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.wt2-ft__nav b{margin-bottom:6px;color:#9ed9ec;font-size:12px;letter-spacing:.1em}
.wt2-ft__nav a{color:#d9e7ef;text-decoration:none;font-size:12px;line-height:1.55}
.wt2-ft__nav a:hover{color:#fff;text-decoration:underline}
.wt2-ft__copy{width:min(1200px,calc(100% - 48px));margin:50px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:#86a5b8;font-size:10px;text-align:right}

@media(max-width:1180px){
  .wt2 .wt2-hd__main{width:calc(100% - 32px);min-height:66px}
  .wt2 .wt2-hd__phone span{display:none}
  .wt2 .wt2-hd__toggle{display:block}
  .wt2 .wt2-hd__menu{display:none;position:fixed;top:66px;right:0;bottom:auto;left:0;height:calc(100vh - 66px);height:calc(100dvh - 66px);overflow:auto;background:#032e80}
  .wt2 .wt2-hd__menu.is-open{display:block}
  .wt2 .wt2-hd__nav{display:block;width:100%;padding:10px 18px 80px}
  .wt2 .wt2-hd__nav>details,.wt2 .wt2-hd__nav>a{display:block;border-bottom:1px solid var(--line)}
  .wt2 .wt2-hd__nav>a,.wt2 .wt2-hd__group>summary{min-height:52px;padding:0 6px;font-size:14px}
  .wt2 .wt2-hd__panel,
  .wt2 .wt2-hd__group--wide .wt2-hd__panel,
  .wt2 .wt2-hd__group--end .wt2-hd__panel{position:static;display:none;width:auto;padding:0 0 12px;border:0;border-radius:0;box-shadow:none;background:var(--bg2)}
  .wt2 .wt2-hd__group[open]>.wt2-hd__panel{display:grid;grid-template-columns:1fr 1fr}
  .wt2 .wt2-hd__panel a{padding:10px 12px}
  body.wt2-menu-open{overflow:hidden}
}
@media(max-width:900px){
  .wt2 .guidegrid{grid-template-columns:1fr 1fr}
  .wt2 .guidecard--isms{grid-column:1/-1}
  .wt2 .toolgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .wt2 .wt2-hd__main{gap:12px}
  .wt2 .wt2-hd__brand strong{font-size:16px}
  .wt2 .wt2-hd__brand span{font-size:8px}
  .wt2 .wt2-hd__phone{display:none}
  .wt2 .wt2-hd__cta{min-height:38px;padding:0 14px;font-size:11px}
  .wt2 .wt2-hd__group[open]>.wt2-hd__panel{grid-template-columns:1fr}
  .wt2 .guidegrid,.wt2 .toolintro,.wt2-ft__in{grid-template-columns:1fr}
  .wt2 .guidecard--isms{grid-column:auto}
  .wt2 .guidecard{min-height:auto;padding:25px 22px}
  .wt2 .toolintro{gap:12px}
  .wt2 .toolgrid{grid-template-columns:1fr}
  .wt2 .toolitem{min-height:112px}
  .wt2-ft__in{gap:38px}
  .wt2-ft__nav{grid-template-columns:1fr 1fr;gap:30px 20px}
  .wt2-ft__copy{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .wt2 .toolitem{transition:none}
}

/* ===== v34 image-led editorial depth ===== */
.wt2{
  --action:#d32f2f;
  --action-dark:#b71c1c;
}

/* Official 500x140 logo: keep the original white canvas on the white header. */
.wt2 .wt2-hd__brand{display:block;line-height:0}
.wt2 .wt2-hd__brand img{display:block;width:auto;height:46px}
.wt2-ft__logo{display:block;width:min(240px,100%);padding:8px 10px;background:#fff;border-radius:8px;line-height:0}
.wt2-ft__logo img{display:block;width:100%;height:auto}

/* Vivid accessible action color. Decorative coral remains available elsewhere. */
.wt2 .btn--m,
.wt2 .wt2-hd__cta,
.wt2 .faq__i summary::before,
.wt2 .faq__chip.is-on{background:var(--action);border-color:var(--action);color:#fff}
.wt2 .btn--m{box-shadow:0 5px 0 #8f1717,0 12px 26px rgba(211,47,47,.22)}
.wt2 .btn--m:hover,
.wt2 .wt2-hd__cta:hover,
.wt2 .faq__chip.is-on:hover{background:var(--action-dark);border-color:var(--action-dark);filter:none}
.wt2-fab{--coral-ink:var(--action)}
.wt2-fab__c{background:var(--action)}

/* Full-width project-owned raster. Copy wash ends inside the copy column. */
.wt2 .fv{
  background-color:#edf7fb;
  background-image:url('../images/workstrust-fv-editorial-v1.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.wt2 .fv__copy::before{
  inset:-26px 8% -28px -26px;
  border-radius:22px;
  background:linear-gradient(90deg,rgba(249,252,253,.96) 0%,rgba(249,252,253,.91) 72%,rgba(249,252,253,.30) 100%);
}
.wt2 .fv__stage{z-index:2}
.wt2 .fv__node{box-shadow:0 12px 30px rgba(15,43,61,.22)}
.wt2 .fv__node--c{border-bottom-color:var(--action)}
.wt2 .fv__node--c b{color:var(--action)}
.wt2 .fv__node--c b small{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 4px;
  margin-left:4px;
  border-radius:5px;
  background:#071c30;
  color:#fff;
  font-size:11px;
  line-height:1;
  vertical-align:2px;
}
/* Small labels cross both light and illustrated areas; use the stable brand ink. */
.wt2 .fv__vert,
.wt2 .fv__scroll,
.wt2 .fv__node--c span{color:#002048}

/* Warm illustrated proof band: people and documents support the live HTML numbers. */
.wt2 .stats{
  position:relative;
  isolation:isolate;
  padding:118px 0 138px;
  background-color:#10263d;
  background-image:linear-gradient(rgba(7,28,48,.08),rgba(7,28,48,.08)),url('../images/workstrust-stats-illustration-v4.webp');
  background-position:center bottom;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(255,255,255,.08);
}
.wt2 .stats__in{
  position:relative;
  z-index:1;
  padding:30px 38px;
  background-color:rgba(249,252,253,.94);
  background-image:linear-gradient(rgba(249,252,253,.90),rgba(249,252,253,.90)),url('../images/workstrust-paper-texture-v1.webp');
  background-size:auto,520px 520px;
  box-shadow:0 18px 54px rgba(4,21,36,.22);
}
.wt2 .stats__ttl{
  position:relative;
  z-index:1;
  width:min(var(--c),calc(100% - 48px));
  margin:0 auto 52px;
  color:#fff;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:800;
  line-height:1.35;
  letter-spacing:.06em;
  text-align:center;
  text-shadow:0 4px 22px rgba(0,0,0,.42);
}
.wt2 .stats .stat b{color:var(--deep);text-shadow:none}
.wt2 .stats .stat span{color:var(--ink2);font-weight:700}
.wt2 .stats .stat--sep{background:linear-gradient(var(--coral),#d32f2f);opacity:.8}
.wt2 .stats .stat__u{
  color:#fff;
  background:#071c30;
  border:1px solid rgba(255,255,255,.34);
  border-radius:5px;
  padding:3px 5px;
  margin-left:6px;
  font-size:13px;
  line-height:1;
  text-shadow:none;
  transform:translateY(-5px);
}

/* Bright evidence story: keep the illustration and restore the original site's clear growth hierarchy. */
.wt2 .stats{
  padding:90px 0 104px;
  color:var(--deep);
  background-color:#edf8fb;
  background-image:linear-gradient(90deg,rgba(247,252,253,.14),rgba(247,252,253,.44) 36%,rgba(247,252,253,.44) 64%,rgba(247,252,253,.14)),url('../images/workstrust-stats-illustration-light-v5.webp');
  box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -1px rgba(23,58,82,.08);
}
.wt2 .stats__in{
  width:min(1100px,calc(100% - 48px));
  margin-inline:auto;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  align-items:end;
  gap:clamp(42px,6vw,82px);
  background:none;
  box-shadow:none;
}
.wt2 .stats__copy{position:relative;z-index:3;max-width:500px;padding:30px 32px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(23,58,82,.09)}
.wt2 .stats__since{margin:0 0 8px;color:var(--docblue);font-size:17px;font-weight:800;letter-spacing:.08em}
.wt2 .stats__ttl{width:auto;margin:0;color:var(--deep);font-size:clamp(30px,3.4vw,46px);font-weight:800;line-height:1.28;letter-spacing:.03em;text-align:left;text-shadow:none}
.wt2 .stats__ttl strong{display:flex;align-items:flex-end;gap:10px;margin-top:12px;color:#d32f2f}
.wt2 .stats__ttl b{font-size:clamp(70px,8vw,106px);font-weight:900;line-height:.88;letter-spacing:-.045em}
.wt2 .stats__ttl span{padding-bottom:8px;font-size:clamp(19px,2vw,25px);font-weight:900;white-space:nowrap}
.wt2 .stats__desc{max-width:480px;margin:28px 0 0;color:var(--ink2);font-size:14px;font-weight:600;line-height:1.9}
.wt2 .stats__chart{position:relative;height:286px;padding:64px 10px 28px}
.wt2 .stats__callout{position:absolute;top:0;right:0;z-index:3;margin:0;padding:11px 17px;background:#ffd866;color:var(--deep);box-shadow:0 8px 20px rgba(23,58,82,.12);text-align:center}
.wt2 .stats__callout span{display:block;font-size:11px;font-weight:800;letter-spacing:.08em}
.wt2 .stats__callout b{display:block;margin-top:2px;font-size:18px;font-weight:900}
.wt2 .stats__bars{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;height:100%;margin:0;padding:0;list-style:none;border-bottom:2px solid rgba(23,58,82,.16)}
.wt2 .stats__bars li{display:flex;flex:1 1 0;min-width:0;height:100%;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
.wt2 .stats__bars i{display:block;width:58%;min-width:22px;background:#c9e9f2}
.wt2 .stats__bars li:nth-child(1) i{height:22%;background:#d7eff5}.wt2 .stats__bars li:nth-child(2) i{height:31%;background:#c5e6ef}.wt2 .stats__bars li:nth-child(3) i{height:42%;background:#a9d7e5}.wt2 .stats__bars li:nth-child(4) i{height:54%;background:#83bfd3}.wt2 .stats__bars li:nth-child(5) i{height:67%;background:#5c9fba}.wt2 .stats__bars li:nth-child(6) i{height:81%;background:#337a99}.wt2 .stats__bars li:nth-child(7) i{height:96%;background:var(--deep)}
.wt2 .stats__bars span{font-size:10px;font-weight:800;color:var(--ink2);letter-spacing:.02em}
.wt2 .stats__bars{overflow:hidden;border-bottom:0}
.wt2 .stats__bars::before{content:"";position:absolute;z-index:0;right:0;bottom:0;left:0;height:30px;background:#fff;box-shadow:0 -1px 0 rgba(23,58,82,.12)}
.wt2 .stats__bars li{position:relative;z-index:1}
.wt2 .stats__bars span{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:30px;color:var(--deep);font-size:12px;font-weight:900}
.wt2 .stats__rise{position:absolute;left:7%;right:10%;top:53%;z-index:2;height:5px;background:#f2c94c;transform:rotate(-13deg);transform-origin:right center;box-shadow:0 2px 0 rgba(255,255,255,.7)}
.wt2 .stats__rise::after{content:"";position:absolute;right:-2px;top:50%;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:17px solid #f2c94c;transform:translateY(-50%)}
.wt2 .record--courses{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.wt2 .record--courses .record__tiers{width:100%}

/* Service illustration stays beside the copy so its light areas never reduce text contrast. */
.wt2 #service{
  position:relative;
  isolation:isolate;
  background-color:#eef7fa;
  background-image:linear-gradient(135deg,#eef7fa 0%,#fff 72%,#f4fafc 100%);
}
.wt2 #service>.in{position:relative;z-index:1}
.wt2 #service .svcnode{box-shadow:0 18px 42px rgba(15,43,61,.11)}
.wt2 #service .svcnode--entry{background:rgba(15,43,61,.96)}

/* Texture rhythm follows content density: sparse sections get depth; dense card grids stay clean. */
.wt2 .docs{
  background-color:var(--docblue);
  background-image:linear-gradient(90deg,rgba(16,51,70,.94) 0%,rgba(24,70,91,.86) 52%,rgba(36,91,116,.68) 100%),url('../images/workstrust-stats-paper-v2.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.wt2 .faq__wrap>.note{grid-column:2;margin:0;position:relative;z-index:2}
.wt2 .faq__wrap>.note .more{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:18px;
  padding:11px 18px;
  border-radius:6px;
  background:var(--docblue);
  color:#fff;
  box-shadow:0 8px 20px rgba(46,111,138,.18);
}
.wt2 .faq__wrap>.note .more:hover{background:var(--deep);color:#fff}
.wt2 #news{
  background-color:#edf7fa;
  background-image:linear-gradient(rgba(237,247,250,.82),rgba(237,247,250,.82)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,640px 640px;
  background-repeat:no-repeat,repeat;
}
.wt2 .final{
  background-color:#10263d;
  background-image:linear-gradient(140deg,rgba(15,43,61,.84),rgba(23,58,82,.86)),url('../images/workstrust-stats-paper-v2.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Self-contained TO TOP, stacked above the circular CONTACT control. */
.wt2-to-top{
  position:fixed;
  right:55px;
  bottom:150px;
  z-index:71;
  width:54px;
  height:54px;
  display:grid;
  place-content:center;
  gap:0;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:#fff;
  color:var(--deep,#002048);
  box-shadow:0 10px 28px rgba(15,43,61,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background-color .2s ease,color .2s ease;
}
.wt2-to-top.is-on{opacity:1;visibility:visible;transform:none}
.wt2-to-top span{font-size:19px;font-weight:800;line-height:1}
.wt2-to-top small{font-size:7px;font-weight:900;letter-spacing:.08em;line-height:1.4}
.wt2-to-top:hover{background:var(--deep,#002048);color:#fff}
.wt2-to-top:focus-visible{outline:3px solid var(--action,#d32f2f);outline-offset:3px}

@media(max-width:1200px){
  .wt2 .fv{background-position:58% center}
  .wt2 .fv__copy::before{inset:-20px -8px -22px -20px;background:linear-gradient(90deg,rgba(249,252,253,.92),rgba(249,252,253,.72) 76%,rgba(249,252,253,.22))}
}
@media(max-width:1000px){
  .wt2 .faq__wrap>.note{grid-column:1}
  .wt2 .stats__in{grid-template-columns:1fr;gap:34px}
  .wt2 .stats__copy{max-width:560px}
}
@media(max-width:640px){
  .wt2 .wt2-hd__brand img{height:34px}
  .wt2 .fv{background-position:68% center}
  .wt2 .fv__copy::before{inset:-14px -8px -16px;background:rgba(249,252,253,.80)}
  .wt2 .stats{
    padding:66px 0 78px;
    background-image:linear-gradient(rgba(249,252,253,.56),rgba(249,252,253,.56)),url('../images/workstrust-stats-illustration-light-mobile-v5.webp');
    background-position:center;
  }
  .wt2 .stats__in{width:calc(100% - 32px);gap:28px}
  .wt2 .stats__copy{padding:22px 20px;background:#fff}
  .wt2 .stats__since{font-size:14px}
  .wt2 .stats__ttl{font-size:30px}
  .wt2 .stats__ttl strong{gap:7px;margin-top:10px}
  .wt2 .stats__ttl b{font-size:67px}
  .wt2 .stats__ttl span{padding-bottom:5px;font-size:18px}
  .wt2 .stats__desc{margin-top:22px;font-size:13px;line-height:1.8}
  .wt2 .stats__chart{height:220px;padding:52px 0 25px}
  .wt2 .stats__callout{padding:8px 12px}.wt2 .stats__callout b{font-size:15px}
  .wt2 .stats__bars i{width:62%;min-width:15px}
.wt2 .stats__bars span{font-size:8px}
.wt2 .stats__bars span{min-height:30px;font-size:11px}
  .wt2 #service{background-position:center top}
  .wt2-to-top{right:18px;bottom:18px;width:50px;height:50px}
}
@media(prefers-reduced-motion:reduce){
  .wt2-to-top{transition:none}
}

/* ===== v34r14: illustration continuity, readable FV, alternating material rhythm ===== */
.wt2 .fv{
  background-color:#edf7fb;
  background-image:none;
}
.wt2 .fv::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  left:42%;
  background-image:url('../images/workstrust-fv-editorial-v1.webp');
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.42;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);
  pointer-events:none;
}
.wt2 .fv__copy::before{
  inset:-24px -18px -26px -24px;
  border-left:4px solid var(--action);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 16px 44px rgba(23,58,82,.10);
}

/* The established watercolor-editorial touch replaces the pale anime-like stats art. */
.wt2 .stats{
  background-color:#edf8fb;
  background-image:linear-gradient(90deg,rgba(247,252,253,.18),rgba(247,252,253,.34) 38%,rgba(247,252,253,.34) 62%,rgba(247,252,253,.18)),url('../images/workstrust-stats-editorial-v6.webp');
  background-position:center;
  background-size:cover;
}
.wt2 .stats__copy{background:rgba(255,255,255,.95);border-left:4px solid var(--action)}
.wt2 .stats__ttl strong{margin-top:0}
.wt2 .stats__ttl span{max-width:190px;padding-bottom:7px;font-size:clamp(17px,1.7vw,22px);line-height:1.35;white-space:normal}

/* After service, visual material alternates with clean content-led sections. */
.wt2 .band--guide{
  background-color:#f2f8fb;
  background-image:linear-gradient(135deg,#f2f8fb 0%,#fff 68%,#edf7fa 100%);
}
.wt2 .band--tools{
  background-color:#123a54;
  background-image:linear-gradient(135deg,#0b2c40 0%,#16465f 100%);
}
.wt2 .band--course{
  background-color:#edf7fa;
  background-image:linear-gradient(rgba(237,247,250,.84),rgba(237,247,250,.84)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,620px 620px;
  background-repeat:no-repeat,repeat;
}
.wt2 .band--column{background:#fff}
.wt2 .band--glossary{
  background-color:#eef6f9;
  background-image:linear-gradient(125deg,rgba(238,246,249,.88),rgba(248,252,253,.78)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,560px 560px;
  background-repeat:no-repeat,repeat;
}

@media(max-width:1200px){
  .wt2 .fv::before{left:36%;opacity:.34}
}
@media(max-width:640px){
  .wt2 .fv::before{display:none}
  .wt2 .fv__copy::before{inset:-14px -8px -16px;border-left-width:3px;background:#fff}
  .wt2 .stats{
    background-image:linear-gradient(rgba(249,252,253,.28),rgba(249,252,253,.28)),url('../images/workstrust-stats-editorial-mobile-v6.webp');
    background-position:center bottom;
    background-size:cover;
  }
  .wt2 .stats__ttl strong{align-items:flex-start;flex-direction:column;gap:8px}
  .wt2 .stats__ttl span{max-width:none;padding-bottom:0;font-size:18px}
}
/* ===== v34r19: keep editorial illustrations out of text surfaces ===== */
.wt2 .serviceintro,
.wt2 .guideintro,
.wt2 .toolintro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,460px);
  gap:clamp(30px,4vw,58px);
  align-items:center;
  margin-bottom:42px;
}
.wt2 .serviceintro__copy .lead,
.wt2 .guideintro__copy .lead,
.wt2 .toolintro__copy .lead{margin-bottom:0}
.wt2 .serviceintro__art,
.wt2 .guideintro__art,
.wt2 .toolintro__visual{margin:0;overflow:hidden}
.wt2 .serviceintro__art img,
.wt2 .guideintro__art img,
.wt2 .toolintro__visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.wt2 .toolintro__visual{
  padding:16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:#f7fbfc;
  box-shadow:0 18px 40px rgba(4,24,38,.22);
}
@media(max-width:900px){
  .wt2 .serviceintro,
  .wt2 .guideintro,
  .wt2 .toolintro{grid-template-columns:1fr;gap:24px}
  .wt2 .serviceintro__art,
  .wt2 .guideintro__art,
  .wt2 .toolintro__visual{width:min(620px,100%);justify-self:center}
}
@media(max-width:640px){
  .wt2 .serviceintro,
  .wt2 .guideintro,
  .wt2 .toolintro{margin-bottom:32px}
  .wt2 .toolintro__visual{padding:10px;border-radius:14px}
}
/* ===== v34r17b: detailed editorial refinement requested by Seiji ===== */

/* FV: remove the white copy panel; keep copy and illustration in separate lanes. */
.wt2 .fv{
  background-color:#dcecf3;
  background-image:linear-gradient(115deg,rgba(216,235,243,.96) 0%,rgba(231,243,247,.92) 54%,rgba(245,249,249,.78) 100%),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,560px 560px;
  background-repeat:no-repeat,repeat;
}
.wt2 .fv::before{display:none}
.wt2 .fv__copy{max-width:500px}
.wt2 .fv__copy::before{content:none;background:none;box-shadow:none;border:0}
.wt2 .fv__stage{right:-84px;width:min(51vw,760px)}
.wt2 .fv__h{text-wrap:balance}
.wt2 .fv__lead{color:#3f5870}
.wt2 .fv__chips .fv__chip{background:rgba(255,255,255,.86);backdrop-filter:blur(2px)}

/* Stats: the growth graph is the design; a light paper texture replaces the illustration. */
.wt2 .stats{
  padding:78px 0 86px;
  background-color:#eef7fa;
  background-image:linear-gradient(135deg,rgba(247,251,252,.82),rgba(229,243,248,.78)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,520px 520px;
  background-repeat:no-repeat,repeat;
}
.wt2 .stats__in{align-items:center}
.wt2 .stats__copy{
  padding:30px 32px;
  border:1px solid rgba(46,111,138,.14);
  border-left:4px solid var(--action);
  background:rgba(255,255,255,.93);
  box-shadow:0 14px 34px rgba(23,58,82,.10);
}
.wt2 .stats__chart{border-radius:18px;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(46,111,138,.10)}

/* Plans: a real editorial illustration introduces the choice; panels group each route. */
.wt2 .band--plans{position:relative;background:#fff}
.wt2 .planintro{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(30px,5vw,68px);align-items:center;margin:0 0 54px}
.wt2 .planintro__copy .lead{margin-bottom:0}
.wt2 .planintro__art{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#f4f8f8;box-shadow:0 18px 42px rgba(23,58,82,.10)}
.wt2 .planintro__art::after{content:"";position:absolute;inset:0;border:1px solid rgba(46,111,138,.12);border-radius:inherit;pointer-events:none}
.wt2 .planintro__art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.wt2 .cmx__cert{padding:28px;border:1px solid #dbe8f0;border-radius:18px;background:#f8fbfc;box-shadow:0 12px 30px rgba(23,58,82,.055)}
.wt2 .cmx__cert--isms{background:#fff9f5;border-color:#f0dfd3}
.wt2 .cmx__certh{margin-bottom:24px;font-size:20px}
.wt2 .cmx__item{box-shadow:0 5px 14px rgba(23,58,82,.045)}
.wt2 .cmx__sup{border:1px solid #dbe8f0;background:rgba(232,244,248,.72)}

/* Documents: brighter, tighter and card-led so the useful illustrations do not float in empty blue. */
.wt2 .docs{
  padding:76px 0 80px;
  color:var(--deep);
  background-color:#eaf5f8;
  background-image:linear-gradient(125deg,rgba(244,250,252,.88),rgba(222,240,247,.80)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,540px 540px;
  background-repeat:no-repeat,repeat;
}
.wt2 .docs .lb{color:var(--docblue)}
.wt2 .docs .lb::before{color:var(--action);border-color:var(--action)}
.wt2 .docs__head .ttl{color:var(--deep);font-size:clamp(28px,3.5vw,48px)}
.wt2 .docs__head .lead{color:var(--ink2);margin-bottom:28px}
.wt2 .docs__stage{width:min(1100px,calc(100% - 48px));margin-top:22px}
.wt2 .docs__compare{gap:28px}
.wt2 .docs__side{
  grid-template-rows:auto auto;
  padding:20px 22px 24px;
  border:1px solid rgba(46,111,138,.14);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 16px 36px rgba(23,58,82,.08);
}
.wt2 .docs__side--few img{max-height:270px}
.wt2 .docs__side--many img{max-height:320px}
.wt2 .docs__side figcaption{margin-top:8px}
.wt2 .docs__badge--few{background:var(--docblue);color:#fff}
.wt2 .docs__badge--many{background:#314d62;color:#fff;border-color:#314d62}
.wt2 .docs__side b{color:var(--deep);font-size:21px}
.wt2 .docs__note{color:var(--ink2)}
.wt2 .docs__axis{margin-top:26px}
.wt2 .docs__axis__end{color:var(--deep)}
.wt2 .docs__axis__wedge{background:linear-gradient(90deg,#9ed9ec,var(--action))}
.wt2 .docs__axis__mid{color:#fff;background:var(--deep)}

/* Method and assurance: texture plus the existing illustrations, without adding another busy scene. */
.wt2 .band--method{
  position:relative;
  background-color:#153a51;
  background-image:linear-gradient(110deg,rgba(12,42,59,.91),rgba(28,76,96,.79)),url('../images/workstrust-stats-paper-v2.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.wt2 .band--method .method__wrap{margin-top:24px;padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(6,28,43,.28)}
.wt2 .band--method .method li{margin-bottom:10px;padding-top:10px;padding-right:16px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.10)}
.wt2 .band--method .method li:last-child{margin-bottom:0;border-bottom:0}
.wt2 .band--assurance{
  background-color:#e9f5f8;
  background-image:linear-gradient(135deg,rgba(241,249,251,.80),rgba(225,242,247,.78)),url('../images/workstrust-paper-texture-v1.webp');
  background-position:center;
  background-size:cover,500px 500px;
  background-repeat:no-repeat,repeat;
}
.wt2 .band--assurance .safe{padding:22px;border:1px solid rgba(46,111,138,.12);border-radius:22px;background:rgba(255,255,255,.52)}
.wt2 .band--assurance .safe__main{border-left:5px solid var(--action);box-shadow:0 14px 34px rgba(23,58,82,.08)}
.wt2 .band--assurance .safe__sub{position:relative;padding-left:72px;box-shadow:0 12px 28px rgba(23,58,82,.07)}
.wt2 .band--assurance .safe__sub::before{position:absolute;left:26px;top:28px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--docblue);color:#fff;font-size:11px;font-weight:900}
.wt2 .band--assurance .safe__sub:nth-of-type(2)::before{content:"02"}
.wt2 .band--assurance .safe__sub:nth-of-type(3)::before{content:"03"}
.wt2 .band--assurance .safe__ill{width:min(350px,92%);margin-top:18px}

/* Tools: every card now carries a project-owned raster icon. */
.wt2 .toolitem{min-height:244px;padding:18px 18px 38px}
.wt2 .toolitem>span:not(.toolitem__art){margin-bottom:10px}
.wt2 .toolitem__art{
  display:block;
  width:88px;
  height:88px;
  margin:0 0 13px;
  overflow:hidden;
  padding:6px;
  border:1px solid rgba(46,111,138,.10);
  border-radius:12px;
  background:#fff;
}
.wt2 .toolitem__art img{display:block;width:100%;height:100%;object-fit:contain}
.wt2 .toolitem b{font-size:14px}
.wt2 .toolitem i{font-size:28px}

/* Voices: no single client receives an unrequested featured treatment. */
.wt2 .voices__list li.feat,
.wt2 .voices__list li:first-child{
  grid-column:auto;
  padding:26px 24px;
  border:1px solid var(--line);
  background:#fff;
  color:inherit;
}
.wt2 .voices__list li.feat .voice__ph,
.wt2 .voices__list li:first-child .voice__ph{margin:-26px -24px 18px;aspect-ratio:3/2}
.wt2 .voices__list li.feat .voice__t,
.wt2 .voices__list li:first-child .voice__t{font-size:14.5px;color:var(--ink2);line-height:1.95}
.wt2 .voices__list li.feat .voice__b,
.wt2 .voices__list li:first-child .voice__b{background:var(--coral2);color:#a2521c}
.wt2 .voices__list li.feat .voice__tag,
.wt2 .voices__list li:first-child .voice__tag{color:var(--ink2)}

/* Requested News strip declaration. */
.wt2 .nstrip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin:0 0 22px;
  padding:18px 22px;
  background:#fff;
  border-radius:10px;
}

/* Column: an illustrated editorial header replaces the abstract CSS-only block. */
.wt2 .band--column{background:#f5fafb}
.wt2 .columnintro{display:grid;grid-template-columns:.8fr 1.2fr;align-items:stretch;margin:0 0 28px;overflow:hidden;border:1px solid rgba(46,111,138,.13);border-radius:20px;background:#fff;box-shadow:0 18px 40px rgba(23,58,82,.08)}
.wt2 .columnintro__copy{display:flex;flex-direction:column;justify-content:center;padding:38px 12px 38px 40px}
.wt2 .columnintro__copy .ttl{margin-bottom:0}
.wt2 .columnintro__art{margin:0;min-height:300px;overflow:hidden}
.wt2 .columnintro__art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.wt2 .cols{gap:18px}
.wt2 .cols__lead{padding:36px 38px;border:1px solid #efd8ca;border-left:6px solid var(--action);background:#fff8f3;color:var(--deep);box-shadow:0 14px 32px rgba(23,58,82,.07)}
.wt2 .cols__lead::before{content:"READ";right:20px;bottom:12px;color:rgba(46,111,138,.08);font-size:58px}
.wt2 .cols__lead .cols__tag{background:#fff;color:var(--coral-ink)}
.wt2 .cols__lead .cols__t{color:var(--deep)}
.wt2 .cols__lead .cols__d{color:var(--ink2)}
.wt2 .cols__row{border-left:5px solid var(--docblue);box-shadow:0 10px 26px rgba(23,58,82,.06)}

/* Glossary: show the two learning routes before the text-heavy definitions. */
.wt2 .gls__intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:center;margin:0 0 38px;padding:28px;border:1px solid rgba(46,111,138,.13);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 16px 38px rgba(23,58,82,.07)}
.wt2 .gls__introcopy .lead{margin-bottom:0}
.wt2 .gls__visual{margin:0;overflow:hidden;border-radius:16px;background:#fbfaf5}
.wt2 .gls__visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.wt2 .gls{gap:22px}
.wt2 .gls__route{padding:20px;border:1px solid rgba(46,111,138,.12);border-radius:18px;background:rgba(231,245,250,.72)}
.wt2 .gls__route--iso{background:rgba(253,236,225,.58)}
.wt2 .gls__node{box-shadow:0 8px 22px rgba(23,58,82,.055)}
.wt2 .gls__note{border-radius:10px;background:#fff;box-shadow:0 8px 22px rgba(23,58,82,.055)}

@media(max-width:1360px){
  .wt2 .fv__copy{max-width:680px}
  .wt2 .fv__stage{right:auto;width:min(620px,100%)}
}
@media(max-width:900px){
  .wt2 .planintro,.wt2 .columnintro,.wt2 .gls__intro{grid-template-columns:1fr}
  .wt2 .planintro__art{max-width:680px}
  .wt2 .columnintro__copy{padding:30px 28px 8px}
  .wt2 .columnintro__art{min-height:240px}
  .wt2 .gls__visual{max-width:680px}
  .wt2 .docs__stage{width:min(680px,calc(100% - 32px))}
}
@media(max-width:640px){
  .wt2 .fv{
    background-image:linear-gradient(135deg,rgba(218,237,244,.96),rgba(240,247,248,.90)),url('../images/workstrust-paper-texture-v1.webp');
    background-size:cover,460px 460px;
  }
  .wt2 .fv__copy{max-width:none}
  .wt2 .fv__copy::before{content:none;background:none;border:0;box-shadow:none}
  .wt2 .stats{
    padding:62px 0 68px;
    background-image:linear-gradient(135deg,rgba(247,251,252,.84),rgba(226,242,247,.82)),url('../images/workstrust-paper-texture-v1.webp');
    background-position:center;
    background-size:cover,460px 460px;
  }
  .wt2 .stats__chart{border-radius:14px}
  .wt2 .planintro{gap:24px;margin-bottom:36px}
  .wt2 .cmx__cert{padding:20px 15px}
  .wt2 .docs{padding:62px 0 66px}
  .wt2 .docs__head{width:calc(100% - 32px)}
  .wt2 .docs__head .lead{margin-bottom:20px}
  .wt2 .docs__side{padding:16px 14px 20px}
  .wt2 .docs__side--few img{max-width:min(230px,68vw)}
  .wt2 .docs__side--many img{max-width:min(270px,78vw)}
  .wt2 .band--method .method__wrap{padding:22px 16px}
  .wt2 .band--assurance .safe{padding:12px}
  .wt2 .band--assurance .safe__sub{padding-left:62px}
  .wt2 .band--assurance .safe__sub::before{left:20px}
  .wt2 .toolitem{min-height:188px;padding:16px 17px 34px}
  .wt2 .toolitem__art{width:78px;height:78px}
  .wt2 .nstrip{flex-direction:row;align-items:center;gap:24px;padding:18px 22px}
  .wt2 .columnintro__copy{padding:26px 22px 6px}
  .wt2 .columnintro__art{min-height:200px}
  .wt2 .cols__lead{padding:30px 24px}
  .wt2 .gls__intro{gap:22px;padding:20px 16px}
  .wt2 .gls__route{padding:14px}
}

/* ===== v34r21: reference-led light palette and restrained image material =====
   Ground colors are limited to near-white, pale blue and transparent.
   A single saturated blue band is reserved for the mid-page course section. */
.wt2{
  --bg:#fafafa;
  --bg2:#eff7fd;
  --deep:#002048;
  --deep2:#002048;
  --docblue:#15669b;
  --ink:#002048;
  --ink2:#526170;
  --inv:#eef7fd;
  --line:#cfe4ef;
  --sky:#4e9cd0;
  --coral:#1e76b4;
  --coral2:#e7f5fb;
  --coral-ink:#15669b;
  --wt-blue:#1e76b4;
  --wt-blue-ink:#15669b;
  --wt-pale:#eff7fd;
  --wt-near:#fafafa;
  background:var(--wt-near);
}
.wt2 .lb{color:var(--wt-blue-ink)}
.wt2 .lb::before{color:var(--wt-blue-ink);border-color:var(--wt-blue)}
.wt2 .more,
.wt2 .svcnode__ph,
.wt2 .course__price,
.wt2 .cmx__pr,
.wt2 .voice__b,
.wt2 .voices__list li:first-child .voice__b,
.wt2 .cols__tag{color:var(--wt-blue-ink)}
.wt2 .voice__b,
.wt2 .voices__list li:first-child .voice__b,
.wt2 .cols__tag{background:#e7f5fb}

/* FV: a quiet flat field keeps the copy and approved illustration distinct. */
.wt2 .fv{
  background-color:var(--wt-near);
  background-image:none;
}
.wt2 .fv::before{display:none}
.wt2 .fv__copy{max-width:500px}
.wt2 .fv__copy::before{content:none;background:none;border:0;box-shadow:none}
.wt2 .fv__stage{right:-84px;width:min(51vw,760px)}
.wt2 .fv__lead{color:#3f5870}
.wt2 .fv__chips .fv__chip{background:rgba(255,255,255,.92);border-color:#cfe4ef}

/* Stats: the chart remains the visual focus; a calm raster wallpaper supplies depth. */
.wt2 .stats{
  padding:78px 0 86px;
  color:var(--deep);
  background-color:var(--wt-pale);
  background-image:linear-gradient(rgba(239,247,253,.78),rgba(239,247,253,.78)),url('../images/workstrust-wallpaper-rhythm-v1.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.wt2 .stats__copy{
  padding:30px 32px;
  border:1px solid #c5dfeb;
  border-left:4px solid var(--action);
  background:rgba(250,250,250,.94);
  box-shadow:0 14px 34px rgba(21,102,155,.09);
}
.wt2 .stats__chart{border-radius:18px;background:rgba(250,250,250,.82);box-shadow:inset 0 0 0 1px rgba(21,102,155,.11)}

/* Service and Guide: separate low-density raster objects, never full-scene illustration. */
.wt2 #service,
.wt2 .band--guide{position:relative;isolation:isolate;overflow:clip}
.wt2 #service{background:var(--wt-near)}
.wt2 .band--guide{background:var(--wt-pale)}
.wt2 #service::before,
.wt2 .band--guide::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:contain;
}
.wt2 #service::before{
  top:72px;
  right:-90px;
  width:min(58vw,760px);
  aspect-ratio:1.25;
  background-image:url('../images/workstrust-bg-flow-v1.webp');
  background-position:right top;
  opacity:.25;
}
.wt2 .band--guide::before{
  left:-170px;
  bottom:-150px;
  width:min(62vw,720px);
  aspect-ratio:1.25;
  background-image:url('../images/workstrust-bg-orbit-v1.webp');
  background-position:left bottom;
  opacity:.24;
}
.wt2 #service>.in,
.wt2 .band--guide>.in{position:relative;z-index:1}
.wt2 #service .svcnode{box-shadow:0 14px 32px rgba(21,102,155,.08)}
.wt2 #service .svcnode--entry{background:var(--wt-blue);border-color:var(--wt-blue);color:#fff;box-shadow:0 16px 34px rgba(30,118,180,.18)}
.wt2 #service .svcnode--entry .svcnode__ph{color:#d9f1ff}
.wt2 #service .svcnode--entry .svcnode__ico svg{stroke:#d9f1ff}
.wt2 .guidecard--renew{border-top-color:#4e9cd0}
.wt2 .guidecard--renew .guidecard__eyebrow{color:var(--wt-blue-ink)}
.wt2 .guidecard--isms{
  border:1px solid #bcdce9;
  border-top:4px solid var(--wt-blue);
  background:rgba(250,250,250,.94);
  color:var(--deep);
}
.wt2 .guidecard--isms .guidecard__eyebrow,
.wt2 .guidecard--isms ol span{color:var(--wt-blue-ink)}
.wt2 .guidecard--isms ol a{border-color:#cce4ee;background:#f7fbfd;color:var(--ink)}
.wt2 .guidecard--isms ol a:hover{border-color:var(--wt-blue);background:#fff}

/* Plans: a purpose-built wallpaper changes atmosphere without paper grain. */
.wt2 .band--plans{
  position:relative;
  background-color:var(--wt-near);
  background-image:linear-gradient(rgba(250,250,250,.82),rgba(250,250,250,.82)),url('../images/workstrust-wallpaper-rhythm-v1.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.wt2 .planintro__art{background:#f3f8fb;border:1px solid #cfe4ef;box-shadow:0 16px 38px rgba(21,102,155,.09)}
.wt2 .cmx__cert{border-color:#cfe4ef;background:rgba(250,250,250,.94);box-shadow:0 12px 28px rgba(21,102,155,.055)}
.wt2 .cmx__cert--isms{background:#f4faff;border-color:#c8e2ed}
.wt2 .cmx__sup{border:1px solid #cfe4ef;background:rgba(239,247,253,.84)}

/* Approved document illustrations stay unchanged; the field becomes airy and compact. */
.wt2 .docs{
  padding:76px 0 80px;
  color:var(--deep);
  background-color:var(--wt-pale);
  background-image:none;
}
.wt2 .docs .lb{color:var(--wt-blue-ink)}
.wt2 .docs .lb::before{color:var(--action);border-color:var(--action)}
.wt2 .docs__head .ttl{color:var(--deep);font-size:clamp(28px,3.5vw,48px)}
.wt2 .docs__head .lead{color:var(--ink2);margin-bottom:28px}
.wt2 .docs__stage{width:min(1100px,calc(100% - 48px));margin-top:22px}
.wt2 .docs__compare{gap:28px}
.wt2 .docs__side{
  grid-template-rows:auto auto;
  padding:20px 22px 24px;
  border:1px solid #c7dfeb;
  border-radius:18px;
  background:rgba(250,250,250,.88);
  box-shadow:0 14px 32px rgba(21,102,155,.075);
}
.wt2 .docs__side--few img{max-height:270px}
.wt2 .docs__side--many img{max-height:320px}
.wt2 .docs__side figcaption{margin-top:8px}
.wt2 .docs__badge--few{background:var(--wt-blue-ink);color:#fff}
.wt2 .docs__badge--many{background:var(--wt-blue);color:#fff;border-color:var(--wt-blue)}
.wt2 .docs__side b{color:var(--deep);font-size:21px}
.wt2 .docs__note{color:var(--ink2)}
.wt2 .docs__axis{margin-top:26px}
.wt2 .docs__axis__end{color:var(--deep)}
.wt2 .docs__axis__mid{color:#fff;background:var(--deep)}

/* Method and Assurance: approved illustrations remain, dark navy surfaces do not. */
.wt2 .band--method{
  color:var(--deep);
  background-color:var(--wt-near);
  background-image:none;
}
.wt2 .band--method .lb{color:var(--wt-blue-ink)}
.wt2 .band--method .lb::before{color:var(--action);border-color:var(--action)}
.wt2 .band--method .ttl{color:var(--deep)}
.wt2 .band--method .lead,
.wt2 .band--method .method__note{color:var(--ink2)}
.wt2 .band--method .method__wrap{
  margin-top:24px;
  padding:30px;
  border:1px solid #cfe4ef;
  border-radius:20px;
  background:rgba(239,247,253,.72);
  box-shadow:0 15px 34px rgba(21,102,155,.07);
}
.wt2 .band--method .method::before{background:rgba(21,102,155,.18)}
.wt2 .band--method .method__line{background:var(--wt-blue)}
.wt2 .band--method .method li{margin-bottom:10px;padding-top:10px;padding-right:16px;padding-bottom:22px;border-bottom:1px solid rgba(21,102,155,.13)}
.wt2 .band--method .method li:last-child{margin-bottom:0;border-bottom:0}
.wt2 .band--method .method li::before{background:var(--wt-blue);color:#fff}
.wt2 .band--method .method__t{color:var(--deep)}
.wt2 .band--method .method__d{color:var(--ink2)}
.wt2 .band--assurance{
  background-color:var(--wt-pale);
  background-image:none;
}
.wt2 .band--assurance .safe{padding:22px;border:1px solid #cfe4ef;border-radius:22px;background:rgba(250,250,250,.58)}
.wt2 .band--assurance .safe__main{border-left:5px solid var(--action);box-shadow:0 13px 30px rgba(21,102,155,.07)}
.wt2 .band--assurance .safe__sub{position:relative;padding-left:72px;box-shadow:0 11px 26px rgba(21,102,155,.065)}

/* Tools: preserve the eight raster icons and give every card a readable edge and number. */
.wt2 .band--tools{
  color:var(--deep);
  background-color:var(--wt-near);
  background-image:none;
}
.wt2 .band--tools .lb{color:var(--wt-blue-ink)}
.wt2 .band--tools .lb::before{color:var(--action);border-color:var(--action)}
.wt2 .band--tools .ttl{color:var(--deep)}
.wt2 .band--tools .lead{color:var(--ink2)}
.wt2 .band--tools .more{color:var(--wt-blue-ink)}
.wt2 .band--tools .toolintro__visual{border-color:#c9e1eb;background:#f7fbfd;box-shadow:0 15px 34px rgba(21,102,155,.09)}
.wt2 .band--tools .toolitem{border-color:#c5dfea;box-shadow:0 9px 22px rgba(21,102,155,.075)}
.wt2 .band--tools .toolitem:hover{border-color:var(--wt-blue);box-shadow:0 14px 28px rgba(21,102,155,.12)}
.wt2 .toolitem--accent{background:#eef8fd}
.wt2 .toolitem--accent span{color:var(--wt-blue-ink)}
.wt2 .toolitem i{color:var(--wt-blue-ink)}

/* The one saturated full-width band provides the page's deliberate contrast step. */
.wt2 .band--course{
  color:#fff;
  background-color:var(--wt-blue);
  background-image:none;
}
.wt2 .band--course .lb{color:#e3f4ff}
.wt2 .band--course .lb::before{color:#fff;border-color:rgba(255,255,255,.82)}
.wt2 .band--course .ttl{color:#fff}
.wt2 .band--course .lead{color:#e7f5fd}
.wt2 .band--course .record--courses{max-width:none;margin-top:16px}
.wt2 .band--course .record__tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.wt2 .band--course .record__lede{grid-column:1/-1;margin-bottom:0;color:#fff}
.wt2 .band--course .record__tier{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 14px;align-items:center;margin:0;padding:22px;border-color:rgba(255,255,255,.58);background:#fafafa;box-shadow:0 13px 28px rgba(10,65,101,.19)}
.wt2 .band--course .record__tier:hover{border-color:#fff;box-shadow:0 17px 32px rgba(10,65,101,.24)}
.wt2 .band--course .record__ico{grid-row:1/3}
.wt2 .band--course .record__tn{color:var(--deep)}
.wt2 .band--course .record__tn small{color:var(--ink2)}
.wt2 .band--course .record__tier em{grid-column:2;color:var(--wt-blue-ink);white-space:normal}

/* Remaining grounds alternate without repeating grain texture. */
.wt2 #news{background-color:var(--wt-pale);background-image:none}
.wt2 .band--column{background:var(--wt-near)}
.wt2 .band--glossary{background-color:var(--wt-pale);background-image:none}
.wt2 .gls__route--iso{background:rgba(231,245,251,.78)}
.wt2 .cols__lead{border-color:#c9e2ed;border-left-color:var(--action);background:#f3faff}
.wt2 .final{
  color:var(--deep);
  background-color:var(--wt-pale);
  background-image:none;
}
.wt2 .final__big{color:var(--deep)}
.wt2 .final__lead{color:var(--ink2)}
.wt2 .final .cta3 a{background:rgba(250,250,250,.94);border-color:#bfdce8;box-shadow:0 11px 26px rgba(21,102,155,.08)}
.wt2 .final .cta3 a:hover{background:#fff;border-color:var(--wt-blue)}
.wt2 .final .cta3 b{color:var(--deep)}
.wt2 .final .cta3 span{color:var(--ink2)}
.wt2 .final__phone a{color:var(--deep)}
.wt2 .final__phone span{color:var(--wt-blue-ink)}
.wt2-ft{background:var(--wt-near);color:var(--deep);box-shadow:inset 0 1px 0 #cfe4ef}
.wt2-ft__brand>span,
.wt2-ft__brand small{color:#466b82}
.wt2-ft__brand>a{color:var(--wt-blue-ink)}
.wt2-ft__nav b{color:var(--wt-blue-ink)}
.wt2-ft__nav a{color:#526170}
.wt2-ft__nav a:hover{color:var(--action)}
.wt2-ft__copy{border-top-color:#cfe4ef;color:#53788e}

/* Persistent controls: the contact face is a real rendered SVG circle. */
.wt2-fab{background:#d32f2f;border-radius:50%;box-shadow:0 11px 28px rgba(21,102,155,.22)}
.wt2-fab__c{background:#d32f2f}
.wt2-fab__r{z-index:1}
.wt2-fab__disc{fill:#d32f2f;stroke:#fff;stroke-width:3}
.wt2-fab__r text{fill:#fff}
.wt2-to-top{border-color:#9fcedf}
.wt2-to-top:hover{background:var(--wt-blue-ink);color:#fff}

@media(max-width:1360px){
  .wt2 .fv__copy{max-width:680px}
  .wt2 .fv__stage{right:auto;width:min(620px,100%)}
}
@media(max-width:900px){
  .wt2 #service::before{right:-180px;top:34px;width:600px;opacity:.13}
  .wt2 .band--guide::before{left:-230px;bottom:-80px;width:620px;opacity:.13}
  .wt2 .band--course .record__tiers{grid-template-columns:1fr}
  .wt2 .band--course .record__lede{grid-column:auto}
}
@media(max-width:640px){
  .wt2 .fv{background:var(--wt-near)}
  .wt2 .stats{padding:62px 0 68px;background-size:auto 100%}
  .wt2 .stats__copy{padding:22px 20px}
  .wt2 #service::before{right:-250px;top:44px;width:540px;opacity:.11}
  .wt2 .band--guide::before{left:-270px;bottom:-20px;width:560px;opacity:.10}
  .wt2 .docs{padding:62px 0 66px}
  .wt2 .docs__head{width:calc(100% - 32px)}
  .wt2 .docs__stage{width:min(680px,calc(100% - 32px))}
  .wt2 .docs__side{padding:16px 14px 20px}
  .wt2 .band--method .method__wrap{padding:22px 16px}
  .wt2 .band--assurance .safe{padding:12px}
}

/* r21a: keep small copy readable on saturated blue surfaces. */
.wt2 .svcnode--entry .svcnode__ph,
.wt2 .svcnode--entry .svcnode__d,
.wt2 .band--course .lb,
.wt2 .band--course .lead{color:#fff}
.wt2 #service .svcnode--entry .svcnode__ph{color:#fff}

/* On narrow screens, reserve normal-flow space instead of covering article links. */
@media (max-width: 640px) {
  #wt2-to-top {
    position: static;
    margin: 20px 24px 20px auto;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

/* 10/16 聖司さん：最後の2つのメニュー（会社案内・お知らせ）の開く枠が画面の右にはみ出すため、右端そろえにする */
.wt2 .wt2-hd__nav > details.wt2-hd__group:nth-last-of-type(-n+2) > .wt2-hd__panel { right: 0; left: auto; }
