/* ===== J-wire EN LP – Rich Design for Flat HTML ===== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Zen+Kaku+Gothic+New:wght@400;700;900&family=Outfit:wght@300;400;500;600;700;800;900&display=swap');

/* ---------- Variables & Reset ---------- */
.jwa,.jwa *,.jwa *::before,.jwa *::after{margin:0;padding:0;box-sizing:border-box}
.jwa{
  --white:#fff;--off:#f8f9fd;--cream:#fefcf8;
  --ink:#0f1628;--ink2:#1a2340;--ink3:#2a3458;
  --amber:#ff9500;--amber2:#ffb84d;--amber-bg:#fff7eb;
  --blue:#2563eb;--blue2:#60a5fa;--blue-bg:#eff4ff;
  --purple:#7c3aed;--purple-bg:#f5f0ff;
  --green:#10b981;--green-bg:#ecfdf5;
  --red:#ef4444;
  --txt:#1e2a45;--txt2:#5b6580;--txt3:#94a0b8;--bdr:#e2e8f4;
  --en:'Outfit','Zen Kaku Gothic New',sans-serif;
  --s1:0 2px 8px rgba(15,22,40,.04);--s2:0 8px 30px rgba(15,22,40,.06);
  --s3:0 16px 48px rgba(15,22,40,.08);
  font-family:var(--en)!important;background:var(--white);color:var(--txt);
  line-height:1.8;overflow-x:hidden;font-size:16px;
}
.jwa a{text-decoration:none}.jwa h1,.jwa h2,.jwa p{border:none!important;background:none!important}
.jwa canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}

/* ---------- Labels ---------- */
.jwa .jlabel{font-family:var(--en);font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;display:inline-block;padding:5px 14px;border-radius:20px;margin-bottom:14px}
.jwa .jl-a{color:var(--amber);background:var(--amber-bg)}
.jwa .jl-p{color:var(--purple);background:var(--purple-bg)}
.jwa .jl-b{color:var(--blue);background:var(--blue-bg)}
.jwa .jl-g{color:var(--green);background:var(--green-bg)}
.jwa .jl-o{color:#c2410c;background:#fff7ed}

/* ---------- Accent Text ---------- */
.jwa .jacc{color:var(--amber)!important;-webkit-text-fill-color:var(--amber);font-family:var(--en);font-weight:800}
.jwa .jhl{position:relative;display:inline;font-weight:400;font-size:.85em;-webkit-text-fill-color:var(--txt2);color:var(--txt2)}
.jwa .jhl::after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:10px;background:rgba(255,149,0,.25);border-radius:5px;z-index:-1}
.jwa .jr{color:var(--red)!important;-webkit-text-fill-color:var(--red)}
.jwa .jgr{background:linear-gradient(135deg,var(--amber),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.jwa .jam{color:var(--amber)!important;-webkit-text-fill-color:var(--amber)}

/* ---------- Buttons ---------- */
.jwa .jbtn{display:inline-flex;align-items:center;gap:8px;padding:16px 34px;font-family:var(--en);font-weight:700;font-size:.92rem;border:none;border-radius:12px;cursor:pointer;text-decoration:none!important;transition:all .3s;line-height:1.5}
.jwa .jbtn-p{background:linear-gradient(135deg,var(--amber),var(--amber2));color:var(--ink)!important;-webkit-text-fill-color:var(--ink);box-shadow:0 4px 16px rgba(255,149,0,.25)}
.jwa .jbtn-p::after{content:'\2192';transition:transform .3s}
.jwa .jbtn-p:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,149,0,.35)}
.jwa .jbtn-p:hover::after{transform:translateX(4px)}

@keyframes jpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,149,0,.3)}50%{box-shadow:0 0 0 16px rgba(255,149,0,0)}}

/* ======== HERO ======== */
.jwa .jhero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden;background:linear-gradient(165deg,#f0fdfa 0%,#fff 35%,#fffbeb 70%,#eff6ff 100%);padding:140px 24px 100px}
.jwa .jhero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 40%,rgba(255,149,0,.06) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 20% 70%,rgba(37,99,235,.04) 0%,transparent 50%);pointer-events:none}
.jwa .jbadge{display:inline-flex;align-items:center;gap:6px;background:var(--amber-bg);border:1px solid rgba(255,149,0,.2);border-radius:24px;padding:5px 14px;margin-bottom:18px;font-size:.72rem;font-weight:600;color:var(--amber)!important;-webkit-text-fill-color:var(--amber);position:relative;z-index:2}
.jwa .jhero h1{font-size:clamp(2rem,4.5vw,3.2rem)!important;font-weight:900!important;line-height:1.35!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink);margin-bottom:24px!important;position:relative;z-index:2;padding:0!important}
.jwa .jhero h1 .jacc{-webkit-text-fill-color:var(--amber)}
.jwa .jhsub{font-size:clamp(.9rem,1.3vw,1.05rem);color:var(--txt2);margin:0 auto 36px;max-width:640px;position:relative;z-index:2}
.jwa .jhsub strong{color:var(--ink);font-weight:700}
.jwa .jhero .jbtn{position:relative;z-index:2;margin-bottom:40px;padding:20px 48px;font-size:1.05rem;animation:jpulse 3s ease infinite}
.jwa .jstat{position:relative;z-index:2;font-size:.95rem;color:var(--txt2);display:flex;justify-content:center;gap:28px;flex-wrap:wrap}
.jwa .jsn{font-family:var(--en);font-size:1.8rem;font-weight:800;color:var(--ink)!important;-webkit-text-fill-color:var(--ink);line-height:1.1;display:block}
.jwa .jdot{color:var(--bdr);margin:0 .3rem;display:none}

