html{scroll-behavior: smooth;}
body{margin: 0; padding:190px 0 0; box-sizing: border-box; overflow-x: hidden; font-family: "Poppins", sans-serif; font-weight: 400; font-style: normal; font-size: 16px; line-height: 1.75; color: var(--text);}
*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; -moz-hyphens: none; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none;}
a,a:hover,a:focus,a:active, button{text-decoration:none !important; outline:none !important; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; word-break:break-word;}
p{padding:0 0 20px; margin:0;}
p:last-of-type{padding: 0; margin:0;}
p:empty{padding:0 !important; margin:0 !important;}	
button:focus{border: none !important; outline: none;}
ul, ol{margin: 0; padding: 0 0 0 20px;}
h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6{margin: 0; font-style: normal; color: var(--blue-d);}
svg path{transition: all 0.3s ease-in-out;}
a{color: var(--blue-l);}
a:hover{color: var(--blue-d);}

h1{font-size: 60px; line-height:1.2; font-weight:700; text-transform: uppercase;}
h2, .h2{font-size: 44px; line-height: 1.1; font-weight: 700; text-transform: uppercase;}
h3, .h3{font-size: 24px; line-height: 1.25; font-weight:600;}
h4, .h4{font-size: 20px; line-height: 1.25; font-weight:600;}

.upp-t{text-transform: uppercase;}

