﻿*{box-sizing:border-box;}
  body{margin:0;background:#fff;color:#0A1F19;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  ::selection{background:#10B981;color:#fff;}
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
  @keyframes grow-up{from{transform:scaleY(0);}to{transform:scaleY(1);}}
  @keyframes dash{to{stroke-dashoffset:0;}}
  @keyframes pulse-soft{0%,100%{opacity:.45;}50%{opacity:1;}}
  @keyframes drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(8%,6%) scale(1.18);}}
  @keyframes drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-9%,-7%) scale(1.22);}}
  @keyframes drift3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(6%,-9%) scale(1.15);}}
  @keyframes gridpan{from{background-position:0 0;}to{background-position:0 -640px;}}
  @keyframes flowline{to{stroke-dashoffset:-1000;}}
  @keyframes twinkle{0%,100%{opacity:.2;}50%{opacity:.9;}}
  @keyframes auroraSpin{to{transform:rotate(360deg);}}
  @keyframes gradflow{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}
  @keyframes rise{0%{transform:translateY(30px);opacity:0;}12%{opacity:.85;}100%{transform:translateY(-160px);opacity:0;}}
  @keyframes reveal{0%{opacity:0;transform:translateY(34px);}100%{opacity:1;transform:translateY(0);}}
  @keyframes beam{0%,100%{opacity:.15;}50%{opacity:.5;}}
  @keyframes glowpulse{0%,100%{box-shadow:0 14px 36px -8px rgba(16,185,129,0.55);}50%{box-shadow:0 14px 50px -4px rgba(16,185,129,0.85),0 0 30px rgba(4,120,87,0.6);}}
  @keyframes ringspin{to{transform:rotate(360deg);}}
  @keyframes ringspin2{to{transform:rotate(-360deg);}}
  @keyframes ringglow{0%,100%{opacity:.55;}50%{opacity:1;}}

  /* ================= sx- ADDITIONS (ops motion / case stack / canvas art) ================= */
  @property --sxa{syntax:'<angle>';initial-value:0deg;inherits:false}


  /* ---- shared generative canvas wrapper ---- */
  /* hero: メインコピー2行目を途中で折り返さない */
  .hb-nowrap{white-space:nowrap;}
  @media(max-width:700px){.hb-nowrap{white-space:normal;}}
  /* セクション背面のアニメーション背景 */
  /* hero: キャッチを1文字ずつ左から右へ */
  .hb-l1,.hb-l2{display:inline;}
  .hb-ch{display:inline-block;opacity:0;animation:hbchin 1.05s cubic-bezier(.16,.84,.28,1) forwards;}
  @keyframes hbchin{0%{opacity:0;transform:translateY(.34em) scale(.94);filter:blur(9px);}60%{opacity:1;filter:blur(0);}100%{opacity:1;transform:none;filter:blur(0);}}
  .hb-sub,.hb-cta{opacity:0;animation:hbrise 1s cubic-bezier(.16,.84,.28,1) forwards;}
  .hb-sub{animation-delay:var(--hbd,1.4s);}
  .hb-cta{animation-delay:calc(var(--hbd,1.4s) + .22s);}
  @keyframes hbrise{from{opacity:0;transform:translateY(24px);filter:blur(5px);}to{opacity:1;transform:none;filter:blur(0);}}
  @keyframes hbflow{to{background-position:280% 50%;}}

  /* リンクのマウスオン */
  a{transition:transform .34s cubic-bezier(.22,1,.3,1),box-shadow .34s,opacity .28s,filter .28s,background-color .28s;}
  a:not(.sx-logolink):not(.sx-solcard):not(.sx-link):hover{opacity:.86;}
  .sx-btn:hover{opacity:1;transform:translateY(-3px);box-shadow:0 18px 38px -12px rgba(16,185,129,0.55);}
  .sx-ul:hover{opacity:1;transform:translateX(4px);}
  .sx-solcard{transition:transform .55s cubic-bezier(.22,1,.3,1),box-shadow .55s;}
  .sx-solcard:hover{transform:translateY(-10px);box-shadow:0 46px 92px -30px rgba(4,120,87,0.6);}
  .sx-solcard .sol-arrow{transition:transform .4s,background-color .3s,border-color .3s;}
  .sx-solcard:hover .sol-arrow{transform:translateX(6px);border-color:#fff;}
  /* SOLUTIONS: ホバーで縁が光る（01〜05 共通） */
  .sx-solcard{cursor:pointer;transition:transform .55s cubic-bezier(.22,1,.3,1),box-shadow .55s,filter .55s;}
  .sx-solcard:before{content:"";position:absolute;inset:0;border-radius:22px;padding:2px;z-index:4;
    background:conic-gradient(from var(--sxa,0deg),transparent 0 58%,#5EEAD4 76%,#FFFFFF 86%,transparent 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
    opacity:0;transition:opacity .4s;pointer-events:none;}
  .sx-solcard:hover:before,.sx-solcard:focus-visible:before{opacity:1;animation:sxring 2.6s linear infinite;}
  @property --sxa{syntax:'<angle>';initial-value:0deg;inherits:false}
  @keyframes sxring{to{--sxa:360deg;}}
  .sx-solcard:hover,.sx-solcard:focus-visible{
    transform:translateY(-14px) scale(1.02)!important;
    box-shadow:0 52px 96px -28px rgba(4,120,87,0.66),0 0 0 1px rgba(94,234,212,0.5) inset!important;
    filter:saturate(1.08) brightness(1.04);}
  .sx-solcard .sx-sol{transition:transform .9s cubic-bezier(.22,1,.3,1);}
  .sx-solcard:hover .sx-sol{transform:scale(1.08);}
  .sx-solcard .sol-arrow{transition:transform .4s,border-color .3s,background-color .3s;}
  .sx-solcard:hover .sol-arrow{transform:translateX(7px);border-color:#fff;background:rgba(255,255,255,0.16);}

  /* スクロールリビール: エリアごとに違う動き */
  .sx-rv,.sx-rvl,.sx-rvr,.sx-rvs,.sx-rvt,.sx-rvw{will-change:opacity,transform;}
  .sx-rv{opacity:0;transform:translateY(40px);}
  .sx-rvl{opacity:0;transform:translateX(-56px);}
  .sx-rvr{opacity:0;transform:translateX(56px);}
  .sx-rvs{opacity:0;transform:scale(.93);filter:blur(10px);}
  .sx-rvt{opacity:0;transform:perspective(950px) rotateX(18deg) translateY(34px);transform-origin:50% 100%;}
  .sx-rvw{opacity:0;transform:translateY(18px);clip-path:inset(0 0 92% 0);}
  .sx-rv.on,.sx-rvl.on,.sx-rvr.on,.sx-rvs.on,.sx-rvt.on,.sx-rvw.on{
    opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0);
    transition:opacity .95s cubic-bezier(.22,1,.3,1) var(--sxd,0s),
      transform 1.1s cubic-bezier(.22,1,.3,1) var(--sxd,0s),
      filter .95s ease var(--sxd,0s),
      clip-path 1.1s cubic-bezier(.65,0,.25,1) var(--sxd,0s);}
  @media (prefers-reduced-motion: reduce){
    .sx-rv,.sx-rvl,.sx-rvr,.sx-rvs,.sx-rvt,.sx-rvw{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;}
  }
  /* ============ ハンバーガー / ドロワー ============ */
  .sx-burger{display:none;width:46px;height:46px;border:1px solid rgba(11,20,17,0.12);background:#fff;border-radius:14px;
    align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0;flex:none;}
  .sx-burger span{display:block;width:20px;height:2px;border-radius:2px;background:#0A1F19;transition:transform .34s,opacity .24s;}
  .sx-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .sx-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .sx-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .sx-drawer{position:fixed;inset:0;z-index:60;background:rgba(6,35,28,0.42);backdrop-filter:blur(4px);
    opacity:0;transition:opacity .3s;}
  .sx-drawer.on{opacity:1;}
  .sx-drawer-in{position:absolute;top:0;right:0;width:min(86vw,360px);height:100%;background:#fff;
    padding:88px 26px 32px;display:flex;flex-direction:column;gap:26px;overflow-y:auto;
    box-shadow:-24px 0 60px -30px rgba(6,35,28,0.5);transform:translateX(100%);transition:transform .42s cubic-bezier(.22,1,.3,1);}
  .sx-drawer.on .sx-drawer-in{transform:none;}
  .sx-dnav{display:flex;flex-direction:column;}
  .sx-dnav a{display:block;padding:17px 4px;text-decoration:none;color:#0A1F19;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:700;font-size:17px;border-bottom:1px solid rgba(11,20,17,0.09);}
  .sx-dcta{display:flex;flex-direction:column;gap:12px;}
  .sx-dcta a{text-decoration:none;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;
    font-size:15px;padding:15px 18px;border-radius:999px;}
  .sx-dc1{background:#fff;color:#047857;border:1.5px solid rgba(4,120,87,0.4);}
  .sx-dc2{background:linear-gradient(115deg,#047857,#10B981);color:#fff;}
  body.sx-lock{overflow:hidden;}

  /* ============ タブレット/スマホ調整 ============ */

  /* =========================================================================
     SP / タブレット レイアウト（すべてクラスベース）
     ※ x-dc ランタイムが inline style 属性を再シリアライズするため
        inline style を部分一致で狙う属性セレクタは機能しない。必ずクラスで指定する。
     ========================================================================= */

  /* SP専用の改行（PCでは改行しない） */
  .sp-br{display:none;}
  /* 全幅で改行させない（.hb-nowrap のSP解除の影響を受けない専用クラス） */
  .sp-keep{white-space:nowrap;}


  /* ================= <= 960px : スマホ / 小型タブレット ================= */
  @media(max-width:960px){
    .sp-br{display:inline;}
    /* 折り返し禁止の解除（.sp-keep は対象外） */
    .hb-nowrap,.wh-pt{white-space:normal!important;}

    /* ---------- 1. HEADER : ロゴ中央 + ハンバーガー右 ---------- */
    .sx-nav,.sx-hcta{display:none!important;}
    .sx-hin{position:relative;height:64px!important;padding:0 14px!important;gap:0!important;justify-content:flex-end!important;}
    .sx-hbrand{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;gap:0!important;}
    /* ハンバーガーは三本線のみ（枠/背景/角丸なし・タップ領域44px） */
    .sx-burger{display:flex;width:44px;height:44px;padding:0!important;border:0!important;
      background:transparent!important;border-radius:0!important;box-shadow:none!important;}
    .sx-burger span{width:22px;height:2px;background:#0A1F19;}

    /* ---------- 2. HERO ---------- */
    .hb-hero{min-height:min(64vh,560px)!important;}
    .hb-inner{padding:40px 20px 64px!important;}
    .hb-t1{font-size:26px!important;line-height:1.36!important;}
    .hb-sub{font-size:15px!important;line-height:1.85!important;margin-bottom:28px!important;}
    .hb-cta{gap:10px!important;}

    /* ---------- 3. TRACK RECORD ---------- */
    .tr-grid{grid-template-columns:1fr!important;gap:32px!important;padding:64px 20px!important;}
    .tr-bg{inset:-8px -8px 12px -10px!important;border-radius:22px!important;transform:rotate(-1.6deg)!important;}
    .tr-vid{aspect-ratio:16/11!important;border-radius:20px!important;}
    /* フローティングバッジはパネル内側に収める（回転なし） */
    .tr-medal{top:8px!important;left:8px!important;right:auto!important;bottom:auto!important;
      padding:9px 12px!important;gap:9px!important;border-radius:14px!important;transform:none!important;}
    .tr-medal>div:first-child{width:32px!important;height:32px!important;}
    .tr-medal>div:first-child svg{width:17px;height:17px;}
    .tr-medal>div:last-child>div:first-child{font-size:10.5px!important;}
    .tr-medal>div:last-child>div:last-child{font-size:15px!important;}
    .tr-prime{right:8px!important;left:auto!important;bottom:8px!important;top:auto!important;
      padding:7px 12px!important;gap:8px!important;border-radius:999px!important;transform:none!important;}
    .tr-prime>span:last-child{font-size:12.5px!important;}
    .tr-h{font-size:26px!important;line-height:1.42!important;margin-bottom:24px!important;}
    .sx-tr{gap:12px!important;padding-bottom:16px!important;}
    .tr-num{font-size:40px!important;}
    .tr-num>span{font-size:15px!important;}
    .tr-lab{flex:1 1 auto;min-width:0;}
    .tr-lab>div:first-child{font-size:15.5px!important;line-height:1.5;}
    .tr-lab>div:last-child{font-size:12.5px!important;line-height:1.65;overflow-wrap:anywhere;}

    /* ---------- 4. SOLUTIONS ---------- */
    .sol-wrap{padding:64px 20px!important;}
    .sol-head{margin-bottom:32px!important;}
    .sol-h{font-size:25px!important;line-height:1.45!important;}
    .sol-lead{font-size:15px!important;line-height:1.8!important;}
    .sol-grid{grid-template-columns:1fr!important;gap:16px!important;}
    .sx-solcard{min-height:300px!important;}
    .sx-solcard .sx-sol{position:absolute!important;}
    .sol-cb1{padding:22px 20px 0!important;}
    .sol-no{font-size:24px!important;}
    .sol-tt{font-size:21px!important;}
    .sol-cb2{padding:14px 20px 0!important;gap:10px!important;}
    .sol-cb2>div:first-child{width:38px!important;height:38px!important;border-radius:11px!important;}
    .sol-cb3{padding:16px 20px 20px!important;}
    .sol-arrow{width:40px!important;height:40px!important;}

    /* ---------- 5. CASE STACK (design system) ---------- */
    .sx-vis{max-width:100%!important;}
    .sx-nm{font-size:22px!important;}
    .sx-no{font-size:64px!important;top:-28px!important;left:auto!important;right:0!important;}

    /* ---------- 8. WHY ECBEING ---------- */
    .wh-wrap{padding:64px 20px!important;}
    .wh-head{margin-bottom:32px!important;}
    .wh-grid{grid-template-columns:1fr!important;gap:44px!important;}
    .wh-h{font-size:25px!important;line-height:1.45!important;margin-bottom:14px!important;}
    .wh-lead{font-size:15px!important;line-height:1.85!important;margin-bottom:24px!important;}
    .wh-pt{font-size:17px!important;text-align:center!important;}
    .wh-center{padding-top:0!important;gap:20px!important;}
    .wh-ring{width:min(260px,72vw)!important;height:min(260px,72vw)!important;}
    .wh-ringsvg{width:100%!important;height:100%!important;}
    .wh-ai{font-size:56px!important;}
    .wh-dd{font-size:12px!important;letter-spacing:0.16em!important;}
    .wh-pills{gap:8px!important;}
    /* 4ステップは縦積み、矢印は下向きへ回転 */
    .wh-steps{flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin-bottom:26px!important;}
    .wh-step{width:100%!important;box-sizing:border-box;text-align:center!important;}
    .wh-arr{align-self:center!important;transform:rotate(90deg);}
    .wh-au{gap:12px!important;}
    .wh-auic{width:40px!important;height:40px!important;border-radius:11px!important;}
    .wh-auic svg{width:20px;height:20px;}
    .wh-autt{font-size:15.5px!important;}
    /* SUPPORT */
    .su-wrap{margin-top:64px!important;}
    .su-head{grid-template-columns:1fr!important;gap:24px!important;margin-bottom:32px!important;}
    .su-h{font-size:25px!important;line-height:1.45!important;}
    .su-list{grid-template-columns:1fr!important;}
    .su-item{padding:24px 0 0!important;border-right:0!important;border-top:1px solid rgba(11,20,17,0.09)!important;}
    .su-item:first-child{border-top:0!important;padding-top:22px!important;}
    .su-itt{font-size:19px!important;}

    /* ---------- 9. FINAL CTA ---------- */
    .fc-wrap{padding:64px 20px!important;}
    .fc-h{font-size:24px!important;line-height:1.42!important;}
    .fc-p{font-size:15px!important;margin-bottom:20px!important;}
    .fc-p2{font-size:14px!important;line-height:1.85!important;margin:0 auto 32px!important;}
    .fc-btns{flex-direction:column!important;gap:12px!important;}
    .fc-btn{width:100%!important;justify-content:center!important;box-sizing:border-box;}

    /* ---------- FOOTER ---------- */
    .ft-grid{grid-template-columns:1fr!important;gap:32px!important;padding:56px 20px 36px!important;}
    .ft-bot{padding:20px!important;}
  }

  /* ================= <= 560px : 小型スマホ ================= */
  @media(max-width:560px){
    .hb-t1{font-size:24px!important;}
    .tr-h,.sol-h,.wh-h,.su-h{font-size:23px!important;}
    .fc-h{font-size:22px!important;}
    .tr-num{font-size:34px!important;}
    .sx-no{font-size:56px!important;}
    .sx-drawer-in{padding-top:80px;}
  }
  .wh-pt{white-space:nowrap;}
  @media(max-width:1180px){.wh-pt{white-space:normal;}}
  .sx-bg.sx-cv,.sx-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
  .sx-cv{position:relative;overflow:hidden;}
  .sx-cv canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .sx-aur{position:absolute;inset:-20%;background:radial-gradient(38% 34% at 30% 34%,rgba(6,169,111,0.24),transparent 70%),radial-gradient(30% 30% at 72% 66%,rgba(94,234,212,0.34),transparent 70%);filter:blur(26px);animation:sxaur 11s ease-in-out infinite alternate;pointer-events:none;z-index:0;}
  @keyframes sxaur{0%{transform:translate(-3%,-2%) rotate(0deg);}100%{transform:translate(3%,3%) rotate(5deg);}}

  /* ---- SOLUTIONS : identical-geometry canvas visual block (x5) ---- */
  .sx-sol{position:absolute;inset:0;z-index:0;overflow:hidden;box-sizing:border-box;background:linear-gradient(160deg,rgba(3,21,15,0.30),rgba(3,21,15,0.04) 46%,rgba(3,21,15,0.38));box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);pointer-events:none;}
  .sx-sol .sx-aur{background:radial-gradient(40% 36% at 28% 32%,var(--sxc1,#DCFCEC),transparent 70%),radial-gradient(32% 32% at 74% 68%,var(--sxglow,#5EEAD4),transparent 70%);opacity:0.32;mix-blend-mode:screen;filter:blur(30px);}
  .sx-sol:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,21,15,0.30),rgba(3,21,15,0.06) 42%,rgba(3,21,15,0.34));pointer-events:none;z-index:3;}
  .sx-solcard>*:not(.sx-sol){position:relative;z-index:1;}

  /* ---- CASE STUDIES : vertical full-width stack ---- */
  .sx-stack{display:flex;flex-direction:column;gap:clamp(64px,9vh,120px);margin-top:8px;position:relative;z-index:2;}
  .sx-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4.2vw,64px);align-items:center;}
  .sx-row.sx-flip .sx-vis{order:2;}
  .sx-row:not(.sx-flip) .sx-vis{margin-right:auto;}
  .sx-row.sx-flip .sx-vis{margin-left:auto;}
  .sx-row.sx-flip .sx-txt{order:1;}
  .sx-no{position:absolute;z-index:3;top:-0.44em;left:-14px;font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(88px,9vw,150px);line-height:1;color:transparent;-webkit-text-stroke:1.5px #10B981;opacity:0.42;pointer-events:none;user-select:none;}
  .sx-row.sx-flip .sx-no{left:auto;right:-14px;}
  .sx-vis{position:relative;width:100%;max-width:620px;z-index:1;aspect-ratio:16/9.6;border-radius:26px;overflow:hidden;background:radial-gradient(120% 90% at 12% 8%,#DCFCEC 0%,transparent 55%),radial-gradient(110% 100% at 88% 92%,rgba(94,234,212,0.30) 0%,transparent 52%),linear-gradient(150deg,#FFFFFF 0%,#DCFCEC 100%);box-shadow:0 34px 80px rgba(8,38,29,.16),0 4px 14px rgba(8,38,29,.06);transform:rotate(-1.6deg);transition:transform .7s cubic-bezier(.22,1,.3,1),box-shadow .7s;}
  .sx-row.sx-flip .sx-vis{transform:rotate(1.6deg);}
  .sx-row:hover .sx-vis{transform:rotate(0deg) scale(1.025);box-shadow:0 48px 110px rgba(8,38,29,.22);}
  .sx-vis:before{content:"";position:absolute;inset:0;border-radius:26px;padding:1.6px;background:conic-gradient(from var(--sxa,0deg),transparent 0 68%,#5EEAD4 82%,#34D399 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none;z-index:7;}
  .sx-row:hover .sx-vis:before{opacity:1;animation:sxring 2.4s linear infinite;}
  @keyframes sxring{to{--sxa:360deg;}}
  .sx-logolink{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
    width:80%;height:58%;display:flex;align-items:center;justify-content:center;text-decoration:none;
    background:radial-gradient(ellipse 50% 46% at 50% 50%,#FFFFFF 0%,#FFFFFF 44%,rgba(255,255,255,0.92) 60%,rgba(255,255,255,0.62) 76%,rgba(255,255,255,0.24) 90%,rgba(255,255,255,0) 100%);
    transition:transform .45s cubic-bezier(.22,1,.3,1);}
  .sx-logolink:hover{transform:translate(-50%,-50%) scale(1.05);}
  .sx-logolink:focus-visible{outline:2px solid #10B981;outline-offset:4px;}
  .sx-logo{position:static;object-fit:contain;pointer-events:none;}
  .sx-chip{position:absolute;top:16px;left:16px;z-index:6;font-family:'Archivo',sans-serif;font-weight:800;font-size:10px;letter-spacing:0.24em;color:#06231C;background:rgba(255,255,255,0.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(11,20,17,0.12);border-radius:999px;padding:7px 15px;display:flex;align-items:center;gap:8px;}
  .sx-chip i{width:7px;height:7px;border-radius:50%;background:#10B981;animation:sxblink 2s infinite;flex:none;}
  @keyframes sxblink{0%,100%{opacity:1;}50%{opacity:0.25;}}
  .sx-mq{position:absolute;left:0;right:0;bottom:12px;z-index:6;overflow:hidden;white-space:nowrap;font-family:'Archivo',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:0.26em;opacity:0.6;color:#065F46;pointer-events:none;}
  .sx-mq>span{display:inline-block;animation:sxmq 22s linear infinite;}
  @keyframes sxmq{to{transform:translateX(-50%);}}
  .sx-txt{position:relative;z-index:2;}
  .sx-en{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.3em;color:#10B981;display:flex;align-items:center;gap:10px;}
  .sx-en:before{content:"";width:26px;height:1.5px;background:linear-gradient(90deg,#10B981,#5EEAD4);flex:none;}
  .sx-nm{margin:16px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(28px,3.2vw,46px);line-height:1.3;letter-spacing:-0.01em;color:#0A1F19;}
  .sx-copy{margin-top:12px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:clamp(15px,1.7vw,19px);letter-spacing:0.04em;color:#047857;}
  .sx-ds{margin:16px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:14.5px;line-height:1.9;color:#53605B;font-weight:500;max-width:34em;}
  .sx-br{margin-top:14px;font-family:'Archivo',sans-serif;font-weight:700;font-size:10px;letter-spacing:0.2em;color:#7C9A90;}
  .sx-link{margin-top:26px;display:inline-flex;align-items:center;gap:12px;font-family:'Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:0.22em;position:relative;padding-bottom:6px;color:#0A1F19;text-decoration:none;}
  .sx-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:linear-gradient(90deg,#10B981,#5EEAD4);transform:scaleX(0.28);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .sx-row:hover .sx-link:after{transform:scaleX(1);}
  .sx-link i{font-style:normal;transition:transform .3s;color:#10B981;}
  .sx-row:hover .sx-link i{transform:translateX(6px);}
  /* scroll reveal */
  .sx-row .sx-vis{clip-path:inset(10% 6% 10% 6% round 26px);opacity:0;}
  .sx-row .sx-txt{opacity:0;transform:translateY(30px);}
  .sx-row.sx-in .sx-vis{clip-path:inset(0 round 26px);opacity:1;transition:clip-path 1s cubic-bezier(.65,0,.25,1),opacity .5s,transform .7s cubic-bezier(.22,1,.3,1),box-shadow .7s;}
  .sx-row.sx-in .sx-txt{opacity:1;transform:none;transition:opacity .8s .15s,transform .9s .15s cubic-bezier(.2,.8,.2,1);}
  @media(max-width:900px){
    .sx-row{grid-template-columns:1fr;gap:24px;margin:0!important;}
    .sx-row.sx-flip .sx-vis{order:0;}
    .sx-row.sx-flip .sx-txt{order:1;}
    .sx-row .sx-vis,.sx-row.sx-flip .sx-vis{transform:none;}
    .sx-row:hover .sx-vis{transform:scale(1.01);}
    .sx-no{font-size:74px;top:-32px;left:auto;right:0;opacity:0.5;}
    .sx-row.sx-flip .sx-no{right:0;left:auto;}
    .sx-stack{gap:64px;}
  }
  @media(prefers-reduced-motion:reduce){
    .sx-aur,.sx-mq>span,.sx-chip i,.sx-vis:before{animation:none!important;}
    .sx-vis:before{opacity:0!important;}
    .sx-row .sx-vis,.sx-row.sx-flip .sx-vis{transform:none!important;clip-path:inset(0 round 26px)!important;opacity:1!important;transition:none!important;}
    .sx-row .sx-txt{opacity:1!important;transform:none!important;transition:none!important;}
    .sx-row:hover .sx-vis{transform:none!important;}
    .sx-link:after{transition:none!important;}
  }

  /* =========================================================================
     Commerce AI page : page-specific additions
     ========================================================================= */

  /* ---- generic section scaffolding ---- */
  .ca-sec{position:relative;overflow:hidden;}
  .ca-wrap{position:relative;max-width:1280px;margin:0 auto;padding:120px 40px;}
  .ca-head{max-width:820px;margin-bottom:48px;}
  .ca-head-c{max-width:860px;margin:0 auto 52px;text-align:center;}
  .ca-eb{font-family:'Archivo',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.22em;color:#047857;margin-bottom:18px;}
  .ca-ebd{color:#5EEAD4;}
  .ca-h{margin:0 0 16px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:46px;line-height:1.35;letter-spacing:-0.01em;color:#0A1F19;text-wrap:balance;}
  .ca-hd{color:#FFFFFF;}
  .ca-lead{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:18px;line-height:1.85;color:#53605B;font-weight:600;}
  .ca-leadd{color:rgba(255,255,255,0.72);}
  .ca-grad{background:linear-gradient(115deg,#047857,#10B981);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .ca-gradd{background:linear-gradient(115deg,#4FD9A8,#5EEAD4);-webkit-background-clip:text;background-clip:text;color:transparent;}

  /* ---- white card grids (reuses .sol-grid / .sx-solcard so the SP layer works) ---- */
  .ca-g3.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .ca-card{position:relative;background:#fff;border:1px solid rgba(11,20,17,0.09);border-radius:18px;padding:34px 32px;
    box-shadow:0 18px 44px -30px rgba(8,32,26,0.28);display:flex;flex-direction:column;}
  .ca-card.sx-solcard{min-height:0!important;cursor:default;}
  .ca-card.sx-solcard:before{border-radius:18px;padding:1.6px;
    background:conic-gradient(from var(--sxa,0deg),transparent 0 60%,#5EEAD4 78%,#34D399 88%,transparent 100%);}
  .ca-card.sx-solcard:hover,.ca-card.sx-solcard:focus-visible{
    transform:translateY(-8px) scale(1)!important;
    box-shadow:0 40px 78px -38px rgba(4,120,87,0.38)!important;filter:none!important;}
  .ca-ic{width:46px;height:46px;border-radius:13px;background:rgba(16,185,129,0.12);display:flex;align-items:center;justify-content:center;flex:none;margin-bottom:18px;}
  .ca-tt{margin:0 0 10px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:18px;line-height:1.55;color:#0A1F19;}
  .ca-tt-l{font-size:20px;}
  .ca-ds{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;line-height:1.9;color:#53605B;font-weight:500;}
  .ca-more{margin-top:16px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:13.5px;color:#047857;align-self:flex-start;}
  .ca-more svg{flex:none;}


  /* ---- HERO : trust chips ---- */
  .hb-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .hb-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .hb-chip{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.18);border-radius:999px;padding:9px 17px;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:13px;color:#FFFFFF;white-space:nowrap;}
  .hb-chip i{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#5EEAD4,#10B981);flex:none;}


  /* ---- STEPS ---- */
  .st-list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(11,20,17,0.12);}
  .st-item{position:relative;padding:34px 26px 0 0;border-right:1px solid rgba(11,20,17,0.09);}
  .st-item:last-child{border-right:0;padding-right:0;}
  .st-bar{position:absolute;left:0;top:-1px;width:56px;height:3px;border-radius:3px;background:linear-gradient(90deg,#047857,#5EEAD4);}
  .st-no{font-family:'Archivo',sans-serif;font-weight:800;font-size:13px;letter-spacing:0.2em;color:#047857;margin-bottom:14px;}
  .st-tt{margin:0 0 10px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:19px;line-height:1.5;color:#0A1F19;}
  .st-ds{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:14px;line-height:1.85;color:#53605B;font-weight:600;}

  /* ---- SECURITY (dark 2x2) ---- */
  .sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .sc-item{padding:32px 34px;border-radius:20px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);}
  .sc-ic{width:46px;height:46px;border-radius:13px;background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.28);
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
  .sc-tt{margin:0 0 10px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:20px;line-height:1.5;color:#fff;}
  .sc-ds{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;line-height:1.9;color:rgba(255,255,255,0.7);font-weight:500;}

  /* ---- FAQ ---- */
  .fq-list{display:flex;flex-direction:column;gap:14px;max-width:920px;margin:0 auto;}
  .fq{background:#fff;border:1px solid rgba(11,20,17,0.09);border-radius:18px;overflow:hidden;
    box-shadow:0 16px 38px -30px rgba(8,32,26,0.3);}
  .fq>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:14px;padding:23px 26px;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:17px;line-height:1.65;color:#0A1F19;}
  .fq>summary::-webkit-details-marker{display:none;}
  .fq>summary:focus-visible{outline:2px solid #10B981;outline-offset:-4px;}
  .fq-q{flex:none;font-family:'Archivo',sans-serif;font-weight:900;font-size:16px;color:#10B981;line-height:1.75;}
  .fq-ic{margin-left:auto;flex:none;width:20px;height:20px;position:relative;margin-top:5px;}
  .fq-ic:before,.fq-ic:after{content:"";position:absolute;background:#047857;border-radius:2px;transition:transform .3s;}
  .fq-ic:before{left:0;top:9px;width:20px;height:2px;}
  .fq-ic:after{left:9px;top:0;width:2px;height:20px;}
  .fq[open] .fq-ic:after{transform:scaleY(0);}
  .fq-a{display:flex;gap:14px;padding:0 26px 24px;
    font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;line-height:1.95;color:#53605B;font-weight:500;}
  .fq-al{flex:none;font-family:'Archivo',sans-serif;font-weight:900;font-size:16px;color:#7C9A90;line-height:1.95;}

  /* ---- DEFENSE : 8ステップのプロセスレール ---- */
  .pw-rail{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:12px;align-items:stretch;}
  .pw-rail:before{content:"";position:absolute;z-index:0;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;
    background:linear-gradient(90deg,rgba(16,185,129,0),#10B981 10%,#5EEAD4 50%,#10B981 90%,rgba(16,185,129,0));opacity:.55;}
  .pw-st{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;background:#fff;
    border:1px solid rgba(11,20,17,0.09);border-radius:16px;padding:16px 14px 18px;
    box-shadow:0 18px 42px -32px rgba(8,32,26,0.34);}
  .pw-no{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.2em;color:#047857;}
  .pw-nm{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:15px;line-height:1.5;color:#0A1F19;}
  .pw-tag{margin-top:auto;display:block;font-family:'Archivo','Zen Kaku Gothic New',sans-serif;font-weight:700;
    font-size:12px;line-height:1.6;color:#047857;background:rgba(16,185,129,0.10);border-radius:10px;padding:7px 9px;}
  .pw-note{margin:34px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;
    font-size:16px;line-height:1.8;color:#375C50;}
  @media(max-width:1100px){
    .pw-rail{grid-template-columns:repeat(2,1fr);gap:14px;}
    .pw-rail:before,.pw-rail:after{display:none;}
  }
  @media(max-width:640px){
    .pw-rail{grid-template-columns:1fr;}
  }

  /* ---- DELIVERY : マルチLLM 2x2 カード（旧 AI TECHNOLOGY） ---- */
  .at-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .at-lb{font-family:'Archivo',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:0.22em;color:#10B981;margin-bottom:14px;}
  .at-close{margin:48px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;
    font-size:24px;line-height:1.7;letter-spacing:-0.01em;color:#0A1F19;text-wrap:balance;}

  /* ---- ページ内ナビ ---- */
  .ca-nav{position:sticky;top:/*72*/108px;z-index:45;background:rgba(255,255,255,0.88);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(11,20,17,0.08);}
  .ca-nav-in{max-width:1280px;margin:0 auto;padding:0 40px;height:56px;display:flex;align-items:center;gap:18px;}
  .ca-nav-sc{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0;overflow-x:auto;
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}
  .ca-nav-sc::-webkit-scrollbar{display:none;}
  .ca-nav-i{position:relative;flex:none;text-decoration:none;white-space:nowrap;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:13.5px;color:#53605B;
    padding:9px 14px;border-radius:999px;transition:color .26s,background-color .26s;}
  .ca-nav-i:hover{color:#047857;background:rgba(16,185,129,0.08);opacity:1;}
  .ca-nav-i.on{color:#fff;background:linear-gradient(115deg,#047857,#10B981);
    box-shadow:0 10px 22px -12px rgba(4,120,87,0.6);}
  .ca-sec{scroll-margin-top:132px;}
  @media(max-width:960px){
    .ca-nav{top:64px;}
    .ca-nav-in{padding:0 14px;height:50px;gap:10px;}
    .ca-nav-i{font-size:12.5px;padding:8px 11px;}
    .ca-sec{scroll-margin-top:118px;}
  }

  /* ---- カード用バッジ（標準搭載 / オプション） ---- */
  .sx-solcard>.ca-bdg,.ca-card>.ca-bdg,.ca-bdg{position:absolute!important;top:16px;right:16px;z-index:3;width:auto;border-radius:999px;padding:5px 11px;white-space:nowrap;
    font-family:'Archivo','Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:10px;letter-spacing:0.08em;}

  /* ---- SECURITY : ヘッドラインの実績カード + 標準機能チップ ---- */
  .sc-stat{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;
    gap:clamp(20px,3.4vw,48px);padding:40px 44px;border-radius:22px;
    background:linear-gradient(150deg,rgba(16,185,129,0.22),rgba(94,234,212,0.06));
    border:1.4px solid rgba(94,234,212,0.46);box-shadow:0 32px 74px -36px rgba(16,185,129,0.62);}
  .sc-stat-h{margin:0;display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:30px;line-height:1.4;color:#fff;}
  .sc-big{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(64px,9vw,110px);line-height:.84;letter-spacing:-0.045em;
    background:linear-gradient(120deg,#5EEAD4,#A7E8CE 46%,#4FD9A8);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .sc-stat-p{margin:0;max-width:26em;text-align:left;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:15.5px;line-height:1.9;font-weight:500;color:rgba(255,255,255,0.72);}
  .sc-line{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 30px;}
  .sc-ll{flex:none;font-family:'Archivo',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:0.2em;color:#5EEAD4;}
  .sc-chips{display:flex;flex-wrap:wrap;gap:9px;}
  .sc-cp{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:12.5px;color:rgba(255,255,255,0.82);
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);border-radius:999px;padding:7px 14px;}

  /* ================= Commerce AI page : <=960px ================= */
  @media(max-width:960px){
    .ca-wrap{padding:64px 20px!important;}
    .ca-head{margin-bottom:30px!important;}
    .ca-head-c{margin-bottom:30px!important;}
    .ca-h{font-size:25px!important;line-height:1.45!important;}
    .ca-lead{font-size:15px!important;line-height:1.8!important;}
    .ca-card{padding:24px 20px!important;border-radius:16px!important;}
    .ca-tt,.ca-tt-l{font-size:17.5px!important;}
    .ca-ds{font-size:14.5px!important;line-height:1.85!important;}
    .hb-chips{gap:8px!important;}
    .hb-chip{font-size:11.5px!important;padding:8px 13px!important;gap:7px!important;}
    .st-list{grid-template-columns:1fr!important;border-top:0!important;}
    .st-item{padding:22px 0!important;border-right:0!important;border-top:1px solid rgba(11,20,17,0.10)!important;}
    .st-item.sx-tr{gap:0!important;padding-bottom:22px!important;padding-top:22px!important;}
    .st-bar{display:none!important;}
    .st-tt{font-size:17px!important;}
    .st-ds{font-size:14px!important;}
    /* DEFENSE rail */
    .pw-st{padding:15px 14px 16px!important;border-radius:14px!important;}
    .pw-st.sx-tr{gap:9px!important;padding-bottom:16px!important;}
    .pw-nm{font-size:14.5px!important;}
    .pw-tag{font-size:11.5px!important;padding:6px 9px!important;}
    .pw-note{margin-top:24px!important;font-size:14.5px!important;}
    /* DELIVERY : at-grid */
    .at-grid{grid-template-columns:1fr!important;gap:16px!important;}
    .at-lb{font-size:10px!important;margin-bottom:11px!important;}
    .at-close{margin-top:32px!important;font-size:18px!important;line-height:1.8!important;}
    /* card badge */
    .ca-bdg{top:13px!important;right:13px!important;font-size:9.5px!important;padding:4px 9px!important;}
    /* SECURITY */
    .sc-grid{grid-template-columns:1fr!important;gap:14px!important;}
    .sc-item{padding:22px 20px!important;border-radius:16px!important;}
    .sc-tt{font-size:18px!important;}
    .sc-ds{font-size:14.5px!important;line-height:1.85!important;}
    .sc-stat{padding:26px 20px!important;gap:14px!important;border-radius:18px!important;}
    .sc-stat-h{font-size:21px!important;gap:10px!important;}
    .sc-stat-p{max-width:none!important;text-align:center!important;font-size:14.5px!important;line-height:1.85!important;}
    .sc-line{padding:18px!important;gap:12px!important;}
    .sc-cp{font-size:11.5px!important;padding:6px 12px!important;}
    .fq>summary{padding:18px 18px!important;font-size:15.5px!important;gap:11px!important;}
    .fq-a{padding:0 18px 20px!important;font-size:14.5px!important;gap:11px!important;}
  }
  @media(max-width:560px){
    .ca-h{font-size:23px!important;}
    .at-close{font-size:17px!important;}
    .sc-stat-h{font-size:19px!important;}
  }
  /* =========================================================================
     Commerce AI page : v2 — visual-first additions
     （40pxアイコンタイル / モーダル / レール / タイムライン / ブレイクバンド）
     ========================================================================= */

  /* ---- 56px tile + 40px line-icon ---- */
  .sx-solcard>.ca-ict,.ca-ict{position:relative;width:56px;height:56px;border-radius:17px;flex:none;margin-bottom:20px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,rgba(16,185,129,0.16),rgba(94,234,212,0.07));
    border:1px solid rgba(16,185,129,0.22);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);}
  .ca-ict svg{display:block;}

  /* ---- modal opener : .sx-ul と同じ見た目のボタン ---- */
  .ca-modal-open{-webkit-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0;
    font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:15px;color:#047857;
    text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px;
    text-decoration-color:rgba(4,120,87,0.36);
    transition:transform .34s cubic-bezier(.22,1,.3,1),opacity .28s;}
  .ca-modal-open:hover{opacity:.86;transform:translateX(4px);}
  .ca-modal-open:focus-visible{outline:2px solid #10B981;outline-offset:5px;border-radius:4px;}
  .ca-modal-open svg{flex:none;}

  /* ---- modal : 基盤全体の考え方 ---- */
  .ca-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;
    padding:26px 16px;}
  .ca-modal[hidden]{display:none!important;}
  .ca-modal-bd{position:absolute;inset:0;background:rgba(3,21,15,.72);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    opacity:0;transition:opacity .42s cubic-bezier(.22,1,.3,1);}
  .ca-modal.on .ca-modal-bd{opacity:1;}
  .ca-modal-pn{position:relative;z-index:1;width:min(94vw,1120px);max-width:1120px;max-height:88vh;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    border-radius:24px;border:1px solid rgba(255,255,255,.14);
    background:radial-gradient(ellipse 60% 46% at 76% 10%,rgba(4,120,87,0.40),transparent 62%),
      radial-gradient(ellipse 54% 46% at 14% 92%,rgba(16,185,129,0.30),transparent 62%),#03150F;
    box-shadow:0 60px 150px -46px rgba(0,0,0,.82);
    padding:62px 54px 54px;
    opacity:0;transform:translateY(18px);
    transition:opacity .42s cubic-bezier(.22,1,.3,1),transform .42s cubic-bezier(.22,1,.3,1);}
  .ca-modal.on .ca-modal-pn{opacity:1;transform:none;}
  .ca-modal-x{position:absolute;top:18px;right:18px;z-index:4;width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
    background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.24);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    transition:background-color .3s,transform .35s;}
  .ca-modal-x:hover{background:rgba(255,255,255,0.2);transform:rotate(90deg);}
  .ca-modal-x:focus-visible{outline:2px solid #5EEAD4;outline-offset:3px;}
  .ca-modal-eb{font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.26em;
    color:#5EEAD4;margin-bottom:14px;text-align:center;}
  .ca-modal-h{margin:0 0 34px;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:900;font-size:28px;line-height:1.45;letter-spacing:-0.01em;color:#fff;text-wrap:balance;}
  .ca-modal-ft{margin:38px 0 0;text-align:center;}
  .ca-modal-ft a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:14px;color:#5EEAD4;}

  /* ---- modal 内: PC=横長SVG / SP=縦構成 の出し分け ---- */
  .cam-fig{display:block;margin:0 auto;max-width:1200px;}
  .cam-sp{display:none;flex-direction:column;align-items:stretch;gap:12px;}
  .cam-lb{font-family:'Archivo',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:0.22em;
    color:rgba(255,255,255,0.66);text-align:center;}
  .cam-ch4{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .cam-ch{display:flex;align-items:center;justify-content:center;text-align:center;padding:13px 8px;
    border-radius:14px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.16);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:14px;color:#fff;}
  .cam-arr{text-align:center;line-height:1;font-family:'Archivo',sans-serif;font-size:18px;color:#5EEAD4;}
  .cam-chip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1px;padding:14px 16px;
    border-radius:16px;background:linear-gradient(150deg,rgba(16,185,129,0.22),rgba(94,234,212,0.08));
    border:1.4px solid rgba(94,234,212,0.5);box-shadow:0 18px 44px -28px rgba(16,185,129,0.6);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:14.5px;color:#fff;text-align:center;}
  .cam-ac{color:#5EEAD4;}
  .cam-sep{color:rgba(255,255,255,0.5);}
  .cam-panel{display:flex;flex-direction:column;gap:10px;padding:16px 14px;border-radius:20px;
    background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.16);}
  .cam-pl{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.16em;
    color:#5EEAD4;text-align:center;}
  .cam-card{padding:14px;border-radius:14px;text-align:center;
    background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.16);}
  .cam-ct{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:16px;line-height:1.5;color:#fff;}
  .cam-pill{display:inline-block;margin-top:8px;padding:6px 12px;border-radius:999px;
    background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.34);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:11.5px;color:rgba(255,255,255,0.82);}
  .cam-link{text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:12.5px;color:#5EEAD4;}
  .cam-conn{display:flex;justify-content:center;}

  /* ---- modal 内: 3原則カード + 成果チップ ---- */
  .cam-prs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .cam-pr{position:relative;overflow:hidden;border-radius:20px;padding:26px 24px 24px;
    background:linear-gradient(160deg,rgba(94,234,212,0.16),rgba(255,255,255,0.045) 52%,rgba(255,255,255,0.03));
    border:1px solid rgba(94,234,212,0.34);
    box-shadow:0 26px 60px -34px rgba(16,185,129,0.55),inset 0 1px 0 rgba(255,255,255,0.12);}
  .cam-pr:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,#10B981,#5EEAD4,#4FD9A8);}
  .cam-pr-tt{position:relative;z-index:1;margin:0 0 10px;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:900;font-size:20px;line-height:1.5;color:#fff;letter-spacing:0.01em;}
  .cam-pr-ds{position:relative;z-index:1;margin:0;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:14.5px;line-height:1.8;font-weight:500;color:rgba(255,255,255,0.74);}
  .cam-out-wrap{display:flex;justify-content:center;}
  .cam-out{display:inline-flex;align-items:center;gap:10px;padding:18px 40px;border-radius:18px;
    background:linear-gradient(150deg,rgba(16,185,129,0.22),rgba(94,234,212,0.10));
    border:1.6px solid rgba(94,234,212,0.55);box-shadow:0 24px 60px -28px rgba(16,185,129,0.6);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:19px;letter-spacing:0.01em;}

  /* ---- DEFENSE : プロセスレールの図解強化 ---- */
  .pw-ic{width:26px;height:26px;border-radius:9px;flex:none;
    background:rgba(16,185,129,0.10);display:flex;align-items:center;justify-content:center;}
  .pw-rail:before{opacity:.85;}
  .pw-rail:after{content:"";position:absolute;z-index:0;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;
    background-image:repeating-linear-gradient(90deg,#FFFFFF 0 9px,rgba(255,255,255,0) 9px 30px);
    background-size:30px 3px;background-repeat:repeat-x;opacity:.75;
    animation:pwflow 1.5s linear infinite;
    mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
  @keyframes pwflow{to{background-position:30px 0;}}
  .pw-st{gap:8px;}

  /* ---- DELIVERY : マルチLLM 図解（旧 AI TECHNOLOGY） ---- */
  .at-fig{margin:0 auto 40px;max-width:1000px;}
  .at-fig svg{display:block;width:100%;height:auto;}

  /* ---- HOW TO START : ビジュアルタイムライン ---- */
  .st-list{position:relative;border-top:0;}
  .st-list:before{content:"";position:absolute;z-index:0;left:9%;right:9%;top:7px;height:2px;border-radius:2px;
    background:linear-gradient(90deg,rgba(16,185,129,0),#10B981 8%,#5EEAD4 50%,#10B981 92%,rgba(16,185,129,0));}
  .st-item{position:relative;z-index:1;padding:0 26px 0 0;border-right:0;}
  .st-item:last-child{padding-right:0;}
  .st-dot{position:relative;z-index:2;display:block;width:16px;height:16px;border-radius:50%;
    background:#fff;border:3px solid #10B981;box-shadow:0 0 0 5px rgba(16,185,129,0.12);}
  .st-num{margin:18px 0 0;font-family:'Archivo',sans-serif;font-weight:900;font-size:40px;line-height:1;
    letter-spacing:-0.035em;
    background:linear-gradient(115deg,#047857,#10B981);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .st-tt{margin:12px 0 8px!important;font-size:17px!important;}

  /* ---- VISUAL BREAK BAND ---- */
  .cb-band{position:relative;overflow:hidden;background:#03150F;}
  .cb-wrap{position:relative;z-index:2;max-width:1080px;margin:0 auto;
    padding:clamp(74px,10vw,124px) 40px;text-align:center;}
  .cb-lb{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.32em;
    color:rgba(167,232,206,0.7);margin-bottom:22px;}
  .cb-st{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;
    font-size:clamp(24px,3.4vw,44px);line-height:1.6;letter-spacing:-0.01em;color:#fff;text-wrap:balance;}

  @media(prefers-reduced-motion:reduce){
    .ca-modal-bd,.ca-modal-pn{transition:none!important;}
    .ca-modal-pn{transform:none!important;}
    .ca-modal-x:hover{transform:none!important;}
    .pw-rail:after{animation:none!important;}
  }

  /* ================= v2 : <=960px ================= */
  @media(max-width:960px){
    .ca-ict{width:50px!important;height:50px!important;border-radius:15px!important;margin-bottom:16px!important;}
    .ca-ict svg{width:34px!important;height:34px!important;}
    .ca-modal{padding:14px 12px!important;}
    .ca-modal-pn{padding:46px 18px 32px!important;border-radius:18px!important;max-height:92vh!important;}
    .ca-modal-x{top:11px!important;right:11px!important;width:40px!important;height:40px!important;}
    .ca-modal-eb{font-size:10px!important;margin-bottom:11px!important;}
    .ca-modal-h{font-size:20px!important;line-height:1.5!important;margin-bottom:22px!important;}
    .ca-modal-ft{margin-top:28px!important;}
    .cam-fig{display:none!important;}
    .cam-sp{display:flex!important;}
    .cam-conn{display:none!important;}
    .cam-prs{grid-template-columns:1fr!important;gap:12px!important;}
    .cam-pr{padding:20px 18px 18px!important;border-radius:16px!important;}
    .cam-pr-tt{font-size:17px!important;margin-bottom:8px!important;}
    .cam-pr-ds{font-size:14px!important;line-height:1.8!important;}
    .cam-out{font-size:15px!important;padding:14px 20px!important;border-radius:15px!important;
      flex-wrap:wrap!important;justify-content:center!important;text-align:center!important;}
    .pw-rail:after{display:none!important;}
    .at-fig{margin-bottom:22px!important;}
    .st-list:before{display:none!important;}
    .st-dot{display:none!important;}
    .st-item{padding:20px 0!important;}
    .st-num{font-size:32px!important;margin-top:0!important;}
    .st-tt{margin:8px 0 6px!important;font-size:16.5px!important;}
    .cb-wrap{padding:66px 20px!important;}
    .cb-lb{font-size:10px!important;letter-spacing:0.28em!important;margin-bottom:15px!important;}
  }
  /* =========================================================================
     RHYTHM v3 : light / dark alternation, per-section canvas texture, seams
     ========================================================================= */

  /* ---- section boundary seams (1px line + ~40px soft gradient) ---- */
  .ca-seam{position:absolute;left:0;right:0;height:40px;z-index:0;pointer-events:none;}
  .ca-seam:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--seamline,rgba(255,255,255,0.35));}
  .ca-seam-t{top:0;background:linear-gradient(180deg,var(--seamc,rgba(255,255,255,0.5)),rgba(255,255,255,0) 100%);}
  .ca-seam-t:before{top:0;}
  .ca-seam-b{bottom:0;background:linear-gradient(0deg,var(--seamc,rgba(255,255,255,0.5)),rgba(255,255,255,0) 100%);}
  .ca-seam-b:before{bottom:0;}
  @media(max-width:960px){
    .ca-seam{height:28px;}
  }

  /* ---- 05 DEFENSE 守りのAI : dark-tone recolour（旧 WHERE IT WORKS） ---- */
  #defense .ca-eb{color:#5EEAD4;}
  #defense .ca-h{color:#FFFFFF;}
  #defense .ca-h .ca-grad{background:linear-gradient(115deg,#5EEAD4,#4FD9A8);-webkit-background-clip:text;background-clip:text;color:transparent;}
  #defense .ca-lead{color:rgba(255,255,255,0.70);}
  #defense .pw-st{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);box-shadow:none;}
  #defense .pw-st:hover{background:rgba(255,255,255,0.09);border-color:rgba(94,234,212,0.45);}
  #defense .pw-no{color:#5EEAD4;}
  #defense .pw-ic{background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.3);}
  #defense .pw-ic svg [stroke]{stroke:#5EEAD4;}
  #defense .pw-nm{color:#FFFFFF;}
  #defense .pw-tag{background:rgba(94,234,212,0.12);color:#A7E8CE;}
  #defense .pw-rail:before{opacity:1;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.14) 10%,rgba(255,255,255,0.14) 90%,rgba(255,255,255,0));}
  #defense .pw-rail:after{opacity:.8;
    background-image:repeating-linear-gradient(90deg,#5EEAD4 0 9px,rgba(94,234,212,0) 9px 30px);}
  #defense .pw-note{color:rgba(255,255,255,0.66);}
  @media(max-width:960px){
    #defense .pw-st{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:none!important;}
    #defense .pw-nm{color:#FFFFFF!important;}
    #defense .pw-tag{background:rgba(94,234,212,0.12)!important;color:#A7E8CE!important;}
    #defense .pw-note{color:rgba(255,255,255,0.66)!important;}
  }
  @media(max-width:560px){
    #defense .ca-h{color:#FFFFFF!important;}
  }

  /* =========================================================================
     Commerce AI page : v3 additions — PLATFORM MAP / EFFECT / THE SHIFT
     ========================================================================= */

  /* ---- NEW A : 02b PLATFORM（ダーク：ハブ＆スポーク） ---- */
  #platform .ca-eb{color:#5EEAD4;}
  #platform .ca-h{color:#FFFFFF;}
  #platform .ca-lead{color:rgba(255,255,255,0.72);}
  #platform .ca-grad{background:linear-gradient(115deg,#5EEAD4,#4FD9A8);-webkit-background-clip:text;background-clip:text;color:transparent;}

  .pf-map{position:relative;display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);
    grid-template-rows:auto auto auto auto;gap:20px;align-items:stretch;}
  .pf-glow{position:absolute;z-index:0;left:50%;top:38%;width:58%;height:56%;transform:translate(-50%,-50%);
    border-radius:50%;pointer-events:none;filter:blur(8px);
    background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(16,185,129,0.30),transparent 68%);}
  .pf-lines{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
  .pf-lines path{fill:none;stroke:rgba(94,234,212,0.28);stroke-width:1;stroke-linecap:round;}
  .pf-lines .pf-dash path{stroke-dasharray:6 9;animation:pfdash 6.5s linear infinite;}
  @keyframes pfdash{to{stroke-dashoffset:-60;}}

  .pf-core{position:relative;z-index:2;grid-column:2;grid-row:1/span 3;
    display:flex;flex-direction:column;justify-content:center;text-align:center;
    padding:44px 34px 30px;border-radius:26px;
    background:radial-gradient(ellipse 78% 58% at 50% 18%,rgba(16,185,129,0.26),transparent 68%),rgba(255,255,255,0.06);
    box-shadow:0 44px 100px -42px rgba(16,185,129,0.78),inset 0 1px 0 rgba(255,255,255,0.14);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
  .pf-core:before{content:"";position:absolute;inset:0;border-radius:26px;padding:1.6px;pointer-events:none;
    background:linear-gradient(135deg,#5EEAD4,rgba(52,211,153,0.22) 46%,#34D399);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;}
  .pf-core-nm{font-family:'Archivo',sans-serif;font-weight:900;font-size:34px;line-height:1.1;letter-spacing:-0.03em;
    background:linear-gradient(115deg,#5EEAD4,#34D399);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .pf-core-sb{margin-top:9px;font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.18em;color:#A7E8CE;}
  .pf-core-ln{margin:20px auto 0;max-width:24em;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;
    font-size:15px;line-height:1.9;color:rgba(255,255,255,0.78);}
  .pf-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px;}
  .pf-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
    background:rgba(255,255,255,0.06);border:1px solid rgba(94,234,212,0.28);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:12.5px;color:#DCFCEC;white-space:nowrap;}
  .pf-chip svg{flex:none;}
  .pf-core-ft{margin-top:26px;padding:15px 18px;border-radius:16px;
    background:rgba(94,234,212,0.10);border:1px solid rgba(94,234,212,0.24);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:13px;line-height:1.8;color:#A7E8CE;}

  .pf-mod{position:relative;z-index:2;display:flex;flex-direction:column;padding:22px 22px 20px;border-radius:20px;
    background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    transition:background-color .34s,border-color .34s,transform .5s cubic-bezier(.22,1,.3,1);}
  .pf-mod:hover{background:rgba(255,255,255,0.09);border-color:rgba(94,234,212,0.45);transform:translateY(-4px);}
  .pf-ict{width:54px;height:54px;border-radius:16px;flex:none;margin-bottom:15px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,rgba(94,234,212,0.18),rgba(16,185,129,0.06));
    border:1px solid rgba(94,234,212,0.30);}
  .pf-ict svg{display:block;}
  .pf-nm{margin:0 0 5px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:18px;line-height:1.5;color:#FFFFFF;}
  .pf-en{font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.14em;color:#5EEAD4;margin-bottom:13px;}
  .pf-bl{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}
  .pf-bl li{position:relative;padding-left:16px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;
    font-size:13.5px;line-height:1.7;color:rgba(255,255,255,0.68);}
  .pf-more{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:12.5px;color:#5EEAD4;transition:transform .3s,opacity .3s;}
  .pf-more:hover{opacity:1;transform:translateX(4px);}
  .pf-bl li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:#5EEAD4;}
  .pf-ai{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px;}
  .pf-ai span{font-family:'Archivo',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:0.05em;color:#A7E8CE;
    background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.26);border-radius:999px;padding:5px 10px;}
  .ca-bdg-n{background:rgba(94,234,212,0.18);color:#5EEAD4;border:1px solid rgba(94,234,212,0.44);}

  .pf-m1{grid-column:1;grid-row:1;}
  .pf-m2{grid-column:1;grid-row:2;}
  .pf-m3{grid-column:1;grid-row:3;}
  .pf-m5{grid-column:3;grid-row:1;}
  .pf-m6{grid-column:3;grid-row:2;}
  .pf-m7{grid-column:3;grid-row:3;}
  .pf-m4{grid-column:2;grid-row:4;}

  @media(max-width:1100px){
    .pf-map{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:14px!important;}
    .pf-core,.pf-mod{grid-column:auto!important;grid-row:auto!important;}
    .pf-lines,.pf-glow{display:none!important;}
  }
  @media(max-width:960px){
    .pf-core{padding:30px 20px 24px!important;border-radius:20px!important;}
    .pf-core-nm{font-size:28px!important;}
    .pf-core-sb{font-size:11.5px!important;}
    .pf-core-ln{font-size:14.5px!important;line-height:1.85!important;margin-top:16px!important;}
    .pf-chips{gap:7px!important;margin-top:18px!important;}
    .pf-chip{font-size:11.5px!important;padding:7px 12px!important;}
    .pf-core-ft{margin-top:20px!important;padding:13px 14px!important;font-size:12.5px!important;}
    .pf-mod{padding:20px 18px 18px!important;border-radius:16px!important;}
    .pf-ict{width:46px!important;height:46px!important;border-radius:13px!important;margin-bottom:12px!important;}
    .pf-ict svg{width:32px;height:32px;}
    .pf-nm{font-size:17px!important;}
    .pf-en{font-size:10px!important;margin-bottom:11px!important;}
    .pf-bl li{font-size:13px!important;}
  }

  /* ---- NEW B : 02c EFFECT（ライト：3つの成果） ---- */
  .ef-lb{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:17px;line-height:1.5;color:#0A1F19;}
  .ef-sm{margin:4px 0 16px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;
    font-size:15.5px;line-height:1.75;color:#047857;}
  .ef-ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
  .ef-ul li{position:relative;padding-left:26px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;
    font-size:14.5px;line-height:1.8;color:#53605B;}
  .ef-ul li:before{content:"";position:absolute;left:3px;top:.44em;width:11px;height:6px;
    border-left:2px solid #10B981;border-bottom:2px solid #10B981;transform:rotate(-45deg);border-radius:1px;}
  .ef-note{margin:30px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;
    font-size:13px;line-height:1.8;color:#7C9A90;}
  @media(max-width:960px){
    .ef-lb{font-size:16px!important;}
    .ef-sm{font-size:14.5px!important;margin-bottom:12px!important;}
    .ef-ul li{font-size:14px!important;padding-left:23px!important;}
    .ef-note{margin-top:20px!important;font-size:12px!important;}
  }

  /* ---- NEW C : 08b THE SHIFT（ライト：二つの価値） ---- */
  .vl-st{margin:0 auto 54px;max-width:900px;text-align:center;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;
    font-size:clamp(24px,3.4vw,42px);line-height:1.46;letter-spacing:-0.01em;color:#0A1F19;text-wrap:balance;}
  .vl-cols{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);max-width:980px;margin:0 auto;}
  .vl-cols:before{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;
    background:linear-gradient(180deg,rgba(4,120,87,0) 0%,rgba(4,120,87,0.22) 16%,rgba(4,120,87,0.22) 84%,rgba(4,120,87,0) 100%);}
  .vl-h{margin:0 0 20px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:19px;line-height:1.5;color:#047857;}
  .vl-ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
  .vl-it{display:flex;align-items:center;gap:14px;padding:11px 0;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:16px;line-height:1.6;color:#0A1F19;}
  .vl-ic{width:40px;height:40px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,rgba(16,185,129,0.15),rgba(94,234,212,0.06));
    border:1px solid rgba(16,185,129,0.22);box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);}
  .vl-ic svg{display:block;}
  .vl-cl{margin:56px auto 0;max-width:880px;text-align:center;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;
    font-size:clamp(16px,2vw,21px);line-height:1.85;color:#0A1F19;text-wrap:balance;}
  @media(max-width:860px){
    .vl-cols{grid-template-columns:1fr;gap:34px;}
    .vl-cols:before{display:none;}
  }
  @media(max-width:960px){
    .vl-st{margin-bottom:32px!important;}
    .vl-h{font-size:17px!important;margin-bottom:14px!important;}
    .vl-it{font-size:15px!important;gap:12px!important;padding:9px 0!important;}
    .vl-ic{width:36px!important;height:36px!important;border-radius:11px!important;}
    .vl-cl{margin-top:34px!important;line-height:1.8!important;}
  }

  /* ---- カード内インライン NEW ピル ---- */
  .ca-new{display:inline-block;margin-left:9px;vertical-align:2px;border-radius:999px;padding:3px 9px;
    font-family:'Archivo',sans-serif;font-weight:800;font-size:10px;letter-spacing:0.08em;
    background:rgba(94,234,212,0.24);color:#047857;}

  /* =========================================================================
     Commerce AI page : v4 — FOUNDATION / OFFENSE / DEFENSE / DELIVERY
     ========================================================================= */

  /* ---- 02 FOUNDATION : レイヤー図（事業 → 基盤） ---- */
  .fd-stack{position:relative;max-width:1120px;margin:0 auto;}
  .fd-biz{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  .fd-bz{display:flex;align-items:center;justify-content:center;text-align:center;min-height:66px;
    padding:14px 10px;border-radius:16px;background:#fff;border:1px solid rgba(11,20,17,0.09);
    box-shadow:0 16px 38px -30px rgba(8,32,26,0.30);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:14.5px;line-height:1.5;color:#0A1F19;}
  .fd-arrows{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0;}
  .fd-ar{position:relative;display:block;height:26px;}
  .fd-ar:before{content:"";position:absolute;left:50%;top:0;width:2px;height:19px;margin-left:-1px;border-radius:2px;
    background:linear-gradient(180deg,rgba(4,120,87,0.08),rgba(16,185,129,0.80));}
  .fd-ar:after{content:"";position:absolute;left:50%;top:14px;width:9px;height:9px;margin-left:-5px;
    border-right:2px solid #10B981;border-bottom:2px solid #10B981;transform:rotate(45deg);border-radius:1px;}
  .fd-base{position:relative;overflow:hidden;padding:36px 34px 30px;border-radius:26px;
    background:radial-gradient(ellipse 72% 60% at 50% 0%,rgba(16,185,129,0.14),transparent 66%),linear-gradient(150deg,#FFFFFF,#F1FBF6);
    border:1.6px solid rgba(16,185,129,0.30);box-shadow:0 40px 92px -46px rgba(4,120,87,0.42);}
  .fd-base:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,#047857,#10B981,#5EEAD4);}
  .fd-base-nm{text-align:center;font-family:'Archivo',sans-serif;font-weight:900;
    font-size:clamp(30px,4.4vw,44px);line-height:1.06;letter-spacing:-0.035em;
    background:linear-gradient(115deg,#047857,#10B981 54%,#34D399);
    -webkit-background-clip:text;background-clip:text;color:transparent;}
  .fd-base-sb{margin-top:9px;text-align:center;font-family:'Archivo',sans-serif;font-weight:700;
    font-size:11.5px;letter-spacing:0.24em;color:#047857;}
  .fd-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;}
  .fd-tri-i{padding:22px 20px;border-radius:18px;text-align:center;background:#fff;
    border:1px solid rgba(16,185,129,0.22);box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);}
  .fd-tri-t{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:18px;line-height:1.5;color:#047857;}
  .fd-tri-d{margin:7px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;font-size:14px;line-height:1.8;color:#53605B;}
  .fd-core{margin-top:20px;padding:15px 18px;border-radius:14px;text-align:center;
    background:rgba(16,185,129,0.10);border:1px solid rgba(16,185,129,0.24);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:13.5px;line-height:1.8;color:#065F46;}

  /* ---- 04 OFFENSE : シフト表現（説明→感性 / 検索→文脈） ---- */
  /* ---- 基盤図: B2C強調 ---- */
  .fd-bz-on{position:relative;border-color:rgba(16,185,129,0.5)!important;
    box-shadow:0 14px 34px -18px rgba(4,120,87,0.45),0 0 0 1px rgba(16,185,129,0.28) inset!important;}
  .fd-tag{display:block;margin-top:6px;font-family:'Archivo','Zen Kaku Gothic New',sans-serif;font-weight:800;
    font-size:9.5px;letter-spacing:0.14em;color:#047857;}
  .fd-note{margin:24px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:15px;line-height:1.9;color:#53605B;font-weight:500;}
  .fd-note strong{color:#047857;font-weight:900;}

  /* ---- B2C ジャーニー（AI融合） ---- */
  .jn-wrap{margin:0 0 52px;}
  .jn-head{text-align:center;margin-bottom:24px;}
  .jn-lb{font-family:'Archivo',sans-serif;font-size:11px;font-weight:800;letter-spacing:0.24em;color:#047857;margin-bottom:12px;}
  .jn-h{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(20px,2.6vw,30px);line-height:1.5;color:#0A1F19;}
  .jn-rail{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:26px 0 8px;}
  .jn-ribbon{position:absolute;left:0;right:0;top:34%;width:100%;height:120px;z-index:0;pointer-events:none;}
  .jn-st{position:relative;z-index:1;background:rgba(255,255,255,0.92);backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);border:1px solid rgba(11,20,17,0.08);border-radius:16px;
    padding:18px 14px 16px;text-align:center;box-shadow:0 16px 34px -26px rgba(11,20,17,0.35);}
  .jn-no{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.14em;color:#10B981;}
  .jn-nm{margin-top:8px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:17px;color:#0A1F19;}
  .jn-d{margin:5px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:12.5px;line-height:1.7;color:#7C9A90;font-weight:500;}
  .jn-ai{margin-top:12px;padding:7px 8px;border-radius:9px;background:rgba(16,185,129,0.10);
    border:1px solid rgba(16,185,129,0.22);font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:800;font-size:11.5px;line-height:1.5;color:#047857;}
  .jn-cap{margin:22px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:15px;line-height:1.9;color:#53605B;font-weight:500;}
  .jn-cap strong{color:#047857;font-weight:900;}
  .jn-rail>.sx-tr:nth-child(2){--sxd:0ms!important;}
  .jn-rail>.sx-tr:nth-child(3){--sxd:90ms!important;}
  .jn-rail>.sx-tr:nth-child(4){--sxd:180ms!important;}
  .jn-rail>.sx-tr:nth-child(5){--sxd:270ms!important;}
  .jn-rail>.sx-tr:nth-child(6){--sxd:360ms!important;}
  .jn-rail>.sx-tr:nth-child(7){--sxd:450ms!important;}

  .of-shift{max-width:960px;margin:0 auto 46px;display:flex;flex-direction:column;gap:16px;}
  .of-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;
    gap:16px 20px;padding:24px 28px;border-radius:20px;background:#fff;
    border:1px solid rgba(11,20,17,0.09);box-shadow:0 18px 44px -32px rgba(8,32,26,0.28);}
  .of-a,.of-b{display:flex;align-items:center;justify-content:center;min-height:60px;padding:12px 16px;
    border-radius:15px;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:clamp(19px,2.6vw,27px);line-height:1.35;letter-spacing:-0.01em;}
  .of-a{background:rgba(11,20,17,.05);font-weight:800;color:#7C9A90;}
  .of-b{background:linear-gradient(150deg,rgba(94,234,212,0.34),rgba(16,185,129,0.16));
    border:1.4px solid rgba(16,185,129,0.38);font-weight:900;color:#065F46;
    box-shadow:0 18px 40px -30px rgba(4,120,87,0.55);}
  .of-ar{position:relative;display:block;width:clamp(46px,7vw,74px);height:14px;}
  .of-ar:before{content:"";position:absolute;left:0;right:7px;top:6px;height:2.4px;border-radius:2px;
    background:linear-gradient(90deg,rgba(4,120,87,0.16),#10B981);}
  .of-ar:after{content:"";position:absolute;right:1px;top:2px;width:10px;height:10px;
    border-right:2.4px solid #10B981;border-top:2.4px solid #10B981;transform:rotate(45deg);border-radius:1px;}
  .of-cap{grid-column:1/-1;margin:0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:600;font-size:14px;line-height:1.85;color:#53605B;}
  .of-close{margin:38px 0 0;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:600;font-size:14px;line-height:1.8;color:#7C9A90;}

  /* ---- 05 DEFENSE : ヒーロー2枚 + ダーク用カード ---- */
  .df-heroes{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:56px;}
  .df-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;
    padding:34px 32px 30px;border-radius:22px;
    background:linear-gradient(160deg,rgba(94,234,212,0.15),rgba(255,255,255,0.045) 54%,rgba(255,255,255,0.03));
    border:1px solid rgba(94,234,212,0.32);
    box-shadow:0 30px 68px -38px rgba(16,185,129,0.55),inset 0 1px 0 rgba(255,255,255,0.12);
    backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
  .df-hero:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,#10B981,#5EEAD4,#4FD9A8);}
  .df-h-nm{margin:0;font-family:'Archivo',sans-serif;font-weight:900;font-size:27px;line-height:1.2;
    letter-spacing:-0.02em;color:#FFFFFF;}
  .df-h-jp{margin-top:4px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:13px;color:rgba(255,255,255,0.70);}
  .df-h-lb{display:inline-block;margin-top:14px;padding:6px 13px;border-radius:999px;
    background:rgba(94,234,212,0.14);border:1px solid rgba(94,234,212,0.38);
    font-family:'Archivo',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:0.18em;color:#5EEAD4;}
  .df-h-ds{margin:16px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;
    font-size:15px;line-height:1.9;color:rgba(255,255,255,0.74);}
  .df-h-mr{margin-top:16px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:13px;color:#5EEAD4;
    transition:transform .3s;}
  .df-h-mr:hover{transform:translateX(4px);opacity:1;}
  .df-h-mr svg{flex:none;}
  .df-sub{margin:0 0 26px;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:900;font-size:20px;line-height:1.6;color:#FFFFFF;}
  .df-cards{margin-top:52px;}
  #defense .ca-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
  #defense .ca-card.sx-solcard:hover,#defense .ca-card.sx-solcard:focus-visible{
    box-shadow:0 34px 72px -38px rgba(16,185,129,0.52)!important;border-color:rgba(94,234,212,0.45);}
  #defense .ca-tt{color:#FFFFFF;}
  #defense .ca-ds{color:rgba(255,255,255,0.68);}
  #defense .ca-ict{background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.30);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);}
  #defense .ca-ict svg [stroke]{stroke:#5EEAD4;}
  #defense .ca-more{color:#5EEAD4;}
  #defense .ca-more svg [stroke]{stroke:#5EEAD4;}

  /* ---- 06 DELIVERY : 3つの短いカード ---- */
  .dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:52px;}
  .dl-c{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;
    padding:26px 24px;border-radius:20px;background:#fff;border:1px solid rgba(11,20,17,0.09);
    box-shadow:0 18px 44px -30px rgba(8,32,26,0.28);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:17px;line-height:1.7;
    color:#0A1F19;text-wrap:balance;}
  .dl-sub{margin:0 0 30px;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:900;font-size:20px;line-height:1.6;color:#0A1F19;}

  /* ---- v4 : リビール遅延をブロック単位でリセット ---- */
  .fd-biz>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .fd-biz>.sx-rvi:nth-child(2){--sxd:80ms!important;}
  .fd-biz>.sx-rvi:nth-child(3){--sxd:160ms!important;}
  .fd-biz>.sx-rvi:nth-child(4){--sxd:240ms!important;}
  .fd-biz>.sx-rvi:nth-child(5){--sxd:320ms!important;}
  .of-shift>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .of-shift>.sx-rvi:nth-child(2){--sxd:120ms!important;}
  .df-heroes>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .df-heroes>.sx-rvi:nth-child(2){--sxd:120ms!important;}
  .dl-grid>.sx-pr:nth-child(1){--sxd:0ms!important;}
  .dl-grid>.sx-pr:nth-child(2){--sxd:120ms!important;}
  .dl-grid>.sx-pr:nth-child(3){--sxd:240ms!important;}

  /* ================= v4 : <=960px ================= */
  @media(max-width:960px){
    .fd-biz{grid-template-columns:1fr 1fr!important;gap:10px!important;}
    .fd-bz{min-height:54px!important;padding:11px 8px!important;border-radius:13px!important;font-size:13px!important;}
    .fd-arrows{grid-template-columns:1fr!important;margin:12px 0!important;}
    .fd-ar{height:20px!important;}
    .fd-ar:not(:first-child){display:none!important;}
    .fd-ar:before{height:14px!important;}
    .fd-ar:after{top:9px!important;}
    .fd-base{padding:24px 18px 22px!important;border-radius:20px!important;}
    .fd-base-sb{font-size:10px!important;letter-spacing:0.2em!important;margin-top:7px!important;}
    .fd-tri{grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important;}
    .fd-tri-i{padding:16px 16px!important;border-radius:14px!important;}
    .fd-tri-t{font-size:16.5px!important;}
    .fd-tri-d{font-size:13.5px!important;}
    .fd-core{margin-top:16px!important;padding:13px 14px!important;font-size:12.5px!important;}
    .jn-rail{grid-template-columns:1fr 1fr!important;gap:9px!important;padding:14px 0 4px!important;}
    .jn-ribbon{display:none!important;}
    .jn-st{padding:14px 12px 13px!important;border-radius:14px!important;}
    .jn-nm{font-size:15.5px!important;}
    .jn-d{font-size:12px!important;}
    .jn-ai{font-size:11px!important;padding:6px 7px!important;margin-top:10px!important;}
    .jn-h{font-size:19px!important;}
    .jn-cap,.fd-note{font-size:14px!important;line-height:1.85!important;}
    .jn-wrap{margin-bottom:34px!important;}
    .of-shift{margin-bottom:30px!important;gap:12px!important;}
    .of-row{grid-template-columns:1fr!important;gap:10px!important;padding:18px 18px!important;border-radius:16px!important;justify-items:stretch!important;}
    .of-a,.of-b{min-height:52px!important;font-size:20px!important;border-radius:13px!important;}
    .of-ar{width:14px!important;height:clamp(26px,5vw,34px)!important;margin:0 auto!important;}
    .of-ar:before{left:6px!important;right:auto!important;top:0!important;bottom:7px!important;width:2.4px!important;height:auto!important;
      background:linear-gradient(180deg,rgba(4,120,87,0.16),#10B981)!important;}
    .of-ar:after{right:auto!important;left:2px!important;top:auto!important;bottom:1px!important;
      border-right:2.4px solid #10B981!important;border-top:none!important;border-bottom:2.4px solid #10B981!important;}
    .of-cap{font-size:13.5px!important;line-height:1.8!important;text-align:left!important;}
    .of-close{margin-top:26px!important;font-size:13px!important;}
    .df-heroes{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:34px!important;}
    .df-hero{padding:24px 20px 22px!important;border-radius:17px!important;}
    .df-h-nm{font-size:22px!important;}
    .df-h-jp{font-size:12px!important;}
    .df-h-lb{margin-top:12px!important;font-size:9.5px!important;letter-spacing:0.14em!important;padding:5px 11px!important;}
    .df-h-ds{margin-top:13px!important;font-size:14.5px!important;line-height:1.85!important;}
    .df-sub{margin-bottom:18px!important;font-size:17px!important;}
    .df-cards{margin-top:34px!important;}
    .dl-grid{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:32px!important;}
    .dl-c{min-height:0!important;padding:20px 18px!important;border-radius:16px!important;font-size:16px!important;}
    .dl-sub{margin-bottom:20px!important;font-size:17px!important;}
  }
  @media(max-width:560px){
    .of-a,.of-b{font-size:18.5px!important;}
    .df-h-nm{font-size:20px!important;}
  }

  /* ---- カードグリッドのリビール遅延はグリッド単位でリセット（ページ全体で積み上がらないように） ---- */
  .sol-grid>.sx-solcard:nth-child(1),.at-grid>.sx-solcard:nth-child(1){--sxd:0ms!important;}
  .sol-grid>.sx-solcard:nth-child(2),.at-grid>.sx-solcard:nth-child(2){--sxd:110ms!important;}
  .sol-grid>.sx-solcard:nth-child(3),.at-grid>.sx-solcard:nth-child(3){--sxd:220ms!important;}
  .sol-grid>.sx-solcard:nth-child(4),.at-grid>.sx-solcard:nth-child(4){--sxd:330ms!important;}
  .sol-grid>.sx-solcard:nth-child(5),.at-grid>.sx-solcard:nth-child(5){--sxd:440ms!important;}
  .sol-grid>.sx-solcard:nth-child(6),.at-grid>.sx-solcard:nth-child(6){--sxd:550ms!important;}
  .sol-grid>.sx-solcard:nth-child(7),.at-grid>.sx-solcard:nth-child(7){--sxd:660ms!important;}
  .sol-grid>.sx-solcard:nth-child(8),.at-grid>.sx-solcard:nth-child(8){--sxd:770ms!important;}
  .sol-grid>.sx-solcard:nth-child(9),.at-grid>.sx-solcard:nth-child(9){--sxd:880ms!important;}
  /* =========================================================================
     v15 : B のコンテンツ構造を A のデザインシステムで組む追加レイヤー
     ========================================================================= */
  html{scroll-behavior:smooth;}

  /* ---- グリッド枠（.sol-grid の列数バリエーション） ---- */
  .ca-g4.sol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .ca-g2.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}

  /* ---- 画像フレーム（カード処理） ---- */
  .ca-fig{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(11,20,17,0.08);
    background:#fff;box-shadow:0 26px 62px -36px rgba(8,32,26,0.32);}
  .ca-fig>img{display:block;width:100%;height:auto;object-fit:contain;border-radius:inherit;}
  .ca-art{aspect-ratio:16/9;}
  .ca-art>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .ca-art[data-ratio="16/9.6"]{aspect-ratio:16/9.6;}
  .ca-art[data-ratio="16/10.9"]{aspect-ratio:16/10.9;}
  .ca-fig-d{border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);
    box-shadow:0 34px 76px -40px rgba(0,0,0,0.62),inset 0 1px 0 rgba(255,255,255,0.08);}
  .ca-feat{max-width:1040px;margin:0 auto 52px;}

  /* ---- 見出し＋メッセージの2カラム ---- */
  .ca-intro{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(28px,4vw,56px);
    align-items:start;margin-bottom:52px;}
  .ca-intro .ca-head{margin-bottom:0;}
  .ca-msg{padding:30px 32px;border-radius:22px;
    background:linear-gradient(150deg,rgba(16,185,129,0.11),rgba(94,234,212,0.05));
    border:1.4px solid rgba(16,185,129,0.24);box-shadow:0 32px 74px -46px rgba(4,120,87,0.42);
    font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;line-height:1.95;color:#53605B;font-weight:500;}
  .ca-msg strong{display:block;margin-bottom:10px;font-weight:900;font-size:18px;line-height:1.6;color:#047857;}

  /* ---- 画像カード＋コピーの2カラム ---- */
  .ca-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:52px;}
  .ca-pan{padding:22px 22px 26px;}
  .ca-pan .ca-fig{margin-bottom:20px;}
  .ca-pan-b{display:block;}

  /* ---- ジャーニー（5ステップ） ---- */
  .jn-rail5{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:6px 0 0;}
  .jn-rail5>.sx-tr:nth-child(1){--sxd:0ms!important;}
  .jn-rail5>.sx-tr:nth-child(2){--sxd:90ms!important;}
  .jn-rail5>.sx-tr:nth-child(3){--sxd:180ms!important;}
  .jn-rail5>.sx-tr:nth-child(4){--sxd:270ms!important;}
  .jn-rail5>.sx-tr:nth-child(5){--sxd:360ms!important;}

  /* ---- 開発セクション：2カラム＋プロセスリスト ---- */
  .dv-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,4.6vw,64px);align-items:center;}
  .dv-grid .ca-head{margin-bottom:0;}
  .pl-list{display:flex;flex-direction:column;gap:12px;margin-top:32px;}
  .pl-it{display:flex;align-items:flex-start;gap:16px;padding:16px 18px;border-radius:16px;background:#fff;
    border:1px solid rgba(11,20,17,0.09);box-shadow:0 18px 44px -32px rgba(8,32,26,0.30);}
  .pl-no{flex:none;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-family:'Archivo',sans-serif;font-weight:800;font-size:14px;color:#047857;
    background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.22);}
  .pl-tt{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:16.5px;line-height:1.55;color:#0A1F19;}
  .pl-ds{display:block;margin-top:3px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;
    font-size:14px;line-height:1.85;color:#53605B;}
  .pl-list>.sx-tr:nth-child(1){--sxd:0ms!important;}
  .pl-list>.sx-tr:nth-child(2){--sxd:90ms!important;}
  .pl-list>.sx-tr:nth-child(3){--sxd:180ms!important;}
  .pl-list>.sx-tr:nth-child(4){--sxd:270ms!important;}
  .pl-list>.sx-tr:nth-child(5){--sxd:360ms!important;}

  /* ---- 強み：数値ラベル ---- */
  .wy-no{margin-bottom:14px;font-family:'Archivo',sans-serif;font-weight:900;font-size:32px;line-height:1.1;
    letter-spacing:-0.03em;background:linear-gradient(120deg,#5EEAD4,#A7E8CE 46%,#4FD9A8);
    -webkit-background-clip:text;background-clip:text;color:transparent;}

  /* ---- 強み：セキュリティブロック（ダーク） ---- */
  .sb-wrap{margin-top:34px;padding:38px 40px;border-radius:22px;background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.14);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);}
  .sb-h{margin:0 0 18px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;
    font-size:26px;line-height:1.5;color:#FFFFFF;}
  .sb-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .sb-it{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;
    background:rgba(255,255,255,0.04);border:1px solid rgba(94,234,212,0.20);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;font-size:14.5px;line-height:1.8;color:rgba(255,255,255,0.80);}
  .sb-it b{flex:none;font-size:15px;color:#5EEAD4;}
  .sb-list>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .sb-list>.sx-rvi:nth-child(2){--sxd:80ms!important;}
  .sb-list>.sx-rvi:nth-child(3){--sxd:160ms!important;}
  .sb-list>.sx-rvi:nth-child(4){--sxd:240ms!important;}
  .sb-list>.sx-rvi:nth-child(5){--sxd:320ms!important;}

  /* ---- ダークセクション内のカード / 画像 ---- */
  #operations .ca-card,#why .ca-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
  #operations .ca-card.sx-solcard:hover,#operations .ca-card.sx-solcard:focus-visible,
  #why .ca-card.sx-solcard:hover,#why .ca-card.sx-solcard:focus-visible{
    box-shadow:0 34px 72px -38px rgba(16,185,129,0.52)!important;border-color:rgba(94,234,212,0.45);}
  #operations .ca-tt,#why .ca-tt{color:#FFFFFF;}
  #operations .ca-ds,#why .ca-ds{color:rgba(255,255,255,0.68);}
  #operations .at-lb,#why .at-lb{color:#5EEAD4;}
  #operations .ca-fig,#why .ca-fig{border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);
    box-shadow:0 34px 76px -40px rgba(0,0,0,0.62),inset 0 1px 0 rgba(255,255,255,0.08);}

  /* ---- ダークセクションのアイコンタイル ---- */
  #operations .ca-ict,#why .ca-ict{background:rgba(94,234,212,0.12);border:1px solid rgba(94,234,212,0.30);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);}
  #operations .ca-ict svg [stroke],#why .ca-ict svg [stroke]{stroke:#5EEAD4;}
  #operations .pf-bl li,#why .pf-bl li{font-size:14px;}

  /* ---- HERO : メインビジュアル / 3つの価値チップ ---- */
  .hb-fig{margin:0 0 46px;}
  .hb-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
  .hb-pts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;max-width:860px;}
  .hb-pt{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:16px;
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
  .hb-pt strong{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:15px;line-height:1.5;color:#FFFFFF;}
  .hb-pt span{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,0.62);}

  /* ---- 見出し要素のマージン整合 ---- */
  .jn-rail5 .jn-nm{margin:8px 0 0;}
  .ca-card>.ef-lb{margin:0 0 12px;}

  /* ---- 2カラム分割のリビール遅延 ---- */
  .ca-split>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .ca-split>.sx-rvi:nth-child(2){--sxd:120ms!important;}
  .fq-list>.sx-rvi:nth-child(1){--sxd:0ms!important;}
  .fq-list>.sx-rvi:nth-child(2){--sxd:90ms!important;}
  .fq-list>.sx-rvi:nth-child(3){--sxd:180ms!important;}
  .fq-list>.sx-rvi:nth-child(4){--sxd:270ms!important;}
  .st-list>.sx-tr:nth-child(1){--sxd:0ms!important;}
  .st-list>.sx-tr:nth-child(2){--sxd:90ms!important;}
  .st-list>.sx-tr:nth-child(3){--sxd:180ms!important;}
  .st-list>.sx-tr:nth-child(4){--sxd:270ms!important;}
  .st-list>.sx-tr:nth-child(5){--sxd:360ms!important;}

  /* ================= v15 : <=960px ================= */
  @media(max-width:960px){
    .ca-g4.sol-grid,.ca-g2.sol-grid{grid-template-columns:1fr!important;gap:14px!important;}
    .ca-intro{grid-template-columns:1fr!important;gap:20px!important;margin-bottom:30px!important;}
    .ca-msg{padding:20px 18px!important;border-radius:16px!important;font-size:14.5px!important;line-height:1.85!important;}
    .ca-msg strong{font-size:16.5px!important;}
    .ca-fig{border-radius:16px!important;}
    .ca-feat{margin-bottom:28px!important;}
    .ca-split{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:30px!important;}
    .ca-pan{padding:16px 16px 20px!important;}
    .ca-pan .ca-fig{margin-bottom:14px!important;}
    .jn-rail5{grid-template-columns:1fr 1fr!important;gap:9px!important;}
    .dv-grid{grid-template-columns:1fr!important;gap:26px!important;}
    .pl-list{margin-top:22px!important;gap:10px!important;}
    .pl-it{padding:13px 14px!important;gap:12px!important;border-radius:14px!important;}
    .pl-no{width:32px!important;height:32px!important;border-radius:10px!important;font-size:12.5px!important;}
    .pl-tt{font-size:15.5px!important;}
    .pl-ds{font-size:13.5px!important;line-height:1.8!important;}
    .wy-no{font-size:26px!important;margin-bottom:11px!important;}
    .sb-wrap{margin-top:24px!important;padding:22px 18px!important;border-radius:16px!important;}
    .sb-h{font-size:19px!important;margin-bottom:14px!important;}
    .sb-list{grid-template-columns:1fr!important;gap:9px!important;}
    .sb-it{padding:12px 13px!important;font-size:13.5px!important;line-height:1.75!important;gap:10px!important;}
    .hb-fig{margin-bottom:28px!important;}
    .hb-btns{gap:10px!important;margin-top:26px!important;}
    .hb-btns .sx-btn{width:100%!important;justify-content:center!important;box-sizing:border-box;}
    .hb-pts{grid-template-columns:1fr!important;gap:9px!important;margin-top:24px!important;}
    .hb-pt{padding:13px 15px!important;border-radius:13px!important;}
    .hb-pt strong{font-size:14.5px!important;}
    .hb-pt span{font-size:12px!important;}
    .jn-st{padding:14px 12px 13px!important;}
  }
  @media(max-width:560px){
    .jn-rail5{grid-template-columns:1fr!important;}
    .sb-h{font-size:17.5px!important;}
  }

  /* =========================================================================
     COMMERCE AI（#lead）: 左にコピー／右に3つの価値を縦配置
     ========================================================================= */
  .hb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:center;}
  .hb-hero .hb-copy{max-width:900px;}
  @media(min-width:1000px){
    .hb-grid{grid-template-columns:minmax(0,1fr) minmax(300px,372px);gap:56px;}
    .hb-hero .hb-pts{display:flex;flex-direction:column;gap:14px;max-width:none;margin-top:0;}
    .hb-hero .hb-pt{padding:18px 20px;}
    .hb-hero .hb-pt strong{font-size:16px;}
  }
  @media(max-width:999px){
    .hb-hero .hb-pts{margin-top:6px;}
  }

  /* =========================================================================
     ECOSYSTEM セクション（ページ最上部・明色）
     ========================================================================= */
  .eco2-sec{--rvw:clamp(380px,66vw,1200px);position:relative;overflow:hidden;
    background:linear-gradient(180deg,#FFFFFF 0%,#F6FDFA 44%,#E8F7F0 100%);}
  /* 画面右端に縦に通すビジュアル */
  .eco2-rv{position:absolute;z-index:1;top:0;right:0;bottom:0;width:var(--rvw);overflow:hidden;pointer-events:none;
    opacity:.46;
    -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.14) 20%,rgba(0,0,0,0.46) 40%,rgba(0,0,0,0.74) 60%,rgba(0,0,0,0.93) 80%,#000 94%);
    mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.14) 20%,rgba(0,0,0,0.46) 40%,rgba(0,0,0,0.74) 60%,rgba(0,0,0,0.93) 80%,#000 94%);}
  .eco2-rv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block;}
  .eco2-rv:after{content:'';position:absolute;inset:0;
    background:
      radial-gradient(ellipse 92% 52% at 72% 26%,rgba(16,185,129,0.18),transparent 72%),
      linear-gradient(180deg,rgba(3,21,15,0.16) 0%,rgba(3,21,15,0.02) 30%,rgba(242,250,246,0.50) 80%,#F2FAF6 100%);}
  .eco2-aur{position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(ellipse 56% 46% at 13% 2%,rgba(16,185,129,0.26),transparent 66%),
      radial-gradient(ellipse 48% 42% at 91% 16%,rgba(94,234,212,0.26),transparent 68%),
      radial-gradient(ellipse 64% 40% at 50% 104%,rgba(16,185,129,0.20),transparent 72%);}
  .eco2-wrap{position:relative;z-index:3;max-width:1280px;width:100%;margin:0 auto;padding:60px 40px 80px;}
  /* PC：右のビジュアル分だけ全体を左へ寄せる */
  @media(min-width:1100px){
    /* タイトル左 ／ リード2行はその右隣 */
    .eco2-sec .eco2-hd{max-width:none;margin:0 0 40px;text-align:left;
      display:grid;grid-template-columns:minmax(0,auto) minmax(340px,1fr);
      align-items:start;gap:9px 52px;}
    .eco2-sec .eco2-h{grid-column:1;grid-row:1 / span 2;align-self:center;margin:0;white-space:nowrap;}
    .eco2-sec .eco2-s1{grid-column:2;grid-row:1;margin:0;}
    .eco2-sec .eco2-s2{grid-column:2;grid-row:2;margin:0;}
  }
  @media(max-width:1099px){
    .eco2-rv{display:none;}
  }

  /* ---- 初期描画の順序：タイトル（1文字送り）→ サブタイトル → 図 ----
     .eco2-seq が付いている間（ロード後 4.2 秒）だけ遅延を効かせる。
     スクロールで初めて画面に入る要素は遅延なしで即表示。 */
  .eco2-seq .eco2-s1{--sxd:1.15s;}
  .eco2-seq .eco2-s2{--sxd:1.35s;}
  .eco2-seq .eco2-ring{animation:ecofade 1.2s cubic-bezier(.22,1,.3,1) 1.7s both;}
  .eco2-seq .eco2-cin{--sxd:1.75s;}
  /* ラベルは .eco2-cin の兄弟なので --sxd を継承しない。個別に指定する */
  .eco2-seq .eco2-ail{--sxd:1.9s;}
  .eco2-seq .eco2-col--l .eco2-cw:nth-child(1){--sxd:1.95s;}
  .eco2-seq .eco2-col--r .eco2-cw:nth-child(1){--sxd:2.05s;}
  .eco2-seq .eco2-col--l .eco2-cw:nth-child(2){--sxd:2.15s;}
  .eco2-seq .eco2-col--r .eco2-cw:nth-child(2){--sxd:2.25s;}
  .eco2-seq .eco2-col--l .eco2-cw:nth-child(3){--sxd:2.35s;}
  .eco2-seq .eco2-col--r .eco2-cw:nth-child(3){--sxd:2.45s;}
  .eco2-seq .eco2-lgd{--sxd:2.6s;}
  .eco2-seq .eco2-pn{--sxd:2.75s;}
  .eco2-seq .eco2-stm{--sxd:2.85s;}

  /* アイコンバッジ／AIレイヤーのラベル：時間ではなくカード・コアの表示状態に連動 */
  .eco2-sec .eco2-ic{opacity:0;transform:translateY(-50%) scale(.5);
    transition:opacity .55s ease var(--sxd,0s),
      transform .72s cubic-bezier(.16,.84,.44,1) var(--sxd,0s);}
  .eco2-sec .eco2-c.on ~ .eco2-ic{opacity:1;transform:translateY(-50%) scale(1);}
  .eco2-sec .eco2-cw:hover .eco2-c.on ~ .eco2-ic{transform:translateY(-50%) scale(1.08);}
  .eco2-sec .eco2-ail{opacity:0;transition:opacity .8s ease var(--sxd,0s);}
  .eco2-sec .eco2-cin.on ~ .eco2-ail{opacity:1;}
  @keyframes ecofade{from{opacity:0;}to{opacity:1;}}
  @media (prefers-reduced-motion: reduce){
    .eco2-sec .eco2-ring{animation:none!important;}
    .eco2-sec [class*="eco2-"]{--sxd:0s!important;}
    .eco2-sec .eco2-ic{opacity:1!important;transform:translateY(-50%)!important;transition:none!important;}
    .eco2-sec .eco2-ail{opacity:1!important;transition:none!important;}
  }
  .eco2-sec .eco2{margin-top:0;}
  .eco2-sec .eco2-hd{margin-bottom:38px;}
  .eco2-sec .eco2-h{margin-top:0;}
  /* 「Commerce AI」だけ大きく・グリーン（1文字ずつの色は initHero が付与） */
  .eco2-hc{display:inline-block;font-size:1.2em;font-weight:800;letter-spacing:-.035em;
    color:#0EA371;vertical-align:baseline;}
  @media(max-width:960px){
    .eco2-wrap{padding:38px 20px 56px;}
    .eco2-sec .eco2-hd{margin-bottom:26px;}
  }

  /* =========================================================================
     ECOSYSTEM MAP v2 (#overview) : マルチカラー × 写真 × canvas
     ========================================================================= */
  .eco2{position:relative;left:50%;transform:translateX(-50%);
    width:min(1560px,calc(100vw - 48px));margin:54px 0 0;}
  .eco2-hd{max-width:1000px;margin:0 auto 34px;text-align:center;}
  .eco2-h{font-family:'Archivo',system-ui,sans-serif;font-size:clamp(30px,4.2vw,52px);font-weight:800;
    letter-spacing:-0.022em;line-height:1.1;color:#0B3B2C;margin:8px 0 14px;}
  .eco2-s1{font-size:clamp(14.5px,1.6vw,19px);font-weight:800;color:#134E3A;letter-spacing:.01em;margin:0 0 9px;}
  .eco2-s2{font-size:clamp(14px,1.5vw,18px);font-weight:800;color:#0B3B2C;letter-spacing:.01em;margin:0;line-height:1.6;}
  .eco2-s2 .k1{color:#7C3AED;} .eco2-s2 .k2{color:#2563EB;} .eco2-s2 .k3{color:#0D9488;} .eco2-s2 .k4{color:#EA580C;}
  .eco2-s2 .kp{background:linear-gradient(100deg,#EC4899,#F97316);-webkit-background-clip:text;background-clip:text;color:transparent;}

  .eco2-map{position:relative;display:grid;grid-template-columns:1fr minmax(320px,400px) 1fr;gap:clamp(52px,7vw,104px);align-items:stretch;}
  .eco2-col{display:grid;grid-template-rows:auto auto auto;align-content:space-between;gap:18px;}
  .eco2-cw{position:relative;height:100%;z-index:3;overflow:visible;}

  .eco2-c{position:relative;height:100%;min-height:174px;display:grid;grid-template-columns:136px 1fr;overflow:hidden;
    border-radius:20px;border:1px solid var(--cb);
    background:linear-gradient(118deg,var(--tint) 0%,rgba(255,255,255,0.97) 58%);
    box-shadow:0 12px 32px -20px rgba(6,52,38,0.40);
    transition:transform .5s cubic-bezier(.16,.84,.44,1),box-shadow .5s ease,border-color .5s ease;}
  .eco2-cw:hover .eco2-c{transform:translateY(-4px);border-color:var(--c);box-shadow:0 24px 48px -24px var(--cs);}
  .eco2-ph{position:relative;margin:0;overflow:hidden;background:var(--tint);}
  .eco2-ph img{width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1.2s cubic-bezier(.16,.84,.44,1);}
  .eco2-cw:hover .eco2-ph img{transform:scale(1.07);}
  .eco2-ph:after{content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,var(--cs) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0.34) 72%,rgba(255,255,255,0.94) 100%);}
  .eco2-bd{padding:17px 20px 16px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;}
  .eco2-av{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;margin:0 0 7px;
    padding:4px 11px 4px 8px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.01em;
    color:#FFFFFF;background:linear-gradient(120deg,var(--c),var(--c2));
    box-shadow:0 8px 16px -10px var(--cs);}
  .eco2-av svg{width:13px;height:13px;flex:0 0 auto;}
  .eco2-col--r .eco2-av{align-self:flex-end;}
  .eco2-nm{margin:0;font-size:clamp(18px,1.7vw,22px);font-weight:800;letter-spacing:-.01em;color:var(--c);line-height:1.25;}
  /* （ビジュモ）（メグリ）（ゼクスタント）などの読みは小さく */
  .eco2-rb{display:inline-block;font-size:.68em;font-weight:800;letter-spacing:0;
    vertical-align:.06em;opacity:.88;}
  .eco2-en{display:block;margin-top:3px;font-family:'Archivo',system-ui,sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.06em;color:var(--ct);opacity:.86;}
  .eco2-ds{margin:9px 0 0;font-size:13px;line-height:1.78;color:#33534A;font-weight:500;}
  .eco2-tg{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0;padding:0;list-style:none;}
  /* 3つを必ず横1行に収める（Commerce OS） */
  .eco2-tg1{flex-wrap:nowrap;gap:5px;}
  .eco2-tg1 li{font-size:10.5px;padding:3px 7px;}
  @media(max-width:1180px){ .eco2-tg1{flex-wrap:wrap;} }
  .eco2-tg li{font-size:11.5px;font-weight:800;letter-spacing:.01em;color:var(--ct);
    background:var(--tint);border:1px solid var(--cb);border-radius:999px;padding:4px 10px;white-space:nowrap;}

  .eco2-ic{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;
    display:grid;place-items:center;color:#FFFFFF;z-index:5;
    background:linear-gradient(135deg,var(--c),var(--c2));
    box-shadow:0 12px 26px -10px var(--cs),0 0 0 6px rgba(255,255,255,0.92);
    transition:transform .5s cubic-bezier(.16,.84,.44,1);}
  .eco2-ic svg{width:28px;height:28px;display:block;}
  .eco2-col--l .eco2-ic{right:-26px;}
  .eco2-col--r .eco2-ic{left:-26px;}
  .eco2-cw:hover .eco2-ic{transform:translateY(-50%) scale(1.08);}
  .eco2-col--r .eco2-c{grid-template-columns:1fr 136px;}
  .eco2-col--r .eco2-ph{grid-column:2;grid-row:1;}
  .eco2-col--r .eco2-bd{grid-column:1;grid-row:1;}
  .eco2-col--r .eco2-ph:after{
    background:linear-gradient(270deg,var(--cs) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0.34) 72%,rgba(255,255,255,0.94) 100%);}
  .eco2-col--r .eco2-c{background:linear-gradient(242deg,var(--tint) 0%,rgba(255,255,255,0.985) 58%);
    box-shadow:0 14px 36px -20px rgba(6,52,38,0.46);}
  .eco2-col--r .eco2-bd{text-align:right;}
  .eco2-col--r .eco2-tg{justify-content:flex-end;}

  /* ---- core ---- */
  .eco2-core{position:relative;z-index:1;display:grid;place-items:center;min-height:540px;}
  /* AIレイヤーのラベル：リング上端にぴったり乗せる（半径はJSから --ecor） */
  .eco2-ail{position:absolute;z-index:4;top:calc(50% - var(--ecor,196px));left:50%;
    transform:translate(-50%,-50%);margin:0;display:flex;flex-direction:column;align-items:center;
    padding:7px 15px 8px;border-radius:12px;background:#FFFFFF;
    border:1px solid rgba(16,185,129,0.34);box-shadow:0 8px 22px -14px rgba(6,52,38,0.5);
    font-family:'Archivo',system-ui,sans-serif;font-size:12px;font-weight:800;
    letter-spacing:.10em;color:#047857;line-height:1;white-space:nowrap;}
  .eco2-ail span{margin-top:4px;font-family:'Zen Kaku Gothic New',system-ui,sans-serif;
    font-size:9.5px;font-weight:700;letter-spacing:.16em;color:#6B9686;}
  .eco2-ring{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none;}
  .eco2-cin{position:relative;z-index:3;width:100%;max-width:330px;text-align:center;padding:8px;}
  .eco2-lg{line-height:1;}
  .eco2-lg img{display:block;margin:0 auto;width:clamp(118px,13vw,156px);height:auto;}
  .eco2-ct{font-size:clamp(17px,1.7vw,21px);font-weight:800;color:#0B3B2C;line-height:1.6;margin:10px 0 0;letter-spacing:-.005em;}
  .eco2-hl{background:linear-gradient(100deg,#0EA371,#12B98A);-webkit-background-clip:text;background-clip:text;color:transparent;}
  /* 内側＝自社データ資産のコア（AIリングの内側） */
  .eco2-dc{margin-top:16px;padding:12px 12px 0;border-radius:14px;
    background:rgba(255,255,255,0.96);border:1px solid rgba(11,59,44,0.10);
    box-shadow:0 10px 26px -20px rgba(6,52,38,0.45);}
  .eco2-dl{margin:0 0 9px;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#6B9686;}
  .eco2-df{margin:11px -12px 0;padding:9px 12px 10px;font-size:11.5px;font-weight:800;color:#0B3B2C;
    letter-spacing:.01em;border-top:1px solid rgba(11,59,44,0.08);}
  .eco2-as{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;}
  .eco2-as li{font-size:10.5px;font-weight:700;color:#3C6A5B;line-height:1.4;letter-spacing:.01em;}
  .eco2-as li+li{border-left:1px solid rgba(11,59,44,0.08);}
  .eco2-as .eco2-ai{display:block;margin:0 auto 6px;width:20px;height:20px;color:#0EA371;opacity:.85;}
  .eco2-nt{margin:13px 0 0;font-size:11.2px;line-height:1.7;color:#7C9E92;font-weight:600;letter-spacing:.01em;}

  /* ---- legend : 実行 / 学習 ---- */
  .eco2-lgd{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px;margin:24px 0 0;padding:0;list-style:none;}
  .eco2-lgd li{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:#3C6A5B;letter-spacing:.01em;}
  .eco2-lgd i{position:relative;width:30px;height:2px;border-radius:2px;flex:0 0 auto;}
  .eco2-lgd i:after{content:'';position:absolute;top:-3px;width:0;height:0;border-style:solid;}
  .eco2-lg1 i{background:linear-gradient(90deg,#7C3AED,#2563EB 50%,#EA580C);}
  .eco2-lg1 i:after{right:-1px;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #EA580C;}
  .eco2-lg2 i{background:#0D9488;}
  .eco2-lg2 i:after{left:-1px;border-width:4px 6px 4px 0;border-color:transparent #0D9488 transparent transparent;}

  /* ---- footer band ---- */
  .eco2-ft{margin-top:34px;display:grid;grid-template-columns:1fr minmax(340px,620px) 1fr;gap:22px;align-items:center;}
  .eco2-pn{position:relative;display:grid;grid-template-columns:1fr 128px;overflow:hidden;border-radius:18px;
    border:1px solid var(--cb);background:linear-gradient(118deg,var(--tint),rgba(255,255,255,0.97) 62%);
    min-height:132px;}
  .eco2-pb{padding:15px 16px 15px 18px;display:flex;flex-direction:column;justify-content:center;}
  .eco2-pt{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;color:var(--c);margin:0 0 7px;}
  .eco2-pt svg{width:22px;height:22px;flex:0 0 auto;}
  .eco2-pn ul{margin:0;padding:0;list-style:none;}
  .eco2-pn li{font-size:12px;line-height:1.7;color:#33534A;font-weight:500;padding-left:12px;position:relative;}
  .eco2-pn li:before{content:'';position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--c);opacity:.7;}
  .eco2-pp{position:relative;margin:0;overflow:hidden;}
  .eco2-pp img{width:100%;height:100%;object-fit:cover;display:block;}
  .eco2-pp:after{content:'';position:absolute;inset:0;
    background:linear-gradient(270deg,rgba(255,255,255,0) 30%,rgba(255,255,255,0.92) 100%);}
  .eco2-stm{text-align:center;margin:0;font-size:clamp(18px,1.95vw,27px);font-weight:800;line-height:1.6;text-wrap:balance;
    letter-spacing:-.01em;color:#0B3B2C;}
  .eco2-stm .kp{background:linear-gradient(100deg,#EC4899,#F97316);-webkit-background-clip:text;background-clip:text;color:transparent;}

  @media(max-width:1180px){
    .eco2-map{grid-template-columns:1fr;gap:22px;}
    .eco2-col{align-content:start;}
    .eco2-core{min-height:440px;order:-1;}
    .eco2-ic{display:none;}
    .eco2-ft{grid-template-columns:1fr;gap:16px;}
    .eco2-stm{order:-1;}
  }
  @media(max-width:760px){
    .eco2{margin-top:38px;width:min(1400px,calc(100vw - 40px));}
    .eco2-c,.eco2-col--r .eco2-c{grid-template-columns:104px 1fr;}
    .eco2-col--r .eco2-ph{grid-column:1;}
    .eco2-col--r .eco2-bd{grid-column:2;text-align:left;}
    .eco2-col--r .eco2-av{align-self:flex-start;}
    .eco2-col--r .eco2-tg{justify-content:flex-start;}
    .eco2-col--r .eco2-ph:after{background:linear-gradient(90deg,var(--cs) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0.94) 100%);}
    .eco2-col--r .eco2-c{background:linear-gradient(118deg,var(--tint) 0%,rgba(255,255,255,0.97) 58%);}
    .eco2-bd{padding:13px 14px;}
    .eco2-ds{font-size:12.4px;}
    .eco2-tg li{font-size:10.8px;padding:3px 8px;}
    .eco2-core{min-height:400px;}
    .eco2-ail{padding:6px 12px 7px;font-size:11px;}
    .eco2-ct{font-size:16.5px;}
    .eco2-av{font-size:10.8px;padding:3px 9px 3px 7px;}
    .eco2-lgd{gap:10px 18px;margin-top:18px;}
    .eco2-lgd li{font-size:11.5px;}
    .eco2-pn{grid-template-columns:1fr 100px;}
  }
  @media (prefers-reduced-motion: reduce){
    .eco2-c,.eco2-ph img,.eco2-ic{transition:none!important;}
  }

  /* ========== ゼクスタント対話分析 図版（canvas × HTML UI ハイブリッド / ダークグリーン） ========== */
  .opxw{max-width:1320px;margin:0 auto 52px;}
  .opx{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;border-radius:20px;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:linear-gradient(165deg,#04231A 0%,#03150F 58%,#052B20 100%);
    border:1px solid rgba(94,234,212,.16);
    box-shadow:0 22px 60px rgba(0,20,14,.45);
    --op1:#2563EB;--op1b:#60A5FA;--op2:#7C3AED;--op2b:#A78BFA;
    --op3:#0D9488;--op3b:#5EEAD4;--op4:#EA580C;--op4b:#FDBA74;
    --opink:#0B1626;--opsub:#46587C;--opline:rgba(20,45,90,.14);}
  .opx *{box-sizing:border-box;}
  .opx__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .opx__stage>*{position:absolute;}
  .opx__bg,.opx__fx{left:0;top:0;width:1536px;height:864px;pointer-events:none;}
  .opx__bg{z-index:1;} .opx__fx{z-index:8;}

  /* ---- 見出し ---- */
  .opx__ttl{left:0;top:26px;width:1536px;margin:0;z-index:4;text-align:center;white-space:nowrap;
    font-weight:900;font-size:61px;line-height:80px;letter-spacing:-.022em;color:#F2FBF7;
    text-shadow:0 3px 20px rgba(0,25,18,.55);}
  .opx__ttl .g{background:linear-gradient(96deg,#7CF2D6 0%,#34D399 46%,#0EA97C 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;}
  .opx__sub{left:96px;top:126px;width:1344px;height:52px;z-index:4;display:flex;align-items:center;
    justify-content:center;white-space:nowrap;
    background:linear-gradient(96deg,#0C3A2C 0%,#0A4C39 44%,#063326 100%);
    border:1px solid rgba(94,234,212,.30);
    clip-path:polygon(22px 0,100% 0,calc(100% - 22px) 100%,0 100%);
    box-shadow:0 8px 24px rgba(0,25,18,.42);}
  .opx__sub p{margin:0;font-weight:900;font-size:30px;line-height:40px;letter-spacing:-.018em;color:#EAFBF4;}
  .opx__sub .y{color:#FFD24A;text-shadow:0 0 16px rgba(255,196,60,.35);}

  /* ---- ステップ見出しカード ---- */
  .opx__hd{z-index:3;top:196px;width:342px;height:120px;border-radius:14px;overflow:hidden;
    background:#fff;box-shadow:0 12px 30px rgba(0,22,16,.34);}
  .opx__hdt{position:absolute;left:0;top:0;width:342px;height:58px;}
  .opx__no{z-index:5;top:194px;width:104px;height:50px;display:flex;align-items:center;
    justify-content:center;transform:skewX(-13deg);border-radius:5px;
    box-shadow:0 6px 16px rgba(0,20,14,.34);}
  .opx__no span{transform:skewX(13deg);font-family:'Archivo',sans-serif;font-weight:800;font-size:33px;
    line-height:40px;color:#fff;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.2);}
  .opx__ht{z-index:5;top:208px;margin:0;font-weight:900;font-size:26px;line-height:34px;
    letter-spacing:-.02em;white-space:nowrap;}
  .opx__hi{z-index:5;top:206px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;}
  .opx__ds{z-index:5;top:268px;width:326px;margin:0;font-weight:700;font-size:15.5px;line-height:23px;
    letter-spacing:-.02em;color:#12203A;}
  .opx__chev{z-index:5;top:265px;width:26px;height:40px;filter:drop-shadow(0 0 8px rgba(52,211,153,.55));}

  /* ---- 画面パネル 共通 ---- */
  .opx__pn{z-index:3;top:326px;width:342px;height:392px;border-radius:11px;overflow:hidden;background:#fff;
    border:1px solid rgba(20,45,90,.16);box-shadow:0 14px 34px rgba(0,22,16,.34);
    font-size:8.2px;line-height:11px;color:var(--opink);letter-spacing:-.01em;}
  .opx__pn *{position:absolute;}
  .opx__pn .fl{position:static;}
  .opx__top{left:0;top:0;width:100%;height:23px;background:#F7FAFF;border-bottom:1px solid var(--opline);}
  .opx__top .tt{left:8px;top:6px;font-weight:900;font-size:9.4px;line-height:12px;}
  .opx__top .rt{right:8px;top:7px;font-size:7.4px;line-height:10px;color:var(--opsub);}
  .opx__inp{left:8px;right:8px;bottom:8px;height:26px;border-radius:13px;background:#F4F7FD;
    border:1px solid rgba(20,45,90,.14);}
  .opx__inp .ph{left:12px;top:8px;font-size:8px;line-height:11px;color:#8A9BB8;}
  .opx__inp .bt{right:5px;top:5px;height:16px;padding:0 9px;border-radius:8px;display:flex;
    align-items:center;gap:3px;background:linear-gradient(180deg,#3B82F6,#1D4ED8);color:#fff;
    font-weight:900;font-size:7.6px;line-height:16px;}
  /* サイドバー（P1） */
  .opx__side{left:0;top:0;width:72px;height:100%;background:linear-gradient(180deg,#0C1B36,#08132A);}
  .opx__side .lg{left:7px;top:9px;font-weight:900;font-size:7.6px;line-height:10px;color:#DCE9FF;}
  .opx__side .mi{left:8px;width:58px;height:13px;border-radius:4px;padding-left:9px;
    font-size:6.6px;line-height:13px;color:#9DB2D6;white-space:nowrap;}
  .opx__side .mi.on{background:linear-gradient(90deg,rgba(59,130,246,.55),rgba(59,130,246,.10));color:#fff;
    font-weight:900;}
  .opx__side .mi i{position:absolute;left:2px;top:3.5px;width:5px;height:5px;border-radius:1.5px;
    background:rgba(160,190,240,.55);}
  /* 汎用アトム */
  .opx__pn .bub{border-radius:7px;background:#EEF4FE;border:1px solid rgba(45,100,200,.20);padding:6px 8px;}
  .opx__pn .tab{height:14px;border-radius:7px;border:1px solid rgba(20,45,90,.18);background:#fff;
    display:flex;align-items:center;justify-content:center;font-size:6.8px;line-height:14px;color:#3B4E72;}
  .opx__pn .tab.on{background:#12203A;border-color:#12203A;color:#fff;font-weight:900;}
  .opx__pn .bar{height:11px;border-radius:2px;background:linear-gradient(90deg,#FFD34D,#F5A524);}
  .opx__pn .ax{width:1px;background:rgba(20,45,90,.20);}
  .opx__pn .hr{height:1px;background:var(--opline);}
  .opx__pn .chip{height:11px;padding:0 5px;border-radius:3px;font-size:6.2px;line-height:11px;
    font-weight:900;color:#fff;}
  .opx__pn .card{border-radius:6px;border:1px solid rgba(20,45,90,.16);background:#FCFDFF;}
  .opx__pn .card.on{border-color:#2563EB;box-shadow:0 0 0 1px rgba(37,99,235,.35);}
  .opx__pn .btn{height:13px;border-radius:4px;border:1px solid #E0534B;color:#D8433B;font-weight:900;
    font-size:6.4px;line-height:11px;display:flex;align-items:center;justify-content:center;background:#fff;}
  .opx__pn .btn.b{border-color:#2563EB;color:#1D4ED8;}
  .opx__pn .sch{height:13px;border-radius:3px;background:linear-gradient(90deg,#1E4FD8,#2C6BEE);
    color:#fff;font-weight:900;font-size:7.4px;line-height:13px;padding-left:6px;}
  .opx__pn .lb{font-size:6.8px;line-height:9.4px;font-weight:900;color:#2A3D63;}
  .opx__pn .vl{font-size:6.8px;line-height:9.4px;color:#31415F;}
  .opx__pn .th{font-size:6.4px;line-height:9px;font-weight:900;color:#3A4E74;}
  .opx__pn .td{font-size:6.6px;line-height:9px;color:#1B2843;}
  .opx__pn .warn{border-radius:5px;background:#FFF7E8;border:1px solid rgba(220,150,20,.34);}

  /* ---- 下部帯 ---- */
  .opx__band{left:0;top:742px;width:1536px;height:122px;z-index:2;
    background:linear-gradient(96deg,#05261C 0%,#073A2A 44%,#04211A 100%);
    border-top:1px solid rgba(94,234,212,.24);}
  .opx__bandGl{left:0;top:742px;width:1536px;height:122px;z-index:2;pointer-events:none;
    background:radial-gradient(60% 130% at 50% 0%,rgba(52,211,153,.24) 0%,rgba(52,211,153,0) 72%);}
  .opx__bd{left:0;top:742px;width:1536px;height:122px;z-index:5;display:flex;align-items:center;
    justify-content:center;gap:26px;white-space:nowrap;}
  .opx__bd .n{font-weight:900;font-size:40px;line-height:56px;letter-spacing:-.02em;color:#fff;
    text-shadow:0 2px 14px rgba(0,25,18,.5);}
  .opx__bd .sep{width:2px;height:52px;background:linear-gradient(180deg,rgba(94,234,212,0),rgba(94,234,212,.75),rgba(94,234,212,0));}
  .opx__bd .t{font-weight:900;font-size:25px;line-height:54px;letter-spacing:-.02em;color:#E9FBF3;
    display:flex;align-items:baseline;gap:4px;}
  .opx__bd .num{font-family:'Archivo',sans-serif;font-weight:800;font-size:52px;line-height:54px;
    color:#FFD24A;text-shadow:0 0 22px rgba(255,196,60,.45);}

  @media (max-width:760px){ .opxw{margin-bottom:28px;} .opx{border-radius:14px;} }

  /* ========== 管理画面→AI対話：動画風スライド（ops / ダークグリーン） ========== */
  .opsw{max-width:1320px;margin:0 auto 52px;}
  .ops{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;border-radius:20px;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:linear-gradient(165deg,#04231A 0%,#03150F 58%,#052B20 100%);
    border:1px solid rgba(94,234,212,.16);box-shadow:0 22px 60px rgba(0,20,14,.45);
    --os-ink:#F2FBF7;--os-ink2:#C3E7DA;--os-mute:#8FBCAC;
    /* 拡大表示する管理画面パネル（.opx__pn）が参照する変数。.opx 外に置くため .ops 側で定義 */
    --opink:#0B1626;--opsub:#46587C;--opline:rgba(20,45,90,.14);}
  .ops *{box-sizing:border-box;}
  .ops__stage{position:absolute;left:0;top:0;width:1536px;height:864px;transform-origin:top left;}
  .ops__bg{position:absolute;left:0;top:0;width:1536px;height:864px;z-index:1;pointer-events:none;}
  .ops__s{position:absolute;left:0;top:0;width:1536px;height:864px;z-index:2;
    opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s;}
  .ops__s.on{opacity:1;visibility:visible;}
  .ops__s>*{position:absolute;}

  .ops .an{opacity:0;transform:translateY(16px);}
  .ops__s.on .an{animation:opsIn .64s cubic-bezier(.22,.9,.3,1) forwards;animation-delay:var(--d,0s);}
  @keyframes opsIn{to{opacity:1;transform:none;}}
  .ops .kb{opacity:0;transform:scale(1.05);}
  .ops__s.on .kb{animation:opsKb 7s ease-out forwards;animation-delay:var(--d,0s);}
  @keyframes opsKb{20%{opacity:1;}to{opacity:1;transform:scale(1);}}

  /* --- 見出し系 --- */
  .ops__lb{font-family:'Archivo',sans-serif;font-weight:800;font-size:17px;letter-spacing:.26em;
    color:#5EEAD4;display:flex;align-items:center;gap:12px;white-space:nowrap;}
  .ops__lb::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,#5EEAD4,rgba(94,234,212,0));}
  .ops__h{margin:0;font-weight:900;font-size:54px;line-height:74px;letter-spacing:-.035em;color:var(--os-ink);}
  .ops__p{margin:0;font-weight:700;font-size:26px;line-height:40px;letter-spacing:-.02em;color:var(--os-ink2);}
  .ops__cap{margin:0;font-weight:700;font-size:18px;line-height:27px;letter-spacing:-.01em;color:var(--os-mute);}
  .ops .cg{color:#34D399;} .ops .cg2{color:#7CF2D6;} .ops .cb{color:#60A5FA;}
  .ops .cv{color:#A78BFA;} .ops .ctl{color:#5EEAD4;} .ops .co{color:#FDBA74;}
  .ops .cold{color:#F3B871;} .ops .cy{color:#FFD24A;}

  /* --- 行カード（旧＝アンバー／新＝グリーン） --- */
  .ops__row{display:flex;align-items:center;gap:18px;border-radius:14px;padding:0 22px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
    border:1px solid rgba(243,184,113,.20);box-shadow:0 10px 26px rgba(0,20,14,.28);}
  .ops__row .ic{flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:flex;
    align-items:center;justify-content:center;background:rgba(243,184,113,.14);}
  .ops__row .bd{flex:1;min-width:0;position:static;}
  .ops__row .bd b{display:block;font-weight:900;font-size:23px;line-height:31px;letter-spacing:-.02em;color:#F7D8B2;}
  .ops__row .bd span{display:block;font-weight:700;font-size:16.5px;line-height:24px;letter-spacing:-.015em;color:#A8C4B8;}
  .ops__row.nw{border-color:rgba(94,234,212,.30);}
  .ops__row.nw .ic{background:rgba(52,211,153,.16);}
  .ops__row.nw .bd b{color:#7CF2D6;}
  .ops__row.nw .bd span{color:#BEDFD2;}

  /* --- 箇条書き（ステップ用） --- */
  .ops__li{display:flex;align-items:flex-start;gap:14px;}
  .ops__li .ck{flex:0 0 auto;width:30px;height:30px;border-radius:50%;margin-top:5px;
    background:rgba(52,211,153,.16);display:flex;align-items:center;justify-content:center;}
  .ops__li p{position:static;margin:0;font-weight:700;font-size:23px;line-height:38px;
    letter-spacing:-.02em;color:#CDEBE0;}

  /* --- 帯 --- */
  .ops__bar{border-radius:18px;border:1px solid rgba(94,234,212,.26);
    background:linear-gradient(96deg,rgba(12,58,44,.94),rgba(10,76,57,.74),rgba(6,51,38,.92));
    box-shadow:0 12px 32px rgba(0,20,14,.34);}
  .ops__barT{margin:0;font-weight:900;font-size:27px;line-height:40px;letter-spacing:-.02em;color:#EAFBF4;}

  /* --- ステップ見出し --- */
  .ops__no{width:104px;height:50px;display:flex;align-items:center;justify-content:center;
    border-radius:9px;transform:skewX(-13deg);box-shadow:0 6px 16px rgba(0,20,14,.42);}
  .ops__no span{transform:skewX(13deg);font-family:'Archivo',sans-serif;font-weight:800;
    font-size:33px;line-height:36px;color:#fff;letter-spacing:.02em;}
  .ops__st{margin:0;font-weight:900;font-size:42px;line-height:50px;letter-spacing:-.03em;white-space:nowrap;}

  /* --- 写真 --- */
  .ops__pic{border-radius:18px;overflow:hidden;background:#0A2B21;
    border:1px solid rgba(94,234,212,.20);box-shadow:0 18px 44px rgba(0,20,14,.46);}
  .ops__pic img{width:100%;height:100%;display:block;object-fit:cover;border-radius:0;}
  .ops__band2{border-radius:20px;overflow:hidden;border:1px solid rgba(94,234,212,.20);
    box-shadow:0 18px 44px rgba(0,20,14,.5);}
  .ops__band2 img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;border-radius:0;}
  .ops__band2 .ov{position:absolute;inset:0;
    background:linear-gradient(92deg,rgba(3,21,15,.93) 0%,rgba(4,35,26,.74) 48%,rgba(4,35,26,.28) 100%);}
  .ops__band2 .tx{position:absolute;left:56px;right:56px;top:50%;transform:translateY(-50%);}
  .ops__band2 .tx b{display:block;font-weight:900;font-size:34px;line-height:48px;letter-spacing:-.025em;color:#fff;}
  .ops__band2 .tx span{display:block;margin-top:8px;font-weight:700;font-size:21px;line-height:32px;
    letter-spacing:-.015em;color:rgba(255,255,255,.86);}
  .ops__band2 .tx em{font-style:normal;color:#6EE7B7;}

  /* --- 管理画面パネルの拡大表示 --- */
  .ops__zoom{border-radius:16px;overflow:hidden;background:#fff;
    border:1px solid rgba(94,234,212,.22);box-shadow:0 22px 54px rgba(0,20,14,.52);}
  .ops__zoom .opx__pn{position:absolute!important;left:0!important;top:0!important;
    transform:scale(1.75);transform-origin:top left;border-radius:0;box-shadow:none;border:0;}

  /* --- 全体図スライド --- */
  .ops__full{left:0;top:0;width:1536px;height:864px;}
  .ops__full .opx{border-radius:0;border:0;box-shadow:none;}

  /* --- ポスター／再生オーバーレイ --- */
  .ops__po{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:20px;cursor:pointer;border:0;width:100%;
    background:radial-gradient(62% 62% at 50% 46%,rgba(3,21,15,.56),rgba(3,21,15,.88));
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
    transition:opacity .4s ease,visibility .4s;font-family:inherit;}
  .ops__po[hidden]{display:flex;opacity:0;visibility:hidden;pointer-events:none;}
  .ops__po .pl{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;background:linear-gradient(180deg,#12B98A,#047857);
    box-shadow:0 14px 34px rgba(0,20,14,.5),0 0 0 10px rgba(16,185,129,.16);
    transition:transform .25s ease,box-shadow .25s ease;}
  .ops__po:hover .pl{transform:scale(1.06);box-shadow:0 18px 42px rgba(0,20,14,.56),0 0 0 14px rgba(16,185,129,.22);}
  .ops__po .t1{font-weight:900;font-size:clamp(17px,1.55vw,23px);letter-spacing:-.02em;color:#EAFBF4;}
  .ops__po .t2{font-weight:700;font-size:clamp(12px,1.05vw,15px);letter-spacing:.02em;color:#8FD6C1;}
  .ops__po:focus-visible{outline:3px solid #34D399;outline-offset:-6px;}

  /* --- コントロール（.evs__ctl を流用してダーク化） --- */
  .opsw .evs__ctl{margin-top:16px;}
  .opsw .evs__btn{background:rgba(255,255,255,.07);border-color:rgba(94,234,212,.28);color:#CFF7EA;}
  .opsw .evs__btn:hover{background:rgba(94,234,212,.16);border-color:rgba(94,234,212,.52);}
  .opsw .evs__seg{background:rgba(255,255,255,.15);}
  .opsw .evs__seg i{background:linear-gradient(90deg,#7CF2D6,#10B981);}
  .opsw .evs__meta .nm{color:#EAFBF4;}
  .opsw .evs__meta .ct{color:#7FD9C0;}

  @media (max-width:760px){ .opsw{margin-bottom:28px;} .ops{border-radius:14px;} }
  @media (prefers-reduced-motion: reduce){
    .ops__s{transition:none;} .ops .an,.ops .kb{opacity:1;transform:none;animation:none!important;}
  }


  /* ========== AI駆動開発 比較図版（canvas × HTML / ライトグリーン） ========== */
  .dvfw{max-width:1320px;margin:0 auto 48px;}
  .dvf{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;border-radius:20px;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:radial-gradient(120% 92% at 50% 4%,#FFFFFF 0%,#F7FDFA 42%,#E9F8F1 78%,#DDF3EA 100%);
    border:1px solid rgba(11,20,17,.08);box-shadow:0 26px 62px -36px rgba(8,32,26,.32);
    --dv1:#047857;--dv1b:#036048;--dv2:#10B981;--dv2b:#0AA57A;--dv3:#5EEAD4;--dv3b:#4FD9A8;
    --dvg1:#9AA6A2;--dvg1b:#8F9C97;--dvg2:#67736F;--dvg2b:#5D6965;--dvg3:#CFD8D4;--dvg3b:#C6D0CB;
    --dvink:#0A1F19;--dvsub:#53605B;--dvline:rgba(4,120,87,.24);}
  .dvf *{box-sizing:border-box;}
  .dvf__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .dvf__stage>*{position:absolute;}
  .dvf__bg,.dvf__fx{left:0;top:0;width:1536px;height:864px;pointer-events:none;}
  .dvf__bg{z-index:1;} .dvf__fx{z-index:6;}
  .dvf__ar{left:0;top:0;width:1536px;height:864px;z-index:4;pointer-events:none;}

  /* --- 見出し --- */
  .dvf__ttl{left:0;top:38px;width:1536px;margin:0;z-index:5;text-align:center;white-space:nowrap;
    font-weight:900;font-size:46px;line-height:62px;letter-spacing:-.022em;color:var(--dvink);
    opacity:0;transform:translateY(18px);}
  .dvf__ttl .g{background:linear-gradient(112deg,#047857 0%,#10B981 58%,#0EA97C 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;}

  /* --- 左ラベル --- */
  .dvf__lb{left:0;width:330px;z-index:5;text-align:center;font-weight:900;letter-spacing:-.02em;
    font-size:24px;line-height:34px;color:var(--dvink);opacity:0;}
  .dvf__lb1{top:170px;}
  .dvf__lb2{top:424px;color:#047857;}
  .dvf__lb2 small{display:block;margin-top:2px;font-family:'Archivo',sans-serif;font-weight:700;
    font-size:12px;line-height:16px;letter-spacing:.2em;color:rgba(4,120,87,.62);}

  /* --- 点線ガイド --- */
  .dvf__gd{width:2px;z-index:2;opacity:0;
    background:repeating-linear-gradient(180deg,var(--dvline) 0 4px,transparent 4px 9px);}

  /* --- バー --- */
  .dvf__sg{z-index:3;overflow:hidden;border-radius:3px;}
  .dvf__sg i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;border-radius:inherit;}
  .dvf__sg i::after{content:"";position:absolute;inset:0;transform:translateX(-130%);
    background:linear-gradient(104deg,transparent 34%,rgba(255,255,255,.46) 50%,transparent 66%);}
  .dvf__sg b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:3px;font-weight:900;letter-spacing:-.02em;font-size:24px;line-height:32px;
    color:#fff;text-align:center;opacity:0;text-shadow:0 1px 4px rgba(0,32,22,.28);}
  .dvf__sg b em{font-style:normal;font-family:'Archivo',sans-serif;font-weight:800;font-size:25px;
    line-height:28px;letter-spacing:-.01em;opacity:.94;}
  .dvf__sg.is-dk b{color:#22332E;text-shadow:none;}
  .dvf__sg.is-lt b{color:#044635;text-shadow:none;}

  /* --- 削減率 --- */
  .dvf__cut{z-index:5;top:306px;width:300px;text-align:center;opacity:0;}
  .dvf__cut span{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-size:52px;
    line-height:56px;letter-spacing:-.03em;
    background:linear-gradient(112deg,#047857,#10B981);-webkit-background-clip:text;background-clip:text;
    color:transparent;}
  .dvf__cut small{display:block;margin-top:-2px;font-weight:900;font-size:15px;line-height:20px;
    letter-spacing:.02em;color:#047857;}

  /* --- 下部：3枠を順送りするスライド --- */
  .dvf__deck{left:40px;top:552px;width:1456px;height:264px;z-index:5;}
  .dvf__cd{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:14px;border-radius:20px;background:#fff;
    border:1px solid rgba(11,20,17,.09);box-shadow:0 18px 44px -30px rgba(8,32,26,.30);
    opacity:0;transform:translateY(22px) scale(.99);pointer-events:none;
    transition:opacity .72s cubic-bezier(.3,.7,.2,1),transform .72s cubic-bezier(.3,.7,.2,1);}
  .dvf__cd.on{opacity:1;transform:none;}
  .dvf__cd.out{opacity:0;transform:translateY(-18px) scale(.995);}
  .dvf__cd s{position:absolute;width:56px;height:56px;text-decoration:none;pointer-events:none;}
  .dvf__cd s:nth-of-type(1){left:-1px;top:-1px;border-left:7px solid #10B981;border-top:7px solid #10B981;border-radius:20px 0 0 0;}
  .dvf__cd s:nth-of-type(2){right:-1px;top:-1px;border-right:7px solid #10B981;border-top:7px solid #10B981;border-radius:0 20px 0 0;}
  .dvf__cd s:nth-of-type(3){left:-1px;bottom:-1px;border-left:7px solid #047857;border-bottom:7px solid #047857;border-radius:0 0 0 20px;}
  .dvf__cd s:nth-of-type(4){right:-1px;bottom:-1px;border-right:7px solid #047857;border-bottom:7px solid #047857;border-radius:0 0 20px 0;}
  .dvf__eb{font-family:'Archivo',sans-serif;font-weight:700;font-size:12px;line-height:16px;
    letter-spacing:.22em;color:#047857;}
  .dvf__h{margin:0;font-weight:900;font-size:38px;line-height:48px;letter-spacing:-.022em;color:var(--dvink);text-align:center;}
  .dvf__h .g{background:linear-gradient(112deg,#047857,#10B981);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .dvf__p{margin:0;font-weight:700;font-size:21px;line-height:34px;letter-spacing:-.01em;color:var(--dvsub);text-align:center;}
  .dvf__cd.on .dvf__eb{animation:dvfRise .7s cubic-bezier(.2,.8,.2,1) .04s both;}
  .dvf__cd.on .dvf__h{animation:dvfRise .7s cubic-bezier(.2,.8,.2,1) .12s both;}
  .dvf__cd.on .dvf__p{animation:dvfRise .7s cubic-bezier(.2,.8,.2,1) .24s both;}
  @keyframes dvfRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

  /* --- 進行インジケータは .evs__ctl（売上を伸ばすAI と共通のUI）を流用 --- */

  /* --- 登場アニメーション --- */
  .dvf.on .dvf__ttl{animation:dvfRise .85s cubic-bezier(.2,.8,.2,1) .05s both;}
  .dvf.on .dvf__lb1{animation:dvfFade .7s ease .4s both;}
  .dvf.on .dvf__lb2{animation:dvfFade .7s ease .98s both;}
  .dvf.on .dvf__gd{animation:dvfFade .8s ease 1.05s both;}
  .dvf.on .dvf__cut{animation:dvfPop .68s cubic-bezier(.2,1.4,.35,1) 1.78s both;}
  .dvf.on .dvf__sg i{animation:dvfGrow .82s cubic-bezier(.25,.9,.25,1) both;}
  .dvf.on .dvf__sg b{animation:dvfFade .55s ease both;}
  .dvf.on .dvf__t1 i{animation-delay:.40s;} .dvf.on .dvf__t1 b{animation-delay:.86s;}
  .dvf.on .dvf__t2 i{animation-delay:.54s;} .dvf.on .dvf__t2 b{animation-delay:1.00s;}
  .dvf.on .dvf__t3 i{animation-delay:.68s;} .dvf.on .dvf__t3 b{animation-delay:1.14s;}
  .dvf.on .dvf__b1 i{animation-delay:1.00s;} .dvf.on .dvf__b1 b{animation-delay:1.44s;}
  .dvf.on .dvf__b2 i{animation-delay:1.18s;} .dvf.on .dvf__b2 b{animation-delay:1.62s;}
  .dvf.on .dvf__b3 i{animation-delay:1.36s;} .dvf.on .dvf__b3 b{animation-delay:1.80s;}
  .dvf.on .dvf__b1 i::after,.dvf.on .dvf__b2 i::after,.dvf.on .dvf__b3 i::after{
    animation:dvfSweep 5.6s cubic-bezier(.4,0,.2,1) 2.1s infinite;}
  .dvf.on .dvf__b2 i::after{animation-delay:2.5s;}
  .dvf.on .dvf__b3 i::after{animation-delay:2.9s;}
  .dvf.on .dvf__ar g{animation:dvfFade .5s ease both;}
  .dvf.on .dvf__ar g:nth-of-type(1){animation-delay:1.10s;}
  .dvf.on .dvf__ar g:nth-of-type(2){animation-delay:1.24s;}
  .dvf.on .dvf__ar g:nth-of-type(3){animation-delay:1.38s;}
  .dvf.on .dvf__ar line{animation:dvfDraw .66s cubic-bezier(.3,.8,.2,1) both;}
  .dvf.on .dvf__ar g:nth-of-type(1) line{animation-delay:1.10s;}
  .dvf.on .dvf__ar g:nth-of-type(2) line{animation-delay:1.24s;}
  .dvf.on .dvf__ar g:nth-of-type(3) line{animation-delay:1.38s;}
  @keyframes dvfGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes dvfFade{from{opacity:0}to{opacity:1}}
  @keyframes dvfPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
  @keyframes dvfSweep{0%{transform:translateX(-130%)}42%,100%{transform:translateX(130%)}}
  @keyframes dvfDraw{from{stroke-dashoffset:var(--l)}to{stroke-dashoffset:0}}
  @media (prefers-reduced-motion:reduce){
    .dvf__ttl,.dvf__lb,.dvf__gd,.dvf__cut{opacity:1!important;transform:none!important;}
    .dvf__sg i{transform:none!important;} .dvf__sg b{opacity:1!important;}
    .dvf.on *{animation:none!important;}
  }
  @media (max-width:760px){ .dvfw{margin-bottom:26px;} .dvf{border-radius:14px;} }

  /* ---- 開発プロセス：横5列レール ---- */
  .dv-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:8px;}
  .dv-rail .pl-it{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 18px 22px;}
  .dv-rail>.sx-tr:nth-child(1){--sxd:0ms!important;}
  .dv-rail>.sx-tr:nth-child(2){--sxd:90ms!important;}
  .dv-rail>.sx-tr:nth-child(3){--sxd:180ms!important;}
  .dv-rail>.sx-tr:nth-child(4){--sxd:270ms!important;}
  .dv-rail>.sx-tr:nth-child(5){--sxd:360ms!important;}
  @media (max-width:1000px){ .dv-rail{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .dv-rail{grid-template-columns:1fr;} }

  /* ========== EC体験の進化：動画風スライド（canvas × 写真 × HTML） ========== */
  .evsw{max-width:1240px;margin:0 auto 52px;}
  .evs{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;border-radius:20px;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:radial-gradient(120% 96% at 50% 0%,#FFFFFF 0%,#F2FBF7 46%,#E4F6EE 100%);
    border:1px solid rgba(6,95,70,.12);box-shadow:0 20px 52px rgba(6,60,45,.13);
    --ev-g:#0B7A6C;--ev-g2:#12A18F;--ev-b:#1433AE;--ev-b2:#2B6BFF;
    --ev-ink:#08110D;--ev-ink2:#25384B;--ev-mute:#5C7183;}
  .evs *{box-sizing:border-box;}
  .evs__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .evs__bg{position:absolute;left:0;top:0;width:1536px;height:864px;z-index:1;pointer-events:none;}
  .evs__s{position:absolute;left:0;top:0;width:1536px;height:864px;z-index:2;
    opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s;}
  .evs__s.on{opacity:1;visibility:visible;}
  .evs__s>*{position:absolute;}

  .evs .an{opacity:0;transform:translateY(16px);}
  .evs__s.on .an{animation:evsIn .64s cubic-bezier(.22,.9,.3,1) forwards;animation-delay:var(--d,0s);}
  @keyframes evsIn{to{opacity:1;transform:none;}}
  .evs .kb{opacity:0;transform:scale(1.05);}
  .evs__s.on .kb{animation:evsKb 7s ease-out forwards;animation-delay:var(--d,0s);}
  @keyframes evsKb{20%{opacity:1;}to{opacity:1;transform:scale(1);}}

  /* --- 見出し系 --- */
  .evs__lb{font-family:'Archivo',sans-serif;font-weight:800;font-size:17px;letter-spacing:.26em;
    color:#0E9E7B;display:flex;align-items:center;gap:12px;white-space:nowrap;}
  .evs__lb::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,#10B981,rgba(16,185,129,0));}
  .evs__pill{height:56px;border-radius:28px;display:flex;align-items:center;justify-content:center;
    color:#fff;font-weight:900;font-size:30px;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.16);}
  .evs__h{margin:0;font-weight:900;font-size:68px;line-height:88px;letter-spacing:-.03em;color:var(--ev-ink);
    white-space:nowrap;}
  .evs__p{margin:0;font-weight:700;font-size:28px;line-height:44px;letter-spacing:-.02em;color:var(--ev-ink2);}
  .evs .g{color:var(--ev-g);} .evs .b{color:var(--ev-b);} .evs .o{color:#B4551F;}

  /* --- 旧→新の対比カード --- */
  .evs__cmp{display:flex;align-items:center;gap:20px;border-radius:18px;background:#fff;
    border:1px solid rgba(6,95,70,.11);box-shadow:0 10px 26px rgba(6,60,45,.08);padding:0 26px;}
  .evs__cmp .it{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;position:static;}
  .evs__cmp .tag{font-size:16px;line-height:22px;font-weight:700;letter-spacing:.02em;color:#8194A5;}
  .evs__cmp .tx{font-size:23px;line-height:31px;font-weight:900;letter-spacing:-.02em;color:#2C3E52;}
  .evs__cmp .it.nw .tag,.evs__cmp .it.nw .tx{color:currentColor;}
  .evs__cmp .ar{flex:0 0 auto;position:static;}

  /* --- 症状カード（S1） --- */
  .evs__sym{border-radius:18px;background:#fff;border:1px solid rgba(6,95,70,.11);
    box-shadow:0 10px 26px rgba(6,60,45,.08);padding:26px 24px;}
  .evs__sym .ic{width:52px;height:52px;border-radius:14px;background:#EEF3F7;display:flex;
    align-items:center;justify-content:center;position:static;}
  .evs__sym h4{position:static;margin:16px 0 8px;font-weight:900;font-size:27px;line-height:36px;
    letter-spacing:-.02em;color:var(--ev-ink);}
  .evs__sym p{position:static;margin:0;font-weight:700;font-size:19px;line-height:29px;
    letter-spacing:-.015em;color:var(--ev-mute);}

  /* --- 帯 --- */
  .evs__bar{border-radius:22px;background:linear-gradient(180deg,#fff,#F5FBF8);
    border:2px solid rgba(16,185,129,.42);box-shadow:0 12px 30px rgba(6,60,45,.09);}
  .evs__barT{font-weight:900;font-size:29px;line-height:42px;letter-spacing:-.02em;color:var(--ev-ink);
    text-align:center;}
  .evs__cart{border-radius:50%;background:radial-gradient(120% 120% at 30% 25%,#fff,#E3F6EE);
    border:1px solid rgba(16,185,129,.30);display:flex;align-items:center;justify-content:center;}

  /* --- 写真 --- */
  .evs__ph img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0;
    filter:drop-shadow(0 14px 30px rgba(10,60,45,.13));}
  .evs__cap{font-weight:700;font-size:18px;line-height:27px;letter-spacing:-.01em;color:var(--ev-mute);
    text-align:center;}

  /* --- 最終スライド（既存の全体図） --- */
  .evs__full{left:0;top:0;width:1536px;height:864px;}
  .evs__full .ecfig{border-radius:0;}


  /* --- 追加パーツ（写真・UI・帯・ポスター） --- */
  .evs__row{display:flex;align-items:center;gap:18px;border-radius:16px;background:#fff;
    border:1px solid rgba(6,95,70,.11);box-shadow:0 8px 22px rgba(6,60,45,.07);padding:0 24px;}
  .evs__row .ic{flex:0 0 auto;width:48px;height:48px;border-radius:13px;display:flex;
    align-items:center;justify-content:center;background:#EEF3F7;position:static;}
  .evs__row .bd{flex:1;min-width:0;position:static;}
  .evs__row .bd b{display:block;font-weight:900;font-size:24px;line-height:32px;letter-spacing:-.02em;
    color:var(--ev-ink);}
  .evs__row .bd span{display:block;font-weight:700;font-size:17px;line-height:24px;letter-spacing:-.015em;
    color:var(--ev-mute);}
  .evs__row.nw .ic{background:rgba(16,185,129,.12);}
  .evs__row.nw .bd b{color:var(--ev-g);}

  .evs__pic{border-radius:20px;overflow:hidden;background:#EAF1F5;
    box-shadow:0 18px 40px rgba(6,60,45,.16);border:1px solid rgba(6,95,70,.10);}
  .evs__pic img{width:100%;height:100%;display:block;object-fit:cover;border-radius:0;}
  .evs__uic{border-radius:16px;overflow:hidden;background:#fff;border:1px solid rgba(6,95,70,.14);
    box-shadow:0 16px 34px rgba(6,60,45,.18);padding:10px;}
  .evs__uic img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0;}

  .evs__band2{border-radius:22px;overflow:hidden;box-shadow:0 16px 38px rgba(6,60,45,.16);}
  .evs__band2 img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;border-radius:0;}
  .evs__band2 .ov{position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(4,40,30,.80) 0%,rgba(4,40,30,.62) 46%,rgba(4,40,30,.30) 100%);}
  .evs__band2 .tx{position:absolute;left:56px;right:56px;top:50%;transform:translateY(-50%);}
  .evs__band2 .tx b{display:block;font-weight:900;font-size:34px;line-height:48px;letter-spacing:-.02em;
    color:#fff;text-shadow:0 2px 12px rgba(0,20,14,.5);}
  .evs__band2 .tx span{display:block;margin-top:8px;font-weight:700;font-size:22px;line-height:32px;
    letter-spacing:-.015em;color:#CFF0E2;}
  .evs__band2 .tx em{font-style:normal;color:#6EE7B7;}

  /* ポスター／再生オーバーレイ */
  .evs__po{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:20px;cursor:pointer;border:0;width:100%;
    background:radial-gradient(60% 60% at 50% 46%,rgba(255,255,255,.62),rgba(255,255,255,.86));
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
    transition:opacity .4s ease,visibility .4s;font-family:inherit;}
  .evs__po[hidden]{display:flex;opacity:0;visibility:hidden;pointer-events:none;}
  .evs__po .pl{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;background:linear-gradient(180deg,#12B98A,#047857);
    box-shadow:0 14px 34px rgba(4,120,87,.38),0 0 0 10px rgba(16,185,129,.14);
    transition:transform .25s ease,box-shadow .25s ease;}
  .evs__po:hover .pl{transform:scale(1.06);box-shadow:0 18px 42px rgba(4,120,87,.44),0 0 0 14px rgba(16,185,129,.18);}
  .evs__po .t1{font-weight:900;font-size:clamp(17px,1.55vw,23px);letter-spacing:-.02em;color:#06281E;}
  .evs__po .t2{font-weight:700;font-size:clamp(12px,1.05vw,15px);letter-spacing:.02em;color:#3E6B5C;}
  .evs__po:focus-visible{outline:3px solid #10B981;outline-offset:-6px;}

  /* --- コントロール --- */
  .evs__ctl{display:flex;align-items:center;gap:14px;margin-top:16px;}
  .evs__btn{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:1px solid rgba(6,95,70,.20);
    background:#fff;color:#065F46;display:flex;align-items:center;justify-content:center;cursor:pointer;
    padding:0;transition:background .2s,border-color .2s,transform .2s;}
  .evs__btn:hover{background:#ECFAF4;border-color:rgba(6,95,70,.38);transform:translateY(-1px);}
  .evs__btn:focus-visible{outline:2px solid #10B981;outline-offset:2px;}
  .evs__segs{flex:1;display:flex;gap:8px;min-width:0;}
  .evs__seg{flex:1;height:6px;border-radius:3px;background:rgba(6,95,70,.14);border:0;padding:0;
    overflow:hidden;cursor:pointer;position:relative;}
  .evs__seg:focus-visible{outline:2px solid #10B981;outline-offset:3px;}
  .evs__seg i{display:block;height:100%;width:0;border-radius:3px;
    background:linear-gradient(90deg,#34D399,#047857);}
  .evs__meta{flex:0 0 auto;display:flex;align-items:baseline;gap:10px;white-space:nowrap;}
  .evs__meta .nm{font-weight:900;font-size:14px;letter-spacing:-.01em;color:#08110D;}
  .evs__meta .ct{font-family:'Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:.10em;
    color:#0E9E7B;}

  @media (max-width:760px){
    .evsw{margin-bottom:28px;} .evs{border-radius:14px;}
    .evs__ctl{gap:8px;} .evs__meta .nm{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .evs__s{transition:none;} .evs .an,.evs .kb{opacity:1;transform:none;animation:none!important;}
  }

  /* ================= EC体験の進化 図版（HTML+写真+canvas ハイブリッド） ================= */
  .ecfig{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:radial-gradient(118% 92% at 50% 2%,#ffffff 0%,#F3FCF7 44%,#E1F5EC 100%);
    --ec-green:#0B7A6C;--ec-green-a:#12A18F;--ec-green-b:#048B80;
    --ec-blue:#1433AE;--ec-blue-a:#2B6BFF;--ec-blue-b:#0148EE;
    --ec-ink:#080A12;--ec-ink-sub:#1B2240;--ec-line:rgba(6,90,66,.16);}
  .ecfig *{box-sizing:border-box;}
  .ecfig__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .ecfig__stage>*{position:absolute;}
  .ecfig__bg,.ecfig__fx{left:0;top:0;width:1536px;height:864px;pointer-events:none;}
  .ecfig__bg{z-index:1;} .ecfig__fx{z-index:6;}
  .ecfig__card{top:101px;height:621px;border-radius:26px;z-index:2;
    background:linear-gradient(180deg,#fff 0%,#fff 64%,#F4FCF8 100%);
    border:1px solid rgba(16,185,129,.15);
    box-shadow:0 18px 46px rgba(6,70,52,.10),0 1px 0 rgba(255,255,255,.9) inset;}
  .ecfig__card--l{left:22px;width:519px;} .ecfig__card--r{left:1000px;width:513px;}
  .ecfig__pill{height:45px;border-radius:23px;z-index:4;display:flex;align-items:center;justify-content:center;
    color:#fff;font-weight:900;font-size:28px;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.16);}
  .ecfig__pill--l{left:149px;top:119px;width:277px;
    background:linear-gradient(180deg,var(--ec-green-a),var(--ec-green-b));box-shadow:0 6px 16px rgba(6,124,110,.28);}
  .ecfig__pill--r{left:1118px;top:118px;width:273px;height:44px;
    background:linear-gradient(180deg,var(--ec-blue-a),var(--ec-blue-b));box-shadow:0 6px 16px rgba(12,72,238,.28);}
  .ecfig__c{transform:translateX(-50%);text-align:center;white-space:nowrap;z-index:4;}
  .ecfig__h2{margin:0;font-weight:900;font-size:35px;line-height:46px;letter-spacing:-.01em;color:var(--ec-ink);}
  .ecfig__lead{font-weight:700;font-size:22px;line-height:30px;letter-spacing:-.012em;color:var(--ec-ink);}
  .ecfig__visual{left:56px;top:272px;width:456px;height:259px;z-index:3;}
  .ecfig__chat{left:1020px;top:262px;width:442px;height:268px;z-index:3;}
  .ecfig__visual img,.ecfig__chat img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0;}
  .ecfig__people{left:380px;top:88px;width:710px;height:638px;z-index:5;}
  .ecfig__people img{width:100%;height:100%;display:block;object-fit:contain;object-position:bottom center;
    filter:drop-shadow(0 12px 26px rgba(30,60,120,.10));border-radius:0;}
  .ecfig__rule{height:1px;z-index:4;background:var(--ec-line);}
  .ecfig__tag{font-size:19px;font-weight:700;line-height:26px;letter-spacing:.02em;}
  .ecfig__txt{font-size:20px;font-weight:900;line-height:29px;letter-spacing:0;}
  .ecfig .old{color:var(--ec-ink);} .ecfig .oldtag{color:var(--ec-ink-sub);}
  .ecfig .g{color:var(--ec-green);} .ecfig .b{color:var(--ec-blue);}
  .ecfig__arrow{z-index:4;transform:translate(-50%,-50%);}
  .ecfig__bar{left:22px;top:737px;width:1491px;height:123px;border-radius:26px;z-index:4;
    background:linear-gradient(180deg,#fff,#F6FCF9);border:2px solid rgba(16,185,129,.55);
    box-shadow:0 12px 30px rgba(6,70,52,.10);}
  .ecfig__cart{left:68px;top:754px;width:88px;height:88px;border-radius:50%;z-index:5;
    background:radial-gradient(120% 120% at 30% 25%,#fff,#e6eefe);border:1px solid rgba(43,91,215,.22);
    display:flex;align-items:center;justify-content:center;}
  .ecfig__barTxt{left:170px;top:750px;width:1240px;z-index:5;text-align:center;font-weight:900;font-size:32px;
    line-height:46px;letter-spacing:-.015em;color:var(--ec-ink);white-space:nowrap;}
  .ecfig__title{left:0;top:13px;width:1536px;margin:0;z-index:4;text-align:center;font-weight:900;
    font-size:51.5px;line-height:62px;letter-spacing:0;color:var(--ec-ink);white-space:nowrap;}

  /* ============ 変化するマーケティング・サプライチェーン（WORKMAN）図版 ============ */
  /* WORKMAN図版 / Coo&RIKU図版 の2枚をPCでは横並び・ウィンドウ幅いっぱいに */
  .ca-split--wide{
    grid-template-columns:1fr 1fr!important;
    gap:clamp(14px,1.8vw,30px)!important;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:0 clamp(14px,2.2vw,44px);
  }
  .ca-split--wide>.ca-pan{padding:16px 16px 22px;}
  .ca-split--wide .ca-fig{margin-bottom:16px;}
  @media(max-width:1080px){
    .ca-split--wide{grid-template-columns:1fr!important;
      margin-left:0;margin-right:0;padding:0;}
  }

  /* ============ 図版サムネイル＋拡大モーダル（WORKMAN / Coo&RIKU） ============ */
  .ca-split--thumb{grid-template-columns:1fr 1fr!important;gap:clamp(14px,1.6vw,24px)!important;
    max-width:1000px;margin-left:auto;margin-right:auto;padding:0;}
  .ca-split--thumb>.ca-pan{padding:14px 14px 18px;}
  .ca-split--thumb .ca-fig{margin-bottom:14px;}
  .ca-split--thumb .ca-tt{font-size:17px;}
  .ca-split--thumb .ca-ds{font-size:14px;}
  @media(max-width:1080px){
    .ca-split--thumb{grid-template-columns:1fr!important;max-width:560px;}
  }

  /* --- サムネイル側：全面クリックで拡大 --- */
  .figzoom{position:relative;cursor:zoom-in;}
  .figzoom__btn{position:absolute;inset:0;z-index:6;width:100%;height:100%;margin:0;padding:0;border:0;
    background:transparent;cursor:zoom-in;display:flex;align-items:flex-end;justify-content:center;
    font:inherit;font-family:'Zen Kaku Gothic New',sans-serif;}
  .figzoom__btn::before{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(3,21,15,0) 44%,rgba(3,21,15,.66) 100%);
    opacity:0;transition:opacity .3s ease;}
  .figzoom__btn .lbl{position:relative;display:inline-flex;align-items:center;gap:7px;
    margin-bottom:12px;padding:8px 15px;border-radius:999px;white-space:nowrap;
    background:rgba(3,21,15,.74);border:1px solid rgba(94,234,212,.44);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    font-weight:800;font-size:13px;letter-spacing:-.01em;color:#EAFBF4;
    opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;}
  .figzoom__btn:hover::before,.figzoom__btn:focus-visible::before{opacity:1;}
  .figzoom__btn:hover .lbl,.figzoom__btn:focus-visible .lbl{opacity:1;transform:none;}
  .figzoom__btn:focus-visible{outline:2px solid #5EEAD4;outline-offset:-4px;}
  .figzoom__hint{position:absolute;right:9px;top:9px;z-index:5;width:32px;height:32px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;pointer-events:none;
    background:rgba(3,21,15,.62);border:1px solid rgba(94,234,212,.38);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  /* 拡大中はサムネ位置にプレースホルダを残して高さを保つ */
  .figzoom__ph{display:none;width:100%;aspect-ratio:1536/864;border-radius:inherit;
    align-items:center;justify-content:center;
    background:repeating-linear-gradient(135deg,rgba(4,120,87,.07) 0 10px,transparent 10px 20px);
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:13.5px;
    letter-spacing:.02em;color:rgba(8,32,26,.46);}
  #operations .figzoom__ph,#why .figzoom__ph{
    background:repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 10px,transparent 10px 20px);
    color:rgba(255,255,255,.6);}
  .figzoom.is-out{cursor:default;}
  .figzoom.is-out .figzoom__ph{display:flex;}
  .figzoom.is-out .figzoom__btn,.figzoom.is-out .figzoom__hint{display:none;}

  /* --- 拡大モーダル --- */
  .figmd{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;
    padding:clamp(10px,2vw,28px);}
  .figmd[hidden]{display:none!important;}
  .figmd__bd{position:absolute;inset:0;background:rgba(3,21,15,.80);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    opacity:0;transition:opacity .42s cubic-bezier(.22,1,.3,1);}
  .figmd.on .figmd__bd{opacity:1;}
  .figmd__pn{position:relative;z-index:1;width:min(96vw,1480px);max-height:94vh;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    border-radius:22px;border:1px solid rgba(255,255,255,.14);
    background:radial-gradient(ellipse 60% 46% at 76% 6%,rgba(4,120,87,.34),transparent 62%),#03150F;
    box-shadow:0 60px 150px -46px rgba(0,0,0,.82);
    padding:26px clamp(14px,1.8vw,28px) clamp(18px,2vw,26px);
    opacity:0;transform:translateY(18px);
    transition:opacity .42s cubic-bezier(.22,1,.3,1),transform .42s cubic-bezier(.22,1,.3,1);}
  .figmd.on .figmd__pn{opacity:1;transform:none;}
  .figmd__eb{font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:.26em;
    color:#5EEAD4;text-align:center;margin-bottom:9px;}
  .figmd__h{margin:0 0 16px;text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;
    font-weight:900;font-size:clamp(17px,1.6vw,24px);line-height:1.45;letter-spacing:-.01em;color:#fff;}
  .figmd__slot{border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03);}
  .figmd__slot>*{border-radius:16px;}
  .figmd__ds{margin:16px auto 0;max-width:900px;text-align:center;
    font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;font-size:14px;line-height:1.85;
    color:rgba(255,255,255,.72);}
  @media(max-width:760px){
    .figmd__pn{padding:20px 10px 16px;border-radius:16px;}
    .figmd__ds{font-size:13px;}
  }

  .wkfig{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:linear-gradient(45deg,#D5F1E5 0%,#F6FCF9 50%,#D3F0E4 100%);
    --wk-navy:#020749;--wk-blue:#072DCD;--wk-head:#0F2E9A;--wk-panel:#F4FBF8;--wk-panel-bd:#BDE6D5;}
  .wkfig *{box-sizing:border-box;}
  .wkfig__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .wkfig__stage>*{position:absolute;}
  .wkfig__bg,.wkfig__fx{left:0;top:0;width:1536px;height:864px;pointer-events:none;}
  .wkfig__bg{z-index:1;} .wkfig__fx{z-index:4;}
  .wkfig__panel{top:178px;height:476px;border-radius:20px;z-index:2;background:var(--wk-panel);
    border:1.5px solid var(--wk-panel-bd);box-shadow:0 10px 26px rgba(6,70,52,.07);}
  .wkfig__p1{left:27px;width:560px;} .wkfig__p2{left:608px;width:438px;} .wkfig__p3{left:1066px;width:438px;}
  .wkfig__img{z-index:3;}
  .wkfig__img img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0;}
  .wkfig__c{transform:translateX(-50%);text-align:center;white-space:nowrap;z-index:5;}
  .wkfig__title{left:36px;top:30px;width:1500px;margin:0;z-index:5;text-align:center;font-weight:900;
    font-size:52px;line-height:62px;letter-spacing:-.01em;color:var(--wk-navy);white-space:nowrap;}
  .wkfig__head,.wkfig__cyc{margin:0;font-weight:900;font-size:28px;line-height:40px;
    letter-spacing:-.01em;color:var(--wk-head);}
  .wkfig__foot{font-weight:900;font-size:48.5px;line-height:60px;letter-spacing:-.005em;color:var(--wk-navy);}
  .wkfig .b{color:var(--wk-blue);}
  .wkfig__num{z-index:5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
    font-weight:900;font-family:'Archivo','Zen Kaku Gothic New',sans-serif;transform:translate(-50%,-50%);
    box-shadow:0 4px 10px rgba(10,30,80,.28);text-shadow:0 1px 1px rgba(0,0,0,.18);}
  .wkfig__num--1{left:385px;top:738px;width:40px;height:40px;font-size:23px;
    background:radial-gradient(120% 120% at 32% 24%,#4C8BFF,#0936D5 70%);}
  .wkfig__num--2{left:762px;top:747px;width:44px;height:44px;font-size:25px;
    background:radial-gradient(120% 120% at 32% 24%,#FF5A55,#E90C0E 70%);}
  .wkfig__num--3{left:1147px;top:738px;width:40px;height:40px;font-size:23px;
    background:radial-gradient(120% 120% at 32% 24%,#FFB84D,#F08D04 70%);}

  /* ==================== Coo&RIKU AI検索 図版 ==================== */
  .crfig{position:relative;width:100%;aspect-ratio:1536/864;overflow:hidden;
    font-family:'Zen Kaku Gothic New',sans-serif;
    background:radial-gradient(80% 60% at 96% 62%,#DFF5EC 0%,rgba(223,245,236,0) 70%),
               radial-gradient(60% 50% at 4% 92%,#E0F6EE 0%,rgba(224,246,238,0) 70%),#F9FDFB;
    --cr-navy:#01021D;--cr-blue:#072EBC;--cr-cardtitle:#0D1E8C;--cr-ink:#151515;}
  .crfig *{box-sizing:border-box;}
  .crfig__stage{position:absolute;top:0;left:0;width:1536px;height:864px;transform-origin:top left;}
  .crfig__stage>*{position:absolute;}
  .crfig__bg,.crfig__fx{left:0;top:0;width:1536px;height:864px;pointer-events:none;}
  .crfig__bg{z-index:1;} .crfig__fx{z-index:5;}
  .crfig__img{z-index:3;}
  .crfig__img img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0;}
  .crfig__c{transform:translateX(-50%);text-align:center;white-space:nowrap;z-index:4;}
  .crfig__title{left:36px;top:/*30*/66px;width:1464px;margin:0;z-index:5;text-align:center;font-weight:900;
    font-size:/*52*/50px;line-height:62px;letter-spacing:-.01em;color:var(--cr-navy);white-space:nowrap;}
  .crfig__sub{margin:0;font-weight:900;font-size:32px;line-height:44px;letter-spacing:-.01em;color:var(--cr-navy);}
  .crfig__bottom{font-weight:900;font-size:33px;line-height:46px;letter-spacing:-.01em;color:var(--cr-navy);}
  .crfig .b{color:var(--cr-blue);}
  .crfig__pill{top:184px;height:34px;border-radius:17px;z-index:4;display:flex;align-items:center;
    justify-content:center;background:linear-gradient(180deg,#0A1B4E,#010631);color:#fff;
    font-weight:900;font-size:19.5px;letter-spacing:.005em;box-shadow:0 4px 12px rgba(4,20,70,.26);}
  .crfig__ptHead{left:1157px;top:196px;margin:0;z-index:4;font-weight:900;font-size:25px;
    line-height:34px;letter-spacing:-.01em;color:#0720A5;white-space:nowrap;}
  .crfig__ptLine{left:1360px;top:214px;width:100px;height:2px;z-index:4;
    background:linear-gradient(90deg,rgba(23,60,180,.55),rgba(23,60,180,.12));}
  .crfig__chk{left:1132px;width:22px;height:22px;z-index:4;}
  .crfig__bul{left:1163px;margin:0;z-index:4;font-weight:700;font-size:18px;line-height:25px;
    letter-spacing:-.01em;color:#0E0E10;white-space:nowrap;}
  .crfig__box{left:1113px;top:458px;width:353px;height:298px;border-radius:16px;z-index:2;
    background:linear-gradient(165deg,#0D2360 0%,#081749 55%,#050F35 100%);
    border:1px solid rgba(120,170,255,.32);box-shadow:0 14px 34px rgba(6,22,70,.30);}
  .crfig__boxH{left:1113px;top:469px;width:353px;margin:0;z-index:4;text-align:center;
    font-weight:900;font-size:20.5px;line-height:28px;color:#fff;white-space:nowrap;}
  .crfig__card{left:1131px;width:324px;height:66px;border-radius:14px;z-index:3;
    background:linear-gradient(180deg,#ffffff,#F4F8FF);box-shadow:0 3px 8px rgba(0,10,40,.22);}
  .crfig__cardT{left:1156px;margin:0;z-index:4;font-weight:900;font-size:18.5px;line-height:26px;
    letter-spacing:-.01em;color:var(--cr-cardtitle);white-space:nowrap;}
  .crfig__cardD{left:1156px;margin:0;z-index:4;font-weight:700;font-size:16px;line-height:22px;
    letter-spacing:-.01em;color:var(--cr-ink);white-space:nowrap;}


  /* ---- Analytics / LTV Insight：2枚の図版を同じ見え方に揃える ---- */
  .ca-split .ca-fig{aspect-ratio:1536/924;overflow:hidden;}
  .ca-split .ca-fig img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
  /* ---- 「業務を軽くするAI」のリードは折り返さない（PC） ---- */
  @media(min-width:1120px){
    #operations .ca-lead{white-space:nowrap;}
  }

  /* =========================================================================
     ECOSYSTEM MAP：画像版（カード上部に横長ビジュアル）
     ========================================================================= */
  .eco2--img .eco2-c{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;}
  .eco2--img .eco2-ph{grid-column:1;grid-row:1;aspect-ratio:900/394;height:auto;}
  .eco2--img .eco2-bd{grid-column:1;grid-row:2;padding:15px 20px 17px;}
  .eco2--img .eco2-ph:after{
    background:linear-gradient(180deg,rgba(255,255,255,0) 52%,rgba(255,255,255,0.72) 84%,rgba(255,255,255,0.96) 100%);}
  .eco2--img .eco2-col--r .eco2-c{grid-template-columns:1fr;}
  .eco2--img .eco2-col--r .eco2-ph{grid-column:1;grid-row:1;}
  .eco2--img .eco2-col--r .eco2-bd{grid-column:1;grid-row:2;}
  .eco2--img .eco2-col--r .eco2-ph:after{
    background:linear-gradient(180deg,rgba(255,255,255,0) 52%,rgba(255,255,255,0.72) 84%,rgba(255,255,255,0.96) 100%);}
  .eco2--img .eco2-av{margin:-30px 0 8px;position:relative;z-index:2;}
  .eco2--img .eco2-ds{font-size:12.6px;line-height:1.72;}
  .eco2--img .eco2-tg{margin-top:9px;}
  .eco2--img .eco2-col{align-content:start;gap:20px;}
  .eco2--img .eco2-core{align-self:center;}
  @media(max-width:760px){
    .eco2--img .eco2-bd{padding:13px 15px 15px;}
    .eco2--img .eco2-av{margin:-26px 0 7px;}
  }

  /* =========================================================================
     画像版・ワイド画面（1500px以上）：ファーストビューに収める2段アーチ配置
     外側 = visumo / Sechstant（縦中央）、内側 = 上下2枚ずつ
     ========================================================================= */
  @media(min-width:1500px){
    .eco2--img{width:min(1640px,calc(100vw - 72px));}
    .eco2-wrap{padding-top:46px;padding-bottom:60px;}
    .eco2-sec .eco2-hd{margin-bottom:32px;}

    .eco2--img .eco2-map{
      grid-template-columns:minmax(0,1fr) minmax(0,1.02fr) minmax(360px,430px) minmax(0,1.02fr) minmax(0,1fr);
      grid-template-rows:auto auto;
      align-items:center;gap:38px 22px;}
    .eco2--img .eco2-col{display:contents;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(1){grid-column:2;grid-row:1;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(2){grid-column:1;grid-row:1 / span 2;align-self:center;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(3){grid-column:2;grid-row:2;}
    .eco2--img .eco2-core{grid-column:3;grid-row:1 / span 2;align-self:stretch;min-height:0;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(1){grid-column:4;grid-row:1;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(2){grid-column:5;grid-row:1 / span 2;align-self:center;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(3){grid-column:4;grid-row:2;}

    /* 文字と画像は通常サイズに近づける（下段バンドはファーストビュー外でOK） */
    .eco2--img .eco2-ph{aspect-ratio:900/394;}
    .eco2--img .eco2-bd{padding:15px 19px 16px;}
    .eco2--img .eco2-av{margin:-28px 0 7px;}
    .eco2--img .eco2-nm{font-size:21px;}
    .eco2--img .eco2-ds{font-size:13px;line-height:1.74;margin-top:8px;}
    .eco2--img .eco2-tg{margin-top:10px;}
    .eco2--img .eco2-tg li{font-size:11.2px;padding:4px 9px;}
    .eco2--img .eco2-lgd{margin-top:18px;}
    .eco2--img .eco2-ft{margin-top:24px;}
    /* Commerce OS のタグ：ワイド時はカード幅が足りないため折り返す（見切れ防止） */
    .eco2--img .eco2-tg1{flex-wrap:wrap;}
    .eco2--img .eco2-tg{max-width:100%;}

    /* ---- オンマウスでカードを拡大（従来サイズ相当まで） ---- */
    .eco2--img .eco2-cw{transition:z-index 0s;}
    .eco2--img .eco2-cw:hover{z-index:9;}
    .eco2--img .eco2-c{transform-origin:center center;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(1) .eco2-c{transform-origin:center top;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(1) .eco2-c{transform-origin:center top;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(3) .eco2-c{transform-origin:center bottom;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(3) .eco2-c{transform-origin:center bottom;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(2) .eco2-c{transform-origin:left center;}
    .eco2--img .eco2-col--r .eco2-cw:nth-child(2) .eco2-c{transform-origin:right center;}
    .eco2--img .eco2-cw:hover .eco2-c{
      transform:scale(1.36);
      box-shadow:0 44px 88px -32px rgba(6,52,38,0.52);
      border-color:var(--c);
      background-color:#FFFFFF;}
    .eco2--img .eco2-cw:hover .eco2-ph img{transform:none;}
    .eco2--img .eco2-cw:hover .eco2-ph:after{
      background:linear-gradient(180deg,rgba(255,255,255,0) 52%,rgba(255,255,255,0.86) 84%,#FFFFFF 100%);}
    .eco2--img .eco2-cw:hover .eco2-ic{opacity:0;transition:opacity .25s ease;}

    /* 外側カード（visumo / Sechstant）：縦中央・高さは内容ぶんだけ */
    .eco2--img .eco2-col--l .eco2-cw:nth-child(2),
    .eco2--img .eco2-col--r .eco2-cw:nth-child(2){height:auto;}
    .eco2--img .eco2-col--l .eco2-cw:nth-child(2) .eco2-ph,
    .eco2--img .eco2-col--r .eco2-cw:nth-child(2) .eco2-ph{aspect-ratio:900/376;}
  }

  /* =========================================================================
     画像版 案2：初期は説明文なし＋画像大きめ／オンマウスで説明文を表示
     カード高さを固定しているため、ホバーでレイアウトがずれない
     ========================================================================= */
  .eco2--img2 .eco2-c{--cardh:368px;--phh:228px;height:var(--cardh);grid-template-rows:auto 1fr;}
  .eco2--img2 .eco2-ph{aspect-ratio:auto;height:var(--phh);
    transition:height .5s cubic-bezier(.16,.84,.44,1);}
  .eco2--img2 .eco2-bd{justify-content:flex-start;min-height:0;}
  .eco2--img2 .eco2-en{margin-top:2px;}
  .eco2--img2 .eco2-tg{margin-top:auto;row-gap:5px;}
  .eco2--img2 .eco2-ds{max-height:0;opacity:0;margin-top:0;overflow:hidden;
    transition:max-height .5s cubic-bezier(.16,.84,.44,1),opacity .34s ease,margin-top .5s ease;}
  .eco2--img2 .eco2-cw:hover .eco2-c{--phh:138px;}
  .eco2--img2 .eco2-cw:hover .eco2-ds{max-height:120px;opacity:1;margin-top:8px;}
  .eco2--img2 .eco2-tg{margin-top:auto;}
  @media(min-width:1500px){
    .eco2--img2 .eco2-c{--cardh:304px;--phh:168px;}
    .eco2--img2 .eco2-cw:hover .eco2-c{--phh:92px;}
    .eco2--img2 .eco2-cw:hover .eco2-ds{max-height:112px;}
    /* 外側カード（visumo / Sechstant）も同じ高さに揃える */
    .eco2--img2 .eco2-col--l .eco2-cw:nth-child(2) .eco2-ph,
    .eco2--img2 .eco2-col--r .eco2-cw:nth-child(2) .eco2-ph{aspect-ratio:auto;}
  }
  @media(prefers-reduced-motion: reduce){
    .eco2--img2 .eco2-ph,.eco2--img2 .eco2-ds{transition:none!important;}
  }

  /* ---- 案2：タイトル帯は中央揃えの縦積み ---- */
  @media(min-width:1100px){
    .eco2-sec .eco2--img2 .eco2-hd{display:block;max-width:1040px;margin:0 auto 30px;text-align:center;}
    .eco2-sec .eco2--img2 .eco2-h{grid-column:auto;grid-row:auto;margin:0 0 14px;white-space:nowrap;}
    .eco2-sec .eco2--img2 .eco2-s1,
    .eco2-sec .eco2--img2 .eco2-s2{grid-column:auto;grid-row:auto;text-align:center;margin:0;}
    .eco2-sec .eco2--img2 .eco2-s1{margin-bottom:9px;}
  }
  .eco2--img2 .eco2-hc{font-size:1em;}

  /* ---- 案2：カードの大きさは変えず、カード間の余白を広げる ---- */
  .eco2--img2 .eco2-col{gap:26px;}
  @media(min-width:1500px){
    /* 余白を広げたぶん外枠を広げるので、カード幅は従来どおり */
    .eco2--img2{width:min(1744px,calc(100vw - 56px));}
    .eco2--img2 .eco2-map{gap:46px 48px;}
  }

  /* ---- 案2：上余白を詰めて、カード間の余白に振り替える ---- */
  @media(min-width:1500px){
    .eco2-wrap{padding-top:26px;}
    .eco2-sec .eco2--img2 .eco2-hd{margin-bottom:26px;}
    .eco2--img2{width:min(1776px,calc(100vw - 56px));}
    .eco2--img2 .eco2-map{gap:60px 56px;}
  }

  /* ---- 案2：タイトル＋サブコピーを中央サークル上部の空きに収める ---- */
  @media(min-width:1500px){
    .eco2-wrap{padding-top:34px;}
    .eco2-sec .eco2--img2 .eco2-hd{position:relative;z-index:5;pointer-events:none;
      max-width:700px;margin:0 auto -76px;}
    .eco2-sec .eco2--img2 .eco2-h{margin:0 0 12px;}
    .eco2-sec .eco2--img2 .eco2-s1{margin:0 0 8px;line-height:1.55;}
    .eco2-sec .eco2--img2 .eco2-s2{line-height:1.55;}
    .eco2--img2 .eco2-map{gap:72px 56px;}
  }

  /* ---- 案2：タイトルを大きく＋上部に小さく ecbeing を重ねる ---- */
  .eco2-brandmk{position:relative;z-index:2;margin:0 0 -6px;text-align:center;
    font-family:'Archivo',system-ui,sans-serif;font-weight:800;line-height:1;
    font-size:clamp(13px,1.35vw,19px);letter-spacing:.14em;color:#3C6A5B;
    animation:ecofade .9s cubic-bezier(.22,1,.3,1) .1s backwards;}
  .eco2--img2 .eco2-h{font-size:clamp(34px,5.2vw,68px);}
  @media(min-width:1500px){
    .eco2-brandmk{margin:0 0 -9px;}
    .eco2-sec .eco2--img2 .eco2-h{margin:0 0 14px;}
  }
  @media(max-width:760px){
    .eco2-brandmk{margin:0 0 -4px;letter-spacing:.12em;}
  }

  /* ---- 案2：コアがグリーンのため中身は白抜き ---- */
  .eco2--img2 .eco2-ct{color:#FFFFFF;text-shadow:0 1px 2px rgba(3,45,33,0.30),0 3px 16px rgba(3,45,33,0.35);}
  /* 「一元管理・資産化」は沈ませない：純白・やや大きく・輪郭を締める */
  .eco2--img2 .eco2-hl{display:inline-block;background:none;-webkit-background-clip:border-box;
    background-clip:border-box;color:#FFFFFF;font-size:1.08em;font-weight:900;letter-spacing:.005em;
    text-shadow:0 1px 2px rgba(3,45,33,0.30),0 3px 16px rgba(3,45,33,0.35);}
  .eco2--img2 .eco2-nt{color:#FFFFFF;text-shadow:0 1px 2px rgba(3,45,33,0.42),0 2px 12px rgba(3,45,33,0.55);}
  .eco2--img2 .eco2-dc{background:rgba(255,255,255,0.97);border-color:rgba(255,255,255,0.5);
    box-shadow:0 18px 36px -18px rgba(3,45,33,0.5);}
  .eco2--img2 .eco2-dl{color:#0E8F6B;}
  .eco2--img2 .eco2-lg img{filter:drop-shadow(0 1px 8px rgba(4,60,44,0.35));}

  /* ---- ヘッダー上段：ユーティリティバー（既存サイトと同じ2段構成） ---- */
  .sx-util{border-bottom:1px solid rgba(11,20,17,0.06);background:rgba(255,255,255,0.62);}
  .sx-util-in{max-width:1280px;margin:0 auto;padding:0 40px;height:34px;
    display:flex;align-items:center;justify-content:flex-end;gap:18px;}
  .sx-util-in a{transition:color .2s ease;}
  .sx-util-in a:hover{color:#047857;}
  .sx-util-tel{font-family:'Archivo',system-ui,sans-serif;font-size:14.5px;font-weight:800;
    letter-spacing:.02em;color:#0B3B2C;text-decoration:none;}
  .sx-util-sep{width:1px;height:14px;background:rgba(11,20,17,0.14);}
  .sx-dtel{margin-top:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.16);
    font-family:'Archivo',system-ui,sans-serif;letter-spacing:.01em;}
  .sx-hbrand{gap:34px!important;}
  @media(max-width:960px){
    .sx-util{display:none;}
  }


  /* ================= <= 960px : スマホ / 小型タブレット ================= */
  @media(max-width:960px){
      /* ---------- FOOTER ---------- */
    .ft-grid{grid-template-columns:1fr!important;gap:32px!important;padding:56px 20px 36px!important;}
    .ft-bot{padding:20px!important;}
  }

/* ============ FOOTER（現行のリンク構成 × 新デザイン） ============ */
  .ft-sec{background:linear-gradient(180deg,#03150F 0%,#04231A 100%);color:#fff;}
  .ft-grid{max-width:1560px;margin:0 auto;padding:84px clamp(20px,4vw,72px) 44px;display:grid;
    grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,56px);}
  .ft-logo{height:30px;width:auto;display:block;margin-bottom:20px;filter:brightness(0) invert(1);}
  .ft-lead{margin:0;max-width:400px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13.5px;
    line-height:1.9;color:rgba(255,255,255,0.58);font-weight:500;}
  .ft-nav3{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
  .ft-pill{text-decoration:none;padding:8px 15px;border-radius:999px;font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:12.5px;font-weight:800;color:rgba(255,255,255,0.9);
    background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.18);transition:all .3s ease;}
  .ft-pill:hover{background:rgba(16,185,129,0.18);border-color:rgba(94,234,212,0.5);color:#fff;}
  .ft-pill--on{background:linear-gradient(115deg,#047857,#10B981);border-color:transparent;}
  .ft-tel{display:inline-flex;flex-direction:column;gap:3px;margin-top:24px;text-decoration:none;
    font-family:'Archivo',sans-serif;font-size:21px;font-weight:800;letter-spacing:.02em;color:#fff;}
  .ft-tel span{font-family:'Zen Kaku Gothic New',sans-serif;font-size:11.5px;font-weight:700;
    letter-spacing:.06em;color:rgba(255,255,255,0.45);}
  .ft-h{font-family:'Archivo',sans-serif;font-size:11px;font-weight:800;letter-spacing:.18em;
    color:rgba(255,255,255,0.42);margin-bottom:18px;}
  .ft-ls{display:flex;flex-direction:column;gap:11px;}
  .ft-l{text-decoration:none;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13.5px;font-weight:600;
    line-height:1.55;color:rgba(255,255,255,0.82);transition:color .25s ease,transform .25s ease;}
  .ft-l:hover{color:#5EEAD4;transform:translateX(2px);}
  .ft-l2{padding-left:14px;font-size:12.5px;color:rgba(255,255,255,0.6);position:relative;}
  .ft-l2:before{content:'└';position:absolute;left:0;top:0;color:rgba(255,255,255,0.3);font-size:11px;}
  .ft-sub{margin-top:6px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13.5px;font-weight:700;
    color:rgba(255,255,255,0.82);}

  .ft-guide{max-width:1560px;margin:0 auto;padding:0 clamp(20px,4vw,72px) 44px;display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.6vw,44px);
    border-top:1px solid rgba(255,255,255,0.09);padding-top:40px;}
  .ft-gh{font-family:'Zen Kaku Gothic New',sans-serif;font-size:12.5px;font-weight:800;letter-spacing:.04em;
    color:#5EEAD4;margin-bottom:14px;}
  .ft-guide .ft-l{font-size:12.8px;color:rgba(255,255,255,0.7);}

  .ft-about{border-top:1px solid rgba(255,255,255,0.09);}
  .ft-about-in{max-width:1560px;margin:0 auto;padding:36px clamp(20px,4vw,72px);}
  .ft-ah{font-family:'Zen Kaku Gothic New',sans-serif;font-size:13.5px;font-weight:800;color:rgba(255,255,255,0.9);
    margin-bottom:10px;}
  .ft-at{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:12px;line-height:1.9;
    color:rgba(255,255,255,0.52);font-weight:500;}
  .ft-at2{margin-top:10px;max-width:1000px;color:rgba(255,255,255,0.4);font-size:11.5px;}

  .ft-botwrap{border-top:1px solid rgba(255,255,255,0.09);}
  .ft-bot{max-width:1560px;margin:0 auto;padding:22px clamp(20px,4vw,72px);display:flex;align-items:center;
    justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .ft-pls{display:flex;flex-wrap:wrap;gap:8px 22px;}
  .ft-pl{text-decoration:none;font-family:'Zen Kaku Gothic New',sans-serif;font-size:11.8px;font-weight:600;
    color:rgba(255,255,255,0.55);transition:color .25s ease;}
  .ft-pl:hover{color:#5EEAD4;}
  .ft-cp{font-family:'Archivo',sans-serif;font-size:11.5px;color:rgba(255,255,255,0.38);letter-spacing:.02em;}

  @media(max-width:1180px){
    .ft-grid{grid-template-columns:1fr 1fr;gap:34px;padding-top:64px;}
    .ft-brand{grid-column:1 / -1;}
    .ft-guide{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:640px){
    .ft-grid{grid-template-columns:1fr;gap:30px;padding:52px 20px 32px;}
    .ft-guide{grid-template-columns:1fr;padding:32px 20px 32px;gap:26px;}
    .ft-about-in{padding:28px 20px;}
    .ft-bot{padding:20px;flex-direction:column;align-items:flex-start;}
    .ft-tel{font-size:19px;}
  }