/* ======== PROBLEM ======== */
.jwa .jprob{padding:100px 24px;background:var(--off);text-align:center;max-width:100%}
.jwa .jprob .jlabel{display:block;text-align:center}
.jwa .jprob h2{font-size:clamp(1.4rem,3vw,2.2rem)!important;font-weight:900!important;color:var(--ink)!important;line-height:1.6!important;margin-bottom:48px!important;padding:0!important}
.jwa .jpc1,.jwa .jpc2,.jwa .jpc3{max-width:900px;margin:0 auto 16px;background:var(--white);border-radius:16px;padding:32px 28px;box-shadow:var(--s1);border:1px solid var(--bdr);transition:all .4s;text-align:left;font-size:.9rem;color:var(--txt2);line-height:1.8;position:relative;overflow:hidden}
.jwa .jpc1::before,.jwa .jpc2::before,.jwa .jpc3::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--amber));border-radius:16px 16px 0 0;opacity:0;transition:opacity .3s}
.jwa .jpc1:hover,.jwa .jpc2:hover,.jwa .jpc3:hover{transform:translateY(-4px);box-shadow:var(--s3)}
.jwa .jpc1:hover::before,.jwa .jpc2:hover::before,.jwa .jpc3:hover::before{opacity:1}
.jwa .jpfoot{max-width:900px;margin:32px auto 0;text-align:center;padding:32px 40px;background:linear-gradient(135deg,var(--amber-bg),#fff5e0);border:2px solid rgba(255,149,0,.12);border-radius:16px;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:700;color:var(--ink)}

/* ======== 4 WEAPONS ======== */
.jwa .jwpn{padding:100px 24px;background:var(--white);text-align:center;max-width:100%}
.jwa .jwpn .jlabel{display:block;text-align:center}
.jwa .jwpn h2{font-size:clamp(1.4rem,3.2vw,2.4rem)!important;font-weight:900!important;color:var(--ink)!important;padding:0!important;line-height:1.5!important;margin-bottom:.8rem!important}
.jwa .jwpsub{color:var(--txt2);margin-bottom:48px;font-size:.92rem}
.jwa .jwp1,.jwa .jwp2,.jwa .jwp3,.jwa .jwp4{max-width:900px;margin:0 auto 16px;background:var(--white);border-radius:16px;padding:32px 28px;box-shadow:var(--s1);border:1px solid var(--bdr);transition:all .4s;text-align:left;font-size:.9rem;color:var(--txt2);line-height:1.8;position:relative;overflow:hidden}
.jwa .jwp1:hover,.jwa .jwp2:hover,.jwa .jwp3:hover,.jwa .jwp4:hover{transform:translateY(-4px);box-shadow:var(--s3)}
.jwa .jwp1::after,.jwa .jwp2::after,.jwa .jwp3::after,.jwa .jwp4::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity .3s}
.jwa .jwp1:hover::after,.jwa .jwp2:hover::after,.jwa .jwp3:hover::after,.jwa .jwp4:hover::after{opacity:1}
.jwa .jwp1::after{background:var(--amber)}.jwa .jwp2::after{background:var(--blue)}.jwa .jwp3::after{background:var(--purple)}.jwa .jwp4::after{background:var(--green)}
.jwa .jwp1{border-left:4px solid var(--amber)}.jwa .jwp2{border-left:4px solid var(--blue)}.jwa .jwp3{border-left:4px solid var(--purple)}.jwa .jwp4{border-left:4px solid var(--green)}

/* ======== DISPLAY ======== */
.jwa .jdisp{padding:120px 24px;background:linear-gradient(165deg,#f0fdfa,#eff6ff);position:relative;overflow:hidden;text-align:center}
.jwa .jdisp::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,149,0,.04) 0%,transparent 60%);pointer-events:none}
.jwa .jdisp .jlabel,.jwa .jdisp h2,.jwa .jdisp p{position:relative;z-index:2}
.jwa .jdisp .jlabel{display:block;text-align:center}
.jwa .jdisp h2{font-size:clamp(1.4rem,3vw,2.2rem)!important;font-weight:900!important;color:var(--ink)!important;margin-bottom:16px!important;line-height:1.5!important;padding:0!important}
.jwa .jdsub{max-width:700px;margin:0 auto 16px;color:var(--txt2);font-size:.92rem;position:relative;z-index:2}
.jwa .jd1,.jwa .jd2,.jwa .jd3{display:inline-block;background:var(--white);border:1px solid var(--bdr);border-radius:14px;padding:24px 28px;margin:8px;text-align:center;transition:all .35s;box-shadow:var(--s1);font-size:.92rem;font-weight:600;color:var(--ink);position:relative;z-index:2}
.jwa .jd1:hover,.jwa .jd2:hover,.jwa .jd3:hover{transform:translateY(-4px);border-color:rgba(255,149,0,.2);box-shadow:var(--s2)}

