
/* ===== RESET & BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#000000;--bg2:#0A0A0F;--bg3:#12121A;
  --red:#FF2D55;--cyan:#00F0FF;
  --grad:linear-gradient(135deg,#FF2D55,#00F0FF);
  --grad-rd:linear-gradient(135deg,#00F0FF,#FF2D55);
  --white:#FFFFFF;--gray:#A0A0A8;--gray2:#606068;
  --glass:rgba(255,255,255,0.04);
  --glass-border:rgba(255,255,255,0.08);
  --neon-red:0 0 30px rgba(255,45,85,0.5),0 0 60px rgba(255,45,85,0.2);
  --neon-cyan:0 0 30px rgba(0,240,255,0.5),0 0 60px rgba(0,240,255,0.2);
  --max-w:1280px;
}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--bg);color:var(--white);
  font-family:'Noto Sans JP','Inter',sans-serif;
  overflow-x:hidden;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
section{position:relative;padding:100px 20px}
.container{max-width:var(--max-w);margin:0 auto;width:100%}

/* ===== CURSOR GLOW ===== */
.cursor-glow{
  position:fixed;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,45,85,0.08),transparent 60%);
  pointer-events:none;z-index:1;transform:translate(-50%,-50%);
  transition:opacity .3s;mix-blend-mode:screen;
}

/* ===== PARTICLE BG ===== */
#particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* ===== SCROLL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.active{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-60px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-left.active{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(60px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-right.active{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-scale.active{opacity:1;transform:scale(1)}

/* ===== NAVBAR ===== */
nav{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  padding:16px 24px;display:flex;align-items:center;justify-content:space-between;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--glass-border);transition:padding .3s;
}
nav.scrolled{padding:10px 24px}
.nav-logo{display:flex;align-items:center;gap:9px}
.nav-logo img{height:30px;width:auto;object-fit:contain;flex-shrink:0}
.nav-logo span{font-size:22px;font-weight:900;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:14px;color:var(--gray);transition:color .3s;font-weight:500}
.nav-links a:hover{color:var(--white)}
.nav-cta{padding:10px 22px;border-radius:30px;font-size:13px;font-weight:700;color:#fff!important;white-space:nowrap}
.nav-mobile{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-mobile span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:.3s}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 36px;border-radius:40px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s;border:none;letter-spacing:.02em;white-space:nowrap}
.btn-red{background:var(--red);color:#fff;box-shadow:var(--neon-red)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(255,45,85,.7),0 0 80px rgba(255,45,85,.3)}
.btn-cyan{background:transparent;color:var(--cyan);border:2px solid var(--cyan);box-shadow:var(--neon-cyan)}
.btn-cyan:hover{transform:translateY(-2px);background:rgba(0,240,255,.1);box-shadow:0 0 40px rgba(0,240,255,.7),0 0 80px rgba(0,240,255,.3)}
.btn-grad{background:var(--grad);color:#fff;box-shadow:0 0 30px rgba(255,45,85,.4),0 0 30px rgba(0,240,255,.2)}
.btn-grad:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(255,45,85,.6),0 0 40px rgba(0,240,255,.4)}
.btn-sm{padding:12px 26px;font-size:14px}
.btn-glass{background:var(--glass);border:1px solid var(--glass-border);color:var(--white);backdrop-filter:blur(10px)}
.btn-glass:hover{border-color:var(--cyan);color:var(--cyan)}

/* ===== HERO ===== */
#hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:80px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,45,85,.15),transparent 70%);top:-10%;left:-10%;animation:float 12s ease-in-out infinite}
.hero-bg::after{content:'';position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(0,240,255,.12),transparent 70%);bottom:-15%;right:-10%;animation:float 15s ease-in-out infinite reverse}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,30px)}}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero-logo-badge{position:relative;width:fit-content;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.hero-logo-badge::before{content:'';position:absolute;inset:-40px;background:radial-gradient(circle,rgba(255,45,85,.28),rgba(0,240,255,.16) 55%,transparent 75%);filter:blur(18px);z-index:-1}
.hero-logo-badge img{height:clamp(120px,16vw,190px);width:auto;object-fit:contain;filter:drop-shadow(0 0 24px rgba(255,255,255,.18))}
.hero-subtitle{font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);margin-bottom:24px;font-weight:600;opacity:0;animation:fadeInUp .8s .2s forwards}
.hero-title{font-size:clamp(48px,12vw,140px);font-weight:900;line-height:1;letter-spacing:-.04em;margin-bottom:20px}
.hero-title span{display:block;opacity:0;animation:fadeInUp 1s .4s forwards}
.hero-title span:nth-child(2){background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation-delay:.6s}
.hero-copy{font-size:clamp(14px,3vw,20px);color:var(--gray);margin-bottom:40px;opacity:0;animation:fadeInUp .8s .8s forwards}
.hero-cta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeInUp .8s 1s forwards}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;opacity:0;animation:fadeInUp .8s 1.4s forwards,bounce 2s 2s infinite}
.hero-scroll svg{width:28px;height:28px;stroke:var(--gray);animation:bounce 2s infinite}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(12px)}}

