
/* ===== kit.css（そのまま埋め込み） ===== */
/* Iroribi visual kit — palette, motion, layout helpers
   使い方は kit.html の冒頭を参照。動きはすべて prefers-reduced-motion で止まり、完成した絵のまま残る。 */
:root {
  --bg: #0B1F4B;          /* 地：濃紺 */
  --bg2: #10306F;         /* 地：やや明るい紺 */
  --band: #EAF1FF;        /* 明るい帯 */
  --iso-top: #5B8DEF;     /* アイソメ上面 */
  --iso-left: #3B6FD6;    /* アイソメ左面 */
  --iso-right: #244FA8;   /* アイソメ右面 */
  --iso-shadow: #0B1F4B;  /* 影 */
  --iso-line: #CFE0FF;    /* 線 */
  --text: #FFFFFF;
  --text-weak: #B8C7E6;
  --ink: #0B1F4B;         /* 明るい帯の文字 */
  --flame-1: #FF2F7D; --flame-2: #F06A5A; --flame-3: #FF8A3D;
  --flame: linear-gradient(120deg, var(--flame-1), var(--flame-2) 55%, var(--flame-3));
  --loop: 18s;            /* シーン全体の周期 */
}

/* ---------- 歩く：.walk を iso-person-walk の <use> に付ける ---------- */
.walk { --walk: running; animation: kit-bob .45s ease-in-out infinite alternate; }
.lg-a, .lg-b, .arm-a, .arm-b { transform-box: fill-box; transform-origin: 50% 0; }
.lg-a  { transform: rotate(16deg);  animation: kit-swing .9s ease-in-out infinite alternate; animation-play-state: var(--walk, paused); }
.lg-b  { transform: rotate(-16deg); animation: kit-swing .9s ease-in-out infinite alternate-reverse; animation-play-state: var(--walk, paused); }
.arm-a { transform: rotate(-14deg); animation: kit-swing-arm .9s ease-in-out infinite alternate-reverse; animation-play-state: var(--walk, paused); }
.arm-b { transform: rotate(14deg);  animation: kit-swing-arm .9s ease-in-out infinite alternate; animation-play-state: var(--walk, paused); }
@keyframes kit-bob { from { translate: 0 0; } to { translate: 0 -2px; } }
@keyframes kit-swing { from { transform: rotate(18deg); } to { transform: rotate(-18deg); } }
@keyframes kit-swing-arm { from { transform: rotate(16deg); } to { transform: rotate(-16deg); } }

/* ---------- コンベア：iso-conveyor の中の .belt（破線が流れる） ---------- */
.belt { animation: kit-belt .8s linear infinite; animation-play-state: var(--belt, running); }
@keyframes kit-belt { to { stroke-dashoffset: -8; } }

/* ---------- 経路に乗って進む：<g class="ride" style="--path:path('M…');--dur:9s;--delay:-3s;--rest:60%"> ---------- */
.ride {
  offset-path: var(--path); offset-rotate: 0deg; offset-anchor: 0 0; offset-distance: var(--rest, 50%);
  animation: kit-ride var(--dur, 9s) linear var(--delay, 0s) infinite both;
}
@keyframes kit-ride {
  0% { offset-distance: 0%; opacity: 0; }
  5% { opacity: 1; }
  92% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}
.ride.drop { animation-name: kit-ride-drop; }  /* 外れた箱：落ちて消える */
@keyframes kit-ride-drop {
  0% { offset-distance: 0%; opacity: 0; } 4% { opacity: 1; }
  70% { offset-distance: 100%; opacity: 1; } 82%, 100% { offset-distance: 100%; opacity: 0; }
}

/* ---------- メーター：iso-gauge の中の .needle。--from / --to / --delay を <use> に ---------- */
.needle {
  transform: rotate(var(--to, 50deg));
  animation: kit-needle var(--loop, 18s) cubic-bezier(.3,.7,.3,1) var(--delay, 0s) infinite both;
}
@keyframes kit-needle {
  0%, 18% { transform: rotate(var(--from, -70deg)); }
  30% { transform: rotate(calc(var(--to, 50deg) + 8deg)); }
  36%, 88% { transform: rotate(var(--to, 50deg)); }
  100% { transform: rotate(var(--from, -70deg)); }
}

/* ---------- 灯り：iso-coin-tower の中の .lamp（炎色）。--delay で順番に ---------- */
.lamp { opacity: 1; animation: kit-lamp var(--loop, 18s) ease-out var(--delay, 0s) infinite both; }
.lamp-glow { transform-box: fill-box; transform-origin: 50% 50%; animation: kit-glow 1.6s ease-in-out infinite alternate; }
@keyframes kit-lamp { 0% { opacity: 0; } 4% { opacity: 1; } 75% { opacity: 1; } 85%, 100% { opacity: 0; } }
@keyframes kit-glow { from { transform: scale(.85); opacity: .7; } to { transform: scale(1.15); opacity: 1; } }

/* ---------- 浮く：.float（建屋の屋根 .hall-roof も同じ動き） ---------- */
.float { animation: kit-float 4s ease-in-out infinite alternate; }
@keyframes kit-float { from { translate: 0 0; } to { translate: 0 -3px; } }

/* ---------- 引き出し線：<g class="leader" style="--d:1s"><path class="leader-line" pathLength="1"/><g class="leader-label">…</g></g> ---------- */
.leader-line { fill: none; stroke: var(--iso-line); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 0; animation: kit-draw .9s cubic-bezier(.6,0,.2,1) var(--d, 0s) both; }
.leader-dot { fill: var(--iso-line); }
.leader-label { animation: kit-fade .5s ease-out calc(var(--d, 0s) + .7s) both; }
@keyframes kit-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes kit-fade { from { opacity: 0; translate: 0 4px; } to { opacity: 1; translate: 0 0; } }
.kit-js [data-inview="false"] .leader-line,
.kit-js [data-inview="false"] .leader-label { animation-play-state: paused; }

/* ---------- 出てくる：.reveal（JS が data-inview="true" を付ける。JSなしでは最初から見える） ---------- */
.kit-js .reveal { opacity: 0; transform: translateY(12px); transition: opacity .5s ease-out, transform .5s ease-out; }
.kit-js .reveal[data-inview="true"] { opacity: 1; transform: none; }

/* ---------- 画面外では止める（電池と描画の節約） ---------- */
.kit-js .kit-stage[data-inview="false"] * { animation-play-state: paused !important; }

/* ---------- 動きを減らす設定：完成図で止める ---------- */
@media (prefers-reduced-motion: reduce) {
  .walk, .lg-a, .lg-b, .arm-a, .arm-b, .belt, .ride, .needle, .lamp, .lamp-glow, .float, .hall-roof,
  .leader-line, .leader-label { animation: none !important; }
  .ride { offset-distance: var(--rest, 50%); opacity: var(--rest-opacity, 1); }
  .kit-js .reveal { opacity: 1; transform: none; transition: none; }
}