/* ======== WHY US ======== */
.jwa .jwhy{padding:100px 24px;background:var(--off);text-align:center;max-width:100%}
.jwa .jwhy .jlabel{display:block;text-align:center}
.jwa .jwhy h2{font-size:clamp(1.4rem,3vw,2.2rem)!important;font-weight:900!important;color:var(--ink)!important;padding:0!important;margin-bottom:48px!important}
.jwa .jw1,.jwa .jw2,.jwa .jw3,.jwa .jw4{max-width:900px;margin:0 auto 16px;background:var(--white);border-radius:16px;padding:32px 28px;box-shadow:var(--s1);border:1px solid var(--bdr);text-align:left;transition:all .4s;font-size:.9rem;color:var(--txt2);line-height:1.8;position:relative;overflow:hidden}
.jwa .jw1:hover,.jwa .jw2:hover,.jwa .jw3:hover,.jwa .jw4:hover{transform:translateY(-4px);box-shadow:var(--s3)}
.jwa .jw1::after,.jwa .jw2::after,.jwa .jw3::after,.jwa .jw4::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity .3s}
.jwa .jw1:hover::after,.jwa .jw2:hover::after,.jwa .jw3:hover::after,.jwa .jw4:hover::after{opacity:1}
.jwa .jw1::after{background:var(--amber)}.jwa .jw2::after{background:var(--blue)}.jwa .jw3::after{background:var(--green)}.jwa .jw4::after{background:var(--purple)}
.jwa .jw1{border-left:4px solid var(--amber)}.jwa .jw2{border-left:4px solid var(--blue)}.jwa .jw3{border-left:4px solid var(--green)}.jwa .jw4{border-left:4px solid var(--purple)}

/* ======== SERVICES ======== */
.jwa .jsvc{padding:100px 24px;background:var(--white);text-align:center;max-width:100%}
.jwa .jsvc .jlabel{display:block;text-align:center}
.jwa .jsvc h2{font-size:clamp(1.3rem,2.8vw,1.9rem)!important;font-weight:700!important;color:var(--ink)!important;line-height:1.6!important;padding:0!important;margin-bottom:48px!important}
.jwa .js1,.jwa .js2,.jwa .js3,.jwa .js4,.jwa .js5{max-width:900px;margin:0 auto 16px;background:var(--white);border-radius:16px;padding:32px 28px;box-shadow:var(--s1);border:1px solid var(--bdr);text-align:left;transition:all .4s;font-size:.9rem;color:var(--txt2);line-height:1.8}
.jwa .js1:hover,.jwa .js2:hover,.jwa .js3:hover,.jwa .js4:hover,.jwa .js5:hover{transform:translateY(-4px);box-shadow:var(--s3)}

/* ======== CTA ======== */
.jwa .jcta{padding:120px 24px;background:linear-gradient(165deg,#fffbeb 0%,#f0fdfa 50%,#eff6ff 100%);text-align:center;position:relative;overflow:hidden}
.jwa .jcta h2,.jwa .jcta p,.jwa .jcta .jbtn{position:relative;z-index:2}
.jwa .jcta h2{font-size:clamp(1.5rem,3.5vw,2.5rem)!important;font-weight:900!important;color:var(--ink)!important;margin-bottom:16px!important;line-height:1.5!important;padding:0!important}
.jwa .jctasub{font-size:1rem;color:var(--txt2);margin:0 auto 40px;max-width:600px}
.jwa .jcta .jbtn{padding:20px 48px;font-size:1.05rem;animation:jpulse 3s ease infinite;margin-bottom:16px}
.jwa .jctanote{font-size:.73rem;color:var(--txt3);position:relative;z-index:2}

/* ======== Footer ======== */
.jwa .jfoot{padding:36px 24px;background:var(--off);border-top:1px solid var(--bdr);text-align:center}
.jwa .jflogo{font-weight:800;font-size:1rem;color:var(--ink);margin-bottom:4px}
.jwa .jfcopy{font-size:.73rem;color:var(--txt3)}

/* ======== RESPONSIVE ======== */
@media(max-width:768px){
  .jwa .jhero{min-height:auto;padding:100px 16px 60px}
  .jwa .jhero h1{font-size:1.8rem!important}
  .jwa .jstat{flex-direction:column;gap:16px}
  .jwa .jsn{font-size:1.4rem}
  .jwa .jprob,.jwa .jwpn,.jwa .jwhy,.jwa .jsvc{padding:60px 16px}
  .jwa .jdisp,.jwa .jcta{padding:80px 16px}
  .jwa .jd1,.jwa .jd2,.jwa .jd3{display:block;margin:8px auto;max-width:320px}
  .jwa .jbtn{width:100%;justify-content:center}
}