/* ===== STATS ===== */
#stats{padding:80px 20px;background:var(--bg2)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
.stat-item{position:relative}
.stat-number{font-family:'Inter',sans-serif;font-size:clamp(48px,8vw,90px);font-weight:900;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 40px rgba(255,45,85,.3)}
.stat-label{font-size:14px;color:var(--gray);margin-top:12px;letter-spacing:.05em}
.stats-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;z-index:0;pointer-events:none}

/* ===== SECTION DIVIDER ===== */
.divider{height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(255,45,85,.3),rgba(0,240,255,.3),transparent)}

/* ===== SERVICE CARDS ===== */
.service-section{padding:120px 20px}
.service-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:var(--max-w);margin:0 auto}
.service-card.reverse{direction:rtl}
.service-card.reverse>*{direction:ltr}
.service-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:20px;background:var(--red);color:#fff;box-shadow:var(--neon-red)}
.service-title{font-size:clamp(32px,5vw,52px);font-weight:900;line-height:1.15;letter-spacing:-.03em;margin-bottom:24px}
.service-title span{display:block}
.service-title .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.service-desc{font-size:16px;color:var(--gray);line-height:1.8;margin-bottom:28px}
.service-features{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.service-feature{display:flex;align-items:center;gap:14px;font-size:15px}
.service-feature-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--glass);border:1px solid var(--glass-border);flex-shrink:0}
.service-cta{display:flex;gap:16px;flex-wrap:wrap}

/* ===== SERVICE VISUALS ===== */
.service-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:400px}
.visual-glow{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,45,85,.1),transparent 70%);z-index:0}
.visual-glow.cyan{background:radial-gradient(circle,rgba(0,240,255,.1),transparent 70%)}

