@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600;700&display=swap");:root{--color-navy:#1a365d;--color-light-blue:#3182ce;--color-gold:#d69e2e;--color-dark-gray:#2d3748;--color-light-gray:#f7fafc;--color-text:#2d3748;--background:#ffffff;--foreground:var(--color-text)}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Inter,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}}.bg-navy{background-color:var(--color-navy)}.bg-light-blue{background-color:var(--color-light-blue)}.bg-gold{background-color:var(--color-gold)}.bg-dark-gray{background-color:var(--color-dark-gray)}.bg-light-gray{background-color:var(--color-light-gray)}.text-navy{color:var(--color-navy)}.text-light-blue{color:var(--color-light-blue)}.text-gold{color:var(--color-gold)}.text-dark-gray{color:var(--color-dark-gray)}.hover\:text-gold:hover{color:var(--color-gold)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:600}h3{font-size:1.5rem}p{font-weight:400;margin-bottom:1rem}.transition-colors{transition:color .3s ease}.fade-in{animation:fadeIn .6s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1200px}}header{background:rgba(26,54,93,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;top:0;width:100%;z-index:1000;transition:all .3s ease}nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;max-width:1400px;margin:0 auto}.logo{color:white;text-decoration:none;transition:opacity .3s ease}.logo:hover{opacity:.85}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{color:white;text-decoration:none;font-weight:500;transition:color .3s ease}.nav-menu a:hover{color:#d69e2e}.cta-button{background:linear-gradient(135deg,#d69e2e,#f6ad55);color:white;padding:.75rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:600;transition:transform .3s ease,box-shadow .3s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(214,158,46,.3)}.hero{background:linear-gradient(135deg,#1a365d,#2b77ad);color:white;padding:8rem 5% 4rem;text-align:center;position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><circle cx="200" cy="200" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="800" cy="300" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="400" cy="600" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="900" cy="700" r="2" fill="rgba(255,255,255,0.1)"/></svg>');animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.hero h1{font-size:3.5rem;font-weight:700;margin-bottom:1.5rem;opacity:0;animation:fadeInUp 1s ease forwards}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:0;animation:fadeInUp 1s ease .2s forwards}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeInUp 1s ease .4s forwards}.btn-primary,.btn-secondary{padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s ease;border:2px solid transparent}.btn-primary{background:linear-gradient(135deg,#d69e2e,#f6ad55);color:white}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(214,158,46,.3)}.btn-secondary{background:transparent;color:white;border-color:white}.btn-secondary:hover{background:white;color:#1a365d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.services{padding:5rem 5%;background:#f7fafc}.container{max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:#1a365d}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem}.service-card{background:white;padding:2.5rem;border-radius:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(26,54,93,.1);min-height:450px}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(26,54,93,.15)}.service-icon{width:80px;height:80px;background:linear-gradient(135deg,#3182ce,#63b3ed);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:white}.service-card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#1a365d}.service-card p{color:#4a5568;line-height:1.6}.strengths{padding:5rem 5%;background:white}.strengths-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.strength-item{text-align:center;padding:2rem;transition:transform .3s ease}.strength-item:hover{transform:translateY(-5px)}.strength-number{font-size:3rem;font-weight:700;color:#d69e2e;margin-bottom:1rem}.strength-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1a365d}.company-info{padding:5rem 5%;background:linear-gradient(135deg,#1a365d,#2b77ad);color:white}.company-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.company-details{background:rgba(255,255,255,.1);padding:2rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-item{display:flex;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.detail-label{font-weight:600;min-width:120px;color:#d69e2e}.detail-value{flex:1 1}footer{background:#1a202c;color:white;padding:3rem 5% 2rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.footer-nav{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.footer-nav a{color:#a0aec0;text-decoration:none;transition:color .3s ease}.footer-nav a:hover{color:#d69e2e}.copyright{border-top:1px solid #2d3748;padding-top:2rem;color:#a0aec0}.mobile-menu-btn{display:none;background:none;border:none;color:white;font-size:1.5rem;cursor:pointer}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(26,54,93,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 5%}.mobile-menu.active{display:block}.mobile-menu ul{list-style:none;text-align:center}.mobile-menu li{margin-bottom:1rem}.mobile-menu a{color:white;text-decoration:none;font-size:1.1rem;font-weight:500;transition:color .3s ease}.mobile-menu a:hover{color:#d69e2e}.page-section{padding:8rem 5% 5rem}.page-title{font-size:3rem;font-weight:700;color:#1a365d;text-align:center;margin-bottom:2rem}.page-subtitle{font-size:1.25rem;color:#4a5568;text-align:center;margin-bottom:4rem;max-width:800px;margin-left:auto;margin-right:auto}.contact-form{background:white;padding:3rem;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);margin-bottom:3rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748}.form-input,.form-select,.form-textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:border-color .3s ease;background:rgba(255,255,255,.9)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px rgba(49,130,206,.1)}.form-textarea{resize:vertical;min-height:120px}.form-submit{background:linear-gradient(135deg,#1a365d,#2b77ad);color:white;padding:1rem 2rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;width:100%}.form-submit:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(26,54,93,.3)}.required{color:#e53e3e}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:3rem;gap:3rem;margin-top:3rem}.about-card{background:white;padding:2.5rem;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);text-align:center;transition:transform .3s ease;min-height:400px}.about-card:hover{transform:translateY(-5px)}.about-icon{width:80px;height:80px;background:linear-gradient(135deg,#d69e2e,#f6ad55);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:white}.service-detail{background:white;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);margin-bottom:3rem;transition:transform .3s ease}.service-detail:hover{transform:translateY(-5px)}.service-header{background:linear-gradient(135deg,#1a365d,#2b77ad);color:white;padding:3rem;text-align:center}.service-content{padding:3rem}.service-list{list-style:none;margin-top:1.5rem}.service-list li{padding:.5rem 0;border-bottom:1px solid #e2e8f0;color:#4a5568;transition:color .3s ease}.service-list li:hover{color:#1a365d}.service-list li:before{content:"✓";color:#38a169;font-weight:700;margin-right:1rem}.image-overlay{position:relative;overflow:hidden}.image-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(26,54,93,.1),rgba(214,158,46,.1));opacity:0;transition:opacity .3s ease}.image-overlay:hover:after{opacity:1}@media (max-width:768px){.cta-button,.nav-menu{display:none}.mobile-menu-btn{display:block}.hero h1{font-size:2.2rem;line-height:1.3;margin-bottom:1rem}.hero p{font-size:1rem;line-height:1.6;margin-bottom:2rem}.hero-buttons{flex-direction:column;align-items:center;gap:.8rem}.btn-primary,.btn-secondary{padding:.8rem 1.5rem;font-size:.95rem}.company-grid,.services-grid{grid-template-columns:1fr}.footer-nav{flex-direction:column;gap:1rem}.page-title{font-size:2rem}.about-grid{grid-template-columns:1fr}.contact-form{padding:2rem}.about-card,.service-card{min-height:auto}.hero-content{min-width:auto!important;padding:2.5rem 1.5rem!important;max-width:95%!important}.logo img{width:32px!important;height:32px!important}.logo span{font-size:1.1rem!important}nav{padding:1rem 3%}}@media (max-width:480px){.hero h1{font-size:1.8rem;line-height:1.2}.hero p{font-size:.9rem;line-height:1.5}.hero-content{padding:2rem 1rem!important}.logo img{width:28px!important;height:28px!important}.logo span{font-size:.95rem!important;letter-spacing:.3px!important}.btn-primary,.btn-secondary{padding:.7rem 1.2rem;font-size:.9rem}}.mission-vision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:2rem;gap:2rem}.mission-vision-item{text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.feature-item{transition:transform .3s ease}.feature-item:hover{transform:translateY(-5px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:768px){.contact-grid{gap:2rem}.contact-grid,.features-grid,.mission-vision-grid{grid-template-columns:1fr}}