:root{--bg-color: #000000;--text-color: #ffffff;--accent-color: #0058a5;--font-main: "Noto Sans JP", sans-serif;--font-display: "Michroma", sans-serif;--transition-speed: .6s;--header-height: 80px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;overflow-x:hidden;cursor:none}.cursor-follower{position:fixed;width:20px;height:20px;background:#ffffff4d;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s;mix-blend-mode:difference}#webgl-canvas{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;pointer-events:none}h1,h2,h3,h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em}p{line-height:1.8;letter-spacing:.02em}a{text-decoration:none;color:inherit;cursor:none}header{position:fixed;top:0;width:100%;padding:0 4rem;height:var(--header-height);display:flex;justify-content:space-between;align-items:center;z-index:100;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff;transition:all .3s ease}.logo{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:.05em;display:flex;align-items:center;gap:10px;transition:opacity .3s ease;z-index:101}.logo:hover{opacity:.8}nav{height:100%}@media(max-width:768px){nav{height:auto!important}}.nav-menu{display:flex;list-style:none;gap:3rem;align-items:center;height:100%}.nav-item{position:relative;height:100%;display:flex;align-items:center}.nav-item>a{display:flex;align-items:center;height:100%;color:#fff;font-family:var(--font-display);font-size:.9rem;position:relative;transition:color .3s}.nav-item>a:hover,.nav-item>a.active{color:#0ff}.btn-nav{border:1px solid #fff;padding:.6rem 2rem;font-size:.9rem;font-family:var(--font-display);transition:all .3s;height:auto!important;line-height:1.2}.btn-nav:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:transparent;border:none;cursor:pointer;z-index:101;padding:0}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;transition:all .3s ease}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.section{min-height:100vh;padding:8rem 4rem;display:flex;align-items:center;position:relative;border-bottom:1px solid rgba(128,128,128,.2)}.container{max-width:1200px;width:100%;margin:0 auto}body.theme-dark{--bg-color: #000000;--text-color: #ffffff}body.theme-light{--bg-color: #ffffff;--text-color: #000000}.section.theme-light{background-color:transparent!important}body.theme-light h1,body.theme-light h2,body.theme-light h3,body.theme-light p,body.theme-light li,body.theme-light a:not(.btn-primary):not(.contact-cta){color:#000}.contact-section{background:#0058a5!important;color:#fff!important}.contact-section h2,.contact-section p,.contact-section a,.contact-section .note{color:#fff!important}.contact-cta{background:#fff!important;color:#0058a5!important}footer{padding:4rem;background:#000;color:#fff;border-top:1px solid #333}.footer-content{display:flex;justify-content:space-between;align-items:flex-end}.hero-container{height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative}h1.glitch-text{font-size:clamp(3rem,10vw,8rem);line-height:1;margin-bottom:1rem;position:relative;white-space:nowrap}.subtitle{font-family:var(--font-display);font-size:1.5rem;opacity:.7;margin-bottom:4rem}.hero-desc{font-size:1.2rem;max-width:600px;margin-bottom:2rem;font-weight:300}.section-title{font-size:clamp(2rem,5vw,4rem);margin-bottom:4rem;border-left:5px solid currentColor;padding-left:2rem}.grid-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.campaign-popup{position:fixed;bottom:20px;right:20px;background:#0058a5;color:#fff;padding:1.5rem;border:1px solid #4a90e2;z-index:9999;box-shadow:0 0 20px #0058a580;max-width:320px;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s;pointer-events:none}.campaign-popup.show{opacity:1;transform:translateY(0);pointer-events:auto}.campaign-popup.hidden{display:none!important}.campaign-close{position:absolute;top:.5rem;right:.8rem;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}@media(max-width:1024px){header{padding:0 2rem}.nav-menu{gap:2rem}.section{padding:6rem 2rem}}@media(max-width:768px){header{padding:0 1.5rem;overflow:visible!important;height:var(--header-height)!important;max-height:var(--header-height)!important}.menu-toggle{display:flex;z-index:100000!important;position:relative}.logo{z-index:100000!important;position:relative}nav{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;min-width:100vw!important;min-height:100vh!important;background:#000000fa!important;z-index:99998!important;display:none!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important;margin:0!important;pointer-events:none!important;opacity:0!important;visibility:hidden!important;transform:none!important;clip:auto!important;clip-path:none!important}nav.active{display:flex!important;opacity:1!important;visibility:visible!important;z-index:99998!important;pointer-events:auto!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important}.nav-menu{display:flex!important;flex-direction:column!important;height:auto!important;min-height:auto!important;width:100%!important;max-width:100%!important;padding:80px 2rem 40px!important;margin:0!important;gap:0!important;list-style:none!important;opacity:1!important;visibility:visible!important;z-index:100000!important;overflow:visible!important}.nav-item{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;opacity:1!important;visibility:visible!important;position:relative!important}.nav-item>a{display:block!important;width:100%!important;padding:1.5rem 0!important;margin:0!important;font-size:1.5rem!important;font-weight:500!important;text-align:left!important;color:#fff!important;text-decoration:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;-webkit-text-fill-color:#fff!important}.dropdown{position:static!important;width:100%!important;max-width:100%!important;background:transparent!important;border:none!important;padding:0 0 0 1rem!important;margin:0!important;opacity:1!important;visibility:visible!important;display:block!important;box-shadow:none!important;grid-template-columns:none!important;gap:0!important;pointer-events:auto!important;overflow:visible!important}.nav-item.active .dropdown{display:block!important;padding-bottom:1.5rem!important}.mega-item{display:block!important;width:100%!important;padding:.8rem 0 .8rem 1rem!important;margin:0!important;border-left:2px solid rgba(255,255,255,.2)!important;color:#fff!important;text-decoration:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;-webkit-text-fill-color:#fff!important}.mega-item:hover{opacity:.8!important}.mega-image{display:none!important;visibility:hidden!important}.mega-text{display:block!important;opacity:1!important;visibility:visible!important}.mega-title{display:block!important;color:#fff!important;font-size:1rem!important;font-weight:500!important;margin-bottom:.2rem!important;opacity:1!important;visibility:visible!important;-webkit-text-fill-color:#fff!important}.mega-desc{display:block!important;color:#fff9!important;font-size:.8rem!important;opacity:1!important;visibility:visible!important;-webkit-text-fill-color:rgba(255,255,255,.6)!important}.btn-nav{margin-top:2rem;display:inline-block;text-align:center;width:100%}.grid-layout{grid-template-columns:1fr;gap:2rem}.cards{grid-template-columns:1fr}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:2rem}.cursor-follower{display:none!important}body,a{cursor:auto}}@media(min-width:769px){header{position:fixed}.dropdown{position:fixed;top:var(--header-height, 80px);left:0!important;right:0!important;width:100vw!important;margin:0!important;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem 4rem;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));justify-content:center;gap:2rem;z-index:90;box-shadow:0 10px 30px #00000080;max-width:100vw}.nav-item:hover .dropdown,.nav-item.dropdown-active .dropdown{opacity:1;visibility:visible;pointer-events:auto}.nav-item>a{position:relative}.nav-item>a:after{content:"";position:absolute;bottom:-20px;left:0;right:0;height:20px;background:transparent}.mega-item{display:flex;flex-direction:column;gap:1rem;text-align:left;text-decoration:none;transition:transform .3s ease}.mega-item:hover{transform:translateY(-5px)}.mega-item:hover .mega-image{border-color:#ffffff80;box-shadow:0 5px 15px #0000004d}.mega-image{width:100%;height:160px;background-size:cover;background-position:center;border-radius:8px;transition:border-color .3s,box-shadow .3s;border:1px solid rgba(255,255,255,.1);background-color:#1a1a1a}.mega-text{display:flex;flex-direction:column;gap:.5rem}.mega-title{font-family:var(--font-display, sans-serif);font-size:1rem;color:#fff;font-weight:700;letter-spacing:.05em}.mega-desc{font-size:.8rem;color:#fff9;line-height:1.5}}
