/* =========================================================
   ゼンアポ エンタープライズLP（たたき台）
   大手向けB2Bパイプライン代行 / ネイビー×グリーン / 信頼感重視
   ========================================================= */
:root{
  --navy:#0d243d;--navy2:#081a2e;--navy3:#12324f;
  --ink:#12212e;--ink2:#3a4a58;--muted:#6b7885;--line:#e4ebf0;
  --green:#16a34a;--green-d:#0f7a37;--green-s:#e7f6ee;--green-l:#eafaf0;
  --bg:#fff;--soft:#f4f8fb;
  --ff-head:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --ff-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{overflow-x:clip;}
@supports not (overflow:clip){html,body{overflow-x:hidden;}}
body{font-family:var(--ff-body);color:var(--ink2);line-height:1.85;background:var(--bg);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--green-d);}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
h1,h2,h3,.eyebrow,.logo,.sec-title,.pi-num,.st-n,.foot-brand{font-family:var(--ff-head);}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;font-size:15px;white-space:nowrap;padding:15px 30px;border-radius:10px;font-family:var(--ff-head);transition:transform .14s,box-shadow .14s,background .14s;}
.btn-cta{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(22,163,74,.28);}
.btn-cta:hover{background:var(--green-d);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);}
.btn-ghost:hover{background:rgba(255,255,255,.1);}
.btn-line{background:#fff;color:var(--green-d);border:1.5px solid var(--green);box-shadow:none;}
.btn-line:hover{background:var(--green-l);}
.btn-sm{padding:10px 20px;font-size:13.5px;border-radius:8px;box-shadow:none;}
.btn-big{font-size:17px;padding:18px 40px;}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{max-width:1240px;margin:0 auto;height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:22px;color:var(--navy);text-decoration:none;letter-spacing:.02em;}
.lmark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-size:16px;font-weight:900;}
.logo-img{height:34px;width:auto;display:block;}
.foot-brand .logo-img{height:30px;}
.nav-links{display:flex;gap:24px;font-size:13.5px;font-weight:700;}
.nav-links a{color:var(--ink2);text-decoration:none;position:relative;}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2.5px;background:var(--green);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .2s;}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta{display:flex;gap:9px;align-items:center;}
.sp-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.sp-burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s;}
.sp-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.sp-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.sp-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.sp-menu{display:none;flex-direction:column;gap:4px;padding:14px 22px 20px;border-bottom:1px solid var(--line);background:#fff;}
.sp-menu a{padding:12px 6px;color:var(--navy);text-decoration:none;font-weight:700;border-bottom:1px dashed var(--line);}
.sp-menu a.btn{border-bottom:none;justify-content:center;margin-top:8px;color:#fff;}

/* ---------- reveal / split ---------- */
.chx{display:inline-block;will-change:transform;}
html.js-on:not(.gsap-on) .reveal{opacity:0;transform:translateY(26px);}
html.js-on:not(.gsap-on) .reveal.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}

/* ---------- section heads ---------- */
section{padding:88px 0;position:relative;}
.sec-head{text-align:center;margin-bottom:52px;}
.eyebrow{display:block;color:var(--green);font-weight:800;font-size:14px;letter-spacing:.18em;margin-bottom:14px;}
.eyebrow.small{margin-bottom:10px;}
.band .eyebrow{color:#7fe3a6;}
.sec-title{font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--navy);line-height:1.42;letter-spacing:.01em;}
.band .sec-title{color:#fff;}
.sec-sub{color:var(--muted);font-size:15px;margin-top:16px;max-width:720px;margin-left:auto;margin-right:auto;}
.sec-sub.sub-light{color:#bcd3e0;}
.sec-sub b{color:var(--ink);} .sub-light b{color:#fff;}
.mk{position:relative;white-space:nowrap;color:var(--green);}
.mk::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.04em;height:.3em;background:rgba(22,163,74,.18);z-index:-1;border-radius:2px;}
.band .mk{color:#7fe3a6;}
.soft{background:var(--soft);}
.band{background:linear-gradient(160deg,var(--navy3),var(--navy2));color:#fff;position:relative;overflow:hidden;}
.band-slash{position:absolute;top:-40%;left:-8%;width:55%;height:180%;background:rgba(255,255,255,.03);transform:rotate(-13deg);pointer-events:none;}
.band-slash.r{left:auto;right:-8%;}

/* =========================================================
   HERO
   ========================================================= */
.hero{background:radial-gradient(1000px 600px at 78% -10%,#16406a 0%,transparent 60%),linear-gradient(165deg,#0e2a42 0%,#081a2e 100%);background-color:#0b1f36;color:#fff;padding:66px 0 0;overflow:hidden;position:relative;}
.hero-glow{position:absolute;right:-120px;top:-120px;width:520px;height:520px;background:radial-gradient(circle,rgba(22,163,74,.22),transparent 70%);pointer-events:none;}
.hero-wrap{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;}
.eyebrow-chip{display:inline-block;background:rgba(22,163,74,.16);border:1px solid rgba(127,227,166,.4);color:#aef0c6;font-weight:700;font-size:13px;padding:7px 16px;border-radius:999px;}
.eyebrow-chip.light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff;}
.hero h1{margin:22px 0 0;font-size:clamp(30px,3.5vw,46px);font-weight:900;line-height:1.28;letter-spacing:-.01em;color:#fff;}
.hero h1 .em{color:#43d17f;}
.hero-lead{margin:22px 0 0;font-size:16.5px;color:#c3d4e2;line-height:1.9;}
.hero-lead b{color:#fff;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hero-trust{list-style:none;display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}
.hero-trust li{flex:1;min-width:150px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px 16px;}
.hero-trust b{display:block;font-family:var(--ff-head);font-size:24px;font-weight:900;color:#43d17f;line-height:1;}
.hero-trust span{display:block;font-size:12px;color:#a8bccb;margin-top:8px;line-height:1.5;}
.hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.hero-chips li{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);color:#dce8f1;font-size:13px;font-weight:700;padding:9px 15px;border-radius:999px;}
.hero-chips li::before{content:"✓";color:#43d17f;font-weight:900;}
.hero-scene{width:113%;max-width:none;display:block;filter:drop-shadow(0 26px 50px rgba(0,0,0,.4));}
/* report card */
.hero-vis{position:relative;}
.report-card{background:#fff;color:var(--ink);border-radius:16px;padding:20px;box-shadow:0 40px 90px rgba(0,0,0,.4);position:relative;z-index:2;}
.rc-head{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--navy);font-size:15px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.rc-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.18);}
.rc-badge{margin-left:auto;background:var(--soft);color:var(--ink2);font-weight:800;font-size:12px;padding:3px 12px;border-radius:999px;}
.rc-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.rc-kpi{border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.rc-kpi .k-l{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;}
.rc-kpi .k-v{font-family:var(--ff-head);font-weight:900;font-size:26px;color:var(--navy);line-height:1;}
.rc-kpi .k-v small{font-size:12px;font-weight:800;}
.rc-kpi.hot{border-color:#bfe6cd;background:var(--green-l);}
.rc-kpi.hot .k-v{color:var(--green-d);}
.rc-rows{display:flex;flex-direction:column;gap:7px;}
.rc-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;}
.rr-co{font-weight:700;color:var(--ink);flex:1;}
.rc-tag{font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;background:#e9f7ee;color:var(--green-d);}
.rc-foot{margin-top:14px;background:var(--navy);color:#cfe0ee;font-size:12px;border-radius:10px;padding:12px 14px;line-height:1.6;}
.rc-foot b{color:#43d17f;}
.hero-fig{position:absolute;right:-42px;bottom:-34px;width:148px;z-index:3;filter:drop-shadow(0 16px 24px rgba(0,0,0,.3));pointer-events:none;}
.hero-logos{position:relative;z-index:2;max-width:1240px;margin:56px auto 0;padding:22px 28px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#8ca3b6;font-size:13px;}

/* =========================================================
   CHALLENGE
   ========================================================= */
.prob-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.prob{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 22px;box-shadow:0 10px 26px rgba(16,40,60,.05);}
.prob-ic{font-family:var(--ff-head);font-weight:900;font-size:30px;color:transparent;-webkit-text-stroke:1.6px var(--green);margin-bottom:12px;}
.prob h3{font-size:16px;color:var(--navy);font-weight:900;line-height:1.5;margin-bottom:8px;}
.prob p{font-size:13.5px;color:var(--muted);}
.prob-lead{text-align:center;margin-top:44px;font-family:var(--ff-head);font-weight:900;font-size:clamp(19px,2.4vw,26px);color:var(--navy);}

/* =========================================================
   SERVICE (band) / pillars
   ========================================================= */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pillar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:32px 26px;}
.pi-num{width:46px;height:46px;border-radius:12px;background:var(--green);color:#fff;font-weight:900;font-size:22px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.pillar h3{color:#fff;font-size:18px;font-weight:900;margin-bottom:10px;line-height:1.45;}
.pillar p{color:#bcd3e0;font-size:14px;}

/* =========================================================
   PROCESS / steps
   ========================================================= */
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:st;}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 18px;box-shadow:0 10px 26px rgba(16,40,60,.05);}
.step:not(:last-child)::after{content:"›";position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:var(--green);font-size:26px;font-weight:400;z-index:2;}
.st-n{font-family:var(--ff-head);font-weight:800;font-size:12px;letter-spacing:.1em;color:var(--green);margin-bottom:10px;}
.step h3{font-size:16px;color:var(--navy);font-weight:900;margin-bottom:8px;line-height:1.4;}
.step p{font-size:12.5px;color:var(--muted);line-height:1.7;}
.step.hl-step{background:var(--navy);border-color:var(--navy);}
.step.hl-step .st-n{color:#7fe3a6;}
.step.hl-step h3{color:#fff;} .step.hl-step p{color:#cfe0ee;}
.st-badge{display:inline-block;background:var(--green);color:#fff;font-size:10px;font-weight:900;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle;}

/* =========================================================
   REASONS
   ========================================================= */
.reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:920px;margin:0 auto;}
.rz{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;box-shadow:0 10px 26px rgba(16,40,60,.05);}
.rz-ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--green-l);color:var(--green);font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center;}
.rz h3{flex:1;min-width:0;font-size:17px;color:var(--navy);font-weight:900;margin:0;line-height:1.5;}
.rz p{flex-basis:100%;font-size:13.5px;color:var(--muted);margin:0;}

/* =========================================================
   SAFETY
   ========================================================= */
.safe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.safe{background:var(--green-l);border:1px solid #cdeed9;border-radius:14px;padding:24px 20px;}
.safe h3{font-size:15px;color:var(--navy);font-weight:900;margin-bottom:8px;line-height:1.45;position:relative;padding-left:26px;}
.safe h3::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;background:var(--green);color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;}
.safe p{font-size:13px;color:var(--ink2);}
.safe-note{max-width:820px;margin:24px auto 0;font-size:12px;color:var(--muted);line-height:1.85;text-align:center;}

/* =========================================================
   CASES (band)
   ========================================================= */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:800px;margin:0 auto;}
.case{position:relative;background:#fff;color:var(--ink);border-radius:18px;padding:26px 24px 24px;box-shadow:0 24px 52px rgba(0,0,0,.26);border-top:4px solid var(--green);overflow:hidden;}
.case::after{content:"\201D";position:absolute;right:16px;top:2px;font-family:Georgia,serif;font-size:82px;line-height:1;color:rgba(22,163,74,.10);pointer-events:none;}
.cs-tag{display:inline-block;background:var(--soft);color:var(--navy);font-size:12px;font-weight:800;padding:5px 13px;border-radius:999px;margin-bottom:16px;}
.cs-num{display:flex;align-items:center;gap:11px;font-family:var(--ff-head);font-weight:900;font-size:21px;color:var(--green-d);line-height:1.35;margin-bottom:12px;}
.cs-ico{flex:none;width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(22,163,74,.35);}
.case p{font-size:13.5px;color:var(--muted);position:relative;z-index:1;}
.foot-desc{font-size:12.5px;color:#93a8ba;margin-bottom:16px;max-width:520px;}
.foot-fine{font-size:11px;color:#6f8496;line-height:1.8;margin:0 0 14px;max-width:820px;}
.foot-fine a{color:#93a8ba;text-decoration:underline;}

/* =========================================================
   COMPANY
   ========================================================= */
.company{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.company .sec-title{text-align:left;}
.co-left>p{margin-top:18px;font-size:15px;color:var(--ink2);line-height:1.95;}
.co-left>p b{color:var(--green-d);}
.co-right{display:flex;flex-direction:column;gap:12px;}
.co-fact{display:flex;gap:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 20px;}
.cf-l{flex:none;width:120px;color:var(--muted);font-size:13px;font-weight:700;}
.cf-v{color:var(--navy);font-weight:800;font-size:14.5px;}

/* =========================================================
   FAQ
   ========================================================= */
.faq{max-width:840px;margin:0 auto;}
details.q{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 8px 20px rgba(16,40,60,.05);}
details.q summary{list-style:none;cursor:pointer;padding:20px 24px 20px 56px;font-weight:800;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15.5px;position:relative;}
details.q summary::-webkit-details-marker{display:none;}
details.q summary .qmark{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:7px;background:var(--green);color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-head);}
details.q summary .tgl{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--green);color:var(--green);font-weight:900;display:flex;align-items:center;justify-content:center;}
details.q summary .tgl::after{content:"＋";}
details.q[open] summary .tgl{background:var(--green);color:#fff;}
details.q[open] summary .tgl::after{content:"−";}
details.q .a{padding:0 24px 22px 56px;color:var(--muted);font-size:14px;}

/* =========================================================
   CTA / footer
   ========================================================= */
.cta-band{background:linear-gradient(135deg,var(--green-d),var(--green));color:#fff;text-align:center;padding:84px 20px;}
.cta-band .eyebrow-chip{margin-bottom:22px;}
.cta-band h2{font-size:clamp(24px,3.4vw,38px);font-weight:900;line-height:1.45;font-family:var(--ff-head);}
.cta-band p{opacity:.96;margin:18px 0 30px;font-size:15.5px;line-height:1.85;}
.cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.cta-band .btn-cta{background:#fff;color:var(--green-d);box-shadow:0 14px 30px rgba(0,0,0,.2);}
.cta-band .btn-cta:hover{background:#f0fff6;}
.cta-fine{font-size:12.5px;opacity:.9;margin-top:18px;}
.cta-fine a{color:#fff;text-decoration:underline;font-weight:700;}
/* お問い合わせフォーム */
.cform{max-width:640px;margin:10px auto 0;background:#fff;border-radius:16px;padding:26px 26px 22px;box-shadow:0 24px 50px rgba(0,0,0,.28);text-align:left;position:relative;z-index:2;}
.cf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;}
.cform>label,.cform .cf-grid label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:14px;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{width:100%;margin-top:6px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);background:#fbfdff;font-weight:400;}
.cform textarea{resize:vertical;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.15);}
.req{display:inline-block;background:var(--green);color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:5px;vertical-align:middle;margin-left:4px;}
.cf-check{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important;font-size:13px;color:var(--ink2)!important;margin-bottom:10px;}
.cf-check input{margin-top:3px;flex:none;}
.cf-check a{color:var(--green-d);text-decoration:underline;}
.cf-submit{width:100%;justify-content:center;margin-top:10px;}
.cta-band .cform .btn-cta{background:var(--green);color:#fff;}
.cta-band .cform .btn-cta:hover{background:var(--green-d);}
@media(max-width:560px){.cf-grid{grid-template-columns:1fr;}}
footer{background:var(--navy2);color:#93a8ba;font-size:13px;padding:44px 0;}
.foot-brand{display:flex;align-items:center;gap:9px;font-family:var(--ff-head);font-weight:900;font-size:20px;color:#fff;margin-bottom:14px;}
.fl{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px;}
footer a{color:#93a8ba;text-decoration:none;}footer a:hover{color:#fff;}
.copy{color:#5f7488;font-size:12px;line-height:1.8;}

/* =========================================================
   イラスト / サービス紹介 / マイクロインタラクション
   ========================================================= */
.problem .wrap{position:relative;}
.prob-fig{position:absolute;top:6px;width:82px;z-index:1;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(16,40,60,.12));}
.prob-fig.fig-l{left:-72px;} .prob-fig.fig-r{right:-72px;}
.serv-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;margin-bottom:46px;}
.si-lead{font-size:17px;color:#eef5fa;line-height:1.9;font-weight:500;}
.si-lead b{color:#fff;}
.si-note{margin-top:16px;font-size:14.5px;color:#bcd3e0;}
.si-note b{color:#7fe3a6;}
.si-fig{width:100%;max-width:260px;margin:0 auto;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35));}
.st-fig{height:66px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:12px;}
.st-fig img{height:66px;width:auto;filter:drop-shadow(0 8px 14px rgba(16,40,60,.14));}
.step.hl-step .st-fig img{filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));}
.cta-fig{position:absolute;left:3%;bottom:0;width:150px;z-index:1;pointer-events:none;opacity:.95;filter:drop-shadow(0 12px 20px rgba(0,0,0,.25));}
/* hover lift */
.prob,.rz,.safe,.case,.pillar{transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.prob:hover,.rz:hover,.safe:hover,.case:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(16,40,60,.14);}
.pillar:hover{transform:translateY(-5px);background:rgba(255,255,255,.1);}
.step{transition:transform .2s ease,box-shadow .2s ease;}
.step:not(.hl-step):hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(16,40,60,.12);}
/* CTA shine */
.cta-band .btn-cta{position:relative;overflow:hidden;}
.cta-band .btn-cta::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:shine 3.4s ease-in-out infinite;}
@keyframes shine{0%,55%{left:-70%;}100%{left:150%;}}
@media(max-width:1280px){.prob-fig{display:none;}}
@media(max-width:820px){
  .serv-intro{grid-template-columns:1fr;gap:24px;text-align:center;}
  .si-fig{order:-1;max-width:200px;}
}
@media(max-width:900px){.cta-fig{display:none;}}
/* 料金プラン */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;max-width:1000px;margin:0 auto;}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(16,40,60,.06);}
.plan.featured{border:2px solid var(--green);box-shadow:0 26px 52px rgba(22,163,74,.18);transform:translateY(-8px);}
.pl-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-weight:900;font-size:12px;padding:4px 18px;border-radius:999px;}
.pl-name{font-family:var(--ff-head);font-weight:900;font-size:19px;color:var(--navy);}
.pl-obj{font-size:13px;color:var(--muted);margin:6px 0 16px;}
.pl-price{display:flex;align-items:baseline;gap:7px;padding-bottom:14px;border-bottom:1px dashed var(--line);margin-bottom:14px;}
.pl-price b{font-family:var(--ff-head);font-weight:900;font-size:38px;color:var(--navy);line-height:1;}
.pl-unit{font-size:14px;color:var(--muted);font-weight:700;}
.pl-min{font-size:12.5px;color:var(--ink2);margin-bottom:16px;}
.pl-min b{color:var(--green-d);}
.pl-feat{list-style:none;margin:0 0 22px;flex:1;}
.pl-feat li{position:relative;padding:8px 0 8px 24px;font-size:13.5px;color:var(--ink2);border-bottom:1px solid #f0f4f7;}
.pl-feat li:last-child{border-bottom:none;}
.pl-feat li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900;}
.plan .btn{justify-content:center;width:100%;}
.pl-note{max-width:1000px;margin:22px auto 0;font-size:11.5px;color:var(--muted);line-height:1.9;}
@media(max-width:820px){.plans{grid-template-columns:1fr;max-width:420px;}.plan.featured{transform:none;}}
/* 反響の目安 */
.result-wrap{padding:64px 0 0;}
.rn-box{max-width:880px;margin:0 auto;background:#fff;border:2px solid var(--green);border-radius:18px;padding:28px 30px;box-shadow:0 20px 46px rgba(22,163,74,.15);text-align:center;}
.rn-tag{display:inline-block;background:var(--green);color:#fff;font-weight:800;font-size:13px;padding:5px 16px;border-radius:999px;margin-bottom:20px;}
.rn-calc{display:flex;align-items:stretch;justify-content:center;gap:0;flex-wrap:wrap;}
.rn-item{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px 20px;min-width:150px;}
.rn-item .rn-l{display:block;font-size:12px;color:var(--muted);margin-bottom:7px;}
.rn-item .rn-v{font-family:var(--ff-head);font-weight:900;font-size:26px;color:var(--navy);line-height:1;}
.rn-item .rn-v small{font-size:13px;font-weight:800;}
.rn-item.hit{border:2px solid var(--green);background:var(--green-l);}
.rn-item.hit .rn-v{color:var(--green-d);}
.rn-op{display:flex;align-items:center;padding:0 16px;font-size:22px;font-weight:900;color:var(--green);}
.rn-note{margin-top:18px;font-size:12px;color:var(--muted);line-height:1.85;max-width:680px;margin-left:auto;margin-right:auto;}
.rn-note b{color:var(--green-d);}
@media(max-width:640px){.rn-calc{flex-direction:column;gap:8px;}.rn-op{transform:rotate(90deg);padding:2px 0;}.rn-item{width:100%;}}

/* =========================================================
   レスポンシブ
   ========================================================= */
@media(max-width:980px){
  .hero-wrap{grid-template-columns:1fr;gap:20px;}
  .hero-vis{order:-1;max-width:520px;margin:0 auto;}
  .hero-scene{width:100%;}
  .pipe-mini.m1{left:-10px;} .pipe-mini.m2{right:-10px;}
  .prob-grid,.safe-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step:not(:last-child)::after{display:none;}
  .company{grid-template-columns:1fr;gap:28px;}
  .company .sec-title{text-align:center;}
}
@media(max-width:880px){
  .nav-links{display:none;} .nav-cta{display:none;} .sp-burger{display:flex;}
  .sp-menu:not([hidden]){display:flex;}
  .pillars,.reasons,.cases{grid-template-columns:1fr;}
}
@media(max-width:560px){
  section{padding:56px 0;}
  .hero{padding:36px 0 0;}
  .hero h1{font-size:23px;line-height:1.4;letter-spacing:-.02em;}
  .eyebrow-chip{font-size:11.5px;padding:6px 14px;}
  .hero-lead{font-size:14px;line-height:1.85;margin-top:16px;}
  .hero-chips{gap:8px;margin-top:20px;}
  .hero-chips li{font-size:12px;padding:8px 13px;}
  .sec-title{font-size:21px;line-height:1.55;}
  .sec-sub{font-size:13.5px;}
  .prob-grid,.safe-grid,.steps{grid-template-columns:1fr;}
  .prob h3,.rz h3,.safe h3,.pillar h3,.step h3{font-size:15.5px;}
  .pl-price b{font-size:32px;}
  .rn-item .rn-v{font-size:23px;}
}