/* Phone Mockup */
.phone-mockup{width:280px;height:560px;border-radius:40px;background:var(--bg3);border:3px solid rgba(255,255,255,.1);box-shadow:0 0 50px rgba(255,45,85,.2),0 20px 60px rgba(0,0,0,.5);position:relative;overflow:hidden;z-index:1}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:28px;background:#000;border-radius:0 0 16px 16px;z-index:10}
.phone-screen{width:100%;height:100%;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);position:relative;overflow:hidden}
.phone-video{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}
.phone-video-icon{font-size:60px;margin-bottom:16px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}
.phone-video-title{font-size:16px;font-weight:700;margin-bottom:8px}
.phone-video-sub{font-size:12px;color:var(--gray)}
.phone-ui{position:absolute;bottom:0;left:0;right:0;padding:16px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);border-top:1px solid var(--glass-border)}
.phone-ui-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.phone-ui-label{font-size:11px;color:var(--gray2)}
.phone-ui-value{font-size:14px;font-weight:700;color:var(--cyan)}
.phone-ui-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.phone-ui-fill{height:100%;border-radius:2px;background:var(--grad);animation:fillBar 2s ease-out forwards}
@keyframes fillBar{from{width:0}to{width:75%}}
.phone-side-icons{position:absolute;right:12px;bottom:100px;display:flex;flex-direction:column;gap:20px;z-index:5}
.phone-side-icon{display:flex;flex-direction:column;align-items:center;gap:4px}
.phone-side-icon .ico{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:20px}
.phone-side-icon .num{font-size:11px;font-weight:600;color:#fff}

/* Split Video Visual */
.split-visual{display:flex;align-items:center;gap:20px;position:relative;z-index:1}
.split-source{width:140px;height:240px;border-radius:16px;background:var(--bg3);border:2px solid var(--glass-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex-shrink:0;box-shadow:0 0 30px rgba(0,240,255,.15)}
.split-source .label{font-size:12px;color:var(--gray);text-align:center}
.split-arrow{font-size:32px;color:var(--red);animation:arrowPulse 1.5s infinite}
@keyframes arrowPulse{0%,100%{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(8px)}}
.split-outputs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.split-output{width:90px;height:160px;border-radius:12px;background:var(--bg3);border:1px solid rgba(255,45,85,.2);display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 0 15px rgba(255,45,85,.1);animation:popIn .5s ease-out forwards;opacity:0}
.split-output:nth-child(1){animation-delay:.1s}
.split-output:nth-child(2){animation-delay:.2s}
.split-output:nth-child(3){animation-delay:.3s}
.split-output:nth-child(4){animation-delay:.4s}
@keyframes popIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}

/* Calendar Visual */
.calendar-visual{width:320px;background:var(--bg3);border:1px solid var(--glass-border);border-radius:20px;padding:20px;box-shadow:0 0 40px rgba(0,240,255,.15);z-index:1}
.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cal-title{font-size:16px;font-weight:700}
.cal-badge{font-size:11px;padding:4px 10px;border-radius:10px;background:var(--cyan);color:#000;font-weight:700}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-day-name{text-align:center;font-size:10px;color:var(--gray2);padding:4px 0}
.cal-day{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;position:relative;background:rgba(255,255,255,.03)}
.cal-day.has-post{background:rgba(255,45,85,.15);border:1px solid rgba(255,45,85,.3);color:var(--red);font-weight:700}
.cal-day.has-post::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--red)}
.cal-day.has-post.cyan{background:rgba(0,240,255,.15);border-color:rgba(0,240,255,.3);color:var(--cyan)}
.cal-day.has-post.cyan::after{background:var(--cyan)}
.cal-day.empty{opacity:0}

