/* main_wrapper_inner_ に元のラッパー div のスタイルを移設 */
.main_wrapper_inner_{font-family:'Archivo','Zen Kaku Gothic New',sans-serif;width:100%;overflow-x:hidden;}


  *{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}

  /* ---- AI x OPERATIONS : scroll reveal per node ---- */
  #sxOps .sx-node{opacity:0;transform:translate(0px,22px);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.8,.2,1);}
  #sxOps.sx-in .sx-node{opacity:1;transform:translate(0px,0px);}

  /* ---- shared generative canvas wrapper ---- */
  /* hero: メインコピー2行目を途中で折り返さない */
  .hb-nowrap{white-space:nowrap;}
  @media(max-width:700px){.hb-nowrap{white-space:normal;}}
  /* ACP: 3原則カード */
  .sx-prs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .sx-pr{position:relative;overflow:hidden;border-radius:22px;padding:30px 30px 28px;
    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 -30px rgba(16,185,129,0.55),inset 0 1px 0 rgba(255,255,255,0.12);
    transition:transform .45s cubic-bezier(.22,1,.3,1),box-shadow .45s,border-color .45s;}
  .sx-pr:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,#10B981,#5EEAD4,#4FD9A8);}
  .sx-pr:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;
    background:radial-gradient(circle,rgba(94,234,212,0.22),transparent 66%);pointer-events:none;
    animation:sxprglow 6s ease-in-out infinite;}
  .sx-pr:hover{transform:translateY(-6px);border-color:rgba(94,234,212,0.6);
    box-shadow:0 34px 74px -28px rgba(16,185,129,0.7),inset 0 1px 0 rgba(255,255,255,0.16);}
  @keyframes sxprglow{0%,100%{opacity:.55;}50%{opacity:1;}}
  .sx-pr-tt{position:relative;z-index:1;margin:0 0 14px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:22px;line-height:1.55;color:#fff;letter-spacing:0.01em;}
  .sx-pr-ds{position:relative;z-index:1;margin:0;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);}
  @media(max-width:900px){.sx-prs{grid-template-columns:1fr;}}
  /* セクション背面のアニメーション背景 */
  /* 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;}

  /* PC=横長SVG図 / SP=縦のHTML図 の出し分け */
  .ops-fig{display:block;}
  .ops-sp{display:none;}
  .acp-fig{display:block;}
  .acp-sp,.acp-sp2{display:none;}

  /* ---- AI × OPERATIONS : SP専用 縦フロー（.ops-sp） ---- */
  .ops-sp{flex-direction:column;margin:0;}
  .ops-st{position:relative;display:flex;align-items:flex-start;gap:14px;padding:0 0 20px;}
  .ops-st:last-child{padding-bottom:0;}
  .ops-st:not(:last-child):before{content:"";position:absolute;left:21px;top:46px;bottom:2px;width:2px;border-radius:2px;
    background:linear-gradient(180deg,#10B981,rgba(94,234,212,0.28));}
  .ops-ic{position:relative;z-index:1;flex:none;width:44px;height:44px;border-radius:50%;background:#fff;
    border:1.5px solid rgba(16,185,129,0.34);box-shadow:0 10px 24px -16px rgba(8,32,26,0.4);
    display:flex;align-items:center;justify-content:center;}
  .ops-tx{min-width:0;padding-top:3px;}
  .ops-tt{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:16px;line-height:1.5;color:#0A1F19;}
  .ops-sb{margin-top:3px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:600;font-size:12.5px;line-height:1.6;color:#7C9A90;}

  /* ---- AGENTIC COMMERCE PLATFORM : SP専用 縦構成（.acp-sp / .acp-sp2） ---- */
  .acp-sp{flex-direction:column;align-items:stretch;gap:12px;}
  .acp-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;}
  .acp-ch4{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .acp-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;}
  .acp-arr{text-align:center;line-height:1;font-family:'Archivo',sans-serif;font-size:18px;color:#5EEAD4;}
  .acp-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;}
  .acp-ac{color:#5EEAD4;}
  .acp-sep{color:rgba(255,255,255,0.5);}
  .acp-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);}
  .acp-pl{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.16em;color:#5EEAD4;text-align:center;}
  .acp-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);}
  .acp-ct{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:16px;line-height:1.5;color:#fff;}
  .acp-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);}
  .acp-link{text-align:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;font-size:12.5px;color:#5EEAD4;}
  .acp-sp2{justify-content:center;margin:14px 0;line-height:1;font-family:'Archivo',sans-serif;font-size:18px;color:#5EEAD4;}

  /* ================= <= 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 88px!important;}
    #heroVideo{object-position:64% 58%!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 STUDIES ---------- */
    .cs-sec{padding:64px 20px!important;}
    .cs-head{flex-direction:column!important;align-items:flex-start!important;gap:16px!important;margin-bottom:32px!important;}
    .cs-h{font-size:25px!important;line-height:1.4!important;}
    .cs-lead{font-size:14.5px!important;line-height:1.8!important;}
    .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;}

    /* ---------- 6. AI × OPERATIONS ---------- */
    .ops-wrap{padding:64px 20px!important;}
    .ops-head{margin-bottom:28px!important;}
    .ops-h{font-size:25px!important;line-height:1.45!important;}
    .ops-lead{font-size:15px!important;line-height:1.8!important;}
    .ops-fig{display:none!important;}
    .ops-sp{display:flex!important;}
    .ops-cards{grid-template-columns:1fr!important;gap:14px!important;margin-top:30px!important;}
    .ops-card{padding:20px 18px!important;}
    .ops-card h3{font-size:17px!important;}

    /* ---------- 7. AGENTIC COMMERCE PLATFORM ---------- */
    .acp-wrap{padding:64px 20px!important;}
    .acp-head{margin-bottom:28px!important;}
    .acp-h{font-size:25px!important;line-height:1.45!important;}
    .acp-lead{font-size:15px!important;line-height:1.8!important;}
    .acp-fig{display:none!important;}
    .acp-conn{display:none!important;}
    .acp-sp{display:flex!important;}
    .acp-sp2{display:flex!important;}
    .acp-prs-wrap{margin-top:0!important;}
    .sx-prs{grid-template-columns:1fr!important;gap:14px!important;}
    .sx-pr{padding:22px 20px 20px!important;border-radius:18px!important;}
    .sx-pr-tt{font-size:19px!important;margin-bottom:10px!important;}
    .sx-pr-ds{font-size:14.5px!important;line-height:1.85!important;}
    .acp-out{flex-wrap:wrap!important;justify-content:center!important;text-align:center!important;
      padding:16px 20px!important;border-radius:16px!important;font-size:16px!important;}
    .acp-quote{font-size:19px!important;line-height:1.85!important;margin-top:44px!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,.cs-h,.ops-h,.acp-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;}
    .acp-ch{font-size:13px!important;padding:12px 6px;}
    .acp-chip{font-size:13.5px!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){
    #sxOps .sx-node{opacity:1!important;transform:none!important;transition:none!important;}
    .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;}
  }

  /* ---- ヘッダー上段：ユーティリティバー（既存サイトと同じ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;}
  }

  /* ============ NEWS（お知らせ）：左に見出し／右に大きめカードの横スクロール ============ */
  .nw-sec{position:relative;background:linear-gradient(180deg,#F7FDFA 0%,#FFFFFF 38%,#F2FBF6 100%);
    border-top:1px solid rgba(11,20,17,0.05);overflow:hidden;}
  .nw-wrap{max-width:none;margin:0;padding:88px 0 92px;display:grid;
    grid-template-columns:clamp(230px,19vw,300px) minmax(0,1fr);
    column-gap:clamp(30px,3.6vw,72px);row-gap:0;align-items:start;}
  .nw-side{padding-left:clamp(20px,4vw,72px);}
  .nw-eb{font-family:'Archivo',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.2em;color:#10B981;margin-bottom:14px;}
  .nw-h{margin:0;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(46px,5.4vw,72px);
    line-height:.94;letter-spacing:-.03em;color:#0A1F19;}
  .nw-jp{margin:12px 0 0;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:15px;
    letter-spacing:.14em;color:#5A6B64;}
  .nw-catbox{margin-top:34px;}
  .nw-catttl{font-family:'Archivo',sans-serif;font-size:11px;font-weight:800;letter-spacing:.18em;color:#0A1F19;margin-bottom:12px;}
  .nw-catlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
  .nw-catlist a{position:relative;display:inline-block;padding-left:14px;text-decoration:none;
    font-family:'Zen Kaku Gothic New',sans-serif;font-size:13.5px;font-weight:700;color:#375C50;
    transition:color .25s ease,transform .25s ease;}
  .nw-catlist a:before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:1px;
    background:#10B981;transform:rotate(45deg);}
  .nw-catlist a:hover{color:#047857;transform:translateX(2px);}
  .nw-nav{display:flex;align-items:center;gap:6px;margin-top:36px;padding:7px;width:max-content;
    background:#FFFFFF;border:1px solid rgba(11,20,17,0.08);border-radius:999px;
    box-shadow:0 12px 30px -22px rgba(6,52,38,0.4);}
  .nw-arw{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#0A1F19;
    display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
    transition:background-color .25s ease,color .25s ease,opacity .25s ease;}
  .nw-arw:hover{background:#0A1F19;color:#FFFFFF;}
  .nw-arw[disabled]{opacity:.28;cursor:default;}
  .nw-arw[disabled]:hover{background:transparent;color:#0A1F19;}
  .nw-all{margin-top:26px;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;
    padding-bottom:5px;border-bottom:1.5px solid rgba(4,120,87,0.28);}
  .nw-all:hover{border-color:#10B981;}

  /* 右：横スクロールのレール */
  .nw-rail{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;
    padding:6px clamp(20px,4vw,72px) 18px 0;scrollbar-width:none;-ms-overflow-style:none;}
  .nw-rail::-webkit-scrollbar{display:none;}
  .nw-rail:focus-visible{outline:2px solid #10B981;outline-offset:4px;}
  .nw-track{display:flex;gap:clamp(20px,2.2vw,34px);width:max-content;}
  .nw-card{position:relative;flex:0 0 auto;width:clamp(240px,22vw,330px);scroll-snap-align:start;
    display:flex;flex-direction:column;text-decoration:none;}
  /* サムネイルは16:9のため、スクエア枠の中に全体を収めて上下中央に置く */
  .nw-ph{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:22px;padding:12px;
    background:linear-gradient(160deg,#F5FBF8 0%,#E9F6F0 100%);
    border:1px solid rgba(11,20,17,0.06);
    box-shadow:0 18px 40px -26px rgba(6,52,38,0.42);
    transition:transform .5s cubic-bezier(.16,.84,.44,1),box-shadow .5s ease;}
  .nw-ph img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);
    object-fit:contain;object-position:50% 50%;display:block;border-radius:12px;
    transition:transform 1.1s cubic-bezier(.16,.84,.44,1);}
  .nw-card:hover .nw-ph{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(6,52,38,0.5);}
  .nw-card:hover .nw-ph img{transform:scale(1.035);}
  .nw-new{position:absolute;left:12px;top:12px;z-index:2;width:46px;height:46px;border-radius:50% 50% 50% 4px;
    display:flex;align-items:center;justify-content:center;
    font-family:'Archivo',sans-serif;font-size:11px;font-weight:800;letter-spacing:.04em;color:#FFFFFF;
    background:linear-gradient(135deg,#10B981,#047857);box-shadow:0 8px 18px -8px rgba(4,120,87,.8);}
  .nw-date{margin-top:20px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:14.5px;font-weight:800;
    letter-spacing:.04em;color:#0A1F19;}
  .nw-tt{margin-top:10px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:15.5px;font-weight:700;
    line-height:1.75;color:#0A1F19;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
    transition:color .3s ease;}
  .nw-card:hover .nw-tt{color:#047857;}
  .nw-cat{margin-top:12px;font-family:'Zen Kaku Gothic New',sans-serif;font-size:12.5px;font-weight:700;
    color:var(--nc,#047857);}
  .nw-cat:before{content:'（';} .nw-cat:after{content:'）';}

  @media(max-width:1180px){
    .nw-wrap{padding:72px 0 76px;grid-template-columns:1fr;column-gap:0;row-gap:28px;}
    .nw-side{padding-right:clamp(20px,4vw,72px);display:grid;grid-template-columns:1fr auto;align-items:end;
      column-gap:20px;}
    .nw-eb,.nw-h,.nw-jp{grid-column:1;}
    .nw-catbox{grid-column:1;margin-top:22px;}
    .nw-catlist{flex-direction:row;flex-wrap:wrap;gap:8px 18px;}
    .nw-nav{grid-column:2;grid-row:1 / span 4;align-self:end;margin-top:0;}
    .nw-all{grid-column:1;margin-top:18px;}
    .nw-rail{padding-left:clamp(20px,4vw,72px);scroll-padding-left:clamp(20px,4vw,72px);}
    .nw-card{width:clamp(230px,40vw,300px);}
  }
  @media(max-width:700px){
    .nw-wrap{padding:52px 0 56px;}
    .nw-h{font-size:44px;}
    .nw-card{width:74vw;}
    .nw-tt{font-size:14.5px;}
    .nw-nav{display:none;}
    .nw-rail{scroll-snap-type:x mandatory;}
  }
  @media (prefers-reduced-motion: reduce){
    .nw-rail{scroll-behavior:auto;}
    .nw-ph,.nw-ph img{transition:none!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;}
  }

  /* SOLUTIONS：SPではタイトルの強制改行をやめて1行に（不要な行間の隙間を解消） */
  @media(max-width:960px){
    .sol-tt br{display:none;}
    .sol-tt{line-height:1.35!important;}
  }


.acp-sec{--acprv:clamp(320px,42vw,720px);}
  .acp-rv{position:absolute;z-index:0;top:0;right:0;bottom:0;width:var(--acprv);overflow:hidden;
    pointer-events:none;opacity:.40;
    -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.18) 26%,rgba(0,0,0,0.52) 52%,rgba(0,0,0,0.86) 78%,#000 96%);
    mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.18) 26%,rgba(0,0,0,0.52) 52%,rgba(0,0,0,0.86) 78%,#000 96%);}
  .acp-rv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;}
  .acp-rv:after{content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(3,21,15,0.42) 0%,rgba(3,21,15,0.10) 38%,rgba(3,21,15,0.62) 88%,#03150F 100%);}
  @media(max-width:900px){ .acp-rv{display:none;} }
