/*!
 * Theme Name: Funamori Dev
 * Text Domain: funamori
 * Version: 1.0.0-dev
 */*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{font-size:16px;line-height:1.8}body{background-color:#fff;color:#1f2937;font-family:"Noto Serif JP",Yu Mincho,YuMincho,Hiragino Mincho Pro,MS PMincho,serif;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,figure{margin:0}h1,h2,h3,h4,h5,h6{font-family:Shippori Mincho,"Noto Serif JP",Yu Mincho,serif;font-weight:700;line-height:1.4;margin:0}ol,p,ul{margin:0}ol,ul{color:inherit;list-style:none;padding-left:32px}address{font-style:normal}iframe{aspect-ratio:16/9;width:100%}a{background-color:transparent;color:inherit;display:block;font-size:inherit;line-height:inherit}a,a:hover{text-decoration:none}img{border-style:none;height:auto;vertical-align:middle;width:100%}button{border-radius:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:8px;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.section-title__header{display:flex;flex-direction:column}.section-title__title{font-size:2rem}.section-title2__title{font-size:clamp(2rem,6vw,3rem)}.section-title2__title-en{font-size:1.75rem}.section-title3__header{display:flex;flex-direction:column;font-size:1.5rem;gap:1rem}.section-title3__title-wrapper{align-items:center;display:flex;flex-direction:column}.section-title3__title-en{font-size:3em;line-height:1.1;overflow-wrap:break-word}@media(max-width:991px){.section-title3__title-en{font-size:2.5em}}.section-title3__lead{font-size:1.125rem;line-height:1.5}.section-title5__title{font-size:2rem;margin-bottom:.5rem;text-align:center}.section-title5__title-border{background-color:#1e3a8a;height:4px;margin:auto;position:relative;width:3rem}.section-title5__title-border:before{background-color:gold;content:"";height:100%;position:absolute;right:0;top:0;width:25%}.gradient-text{background:linear-gradient(90deg,#000046,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text--reverse{background:linear-gradient(90deg,#3498db,#000046);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text--perpule{background:linear-gradient(90deg,#19499d,#dc2430);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.en,.english{font-family:Cormorant Garamond,Times New Roman,serif}.site-header{color:#fff;left:0;padding:16px 0;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1030}.site-header.is-scrolled{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.5);box-shadow:0 2px 10px rgba(0,0,0,.1);color:#1e3a8a}.site-header.is-scrolled .site-header__burger-line{background-color:#1e3a8a}@media(max-width:991px){.site-header__logo-link{align-items:center;display:flex;font-size:1.25rem}}.site-header__container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1440px;padding:0 16px}.site-header__nav-list{align-items:center;display:flex;gap:16px}.site-header__nav-item{display:flex;gap:1rem;position:relative}.site-header__nav-item:not(:last-child):after{content:"/"}.site-header__nav-item a{color:inherit;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.site-header__nav-item a:before{background:currentColor;bottom:-3px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.site-header__nav-item a:hover{opacity:.8}.site-header__nav-item a:hover:before{width:100%}.site-header__nav-item a.is-active{font-weight:700}.site-header__nav-item a.is-active:before{background:#f59e0b;width:100%}.site-header.is-scrolled .site-header__nav-item a:before{background:#1e3a8a}.site-header.is-scrolled .site-header__nav-item a:hover{color:#152860}.site-header.is-scrolled .site-header__logo svg .gradient-accent{fill:url(#primary-gradient-3)}.site-header.is-scrolled .site-header__logo svg .gradient-wave{fill:url(#primary-gradient-2)}.site-header.is-scrolled .site-header__logo svg .gradient-detail{fill:url(#primary-gradient-4)}.site-header.is-scrolled .site-header__logo svg .gradient-main{fill:url(#primary-gradient)}.site-header.is-scrolled .site-header__logo svg .text-primary{fill:#112040}.site-header__logo-image{max-height:60px;width:auto}.site-header__logo-default{display:block}.site-header__logo-scroll{display:none}.site-header__logo svg{display:block;max-width:14rem;width:100%}.site-header__logo svg *{fill:#fff}@media(max-width:991px){.site-header__logo svg{max-height:45px}}.site-header.is-scrolled .site-header__logo-default{display:none}.site-header.is-scrolled .site-header__logo-scroll{display:block}.site-header__nav-wrap{align-items:center;display:flex;gap:3rem}.site-header__cta-button{align-items:center;background:linear-gradient(90deg,#09ac5d,#61e7a6);border:2px solid transparent;border-radius:25px;color:#fff;display:flex;font-weight:700;gap:8px;overflow:hidden;padding:0 8px 16px 0;position:relative;text-decoration:none;transition:all .3s ease}.site-header__cta-button:before{background:linear-gradient(90deg,#0cbd66,#72f0b8);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.site-header__cta-button:hover{border-color:hsla(0,0%,100%,.3);box-shadow:0 4px 12px rgba(9,172,93,.3);transform:translateY(-2px)}.site-header__cta-button:hover:before{left:0}.site-header__cta-button:hover img{animation:phone-ring .5s ease-in-out}.site-header__cta-button:active{box-shadow:0 2px 8px rgba(9,172,93,.3);transform:translateY(0)}.site-header__cta-button img{transition:transform .3s ease;width:2rem;z-index:1}.site-header__cta-button span{position:relative;z-index:1}@keyframes phone-ring{0%,to{transform:rotate(0deg)}10%,30%,50%,70%{transform:rotate(-10deg)}20%,40%,60%,80%{transform:rotate(10deg)}}.site-header__contact{align-items:center;background:linear-gradient(90deg,#09ac5d,#61e7a6);border:1px solid #fff;border-radius:.25rem;color:#fff;display:flex;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease}.site-header__contact:before{background:linear-gradient(45deg,transparent 30%,hsla(0,0%,100%,.3) 50%,transparent 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg) translateX(-100%);transition:transform .6s ease;width:200%}.site-header__contact:hover{border-color:hsla(0,0%,100%,.5);box-shadow:0 6px 20px rgba(9,172,93,.4);transform:scale(1.05)}.site-header__contact:hover:before{transform:rotate(45deg) translateX(100%)}.site-header__contact:hover .site-header__contact-icon{animation:contact-bounce .4s ease}.site-header__contact:hover .site-header__contact-text{animation:text-glow .3s ease}.site-header__contact:active{box-shadow:0 3px 15px rgba(9,172,93,.4);transform:scale(1.02)}.site-header__contact-icon{align-items:center;display:flex;padding:.5rem;position:relative;z-index:1}.site-header__contact-icon img{height:auto;transition:transform .3s ease;width:3rem}.site-header__contact-text{font-size:1.2rem;font-weight:700;line-height:1;padding:.5rem 1rem;position:relative;z-index:1}@keyframes contact-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes text-glow{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 10px hsla(0,0%,100%,.5)}}.site-header__burger{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:40px;justify-content:center;padding:8px;transition:all .3s ease;width:40px;z-index:1032}.site-header__burger:hover{opacity:.8}.site-header__burger:focus{outline:2px solid currentColor;outline-offset:2px}.site-header__burger-line{background-color:#fff;display:block;height:2px;margin:3px 0;transform-origin:center;transition:all .3s ease;width:24px}.site-header__burger-line:first-child{margin-top:0}.site-header__burger-line:last-child{margin-bottom:0}.site-header__burger.is-active .site-header__burger-line:first-child{transform:translateY(8px) rotate(45deg)}.site-header__burger.is-active .site-header__burger-line:nth-child(2){opacity:0;transform:scale(0)}.site-header__burger.is-active .site-header__burger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-header__mobile-menu{height:100vh;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease;visibility:hidden;width:100%;z-index:1031}.site-header__mobile-menu.is-open{opacity:1;visibility:visible}.site-header__mobile-menu-overlay{backdrop-filter:blur(4px);background-color:rgba(0,0,0,.5);height:100%;left:0;position:absolute;top:0;width:100%}.site-header__mobile-menu-content{background-color:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);height:100%;overflow-y:auto;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:280px;z-index:9}.site-header__mobile-menu.is-open .site-header__mobile-menu-content{transform:translateX(0)}.site-header__mobile-menu-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px}@media(max-width:768px){.site-header__mobile-menu-header{color:#1e3a8a;font-size:clamp(1.5rem,10vw,1.75rem)}}.site-header__mobile-menu-title{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin:0}.site-header__mobile-menu-logo{align-items:center;display:flex}.site-header__mobile-menu-logo-default{display:block}.site-header__mobile-menu-logo-scroll{display:none}.site-header__mobile-menu-logo-link{align-items:flex-start;color:#1e3a8a;display:flex;flex-direction:column;text-decoration:none}.site-header__mobile-menu-logo-image{max-height:32px;width:auto}.site-header__mobile-menu-logo-link svg{display:block;max-height:32px;width:auto}.site-header.is-scrolled .site-header__mobile-menu-logo-default{display:none}.site-header.is-scrolled .site-header__mobile-menu-logo-scroll{display:block}.site-header__mobile-menu-logo-text{font-size:.85rem;font-weight:600;line-height:1;margin:0}.site-header__mobile-menu-logo-text:first-child{margin-bottom:2px}.site-header__mobile-menu-close{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;position:relative;width:32px}.site-header__mobile-menu-close:hover{opacity:.7}.site-header__mobile-menu-close:focus{outline:2px solid #1e3a8a;outline-offset:2px}.site-header__close-line{background-color:#1e3a8a;height:2px;position:absolute;transition:all .3s ease;width:20px}.site-header__close-line:first-child{transform:rotate(45deg)}.site-header__close-line:last-child{transform:rotate(-45deg)}.site-header__mobile-nav-list{list-style:none;margin:0;padding:0}.site-header__mobile-nav-item{border-bottom:1px solid #f0f0f0}.site-header__mobile-nav-item:last-child{border-bottom:none}.site-header__mobile-nav-link{color:#1e3a8a;display:block;font-weight:500;padding:16px;position:relative;text-decoration:none;transition:all .3s ease}.site-header__mobile-nav-link:hover{background-color:#f8f9fa;color:#152860}.site-header__mobile-nav-link:focus{outline:2px solid #1e3a8a;outline-offset:-2px}.site-header__mobile-nav-link.is-active{background-color:#a3b5eb;font-weight:600}.site-header__mobile-nav-link.is-active:before{background-color:#1e3a8a;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.site-header__mobile-cta{border-top:1px solid #eee;margin-top:auto;padding:16px}.site-header__mobile-contact{align-items:center;background:linear-gradient(90deg,#09ac5d,#61e7a6);border-radius:8px;color:#fff;display:flex;font-weight:600;justify-content:center;padding:16px;text-decoration:none;transition:all .3s ease}@media(max-width:991px){.site-header__mobile-contact{gap:1rem;justify-content:start}}.site-header__mobile-contact:hover{box-shadow:0 4px 12px rgba(9,172,93,.3);transform:translateY(-2px)}.site-header__mobile-contact:focus{outline:2px solid #fff;outline-offset:2px}.site-header__mobile-contact-icon{align-items:center;display:flex;margin-right:8px}@media(max-width:991px){.site-header__mobile-contact-icon{width:3rem}}.site-header__mobile-contact-icon img{height:24px;width:24px}@media(max-width:991px){.site-header__mobile-contact-icon img{height:auto;width:100%}}.site-header__mobile-contact-text{font-size:1rem}@media(max-width:991px){.site-header__mobile-contact-text{font-size:1.5rem;line-height:1}}@media(max-width:1024px){.site-header__burger{display:flex}.site-header__nav-wrap{display:none}}@media(max-width:768px){.site-header{padding:8px 0}.site-header__container{padding:0 8px}.site-header__logo-image{max-height:40px}.site-header__mobile-menu-content{max-width:320px;width:100%}}@media(max-width:480px){.site-header__mobile-menu-content{width:100vw}}.contact-cta.footer{background-color:#f7f7f7;padding:4rem 1rem}.contact-cta__container{align-items:center;display:flex;flex-direction:column;gap:2rem;justify-content:center}.contact-cta__buttons-row{display:flex;gap:2rem}@media(max-width:991px){.contact-cta__buttons-row{flex-direction:column;gap:1rem}}.contact-cta__button{color:#1e3a8a;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1.5rem}.contact-cta__button-inner{align-items:center;display:flex;gap:1rem}.contact-cta__button-icon{flex-shrink:0;line-height:1}.contact-cta__button-text{display:flex;flex-direction:column;gap:.5rem}.contact-cta__button-title{font-size:2rem;font-weight:700;line-height:1.2}.contact-cta__button-subtitle{font-size:.875rem;line-height:1.2}.contact-cta__button-col{background-color:#fff;border:1px solid #1e3a8a;border-radius:.25rem;transition:all .3s ease}.contact-cta__button-col:hover{background-color:#1e3a8a;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;transform:translateY(-2px)}.contact-cta__button-col:hover .contact-cta__button-icon svg path{fill:#fff}.contact-cta__button-col:hover .contact-cta__button-text{color:#fff}.site-footer{background-color:#1e3a8a;color:#fff;padding:4rem 1rem}.site-footer__upper{font-size:clamp(1.5rem,6vw,4rem);margin-bottom:4rem;text-align:center}@media(max-width:991px){.site-footer__upper{font-size:clamp(2.5rem,10vw,2.5rem);line-height:1.5}}.site-footer__middle{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:auto;max-width:500px}.site-footer__logo-wrapper{text-align:center}.site-footer__logo-link{color:inherit;display:inline-block;text-decoration:none}.site-footer__logo-link svg{display:block;width:100%}.site-footer__logo-link svg *{fill:#fff!important}@media(max-width:991px){.site-footer__logo-link svg{max-width:10rem}}.site-footer__logo-link-image{height:auto;max-width:12rem;width:100%}@media(max-width:991px){.site-footer__logo-link-image{max-width:10rem}}.site-footer__logo-link-text-line1,.site-footer__logo-link-text-line2{display:block;font-weight:600;line-height:1.2}.site-footer__logo-link-text-line1{font-size:1.2rem}.site-footer__logo-link-text-line2{font-size:1.5rem}.site-footer__divider{background-color:#fff;height:1px;margin:2rem 0;width:100%}.container{margin:0 auto;max-width:1400px;padding:0 1rem}.container__large{margin:0 auto;max-width:1600px}.section{margin:4rem auto}.section__medium{margin:2rem auto}.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;-khtml-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%}.slick-list,.slick-slider{display:block;position:relative}.slick-list{margin:0;overflow:hidden;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{transform:translateZ(0)}.slick-track{display:block;left:0;margin-left:auto;margin-right:auto;position:relative;top:0}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block;height:auto;width:100%}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block!important}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{border:1px solid transparent;display:block;height:auto}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff 50% no-repeat}.slick-next,.slick-prev{border:none;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:20px}.slick-next,.slick-next:focus,.slick-next:hover,.slick-prev,.slick-prev:focus,.slick-prev:hover{background:transparent;color:transparent;outline:none}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{color:#fff;font-family:slick;font-size:20px;line-height:1;opacity:.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir=rtl] .slick-prev{left:auto;right:-25px}.slick-prev:before{content:"←"}[dir=rtl] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir=rtl] .slick-next{left:-25px;right:auto}.slick-next:before{content:"→"}[dir=rtl] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;display:block;list-style:none;margin:0;padding:0;position:absolute;text-align:center;width:100%}.slick-dots li{display:inline-block;margin:0 5px;padding:0;position:relative}.slick-dots li,.slick-dots li button{cursor:pointer;height:20px;width:20px}.slick-dots li button{background:transparent;border:0;color:transparent;display:block;font-size:0;line-height:0;outline:none;padding:5px}.slick-dots li button:focus,.slick-dots li button:hover{outline:none}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{color:#000;content:"•";font-family:slick;font-size:6px;height:20px;left:0;line-height:20px;opacity:.25;position:absolute;text-align:center;top:0;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{color:#000;opacity:.75}.slick-slider .slick-dots{bottom:20px}.slick-slider .slick-dots li button:before{color:#fff;font-size:12px;opacity:.5}.slick-slider .slick-dots li.slick-active button:before{color:#fff;opacity:1}.slick-slider .slick-next,.slick-slider .slick-prev{z-index:10}.slick-slider .slick-next:before,.slick-slider .slick-prev:before{font-size:24px;opacity:.8}.slick-slider .slick-next:hover:before,.slick-slider .slick-prev:hover:before{opacity:1}.slick-slider .slick-prev{left:20px}.slick-slider .slick-next{right:20px}.hero,.hero-slider .slick-slide{height:80vh;min-height:600px}.hero{background-color:#1e3a8a;color:#fff;overflow:hidden;position:relative;width:100%}@media(max-width:991px){.hero{height:50vh}}.hero__bg-img{height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:.5;top:0}.hero__bg-img,.hero__title{position:absolute;width:100%}.hero__title{font-size:clamp(2rem,5vw,5rem);left:50%;letter-spacing:2px;padding:0 16px;text-align:center;text-shadow:0 4px 5.2px #2d3748;top:50%;transform:translate(-50%,-50%);z-index:10}@media(max-width:991px){.hero__title{font-size:clamp(3rem,5vw,5rem);text-align:left}}.hero__title .char{display:inline-block;opacity:0;transform:translateY(50px);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.hero__title .char.animate{opacity:1;transform:translateY(0)}.hero__title .space{display:inline-block;width:.3em}.hero__content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end;-o-object-fit:cover;object-fit:cover;position:relative;z-index:1}.hero__subtitle{font-size:7rem;line-height:1;margin-bottom:2rem;opacity:.5;position:relative;width:100%}.hero__subtitle-scroll{animation:heroSubtitleScroll var(--scroll-duration,30s) linear infinite;display:flex;white-space:nowrap}.hero__subtitle-text{display:inline-block;flex-shrink:0;padding-right:0;white-space:nowrap}.hero__visual,.hero__visual .hero__bg-img,.hero__visual img{display:block!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.hero__visual .hero__bg-img,.hero__visual img{-o-object-fit:cover!important;object-fit:cover!important}.hero__gallery,.hero__slider{height:100%!important;left:0!important;position:absolute!important;top:0!important;width:100%!important}.hero__slider.slick-slider{height:100%;margin:0}.hero__slider .slick-list{height:100%;overflow:hidden}.hero__slider .slick-track{height:100%}.hero__slider .hero__visual img{height:100%!important;left:0!important;-o-object-fit:cover!important;object-fit:cover!important;position:absolute!important;top:0!important;width:100%!important}.hero__overlay{background-color:rgba(0,0,0,.5);height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}@keyframes heroSubtitleScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.hero .hero__gallery .hero__slider .slick-slide img,.slick-initialized .hero .hero__gallery .hero__slider{height:100%!important;position:absolute!important;width:100%!important}.hero .hero__gallery .hero__slider .slick-slide img{display:block!important;left:0!important;-o-object-fit:cover!important;object-fit:cover!important;top:0!important}.page-hero{background-color:#1e3a8a;color:#fff;height:50vh;max-height:600px;min-height:400px;overflow:hidden;position:relative}.page-hero__visual{height:100%;left:0;position:absolute;top:0;width:100%}.page-hero__bg-img{height:100%;-o-object-fit:cover;object-fit:cover;opacity:.5;width:100%}.page-hero__content{align-items:center;display:flex;height:100%;justify-content:center;position:relative;z-index:2}.page-hero__container{width:100%}.page-hero__content-inner{padding:24px 0;text-align:center}.page-hero__title{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.page-hero__breadcrumb{margin-bottom:8px}.page-hero__breadcrumb-list{font-size:.9rem;gap:4px;justify-content:center;list-style:none;margin:0;padding:0}.page-hero__breadcrumb-list,.page-hero__breadcrumb-list li{align-items:center;display:flex}.page-hero__breadcrumb-item:not(:last-child):after{content:">";margin-left:4px;opacity:.7}.page-hero__breadcrumb-link{color:#fff;opacity:.8;text-decoration:none;transition:opacity .3s ease}.page-hero__breadcrumb-link:hover{opacity:1;text-decoration:underline}.page-hero__breadcrumb-item--current{opacity:.9}.page-hero__excerpt{font-size:1.1rem;line-height:1.6;margin-left:auto;margin-right:auto;margin-top:16px;max-width:600px;opacity:.9}@media(max-width:768px){.page-hero{height:40vh;min-height:300px}.page-hero__title{font-size:clamp(1.5rem,5vw,2.5rem);margin-bottom:8px}.page-hero__breadcrumb-list{font-size:.8rem}.page-hero__excerpt{font-size:1rem;margin-top:8px}.page-hero__content-inner{padding:16px 0}}.page-hero--overlay:before{background:linear-gradient(135deg,rgba(0,0,0,.4),rgba(0,0,0,.2));content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.page-hero--overlay .page-hero__bg-img{opacity:1}.contact-form-wrapper{margin:4rem auto;max-width:800px}.contact-form-section{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:32px}.contact-form-section:last-child{border-bottom:none;margin-bottom:0}.contact-form-section__title{align-items:center;color:#1e3a8a;display:flex;font-size:1.5rem;font-weight:700;gap:8px;margin-bottom:24px}.contact-form-row{margin-bottom:24px}.contact-form-label{color:#1f2937;display:block;font-weight:600;margin-bottom:8px}.contact-form-label--required{position:relative}.contact-form-required{background-color:#e74c3c;border-radius:3px;color:#fff;display:inline-block;font-size:.75rem;font-weight:400;margin-left:4px;padding:2px 8px}.contact-form-note{color:#6b7280;font-size:.9rem;font-weight:400;margin-left:4px}.contact-form-field,.wpcf7-email,.wpcf7-tel,.wpcf7-text{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:1rem;padding:8px 16px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.contact-form-field:focus,.wpcf7-email:focus,.wpcf7-tel:focus,.wpcf7-text:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px rgba(30,58,138,.1);outline:none}.contact-form-field::-moz-placeholder,.wpcf7-email::-moz-placeholder,.wpcf7-tel::-moz-placeholder,.wpcf7-text::-moz-placeholder{color:#999}.contact-form-field::placeholder,.wpcf7-email::placeholder,.wpcf7-tel::placeholder,.wpcf7-text::placeholder{color:#999}.contact-form-radio-group .wpcf7-form-control-wrap{display:block}.contact-form-radio-group .wpcf7-list-item{display:inline-block;margin:0 16px 8px 0}.contact-form-radio-group .wpcf7-list-item:last-child{margin-right:0}.contact-form-radio-group label{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;display:inline-flex;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.contact-form-radio-group label:hover{background-color:rgba(30,58,138,.05);border-color:#1e3a8a}.contact-form-radio-group input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin-right:8px;width:18px}.contact-form-radio-group input[type=radio]:checked+label,.contact-form-radio-group label:has(input[type=radio]:checked){background-color:rgba(30,58,138,.1);border-color:#1e3a8a;color:#1e3a8a;font-weight:600}@media(max-width:768px){.contact-form-radio-group .wpcf7-list-item{display:block;margin-bottom:8px;margin-right:0}.contact-form-radio-group .wpcf7-list-item:last-child{margin-bottom:0}.contact-form-radio-group label{display:flex;width:100%}}.contact-form-examples{background-color:#f8f9fa;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px;padding:16px}.contact-form-example__title{color:#1e3a8a;font-size:.9rem;font-weight:700;margin-bottom:4px}.contact-form-example__text{color:#6b7280;font-size:.85rem;line-height:1.5}.contact-form-textarea,.wpcf7-textarea{border:1px solid #e5e7eb;border-radius:4px;font-family:inherit;font-size:1rem;min-height:200px;padding:16px;resize:vertical;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.contact-form-textarea:focus,.wpcf7-textarea:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px rgba(30,58,138,.1);outline:none}.contact-form-textarea::-moz-placeholder,.wpcf7-textarea::-moz-placeholder{color:#999}.contact-form-textarea::placeholder,.wpcf7-textarea::placeholder{color:#999}.contact-form-submit-wrapper{margin-top:32px;text-align:center}.contact-form-submit,.wpcf7-submit{background:linear-gradient(135deg,#1e3a8a,#274cb4);border:none;border-radius:50px;box-shadow:0 4px 15px rgba(30,58,138,.3);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;min-width:200px;padding:16px 64px;transition:all .3s ease}.contact-form-submit:hover,.wpcf7-submit:hover{background:linear-gradient(135deg,#193175,#1e3a8a);box-shadow:0 6px 20px rgba(30,58,138,.4);transform:translateY(-2px)}.contact-form-submit:active,.wpcf7-submit:active{transform:translateY(0)}.contact-form-submit:disabled,.wpcf7-submit:disabled{box-shadow:0 4px 15px rgba(30,58,138,.2)!important;cursor:not-allowed;opacity:.6;transform:none!important}.wpcf7-not-valid-tip{color:#e74c3c;display:block;font-size:.85rem;margin-top:4px}.wpcf7-not-valid{border-color:#e74c3c!important}.wpcf7-response-output{border-radius:4px;font-weight:600;margin:24px 0;padding:16px;text-align:center}.wpcf7-response-output.wpcf7-mail-sent-ok{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.wpcf7-response-output.wpcf7-mail-sent-ng,.wpcf7-response-output.wpcf7-spam-blocked,.wpcf7-response-output.wpcf7-validation-errors{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.wpcf7-response-output.wpcf7-acceptance-missing{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.privacy-error-message{animation:slideInUp .3s ease-out;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-weight:600;margin:24px 0;padding:16px;text-align:center}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wpcf7-spinner{background-color:#1e3a8a;border:none;border-radius:100%;display:inline-block;height:24px;margin-left:24px;opacity:.75;position:relative;visibility:hidden;width:24px}.wpcf7-spinner:before{animation:spin 1s linear infinite;border:3px solid #fff;border-radius:100%;border-top-color:transparent;box-sizing:border-box;content:"";display:block;height:100%;width:100%}@keyframes spin{to{transform:rotate(1turn)}}.wpcf7.sending .wpcf7-spinner{visibility:visible}@media(max-width:768px){.contact-form-section__title{font-size:1.2rem}.contact-form-examples{grid-template-columns:1fr}.contact-form-submit,.wpcf7-submit{padding:16px 24px;width:100%}.contact-form-radio-group label{flex-wrap:wrap}}.contact-form-field:focus-visible,.contact-form-submit:focus-visible,.contact-form-textarea:focus-visible{outline:2px solid #1e3a8a;outline-offset:2px}.privacy-policy-wrapper{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;overflow:hidden}.privacy-policy-content{height:300px;line-height:1.6;overflow-y:auto;padding:24px}.privacy-policy-content h4{border-bottom:2px solid #1e3a8a;color:#1e3a8a;font-size:1.2rem;font-weight:700;margin-bottom:16px;padding-bottom:4px}.privacy-policy-content h5{color:#1f2937;font-size:1rem;font-weight:700;margin:24px 0 8px}.privacy-policy-content p{color:#1f2937;margin-bottom:16px}.privacy-policy-content ul{list-style-type:disc;margin:8px 0 16px 24px}.privacy-policy-content ul li{color:#1f2937;margin-bottom:4px}.privacy-policy-content::-webkit-scrollbar{width:8px}.privacy-policy-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.privacy-policy-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.privacy-policy-content::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.privacy-agreement{background-color:#fff;border-top:1px solid #e5e7eb;padding:16px}.privacy-agreement .wpcf7-list-item{margin:0}.privacy-agreement .wpcf7-list-item label{align-items:flex-start;color:#1f2937;cursor:pointer;display:flex;font-weight:600;line-height:1.5}.privacy-agreement .wpcf7-list-item label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-right:8px;margin-top:2px;width:20px}.privacy-checkbox .wpcf7-list-item{margin:0}.privacy-checkbox .wpcf7-list-item label{align-items:flex-start;color:#1f2937;cursor:pointer;display:flex;font-weight:600;line-height:1.5}.privacy-checkbox .wpcf7-list-item label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-right:8px;margin-top:2px;width:20px}.wpcf7-checkbox .wpcf7-list-item{margin:0}.wpcf7-checkbox .wpcf7-list-item label{align-items:center;cursor:pointer;display:flex;padding:8px 0}.wpcf7-checkbox .wpcf7-list-item label input[type=checkbox]{cursor:pointer;height:20px;margin-right:8px;width:20px}.wpcf7-spinner{position:absolute!important}.ceo-message__header{display:inline-flex;flex-direction:column;gap:.5rem;width:90%}.ceo-message__header-wrapper{display:flex;justify-content:center}.ceo-message__signature-text{margin-top:1.5rem}.ceo-message__title{background:linear-gradient(90deg,#1e293b,#3498db);-webkit-background-clip:text;display:inline-block;font-size:clamp(2rem,4vw,4rem);-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:991px){.ceo-message__title{font-size:clamp(3rem,5vw,5rem)}}.ceo-message__subtitle-text{background:linear-gradient(90deg,#1e293b,#3b8238 50%,#58db34);-webkit-background-clip:text;display:inline;font-size:clamp(1rem,2vw,1.5rem);-webkit-text-fill-color:transparent}.ceo-message__content{display:flex;gap:4rem}@media(max-width:991px){.ceo-message__content{flex-direction:column;gap:2rem}}.ceo-message__figure{aspect-ratio:6/7;border-radius:0 1rem 1rem 0;flex-shrink:0;overflow:hidden;width:40%}@media(max-width:991px){.ceo-message__figure{width:90%}}.ceo-message__figure img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ceo-message__text{flex-grow:1;font-size:1.125rem;line-height:2;padding-right:4rem;padding-top:2rem}@media(max-width:991px){.ceo-message__text{font-size:1rem;padding:0 1rem}.business-intro__container{display:flex;flex-direction:column;gap:1rem}}.business-intro__header{align-items:center;display:flex;gap:1.5rem}@media(max-width:991px){.business-intro__header{align-items:start;flex-direction:column;gap:0}}.business-intro__title-en{background:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),linear-gradient(90deg,#1e293b,#3498db);-webkit-background-clip:text;color:#1e3a8a;font-size:clamp(1rem,10vw,8rem);font-weight:500;text-transform:capitalize;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin:0}@media(max-width:991px){.business-intro__title-en{font-size:clamp(4rem,30vw,4rem)}}.business-intro__content-header{display:flex;gap:4rem}@media(max-width:991px){.business-intro__content-header{flex-direction:column;gap:1rem}}.business-intro__subtitle-text{background:linear-gradient(90deg,red,#fdcf58);-webkit-background-clip:text;font-size:clamp(1rem,5vw,4.5rem);font-weight:800;-webkit-text-fill-color:transparent}@media(max-width:991px){.business-intro__subtitle-text{font-size:clamp(3rem,20vw,3rem)}}.business-intro__lead{font-size:1.5rem;font-weight:700}.business-intro__content{margin-top:2rem}@media(max-width:991px){.business-intro__content{line-height:2;margin-top:0}}.custom-equipment__visual-row{display:flex;gap:4rem}@media(max-width:991px){.custom-equipment__visual-row figure:last-child{display:none}}.custom-equipment__figure{border-radius:1rem;flex:1;overflow:hidden}.custom-equipment__content-row{display:flex;gap:4rem}@media(max-width:991px){.custom-equipment__content-row{flex-direction:column;gap:1rem}}.custom-equipment__content-col--left{width:40%}@media(max-width:991px){.custom-equipment__content-col--left{width:100%}}.custom-equipment__content-col--right{flex:1}.custom-equipment__subtitle{font-size:3rem;font-weight:700}@media(max-width:991px){.custom-equipment__subtitle{font-size:clamp(2.5rem,20vw,2rem)}}.custom-equipment__text{font-size:1.125rem;line-height:2}.service-flow__slider-wrapper{display:flex;gap:4rem;position:relative}.service-flow__slider-wrapper .slick-track{display:flex!important;gap:2rem}.service-flow__container{margin-top:4rem}.service-flow__container .slick-dots{display:none!important}.service-flow__item{border:1px solid #1e3a8a;border-radius:.5rem;max-width:20rem;padding:1.5rem}.service-flow__item-inner{display:flex;flex-direction:column;gap:1rem}.service-flow__item-title{font-size:1.25rem;text-align:center}.service-flow__item-separator{background-color:#1e3a8a;height:1px;width:100%}.service-flow__nav{position:absolute;right:2%;top:50%;transform:translateY(-50%)}.service-flow__nav-button{background-color:rgba(0,0,0,.32);border:none;border-radius:50%;height:3rem;transition:all .3s ease;width:3rem}.service-flow__nav-button--prev{display:none!important}.service-flow__nav-button:hover{background-color:rgba(0,0,0,.9);color:#fff}.technical-strengths__slide{border-radius:1rem;overflow:hidden;width:25rem}.technical-strengths__slide img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.technical-strengths__catchphrase{font-size:clamp(1.5rem,6vw,3rem);font-weight:700;text-align:center}@media(max-width:991px){.technical-strengths__catchphrase{font-size:clamp(2rem,10vw,3rem);text-align:left}}.technical-strengths__text{font-size:1.125rem;line-height:2;text-align:center}@media(max-width:991px){.technical-strengths__text{text-align:justify}}.recruit-hero__bg-wrapper{display:flex;position:relative}@media(max-width:991px){.recruit-hero__bg-wrapper{display:grid;grid-template-columns:repeat(2,1fr)}}.recruit-hero__figure{width:25%}@media(max-width:991px){.recruit-hero__figure{width:100%}}.recruit-hero__bg-img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.recruit-hero__title-area{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));bottom:7%;left:0;padding:2rem;position:absolute;width:100%}@media(max-width:991px){.recruit-hero__title-area{bottom:0}}.recruit-hero__header{gap:0}.recruit-hero__title-en{line-height:1}.recruit-hero__catchphrase{font-size:clamp(2rem,6vw,3rem);margin-bottom:4rem;text-align:center}.recruit-hero__text-wrapper{margin:0 auto 2.5rem;text-align:center;width:90%}.recruit-hero__text{font-size:1.125rem}.recruit-hero__cta{display:flex;justify-content:center}.recruit-hero__cta-button{background-color:#1e3a8a;border-radius:.5rem;color:#fff;font-size:1.125rem;font-weight:700;line-height:1.1;padding:1rem 2rem;transition:all .3s ease}.recruit-hero__cta-button:hover{background-color:#152860;box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.job-description__intro{display:flex;gap:4rem}@media(max-width:991px){.job-description__intro{flex-direction:column;gap:1rem}}.job-description__catchphrase{flex-shrink:0;font-size:clamp(2rem,6vw,3rem);width:40%}@media(max-width:991px){.job-description__catchphrase{width:100%}}.job-description__lead{flex:1}.job-description__grid{display:grid;gap:2rem 4rem;grid-template-columns:repeat(2,1fr)}@media(max-width:991px){.job-description__grid{gap:1rem;grid-template-columns:repeat(1,1fr)}}.job-card__inner{display:flex;flex-direction:column;gap:1.5rem}.job-card__figure{border-radius:1rem;overflow:hidden}.job-card__title{font-size:1.5rem;margin-bottom:1rem}.job-card__subtitle{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.job-card__text-wrapper{margin-left:5%}.company-overview__table{border-collapse:collapse;margin:0 auto;max-width:1200px;width:80%}@media(max-width:991px){.company-overview__table{width:100%}}.company-overview__table td,.company-overview__table th{border:1px solid;padding:1rem 1.5rem;text-align:left;vertical-align:top}.company-overview__table th{font-weight:700;width:30%}.company-overview__table td,.company-overview__table th{background-color:transparent}.company-overview__table tr:first-child td,.company-overview__table tr:first-child th{border-top:1px solid}.company-overview__table tr:last-child td,.company-overview__table tr:last-child th{border-bottom:1px solid}.company-overview__table td:first-child,.company-overview__table th:first-child{border-left:1px solid}.company-overview__table td:last-child,.company-overview__table th:last-child{border-right:1px solid}.company-overview__table ul{padding:0}.access-info__main-row{display:flex;gap:4rem}@media(max-width:991px){.access-info__main-row{flex-direction:column;gap:1rem}}.access-info__map-col{flex:1}.access-info__address-col{display:flex;flex-direction:column;gap:1rem;justify-content:center;width:25%}@media(max-width:991px){.access-info__address-col{width:100%}.access-info__address-wrapper{display:flex;flex-direction:column;gap:1rem}}.access-info__address-title{font-size:1.25rem;margin-bottom:.5rem}.access-info__address{margin:1rem auto}@media(max-width:991px){.access-info__address{margin:0}}.access-info__map-link{display:flex}.access-info__methods-grid{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}@media(max-width:991px){.access-info__methods-grid{gap:1rem;grid-template-columns:repeat(1,1fr)}}.access-info__method-card{border:1px solid;padding:1.5rem}.access-info__method-card-inner{display:flex;flex-direction:column;gap:1rem}.access-info__method-title{font-size:1.25rem;text-align:center}.access-info__method-separator{background-color:#000;height:1px;width:100%}.page-hero--error .page-hero__content-inner{padding:48px 0}.error-404__hero-content{text-align:center}.error-404__code{line-height:1;margin:0}.error-404__number{background:linear-gradient(135deg,#fff,#ff9800);-webkit-background-clip:text;font-size:clamp(5rem,12vw,8rem);font-weight:700;-webkit-text-fill-color:transparent;animation:float 3s ease-in-out infinite;background-clip:text;display:inline-block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.error-404__code-text{color:hsla(0,0%,100%,.9);font-size:1.3rem;font-weight:300;letter-spacing:2px;margin-bottom:16px;margin-top:8px;text-shadow:0 2px 4px rgba(0,0,0,.3);text-transform:uppercase}.error-404__content{background:#f9fafb;padding:48px 0}.error-404__container{text-align:center}.error-404__message{margin-bottom:48px}.error-404__description{color:#6b7280;font-size:1.1rem;line-height:1.8}.error-404__action{margin-top:48px}.error-404__home-button{background:linear-gradient(135deg,#1e3a8a,#274cb4);border-radius:50px;box-shadow:0 4px 15px rgba(30,58,138,.3);color:#fff;display:inline-block;font-size:1.1rem;font-weight:700;padding:16px 48px;text-decoration:none;transition:all .3s ease}.error-404__home-button:hover{background:linear-gradient(135deg,#193175,#1e3a8a);box-shadow:0 6px 20px rgba(30,58,138,.4);transform:translateY(-2px)}.error-404__home-button:active{transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes swing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}