/* ---------- ラベル（SVGの中の文字） ---------- */
.lbl-en { font: 600 9.5px/1 Inter, system-ui, sans-serif; letter-spacing: .16em; fill: var(--text-weak); text-transform: uppercase; }
.lbl-ja { font: 700 15px/1 "Zen Kaku Gothic New", "Zen Kaku Gothic New", sans-serif; fill: var(--text); letter-spacing: .02em; }
.lbl-sub { font: 500 10.5px/1 "Zen Kaku Gothic New", sans-serif; fill: var(--text-weak); }
.on-light .lbl-en, .on-light .lbl-sub { fill: #3D5487; }
.on-light .lbl-ja { fill: var(--ink); }
.on-light .leader-line { stroke: var(--iso-right); }
.on-light .leader-dot { fill: var(--iso-right); }

/* ---------- ピクトグラム ---------- */
.pict { width: 24px; height: 24px; color: currentColor; flex: none; }
.pict.lg { width: 48px; height: 48px; --pict-w: .75; }  /* 48pxでも線は1.5px */

/* ===== 案E スタイリッシュ版 ===== */
/* --- 配色（青＝既定／青＋白多め／チャコール） --- */
:root,:root[data-palette="blue"]{
 --bg:#0B1F4B;--bg2:#10306F;--deep:#071637;
 --hero:linear-gradient(118deg,#08183D 0%,#0D2A66 42%,#1846A6 100%);
 --fg:#FFFFFF;--fg2:#C3D1EE;--acc:#8DB2FF;--rule:rgba(207,224,255,.16);--card:rgba(255,255,255,.045);--card-b:rgba(207,224,255,.12);
 --band:#EAF1FF;--band-fg:#0B1F4B;--band-fg2:#3D5487;--band-acc:#2F64D8;--band-card:#FFFFFF;--band-rule:rgba(11,31,75,.12);
 --white:#FFFFFF;
 --ov:linear-gradient(90deg,rgba(9,28,72,.97) 0%,rgba(13,42,102,.9) 42%,rgba(24,70,166,.55) 100%);
 --cta:linear-gradient(120deg,#123A8F 0%,#1D52C4 100%);
 --head:rgba(9,25,62,.72);
 color-scheme:dark;
}
:root[data-palette="charcoal"]{
 --bg:#1B1F26;--bg2:#252B34;--deep:#121418;
 --hero:linear-gradient(118deg,#121418 0%,#1C2027 45%,#2A313B 100%);
 --fg:#F3EFE8;--fg2:#B9B2A6;--acc:#A9C1F0;--rule:rgba(243,239,232,.14);--card:rgba(255,255,255,.04);--card-b:rgba(243,239,232,.12);
 --band:#EEEAE3;--band-fg:#1B1F26;--band-fg2:#5B5650;--band-acc:#3A62B8;--band-card:#FFFFFF;--band-rule:rgba(27,31,38,.12);
 --ov:linear-gradient(90deg,rgba(22,25,31,.97) 0%,rgba(28,32,39,.9) 42%,rgba(36,79,168,.45) 100%);
 --cta:linear-gradient(120deg,#20252D 0%,#2D3E66 100%);
 --head:rgba(27,31,38,.78);
}
/* 区画ごとの地：dk＝濃い地、lt＝薄青の帯。青＋白多めでは .w の区画が白になる */
.dk{--s-bg:var(--bg);--s-fg:var(--fg);--s-fg2:var(--fg2);--s-acc:var(--acc);--s-rule:var(--rule);--s-card:var(--card);--s-card-b:var(--card-b);--text:var(--fg);--text-weak:var(--fg2)}
.lt{--s-bg:var(--band);--s-fg:var(--band-fg);--s-fg2:var(--band-fg2);--s-acc:var(--band-acc);--s-rule:var(--band-rule);--s-card:var(--band-card);--s-card-b:transparent;--text:var(--band-fg);--text-weak:var(--band-fg2);--iso-line:#244FA8}
:root[data-palette="bw"] .dk.w{--s-bg:#FFFFFF;--s-fg:#0B1F4B;--s-fg2:#3D5487;--s-acc:#2F64D8;--s-rule:rgba(11,31,75,.12);--s-card:#F3F7FF;--s-card-b:transparent;--text:#0B1F4B;--text-weak:#3D5487;--iso-line:#244FA8}
:root[data-palette="bw"] .lt{--s-bg:#EAF1FF}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.9 "Zen Kaku Gothic New",system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
h1,h2,h3,h4{word-break:auto-phrase;line-break:strict;overflow-wrap:anywhere}
p,li,dd,td{word-break:auto-phrase;line-break:strict}
.num,.tnum{font-family:"Zen Kaku Gothic New",sans-serif;font-variant-numeric:tabular-nums}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:#fff;color:#0B1F4B;padding:10px 16px;border-radius:999px;font-weight:700}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--focus,#FFFFFF);outline-offset:3px;border-radius:6px}
.dk,.case,.cta-band,.ft,.hero,.hd,.mnav{--focus:#FFFFFF}
.lt,:root[data-palette="bw"] .w{--focus:#1D4FC4}
.wrap{max-width:1248px;margin:0 auto;padding:0 48px}
.en-s{font:700 13px/1.4 "Zen Kaku Gothic New",sans-serif;letter-spacing:.02em;color:var(--s-fg2,var(--fg2))}

/* --- pills --- */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 30px;border-radius:999px;font:700 15px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.04em;text-decoration:none;cursor:pointer;border:0;transition:filter .2s,transform .2s,background-color .2s,box-shadow .2s;white-space:nowrap}
.pill .arr{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);font:700 14px/1 "Zen Kaku Gothic New",sans-serif;transition:transform .2s}
.pill:hover .arr{transform:translateX(3px)}
.pill-flame{background:var(--flame);color:#fff;box-shadow:0 10px 28px -10px rgba(255,47,125,.6)}
.pill-flame:hover{filter:brightness(1.08) saturate(1.05);transform:translateY(-1px)}
.pill-line{background:transparent;color:var(--s-fg,var(--fg));box-shadow:inset 0 0 0 1.5px currentColor}
.pill-line:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
.lt .pill-line:hover,:root[data-palette="bw"] .w .pill-line:hover{background:rgba(11,31,75,.06)}
.pill.sm{height:42px;padding:0 20px;font-size:13.5px}
.tlink{position:relative;text-decoration:none;font-weight:700;display:inline-flex;gap:10px;align-items:center}
.tlink::after{content:"";position:absolute;left:0;bottom:-4px;height:1.5px;width:100%;background:currentColor;transform-origin:left;transform:scaleX(.3);transition:transform .3s}
.tlink:hover::after{transform:scaleX(1)}

/* --- header --- */
.hd{position:fixed;inset:0 0 auto 0;z-index:100;height:76px;transition:height .3s,background-color .3s,box-shadow .3s;background:transparent}
.hd.scrolled{height:58px;background:var(--head);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(207,224,255,.1)}
.hd .in{height:100%;max-width:1344px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:34px;width:auto;display:block;transition:height .3s}
.hd.scrolled .logo img{height:28px}
.gnav{display:flex;gap:4px;margin-left:auto;list-style:none;padding:0}
.gnav a{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 14px;text-decoration:none;color:var(--fg);line-height:1.2}
.gnav a b{font:700 14px/1.2 "Zen Kaku Gothic New",sans-serif;letter-spacing:.04em}
.gnav a small{font:700 9.5px/1.2 "Zen Kaku Gothic New",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--fg2);margin-bottom:3px}
.gnav a::after{content:"";position:absolute;left:14px;right:14px;bottom:-2px;height:2px;border-radius:2px;background:#8DB2FF;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.gnav a:hover::after,.gnav a.cur::after{transform:scaleX(1)}
.hd-cta{display:flex;gap:10px;align-items:center}
.pal{display:flex;gap:6px;align-items:center;padding-left:10px;border-left:1px solid var(--rule)}
.pal button{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.5);cursor:pointer;padding:0}
.pal button[aria-pressed="true"]{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.pal .p1{background:#10306F}.pal .p2{background:linear-gradient(90deg,#10306F 50%,#fff 50%)}.pal .p3{background:#2A313B}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.1);cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:14px;width:18px;height:2px;background:#fff;border-radius:2px;content:"";transition:transform .3s,top .3s,opacity .2s}
.burger span{top:22px}.burger span::before{left:0;top:-6px}.burger span::after{left:0;top:6px}
.menu-open .burger span{background:transparent}.menu-open .burger span::before{top:0;transform:rotate(45deg)}.menu-open .burger span::after{top:0;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:90;background:linear-gradient(160deg,#0B1F4B,#123A8F);display:flex;flex-direction:column;padding:96px 24px 32px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto}
:root[data-palette="charcoal"] .mnav{background:linear-gradient(160deg,#16191E,#2A313B)}
.menu-open .mnav{opacity:1;visibility:visible}
.mnav ul{list-style:none;padding:0}
.mnav li a{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(207,224,255,.16);text-decoration:none;font:700 28px/1.3 "Zen Kaku Gothic New",sans-serif;color:#fff}
.mnav li a small{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#B8C7E6}
.mnav .btns{display:grid;gap:12px;margin-top:32px}
.mnav .btns .pill{width:100%}
.mnav .pal{border:0;padding:24px 0 0;gap:10px}
.mnav .pal span{font-size:12px;color:#B8C7E6;margin-right:6px}

/* --- hero --- */
.hero{--text-weak:#C3D1EE;position:relative;min-height:max(720px,min(100vh,900px));background:var(--hero);color:#fff;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 72% 50%,rgba(91,141,239,.22),transparent 70%);z-index:-1}
.hero-in{position:relative;flex:1;max-width:1344px;width:100%;margin:0 auto;padding:150px 64px 72px;display:flex;flex-direction:column;justify-content:center}
.hero-art{position:absolute;right:-2%;top:118px;bottom:40px;width:60%;z-index:0;display:flex;align-items:center}
.hero-svg{width:100%;height:auto;max-height:100%;overflow:visible}
.hs-m{display:none}
.lbl-ja.m{font-size:22px}.lbl-sub.m{font-size:12.5px}.lbl-ja.m2{font-size:17px}
.hero-copy{position:relative;z-index:2;max-width:820px}
.hero h1{font:900 clamp(52px,8.9vw,120px)/1.1 "Zen Kaku Gothic New",sans-serif;letter-spacing:-.01em;margin:0 0 36px;text-shadow:0 2px 30px rgba(8,24,61,.55)}
.hero h1 .l{display:block;white-space:nowrap}
.money{background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.hero .sub{font:500 18px/2 "Zen Kaku Gothic New",sans-serif;color:#DCE6FA;max-width:25em;margin-bottom:40px;text-shadow:0 1px 16px rgba(8,24,61,.8)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero .pill-line{color:#fff}
/* hero scene: open / close */
.hallg{transform-box:view-box}
.hall-closed,.hall-open{transition:opacity .55s ease}
.hall-open{opacity:0}
.hall-front{--lift:0px;--roof-op:1}
.hall-roof{transform:translateY(var(--lift,0px));opacity:var(--roof-op,1);transition:transform .7s cubic-bezier(.3,.7,.2,1),opacity .6s}
.open-labels{opacity:0;transition:opacity .4s;pointer-events:none}
.ol-line{fill:none;stroke:var(--iso-line);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .6s cubic-bezier(.6,0,.2,1) calc(var(--i)*.08s + .2s)}
.ol text{opacity:0;transition:opacity .4s calc(var(--i)*.08s + .55s)}
.badge circle{fill:#0B1F4B;stroke:#CFE0FF;stroke-opacity:.8}
.badge text{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff}
.closed-labels{transition:opacity .4s}
.hallg-s{transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.hero-svg.open .hallg-s{transform:scale(1.22)}
.site-glow{opacity:.35;animation:e-breathe 2s ease-in-out infinite;transition:opacity .5s}
@keyframes e-breathe{0%,100%{opacity:.18}50%{opacity:.7}}
.hero-svg.open .site-glow{animation:none;opacity:.45}
/* 建屋：屋根の縁と柱に白い縁取り（3つの領域のうち一番明るく） */
.hall-closed,.hall-open{filter:drop-shadow(0 0 .7px rgba(255,255,255,.95))}
.sign-t{font:900 17px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff;letter-spacing:.02em}
.hero-svg .iro .lbl-ja{font-size:19px;font-weight:900}
.hero-svg .iro .leader-dot{r:4.5px}
.hero-svg .lt-t .lbl-en{fill:#8FD8F2}.hero-svg .lt-b .lbl-en{fill:#C4DDFF}
.hero-svg .lt-t .leader-line{stroke:#8FD8F2}.hero-svg .lt-t .leader-dot{fill:#8FD8F2}
.hero-svg.open .hall-closed{opacity:0}
.hero-svg.open .hall-open{opacity:1}
.hero-svg.open .hall-front{--lift:0px;--roof-op:0}
/* 持ち場の札：紺地に白字 */
.st-p{fill:#0B1F4B;stroke:rgba(207,224,255,.45);stroke-width:1}
.st-t{font:700 12px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF;letter-spacing:.04em}
.st-dot{fill:#FFFFFF;stroke:#1846A6;stroke-width:1.5}
.st-p{fill-opacity:.92}
.hero-svg.open .open-labels{opacity:1}
.hero-svg.open .ol-line{stroke-dashoffset:0}
.hero-svg.open .ol text{opacity:1}
.hero-svg .closed-labels .leader-label text.lbl-ja{font-size:16px}
/* kit のラベルも Zen Kaku に寄せる（Inter は区画の英字大見出しだけ） */
.lbl-en{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;letter-spacing:.14em}

/* --- sections --- */
.sec{background:var(--s-bg);color:var(--s-fg);padding:152px 0;position:relative;overflow-x:clip}
.sec + .sec.dk:not(.w),.sec.dk + .sec.dk{border-top:1px solid var(--rule)}
.sg{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.lab{grid-column:1/6;grid-row:1/3;align-self:start}
.lab .no{position:absolute;left:100%;top:.2em;margin-left:12px;font:500 13px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-fg2);font-variant-numeric:tabular-nums}
.lab .en{position:relative;display:inline-block;font:800 clamp(44px,5.4vw,74px)/.95 Inter,sans-serif;letter-spacing:-.035em;color:var(--s-acc);text-transform:uppercase}
.h2{grid-column:6/13;grid-row:1;font:700 clamp(30px,3.9vw,50px)/1.42 "Zen Kaku Gothic New",sans-serif;letter-spacing:.01em;margin-top:24px}
.lead{grid-column:6/13;grid-row:2;margin-top:36px;max-width:38em;color:var(--s-fg)}
.lead p + p{margin-top:1.1em}
.lead p{color:var(--s-fg);opacity:.92}
.fig{grid-column:1/10;grid-row:3;margin-top:88px;min-width:0}
.aside{grid-column:10/13;grid-row:3;margin-top:88px;align-self:center;min-width:0}
.sg.r .fig{grid-column:4/13}
.sg.r .aside{grid-column:1/4}
.full{grid-column:1/-1;min-width:0}
.big{display:block;width:100%;height:auto;overflow:visible}
.note{font-size:14px;line-height:1.8;color:var(--s-fg2);margin-top:32px}

/* huge numerals (quantum) */
.huge{display:flex;flex-direction:column;align-items:flex-start}
.huge .k{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.24em;color:var(--s-fg2);text-transform:uppercase}
.huge .n{font:200 clamp(150px,19vw,250px)/.82 "Zen Kaku Gothic New",sans-serif;letter-spacing:-.06em;color:var(--s-fg);margin:18px 0 18px -8px;font-variant-numeric:tabular-nums}
.huge .c{font:700 18px/1.6 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.huge .c small{display:block;font:400 13.5px/1.8 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);margin-top:6px}

/* 01 stops */
.stops{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;counter-reset:s}
.st-i{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.st-i + .st-i::before{content:"";position:absolute;left:-17px;top:30%;width:14px;height:14px;border-top:1.5px solid var(--s-acc);border-right:1.5px solid var(--s-acc);transform:rotate(45deg);opacity:.7}
.st-i .mini{width:100%;max-width:220px;height:auto;display:block}
.st-t small{display:block;font:700 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.2em;color:var(--s-fg2);margin:14px 0 8px}
.st-t strong{display:block;font:700 22px/1.4 "Zen Kaku Gothic New",sans-serif}
.st-t span{display:block;font-size:14px;line-height:1.7;color:var(--s-fg2);margin-top:6px}
.st-i.gap .st-t strong{color:var(--s-acc)}
.st-i.gap em{display:inline-block;margin-top:12px;font:700 12px/1 "Zen Kaku Gothic New",sans-serif;font-style:normal;padding:8px 14px;border-radius:999px;border:1.5px dashed var(--s-acc);color:var(--s-acc)}
.gap-o{animation:gap-dash 1.4s linear 1;animation-play-state:var(--play,running)}
@keyframes gap-dash{to{stroke-dashoffset:-20}}

/* 02 outcomes */
.ocards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:72px}
.lt,:root[data-palette="bw"] .w{--edge:0 0 0 1px rgba(11,31,75,.1),0 14px 30px -22px rgba(11,31,75,.35)}
/* 階層で角丸と影を変える：成果＝線だけ／サービス＝線＋小さな影／費用＝影で浮かせる／表＝線だけ */
.oc{border-radius:14px!important;box-shadow:inset 0 0 0 1px rgba(11,31,75,.13)}
.sv{border-radius:18px!important;box-shadow:inset 0 0 0 1px rgba(11,31,75,.1),0 8px 18px -14px rgba(11,31,75,.45)}
.fee-b{border-radius:24px!important;box-shadow:0 26px 44px -26px rgba(11,31,75,.5)}
.tbl{border-radius:12px!important;box-shadow:inset 0 0 0 1px rgba(11,31,75,.12)}
.oc{background:var(--s-card);border-radius:20px;padding:30px 24px 28px;display:flex;flex-direction:column;gap:12px;transition:transform .3s,box-shadow .3s}

.oc .pict.lg{color:var(--s-acc)}
.oc .i{font:700 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.2em;color:var(--s-fg2)}
.oc h3{font:700 21px/1.45 "Zen Kaku Gothic New",sans-serif}
.oc p{font-size:14.5px;line-height:1.8;color:var(--s-fg2)}
.oc .tag{align-self:flex-start;margin-top:auto;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:rgba(47,100,216,.1);color:var(--s-acc)}

/* 03 how: full scene */
.scene{margin-top:88px;position:relative}
.scene-wide{display:block;width:calc(100% + 96px);margin:0 -48px;height:auto}
.scene-phone{display:none;list-style:none;padding:0}
.scene-phone li{padding:28px 0 4px;border-top:1px solid var(--s-rule)}
.scene-phone .cj{font:700 24px/1.3 "Zen Kaku Gothic New",sans-serif;margin:4px 0}
.scene-phone .cs{font-size:14px;color:var(--s-fg2);line-height:1.7;margin-bottom:10px}
.scene-phone svg{display:block;width:100%;height:auto;border-radius:16px;background:rgba(16,48,111,.45)}
.ways3{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:center;margin-top:120px}
.gauges{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gauges li{background:var(--s-card);border:1px solid var(--s-card-b);border-radius:22px;padding:18px 22px 24px}
.gauges .mini{display:block;width:100%;height:auto;max-height:210px}
.g-l{display:flex;align-items:center;gap:12px;margin-top:8px}
.g-l .pict{width:28px;height:28px;color:var(--s-acc)}
.g-l b{display:block;font:700 22px/1.3 "Zen Kaku Gothic New",sans-serif}
.g-d{font-size:14px;line-height:1.75;color:var(--s-fg2);margin-top:10px}

/* 04 approach */
.steps{list-style:none;padding:0;display:grid;gap:4px}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:4px 14px;padding:16px 0;border-bottom:1px solid var(--s-rule)}
.steps li:first-child{border-top:1px solid var(--s-rule)}
.steps .n{font:700 13px/1.9 "Zen Kaku Gothic New",sans-serif;letter-spacing:.1em;color:var(--s-acc)}
.steps h3{font:700 17px/1.6 "Zen Kaku Gothic New",sans-serif;display:flex;align-items:center;gap:8px}
.steps h3 .pict{width:20px;height:20px;color:var(--s-acc)}
.steps p{grid-column:2;font-size:14px;line-height:1.75;color:var(--s-fg2)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{font-size:13px;line-height:1.5;padding:10px 16px;border-radius:14px;background:var(--s-card);border:1px solid var(--s-card-b)}
.chip b{display:block;font-size:14px}
.chip small{color:var(--s-fg2)}
.fig .proc-cap{display:flex;justify-content:space-between;font-size:13px;color:var(--s-fg2);margin-top:8px}
.tag-n{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff}

/* 05 service */
.svc-top{display:grid;grid-template-columns:4fr 8fr;gap:48px;margin-top:88px;align-items:start}
.svc{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sv{background:var(--s-card);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .3s}

.sv .pict.lg{color:var(--s-acc)}
.sv h3{font:700 18px/1.5 "Zen Kaku Gothic New",sans-serif}
.sv p{font-size:14px;line-height:1.8;color:var(--s-fg2)}
.sv .new{align-self:flex-start;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--s-acc);color:#fff}
.sub-h{display:flex;align-items:baseline;gap:16px;font:700 26px/1.4 "Zen Kaku Gothic New",sans-serif;margin:112px 0 28px}
.sub-h .en-s{color:var(--s-acc);flex:none}
.tbl{overflow-x:auto;border-radius:20px;background:var(--s-card);contain:paint}
.tbl table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:16px 12px;text-align:center;border-bottom:1px solid var(--s-rule)}
.tbl thead th{font-size:12.5px;line-height:1.5;font-weight:700;color:var(--s-fg2)}
.tbl tbody th{text-align:left;font-weight:700;padding-left:24px;white-space:nowrap}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.mk2{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--s-acc);vertical-align:middle}
.mk1{display:inline-block;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--s-acc);vertical-align:middle}
.legend{font-size:13px;color:var(--s-fg2);margin-top:12px;display:flex;gap:18px;align-items:center}
.legend .mk2,.legend .mk1{width:14px;height:14px;margin-right:6px}
.fees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.fee{display:flex;flex-direction:column}
.fee-b{flex:1}
.fee .stair{display:block;width:100%;max-width:240px;height:auto;margin:0 auto -6px}
.fee-b{background:var(--s-card);border-radius:20px;padding:26px 24px}
.fee .step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--s-acc);color:#fff;font:500 14px/1 "Zen Kaku Gothic New",sans-serif}
.fee h4{font:700 18px/1.5 "Zen Kaku Gothic New",sans-serif;margin:10px 0 12px}
.fee .price{font-size:14px;line-height:1.9}
.fee .price b{font:700 30px/1.25 "Zen Kaku Gothic New",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fee .price b.jp{font:700 20px/1.5 "Zen Kaku Gothic New",sans-serif}
.fee .inc{font-size:13px;color:var(--s-fg2);margin-top:12px;padding-top:12px;border-top:1px solid var(--s-rule)}

/* 06 works */
.works-hd{padding-bottom:96px}
.case{position:relative;overflow:hidden;color:#fff;--text:#fff;--text-weak:#C3D1EE;background:linear-gradient(100deg,#0B1F4B 0%,#0E2A64 55%,#123A86 100%);isolation:isolate}
.case.r{background:linear-gradient(260deg,#0B1F4B 0%,#0E2A64 55%,#123A86 100%)}
:root[data-palette="charcoal"] .case{background:linear-gradient(100deg,#1B1F26,#232933 60%,#2A3442)}
.case + .case{border-top:1px solid rgba(207,224,255,.14)}
.case::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55.43' height='32'%3E%3Cpath d='M0 16 L27.71 0 L55.43 16 L27.71 32Z' fill='none' stroke='%23CFE0FF' stroke-width='1'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.case.r::before{-webkit-mask-image:linear-gradient(270deg,transparent 30%,#000);mask-image:linear-gradient(270deg,transparent 30%,#000)}
.case .cin{max-width:1248px;margin:0 auto;padding:72px 48px;min-height:620px;display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.case.r .cin{grid-template-columns:5fr 7fr}
.case.r .ctext{order:2}
.case .no{font:200 80px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:-.04em;color:#8DB2FF;font-variant-numeric:tabular-nums}
.case .ind{display:inline-block;font:700 14px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#CFE0FF;margin:0 0 16px;padding:7px 14px;border-radius:999px;border:1px solid rgba(207,224,255,.35)}
.case h3{font:700 clamp(26px,3vw,38px)/1.45 "Zen Kaku Gothic New",sans-serif;margin-bottom:28px}
.case dl{display:grid;grid-template-columns:72px 1fr;gap:12px 20px;font-size:15.5px;line-height:1.85;max-width:36em}
.case dt{font:700 12px/2.4 "Zen Kaku Gothic New",sans-serif;letter-spacing:.1em;color:#8DB2FF}
.case dd{color:#E6EDFB}
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:28px;max-width:560px}
.ba div{border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.6;background:rgba(255,255,255,.06);border:1px solid rgba(207,224,255,.18)}
.ba div.af{background:rgba(91,141,239,.28);border-color:rgba(141,178,255,.5)}
.ba small{display:block;font:700 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.02em;color:#DCE6FA;margin-bottom:6px}
.ba i{align-self:center;font-style:normal;color:#8DB2FF;font-family:"Zen Kaku Gothic New"}
.now{display:flex;gap:12px;align-items:center;margin-top:24px;font-size:14px;color:#DCE6FA}
.now b{flex:none;font-size:12px;padding:6px 12px;border-radius:999px;background:#fff;color:#0B1F4B}
.ladder{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;overflow:visible}
.lv-t line{stroke:#CFE0FF;stroke-opacity:.35}
.lv-t text{fill:#B3C4E8}
.lv-bg{fill:#0B1F4B;fill-opacity:.9;stroke:rgba(207,224,255,.22)}
.lv-t.on .lv-bg{fill:#0B1F4B;stroke:rgba(207,224,255,.6)}
.lv-t .lv-n{font:500 22px/1 "Zen Kaku Gothic New",sans-serif}
.lv-t .lv-j{font:700 16px/1 "Zen Kaku Gothic New",sans-serif}
.lv-t.on line{stroke-opacity:.9}
.lv-t.on text{fill:#fff}
.lad-line{fill:none;stroke:#fff;stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:0}
.lad-dot{fill:#0B1F4B;stroke:#fff;stroke-width:2}
.works-note{padding:40px 0 0}

/* 07 side */
.side{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.side li{background:var(--s-card);border:1px solid var(--s-card-b);border-radius:24px;padding:28px 32px 28px 20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:center}
.side .mini{display:block;width:100%;height:auto}
.side h3{font:700 21px/1.6 "Zen Kaku Gothic New",sans-serif}
.side p{font-size:14.5px;line-height:1.75;color:var(--s-fg2);margin-top:10px}
.promise{margin-top:120px;text-align:center}
.promise .en-s{color:var(--s-acc)}
.promise p.big-t{font:900 clamp(30px,4.6vw,60px)/1.4 "Zen Kaku Gothic New",sans-serif}

/* 08 about */
.about{overflow:hidden}
.about::before{content:"";position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55.43' height='32'%3E%3Cpath d='M0 16 L27.71 0 L55.43 16 L27.71 32Z' fill='none' stroke='%23CFE0FF' stroke-width='1'/%3E%3C/svg%3E");pointer-events:none}
.core{background:var(--s-card);border:1px solid var(--s-card-b);border-radius:28px;padding:44px 44px 40px}
.core .en-s{color:var(--s-acc)}
.core h3{font:900 clamp(28px,3.2vw,42px)/1.45 "Zen Kaku Gothic New",sans-serif;margin:16px 0 20px}
.core p{font-size:15.5px;line-height:1.95;color:var(--s-fg2)}
.mvv3{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;list-style:none;padding:0}
.mvv3 li{padding:32px 30px;border-radius:22px;border:1px solid var(--s-rule)}
.mvv3 .en-s{color:var(--s-acc)}
.mvv3 h3{font:700 21px/1.5 "Zen Kaku Gothic New",sans-serif;margin:12px 0 12px}
.mvv3 p{font-size:14.5px;line-height:1.9;color:var(--s-fg2)}

/* 09 message */
.msg{overflow:hidden}
.msg .msg-art{grid-column:1/6;grid-row:2/4;align-self:end;width:115%;margin-left:-15%;height:auto;--play:paused;-webkit-mask-image:radial-gradient(closest-side,#000 65%,transparent);mask-image:radial-gradient(closest-side,#000 65%,transparent)}
.msg .lab{grid-row:1}
.msg .msg-art::after{content:""}
.msg blockquote{grid-column:6/13;grid-row:1/3;position:relative;z-index:1}
.msg blockquote p.q1{font:900 clamp(28px,3.5vw,46px)/1.5 "Zen Kaku Gothic New",sans-serif;margin-bottom:40px}
.msg blockquote p{font-size:18px;line-height:2;max-width:32em;color:var(--s-fg)}
.msg blockquote p + p{margin-top:1em}
.msg blockquote p.recap{margin-top:1.6em;font:700 clamp(18px,1.7vw,21px)/1.8 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.msg cite{display:block;margin-top:36px;font-style:normal;font-weight:700;color:var(--s-fg2)}
.msg .shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--s-bg) 30%,transparent 100%);opacity:.0}

/* 10 news */
.kn{list-style:none;padding:0}
.kn li{display:grid;grid-template-columns:112px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--s-rule);align-items:baseline}
.kn li:first-child{border-top:1px solid var(--s-rule)}
.kn .cat{justify-self:start;font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px;background:var(--s-card);border:1px solid var(--s-card-b);color:var(--s-acc);white-space:nowrap}
.kn p{font-size:15.5px;line-height:1.85}
.more{margin-top:32px}

/* 11 company */
.co{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.9}
.co th,.co td{text-align:left;vertical-align:top;padding:22px 0;border-bottom:1px solid var(--s-rule)}
.co tr:first-child th,.co tr:first-child td{border-top:1px solid var(--s-rule)}
.co th{width:9em;font-weight:700;color:var(--s-fg2);font-size:14px;padding-right:20px}
.map-tag rect{fill:#0B1F4B}.map-tag text{font:700 15px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff}
.map{max-width:440px}

/* 12 contact */
.doors{display:grid;grid-template-columns:7fr 5fr;gap:24px;margin-top:88px;align-items:start}
.door{background:var(--s-card);border:1px solid var(--s-card-b);border-radius:28px;padding:36px 40px 40px}
.door-h{display:grid;grid-template-columns:1fr 140px;gap:16px;align-items:center}
.door-h > div{min-width:0}
.door .mini{width:140px;height:auto}
.door .k{font:700 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.14em;color:var(--s-acc)}
.door h3{font:700 23px/1.55 "Zen Kaku Gothic New",sans-serif;margin:12px 0 8px}
.door .d{font-size:14.5px;color:var(--s-fg2)}
form{display:grid;gap:18px;margin-top:28px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px;font-size:13.5px;font-weight:700}
.field .req{font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;color:#fff;background:#3B6FD6;padding:3px 7px;border-radius:999px;margin-left:8px;vertical-align:1px}
.field input,.field textarea{font:400 16px/1.6 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;background:#fff;border:1.5px solid #C9D7F2;border-radius:14px;padding:13px 16px;width:100%;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:#3B6FD6;box-shadow:0 0 0 4px rgba(91,141,239,.3)}
.field .err-m{display:none;font-size:12.5px;font-weight:500;color:#FF8A9E}
.lt .field .err-m,:root[data-palette="bw"] .w .field .err-m{color:#C8264F}
.field.err input,.field.err textarea{border-color:#FF5F87;box-shadow:0 0 0 4px rgba(255,47,125,.18)}
.field.err .err-m{display:block}
.field.agree{font-weight:500;font-size:14.5px}
.agree-b{display:flex;align-items:center;gap:12px;cursor:pointer}
.field.agree input{-webkit-appearance:none;appearance:none;flex:none;width:22px;height:22px;padding:0;margin:0;background:#fff center/14px no-repeat;border:1.5px solid #C9D7F2;border-radius:6px;box-shadow:none;cursor:pointer}
.field.agree input:checked{background-color:#3B6FD6;border-color:#3B6FD6;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M3 8.5 6.5 12 13 4.5%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%272.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E")}
.field.agree input:focus-visible{outline:none;border-color:#3B6FD6;box-shadow:0 0 0 4px rgba(91,141,239,.3)}
.field.agree.err input{border-color:#FF5F87;box-shadow:0 0 0 4px rgba(255,47,125,.18)}
.agree a{color:inherit;text-decoration:underline;text-underline-offset:3px}
form .pill{justify-self:start;margin-top:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send-err{margin:0;padding:14px 16px;border-radius:12px;background:rgba(255,95,135,.1);border:1px solid rgba(255,95,135,.45);color:#C8264F;font-size:14px;line-height:1.8}
.send-err a{color:inherit;text-decoration:underline}
form .pill:disabled{opacity:.6;cursor:default;transform:none}
.thx{border:0;padding:0;border-radius:16px;background:#fff;color:#0B1F4B;width:min(720px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.thx::backdrop{background:rgba(5,14,36,.62)}
html:has(.thx[open]){overflow:hidden}
.thx-in{padding:56px 40px 34px;text-align:center}
.thx h2{margin:0;font:700 clamp(21px,3.6vw,34px)/1.45 "Zen Kaku Gothic New",sans-serif;letter-spacing:.02em;word-break:keep-all}
.thx p{margin:26px 0 0;font-size:15px;line-height:1.9;word-break:auto-phrase}
.thx-x{margin-top:38px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:0;border-radius:8px;color:inherit;cursor:pointer;font:800 15px/1 Inter,sans-serif;letter-spacing:.14em}
.thx-x svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.2;fill:none}
.thx-x:hover{background:rgba(11,31,75,.06)}
@media(max-width:600px){.thx-in{padding:40px 22px 24px}.thx p{font-size:14px;text-align:left}.thx-x{margin-top:26px}}

/* CTA band + footer */
.cta-band{background:var(--cta);color:#fff;padding:104px 0;position:relative;overflow:hidden}
.cta-band .cin{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta-band .en-s{color:#CFE0FF}
.cta-band h2{font:900 clamp(30px,4.2vw,54px)/1.4 "Zen Kaku Gothic New",sans-serif}
.cta-band .btns{display:flex;gap:14px;flex-wrap:wrap}
.cta-band .pill-line{color:#fff}
.ft{background:var(--deep);color:#B8C7E6;padding:88px 0 40px;font-size:14px;line-height:1.8}
:root[data-palette="charcoal"] .ft{color:#B9B2A6}
.ft-g{display:grid;grid-template-columns:5fr 4fr 3fr;gap:48px}
.ft .logo img{height:34px}
.ft .cn{color:#fff;font-weight:700;margin-top:24px}
.ft address{font-style:normal;margin-top:10px;font-size:13px}
.ft .tag{margin-top:22px;font:700 17px/1.5 "Zen Kaku Gothic New",sans-serif;color:#fff}
.ft h2{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;color:#8DB2FF;margin-bottom:18px}
.ft ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}
.ft a{text-decoration:none;color:#E6EDFB;transition:color .2s}
.ft a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.sns{display:grid;gap:10px}
.sns a{display:inline-flex;align-items:center;gap:10px}
.sns svg{width:24px;height:24px;flex:none;color:#C3D1EE}
.sns a:hover svg{color:#fff}
.ft .copy{margin-top:72px;padding-top:24px;border-top:1px solid rgba(207,224,255,.12);font:700 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.totop{position:fixed;right:24px;bottom:24px;z-index:80;width:52px;height:52px;border-radius:50%;border:1px solid rgba(207,224,255,.3);background:rgba(11,31,75,.85);color:#fff;cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s,background-color .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:#1846A6}
/* --- つなぎの一文：次のブロックへの案内 --- */
.next{grid-column:1/-1;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:12px;margin:112px 0 0;max-width:30em;text-align:right;font:500 15px/1.8 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2,var(--fg2))}
.next i{position:relative;display:block;width:1px;height:44px;margin-right:2px;background:currentColor;opacity:.7}
.next i::after{content:"";position:absolute;left:-4px;bottom:0;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.hero-next{position:relative;z-index:2;max-width:1344px;width:100%;margin:0 auto;padding:0 64px 28px;display:flex;justify-content:flex-end}
.hero-next .next{margin:0;color:#C3D1EE}
.works-end{background:var(--bg);padding:8px 0 96px}
.works-end .next{margin-top:56px;color:var(--fg2)}
/* 04：投資の上限を見出し直下の太い一文に */
.lead.strong p{font:700 clamp(20px,2vw,25px)/1.65 "Zen Kaku Gothic New",sans-serif;opacity:1}
/* 05：動かす段のタグ／費用の前の一文 */
.stg{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:700 12px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-acc);padding:6px 10px;border-radius:6px;background:rgba(47,100,216,.08)}
.stg::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.fee-lead{font:700 clamp(18px,1.8vw,22px)/1.7 "Zen Kaku Gothic New",sans-serif;margin:-8px 0 40px;max-width:32em}
/* 06：狙う出口と4段の現在地 */
.exit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.exit .ek{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;color:#C3D1EE;margin-right:4px}
.exit b{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;padding:7px 12px;border-radius:999px;background:rgba(255,138,61,.14);color:#FFC9A6;border:1px solid rgba(255,138,61,.4)}
.prog{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgba(207,224,255,.16)}
.prog ol{list-style:none;margin:0;padding:0;display:flex}
.prog li{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;width:68px;font:500 11.5px/1.2 "Zen Kaku Gothic New",sans-serif;color:#9FB3DA;text-align:center}
.prog li + li::before{content:"";position:absolute;top:5px;right:calc(50% + 7px);width:calc(100% - 14px);height:1px;background:rgba(207,224,255,.3)}
.prog li.on + li.on::before{background:#8DB2FF}
.prog li i{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(207,224,255,.5)}
.prog li.on{color:#fff}.prog li.on i{background:#8DB2FF;border-color:#8DB2FF}
.prog li.half i{border-color:#FF8A3D;background:linear-gradient(90deg,#FF8A3D 50%,transparent 50%)}
.prog li.half{color:#FFC9A6}
.prog b{font:700 14px/1.5 "Zen Kaku Gothic New",sans-serif;color:#fff}

/* --- 02 How it works：狙うお金の形から逆算する（旧 Outcomes と統合） --- */
#how{position:relative}
.anchor{position:absolute;top:0;left:0}
.ow{margin-top:72px}
.ow-h{font:700 20px/1.5 "Zen Kaku Gothic New",sans-serif;margin:0 0 18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.ow-h small{font:400 13.5px/1.7 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2)}
.ow-pick{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ow-pick .oc{padding:22px 20px 20px;gap:8px;align-items:flex-start}
.ow-pick .oc .pict.lg{width:30px;height:30px}
.oc-h{font:700 18px/1.4 "Zen Kaku Gothic New",sans-serif}
.oc-p{font-size:13.5px;line-height:1.75;color:var(--s-fg2)}
.ow-map{margin-top:28px;background:linear-gradient(120deg,var(--bg) 0%,var(--bg2) 100%);color:#FFFFFF;border-radius:24px;padding:48px 40px 40px}
.ow-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:56px}
.ow-n{position:relative}
.ow-n + .ow-n::before{content:"";position:absolute;top:70px;left:-48px;width:40px;height:1px;background:#8DB2FF;transform-origin:right center}
.ow-n + .ow-n::after{content:"";position:absolute;top:66px;left:-48px;width:8px;height:8px;border-top:1px solid #8DB2FF;border-right:1px solid #8DB2FF;transform:rotate(-135deg)}
.ow-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.ow-fig{display:block;width:150px;height:auto}
.ow-num{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}
.ow-num .cn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #8DB2FF;font:500 15px/1 "Zen Kaku Gothic New",sans-serif;font-variant-numeric:tabular-nums;margin-bottom:6px}
.ow-num b{font:700 18px/1.4 "Zen Kaku Gothic New",sans-serif}
.ow-num small{font-size:12.5px;color:#C3D1EE}
.ow-ex{margin:6px 0 0;font-size:14px;line-height:1.75;color:#DCE6FA}
.ow-money .cn{border:0;background:var(--flame);color:#FFFFFF;font-weight:700;box-shadow:0 0 0 7px rgba(255,138,61,.16)}
.ow-money .ow-ex{color:#FFFFFF;font-weight:500}
.ow-case{margin:36px 0 0;padding-top:24px;border-top:1px solid rgba(207,224,255,.16);display:grid;grid-template-columns:15em 1fr;gap:8px 24px;font-size:14px;line-height:1.7;color:#DCE6FA}
.ow-case > p{margin:0;font:700 14px/1.7 "Zen Kaku Gothic New",sans-serif;color:#FFFFFF}
.ow-case ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ow-case li{display:grid;grid-template-columns:22px 6.5em 1fr;align-items:baseline;gap:10px}
.ow-case .cn{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #8DB2FF;font-size:11px;line-height:1;align-self:center}
.ow-case li:first-child .cn{border:0;background:var(--flame);color:#FFFFFF;font-weight:700}
.ow-case em{font-style:normal;font-weight:700;color:#8DB2FF}
.ow-ways{margin:16px 0 0;font-size:13.5px;line-height:1.7;color:var(--s-fg2)}
/* お金から技術へ：線が右から左へ引かれ、段が順に灯る（一度だけ） */
.js .ow-card{opacity:.32;transition:opacity .5s ease}
.js .ow-map.run .ow-card{opacity:1}
.js .ow-n + .ow-n::before{transform:scaleX(0);transition:transform .45s cubic-bezier(.6,0,.2,1)}
.js .ow-n + .ow-n::after{opacity:0;transition:opacity .2s}
.js .ow-map.run .ow-n + .ow-n::before{transform:none}
.js .ow-map.run .ow-n + .ow-n::after{opacity:1}
.ow-money .ow-card{transition-delay:0s}
.ow-money::before{transition-delay:.25s!important}.ow-money::after{transition-delay:.65s!important}
.ow-kpi .ow-card{transition-delay:.55s}
.ow-kpi::before{transition-delay:.8s!important}.ow-kpi::after{transition-delay:1.2s!important}
.ow-act .ow-card{transition-delay:1.1s}
.ow-act::before{transition-delay:1.35s!important}.ow-act::after{transition-delay:1.75s!important}
.ow-tech .ow-card{transition-delay:1.65s}
.ow-map:not(.run) *{transition-delay:0s!important}

/* --- reveal (12px / 0.5s) --- */
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .5s ease-out var(--rd,0s),transform .5s ease-out var(--rd,0s)}
.js .rv.in{opacity:1;transform:none}

/* --- 動き：区画の図は「画面に入ったら一度」 --- */
.walk,.belt,.ride,.needle,.lamp,.lamp-glow,.float{animation-play-state:var(--play,running)}
/* ヒーロー以外は常時ループさせない */
.sec .float,.sec .walk,.sec .lamp-glow{animation:none}.sec .walk{--walk:paused}
.off *,.done *{animation-play-state:paused!important}
.gap-o{animation-iteration-count:1!important}
.needle{animation-name:var(--needle-a,kit-needle);animation-duration:var(--needle-d,var(--loop,18s));animation-iteration-count:var(--it,infinite)}
.lamp{animation-name:var(--lamp-a,kit-lamp);animation-duration:var(--lamp-d,var(--loop,18s));animation-iteration-count:var(--it,infinite)}
.lamp-glow{animation-iteration-count:var(--glow-it,infinite)}
.gauge-arc{animation:var(--arc-a,none) 2.2s ease var(--delay,0s) 1 both;animation-play-state:var(--play,running)}
.once{--needle-a:e-needle;--needle-d:1.5s;--lamp-a:e-lamp;--lamp-d:.7s;--it:1;--arc-a:e-arc}
.js .once{--play:paused}
.js .once.on{--play:running}
.once .ride{animation-name:e-ride;animation-duration:2.6s;animation-iteration-count:1;animation-delay:.2s}
.once .ride.drop{animation-name:e-drop;animation-duration:3s;animation-delay:1.2s}
.once .lad-line{stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.6,0,.2,1) .3s}
.once.on .lad-line{stroke-dashoffset:0}
.js .ladder.once .lad-dot{opacity:0;transition:opacity .4s 1.4s}
.js .ladder.once.on .lad-dot{opacity:1}
@keyframes e-needle{0%{transform:rotate(var(--from,-70deg))}65%{transform:rotate(calc(var(--to,50deg) + 8deg))}100%{transform:rotate(var(--to,50deg))}}
@keyframes e-lamp{from{opacity:0}to{opacity:1}}
@keyframes e-arc{0%,15%{stroke:#3B6FD6}35%,70%{stroke:#F06A5A}100%{stroke:#3B6FD6}}
@keyframes e-ride{0%{offset-distance:0%;opacity:0}12%{opacity:1}100%{offset-distance:var(--rest,50%);opacity:1}}
@keyframes e-drop{0%{offset-distance:0%;opacity:0}8%{opacity:1}100%{offset-distance:100%;opacity:1}}

/* --- responsive --- */
@media (max-width:1180px){
 .gnav,.hd-cta,.hd .pal{display:none}
 .burger{display:block}
}
@media (max-width:960px){
 .ow-pick{grid-template-columns:repeat(3,minmax(0,1fr))}
 .wrap{padding:0 24px}
 .sec{padding:96px 0}
 .sg{display:flex;flex-direction:column}
 .sg > *{order:7}
 .lab{order:1}.h2{order:2;margin-top:20px}.fig{order:3;margin-top:44px}.lead{order:4;margin-top:36px}.aside{order:5;margin-top:36px}.full{order:6}
 .lab .en{font-size:clamp(40px,11vw,64px)}
 .hero{min-height:auto}
 .hero-in{padding:120px 24px 32px}
 .hero-art{position:relative;right:auto;top:auto;bottom:auto;width:calc(100% + 48px);margin:24px -24px 0;order:3}
 .hero-copy{order:1}
 .stops{grid-template-columns:1fr;gap:6px}
 .st-i{flex-direction:row;text-align:left;gap:16px}
 .st-i .mini{width:132px;flex:none}
 .st-i + .st-i::before{display:none}
 .st-t small{margin-top:0}
 .ocards{grid-template-columns:1fr 1fr;margin-top:48px}
 .ways3,.svc-top{grid-template-columns:1fr;gap:32px;margin-top:72px}
 .gauges{grid-template-columns:1fr}
 .gauges li{display:grid;grid-template-columns:120px 1fr;gap:4px 16px;align-items:center}
 .gauges .mini{grid-row:1/3}
 .g-d{margin-top:0}
 .scene-wide{display:none}
 .scene-phone{display:block}
 .scene{margin-top:48px}
 .svc{grid-template-columns:1fr 1fr}
 .fees{grid-template-columns:1fr;gap:12px}
 .fee{display:grid;grid-template-columns:110px 1fr;align-items:end;gap:12px}
 .fee .stair{margin:0}
 .case .cin,.case.r .cin{grid-template-columns:1fr;padding:88px 24px;gap:40px}
 .case.r .ctext{order:0}
 .case .lad-wrap{order:-1}
 .side{grid-template-columns:1fr}
 .mvv3{grid-template-columns:1fr}
 .msg blockquote{order:4}
 .msg .msg-art{width:100%;margin:0 0 24px;order:3}
 .doors{grid-template-columns:1fr;margin-top:48px}
 .ft-g{grid-template-columns:1fr;gap:40px}
}
@media (max-width:759px){
 .hs-d{display:none}
 .next{margin-top:72px;font-size:14px}
 .ow{margin-top:48px}
 .ow-pick{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:24px;gap:10px;margin:0 -24px;padding:4px 24px 12px;scrollbar-width:none}
 .ow-pick::-webkit-scrollbar{display:none}
 .ow-pick .oc{flex:0 0 200px;scroll-snap-align:start;flex-direction:column!important;flex-wrap:nowrap!important;align-items:flex-start!important;gap:6px!important;padding:18px!important}
 .ow-case{grid-template-columns:1fr}
 .ow-case li{grid-template-columns:22px 1fr;row-gap:0}
 .ow-case li em,.ow-case li .t{grid-column:2}
 .ow-case li{font-size:13.5px}
 .ow-map{padding:28px 18px 24px;margin-left:-8px;margin-right:-8px}
 .ow-chain{display:flex;flex-direction:column-reverse;gap:40px}
 .ow-n + .ow-n::before{top:100%;left:48px;width:1px;height:32px;margin-top:4px;transform-origin:center top}
 .ow-n + .ow-n::after{top:calc(100% + 28px);left:44px;transform:rotate(135deg)}
 .js .ow-n + .ow-n::before{transform:scaleY(0)}
 .ow-card{flex-direction:row;align-items:center;text-align:left;gap:14px}
 .ow-fig{width:96px;flex:none}
 .ow-num{align-items:flex-start;flex:none;width:86px}
 .ow-num .cn{width:30px;height:30px;font-size:13.5px;margin-bottom:2px}
 .ow-num b{font-size:16px}
 .ow-ex{margin:0;font-size:13.5px}
 .hero-next{padding:0 24px 24px}
 .seg button{font-size:14.5px;padding:12px 6px}
 .prog li{width:58px}
 .hs-m{display:block;max-height:none}
 .hero-svg.hs-m .closed-labels .lbl-sub{display:inline}
 .hero-art{width:100%;margin:28px 0 0}
}
@media (max-width:600px){
 body{font-size:16px}
 .hero h1{font-size:12.4vw;margin-bottom:24px}
 .hero .sub{font-size:16px}
 .hero .ctas{flex-direction:column;align-items:stretch}
 .hero .ctas .pill{width:100%}
 .ocards{grid-template-columns:1fr}
 .oc{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:22px}
 .oc .i{display:none}
 .oc h3{flex:1}
 .oc p{flex-basis:100%}
 .svc{grid-template-columns:1fr}
 .side{grid-template-columns:1fr}
 .huge .n{font-size:150px}
 .case .no{font-size:64px}
 .ba{grid-template-columns:1fr;max-width:none}
 .ba i{transform:rotate(90deg);justify-self:center}
 .case dl{grid-template-columns:1fr;gap:2px}
 .row2{grid-template-columns:1fr}
 .door{padding:28px 22px}
 .door-h{grid-template-columns:1fr}
 .door .mini{width:120px;order:-1}
 .h2{font-size:27px}
 .side li{grid-template-columns:1fr;padding:12px 22px 26px;gap:4px}
 .side .mini{max-width:280px;margin:0 auto}
 .side h3{font-size:19px}
 .ladder{max-width:320px}
 .hero-svg .closed-labels .lbl-sub,.hero-svg .closed-labels .lbl-en,.hero-svg .ol .lbl-en{display:none}
 .hero-svg .closed-labels .leader-label text.lbl-ja{font-size:26px}
 .hero-svg .closed-labels .lbl-en{font-size:15px}
 .hero-svg .ol .lbl-ja{font-size:17px}
 .kn li{grid-template-columns:1fr;gap:8px}
 .co th,.co td{display:block;width:auto;padding:0}
 .co th{padding-top:18px}
 .co td{padding-bottom:18px}
 .co tr:first-child td{border-top:0}
 .co th{border-bottom:0}
 .co tr:first-child th{border-top:1px solid var(--s-rule)}
 .cta-band{padding:80px 0}
 .cta-band .btns{width:100%;flex-direction:column}
 .cta-band .btns .pill{width:100%}
 .fee{grid-template-columns:90px 1fr}
 .totop{right:16px;bottom:16px}
}
/* --- 動きを減らす設定 --- */
@media (prefers-reduced-motion:reduce){
 .ow-card,.ow-n::before,.ow-n::after{transition:none!important}
 html{scroll-behavior:auto}
 .js .rv{opacity:1;transform:none;transition:none}
 .gap-o,.gauge-arc{animation:none!important}
 .once .lad-line,.js .ladder.once .lad-dot,.ol-line,.hallg-s,.ol text,.hall-closed,.hall-open,.hall-roof,.open-labels,.closed-labels{transition:none!important}
 .once .lad-line{stroke-dashoffset:0}.js .ladder.once .lad-dot{opacity:1}
 .site-glow{animation:none!important}
}
/* --- 印刷 --- */
@media print{
 :root{--bg:#fff;--band:#fff}
 body{background:#fff!important;color:#0B1F4B!important}
 .hd,.mnav,.totop,.pal,.scene-phone{display:none!important}
 .sec,.hero,.case,.cta-band,.ft{background:#fff!important;color:#0B1F4B!important;--s-fg:#0B1F4B;--s-fg2:#3D5487;--s-acc:#244FA8;--text:#0B1F4B;--text-weak:#3D5487;padding:40px 0!important;min-height:0!important}
 .case::before,.hero::before{display:none}
 .msg .msg-art{display:none}
 .case dd,.case h3,.case .ind,.now,.hero .sub,.ft a,.ft .cn,.ft .tag{color:#0B1F4B!important;text-shadow:none}
 .hero h1{text-shadow:none;color:#0B1F4B}
 .js .rv{opacity:1!important;transform:none!important}
 .logo img{filter:brightness(.25)}
 a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px}
 .sec,.case{break-inside:avoid-page}
}

.rc-form{grid-column:1/-1;justify-self:start;width:100%;max-width:760px;margin-top:64px;min-width:0}
@media(max-width:900px){.rc-form{margin-top:44px}}
.pp-body{grid-column:1/-1;grid-row:auto;order:9;margin-top:72px;max-width:46em;min-width:0}
.pp-i + .pp-i{margin-top:44px}
.pp-i h2{display:flex;gap:10px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--s-rule);font:700 19px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.pp-i h2 .num{color:var(--s-acc)}
.pp-i p,.pp-i li{font-size:15px;line-height:1.95;color:var(--s-fg)}
.pp-i p + p{margin-top:.9em}
.pp-i ol{margin:.6em 0 0;padding-left:1.6em}
@media(max-width:900px){.pp-body{margin-top:48px}}
.cmpt{width:100%;border-collapse:collapse;margin-top:8px}
.cmpt th,.cmpt td{text-align:left;vertical-align:top;padding:18px 20px;border-bottom:1px solid var(--s-rule);font-size:15px;line-height:1.75}
.cmpt thead th{font:700 13px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);letter-spacing:.04em;padding-top:0}
.cmpt thead th.ir{color:var(--s-fg)}
.cmpt tbody th{width:150px;font:700 14px/1.75 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2)}
.cmpt td{color:var(--s-fg2);width:38%}
.cmpt td.ir{color:var(--s-fg);font-weight:700;background:rgba(141,178,255,.08)}
.cmp-end{margin-top:28px;font:700 18px/1.6 "Zen Kaku Gothic New",sans-serif}
.cmp-ap .cmpt th,.cmp-ap .cmpt td{font-size:14px;padding:14px 18px}
.ap-why .lead p.em{font-weight:700}
.pg-approach .lead p.em{font-weight:700}
.st-go{margin-top:6px}.st-go .tlink{font-size:13px}
@media (max-width:760px){
 .cmpt thead{display:none}
 .cmpt,.cmpt tbody,.cmpt tr,.cmpt th,.cmpt td{display:block;width:auto}
 .cmpt tr{padding:16px 0;border-bottom:1px solid var(--s-rule)}
 .cmpt th,.cmpt td{border:0;padding:4px 0}
 .cmpt td::before{content:attr(data-h);display:block;font-size:11.5px;font-weight:700;color:var(--s-fg2);letter-spacing:.04em}
 .cmpt td.ir{background:none;padding:10px 12px;margin-top:6px;border-radius:10px;background:rgba(141,178,255,.1)}
}
.st-lead{display:block;font:700 16px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);margin-bottom:6px}
/* ===== コーポレートサイト型（site/） ===== */
.lab .no{display:none}
.pg-sub .hd,.pg .hd.scrolled{background:var(--head);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(207,224,255,.1)}
.sec.first{padding-top:216px}
.gnav a[aria-current="page"]::after{transform:scaleX(1)}
.gnav a[aria-current="page"] b{color:#fff}
.mnav li a[aria-current="page"]{color:#8DB2FF}
.go{grid-column:1/-1;margin-top:56px}
.go > p:not(.go-l){font:500 15px/1.8 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2,var(--fg2))}
.go-l{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:14px}
.go-l .tlink{color:var(--s-fg,var(--fg));font-size:15px}
.go-l .tlink::after{transform:scaleX(1);opacity:.5}
.go-l .tlink:hover::after{opacity:1}
.cta-band .cta-p{margin-top:18px;color:#DCE6FA;font-size:15px;line-height:1.9;max-width:30em}
/* ホーム：扉カード */
.dcards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:72px}
.dc{display:flex;flex-direction:column;gap:8px;height:100%;padding:28px 24px 30px;border-radius:20px;background:var(--s-card);border:1px solid var(--s-card-b);text-decoration:none;color:var(--s-fg);transition:transform .25s,border-color .25s}
.dc:hover{transform:translateY(-3px);border-color:rgba(141,178,255,.6)}
.dc .pict.lg{color:#8DB2FF;margin-bottom:10px}
.dc small{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--s-fg2)}
.dc b{font:700 22px/1.4 "Zen Kaku Gothic New",sans-serif}
.dc span{font-size:14px;line-height:1.8;color:var(--s-fg2)}
/* お知らせ一覧 */
.nl{list-style:none;padding:0}
.cl-grid{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cl-grid li{background:#fff;border:1px solid var(--s-card-b,rgba(11,31,75,.08));border-radius:16px;padding:22px 20px;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.cl-grid li img{width:auto;max-width:78%;object-fit:contain;display:block}
.cl-names li{font:700 15px/1.5 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;letter-spacing:.02em;text-align:center;min-height:96px;padding:20px 16px}
.ac-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}
.ac-item{background:var(--s-card,#fff);border-radius:20px;overflow:hidden;border:1px solid rgba(11,31,75,.08)}
.ac-map{aspect-ratio:16/9;background:#E3EBF7}.ac-map iframe{display:block;width:100%;height:100%;border:0}
.ac-item h3{font:700 18px/1.4 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;margin:22px 26px 6px}
.ac-item address{font:500 14px/1.8 "Zen Kaku Gothic New",sans-serif;font-style:normal;color:#0B1F4B;margin:0 26px}
.ac-item .ac-way{font:400 13px/1.8 "Zen Kaku Gothic New",sans-serif;color:#3D5487;margin:6px 26px 0}
.ac-item .tlink{display:inline-block;margin:14px 26px 24px}
@media (max-width:960px){.ac-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.ac-item h3{margin:18px 20px 4px}.ac-item address,.ac-item .ac-way{margin-left:20px;margin-right:20px}.ac-item .tlink{margin:12px 20px 20px}}
.mailto{margin-top:22px;padding-top:22px;border-top:1px solid var(--s-rule)}
.rc-mail{margin-top:36px;padding-top:0;border-top:0}
.mail-ad{margin:0}.mail-ad a{font:700 clamp(20px,2vw,26px)/1.3 Inter,"Zen Kaku Gothic New",sans-serif;color:var(--s-fg);text-decoration:none;border-bottom:2px solid #2F64D8;word-break:break-all}
.mail-ad a:hover{color:#2F64D8}
.mail-d{margin:14px 0 0;font-size:14px;line-height:1.9;color:var(--s-fg2)}
.cl-grid li small{font:700 12px/1.3 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;letter-spacing:.04em;text-align:center}
.cl-note{margin-top:18px;font-size:13.5px;color:var(--s-fg2)}
.md-books{margin:40px 0 0}
.md-bk{list-style:none;margin:0;padding:22px 24px;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:14px;align-items:end;background:#fff;border-radius:12px}.md-bk img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 1px 2px rgba(11,31,75,.18),0 6px 14px rgba(11,31,75,.10)}
.md-books figcaption{margin-top:14px;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.md-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--s-rule)}
.md-list dt{font:700 12px/1 "Inter",sans-serif;letter-spacing:.08em;color:var(--s-acc);margin-bottom:10px}
.md-list dd{margin:0;font-size:15px;line-height:1.85;color:var(--s-fg)}
@media (max-width:960px){.cl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.cl-grid li{padding:16px 10px;min-height:88px}.cl-names li{font-size:13px;min-height:72px;padding:14px 10px}.cl-grid li img{max-width:84%;max-height:34px}.cl-names li{font:700 15px/1.5 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;letter-spacing:.02em;text-align:center;min-height:96px;padding:20px 16px}
.ac-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}
.ac-item{background:var(--s-card,#fff);border-radius:20px;overflow:hidden;border:1px solid rgba(11,31,75,.08)}
.ac-map{aspect-ratio:16/9;background:#E3EBF7}.ac-map iframe{display:block;width:100%;height:100%;border:0}
.ac-item h3{font:700 18px/1.4 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;margin:22px 26px 6px}
.ac-item address{font:500 14px/1.8 "Zen Kaku Gothic New",sans-serif;font-style:normal;color:#0B1F4B;margin:0 26px}
.ac-item .ac-way{font:400 13px/1.8 "Zen Kaku Gothic New",sans-serif;color:#3D5487;margin:6px 26px 0}
.ac-item .tlink{display:inline-block;margin:14px 26px 24px}
@media (max-width:960px){.ac-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.ac-item h3{margin:18px 20px 4px}.ac-item address,.ac-item .ac-way{margin-left:20px;margin-right:20px}.ac-item .tlink{margin:12px 20px 20px}}
.mailto{margin-top:22px;padding-top:22px;border-top:1px solid var(--s-rule)}
.rc-mail{margin-top:36px;padding-top:0;border-top:0}
.mail-ad{margin:0}.mail-ad a{font:700 clamp(20px,2vw,26px)/1.3 Inter,"Zen Kaku Gothic New",sans-serif;color:var(--s-fg);text-decoration:none;border-bottom:2px solid #2F64D8;word-break:break-all}
.mail-ad a:hover{color:#2F64D8}
.mail-d{margin:14px 0 0;font-size:14px;line-height:1.9;color:var(--s-fg2)}
.cl-grid li small{font-size:10.5px;letter-spacing:0}.md-list{grid-template-columns:1fr;gap:18px}.md-bk{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}}
/* MVV＋C：Cを中心に、M（上）・V・V（下）の三角形。裏地の模様は消す（下山さん 2026-11-10） */
.about.sec.dk::before{display:none}
/* 資料ダウンロードは一旦消す。後で入れる（下山さん 2026-11-11）。戻すときはこの1行と、ヘッダー・メニュー・CTA・フッター・トップのボタンを戻す */
#contact-doc{display:none}.doors:has(#contact-doc){grid-template-columns:minmax(0,760px)}
.mvv4{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:40px;list-style:none;padding:0;position:relative;isolation:isolate}
/* MVVの3枚を結ぶ、うっすらした三角形（下山さん 2026-11-10） */
.mvv4::before{content:"";position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='50,15 25,85 75,85' fill='none' stroke='%23CFE0FF' stroke-opacity='.22' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
.pg-light .mvv4::before{content:"";position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='50,15 25,85 75,85' fill='none' stroke='%230B1F4B' stroke-opacity='.16' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
.mvv4 li{padding:36px 36px 32px;border-radius:22px;border:1px solid var(--s-card-b,var(--s-rule));background:#132650}
.mvv4 .mv-m{grid-column:2/4;grid-row:1}
.mvv4 .mv-c{grid-column:2/4;grid-row:2;border-color:var(--s-acc);box-shadow:0 0 0 1px var(--s-acc) inset}
.mvv4 .mv-v1{grid-column:1/3;grid-row:3}
.mvv4 .mv-v2{grid-column:3/5;grid-row:3}
.mvv4 .en-s{color:var(--s-acc)}
.mvv4 h3{font:700 clamp(20px,1.9vw,25px)/1.5 "Zen Kaku Gothic New",sans-serif;margin:12px 0 14px}
.mvv4 p{font-size:15px;line-height:1.95;color:var(--s-fg2);margin:0}
@media (max-width:760px){.mvv4{grid-template-columns:1fr;gap:16px}.mvv4 li{padding:28px 24px 26px}.mvv4 .mv-m,.mvv4 .mv-c,.mvv4 .mv-v1,.mvv4 .mv-v2{grid-column:auto;grid-row:auto}.mvv4 .mv-c{order:4}.mvv4::before{display:none}}
.nl li{display:grid;grid-template-columns:76px 120px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--s-rule);align-items:baseline}
.nl li:first-child{border-top:1px solid var(--s-rule)}
.nl time{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);letter-spacing:.04em}
.nl .cat{justify-self:start;font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px;background:var(--s-card);border:1px solid var(--s-card-b);color:var(--s-acc);white-space:nowrap}
.nl p{font-size:15.5px;line-height:1.85}
.nl-wrap{margin-top:56px}
.nl-wrap .go-l{margin-top:28px}
.nw-fig{grid-column:1/5}
.nw-list{grid-column:5/13;align-self:start}
#outreach .go-l{margin-top:20px}
/* サービス：製品 */
.prod{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:72px}
.prod li{background:var(--s-card);border:1px solid var(--s-card-b);border-radius:24px;padding:32px 32px 36px;display:flex;flex-direction:column;gap:12px}
.prod .pict.lg{color:#8DB2FF}
.prod h3{font:700 21px/1.5 "Zen Kaku Gothic New",sans-serif}
.prod p{font-size:14.5px;line-height:1.85;color:var(--s-fg2)}
.prod .new{align-self:flex-start;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--acc);color:#fff}
/* ヒーロー：屋根は閉じた状態から。建屋に触れる・フォーカスすると、上がって薄くなり、中の4工程が見える */
.hero-svg.open.rf .hall-front{--lift:0px;--roof-op:1}
.hero-svg.open.rf.lift .hall-front{--lift:-84px;--roof-op:.92}
.hero-svg.open.rf .open-labels{opacity:0;pointer-events:none}
.hero-svg.open.rf .ol-line{stroke-dashoffset:1}
.hero-svg.open.rf .ol text{opacity:0}
.hero-svg.open.rf.lift .open-labels{opacity:1;pointer-events:auto}
.hero-svg.open.rf.lift .ol-line{stroke-dashoffset:0}
.hero-svg.open.rf.lift .ol text{opacity:1}
.rf .hallg{cursor:pointer;outline:none}
.rf .ol-a:focus-visible .st-p{stroke:#fff;stroke-width:2}
.rf .ol-a:hover .st-p{fill:#1846A6}
/* ホームは短く：区画の上下を詰める */
.pg-index .sec{padding:96px 0}
.pg-index .dcards{margin-top:56px}
.pg-index .nl-wrap{margin-top:40px}
.pg-index .go{margin-top:40px}
@media (max-width:960px){
 .pg-index .sec{padding:80px 0}
 .dcards{grid-template-columns:1fr 1fr;margin-top:44px}
 .prod{grid-template-columns:1fr;margin-top:44px}
 .sec.first{padding-top:140px}
 .go{order:7;margin-top:40px}
 .nw-fig,.nw-list{grid-column:1/-1}
 .nl-wrap{order:6;margin-top:36px}
}
@media (max-width:600px){
 .dcards{grid-template-columns:1fr}
 .nl li{grid-template-columns:auto 1fr;gap:10px 14px}
 .nl li p{grid-column:1/-1}
 .nl .nd{display:none}
 .prod li{padding:26px 22px 28px}
}
@media (prefers-reduced-motion:reduce){.dc{transition:none}}

/* ===== ホーム（勉強会版） ===== */
/* How it works：動く体系図 */
.hx{margin-top:48px}
.hx-svg{display:block;width:100%;height:auto;overflow:visible}
.hx-m-only{display:none}
.hx-hd{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;fill:#8DB2FF;letter-spacing:.06em}
.hx-m > rect{fill:rgba(255,255,255,.06);stroke-width:1.6}
.hx-m > text{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.hx-mp{color:#FFB08A}
.hx-ln{fill:none;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:0}
.hx-mg{stroke:rgba(255,138,61,.55)}
.hx-tl{stroke:rgba(141,178,255,.4);stroke-width:1.1}
.hx-tg{stroke:rgba(255,255,255,.55);stroke-dasharray:.02 .015}
.hx-fx{fill:none;stroke:#FFFFFF;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.06 2;stroke-dashoffset:.06;opacity:0}
.hx-g1{font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.14em;fill:#8DB2FF}
.hx-g2{font:700 15px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.hx-g3{font:500 12px/1 "Zen Kaku Gothic New",sans-serif;fill:#C3D1EE}
.hx-step{cursor:pointer;transition:filter .3s,opacity .3s}
.hx-step:not(.on){opacity:.75}
.hx-step.sel{opacity:1;filter:brightness(1.3) drop-shadow(0 0 10px rgba(141,178,255,.75))}
.hx-stop circle{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-dasharray:3 3}
.hx-st1{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.hx-arr path{fill:none;stroke:#8DB2FF;stroke-width:1.4}
.hx-arr text{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#8DB2FF;letter-spacing:.12em}
.hx-es{font:800 22px/1 Inter,sans-serif;letter-spacing:-.02em}
.hx-en{font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif}
.hx-t rect{fill:#0E2A5E;stroke:#FFFFFF;stroke-width:1.5}
.hx-tn{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.hx-tf{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#C3D1EE;letter-spacing:.02em}
.hx [data-grades]{transition:opacity .3s}
#tech-grid.filtering .hx [data-grades].dim{opacity:.18}
.hx-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:22px}
.hx-ctl > span{font-size:12.5px;color:var(--s-fg2);margin-right:4px}
.gx-chip{height:34px;padding:0 14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px rgba(207,224,255,.4);background:none;color:var(--s-fg);font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;cursor:pointer}
.gx-chip[aria-pressed="true"]{background:#FFFFFF;color:#0B1F4B;box-shadow:none}
.lt .gx-chip{box-shadow:inset 0 0 0 1px rgba(11,31,75,.3)}
.lt .gx-chip[aria-pressed="true"]{background:#0B1F4B;color:#FFFFFF}
.hx-replay{margin-left:auto;height:34px;padding:0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1.5px currentColor;background:none;color:var(--s-fg);font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;cursor:pointer}
.hx-note{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:16px;font-size:12.5px;color:var(--s-fg2)}
.hx-note > span{display:inline-flex;align-items:center;gap:7px}
.hx-note .d{width:11px;height:7px;border-radius:50%;border:1.4px solid rgba(207,224,255,.75)}
.hx-note .d.on{background:#fff;border-color:#fff}
.hx-note b{color:var(--s-fg)}
/* 動き：画面に入ったら一度だけ。最後は静止した完成図 */
.hx.pre .hx-a1,.hx.pre .hx-a3t,.hx.pre .hx-el{opacity:0}
.hx.pre .hx-ln{stroke-dashoffset:1}
.hx.pre .hx-tg{opacity:0}
.hx.play .hx-a1{animation:hx-glow 1.3s ease var(--d) both}
.hx.play .hx-el{animation:hx-in .5s ease var(--d) both}
.hx.play .hx-mg,.hx.play .hx-tl{animation:hx-draw .9s cubic-bezier(.5,0,.2,1) var(--d) both}
.hx.play .hx-fx{animation:hx-flow 1s cubic-bezier(.4,0,.2,1) var(--d) both}
.hx.play .hx-a3t{animation:hx-pop .55s cubic-bezier(.3,1.4,.5,1) var(--d) both;transform-box:fill-box;transform-origin:center}
.hx.play .hx-tg{animation:hx-fade .5s ease var(--d) both}
@keyframes hx-glow{0%{opacity:0}30%{opacity:1;filter:drop-shadow(0 0 0 rgba(255,138,61,0))}55%{filter:drop-shadow(0 0 12px rgba(255,138,61,.9))}100%{opacity:1;filter:none}}
@keyframes hx-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes hx-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hx-flow{0%{opacity:1;stroke-dashoffset:.06}90%{opacity:1}100%{opacity:0;stroke-dashoffset:-1}}
@keyframes hx-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes hx-fade{from{opacity:0}to{opacity:1}}
@media (max-width:760px){
 .hx-d-only{display:none}
 .hx-m-only{display:block}
 .hx-m > text{font-size:13px}
 .hx-g2{font-size:13px}.hx-g3{font-size:10.5px}
 .hx-tn{font-size:13px}
 .hx-replay{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
 .hx.play .hx-a1,.hx.play .hx-el,.hx.play .hx-a3t,.hx.play .hx-tg{animation:hx-fade .01s linear var(--d) both}
 .hx.play .hx-mg,.hx.play .hx-tl{animation:none;stroke-dashoffset:0;opacity:0;animation:hx-fade .01s linear var(--d) both}
 .hx.play .hx-fx{animation:none;opacity:0}
 .hx.pre .hx-ln{stroke-dashoffset:0}
 .hx-step,.hx [data-grades]{transition:none}
}
/* SERVICE コア業務支援 */
.pk{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px;counter-reset:pk}
.pk > li{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 24px;border-radius:20px;background:var(--s-card);box-shadow:inset 0 0 0 1px rgba(11,31,75,.08)}
.pk > li + li::before{content:"";position:absolute;left:-14px;top:50%;width:10px;height:10px;border-right:2px solid var(--s-acc);border-bottom:2px solid var(--s-acc);transform:translate(-50%,-50%) rotate(-45deg)}
.pk .n{font:700 12px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-acc);letter-spacing:.08em}
.pk .pict.lg{color:var(--s-acc)}
.pk h3{font:700 20px/1.4 "Zen Kaku Gothic New",sans-serif}
.pk h3 small{display:block;font:700 12.5px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);margin-top:4px}
.pk p{font-size:14px;line-height:1.8;color:var(--s-fg2)}
.pk .pr{margin-top:auto;padding-top:14px;border-top:1px solid var(--s-rule);font-size:13px;line-height:1.7;color:var(--s-fg)}
.pk .pr b{font:700 19px/1.3 "Zen Kaku Gothic New",sans-serif;font-variant-numeric:tabular-nums}
.pk .pr b.jp{font-size:15px}
.pk .tlink{align-self:flex-start;font-size:13.5px;color:var(--s-fg)}
.pk .tlink::after{transform:scaleX(1);opacity:.4}
.pk-note{margin-top:16px;font-size:12.5px;color:var(--s-fg2)}
@media (max-width:960px){
 .pk{grid-template-columns:1fr;gap:22px;margin-top:36px}
 .pk > li + li::before{left:50%;top:-12px;transform:translate(-50%,-50%) rotate(45deg)}
}

.sub2{margin:-24px 0 36px;font:700 15px/1.8 "Zen Kaku Gothic New",sans-serif;color:#FFFFFF;letter-spacing:.04em;text-shadow:0 1px 16px rgba(8,24,61,.8)}
.pg-technology .el-hint{margin-top:18px}
.pg-technology .hx-ctl{margin-top:40px}
.pg-index-study .sec{padding:64px 0}
.sec.cmp{padding:44px 0!important}
.cmp .nl li{padding:16px 0}
.cmp-h{margin-bottom:20px!important}
.cmp-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin-bottom:28px}
.cmp-h h2{font:700 clamp(22px,2.4vw,28px)/1.4 "Zen Kaku Gothic New",sans-serif}
.cmp-h .go-l{margin:0 0 0 auto}
.st-study .lead p.em{font-weight:700;opacity:1}
.st-study .lead .go-l{margin-top:24px}
/* ① Grade の階段 */
.gx{margin-top:52px}
.gx-h{font:700 clamp(22px,2.4vw,30px)/1.45 "Zen Kaku Gothic New",sans-serif}
.gx-p{margin-top:12px;max-width:46em;font-size:15px;line-height:1.9;color:var(--s-fg2)}
.gx-fig{display:grid;grid-template-columns:64px 250px minmax(0,1fr);column-gap:12px;margin-top:22px;align-items:start}
.gx-st{display:block;margin-top:28px;overflow:visible}
.gx-step{cursor:pointer;transition:filter .3s}
.gx-step:not(.on){opacity:.7}
.gx-step.sel{opacity:1;filter:brightness(1.3) drop-shadow(0 0 10px rgba(141,178,255,.75))}
.lv{fill:none;stroke:rgba(207,224,255,.6);stroke-width:1.4}
.lv-on{fill:#FFFFFF;stroke:#FFFFFF}
.gx-mk circle{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-dasharray:3 3}
.gx-mk path{fill:none;stroke:#FFFFFF;stroke-width:1.2}
.gx-m1{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.gx-m2{font:500 12px/1 "Zen Kaku Gothic New",sans-serif;fill:#C3D1EE}
.gx-ar{margin-top:28px;height:384px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#8DB2FF;font:700 11.5px/1.2 "Zen Kaku Gothic New",sans-serif}
.gx-ars{flex:1;display:flex;gap:10px;min-height:0}
.gx-dn,.gx-up{display:flex;flex-direction:column;align-items:center;gap:6px}
.gx-up{flex-direction:column-reverse}
.gx-ars i{flex:1;width:2px;background:currentColor;position:relative;border-radius:2px}
.gx-dn i::after,.gx-up i::after{content:"";position:absolute;left:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor}
.gx-dn i::after{bottom:-1px;transform:translateX(-50%) rotate(45deg)}
.gx-up i::after{top:-1px;transform:translateX(-50%) rotate(-135deg)}
.gx-ars b{writing-mode:vertical-rl;letter-spacing:.2em;font-size:12px}
.gx-up{color:#C3D1EE}
.gx-th{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:16px;height:28px;align-items:end;padding:0 18px 8px;font:700 11.5px/1.3 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);letter-spacing:.04em}
.gx-rows{list-style:none;padding:0}
.gx-r{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:center;height:88px;margin-bottom:8px;padding:0 18px;border-radius:16px;background:var(--s-card);border:1px solid var(--s-card-b);transition:border-color .3s,background-color .3s}
.gx-r.sel{border-color:#8DB2FF;background:rgba(141,178,255,.14)}
.gx-b{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 0;border:0;background:none;color:var(--s-fg);font:inherit;text-align:left;cursor:pointer}
.gx-b small{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.14em;color:#8DB2FF}
.gx-b b{font:700 16px/1.4 "Zen Kaku Gothic New",sans-serif;text-decoration:underline;text-decoration-color:rgba(141,178,255,.5);text-underline-offset:5px}
.gx-b b em{display:block;font:500 11.5px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);text-decoration:none}
.gx-b[aria-pressed="true"] b{text-decoration-color:#FFFFFF}
.gx-lv{display:none}
.gx-r[data-g="1"] .gx-lv{display:flex;align-items:center;gap:5px;margin-top:2px}
.gx-lv i{width:10px;height:6px;border-radius:50%;border:1.3px solid rgba(207,224,255,.7)}
.gx-lv i.on{background:#fff;border-color:#fff}
.gx-stop{margin-left:6px;font-size:11.5px;font-weight:700;color:#fff;padding:3px 8px;border-radius:999px;border:1px dashed #fff}
.gx-w{font-size:14px;line-height:1.6;color:var(--s-fg2)}
.gx-e{font:700 14.5px/1.6 "Zen Kaku Gothic New",sans-serif}
.gx-oc{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gx-oc li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;background:#EAF1FF;color:#0B1F4B;font-size:12.5px;font-weight:700;white-space:nowrap}
.gx-oc .pict{width:18px;height:18px;color:#2F64D8}
.gx-lg{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-left:326px;font-size:12.5px;color:var(--s-fg2)}
.gx-lg > span{display:inline-flex;align-items:center;gap:7px}
.gx-lg .d{width:11px;height:7px;border-radius:50%;border:1.4px solid rgba(207,224,255,.75)}
.gx-lg .d.on{background:#fff;border-color:#fff}
.gx-def{color:var(--s-fg);font-weight:700}
.gx-case{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;padding:12px 18px;border-radius:14px;border:1px dashed rgba(207,224,255,.3)}
.gx-ck{font:700 13px/1.4 "Zen Kaku Gothic New",sans-serif}
.gx-case ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.gx-case li{position:relative;font-size:13.5px}
.gx-case li + li::before{content:"";position:absolute;left:-15px;top:50%;width:6px;height:6px;border-right:1.5px solid #8DB2FF;border-bottom:1.5px solid #8DB2FF;transform:translateY(-60%) rotate(-45deg)}
.gx-case small{font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.1em;color:#8DB2FF;margin-right:6px}
.gx-hint{margin-left:auto;font-size:13px;color:var(--s-fg2)}
/* ② 技術の表の絞り込み・組み合わせた道具 */
.gx-state{display:flex;align-items:center;gap:14px;margin:24px 0 0;padding:10px 12px 10px 18px;border-radius:12px;background:rgba(141,178,255,.14);font-size:14px;font-weight:700}
.gx-state[hidden]{display:none}
.gx-clear{margin-left:auto;height:34px;padding:0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1.5px currentColor;background:none;color:inherit;font:700 13px/1 "Zen Kaku Gothic New",sans-serif;cursor:pointer}
#tech-grid [data-grades]{transition:opacity .3s}
#tech-grid.filtering [data-grades].dim{opacity:.35}
.cps{margin-top:20px}
.cps-h{font:700 17px/1.5 "Zen Kaku Gothic New",sans-serif}
.cps-p{font-size:13px;color:var(--fg2);margin:2px 0 8px}
.cps-g{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cp{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 16px 16px;border-radius:14px;border:1.5px solid #FFFFFF;background:rgba(255,255,255,.05);color:var(--fg);text-decoration:none;transition:background-color .2s}
a.cp:hover{background:rgba(255,255,255,.1)}
.cp-fl{width:14px;height:20px}
.cp-n{font:700 16px/1.4 "Zen Kaku Gothic New",sans-serif}
.cp-d{font-size:12.5px;line-height:1.7;color:var(--fg2)}
.cp-fk{margin-top:auto;padding-top:6px;font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;color:var(--fg2);letter-spacing:.04em}
.cp-f{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font:700 12px/1 "Zen Kaku Gothic New",sans-serif;color:var(--fg2)}
.cp-f .fx{font:800 13px/1 Inter,sans-serif;font-style:normal;padding:5px 7px;border-radius:6px;background:var(--el-bg);color:var(--el-fg)}
.cp-f .fx.fam-io{box-shadow:inset 0 0 0 1px rgba(207,224,255,.55)}
/* ③ 業務分掌データマップツール */
.tl{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:center}
.tl-k{font:700 14px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-acc);letter-spacing:.04em}
.tl-h{font:700 clamp(24px,2.8vw,34px)/1.45 "Zen Kaku Gothic New",sans-serif;margin-top:10px}
.tl-s{list-style:none;padding:0;margin-top:20px;display:grid;gap:8px}
.tl-s li{background:var(--s-card);border-radius:14px;padding:10px 18px;box-shadow:inset 0 0 0 1px rgba(11,31,75,.08)}
.tl-s b{font:700 15px/1.6 "Zen Kaku Gothic New",sans-serif}
.tl-s small{display:block;font-size:12.5px;color:var(--s-fg2);margin-top:2px}
.tl-t .go-l{margin-top:22px}
.tl-out{background:#FFFFFF;border-radius:20px;padding:20px 22px 22px;box-shadow:0 14px 34px -24px rgba(11,31,75,.5),inset 0 0 0 1px rgba(11,31,75,.08)}
.tl-out figcaption{display:flex;justify-content:space-between;align-items:baseline;font:700 13px/1.4 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;margin-bottom:14px}
.tl-out figcaption small{font:500 12px/1.4 "Zen Kaku Gothic New",sans-serif;color:#3D5487}
.tl-grid{display:grid;grid-template-columns:36px 1fr;gap:10px}
.tl-ar{display:flex;flex-direction:column;align-items:center;gap:6px;color:#2F64D8;font:700 11px/1 "Zen Kaku Gothic New",sans-serif}
.tl-ar i{flex:1;width:2px;background:currentColor;position:relative}
.tl-ar i::after{content:"";position:absolute;left:50%;bottom:-1px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateX(-50%) rotate(45deg)}
.tl-ar b{writing-mode:vertical-rl;letter-spacing:.3em}
.tl-grid ol{list-style:none;padding:0;display:grid;gap:8px}
.tl-grid li{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#F3F7FF}
.tl-g{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#2F64D8}
.tl-c{display:flex;flex-wrap:wrap;gap:6px}
.tl-c span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;color:#3D5487;box-shadow:inset 0 0 0 1px rgba(11,31,75,.18);background:#fff}
.tl-c span.on{background:#2F64D8;color:#FFFFFF;box-shadow:none}

/* 技術の表 */
.el-hint{margin-top:24px;font-size:13px;color:var(--s-fg2)}
.ptable{display:grid;grid-template-columns:4fr 3fr 3fr 2fr 1fr;gap:10px;margin:14px -32px 0}
.fam-h{display:flex;align-items:baseline;gap:8px;font:700 13px/1.3 "Zen Kaku Gothic New",sans-serif;margin-bottom:10px;white-space:nowrap}
.fam-h i{align-self:center;width:12px;height:12px;border-radius:3px;background:var(--el-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);flex:none}
.fam-h small{font-size:10px;letter-spacing:.08em;color:var(--s-fg2);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.fam-g{list-style:none;padding:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column;gap:5px}
.fam-ga{--el-bg:#2A56B8;--el-fg:#FFFFFF;--el-fg2:#DCE6FA}
.fam-ml{--el-bg:#1D6573;--el-fg:#FFFFFF;--el-fg2:#D5EEF1}
.fam-db{--el-bg:#BFE3F5;--el-fg:#0B1F4B;--el-fg2:#24406E}
.fam-gv{--el-bg:#4D6185;--el-fg:#FFFFFF;--el-fg2:#E2E8F3}
.fam-io{--el-bg:#0E2A5E;--el-fg:#FFFFFF;--el-fg2:#C9D6EF}
.fam-g li{scroll-margin-top:120px}
.fam-g li:target .el-f,.fam-g li:target .el-b{box-shadow:0 0 0 3px #FF8A3D,inset 0 0 0 1px rgba(255,255,255,.35)}
.el{display:block;width:100%;height:118px;padding:0;border:0;background:none;cursor:pointer;perspective:700px;font:inherit;color:var(--el-fg);text-align:left}
.el-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.7,.2,1)}
.el[aria-pressed="true"] .el-in{transform:rotateY(180deg)}
.el-f,.el-b{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:10px;background:var(--el-bg);padding:8px 7px 7px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.fam-io .el-f,.fam-io .el-b{box-shadow:inset 0 0 0 1px rgba(141,178,255,.45)}
.el-b{transform:rotateY(180deg);gap:6px;overflow:hidden}
.el-g{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;color:var(--el-fg2);letter-spacing:.02em}
.el-s{font:800 30px/1 Inter,sans-serif;letter-spacing:-.02em;margin:8px 0 6px}
.el-n{font:700 10px/1.35 "Zen Kaku Gothic New",sans-serif;color:var(--el-fg);word-break:keep-all;overflow-wrap:anywhere}
.el-o{margin-top:auto;align-self:flex-start;font:700 10px/1 "Zen Kaku Gothic New",sans-serif;padding:4px 7px;border-radius:999px;background:var(--el-fg);color:var(--el-bg)}
.fam-db .el-o{background:#0B1F4B;color:#FFFFFF}
.el-bn{font:700 10px/1.3 "Zen Kaku Gothic New",sans-serif;color:var(--el-fg2)}
.el-x{font:500 10px/1.45 "Zen Kaku Gothic New",sans-serif;color:var(--el-fg)}
.el:hover .el-f{box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.fam-db .el:hover .el-f{box-shadow:inset 0 0 0 2px #0B1F4B}
/* 05 扉（1列） */
.drow{background:var(--bg);padding:22px 0;border-top:1px solid var(--rule)}
.drow ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.drow a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--card-b);text-decoration:none;color:var(--fg);transition:border-color .2s}
.drow a:hover{border-color:rgba(141,178,255,.6)}
.drow .pict{width:28px;height:28px;color:#8DB2FF;grid-row:1/3}
.drow b{font:700 16px/1.3 "Zen Kaku Gothic New",sans-serif}
.drow span{font-size:12px;line-height:1.6;color:var(--fg2)}
@media (max-width:1100px){
 .ptable{grid-template-columns:1fr 1fr 1fr;gap:28px 14px;margin:48px 0 0}
 .fam-ga{grid-column:1/-1}
 .gx-fig{grid-template-columns:48px 210px minmax(0,1fr)}
 .gx-st{width:210px}
 .gx-r,.gx-th{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)}
 .gx-lg{padding-left:0}
}
@media (max-width:960px){
 .pg-index-study .sec{padding:72px 0}
 .gx{margin-top:56px;order:7}
 .gx-fig{grid-template-columns:34px minmax(0,1fr);column-gap:10px}
 .gx-st,.gx-th{display:none}
 .el-hint{margin-top:24px}
 .gx-ar{margin-top:0;height:auto;align-self:stretch;font-size:10.5px}
 .gx-r{display:grid;grid-template-columns:1fr;height:auto;gap:6px;padding:14px 16px;margin-bottom:8px}
 .gx-lv{display:flex;align-items:center;gap:5px;margin-top:4px}
 .gx-lv i{width:10px;height:6px;border-radius:50%;border:1.3px solid rgba(207,224,255,.7)}
 .gx-lv i.on{background:#fff;border-color:#fff}
 .gx-stop{margin-left:6px;font-size:11.5px;font-weight:700;color:#fff;padding:3px 8px;border-radius:999px;border:1px dashed #fff}
 .gx-w::before{content:"仕事の例　";font-size:11.5px}
 .gx-e::before{content:"期待　";font-size:11.5px;font-weight:500;color:var(--s-fg2)}
 .ptable{display:block;margin:36px 0 0}
 .fam{margin-top:22px}
 .fam-g{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row}
 .cps-g{grid-template-columns:1fr 1fr}
 .tl{grid-template-columns:1fr;gap:36px}
 .cmp-h .go-l{margin:0}
 .drow ul{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
 .cps-g{grid-template-columns:1fr}
 .drow ul{grid-template-columns:1fr}
 .el{height:108px}
 .el-x{font-size:11px}
 .tl-grid li{grid-template-columns:1fr;gap:6px}
}
@media (prefers-reduced-motion:reduce){
 .el-in{transition:none}
 .el[aria-pressed="true"] .el-in{transform:none}
 .el-b{transform:none;opacity:0}
 .el[aria-pressed="true"] .el-b{opacity:1}
 .el[aria-pressed="true"] .el-f{opacity:0}
 #tech-grid [data-grades],.gx-step,.gx-r{transition:none}
}

.gx-b.gx-chip{flex-direction:row;align-items:center;gap:.45em;padding:0 14px;font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif}
.gx-b.gx-chip b{font:inherit;text-decoration:none;color:inherit}
.gx-b.gx-chip[aria-pressed="true"]{background:#FFFFFF;color:#0B1F4B;box-shadow:none}
.lt .gx-b.gx-chip[aria-pressed="true"]{background:#0B1F4B;color:#FFFFFF}
.hx-gl text{paint-order:stroke;stroke:#0B1F4B;stroke-width:5px;stroke-linejoin:round}
.hx-fx2{stroke:#8DB2FF}
.hx-tg{stroke:rgba(141,178,255,.8)}
.hx-vm .hx-tf{font-size:9.5px}.hx-vm .hx-tn{font-size:12.5px}
.hx-vm .hx-es{font-size:18px}.hx-vm .hx-en{font-size:9px}
.hx-vm .hx-g2{font-size:12.5px}.hx-vm .hx-g3{font-size:10px}.hx-vm .hx-hd{font-size:12px}
/* How it works：白地 */
.how-study{--s-bg:#FFFFFF;border-top:0}
.how-study .hx-hd{fill:#2A56B8}
.how-study .hx-m > rect{fill:#FFFFFF}
.how-study .hx-m > text{fill:#0B1F4B}
.how-study .hx-mp{color:#F0573F}
.how-study .hx-mg{stroke:rgba(11,31,75,.5)}
.how-study .hx-tl{stroke:rgba(11,31,75,.28)}
.how-study .hx-tg{stroke:rgba(11,31,75,.6)}
.how-study .hx-fx,.how-study .hx-fx2{stroke:#FF6A3D}
.how-study .hx-g1{fill:#2A56B8}
.how-study .hx-g2{fill:#0B1F4B}
.how-study .hx-g3{fill:#46587C}
.how-study .hx-gl text{stroke:#FFFFFF}
.how-study .hx-stop circle{stroke:#FFFFFF}
.how-study .hx-st1{fill:#0B1F4B}
.how-study .hx-arr path{stroke:#2A56B8}.how-study .hx-arr text{fill:#2A56B8}
.how-study .hx-t rect{fill:#0E2A5E;stroke:none}
.how-study .hx-el rect[fill="#BFE3F5"]{stroke:rgba(11,31,75,.18)}
.how-study .hx-step.sel{filter:brightness(1.12) drop-shadow(0 0 10px rgba(42,86,184,.55))}
.how-study .hx-note .d{border-color:rgba(11,31,75,.55)}
.how-study .hx-note .d.on{background:#2A56B8;border-color:#2A56B8}
.how-study .gx-state{background:rgba(42,86,184,.1)}
.how-study + .pk-sec{border-top:0}
.how-study .hx-step:not(.on){opacity:.92}
.pk-way{margin-top:28px;padding:24px 26px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--s-rule)}
.pk-way h3{font:700 15px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.pk-way ol{list-style:none;padding:0;margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;counter-reset:way}
.pk-way li{counter-increment:way;align-content:start;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:6px}
.pk-way li::before{content:counter(way);grid-row:1/3;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--s-acc);color:var(--s-acc);font:700 12px/24px Inter,sans-serif;text-align:center}
.pk-way b{font:700 15px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.pk-way span{font-size:13px;line-height:1.75;color:var(--s-fg2)}
@media (max-width:960px){.pk-way ol{grid-template-columns:1fr}.pk-way{padding:20px 18px}}
.hx-go{margin-top:28px}
.how-study .tlink{color:#0B1F4B}
.cta-more{margin-top:18px}
.cta-more .tlink{font-size:13.5px;color:#DCE6FA}
/* 第3稿：How（お金→業務分掌→運用のイメージ）と Where（止まる） */
.hx-lk .hx-hit{fill:transparent}
.hx-lk .hx-hd{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.hx-lk:hover .hx-hd{fill:#F0573F}
.hx-lk:focus-visible{outline:2px solid #2A56B8;outline-offset:3px;border-radius:6px}
.hx-mlk:hover .hx-m > rect{stroke-width:2.6}
.hx-m > rect{stroke:#F0573F;stroke-width:1.6}
.hx-sub{font:500 11.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#46587C}
.hx-ar{fill:none;stroke:#2A56B8;stroke-width:2}
.hx-arh{fill:none;stroke:#2A56B8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hx-wf{fill:#FFFFFF;stroke:#0B1F4B;stroke-width:1.6}
.hx-wb{stroke:rgba(11,31,75,.18);fill:none}
.hx-wd{fill:rgba(11,31,75,.22)}
.hx-wt{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#46587C}
.hx-wai{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.hx-pill rect{fill:#EAF1FF;stroke:rgba(42,86,184,.35)}
.hx-pl{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;fill:#2A56B8;letter-spacing:.04em}
.hx-pv{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.hx-el rect[fill="#BFE3F5"]{stroke:rgba(11,31,75,.18)}
.hx-vm .hx-sub{font-size:11px}.hx-vm .hx-pv{font-size:12px}
.hx.pre .hx-ui,.hx.pre .hx-arh{opacity:0}
.hx.play .hx-ar{animation:hx-draw .8s cubic-bezier(.5,0,.2,1) var(--d) both}
.hx.play .hx-arh{animation:hx-fade .3s ease var(--d) both}
.hx.play .hx-ui{animation:hx-pop .45s cubic-bezier(.3,1.4,.5,1) var(--d) both;transform-box:fill-box;transform-origin:center}
.ws{margin-top:72px}
.ws-svg{display:block;width:100%;height:auto;overflow:visible}
.ws-ln{fill:none;stroke:rgba(255,138,61,.75);stroke-width:1.8;stroke-dasharray:1;stroke-dashoffset:0}
.ws-fx{fill:none;stroke:#FFD2B8;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:.08 2;stroke-dashoffset:.08;opacity:0}
.ws-up{opacity:.38}
.ws-s1{filter:brightness(1.12) drop-shadow(0 0 14px rgba(255,138,61,.45))}
.ws-try{fill:none;stroke:#FFFFFF;stroke-width:1.6;stroke-dasharray:4 4}
.ws-x{fill:none;stroke:#FF6A3D;stroke-width:2.6;stroke-linecap:round}
.ws-tag rect{fill:#0B1F4B;stroke:#FFFFFF;stroke-width:1.2;stroke-dasharray:3 3}
.ws-tag text{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.ws-src text{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#FFFFFF}
.ws-hd{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;fill:rgba(195,209,238,.5);letter-spacing:.06em}
.ws-m rect{fill:rgba(255,255,255,.03);stroke:rgba(195,209,238,.3);stroke-width:1.4;stroke-dasharray:4 4}
.ws-m text{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:rgba(195,209,238,.42)}
.ws-m .hx-mp{color:rgba(195,209,238,.38)}
.ws-vm .ws-m text{font-size:13px}.ws-vm .hx-g2{font-size:12.5px}
.ws.pre .ws-src,.ws.pre .ws-try,.ws.pre .ws-x,.ws.pre .ws-tag{opacity:0}
.ws.pre .ws-ln{stroke-dashoffset:1}
.ws.pre .ws-s1{filter:brightness(.7)}
.ws.play .ws-src{animation:hx-glow 1s ease var(--d) both}
.ws.play .ws-ln{animation:hx-draw 1s cubic-bezier(.5,0,.2,1) var(--d) both}
.ws.play .ws-fx{animation:hx-flow 1s cubic-bezier(.4,0,.2,1) var(--d) both}
.ws.play .ws-s1{animation:ws-lit .7s ease 1.4s both}
.ws.play .ws-try{animation:hx-fade .6s ease var(--d) both}
.ws.play .ws-x,.ws.play .ws-tag{animation:hx-pop .45s cubic-bezier(.3,1.4,.5,1) var(--d) both;transform-box:fill-box;transform-origin:center}
@keyframes ws-lit{from{filter:brightness(.7)}to{filter:brightness(1.12) drop-shadow(0 0 14px rgba(255,138,61,.45))}}
@media (prefers-reduced-motion:reduce){
 .hx.play .hx-ar{animation:hx-fade .01s linear var(--d) both;stroke-dashoffset:0}
 .hx.play .hx-ui,.hx.play .hx-arh{animation:hx-fade .01s linear var(--d) both}
 .ws.pre .ws-src,.ws.pre .ws-try,.ws.pre .ws-x,.ws.pre .ws-tag{opacity:1}
 .ws.pre .ws-ln{stroke-dashoffset:0}
 .ws.pre .ws-s1{filter:brightness(1.12) drop-shadow(0 0 14px rgba(255,138,61,.45))}
 .ws.play *{animation:none!important}
}
.ws-gl:not([data-g="1"]){opacity:.5}
.hx-vd .hx-en{font-size:9.5px}
.hx-fl{fill:none;stroke:#2A56B8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hx-wl{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;fill:#46587C}
/* 文＋図の2セット（シンプル版）。色は青＋炎色（お金と技術）＋灰色 */
.sf{--fw-bg:#FFFFFF;--fw-tx:#0B1F4B;--fw-sub:#46587C;--fw-ac:#2A56B8;--fw-on:#FFFFFF;--fw-mon:#F0573F;--fw-gr:rgba(11,31,75,.32)}
.dk .sf{--fw-bg:#0E2A5E;--fw-tx:#FFFFFF;--fw-sub:#C3D1EE;--fw-ac:#8DB2FF;--fw-on:#0B1F4B;--fw-mon:#FF8A3D;--fw-gr:rgba(195,209,238,.38)}
.sets{margin-top:56px}
.set{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.set + .set{margin-top:64px}
.set-p{font-size:17px;line-height:1.95;color:var(--s-fg)}
.set-f{grid-column:2}
.sf-svg{display:block;width:100%;height:auto;overflow:visible}
.sf-st{fill:none;stroke:var(--fw-ac);stroke-width:1.2;opacity:.5}
.sf-hi{fill:var(--fw-ac);stroke:var(--fw-ac);stroke-width:1.2}
.sf-lb{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:var(--fw-tx)}
.sf-lbd{fill:var(--fw-sub);opacity:.75}
.sf-ln{fill:none;stroke:var(--fw-ac);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:0}
.sf-ah{fill:none;stroke:var(--fw-ac);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sf-lg{fill:none;stroke:var(--fw-gr);stroke-width:1.4;stroke-dasharray:4 4}
.sf-ahg{fill:none;stroke:var(--fw-gr);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sf-card{fill:var(--fw-bg);stroke:var(--fw-ac);stroke-width:1.2}
.sf-ic *{fill:none;stroke:var(--fw-ac);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sf-cl{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:var(--fw-tx)}
.sf-cs{font:500 11px/1 "Zen Kaku Gothic New",sans-serif;fill:var(--fw-sub)}
.sf-br{fill:none;stroke:var(--fw-mon);stroke-width:1.6}
.sf-bl{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:var(--fw-mon)}
.sf-svg text{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700}
.sf-mon rect,.sf-mon0 rect,.sf-tech rect{fill:var(--fw-bg);stroke:var(--fw-mon);stroke-width:1.4}
.sf-tech rect{stroke:var(--fw-ac);stroke-width:1.2}
.sf-mon text,.sf-tech text,.sf-lit text,.sf-lit0 text,.sf-off text,.sf-mon0g text{font-size:13.5px;fill:var(--fw-tx)}
.sf-mon0 text{font-size:12.5px;fill:var(--fw-tx)}
.sf-fl path{fill:var(--fw-mon)}
.sf-nc{fill:var(--fw-bg);stroke:var(--fw-ac);stroke-width:1.4}
.sf-nl{font-size:16px;fill:var(--fw-tx)}
.sf-lk .sf-nl{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.sf-lk:hover .sf-nc{stroke-width:2.4}
.sf-lk:focus-visible{outline:2px solid #2A56B8;outline-offset:3px;border-radius:8px}
.sf-lit rect{fill:var(--fw-ac);stroke:var(--fw-ac)}
.sf-lit text{fill:var(--fw-on)}
.sf-lit0 rect{fill:var(--s-bg,#0B1F4B);stroke:var(--fw-ac);stroke-width:1.2;opacity:.5}
.sf-off rect,.sf-mon0g rect{fill:var(--s-bg,#0B1F4B);stroke:var(--fw-gr);stroke-width:1.2}
.sf-mon0g rect{stroke-dasharray:4 4}
.sf-off text,.sf-mon0g text{fill:var(--fw-gr)}
.sf-x path{fill:none;stroke:var(--fw-mon);stroke-width:2.2;stroke-linecap:round}
.sf-xl{font-size:12px;fill:var(--fw-tx)}
.sf-v1m .sf-lb,.sf-v0m .sf-xl{font-size:12.5px}.sf-v1m .sf-cl{font-size:11.5px}.sf-v1m .sf-mon text{font-size:12px}
.sf-v2mh .sf-nl,.sf-v2ma .sf-nl{font-size:18px}
/* 動き：点灯の順だけ（一度だけ） */
.sf.pre .sf-ln{stroke-dashoffset:1}
.sf.pre .sf-hi,.sf.pre .sf-lit,.sf.pre .sf-ah,.sf.pre .sf-pop{opacity:0}
.sf.pre .sf-a{opacity:.25}
.sf.play .sf-ln{animation:hx-draw 1.2s linear .1s both}
.sf.play .sf-ln0{animation-duration:.5s}
.sf.play .sf-a{animation:sf-on .35s ease var(--d) both}
.sf.play .sf-hi,.sf.play .sf-lit{animation-name:hx-fade}
.sf.play .sf-ah{animation:hx-fade .25s ease var(--d) both}
.sf.play .sf-pop{animation:hx-pop .35s cubic-bezier(.3,1.4,.5,1) var(--d) both;transform-box:fill-box;transform-origin:center}
@keyframes sf-on{from{opacity:.25}to{opacity:1}}
@media (max-width:960px){
 .set{grid-template-columns:1fr;gap:20px}
 .set-f{grid-column:auto}
 .set + .set{margin-top:48px}
 .set-p{font-size:16px}
}

/* SERVICE 案A：段階 × 番号つきの入り口（モンスターラボ型） */
.pkl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin-top:44px}
.pkl h3{font:700 13px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-acc);letter-spacing:.08em}
.pkl h3 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}.pkl h3 a:hover{border-color:currentColor}
.pkl-fee{margin-top:6px;font-size:12.5px;line-height:1.7;color:var(--s-fg2);min-height:2.6em}
.pkl-fee b{font:700 15px/1.3 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);font-variant-numeric:tabular-nums}
.pkl-fee b.jp{font-size:13.5px}
.pkl ul{list-style:none;padding:0;margin-top:10px;border-top:1px solid var(--s-rule)}
.pkl li a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;padding:16px 0;border-bottom:1px solid var(--s-rule);color:var(--s-fg);text-decoration:none;font:700 17px/1.4 "Zen Kaku Gothic New",sans-serif}
.pkl li .n{font:700 12px/1 Inter,sans-serif;color:var(--s-acc)}
.pkl li .ar{width:9px;height:9px;border-right:1.6px solid var(--s-acc);border-bottom:1.6px solid var(--s-acc);transform:rotate(-45deg);transition:transform .2s}
.pkl li a:hover .ar{transform:translateX(4px) rotate(-45deg)}
.pkl li a:focus-visible{outline:2px solid var(--s-acc);outline-offset:2px;border-radius:4px}
@media (max-width:760px){.pkl{grid-template-columns:1fr;gap:22px;margin-top:32px}.pkl-fee{min-height:0}.pkl li a{font-size:16px;padding:14px 0}}

/* 図2：曲線＋点＋英日ラベル */
.sf-cv{stroke-width:1.3}
.sf-dot{fill:var(--fw-bg);stroke:var(--fw-ac);stroke-width:1.6}
.sf-ndm .sf-dot{fill:var(--fw-mon);stroke:var(--fw-mon)}
.sf-ring{fill:none;stroke:var(--fw-mon);stroke-width:1;opacity:.45}
.sf-en{font:600 10px/1 Inter,"Zen Kaku Gothic New",sans-serif;letter-spacing:.1em;text-transform:uppercase;fill:var(--fw-sub)}
.sf-ja{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:var(--fw-tx)}
.sf-v2mh .sf-ja,.sf-v2ma .sf-ja{font-size:15px}
.sf-lk .sf-ja{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.sf-lk:hover .sf-dot{stroke-width:2.6}
.sf.play .sf-ring{animation:sf-ring 1.2s ease-out var(--d) both}
@keyframes sf-ring{0%{transform:scale(.4);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.sf-ring{transform-box:fill-box;transform-origin:center}

/* Why Iroribi：問題提起（h2＋図0）→ 答え（.why2） */
/* 2026-11-09：ラベル → 見出し → リード を左揃えで縦に（下山さん「Serviceがあって、コア業務支援があって、どちらも左揃え」） */
.sg-l .lab{grid-column:1/-1;grid-row:1}
.sg-l .h2{grid-column:1/-1;grid-row:2;margin-top:28px;max-width:24em}
.sg-l .lead{grid-column:1/-1;grid-row:3;margin-top:24px;max-width:38em}
.sg-l .pkl{margin-top:48px}
/* 2026-11-09：左に文、右に図 の2段（下山さん） */
.wy{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;align-items:center;margin-top:64px}
.wy1{margin-top:40px}
.wy2{margin-top:96px}
.wy-t p{font-size:16.5px;line-height:1.95;color:var(--s-fg)}
.wy-t .why2-h{font:700 clamp(20px,1.95vw,25px)/1.5 "Zen Kaku Gothic New",sans-serif;letter-spacing:.01em}
.wy-t .why2-p{margin-top:18px}
.wy-t .hx-go{margin-top:22px}
.wy-f{width:100%;min-width:0}
@media (max-width:960px){.wy{display:block;margin-top:56px}.wy2{margin-top:72px}.wy-f{margin-top:28px}.wy-t .why2-h{font-size:19px;letter-spacing:0}}
.why2{margin-top:96px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.why2-h{grid-column:6/13;font:700 clamp(24px,3vw,38px)/1.45 "Zen Kaku Gothic New",sans-serif;letter-spacing:.01em}
.why2-p{grid-column:6/13;margin-top:24px;max-width:38em;font-size:16.5px;line-height:1.95;color:var(--s-fg)}
.why2 .sets,.why2 .hx-go{grid-column:1/-1}
@media (max-width:960px){.why2{display:block;margin-top:72px}.why2-h{font-size:24px}}
/* 図0 */
.sf-dotl{fill:var(--fw-ac)}

/* サービス：3段（2026-11-08 再構成） */
.st3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin-top:56px}
.st3-g{padding:28px 0 8px;border-top:1px solid var(--s-rule);scroll-margin-top:96px}
.st3-n{display:flex;gap:10px;align-items:baseline;font:600 11px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--s-acc)}
.st3-n .no{font-weight:700;font-size:13px}
.st3 h3{margin-top:12px;font:700 24px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.st3-w{margin-top:14px;font-size:14.5px;line-height:1.9;color:var(--s-fg2);min-height:8.5em}
.st3 dl{margin-top:18px;border-top:1px solid var(--s-rule)}
.st3 dt{padding-top:14px;font:700 11.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc)}
.st3 dd{margin:6px 0 14px;font-size:14px;line-height:1.8;color:var(--s-fg);border-bottom:1px solid var(--s-rule);padding-bottom:14px}
.st3 dd:last-child{border-bottom:0}
.st3-fee b{font:700 22px/1.3 Inter,"Zen Kaku Gothic New",sans-serif;font-variant-numeric:tabular-nums;color:var(--s-fg)}
.st3-fee b.jp{font-size:17px;font-family:"Zen Kaku Gothic New",sans-serif}
.st3-fee small{font-size:12.5px;color:var(--s-fg2);margin-left:2px}
.st3-l{display:flex;flex-wrap:wrap;gap:8px}
.st3-l a{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);text-decoration:none;padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--s-rule);transition:box-shadow .2s}
.st3-l a:hover{box-shadow:inset 0 0 0 1.5px var(--s-acc)}
.gate{margin-top:40px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:22px 28px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--s-rule);color:var(--s-fg)}
.gate svg{width:44px;height:44px;color:var(--s-acc)}
.gate p{font-size:15px;line-height:1.9;color:var(--s-fg2)}
.gate b{display:block;color:var(--s-fg);font:700 18px/1.5 "Zen Kaku Gothic New",sans-serif}
.svc-list{margin-top:48px}
#offer .sub-h{margin-top:88px}
.ft4{list-style:none;padding:0;margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;border-top:1px solid var(--s-rule)}
.ft4 li{padding:28px 0 26px;border-bottom:1px solid var(--s-rule);display:grid;grid-template-columns:44px 1fr;column-gap:16px}
.ft4-k{font:700 22px/1 Inter,sans-serif;color:var(--s-acc);padding-top:4px}
.ft4 h3{font:700 19px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.ft4 p{grid-column:2;margin-top:10px;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
@media (max-width:960px){.ft4{grid-template-columns:1fr;margin-top:32px}.ft4 li{padding:22px 0}}
.dff{margin-top:40px;border-top:1px solid var(--s-rule)}
.dff-r{display:grid;grid-template-columns:9em minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--s-rule)}
.dff dt{font:700 15px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-acc)}
.dff dd{margin:0}
.dff-c{font-size:15px;color:var(--s-fg2)}
.dff-c small,.dff-i small{display:block;font-size:12.5px;line-height:1.8}
.dff-c small{opacity:.8}
.dff-i{position:relative;padding-left:20px;font:700 clamp(17px,1.8vw,21px)/1.55 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.dff-i::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:4px;border-radius:2px;background:linear-gradient(180deg,#FF2F7D,#FF8A3D)}
.dff-i small{font:400 13.5px/1.8 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2);margin-top:4px}
@media (max-width:960px){.st3{grid-template-columns:1fr;gap:8px;margin-top:36px}.st3-w{min-height:0}.dff-r{grid-template-columns:1fr;gap:8px}.gate{grid-template-columns:1fr;padding:20px}}

.sf-stf{fill:var(--fw-ac);opacity:.18}
.sf.play .sf-stf{animation:sf-stf .5s ease var(--d) both}
@keyframes sf-stf{from{opacity:0}to{opacity:.18}}
.sf.pre .sf-stf{opacity:0}
.sf-stf0{opacity:.1}
.sf.play .sf-stf0{animation-name:sf-stf0}
@keyframes sf-stf0{from{opacity:0}to{opacity:.1}}
.sf-ln2{fill:none;stroke:var(--fw-ac);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;opacity:.9}
.sf.play .sf-ln2{animation:hx-draw 1.6s cubic-bezier(.5,0,.2,1) 1.0s both}
.sf-dots{stroke-width:1.3}
.sf-dotg{fill:var(--fw-bg);stroke:var(--fw-gr)}
.sf-dim .sf-en,.sf-dim .sf-ja{fill:var(--fw-gr)}
.sf-v0d .sf-xl,.sf-v0m .sf-xl{fill:var(--fw-mon)}

/* 図0：Iroribi がつなぐ（2.2秒〜） */
.sf-fix{fill:none;stroke:var(--fw-mon);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.sf-fx .sf-pop{opacity:1}
.sf.pre .sf-fix{stroke-dashoffset:1}
.sf.pre .sf-fx .sf-pop,.sf.pre .sf-fl2{opacity:0}
.sf.play .sf-fix{animation:hx-draw 1.4s cubic-bezier(.5,0,.2,1) 2.2s both}
.sf.play .sf-xo{animation:hx-pop .35s cubic-bezier(.3,1.4,.5,1) var(--d) both,sf-out .4s ease 2.2s forwards;transform-box:fill-box;transform-origin:center}
@keyframes sf-out{from{opacity:1}to{opacity:0}}
.sf-fl2{fill:var(--fw-mon)}
@media (prefers-reduced-motion:reduce){.sf.play .sf-fix{animation:none;stroke-dashoffset:0}.sf.play .sf-xo{animation:none;opacity:0}}

/* 図3：2つの知見の円が重なる */
.sf-cir{fill:var(--fw-ac);fill-opacity:.035;stroke:var(--fw-ac);stroke-width:1.2}
.sf-lens circle{stroke:var(--fw-mon);stroke-width:1.3}
.sf-glow circle{fill:var(--fw-mon);fill-opacity:.35}
.sf-enm{fill:var(--fw-mon)}
.sf-jam{font-size:15px}
.sf-orb{fill:none;stroke:var(--fw-ac);stroke-width:1.6;stroke-dasharray:.1 8;stroke-linecap:round;opacity:.55}
.sf-orbd{fill:var(--fw-ac)}
.sf-orbg{transform-box:view-box}
.sf-ld{stroke:var(--fw-gr);stroke-width:1;fill:none}
.sf-ldd{fill:var(--fw-ac)}
.sf-ldm{fill:var(--fw-mon)}
.sf-stem{stroke:var(--fw-gr)}
.sf-c3{transform-box:view-box;transform-origin:center}
.sf.pre .sf-c3{transform:translate(var(--dx),var(--dy))}
.sf.play .sf-c3{animation:sf-meet 1.1s cubic-bezier(.5,0,.2,1) .15s both}
.sf.play .sf-orbg{animation:sf-on .35s ease var(--d) both,sf-spin 70s linear 0s infinite}
.sf.play .sf-stem{animation:hx-draw .6s linear 1.5s both}
.sf.play .sf-glow{animation:sf-on .35s ease var(--d) both,sf-breathe 4s ease-in-out 1.6s infinite}
@keyframes sf-meet{from{transform:translate(var(--dx),var(--dy))}to{transform:none}}
@keyframes sf-spin{to{transform:rotate(360deg)}}
@keyframes sf-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.sf.play .sf-c3,.sf.play .sf-orbg,.sf.play .sf-glow{animation:none;transform:none;opacity:1}.sf.play .sf-stem{animation:none;stroke-dashoffset:0}}

/* 図3 磨き：内環・光点・ピル・中央大きく */
.set-one{grid-template-columns:1fr}
.set-one .set-f{grid-column:auto;width:100%;max-width:820px;margin:0 auto}
.sf-rinc{fill:none;stroke:var(--fw-ac);stroke-width:1;stroke-dasharray:.1 5;stroke-linecap:round;opacity:.35}
.sf-rin{transform-box:view-box}
.sf.play .sf-rin{animation:sf-on .35s ease var(--d) both,sf-spin 48s linear 0s infinite}
.sf.play .sf-rin.sf-rev{animation:sf-on .35s ease var(--d) both,sf-spinr 48s linear 0s infinite}
@keyframes sf-spinr{to{transform:rotate(-360deg)}}
.sf-pt{fill:var(--fw-ac);opacity:.9}
.sf.pre .sf-pt{opacity:0}
.sf-br2{fill:none;stroke:var(--fw-ac);stroke-width:1.2;opacity:.8}
.sf-pt2{fill:var(--fw-mon)}
.sf.play .sf-pt2{animation:sf-on .4s ease 2.6s both}
.sf-jam{font-size:21px;letter-spacing:.04em}
.sf-enm{letter-spacing:.22em}
.sf-pill{fill:var(--fw-bg);stroke:var(--fw-ac);stroke-width:1}
.sf-jap{font-size:13px}
.sf-v3m .sf-jam{font-size:18px}
.sf-v3m .sf-jap{font-size:11.5px}
@media (prefers-reduced-motion:reduce){.sf.play .sf-rin,.sf.play .sf-rin.sf-rev{animation:none;opacity:1}}

/* ===== 2026-11-09 リバイス：想い → 考え方 → 事業 → 会社 ===== */
.ph-sec .h2.ph-h{max-width:none;font-size:clamp(30px,3.6vw,46px);line-height:1.4}
.ph3{list-style:none;padding:0;margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--s-rule)}
.ph3 li{padding:30px 0 28px;border-bottom:1px solid var(--s-rule)}
.ph3-n{display:block;font:700 13px/1 Inter,sans-serif;letter-spacing:.14em;color:var(--s-acc)}
.ph3 h3{margin-top:14px;font:700 21px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.ph3 p{margin-top:12px;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.way-sec .wy-way{margin-top:40px}
.bz3{list-style:none;padding:0;margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bz3 li{display:flex;flex-direction:column;padding:32px 30px 28px;border-radius:22px;border:1px solid var(--s-rule);background:var(--s-card)}
.bz-tag{display:inline-block;align-self:flex-start;font:500 12px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc);border:1px solid currentColor;border-radius:999px;padding:6px 11px;margin-bottom:16px}
.bz3 h3{font:700 22px/1.45 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.bz3 h3 a{color:inherit;text-decoration:none}
.bz3 h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.bz3 p{margin-top:14px;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.bz3 .go-l{margin-top:auto;padding-top:22px}
.bz-sec .go-l.full{margin-top:32px}

/* v10 Philosophy：左に見出し（ラベルの下）、右に本文を大きく（下山さん 2026-11-10） */
.ph-split .lab{grid-column:1/7;grid-row:1;align-self:start}
.ph-split .h2.ph-h{grid-column:1/7;grid-row:2;margin-top:28px;max-width:none;font-size:clamp(26px,2.75vw,36px);line-height:1.45}
.ph-split .lead{grid-column:7/13;grid-row:1/3;align-self:center;margin-top:0;max-width:none;padding-left:16px}
.ph-split .lead p{font-size:clamp(17px,1.6vw,21px);line-height:2.1}
.ph-split .lead p + p{margin-top:1.5em}
@media (max-width:960px){.ph-split .lead br{display:none}}
@media (max-width:960px){.ph-split .lab,.ph-split .h2.ph-h,.ph-split .lead{grid-column:1/-1}.ph-split .lab{grid-row:1}.ph-split .h2.ph-h{grid-row:2;font-size:27px}.ph-split .lead{grid-row:3;margin-top:28px;padding-left:0}.ph-split .lead p{font-size:16px;line-height:1.95}}

/* v10 Business の図 */
.bzf{margin:56px 0 0}
.bzf-svg{display:block;width:100%;height:auto;font-family:"Zen Kaku Gothic New",sans-serif}
.bzf .box{fill:var(--s-card);stroke:var(--s-rule);stroke-width:1.5}
.bzf .pill{fill:transparent;stroke:var(--s-fg2);stroke-width:1.5}
.bzf .base{fill:var(--s-card);stroke:var(--s-acc);stroke-width:1.5}
.bzf .ln{fill:none;stroke:var(--s-fg2);stroke-width:1.5;opacity:.7}
.bzf .ln-h{fill:none;stroke:var(--s-fg2);stroke-width:1.5;opacity:.7}
.bzf .flow{fill:none;stroke:var(--s-acc);stroke-width:2;stroke-dasharray:6 6}
.bzf .flow-h{fill:none;stroke:var(--s-acc);stroke-width:2}
.bzf .col.on .box{stroke:var(--s-acc);stroke-width:2.5}
.bzf .col.on .t-dept{fill:var(--s-acc)}
.bzf .t-dept{font-size:17px;font-weight:700;fill:var(--s-fg)}
.bzf .t-sub{font-size:12.5px;fill:var(--s-fg2)}
.bzf .t-pill{font-size:13px;font-weight:700;fill:var(--s-fg)}
.bzf .t-base{font-size:16px;font-weight:700;fill:var(--s-fg)}
.bzf .t-base2{font-size:12px;fill:var(--s-fg2)}
.bzf .t-flow{font-size:13px;font-weight:700;fill:var(--s-acc);letter-spacing:.04em}
.bzc-svg{max-width:680px;margin:0 auto}
.bzf .arh{fill:var(--s-acc)}
.bzf .arc{fill:none;stroke:var(--s-acc);stroke-width:2.2}
.bzf .ring{fill:none;stroke:var(--s-fg2);stroke-width:1.2;stroke-dasharray:3 7;opacity:.6}
.bzf .hubc{fill:var(--s-card);stroke:var(--s-acc);stroke-width:1.5}
.bzf .plus{fill:var(--s-bg);stroke:var(--s-fg2);stroke-width:1.2}
.bzf .t-plus{font-size:13px;font-weight:700;fill:var(--s-fg2)}
.bzf .t-lbl{font-size:14px;font-weight:700;fill:var(--s-fg)}
@media (max-width:960px){.bzc-svg{max-width:420px}.bzf .t-lbl{font-size:13px}.bzf .t-plus{font-size:12px}}
.co-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 28px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--s-rule)}
.co-facts .wide{grid-column:1/-1}
.co-facts dt{font:700 12px/1 "Inter",sans-serif;letter-spacing:.08em;color:var(--s-acc);margin-bottom:10px}
.co-facts dd{margin:0;font-size:15.5px;line-height:1.8;color:var(--s-fg)}
@media (max-width:960px){.co-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:30px}}
.hero.plain{min-height:max(560px,min(82vh,760px))}
.hero.plain .hero-copy{max-width:920px}
.sec.b11{padding:112px 0}
.cs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}
.cs3-c{display:block;background:var(--s-card);border:1px solid var(--s-card-b);border-radius:20px;padding:28px 26px 26px;color:var(--s-fg);text-decoration:none;transition:transform .3s}
.cs3-c:hover{transform:translateY(-3px)}
.cs3-i{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:var(--s-acc);margin:0 0 14px}
.cs3-c h3{font:700 clamp(17px,1.5vw,20px)/1.6 "Zen Kaku Gothic New",sans-serif;margin:0 0 18px}
.cs3-ba{display:grid;gap:10px;font-size:14px;line-height:1.7;color:var(--s-fg2)}
.cs3-ba small{display:block;font:700 11px/1 Inter,sans-serif;letter-spacing:.08em;color:var(--s-fg2);margin-bottom:4px}
.cs3-ba .af{color:var(--s-fg)}
.cs3-ba .af small{color:var(--s-acc)}
@media (max-width:960px){.cs3{grid-template-columns:1fr;gap:16px;margin-top:32px}.sec.b11{padding:84px 0}}
.co-say{grid-column:1/-1;grid-row:2;margin-top:32px;font:700 clamp(20px,2.1vw,28px)/1.9 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);max-width:34em}
.co-say b{font-weight:700;color:var(--s-acc)}
.co-say2{grid-row:3;margin-top:18px}
@media (max-width:960px){.co-say br{display:none}}
.hero.v11h{min-height:max(640px,min(100vh,900px))}
.hero.v11h .v11h-in{padding:96px 64px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:1344px}
.v11h-mark{flex:0 0 0;display:none}
.v11h-mark img{width:clamp(160px,18vw,260px);height:auto;opacity:.96}
.v11h-foot{width:100%}
/* v11 白地ヒーロー（下山さん 2026-11-10「白地ベースいいですね」） */
.pg-index-v11 .hero.v11h{background:#FFFFFF;color:#0B1F4B}
.pg-index-v11 .hero.v11h::before{background:radial-gradient(60% 70% at 72% 50%,rgba(91,141,239,.16),transparent 70%)}
.pg-index-v11 .hero.v11h h1{color:#0B1F4B;text-shadow:none}
.pg-index-v11 .hero.v11h .sub{color:#45547A;text-shadow:none}
.pg-index-v11 .hero.v11h .pill-line{color:#0B1F4B}
.pg-light .hd:not(.scrolled) .gnav a,.pg-light .hd:not(.scrolled) .gnav a b,.pg-light .hd:not(.scrolled) .gnav a[aria-current="page"] b{color:#0B1F4B}
.pg-light .hd:not(.scrolled) .gnav a small{color:#5B6B8C}
.pg-light .hd:not(.scrolled) .pill-line{color:#0B1F4B}
.pg-light .hd:not(.scrolled) .burger span,.pg-light .hd:not(.scrolled) .burger span::before,.pg-light .hd:not(.scrolled) .burger span::after{background:#0B1F4B}
.hd .logo .lg-dk,.hd .logo .lg-fr,.hd .logo .lg-fb{display:none}
.pg-light .hd:not(.scrolled) .logo{position:relative}
.pg-light .hd:not(.scrolled) .logo .lg-dk{display:block}
.pg-light .hd:not(.scrolled) .logo .lg-wt{display:none}
/* 読み込み時：赤い炎が下から立ち上がり、そのあと下から青に変わる（下山さん 2026-11-10） */
.pg-light .hd:not(.scrolled) .logo .lg-fr,.pg-light .hd:not(.scrolled) .logo .lg-fb{display:block;position:absolute;left:0;top:0}
.pg-light .hd:not(.scrolled) .logo .lg-fr,.pg-light .hd:not(.scrolled) .logo .lg-fb{clip-path:inset(100% 0 0 0)}
.pg-light.v11-ld .hd:not(.scrolled) .logo .lg-fr{animation:v11rise .9s cubic-bezier(.2,.7,.2,1) .3s both}
.pg-light.v11-ld .hd:not(.scrolled) .logo .lg-fb{animation:v11rise 1.1s cubic-bezier(.2,.7,.2,1) 2s both}
@keyframes v11rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.pg-light .hd:not(.scrolled) .logo .lg-fr{animation:none;clip-path:none}}
/* ロゴは一旦、青をやめて赤のままにする（下山さん 2026-11-11）。戻すときはこの1行を消す */
.hd .logo .lg-fb{display:none!important}
/* スマホのメニューを開いたとき：紺地なので白いロゴと白い×にする（下山さん 2026-11-11） */
.menu-open .hd .logo .lg-wt{display:block!important}.menu-open .hd .logo .lg-dk,.menu-open .hd .logo .lg-fr{display:none!important}
.menu-open .hd .burger span::before,.menu-open .hd .burger span::after{background:#fff!important}
/* v11：ボタン・リンクはカーソルを合わせると青に（下山さん 2026-11-10） */
.pg-light .pill{transition:filter .2s,transform .2s,background-color .25s,box-shadow .25s,color .25s}
.pg-light .pill-flame{position:relative;isolation:isolate;background:transparent}
.pg-light .pill-flame::before,.pg-light .pill-flame::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1}
.pg-light .pill-flame::before{background:var(--flame)}
.pg-light .pill-flame::after{background:linear-gradient(120deg,#1846A6,#2F6BE0 55%,#5B8DEF);opacity:0;transition:opacity .25s}
.pg-light .pill-flame:hover{filter:none;box-shadow:0 10px 28px -10px rgba(47,107,224,.65)}
.pg-light .pill-flame:hover::after{opacity:1}
.pg-light .pill-line:hover,.pg-light .hero.v11h .pill-line:hover,.pg-light .hd:not(.scrolled) .pill-line:hover,.pg-light .sec .pill-line:hover{background:#1846A6;color:#fff!important;box-shadow:inset 0 0 0 1.5px #1846A6}
.pg-light .tlink{transition:color .25s}
.pg-light .tlink:hover{color:#2F6BE0}
.pg-light .gnav a{transition:color .25s}
.pg-light .gnav a:hover b{color:#2F6BE0}
/* Company：矢印付きの行リスト（dotD 型。下山さん 2026-11-10） */
.co-go{grid-column:1/-1;grid-row:4;margin:44px 0 0}
.sk-sec .h2{max-width:none}
.sk-line{grid-column:1/-1;margin:48px 0 0}
.sk-line svg{display:block;width:100%;height:auto;overflow:visible}
.sk-line .ln{fill:none;stroke:#0B1F4B;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sk-line .ah{fill:none;stroke:#0B1F4B;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.sk-line .pt circle{fill:#2F64D8;stroke:#fff;stroke-width:2}
.sk-line .gl{fill:none;stroke:rgba(11,31,75,.35);stroke-width:1.2;stroke-dasharray:3 5}
.sk-line .lp{fill:none;stroke:#0B1F4B;stroke-width:1.6}
.sk-line .fl{fill:none;stroke:url(#sk-fg);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sk-line .fla{fill:none;stroke:#FF8A3D;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sk-line .pf{fill:#FF8A3D;stroke:#fff;stroke-width:2}
.sk-line .tx text{font:600 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.sk-sec .sk3{margin-top:28px}
.pg-light .sec.dk{--s-bg:#FFFFFF;--s-fg:#0B1F4B;--s-fg2:#3D5487;--s-acc:#2F64D8;--s-rule:rgba(11,31,75,.12);--s-card:#F3F7FF;--s-card-b:transparent;--text:#0B1F4B;--text-weak:#3D5487;--iso-line:#244FA8}
.pg-light .sec+.sec.dk{border-top:0}
.pg-sub.pg-light .hd:not(.scrolled){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.pg-light .gnav a::after{background:#2F64D8}
.pg-sub.pg-light .sec.dk:nth-of-type(even){--s-bg:#EAF1FF;--s-card:#FFFFFF}
.pg-light .sec.dk .pill-line{color:var(--s-fg)}
/* 下層ページを白と薄い青に（下山さん 2026-11-10） */
.pg-light .cp{border-color:rgba(11,31,75,.18);background:#fff;color:var(--s-fg)}
.pg-light .cp:hover{background:#F3F7FF}
.pg-light .cp-d,.pg-light .cp-fk,.pg-light .cp-f{color:var(--s-fg2)}
.pg-light .gx-chip{box-shadow:inset 0 0 0 1px rgba(11,31,75,.3)}
.pg-light .gx-chip[aria-pressed="true"]{background:#0B1F4B;color:#fff}
.pg-light .gx-mk circle,.pg-light .gx-mk path{stroke:#0B1F4B}
.pg-light .gx-m1{fill:#0B1F4B}.pg-light .gx-m2{fill:#3D5487}
.pg-light .gx-b small,.pg-light .gx-ar{color:#2F64D8}.pg-light .gx-up{color:#3D5487}
.pg-light .gx-r.sel{border-color:#2F64D8;background:rgba(47,100,216,.08)}
.pg-light .gx-lv i{border-color:rgba(11,31,75,.5)}.pg-light .gx-lv i.on{background:#0B1F4B;border-color:#0B1F4B}
.pg-light .gx-stop{color:#0B1F4B;border-color:#0B1F4B}
.pg-light .gx-b[aria-pressed="true"] b{text-decoration-color:#0B1F4B}
.pg-light .case{background:#EAF1FF;color:#0B1F4B;--text:#0B1F4B;--text-weak:#3D5487}
.pg-light .case.r,.pg-light .case:nth-of-type(even){background:#fff}
.pg-light .case::before{display:none}
.pg-light .case + .case{border-top:1px solid rgba(11,31,75,.1)}
.pg-light .case .no{color:#2F64D8}
.pg-light .exit .ek{color:#3D5487}.pg-light .exit b{background:rgba(255,138,61,.12);color:#B4581B;border-color:rgba(255,138,61,.6)}
.pg-light .case .ind{color:#2F64D8;border-color:rgba(47,100,216,.45)}
.pg-light .case dt{color:#2F64D8}.pg-light .case dd{color:#0B1F4B}
.pg-light .ba div{background:#fff;border-color:rgba(11,31,75,.14)}
.pg-light .ba div.af{background:rgba(47,100,216,.1);border-color:rgba(47,100,216,.5)}
.pg-light .ba small{color:#3D5487}.pg-light .ba i{color:#2F64D8}
.pg-light .now{color:#3D5487}.pg-light .now b{background:#0B1F4B;color:#fff}
.pg-light .prog{border-top-color:rgba(11,31,75,.12)}
.pg-light .prog li{color:#5B6B8C}.pg-light .prog li.on{color:#0B1F4B}
.pg-light .prog li i{border-color:rgba(11,31,75,.35)}
.pg-light .prog li.on i{background:#2F64D8;border-color:#2F64D8}
.pg-light .prog li + li::before{background:rgba(11,31,75,.2)}.pg-light .prog li.on + li.on::before{background:#2F64D8}
.pg-light .prog b{color:#0B1F4B}
.pg-light .lv-t line{stroke:#0B1F4B;stroke-opacity:.3}.pg-light .lv-t text{fill:#3D5487}
.pg-light .lv-bg{fill:#fff;fill-opacity:1;stroke:rgba(11,31,75,.2)}
.pg-light .lv-t.on .lv-bg{fill:#0B1F4B;stroke:#0B1F4B}.pg-light .lv-t.on text{fill:#fff}
.pg-light .lad-line{stroke:#0B1F4B}.pg-light .lad-dot{fill:#fff;stroke:#0B1F4B}
.pg-about .sec.first{--s-bg:#fff}.pg-about .cl-sec{--s-bg:#EAF1FF}.pg-about .md-sec{--s-bg:#fff}.pg-about .mg-sec{--s-bg:#EAF1FF}.pg-about .about.sec.dk{--s-bg:#fff;--s-card:#EAF1FF}.pg-about .ac-sec{--s-bg:#EAF1FF;--s-card:#fff}
.pg-light .mvv4 li{background:#EAF1FF;border-color:transparent}
.pg-light .mvv4 .mv-c{background:#fff;border-color:#2F64D8;box-shadow:0 0 0 1px #2F64D8 inset,0 10px 30px rgba(47,100,216,.14)}
.pg-light .mvv4 .mv-c .en-s{color:#2F64D8}.pg-light .mvv4 .mv-c h3{color:#2F64D8}
.pg-light .mvv4::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='50,15 25,85 75,85' fill='none' stroke='%232F64D8' stroke-opacity='.75' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.mg-sec .lead .mg-sig{margin-top:2em;text-align:right;font:700 clamp(17px,1.6vw,20px)/1.6 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B}
.mg-sec .lead .mg-sig small{display:inline-block;margin-right:.8em;font:500 13px/1.4 "Zen Kaku Gothic New",sans-serif;color:#3D5487;letter-spacing:.06em}
.pg-light .mg-sec .ph-split .lead p{color:#0B1F4B;font-size:clamp(14.5px,1.15vw,16px);line-height:2}.mg-sec .ph-split .lead p + p{margin-top:1.4em}
@media (max-width:960px){.mg-sec .ph-split .lead p{font-size:14.5px;line-height:1.95}}
.sk3{grid-column:1/-1;list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}
.sk3 li{padding:26px 0 8px;border-top:1px solid var(--s-rule)}
.sk3-n{display:flex;gap:10px;align-items:baseline;margin:0;font:600 11px/1 "Inter","Helvetica Neue",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--s-acc)}
.sk3-n .no{font-weight:700;font-size:13px}
.sk3 h3{margin:12px 0 0;font:700 clamp(20px,1.8vw,24px)/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.sk3 li>p:last-child{margin:12px 0 0;font:500 14.5px/1.9 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2)}
.sk-frame{grid-column:1/-1;position:relative;margin-top:40px;padding:40px 28px 28px;border:1px solid rgba(11,31,75,.22);border-radius:24px}
.sk-frame-l{position:absolute;top:-13px;left:24px;padding:0 10px;background:var(--s-bg,#fff);font:700 13px/26px "Zen Kaku Gothic New",sans-serif;letter-spacing:.04em;color:#3D5487;text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:color .25s}
.sk-frame-l .ar{font:500 14px/1 "Inter","Helvetica Neue",Arial,sans-serif;transition:transform .25s}
.sk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 28px}
.sk-chip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 16px 0 18px;height:52px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(11,31,75,.28);font:700 13.5px/1.3 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;text-decoration:none;transition:background-color .25s,box-shadow .25s}
.sk-chip .ar{font:500 18px/1 "Inter","Helvetica Neue",Arial,sans-serif;transition:transform .25s}
.sk-chip:hover{background:#2F64D8;box-shadow:inset 0 0 0 1px #2F64D8;color:#fff}
.sk-chip:hover .ar{transform:translateX(5px)}
.sk-chip.pd{background:#DCE7FB;color:#0B1F4B;box-shadow:none;padding-left:14px}.sk-chip.pd .pd-tag{font:700 10px/1 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#2F64D8;border-radius:999px;padding:5px 8px 4px;margin-right:10px;white-space:nowrap}.sk-chip.pd .ar{margin-left:auto}.sk-chip.pd:hover{background:#2F64D8;color:#fff;box-shadow:none}.sk-chip.pd:hover .pd-tag{background:rgba(255,255,255,.22)}.sk-chip.pd.c1{font-size:12.5px;letter-spacing:-.01em}.sk-chip.pd.c1 .pd-tag{margin-right:8px;padding:4px 6px 3px}
.sk-frame-l .pd-note{font:500 11px/1 "Zen Kaku Gothic New",sans-serif;color:#3D5487;margin-left:12px}
.sk-chip.c1{grid-column:1}.sk-chip.c2{grid-column:2}.sk-chip.c3{grid-column:3}.sk-chip.c4{grid-column:4}.sk-chip.c23{grid-column:2/4}.sk-chip.c1234{grid-column:1/5}
.sk-sec .go-l{margin-top:36px}
@media (max-width:960px){.sk3{grid-template-columns:1fr;margin-top:36px;width:100%}.sk3 li>p:last-child br{display:none}.sk-frame{width:100%;padding:32px 18px 18px}.sk-grid{grid-template-columns:1fr;gap:10px}.sk-chip.c1,.sk-chip.c2,.sk-chip.c3,.sk-chip.c4,.sk-chip.c23,.sk-chip.c1234{grid-column:1}.sk-btn{width:100%}}
.sv2-sec{--s-bg:#FFFFFF;--s-card:#EEF3FF;background:#fff}
.sv2-sec .lab,.sv2-sec .h2,.sv2-sec .lead,.sv2-sec .co-go{grid-column:1/7}
.sv2-sec .co-go{grid-row:4;align-self:start}
.sv2-fig{grid-column:7/-1;grid-row:1/4;position:relative;min-height:480px}
.sv2-c{position:absolute;width:300px;height:300px;border-radius:50%;background:#EEF3FF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#0B1F4B}
.sv2-c::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(47,100,216,.55);transform:translate(12px,-10px)}
.sv2-c .en{font:500 14px/1 "Inter","Helvetica Neue",Arial,sans-serif;letter-spacing:.06em;color:#3D5487;padding-bottom:10px;border-bottom:1px solid rgba(11,31,75,.4)}
.sv2-c b{font:700 clamp(20px,1.7vw,24px)/1.3 "Zen Kaku Gothic New",sans-serif;margin-top:6px}
.sv2-c small{font:500 12.5px/1.5 "Zen Kaku Gothic New",sans-serif;color:#3D5487}
.sv2-a{left:0;bottom:0}
.sv2-b{right:0;top:0}
.sv2-x{position:absolute;left:calc(50% - 14px);top:calc(50% - 20px);font:300 40px/1 "Inter","Helvetica Neue",Arial,sans-serif;color:#2F64D8}
.sv3{grid-column:1/-1;display:grid;grid-template-columns:1fr 72px 1fr;align-items:start;margin-top:80px}
.sv3-h{font:700 clamp(18px,1.5vw,22px)/1.3 "Zen Kaku Gothic New",sans-serif;color:#0B1F4B;margin:0 0 18px;display:flex;align-items:baseline;gap:12px}
.sv3-h .en{font:500 13px/1 "Inter","Helvetica Neue",Arial,sans-serif;letter-spacing:.08em;color:#2F64D8}
.sv3 ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sv3 li a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:20px 22px;background:#fff;border:1px solid rgba(11,31,75,.12);border-radius:16px;text-decoration:none;color:#0B1F4B;transition:border-color .25s,box-shadow .25s}
.sv3 li a b{font:700 16px/1.4 "Zen Kaku Gothic New",sans-serif}
.sv3 li a span{grid-column:1;font:500 13.5px/1.6 "Zen Kaku Gothic New",sans-serif;color:#45547A}
.sv3 li a small{display:block;font:700 12px/1.4 "Zen Kaku Gothic New",sans-serif;color:#2F64D8;margin-top:4px}
.sv3 li a .ar{grid-column:2;grid-row:1/3;font:500 20px/1 "Inter","Helvetica Neue",Arial,sans-serif;font-style:normal;color:#2F64D8;transition:transform .25s}
.sv3 li a:hover{border-color:#2F64D8;box-shadow:0 0 0 1px #2F64D8 inset}
.sv3 li a:hover .ar{transform:translateX(6px)}
.sv3-x{align-self:start;justify-self:center;margin-top:120px;font:300 44px/1 "Inter","Helvetica Neue",Arial,sans-serif;color:#2F64D8}
.sv3-res{grid-column:1/-1;margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 36px;border-radius:20px;background:#0B1F4B;color:#fff}
.sv3-res p{margin:0;font:700 clamp(20px,2vw,28px)/1.3 "Zen Kaku Gothic New",sans-serif;color:#fff}
.sv3-res .eq{color:#5B8DEF;margin-right:14px;font-weight:300}
.sv3-res small{display:block;font:500 14px/1.6 "Zen Kaku Gothic New",sans-serif;color:#B9C7EA;margin-top:6px}
.sv3-res .co-btn{background:#fff;color:#0B1F4B;flex:0 0 auto}
.sv3-res .co-btn:hover{background:#2F64D8;color:#fff}
@media (max-width:960px){.sv3{order:5;grid-template-columns:1fr;row-gap:22px;margin-top:44px;width:100%}.sv3-x{margin:0;font-size:32px}.sv3-res{order:6;flex-direction:column;align-items:flex-start;padding:24px;margin-top:24px;width:100%}.sv3-res .co-btn{width:100%}}
@media (max-width:960px){.sv2-sec .co-go{order:5}.sv2-fig{order:4;grid-column:1/-1;min-height:400px;margin-top:36px;width:100%}.sv2-c{width:210px;height:210px}.sv2-c b{font-size:18px}.sv2-c small{font-size:11px;padding:0 14px}.sv2-x{top:calc(50% - 16px);font-size:30px;left:calc(50% - 10px)}}
.co-btn{justify-content:space-between;min-width:220px;padding:0 24px 0 26px;background:#7A8AB4;color:#fff;box-shadow:none;transition:background-color .25s}
.co-btn .ar{font:500 18px/1 "Inter","Helvetica Neue",Arial,sans-serif;transition:transform .25s}
.co-btn:hover{background:#2F64D8;color:#fff}
.co-btn:hover .ar{transform:translate(3px,-3px)}
@media (max-width:960px){.co-go{margin-top:32px}.co-btn{width:100%}}
.hero.v11h .sub{font:500 clamp(15px,1.3vw,18px)/2 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;max-width:none;margin:0 0 72px;color:#DCE6FA}
.hero.v11h h1{font:900 clamp(52px,12.3vw,168px)/1.08 "Zen Kaku Gothic New",sans-serif;letter-spacing:-.02em;margin:0 0 72px}
.hero.v11h .ctas{justify-content:flex-start}
@media (max-width:960px){.hero.v11h .v11h-in{padding:100px 24px 40px}.hero.v11h h1{font-size:12.4vw;margin-bottom:44px}.hero.v11h .sub{letter-spacing:.04em;margin-bottom:44px}}
.bzf figcaption{margin-top:22px;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.ph-sec .go-l.full{margin-top:28px}
@media (max-width:960px){.bzf{margin-top:40px}.bzf .t-dept{font-size:15px}.bzf .t-sub{font-size:11.5px}.bzf .t-pill{font-size:12px}.bzf .t-base{font-size:14px}.bzf .t-flow{font-size:12px}.bzf figcaption{font-size:14px}}
.ab-sec .mvv3{margin-top:40px}
.ab-sec .mvv3.mvvc{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.ab-sec .mvv3.mvvc{grid-template-columns:1fr}}
.ph-sec .lead .go-l{margin-top:28px}
.ab-close{margin-top:44px;font:700 clamp(18px,1.9vw,24px)/1.6 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.ab-close small{display:block;margin-top:10px;font:500 13px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2)}
.ab-sec .go-l.full{margin-top:28px}
@media (max-width:960px){.ph3{grid-template-columns:1fr;margin-top:36px}.ph3 li{padding:22px 0}.ph-sec .h2.ph-h{font-size:27px}.bz3{grid-template-columns:1fr;margin-top:32px}.bz3 li{padding:26px 24px 22px}}

/* ===== サービス v2 ===== */
.sv-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin:44px 0 0;border-top:1px solid var(--s-rule)}
.sv-facts div{padding:18px 0 4px}
.sv-facts dt{font:700 11.5px/1 Inter,"Zen Kaku Gothic New",sans-serif;letter-spacing:.1em;color:var(--s-acc)}
.sv-facts dd{margin:10px 0 0;font:700 15px/1.7 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.iss3{grid-column:1/-1;list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.iss3 li{background:var(--s-card,#fff);border-radius:20px;padding:28px 28px 26px;border:1px solid rgba(11,31,75,.06)}
.iss-n{font:700 12px/1 Inter,sans-serif;letter-spacing:.12em;color:var(--s-acc)}
.iss3 h3{margin:14px 0 0;font:700 19px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.iss3 p{margin:12px 0 0;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.iss-sum{grid-column:1/-1;margin:36px 0 0;font:500 clamp(17px,1.6vw,21px)/1.9 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.iss-sum b{color:#2F64D8}
.mt-grid{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px 56px;margin-top:44px;align-items:start}
.gr-tbl{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7;color:var(--s-fg)}
.gr-tbl th,.gr-tbl td{text-align:left;padding:14px 12px 14px 0;border-bottom:1px solid var(--s-rule);vertical-align:top}
.gr-tbl thead th{font:700 11.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc);padding-bottom:10px}
.gr-tbl tbody th{font:700 15px/1.5 "Zen Kaku Gothic New",sans-serif}
.gr-no{display:block;font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;color:var(--s-acc);margin-bottom:4px}
.gr-tbl td{color:var(--s-fg2)}
.gr-tbl td.gr-money{color:var(--s-fg);font-weight:700}
.gr-tbl tbody tr:nth-child(2) th,.gr-tbl tbody tr:nth-child(2) td{background:linear-gradient(90deg,rgba(47,100,216,.08),rgba(47,100,216,0))}
.mt-side h3{margin:22px 0 0;font:700 18px/1.6 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.mt-side p{margin:10px 0 0;font-size:14.5px;line-height:1.9;color:var(--s-fg2)}
.sp-fig{margin:0;background:var(--s-card,#fff);border-radius:20px;padding:22px 18px 14px;border:1px solid rgba(11,31,75,.06)}
.sp-fig svg{display:block;width:100%;height:auto}
.sp-fig .sp-d{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.sp-fig .sp-g{font:700 10.5px/1 Inter,sans-serif;fill:#3D5487;letter-spacing:.04em}
.sp-fig .sp-c{fill:#fff;stroke:rgba(11,31,75,.18);stroke-width:1}
.pg-light .sec.dk:nth-of-type(even) .sp-fig .sp-c{fill:#F6F9FF}
.sp-fig .sp-c.on{fill:#2F64D8;stroke:#2F64D8}
.sp-fig .sp-c.up{fill:#DCE7FB;stroke:#2F64D8;stroke-dasharray:3 3}
.sp-fig .sp-c.nx{fill:#EAF1FF;stroke:#2F64D8;stroke-dasharray:3 3}
.sp-fig .sp-a{fill:none;stroke:#2F64D8;stroke-width:1.6;stroke-linecap:round;marker-end:none}
.sp-fig .sp-l{font:700 11.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff}
.st3.st4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 56px;margin-top:40px}
.st3.st4 .st3-w{min-height:0}
.st3-l a.pd{background:#DCE7FB;box-shadow:none}
.st3-l a.pd:hover{background:#2F64D8;color:#fff}
.pr2{grid-column:1/-1;list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pr2 li{position:relative;background:#DCE7FB;border-radius:22px;padding:30px 30px 26px;display:grid;grid-template-columns:1fr;row-gap:0;scroll-margin-top:96px}
.pr2 .pd-tag{position:absolute;top:22px;right:22px;font:700 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#2F64D8;border-radius:999px;padding:5px 9px 4px}
.pr2 .pict{width:48px;height:48px;color:#2F64D8}
.pr2 h3{margin:16px 0 0;font:700 21px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.pr2 .new{display:inline-block;margin:8px 0 0;font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#2F64D8;background:#fff;border-radius:999px;padding:6px 10px;justify-self:start}
.pr2 p{margin:12px 0 0;font-size:14.5px;line-height:1.9;color:var(--s-fg)}
.pr2 .pr2-gr{margin-top:14px;font:700 12px/1 Inter,"Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#3D5487}
.pg-service .sub-h{grid-column:1/-1;margin:52px 0 0;font:700 16px/1.5 "Zen Kaku Gothic New",sans-serif;letter-spacing:.04em;color:var(--s-fg2)}
.mn6{grid-column:1/-1;list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;border-top:1px solid var(--s-rule)}
.mn6 li{display:grid;grid-template-columns:36px 1fr auto;column-gap:16px;align-items:start;padding:20px 0 18px;border-bottom:1px solid var(--s-rule);scroll-margin-top:96px}
.mn6 .pict{width:36px;height:36px;color:var(--s-acc);margin-top:2px}
.mn6 h4{margin:0;font:700 16px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.mn6 p{margin:6px 0 0;font-size:13.5px;line-height:1.8;color:var(--s-fg2)}
.mn-st{font:700 11px/1 Inter,"Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:#3D5487;background:#EAF1FF;border-radius:999px;padding:6px 9px;white-space:nowrap;margin-top:4px}
.pg-light .sec.dk:nth-of-type(even) .mn-st{background:#fff}
.pg-service .go-l{grid-column:1/-1;margin-top:36px}
@media (max-width:960px){
.sv-facts{grid-template-columns:1fr 1fr;gap:0 20px;margin-top:32px}
.iss3{grid-template-columns:1fr;gap:12px;margin-top:32px}.iss3 li{padding:22px 20px}
.iss-sum{font-size:16px}.iss-sum br{display:none}
.mt-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}
.gr-tbl{font-size:13px}.gr-tbl thead{display:none}.gr-tbl tbody th,.gr-tbl td{display:block;padding:4px 0;border:0}.gr-tbl tbody tr{display:block;padding:14px 0;border-bottom:1px solid var(--s-rule)}.gr-tbl td.gr-money::before{content:"期待：";color:var(--s-fg2);font-weight:500}
.st3.st4{grid-template-columns:1fr}
.pr2{grid-template-columns:1fr;gap:12px;margin-top:32px}.pr2 li{padding:24px 20px 22px}
.mn6{grid-template-columns:1fr}.mn6 li{grid-template-columns:30px 1fr;row-gap:8px}.mn6 .mn-st{grid-column:2;justify-self:start;margin-top:0}
}

/* ===== サービス v3（図解） ===== */
.sp-fig .sp-t{font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;fill:#2F64D8}
.sp-fig .sp-ln{fill:none;stroke:#2F64D8;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.sp-fig .sp-p{fill:#2F64D8;stroke:#fff;stroke-width:1.5}.sp-fig .sp-p.big{fill:#FF8A3D}.sp-fig .sp-p.lt{fill:#9FB3DA}
.sp-fig .sp-nx{fill:none;stroke:#2F64D8;stroke-width:1.4;stroke-dasharray:3 4}
.sp-fig .sp-nxl{fill:none;stroke:#9FB3DA;stroke-width:1.4;stroke-linejoin:round}
.sv-facts.sv3{grid-template-columns:repeat(3,minmax(0,1fr))}
/* 階段 */
.stair{grid-column:1/-1;margin:44px 0 0;background:var(--s-card,#fff);border-radius:22px;padding:28px 28px 18px;border:1px solid rgba(11,31,75,.06)}
.stair svg{display:block;width:100%;height:auto;overflow:visible}
.stair .stp{fill:none;stroke:#0B1F4B;stroke-width:1.8;stroke-linejoin:round}
.stair .stp-b{fill:none;stroke:rgba(11,31,75,.18);stroke-width:1;stroke-dasharray:3 4}
.stair .stn text{font:700 12px/1 Inter,sans-serif;letter-spacing:.1em;fill:#2F64D8}
.stair .stt text{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.stair .stt .m{display:none}
.stair .ste text{font:700 11px/1 Inter,sans-serif;letter-spacing:.16em;fill:#9FB3DA}
.stair .stx circle{fill:#fff;stroke:#0B1F4B;stroke-width:1.6}
.stair .stx text{font:700 11px/1 Inter,sans-serif;fill:#0B1F4B;text-anchor:middle}
.stair .stx .stx-t{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.stair .stx .stx-t.l{text-anchor:start}
.stair .stw{stroke:#0B1F4B;stroke-width:1.8;stroke-dasharray:4 5}
.stair .stw-t{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.stair .stf{fill:none;stroke:#FF8A3D;stroke-width:2.4;stroke-linecap:round}
.stair .stf-a{fill:none;stroke:#FF8A3D;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.stair .stf-t{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;fill:#D9641E}
.iss3.iss-l{margin-top:28px;gap:0 40px;list-style:none}
.iss3.iss-l li{background:none;border:0;border-top:1px solid var(--s-rule);border-radius:0;padding:18px 0 0}
.iss3.iss-l h3{font-size:17px;margin-top:10px}
.iss3.iss-l p{margin-top:6px;font-size:13.5px;color:var(--s-fg2)}
.iss-sum{font-size:clamp(16px,1.5vw,19px)}
/* Grade 逆算図 */
.mt-grid.mt3{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.grf{position:relative;margin:0;display:grid;grid-template-columns:40px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr) 40px;row-gap:8px;padding:0 0 0 0}
.grf-h,.grf-r{display:contents}
.grf-h span{font:700 11.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc);padding:0 14px 8px}
.grf-h span:first-child,.grf-h span:last-child{padding:0}
.grf-r > span{background:var(--s-card,#fff);padding:16px 14px;font-size:14px;line-height:1.6;color:var(--s-fg2);border:1px solid rgba(11,31,75,.06);border-left:0;border-right:0}
.grf-r .grf-g{border-left:1px solid rgba(11,31,75,.06);border-radius:14px 0 0 14px;color:var(--s-fg);font-weight:700;font-size:15px}
.grf-r .grf-g b{display:block;font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;color:var(--s-acc);margin-bottom:5px}
.grf-r .grf-m{border-right:1px solid rgba(11,31,75,.06);border-radius:0 14px 14px 0;color:var(--s-fg);font-weight:700}
.grf-r.on .grf-g,.grf-r.on .grf-j,.grf-r.on .grf-m{background:#DCE7FB;border-color:#2F64D8}
.grf-r.on .grf-g{box-shadow:inset 3px 0 0 #2F64D8}
.grf-r .grf-a,.grf-r .grf-b{background:none;border:0;padding:0}
.grf-l,.grf-rr{position:absolute;top:30px;height:calc(100% - 90px);width:40px;overflow:visible}
.grf-l{left:0}.grf-rr{right:0}
.grf-l path,.grf-rr path{fill:none;stroke:#2F64D8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.grf-lt,.grf-rt{margin:14px 0 0;font:700 11px/1.45 "Zen Kaku Gothic New",sans-serif;color:#2F64D8;letter-spacing:.02em;min-height:36px}
.grf-lt{grid-column:1/3;text-align:left}.grf-rt{grid-column:4/6;text-align:right}
.mt3 .mt-side h3{margin-top:22px}
/* タイムライン */
.stl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin-top:40px}
.stl-c{position:relative;scroll-margin-top:96px;padding:0 0 8px;display:grid;grid-template-rows:subgrid;grid-row:span 8;align-content:start}
.stl-h{position:relative;height:28px;margin-bottom:18px}
.stl-h::before{content:"";position:absolute;left:0;right:-28px;top:13px;height:1.6px;background:#0B1F4B}
.stl-c:last-child .stl-h::before{right:0;background:linear-gradient(90deg,#0B1F4B 60%,#FF8A3D)}
.stl-dot{position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:#2F64D8;border:2px solid #fff;box-shadow:0 0 0 1.6px #0B1F4B}
.stl-gate{position:absolute;right:-14px;top:0;width:28px;height:28px;color:#0B1F4B;transform:translateX(50%)}
.stl-gate svg{width:28px;height:28px;display:block;background:var(--s-bg,#fff);border-radius:50%}
.stl-gate circle{fill:none;stroke:currentColor;stroke-width:1.6}
.stl-gate path,.gate .gate-i path{fill:none;stroke:#FF8A3D;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gate .gate-i circle{fill:none;stroke:currentColor;stroke-width:1.4;opacity:.6}
.stl-gate small{position:absolute;top:30px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 10px/1 "Zen Kaku Gothic New",sans-serif;color:#3D5487}
.stl h3{margin-top:12px;font:700 20px/1.45 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.stl-sub{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--s-fg2)}
.stl-chk{margin:14px 0 0;padding-bottom:16px;font:700 15px/1.75 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.stl-chk small{display:block;font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc);margin-bottom:8px}
.stl dl{display:contents}
.stl-g{border-top:1px solid var(--s-rule)}
.stl dt{padding-top:12px;font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc)}
.stl dd{margin:8px 0 12px;font-size:13.5px;line-height:1.7;color:var(--s-fg);padding-bottom:4px}
.stl-left{display:flex;flex-wrap:wrap;gap:6px}
.stl-left span{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);background:var(--s-card,#F3F7FF);border-radius:8px;padding:8px 10px}
.stl .st3-fee b{font-size:20px}.stl .st3-fee b.jp{font-size:15px}
.stl .st3-l a{font-size:12.5px;padding:7px 10px}
.stl .st3-l a.pd{background:#DCE7FB;box-shadow:none}.stl .st3-l a.pd:hover{background:#2F64D8;color:#fff}
.stl-sp{list-style:none;margin:6px 0 0;padding:12px 0 0;border-top:1px dashed rgba(47,100,216,.5)}
.stl-sp li{display:grid;grid-template-columns:18px 1fr;column-gap:8px;align-items:baseline;padding:4px 0;font-size:12.5px;line-height:1.6;color:var(--s-fg2)}
.stl-sp svg{width:16px;height:16px;align-self:center}.stl-sp path{fill:none;stroke:#FF8A3D;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stl-sp b{font:700 13px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.stl-sp span{grid-column:2}
#steps .gate{margin-top:36px}
/* 範囲バー */
.band{grid-column:1/-1;margin-top:40px;border-top:1px solid var(--s-rule)}
.band-h,.band-r{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,2fr);column-gap:28px;align-items:center}
.band-h{padding:14px 0 10px;border-bottom:1px solid var(--s-rule)}
.band-h span{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc)}
.band-h span:first-child{grid-column:1}
.band-h{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,.5fr))}
.band-r{padding:16px 0;border-bottom:1px solid var(--s-rule);scroll-margin-top:96px}
.band-r.sep{border-top:1px solid var(--s-rule);margin-top:10px;padding-top:22px}
.band-n{position:relative}
.band-n h3{margin:0;font:700 16px/1.45 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.band-n p{margin:4px 0 0;font-size:13px;line-height:1.7;color:var(--s-fg2)}
.band-n .pd-tag{display:inline-block;font:700 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#2F64D8;border-radius:999px;padding:5px 9px 4px;margin-bottom:8px}
.band-n .new{display:inline-block;margin:6px 0 0;font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#2F64D8;background:#fff;border:1px solid #2F64D8;border-radius:999px;padding:5px 9px}
.band-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:6px;position:relative;height:30px}
.band-g::before{content:"";position:absolute;inset:14px 0 auto 0;height:1px;background:var(--s-rule)}
.band-g i{position:relative;display:flex;align-items:center;justify-content:center;height:30px;border-radius:999px;background:#EAF1FF;border:1px solid rgba(47,100,216,.35);font-style:normal}
.pg-light .sec.dk:nth-of-type(even) .band-g i{background:#fff}
.band-r.pd .band-g i{background:#DCE7FB;border-color:#2F64D8}
.band-g i span{font:700 10.5px/1 Inter,sans-serif;letter-spacing:.08em;color:#0B1F4B}
.band-n{grid-column:1}.band-g{grid-column:2}
/* 特徴（短く） */
.ft4.ft3 p{font-size:14px}
/* 分岐 */
.fork{grid-column:1/-1;margin:40px 0 0}
.fork svg{display:block;width:100%;height:auto;overflow:visible}
.fork .fk-c{fill:none;stroke:#0B1F4B;stroke-width:1.6}
.fork .fk-u{fill:none;stroke:rgba(11,31,75,.35);stroke-width:1.4;stroke-dasharray:4 5}
.fork .fk-d{fill:none;stroke:#2F64D8;stroke-width:2}
.fork .fk-n{fill:#fff;stroke:#0B1F4B;stroke-width:1.6}
.fork .fk-t{font:700 13px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.fork .fk-ut{font:500 13px/1 "Zen Kaku Gothic New",sans-serif;fill:#5B6B8C}
.fork .fk-dt{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.fork .fk-lu{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;fill:#5B6B8C}
.fork .fk-ld{font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;fill:#2F64D8}
.fork .fk-a{fill:none;stroke:#2F64D8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dff.dff-m{display:none}
@media (max-width:960px){
.sv-facts.sv3{grid-template-columns:1fr}
.stair{padding:16px 14px 10px;margin-top:28px}
.stair .stt text{font-size:34px}.stair .stt .d{display:none}.stair .stt .m{display:block}
.stair .stn{display:none}
.stair .stt .m,.stair .stt text{text-anchor:start}
.stair .stx .stx-t,.stair .stf-t{font-size:30px}
.stair .stw-t,.stair .ste{display:none}
.stair .stx circle{r:17}.stair .stx text{font-size:24px}.stair .stx .stx-t.l{transform:translateX(16px)}
.stair .stp{stroke-width:3}.stair .stw{stroke-width:3}.stair .stf,.stair .stf-a{stroke-width:4}
.iss3.iss-l{grid-template-columns:1fr;gap:0}
.mt-grid.mt3{grid-template-columns:1fr}
.grf{grid-template-columns:28px minmax(0,1fr) 28px}
.grf-h span:nth-child(3),.grf-h span:nth-child(4),.grf-r .grf-j,.grf-r .grf-m{display:none}
.grf-r .grf-g{border-radius:14px;border-right:1px solid rgba(11,31,75,.06)}
.grf-r .grf-g::after{content:attr(data-m);display:block;margin-top:6px;font:500 12.5px/1.5 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg2)}
.grf-l,.grf-rr{width:28px;height:calc(100% - 118px)}
.grf-lt,.grf-rt{grid-column:2;margin-top:6px;min-height:0}.grf-rt{text-align:right}
.stl{grid-template-columns:1fr;gap:0;margin-top:32px;border-left:1.6px solid #0B1F4B;padding-left:24px}
.stl-h{height:0;margin:0}
.stl-h::before{display:none}
.stl-dot{left:-32px;top:6px}
.stl-gate{display:none}
.stl-c{padding:0 0 28px;display:block}
.band-h{display:none}
.band-h,.band-r{grid-template-columns:1fr;row-gap:10px}
.band-g{grid-column:1;height:26px}
.band-g i{height:26px}
.fork{display:none}
.dff.dff-m{display:block;margin-top:28px;border-top:0}
.dff-m .dff-r{display:block;padding:0 0 26px;border-bottom:0}
.dff-m dt{display:flex;align-items:baseline;gap:10px;padding:14px 0 12px;border-top:1px solid var(--s-rule);font-size:16px;color:var(--s-fg)}
.dff-m dt i{font:600 12px/1 "Inter",sans-serif;font-style:normal;letter-spacing:.08em;color:var(--s-acc)}
.dff-m dd{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border-radius:10px}
.dff-m dd small{display:block;font:500 11.5px/1.4 "Zen Kaku Gothic New",sans-serif;opacity:1}
.dff-m .dff-c{border:1px dashed var(--s-rule);font-size:14.5px;color:var(--s-fg2)}
.dff-m .dff-c small{color:var(--s-fg2)}
.dff-m .dff-i{margin-top:8px;padding-left:14px;background:rgba(47,99,224,.08);overflow:hidden;font-size:16px;line-height:1.5}
.dff-m .dff-i::before{top:0;bottom:0;left:0;border-radius:0}
.dff-m .dff-i small{margin:0;font-weight:700;color:var(--s-acc)}
}

/* Method：整理の図 */
.sp2 .sp-cap{font:500 12px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.sp2 .sp-w{fill:#fff;stroke:rgba(11,31,75,.28);stroke-width:1}
.sp2 .sp-w.on{stroke:#2F64D8;stroke-width:1.4}
.sp2 .sp-wt{font:500 11.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.sp2 .sp-wt.on{font-weight:700;font-size:12.5px;fill:#0B1F4B}
.sp2 .sp-db ellipse,.sp2 .sp-db path{fill:#fff;stroke:#9FB3DA;stroke-width:1.2}
.sp2 .sp-db.on ellipse,.sp2 .sp-db.on path{fill:#DCE7FB;stroke:#2F64D8}
.sp2 .sp-t{font-size:12px}.sp2 .sp-d{font-size:12px}.sp2 .sp-g{font-size:11px}
.sp2 .sp-sep{stroke:rgba(11,31,75,.12);stroke-dasharray:3 4}
.sp2 .sp-ln2{fill:none;stroke:#2F64D8;stroke-width:1.3}
.sp2 .sp-ai{fill:#0B1F4B}.sp2 .sp-ait{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#fff}
.sp2 .sp-w.core{fill:#DCE7FB;stroke:#2F64D8;stroke-width:1.6}
.sp2 .sp-fl{fill:none;stroke:#FF8A3D;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sp2 .sp-res{font:700 14px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.sp2 .sp-ar{fill:none;stroke:#0B1F4B;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sp2 .sp-row{fill:#fff;stroke:rgba(11,31,75,.10);stroke-width:1}
.pg-light .sec.dk:nth-of-type(even) .sp2 .sp-row{fill:#F6F9FF}
.sp2 .sp-row.top{stroke:#2F64D8}
.sp2 .sp-dt{font:700 12px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.sp2 .sp-ln{stroke-width:1.2;stroke:#9FB3DA}
.sp2 .sp-up{fill:none;stroke:#2F64D8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Tools & Products：左に説明、右に概念図 */
.tp{grid-column:1/-1;margin-top:28px}
.tp-r{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:32px 64px;align-items:center;padding:44px 0;border-top:1px solid var(--s-rule);scroll-margin-top:96px}
.tp-r:last-child{border-bottom:1px solid var(--s-rule)}
.tp-k{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.tp-k .pd-tag{font:700 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#2F64D8;border-radius:999px;padding:5px 9px 4px}
.tp-use{font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:var(--s-acc)}
.tp-t h3{margin:0;font:700 26px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.tp-t .new{display:inline-block;margin:10px 0 0;font:700 11px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;color:#2F64D8;background:#fff;border:1px solid #2F64D8;border-radius:999px;padding:5px 9px}
.tp-d{margin:14px 0 0;font-size:15px;line-height:1.9;color:var(--s-fg2)}
.tp-p{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--s-rule)}
.tp-p li{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:10px;padding:12px 0;border-bottom:1px solid var(--s-rule)}
.tp-p li span{grid-row:1/3;width:24px;height:24px;border-radius:50%;background:#DCE7FB;color:#0B1F4B;font:700 12px/24px Inter,sans-serif;text-align:center}
.tp-p li b{font:700 14.5px/1.6 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg)}
.tp-p li small{font-size:12.5px;line-height:1.7;color:var(--s-fg2)}
.tp-n{margin:12px 0 0;font-size:12px;line-height:1.7;color:var(--s-fg2)}
.cf{margin:0}
.cf svg{display:block;width:100%;height:auto}
.cf-win{fill:#fff;stroke:rgba(11,31,75,.14)}
.cf-dot{fill:#C9D6EE}.cf-rule{stroke:rgba(11,31,75,.10)}
.cf-box{fill:#fff;stroke:rgba(11,31,75,.22);stroke-width:1}
.cf-box.ans{stroke:#FF8A3D;stroke-width:1.6}
.cf-chip{fill:#EAF1FF;stroke:rgba(47,100,216,.3)}
.cf-card{fill:#fff;stroke:rgba(11,31,75,.18)}
.cf-card.on{stroke:#2F64D8;stroke-width:1.6}
.cf-hub{fill:#0B1F4B}
.cf-ht{font:700 14px/1 Inter,"Zen Kaku Gothic New",sans-serif;fill:#fff;letter-spacing:.02em}
.cf-b{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.cf-s{font:500 10.5px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.cf-s.b{font-weight:700}.cf-s.m{fill:#3D5487}.cf-s.w{fill:#C9D6EE}
.cf-hub~.cf-s.b{fill:#fff}
.cf-gh{font:700 11px/1 Inter,sans-serif;letter-spacing:.06em;fill:#0B1F4B}.cf-gh.w{fill:#fff}
.cf-ln{fill:none;stroke:#9FB3DA;stroke-width:1.4}
.cf-ln.a{stroke:#2F64D8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cf-ln.d{stroke-dasharray:3 4;stroke:#2F64D8}
.cf-lk{fill:none;stroke:#2F64D8;stroke-width:1.4}
.cf-data{fill:#DCE7FB;stroke:#2F64D8;stroke-width:1}
.cf-db path,.cf-db ellipse{fill:#fff;stroke:#2F64D8;stroke-width:1.1}
.cf-dn{fill:none;stroke:#2F64D8;stroke-width:1.2;stroke-dasharray:2 3}
.cf-back{fill:none;stroke:#FF8A3D;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cf-e{fill:none;stroke:#5F86DD;stroke-width:1.4}
.cf-n{fill:#2F64D8;stroke:#fff;stroke-width:1.5}.cf-n.f{fill:#FF8A3D}
.cf-hub~.cf-n{stroke:#0B1F4B}
.cf-ai{fill:#fff;stroke:#FF8A3D}.cf-ai.k{stroke:#2F64D8}
.cf-ait{font:700 10px/1 "Zen Kaku Gothic New",sans-serif;fill:#0B1F4B}
.cf-cap{font:500 11px/1 "Zen Kaku Gothic New",sans-serif;fill:#3D5487}
.stl .st3-l span{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);padding:7px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--s-rule)}
@media (max-width:960px){.tp-r{grid-template-columns:1fr;padding:32px 0}.tp-t h3{font-size:21px}}

/* The Gap：壁を一つに */
.gap{grid-column:1/-1;margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 132px minmax(0,1fr);align-items:stretch}
.gap-c{position:relative;background:#fff;border-radius:20px;padding:28px 28px 30px;border:1px solid rgba(11,31,75,.08)}
.gap-c.no{background:transparent;border:1.6px dashed rgba(11,31,75,.35)}
.gap-k{margin:0;font:700 13px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.08em;color:var(--s-acc)}
.gap-k span{font-family:Inter,sans-serif;margin-right:10px}
.gap-v{margin:22px 0 0;font:700 30px/1.35 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);letter-spacing:.01em}
.gap-c.no .gap-v{color:rgba(11,31,75,.45)}
.gap-c.no .gap-v .money{background:linear-gradient(90deg,#FF2F7D,#FF8A3D);-webkit-background-clip:text;background-clip:text;color:transparent}
.gap-d{margin:12px 0 0;font-size:14px;line-height:1.8;color:var(--s-fg2)}
.gap-nt{margin:14px 0 0;padding-top:12px;border-top:1px dashed rgba(11,31,75,.25);font-size:12.5px;line-height:1.7;color:var(--s-fg2)}
.gap-m{position:absolute;top:22px;right:22px;width:28px;height:28px;border-radius:50%;background:#2F64D8;display:flex;align-items:center;justify-content:center}
.gap-c.no .gap-m{background:transparent;border:1.6px dashed rgba(11,31,75,.35)}
.gap-m svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.gap-a{display:flex;align-items:center;justify-content:center}
.gap-a svg{width:24px;height:24px;fill:none;stroke:#0B1F4B;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gap-w{position:relative;display:flex;align-items:center;justify-content:center}
.gap-w::before{content:"";position:absolute;top:-18px;bottom:-18px;left:50%;width:10px;margin-left:-5px;border-radius:5px;background:#0B1F4B}
.gap-w b{position:relative;background:#0B1F4B;color:#fff;font:700 13px/1.5 "Zen Kaku Gothic New",sans-serif;text-align:center;padding:10px 12px;border-radius:10px;white-space:nowrap}
.gap+.iss-sum{margin-top:40px}
@media (max-width:960px){
.gap{grid-template-columns:1fr;margin-top:32px}
.gap-c{padding:22px 22px 24px}.gap-v{font-size:24px;margin-top:16px}
.gap-a{height:40px}.gap-a svg{transform:rotate(90deg)}
.gap-w{height:72px}
.gap-w::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:8px;margin:-4px 0 0}
.gap-w b br{display:none}
}

/* ===== スマホの崩れ直し（2026-11-11） ===== */
@media (max-width:960px){
.grf-lt{grid-column:1/3;grid-row:6;text-align:left}
.grf-rt{grid-column:2/4;grid-row:6;text-align:right}
/* 細かい図は縮めずに、横にスクロールして読めるようにする */
.mt-side,.mt-grid>*,.tp-r>*{min-width:0}
.sp2,.cf{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}
.sp2 svg{min-width:580px}.cf svg{min-width:600px}
.sp2::after,.cf::after{content:"横にスクロールできます →";display:block;position:sticky;left:0;margin-top:8px;font:500 11px/1.4 "Zen Kaku Gothic New",sans-serif;color:#3D5487}
}
@media (max-width:560px){
.cl-grid.cl-names{grid-template-columns:1fr;gap:8px}
.cl-grid.cl-names li{min-height:0;padding:14px 12px}
.cl-names li br{display:none}
.el-n{font-size:9.5px;letter-spacing:-.03em}
}

/* ===== 導入事例 v3：四段トラッカー ===== */
.wk-el{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(11,31,75,.12)}
.wk-el .ek{font:700 12.5px/1 "Zen Kaku Gothic New",sans-serif;color:#3D5487;margin-right:4px}
.wk-el .fx{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:6px 10px 6px 6px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,31,75,.14);color:#0B1F4B;transition:box-shadow .2s,transform .2s}
.wk-el .fx b{font:800 12px/1 Inter,sans-serif;padding:6px 7px;border-radius:6px;background:var(--el-bg);color:var(--el-fg)}
.wk-el .fx small{font:700 12px/1 "Zen Kaku Gothic New",sans-serif}
.wk-el .fx:hover{box-shadow:inset 0 0 0 1.5px #2F64D8;transform:translateY(-1px)}
.pg-light .case:nth-of-type(even) .wk-el .fx{background:#F3F7FF}
.wk-key{grid-column:1/-1;list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:k}
.wk-key li{position:relative;counter-increment:k;font:700 13px/1 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);background:var(--s-card,#F3F7FF);border-radius:999px;padding:10px 16px 10px 14px}
.wk-key li::before{content:"0" counter(k);font:700 11px/1 Inter,sans-serif;letter-spacing:.08em;color:var(--s-acc);margin-right:8px}
.wk-key li + li{margin-left:14px}
.wk-key li + li::after{content:"";position:absolute;left:-16px;top:50%;width:6px;height:6px;border-right:1.5px solid #2F64D8;border-bottom:1.5px solid #2F64D8;transform:translate(0,-50%) rotate(-45deg)}
.case.wk3 .cin{grid-template-columns:5fr 7fr;min-height:0;padding:64px 48px;align-items:start}
.case.wk3.r .cin{grid-template-columns:5fr 7fr}
.case.wk3.r .ctext{order:0}
.case.wk3 h3{margin-bottom:22px}
.case.wk3 .ba{margin-top:0;max-width:none}
.case.wk3 .now{margin-top:20px}
.wk-trk{padding-top:8px}
.trk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;position:relative}
.trk::before{content:"";position:absolute;left:7px;right:7px;top:7px;height:1.6px;background:rgba(11,31,75,.25)}
.trk li{position:relative;padding:28px 0 0}
.trk li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:#fff;border:1.6px solid rgba(11,31,75,.4)}
.trk li.trk-done::before{background:#2F64D8;border-color:#2F64D8}
.trk li.trk-now::before{background:#FF8A3D;border-color:#FF8A3D;box-shadow:0 0 0 4px rgba(255,138,61,.25)}
.trk li.trk-now::after{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;border:1.6px solid #FF8A3D;animation:trk-p 2.2s ease-out infinite}
@keyframes trk-p{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.trk li.trk-now::after{animation:none;display:none}}
.trk li.trk-next::before,.trk li.trk-todo::before{border-style:dashed}
.trk .trk-n{display:flex;gap:8px;align-items:baseline;margin:0;font:600 10.5px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--s-acc)}
.trk .trk-n .no{font-weight:700;font-size:12px}
.trk h4{margin:8px 0 0;font:700 15px/1.45 "Zen Kaku Gothic New",sans-serif;color:var(--s-fg);min-height:2.9em}
.trk-s{display:inline-block;margin-top:8px;font:700 10.5px/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.06em;border-radius:999px;padding:5px 9px;background:rgba(11,31,75,.06);color:#3D5487}
.trk-done .trk-s{background:#DCE7FB;color:#0B1F4B}
.trk-now .trk-s{background:#FF8A3D;color:#fff}
.trk li > p:last-of-type,.trk li > p:nth-of-type(2){margin:10px 0 0;font-size:13px;line-height:1.75;color:var(--s-fg)}
.trk li.trk-next > p:nth-of-type(2),.trk li.trk-todo > p:nth-of-type(2){color:var(--s-fg2)}
.trk .prog.wk-g{margin-top:12px;padding-top:10px;gap:10px}
.trk .prog.wk-g li{width:auto;flex:1;font-size:10.5px}
.trk .prog.wk-g li::before{display:none}
.trk .prog.wk-g li + li::before{display:block;top:5px}
.trk .prog.wk-g li i{width:10px;height:10px}
.trk .prog.wk-g li::after{display:none}
.trk .prog.wk-g li{padding:0}
.trk .prog.wk-g ol{width:100%}
@media (max-width:960px){
.wk-key{margin-top:24px}.wk-key li{font-size:12px;padding:9px 12px 9px 11px}.wk-key li + li{margin-left:10px}.wk-key li + li::after{left:-12px}
.case.wk3 .cin,.case.wk3.r .cin{grid-template-columns:1fr;padding:48px 20px;gap:32px}
.trk{grid-template-columns:1fr;gap:0;padding-left:26px}
.trk::before{left:6px;right:auto;top:8px;bottom:8px;width:1.6px;height:auto}
.trk li{padding:0 0 24px}
.trk li::before,.trk li.trk-now::after{left:-26px;top:3px}
.trk h4{min-height:0}
}