/* Graph Visual */
.graph-visual{width:360px;background:var(--bg3);border:1px solid var(--glass-border);border-radius:20px;padding:24px;box-shadow:0 0 40px rgba(255,45,85,.15);z-index:1}
.graph-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.graph-label{font-size:13px;color:var(--gray)}
.graph-value{font-size:36px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.graph-value .unit{font-size:18px}
.graph-chart{height:160px;display:flex;align-items:flex-end;gap:8px;padding-top:10px}
.graph-bar{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--red),rgba(255,45,85,.2));min-height:8px;animation:growBar 1.2s ease-out forwards;transform-origin:bottom;transform:scaleY(0)}
.graph-bar:nth-child(1){animation-delay:.1s;height:20%}
.graph-bar:nth-child(2){animation-delay:.2s;height:35%}
.graph-bar:nth-child(3){animation-delay:.3s;height:30%}
.graph-bar:nth-child(4){animation-delay:.4s;height:50%}
.graph-bar:nth-child(5){animation-delay:.5s;height:65%}
.graph-bar:nth-child(6){animation-delay:.6s;height:55%}
.graph-bar:nth-child(7){animation-delay:.7s;height:80%}
.graph-bar:nth-child(8){animation-delay:.8s;height:95%}
.graph-bar:nth-child(9){animation-delay:.9s;height:100%}
.graph-bar.cyan{background:linear-gradient(180deg,var(--cyan),rgba(0,240,255,.2))}
@keyframes growBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ===== COMPARISON TABLE ===== */
#comparison{padding:100px 20px;background:var(--bg2)}
.section-title{text-align:center;font-size:clamp(28px,5vw,48px);font-weight:900;margin-bottom:60px;letter-spacing:-.03em}
.section-title .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.comparison-table{max-width:800px;margin:0 auto;border-radius:20px;overflow:hidden;border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(20px)}
.comp-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;padding:20px 28px;align-items:center;border-bottom:1px solid var(--glass-border);transition:background .3s}
.comp-row:last-child{border-bottom:none}
.comp-row:hover{background:rgba(255,255,255,.02)}
.comp-header{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.comp-header.nemate{color:var(--cyan);text-align:center}
.comp-header.other{text-align:center;color:var(--gray)}
.comp-label{font-size:15px;font-weight:600}
.comp-value{text-align:center;font-size:15px;color:var(--gray)}
.comp-value.nemate{color:var(--white);font-weight:700}
.comp-value.nemate-col{background:rgba(0,240,255,.05)}
.comp-check{color:var(--cyan);font-size:20px}
.comp-cross{color:var(--gray2);font-size:18px}
.nemate-col-highlight{background:linear-gradient(180deg,rgba(0,240,255,.08),rgba(255,45,85,.05))}

/* ===== FLOW SECTION ===== */
#flow{padding:100px 20px}
.flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:60px;max-width:var(--max-w);margin-left:auto;margin-right:auto}
.flow-step{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:28px;backdrop-filter:blur(10px);position:relative;transition:all .3s}
.flow-step:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--neon-cyan)}
.flow-num{font-family:'Inter',sans-serif;font-size:40px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px;line-height:1}
.flow-step-title{font-size:16px;font-weight:700;margin-bottom:8px}
.flow-step-desc{font-size:13px;color:var(--gray)}
.pricing-card{max-width:600px;margin:0 auto;background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:40px;backdrop-filter:blur(20px);text-align:center}
.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--glass-border);font-size:16px}
.pricing-row:last-of-type{border-bottom:none}
.pricing-row .label{color:var(--gray)}
.pricing-row .value{font-weight:700;font-size:20px}
.pricing-row .value.free{color:var(--cyan)}
.pricing-note{margin-top:24px;font-size:18px;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ===== AFFILIATE SECTION ===== */
#affiliate{padding:100px 20px;background:var(--bg2)}
.affiliate-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:var(--max-w);margin:0 auto;align-items:start}
.simulator{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:32px;backdrop-filter:blur(20px)}
.sim-title{font-size:18px;font-weight:700;margin-bottom:24px}
.sim-item{margin-bottom:24px}
.sim-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}
.sim-value{font-weight:700;color:var(--cyan);font-family:'Inter',sans-serif}
.sim-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:rgba(255,255,255,.1);outline:none;cursor:pointer}
.sim-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--grad);cursor:pointer;box-shadow:0 0 15px rgba(255,45,85,.4)}
.sim-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--red);border:none;cursor:pointer}
.sim-result{margin-top:28px;padding:24px;border-radius:16px;background:linear-gradient(135deg,rgba(255,45,85,.1),rgba(0,240,255,.1));border:1px solid var(--glass-border);text-align:center}
.sim-result-label{font-size:13px;color:var(--gray);margin-bottom:8px}
.sim-result-value{font-family:'Inter',sans-serif;font-size:32px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.aff-benefits{display:flex;flex-direction:column;gap:16px}
.aff-benefit{display:flex;align-items:center;gap:14px;font-size:16px;padding:16px 20px;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;transition:all .3s}
.aff-benefit:hover{border-color:var(--cyan);transform:translateX(6px)}
.aff-benefit .check{color:var(--cyan);font-size:20px;flex-shrink:0;font-weight:700}
.aff-cta{margin-top:32px}

/* ===== TESTIMONIALS ===== */
#testimonials{padding:100px 20px}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:var(--max-w);margin:0 auto}
.test-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:40px 28px;backdrop-filter:blur(10px);text-align:center;position:relative;overflow:hidden;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.test-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.test-badge{font-size:12px;color:var(--gray2);letter-spacing:.1em;margin-bottom:16px}
.test-placeholder{font-size:20px;font-weight:700;color:var(--gray);margin-bottom:8px}
.test-sub{font-size:13px;color:var(--gray2)}

/* ===== FINAL CTA ===== */
#final-cta{padding:120px 20px;text-align:center;position:relative;overflow:hidden}
.final-cta-bg{position:absolute;inset:0;background:var(--grad);opacity:.15;z-index:0}
.final-cta-bg::before{content:'';position:absolute;inset:0;background:var(--bg);clip-path:polygon(0 10%,100% 0,100% 90%,0 100%)}
.final-content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.final-title{font-size:clamp(32px,6vw,56px);font-weight:900;line-height:1.3;letter-spacing:-.03em;margin-bottom:40px}
.final-title .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.final-cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

/* ===== FOOTER ===== */
footer{padding:60px 20px 30px;background:var(--bg2);border-top:1px solid var(--glass-border)}
.footer-content{max-width:var(--max-w);margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-logo img{height:38px;width:auto;object-fit:contain;flex-shrink:0}
.footer-logo span{font-size:28px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.footer-copy{font-size:14px;color:var(--gray)}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:13px;color:var(--gray);transition:color .3s}
.footer-links a:hover{color:var(--cyan)}
.footer-links-title{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--white)}
.footer-sns{display:flex;gap:16px;margin-top:20px}
.footer-sns a{width:40px;height:40px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s}
.footer-sns a:hover{border-color:var(--cyan);box-shadow:var(--neon-cyan);transform:translateY(-2px)}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--glass-border);font-size:12px;color:var(--gray2)}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  section{padding:70px 16px}
  .nav-links{display:none}
  .nav-mobile{display:flex}
  .stats-grid{grid-template-columns:1fr;gap:40px}
  .service-card{grid-template-columns:1fr;gap:40px}
  .service-card.reverse{direction:ltr}
  .service-visual{min-height:300px}
  .phone-mockup{width:220px;height:440px}
  .comparison-table .comp-row{grid-template-columns:1fr 1fr 1fr;padding:14px 12px;font-size:13px}
  .flow-steps{grid-template-columns:1fr}
  .affiliate-grid{grid-template-columns:1fr;gap:40px}
  .test-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .hero-cta{flex-direction:column;width:100%;padding:0 20px}
  .hero-cta .btn{width:100%}
  .final-cta-buttons{flex-direction:column;width:100%;padding:0 20px}
  .final-cta-buttons .btn{width:100%}
  .split-visual{flex-direction:column;gap:16px}
  .split-arrow{transform:rotate(90deg)}
  .calendar-visual,.graph-visual{width:100%;max-width:320px}
  .nav-cta{padding:8px 16px;font-size:12px}
  .service-cta{width:100%}
  .service-cta .btn{width:100%}
}
@media(max-width:480px){
  .hero-title{font-size:56px}
  .stat-number{font-size:56px}
  .pricing-card{padding:24px}
  .simulator{padding:20px}
}


