html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Roboto,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif}h1,h2,h3,h4,h5,h6,p,ul,ol{padding:0;margin:0}.site-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(to bottom,#00000080,#0000004d 50%,#0000);z-index:1000;opacity:0;transform:translateY(-100%);transition:opacity .6s ease-out,transform .6s ease-out}.site-header.is-visible{opacity:1;transform:translateY(0)}.header-container{padding:3rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{line-height:1px}.logo a{display:block}.logo a img{height:24px;width:auto;vertical-align:bottom}@media (max-width: 768px){.logo a img{height:20px}}.main-nav ul{display:flex;list-style:none;gap:1.6rem;letter-spacing:.13rem}.main-nav a{color:#fff;text-decoration:none;font-size:.9rem;transition:opacity .3s}.main-nav a:hover{opacity:.8}.site-footer{background-color:#000;color:#fff;padding:6rem 2rem;position:relative;z-index:1}.site-footer-container{max-width:1280px;margin:0 auto}.footer-container{margin-bottom:4rem;display:flex;justify-content:space-between;gap:4rem}.footer-logo{line-height:1px}.footer-logo a{display:block}.footer-logo img{height:20px;width:auto;vertical-align:bottom}@media (max-width: 768px){.footer-logo img{height:18px}}.footer-right{display:flex;flex-direction:column;align-items:flex-end}.footer-nav ul{display:flex;list-style:none;gap:2rem;letter-spacing:.13rem}.footer-nav a{color:#fff;text-decoration:none;font-size:.9rem;transition:opacity .3s}.footer-nav a:hover{opacity:.8}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:1.5rem;letter-spacing:.13rem;font-size:.8rem}.privacy-link{color:#fff;text-decoration:none;font-size:.8rem}.copyright{font-size:.6rem;color:#fff}.footer-contact-link{max-width:600px;display:block;text-decoration:none;color:#000;background:#fff;border-radius:.5rem}.footer-contact-content{display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:1rem;letter-spacing:.13rem}.footer-contact{text-align:center;display:flex;align-items:center;justify-content:space-between;padding:3rem;margin-bottom:4rem}.footer-contact h2{font-size:2.4rem;font-weight:500}.footer-contact p{font-weight:400}.footer-contact .arrow{width:32px;height:32px;color:currentColor}@media (max-width: 768px){.footer-container{flex-direction:column;gap:2rem}.footer-right{align-items:flex-start}.footer-nav ul{flex-direction:column;gap:1rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.site-header{padding:1rem}.main-nav ul{gap:1rem}.footer-contact{padding:2rem 1.5rem;margin-bottom:2rem}.footer-contact h2{font-size:1.5rem}.footer-contact p{font-size:.9rem}.footer-contact .arrow{width:24px;height:24px}}.company-page{position:relative;z-index:1}.company-hero{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.5))}.company-page .company-hero:before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;background-image:linear-gradient(#0006,#0006),url(/assets/company-header-cXsfA4iQ.webp);background-size:cover;background-position:center;z-index:-1}.page-header{height:500px;display:flex;align-items:center;padding:0 2rem;max-width:1200px;margin:0 auto}.page-header h1{color:#fff;font-size:4.5rem;font-weight:700;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out .3s,transform .6s ease-out .3s}.page-header h1.is-visible{opacity:1;transform:translateY(0)}.company-info{background:#fff;position:relative;z-index:1;padding:6rem}.company-info-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:4rem}.company-info-left{flex:1;line-height:1.8}.company-info h2{font-size:1.75rem;margin-bottom:3rem}.info-list{margin-bottom:4rem}.info-item{display:flex;padding:1.5rem 0;line-height:1.8}.info-item dt{width:120px;font-weight:700}.info-item dd{flex:1}.representative{flex:1;line-height:1.8}.representative h3{font-size:1.75rem;margin-bottom:3rem}.representative h4{font-size:1.1rem;margin:2rem 0 1rem}.career,.publications,.patents{margin-bottom:2rem}.representative p{margin-bottom:1rem;line-height:1.6}.representative ul{list-style:none;padding:0}.representative li{margin-bottom:.5rem;line-height:1.6}@media (max-width: 1024px){.company-info-container{gap:4rem;flex-direction:column}}@media (max-width: 768px){.page-header{height:300px}.page-header h1{font-size:2.5rem}.info-item{padding:.8rem 0;flex-direction:column}.info-item dt{width:100%;margin-bottom:.5rem}.company-info{margin:0 auto;padding:3rem 2rem}}.policy-page{position:relative;z-index:1}.policy-hero{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.5))}.policy-page .policy-hero:before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#1e5a9f;background-size:cover;background-position:center;z-index:-1}.policy-text{line-height:1.8;max-width:900px;margin:0 auto}.policy-text h2{font-size:1.2rem;font-weight:700;margin:2.5rem 0 1rem}.policy-text p{margin-bottom:1.5rem}.policy-text ol{padding-left:1.5rem;margin-bottom:1.5rem}.policy-text li{margin-bottom:.5rem}.policy-text ul{list-style:none;padding-left:1.5rem;margin-bottom:1.5rem}.policy-text ul li{position:relative;margin-bottom:.5rem}.policy-text ul li:before{content:"・";position:absolute;left:-1.5rem}.privacy-policy-content{background:#fff;position:relative;z-index:1;padding:8rem 6rem}@media (max-width: 768px){.privacy-policy-content{padding:2rem 1rem}.policy-text h2{font-size:1.1rem;margin:2rem 0 1rem}}.hero{height:100vh;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:0 6rem;position:relative}.hero .hero-content:before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;background-image:linear-gradient(#0006,#0006),url(/assets/hero-bg-Bj36yEl5.webp);background-size:cover;background-position:center;z-index:-1}.hero-content{color:#fff}.hero-title{font-size:4.5rem;line-height:1.2;margin-top:10rem;margin-bottom:10rem;letter-spacing:.4rem;font-weight:500}.hero-title-br{display:none}@media (min-width: 1100px){.hero-title-br{display:block}}.hero p{font-size:1rem;line-height:1.8;margin-bottom:2rem}.hero-content h1,.hero-content p,.hero-content a{opacity:0;transform:translateY(20px)}.hero-content h1{transition:opacity .6s ease-out .3s,transform .6s ease-out .3s}.hero-content p{transition:opacity .6s ease-out .6s,transform .6s ease-out .6s}.hero-content a{transition:opacity .6s ease-out .9s,transform .6s ease-out .9s}.hero-content h1.is-visible,.hero-content p.is-visible,.hero-content a.is-visible{opacity:1;transform:translateY(0)}.research{color:#fff;padding:6rem 2rem;text-align:center;z-index:1;position:relative}.research:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.8));z-index:-.5}.research h2{font-size:4rem;margin-bottom:4rem}.research p{max-width:640px;margin:0 auto 1.5rem;line-height:1.8;text-align:left}.services{padding:10rem 2rem 6rem;background:#fff}.services-container{max-width:1200px;margin:0 auto}.services h2{font-size:4rem;margin-bottom:4rem}.service-item{max-width:900px;margin:0 auto 8rem}.service-item h3{font-size:2.5rem;margin-bottom:1.5rem}.service-item p{margin-bottom:1.5rem;line-height:1.8}.service-item ul{list-style:none;margin-bottom:2rem;line-height:1.8}.cta{background-color:#1e5a9f80;padding:6rem 2rem;color:#fff}.cta-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.cta h3{font-size:2rem;margin-bottom:2rem}.cta p{font-size:1rem;margin-bottom:1rem;line-height:1.8}.cta-sub{font-size:1rem;margin-bottom:2rem}.updates{padding:10rem 2rem;background:#fff}.updates-container{max-width:1200px;margin:0 auto}.updates h2{font-size:4rem;margin-bottom:6rem}.updates-list{max-width:900px;margin:0 auto}.update-item{margin-bottom:3rem}.update-item h3{font-size:1.75rem;margin-bottom:1rem}.update-item time{display:block;color:#666;margin-top:1rem}.update-item p{line-height:1.8}.btn-primary{display:inline-block;background:#000;color:#fff;padding:1rem 5rem;text-decoration:none;border-radius:.8rem;transition:opacity .3s}.btn-secondary{display:inline-block;background:#000;color:#fff;padding:1rem 3rem;text-decoration:none;border-radius:.8rem;font-size:.9rem;transition:opacity .3s}.btn-tertiary{display:inline-block;background:#fff;color:#000;padding:1rem 3rem;text-decoration:none;border-radius:.8rem;font-size:.9rem;transition:opacity .3s}.btn-primary:hover,.btn-secondary:hover,.btn-tertiary:hover{opacity:.8}@media (max-width: 1024px){.cta-content{flex-direction:column}}@media (max-width: 768px){.hero{padding:0 2rem}.hero-title{font-size:2.5rem;margin-top:6rem;margin-bottom:6rem}.research{padding:4rem 1.5rem}.research h2{font-size:2.5rem;margin-bottom:2rem}.services{padding:6rem 1.5rem 4rem}.services h2{font-size:2.5rem;margin-bottom:2rem}.service-item{margin-bottom:4rem}.service-item h3{font-size:1.8rem;margin-bottom:1rem}.cta{padding:4rem 1.5rem}.cta h3{font-size:1.8rem;margin-bottom:1rem}.updates{padding:6rem 1.5rem}.updates h2{font-size:2.5rem;margin-bottom:3rem}.update-item{margin-bottom:2rem}.update-item h3{font-size:1.5rem}.btn-primary,.btn-secondary,.btn-tertiary{padding:.8rem 2rem;font-size:.9rem}}@media (max-width: 480px){.hero-title{font-size:2rem;margin-top:4rem;margin-bottom:4rem}.research h2,.services h2,.updates h2{font-size:2rem}.service-item h3,.cta h3{font-size:1.5rem}}.top-page{position:relative;z-index:1}.menu-toggle{display:none;background:none;border:none;padding:0;width:30px;height:30px;cursor:pointer;position:relative;z-index:1001}.hamburger{display:block;width:100%;height:2px;background-color:#fff;position:relative;transition:background-color .3s}.hamburger:before,.hamburger:after{content:"";position:absolute;width:100%;height:2px;background-color:#fff;transition:transform .3s}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}.menu-toggle.active .hamburger{background-color:transparent}.menu-toggle.active .hamburger:before{transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active .hamburger:after{transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 768px){.menu-toggle{display:block}.main-nav{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#000000e6;padding:6rem 2rem 2rem;transform:translate(100%);visibility:hidden;transition:transform .3s,visibility .3s}.main-nav.active{transform:translate(0);visibility:visible}.main-nav ul{flex-direction:column;gap:2rem}.main-nav a{font-size:1.2rem}.header-container{padding:1rem}}.main-nav{transition:none}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out;will-change:opacity,transform}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.not-found-page{position:relative;z-index:1}.not-found-hero{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.5))}.not-found-page .not-found-hero:before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#a5a5a5;background-size:cover;background-position:center;z-index:-1}.not-found-content{background:#fff;position:relative;z-index:1;padding:6rem}.not-found-content-container{max-width:900px;margin:0 auto}.not-found-content h2{font-size:2rem;margin-bottom:2rem}.not-found-content p{font-size:1rem;line-height:1.8}@media (max-width: 768px){.not-found-content{padding:3rem 2rem}.not-found-content h2{font-size:1.75rem;margin-bottom:1.5rem}}
