  :root{
    --bg:#0A0E1A; --panel:#0F1524; --panel2:#131A2C;
    --cyan:#2DD4F8; --sky:#38BDF8; --cta:#3B82F6;
    --head:#EEF2F8; --body:#8893A8; --line:rgba(120,140,170,.16);
    --line-cyan:rgba(56,189,248,.18);
  }
  * { box-sizing: border-box; }
  body { margin:0; font-family:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
         color:var(--body); background:var(--bg); line-height:1.7;
         background-image:radial-gradient(900px 500px at 80% -10%, rgba(45,212,248,.08), transparent 60%),
                          radial-gradient(700px 400px at 0% 0%, rgba(59,130,246,.07), transparent 55%); }

  /* ====== Header ====== */
  header { position:sticky; top:0; z-index:1000; background:rgba(10,14,26,.82);
           backdrop-filter:blur(10px); border-bottom:1px solid var(--line-cyan); }
  .bar { display:flex; align-items:center; padding:0 0 0 32px; height:76px; max-width:none; margin:0; }
  .logo { font-weight:700; font-size:20px; cursor:pointer; white-space:nowrap; color:#E7EEF7; letter-spacing:.05em; flex:none; }
  .logo i{ font-style:normal; font-weight:800; color:var(--cyan); }
  nav.top { display:flex; align-items:center; margin-left:26px; flex:1; flex-wrap:nowrap; white-space:nowrap; min-width:0; }
  .cta-group { display:flex; align-items:stretch; gap:0; height:76px; margin-left:auto; }

  .navitem { position:relative; }
  .navitem > a { display:flex; align-items:center; height:76px; padding:0 17px; text-decoration:none;
                 color:#C3CCDC; font-size:15.5px; cursor:pointer; white-space:nowrap; transition:color .15s; letter-spacing:.01em; }
  .navitem > a:hover { color:var(--cyan); }
  .navitem > a .caret { font-size:9px; color:#6B7891; margin-left:4px; opacity:.8; }
  /* メニュー間の薄い区切り線 */
  nav.top .navitem + .navitem::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
                 width:1px; height:20px; background:rgba(140,160,190,.22); pointer-events:none; }

  /* CTA buttons（ヘッダー高さいっぱいのソリッドブロック）*/
  .cta { display:flex; align-items:center; gap:9px; height:76px; padding:0 32px; border-radius:0; font-size:15px;
         font-weight:700; text-decoration:none; cursor:pointer; white-space:nowrap; transition:background .15s; }
  .cta .ext{ opacity:.85; }
  .cta-primary { background:linear-gradient(135deg,var(--cyan),var(--cta)); color:#06121F; }
  .cta-primary:hover { filter:brightness(1.07); }
  .cta-gray { background:#14203a; color:#CFE6F5; }
  .cta-gray:hover { background:#1b2a49; color:var(--cyan); }
  .cta-outline { background:transparent; color:var(--cyan); border:1.5px solid rgba(45,212,248,.55); }
  .cta-outline:hover { background:rgba(45,212,248,.12); border-color:var(--cyan); }
  .cta-wrap { position:relative; display:flex; }

  /* ====== Flyout menus ====== */
  .submenu { display:none; position:absolute; background:#0C1322; border:1px solid var(--line-cyan);
             border-radius:10px; box-shadow:0 18px 50px rgba(0,0,0,.55); padding:8px; min-width:272px; z-index:1001; }
  .submenu.d1 { top:76px; left:0; }
  .cta-wrap .submenu.d1 { top:76px; right:0; left:auto; }
  .submenu.d2 { top:-8px; left:100%; }
  .submenu.d3 { top:-8px; right:100%; left:auto; }
  .navitem:hover > .submenu.d1 { display:block; }
  .cta-wrap:hover > .submenu.d1 { display:block; }
  .menu-item:hover > .submenu { display:block; }
  /* クリック直後はメニューを閉じる（ホバーが残っても消える）*/
  header.collapsing .submenu, header.collapsing .mega { display:none !important; }

  /* 共通フライアウト見出し（会社情報・ニュース・お問い合わせで統一）*/
  .submenu-head{ display:flex; align-items:baseline; gap:10px; padding:9px 12px 11px; margin-bottom:4px; border-bottom:1px solid var(--line); }
  .submenu-head .en{ font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); }
  .submenu-head .ja{ font-size:12px; color:#7E8AA0; }

  .menu-item { position:relative; }
  .menu-item > a { display:flex; align-items:center; justify-content:space-between; gap:10px;
                   padding:9px 12px; border-radius:7px; text-decoration:none; color:#C3CCDC; cursor:pointer;
                   position:relative; transition:background .14s, color .14s; }
  .menu-item > a::before{ content:""; position:absolute; left:0; top:8px; bottom:8px; width:2px; border-radius:2px; background:var(--cyan); opacity:0; transition:opacity .14s; }
  .menu-item > a:hover { background:rgba(45,212,248,.10); color:var(--cyan); }
  .menu-item > a:hover::before{ opacity:1; }
  .menu-item .mi-main{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .menu-item .mi-l{ font-size:14px; font-weight:600; line-height:1.3; }
  .menu-item .mi-s{ font-size:11px; color:#7E8AA0; line-height:1.3; }
  .menu-item > a:hover .mi-s{ color:#9FBBCE; }
  .menu-item .code { color:#5F84A8; font-size:11px; margin-right:8px; font-family:"JetBrains Mono",monospace; flex:none; }
  .menu-item .arrow { color:#5E6E8A; font-size:13px; flex:none; }
  .menu-group { padding:9px 12px 4px; font-size:11px; font-weight:700; color:#6B7891; letter-spacing:.02em;
                border-top:1px solid var(--line); margin-top:4px; }
  .menu-group:first-child { border-top:none; margin-top:0; }
  .menu-section { padding:11px 12px 5px; font-size:14px; font-weight:800; color:var(--cyan);
                  border-top:1px solid var(--line); margin-top:6px; }
  .menu-section:first-child { border-top:none; margin-top:0; }

  /* ===== 統一ドロップダウン（会社情報・サービス・ニュース・お問い合わせ 共通の見た目）===== */
  .dd{ display:none; position:absolute; background:#0C1322; border:1px solid var(--line-cyan); box-shadow:0 24px 60px rgba(0,0,0,.55); z-index:1001; }
  .navitem:hover > .dd, .cta-wrap:hover > .dd{ display:block; }
  header.collapsing .dd{ display:none !important; }
  .dd.flyout{ top:76px; left:0; min-width:312px; border-radius:12px; padding:10px; }
  .cta-wrap .dd.flyout{ left:auto; right:0; }
  .dd.full{ position:fixed; top:76px; left:0; right:0; width:100%; border-left:none; border-right:none; border-radius:0; padding:0; }
  .dd-head{ display:flex; align-items:baseline; gap:12px; padding:13px 14px 12px; border-bottom:1px solid var(--line); margin-bottom:6px; }
  .dd.full .dd-head{ padding:22px 40px 16px; }
  .dd-head .en{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); }
  .dd-head .ja{ font-size:12px; color:#8593A8; }
  .dd-item{ display:flex; align-items:flex-start; gap:12px; padding:10px 12px; border-radius:8px; text-decoration:none; cursor:pointer; position:relative; transition:background .14s; }
  .dd-item::before{ content:""; position:absolute; left:0; top:9px; bottom:9px; width:2px; border-radius:2px; background:var(--cyan); opacity:0; transition:opacity .14s; }
  .dd-item:hover{ background:rgba(45,212,248,.10); }
  .dd-item:hover::before{ opacity:1; }
  .dd-ic{ width:34px; height:34px; flex:none; border:1px solid var(--line); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#7E93AC; transition:.14s; }
  .dd-item:hover .dd-ic{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.06); }
  .dd-ic svg{ width:18px; height:18px; }
  .dd-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .dd-l{ font-size:14px; font-weight:600; color:#D7E0EC; line-height:1.35; }
  .dd-item:hover .dd-l{ color:var(--cyan); }
  .dd-s{ font-size:11px; color:#7E8AA0; line-height:1.4; }
  .dd-item:hover .dd-s{ color:#9FBBCE; }
  /* full：4事業のカラム */
  .dd-cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:4px 0; padding:22px 28px 28px; max-width:1320px; margin:0 auto; }
  .dd-col{ min-width:0; padding:0 20px; }
  /* 事業ごとの区切り（薄い縦線）*/
  .dd-col + .dd-col{ border-left:1px solid var(--line-cyan); }
  .dd-subhead{ display:flex; align-items:center; gap:9px; padding:9px 12px 10px; margin-bottom:4px; border-bottom:1px solid var(--line-cyan); }
  .dd-subhead .ic{ width:24px; height:24px; flex:none; color:var(--cyan); display:inline-flex; align-items:center; justify-content:center; }
  .dd-subhead .ic svg{ width:19px; height:19px; }
  /* 大項目（事業名）は水色で強調 */
  .dd-subhead .t{ font-size:14.5px; font-weight:800; color:var(--cyan); cursor:pointer; letter-spacing:.02em; }
  .dd-subhead .t:hover{ color:var(--sky); }
  .dd-col .dd-item{ padding:8px 12px; }
  .dd-col .dd-item .dd-ic{ width:28px; height:28px; border-radius:6px; }
  .dd-col .dd-item .dd-ic svg{ width:15px; height:15px; }
  .dd-col .dd-l{ font-size:13px; }
  @media(max-width:1000px){ .dd-cols{ grid-template-columns:repeat(2,1fr); } }

  /* ====== Main / content ====== */
  .wrap { max-width:1000px; margin:0 auto; }
  main { padding:30px 36px 80px; }
  .crumb { font-size:12px; color:#6B7891; margin-bottom:16px; }
  .crumb a { color:#6B7891; text-decoration:none; cursor:pointer; }
  .crumb a:hover { color:var(--cyan); }
  .crumb b { color:#AEB8C9; font-weight:600; }
  .crumb span { color:#3A455C; margin:0 7px; }
  main h1 { font-size:27px; margin:0 0 8px; color:var(--head); position:relative; padding-left:15px; }
  main h1::before { content:""; position:absolute; left:0; top:.18em; bottom:.18em; width:4px; border-radius:3px;
                    background:linear-gradient(var(--cyan),var(--cta)); }
  .pid { display:inline-block; font-size:11px; color:var(--cyan); border:1px solid var(--line-cyan);
         border-radius:5px; padding:1px 8px; margin-bottom:10px; background:rgba(45,212,248,.06); }
  .desc { font-size:14px; color:var(--body); margin-bottom:22px; }

  /* Hero (HOME) */
  .hero { padding:54px 0 40px; border-bottom:1px solid var(--line); margin-bottom:26px; }
  .eyebrow { font-size:12px; letter-spacing:.28em; color:var(--sky); font-weight:700; margin-bottom:16px; }
  .hero-h1 { font-size:42px; line-height:1.3; margin:0 0 18px; color:var(--head); font-weight:800; letter-spacing:.01em; }
  .hero-h1 b, .accent { background:linear-gradient(90deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .hero-sub { font-size:15px; color:var(--body); margin:0 0 28px; }
  .hero-cta { display:flex; gap:12px; }
  .sec-label { font-size:12px; font-weight:700; letter-spacing:.1em; color:#6B7891; text-transform:uppercase; margin:6px 0 14px; }

  table.profile { border-collapse:collapse; width:100%; font-size:13px; margin-top:4px;
                  border:1px solid var(--line); border-radius:10px; overflow:hidden; }
  table.profile th { text-align:left; vertical-align:top; width:215px; background:rgba(45,212,248,.06);
                     color:var(--sky); font-weight:700; border-bottom:1px solid var(--line); border-right:1px solid var(--line); padding:10px 13px; }
  table.profile td { vertical-align:top; border-bottom:1px solid var(--line); padding:10px 13px; color:#C3CCDC; }
  table.profile tr:last-child th, table.profile tr:last-child td { border-bottom:none; }
  table.profile td > div { margin:1px 0; }

  .section-block { border:1px solid var(--line-cyan); border-radius:10px; padding:15px 17px; margin:11px 0;
                   background:linear-gradient(180deg, rgba(45,212,248,.04), rgba(45,212,248,0)); }
  .sb-head { display:flex; align-items:center; gap:10px; }
  .sb-no { flex:none; width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,var(--cyan),var(--cta));
           color:#06121F; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
  .sb-title { font-weight:700; color:var(--head); font-size:14px; }
  .sb-ph { margin-top:9px; font-size:13px; color:#6B7891; border-top:1px solid var(--line); padding-top:9px; }
  .childlinks { margin-top:30px; }
  .childlinks h2 { font-size:12px; color:#6B7891; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
                   border-top:1px solid var(--line); padding-top:16px; }
  .childlinks a { display:inline-block; margin:4px 8px 4px 0; padding:7px 13px; background:rgba(45,212,248,.08);
                  border:1px solid var(--line-cyan); border-radius:7px; text-decoration:none; color:var(--sky); font-size:13px; cursor:pointer; }
  .childlinks a:hover { background:rgba(45,212,248,.18); color:var(--cyan); }
  footer { border-top:1px solid var(--line); padding:18px 16px; font-size:11px; color:#566179; text-align:center; }
  .note { background:rgba(255,196,84,.08); border:1px solid rgba(255,196,84,.3); padding:8px 12px; font-size:12px;
          border-radius:7px; margin:14px 0; color:#E5BE73; }

  /* ===== Security + AI theme ===== */
  :root{ --mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace; }
  body::before{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:linear-gradient(rgba(56,189,248,.045) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(56,189,248,.045) 1px, transparent 1px);
    background-size:48px 48px;
    -webkit-mask-image:radial-gradient(1000px 600px at 75% -5%, #000, transparent 75%);
    mask-image:radial-gradient(1000px 600px at 75% -5%, #000, transparent 75%); }
  /* header は base で position:sticky; z-index:1000 のまま最前面に。本文だけ下げる */
  .wrap, footer{ position:relative; z-index:1; }
  header::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--cyan), var(--cta), transparent); opacity:.65; }

  .eyebrow,.sec-label,.pid,.menu-item .code{ font-family:var(--mono); }
  .crumb{ font-family:var(--mono); letter-spacing:.02em; }

  .logo .mark{ display:inline-flex; vertical-align:-4px; margin-right:9px;
    filter:drop-shadow(0 0 6px rgba(45,212,248,.5)); }

  /* Hero: text + visual */
  .hero{ display:flex; align-items:center; gap:28px; padding:46px 0 42px; }
  .hero-text{ flex:1; min-width:0; }
  .hero-visual{ flex:none; width:290px; filter:drop-shadow(0 0 34px rgba(45,212,248,.28)); }
  .hero-h1{ font-size:38px; }
  @media(max-width:840px){ .hero{ flex-direction:column-reverse; align-items:flex-start; } .hero-visual{ width:230px; } .hero-h1{ font-size:31px; } }

  .scan{ transform-box:fill-box; transform-origin:center; animation:spin 16s linear infinite; }
  .scan2{ transform-box:fill-box; transform-origin:center; animation:spin 24s linear infinite reverse; }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .node{ animation:pulse 2.6s ease-in-out infinite; }
  .node:nth-of-type(2){ animation-delay:.5s } .node:nth-of-type(3){ animation-delay:1s } .node:nth-of-type(4){ animation-delay:1.5s }
  @keyframes pulse{ 0%,100%{ opacity:.35 } 50%{ opacity:1 } }
  .flow{ stroke-dasharray:4 7; animation:dash 3.2s linear infinite; }
  @keyframes dash{ to{ stroke-dashoffset:-44 } }

  .section-block{ position:relative; overflow:hidden; }
  .section-block::after{ content:""; position:absolute; left:0; top:0; width:3px; height:100%;
    background:linear-gradient(var(--cyan), transparent); opacity:.55; }
  .menu-section::before{ content:"▸ "; color:var(--cyan); }

  /* ===== Full-width mega menu (Service) — NRI-style ===== */
  .mega{ display:none; position:fixed; left:0; right:0; top:76px; z-index:1001;
    background:#0C1322; border-top:1px solid var(--line-cyan); border-bottom:1px solid var(--line-cyan);
    box-shadow:0 34px 70px rgba(0,0,0,.55); }
  .navitem:hover > .mega{ display:block; }
  .mega-inner{ max-width:none; margin:0; display:flex; min-height:380px; padding:0 24px; }
  .mega-main{ flex:1; min-width:0; padding:26px 30px 34px 40px; }
  .mega-title{ padding:0 0 14px; }
  .mega-title h3{ margin:0; font-size:24px; font-weight:800; letter-spacing:.05em; color:var(--head); }
  .mega-title h3 b{ color:var(--cyan); font-weight:800; }
  .mega-title .sub{ font-family:var(--mono); font-size:12px; color:#6B7891; margin-top:3px; letter-spacing:.1em; }
  .mega-cols{ display:flex; }
  .mega-left{ width:380px; flex:none; }
  /* 事業 = 最重要：最大・最も明るい */
  .mega-biz{ font-size:19px; font-weight:800; color:var(--head); padding:20px 14px 8px;
    letter-spacing:.01em; display:flex; align-items:center; gap:9px; }
  .mega-biz::before{ content:""; width:8px; height:8px; border-radius:2px; flex:none;
    background:linear-gradient(135deg,var(--cyan),var(--cta)); box-shadow:0 0 8px rgba(45,212,248,.6); }
  .mega-left .mega-biz:first-child{ padding-top:4px; }
  /* カテゴリ = 中間 */
  .mega-cat{ display:flex; align-items:center; gap:14px; padding:16px 16px; font-size:16px; font-weight:700; white-space:nowrap;
    color:#9CA8BC; cursor:pointer; border-radius:9px; transition:.12s; }
  .mega-cat .ic{ width:22px; height:22px; flex:none; color:#6E7C94; display:inline-flex; }
  .mega-cat .ic svg{ width:22px; height:22px; }
  .mega-cat .chev{ margin-left:auto; color:#46506A; font-size:15px; }
  .mega-cat:hover, .mega-cat.active{ color:var(--head);
    background:linear-gradient(90deg, rgba(45,212,248,.16), rgba(45,212,248,.03)); }
  .mega-cat:hover .ic, .mega-cat.active .ic, .mega-cat.active .chev{ color:var(--cyan); }
  .mega-mid{ flex:1; min-width:0; margin-left:24px; background:#080D18; border:1px solid var(--line);
    border-radius:12px; padding:22px 26px; }
  .mega-panel{ display:none; }
  .mega-panel.active{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 40px; align-content:start; }
  /* カテゴリ項目（中央） */
  .mega-svc{ display:flex; align-items:center; gap:12px; padding:15px 14px; border-radius:7px; white-space:nowrap;
    text-decoration:none; color:#AEB8C9; font-size:16px; font-weight:600; cursor:pointer; }
  .mega-svc::before{ content:"›"; color:#3E6B83; font-size:16px; flex:none; }
  .mega-svc:hover{ background:rgba(45,212,248,.10); color:var(--cyan); }
  .mega-svc:hover::before{ color:var(--cyan); }
  .mega-svc .code{ color:#566884; font-family:var(--mono); font-size:10.5px; flex:none; }
  .mega-promo{ width:284px; flex:none; border-left:1px solid var(--line); padding:24px 22px;
    display:flex; flex-direction:column; gap:12px; }
  .promo-btn{ display:block; text-align:center; padding:12px; border:1px solid var(--line-cyan);
    border-radius:10px; color:var(--sky); font-size:13px; font-weight:700; text-decoration:none; cursor:pointer; }
  .promo-btn:hover{ background:rgba(45,212,248,.08); color:var(--cyan); }
  .promo-card{ display:block; padding:14px 16px; border:1px solid var(--line); border-radius:10px; text-decoration:none; cursor:pointer;
    background:linear-gradient(135deg, rgba(45,212,248,.06), rgba(59,130,246,.03)); transition:.12s; }
  .promo-card:hover{ border-color:var(--line-cyan); }
  .promo-card .pc-t{ color:var(--head); font-weight:700; font-size:14px; }
  .promo-card .pc-s{ color:#8893A8; font-size:11px; margin:2px 0 8px; }
  .promo-card .pc-link{ color:var(--cyan); font-size:11px; font-family:var(--mono); }
  @media(max-width:1060px){ .mega-promo{ display:none; } }
  @media(max-width:880px){ .mega-cols{ flex-direction:column; } .mega-left{ width:100%; }
    .mega-mid{ margin-left:0; margin-top:12px; } .mega-panel.active{ grid-template-columns:1fr; } }

  /* ===== Designed Company / Board pages (NorthSand-style) ===== */
  .cmp-hero{ padding:30px 0 30px; border-bottom:1px solid var(--line); margin-bottom:6px; }
  .cmp-hero .eyebrow{ margin-bottom:10px; }
  .cmp-h1{ font-size:44px; font-weight:800; color:var(--head); margin:0; letter-spacing:.06em; padding:0; }
  .cmp-h1::before{ display:none; }
  .cmp-hero-sub{ color:var(--body); font-size:15px; margin:14px 0 0; }
  .cmp-sec{ display:grid; grid-template-columns:210px 1fr; gap:26px; padding:50px 0; border-top:1px solid var(--line); }
  .cmp-head{ position:sticky; top:96px; align-self:start; }
  .cmp-num{ font-family:var(--mono); color:var(--cyan); font-size:14px; letter-spacing:.12em; display:block; }
  .cmp-label{ display:block; margin-top:10px; font-size:15px; font-weight:700; color:var(--head); }
  .cmp-headline{ font-size:30px; line-height:1.55; font-weight:800; color:var(--head); margin:0 0 18px; }
  .cmp-text{ color:var(--body); font-size:14.5px; line-height:1.9; margin:0 0 12px; max-width:700px; }
  .cmp-lead{ font-size:22px; font-weight:700; color:var(--head); line-height:1.75; margin:0 0 22px; }
  .sign{ margin-top:26px; }
  .sign-role{ display:block; font-size:12px; color:var(--body); font-family:var(--mono); letter-spacing:.08em; }
  .sign-name{ display:block; font-size:21px; font-weight:700; color:var(--head); margin-top:5px; letter-spacing:.1em; }

  .exec-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:6px; }
  .exec-card{ position:relative; border:1px solid var(--line); border-radius:12px; padding:26px 24px; transition:.15s; }
  .exec-card::before{ content:""; position:absolute; left:24px; top:-1px; width:30px; height:2px;
    background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .exec-card:hover{ border-color:var(--line-cyan); background:rgba(45,212,248,.03); }
  .exec-role{ font-family:var(--mono); font-size:12px; color:var(--cyan); letter-spacing:.06em; }
  .exec-en{ font-size:19px; font-weight:800; color:var(--head); letter-spacing:.08em; margin-top:12px; }
  .exec-jp{ font-size:14px; color:var(--body); margin-top:4px; }
  .cmp-more{ display:inline-block; margin-top:24px; font-family:var(--mono); font-size:13px;
    color:var(--cyan); cursor:pointer; text-decoration:none; letter-spacing:.06em; }
  .cmp-more:hover{ color:var(--sky); }

  .cmp-dl{ margin:0; }
  .cmp-dl .dl-row{ display:grid; grid-template-columns:190px 1fr; gap:18px; padding:15px 2px; border-bottom:1px solid var(--line); }
  .cmp-dl dt{ font-size:13px; font-weight:700; color:var(--sky); }
  .cmp-dl dd{ margin:0; font-size:14px; color:#C3CCDC; line-height:1.8; }
  .cmp-dl dd span{ display:block; }

  .cert-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  .cert{ border:1px solid var(--line-cyan); border-radius:12px; padding:18px; display:flex; gap:14px; align-items:center;
    background:linear-gradient(135deg, rgba(45,212,248,.06), transparent); }
  .cert-ic{ width:34px; height:34px; color:var(--cyan); flex:none; }
  .cert-ic svg{ width:100%; height:100%; }
  .cert-t{ color:var(--head); font-weight:700; font-size:15px; }
  .cert-s{ color:var(--body); font-size:12px; margin-top:2px; }
  @media(max-width:760px){ .cmp-sec{ grid-template-columns:1fr; gap:12px; padding:36px 0; }
    .cmp-head{ position:static; } .exec-grid,.cert-grid{ grid-template-columns:1fr; }
    .cmp-dl .dl-row{ grid-template-columns:1fr; gap:4px; } .cmp-h1{ font-size:34px; } .cmp-headline{ font-size:24px; } }

  /* ===== Service landing page ===== */
  .wrap.full{ max-width:none; }
  .wrap.full main{ padding:0; }
  .sv-sec{ padding:84px 24px; }
  .sv-inner{ max-width:1200px; margin:0 auto; }
  .sv-grid-bg{ position:relative; }
  .sv-grid-bg::before{ content:""; position:absolute; inset:0; pointer-events:none;
    background-image:linear-gradient(rgba(56,189,248,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.04) 1px,transparent 1px); background-size:50px 50px; }
  .sv-divider{ height:1px; background:linear-gradient(90deg,transparent,rgba(56,189,248,.25),rgba(59,130,246,.2),transparent); }

  .sv-hero{ padding:84px 24px 64px; position:relative; overflow:hidden;
    background:radial-gradient(900px 520px at 28% -10%, rgba(45,212,248,.13), transparent 60%); }
  .sv-hero-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:center; }
  .sv-eyebrow{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
  .sv-eyebrow .bar{ width:46px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .sv-eyebrow span{ font-family:var(--mono); font-size:11px; letter-spacing:.32em; color:var(--sky); font-weight:700; text-transform:uppercase; }
  .sv-h1{ font-size:46px; line-height:1.2; font-weight:800; color:var(--head); margin:0 0 22px; letter-spacing:.01em; }
  .sv-h1 .g{ background:linear-gradient(135deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .sv-lead{ color:var(--body); font-size:15.5px; line-height:1.95; max-width:520px; border-left:2px solid rgba(45,212,248,.3); padding-left:22px; margin:0 0 38px; }
  .sv-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:36px; padding-top:30px; border-top:1px solid var(--line); }
  .sv-stat .num{ font-size:46px; font-weight:800; color:var(--head); line-height:1; display:flex; align-items:baseline; gap:4px; }
  .sv-stat .num b{ color:var(--cyan); font-size:26px; }
  .sv-stat .lab{ font-size:11px; font-weight:700; letter-spacing:.16em; color:var(--body); text-transform:uppercase; margin-top:12px; }

  .sv-form{ background:#0F1524; border:1px solid var(--line-cyan); border-radius:14px; padding:30px; position:relative; overflow:hidden; }
  .sv-form::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .sv-form h3{ color:var(--head); font-size:20px; font-weight:800; margin:0 0 22px; }
  .sv-field{ margin-bottom:16px; }
  .sv-field label{ display:block; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#6B7891; margin-bottom:7px; }
  .sv-field input, .sv-field select{ width:100%; background:#0A0E1A; border:1px solid var(--line); border-radius:8px; padding:12px 14px; color:var(--head); font-size:14px; outline:none; }
  .sv-field input:focus, .sv-field select:focus{ border-color:var(--cyan); }
  .sv-radio{ display:flex; align-items:center; gap:10px; color:#C3CCDC; font-size:13px; margin:9px 0; cursor:pointer; }
  .sv-submit{ width:100%; border:none; border-radius:8px; padding:14px; font-weight:800; font-size:13px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; color:#06121F; background:linear-gradient(135deg,var(--cyan),var(--cta)); box-shadow:0 4px 18px rgba(45,212,248,.28); }

  .sv-proof{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; background:rgba(45,212,248,.02); overflow:hidden; }
  .sv-proof .cap{ text-align:center; font-family:var(--mono); font-size:10px; letter-spacing:.32em; color:#566884; text-transform:uppercase; margin-bottom:18px; }
  .sv-marquee{ display:flex; gap:60px; white-space:nowrap; width:max-content; animation:svscroll 30s linear infinite; padding-left:60px; }
  .sv-marquee span{ color:#8893A8; font-size:18px; font-weight:800; opacity:.42; }
  @keyframes svscroll{ to{ transform:translateX(-50%); } }

  .sv-shead{ margin-bottom:46px; }
  .sv-shead .eb{ font-family:var(--mono); font-size:11px; letter-spacing:.32em; color:var(--sky); font-weight:700; text-transform:uppercase; }
  .sv-shead h2{ font-size:38px; font-weight:800; color:var(--head); margin:14px 0 0; }
  .sv-shead .ul{ width:78px; height:4px; border-radius:3px; background:linear-gradient(90deg,var(--cyan),var(--cta)); margin-top:20px; }

  .sv-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .sv-card{ position:relative; overflow:hidden; border:1px solid var(--line); border-radius:14px; padding:34px 30px; background:rgba(30,32,40,.35); transition:.3s; }
  .sv-card:hover{ border-color:var(--line-cyan); transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(45,212,248,.2); }
  .sv-card .wm{ position:absolute; top:-26px; right:6px; font-size:120px; font-weight:800; color:rgba(255,255,255,.03); }
  .sv-card .ic{ color:var(--cyan); width:44px; height:44px; margin-bottom:54px; }
  .sv-card .ic svg{ width:100%; height:100%; }
  .sv-card .cl{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--sky); font-weight:700; display:block; margin-bottom:10px; }
  .sv-card h3{ font-size:19px; color:var(--head); margin:0 0 12px; font-weight:700; }
  .sv-card p{ color:var(--body); font-size:13.5px; line-height:1.85; margin:0; }

  .sv-why{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
  .sv-why-visual{ height:470px; border:1px solid var(--line); border-radius:14px; position:relative; overflow:hidden;
    background:radial-gradient(600px 400px at 50% 28%, rgba(45,212,248,.12), transparent), #0A0E1A; }
  .sv-why-visual .ov{ position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:40px 40px; }
  .sv-why-visual .badge{ position:absolute; left:24px; right:24px; bottom:24px; background:rgba(10,14,26,.72); border:1px solid var(--line-cyan); border-radius:12px; padding:22px; backdrop-filter:blur(8px); }
  .sv-why-visual .badge .bic{ width:34px; height:34px; color:var(--cyan); }
  .sv-why-visual .badge .bic svg{ width:100%; height:100%; }
  .sv-why-visual .badge p{ color:var(--head); font-size:16px; font-weight:700; margin:12px 0 0; }
  .sv-why-list{ list-style:none; margin:0; padding:0; }
  .sv-why-list li{ display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
  .sv-why-list li:last-child{ border-bottom:none; }
  .sv-why-ic{ flex:none; width:50px; height:50px; border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--cyan); }
  .sv-why-ic svg{ width:24px; height:24px; }
  .sv-why-list h4{ color:var(--head); font-size:16px; font-weight:700; margin:0 0 6px; }
  .sv-why-list p{ color:var(--body); font-size:13.5px; line-height:1.8; margin:0; }

  .sv-rel{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .sv-rel a{ display:block; text-decoration:none; border:1px solid var(--line); border-radius:14px; padding:24px; background:rgba(26,28,32,.6); transition:.3s; }
  .sv-rel a:hover{ border-color:var(--line-cyan); background:linear-gradient(135deg,rgba(45,212,248,.05),rgba(59,130,246,.03)); }
  .sv-rel .thumb{ height:130px; border-radius:10px; margin-bottom:18px; position:relative; overflow:hidden;
    background:radial-gradient(300px 160px at 50% 0%, rgba(45,212,248,.14), transparent), #0B1120; border:1px solid var(--line); }
  .sv-rel .thumb .ic{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--cyan); opacity:.7; }
  .sv-rel .thumb .ic svg{ width:42px; height:42px; }
  .sv-rel h3{ color:var(--head); font-size:16px; font-weight:700; margin:0 0 10px; }
  .sv-rel p{ color:var(--body); font-size:13px; line-height:1.8; margin:0 0 14px; }
  .sv-rel .more{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--cyan); text-transform:uppercase; }

  .sv-cta{ position:relative; overflow:hidden; padding:90px 24px; text-align:center; background:linear-gradient(135deg,var(--cyan),var(--cta)); width:100vw; margin-left:calc(50% - 50vw); }
  .sv-cta::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px); background-size:44px 44px; }
  .sv-cta-in{ position:relative; max-width:760px; margin:0 auto; }
  .sv-cta h2{ font-size:42px; font-weight:800; color:#06121F; margin:0 0 18px; line-height:1.28; }
  .sv-cta p{ color:rgba(6,18,31,.82); font-size:15px; font-weight:600; margin:0 0 34px; }
  .sv-cta .btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .sv-cta .b1{ background:#0A0E1A; color:#fff; padding:16px 32px; border-radius:10px; font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border:none; }
  .sv-cta .b2{ background:transparent; color:#06121F; border:2px solid #06121F; padding:15px 32px; border-radius:10px; font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
  @media(max-width:900px){ .sv-hero-inner,.sv-why{ grid-template-columns:1fr; } .sv-cards,.sv-rel{ grid-template-columns:1fr; } .sv-h1{ font-size:34px; } .sv-cta h2{ font-size:30px; } }

  /* ===== 共通ページレイアウト（一覧・フォーム・ハブ等）===== */
  .sv-field textarea{ width:100%; background:#0A0E1A; border:1px solid var(--line); border-radius:8px; padding:12px 14px; color:var(--head); font-size:14px; outline:none; resize:vertical; font-family:inherit; }
  .sv-field textarea:focus{ border-color:var(--cyan); }
  .card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; }
  .card-grid.two{ grid-template-columns:repeat(2,1fr); }
  .lcard{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:rgba(26,28,32,.5); transition:.25s; text-decoration:none; display:block; }
  .lcard:hover{ border-color:var(--line-cyan); transform:translateY(-3px); }
  .lcard .thumb{ height:148px; background:radial-gradient(300px 160px at 50% 0%, rgba(45,212,248,.14), transparent), #0B1120; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--cyan); }
  .lcard .thumb svg{ width:40px; height:40px; opacity:.7; }
  .lcard .body{ padding:18px 20px; }
  .lcard .tag{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--sky); text-transform:uppercase; }
  .lcard .date{ font-family:var(--mono); font-size:11px; color:#566884; margin-left:8px; }
  .lcard h3{ color:var(--head); font-size:15px; font-weight:700; margin:9px 0 8px; line-height:1.55; }
  .lcard p{ color:var(--body); font-size:12.5px; line-height:1.7; margin:0; }

  .nlist{ margin-top:26px; border-top:1px solid var(--line); }
  .nrow{ display:flex; gap:20px; align-items:center; padding:17px 4px; border-bottom:1px solid var(--line); text-decoration:none; }
  .nrow:hover{ background:rgba(45,212,248,.03); }
  .nrow .d{ font-family:var(--mono); font-size:12px; color:#566884; flex:none; width:92px; }
  .nrow .c{ font-family:var(--mono); font-size:10px; color:var(--sky); border:1px solid var(--line-cyan); border-radius:5px; padding:2px 9px; flex:none; }
  .nrow .t{ color:#C3CCDC; font-size:14px; }
  .nrow:hover .t{ color:var(--cyan); }
  .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
  .chip{ font-family:var(--mono); font-size:11px; color:#8893A8; border:1px solid var(--line); border-radius:20px; padding:6px 14px; cursor:pointer; }
  .chip.active, .chip:hover{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.06); }

  .hub-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:30px; }
  .hub-card{ display:flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:12px; padding:24px; text-decoration:none; transition:.2s; background:rgba(26,28,32,.4); }
  .hub-card:hover{ border-color:var(--line-cyan); background:linear-gradient(135deg,rgba(45,212,248,.05),transparent); }
  .hub-ic{ width:46px; height:46px; border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--cyan); flex:none; }
  .hub-ic svg{ width:24px; height:24px; }
  .hub-card h3{ color:var(--head); font-size:15px; font-weight:700; margin:0 0 4px; }
  .hub-card p{ color:var(--body); font-size:12.5px; margin:0; }
  .hub-card .arr{ margin-left:auto; color:var(--cyan); font-size:18px; }

  .cform{ max-width:620px; }
  .prose{ max-width:720px; margin-top:10px; }
  .prose p{ color:var(--body); font-size:15px; line-height:2; margin:0 0 18px; }
  .mv-grid{ display:grid; gap:14px; margin-top:26px; }
  .mv-item{ border:1px solid var(--line); border-left:3px solid var(--cyan); border-radius:10px; padding:22px 24px; }
  .mv-item .l{ font-family:var(--mono); font-size:11px; color:var(--sky); letter-spacing:.1em; text-transform:uppercase; }
  .mv-item .v{ color:var(--head); font-size:20px; font-weight:700; margin-top:8px; line-height:1.6; }
  .mv-item .d{ color:var(--body); font-size:13px; margin-top:8px; }
  @media(max-width:760px){ .card-grid,.hub-grid{ grid-template-columns:1fr; } }

  /* ===== Baycurrent-style TOP ===== */
  .wrap.home{ max-width:none; }
  .wrap.home main{ padding:0; }
  .bc-sec{ padding:96px 24px; position:relative; }
  .bc-inner{ max-width:1180px; margin:0 auto; }
  .bc-divider{ height:1px; background:linear-gradient(90deg,transparent,rgba(56,189,248,.22),rgba(59,130,246,.18),transparent); }

  /* Main Visual */
  .bc-mv{ position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; padding:0 24px; }
  .bc-mv .bc-inner{ position:relative; z-index:2; width:100%; }
  .bc-mv-eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.36em; color:var(--sky); font-weight:700; text-transform:uppercase; margin-bottom:34px; }
  .bc-mv h1{ font-size:80px; line-height:1.06; font-weight:800; color:var(--head); margin:0; letter-spacing:.005em; }
  .bc-mv h1 .g{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bc-mv .jp{ font-size:22px; color:#C3CCDC; margin:36px 0 0; line-height:1.95; font-weight:500; max-width:640px; }
  .bc-mv .cue{ position:absolute; left:24px; bottom:34px; font-family:var(--mono); font-size:11px; letter-spacing:.3em; color:#566884; text-transform:uppercase; display:flex; align-items:center; gap:12px; z-index:2; }
  .bc-mv .cue::before{ content:""; width:34px; height:1px; background:var(--cyan); animation:cueline 2.4s ease-in-out infinite; transform-origin:left; }
  @keyframes cueline{ 0%,100%{ transform:scaleX(.3); opacity:.4 } 50%{ transform:scaleX(1); opacity:1 } }
  .bc-mv-visual{ position:absolute; right:-30px; top:50%; transform:translateY(-50%); width:600px; max-width:54vw; opacity:.55; z-index:1; filter:drop-shadow(0 0 70px rgba(45,212,248,.32)); pointer-events:none; }
  @media(max-width:900px){ .bc-mv h1{ font-size:50px; } .bc-mv-visual{ opacity:.22; right:-90px; width:460px; } .bc-mv .jp{ font-size:18px; } }
  @media(max-width:560px){ .bc-mv h1{ font-size:38px; } }

  /* Section head (English big + JP mono) */
  .bc-shead{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:42px; flex-wrap:wrap; gap:12px; }
  .bc-shead .l{ display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
  .bc-shead .en{ font-size:36px; font-weight:800; color:var(--head); letter-spacing:.02em; line-height:1; }
  .bc-shead .jp{ font-family:var(--mono); font-size:12px; letter-spacing:.22em; color:var(--sky); text-transform:uppercase; }
  .bc-viewall{ font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--cyan); cursor:pointer; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
  .bc-viewall:hover{ color:var(--sky); }
  .bc-viewall .ar{ transition:transform .2s; }
  .bc-viewall:hover .ar{ transform:translateX(4px); }

  /* Pickup News */
  .bc-news{ border-top:1px solid var(--line); }
  .bc-news-row{ display:flex; gap:26px; align-items:center; padding:22px 4px; border-bottom:1px solid var(--line); cursor:pointer; text-decoration:none; }
  .bc-news-row:hover{ background:rgba(45,212,248,.03); }
  .bc-news-row .d{ font-family:var(--mono); font-size:13px; color:var(--sky); flex:none; width:74px; }
  .bc-news-row .c{ font-family:var(--mono); font-size:10px; color:#9FB4CC; border:1px solid var(--line-cyan); border-radius:5px; padding:3px 11px; flex:none; }
  .bc-news-row .t{ color:#C3CCDC; font-size:15px; }
  .bc-news-row:hover .t{ color:var(--cyan); }
  @media(max-width:640px){ .bc-news-row{ flex-wrap:wrap; gap:8px 14px; } }

  /* Frontline Insights */
  .bc-ins{ display:grid; grid-template-columns:1.35fr 1fr; gap:34px; }
  .bc-ins-feat{ display:block; text-decoration:none; }
  .bc-ins-feat .thumb{ height:300px; border-radius:14px; border:1px solid var(--line); position:relative; overflow:hidden;
    background:radial-gradient(440px 240px at 32% 0%, rgba(45,212,248,.18), transparent), #0B1120; display:flex; align-items:center; justify-content:center; }
  .bc-ins-feat .thumb::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:38px 38px; }
  .bc-ins-feat .thumb .ic{ color:var(--cyan); opacity:.65; position:relative; z-index:1; }
  .bc-ins-feat .thumb .ic svg{ width:62px; height:62px; }
  .bc-ins-feat:hover .thumb{ border-color:var(--line-cyan); }
  .bc-ins-feat .meta{ display:flex; align-items:center; gap:12px; margin:20px 0 12px; }
  .bc-ins-feat .tag{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--sky); text-transform:uppercase; }
  .bc-ins-feat .date{ font-family:var(--mono); font-size:11px; color:#566884; }
  .bc-ins-feat h3{ color:var(--head); font-size:23px; font-weight:800; line-height:1.5; margin:0 0 14px; }
  .bc-ins-feat:hover h3{ color:var(--cyan); }
  .bc-ins-feat p{ color:var(--body); font-size:14px; line-height:1.9; margin:0; }
  .bc-ins-side{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
  .bc-ins-item{ display:block; text-decoration:none; padding:22px 2px; border-bottom:1px solid var(--line); }
  .bc-ins-item:hover{ background:rgba(45,212,248,.03); }
  .bc-ins-item .meta{ display:flex; align-items:center; gap:12px; margin-bottom:9px; }
  .bc-ins-item .tag{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; color:var(--sky); text-transform:uppercase; border:1px solid var(--line-cyan); border-radius:4px; padding:2px 8px; }
  .bc-ins-item .date{ font-family:var(--mono); font-size:11px; color:#566884; }
  .bc-ins-item h4{ color:#C3CCDC; font-size:15px; font-weight:700; line-height:1.6; margin:0; }
  .bc-ins-item:hover h4{ color:var(--cyan); }
  @media(max-width:860px){ .bc-ins{ grid-template-columns:1fr; } }

  /* Careers band */
  .bc-careers{ position:relative; overflow:hidden; background:radial-gradient(700px 420px at 78% 20%, rgba(45,212,248,.10), transparent 60%), #0C1322; border-top:1px solid var(--line-cyan); border-bottom:1px solid var(--line-cyan); }
  .bc-careers .bc-inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .bc-careers .en{ font-size:48px; font-weight:800; color:var(--head); margin:0 0 8px; letter-spacing:.02em; }
  .bc-careers .jp-lbl{ font-family:var(--mono); font-size:12px; letter-spacing:.22em; color:var(--sky); text-transform:uppercase; }
  .bc-careers p{ color:var(--body); font-size:15px; line-height:2; margin:22px 0 30px; max-width:480px; }
  .bc-gallery{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:96px; gap:12px; }
  .bc-tile{ border-radius:10px; border:1px solid var(--line); background:radial-gradient(120px 80px at 50% 0%, rgba(45,212,248,.16), transparent), #0B1120; display:flex; align-items:center; justify-content:center; color:var(--cyan); }
  .bc-tile svg{ width:26px; height:26px; opacity:.55; }
  .bc-tile.tall{ grid-row:span 2; }
  @media(max-width:860px){ .bc-careers .bc-inner{ grid-template-columns:1fr; } .bc-careers .en{ font-size:36px; } }

  /* Discover */
  .bc-disc{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
  .bc-disc a{ display:block; text-decoration:none; border:1px solid var(--line); border-radius:14px; padding:40px 36px; position:relative; overflow:hidden; transition:.25s;
    background:linear-gradient(135deg, rgba(45,212,248,.04), transparent); }
  .bc-disc a:hover{ border-color:var(--line-cyan); transform:translateY(-4px); }
  .bc-disc a .en{ font-size:30px; font-weight:800; color:var(--head); letter-spacing:.02em; }
  .bc-disc a .jp{ font-family:var(--mono); font-size:12px; letter-spacing:.18em; color:var(--sky); text-transform:uppercase; margin-top:8px; display:block; }
  .bc-disc a p{ color:var(--body); font-size:13.5px; line-height:1.85; margin:18px 0 24px; max-width:360px; }
  .bc-disc a .go{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--cyan); }
  @media(max-width:760px){ .bc-disc{ grid-template-columns:1fr; } }

  /* ===== Baycurrent-style sub pages (Principles / Overview / Experts) ===== */
  .bcp-head{ padding:8px 0 34px; border-bottom:1px solid var(--line); margin-bottom:6px; }
  .bcp-head .en{ font-size:48px; font-weight:800; color:var(--head); letter-spacing:.02em; line-height:1.04; }
  .bcp-head .jp{ font-family:var(--mono); font-size:13px; letter-spacing:.22em; color:var(--sky); text-transform:uppercase; margin-top:14px; display:block; }
  .bcp-sec{ display:grid; grid-template-columns:220px 1fr; gap:36px; padding:52px 0; border-bottom:1px solid var(--line); }
  .bcp-sec:last-child{ border-bottom:none; }
  .bcp-sec-h{ align-self:start; }
  .bcp-sec-h .en{ font-size:25px; font-weight:800; color:var(--head); letter-spacing:.01em; }
  .bcp-sec-h .jp{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--sky); text-transform:uppercase; margin-top:9px; display:block; }
  .bcp-purpose .en{ font-size:42px; font-weight:800; line-height:1.15; letter-spacing:.01em;
    background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bcp-purpose .ja{ font-size:21px; font-weight:700; color:var(--head); line-height:1.85; margin:22px 0 0; }
  .bcp-cap{ font-family:var(--mono); font-size:12px; color:#6B7891; letter-spacing:.06em; margin-top:18px; }
  .bcp-lead{ font-size:24px; font-weight:700; color:var(--head); line-height:1.8; margin:0; }
  .bcp-msg{ font-size:15px; color:var(--body); line-height:2.1; margin:22px 0 0; max-width:720px; }
  .bcp-sign{ margin-top:30px; }
  .bcp-sign .r{ display:block; font-size:13px; color:var(--body); }
  .bcp-sign .n{ display:block; font-size:22px; font-weight:700; color:var(--head); margin-top:7px; letter-spacing:.08em; }
  .bcp-list{ list-style:none; margin:0; padding:0; }
  .bcp-list li{ font-size:20px; font-weight:700; color:var(--head); line-height:1.6; padding:18px 0 18px 26px; border-bottom:1px solid var(--line); position:relative; }
  .bcp-list li:last-child{ border-bottom:none; }
  .bcp-list li::before{ content:""; position:absolute; left:0; top:30px; width:13px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .bcp-code{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  .bcp-code .item{ border:1px solid var(--line); border-left:3px solid var(--cyan); border-radius:10px; padding:22px 24px; transition:.2s; }
  .bcp-code .item:hover{ border-color:var(--line-cyan); border-left-color:var(--cyan); background:rgba(45,212,248,.03); }
  .bcp-code .item .en{ font-size:18px; font-weight:800; color:var(--head); letter-spacing:.02em; }
  .bcp-code .item .ja{ font-size:13.5px; color:var(--body); margin-top:8px; line-height:1.7; }
  .bcp-entity-h{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin:0 0 4px; }
  .bcp-entity-h .en{ font-size:22px; font-weight:800; color:var(--head); letter-spacing:.02em; }
  .bcp-entity-h .jp{ font-size:14px; color:var(--body); }
  .bcp-dl{ margin:18px 0 0; border-top:1px solid var(--line); }
  .bcp-dl .row{ display:grid; grid-template-columns:210px 1fr; gap:20px; padding:26px 2px; border-bottom:1px solid var(--line); align-items:start; }
  .bcp-dl dt{ font-family:var(--mono); font-size:12px; font-weight:700; color:var(--sky); letter-spacing:.04em; line-height:2.1; }
  .bcp-dl dd{ margin:0; font-size:14px; color:#C3CCDC; line-height:2.1; }
  .bcp-dl dd span{ display:block; }
  @media(max-width:760px){ .bcp-sec{ grid-template-columns:1fr; gap:14px; padding:38px 0; } .bcp-code{ grid-template-columns:1fr; } .bcp-dl .row{ grid-template-columns:1fr; gap:5px; } .bcp-head .en{ font-size:36px; } .bcp-purpose .en{ font-size:30px; } }

  /* Experts grid */
  .bcx-filter{ display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 8px; align-items:center; }
  .bcx-filter .lbl{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:#6B7891; text-transform:uppercase; margin-right:6px; }
  .bcx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
  .bcx-card{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:rgba(26,28,32,.4); transition:.25s; }
  .bcx-card:hover{ border-color:var(--line-cyan); transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.35); }
  .bcx-photo{ height:215px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--cyan);
    background:radial-gradient(220px 150px at 50% 18%, rgba(45,212,248,.16), transparent), #0B1120; border-bottom:1px solid var(--line); }
  .bcx-photo::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:34px 34px; }
  .bcx-photo svg{ width:62px; height:62px; opacity:.5; position:relative; z-index:1; }
  .bcx-body{ padding:22px 22px 26px; }
  .bcx-role{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--cyan); text-transform:uppercase; }
  .bcx-name{ font-size:21px; font-weight:800; color:var(--head); margin:10px 0 3px; letter-spacing:.04em; }
  .bcx-en{ font-family:var(--mono); font-size:11px; color:#6B7891; letter-spacing:.08em; }
  .bcx-tags{ display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 16px; }
  .bcx-tag{ font-family:var(--mono); font-size:10px; color:#9FB4CC; border:1px solid var(--line-cyan); border-radius:20px; padding:3px 11px; letter-spacing:.04em; }
  .bcx-bio{ font-size:13px; color:var(--body); line-height:1.85; margin:0; }
  @media(max-width:900px){ .bcx-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:620px){ .bcx-grid{ grid-template-columns:1fr; } }

  /* ===== Dirbato-style TOP ===== */
  .db-hero{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding:0 24px; }
  .db-rays{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
  .db-rays::before{ content:""; position:absolute; top:-30%; left:50%; width:150vw; height:150vh; transform:translateX(-50%);
    background:conic-gradient(from 210deg at 68% 28%, transparent 0deg, rgba(45,212,248,.10) 38deg, transparent 86deg, rgba(59,130,246,.08) 150deg, transparent 210deg, rgba(45,212,248,.09) 300deg, transparent 360deg);
    animation:rayspin 46s linear infinite; filter:blur(22px); }
  @keyframes rayspin{ to{ transform:translateX(-50%) rotate(360deg); } }
  .db-rays .beam{ position:absolute; top:-25%; right:6%; width:46%; height:150%; transform:rotate(18deg);
    background:linear-gradient(180deg, rgba(45,212,248,.18), transparent 68%); filter:blur(46px); animation:beam 7s ease-in-out infinite; }
  @keyframes beam{ 0%,100%{ opacity:.35 } 50%{ opacity:.9 } }
  .db-hero-inner{ max-width:1180px; margin:0 auto; width:100%; position:relative; z-index:2; }
  .db-eyebrow{ font-family:var(--mono); font-size:13px; letter-spacing:.4em; color:var(--sky); text-transform:lowercase; margin-bottom:30px;
    opacity:0; animation:dbFade .9s .2s ease forwards; }
  .db-hl{ margin:0; }
  .db-hl .ln{ display:block; overflow:hidden; padding:2px 0; }
  .db-hl .ln > span{ display:block; font-size:74px; font-weight:800; line-height:1.2; color:var(--head); letter-spacing:.01em;
    transform:translateY(115%); animation:dbLineUp 1.15s cubic-bezier(.16,1,.3,1) forwards; }
  .db-hl .ln:nth-child(1) > span{ animation-delay:.35s; }
  .db-hl .ln:nth-child(2) > span{ animation-delay:.52s; }
  .db-hl .g{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  @keyframes dbLineUp{ to{ transform:translateY(0); } }
  .db-sub{ font-size:15px; color:#A7B2C6; line-height:2.05; margin:38px 0 0; max-width:600px; opacity:0; animation:dbFade 1s .95s ease forwards; }
  .db-scroll{ position:absolute; left:24px; bottom:34px; z-index:2; font-family:var(--mono); font-size:10px; letter-spacing:.3em; color:#566884; text-transform:lowercase; opacity:0; animation:dbFade 1s 1.3s ease forwards; }
  .db-scroll::after{ content:""; display:block; width:1px; height:44px; margin-top:10px; background:linear-gradient(var(--cyan),transparent); animation:dbScroll 2.1s ease-in-out infinite; }
  @keyframes dbScroll{ 0%{ transform:scaleY(0); transform-origin:top; opacity:1 } 55%{ transform:scaleY(1); transform-origin:top } 56%{ transform-origin:bottom } 100%{ transform:scaleY(0); transform-origin:bottom; opacity:.2 } }
  @keyframes dbFade{ from{ opacity:0; transform:translateY(26px) } to{ opacity:1; transform:translateY(0) } }
  @media(max-width:900px){ .db-hl .ln > span{ font-size:44px; } }
  @media(max-width:560px){ .db-hl .ln > span{ font-size:33px; } }

  /* who we are */
  .db-who{ padding:150px 24px; text-align:center; position:relative; }
  .db-who .lbl{ font-family:var(--mono); font-size:12px; letter-spacing:.4em; color:var(--sky); text-transform:lowercase; }
  .db-who .big{ font-size:30px; font-weight:800; color:var(--head); line-height:2.05; margin:36px auto 0; max-width:900px; letter-spacing:.02em; }
  .db-who .big .g{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .db-who p{ color:var(--body); font-size:15px; line-height:2.1; max-width:680px; margin:32px auto 40px; }
  @media(max-width:760px){ .db-who{ padding:96px 24px; } .db-who .big{ font-size:22px; line-height:1.95; } }

  /* dirbato section head */
  .db-shead{ display:flex; align-items:center; justify-content:space-between; padding-bottom:26px; border-bottom:1px solid var(--line); margin-bottom:38px; gap:12px; flex-wrap:wrap; }
  .db-shead .lbl{ font-family:var(--mono); font-size:14px; letter-spacing:.34em; color:var(--head); text-transform:lowercase; display:flex; align-items:center; gap:14px; }
  .db-shead .lbl::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 11px var(--cyan); flex:none; }
  .db-view{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--cyan); cursor:pointer; text-transform:lowercase; display:inline-flex; align-items:center; gap:11px; }
  .db-view .ln{ width:26px; height:1px; background:var(--cyan); transition:width .25s; }
  .db-view:hover .ln{ width:44px; }

  /* reveal on scroll */
  .reveal{ opacity:0; transform:translateY(36px); transition:opacity .85s ease, transform .85s cubic-bezier(.16,1,.3,1); }
  .reveal.in{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.1s } .reveal.d2{ transition-delay:.2s } .reveal.d3{ transition-delay:.3s }
  /* TOPの大きいセクション見出し */
  .home-shead{ display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:28px; border-bottom:1px solid var(--line); margin-bottom:42px; gap:12px; flex-wrap:wrap; }
  .home-shead .eng{ font-family:var(--mono); font-size:12px; letter-spacing:.3em; color:var(--sky); text-transform:uppercase; display:block; margin-bottom:14px; }
  .home-shead .ttl{ font-size:42px; font-weight:800; color:var(--head); margin:0; letter-spacing:.03em; line-height:1; }
  @media(max-width:600px){ .home-shead .ttl{ font-size:30px; } }

  /* ===== LY-style officer grids (経営陣 / 顧問陣) ===== */
  .ly-h{ margin:46px 0 24px; }
  .ly-h:first-of-type{ margin-top:30px; }
  .ly-h .en{ font-family:var(--mono); font-size:12px; letter-spacing:.22em; color:var(--sky); text-transform:uppercase; }
  .ly-h .jp{ font-size:22px; font-weight:800; color:var(--head); margin-top:8px; letter-spacing:.04em; }
  .ly-grid{ display:grid; gap:14px; }
  .ly-grid.four{ grid-template-columns:repeat(4,1fr); }
  .ly-grid.six{ grid-template-columns:repeat(6,1fr); }
  .ly-card{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:rgba(26,28,32,.4); transition:.25s; }
  .ly-card:hover{ border-color:var(--line-cyan); transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.38); }
  .ly-photo{ aspect-ratio:1/1; position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; color:var(--cyan);
    background:radial-gradient(180px 150px at 50% 16%, rgba(45,212,248,.16), transparent), #0B1120; border-bottom:1px solid var(--line); }
  .ly-photo::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:30px 30px; }
  .ly-photo svg{ width:44%; height:auto; opacity:.4; position:relative; z-index:1; }
  .ly-body{ padding:13px 13px 16px; }
  .ly-role{ font-family:var(--mono); font-size:9.5px; letter-spacing:.03em; color:var(--cyan); text-transform:uppercase; line-height:1.5; }
  .ly-name{ font-size:15px; font-weight:800; color:var(--head); margin:7px 0 3px; letter-spacing:.04em; }
  .ly-en{ font-family:var(--mono); font-size:10px; color:#6B7891; letter-spacing:.05em; }
  .ly-grid.six .ly-name{ font-size:13.5px; }
  @media(max-width:820px){ .ly-grid.four{ grid-template-columns:repeat(2,1fr); } .ly-grid.six{ grid-template-columns:repeat(3,1fr); } }
  @media(max-width:440px){ .ly-grid.four{ grid-template-columns:repeat(2,1fr); } .ly-grid.six{ grid-template-columns:repeat(2,1fr); } }

  /* ===== Baycurrent風 人物カード（暗色ページ／カード本文は明るいトーン）===== */
  .pp-h{ margin:46px 0 22px; } .pp-h:first-of-type{ margin-top:30px; }
  .pp-h .en{ font-family:var(--mono); font-size:12px; letter-spacing:.22em; color:var(--sky); text-transform:uppercase; }
  .pp-h .jp{ font-size:22px; font-weight:800; color:var(--head); margin-top:8px; letter-spacing:.04em; }
  .pp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px; }
  .pp-grid.four{ grid-template-columns:repeat(4,1fr); }
  .pp-grid.six{ grid-template-columns:repeat(6,1fr); gap:16px; }
  .pp-grid.six .pp-role{ font-size:11px; padding-left:10px; }
  .pp-grid.six .pp-name{ font-size:14.5px; line-height:1.4; }
  .pp-grid.six .pp-body{ padding:14px 14px 16px; }
  .pp-card{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#0F1524;
            transition:transform .25s, border-color .2s, box-shadow .25s; display:flex; flex-direction:column; }
  .pp-card:hover{ border-color:var(--line-cyan); transform:translateY(-4px); box-shadow:0 18px 44px rgba(0,0,0,.42); }
  .pp-photo{ aspect-ratio:4/3; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
             background:linear-gradient(158deg,#22304d 0%,#131d31 60%,#0c1322 100%); color:var(--cyan); }
  .pp-simple .pp-body{ padding:18px 20px 22px; }
  .pp-simple .pp-name{ margin-bottom:2px; }
  .pp-click{ cursor:pointer; }
  /* 経営陣 詳細ポップアップ（右からスライド）*/
  .bm-overlay{ position:fixed; inset:0; z-index:2000; background:rgba(5,8,15,.62); backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .25s; }
  .bm-overlay.open{ opacity:1; pointer-events:auto; }
  .bm-panel{ position:fixed; top:0; right:0; height:100%; width:440px; max-width:92vw; z-index:2001; background:#0F1524; border-left:1px solid var(--line-cyan); box-shadow:-22px 0 60px rgba(0,0,0,.5); transform:translateX(100%); transition:transform .32s cubic-bezier(.22,1,.36,1); overflow-y:auto; }
  .bm-panel.open{ transform:none; }
  .bm-close{ position:absolute; top:16px; left:16px; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.05); color:#C3CCDC; font-size:16px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; transition:.15s; }
  .bm-close:hover{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.08); }
  .bm-photo{ height:300px; display:flex; align-items:center; justify-content:center; color:var(--cyan); position:relative; overflow:hidden; background:linear-gradient(158deg,#22304d 0%,#131d31 60%,#0c1322 100%); border-bottom:1px solid var(--line); }
  .bm-photo::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:32px 32px; }
  .bm-photo svg{ width:72px; height:72px; opacity:.5; position:relative; z-index:1; }
  .pp-simple .pp-photo{ aspect-ratio:3/4; }
  .pp-photo.has-photo{ background-size:contain; background-position:center bottom; background-repeat:no-repeat; }
  .pp-photo.has-photo svg{ display:none; }
  .bm-photo{ height:360px; }
  .bm-photo.has-photo{ background-size:contain; background-position:center bottom; background-repeat:no-repeat; }
  .bm-photo.has-photo::after{ display:none; }
  .bm-body{ padding:28px 30px 40px; }
  .bm-role{ position:relative; padding-left:12px; font-size:12px; font-weight:700; color:var(--cyan); letter-spacing:.04em; }
  .bm-role::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:2px; background:linear-gradient(var(--cyan),var(--cta)); }
  .bm-name{ font-size:26px; font-weight:800; color:#fff; margin:12px 0 2px; letter-spacing:.04em; }
  .bm-en{ font-family:var(--mono); font-size:12px; color:#7E8AA0; letter-spacing:.07em; }
  .bm-bio{ font-size:14px; color:#9FB1C6; line-height:1.95; margin:22px 0 0; }
  @media(max-width:520px){ .bm-photo{ height:240px; } .bm-body{ padding:24px 22px 34px; } }
  .pp-photo::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:32px 32px; }
  .pp-photo svg{ width:58px; height:58px; opacity:.5; position:relative; z-index:1; }
  /* 明るいトーンの本文 */
  .pp-body{ background:#F4F7FB; padding:22px 22px 24px; flex:1; display:flex; flex-direction:column; }
  .pp-role{ position:relative; padding-left:12px; font-size:12px; font-weight:700; color:#0891B2; letter-spacing:.02em; line-height:1.55; }
  .pp-role::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:2px; background:linear-gradient(var(--cyan),var(--cta)); }
  .pp-name{ font-size:21px; font-weight:800; color:#0A1222; margin:12px 0 2px; letter-spacing:.04em; line-height:1.3; }
  .pp-en{ font-family:var(--mono); font-size:11px; color:#7A8AA0; letter-spacing:.07em; }
  .pp-tags{ display:flex; flex-wrap:wrap; gap:7px; margin:15px 0 14px; }
  .pp-tag{ font-size:11px; color:#33506B; background:#FFFFFF; border:1px solid #D4DEEA; border-radius:6px; padding:3px 10px; letter-spacing:.02em; }
  .pp-bio{ font-size:13px; color:#46566B; line-height:1.85; margin:0; }
  @media(max-width:1000px){ .pp-grid, .pp-grid.four{ grid-template-columns:repeat(2,1fr); } .pp-grid.six{ grid-template-columns:repeat(3,1fr); } }
  @media(max-width:600px){ .pp-grid, .pp-grid.four{ grid-template-columns:1fr; } .pp-grid.six{ grid-template-columns:repeat(2,1fr); } }

  /* ===== レバレジーズ風 人材事業ランディング（白ベース）===== */
  .lv{ background:#ffffff; color:#1b2230; width:100vw; margin-left:calc(50% - 50vw);
       font-family:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; }
  .lv-inner{ max-width:1180px; margin:0 auto; padding:0 24px 96px; }
  .lv-crumb{ padding:22px 0 0; }
  .lv-crumb .crumb, .lv-crumb .crumb a{ color:#64748b; }
  .lv-crumb .crumb b{ color:#0f172a; } .lv-crumb .crumb span{ color:#cbd5e1; }
  .lv-crumb .crumb a:hover{ color:#0891b2; }
  .lv-hero{ padding:58px 0 44px; border-bottom:1px solid #eef1f5; }
  .lv-en{ font-family:var(--mono); font-size:12px; font-weight:800; letter-spacing:.42em; color:#0891b2; text-transform:uppercase; }
  .lv-en.big{ font-size:13px; letter-spacing:.5em; }
  .lv-h1{ font-size:42px; font-weight:800; color:#0a1222; margin:18px 0 0; letter-spacing:.05em; }
  .lv-hero-lead{ font-size:16px; color:#46566b; line-height:1.95; margin:22px 0 0; max-width:780px; }
  .lv-domain{ padding:56px 0; border-bottom:1px solid #eef1f5; }
  .lv-domain-head{ max-width:780px; margin-bottom:36px; }
  .lv-domain-head .lv-en{ font-size:13px; letter-spacing:.42em; }
  .lv-jp-title{ font-size:27px; font-weight:800; color:#0a1222; margin:14px 0 0; display:flex; align-items:center; gap:14px; }
  .lv-jp-title::before{ content:""; flex:none; width:26px; height:4px; border-radius:3px; background:linear-gradient(90deg,#2dd4f8,#3b82f6); }
  .lv-lead{ font-size:19px; font-weight:700; color:#16324a; margin:20px 0 0; line-height:1.7; }
  .lv-desc{ font-size:14px; color:#5a6b80; line-height:1.95; margin:10px 0 0; }
  .lv-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .lv-card{ display:flex; flex-direction:column; border:1px solid #e6ebf2; border-radius:14px; overflow:hidden; background:#fff; text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .2s; }
  .lv-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,23,42,.12); border-color:#cfe0ee; }
  .lv-logo{ height:126px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#fff; position:relative; overflow:hidden; }
  .lv-logo::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:26px 26px; }
  .lv-logo .bn{ font-size:21px; font-weight:800; letter-spacing:.02em; position:relative; z-index:1; text-align:center; padding:0 14px; }
  .lv-logo .sb{ font-size:11px; font-weight:600; opacity:.9; position:relative; z-index:1; }
  .lv-card-bd{ padding:20px 20px 22px; flex:1; display:flex; flex-direction:column; }
  .lv-card-desc{ font-size:13px; color:#46566b; line-height:1.85; margin:0 0 14px; }
  .lv-card-mission{ font-size:13px; font-weight:700; color:#0a1222; line-height:1.7; margin:0 0 16px; padding-left:12px; position:relative; }
  .lv-card-mission::before{ content:""; position:absolute; left:0; top:3px; bottom:3px; width:3px; border-radius:2px; background:linear-gradient(#2dd4f8,#3b82f6); }
  .lv-card-go{ margin-top:auto; font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.08em; color:#0891b2; }
  .lv-cta{ text-align:center; padding:66px 0 0; }
  .lv-cta h2{ font-size:30px; font-weight:800; color:#0a1222; margin:0 0 12px; }
  .lv-cta p{ font-size:15px; color:#5a6b80; margin:0 0 26px; }
  .lv-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .lv-btn{ padding:15px 30px; border-radius:10px; font-size:13px; font-weight:800; letter-spacing:.06em; text-decoration:none; cursor:pointer; }
  .lv-btn.primary{ background:linear-gradient(135deg,#2dd4f8,#3b82f6); color:#06121f; }
  .lv-btn.ghost{ background:#fff; color:#0a1222; border:1.5px solid #d4deea; }
  @media(max-width:980px){ .lv-cards{ grid-template-columns:repeat(2,1fr); } .lv-h1{ font-size:34px; } }
  @media(max-width:620px){ .lv-cards{ grid-template-columns:1fr; } }

  /* ===== Mission ページ（AETHER風／ダーク＋サイバー意匠）===== */
  .ms{ width:100vw; margin-left:calc(50% - 50vw); background:#0A0E1A; position:relative; overflow:hidden; }
  .ms::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
    background-image:radial-gradient(rgba(56,189,248,.10) 1px, transparent 1px); background-size:40px 40px;
    -webkit-mask-image:radial-gradient(900px 600px at 70% 0%, #000, transparent 80%); mask-image:radial-gradient(900px 600px at 70% 0%, #000, transparent 80%); }
  .ms-inner{ max-width:1180px; margin:0 auto; padding:0 40px 30px; position:relative; z-index:1; }
  .ms-hero{ padding:72px 0 50px; border-bottom:1px solid var(--line); position:relative; }
  .ms-hero::after{ content:""; position:absolute; left:0; bottom:-1px; width:120px; height:2px; background:linear-gradient(90deg,var(--cyan),transparent); }
  .ms-status{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
  .ms-status .dot{ width:10px; height:10px; background:var(--cyan); box-shadow:0 0 10px var(--cyan); animation:pulse 2s ease-in-out infinite; }
  .ms-status .t{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--cyan); }
  .ms-slogan{ font-size:56px; font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.01em; margin:0; }
  .ms-slogan .g{ background:linear-gradient(90deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ms-slogan-jp{ font-size:20px; color:#9FB1C6; border-left:4px solid var(--cyan); padding:8px 0 8px 20px; margin:24px 0 0; font-weight:600; }
  .ms-sec{ padding:66px 0; border-top:1px solid var(--line); }
  .ms-sec:first-of-type{ border-top:none; }
  .ms-h{ font-size:34px; font-weight:800; color:#fff; margin:0; letter-spacing:.01em; }
  .ms-h .g{ color:var(--cyan); }
  .ms-rule{ width:90px; height:1px; background:var(--cyan); margin:16px 0 0; }
  .ms-mission{ display:grid; grid-template-columns:5fr 6fr; gap:44px; align-items:center; margin-top:34px; }
  .ms-visual{ position:relative; border:1px solid var(--line); overflow:hidden; }
  .ms-visual img{ width:100%; display:block; filter:grayscale(1) brightness(.72); transition:filter .7s; }
  .ms-visual:hover img{ filter:grayscale(0) brightness(.92); }
  .ms-visual .ref{ position:absolute; bottom:12px; left:12px; background:#0A0E1A; border:1px solid var(--line); font-family:var(--mono); font-size:11px; color:#7E8AA0; padding:5px 10px; }
  .ms-body p{ font-size:15px; color:#9FB1C6; line-height:2.05; margin:0 0 16px; }
  .ms-body p:last-child{ margin-bottom:0; }
  .ms-vision{ background:rgba(1,12,24,.55); }
  .ms-glass{ background:rgba(14,18,28,.7); backdrop-filter:blur(12px); border:1px solid var(--line-cyan); padding:42px; position:relative; margin-top:30px; }
  .ms-glass .tag{ position:absolute; top:14px; right:16px; font-family:var(--mono); font-size:11px; color:var(--cyan); opacity:.55; }
  .ms-glass .lead{ font-size:17px; color:#D7E0EC; line-height:1.95; margin:0 0 28px; max-width:880px; }
  .ms-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding-top:26px; border-top:1px solid var(--line); }
  .ms-col .k{ font-family:var(--mono); font-size:12px; color:var(--cyan); letter-spacing:.05em; margin-bottom:9px; }
  .ms-col .v{ font-size:13px; color:#9FB1C6; line-height:1.75; }
  .ms-guide{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; margin-top:34px; }
  .ms-card{ border:1px solid var(--line); padding:30px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; transition:border-color .4s, background .3s; position:relative; min-height:300px; }
  .ms-card:hover{ border-color:var(--cyan); }
  .ms-card .no{ font-family:var(--mono); font-size:13px; color:var(--cyan); }
  .ms-card h3{ font-size:23px; font-weight:700; color:#fff; margin:0 0 10px; transition:color .3s; }
  .ms-card:hover h3{ color:var(--cyan); }
  .ms-card p{ font-size:13px; color:#9FB1C6; line-height:1.85; margin:0; }
  .ms-card.tall{ min-height:382px; margin-top:-28px; background:#0F1524; }
  .ms-card.high{ background:rgba(45,212,248,.04); }
  .ms-card.wide{ grid-column:span 2; flex-direction:row; align-items:center; gap:40px; min-height:auto; }
  .ms-card.wide .l{ width:34%; flex:none; border-right:1px solid var(--line); padding-right:34px; }
  .ms-card.wide .r{ flex:1; }
  .ms-tags{ display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
  .ms-tag{ font-family:var(--mono); font-size:10px; color:#8FA0B5; background:rgba(120,140,170,.12); padding:4px 9px; letter-spacing:.04em; }
  .ms-cta{ padding:84px 0; text-align:center; }
  .ms-cta-box{ max-width:660px; margin:0 auto; border:1px solid var(--cyan); padding:54px 40px; box-shadow:0 0 34px rgba(45,212,248,.2); background:rgba(45,212,248,.03); }
  .ms-cta-box h2{ font-size:30px; font-weight:800; color:#fff; margin:0 0 26px; }
  .ms-cta-box .btn{ display:inline-block; background:linear-gradient(135deg,var(--cyan),var(--cta)); color:#06121F; font-weight:800; letter-spacing:.08em; padding:15px 34px; cursor:pointer; text-decoration:none; transition:filter .2s; }
  .ms-cta-box .btn:hover{ filter:brightness(1.08); }
  @media(max-width:860px){ .ms-inner{ padding:0 24px 30px; } .ms-slogan{ font-size:38px; } .ms-mission{ grid-template-columns:1fr; }
    .ms-guide, .ms-cols{ grid-template-columns:1fr; } .ms-card.tall{ margin-top:0; } .ms-card.wide{ grid-column:span 1; flex-direction:column; align-items:flex-start; gap:20px; }
    .ms-card.wide .l{ width:100%; border-right:none; border-bottom:1px solid var(--line); padding:0 0 16px; } }

  /* ===== MVV（GMO風シンプル構成・ダークトーン踏襲）===== */
  .mvv{ margin-top:6px; }
  .mvv-row{ display:grid; grid-template-columns:230px 1fr; gap:44px; padding:62px 0; border-top:1px solid var(--line); align-items:start; }
  .mvv-label{ position:sticky; top:96px; }
  .mvv-label .en{ font-family:var(--mono); font-size:22px; font-weight:800; letter-spacing:.1em; color:var(--cyan); line-height:1.1; display:block; }
  .mvv-label .jp{ display:block; font-size:12px; letter-spacing:.08em; color:#6B7891; margin-top:10px; font-weight:600; }
  .mvv-label .bar{ display:block; width:34px; height:2px; margin-top:16px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .mvv-body h2{ font-size:27px; font-weight:800; color:#fff; line-height:1.6; margin:0 0 20px; letter-spacing:.01em; }
  .mvv-body p{ font-size:15px; color:#9FB1C6; line-height:2.1; margin:0; max-width:720px; }
  .mvv-values{ margin-top:30px; border-top:1px solid var(--line); }
  .mvv-val{ display:flex; gap:20px; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--line); }
  .mvv-val .vn{ font-family:var(--mono); font-size:12px; color:var(--cyan); flex:none; width:26px; }
  .mvv-val .ven{ font-size:16px; font-weight:800; color:#EEF2F8; flex:none; width:180px; letter-spacing:.02em; }
  .mvv-val .vd{ font-size:13.5px; color:#8FA0B5; line-height:1.7; }
  @media(max-width:760px){ .mvv-row{ grid-template-columns:1fr; gap:18px; padding:44px 0; } .mvv-label{ position:static; }
    .mvv-body h2{ font-size:22px; } .mvv-val{ flex-wrap:wrap; gap:6px 16px; } .mvv-val .ven{ width:auto; } }

  /* ===== サービス紹介ランディング（カードグリッド／ダーク）===== */
  .svl{ width:100vw; margin-left:calc(50% - 50vw); background:#0A0E1A; }
  .svl-inner{ max-width:1200px; margin:0 auto; padding:0 40px 96px; }
  .svl-crumb{ padding:22px 0 0; }
  .svl-hero{ padding:56px 0 6px; }
  .svl-h1{ font-size:40px; font-weight:800; color:#fff; margin:0; letter-spacing:.03em; position:relative; padding-left:18px; }
  .svl-h1::before{ content:""; position:absolute; left:0; top:.16em; bottom:.16em; width:5px; border-radius:3px; background:linear-gradient(var(--cyan),var(--cta)); }
  .svl-lead{ font-size:15.5px; color:#9FB1C6; line-height:1.95; margin:20px 0 0; max-width:820px; }
  /* 事業ランディング：背景画像入りヒーロー */
  .svl-hero.has-img{ position:relative; padding:0; min-height:280px; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:#0c1422; display:flex; align-items:flex-end; margin-top:18px; }
  .svl-herobg{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
  .svl-hero.has-img::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(6,16,28,.40) 0%,rgba(6,16,28,.84) 100%); }
  .svl-hero-c{ position:relative; z-index:2; padding:40px 44px; width:100%; }
  .svl-hero.has-img .svl-lead{ color:#cdd6e4; }
  @media(max-width:980px){ .svl-hero.has-img{ min-height:200px; } .svl-hero-c{ padding:26px 22px; } }
  .svl-cat{ padding:54px 0 0; }
  .svl-cat-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:30px; padding-bottom:14px; border-bottom:1px solid var(--line); }
  .svl-cat-head .no{ font-family:var(--mono); font-size:14px; font-weight:700; color:var(--cyan); letter-spacing:.08em; }
  .svl-cat-head h2{ font-size:23px; font-weight:800; color:#fff; margin:0; }
  .svl-cat-head .en{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#6B7891; margin-left:auto; }
  .svl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:48px 36px; }
  .svl-card{ display:block; text-decoration:none; cursor:pointer; }
  .svl-img{ width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; filter:brightness(.92); transition:filter .4s; }
  .svl-card:hover .svl-img{ filter:brightness(1.06); }
  .svl-title{ display:block; font-size:18px; font-weight:800; color:#fff; line-height:1.55; margin:18px 0 0;
    text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; text-decoration-color:rgba(255,255,255,.5); transition:color .2s, text-decoration-color .2s; }
  .svl-card:hover .svl-title{ color:var(--cyan); text-decoration-color:var(--cyan); }
  .svl-desc{ font-size:13.5px; color:#8FA0B5; line-height:1.85; margin:16px 0 0; }
  .svl-cta{ text-align:center; padding:84px 0 0; }
  .svl-cta h2{ font-size:28px; font-weight:800; color:#fff; margin:0 0 12px; }
  .svl-cta p{ font-size:14.5px; color:#9FB1C6; margin:0 0 26px; }
  .svl-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .svl-btn{ padding:15px 32px; border-radius:8px; font-size:13px; font-weight:800; letter-spacing:.06em; text-decoration:none; cursor:pointer; }
  .svl-btn.primary{ background:linear-gradient(135deg,var(--cyan),var(--cta)); color:#06121F; }
  .svl-btn.ghost{ background:transparent; color:var(--cyan); border:1.5px solid rgba(45,212,248,.5); }
  @media(max-width:980px){ .svl-grid{ grid-template-columns:repeat(2,1fr); } .svl-inner{ padding:0 24px 70px; } .svl-h1{ font-size:32px; } }
  @media(max-width:620px){ .svl-grid{ grid-template-columns:1fr; } }

  /* 情報系ページ（会社概要・経営陣・経営指針・エキスパート）は通常ゴシックで統一 */
  .bcp-head .jp, .bcp-sec-h .jp, .bcp-cap, .bcp-dl dt, .bcp-entity-h .jp,
  .bcx-role, .bcx-tag, .bcx-filter .lbl,
  .ly-h .en, .ly-role,
  .crumb, .chip{ font-family:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; }

  /* ===== NRIセキュア型 事業ランディング ===== */
  .nri-hero{ display:grid; grid-template-columns:1fr 300px; gap:42px; align-items:center; padding:8px 0 44px; border-bottom:1px solid var(--line); }
  .nri-eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.3em; color:var(--sky); margin-bottom:14px; }
  .nri-ttl{ font-size:40px; font-weight:800; color:var(--head); margin:0 0 16px; letter-spacing:.03em; padding:0; }
  .nri-ttl::before{ display:none; }
  .nri-tag{ font-size:18px; font-weight:700; color:var(--head); line-height:1.75; margin:0 0 14px; }
  .nri-desc{ font-size:14px; color:var(--body); line-height:1.95; margin:0; max-width:640px; }
  .nri-hero-vis{ height:210px; border:1px solid var(--line-cyan); border-radius:16px; display:flex; align-items:center; justify-content:center; color:var(--cyan);
    background:radial-gradient(260px 180px at 50% 18%, rgba(45,212,248,.16), transparent), #0B1120; position:relative; overflow:hidden; }
  .nri-hero-vis::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:34px 34px; }
  .nri-hero-vis svg{ width:84px; height:84px; opacity:.7; position:relative; z-index:1; }
  .nri-lineup{ margin:38px 0 6px; }
  .nri-lineup-h{ font-size:13px; font-weight:800; color:var(--head); letter-spacing:.04em; display:flex; align-items:center; gap:12px; margin-bottom:16px; }
  .nri-lineup-h::before{ content:""; width:18px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .nri-chips{ display:flex; flex-wrap:wrap; gap:9px; }
  .nri-chip{ font-size:13px; color:#C3CCDC; border:1px solid var(--line); border-radius:8px; padding:8px 14px; cursor:pointer; transition:.15s; background:rgba(45,212,248,.03); }
  .nri-chip:hover{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.1); }
  .nri-cat{ padding:44px 0 6px; border-top:1px solid var(--line); margin-top:32px; }
  .nri-cat-h{ display:flex; align-items:baseline; gap:14px; margin-bottom:22px; }
  .nri-cat-h .no{ font-family:var(--mono); font-size:14px; color:var(--cyan); letter-spacing:.06em; }
  .nri-cat-h h2{ font-size:22px; font-weight:800; color:var(--head); margin:0; letter-spacing:.02em; }
  .nri-svc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
  .nri-svc{ display:flex; align-items:center; gap:12px; padding:16px 18px; border:1px solid var(--line); border-radius:10px; text-decoration:none; transition:.15s; background:rgba(26,28,32,.4); }
  .nri-svc:hover{ border-color:var(--line-cyan); background:linear-gradient(135deg,rgba(45,212,248,.06),transparent); transform:translateY(-2px); }
  .nri-svc .cd{ font-family:var(--mono); font-size:11px; color:var(--sky); border:1px solid var(--line-cyan); border-radius:5px; padding:2px 8px; flex:none; }
  .nri-svc .nm{ color:#C3CCDC; font-size:13.5px; line-height:1.55; }
  .nri-svc:hover .nm{ color:var(--cyan); }
  .nri-svc .ar{ margin-left:auto; color:#46506A; font-size:13px; flex:none; }
  .nri-svc:hover .ar{ color:var(--cyan); }
  @media(max-width:760px){ .nri-hero{ grid-template-columns:1fr; } .nri-hero-vis{ height:150px; } .nri-svc-grid{ grid-template-columns:1fr; } .nri-ttl{ font-size:30px; } }

  /* ===== Bain風トップ ===== */
  .bn-hero{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding:0 24px; }
  .bn-hero-bg{ position:absolute; inset:0; z-index:0; }
  .bn-hero-bg svg{ width:100%; height:100%; display:block; }
  .bn-hero-ov{ position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg, rgba(10,14,26,.95) 0%, rgba(10,14,26,.78) 40%, rgba(10,14,26,.3) 78%, rgba(10,14,26,.55) 100%),
               linear-gradient(0deg, rgba(10,14,26,.9), transparent 38%); }
  .bn-hero-inner{ position:relative; z-index:2; max-width:1180px; margin:0 auto; width:100%; }
  .bn-eyebrow{ font-family:var(--mono); font-size:13px; letter-spacing:.36em; color:var(--sky); margin-bottom:28px; opacity:0; animation:dbFade .9s .25s ease forwards; }
  .bn-h1{ font-size:58px; font-weight:800; line-height:1.34; color:var(--head); margin:0; letter-spacing:.02em; opacity:0; animation:dbFade 1s .45s ease forwards; }
  .bn-h1 .hl{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bn-sub{ font-size:17px; color:#C3CCDC; line-height:1.95; margin:30px 0 38px; max-width:600px; opacity:0; animation:dbFade 1s .75s ease forwards; }
  .bn-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; opacity:0; animation:dbFade 1s .95s ease forwards; }
  .bn-hero-cta a{ display:inline-flex; align-items:center; height:52px; padding:0 30px; border-radius:9px; font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; transition:.15s; }
  .bn-hero-cta .p{ background:linear-gradient(135deg,var(--cyan),var(--cta)); color:#06121F; box-shadow:0 6px 22px rgba(45,212,248,.3); }
  .bn-hero-cta .p:hover{ filter:brightness(1.07); }
  .bn-hero-cta .o{ border:1.5px solid rgba(45,212,248,.5); color:var(--cyan); }
  .bn-hero-cta .o:hover{ background:rgba(45,212,248,.1); }
  .bn-scroll{ position:absolute; left:24px; bottom:30px; z-index:2; font-family:var(--mono); font-size:10px; letter-spacing:.3em; color:#566884; text-transform:uppercase; opacity:0; animation:dbFade 1s 1.3s ease forwards; }
  .bn-scroll::after{ content:""; display:block; width:1px; height:42px; margin-top:10px; background:linear-gradient(var(--cyan),transparent); animation:dbScroll 2.1s ease-in-out infinite; }
  @media(max-width:860px){ .bn-h1{ font-size:36px; } }
  @media(max-width:560px){ .bn-h1{ font-size:28px; } }

  /* 導入事例（Bain風）*/
  .bn-marquee{ overflow:hidden; padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(45,212,248,.02); }
  .bn-marquee-row{ display:flex; gap:18px; width:max-content; animation:svscroll 40s linear infinite; padding-left:18px; }
  .bn-thumb{ width:172px; height:172px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center; color:var(--cyan); position:relative; overflow:hidden;
    background:radial-gradient(140px 110px at 50% 14%, rgba(45,212,248,.16), transparent), #0B1120; border:1px solid var(--line); }
  .bn-thumb::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:28px 28px; }
  .bn-thumb svg{ width:46px; height:46px; opacity:.55; position:relative; z-index:1; }
  .bn-statement{ max-width:980px; margin:0 auto; padding:96px 24px 60px; text-align:center; }
  .bn-statement h2{ font-size:38px; font-weight:800; color:var(--head); line-height:1.75; margin:0; letter-spacing:.02em; }
  .bn-statement h2 .hl{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bn-statement p{ font-size:17px; color:var(--body); margin:26px 0 0; line-height:2; }
  .bn-case-wrap{ max-width:1180px; margin:0 auto; padding:0 24px 96px; }
  .bn-case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .bn-case{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:rgba(26,28,32,.45); text-decoration:none; display:block; transition:.25s; }
  .bn-case:hover{ border-color:var(--line-cyan); transform:translateY(-5px); box-shadow:0 18px 46px rgba(0,0,0,.42); }
  .bn-case .img{ height:188px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--cyan);
    background:radial-gradient(260px 170px at 50% 14%, rgba(45,212,248,.18), transparent), #0B1120; border-bottom:1px solid var(--line); }
  .bn-case .img::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:32px 32px; }
  .bn-case .img svg{ width:54px; height:54px; opacity:.65; position:relative; z-index:1; }
  .bn-case .body{ padding:22px 22px 24px; }
  .bn-case .lbl{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--sky); text-transform:uppercase; }
  .bn-case h3{ font-size:18px; font-weight:800; color:var(--head); line-height:1.6; margin:12px 0 16px; }
  .bn-case:hover h3{ color:var(--cyan); }
  .bn-case .svc{ display:inline-block; font-size:12px; color:#9FB4CC; border:1px solid var(--line-cyan); border-radius:7px; padding:5px 12px; background:rgba(45,212,248,.05); }
  .bn-case .more{ display:block; margin-top:16px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--cyan); text-transform:uppercase; }
  .bn-viewall{ text-align:center; margin-top:46px; }
  .bn-viewall span{ font-family:var(--mono); font-size:13px; letter-spacing:.1em; color:var(--cyan); cursor:pointer; text-transform:uppercase; border:1px solid var(--line-cyan); border-radius:8px; padding:14px 30px; display:inline-block; transition:.15s; }
  .bn-viewall span:hover{ background:rgba(45,212,248,.1); }
  @media(max-width:860px){ .bn-case-grid{ grid-template-columns:1fr; } .bn-statement h2{ font-size:27px; } }

  /* ===== TOP ビジョン／ミッション ===== */
  .bn-vision{ padding:130px 24px 96px; text-align:center; position:relative; overflow:hidden;
    background:radial-gradient(820px 460px at 50% -4%, rgba(45,212,248,.09), transparent 64%); }
  .bn-vis-inner{ max-width:1000px; margin:0 auto; position:relative; z-index:1; }
  .bn-vis-eb{ font-family:var(--mono); font-size:13px; letter-spacing:.4em; color:var(--sky); margin-bottom:30px; }
  .bn-vis-h{ font-size:48px; font-weight:800; color:var(--head); line-height:1.42; margin:0 0 36px; letter-spacing:.02em; }
  .bn-vis-h .hl{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bn-vis-lead{ font-size:21px; font-weight:700; color:var(--head); line-height:2.05; margin:0 0 22px; }
  .bn-vis-sub{ font-size:15px; color:var(--body); line-height:2.15; margin:0; }
  @media(max-width:760px){ .bn-vision{ padding:90px 24px 70px; } .bn-vis-h{ font-size:29px; } .bn-vis-lead{ font-size:17px; } }
  .bn-mission{ padding:0 24px 120px; }
  .bn-mis-inner{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
  .bn-mis-card{ border:1px solid var(--line-cyan); border-radius:18px; padding:44px 40px; position:relative; overflow:hidden;
    background:linear-gradient(160deg, rgba(45,212,248,.05), rgba(59,130,246,.02)); }
  .bn-mis-card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--cyan),var(--cta)); }
  .bn-mis-card .lbl{ font-family:var(--mono); font-size:12px; letter-spacing:.16em; color:var(--cyan); text-transform:uppercase; }
  .bn-mis-card h3{ font-size:23px; font-weight:800; color:var(--head); line-height:1.6; margin:18px 0 22px; }
  .bn-mis-card p{ font-size:14px; color:var(--body); line-height:2.05; margin:0 0 16px; }
  .bn-mis-card p:last-child{ margin-bottom:0; }
  @media(max-width:860px){ .bn-mis-inner{ grid-template-columns:1fr; } .bn-mis-card{ padding:34px 26px; } }
  .bn-mis2{ padding:8px 24px 116px; }
  .bn-mis2-inner{ max-width:1180px; margin:0 auto; }
  .bn-mis2-head{ text-align:center; margin-bottom:50px; }
  .bn-mis2-head .lbl{ font-family:var(--mono); font-size:12px; letter-spacing:.16em; color:var(--cyan); text-transform:uppercase; }
  .bn-mis2-head h2{ font-size:34px; font-weight:800; color:var(--head); line-height:1.6; margin:16px 0 0; letter-spacing:.02em; }
  .bn-mis2-svc{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
  .bn-svc-card{ position:relative; overflow:hidden; border:1px solid var(--line); border-radius:18px; padding:34px 28px 30px; text-decoration:none; display:block; transition:.3s;
    background:linear-gradient(165deg, rgba(45,212,248,.08), rgba(59,130,246,.025) 58%, rgba(30,32,40,.25)); }
  .bn-svc-card:hover{ transform:translateY(-6px); border-color:var(--line-cyan); box-shadow:0 22px 50px rgba(0,0,0,.42), 0 0 0 1px rgba(45,212,248,.18); }
  .bn-svc-card .ic{ width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#06121F; margin-bottom:22px;
    background:linear-gradient(135deg,var(--cyan),var(--cta)); box-shadow:0 8px 24px rgba(45,212,248,.3); transition:transform .3s; }
  .bn-svc-card .ic svg{ width:28px; height:28px; }
  .bn-svc-card h4{ font-size:17px; font-weight:800; color:var(--head); margin:0 0 10px; line-height:1.5; }
  .bn-svc-card p{ font-size:13px; color:var(--body); line-height:1.85; margin:0 0 18px; }
  .bn-svc-card .more{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--cyan); text-transform:uppercase; }
  @media(max-width:860px){ .bn-mis2-svc{ grid-template-columns:1fr 1fr; } .bn-mis2-head h2{ font-size:24px; } }
  @media(max-width:520px){ .bn-mis2-svc{ grid-template-columns:1fr; } }
  .bn-goal{ padding:120px 24px; text-align:center; position:relative; overflow:hidden; border-top:1px solid var(--line);
    background:radial-gradient(840px 460px at 50% 50%, rgba(45,212,248,.1), transparent 64%); }
  .bn-goal-inner{ max-width:1000px; margin:0 auto; position:relative; z-index:1; }
  .bn-goal .lbl{ font-family:var(--mono); font-size:13px; letter-spacing:.4em; color:var(--sky); }
  .bn-goal h2{ font-size:38px; font-weight:800; color:var(--head); line-height:1.55; margin:24px 0 0; letter-spacing:.02em; }
  .bn-goal h2 .hl{ background:linear-gradient(100deg,var(--cyan),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .bn-goal-sub{ font-size:16px; color:var(--body); line-height:2; margin:26px auto 0; max-width:720px; }
  @media(max-width:760px){ .bn-goal{ padding:80px 24px; } .bn-goal h2{ font-size:26px; } .bn-goal-sub{ font-size:14px; } }

  /* リッチな事例カード（GenerativeX風／ブランドカラー）*/
  .gx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:30px; }
  .gx-case{ position:relative; border:1px solid var(--line); border-radius:16px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:.3s; background:#0B1120; }
  .gx-case:hover{ transform:translateY(-6px); border-color:var(--line-cyan); box-shadow:0 24px 54px rgba(0,0,0,.46), 0 0 0 1px rgba(45,212,248,.2); }
  .gx-case .img{ height:188px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#bfeefc;
    background:linear-gradient(150deg, rgba(45,212,248,.28), rgba(59,130,246,.12) 55%, #0B1120); border-bottom:1px solid var(--line); }
  .gx-case .img::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:32px 32px; }
  .gx-case .img svg{ width:56px; height:56px; opacity:.8; position:relative; z-index:1; }
  .gx-case .tag{ position:absolute; top:14px; left:14px; z-index:2; font-size:11px; font-weight:800; color:#06121F; padding:5px 13px; border-radius:20px; background:linear-gradient(135deg,var(--cyan),var(--sky)); box-shadow:0 4px 14px rgba(45,212,248,.35); }
  .gx-case .body{ padding:22px 22px 24px; flex:1; display:flex; flex-direction:column; }
  .gx-case h3{ font-size:16px; font-weight:800; color:var(--head); line-height:1.6; margin:0 0 12px; }
  .gx-case:hover h3{ color:var(--cyan); }
  .gx-case p{ font-size:12.5px; color:var(--body); line-height:1.85; margin:0 0 16px; flex:1; }
  .gx-case .more{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--cyan); text-transform:uppercase; }
  @media(max-width:860px){ .gx-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .gx-grid{ grid-template-columns:1fr; } }

  /* クリックで遷移する要素のホバー */
  [onclick]{ cursor:pointer; }
  .bn-svc-card:hover .ic{ transform:scale(1.08); transition:transform .25s; }
  .bc-news-row{ transition:background .15s, padding-left .15s; }
  .bc-news-row:hover{ padding-left:12px; }
  .lcard, .hub-card, .tg-card, .bn-case, .bn-svc-card, .nri-svc, .sv-rel a, .bc-disc a, .bcx-card, .ly-card{ transition:transform .25s, border-color .2s, background .2s, box-shadow .25s; }

  /* ===== Footer ===== */
  .site-footer{ border-top:3px solid var(--cyan); background:#070B14; text-align:left; box-shadow:0 -18px 50px rgba(0,0,0,.45); margin-top:40px; }
  .ft-inner{ max-width:none; margin:0; padding:54px 48px 26px; }
  .ft-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:44px; align-items:start; }
  .ft-logo{ font-size:22px; font-weight:800; color:#fff; letter-spacing:.02em; cursor:pointer; }
  .ft-tag{ font-size:12px; color:#8893A8; margin:10px 0 0; max-width:230px; line-height:1.7; }
  .ft-col{ display:flex; flex-direction:column; gap:10px; }
  .ft-col .ft-h{ font-size:13px; font-weight:800; color:var(--head); letter-spacing:.03em; margin-bottom:8px; cursor:pointer; }
  .ft-col .ft-h:hover{ color:var(--cyan); }
  .ft-col a{ font-size:12.5px; color:#9AA6BB; text-decoration:none; cursor:pointer; line-height:1.55; }
  .ft-col a:hover{ color:var(--cyan); }
  .ft-bottom{ border-top:1px solid var(--line); margin-top:46px; padding-top:22px; font-size:11px; color:#7C879B; }
  @media(max-width:860px){ .ft-top{ grid-template-columns:1fr 1fr; gap:30px; } }

  /* ===== テーマ切替カードグリッド（News / 導入事例 / 記事）===== */
  .tg-tabs{ display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 34px; }
  .tg-tab{ font-size:13px; color:#9FB4CC; border:1px solid var(--line); border-radius:24px; padding:9px 20px; cursor:pointer; transition:.15s; }
  .tg-tab.active, .tg-tab:hover{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.08); }
  .tg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .tg-card{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:rgba(26,28,32,.45); text-decoration:none; display:flex; flex-direction:column; transition:.25s; }
  .tg-card:hover{ border-color:var(--line-cyan); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.4); }
  .tg-card .img{ height:158px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--cyan);
    background:radial-gradient(220px 150px at 50% 16%, rgba(45,212,248,.16), transparent), #0B1120; border-bottom:1px solid var(--line); }
  .tg-card .img::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px); background-size:30px 30px; }
  .tg-card .img svg{ width:44px; height:44px; opacity:.55; position:relative; z-index:1; }
  .tg-card .body{ padding:20px 20px 22px; flex:1; display:flex; flex-direction:column; }
  .tg-card .meta{ display:flex; gap:10px; align-items:center; margin-bottom:12px; }
  .tg-card .cat{ font-size:10px; color:var(--sky); border:1px solid var(--line-cyan); border-radius:5px; padding:3px 9px; letter-spacing:.04em; }
  .tg-card .date{ font-size:11px; color:#8FA0B8; }
  .tg-card h3{ font-size:15px; font-weight:700; color:var(--head); line-height:1.6; margin:0; }
  .tg-card:hover h3{ color:var(--cyan); }
  @media(max-width:860px){ .tg-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .tg-grid{ grid-template-columns:1fr; } }

  /* サービスのフロー（1-4ステップ）*/
  .pflow{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .pstep{ position:relative; border:1px solid var(--line); border-radius:14px; padding:28px 22px 26px; background:rgba(30,32,40,.35); }
  .pstep .no{ font-family:var(--mono); font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--cyan); }
  .pstep .bar{ width:30px; height:3px; border-radius:2px; background:linear-gradient(90deg,var(--cyan),var(--cta)); margin:12px 0 16px; }
  .pstep h4{ font-size:16px; font-weight:800; color:var(--head); margin:0 0 10px; }
  .pstep p{ font-size:13px; color:var(--body); line-height:1.8; margin:0; }
  .pstep::after{ content:"›"; position:absolute; top:50%; right:-13px; transform:translateY(-50%); color:#46506A; font-size:20px; z-index:2; }
  .pstep:last-child::after{ display:none; }
  @media(max-width:760px){ .pflow{ grid-template-columns:1fr 1fr; } .pstep::after{ display:none; } }
  /* サービスページ内の導入事例（3カラム）*/
  .sv-cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media(max-width:760px){ .sv-cases{ grid-template-columns:1fr; } }

  /* 最小サイズの淡色テキストは視認性のため白系に */
  .ly-en, .tg-card .date, .lcard .date, .nrow .d,
  .mega-svc .code, .menu-item .code, .bc-ins-item .date, .bc-ins-feat .date,
  .ft-bottom, .sign-role, .lcard .tag, .bcx-en, .sv-card .cl, .sb-ph,
  .nri-svc .nm{ color:#EAF1FA; }

  .nh-root{ font-family:"Plus Jakarta Sans","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; }
  .bg-grid-subtle{ background-image:linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px); background-size:60px 60px; }
  .glow-technical{ background:radial-gradient(circle at center, rgba(45,212,248,0.06) 0%, transparent 60%); }
  .text-gradient-laser{ background:linear-gradient(90deg,#2dd4f8,#a3eaff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .premium-card{ background:rgba(18,33,49,0.4); backdrop-filter:blur(12px); border:1px solid #1E293B; transition:all .4s cubic-bezier(0.16,1,0.3,1); }
  .premium-card:hover{ border-color:rgba(45,212,248,0.4); background:rgba(18,33,49,0.6); transform:translateY(-2px); }
  .section-spacing{ padding-top:120px; padding-bottom:120px; }
  .heading-xl{ font-size:4rem; letter-spacing:-0.04em; line-height:1.1; font-weight:800; }
  @media (max-width:768px){ .heading-xl{ font-size:2.5rem; } .section-spacing{ padding-top:72px; padding-bottom:72px; } }
  /* preflight無効でもTailwindのborder/divideを表示するための補正 */
  .nh-root [class*="border"]{ border-style:solid; }
  .nh-root .divide-y>*{ border-top-style:solid; }
  .nh-root .divide-y>:first-child{ border-top-style:none; }
  .nh-svc-ic svg{ width:54px; height:54px; }

  /* ===== TOPの白ベース・セクション（gen-x風の明暗リズム）===== */
  .nh-light{ background:#F4F6FB !important; }
  .nh-light h1,.nh-light h2,.nh-light h3,.nh-light h4{ color:#0A0E1A; }
  .nh-light [class*="text-white"]{ color:#0A0E1A !important; }
  .nh-light .text-silver-gray{ color:#475569 !important; }
  .nh-light .text-primary-container{ color:#0891b2 !important; }
  .nh-light .text-gradient-laser{ background:linear-gradient(90deg,#0891b2,#2563eb); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .nh-light [class*="border-white"]{ border-color:#E6EBF2 !important; }
  .nh-light [class*="divide-white"]>*{ border-color:#E6EBF2 !important; }
  .nh-light .premium-card{ background:#FFFFFF !important; border-color:#E2E8F0 !important; }
  .nh-light .premium-card:hover{ background:#FFFFFF !important; border-color:rgba(8,145,178,.45) !important; box-shadow:0 16px 38px rgba(15,23,42,.10); transform:translateY(-2px); }
  /* 白背景に映える、さりげない上辺アクセント */
  .nh-light .premium-card{ position:relative; overflow:hidden; }
  .nh-light .premium-card::before{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,#2dd4f8,#3B82F6); transition:width .5s; }
  .nh-light .premium-card:hover::before{ width:100%; }

  /* ===== TOP サービス一覧：ベントー型（画像入り）===== */
  .nh-bento{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:230px 230px 170px; gap:16px; }
  .nh-tile{ position:relative; overflow:hidden; border:1px solid #1E293B; border-radius:4px; display:block; text-decoration:none; }
  .nh-tile .bgimg{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s ease; }
  .nh-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(5,7,12,.93), rgba(5,7,12,.45) 55%, rgba(5,7,12,.12)); transition:background .4s; }
  .nh-tile:hover{ border-color:rgba(45,212,248,.5); }
  .nh-tile:hover .bgimg{ transform:scale(1.06); }
  .nh-tile:hover::after{ background:linear-gradient(to top, rgba(5,7,12,.9), rgba(7,28,38,.5) 55%, rgba(45,212,248,.10)); }
  .nh-tile .tx{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:26px 28px; }
  .nh-tile .eb{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#2dd4f8; }
  .nh-tile h3{ font-size:22px; font-weight:800; color:#fff; margin:8px 0 6px; letter-spacing:.01em; }
  .nh-tile p{ font-size:12.5px; line-height:1.7; color:#c7d2e0; margin:0; max-width:520px; }
  .nh-tile .more{ display:inline-block; margin-top:12px; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#2dd4f8; }
  .nh-tile:hover .more{ color:#a3eaff; }
  /* ファーストビューのスクロールインジケーター */
  .nh-scroll span{ animation:nhScrollFade 2s ease-in-out infinite; }
  .nh-scroll-line{ transform-origin:top; animation:nhScrollLine 2s ease-in-out infinite; }
  @keyframes nhScrollFade{ 0%,100%{ opacity:.45 } 50%{ opacity:1 } }
  @keyframes nhScrollLine{ 0%{ transform:scaleY(.3); opacity:.4 } 50%{ transform:scaleY(1); opacity:1 } 100%{ transform:scaleY(.3); opacity:.4 } }
  /* 採用ページへボタン：通常は紺色、ホバーでコーポレートカラー（シアン）に */
  .nh-recruit-btn{ background:#0E2A44; color:#fff; border:1px solid rgba(45,212,248,.3); transition:background .35s ease, box-shadow .35s ease, transform .2s ease, border-color .35s ease; }
  .nh-recruit-btn:hover{ background:linear-gradient(135deg,#2DD4F8,#3B82F6); color:#fff; border-color:transparent; box-shadow:0 12px 36px rgba(45,212,248,.42); transform:translateY(-2px); }
  .nh-recruit-btn:hover .transition-transform{ transform:translateX(4px); }
  /* お知らせ：絞り込みタブ＋もっと見る */
  .nw-tabs{ display:flex; flex-wrap:wrap; gap:9px; margin:6px 0 24px; }
  .nw-tab{ font-family:var(--mono); font-size:12px; color:#8893A8; border:1px solid var(--line); border-radius:20px; padding:7px 16px; cursor:pointer; background:transparent; transition:.15s; }
  .nw-tab:hover{ color:var(--cyan); border-color:var(--line-cyan); }
  .nw-tab.active{ color:#06121F; background:linear-gradient(135deg,var(--cyan),var(--cta)); border-color:transparent; font-weight:700; }
  .nw-empty{ color:#6B7891; text-align:center; padding:46px 0; font-size:14px; }
  .nw-more{ text-align:center; margin-top:30px; }
  .nw-more button{ font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--cyan); background:transparent; border:1px solid rgba(45,212,248,.5); border-radius:8px; padding:13px 36px; cursor:pointer; transition:.2s; }
  .nw-more button:hover{ background:rgba(45,212,248,.1); }
  .nw-more .count{ display:block; font-family:var(--mono); font-size:11px; color:#6B7891; margin-top:13px; letter-spacing:.04em; }
  /* ニュース一覧のサムネイル */
  .nw-thumb{ width:104px; height:60px; flex:none; border-radius:7px; background-color:#0e1626; background-size:contain; background-repeat:no-repeat; background-position:center; border:1px solid var(--line); }
  @media(max-width:640px){ .nw-thumb{ width:84px; height:50px; } }
  /* セミナー：開催予定（横スクロール）＋過去（3列グリッド）*/
  .sm-rail{ position:relative; margin-top:18px; }
  .sm-arrows{ display:flex; justify-content:flex-end; gap:8px; margin-bottom:12px; }
  .sm-arrow{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:transparent; color:#C3CCDC; font-size:18px; cursor:pointer; transition:.15s; display:flex; align-items:center; justify-content:center; }
  .sm-arrow:hover{ color:var(--cyan); border-color:var(--line-cyan); background:rgba(45,212,248,.08); }
  .sm-scroll{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:2px 2px 14px; }
  .sm-scroll::-webkit-scrollbar{ height:8px; }
  .sm-scroll::-webkit-scrollbar-track{ background:transparent; }
  .sm-scroll::-webkit-scrollbar-thumb{ background:rgba(120,140,170,.22); border-radius:4px; }
  .sm-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px; }
  .sm-card{ flex:0 0 330px; max-width:330px; scroll-snap-align:start; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:rgba(18,33,49,.4); text-decoration:none; transition:transform .2s, border-color .2s, box-shadow .2s; display:flex; flex-direction:column; }
  .sm-grid .sm-card{ flex:initial; max-width:none; }
  .sm-card:hover{ transform:translateY(-3px); border-color:var(--line-cyan); box-shadow:0 14px 36px rgba(0,0,0,.4); }
  .sm-card .img{ height:150px; display:flex; align-items:center; justify-content:center; color:var(--cyan); position:relative; overflow:hidden; background:radial-gradient(300px 160px at 50% 0%, rgba(45,212,248,.16), transparent), #0B1120; border-bottom:1px solid var(--line); }
  .sm-card .img::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:26px 26px; }
  .sm-card .img svg{ width:40px; height:40px; opacity:.65; position:relative; z-index:1; }
  .sm-card .img.photo{ background-size:cover; background-position:center; filter:brightness(.92); transition:filter .4s; }
  .sm-card .img.photo::after{ background:none; }
  .sm-card .img.photo::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,14,26,.05),rgba(10,14,26,.45)); }
  .sm-card:hover .img.photo{ filter:brightness(1.04); }
  .sm-card .bd{ padding:18px 20px 22px; }
  .sm-card .meta{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
  .sm-card .cat{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--cyan); border:1px solid var(--line-cyan); border-radius:5px; padding:2px 9px; }
  .sm-card .date{ font-family:var(--mono); font-size:11px; color:#6B7891; }
  .sm-card h3{ font-size:15px; font-weight:700; color:#EEF2F8; margin:0; line-height:1.6; }
  @media(max-width:760px){ .sm-grid{ grid-template-columns:1fr; } }
  /* ===== 詳細ページ共通（導入事例／トピックス／セミナー）===== */
  .dt{ padding-top:4px; }
  .dt-back{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; color:#6B7891; cursor:pointer; margin-bottom:20px; }
  .dt-back:hover{ color:var(--cyan); }
  .dt-banner{ width:100%; aspect-ratio:16/9; background-color:#0e1626; background-size:contain; background-repeat:no-repeat; background-position:center; border:1px solid var(--line); border-radius:12px; margin-bottom:26px; position:relative; }
  .dt-head{ border-bottom:1px solid var(--line); padding-bottom:26px; margin-bottom:32px; }
  .dt-meta{ display:flex; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
  .dt-cat{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--cyan); border:1px solid var(--line-cyan); border-radius:5px; padding:3px 11px; }
  .dt-date{ font-family:var(--mono); font-size:12px; color:#6B7891; }
  .dt-end{ font-family:var(--mono); font-size:11px; color:#6B7891; border:1px solid var(--line); border-radius:5px; padding:3px 10px; }
  .dt-h1{ font-size:30px; font-weight:800; color:#fff; line-height:1.5; margin:0; letter-spacing:.01em; }
  .dt-lead{ font-size:15.5px; color:#9FB1C6; line-height:2; margin:18px 0 0; }
  .dt-facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:0 0 40px; }
  .dt-fact{ background:#0E1422; padding:16px 18px; }
  .dt-fact .k{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:#6B7891; text-transform:uppercase; }
  .dt-fact .v{ font-size:14px; color:#D7E0EC; margin-top:6px; font-weight:600; line-height:1.6; }
  .dt-sec{ margin:0 0 40px; }
  .dt-h2{ font-size:18px; font-weight:800; color:#fff; margin:0 0 16px; padding-left:14px; border-left:3px solid var(--cyan); line-height:1.4; }
  .dt-prose p{ font-size:15px; color:#9FB1C6; line-height:2.05; margin:0 0 14px; }
  .dt-prose p:last-child{ margin-bottom:0; }
  .dt-steps{ display:grid; gap:12px; }
  .dt-step{ display:grid; grid-template-columns:46px 1fr; gap:16px; border:1px solid var(--line); border-radius:10px; padding:18px 20px; background:rgba(18,33,49,.3); align-items:start; }
  .dt-step .n{ font-family:var(--mono); font-size:18px; font-weight:800; color:var(--cyan); }
  .dt-step h4{ font-size:15px; color:#EEF2F8; margin:0 0 6px; }
  .dt-step p{ font-size:13.5px; color:#8FA0B5; line-height:1.8; margin:0; }
  .dt-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .dt-metric{ border:1px solid var(--line-cyan); border-radius:10px; padding:22px; background:linear-gradient(180deg, rgba(45,212,248,.05), transparent); }
  .dt-metric .v{ font-size:18px; font-weight:800; color:#fff; line-height:1.45; }
  .dt-metric .l{ font-size:12.5px; color:#8FA0B5; margin-top:8px; line-height:1.7; }
  .dt-quote{ border-left:3px solid var(--cyan); background:rgba(45,212,248,.04); padding:22px 26px; border-radius:0 10px 10px 0; }
  .dt-quote p{ font-size:16px; color:#D7E0EC; line-height:1.9; margin:0; font-weight:600; }
  .dt-quote .by{ display:block; font-size:12px; color:#6B7891; margin-top:12px; font-family:var(--mono); font-weight:400; }
  .dt-points{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
  .dt-points li{ display:flex; gap:12px; font-size:14.5px; color:#C3CCDC; line-height:1.8; }
  .dt-points li::before{ content:"✓"; color:var(--cyan); font-weight:800; flex:none; }
  .dt-speaker{ display:flex; gap:18px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:20px; background:rgba(18,33,49,.3); }
  .dt-speaker .av{ width:54px; height:54px; border-radius:50%; background:linear-gradient(135deg,#22304d,#0e1830); display:flex; align-items:center; justify-content:center; color:var(--cyan); flex:none; }
  .dt-speaker .av svg{ width:26px; height:26px; }
  .dt-speaker .nm{ font-size:15px; color:#EEF2F8; font-weight:700; }
  .dt-speaker .ro{ font-size:12.5px; color:#8FA0B5; margin-top:4px; }
  .dt-speakers{ display:grid; gap:12px; }
  .dt-cta{ border:1px solid var(--line-cyan); border-radius:12px; padding:30px; text-align:center; background:rgba(45,212,248,.03); margin-top:8px; }
  .dt-cta h3{ font-size:18px; color:#fff; margin:0 0 16px; }
  .dt-cta .btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
  .dt-btn{ padding:13px 28px; border-radius:8px; font-size:13px; font-weight:800; cursor:pointer; text-decoration:none; }
  .dt-btn.primary{ background:linear-gradient(135deg,var(--cyan),var(--cta)); color:#06121F; }
  .dt-btn.ghost{ background:transparent; color:var(--cyan); border:1.5px solid rgba(45,212,248,.5); }
  @media(max-width:680px){ .dt-facts{ grid-template-columns:1fr; } .dt-metrics{ grid-template-columns:1fr; } .dt-h1{ font-size:23px; } }
  /* セミナー開催概要：表をやめてマークダウン風の定義リスト */
  .dt-deflist{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
  .dt-deflist li{ display:flex; gap:14px; padding:12px 2px; border-bottom:1px solid var(--line); font-size:14.5px; }
  .dt-deflist .k{ flex:none; width:120px; color:#6B7891; font-weight:600; }
  .dt-deflist .v{ color:#D7E0EC; }
  @media(max-width:680px){ .dt-deflist li{ flex-direction:column; gap:2px; } }
  /* ===== 導入事例の詳細：白ベース（body.lightpage 時）===== */
  body.lightpage .dt-back{ color:#64748b; }
  body.lightpage .dt-back:hover{ color:#0891b2; }
  body.lightpage .dt-head{ border-bottom-color:#E2E8F0; }
  body.lightpage .dt-cat{ color:#0891b2; border-color:rgba(8,145,178,.3); }
  body.lightpage .dt-date, body.lightpage .dt-end{ color:#94a3b8; border-color:#E2E8F0; }
  body.lightpage .dt-h1{ color:#0A1222; }
  body.lightpage .dt-lead{ color:#475569; }
  body.lightpage .dt-facts{ background:#E6EBF2; border-color:#E2E8F0; }
  body.lightpage .dt-fact{ background:#FFFFFF; }
  body.lightpage .dt-fact .k{ color:#94a3b8; }
  body.lightpage .dt-fact .v{ color:#0f172a; }
  body.lightpage .dt-h2{ color:#0A1222; border-left-color:#0891b2; }
  body.lightpage .dt-prose p{ color:#475569; }
  body.lightpage .dt-step{ background:#FFFFFF; border-color:#E6EBF2; }
  body.lightpage .dt-step .n{ color:#0891b2; }
  body.lightpage .dt-step h4{ color:#0A1222; }
  body.lightpage .dt-step p{ color:#5a6b80; }
  body.lightpage .dt-metric{ background:linear-gradient(180deg, rgba(8,145,178,.05), transparent); border-color:rgba(8,145,178,.3); }
  body.lightpage .dt-metric .v{ color:#0A1222; }
  body.lightpage .dt-metric .l{ color:#5a6b80; }
  body.lightpage .dt-quote{ background:rgba(8,145,178,.05); border-left-color:#0891b2; }
  body.lightpage .dt-quote p{ color:#1e293b; }
  body.lightpage .dt-quote .by{ color:#94a3b8; }
  body.lightpage .dt-cta{ background:rgba(8,145,178,.05); border-color:rgba(8,145,178,.3); }
  body.lightpage .dt-cta h3{ color:#0A1222; }
  body.lightpage .dt-btn.ghost{ color:#0891b2; border-color:rgba(8,145,178,.5); }
  /* ===== お問い合わせフォーム（項目を既存フォームに準拠）===== */
  .cform .sv-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .sv-field label .req{ font-size:10px; font-weight:700; color:#ff9c9c; border:1px solid rgba(255,156,156,.4); border-radius:4px; padding:1px 7px; margin-left:8px; letter-spacing:.04em; }
  .sv-field label .opt{ font-size:10px; font-weight:700; color:#7E8AA0; border:1px solid var(--line); border-radius:4px; padding:1px 7px; margin-left:8px; letter-spacing:.04em; }
  .cf-opts{ display:grid; gap:9px; margin-top:2px; }
  .cf-opt{ display:flex; align-items:center; gap:10px; font-size:14px; color:#C3CCDC; cursor:pointer; }
  .cf-opt input{ width:16px; height:16px; accent-color:var(--cyan); flex:none; }
  .cf-agree{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#C3CCDC; cursor:pointer; margin:8px 0 18px; line-height:1.6; }
  .cf-agree input{ width:16px; height:16px; accent-color:var(--cyan); flex:none; margin-top:3px; }
  .sv-field input[type=file]{ padding:9px 12px; }
  @media(max-width:560px){ .cform .sv-row{ grid-template-columns:1fr; } }
  .b-consul{ grid-column:1; grid-row:1 / span 2; }
  .b-consul h3{ font-size:30px; }
  .b-solution{ grid-column:2; grid-row:1; }
  .b-aiintg{ grid-column:2; grid-row:2; }
  .b-hr{ grid-column:1 / span 2; grid-row:3; }
  @media(max-width:760px){ .nh-bento{ grid-template-columns:1fr; grid-template-rows:none; } .nh-tile{ min-height:210px; } .b-consul,.b-solution,.b-aiintg,.b-hr{ grid-column:auto; grid-row:auto; } .b-hr{ min-height:170px; } }

  /* TOP FirstView 背景のサイバーグローブ（iframe）— screen合成で黒を飛ばし、ページに馴染ませる */
  .hero-globe{ position:absolute; top:50%; left:62%; width:64%; height:104%; transform:translate(-50%,-50%); border:0; z-index:0; pointer-events:none; background:transparent;
    opacity:.2; mix-blend-mode:screen;
    -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 12%, transparent 56%); mask-image:radial-gradient(circle at 50% 50%, #000 12%, transparent 56%); }
  @media(max-width:900px){ .hero-globe{ left:50%; width:130%; height:90%; opacity:.14; } }

  /* TOP 冒頭（ヒーロー〜サービス見出し）の動く背景 */
  .fx-zone{ position:relative; background:radial-gradient(1000px 600px at 72% 8%, rgba(45,212,248,.12), transparent 60%), radial-gradient(800px 500px at 12% 60%, rgba(59,130,246,.10), transparent 60%), #0A0E1A; }
  .fx-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; display:block; }
  .fx-zone > section{ position:relative; z-index:1; }

  .aeg{ font-family:"Inter","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; color:#dfe2f3; }
  .aeg *{ box-sizing:border-box; }
  .aeg-mono{ font-family:"JetBrains Mono",ui-monospace,monospace; }
  .aeg-disp{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-weight:800; letter-spacing:-.02em; }
  .aeg-grid-bg{ background-image:linear-gradient(to right, rgba(45,212,248,.03) 1px, transparent 1px),linear-gradient(to bottom, rgba(45,212,248,.03) 1px, transparent 1px); background-size:60px 60px; }

  /* crumb bar */
  .aeg-crumb{ max-width:1280px; margin:0 auto; padding:22px 40px 0; }

  /* hero */
  .aeg-hero{ position:relative; min-height:64vh; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.05); padding:90px 24px 80px; }
  .aeg-hero::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(to right, rgba(45,212,248,.03) 1px, transparent 1px),linear-gradient(to bottom, rgba(45,212,248,.03) 1px, transparent 1px); background-size:60px 60px; }
  .aeg-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom,#0A0E1A, transparent 22%, transparent 78%, #0A0E1A); pointer-events:none; }
  .aeg-hero-inner{ position:relative; z-index:2; max-width:1000px; margin:0 auto; text-align:center; }
  .aeg-corner{ position:absolute; top:34px; left:40px; z-index:3; display:flex; align-items:center; gap:16px; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.5em; color:rgba(45,212,248,.32); }
  .aeg-corner .ln{ width:48px; height:1px; background:rgba(45,212,248,.22); }
  .aeg-badge{ display:inline-block; padding:8px 24px; margin-bottom:40px; border:1px solid rgba(45,212,248,.22); background:rgba(45,212,248,.05); border-radius:999px; }
  .aeg-badge span{ font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.2em; color:#2dd4f8; }
  .aeg-hero h1{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-weight:800; font-size:46px; line-height:1.1; letter-spacing:-.02em; color:#EEF2F8; margin:0 0 36px; }
  .aeg-hero h1 .g{ background:linear-gradient(90deg,#2dd4f8,#adc6ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .aeg-rule{ width:96px; height:2px; background:rgba(45,212,248,.3); margin:0 auto 36px; }
  .aeg-hero p{ font-size:17px; line-height:1.85; color:#bbc9ce; max-width:660px; margin:0 auto; opacity:.85; }
  @keyframes aegScan{ 0%{ transform:translateY(-100%);} 100%{ transform:translateY(1100%);} }
  .aeg-scan{ position:absolute; left:0; right:0; top:0; height:200px; z-index:1; background:linear-gradient(to bottom, transparent, rgba(45,212,248,.025), transparent); animation:aegScan 12s linear infinite; pointer-events:none; }

  /* category section */
  .aeg-sec{ padding:120px 24px; position:relative; background:#0A0E1A; }
  .aeg-sec.alt{ background:#0f131f; border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); }
  .aeg-wrap{ max-width:1280px; margin:0 auto; }
  .aeg-sec-head{ display:flex; flex-direction:column; gap:6px; margin-bottom:72px; border-left:2px solid rgba(45,212,248,.3); padding-left:40px; }
  .aeg-eyebrow{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.4em; text-transform:uppercase; color:#a3eaff; opacity:.55; }
  .aeg-sec-head h2{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-weight:800; font-size:38px; color:#EEF2F8; margin:6px 0 0; letter-spacing:-.01em; display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
  .aeg-sec-head h2 .no{ font-family:"JetBrains Mono",monospace; font-size:22px; font-weight:500; color:#2dd4f8; letter-spacing:0; }
  .aeg-sec-desc{ color:#bbc9ce; font-size:15px; line-height:1.9; max-width:680px; margin:18px 0 0; }

  /* service grid */
  .aeg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.06); }
  .aeg-card{ background:#0A0E1A; padding:0; transition:background .5s; cursor:pointer; display:flex; flex-direction:column; text-decoration:none; overflow:hidden; }
  .aeg-sec.alt .aeg-card{ background:#0f131f; }
  .aeg-card:hover{ background:#161C2E; }
  .aeg-thumb{ height:132px; background-size:cover; background-position:center; position:relative; flex:none; border-bottom:1px solid rgba(255,255,255,.07); }
  .aeg-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,14,26,.74), rgba(10,14,26,.12) 56%, rgba(10,14,26,.28)); transition:background .4s; }
  .aeg-card:hover .aeg-thumb::after{ background:linear-gradient(to top, rgba(22,28,46,.6), rgba(45,212,248,.06) 60%, rgba(10,14,26,.18)); }
  .aeg-bd{ padding:22px 26px 26px; display:flex; flex-direction:column; flex:1; min-height:148px; }
  .aeg-card .code{ font-family:"JetBrains Mono",monospace; font-size:12px; color:rgba(163,234,255,.5); margin-bottom:13px; letter-spacing:.04em; }
  .aeg-card h3{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-weight:700; font-size:18px; color:#EEF2F8; margin:0 0 12px; line-height:1.5; }
  .aeg-card p{ font-size:13px; line-height:1.75; color:#bbc9ce; opacity:.72; margin:0; transition:opacity .3s; }
  .aeg-card:hover p{ opacity:1; }
  .aeg-card .go{ margin-top:auto; padding-top:18px; color:#2dd4f8; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.08em; opacity:0; transform:translateX(-6px); transition:.4s; }
  .aeg-card:hover .go{ opacity:1; transform:none; }

  /* CTA */
  .aeg-cta{ position:relative; overflow:hidden; padding:150px 24px; text-align:center; background:#0A0E1A; border-top:1px solid rgba(255,255,255,.05); }
  .aeg-cta::before{ content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(to right, rgba(45,212,248,.06) 1px, transparent 1px),linear-gradient(to bottom, rgba(45,212,248,.06) 1px, transparent 1px); background-size:60px 60px; }
  .aeg-cta-inner{ position:relative; z-index:2; max-width:760px; margin:0 auto; }
  .aeg-cta .eb{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.5em; text-transform:uppercase; color:#2dd4f8; display:block; margin-bottom:28px; }
  .aeg-cta h2{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-weight:800; font-size:42px; color:#EEF2F8; margin:0 0 28px; letter-spacing:-.01em; }
  .aeg-cta p{ font-size:16px; line-height:1.9; color:#bbc9ce; opacity:.85; margin:0 0 48px; }
  .aeg-cta-btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
  .aeg-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; font-family:"Hanken Grotesk",sans-serif; font-weight:700; font-size:15px; letter-spacing:.14em; padding:20px 44px; border-radius:8px; cursor:pointer; text-decoration:none; transition:.4s; }
  .aeg-btn-primary{ color:#06121F; background:linear-gradient(135deg,#2dd4f8,#3B82F6); box-shadow:0 8px 30px rgba(45,212,248,.25); }
  .aeg-btn-primary:hover{ filter:brightness(1.08); transform:translateY(-2px); }
  .aeg-btn-ghost{ color:#dfe2f3; background:#0A0E1A; border:1px solid rgba(255,255,255,.12); }
  .aeg-btn-ghost:hover{ border-color:rgba(45,212,248,.5); color:#2dd4f8; }

  @media(max-width:980px){ .aeg-grid{ grid-template-columns:repeat(2,1fr); } .aeg-hero h1{ font-size:34px; } .aeg-sec{ padding:84px 20px; } .aeg-cta{ padding:100px 20px; } .aeg-cta h2{ font-size:30px; } }
  @media(max-width:620px){ .aeg-grid{ grid-template-columns:1fr; } .aeg-sec-head{ padding-left:24px; margin-bottom:48px; } .aeg-crumb{ padding:18px 24px 0; } .aeg-corner{ left:24px; } .aeg-sec-head h2{ font-size:28px; } }

  /* ===== セクション・バリアント：明暗とアクセントでリズムを付ける ===== */
  .aeg-wrap{ position:relative; z-index:1; }
  .aeg-hero{ background:radial-gradient(720px 400px at 50% 6%, rgba(45,212,248,.10), transparent 62%); }

  /* DARK（既定の暗トーン）＋ うっすらテックグリッド */
  .aeg-sec.dark{ background:#0A0E1A; }
  .aeg-sec.dark::before{ content:""; position:absolute; inset:0; z-index:0; opacity:.5; pointer-events:none;
    background-image:linear-gradient(to right, rgba(45,212,248,.03) 1px, transparent 1px),linear-gradient(to bottom, rgba(45,212,248,.03) 1px, transparent 1px); background-size:60px 60px; }

  /* LIGHT（白ベース）— 強いコントラストで抜け感を出す */
  .aeg-sec.light{ background:#F4F6FB; border-top:1px solid #E6EBF2; border-bottom:1px solid #E6EBF2; }
  .aeg-sec.light .aeg-sec-head{ border-left-color:rgba(8,145,178,.45); }
  .aeg-sec.light .aeg-eyebrow{ color:#0891b2; opacity:1; }
  .aeg-sec.light .aeg-sec-head h2{ color:#0A0E1A; }
  .aeg-sec.light .aeg-sec-head h2 .no{ color:#0891b2; }
  .aeg-sec.light .aeg-sec-desc{ color:#475569; }
  .aeg-sec.light .aeg-grid{ background:#E3E8F0; border-color:#E3E8F0; }
  .aeg-sec.light .aeg-card{ background:#FFFFFF; position:relative; overflow:hidden; }
  .aeg-sec.light .aeg-card::before{ content:""; position:absolute; left:0; top:0; height:2px; width:0; background:linear-gradient(90deg,#2dd4f8,#3B82F6); transition:width .5s; }
  .aeg-sec.light .aeg-card:hover{ background:#FFFFFF; box-shadow:0 16px 38px rgba(15,23,42,.10); }
  .aeg-sec.light .aeg-card:hover::before{ width:100%; }
  .aeg-sec.light .aeg-card .code{ color:#94A3B8; }
  .aeg-sec.light .aeg-card h3{ color:#0A0E1A; }
  .aeg-sec.light .aeg-card p{ color:#475569; }
  .aeg-sec.light .aeg-card .go{ color:#0891b2; }

  /* ACCENT（シアングロー）— ハイライトの差し色。2カラムの大きめカード＋透かし番号 */
  .aeg-sec.accent{ background:radial-gradient(900px 520px at 82% -8%, rgba(45,212,248,.16), transparent 60%), linear-gradient(180deg,#0b1626,#0A0E1A); border-top:1px solid rgba(45,212,248,.18); border-bottom:1px solid rgba(45,212,248,.18); }
  .aeg-sec.accent .aeg-sec-head{ border-left-color:rgba(45,212,248,.6); }
  .aeg-sec.accent .aeg-eyebrow{ color:#7dd3fc; opacity:1; }
  .aeg-sec.accent .aeg-grid{ grid-template-columns:repeat(2,1fr); background:rgba(45,212,248,.16); border-color:rgba(45,212,248,.2); }
  .aeg-sec.accent .aeg-card{ background:rgba(10,16,28,.66); backdrop-filter:blur(8px); position:relative; overflow:hidden; min-height:182px; }
  .aeg-sec.accent .aeg-card:hover{ background:rgba(45,212,248,.08); }
  .aeg-sec.accent .aeg-card h3{ font-size:21px; }
  .aeg-sec.accent .aeg-card .wm{ display:block; }

  /* カード透かし番号（accent時のみ表示） */
  .aeg-card .wm{ display:none; position:absolute; top:4px; right:14px; font-family:"JetBrains Mono",monospace; font-size:64px; font-weight:500; color:rgba(255,255,255,.05); pointer-events:none; line-height:1; }

  /* CTA：フィナーレとして下からのグロー＋グラデ見出し */
  .aeg-cta{ background:radial-gradient(820px 460px at 50% 124%, rgba(45,212,248,.13), transparent 60%), #0A0E1A; }
  .aeg-cta h2{ background:linear-gradient(90deg,#EEF2F8,#a3eaff); -webkit-background-clip:text; background-clip:text; color:transparent; }

  /* accent 2カラムのレスポンシブ補正 */
  @media(max-width:620px){ .aeg-sec.accent .aeg-grid{ grid-template-columns:1fr; } }

  .sd{ font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; color:#EEF2F8; --c:#2dd4f8; --sky:#a3eaff; }
  .sd *{ box-sizing:border-box; }
  .sd-crumb{ max-width:1180px; margin:0 auto; padding:22px 40px 0; }

  /* HERO */
  .sd-hero{ position:relative; background:#0a0e1a; padding:60px 0 42px; overflow:hidden; border-bottom:1px solid #1E293B; }
  .sd-hero::before{ content:""; position:absolute; inset:0; opacity:.04; pointer-events:none; background-image:linear-gradient(#1E293B 1px,transparent 1px),linear-gradient(90deg,#1E293B 1px,transparent 1px); background-size:20px 20px; }
  .sd-hero-inner{ position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:start; }
  .sd-eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
  .sd-eyebrow .bar{ width:32px; height:1px; background:var(--c); }
  .sd-eyebrow span{ color:var(--sky); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
  .sd-h1{ font-size:42px; font-weight:700; line-height:1.24; letter-spacing:-.01em; color:#EEF2F8; margin:0 0 22px; }
  .sd-h1 .g{ color:var(--c); text-shadow:0 0 18px rgba(45,212,248,.55); }
  .sd-lead{ color:#8893A8; font-size:15px; line-height:1.95; margin:0 0 30px; max-width:560px; }
  .sd-stats{ display:flex; gap:42px; border-top:1px solid #1E293B; padding-top:22px; }
  .sd-stat .num{ font-size:32px; font-weight:700; color:#EEF2F8; line-height:1; }
  .sd-stat .num b{ color:var(--c); font-weight:700; text-shadow:0 0 8px rgba(45,212,248,.7); }
  .sd-stat .lab{ font-size:12px; color:#8893A8; letter-spacing:.04em; margin-top:8px; }

  /* CTA card */
  .sd-card{ position:relative; background:#0f1522; border:1px solid rgba(45,212,248,.4); border-radius:8px; padding:26px; box-shadow:0 0 25px rgba(45,212,248,.15); }
  .sd-card::before{ content:""; position:absolute; top:0; left:25%; right:25%; height:1px; background:linear-gradient(90deg,transparent,var(--c),transparent); opacity:.5; }
  .sd-card h3{ font-size:19px; font-weight:600; color:#EEF2F8; margin:0 0 18px; }
  .sd-field{ margin-bottom:16px; }
  .sd-field label{ display:block; font-size:12px; font-weight:600; letter-spacing:.04em; color:#EEF2F8; margin-bottom:8px; }
  .sd-field input,.sd-field select{ width:100%; background:#161d2b; border:1px solid #1E293B; border-radius:4px; padding:12px 14px; color:#EEF2F8; font-size:15px; outline:none; font-family:inherit; transition:.2s; }
  .sd-field input:focus,.sd-field select:focus{ border-color:var(--c); box-shadow:0 0 10px rgba(45,212,248,.2); }
  .sd-field input::placeholder{ color:rgba(136,147,168,.5); }
  .sd-radios{ border-top:1px solid #1E293B; padding-top:14px; }
  .sd-radios > .lab{ display:block; font-size:12px; color:#8893A8; margin-bottom:12px; letter-spacing:.04em; }
  .sd-radio{ display:flex; align-items:center; gap:12px; padding:8px 0; cursor:pointer; color:#EEF2F8; font-size:15px; }
  .sd-radio .dot{ width:20px; height:20px; border-radius:50%; border:1px solid #1E293B; display:flex; align-items:center; justify-content:center; flex:none; transition:.2s; }
  .sd-radio .dot i{ width:10px; height:10px; border-radius:50%; background:var(--c); opacity:0; transition:.2s; }
  .sd-radio:hover .dot{ border-color:var(--c); }
  .sd-radio.on .dot{ border-color:var(--c); box-shadow:0 0 8px rgba(45,212,248,.3); }
  .sd-radio.on .dot i{ opacity:1; }
  .sd-next{ width:100%; margin-top:8px; background:#0d5f75; color:#e0f7fa; border:none; border-radius:4px; padding:15px; font-size:18px; font-weight:600; cursor:pointer; transition:.3s; font-family:inherit; }
  .sd-next:hover{ background:var(--c); color:#003641; box-shadow:0 4px 14px rgba(45,212,248,.3); }

  /* generic section */
  .sd-sec{ padding:84px 0; }
  .sd-sec.lowest{ background:#0a0e1a; }
  .sd-sec.base{ background:#0f131f; }
  .sd-sec.stroke-y{ border-top:1px solid #1E293B; border-bottom:1px solid #1E293B; }
  .sd-wrap{ max-width:1180px; margin:0 auto; padding:0 40px; }
  .sd-h2{ font-size:24px; font-weight:600; color:#EEF2F8; letter-spacing:.04em; text-transform:uppercase; border-left:2px solid var(--c); padding-left:16px; margin:0 0 32px; }
  .sd-kicker{ text-align:center; color:var(--c); font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; margin:0 0 8px; }
  .sd-h2.center{ border:none; padding:0; text-align:center; margin-bottom:36px; }

  /* Vulnerability Gap */
  .sd-gap{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .sd-risk{ position:relative; background:#171b28; border:1px solid #1E293B; padding:24px; overflow:hidden; }
  .sd-risk::before{ content:""; position:absolute; left:0; top:0; width:3px; height:100%; background:rgba(45,212,248,.4); }
  .sd-risk .tag{ color:var(--c); font-size:12px; font-weight:600; letter-spacing:.18em; margin-bottom:10px; }
  .sd-risk h3{ font-size:18px; font-weight:600; color:#EEF2F8; margin:0 0 10px; }
  .sd-risk p{ font-size:13.5px; line-height:1.85; color:#8893A8; margin:0; }
  .sd-risk.crit{ background:#313442; border-color:rgba(255,180,171,.3); }
  .sd-risk.crit::after{ content:""; position:absolute; inset:0; background:rgba(255,180,171,.05); pointer-events:none; }
  .sd-risk.crit::before{ background:#ffb4ab; }
  .sd-risk.crit .tag{ color:#ffb4ab; }

  /* Architecture diagram */
  .sd-arch{ position:relative; max-width:560px; margin:0 auto; height:360px; border:1px solid #1E293B; background:rgba(15,19,31,.3); padding:18px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
  .sd-arch::before{ content:""; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(#1E293B 1px,transparent 1px),linear-gradient(90deg,#1E293B 1px,transparent 1px); background-size:20px 20px; }
  .sd-anode{ position:relative; z-index:1; display:flex; justify-content:center; margin-top:6px; }
  .sd-anode .b{ background:#0f131f; border:1px solid var(--c); color:var(--c); padding:9px 20px; font-size:12px; font-weight:600; letter-spacing:.18em; box-shadow:0 0 15px rgba(45,212,248,.15); }
  .sd-aline{ position:relative; z-index:1; flex:1; display:flex; justify-content:center; padding:8px 0; }
  .sd-aline .v{ width:1px; height:100%; background:linear-gradient(to bottom,var(--c),rgba(45,212,248,.5),transparent); position:relative; }
  .sd-aline .v i{ position:absolute; left:50%; transform:translateX(-50%); width:6px; height:6px; border-radius:50%; background:var(--c); box-shadow:0 0 8px rgba(45,212,248,1); }
  .sd-acore{ position:relative; z-index:1; display:flex; justify-content:center; margin-bottom:6px; }
  .sd-acore .b{ width:100%; max-width:280px; background:#313442; border:1px solid #1E293B; padding:18px; text-align:center; }
  .sd-acore .b .t{ font-size:20px; font-weight:600; color:#EEF2F8; }
  .sd-acore .b .s{ font-size:12px; font-weight:600; letter-spacing:.18em; color:var(--c); margin-top:4px; }

  /* Deployment Flow */
  .sd-flow{ position:relative; max-width:680px; }
  .sd-flow .rail{ position:absolute; left:11px; top:8px; bottom:8px; width:1px; background:#1E293B; }
  .sd-step{ position:relative; padding-left:42px; margin-bottom:30px; }
  .sd-step:last-child{ margin-bottom:0; }
  .sd-step .dot{ position:absolute; left:0; top:2px; width:24px; height:24px; border-radius:50%; background:#0f131f; border:1px solid #1E293B; display:flex; align-items:center; justify-content:center; }
  .sd-step .dot i{ width:6px; height:6px; border-radius:50%; background:#8893A8; }
  .sd-step.active .dot{ border-color:var(--c); box-shadow:0 0 10px rgba(45,212,248,.2); }
  .sd-step.active .dot i{ width:8px; height:8px; background:var(--c); }
  .sd-step h3{ font-size:18px; font-weight:600; color:#EEF2F8; margin:0 0 4px; }
  .sd-step p{ font-size:13.5px; line-height:1.85; color:#8893A8; margin:0; }

  /* Proven Deployments */
  .sd-deploy{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .sd-dep{ position:relative; aspect-ratio:4/3; border:1px solid #1E293B; overflow:hidden; display:block; text-decoration:none; cursor:pointer; }
  .sd-dep .bg{ position:absolute; inset:0; background:radial-gradient(260px 180px at 50% 24%, rgba(45,212,248,.22), transparent), #0B1120; }
  .sd-dep .bg::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:30px 30px; }
  .sd-dep .ic{ position:absolute; top:50%; left:50%; transform:translate(-50%,-66%); color:var(--c); opacity:.5; }
  .sd-dep .ic svg{ width:46px; height:46px; }
  .sd-dep .ov{ position:absolute; inset:0; background:linear-gradient(to top,#0a0e1a,rgba(10,14,26,.5) 50%,transparent); }
  .sd-dep .cap{ position:absolute; left:0; right:0; bottom:0; padding:20px; }
  .sd-dep .cap .bar{ width:32px; height:1px; background:var(--c); margin-bottom:12px; }
  .sd-dep .cap .sec{ color:var(--c); font-size:12px; font-weight:600; letter-spacing:.18em; margin-bottom:4px; }
  .sd-dep .cap .t{ font-size:20px; font-weight:600; color:#EEF2F8; }
  .sd-dep:hover .ic{ opacity:.85; }

  /* Footer CTA */
  .sd-foot{ background:var(--c); color:#04222a; text-align:center; padding:88px 40px; position:relative; overflow:hidden; }
  .sd-foot::before{ content:""; position:absolute; inset:0; opacity:.1; mix-blend-mode:overlay; background-image:linear-gradient(#000 1px,transparent 1px),linear-gradient(90deg,#000 1px,transparent 1px); background-size:20px 20px; }
  .sd-foot-in{ position:relative; z-index:1; max-width:760px; margin:0 auto; }
  .sd-foot h2{ font-size:46px; font-weight:700; letter-spacing:-.01em; line-height:1.06; margin:0 0 18px; color:#04222a; }
  .sd-foot p{ font-size:17px; font-weight:500; margin:0 0 32px; color:rgba(4,34,42,.85); }
  .sd-foot button{ background:#04222a; color:var(--c); border:none; padding:17px 34px; border-radius:4px; font-size:18px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:.2s; font-family:inherit; }
  .sd-foot button:hover{ transform:scale(.98); }

  /* 追加：サービス名見出し（大きめ・日本語）*/
  .sd-eyebrow .name{ color:var(--sky); font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:none; line-height:1.6; }
  .sd-note{ font-size:11.5px; color:#6B7891; text-align:center; margin-top:14px; }
  /* 背景説明のプロース */
  .sd-prose{ font-size:16px; line-height:2.1; color:#C2CDDA; max-width:880px; margin:0; }
  /* 提供サービス内容 */
  .sd-svc-desc{ font-size:15px; line-height:1.95; color:#9FB1C6; max-width:820px; margin:0 0 28px; text-align:left; }
  .sd-figph{ max-width:880px; margin:0 auto; border:1px dashed #2C3B50; border-radius:10px; background:rgba(15,21,34,.45); padding:66px 24px; text-align:center; color:#6B7891; font-size:13px; letter-spacing:.04em; }
  .sd-figph .mono{ display:block; font-family:"JetBrains Mono",monospace; color:#5F84A8; font-size:11px; margin-top:8px; letter-spacing:.12em; }
  /* 導入事例カード（導入事例ページのdiv準拠）*/
  .sd-cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .sd-case{ display:flex; flex-direction:column; border:1px solid #1E293B; border-radius:12px; overflow:hidden; background:rgba(18,33,49,.4); text-decoration:none; transition:transform .25s, border-color .2s, box-shadow .25s; }
  .sd-case:hover{ transform:translateY(-4px); border-color:rgba(45,212,248,.4); box-shadow:0 16px 40px rgba(0,0,0,.42); }
  .sd-case .thumb{ aspect-ratio:16/9; position:relative; overflow:hidden; background:linear-gradient(150deg, rgba(45,212,248,.26), rgba(59,130,246,.1) 55%, #0B1120); }
  .sd-case .thumb::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px); background-size:28px 28px; }
  .sd-case .thumb .badge{ position:absolute; z-index:1; top:16px; left:16px; font-size:10px; font-weight:800; letter-spacing:.16em; color:var(--c); border:1px solid rgba(45,212,248,.3); background:rgba(10,14,26,.55); padding:5px 12px; }
  .sd-case .bd{ padding:22px; flex:1; display:flex; flex-direction:column; }
  .sd-case .bd h3{ font-size:16px; font-weight:700; color:#EEF2F8; margin:0 0 16px; line-height:1.55; }
  .sd-case .bd .more{ margin-top:auto; font-size:11px; font-weight:800; letter-spacing:.08em; color:var(--c); text-transform:uppercase; }
  @media(max-width:900px){ .sd-cases{ grid-template-columns:1fr; } }

  @media(max-width:900px){
    .sd-hero-inner{ grid-template-columns:1fr; gap:34px; padding:0 24px; }
    .sd-gap{ grid-template-columns:1fr; }
    .sd-deploy{ grid-template-columns:1fr; }
    .sd-h1{ font-size:31px; }
    .sd-foot h2{ font-size:32px; }
    .sd-wrap,.sd-crumb{ padding-left:24px; padding-right:24px; }
  }

  /* ===== サービス詳細：モック準拠の作り込み ===== */
  .sd{ --grad:linear-gradient(120deg,#3B82F6 0%,#2DD4F8 55%,#5FE0FA 100%); --gold:#C9A86A; }
  .sd-grad{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  /* hero network bg + scrim */
  .sd-hero .sd-net{ position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.9; pointer-events:none; }
  .sd-hero .sd-scrim{ position:absolute; inset:0; z-index:0; pointer-events:none;
    background:linear-gradient(90deg,rgba(10,14,26,.95) 0%,rgba(10,14,26,.74) 32%,rgba(10,14,26,.32) 58%,rgba(10,14,26,0) 84%); }
  .sd-hero::after{ content:""; position:absolute; top:-180px; right:-150px; width:560px; height:560px; z-index:0; pointer-events:none;
    background:radial-gradient(circle,rgba(46,155,230,.22),transparent 62%); filter:blur(10px); }
  .sd-hero-inner{ z-index:2; }
  /* form card tag */
  .sd-card .tag{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; font-family:"Hanken Grotesk",monospace; }
  /* trust bar */
  .sd-trust{ background:#0c111c; border-bottom:1px solid #1E293B; }
  .sd-trust-in{ max-width:1180px; margin:0 auto; padding:18px 40px; display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
  .sd-trust .lab{ font-size:12px; color:#6B7891; letter-spacing:.08em; white-space:nowrap; }
  .sd-trust .badges{ display:flex; gap:12px; flex-wrap:wrap; }
  .sd-badge{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:#9FB1C6; border:1px solid #1E293B; border-radius:8px; padding:8px 14px; }
  .sd-badge .d{ width:7px; height:7px; border-radius:50%; background:var(--gold); flex:none; }
  /* background 2col + points */
  .sd-bg2{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:start; }
  .sd-points{ display:flex; flex-direction:column; gap:15px; }
  .sd-pt{ position:relative; background:#111726; border:1px solid #1E293B; border-radius:12px; padding:19px 22px 19px 24px; overflow:hidden; }
  .sd-pt::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--grad); }
  .sd-pt h4{ color:#EEF2F8; font-size:15px; font-weight:700; margin:0 0 6px; letter-spacing:.02em; }
  .sd-pt span{ display:block; font-size:13px; color:#8893A8; line-height:1.8; }
  /* service flow diagram */
  .sd-diagram{ background:linear-gradient(180deg,#11192a,#0c1120); border:1px solid #243349; border-radius:18px; padding:38px 36px; }
  .sd-flowx{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; align-items:stretch; }
  .sd-fstep{ position:relative; padding:0 18px; text-align:center; }
  .sd-fstep:not(:last-child)::after{ content:""; position:absolute; top:6px; right:-10px; width:18px; height:18px;
    border-top:2px solid var(--c); border-right:2px solid var(--c); transform:rotate(45deg); opacity:.45; }
  .sd-fstep .n{ display:inline-block; font-family:"Hanken Grotesk",monospace; font-size:12.5px; letter-spacing:.16em; font-weight:800;
    margin-bottom:15px; padding-bottom:12px; position:relative; }
  .sd-fstep .n::after{ content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:32px; height:2px; background:var(--grad); border-radius:2px; }
  .sd-fstep h4{ font-size:15.5px; color:#EEF2F8; margin:0 0 8px; font-weight:700; }
  .sd-fstep p{ font-size:12.5px; color:#8893A8; line-height:1.75; margin:0; }
  .sd-chips{ display:flex; gap:13px; justify-content:center; margin-top:32px; padding-top:25px; border-top:1px solid #1E293B; flex-wrap:wrap; }
  .sd-chip{ font-size:12.5px; color:#9FB1C6; border:1px solid #1E293B; border-radius:20px; padding:7px 16px; display:flex; align-items:center; gap:8px; }
  .sd-chip b{ font-weight:700; }
  /* process big-number cards */
  .sd-proc{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .sd-pcard{ position:relative; background:#11192a; border:1px solid #1E293B; border-radius:14px; padding:32px 28px; transition:.3s; }
  .sd-pcard:hover{ border-color:#2C3B50; transform:translateY(-4px); }
  .sd-pnum{ font-family:"Hanken Grotesk",monospace; font-size:44px; font-weight:800; line-height:1; margin-bottom:16px; color:var(--c); }
  .sd-pcard h4{ font-size:16px; color:#EEF2F8; margin:0 0 10px; font-weight:700; }
  .sd-pcard p{ font-size:13.5px; color:#8893A8; margin:0; line-height:1.8; }
  /* voice */
  .sd-voice{ position:relative; overflow:hidden; background:linear-gradient(135deg,#131c2f,#0f1626); border:1px solid #243349; border-radius:18px; padding:44px 48px; box-shadow:0 30px 60px -34px rgba(0,0,0,.8); }
  .sd-voice::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--grad); }
  .sd-vmark{ font-family:"Hanken Grotesk",serif; font-size:84px; line-height:.55; font-weight:800; margin-bottom:12px; color:var(--c); }
  .sd-voice blockquote{ font-size:20px; line-height:1.9; color:#EEF2F8; font-weight:500; margin:0 0 22px; max-width:900px; letter-spacing:.01em; }
  .sd-voice blockquote em{ font-style:normal; font-weight:700; color:var(--c); }
  .sd-vby{ font-size:13px; color:#8893A8; letter-spacing:.05em; margin-bottom:28px; }
  .sd-vpoints{ display:grid; grid-template-columns:1fr 1fr; gap:22px; border-top:1px solid #1E293B; padding-top:26px; }
  .sd-vp b{ display:block; font-size:15.5px; margin-bottom:7px; font-weight:700; color:var(--c); }
  .sd-vp span{ font-size:13px; color:#8893A8; line-height:1.8; }
  @media(max-width:900px){
    .sd-trust-in{ padding:16px 24px; gap:18px; }
    .sd-bg2{ grid-template-columns:1fr; gap:30px; }
    .sd-flowx{ grid-template-columns:repeat(2,1fr); gap:26px; }
    .sd-fstep:not(:last-child)::after{ display:none; }
    .sd-proc{ grid-template-columns:1fr; }
    .sd-diagram{ padding:28px 22px; }
    .sd-voice{ padding:30px 24px; }
    .sd-voice blockquote{ font-size:17px; }
    .sd-vpoints{ grid-template-columns:1fr; gap:16px; }
  }
  @media(max-width:560px){ .sd-flowx{ grid-template-columns:1fr; } }

  /* セクションのエンブレム（英字キッカー）*/
  .sd-kick{ display:inline-flex; align-items:center; gap:11px; font-family:"Hanken Grotesk",monospace; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; }
  .sd-kick::before{ content:""; width:24px; height:1px; background:linear-gradient(90deg,#3B82F6,#2DD4F8); flex:none; }
  .sd-center{ text-align:center; }
  .sd-center .sd-kick{ justify-content:center; }
  /* 選ばれる理由（アイコン3点）*/
  .sd-feat{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .sd-feat-card{ position:relative; background:#11192a; border:1px solid #1E293B; border-radius:14px; padding:34px 30px; transition:.3s; overflow:hidden; }
  .sd-feat-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--c); opacity:0; transition:.3s; }
  .sd-feat-card:hover{ border-color:#2C3B50; transform:translateY(-4px); }
  .sd-feat-card:hover::before{ opacity:1; }
  .sd-feat-no{ position:absolute; top:24px; right:28px; font-family:"Hanken Grotesk",monospace; font-size:13px; font-weight:800; letter-spacing:.1em; color:#27374f; }
  .sd-feat-en{ font-family:"Hanken Grotesk",monospace; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--c); margin-bottom:12px; }
  .sd-feat-card h4{ font-size:23px; color:#EEF2F8; margin:0 0 14px; font-weight:800; letter-spacing:.04em; line-height:1.3; white-space:nowrap; }
  .sd-feat-card p{ font-size:13.5px; color:#8893A8; margin:0; line-height:1.85; }
  /* FAQ アコーディオン */
  .sd-faq{ max-width:840px; margin:0 auto; }
  .sd-faq details{ border:1px solid #1E293B; border-radius:12px; background:#11192a; margin-bottom:12px; overflow:hidden; transition:border-color .2s; }
  .sd-faq details[open]{ border-color:#2C3B50; }
  .sd-faq summary{ list-style:none; cursor:pointer; padding:19px 24px; font-size:15px; font-weight:700; color:#EEF2F8; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .sd-faq summary::-webkit-details-marker{ display:none; }
  .sd-faq summary .q{ display:flex; gap:12px; align-items:baseline; }
  .sd-faq summary .q b{ color:#2DD4F8; font-family:"Hanken Grotesk",monospace; font-weight:800; flex:none; }
  .sd-faq summary::after{ content:"+"; color:#2DD4F8; font-size:24px; font-weight:300; line-height:1; transition:.2s; flex:none; }
  .sd-faq details[open] summary::after{ transform:rotate(45deg); }
  .sd-faq .a{ padding:0 24px 20px 50px; font-size:13.5px; color:#8893A8; line-height:1.95; margin:0; }
  @media(max-width:900px){ .sd-feat{ grid-template-columns:1fr; } .sd-faq .a{ padding-left:24px; } }

  /* FirstView：左右の高さ揃え＋資料DL（吹き出し）＋ステップCTA */
  .sd-hero-inner{ align-items:stretch; }
  .sd-hero-left{ display:flex; flex-direction:column; justify-content:center; }
  .sd-card{ display:flex; flex-direction:column; }
  /* 資料サムネ＋見出し（コンパクトに自然に）*/
  .sd-cardhd{ display:flex; align-items:center; gap:15px; margin-bottom:20px; }
  .sd-docmini{ flex:none; }
  .sd-docmini svg.doc{ width:44px; height:auto; display:block; filter:drop-shadow(0 6px 12px rgba(0,0,0,.4)); }
  .sd-cardhd h3{ margin:4px 0 0; line-height:1.45; }
  /* ステップインジケータ */
  .sd-stind{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
  .sd-stind .dot{ width:24px; height:24px; border-radius:50%; border:1px solid #243349; color:#6B7891; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:"Hanken Grotesk",monospace; transition:.2s; flex:none; }
  .sd-stind .dot.on{ border-color:var(--c); color:var(--c); box-shadow:0 0 8px rgba(45,212,248,.3); }
  .sd-stind .lab{ font-size:11.5px; color:#6B7891; letter-spacing:.04em; }
  .sd-stind .lab.on{ color:#C2CDDA; }
  .sd-stind .ln{ flex:1; height:1px; background:#243349; }
  .sd-stind .ln.on{ background:var(--c); }
  .sd-stbtns{ display:flex; gap:10px; }
  .sd-stbtns .sd-next{ flex:1; margin-top:0; }
  .sd-back{ flex:none; background:transparent; border:1px solid #243349; color:#9FB1C6; border-radius:4px; padding:0 20px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; transition:.2s; }
  .sd-back:hover{ border-color:var(--c); color:var(--c); }
  /* FirstView：コスパ等の価値訴求バッジ */
  .sd-hl{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
  .sd-hl-item{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:#C2CDDA; border:1px solid rgba(45,212,248,.3); background:rgba(45,212,248,.07); border-radius:20px; padding:7px 15px; }
  .sd-hl-item b{ color:var(--c); font-weight:800; }
  /* パートナーロゴ・カルーセル（FirstViewの線上・全幅マーキー／白帯）*/
  .sd-logos{ position:relative; width:100vw; margin-left:calc(-50vw + 50%); overflow:hidden; background:#ffffff; padding:13px 0 14px; }
  .sd-logosline{ width:100vw; margin-left:calc(-50vw + 50%); margin-top:22px; height:3px; background:linear-gradient(90deg,#3B82F6,#2DD4F8 50%,#5FE0FA); }
  .sd-logos-track{ display:flex; align-items:center; gap:54px; width:max-content; animation:sdmarq 75s linear infinite; }
  @keyframes sdmarq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .sd-logo{ flex:none; height:40px; display:flex; align-items:center; justify-content:center; }
  .sd-logo img{ height:40px; width:auto; max-width:200px; object-fit:contain; display:block; }
  .sd-logo .nm{ display:none; align-items:center; height:40px; padding:0 20px; border:1px solid #E2E8F0; border-radius:8px; background:#fff; color:#475569; font-size:13.5px; font-weight:700; white-space:nowrap; letter-spacing:.01em; }
  @media(max-width:640px){ .sd-logos-track{ gap:34px; animation-duration:50s; } .sd-logo,.sd-logo img,.sd-logo .nm{ height:34px; } .sd-logo .nm{ font-size:12px; padding:0 13px; } }

  body.lightpage{ background:#F4F6FB !important; }
  body.lightpage::before{ display:none !important; }
  /* パンくず */
  body.lightpage .crumb, body.lightpage .crumb a{ color:#64748b; }
  body.lightpage .crumb b{ color:#0f172a; }
  body.lightpage .crumb a:hover{ color:#0891b2; }
  body.lightpage .crumb span{ color:#cbd5e1; }
  /* ページ見出し */
  body.lightpage .cmp-hero{ border-bottom-color:#E2E8F0; }
  body.lightpage .cmp-hero .eyebrow{ color:#0891b2; }
  body.lightpage .cmp-h1{ color:#0A0E1A; }
  body.lightpage .cmp-hero-sub{ color:#475569; }
  /* タブ */
  body.lightpage .tg-tab{ color:#475569; border-color:#E2E8F0; }
  body.lightpage .tg-tab.active, body.lightpage .tg-tab:hover{ color:#0891b2; border-color:rgba(8,145,178,.4); background:rgba(8,145,178,.06); }
  /* 記事カード（ブログ） */
  body.lightpage .tg-card{ background:#FFFFFF; border-color:#E6EBF2; }
  body.lightpage .tg-card:hover{ border-color:rgba(8,145,178,.4); box-shadow:0 16px 38px rgba(15,23,42,.10); }
  body.lightpage .tg-card .img{ border-bottom-color:#E6EBF2; }
  body.lightpage .tg-card .cat{ color:#0891b2; border-color:rgba(8,145,178,.3); }
  body.lightpage .tg-card .date{ color:#94a3b8; }
  body.lightpage .tg-card h3{ color:#0A0E1A; }
  body.lightpage .tg-card:hover h3{ color:#0891b2; }
  /* 事例カード */
  body.lightpage .gx-case{ background:#FFFFFF; border-color:#E6EBF2; }
  body.lightpage .gx-case:hover{ border-color:rgba(8,145,178,.4); box-shadow:0 24px 54px rgba(15,23,42,.12); }
  body.lightpage .gx-case .img{ border-bottom-color:#E6EBF2; }
  body.lightpage .gx-case h3{ color:#0A0E1A; }
  body.lightpage .gx-case:hover h3{ color:#0891b2; }
  body.lightpage .gx-case p{ color:#475569; }
  body.lightpage .gx-case .more{ color:#0891b2; }

  /* ===== 技術ブログ：Accenture Insights風（編集デザイン・角ばった）===== */
  .edi{ --ink:#0f172a; --line:#e2e8f0; --muted:#64748b; --accent:#0e7490; font-family:"Inter","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; }
  /* タブ（下線型・角） */
  .edi .tg-tabs{ border-bottom:1px solid var(--line); padding-bottom:0; gap:2px; margin:2px 0 36px; }
  .edi .tg-tab{ border-radius:0; border:none; border-bottom:2px solid transparent; padding:11px 18px; color:var(--muted); background:none; font-size:13px; }
  .edi .tg-tab.active, .edi .tg-tab:hover{ color:var(--ink); border-bottom-color:var(--accent); background:none; }
  /* Featured */
  .edi-feat{ display:grid; grid-template-columns:1.25fr 1fr; border:1px solid var(--line); background:#fff; margin-bottom:48px; text-decoration:none; transition:box-shadow .25s, border-color .25s; }
  .edi-feat:hover{ box-shadow:0 22px 52px rgba(15,23,42,.12); border-color:#cbd5e1; }
  .edi-feat .img{ position:relative; min-height:360px; overflow:hidden; }
  .edi-feat .img .ph{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .55s; }
  .edi-feat:hover .img .ph{ transform:scale(1.05); }
  .edi-feat .tag, .edi-card .tag{ position:absolute; top:0; left:0; z-index:1; font-size:11px; font-weight:800; letter-spacing:.05em; padding:7px 14px; }
  .edi-feat .tag{ background:var(--accent); color:#fff; }
  .edi-feat .bd{ padding:46px 48px; display:flex; flex-direction:column; justify-content:center; }
  .edi-feat .cat{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
  .edi-feat h2{ font-family:"Hanken Grotesk","Inter","Hiragino Kaku Gothic ProN",sans-serif; font-size:30px; font-weight:800; color:var(--ink); line-height:1.45; letter-spacing:-.01em; margin:0 0 16px; }
  .edi-feat:hover h2{ color:var(--accent); }
  .edi-feat p{ font-size:14px; line-height:1.9; color:#475569; margin:0 0 22px; }
  .edi-meta{ font-size:12px; color:#94a3b8; }
  .edi-meta b{ color:#475569; font-weight:600; }
  /* グリッドカード */
  .edi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px; }
  .edi-card{ display:flex; flex-direction:column; text-decoration:none; background:#fff; }
  .edi-card .img{ position:relative; aspect-ratio:16/10; overflow:hidden; border:1px solid var(--line); }
  .edi-card .img .ph{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s; }
  .edi-card:hover .img .ph{ transform:scale(1.06); }
  .edi-card .tag{ background:rgba(255,255,255,.95); color:var(--accent); font-size:10px; padding:5px 11px; }
  .edi-card h3{ font-family:"Hanken Grotesk","Inter","Hiragino Kaku Gothic ProN",sans-serif; font-size:17px; font-weight:800; color:var(--ink); line-height:1.55; margin:15px 0 10px; padding-bottom:11px; border-bottom:2px solid transparent; transition:color .2s, border-color .2s; }
  .edi-card:hover h3{ color:var(--accent); border-bottom-color:var(--accent); }
  .edi-card .edi-meta{ margin-top:auto; }
  .edi-more{ text-align:center; margin-top:48px; }
  .edi-more span{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:.04em; color:var(--ink); border:1px solid #cbd5e1; padding:14px 46px; cursor:pointer; transition:.15s; }
  .edi-more span:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
  @media(max-width:860px){ .edi-grid{ grid-template-columns:repeat(2,1fr); } .edi-feat{ grid-template-columns:1fr; } .edi-feat .img{ min-height:230px; } .edi-feat .bd{ padding:32px 26px; } .edi-feat h2{ font-size:23px; } }
  @media(max-width:560px){ .edi-grid{ grid-template-columns:1fr; } }

  /* ===== Mission / Vision / Value（フルブリードMVV）===== */
  .mvv2{ position:relative; width:100vw; margin-left:calc(-50vw + 50%); background:#000; color:#fff;
    --soft:#c7cfdd; --dim:#8b94a6; --line:rgba(255,255,255,.16); --line-soft:rgba(255,255,255,.10); --grid:rgba(45,212,248,.05); --blue:#2dd4f8; --sky:#7fe3fb; --blue-line:rgba(45,212,248,.34); --glow:rgba(45,212,248,.30);
    font-family:"Space Grotesk","Zen Kaku Gothic New",system-ui,sans-serif; line-height:1.8; letter-spacing:.01em; overflow:hidden; }
  .mvv2 .jp{ font-family:"Zen Kaku Gothic New",sans-serif; }
  .mvv2 .mwrap{ max-width:1200px; margin:0 auto; padding:0 30px; position:relative; z-index:1; }
  .mvv2 .mtechgrid{ position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:60px 60px;
    -webkit-mask-image:radial-gradient(140% 80% at 50% 10%,#000 55%,transparent 92%); mask-image:radial-gradient(140% 80% at 50% 10%,#000 55%,transparent 92%); }
  /* hero */
  .mvv2 .mhero{ min-height:86vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; padding:120px 30px; overflow:hidden; }
  .mvv2 #mvvSky{ position:absolute; inset:0; z-index:0; pointer-events:none; }
  .mvv2 .orbits{ position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); z-index:0; pointer-events:none; }
  .mvv2 .ring{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid var(--blue-line); border-radius:50%; }
  .mvv2 .ring.r1{ width:480px; height:480px; opacity:.7; }
  .mvv2 .ring.r2{ width:760px; height:760px; opacity:.4; border-style:dashed; border-color:rgba(45,212,248,.22); }
  .mvv2 .ring.r3{ width:1080px; height:1080px; opacity:.22; }
  .mvv2 .spin{ position:absolute; left:50%; top:50%; width:760px; height:760px; margin:-380px 0 0 -380px; animation:mvvspin 30s linear infinite; }
  .mvv2 .spin2{ width:480px; height:480px; margin:-240px 0 0 -240px; animation:mvvspin 22s linear infinite reverse; }
  .mvv2 .spin .node{ position:absolute; top:-5px; left:50%; width:9px; height:9px; margin-left:-4.5px; border-radius:50%; background:var(--blue); box-shadow:0 0 18px var(--blue),0 0 5px #fff; }
  @keyframes mvvspin{ to{ transform:rotate(360deg); } }
  .mvv2 .horizon{ position:absolute; left:50%; bottom:-55%; transform:translateX(-50%); width:170%; height:115%; border-radius:50%; z-index:0; pointer-events:none; background:radial-gradient(closest-side,rgba(45,212,248,.18),rgba(22,181,219,.07) 46%,transparent 72%); }
  .mvv2 .watermark{ position:absolute; left:50%; top:47%; transform:translate(-50%,-50%); z-index:0; white-space:nowrap; font-weight:500; font-size:clamp(110px,20vw,280px); letter-spacing:.08em; color:transparent; -webkit-text-stroke:1px rgba(45,212,248,.06); pointer-events:none; font-family:"JetBrains Mono",monospace; }
  .mvv2 .hero-content{ position:relative; z-index:2; max-width:1040px; }
  .mvv2 .eyebrow{ display:inline-flex; align-items:center; gap:18px; font-family:"JetBrains Mono",monospace; font-weight:500; font-size:11px; letter-spacing:.4em; text-transform:uppercase; color:var(--sky); }
  .mvv2 .eyebrow::before,.mvv2 .eyebrow::after{ content:""; width:52px; height:1px; flex:none; }
  .mvv2 .eyebrow::before{ background:linear-gradient(90deg,transparent,var(--blue)); }
  .mvv2 .eyebrow::after{ background:linear-gradient(90deg,var(--blue),transparent); }
  .mvv2 .eyebrow .sep{ color:var(--dim); }
  .mvv2 .eyebrow .jpn{ color:#fff; letter-spacing:.28em; }
  .mvv2 .mhero h1{ margin-top:34px; font-weight:500; line-height:1.28; letter-spacing:.04em; font-size:clamp(36px,6vw,80px); color:#fff; }
  .mvv2 .mhero h1 .b{ font-weight:700; color:var(--sky); text-shadow:0 0 30px var(--glow); }
  .mvv2 .en-sub{ margin-top:34px; font-family:"JetBrains Mono",monospace; font-size:clamp(12px,1.5vw,15px); letter-spacing:.32em; text-transform:uppercase; color:var(--soft); }
  .mvv2 .scrollcue{ position:absolute; bottom:38px; left:50%; transform:translateX(-50%); z-index:2; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--dim); display:flex; flex-direction:column; align-items:center; gap:12px; }
  .mvv2 .scrollcue .ln{ width:1px; height:44px; background:linear-gradient(180deg,var(--dim),transparent); position:relative; overflow:hidden; }
  .mvv2 .scrollcue .ln::after{ content:""; position:absolute; top:0; left:0; width:1px; height:14px; background:var(--blue); animation:mvvdrop 2.4s infinite; }
  @keyframes mvvdrop{ from{ transform:translateY(-14px); } to{ transform:translateY(44px); } }
  /* section index */
  .mvv2 .idx{ display:flex; flex-direction:column; align-items:flex-start; }
  .mvv2 .idx .cap{ font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.42em; text-transform:uppercase; color:var(--dim); }
  .mvv2 .idx .num{ font-family:"JetBrains Mono",monospace; font-size:clamp(54px,7vw,90px); line-height:.95; letter-spacing:-.04em; color:var(--blue); margin-top:12px; text-shadow:0 0 36px rgba(45,212,248,.32); }
  .mvv2 .idx .tick{ width:46px; height:2px; background:linear-gradient(90deg,var(--blue),transparent); margin:22px 0 16px; box-shadow:0 0 12px var(--glow); }
  .mvv2 .idx .kicker{ font-family:"JetBrains Mono",monospace; font-size:clamp(13px,1.4vw,16px); letter-spacing:.44em; text-transform:uppercase; color:#fff; }
  .mvv2 .band.rev .idx{ align-items:flex-end; }
  .mvv2 .band.rev .idx .tick{ background:linear-gradient(90deg,transparent,var(--blue)); }
  /* bands */
  .mvv2 .band{ padding:104px 0; border-top:1px solid var(--line-soft); position:relative; }
  .mvv2 .band::before{ content:""; position:absolute; top:-1px; left:0; width:80px; height:2px; background:var(--blue); box-shadow:0 0 14px var(--glow); }
  .mvv2 .band.rev::before{ left:auto; right:0; }
  .mvv2 .band-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
  .mvv2 .band.rev .band-grid{ grid-template-columns:1.2fr .8fr; }
  .mvv2 .band.rev .label{ order:2; text-align:right; }
  .mvv2 .band.rev .content{ order:1; text-align:right; }
  .mvv2 .band.rev .content .desc{ margin-left:auto; }
  .mvv2 .content .statement{ font-weight:500; line-height:1.5; letter-spacing:.03em; font-size:clamp(22px,3.2vw,40px); padding-top:6px; color:#fff; }
  .mvv2 .content .statement .hi{ font-weight:700; color:var(--sky); }
  .mvv2 .content .desc{ margin-top:28px; max-width:58ch; color:var(--soft); font-size:clamp(15px,1.45vw,17px); line-height:2.1; letter-spacing:.02em; }
  /* values */
  .mvv2 .values{ padding:104px 0; border-top:1px solid var(--line-soft); position:relative; }
  .mvv2 .values::before{ content:""; position:absolute; top:-1px; left:0; width:80px; height:2px; background:var(--blue); box-shadow:0 0 14px var(--glow); }
  .mvv2 .values-head{ display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:end; margin-bottom:54px; }
  .mvv2 .values-head .statement{ font-weight:500; font-size:clamp(21px,2.6vw,34px); line-height:1.5; color:#fff; }
  .mvv2 .values-head .statement .hi{ color:var(--sky); font-weight:700; }
  .mvv2 .values-head .desc{ max-width:54ch; color:var(--soft); font-size:clamp(15px,1.4vw,17px); line-height:2.05; margin-top:18px; }
  .mvv2 .vgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
  .mvv2 .vcard{ border:1px solid var(--line); border-radius:14px; padding:26px 20px 24px; position:relative; overflow:hidden; min-height:230px; display:flex; flex-direction:column; background:rgba(45,212,248,.035); transform:perspective(820px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(var(--ty,0)); transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .4s; }
  .mvv2 .vcard::before{ content:""; position:absolute; inset:0; border-radius:14px; opacity:0; transition:opacity .4s; pointer-events:none; background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(45,212,248,.18),transparent 60%); }
  .mvv2 .vcard:hover{ border-color:rgba(127,227,251,.55); }
  .mvv2 .vcard:hover::before{ opacity:1; }
  .mvv2 .vcard .vnum{ font-family:"JetBrains Mono",monospace; font-weight:700; font-size:13px; letter-spacing:.18em; color:var(--blue); }
  .mvv2 .vcard .ven{ margin-top:16px; min-height:2.5em; font-weight:500; font-size:clamp(17px,1.5vw,21px); letter-spacing:.02em; line-height:1.25; color:#fff; }
  .mvv2 .vcard .ven::after{ content:""; display:block; width:26px; height:2px; margin-top:16px; background:linear-gradient(90deg,var(--blue),transparent); transition:width .45s; }
  .mvv2 .vcard:hover .ven::after{ width:66px; }
  .mvv2 .vcard .vjp{ margin-top:18px; color:var(--soft); font-size:13.5px; line-height:1.85; position:relative; z-index:1; }
  .mvv2 .vcard .ghost{ position:absolute; right:14px; top:8px; font-family:"JetBrains Mono",monospace; font-weight:700; font-size:54px; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(127,227,251,.12); }
  /* cta */
  .mvv2 .mcta{ padding:100px 0 116px; border-top:1px solid var(--line-soft); text-align:center; position:relative; }
  .mvv2 .mcta h2{ font-weight:500; font-size:clamp(24px,3vw,40px); color:#fff; letter-spacing:.03em; }
  .mvv2 .mcta h2 .hi{ color:var(--sky); font-weight:700; }
  .mvv2 .mcta .btn{ display:inline-block; margin-top:30px; border:1px solid var(--blue-line); color:var(--sky); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:15px 34px; border-radius:6px; cursor:pointer; transition:.25s; }
  .mvv2 .mcta .btn:hover{ background:rgba(45,212,248,.1); border-color:var(--sky); box-shadow:0 0 22px rgba(45,212,248,.2); }
  /* reveals */
  .mvv2 .reveal{ opacity:0; transform:translateY(22px); filter:blur(5px); transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1),filter .9s ease; }
  .mvv2 .reveal.fromL{ transform:translateX(-40px); } .mvv2 .reveal.fromR{ transform:translateX(40px); }
  .mvv2 .reveal.in{ opacity:1; transform:none; filter:none; }
  .mvv2 .fade{ opacity:0; filter:blur(10px); transition:opacity .9s ease,filter .9s ease; }
  .mvv2 .fade.in{ opacity:1; filter:none; }
  .mvv2 .d1{ transition-delay:.12s; } .mvv2 .d2{ transition-delay:.24s; } .mvv2 .d3{ transition-delay:.36s; }
  .mvv2 .ch{ display:inline-block; opacity:0; transform:translateY(.45em); filter:blur(8px); transition:opacity .55s ease,transform .75s cubic-bezier(.16,1,.3,1),filter .55s ease; }
  .mvv2 .ch.b,.mvv2 .ch.hi{ color:var(--sky); }
  .mvv2 .is-in .ch{ opacity:1; transform:none; filter:none; }
  .mvv2 .scr{ opacity:0; transition:opacity .4s ease; } .mvv2 .scr.lit{ opacity:1; }
  @media(max-width:980px){ .mvv2 .vgrid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:860px){
    .mvv2 .band-grid,.mvv2 .band.rev .band-grid,.mvv2 .values-head{ grid-template-columns:1fr; gap:28px; }
    .mvv2 .band.rev .label,.mvv2 .band.rev .content{ order:0; text-align:left; }
    .mvv2 .band.rev .content .desc{ margin-left:0; }
    .mvv2 .band.rev::before{ right:auto; left:0; }
    .mvv2 .band.rev .idx{ align-items:flex-start; }
    .mvv2 .values-head{ align-items:start; }
  }
  @media(max-width:680px){ .mvv2 .ring.r3{ display:none; } }
  @media(max-width:560px){ .mvv2 .vgrid{ grid-template-columns:1fr; } .mvv2 .vcard{ min-height:0; } .mvv2 .eyebrow::before,.mvv2 .eyebrow::after{ width:24px; } }
  @media(prefers-reduced-motion:reduce){ .mvv2 .reveal,.mvv2 .fade,.mvv2 .ch,.mvv2 .scr{ opacity:1!important; transform:none!important; filter:none!important; } .mvv2 *{ animation:none!important; } }

  /* 会社概要：パートナー企業 */
  .bcp-partners{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:26px; }
  .bcp-partners .ptn{ border:1px solid #1E293B; border-radius:12px; background:rgba(45,212,248,.03); padding:22px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:78px; transition:.25s; }
  .bcp-partners .ptn:hover{ border-color:rgba(45,212,248,.4); background:rgba(45,212,248,.06); transform:translateY(-3px); }
  .bcp-partners .ptn .nm{ font-weight:700; font-size:15px; color:#EEF2F8; letter-spacing:.01em; }
  .bcp-partners .ptn .sub{ display:block; font-size:11px; color:#8893A8; margin-top:5px; font-weight:500; letter-spacing:.02em; }
  @media(max-width:860px){ .bcp-partners{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:480px){ .bcp-partners{ grid-template-columns:1fr; } }

  /* ===== M&A ページ（フルブリード・エディトリアル） ===== */
  .ma2{ --bg:#0a0e1a; --alt:#0c1426; --panel:rgba(255,255,255,.03); --line:rgba(255,255,255,.09); --text:#8893a8; --head:#eef2f8; --head2:#d4e4fa; --cyan:#2dd4f8; --blue:#3b82f6; --grad-ac:linear-gradient(135deg,#2dd4f8,#3b82f6); --grad-ov:linear-gradient(120deg,#3b82f6,#2dd4f8); --serif:"Cormorant Garamond",serif; --mincho:"Shippori Mincho B1",serif; --sans:"Noto Sans JP",sans-serif;
    position:relative; width:100vw; margin-left:calc(-50vw + 50%); background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.9; overflow:hidden; }
  .ma2 *{ box-sizing:border-box; }
  .ma2 .ma-wrap{ max-width:1200px; margin:0 auto; padding:0 32px; }
  .ma2 .ma-label{ display:flex; align-items:baseline; gap:16px; margin-bottom:30px; }
  .ma2 .ma-label .en{ font-family:var(--serif); font-weight:600; font-style:italic; font-size:30px; line-height:1; background:var(--grad-ov); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.01em; }
  .ma2 .ma-label .ja{ font-family:var(--mincho); font-weight:600; font-size:13.5px; letter-spacing:.34em; color:#7e8aa2; }
  .ma2 .ma-label .line{ flex:1; height:1px; background:var(--line); }
  .ma2 .ma-hero{ position:relative; min-height:92vh; display:flex; align-items:center; background:var(--bg); overflow:hidden; }
  .ma2 .ma-hero canvas{ position:absolute; inset:0; width:100%; height:100%; }
  .ma2 .ma-hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(1000px 600px at 78% 6%,rgba(45,212,248,.16),transparent 58%),radial-gradient(800px 700px at 6% 112%,rgba(59,130,246,.14),transparent 60%); }
  .ma2 .ma-hero .ma-wrap{ position:relative; z-index:2; width:100%; padding-top:90px; }
  .ma2 .ma-ghost{ position:absolute; right:-2%; top:13%; font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(90px,17vw,260px); line-height:.9; color:rgba(255,255,255,.045); z-index:1; pointer-events:none; white-space:nowrap; }
  .ma2 .ma-eyebrow{ font-family:var(--serif); font-style:italic; font-weight:600; font-size:clamp(22px,2.6vw,34px); background:linear-gradient(90deg,#7fe0ff,#9ec0ff); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:18px; }
  .ma2 .ma-hero h1{ font-family:var(--mincho); font-weight:800; color:var(--head); font-size:clamp(40px,7vw,88px); line-height:1.18; letter-spacing:.02em; border-left:5px solid var(--cyan); padding-left:26px; }
  .ma2 .ma-hero h1 .ac{ background:linear-gradient(120deg,#2dd4f8,#8fb4ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .ma-hero p.lead{ margin-top:32px; max-width:560px; color:#aab6cc; font-size:16.5px; line-height:2; }
  .ma2 .ma-hero .crumb{ margin-top:40px; font-family:var(--mincho); font-size:12.5px; letter-spacing:.2em; color:#5f6c84; }
  .ma2 .ma-hero .scroll{ position:absolute; left:32px; bottom:36px; z-index:2; font-family:var(--serif); font-style:italic; font-size:15px; color:rgba(255,255,255,.5); letter-spacing:.1em; display:flex; align-items:center; gap:12px; }
  .ma2 .ma-hero .scroll::before{ content:""; width:46px; height:1px; background:var(--cyan); animation:masweep 2.4s ease-in-out infinite; }
  @keyframes masweep{0%,100%{transform:scaleX(.4);transform-origin:left;opacity:.4}50%{transform:scaleX(1);opacity:1}}
  .ma2 .ma-sec{ padding:120px 0; position:relative; }
  .ma2 .ma-reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1); }
  .ma2 .ma-reveal.in{ opacity:1; transform:none; }
  .ma2 h2.disp{ font-family:var(--mincho); font-weight:700; color:var(--head); font-size:clamp(28px,4vw,48px); line-height:1.42; letter-spacing:.02em; }
  .ma2 h2.disp .ac{ background:var(--grad-ac); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .body-lg{ font-size:16px; line-height:2.1; color:var(--text); }
  .ma2 .ma-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; }
  .ma2 .bg-figure{ position:relative; border-radius:24px; overflow:hidden; background:#0c1730; border:1px solid var(--line); min-height:380px; display:flex; align-items:flex-end; padding:38px; }
  .ma2 .bg-figure canvas{ position:absolute; inset:0; }
  .ma2 .bg-figure .cap{ position:relative; z-index:2; }
  .ma2 .bg-figure .cap .k{ font-family:var(--serif); font-style:italic; font-size:54px; line-height:1; background:linear-gradient(90deg,#7fe0ff,#9ec0ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .bg-figure .cap .t{ font-family:var(--mincho); font-size:15px; letter-spacing:.16em; margin-top:8px; color:#aab6cc; }
  .ma2 .ma-band{ background:var(--alt); }
  .ma2 .ma-band::before{ content:""; position:absolute; inset:0; background:radial-gradient(900px 600px at 88% 10%,rgba(45,212,248,.1),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(59,130,246,.1),transparent 60%); pointer-events:none; }
  .ma2 .ma-band .ma-wrap{ position:relative; }
  .ma2 .matrix-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-top:30px; }
  .ma2 .quote{ font-family:var(--mincho); font-weight:600; font-size:clamp(20px,2.4vw,28px); line-height:1.85; color:var(--head2); }
  .ma2 .quote .ac{ background:linear-gradient(90deg,#5cdcff,#8fb4ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .matrix{ width:100%; max-width:480px; margin:0 auto; }
  .ma2 .ma-stats{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:22px; overflow:hidden; margin-top:14px; background:var(--panel); }
  .ma2 .ma-stat{ padding:48px 40px; border-right:1px solid var(--line); }
  .ma2 .ma-stat:last-child{ border-right:none; }
  .ma2 .ma-stat .n{ font-family:var(--serif); font-weight:600; font-size:clamp(46px,5.5vw,66px); line-height:1; color:var(--head); }
  .ma2 .ma-stat .n small{ font-size:.42em; font-family:var(--mincho); background:var(--grad-ac); -webkit-background-clip:text; background-clip:text; color:transparent; margin-left:4px; }
  .ma2 .ma-stat .n .u{ font-size:.34em; font-family:var(--sans); color:#7e8aa2; font-weight:500; margin-left:6px; }
  .ma2 .ma-stat .d{ margin-top:18px; font-family:var(--mincho); font-size:14.5px; letter-spacing:.06em; color:var(--text); }
  .ma2 .merits{ margin-top:20px; border-top:1px solid var(--line); }
  .ma2 .mrow{ display:grid; grid-template-columns:130px 1fr; gap:44px; padding:46px 0; border-bottom:1px solid var(--line); align-items:start; transition:padding-left .3s; }
  .ma2 .mrow:hover{ padding-left:14px; }
  .ma2 .mrow .idx{ font-family:var(--serif); font-style:italic; font-size:60px; line-height:1; color:#33415c; transition:color .3s; }
  .ma2 .mrow:hover .idx{ color:transparent; background:var(--grad-ac); -webkit-background-clip:text; background-clip:text; }
  .ma2 .mrow h3{ font-family:var(--mincho); font-weight:700; color:var(--head); font-size:23px; margin-bottom:14px; }
  .ma2 .mrow p{ font-size:15.5px; color:var(--text); max-width:760px; }
  .ma2 .policy{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:24px; }
  .ma2 .pcard{ background:var(--panel); border:1px solid var(--line); border-radius:22px; padding:42px 36px; position:relative; overflow:hidden; transition:transform .3s,box-shadow .3s,border-color .3s; }
  .ma2 .pcard::after{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--grad-ac); transform:scaleY(0); transform-origin:bottom; transition:transform .35s; }
  .ma2 .pcard:hover{ transform:translateY(-8px); box-shadow:0 30px 60px -34px rgba(45,212,248,.4); border-color:rgba(45,212,248,.4); }
  .ma2 .pcard:hover::after{ transform:scaleY(1); }
  .ma2 .pcard .big{ font-family:var(--serif); font-style:italic; font-weight:600; font-size:46px; line-height:1; background:var(--grad-ac); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:22px; }
  .ma2 .pcard h3{ font-family:var(--mincho); font-weight:700; color:var(--head); font-size:19px; margin-bottom:14px; line-height:1.5; }
  .ma2 .pcard p{ font-size:14.5px; color:var(--text); }
  .ma2 .prins{ display:grid; margin-top:24px; border-top:1px solid var(--line); }
  .ma2 .prin{ display:grid; grid-template-columns:88px 1fr; gap:40px; padding:44px 8px; border-bottom:1px solid var(--line); align-items:center; transition:background .3s,padding-left .3s; }
  .ma2 .prin:hover{ background:rgba(255,255,255,.02); padding-left:24px; }
  .ma2 .prin .ko{ font-family:var(--serif); font-style:italic; font-weight:600; font-size:50px; line-height:1; background:var(--grad-ac); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .prin h3{ font-family:var(--mincho); font-weight:700; color:var(--head); font-size:21px; margin-bottom:8px; }
  .ma2 .prin p{ font-size:15px; color:var(--text); }
  .ma2 .ma-cta{ position:relative; overflow:hidden; background:var(--bg); padding:140px 0; text-align:center; }
  .ma2 .ma-cta canvas{ position:absolute; inset:0; }
  .ma2 .ma-cta::after{ content:""; position:absolute; inset:0; background:radial-gradient(800px 500px at 50% 0%,rgba(45,212,248,.18),transparent 60%); }
  .ma2 .ma-cta .ma-wrap{ position:relative; z-index:2; }
  .ma2 .ma-cta .en{ font-family:var(--serif); font-style:italic; font-weight:600; font-size:clamp(40px,6vw,84px); line-height:1; background:linear-gradient(90deg,#7fe0ff,#9ec0ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ma2 .ma-cta h2{ font-family:var(--mincho); font-weight:700; color:var(--head); font-size:clamp(24px,3.4vw,40px); line-height:1.5; margin-top:26px; }
  .ma2 .ma-cta p{ margin:26px auto 0; max-width:640px; color:#aab6cc; font-size:15.5px; line-height:2; }
  .ma2 .ma-cta .btn{ display:inline-flex; align-items:center; gap:14px; margin-top:46px; padding:19px 50px; border-radius:10px; background:var(--grad-ac); color:#06121f; font-family:var(--mincho); font-weight:700; font-size:16.5px; text-decoration:none; cursor:pointer; transition:transform .3s,box-shadow .3s; }
  .ma2 .ma-cta .btn:hover{ transform:translateY(-4px); box-shadow:0 26px 50px -18px rgba(45,212,248,.6); }
  .ma2 .ma-cta .btn .arr{ transition:transform .3s; }
  .ma2 .ma-cta .btn:hover .arr{ transform:translateX(6px); }
  @media(max-width:1000px){ .ma2 .ma-split,.ma2 .matrix-grid{ grid-template-columns:1fr; gap:44px; } }
  @media(max-width:760px){ .ma2 .ma-stats{ grid-template-columns:1fr; } .ma2 .ma-stat{ border-right:none; border-bottom:1px solid var(--line); } .ma2 .mrow,.ma2 .prin{ grid-template-columns:1fr; gap:14px; padding:34px 0; } .ma2 .policy{ grid-template-columns:1fr; } .ma2 .ma-sec{ padding:80px 0; } .ma2 .ma-wrap{ padding:0 22px; } }
  @media(prefers-reduced-motion:reduce){ .ma2 .ma-reveal{ opacity:1; transform:none; } .ma2 *{ animation:none!important; } }

  .sdm-overlay{ position:fixed; inset:0; z-index:1000; background:rgba(4,7,14,.74); backdrop-filter:blur(6px); display:none; align-items:center; justify-content:center; padding:24px; overflow-y:auto; }
  .sdm-overlay.open{ display:flex; }
  .sdm{ position:relative; width:100%; max-width:480px; margin:auto; background:linear-gradient(180deg,#131c2f,#0f1626); border:1px solid #243349; border-radius:18px; padding:36px 34px; box-shadow:0 40px 90px -30px rgba(0,0,0,.85); animation:sdmpop .26s cubic-bezier(.22,.61,.36,1); font-family:"Hanken Grotesk","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; }
  @keyframes sdmpop{ from{opacity:0; transform:translateY(16px) scale(.98);} to{opacity:1; transform:none;} }
  .sdm-close{ position:absolute; top:14px; right:18px; background:none; border:none; color:#8893A8; font-size:28px; line-height:1; cursor:pointer; transition:.2s; }
  .sdm-close:hover{ color:#EEF2F8; }
  .sdm .tag{ font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; font-family:"Hanken Grotesk",monospace;
    background:linear-gradient(120deg,#3B82F6,#2DD4F8,#5FE0FA); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .sdm h3{ font-size:21px; margin:8px 0 8px; color:#EEF2F8; font-weight:700; }
  .sdm-sub{ font-size:13px; color:#8893A8; margin-bottom:22px; line-height:1.75; }
  .sdm-field{ margin-bottom:14px; }
  .sdm-field label{ display:block; font-size:12px; color:#EEF2F8; margin-bottom:6px; letter-spacing:.03em; }
  .sdm-field input,.sdm-field select,.sdm-field textarea{ width:100%; background:#0A1120; border:1px solid #243349; border-radius:9px; padding:11px 13px; color:#EEF2F8; font-size:14px; font-family:inherit; }
  .sdm-field textarea{ resize:vertical; min-height:84px; }
  .sdm-field input::placeholder,.sdm-field textarea::placeholder{ color:#5C6680; }
  .sdm-field input:focus,.sdm-field select:focus,.sdm-field textarea:focus{ outline:none; border-color:#2E9BE6; box-shadow:0 0 0 3px rgba(46,155,230,.12); }
  .sdm-submit{ width:100%; margin-top:8px; background:linear-gradient(135deg,#2E9BE6,#1f7fc4); color:#fff; border:none; border-radius:9px; padding:13px; font-size:15px; font-weight:700; cursor:pointer; transition:.25s; font-family:inherit; }
  .sdm-submit:hover{ transform:translateY(-2px); box-shadow:0 12px 30px -10px rgba(46,155,230,.85); }
  .sdm-note{ font-size:11.5px; color:#5C6680; text-align:center; margin-top:14px; }
/* ===== 記事ページ（/article/<ID>）===== */
.art{ max-width:820px; margin:0 auto; padding:34px 24px 70px; }
.art-meta{ display:flex; gap:12px; align-items:center; margin:22px 0 10px; }
.art-cat{ font-family:"JetBrains Mono",monospace; font-size:11px; color:#2dd4f8; border:1px solid rgba(45,212,248,.3); border-radius:5px; padding:3px 11px; letter-spacing:.08em; }
.art-date{ font-family:"JetBrains Mono",monospace; font-size:12px; color:#6B7891; }
.art-h1{ font-size:32px; font-weight:800; color:#EEF2F8; line-height:1.5; margin:0 0 26px; letter-spacing:.01em; }
.art-banner{ width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; background-color:#0e1626; border:1px solid #1E293B; border-radius:12px; margin-bottom:32px; }
.art-body{ color:#C2CDDA; font-size:16px; line-height:2.0; }
.art-body h2{ font-size:23px; color:#fff; font-weight:800; margin:42px 0 16px; padding-bottom:10px; border-bottom:1px solid #1E293B; letter-spacing:.01em; }
.art-body h3{ font-size:19px; color:#EEF2F8; font-weight:700; margin:32px 0 12px; }
.art-body h4{ font-size:16px; color:#EEF2F8; font-weight:700; margin:24px 0 10px; }
.art-body p{ margin:0 0 18px; }
.art-body a{ color:#2dd4f8; text-decoration:underline; }
.art-body strong{ color:#EEF2F8; }
.art-body img{ max-width:100%; height:auto; border-radius:8px; margin:18px 0; }
.art-body ul,.art-body ol{ margin:0 0 18px 1.4em; }
.art-body li{ margin:7px 0; }
.art-body blockquote{ border-left:3px solid #2dd4f8; padding:8px 18px; margin:18px 0; color:#9FB1C6; background:rgba(45,212,248,.05); border-radius:0 8px 8px 0; }
.art-body table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14px; }
.art-body th,.art-body td{ border:1px solid #1E293B; padding:9px 12px; text-align:left; }
.art-body th{ background:#0f1726; color:#EEF2F8; }
.art-body code{ background:#0f1726; padding:2px 6px; border-radius:4px; font-family:"JetBrains Mono",monospace; font-size:.9em; color:#a3eaff; }
.art-body pre{ background:#0a1120; border:1px solid #1E293B; border-radius:8px; padding:16px; overflow:auto; margin:18px 0; }
.art-body pre code{ background:none; padding:0; }
.art-cta{ max-width:820px; margin:54px auto 0; text-align:center; border-top:1px solid #1E293B; padding-top:40px; }
.art-cta h3{ color:#EEF2F8; font-size:18px; margin:0 0 18px; font-weight:700; }
.art-btn{ display:inline-block; background:linear-gradient(135deg,#2E9BE6,#1f7fc4); color:#fff; padding:13px 32px; border-radius:8px; font-weight:700; cursor:pointer; font-size:15px; }
.art-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 30px -10px rgba(46,155,230,.85); }
.art-empty{ text-align:center; padding:64px 0; }
.art-empty h1{ color:#EEF2F8; margin-bottom:12px; }
.art-back{ color:#2dd4f8; cursor:pointer; }
@media(max-width:640px){ .art-h1{ font-size:25px; } }

/* フッター リーガルリンク */
.ft-bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.ft-legal{ display:flex; gap:20px; flex-wrap:wrap; }
.ft-legal a{ color:#94a3b8; font-size:12px; cursor:pointer; transition:.2s; }
.ft-legal a:hover{ color:#2dd4f8; }