/* ===== CUSTOM REWORK ===== */
body{background:radial-gradient(circle at top,rgba(255,45,85,.08),transparent 26%),radial-gradient(circle at right top,rgba(0,240,255,.08),transparent 24%),var(--bg)}
.company-grid,.reason-grid,.summary-grid,.contact-grid,.mini-grid{display:grid;gap:24px}
.company-grid{grid-template-columns:1.15fr .85fr;align-items:start}
.reason-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}
.mini-grid{grid-template-columns:repeat(3,1fr)}
.glass-card,.summary-card,.contact-card,.company-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;backdrop-filter:blur(20px);box-shadow:0 0 40px rgba(255,45,85,.06),0 0 30px rgba(0,240,255,.05)}
.company-card,.contact-card{padding:32px}
.summary-card{padding:28px;height:100%}
.summary-card:hover,.company-card:hover,.contact-card:hover{transform:translateY(-4px);border-color:rgba(0,240,255,.35);transition:all .3s}
.summary-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.summary-num{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.14em;color:var(--cyan);font-weight:700}
.summary-card h3{font-size:28px;line-height:1.2;margin-bottom:14px;font-weight:900;letter-spacing:-.03em}
.summary-card p,.company-copy,.contact-copy{color:var(--gray);font-size:15px;line-height:1.9}
.company-copy strong,.summary-card strong{color:var(--white)}
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.pill{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--glass-border);font-size:12px;font-weight:700;color:var(--white)}
.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.kpi-box{padding:18px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border)}
.kpi-box .num{font-family:'Inter',sans-serif;font-size:28px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.kpi-box .label{font-size:12px;color:var(--gray)}
.page-hero{padding-top:140px;padding-bottom:90px;min-height:auto;text-align:left}
.page-hero .hero-content{max-width:var(--max-w);width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.page-hero .hero-copy{margin-bottom:28px}
.cta-stack{display:flex;gap:16px;flex-wrap:wrap}
.service-summary-section{padding-top:110px}
.contact-form-wrap{padding:32px}
.contact-form{display:grid;gap:16px}
.contact-form label{font-size:13px;color:var(--gray);font-weight:700;display:block;margin-bottom:8px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:16px 18px;border-radius:16px;border:1px solid var(--glass-border);background:rgba(255,255,255,.03);color:var(--white);font:inherit;outline:none}
.contact-form textarea{min-height:160px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,240,255,.12)}
.contact-note{font-size:13px;color:var(--gray)}
.floating-cta{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:12px}
.floating-cta .btn{padding:14px 22px;min-width:180px}
.footer-links a{opacity:.9}
.footer-links a:hover,.footer-sns a:hover{color:var(--cyan)}
.final-cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
@media (max-width: 960px){
  .company-grid,.reason-grid,.summary-grid,.contact-grid,.mini-grid,.page-hero .hero-content{grid-template-columns:1fr}
  .kpi-strip{grid-template-columns:1fr}
}
@media (max-width: 768px){
  .floating-cta{left:12px;right:12px;bottom:12px}
  .floating-cta .btn{width:100%;min-width:0;padding:16px 20px}
  body{padding-bottom:110px}
  .summary-card h3{font-size:24px}
}


/* ===== CUSTOM REWORK V2 (2026 リニューアル追加分) ===== */
.eyebrow{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--cyan);font-weight:700;margin-bottom:14px}
.section-lead{max-width:640px;margin:0 auto 48px;text-align:center;color:var(--gray);font-size:15px;line-height:1.8}

