/* ============================================================
   Potentialight × Claude Code 人材紹介LP — site.css
   ネイビー #1A2B4B × コーラル #ea580c ＋ ポテンシャライト薄虹。
   白地＋薄虹ブロブ＋動くグリッド。WebGL不使用・CSSアニメ＋IO中心（軽量）。
   実装作法の正本＝pm45-media assets/site.css / style.css から流用・改変。
   ============================================================ */
:root{
  --primary:#1A2B4B; --primary-dk:#0F1A30; --primary-lt:#EEF2F7; --primary-bd:#C5D3E8;
  --accent:#ea580c; --accent-lt:#FFF7ED; --accent-dk:#c2410c;
  --grad-main:linear-gradient(135deg,#1A2B4B 0%,#3E54AC 100%);
  --blue:#1A2B4B; --blue-soft:#EEF2F7; --coral:#ea580c; --coral-soft:#FFF7ED;
  --text:#0D1117; --text-sec:#4b5563; --text-muted:#9ca3af;
  --bg:#F8FAFC; --surface:#fff; --border:#EAEDF0; --border-light:#F3F5F7;
  --radius:12px; --radius-sm:8px;
  --shadow-md:0 10px 25px -5px rgba(0,0,0,.06),0 8px 10px -6px rgba(0,0,0,.04);
  --shadow-lg:0 20px 40px -10px rgba(0,0,0,.08),0 10px 20px -6px rgba(0,0,0,.04);
}
*{box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{margin:0;font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
img{max-width:100%;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}
.f-inter{font-family:'Inter',sans-serif;}

/* ===== リビング背景 ===== */
.bg-live{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.bg-live .blob{position:absolute;border-radius:50%;opacity:.85;will-change:transform;}
.bg-live .b1{width:46vw;height:46vw;left:-12vw;top:-14vw;background:radial-gradient(circle,rgba(79,70,229,.11),rgba(79,70,229,.05) 45%,transparent 70%);animation:drift1 26s ease-in-out infinite alternate;}
.bg-live .b2{width:38vw;height:38vw;right:-10vw;top:18vh;background:radial-gradient(circle,rgba(234,88,12,.10),rgba(234,88,12,.045) 45%,transparent 70%);animation:drift2 31s ease-in-out infinite alternate;}
.bg-live .b3{width:34vw;height:34vw;left:24vw;bottom:-16vw;background:radial-gradient(circle,rgba(13,148,136,.10),rgba(13,148,136,.045) 45%,transparent 70%);animation:drift3 24s ease-in-out infinite alternate;}
@keyframes drift1{from{transform:translate(0,0) scale(1);}to{transform:translate(9vw,7vh) scale(1.14);}}
@keyframes drift2{from{transform:translate(0,0) scale(1.08);}to{transform:translate(-8vw,10vh) scale(.94);}}
@keyframes drift3{from{transform:translate(0,0);}to{transform:translate(10vw,-7vh) scale(1.1);}}
.bg-live .grid{position:absolute;inset:-80px;opacity:.5;
  background-image:linear-gradient(rgba(26,43,75,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,43,75,.05) 1px,transparent 1px);
  background-size:56px 56px;animation:gridmove 40s linear infinite;}
@keyframes gridmove{from{transform:translate(0,0);}to{transform:translate(56px,56px);}}

/* ===== リビール ===== */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);}
.rv-l{transform:translateX(-30px);}.rv-r{transform:translateX(30px);}
.rv.on{opacity:1;transform:translate(0,0);}

/* ===== TextRotate ===== */
[data-rotate]{position:relative;display:inline-flex;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;}
@keyframes trRotIn{from{transform:translateY(100%);}to{transform:translateY(0);}}
@keyframes trRotOut{from{transform:translateY(0);opacity:1;}to{transform:translateY(-120%);opacity:0;}}
.tr-char{display:inline-block;transform:translateY(0);opacity:1;min-width:.08em;}
.tr-char.tr-animin{animation:trRotIn .45s cubic-bezier(.16,1,.3,1) both;}
.tr-ghost .tr-char{animation:trRotOut .45s cubic-bezier(.16,1,.3,1) forwards;}
.tr-ghost{position:absolute;left:0;top:0;display:inline-flex;pointer-events:none;white-space:nowrap;}

/* ===== Floating parallax ===== */
.pf-stage{position:absolute;inset:0;pointer-events:none;transition:opacity .2s linear;}
.pf-el{position:absolute;will-change:transform;}
.pf-el img{object-fit:cover;border-radius:14px;background:#fff;border:1px solid rgba(26,43,75,.12);box-shadow:0 18px 40px -10px rgba(26,43,75,.35);display:block;}
.pf-fadein{opacity:0;animation:pfIn .6s ease forwards;}
@keyframes pfIn{to{opacity:.95;}}

/* ===== Header（透過→スクロールでガラスピル化） ===== */
.header{position:fixed;top:0;left:0;right:0;z-index:200;padding:10px 12px;background:transparent;border:none;pointer-events:none;}
.header-inner{pointer-events:auto;max-width:1160px;margin:0 auto;padding:0 22px;height:62px;display:flex;align-items:center;gap:24px;
  border-radius:999px;border:1px solid transparent;background:transparent;
  transition:background .45s cubic-bezier(.16,1,.3,1),height .45s cubic-bezier(.16,1,.3,1),border-color .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1);}
.header.is-glass .header-inner{background:rgba(255,255,255,.80);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-color:rgba(26,43,75,.10);box-shadow:0 18px 44px -24px rgba(26,43,75,.38);}
.header.is-compact .header-inner{height:54px;}
html.fx-off .header-inner{transition:none;}
.header-gap{height:96px;}
.site-logo{display:flex;align-items:baseline;gap:2px;text-decoration:none;flex-shrink:0;white-space:nowrap;}
.logo-name-main{font-weight:900;font-family:'Inter',sans-serif;font-size:18px;letter-spacing:-.4px;
  background:linear-gradient(120deg,#1A2B4B,#4f46e5 55%,#0d9488);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.logo-name-sub{font-weight:800;color:var(--accent);font-size:11px;letter-spacing:1px;margin-left:8px;}
.header-nav{display:flex;gap:4px;flex:1;align-items:center;justify-content:center;}
.header-nav>a{padding:7px 11px;font-size:13px;font-weight:600;color:var(--text-sec);text-decoration:none;border-radius:var(--radius-sm);transition:all .15s;white-space:nowrap;}
.header-nav>a:hover{color:var(--blue);background:var(--blue-soft);}
.header-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;}
.hdr-btn{padding:8px 20px;border-radius:100px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-decoration:none;font-family:inherit;border:none;display:inline-block;}
.hdr-btn-pill{border:1.5px solid var(--primary);color:var(--primary);background:transparent;}
.hdr-btn-pill:hover{background:var(--primary);color:#fff;transform:translateY(-1px);}
.pmq-burger{display:none;background:none;border:1.5px solid rgba(26,43,75,.16);border-radius:12px;width:42px;height:38px;cursor:pointer;color:var(--primary);align-items:center;justify-content:center;padding:0;}
.pmq-burger svg{width:20px;height:20px;}
.pmq-burger .ic-x{display:none;}
.pmq-burger[aria-expanded="true"] .ic-menu{display:none;}
.pmq-burger[aria-expanded="true"] .ic-x{display:block;}
.hdr-menu{pointer-events:auto;position:absolute;top:calc(100% + 2px);right:12px;left:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(26,43,75,.10);border-radius:22px;box-shadow:0 30px 60px -24px rgba(26,43,75,.45);padding:10px;display:none;}
.hdr-menu.open{display:block;animation:hdrMenuIn .25s cubic-bezier(.16,1,.3,1);}
@keyframes hdrMenuIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
html.fx-off .hdr-menu.open{animation:none;}
.hdr-menu a{display:block;padding:12px 16px;border-radius:14px;font-size:14.5px;font-weight:700;color:var(--text);text-decoration:none;}
.hdr-menu a:hover{background:var(--blue-soft);color:var(--blue);}
.hdr-menu .hdr-menu-cta{margin-top:6px;text-align:center;border:1.5px solid var(--primary);border-radius:999px;color:var(--primary);}
.hdr-menu .hdr-menu-cta:hover{background:var(--primary);color:#fff;}
@media(max-width:860px){.header-nav{display:none;}.pmq-burger{display:inline-flex;}.header-actions .hdr-btn-pill{display:none;}}

/* ===== ボタン作法 ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;border-radius:999px;cursor:pointer;font-family:inherit;border:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;}
.btn-lg{font-size:15.5px;padding:16px 34px;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{transform:translateY(-2px) scale(1.02);}
.btn-navy{background:var(--primary);color:#fff;}
.btn-navy:hover{transform:translateY(-2px) scale(1.02);}
.btn-outline{background:#fff;border:1.5px solid rgba(26,43,75,.18);color:var(--primary);}
.btn-outline:hover{border-color:var(--primary);transform:translateY(-2px);}
.btn-aurora{box-shadow:-16px 8px 30px -10px rgba(79,70,229,.42),0 12px 32px -8px rgba(234,88,12,.46),16px 8px 30px -10px rgba(13,148,136,.42),0 -8px 24px -12px rgba(124,58,237,.34),8px -6px 24px -12px rgba(22,163,74,.26);}
.btn-aurora:hover{box-shadow:-18px 10px 36px -8px rgba(79,70,229,.60),0 14px 40px -6px rgba(234,88,12,.62),18px 10px 36px -8px rgba(13,148,136,.58),0 -10px 30px -10px rgba(124,58,237,.48),10px -8px 30px -10px rgba(22,163,74,.38);}
.btn-origin{position:relative;overflow:hidden;isolation:isolate;}
.btn-origin::after{content:"";position:absolute;left:var(--ox,50%);top:var(--oy,50%);width:240%;aspect-ratio:1;border-radius:50%;background:var(--fill,rgba(255,255,255,.22));transform:translate(-50%,-50%) scale(0);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;pointer-events:none;}
.btn-origin:hover::after{transform:translate(-50%,-50%) scale(1);}
.btn-glass{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.30);color:#fff;border-radius:999px;font-weight:800;text-decoration:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 12px 26px -14px rgba(0,0,0,.5);transition:background .25s,transform .45s cubic-bezier(.16,1,.3,1);}
.btn-glass:hover{background:rgba(255,255,255,.17);transform:translateY(-2px);}
.cta-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.cta-pills span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:999px;padding:7px 15px;font-size:12px;font-weight:700;color:var(--text-sec);box-shadow:0 6px 16px -12px rgba(26,43,75,.35);}
.cta-pills span::before{content:"✓";font-weight:900;color:#0d9488;}
.cta-pills span:nth-child(2)::before{color:#ea580c;}
.cta-pills span:nth-child(3)::before{color:#4f46e5;}

/* ===== 大項目システム ===== */
.hm-sec{position:relative;padding:88px 0 80px;}
.hm-sec>.container{position:relative;}
.hm-head{position:relative;max-width:880px;}
.hm-head.center{margin:0 auto;text-align:center;}
.sec-ghost{position:absolute;top:-54px;left:-12px;z-index:-1;font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(84px,10.5vw,158px);line-height:1;letter-spacing:-.045em;color:var(--sec-ghost,rgba(26,43,75,.055));user-select:none;pointer-events:none;white-space:nowrap;}
.hm-head.center .sec-ghost{left:50%;transform:translateX(-50%);}
.hm-kicker{display:inline-flex;align-items:center;gap:10px;background:var(--sec-lt,rgba(234,88,12,.08));border:1px solid var(--sec-bd,rgba(234,88,12,.22));color:var(--sec,#ea580c);border-radius:999px;padding:5px 16px 5px 6px;font-size:11px;font-weight:800;letter-spacing:2.5px;margin-bottom:18px;}
.hm-kicker .no{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;border-radius:999px;background:var(--sec,#ea580c);color:#fff;font-family:'Inter',sans-serif;font-weight:900;font-size:11.5px;letter-spacing:0;}
.hm-h2{font-size:clamp(25px,2.75vw,34px);font-weight:900;line-height:1.45;letter-spacing:-1px;color:var(--primary);margin:0 0 16px;}
.hm-h2 em{font-style:normal;color:var(--sec,#ea580c);background:linear-gradient(transparent 62%,var(--sec-lt,rgba(234,88,12,.16)) 62%);padding:0 2px;}
.hm-h2::after{content:"";display:block;width:78px;height:5px;border-radius:999px;margin-top:16px;background:linear-gradient(90deg,var(--sec,#ea580c),transparent);}
.hm-head.center .hm-h2::after{margin-left:auto;margin-right:auto;}
.hm-lead{font-size:14.5px;line-height:2.05;color:var(--text-sec);max-width:740px;}
.hm-head.center .hm-lead{margin-left:auto;margin-right:auto;}
.hm-sec-alt{background:rgba(238,242,247,.55);}
@media(max-width:700px){.hm-sec{padding:60px 0 56px;}.sec-ghost{top:-34px;font-size:clamp(64px,17vw,96px);}}

.card-coral{--card-ac:#ea580c;--card-ac-bd:rgba(234,88,12,.45);--card-ac-lt:rgba(234,88,12,.08);--card-ac-glow:rgba(234,88,12,.24);}
.card-indigo{--card-ac:#4f46e5;--card-ac-bd:rgba(79,70,229,.45);--card-ac-lt:rgba(79,70,229,.08);--card-ac-glow:rgba(79,70,229,.24);}
.card-teal{--card-ac:#0d9488;--card-ac-bd:rgba(13,148,136,.45);--card-ac-lt:rgba(13,148,136,.08);--card-ac-glow:rgba(13,148,136,.24);}
.card-violet{--card-ac:#7c3aed;--card-ac-bd:rgba(124,58,237,.45);--card-ac-lt:rgba(124,58,237,.08);--card-ac-glow:rgba(124,58,237,.24);}

/* ===== 汎用カード ===== */
.grid{display:grid;gap:22px;}
.grid.g2{grid-template-columns:repeat(2,1fr);}
.grid.g3{grid-template-columns:repeat(3,1fr);}
.grid-pad{margin-top:34px;}
@media(max-width:860px){.grid.g3{grid-template-columns:1fr;}.grid.g2{grid-template-columns:1fr;}}
.card{position:relative;display:block;background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:20px;padding:26px 27px;text-decoration:none;color:var(--text);box-shadow:0 10px 28px -18px rgba(26,43,75,.28);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .35s ease;}
.card:hover{transform:translateY(-6px) scale(1.012);border-color:var(--card-ac-bd,rgba(234,88,12,.45));box-shadow:0 30px 58px -26px rgba(26,43,75,.30),0 22px 44px -26px var(--card-ac-glow,rgba(234,88,12,.24)),-22px 14px 44px -30px rgba(79,70,229,.18),22px 14px 44px -30px rgba(13,148,136,.16);}
.card .c-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:2px;color:var(--card-ac,var(--accent));background:var(--card-ac-lt,rgba(234,88,12,.08));padding:4px 11px;border-radius:999px;margin-bottom:12px;}
.card .c-ico{font-size:26px;line-height:1;margin-bottom:12px;display:block;}
.card h3{font-size:17.5px;font-weight:900;line-height:1.5;margin:0 0 8px;}
.card p{font-size:13.5px;color:var(--text-sec);line-height:1.85;margin:0;}
.card .c-num{position:absolute;right:22px;top:18px;font-family:'Inter',sans-serif;font-weight:900;font-size:30px;color:var(--card-ac-lt,rgba(234,88,12,.12));letter-spacing:-1px;}
.card .c-metric{margin-top:12px;font-family:'Inter',sans-serif;font-weight:900;font-size:15px;color:var(--card-ac,var(--primary));}
.card .c-metric small{font-family:inherit;font-weight:700;font-size:12px;color:var(--text-sec);margin-left:4px;}

/* ===== パンチライン帯 ===== */
.punch{position:relative;text-align:center;margin:44px auto 0;max-width:820px;background:linear-gradient(135deg,#fff,#fdf6ec 70%);border:1.5px solid rgba(234,88,12,.25);border-radius:22px;padding:30px 34px;box-shadow:0 24px 48px -32px rgba(234,88,12,.4);}
.punch b{font-size:clamp(19px,2.4vw,25px);font-weight:900;color:var(--primary);letter-spacing:-.4px;}
.punch b em{font-style:normal;color:var(--accent);}

/* ===== フロー図（日本語指示→自動化） ===== */
.flow{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:34px;}
.flow-step{flex:1;min-width:170px;background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:18px;padding:20px 20px;box-shadow:0 12px 28px -20px rgba(26,43,75,.3);position:relative;}
.flow-step .fs-ic{font-size:24px;}
.flow-step b{display:block;font-size:15px;font-weight:900;color:var(--primary);margin:8px 0 5px;}
.flow-step p{font-size:12.5px;color:var(--text-sec);line-height:1.75;margin:0;}
.flow-arrow{align-self:center;color:var(--accent);font-weight:900;font-size:22px;flex:0 0 auto;}
@media(max-width:760px){.flow{flex-direction:column;align-items:stretch;}.flow-arrow{transform:rotate(90deg);text-align:center;}.flow-step{flex:none;min-width:0;width:100%;}}

/* ===== 3特徴 ===== */
.feat3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
@media(max-width:860px){.feat3{grid-template-columns:1fr;}}

/* ===== 蛇行タイムライン（ループエンジニアリング / 支援フロー） ===== */
.road-wrap{position:relative;max-width:760px;margin:40px auto 0;}
.road-svg{position:absolute;inset:-12px -8px -16px;width:calc(100% + 16px);height:calc(100% + 28px);overflow:visible;pointer-events:none;}
.road-bg,.road-line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.road-bg{stroke:rgba(26,43,75,.08);stroke-width:9;}
.road-line{stroke:url(#roadG);stroke-width:4.5;stroke-dasharray:1;stroke-dashoffset:1;}
.road-wrap.on .road-line{stroke-dashoffset:0;transition:stroke-dashoffset 2.4s cubic-bezier(.22,1,.36,1) .25s;}
.fx-off .road-line{stroke-dashoffset:0 !important;transition:none !important;}
.road-flow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.road-flow li{position:relative;z-index:1;display:flex;align-items:flex-start;gap:15px;background:#fff;border:1.5px solid var(--fc-bd);border-radius:18px;padding:18px 20px;
  box-shadow:0 16px 32px -20px var(--fc),0 4px 14px -10px rgba(26,43,75,.30);
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .5s cubic-bezier(.34,1.56,.64,1);}
.road-wrap:not(.on) .road-flow li{opacity:0;}
.road-wrap.on .road-flow li{animation:roadIn .65s cubic-bezier(.34,1.56,.64,1) backwards;}
.road-wrap.on .road-flow li:nth-child(1){animation-delay:.15s;}
.road-wrap.on .road-flow li:nth-child(2){animation-delay:.5s;}
.road-wrap.on .road-flow li:nth-child(3){animation-delay:.85s;}
.road-wrap.on .road-flow li:nth-child(4){animation-delay:1.2s;}
.road-wrap.on .road-flow li:nth-child(5){animation-delay:1.55s;}
@keyframes roadIn{from{opacity:0;transform:translateY(16px) scale(.96);}}
.fx-off .road-flow li{animation:none !important;opacity:1 !important;}
.road-flow li:hover{transform:translateY(-4px) scale(1.02) rotate(-.4deg);box-shadow:0 26px 46px -22px var(--fc),0 8px 20px -12px rgba(26,43,75,.35);}
.road-flow li:nth-child(even):hover{transform:translateY(-4px) scale(1.02) rotate(.4deg);}
.road-flow li:nth-child(odd){margin-right:56px;}
.road-flow li:nth-child(even){margin-left:56px;}
.road-flow .rno{position:relative;flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:'Inter',sans-serif;font-size:16px;font-weight:900;color:#fff;background:var(--fc);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--fc-bd),0 10px 20px -8px var(--fc);}
.road-flow .rno::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed var(--fc-bd);transition:transform 1s cubic-bezier(.22,1,.36,1);}
.road-flow li:hover .rno::after{transform:rotate(120deg);}
.road-flow .rtx b{display:block;font-size:15.5px;font-weight:900;color:var(--text);letter-spacing:-.2px;margin-bottom:3px;}
.road-flow .rtx p{font-size:13px;color:var(--text-sec);line-height:1.8;margin:0;}
@media(max-width:700px){.road-flow li:nth-child(odd){margin-right:20px;}.road-flow li:nth-child(even){margin-left:20px;}}

/* ===== 監修＝人物ヒーロー ===== */
.sv-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.3fr .9fr;align-items:end;gap:0 10px;border-radius:30px;background:#fff;border:1.5px solid rgba(26,43,75,.09);min-height:440px;padding:54px 0 0 clamp(26px,4vw,56px);box-shadow:0 30px 62px -32px rgba(26,43,75,.32),-24px 16px 50px -34px rgba(79,70,229,.22),24px 16px 50px -34px rgba(13,148,136,.20),0 10px 40px -24px rgba(234,88,12,.20);margin-top:40px;}
.sv-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 56% 62% at 88% 18%,rgba(234,88,12,.10),transparent 64%),radial-gradient(ellipse 50% 58% at 6% 92%,rgba(79,70,229,.10),transparent 64%),radial-gradient(ellipse 44% 52% at 70% 96%,rgba(13,148,136,.09),transparent 62%),radial-gradient(ellipse 38% 46% at 30% 4%,rgba(124,58,237,.07),transparent 60%);}
.sv-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(79,70,229,.10),rgba(13,148,136,.08) 32%,rgba(234,88,12,.10) 66%,rgba(124,58,237,.09));clip-path:circle(70px at 78% 62%);opacity:0;transition:clip-path .9s cubic-bezier(.16,1,.3,1),opacity .3s ease;}
.sv-hero:hover::after{clip-path:circle(160% at 78% 62%);opacity:1;}
.sv-copy{padding-bottom:52px;position:relative;z-index:2;}
.sv-kick{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;font-weight:800;letter-spacing:3px;color:#7c3aed;margin-bottom:20px;}
.sv-kick::before{content:"";width:26px;height:2px;background:#7c3aed;border-radius:2px;}
.sv-copy h3{font-size:clamp(26px,3.3vw,40px);font-weight:900;line-height:1.5;letter-spacing:-1.2px;color:var(--primary);margin:0 0 24px;max-width:520px;}
.sv-mark{position:relative;display:inline-block;padding:0 .08em;}
.sv-mark svg{position:absolute;left:-11%;top:-22%;width:122%;max-width:none;height:148%;overflow:visible;pointer-events:none;}
.sv-mark svg path{fill:none;stroke:#e11d48;stroke-width:4.5;stroke-linecap:round;opacity:.85;stroke-dasharray:560;stroke-dashoffset:560;}
.rv.on .sv-mark svg path,html.fx-off .sv-mark svg path{transition:stroke-dashoffset 1.1s cubic-bezier(.6,0,.3,1) .55s;stroke-dashoffset:0;}
.sv-cred{max-width:480px;}
.sv-cred .sv-name{font-size:14.5px;font-weight:800;}
.sv-cred .sv-bio{font-size:12.5px;color:var(--text-sec);line-height:1.9;margin-top:6px;}
.sv-cred .sv-links{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;}
.sv-cred .sv-links a{font-size:11.5px;font-weight:800;color:var(--primary);background:var(--primary-lt);border:1px solid var(--primary-bd);border-radius:999px;padding:5px 13px;text-decoration:none;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.sv-cred .sv-links a:hover{transform:translateY(-2px);}
.sv-figure{position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:center;min-height:380px;}
.sv-ghost{position:absolute;right:8px;top:8px;font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(60px,7vw,104px);line-height:1;letter-spacing:-4px;color:transparent;-webkit-text-stroke:1.5px rgba(26,43,75,.10);user-select:none;pointer-events:none;white-space:nowrap;}
.sv-figure img{display:block;width:min(340px,26vw);height:auto;filter:drop-shadow(0 26px 46px rgba(26,43,75,.30));transition:transform .7s cubic-bezier(.16,1,.3,1);}
.sv-hero:hover .sv-figure img{transform:translateY(-4px) scale(1.015);}
@media(max-width:860px){.sv-hero{grid-template-columns:1fr;padding:42px clamp(22px,5vw,40px) 0;min-height:0;}.sv-copy{padding-bottom:34px;}.sv-figure{min-height:0;margin-top:-8px;}.sv-figure img{width:min(280px,62vw);}.sv-ghost{right:2px;top:auto;bottom:34%;}.sv-hero::after{clip-path:circle(70px at 50% 82%);}.sv-hero:hover::after{clip-path:circle(180% at 50% 82%);}}

/* ===== サービスメニュー ===== */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px;}
@media(max-width:760px){.svc{grid-template-columns:1fr;}}
.svc .card.rec{border-color:rgba(234,88,12,.4);}
.svc-badge{position:absolute;top:-11px;left:24px;background:var(--accent);color:#fff;font-size:11px;font-weight:900;letter-spacing:.5px;padding:4px 13px;border-radius:999px;box-shadow:0 8px 18px -8px rgba(234,88,12,.5);}
.svc .card h3 .sn{font-family:'Inter',sans-serif;color:var(--accent);margin-right:8px;}
.svc-price{margin-top:10px;font-size:12px;font-weight:800;color:var(--text-muted);}

/* ===== FAQ ===== */
.faq{max-width:820px;margin:34px auto 0;}
.faq details{background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:16px;padding:4px 22px;margin-bottom:12px;box-shadow:0 8px 22px -18px rgba(26,43,75,.3);transition:border-color .3s;}
.faq details[open]{border-color:rgba(79,70,229,.30);}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-size:15px;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";font-family:'Inter',sans-serif;font-weight:900;color:var(--accent);flex:0 0 auto;}
.faq summary::after{content:"+";margin-left:auto;font-size:22px;font-weight:400;color:var(--text-muted);transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .faq-a{padding:0 0 18px 26px;font-size:13.5px;line-height:1.95;color:var(--text-sec);}

/* ===== ダークCTA帯 ===== */
.dark-cta{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#0d1730,var(--primary) 72%);border-radius:26px;padding:52px 38px 48px;color:#fff;text-align:center;margin:0 auto;max-width:940px;box-shadow:0 34px 64px -32px rgba(13,23,48,.55),-26px 18px 52px -34px rgba(79,70,229,.35),26px 18px 52px -34px rgba(13,148,136,.32),0 10px 40px -22px rgba(234,88,12,.30);}
.dark-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 60% at 85% 8%,rgba(234,88,12,.30),transparent 65%),radial-gradient(ellipse 50% 62% at 8% 96%,rgba(79,70,229,.32),transparent 65%),radial-gradient(ellipse 42% 50% at 92% 92%,rgba(13,148,136,.24),transparent 65%),radial-gradient(ellipse 36% 44% at 12% 6%,rgba(124,58,237,.20),transparent 62%);}
.dark-cta::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 0%,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 90% 90% at 50% 0%,#000 30%,transparent 85%);}
.dark-cta .dc-kicker{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;font-weight:800;letter-spacing:3px;color:#fdba74;margin-bottom:16px;}
.dark-cta h2{font-size:clamp(23px,3vw,32px);font-weight:900;margin:0 0 14px;letter-spacing:-.6px;line-height:1.45;}
.dark-cta p{color:rgba(255,255,255,.82);font-size:14px;line-height:2;margin:0 auto 26px;max-width:560px;}
.dark-cta .dc-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.dark-cta .cta-pills span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.85);}

/* ===== cinematicフッター ===== */
.cine-footer{position:relative;background:linear-gradient(160deg,var(--primary-dk),var(--primary) 70%);color:#fff;overflow:hidden;padding:70px 0 0;margin-top:90px;}
.cine-footer .cf-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 78% 20%,rgba(234,88,12,.22),transparent 60%);pointer-events:none;}
.cine-footer .container{position:relative;z-index:1;}
.cf-mq{color:rgba(255,255,255,.28);font-size:15px;padding:8px 0 26px;}
.cf-main{display:flex;flex-wrap:wrap;gap:34px;justify-content:space-between;align-items:flex-start;padding-bottom:40px;}
.cf-brand .cf-logo{font-family:'Inter',sans-serif;font-weight:900;font-size:19px;letter-spacing:-.4px;}
.cf-brand p{font-size:13px;color:rgba(255,255,255,.66);line-height:1.9;max-width:420px;margin-top:12px;}
.cf-links{display:flex;gap:48px;flex-wrap:wrap;}
.cf-links h4{font-size:11px;letter-spacing:2.5px;color:#fdba74;opacity:.8;margin-bottom:14px;font-weight:800;}
.cf-links a{display:block;color:rgba(255,255,255,.78);font-size:13.5px;text-decoration:none;margin-bottom:10px;transition:color .15s,transform .15s;}
.cf-links a:hover{color:#fdba74;transform:translateX(3px);}
.cf-giant{font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(72px,15vw,210px);line-height:.84;letter-spacing:-6px;text-align:center;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.16);user-select:none;padding:10px 0 0;}
.cf-giant em{font-style:normal;-webkit-text-stroke:1.5px rgba(251,146,60,.45);}
.cf-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 22px;font-size:12px;color:rgba(255,255,255,.5);}
.cf-bottom a{color:rgba(255,255,255,.6);text-decoration:none;margin-left:18px;}
.marquee{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:inline-block;animation:mq 34s linear infinite;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee span{display:inline-block;margin:0 28px;font-weight:800;letter-spacing:1px;}

/* ===== HERO（浮遊視差型） ===== */
.hero{position:relative;padding:132px 0 76px;overflow:hidden;}
.hero .container{position:relative;z-index:3;}
.hero-inner{max-width:760px;margin:0 auto;text-align:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid rgba(26,43,75,.10);border-radius:999px;padding:6px 16px;font-size:11.5px;font-weight:800;letter-spacing:1.5px;color:var(--primary);box-shadow:0 10px 26px -16px rgba(26,43,75,.3);margin-bottom:22px;}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.16);}
.hero h1{font-size:clamp(30px,5vw,54px);font-weight:900;line-height:1.32;letter-spacing:-1.8px;color:var(--primary);margin:0 0 22px;}
.hero h1 .rot-slot{position:relative;display:inline-flex;overflow:hidden;vertical-align:bottom;color:var(--accent);border-bottom:5px solid rgba(234,88,12,.4);white-space:pre;}
.hero-sub{font-size:clamp(14.5px,1.7vw,16.5px);line-height:2;color:var(--text-sec);max-width:600px;margin:0 auto 30px;}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;margin:44px auto 0;max-width:640px;border-top:1px solid rgba(26,43,75,.14);padding-top:26px;}
.hero-stats .v{font-family:'Inter',sans-serif;font-size:clamp(26px,3.4vw,34px);font-weight:900;color:var(--primary);line-height:1;}
.hero-stats .v small{font-size:14px;color:var(--accent);font-weight:800;margin-left:2px;}
.hero-stats .l{font-size:11.5px;color:var(--text-sec);margin-top:8px;font-weight:700;}
/* 浮遊タイルは左右エッジ帯のみ・中央被り禁止 */
.hero-tile{position:absolute;width:var(--w,120px);border-radius:14px;overflow:hidden;box-shadow:0 22px 46px -14px rgba(26,43,75,.34);border:1px solid rgba(26,43,75,.10);background:#fff;}
.hero-tile img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:1080px){.hero-tile.mid{display:none;}}
@media(max-width:760px){.hero{padding:120px 0 56px;}.hero-tile{display:none;}}

@media(max-width:640px){.dark-cta{padding:40px 24px 36px;}.hm-h2{font-size:23px;}}

/* ===== reduced motion / fx-off ===== */
@media(prefers-reduced-motion:reduce){
  .bg-live .blob,.bg-live .grid,.marquee-track,.pf-fadein{animation:none !important;}
  .pf-fadein{opacity:1;}
  .rv{opacity:1;transform:none;transition:none;}
  .tr-char{transition:none;transform:none;animation:none;}
  html{scroll-behavior:auto;}
}
html.fx-off .bg-live .blob,html.fx-off .bg-live .grid,html.fx-off .marquee-track,html.fx-off .pf-fadein{animation:none !important;}
html.fx-off .pf-fadein{opacity:1;}
html.fx-off .rv{opacity:1 !important;transform:none !important;transition:none !important;}
html.fx-off .tr-char{transition:none;transform:none;animation:none !important;}
html.fx-off{scroll-behavior:auto;}

/* ============================================================
   診断（hub-visor型の側 ＋ 結果カード）
   ============================================================ */
.sd-wrap{max-width:760px;margin:0 auto;}
/* 開始カード＝常に可視（opacity既定=1）。入場は加点の追加装飾。JS/アニメが死んでも見える */
.sd-start{position:relative;background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:24px;padding:42px 38px 38px;text-align:center;box-shadow:0 26px 54px -32px rgba(26,43,75,.32),-20px 14px 44px -34px rgba(79,70,229,.2),20px 14px 44px -34px rgba(13,148,136,.18);animation:sdStartIn .7s cubic-bezier(.16,1,.3,1);}
@keyframes sdStartIn{from{opacity:.001;transform:translateY(22px);}to{opacity:1;transform:none;}}
.sd-start em{font-style:normal;color:var(--accent);}
@media(prefers-reduced-motion:reduce){.sd-start{animation:none;}}
html.fx-off .sd-start{animation:none !important;}
.sd-start .sd-kick{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;letter-spacing:3px;color:#4f46e5;margin-bottom:14px;}
.sd-start .sd-kick::before{content:"";width:24px;height:2px;background:#4f46e5;border-radius:2px;}
.sd-start h2{font-size:clamp(22px,3vw,29px);font-weight:900;color:var(--primary);letter-spacing:-.8px;line-height:1.4;margin:0 0 14px;}
.sd-start p{font-size:14px;color:var(--text-sec);line-height:1.95;max-width:520px;margin:0 auto 24px;}
.sd-stats{display:flex;justify-content:center;gap:12px;margin:0 0 28px;flex-wrap:wrap;}
.sd-stats>div{flex:1;min-width:120px;max-width:150px;background:var(--bg);border:1.5px solid rgba(26,43,75,.09);border-radius:14px;padding:14px 8px 12px;}
.sd-stats b{display:block;font-family:'Inter',sans-serif;font-size:22px;font-weight:900;letter-spacing:-.4px;color:#0d9488;}
.sd-stats>div:nth-child(2) b{color:#ea580c;}
.sd-stats>div:nth-child(3) b{color:#4f46e5;}
.sd-stats small{display:block;font-size:11px;font-weight:700;color:var(--text-sec);margin-top:3px;}
.sd-progress{height:8px;background:var(--border-light);border-radius:999px;overflow:hidden;margin:0 0 26px;}
.sd-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;transition:width .4s cubic-bezier(.16,1,.3,1);}
.sd-q{background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:20px;padding:32px 30px;box-shadow:0 20px 44px -30px rgba(26,43,75,.3);}
.sd-q-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.sd-qnum{font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:2px;color:var(--accent);}
.sd-qcount{font-family:'Inter',sans-serif;font-size:12px;font-weight:800;color:var(--text-muted);}
.sd-q h2{font-size:20px;font-weight:900;line-height:1.6;margin:0 0 22px;color:var(--primary);}
.sd-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg);border:1.5px solid rgba(26,43,75,.10);border-radius:13px;padding:15px 16px;font-size:14.5px;font-weight:600;color:var(--text);cursor:pointer;margin-bottom:11px;font-family:inherit;line-height:1.55;transition:border-color .18s,background .18s,transform .16s,box-shadow .3s;opacity:0;animation:optIn .4s ease forwards;}
.sd-opt:nth-child(1){animation-delay:.03s;}.sd-opt:nth-child(2){animation-delay:.08s;}.sd-opt:nth-child(3){animation-delay:.13s;}.sd-opt:nth-child(4){animation-delay:.18s;}.sd-opt:nth-child(5){animation-delay:.23s;}
@keyframes optIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
html.fx-off .sd-opt{animation:none;opacity:1;}
.sd-opt .k{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:#fff;border:1.5px solid rgba(26,43,75,.14);display:grid;place-items:center;font-family:'Inter',sans-serif;font-size:12px;font-weight:800;color:var(--text-sec);transition:all .18s;}
.sd-opt:hover{border-color:var(--primary);background:var(--primary-lt);transform:translateX(4px);}
.sd-opt:hover .k{background:var(--accent);border-color:var(--accent);color:#fff;}
.sd-opt.is-picked{border-color:var(--accent);background:var(--accent-lt);}
.sd-opt.is-picked .k{background:var(--accent);border-color:var(--accent);color:#fff;}
.sd-back{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;margin-top:14px;font-family:inherit;font-weight:700;}
/* 判定スピナー */
.sd-judging{text-align:center;padding:70px 20px 60px;}
.sd-judging p{font-size:13.5px;color:var(--text-sec);margin-top:18px;font-weight:700;}
.sd-spin{display:inline-flex;gap:9px;}
.sd-spin i{width:12px;height:12px;border-radius:50%;animation:sdDot 1s ease-in-out infinite;}
.sd-spin i:nth-child(1){background:#4f46e5;animation-delay:0s;}
.sd-spin i:nth-child(2){background:#ea580c;animation-delay:.15s;}
.sd-spin i:nth-child(3){background:#0d9488;animation-delay:.3s;}
@keyframes sdDot{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(-9px);opacity:1;}}
@media(prefers-reduced-motion:reduce){.sd-spin i{animation:none;}}
html.fx-off .sd-spin i{animation:none !important;}
/* 結果 */
.sd-result{--tc:#ea580c;}
.sd-r-hero{position:relative;overflow:hidden;background:#1A2B4B;color:#fff;border:1px solid color-mix(in srgb,var(--tc) 42%,transparent);border-radius:24px;padding:44px 34px 40px;box-shadow:0 30px 60px -24px rgba(26,43,75,.45),-14px 10px 34px -22px rgba(79,70,229,.35),14px 10px 34px -22px rgba(13,148,136,.30),0 14px 40px -22px rgba(234,88,12,.28);}
.sd-r-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 250px at 88% -12%,color-mix(in srgb,var(--tc) 30%,transparent),transparent 70%),radial-gradient(420px 200px at 88% -10%,rgba(255,255,255,.10),transparent 70%);pointer-events:none;}
.sd-r-ghost{position:absolute;right:-8px;bottom:-24px;font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(60px,11vw,120px);letter-spacing:-3px;color:rgba(255,255,255,.08);white-space:nowrap;pointer-events:none;line-height:1;}
.sd-r-hero .rk{position:relative;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:3px;font-weight:800;color:color-mix(in srgb,var(--tc) 45%,#fff);margin-bottom:12px;}
.sd-r-lvrow{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.sd-r-lvname{flex:1 1 300px;}
.sd-r-tag{display:inline-block;font-family:'Inter',sans-serif;font-size:12px;font-weight:800;letter-spacing:.5px;color:color-mix(in srgb,var(--tc) 45%,#fff);background:color-mix(in srgb,var(--tc) 22%,transparent);border:1px solid color-mix(in srgb,var(--tc) 45%,transparent);border-radius:999px;padding:5px 14px;margin-bottom:12px;}
.sd-r-hero h2{position:relative;font-size:clamp(23px,4vw,30px);font-weight:900;line-height:1.4;margin:0;}
.sd-r-hero h2 em{font-style:normal;}
.sd-r-score{text-align:center;background:rgba(255,255,255,.07);border:1px solid color-mix(in srgb,var(--tc) 50%,transparent);border-radius:18px;padding:12px 22px 10px;flex:0 0 auto;line-height:1;}
.sd-r-score b{font-family:'Inter',sans-serif;font-size:44px;font-weight:900;color:color-mix(in srgb,var(--tc) 40%,#fff);}
.sd-r-score i{font-family:'Inter',sans-serif;font-size:18px;font-weight:900;font-style:normal;color:color-mix(in srgb,var(--tc) 40%,#fff);margin-left:2px;}
.sd-r-score small{display:block;font-size:10px;font-weight:800;letter-spacing:1.5px;color:rgba(255,255,255,.78);margin-top:6px;}
.sd-r-lead{position:relative;margin-top:16px;font-size:14px;color:rgba(255,255,255,.9);line-height:2;max-width:600px;}
/* 5レベル対比バー */
.sd-levelbar{position:relative;display:flex;gap:6px;margin-top:22px;}
.sd-lb-seg{flex:1;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:9px 4px 8px;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.sd-lb-seg b{display:block;font-family:'Inter',sans-serif;font-size:13px;font-weight:900;color:rgba(255,255,255,.6);}
.sd-lb-seg small{display:block;font-size:9.5px;font-weight:700;color:rgba(255,255,255,.5);margin-top:3px;line-height:1.3;}
.sd-lb-seg.now{background:color-mix(in srgb,var(--tc) 30%,transparent);border-color:color-mix(in srgb,var(--tc) 60%,transparent);transform:translateY(-3px);box-shadow:0 10px 22px -14px color-mix(in srgb,var(--tc) 80%,transparent);}
.sd-lb-seg.now b{color:#fff;}.sd-lb-seg.now small{color:rgba(255,255,255,.85);}
@media(max-width:640px){.sd-lb-seg small{display:none;}}
/* 強み / 課題リスト */
.sd-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.sd-list li{position:relative;font-size:13.5px;line-height:1.9;color:var(--text);background:var(--bg);border:1.5px solid rgba(26,43,75,.09);border-radius:14px;padding:14px 16px 14px 42px;}
.sd-list li::before{position:absolute;left:15px;top:13px;font-size:15px;}
.sd-strong li::before{content:"✓";color:#0d9488;font-weight:900;}
.sd-weak li::before{content:"→";color:var(--tc);font-weight:900;}
/* 90日ステップ */
.sd-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:sdstep;}
.sd-steps li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.85;font-weight:600;color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--tc) 5%,#fff),#fff);border:1.5px solid color-mix(in srgb,var(--tc) 15%,#fff);border-radius:14px;padding:14px 16px;}
.sd-steps .sn{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--tc);color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:900;display:grid;place-items:center;margin-top:1px;}
.sd-r-body{background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:22px;margin-top:18px;padding:14px 30px 34px;box-shadow:0 20px 48px -30px rgba(26,43,75,.3);}
.sd-sec{margin-top:28px;}
.sd-h3{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:900;color:var(--primary);margin-bottom:14px;}
.sd-h3 .no{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--tc) 10%,#fff);border:1.5px solid color-mix(in srgb,var(--tc) 30%,#fff);color:var(--tc);font-family:'Inter',sans-serif;font-size:11px;font-weight:900;flex:none;}
.sd-strategy{font-size:14px;line-height:2.05;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 4%,#fff),#fff);border:1.5px solid color-mix(in srgb,var(--tc) 14%,#fff);border-radius:16px;padding:20px 22px;}
.sd-reco{display:grid;gap:10px;}
.sd-reco a{display:flex;align-items:center;gap:12px;background:var(--bg);border:1.5px solid rgba(26,43,75,.09);border-radius:14px;padding:14px 18px;text-decoration:none;color:var(--text);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,border-color .3s;}
.sd-reco a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tc) 40%,#fff);box-shadow:0 16px 30px -20px rgba(26,43,75,.3);}
.sd-reco .ri{font-size:20px;flex:none;}
.sd-reco .rt{display:flex;flex-direction:column;gap:2px;}
.sd-reco b{display:block;font-size:14px;font-weight:900;color:var(--primary);}
.sd-reco .rt span{font-size:12px;color:var(--text-sec);line-height:1.6;}
.sd-reco .ar{margin-left:auto;font-weight:900;color:var(--tc);}
.sd-cta{text-align:center;margin-top:30px;}
.sd-noharass{font-size:12.5px;color:var(--text-sec);margin:14px auto 0;max-width:460px;line-height:1.8;}
/* 白カード上のセカンダリ＝glassは白地で見えないのでネイビー輪郭ピルに上書き */
.sd-cases{display:inline-flex;margin-top:16px;padding:13px 28px;font-size:14px;background:#fff;color:var(--primary);border:1.5px solid rgba(26,43,75,.22);box-shadow:0 10px 24px -18px rgba(26,43,75,.5);backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .25s,color .25s,transform .45s cubic-bezier(.16,1,.3,1),border-color .25s;}
.sd-cases:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);}
.sd-summary{margin-top:30px;background:var(--bg);border:1.5px solid rgba(26,43,75,.09);border-radius:16px;padding:16px 18px 18px;}
.sd-sum-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sd-sum-head span{font-size:12.5px;font-weight:900;color:var(--primary);}
.sd-copy{background:var(--primary);color:#fff;border:none;border-radius:9px;padding:8px 16px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.sd-copy:hover{opacity:.88;}
.sd-summary textarea{width:100%;min-height:150px;resize:vertical;font-family:inherit;font-size:12px;line-height:1.85;color:var(--text-sec);background:#fff;border:1px solid rgba(26,43,75,.12);border-radius:11px;padding:12px 14px;box-sizing:border-box;}
.sd-retry{display:block;margin:22px auto 0;background:none;border:1.5px solid rgba(26,43,75,.16);border-radius:11px;padding:11px 22px;font-size:13px;font-weight:700;color:var(--text-sec);cursor:pointer;font-family:inherit;}
.hidden{display:none !important;}
@media(max-width:640px){.sd-start{padding:34px 22px 30px;}.sd-q{padding:26px 20px;}.sd-r-hero{padding:34px 22px 30px;}.sd-r-body{padding:10px 18px 26px;}.sd-r-score{padding:10px 16px 8px;}.sd-r-score b{font-size:34px;}}

/* ============================================================
   HERO 一体型（seizo-tokai型・実写トーン。2026-07-13 山根さんFBで
   旧「浮遊視差タイル」ヒーローを廃止し全面刷新）
   ・実写写真がヒーロー全域の大きな丸角面を占める（min-height 88vh）
   ・左テキストは白グラデスクリムで持ち上げ（blur不使用）
   ============================================================ */
.heroU{padding:8px 8px 0;}
.heroU-stage{position:relative;border-radius:clamp(24px,3.2vw,40px);overflow:hidden;min-height:clamp(600px,88vh,900px);display:flex;align-items:center;background:#0F1A30;border:1px solid rgba(26,43,75,.12);box-shadow:0 44px 84px -42px rgba(26,43,75,.42),-30px 22px 62px -44px rgba(79,70,229,.28),30px 22px 62px -44px rgba(13,148,136,.24),0 12px 50px -28px rgba(234,88,12,.22);}
.heroU-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;}
.heroU-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(100deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 26%,rgba(255,255,255,.54) 52%,rgba(255,255,255,.14) 82%,rgba(255,255,255,0) 100%),
  linear-gradient(180deg,rgba(255,255,255,.28),transparent 24%,transparent 68%,rgba(255,255,255,.22));}
.heroU-content{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:112px clamp(24px,5vw,72px) 78px;}
.heroU-col{max-width:660px;text-align:left;}
.heroU-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:2.5px;color:var(--accent);margin-bottom:22px;text-transform:uppercase;font-family:'Inter',sans-serif;}
.heroU-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(234,88,12,.22);}
.heroU-col h1{font-size:clamp(30px,4.7vw,54px);font-weight:900;line-height:1.34;letter-spacing:-1.8px;color:var(--primary);margin:0 0 24px;word-break:auto-phrase;text-wrap:balance;}
.heroU-col h1 .key{position:relative;color:var(--accent);white-space:nowrap;border-bottom:5px solid rgba(234,88,12,.4);}
.heroU-col h1 .nw{white-space:nowrap;}
.heroU-sub{font-size:clamp(14.5px,1.6vw,16px);line-height:2.05;color:var(--text-sec);max-width:600px;margin:0 0 30px;}
.heroU-sub b{color:var(--text);font-weight:800;}
.heroU-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;}
.heroU-stats{display:flex;gap:38px;flex-wrap:wrap;padding-top:26px;margin-top:30px;border-top:1px solid rgba(26,43,75,.18);max-width:600px;}
.heroU-stats .v{font-size:30px;font-weight:900;font-family:'Inter',sans-serif;color:var(--primary);line-height:1;}
.heroU-stats .v small{font-size:13px;color:var(--accent);font-weight:800;margin-left:2px;}
.heroU-stats .l{font-size:11px;color:var(--text-sec);margin-top:7px;font-weight:700;}
.heroU-cobrand{position:absolute;top:84px;right:40px;z-index:3;display:inline-flex;align-items:center;gap:13px;font-family:'Inter',sans-serif;padding:14px 22px;border-radius:16px;background:radial-gradient(140% 220% at 50% 50%,rgba(10,18,38,.55),rgba(10,18,38,0) 82%);}
.heroU-cobrand .cb-mark{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));}
.heroU-cobrand b{font-weight:900;font-size:24px;letter-spacing:-.4px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45);}
.heroU-cobrand .cb-x{font-style:normal;font-weight:700;font-size:15px;color:rgba(255,255,255,.72);margin:0 2px;text-shadow:0 1px 8px rgba(0,0,0,.4);}
.heroU-cobrand .cb-spark{width:22px;height:22px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));}
.heroU-cobrand span{font-size:19px;font-weight:800;letter-spacing:2px;color:#ED7B47;text-shadow:0 2px 12px rgba(0,0,0,.45);}
.heroU-badge{position:absolute;right:20px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.86);border:1px solid rgba(26,43,75,.10);border-radius:999px;padding:7px 15px;font-size:11px;font-weight:700;color:var(--text-sec);box-shadow:0 8px 22px -10px rgba(26,43,75,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.heroU-brands{max-width:1000px;margin:26px auto 0;display:flex;align-items:center;gap:24px;padding:0 24px;}
.hvb-label{flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--text-muted);border-right:1px solid var(--border);padding-right:24px;font-family:'Inter',sans-serif;}
.hvb-mq{flex:1;}
.hvb-mq .marquee-track{display:inline-flex;align-items:center;gap:56px;animation-duration:30s;}
.hvb-item{display:inline-flex;align-items:center;font-size:13px;font-weight:800;letter-spacing:1.5px;color:var(--text-muted);white-space:nowrap;font-family:'Inter',sans-serif;}
@media(max-width:900px){
  .heroU{padding:6px 6px 0;}
  .heroU-stage{min-height:clamp(560px,84vh,780px);border-radius:22px;}
  .heroU-scrim{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.84) 40%,rgba(255,255,255,.66) 70%,rgba(255,255,255,.74) 100%);}
  .heroU-content{padding:96px 22px 92px;}
  .heroU-col{text-align:center;margin:0 auto;}
  .heroU-cta{justify-content:center;}
  .heroU-sub{margin-left:auto;margin-right:auto;}
  .heroU-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;justify-items:center;margin-left:auto;margin-right:auto;max-width:420px;}
  .heroU-stats>div{text-align:center;}
  .heroU-stats>div:nth-child(3){grid-column:1 / -1;}
  /* モバイルは白スクリム上のためネイビー版ロックアップ（ヒーロー上部中央） */
  .heroU-cobrand{top:88px;left:0;right:0;justify-content:center;gap:9px;padding:0;white-space:nowrap;background:none;}
  .heroU-content{padding-top:150px;}
  .heroU-cobrand b{font-size:18px;color:var(--primary);text-shadow:none;}
  .heroU-cobrand .cb-x{color:var(--text-muted);text-shadow:none;font-size:12px;}
  .heroU-cobrand span{font-size:13px;letter-spacing:1.5px;text-shadow:none;}
  .heroU-cobrand .cb-mark{width:26px;height:26px;filter:none;}
  .heroU-cobrand .cb-spark{width:15px;height:15px;filter:none;}
  .heroU-badge{right:14px;bottom:12px;}
}
@media(max-width:800px){.hvb-label{display:none;}}

/* 事例: 効率×品質の2行 */
.c-eq{display:flex;flex-direction:column;gap:7px;margin-top:14px;}
.c-eq span{display:flex;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.6;color:var(--text-sec);}
.c-eq b{flex:0 0 auto;display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:10.5px;font-weight:900;letter-spacing:.08em;}
.c-eq span:first-child b{background:rgba(234,88,12,.10);color:#c2410c;}
.c-eq span:last-child b{background:rgba(13,148,136,.10);color:#0f766e;}
/* 事例: カタログ導線カード（グリッド全幅） */
.catalog-link{grid-column:1 / -1;text-decoration:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;}
.catalog-link h3{margin:0;}
.catalog-link p{margin:0;flex:1 1 260px;}

/* ===== 概念の転換（Before/After） ===== */
.vs-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch;margin-top:36px;}
.vs-panel{background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:20px;padding:26px 26px 22px;box-shadow:0 16px 36px -26px rgba(26,43,75,.35);}
.vs-before{opacity:.92;}
.vs-after{border-color:rgba(234,88,12,.35);box-shadow:0 22px 44px -26px rgba(234,88,12,.35),-14px 10px 34px -24px rgba(79,70,229,.25),14px 10px 34px -24px rgba(13,148,136,.22);}
.vs-tag{display:inline-block;border-radius:999px;padding:5px 14px;font-size:11.5px;font-weight:900;letter-spacing:.06em;margin-bottom:14px;background:rgba(26,43,75,.07);color:var(--text-sec);}
.vs-after .vs-tag{background:rgba(234,88,12,.10);color:#c2410c;}
.vs-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.vs-panel li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.8;color:var(--text-sec);}
.vs-before li::before{content:"–";position:absolute;left:2px;color:var(--text-muted);font-weight:900;}
.vs-after li::before{content:"✓";position:absolute;left:0;color:#0d9488;font-weight:900;}
.vs-after li b{color:var(--primary);}
.vs-arrow{align-self:center;font-size:26px;font-weight:900;color:var(--accent);}
.vs-punch{text-align:center;font-size:clamp(17px,2.2vw,22px);font-weight:900;color:var(--primary);letter-spacing:-.3px;margin:34px 0 0;}
.vs-punch em{font-style:normal;color:var(--accent);}
.vs-note{text-align:center;font-size:12.5px;color:var(--text-muted);margin:14px auto 0;max-width:640px;}
@media(max-width:820px){.vs-wrap{grid-template-columns:1fr;}.vs-arrow{transform:rotate(90deg);justify-self:center;}}
/* ===== 業務フロー対応表 ===== */
.cv-legend{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin:30px 0 18px;font-size:12.5px;font-weight:700;color:var(--text-sec);}
.cv-legend span{display:inline-flex;align-items:center;gap:8px;}
.cvA,.cvS,.cvH{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:900;font-size:14px;flex:0 0 auto;}
.cvA{background:rgba(13,148,136,.12);color:#0f766e;border:1.5px solid rgba(13,148,136,.35);}
.cvS{background:rgba(234,88,12,.10);color:#c2410c;border:1.5px solid rgba(234,88,12,.35);}
.cvH{background:rgba(26,43,75,.07);color:var(--primary);border:1.5px solid rgba(26,43,75,.22);font-size:12px;}
.cv-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:20px;border:1.5px solid rgba(26,43,75,.09);background:#fff;box-shadow:0 22px 48px -30px rgba(26,43,75,.35),-16px 12px 38px -30px rgba(79,70,229,.20),16px 12px 38px -30px rgba(13,148,136,.18);}
.cv-table{width:100%;min-width:680px;border-collapse:collapse;font-size:13.5px;}
.cv-table thead th{position:sticky;top:0;background:linear-gradient(180deg,#f6f8fc,#eef2f9);color:var(--primary);font-size:11.5px;font-weight:900;letter-spacing:.08em;text-align:left;padding:13px 16px;border-bottom:1.5px solid rgba(26,43,75,.12);}
.cv-table thead th:nth-child(3){text-align:center;}
.cv-table td{padding:13px 16px;border-bottom:1px solid rgba(26,43,75,.07);vertical-align:middle;line-height:1.75;}
.cv-table tbody tr:last-child td{border-bottom:none;}
.cv-table tbody tr{transition:background .25s;}
.cv-table tbody tr:hover{background:rgba(79,70,229,.035);}
.cv-no{font-weight:900;font-size:12px;color:var(--text-muted);width:34px;}
.cv-task{font-weight:800;color:var(--primary);white-space:nowrap;}
.cv-mark{text-align:center;width:70px;}
.cv-desc{color:var(--text-sec);font-size:12.8px;}
@media(max-width:700px){.cv-task{white-space:normal;min-width:130px;}}

/* ============================================================
   V5 大規模改修（2026-07-14 山根さんFB）
   ・ヒーロー統計5本 ・GlowingEffectカード ・Before/After造形刷新
   ・業務フロー対応表のカテゴリ帯＋31行 ・事例カードの実装リンク
   ============================================================ */

/* ===== A. ヒーロー統計5本 ===== */
.heroU-stats5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px 14px;max-width:680px;}
.heroU-stats5 .v{font-size:clamp(21px,2.2vw,26px);}
.heroU-stats5 .v small{font-size:11px;}
.heroU-stats5 .l{max-width:none;line-height:1.45;font-size:10px;}
@media(max-width:900px){
  .heroU-stats5{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;max-width:420px;}
  .heroU-stats5>div:nth-child(3){grid-column:auto;}
  .heroU-stats5>div:nth-child(5){grid-column:1 / -1;}
  .heroU-stats5 .l{max-width:none;}
}

/* ===== B. GlowingEffect（虹ボーダー追従・blur不使用・軽量） ===== */
.glow-card{background:radial-gradient(125% 90% at 100% 0,var(--card-ac-lt,rgba(234,88,12,.08)),transparent 44%),#fff;}
.glow-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;
  background:conic-gradient(from var(--ga,0deg) at var(--gx,50%) var(--gy,50%),#4f46e5,#0d9488,#16a34a,#ea580c,#7c3aed,#4f46e5);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
  opacity:0;transition:opacity .35s ease;pointer-events:none;}
.glow-card:hover::before{opacity:.95;}
html.fx-off .glow-card::before{transition:none;}

/* ===== C. Before/After造形刷新（AIポーズUI差し替え） ===== */
.vs2{display:grid;grid-template-columns:1fr 1.16fr;gap:20px;align-items:stretch;margin-top:36px;}
.vs2-before{background:linear-gradient(160deg,#eef1f5,#e4e8ee);border:1.5px solid rgba(26,43,75,.10);border-radius:22px;
  padding:26px 26px 24px;filter:saturate(.62);box-shadow:inset 0 2px 12px rgba(26,43,75,.07);}
.vs2-after{position:relative;overflow:hidden;isolation:isolate;border-radius:22px;padding:24px 26px 26px;color:#fff;
  background:linear-gradient(160deg,#0f1a30,#17253f);
  box-shadow:0 32px 62px -30px rgba(13,23,48,.6),-18px 12px 42px -30px rgba(79,70,229,.42),18px 12px 42px -30px rgba(13,148,136,.34),0 10px 34px -20px rgba(234,88,12,.28);}
.vs2-after::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse 55% 60% at 92% 6%,rgba(234,88,12,.30),transparent 62%),
  radial-gradient(ellipse 52% 62% at 6% 94%,rgba(79,70,229,.32),transparent 62%),
  radial-gradient(ellipse 44% 52% at 94% 94%,rgba(13,148,136,.24),transparent 62%),
  radial-gradient(ellipse 38% 46% at 8% 6%,rgba(124,58,237,.20),transparent 60%);}
.vs2-after::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(260px 260px at var(--sx,72%) var(--sy,26%),rgba(255,255,255,.12),transparent 70%);}
.vs2-after:hover::after{opacity:1;}
.vs2-tag{display:inline-block;border-radius:999px;padding:5px 14px;font-size:11.5px;font-weight:900;letter-spacing:.05em;margin-bottom:14px;}
.vs2-before .vs2-tag{background:rgba(26,43,75,.08);color:var(--text-sec);}
.vs2-after .vs2-tag{background:rgba(234,88,12,.18);color:#fdba74;border:1px solid rgba(234,88,12,.35);}
.vs2-cap{font-size:14.5px;font-weight:900;letter-spacing:-.3px;margin:0 0 15px;}
.vs2-before .vs2-cap{color:var(--primary);}
.vs2-cap-a{color:#fff;}
.vs2-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vs2-list li{position:relative;padding-left:21px;font-size:13px;line-height:1.75;}
.vs2-before .vs2-list li{color:var(--text-sec);}
.vs2-before .vs2-list li::before{content:"–";position:absolute;left:3px;color:var(--text-muted);font-weight:900;}
.vs2-before .vs2-list li b{color:var(--primary);}
.vs2-list-a li{color:rgba(255,255,255,.9);}
.vs2-list-a li::before{content:"✓";position:absolute;left:0;color:#5eead4;font-weight:900;}
.vs2-list-a li b{color:#fff;}
/* 接続フロー図（SVG流線・CSSのみ） */
.vs2-flow{margin:4px 0 18px;}
.vs2-svg{display:block;width:100%;max-width:none;height:auto;overflow:visible;}
.vs2-wire{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 9;animation:vs2flow 1s linear infinite;}
.vs2-wire:nth-of-type(1){stroke:#818cf8;}
.vs2-wire:nth-of-type(2){stroke:#5eead4;}
.vs2-wire:nth-of-type(3){stroke:#fdba74;}
.vs2-wire:nth-of-type(4){stroke:#c4b5fd;}
@keyframes vs2flow{to{stroke-dashoffset:-14;}}
.vs2-node rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.24);stroke-width:1;}
.vs2-node text{fill:#e5edff;font-size:11px;font-weight:800;text-anchor:middle;font-family:'Noto Sans JP',sans-serif;}
.vs2-node:nth-of-type(3) text{font-size:10px;}
.vs2-node:nth-of-type(4) text{font-size:8.6px;}
.vs2-core-ring{fill:none;stroke:rgba(251,146,60,.5);stroke-width:1.5;animation:vs2pulse 2.4s ease-in-out infinite;transform-origin:272px 104px;}
.vs2-core{fill:rgba(234,88,12,.18);stroke:#fb923c;stroke-width:1.6;}
.vs2-core-t1,.vs2-core-t2{fill:#fff;text-anchor:middle;font-family:'Inter',sans-serif;font-weight:900;}
.vs2-core-t1{font-size:12px;letter-spacing:1.5px;}
.vs2-core-t2{font-size:12px;letter-spacing:3px;}
@keyframes vs2pulse{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:1;transform:scale(1.05);}}
html.fx-off .vs2-wire,html.fx-off .vs2-core-ring{animation:none !important;}
@media(prefers-reduced-motion:reduce){.vs2-wire,.vs2-core-ring{animation:none !important;}}
@media(max-width:820px){.vs2{grid-template-columns:1fr;}}

/* ===== C-2. 実演型「毎朝5:30、御社で起きること」ダークステージ ===== */
.dm-compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:14px;margin-top:34px;}
.dm-chip{border-radius:16px;padding:16px 18px;border:1.5px solid;}
.dm-chip-old{background:linear-gradient(160deg,#f1f3f7,#e7ebf1);border-color:rgba(26,43,75,.10);filter:saturate(.7);}
.dm-chip-new{background:linear-gradient(160deg,#fff,#fbf6f1);border-color:rgba(234,88,12,.24);box-shadow:0 14px 30px -24px rgba(234,88,12,.5);}
.dm-chip-tag{display:inline-block;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:900;letter-spacing:.04em;margin-bottom:9px;}
.dm-chip-old .dm-chip-tag{background:rgba(26,43,75,.08);color:var(--text-sec);}
.dm-chip-new .dm-chip-tag{background:rgba(234,88,12,.14);color:#c2410c;border:1px solid rgba(234,88,12,.28);}
.dm-chip p{margin:0;font-size:13px;line-height:1.7;color:var(--text-sec);}
.dm-chip-old b{color:var(--primary);}
.dm-chip-new b{color:var(--accent);}
.dm-chip-vs{align-self:center;font-family:'Inter',sans-serif;font-weight:900;font-size:12px;letter-spacing:1px;color:var(--text-muted);
  border:1.5px solid rgba(26,43,75,.14);border-radius:999px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;flex:0 0 auto;}
@media(max-width:680px){.dm-compare{grid-template-columns:1fr;gap:10px;}.dm-chip-vs{justify-self:center;}}

.dm-stage{position:relative;margin-top:22px;border-radius:24px;overflow:hidden;isolation:isolate;color:#fff;
  background:linear-gradient(160deg,#0f1a30,#17253f);
  box-shadow:0 40px 74px -34px rgba(13,23,48,.62),-20px 14px 48px -34px rgba(79,70,229,.42),20px 14px 48px -34px rgba(13,148,136,.34),0 12px 38px -22px rgba(234,88,12,.28);}
.dm-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse 46% 60% at 94% 4%,rgba(234,88,12,.28),transparent 62%),
  radial-gradient(ellipse 44% 62% at 4% 96%,rgba(79,70,229,.30),transparent 62%),
  radial-gradient(ellipse 40% 52% at 96% 96%,rgba(13,148,136,.22),transparent 62%),
  radial-gradient(ellipse 34% 46% at 6% 6%,rgba(124,58,237,.18),transparent 60%);}
.dm-stage-inner{position:relative;padding:26px 30px 30px;}
.dm-stage-head{margin-bottom:16px;}
.dm-stage-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-weight:800;font-size:11.5px;
  letter-spacing:.08em;color:#fdba74;text-transform:uppercase;background:rgba(234,88,12,.16);border:1px solid rgba(234,88,12,.34);
  border-radius:999px;padding:5px 13px 5px 11px;}
.dm-live-dot{width:8px;height:8px;border-radius:50%;background:#5eead4;box-shadow:0 0 0 0 rgba(94,234,212,.6);animation:dmpulse 1.8s ease-out infinite;}
@keyframes dmpulse{0%{box-shadow:0 0 0 0 rgba(94,234,212,.55);}70%{box-shadow:0 0 0 8px rgba(94,234,212,0);}100%{box-shadow:0 0 0 0 rgba(94,234,212,0);}}
.dm-stage-title{margin:12px 0 0;font-size:clamp(16px,2.1vw,21px);font-weight:900;letter-spacing:-.4px;color:#fff;}

.dm-diagram{margin:4px 0 18px;}
.dm-svg{display:block;width:100%;max-width:none;height:auto;overflow:visible;}
.dm-wire{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 9;animation:dmflow 1s linear infinite;}
.dm-wire:nth-of-type(1){stroke:#818cf8;}
.dm-wire:nth-of-type(2){stroke:#5eead4;}
.dm-wire:nth-of-type(3){stroke:#fdba74;}
.dm-wire:nth-of-type(4){stroke:#c4b5fd;}
.dm-wire-out{stroke:#fdba74;stroke-width:2.6;animation-duration:.8s;}
.dm-arrow{fill:none;stroke:#fdba74;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.dm-out-t{fill:#fdba74;font-family:'Noto Sans JP',sans-serif;font-size:11px;font-weight:800;text-anchor:middle;letter-spacing:2px;}
@keyframes dmflow{to{stroke-dashoffset:-14;}}
.dm-node rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.24);stroke-width:1;}
.dm-node text{fill:#e5edff;font-size:12px;font-weight:800;text-anchor:middle;font-family:'Noto Sans JP',sans-serif;}
.dm-node text.mn{font-size:11px;}
.dm-node text.sub{fill:rgba(229,237,255,.6);font-size:7.5px;font-weight:600;}
.dm-core-ring{fill:none;stroke:rgba(251,146,60,.5);stroke-width:1.5;animation:dmring 2.4s ease-in-out infinite;transform-origin:416px 84px;}
.dm-core{fill:rgba(234,88,12,.18);stroke:#fb923c;stroke-width:1.6;}
.dm-core-t1,.dm-core-t2{fill:#fff;text-anchor:middle;font-family:'Inter',sans-serif;font-weight:900;}
.dm-core-t1{font-size:13px;letter-spacing:1.5px;}
.dm-core-t2{font-size:13px;letter-spacing:3px;}
@keyframes dmring{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:1;transform:scale(1.05);}}

.dm-feed{border-radius:16px;background:rgba(5,11,24,.55);border:1px solid rgba(255,255,255,.10);overflow:hidden;}
.dm-feed-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);}
.dm-tdot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.20);}
.dm-tdot:nth-child(1){background:#fb7185;}.dm-tdot:nth-child(2){background:#fbbf24;}.dm-tdot:nth-child(3){background:#34d399;}
.dm-feed-title{margin-left:8px;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.02em;}
.dm-feed-list{list-style:none;margin:0;padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.dm-row{display:flex;align-items:baseline;gap:12px;padding:6px 6px;border-radius:8px;font-size:13.5px;line-height:1.55;
  opacity:0;transition:opacity .3s ease,background .3s ease;}
.dm-row.shown{opacity:1;background:rgba(255,255,255,.03);}
.dm-time{flex:0 0 auto;width:38px;font-family:'Inter',sans-serif;font-weight:800;font-size:12.5px;color:#5eead4;text-align:right;}
.dm-txt{flex:1 1 auto;color:rgba(255,255,255,.92);min-height:1.2em;
  font-family:'Noto Sans JP','SF Mono',ui-monospace,monospace;}
.dm-row.shown .dm-txt::after{content:"";display:inline-block;width:7px;height:1.05em;margin-left:2px;vertical-align:-2px;
  background:#5eead4;animation:dmcaret .9s step-end infinite;}
.dm-row.typed .dm-txt::after{display:none;}
@keyframes dmcaret{50%{opacity:0;}}
.dm-ok{flex:0 0 auto;color:#5eead4;font-weight:900;font-size:14px;opacity:0;transform:scale(.6);transition:opacity .25s ease,transform .25s cubic-bezier(.2,1.4,.4,1);}
.dm-row.typed .dm-ok{opacity:1;transform:scale(1);}
.dm-feed-note{margin:12px 6px 2px;font-size:12.5px;color:rgba(255,255,255,.62);}
.dm-feed-note b{color:#fff;}
.dm-feed-note a{color:#fdba74;font-weight:800;text-decoration:none;white-space:nowrap;margin-left:6px;transition:color .2s;}
.dm-feed-note a b{color:#fdba74;}
.dm-feed-note a:hover{color:#fed7aa;}
/* 静止・reduced：全行タイプ済みで成立 */
html.fx-off .dm-wire,html.fx-off .dm-core-ring,html.fx-off .dm-live-dot{animation:none !important;}
html.fx-off .dm-row,.dm-feed.is-done .dm-row{opacity:1 !important;background:rgba(255,255,255,.03);}
html.fx-off .dm-txt::after,.dm-feed.is-done .dm-txt::after{display:none !important;}
html.fx-off .dm-ok,.dm-feed.is-done .dm-ok{opacity:1 !important;transform:scale(1) !important;}
@media(prefers-reduced-motion:reduce){
  .dm-wire,.dm-core-ring,.dm-live-dot{animation:none !important;}
  .dm-row{opacity:1;}.dm-txt::after{display:none !important;}.dm-ok{opacity:1;transform:scale(1);}
}
@media(max-width:680px){
  .dm-stage-inner{padding:20px 16px 22px;}
  .dm-feed-list{padding:8px 8px;}
  .dm-row{font-size:12px;gap:8px;padding:5px 4px;}
  .dm-time{width:32px;font-size:11px;}
  .dm-feed-note a{display:block;margin-left:0;margin-top:4px;white-space:normal;}
}

/* ===== D. 業務フロー対応表（カテゴリ帯＋31行） ===== */
.cv-legend-hint{color:var(--text-muted);font-weight:700;font-size:11.5px;}
.cv-table2{min-width:760px;}
.cv-table2 thead th:last-child{text-align:center;}
.cv-table2 .cv-cat{width:38px;padding:0 !important;text-align:center;border-bottom:1.5px solid rgba(255,255,255,.5) !important;
  border-right:1px solid rgba(26,43,75,.10);background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 82%,#000),var(--rc));}
.cv-cat-l{writing-mode:vertical-rl;text-orientation:mixed;display:inline-block;color:#fff;font-weight:900;font-size:12.5px;
  letter-spacing:2px;padding:14px 0;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.25);}
.cv-table2 .cv-task{white-space:normal;min-width:200px;font-weight:800;color:var(--primary);}
.cv-table2 tbody tr{transition:background .2s;}
.cv-table2 tbody tr:hover{background:color-mix(in srgb,var(--rc,#4f46e5) 7%,#fff);}
.cv-table2 tbody tr:hover .cv-task{color:color-mix(in srgb,var(--rc) 55%,var(--primary));}
.cv-lk{width:76px;text-align:center;white-space:nowrap;}
.cv-lk a{display:inline-block;font-size:11.5px;font-weight:800;color:var(--rc,#4f46e5);text-decoration:none;
  background:color-mix(in srgb,var(--rc) 10%,#fff);border:1px solid color-mix(in srgb,var(--rc) 32%,#fff);
  border-radius:999px;padding:4px 11px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .2s;}
.cv-lk a:hover{transform:translateX(2px);background:color-mix(in srgb,var(--rc) 18%,#fff);}
@media(max-width:700px){.cv-table2 .cv-task{min-width:150px;}.cv-cat-l{font-size:11px;letter-spacing:1px;}}

/* ===== E. 事例カードの実装リンク ===== */
.c-more{display:inline-flex;align-items:center;gap:4px;margin-top:13px;font-size:12.5px;font-weight:800;
  color:var(--card-ac,var(--accent));text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1);}
.card:hover .c-more{transform:translateX(4px);}

/* 絵文字廃止→ラインアイコン */
.card .c-ico svg{width:26px;height:26px;color:var(--card-ac,var(--primary));display:block;}
.flow-step .fs-ic svg{width:24px;height:24px;color:var(--accent);display:block;}
.sd-svc-ic svg,.sd-svc svg{width:22px;height:22px;color:var(--accent);vertical-align:-4px;}
/* 対応表ヘッダーのスリム化 */
.cv-table thead th{padding:9px 16px;white-space:nowrap;}
.cv-th-cc{font-size:10.5px;}
.cv-table2 thead th:first-child{width:38px;padding:0;}

/* ===== CONTACT フォーム（fleetLead・ダークカード） ===== */
.contact-card{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#0d1730,var(--primary) 72%);border-radius:26px;padding:48px 40px;color:#fff;margin:0 auto;max-width:760px;box-shadow:0 34px 64px -32px rgba(13,23,48,.55),-26px 18px 52px -34px rgba(79,70,229,.35),26px 18px 52px -34px rgba(13,148,136,.32),0 10px 40px -22px rgba(234,88,12,.28);}
.contact-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 60% at 88% 6%,rgba(234,88,12,.26),transparent 65%),radial-gradient(ellipse 50% 62% at 6% 96%,rgba(79,70,229,.28),transparent 65%),radial-gradient(ellipse 40% 48% at 94% 92%,rgba(13,148,136,.20),transparent 65%);}
.contact-card .dc-kicker{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;font-weight:800;letter-spacing:3px;color:#fdba74;margin-bottom:14px;}
.contact-card h2{font-size:clamp(22px,2.8vw,29px);font-weight:900;margin:0 0 12px;letter-spacing:-.5px;line-height:1.45;}
.contact-card p.cc-lede{color:rgba(255,255,255,.82);font-size:13.5px;line-height:1.9;margin:0 0 26px;max-width:560px;}
.cc-form label{display:block;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:16px;}
.cc-form label .req{color:#fdba74;font-size:10.5px;margin-left:6px;font-weight:800;}
.cc-form input,.cc-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;font-size:15px;font-family:inherit;color:#fff;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.18);border-radius:12px;}
.cc-form input::placeholder,.cc-form textarea::placeholder{color:rgba(255,255,255,.45);}
.cc-form input:focus,.cc-form textarea:focus{outline:none;border-color:#fdba74;background:rgba(255,255,255,.11);}
.cc-form textarea{min-height:110px;resize:vertical;}
.cc-submit{width:100%;margin-top:8px;padding:16px;font-size:15px;font-weight:900;color:#fff;background:var(--accent);border:none;border-radius:999px;cursor:pointer;font-family:inherit;transition:opacity .2s,transform .35s cubic-bezier(.16,1,.3,1);}
.cc-submit:hover{opacity:.92;transform:translateY(-2px);}
.cc-note{font-size:11px;color:rgba(255,255,255,.55);line-height:1.7;margin-top:14px;}
.cc-hp{position:absolute;left:-9999px;height:0;width:0;overflow:hidden;}
.cc-thanks{display:none;text-align:center;padding:14px 0;}
.cc-thanks.on{display:block;}
.cc-thanks .ck{width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;font-size:28px;line-height:56px;margin:0 auto 18px;}
@media(max-width:640px){.contact-card{padding:38px 22px;}}
