.hero-section{position:relative;height:100vh;min-height:625px}.hero-video{position:fixed;top:0;left:0;width:100%;height:100vh;object-fit:cover;z-index:1;pointer-events:none}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.hero-content-top{margin-top:150px;padding:0 12.5vw}.hero-date{font-size:20px;font-weight:500;text-transform:uppercase;letter-spacing:2px;margin-bottom:24px}.hero-date,.hero-title{font-family:Lato,Noto Sans JP,sans-serif;color:#e8e8e3}.hero-title{font-size:64px;font-weight:900;line-height:1.5}.hero-content-bottom{margin-top:auto}.hero-scroll-text{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:1;display:flex;justify-content:center;align-items:center;background:#2ca6ff;color:#fff;font-family:Lato,Noto Sans JP,sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;width:25vw;height:64px;white-space:nowrap;margin-bottom:0}.hero-scroll-text:before{content:"";position:absolute;left:50%;top:-40px;z-index:2;width:1px;height:50px;background:#fff;animation:scroller 2s cubic-bezier(.65,.05,.36,1) 0s infinite}.hero-scroll-text:after{content:"";position:absolute;left:50%;top:1px;margin-left:-4px;width:8px;height:8px;border-bottom:1px solid #fff;animation:scroller-arrow 2s cubic-bezier(.65,.05,.36,1) 0s infinite}@keyframes scroller-arrow{0%{transform:rotate(-45deg) scaleY(0);opacity:0}49%{transform:rotate(-45deg) scaleY(1);opacity:1}50%{transform:rotate(-45deg) scaleY(1);opacity:1}to{transform:rotate(-45deg) scaleY(1);opacity:0}}@keyframes scroller{0%{transform:scaleY(0);transform-origin:50% 0;opacity:1}49%{transform:scaleY(1);transform-origin:50% 0;opacity:1}50%{transform:scaleY(1);transform-origin:50% 100%;opacity:1}to{transform:scaleY(0);transform-origin:50% 100%;opacity:0}}@media (max-width:767px){.hero-scroll-text{width:calc(100vw - 48px)}.hero-content-top{padding:0 24px}.hero-title{font-size:40px;margin-bottom:32px}.hero-date{font-size:16px;margin-bottom:16px}}.top-section-title{margin-bottom:48px}.eng-title{font-family:Lato;display:inline-block;font-size:18px;font-weight:600;line-height:1.6;letter-spacing:2.16px;background:linear-gradient(90deg,#2ca6ff,#4570ff 50%,#ca5dff);background-clip:text;margin-bottom:12px;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.default{color:var(--white,#fff);font-family:Noto Sans JP;font-size:40px;font-weight:700;line-height:1.4}.has-top{font-size:48px}@media (max-width:767px){.eng-title{font-size:18px;margin-bottom:8px}.has-top{font-size:30px}.default{font-size:24px}.top-section-title{margin-bottom:24px}}.service-section{background-color:#03060d;-webkit-mask-image:linear-gradient(180deg,transparent 0,black 12%,black 88%,transparent);mask-image:linear-gradient(180deg,transparent 0,black 12%,black 88%,transparent);padding:120px 0}.service-cards-wrap{display:flex;flex-direction:column;gap:48px;margin-top:60px}.service-card{flex:1 1;display:flex;gap:40px}.service-card-image{max-width:25vw;width:100%;margin-bottom:28px}.service-card-divider{width:100%;margin-bottom:0;border:1px solid rgba(255,255,255,.4)}.service-card-divider:last-child{display:none}.service-card-image img{width:100%;object-fit:cover;display:block}.service-card-title{font-size:22px;font-weight:700;color:#e8e8e3;margin:0 0 16px}.service-card-text{font-size:16px;line-height:1.6;color:#999993;margin:0;flex:1 1}.service-card-button-wrap{margin-top:32px}@media (max-width:1023px){.service-cards-wrap{gap:30px}}@media (max-width:767px){.service-section{padding:60px 0}.service-cards-wrap{margin-top:10vw;gap:6vw}.service-card{padding:8vw 6vw;gap:16px;flex-direction:column}.service-card-title{font-size:5vw}}.contact-cta-section{background-color:#03060d;-webkit-mask-image:linear-gradient(180deg,transparent 0,black 12%);mask-image:linear-gradient(180deg,transparent 0,black 12%);padding:120px 0}.contact-cta-inner{display:flex;align-items:end}.contact-cta-btn-col{margin-left:16.68vw}@media (max-width:1535px){.contact-cta-btn-col{margin-left:10vw}}.contact-cta-text{font-size:16px;color:#fff}.contact-cta-button{display:inline-block;position:relative;padding:16px 56px;font-family:Lato,Noto Sans JP,sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:background .25s ease-out,color .25s ease-out;background:linear-gradient(90deg,#2ca6ff,#4570ff,#ca5dff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.contact-cta-button:before{content:"";position:absolute;inset:0;padding:1.5px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:opacity .25s ease-out}.contact-cta-button:before,.contact-cta-button:hover{background:linear-gradient(90deg,#2ca6ff,#4570ff,#ca5dff)}.contact-cta-button:hover{-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-text-fill-color:white;color:white;text-decoration:none}.contact-cta-button:hover:before{opacity:0}@media (max-width:767px){.contact-cta-section{padding:60px 0}.contact-cta-inner{flex-direction:column;align-items:start;justify-content:start}.contact-cta-inner .col-2{flex-basis:auto}.contact-cta-btn-col{padding:0 24px;width:100%;margin-left:0;margin-top:24px}}