/* --- 悩み (PAIN) --- */
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--max-w);margin:0 auto}
.pain-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:26px 24px;backdrop-filter:blur(10px);display:flex;align-items:flex-start;gap:16px;transition:all .3s}
.pain-card:hover{border-color:rgba(255,45,85,.4);transform:translateY(-3px);box-shadow:0 0 30px rgba(255,45,85,.12)}
.pain-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(255,45,85,.1);border:1px solid rgba(255,45,85,.25)}
.pain-text{font-size:15px;font-weight:700;line-height:1.6;padding-top:8px}
.pain-resolve{max-width:720px;margin:44px auto 0;text-align:center;padding:28px 32px;border-radius:20px;background:linear-gradient(135deg,rgba(255,45,85,.1),rgba(0,240,255,.08));border:1px solid var(--glass-border)}
.pain-resolve p{font-size:clamp(20px,3vw,28px);font-weight:900;letter-spacing:-.02em}
.pain-resolve .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* --- サービス一覧6枚カード（TOPページ） --- */
.service-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:var(--max-w);margin:0 auto}
.service-tile{position:relative;display:block;background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:30px 26px;backdrop-filter:blur(10px);transition:all .3s;overflow:hidden}
.service-tile:hover{border-color:rgba(0,240,255,.4);transform:translateY(-6px);box-shadow:0 0 40px rgba(0,240,255,.15)}
.service-tile-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--grad);margin-bottom:20px;box-shadow:0 0 20px rgba(255,45,85,.3)}
.service-tile h3{font-size:19px;font-weight:900;margin-bottom:10px;letter-spacing:-.01em}
.service-tile p{font-size:13px;color:var(--gray);line-height:1.7;margin-bottom:18px;min-height:66px}
.service-tile-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--cyan)}
.service-tile-link svg{width:14px;height:14px;stroke:var(--cyan);transition:transform .3s}
.service-tile:hover .service-tile-link svg{transform:translateX(4px)}