.container{max-width: 1480px; padding: 0 20px; margin: 0 auto; width: 100%; box-sizing: border-box;}
.container-full{max-width: 100%; padding: 0 80px; margin: 0 auto; width: 100%; box-sizing: border-box;}
.center{text-align: center;}
.sub-title{font-size: 18px; line-height: 28px; text-transform: uppercase; color: #1a1a1a; font-weight: 500; display: block;}

.row{margin-left: 0; margin-right: 0;}
.row>*{padding-left: 0; padding-right: 0;}

img{width: 100%; height: auto; max-width: 100%; display: block;}

.relative{position: relative;}
.block{display: block;}
.d-flex{display: flex;}
.item-center{align-items: center;}
.item-end{align-items: flex-end;}
.justify-between{justify-content: space-between;}
.justify-center{justify-content: center;}
.d-column{flex-direction: column;}
.bold{font-weight: 700;}
.py-120{padding: 120px 0;}
.pt-120{padding-top: 120px;}
.pb-120{padding-bottom: 120px;}
.text-center{text-align: center;}

/* 8px */
.pt-8{padding-top: 8px;}
.pb-8{padding-bottom: 8px;}
.py-8{padding: 8px 0;}

/* 16px */
.pt-16 { padding-top: 16px; }
.pb-16 { padding-bottom: 16px; }
.py-16 { padding: 16px 0; }

/* 24px */
.pt-24 { padding-top: 24px; }
.pb-24 { padding-bottom: 24px; }
.py-24 { padding: 24px 0; }

/* 32px */
.pt-32 { padding-top: 32px; }
.pb-32 { padding-bottom: 32px; }
.py-32 { padding: 32px 0; }

/* 40px */
.pt-40 { padding-top: 40px; }
.pb-40 { padding-bottom: 40px; }
.py-40 { padding: 40px 0;}

/* 48px */
.pt-48 { padding-top: 48px; }
.pb-48 { padding-bottom: 48px; }
.py-48 { padding: 48px 0;}

.pb-0{padding-bottom: 0 !important;}

/*color root*/
:root{
	--blue-d: #091b34;
	--blue-l: #047de8;
	--text: #576272;
	--white: #ffffff;
	--white-t: 255 255 255;
	--shadow:0 12px 32px rgba(22,33,29,.08);
	--line:#edf3ff;
	--brand-soft:#f3f9ff;
}

.primary{color: var(--blue-d);}
.accent{color: var(--blue-l);}

.black{color: #000000;}
.white{color: var(--white);}

.blue-bg{background: var(--blue-d);}
.bg-gray{background: #f4fbff;}

.radius-16{border-radius: 16px;}
.radius-24{border-radius: 24px;}

.fs-14{font-size: 14px;}
.fs-16{font-size: 16px;}
.fs-18{font-size: 18px;}
.fs-20{font-size: 20px;}
.fs-22{font-size: 22px;}
.fs-24{font-size: 24px;}
.fs-26{font-size: 26px;}
.fs-28{font-size: 28px;}
.fs-30{font-size: 30px;}
.fs-32{font-size: 32px;}
.fs-34{font-size: 34px;}
.fs-36{font-size: 36px;}
.fs-38{font-size: 38px;}
.fs-40{font-size: 40px;}
.fs-44{font-size: 44px;}

.fw-300{font-weight: 300;}
.fw-500{font-weight: 500;}
.fw-600{font-weight: 600;}
.fw-700{font-weight: 700;}

.grid2{display: flex; flex-wrap: wrap; column-gap: 80px; grid-row-gap: 32px; justify-content: center;}
.grid2 .col-box{width: calc((100% - 80px) / 2);}

.grid3{display: flex; flex-wrap: wrap; gap:32px; justify-content: center;}
.grid3 .col-box{width: calc((100% - 32px * 2) / 3); display: flex;}

.grid4{display: flex; flex-wrap: wrap; gap:32px; justify-content: center;}
.grid4 .col-box{width: calc((100% - 32px * 3) / 4); display: flex;}

.gap-16{gap: 16px;}
.gap-24{gap: 24px;}
.gap-32{gap: 32px;}
.gap-40{gap: 40px;}
.gap-48{gap: 48px;}

.gapx-16{column-gap: 16px;}
.gapx-24{column-gap: 24px;}
.gapx-32{column-gap: 32px;}
.gapx-40{column-gap: 40px;}
.gapx-48{column-gap: 48px;}

.gapy-16{row-gap: 16px;}
.gapy-24{row-gap: 24px;}
.gapy-32{row-gap: 32px;}
.gapy-40{row-gap: 40px;}
.gapy-48{row-gap: 48px;}

.max-w600{max-width: 600px;}
.max-w700{max-width: 700px;}
.max-w850{max-width: 850px;}


.alert.alert-success{ background-color: #d4edda; color: #198754; border: 1px solid #c3e6cb; padding: 10px 10px; border-radius: 8px; }
.alert.alert-danger{ background-color: #f8d7da; color: #dc3545; border: 1px solid #f5c2c7; padding: 10px 10px; border-radius: 8px;}
form .messages{padding-bottom: 16px;}
form span.is-invalid{color: #ff0000;}

.btn-loading{ position: relative; display: inline-block; }
.btn-loading input, button.btn-loading[type="submit"]{ color: transparent !important; }
.btn-loading::after{ position: absolute; content: ""; left: 0; top: 0; right: 0; bottom: 0; margin: auto; height: 14px; width: 14px; border: 2px solid #ffffff; border-radius: 100%; border-right-color: transparent; animation: spinAround-ltr-btn .6s infinite linear; }
@keyframes spinAround-ltr-btn {
    to { transform: rotate(360deg); }
}


header{padding:0; background: var(--white); position: fixed; top: 0; left: 0; width: 100%; z-index: 999; transition: 0.3s ease-in-out;}
.sticky header{box-shadow: 0 0 5px 4px #00000014;}

.headtop-bar{background:var(--blue-d);}
.headtop-bar ul{padding: 0; margin: 0; display: flex; align-items: center; gap:8px 40px; list-style: none; min-height: 50px;}
.headtop-bar ul li{color: var(--white);}
.headtop-bar ul li > a{color: var(--white); display: flex; align-items: center; gap: 10px;}
.headtop-bar ul li.m-lauto{margin-left: auto;}
.headtop-bar ul li > a:hover{color: var(--blue-l);}
.headtop-bar ul li > a svg{display: block;}

.hed-inner{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap:80px; padding: 16px 0;}
.logo a{display: block; line-height: 0;}
.logo a img{width: 100%; max-width: 288px; box-sizing: border-box;}

.main-hed .hed-menu{margin-left: auto;}
.main-hed .hed-menu > ul{display: flex; flex-wrap: wrap; align-items: center; padding: 0; list-style: none; column-gap: 64px; text-transform: uppercase;}
.main-hed .hed-menu > ul > li{position: relative;}
.main-hed .hed-menu > ul > li > a{font-size: 16px;  font-weight: 500; color: var(--blue-d); line-height: 1; display: block; position: relative; padding: 10px 0;}
.main-hed .hed-menu > ul > li > a:hover,
.main-hed .hed-menu > ul > li.active > a{color: var(--blue-l);}
.main-hed .hed-menu > ul > li > a:after{content: ''; position: absolute; left: 0; width: 0; bottom: 0; height: 1px; transition: all 0.3s; background: currentColor;}
.main-hed .hed-menu > ul > li:hover > a:after,
.main-hed .hed-menu > ul > li.active > a:after{width: 100%;}

.head-right a.start-btn{ padding: 17px 24px; background: var(--blue-l); color: var(--white); font-size: 16px; font-weight: 600; line-height: 1em; border-radius: 50px; border: none; display: flex; align-items: center; gap:10px; text-transform: uppercase;}
.head-right a.start-btn:hover{ background: var(--blue-d); color: var(--white)}

a.target-burger{display: none;}
a.target-burger ul.buns{width: 26px; height: 26px; list-style: none; margin: 0; padding: 0; position: relative; z-index: 999;}
a.target-burger ul.buns li.bun{width: 100%; height: 2px; background-color: #012459; margin-top: -0.75px; transform: translateY(-6.75px) translateZ(0); transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), background-color 1s cubic-bezier(0.23, 1, 0.32, 1); position: absolute; top: 50%;}
a.target-burger ul.buns li.bun:last-child{transform: translateY(3.75px) translateZ(0);}
a.target-burger.toggled ul.buns li.bun{transform: rotate(45deg) translateZ(0); background: var(--white);}
a.target-burger.toggled ul.buns li.bun:last-child{transform: rotate(-45deg) translateZ(0);}


.main-hed .hed-menu ul li > ul { opacity: 0; visibility: hidden; position: absolute; padding: 10px 0 0 0; width: auto; transition: all 0.5s ease-in-out; min-width: 280px; list-style: none; top: 120%;}
.main-hed .hed-menu ul li > ul:before{position: absolute; content: ""; background: var(--blue-d); top: 10px; width: 100%; height: calc(100% - 10px); z-index: -1; transition: all 0.5s ease-in-out;}
.main-hed .hed-menu ul li:hover > ul{opacity: 1; visibility: visible; top:100%;}
.main-hed .hed-menu ul li > ul li{width: 100%; padding: 0; border-bottom: solid 1px rgb(var(--white-t) / 15%);}
.main-hed .hed-menu ul li > ul li:last-child{border-bottom: none;}
.main-hed .hed-menu ul li > ul li > a{position: relative; z-index: 2; padding: 12px 10px 12px 32px; display: flex; font-weight: 400; color: var(--white); transition: 0.3s ease-in-out;}
.main-hed .hed-menu ul li > ul li > a:hover,
.main-hed .hed-menu ul li > ul li.active > a{background: var(--blue-l);}
.main-hed .hed-menu ul li > ul li > a:before{position: absolute; content: ""; width: 6px; height: 6px; border-radius: 100px; background: var(--blue-l); top: 50%; transform: translateY(-50%); left: 16px; transition: 0.3s ease-in-out; z-index: 1;}
/*.main-hed .hed-menu ul li > ul li a:after{background: var(--blue-l); position: absolute; content: ""; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; transition: opacity 0.5s; z-index: -1;}*/
.main-hed .hed-menu ul li > ul li > a:hover:before,
.main-hed .hed-menu ul li > ul li.active > a:before{background: var(--blue-d);}
/*.main-hed .hed-menu ul li > ul li a:hover:after,
.main-hed .hed-menu ul li > ul li.active a:after{opacity: 1;}*/
.main-hed .hed-menu ul li:hover > ul {display: block; transition: all 0.5s ease-in-out;}


.home-banner{padding: 100px 0; background-position: center right; background-repeat: no-repeat; background-size: cover; min-height: calc(100vh - 190px); display: flex; justify-content: center; align-items: center;}
.home-banner .hero-txt{max-width: 680px; display: flex; flex-direction: column; align-items: flex-start;}
.home-banner .hero-txt h1 + p{padding: 40px 0 32px;}
.home-banner .hero-txt .btn-set a:not(.start-btn){color: var(--blue-d);}
.home-banner .hero-txt .btn-set a:not(.start-btn):hover{color: var(--blue-l);}
.home-banner .hero-txt .btn-set + p{padding: 32px 0 24px;}
.home-banner .hero-txt ul{column-gap: 32px; display: flex; flex-wrap: wrap; border-top: solid 1px #dee0e7; padding:24px 0 0; margin: 0;}
.home-banner .hero-txt ul li{width:calc((100% - 32px)/2);}


ul.list-check{padding:0; margin: 0; list-style: none;}
ul.list-check li{padding-left: 27px; background: url(../images/check.svg) left top 10px no-repeat;}


.start-btn{padding: 17px 24px; background: var(--blue-l); color: var(--white); font-size: 16px; font-weight: 600; line-height: 1em; border-radius: 50px; border: none; display: inline-flex; align-items: center; gap:10px; text-transform: uppercase;}
.start-btn:hover{ background: var(--blue-d); color: var(--white);}
.second-btn{background: var(--blue-d);}
.second-btn:hover{background: var(--blue-l);}


.link-line{position: relative; align-items: flex-start;}
.link-line:after{content: ''; background: currentColor; height: 1px; width: 100%; display: block;}


.full-width{display: flex; flex-wrap: wrap;}
.full-width .full-img{width: 50%;}
.full-width .full-right{width: 50%; padding:120px 20px 120px 80px;}
.max-720{max-width: 640px;}
.full-width .full-right .max-720{margin-right: auto;}


.home-sec2 .grid3 .col-box{row-gap: 100px;}
.home-sec2 .info-box{display: flex; gap: 16px;}
.home-sec2 .info-box .info-icon{width: 100px; height: 100px; background: #f6f6fb; border-radius: 100%; display: flex; align-items: center; justify-content: center; border: solid 1px #f2f3f5; box-shadow: 0 0 15px 0 rgba(5, 25, 55, 0.05);}
.home-sec2 .info-box .info-text{width: calc(100% - 116px);}
.home-sec2 .info-box .info-text h3{padding: 0 0 8px;}

.home-sec2 img{width: auto; max-width: 100%;}

.home-sec3 .full-img img{height: 100%; object-fit: cover;}
.home-sec3 .step-box{padding: 0; margin:32px 0 0; list-style: none; gap: 64px; display: flex; flex-direction: column; position: relative;}
.home-sec3 .step-box:before{content: ''; position: absolute; top:60px; left: 39px; bottom:60px; width: 1px; background: rgb(var(--white-t)/50%);}
.home-sec3 .step-box li{display: flex; flex-wrap: wrap; gap:24px; align-items: center;}
.home-sec3 .step-box .info-icon{background: var(--blue-l); border-radius: 16px; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; font-size: 36px; font-weight: 600; position: relative;}
.home-sec3 .step-box li .info-icon:before{content: ''; position: absolute; bottom:100%; left: 0; right: 0; height: 8px; background: var(--blue-d);}
.home-sec3 .step-box li:not(:last-child) .info-icon:after{content: ''; position: absolute; top:100%; left: 0; right: 0; height: 8px; background: var(--blue-d);}
.home-sec3 .step-box .info-text{width: calc(100% - 104px);}
.home-sec3 .step-box h3{color: var(--white); padding: 0 0 8px;}


.home-sec4 .info-box{display: flex; gap: 16px; padding: 24px; border-radius: 16px; align-items: start; margin-top: 24px;}
.home-sec4 .info-box img{max-width: 38px;}
.home-sec4 .video-wrap{position: relative; height: 100%}
.home-sec4 .video-wrap video{width: 100%; height: 100%; object-fit: cover; border-radius: 24px;}
.home-sec4 .video-wrap .play-btn{position: absolute; left: 0; right: 0; top: 0; bottom: 0; bottom: 0; width: 80px; height: 80px; border-radius: 100%; background: var(--blue-l) url(../images/play.svg) center center no-repeat; background-size: 20px; margin: auto; border: 0; outline: none; opacity: 1; visibility: visible; transition: opacity 0.25s ease, visibility 0.25s ease; cursor: pointer; color: var(--white); font-size: 24px;}
.home-sec4 .video-wrap .play-btn.is-hidden{opacity: 0; visibility: hidden;}

.home-sec4 .video-wrap .play-btn::before,
.home-sec4 .video-wrap .play-btn::after {content: ""; position: absolute; inset: -5px; border: 5px solid rgba(255, 255, 255, 0.20); border-radius: 50%; pointer-events: none;}

.home-sec4 .video-wrap .play-btn::after {inset: -10px; border-color: rgba(255, 255, 255, 0.22); animation: playPulse 2s ease-out infinite;}
.home-sec4 .video-wrap .play-btn::before {animation: playPulse 2s ease-out infinite 1s;}

@keyframes playPulse {
	0% {transform: scale(1); opacity: 1;}
	100% {transform: scale(1.7); opacity: 0;}
}

.home-sec5 .info-box{display: flex; flex-direction: column; gap: 16px; background: var(--blue-l); color: var(--white); padding:50px 40px 0 40px; border-radius: 24px;}
.home-sec5 .col-box:nth-child(even) .info-box{background: var(--blue-d);}
.home-sec5 .info-box .info-icon{height: 50px;}
.home-sec5 .info-box .info-icon img{width: auto; height: 100%;}
.home-sec5 .info-box p:last-of-type{flex-grow: 1;}
.home-sec5 .info-box h3{color: var(--white); padding: 16px 0 0;}
.home-sec5 .info-box .info-num{display: flex; justify-content: flex-end; padding: 32px 0 0; line-height: 0.7; font-size: 120px; font-weight: bold; color: transparent; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: rgb(var(--white-t) / 30%); text-stroke-width: 2px; text-stroke-color: rgb(var(--white-t) / 30%); paint-order: stroke fill; }

.cta-footer .button-group{display: flex; justify-content: center; gap: 16px 24px;}


footer.footer{background: var(--blue-d); color: var(--white); padding: 80px 0 0;}
footer.footer .footer-top{padding:0 0 60px;}
footer.footer .footer-top .container-full{display: flex; justify-content: space-between; gap: 24px;}
footer.footer .footer-top .foot-col1 img{width: auto;}
footer.footer .footer-top .foot-col1 p{max-width: 430px; padding: 32px 0 0;}
footer.footer .footer-top h3{padding: 0 0 24px; margin: 0; color: var(--white);}
footer.footer .footer-top ul.foot-nav{padding: 0; margin: 0; list-style: none; display: flex; flex-direction: column; gap: 10px;}
footer.footer .footer-top ul.foot-nav > li{padding: 0; margin: 0;}
footer.footer .footer-top ul.foot-nav > li > a{color: var(--white);}
footer.footer .footer-top ul.foot-nav > li > a:hover{color: var(--blue-l);}

footer.footer .footer-top ul.foot-contact{gap: 16px;}
footer.footer .footer-top .foot-contact li{display: flex; gap: 16px;}
footer.footer .footer-top .foot-contact li svg{display: block; margin: 5px 0 0;}
footer.footer .footer-top .foot-contact li > a{display: flex; gap: 16px;}
footer.footer .footer-top .foot-social{display: flex; flex-wrap: wrap; gap: 10px; padding: 24px 0 0;}
footer.footer .footer-top .foot-social > a{width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: solid 1px var(--white); color: var(--white); border-radius: 100%;}
footer.footer .footer-top .foot-social > a:hover{border-color: var(--blue-l); color: var(--blue-l);}
footer.footer .footer-btm{padding: 32px 0; text-align: center; border-top: solid 1px rgb(var(--white-t)/20%);}


.sub-hero{min-height: 400px;}

.contact-main .container{display: flex; flex-wrap: wrap; gap: 48px;}
.contact-main .contact-left{width: calc(60% - 24px);}
.contact-form{width: 100%; padding: 24px 0 0;}
.contact-form .row { display: flex; gap: 24px; margin-bottom: 24px; }
.contact-form .row:last-child{margin-bottom: 0;}
.contact-form .col:not(.sub-btn){ flex: 1; display: flex; flex-direction: column; }
.contact-form .col.full:not(.sub-btn) { flex: 100%; }
.contact-form label {display: none; margin-bottom: 6px; font-size: 16px; font-weight: 500; color: var(--text); }
.contact-form input,
.contact-form select,
.contact-form textarea{ padding: 10px 20px; border: 1px solid var(--text); border-radius: 8px; outline: none; font-size: 16px; font-weight: 400; color: var(--text);; line-height: normal; background: var(--white); width: 100%; box-sizing: border-box; font-family: "Poppins", sans-serif; display: block;}
.contact-form textarea {min-height: 120px; resize: none;}
.contact-form button,
.contact-form input[type="submit"] {background: var(--blue-l); padding: 14px 32px; color: var(--white); font-size: 16px; font-weight: 700; line-height: normal; border-radius: 50px; border: none; display: block; text-transform: uppercase; font-family: "Poppins", sans-serif; cursor: pointer; width: auto;}
.contact-form button:hover,
.contact-form input[type="submit"]:hover{background: var(--blue-d);}
.contact-main .contact-right{width: calc(40% - 24px); display: flex; gap:24px; flex-direction: column;}
.contact-main .info-box{display: flex; align-items: center; gap: 16px;}
.contact-main .info-icon{width: 56px; height: 56px; border-radius: 8px; background: var(--blue-l); display: flex; align-items: center; justify-content: center; padding: 16px;}

section{scroll-margin-top: 100px;}



#cookie-notice {display: none;}
#cookie-notice {position: fixed; bottom: 0; left: 0; width: 100%; z-index: 9999 ; animation: slideUp 0.4s ease;}
.cookie-content {display: flex; align-items: center; justify-content: center; gap: 16px; padding: 16px 24px; background: var(--blue-d); color: var(--white); flex-wrap: wrap;}
.cookie-content span {font-size: 14px; line-height: 1.5; color: var(--white); text-align: center;}
.cookie-content button {border: none; background: var(--blue-l); color: var(--white); padding: 10px 22px; border-radius: 10px; font-weight: 600; cursor: pointer; transition: all 0.25s ease; white-space: nowrap; outline: none;}
.cookie-content button:hover{background: var(--white); color: var(--blue-d);}



@media only screen and (max-width: 1366px){
	.container-full{padding: 0 20px;}
	.hed-inner{gap:32px;}
	.main-hed .hed-menu ul{column-gap: 32px;}

}

@media screen and (max-width: 1200px) {
	body{padding-top: 164px;}
	.hed-inner{gap:24px;}
	.main-hed .hed-menu ul{column-gap: 24px;}
	.logo a img{max-width: 220px;}
	.home-banner{min-height: calc(100vh - 164px);}
	.py-120 {padding: 80px 0;}
	section{scroll-margin-top: 100px;}

}

@media screen and (max-width: 1024px) {
	body{padding-top: 120px;}
	.headtop-bar ul{min-height: 40px;}
	.logo a img{max-width: 128px;}
	.headtop-bar ul{gap: 24px;}
	.hed-menu{position: fixed; left: 0; top: 0; width: 100%; height: 100vh; opacity: 0; transform: scale(0.50); transition: all 0.5s ease; background: var(--blue-d); visibility: hidden; padding: 50px 0;}
	a.target-burger{display: block;}
	.main-hed .hed-menu ul{padding: 30px; height: 100%; align-content: flex-start; overflow-y: scroll; box-sizing: border-box;}
	.hed-menu ul li {border-bottom: 1px solid rgb(var(--white-t)/15%); width: 100%;}
	.main-hed .hed-menu ul li a {font-size: 18px; color: var(--white); padding: 16px 0; font-weight: 400; display: block; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; text-align: left; display: inline-block;}
	.main-hed .hed-menu ul li a:hover { color: var(--blue-l);}
	.hed-menu.toggled{opacity: 1; visibility: visible; display: block; z-index: 10; transform: scale(1); transition: all 0.5s ease;}
	.main-hed .hed-menu ul li > ul:before{display: none;}
	.hed-menu ul>li.menu-item-has-children{position: relative;}
	.hed-menu ul>li>span { position: absolute; right: 10px; top: 10px; background: url(../images/arrow-white.svg) 50% no-repeat; width: 30px; height: 30px; transition: 0.3s ease-in-out;}
	.main-hed ul li.expand-nav > span{transform: rotate(180deg);}
	.main-hed .hed-menu ul li > ul{opacity: 1; visibility: visible; top: 0; position: relative; background: none; padding: 0; border-radius: 0; width: 100%; display: none;}
	.main-hed .hed-menu ul li > ul li{border-bottom: none;}
	.main-hed .hed-menu ul li > ul li a{font-size: 14px; padding: 8px;}
	.main-hed .hed-menu ul li > ul li a:before,
	.main-hed .hed-menu ul li > ul li a:after{display: none;}
	.main-hed ul li:hover > ul{display: none !important;}
	.main-hed ul li.expand-nav > ul{display: flex !important; flex-direction: column; max-width: 100%;}
	.main-hed .hed-menu ul li a.start-btn { padding: 10px 0; background: transparent; }
	.main-hed .hed-menu ul li a.start-btn img{display: none;}

	.main-hed .head-right{margin-left: auto;}

	h1{font-size: 44px; line-height:1.2;}
	h2, .h2, .fs-40, .fs-44{font-size: 32px; line-height: 1.2;}
	h3, .h3{font-size: 22px; line-height: 1.2;}
	h4, .h4{font-size: 18px; line-height: 1.2;}
	.grid2{column-gap: 32px;}
	.grid2 .col-box{width: calc((100% - 32px) / 2);}
	.grid4,
	.grid3{gap:24px;}
	.grid3 .col-box{width: calc((100% - 24px * 2) / 3);}
	.grid4 .col-box{width: calc((100% - 24px) / 2);}
	.grid5 .col-box{width: calc((100% - 24px * 2) / 3);}
	.pt-32 { padding-top: 24px; }
	.pb-32 { padding-bottom: 24px; }
	.py-32 { padding: 24px 0; }
	.pt-40 { padding-top: 24px; }
	.pb-40 { padding-bottom: 24px; }
	.py-40 { padding: 24px 0;}
	.pt-48 { padding-top: 24px; }
	.pb-48 { padding-bottom: 24px; }
	.py-48 { padding: 24px 0;}
	.py-120{padding: 50px 0;}
	.pt-120{padding-top: 50px;}
	.pb-120{padding-bottom: 50px;}

	section{scroll-margin-top: 60px;}

	.gapy-48{row-gap: 32px;}

	.home-banner{padding: 50px 0; position: relative;}
	.home-banner:before{content: ''; position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: rgb(var(--white-t)/90%); display: block;}
	.home-banner .container{position: relative;}
	.home-banner .hero-txt h1 + p{padding: 16px 0 24px;}
	.home-banner .hero-txt .btn-set + p{padding: 24px 0 16px;}

	.full-width{flex-direction: column-reverse;}
	.full-width .full-img{width: 100%;}
	.full-width .full-right{width: 100%; padding: 50px 20px;}
	.full-width .full-right .max-720{max-width: 100%;}
	.home-sec2 .grid3 .col-box{row-gap: 40px;}
	.home-sec2 .info-box{flex-direction: column;}
	.home-sec2 .info-box .info-text{width: 100%;}
	.home-sec2 .info-box .info-icon{width: 64px; height: 64px; padding: 14px;}

	.home-sec4 .grid2 .col-box{width: 100%;}
	.home-sec4 .video-wrap video{aspect-ratio: 16 / 9;}

	.grid5 .col-box{width: 100%;}
	.cta-banner{min-height: 400px;}
	

	footer.footer{padding: 50px 0 0;}
	footer.footer .footer-top{padding: 0 0 32px;}
	footer.footer .footer-top .container-full{flex-wrap: wrap; row-gap: 32px;}
	.footer-top .foot-col{width: calc((100% - 24px) / 2);}
	footer.footer .footer-top h3{padding-bottom: 16px;}
	footer.footer .footer-top .foot-col1 img{max-width: 200px;}
	footer.footer .footer-btm{padding: 24px 0;}

	.contact-main .container{gap: 32px;}
	.contact-main .contact-left{width: calc(60% - 16px);}
	.contact-main .contact-right{width: calc(40% - 16px);}
	.contact-main .info-icon{width: 48px; height: 48px; padding: 12px;}

}

@media screen and (max-width: 767px) {
	body{font-size: 15px;}
	h1{font-size: 36px; line-height:1.2;}
	h2, .h2, .fs-40, .fs-44{font-size: 30px; line-height: 1.2;}
	h3, .h3{font-size: 20px; line-height: 1.2;}
	.grid2{gap:24px;}
	.grid2 .col-box,
	.grid4 .col-box,
	.grid3 .col-box,
	.grid5 .col-box{width: 100%;}
	.column-reverse{flex-direction: column-reverse;}

	.headtop-bar ul li.m-lauto{display: none;}
	.headtop-bar ul li:not(:last-child) > a{font-size: 0; gap: 0;}
	.headtop-bar ul li.upp-t{margin-left: auto;}
	.hed-inner{gap: 16px;}
	.head-right a.start-btn{font-size: 13px; padding: 12px 16px;}
	.head-right a.start-btn svg{display:none;}

	.fs-18{font-size: 16px;}
	.fs-16{font-size: 15px;}
	.button-group{flex-wrap: wrap; justify-content: center;}

	.home-banner{background-position: center right 16% !important;}
	.home-banner .btn-set{flex-wrap: wrap;}
	.home-banner .hero-txt ul li{width: 100%; background-position: left top 8px;}

	.home-sec2 .grid3{gap: 32px;}
	.home-sec2 .grid3 .col-box{row-gap: 32px;}

	.home-sec3 .step-box{gap: 32px;}
	.home-sec3 .step-box:before{left: 32px;}
	.home-sec3 .step-box .info-icon{width: 64px; height: 64px; font-size: 24px;}
	.home-sec3 .step-box .info-text{width: calc(100% - 88px);}
	.home-sec5 .info-box{padding: 32px 24px 0 24px;}
	.home-sec5 .info-box h3{padding: 8px 0 0;}
	.home-sec5 .info-box .info-num{padding: 16px 0 0; font-size: 80px;}

	.home-sec4 .video-wrap .play-btn{width: 64px; height: 64px;}
	.home-sec5 .info-box .info-icon{height: 40px;}

	.footer-top .foot-col{width: 100%;}
	footer.footer .footer-top .foot-col1 p{padding: 24px 0 0; max-width: 100%;}


	.contact-main .contact-left,
	.contact-main .contact-right{width: 100%;}
	
	.home-sec4 .video-wrap video{aspect-ratio: 9 / 16;}


}


.privacy-dtl {display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; align-items: start; }
.privacy-dtl .toc { position: sticky; top: 220px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: 0 8px 24px rgba(22, 33, 29, .05); padding: 20px; max-height: calc(100vh - 260px); overflow: auto; }
.privacy-dtl .toc h2 { font-size: 16px; letter-spacing: .04em; margin: 0 0 8px;}
.privacy-dtl .toc a { display: block; color: var(--blue-d); font-size: 14px; padding: 7px 9px; border-radius: 8px; }
.privacy-dtl .toc a:hover { background: var(--brand-soft); color: var(--blue-l); text-decoration: none }
.privacy-dtl .policy { min-width: 0; }
.privacy-dtl .intro-card { border: 1px solid var(--line); border-radius: 16px; background: var(--brand-soft); padding: 24px; margin-bottom: 16px; }
.privacy-dtl .intro-card p { margin: 0;}
.privacy-dtl .section { scroll-margin-top: 220px; padding: 31px 0; border-bottom: 1px solid var(--line); }
.privacy-dtl .section:last-child { border-bottom: none }
.privacy-dtl .section h2 { margin: 0 0 16px;}
.privacy-dtl .section h3 { margin: 24px 0 10px;}
.privacy-dtl .section ul { margin: 12px 0 18px; padding-left: 22px;}
.privacy-dtl .section li { margin: 6px 0 }
.privacy-dtl .section li::marker{color: var(--blue-l);}
.privacy-dtl .notice { margin: 16px 0; padding: 16px 24px; background: var(--brand-soft); border: 1px solid var(--line); border-left: 4px solid var(--blue-l); border-radius: 16px; }
.privacy-dtl .notice strong { color: var(--blue-l);}
.privacy-dtl .table-wrap { overflow-x: auto; margin: 16px 0; border: 1px solid var(--line); border-radius: 16px; }
.privacy-dtl table { width: 100%; border-collapse: collapse; min-width: 760px; background: var(--white); }
.privacy-dtl th,
.privacy-dtl td { text-align: left; vertical-align: top; padding: 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.privacy-dtl th { background: var(--brand-soft);  font-weight: 600; }
.privacy-dtl tr:last-child td { border-bottom: none }
.privacy-dtl .contact-card { margin-top: 24px; border: 1px solid var(--line); background: var(--brand-soft); border-radius: 16px; padding: 24px; }
.privacy-dtl .contact-card p { margin: 4px 0 }

.hero-badge{background: var(--white); color: var(--blue-l); border-radius: 32px; border: solid 1px #ccddff; padding: 6px 20px; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 16px;}
.hero-description{padding: 16px 0;}
.hero-lists{display: flex; flex-wrap: wrap; gap: 8px;}
.hero-lists > span{background: var(--white); border-radius: 32px; border: solid 1px #ccddff; font-size: 13px; color: var(--blue-d); padding: 4px 12px;}


@media (max-width:1024px){
  .privacy-dtl{grid-template-columns:1fr; gap:24px}
  .privacy-dtl .toc{position:relative; top:auto; max-height:none}
}
@media (max-width:767px){
  .privacy-dtl .toc{display:none}
  .privacy-dtl .section{padding:25px 0}
}