*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:"Noto Sans JP","Helvetica Neue",Arial,"Hiragino Sans",sans-serif;color:#000;background-color:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}ol,ul{list-style:none}button{font-family:inherit;border:none;background:0 0;cursor:pointer}input,select,textarea{font-family:inherit}.container{max-width:1280px;margin:0 auto;padding:0 32px}@media (max-width:768px){.container{padding:0}}.section{padding:64px 0;width:100%;margin:auto}@media (max-width:768px){.section{padding:0}}.container.section{padding:0 32px}@media (max-width:768px){.container.section{padding:0}}@media (max-width:768px){section{padding:0 16px}}.section-header{text-align:center;margin-bottom:64px;position:relative}.section-header h2{font-size:64px;line-height:165%}@media (max-width:768px){.section-header h2{font-size:36px}}.section-header span{display:block;position:relative;width:fit-content;background-color:#000;color:#fff;line-height:1.6;font-weight:700;justify-self:anchor-center;font-size:16px}.section-header p{color:#000;line-height:1.8;margin-top:32px}h1{font-size:48px}@media (max-width:768px){h1{font-size:36px}}h2{font-size:36px;font-weight:300}.section-header h2{font-size:64px}@media (max-width:768px){h2{font-size:24px}}h3{font-size:24px;font-weight:300}@media (max-width:768px){h3{font-size:20px}}h4{font-size:20px}@media (max-width:768px){h4{font-size:16px}}h5{font-size:16px}.page-title{position:relative;display:inline-block;width:100%}@media (max-width:768px){.page-title{padding:0 16px}}.page-title h2{font-size:64px;line-height:165%}@media (max-width:768px){.page-title h2{font-size:32px}}.page-title::after{content:"";display:block;width:100%;height:1px;background-color:#000;margin-top:32px}@media (max-width:768px){.page-title::after{margin-top:16px}}.page-title__subtitle{display:block;font-size:16px;font-weight:700;background-color:#000;color:#fff;padding:0 4px;width:fit-content;margin-bottom:8px}@media (max-width:768px){.page-title__subtitle{font-size:14px}}.btn{display:inline-block;padding:.75rem 2rem;border:2px solid #000;background-color:transparent;color:#000;font-size:16px;letter-spacing:.1em;transition:all .3s ease;cursor:pointer}.btn:hover{background-color:#000;color:#fff}.btn--filled{background-color:#000;color:#fff}.btn--filled:hover{background-color:#fff;color:#000}.btn--large{padding:1rem 3rem;font-size:1rem}.arrow-icon{display:inline-block;width:16px;height:16px;min-width:16px;min-height:16px;box-sizing:border-box;background:url(/assets/images/arrow-icon.svg) no-repeat center;background-size:contain;position:relative;margin-left:8px;flex:0 0 auto;transition:.3s}.cta-section .arrow-icon{width:32px;height:32px;padding:4px}.mobile-menu .arrow-icon{filter:invert(1)}.breadcrumb{padding:16px 0;font-size:16px;color:#000}@media (max-width:768px){.breadcrumb{padding:16px}}.breadcrumb a{text-decoration:underline;transition:.3s}.breadcrumb a:hover{text-decoration:none;opacity:.7}.separator{display:inline-block;margin:0 8px}.more-link{text-align:center;font-weight:700}.more-link,.more-link a{display:inline-flex;align-items:center;transition:opacity .3s ease;color:inherit;text-decoration:none}.more-link a:hover,.more-link:hover{opacity:.6}.logo-image{display:flex;width:430px;height:64px;justify-content:center;align-items:center;aspect-ratio:215/32}h2:not(.kvh2){opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}h2:not(.kvh2).is-visible{opacity:1;transform:translateY(0)}.cta-section{display:flex;width:100%;max-width:1280px;justify-content:center;align-items:flex-start;gap:32px;margin:128px auto 0;z-index:2;position:relative}@media (max-width:768px){.cta-section{flex-direction:column;gap:32px;padding:0 16px;margin:64px auto 0}}.cta-box{padding:32px;transition:background-color .3s ease,color .3s ease,opacity .3s ease;display:flex;align-items:baseline;justify-content:space-between;flex:1 0 0;border:1px solid #000;position:relative;max-width:624px;align-items:center}@media (max-width:768px){.cta-box{width:100%;max-width:100%;padding:32px}}.cta-box h3{font-size:64px}@media (max-width:768px){.cta-box h3{font-size:48px}}.cta-box--company{background-color:#fff;color:#000}.cta-box--company:hover{background-color:#000;color:#fff}.cta-box--company:hover .arrow-icon{filter:invert(1)}.cta-box--contact{background-color:#000;color:#fff}.cta-box--contact .arrow-icon{filter:invert(1)}.cta-box--contact:hover{background-color:#e5005a;border:1px solid #e5005a;color:#fff}.container .subtitle{display:block;font-size:16px;font-weight:700;background-color:#000;color:#fff;padding:0 4px;width:fit-content;margin-bottom:8px;position:relative;left:0}.subtitle{position:relative;width:fit-content;display:block;font-size:16px;font-weight:700;background-color:#000;color:#fff;line-height:165%}@media (max-width:768px){.subtitle{left:32px}}.cta-box--contact .subtitle{background-color:#fff;color:#000}header{display:block;width:100%;border-bottom:1px solid #000;background-color:#fff;position:sticky;top:0;z-index:1000;transition:background-color .3s ease,border-bottom .3s ease}.page-top header{background-color:transparent;margin-bottom:-130px}@media (max-width:768px){.page-top header{margin-bottom:-56px}}.page-top header.is-scrolled{background-color:#fff}.page-top header .logo h1 .logo-image{height:64px;width:430px;transition:.3s}.page-top header .logo h1 .logo-image:hover{opacity:.7}@media (max-width:768px){.page-top header .logo h1 .logo-image{width:100%;max-width:215px;height:32px}}header .header-content{width:100%;height:auto;padding:16px 32px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}@media (max-width:768px){header .header-content{padding:16px;height:56px}}header .logo{display:flex;flex-direction:column;z-index:1001;transition:.3s}header .logo:hover{opacity:.7}header .logo h1 .logo-image{height:auto;width:322px;flex-shrink:0}@media (max-width:768px){header .logo h1 .logo-image{width:100%;max-width:215px;height:32px}}@media (max-width:1024px){header .logo h1{font-size:1.5rem}}@media (max-width:768px){header .logo h1{font-size:1.3rem}}header .logo .tagline{font-size:.75rem;letter-spacing:.05em;line-height:1.2}@media (max-width:768px){header .logo .tagline{font-size:.65rem}}header .desktop-nav{display:flex;align-items:center;gap:32px}@media (max-width:1024px){header .desktop-nav{display:none}}header .desktop-nav ul{display:flex;gap:32px;align-items:center}header .desktop-nav ul li a{font-size:16px;letter-spacing:.05em;transition:opacity .3s ease;position:relative}header .desktop-nav ul li a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background-color:#000;transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.4,0,.2,1);pointer-events:none}header .desktop-nav ul li a:focus,header .desktop-nav ul li a:hover{opacity:.6}header .desktop-nav ul li a:focus::after,header .desktop-nav ul li a:hover::after{transform:scaleX(1)}header .desktop-nav .contact-btn{border:1px solid #000;padding:8px 32px;display:flex;align-items:center;transition:all .3s ease}header .desktop-nav .contact-btn:hover{background-color:#e5005a;color:#fff;border:1px solid #e5005a}header .desktop-nav .contact-btn:hover .arrow-icon{background:url(/assets/images/arrow-icon.svg) no-repeat center;background-size:contain;filter:invert(1)}header .hamburger{display:none;flex-direction:column;gap:4px;background:0 0;border:none;padding:10px;cursor:pointer;z-index:1001;width:40px;height:40px}@media (max-width:1024px){header .hamburger{display:flex;border:1px solid #000;justify-content:center;align-items:center}}header .hamburger span{display:block;width:20px;height:2px;background-color:#000;transition:all .3s ease}header .hamburger.active{background:#fff;justify-content:end}header .hamburger.active span:nth-child(1){transform:rotate(45deg) translate(3px,3px)}header .hamburger.active span:nth-child(2){opacity:0}header .hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-5px)}header .mobile-menu{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:#000;color:#fff;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:1000;overflow-y:auto}header .mobile-menu.active{right:0}header .mobile-menu .mobile-menu-content{display:flex;flex-direction:column;min-height:100vh;justify-content:center}header .mobile-menu .mobile-logo{text-align:center;margin-bottom:32px}header .mobile-menu .mobile-logo h2{font-size:2.5rem;font-weight:700;letter-spacing:.1em;font-family:"Noto Sans JP","Helvetica Neue",Arial,sans-serif;margin-bottom:16px;line-height:1}@media (max-width:768px){header .mobile-menu .mobile-logo h2{font-size:2rem}}header .mobile-menu .mobile-logo h2 .logo-image{height:2.5rem;width:auto;display:block;margin:0 auto;filter:invert(1) brightness(2)}header .mobile-menu .mobile-logo .mobile-tagline{font-size:.95rem;letter-spacing:.05em;line-height:1.8}header .mobile-menu .mobile-nav{text-align:center;width:100%;max-width:420px;margin:0 auto;padding:0 16px}header .mobile-menu .mobile-nav ul{list-style:none}header .mobile-menu .mobile-nav ul li{border-bottom:1px solid rgba(255,255,255,.2);opacity:0;transform:translateX(-20px);animation:slideIn .4s ease forwards}header .mobile-menu .mobile-nav ul li:nth-child(1){animation-delay:.2s}header .mobile-menu .mobile-nav ul li:nth-child(2){animation-delay:.3s}header .mobile-menu .mobile-nav ul li:nth-child(3){animation-delay:.4s}header .mobile-menu .mobile-nav ul li:nth-child(4){animation-delay:.5s}header .mobile-menu .mobile-nav ul li a{display:flex;align-items:center;justify-content:space-between;padding:16px;color:#fff;transition:opacity .3s ease}header .mobile-menu .mobile-nav ul li a:hover{opacity:.7}header .mobile-menu .mobile-nav ul li a .nav-arrow{display:inline-block;width:24px;height:24px;position:relative;background:url(/assets/images/arrow-icon.svg) no-repeat center;background-size:contain}header .mobile-menu .mobile-nav .mobile-contact-btn{display:inline-flex;margin:64px auto 0;padding:8px 32px;background-color:#fff;color:#000;text-align:center;font-size:16px;line-height:165%;font-weight:700;align-items:center}header .mobile-menu .mobile-nav .mobile-contact-btn .arrow-icon{filter:initial;margin-top:3px}@keyframes slideIn{to{opacity:1;transform:translateX(0)}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}footer{width:100%;position:relative;background:url(../images/footer_wave.svg) repeat-x center;display:flex;height:445px;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;align-self:stretch;margin-top:-32px;color:#fff}@media (max-width:768px){footer{padding:16px 16px 32px;height:auto;min-height:440px}footer::before{top:-50px;height:50px}}footer .footer-content{max-width:1280px;width:100%;margin:0 auto;padding-bottom:32px;display:inline-flex;align-items:center;text-align:center;justify-content:space-between}@media (max-width:768px){footer .footer-content{flex-direction:column;gap:32px;padding:32px 0 0}}footer .footer-logo{transition:.3s}footer .footer-logo:hover{opacity:.7}@media (max-width:768px){footer .footer-logo{font-size:2rem;margin-bottom:8px}}footer .footer-logo .logo-image{height:48px;width:auto;display:block;margin:0 auto;filter:brightness(0) invert(1)}footer .footer-links{display:flex;gap:32px;margin-bottom:16px}@media (max-width:768px){footer .footer-links{flex-direction:column;gap:32px;text-align:center;margin-bottom:0}}footer .footer-links a{border-bottom:1px solid #fff;font-size:16px;transition:.3s}footer .footer-links a:hover{opacity:.7}footer .copyright{font-size:.8rem;opacity:.8}