/* --- 実績・数字ストリップ --- */
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:var(--max-w);margin:0 auto;text-align:center}
.stats-strip .stat-item .stat-number{font-size:clamp(32px,5vw,54px)}
.stats-strip .stat-item .stat-label{font-size:12px}
.stats-more{text-align:center;margin-top:36px}

/* --- FAQ アコーディオン --- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;backdrop-filter:blur(10px)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;background:none;border:none;color:var(--white);font:inherit;font-size:15px;font-weight:700;text-align:left;cursor:pointer}
.faq-q .q-mark{color:var(--cyan);font-family:'Inter',sans-serif;flex-shrink:0}
.faq-q .plus{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--gray);transition:transform .3s}
.faq-item.open .faq-q .plus{transform:rotate(45deg);color:var(--cyan);border-color:var(--cyan)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 26px 24px 62px;font-size:14px;line-height:1.9;color:var(--gray)}
.faq-item.open .faq-a{max-height:600px}

/* --- 導入実績ケースカード --- */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--max-w);margin:0 auto}
.case-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:24px;backdrop-filter:blur(10px);transition:all .3s}
.case-card:hover{transform:translateY(-4px);border-color:rgba(0,240,255,.3)}
.case-metric{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--red);letter-spacing:.05em;margin-bottom:10px;display:inline-block;padding:4px 10px;border-radius:10px;background:rgba(255,45,85,.1)}
.case-metric.cyan{color:var(--cyan);background:rgba(0,240,255,.1)}
.case-card h4{font-size:16px;font-weight:900;margin-bottom:8px}
.case-card p{font-size:13px;color:var(--gray);line-height:1.7}
.case-soon{max-width:600px;margin:0 auto;text-align:center;padding:48px 32px;border-radius:20px;background:var(--glass);border:1px dashed var(--glass-border)}
.case-soon .test-placeholder{font-size:22px;font-weight:900;margin-bottom:10px}

/* --- 料金プランカード（複数プラン対応） --- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--max-w);margin:0 auto}
.price-plan{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:32px 26px;backdrop-filter:blur(20px);text-align:center;position:relative}
.price-plan.featured{border-color:rgba(255,45,85,.5);box-shadow:0 0 40px rgba(255,45,85,.15)}
.price-plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--grad);padding:6px 18px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:var(--neon-red)}
.price-plan-name{font-size:14px;color:var(--gray);margin-bottom:14px;font-weight:700}
.price-plan-value{font-family:'Inter',sans-serif;font-size:36px;font-weight:900;margin-bottom:6px}
.price-plan-value .unit{font-size:14px;color:var(--gray);font-weight:500}
.price-plan-note{font-size:12px;color:var(--gray2);margin-bottom:22px}
.price-plan-list{text-align:left;display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--gray)}
.price-plan-list li{list-style:none;display:flex;gap:8px;align-items:flex-start}
.price-plan-list li::before{content:'✓';color:var(--cyan);font-weight:700;flex-shrink:0}

/* --- 業種/対応メディア ピル --- */
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}

/* --- ブレッドクラム --- */
.breadcrumb{font-size:12px;color:var(--gray2);margin-bottom:18px;display:flex;gap:8px;align-items:center}
.breadcrumb a{color:var(--gray)}
.breadcrumb a:hover{color:var(--cyan)}

@media(max-width:960px){
  .pain-grid,.service-tile-grid,.case-grid,.price-grid{grid-template-columns:repeat(2,1fr)}
  .stats-strip{grid-template-columns:repeat(2,1fr);gap:32px 20px}
}
@media(max-width:640px){
  .pain-grid,.service-tile-grid,.case-grid,.price-grid{grid-template-columns:1fr}
  .faq-a-inner{padding:0 20px 22px 20px}
  .faq-q{padding:18px 20px}
}
