*{margin:0;padding:0;box-sizing:border-box}:root{--primary-black: #0a0a0a;--secondary-black: #1a1a1a;--accent-gold: #d4af37;--text-white: #ffffff;--text-gray: #cccccc;--border-color: #333333}body{font-family:Noto Sans JP,sans-serif;background-color:var(--primary-black);color:var(--text-white);line-height:1.6;overflow-x:hidden;position:relative}.animated-background{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.08) 0%,rgba(212,175,55,.03) 50%,transparent 70%);filter:blur(40px)}.circle-1{width:500px;height:500px;top:-100px;right:-100px;animation:float1 25s ease-in-out infinite}.circle-2{width:400px;height:400px;bottom:-50px;left:-50px;animation:float2 30s ease-in-out infinite}.circle-3{width:350px;height:350px;top:40%;left:50%;animation:float3 20s ease-in-out infinite}.circle-4{width:300px;height:300px;top:60%;right:10%;animation:float4 28s ease-in-out infinite}.circle-5{width:450px;height:450px;top:20%;left:20%;animation:float5 35s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) scale(1);opacity:.6}25%{transform:translate(-100px,100px) scale(1.1);opacity:.8}50%{transform:translate(-150px,200px) scale(.9);opacity:.5}75%{transform:translate(50px,150px) scale(1.05);opacity:.7}}@keyframes float2{0%,to{transform:translate(0) scale(1);opacity:.5}33%{transform:translate(120px,-80px) scale(1.15);opacity:.7}66%{transform:translate(200px,-150px) scale(.95);opacity:.6}}@keyframes float3{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.4}30%{transform:translate(-30%,-60%) scale(1.2);opacity:.6}60%{transform:translate(-70%,-40%) scale(.8);opacity:.5}}@keyframes float4{0%,to{transform:translate(0) scale(1) rotate(0);opacity:.5}25%{transform:translate(-80px,-100px) scale(1.1) rotate(90deg);opacity:.7}50%{transform:translate(-150px,50px) scale(.9) rotate(180deg);opacity:.4}75%{transform:translate(-50px,-50px) scale(1.05) rotate(270deg);opacity:.6}}@keyframes float5{0%,to{transform:translate(0) scale(1);opacity:.3}20%{transform:translate(100px,150px) scale(1.15);opacity:.5}40%{transform:translate(-50px,250px) scale(.85);opacity:.4}60%{transform:translate(150px,100px) scale(1.1);opacity:.6}80%{transform:translate(50px,200px) scale(.95);opacity:.35}}.loader{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--primary-black);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.loader.hidden{opacity:0;visibility:hidden}.loader-content{text-align:center}.spinner{width:60px;height:60px;border:4px solid var(--border-color);border-top:4px solid var(--accent-gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-content p{color:var(--text-gray);font-size:14px;letter-spacing:2px}.page-loader{position:fixed;top:0;left:0;width:100%;height:3px;background-color:var(--secondary-black);z-index:9998;opacity:0;visibility:hidden;transition:opacity .3s ease}.page-loader.active{opacity:1;visibility:visible}.page-loader-bar{height:100%;background:linear-gradient(90deg,var(--accent-gold),#f4d03f);width:0;transition:width .3s ease}.page-loader.active .page-loader-bar{animation:loadBar .5s ease forwards}@keyframes loadBar{0%{width:0}to{width:100%}}header{background-color:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;width:100%;top:0;z-index:1000;border-bottom:1px solid var(--border-color)}#app{position:relative;z-index:1}nav{max-width:1200px;margin:0 auto;padding:20px 40px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:20px;font-weight:900;color:var(--accent-gold);letter-spacing:1px}.nav-links{display:flex;gap:40px;list-style:none}.nav-links a{color:var(--text-gray);text-decoration:none;font-weight:500;font-size:14px;transition:color .3s ease;cursor:pointer}.nav-links a:hover{color:var(--accent-gold)}main{margin-top:80px}.hero{height:90vh;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--primary-black) 0%,var(--secondary-black) 100%);position:relative;overflow:hidden;padding:0 80px;gap:60px}.hero:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(212,175,55,.15) 0%,transparent 70%);top:-250px;right:-250px;animation:float 8s ease-in-out infinite}.hero:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(212,175,55,.08) 0%,transparent 70%);bottom:-200px;left:-200px;animation:float 10s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(20px,30px) scale(1.02)}}.hero-content{text-align:left;z-index:1;flex:1;max-width:600px}.hero h1{font-size:56px;font-weight:900;margin-bottom:20px;letter-spacing:2px;line-height:1.2}.hero .highlight{color:var(--accent-gold)}.hero p{font-size:18px;color:var(--text-gray);margin-bottom:40px;line-height:1.8}.hero-image{flex:1;z-index:1;display:flex;align-items:center;justify-content:center;max-width:500px}.hero-image img{width:100%;height:auto;border-radius:12px;box-shadow:0 20px 60px #00000080;transition:transform .3s ease,box-shadow .3s ease}.hero-image img:hover{transform:translateY(-10px);box-shadow:0 30px 80px #d4af374d}@media (max-width: 968px){.hero{flex-direction:column;padding:40px;height:auto;min-height:90vh}.hero-content{text-align:center;max-width:100%}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-image{max-width:400px;width:100%}}.section{padding:100px 40px;max-width:1200px;margin:0 auto}.section-title{font-size:42px;font-weight:900;text-align:center;margin-bottom:60px;position:relative;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title:after{content:"";display:block;width:80px;height:4px;background-color:var(--accent-gold);margin:20px auto 0;animation:expandWidth .8s ease .3s both}@keyframes expandWidth{0%{width:0}to{width:80px}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.service-card{background-color:var(--secondary-black);padding:40px;border-radius:8px;border:1px solid var(--border-color);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.1),transparent);transition:left .5s ease}.service-card:hover:before{left:100%}.service-card:hover{transform:translateY(-5px);border-color:var(--accent-gold);box-shadow:0 10px 30px #d4af3733}.service-card h3{font-size:24px;margin-bottom:15px;color:var(--accent-gold);position:relative;z-index:1}.service-card p{color:var(--text-gray);line-height:1.8;position:relative;z-index:1}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.testimonial-card{background-color:var(--secondary-black);padding:40px;border-radius:8px;border:1px solid var(--border-color);position:relative;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:hidden}.testimonial-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.08),transparent);transition:left .6s ease}.testimonial-card:hover:before{left:100%}.testimonial-card:hover{transform:translateY(-5px);border-color:var(--accent-gold);box-shadow:0 10px 30px #d4af3726}.testimonial-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--accent-gold),#f4d03f);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--primary-black);margin-bottom:20px;position:relative;z-index:1;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d4af3766}50%{box-shadow:0 0 0 10px #d4af3700}}.testimonial-card p{color:var(--text-gray);line-height:1.8;margin-bottom:20px;font-style:italic;position:relative;z-index:1}.testimonial-author{color:var(--accent-gold);font-weight:700;position:relative;z-index:1}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:60px}.pricing-card{background-color:var(--secondary-black);padding:50px 40px;border-radius:8px;border:1px solid var(--border-color);text-align:center;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.pricing-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.1),transparent);transition:left .5s ease}.pricing-card:hover:before{left:100%}.pricing-card:hover{transform:translateY(-5px) scale(1.02);border-color:var(--accent-gold);box-shadow:0 15px 40px #d4af3740}.pricing-card h3{font-size:24px;margin-bottom:15px;color:var(--accent-gold);position:relative;z-index:1}.pricing-card .price{font-size:36px;font-weight:900;margin:20px 0;color:var(--text-white);position:relative;z-index:1}.pricing-card ul{list-style:none;margin:30px 0;text-align:left;position:relative;z-index:1}.pricing-card li{color:var(--text-gray);padding:10px 0;border-bottom:1px solid var(--border-color)}.pricing-card li:last-child{border-bottom:none}.company-info{background-color:var(--secondary-black);padding:60px 40px;border-radius:8px;border:1px solid var(--border-color)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:40px}.info-item{padding:20px}.info-item h3{font-size:14px;color:var(--accent-gold);margin-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.info-item p{color:var(--text-gray);line-height:1.8}footer{background-color:var(--secondary-black);border-top:1px solid var(--border-color);padding:40px;text-align:center}footer p{color:var(--text-gray);font-size:14px}.page-container{min-height:calc(100vh - 80px);opacity:0;animation:fadeIn .5s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.nav-links{gap:20px}.hero h1{font-size:36px}.hero p{font-size:16px}.section{padding:60px 20px}.section-title{font-size:32px}.services-grid,.testimonials-grid,.pricing-grid{grid-template-columns:1fr}nav{padding:20px}.logo{font-size:18px}.nav-links a{font-size:12px}}
