
::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

::-webkit-scrollbar-track {
    background: #666;
}

::-webkit-scrollbar-thumb {
    background: #111;
    border-radius: 10px;
}






.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  background:rgba(255, 255, 255, 1);
  color: #008CD6;
  display: none; /* 기본적으로 숨김 */
  align-items: center;
  justify-content: center;
  font-size: 16px;
  border-radius: 180px;
  pointer-events: none;
  transform: translate(-100%, -100%);
  border:1px solid #rgba(255, 255, 255, 0.20);

  user-select: none;
  z-index: 4444;
  gap:20px; display: flex;
  box-shadow: 1px 1px 15px rgba(0,0,0,0.05)
}


.custom-cursor:after{content: '';
background: url(../img/common/next.png); width: 19px; height: 8px; background-repeat: no-repeat; background-size: 100% auto}


.custom-cursor:before{content: '';
background: url(../img/common/prev.png); width: 19px; height: 8px; background-repeat: no-repeat; background-size: 100% auto}


/*pop*/

.agree_pop{display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 2; background: rgba(0,0,0,0.5)}
.agree_pop.atv_pop{display: block}

.agree_pop_content{position: absolute; left: 50%;
  top: 50%; background: #fff; padding: 30px; border-radius: 5px;
  transform: translate(-50%, -50%); width: 100%; max-width: 900px}



.agree_pop_content .agree_title{position: relative; }

.agree_pop_content .agree_title h2{font-size: 18px;}
.agree_pop_content .agree_title .close_pop{position: absolute; right: 0; top: 0; cursor: pointer}

.agree_pop_info{max-height: 400px; overflow-y: auto; margin-top: 15px; padding: 15px 0; border-top: 1px solid #ddd}
.agree_pop_info h3{font-size: 16px; font-weight: bold; word-break: keep-all; margin-bottom: 10px}
.agree_pop_info p{font-size: 14px; font-weight: 400; word-break: keep-all}
.agree_pop_info p + h3{margin-top: 20px}


.agree_pop_info::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}

.agree_pop_info::-webkit-scrollbar-track {
    background: #ccc;
}



/*header*/

.header{position: fixed; left: 0; top: 0; width: 100%; z-index: 9998; transition-duration: 0.8s}
.header.sub{background: #fff; box-shadow: 1px 1px 25px rgba(0,0,0,0.05)}
.header.nodrop{top:-100px; }

.header .logo{
	width: 78px; height: 43px;
	background: url(../img/logo.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: absolute; left: 4rem;
	top: 25px;
	z-index: 9999
}

.header .logo.eng{
	background-image: url(../img/logoeng.png);
}


.header .logo.logob,
.header.sub .logo{
	background-image: url(../img/logob.png);
}


.header .logo.eng.logob,
.header.sub .logo.eng{
	background-image: url(../img/logobeng.png);
}



.header .right{position: absolute; right: 4rem; top: 36px; display: flex; gap:40px; align-items: center;
z-index: 9999}
.header .right .all_btn{display: inline-block; position: relative; width: 30px; height: 16px;}
.header .right .all_btn span{position: absolute; width: 100%; height: 2px; background: #fff; transition-duration: .5s;
border-radius: 2px}


.header .right .all_btn span:nth-child(2){top: 50%; left: 0; transform: translateY(-50%);}
.header .right .all_btn span:nth-child(3){bottom: 0; left: 0}



.header.sub .right .all_btn span{background: #111}




.open_mo .header .right .all_btn span:nth-child(1){    transform: rotate(45deg) translateY(-50%); top: calc(50% - 1px)}
.open_mo .header .right .all_btn span:nth-child(2){opacity: 0}
.open_mo .header .right .all_btn span:nth-child(3){    transform: rotate(-45deg) translateY(-50%); bottom: auto; top: calc(50% - 1px) }









.lang{position: relative; }





.lang .lang_list{display: flex; gap:12px; align-items: center;}
    

    

.lang .lang_list a{display: block; font-size: 16px; color: #fff; transition-duration: .5s; opacity: .5;
font-weight: 600; }
.lang .lang_list i{
	width: 1px;
height: 11px;
background: #fff; opacity: .5;
display: block
}
.lang .lang_list a.on,
.lang .lang_list a:hover{opacity: 1}

.header.sub .lang_list a{color: #111;}
.header.sub .lang_list i{

background: #111;
}


.header .top_nav{display: flex; gap:80px;  justify-content: center; opacity: 1; visibility: visible; transition-duration: .8s}

.header .top_nav li{position: relative; text-align: center}
.header .top_nav li .onedeps{font-size: 18px; font-weight: 600; color: #fff; transition-duration: .8s;
height: 100px;  display: flex;
    justify-content: center;
    align-items: center;}
.header .top_nav li:hover .onedeps{color: #1FA2FF}


.header .top_nav .sub_deps{position: fixed; padding: 0px 20px;
background: #fff;
 top: 100px; left: 0%;
 width: 100%; 
    transition-duration: .2s;
    opacity: 0; visibility:hidden; height: 0; max-height: 0; text-align: center; 
    display: flex; gap:40px;
    border-top: 1px solid #DDD;
    justify-content: center;
    }


.header .top_nav li:hover .sub_deps{
	opacity: 1; visibility: visible; height: auto; max-height: 500px;
	 padding: 30px 20px;
	 transition-duration: .7s;
}


.header.sub li .onedeps{color: #222}
.header li .onedeps.on{color: #1FA2FF}


.header .top_nav .sub_deps a{display: block; color: #666; font-size: 18px; transition-duration: .0s; font-weight: 400}


.header .top_nav li:hover .sub_deps a:hover,
.header .top_nav .sub_deps a.on{color: #1FA2FF;
transition-duration: .1s;
}



.open_mo .header .top_nav{opacity: 0}


body.open_mo{height: 100vh; overflow: hidden}

.site_map{position: fixed; z-index: 9992;
height: 100%; width: 100%; left: 0; top: 0;
display: flex;
justify-content: center;
align-items: center; padding: 0 14rem; opacity: 0; visibility: hidden; transition-duration: .8s;
background: rgba(17, 17, 17, 0.60);
backdrop-filter: blur(20px);}


.open_mo .site_map{opacity: 1; visibility: visible}

.open_mo .header .top_nav{opacity: 0; visibility: hidden; display: none}

.site_map .top_nav {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 60px;
    flex-direction: column;
}


.site_map .top_nav li{display: flex; justify-content: flex-start;
    align-items: center; position: relative; gap:80px}
    

.site_map .top_nav li .onedeps{
	font-size: 44px; color: #fff; font-weight: 700; 
  transition-duration: .8s;
	width: 330px; 
	padding-right: 80px;
	position: relative
}


.site_map .top_nav li .onedeps:after{content: ''; position: absolute;  transition-duration: .8s;
right: 0;
border-radius: 40px;
width: 60px;
height: 60px;
background: #1FA2FF url(../img/sitemap_after.png);
background-position: center;
    background-repeat: no-repeat;
    opacity: 0; 
    top: 50%;
    transform: translate(-50%, -50%);
    transition-duration: .8s
}

.site_map .top_nav li:hover .onedeps{color: #1FA2FF;}
.site_map .top_nav li:hover .onedeps:after{opacity: 1;
transform: translate(0%, -50%);}


.site_map .top_nav li .sub_deps{display: flex; gap:40px;justify-content: flex-start;
    align-items: center; opacity: 0; transition-duration: .8s; 
    border-left: 1px solid rgba(255, 255, 255, 0.20); padding-left: 40px; }

.site_map .top_nav li:hover .sub_deps{opacity: 1}  
    
.site_map .top_nav li .sub_deps a{font-size: 18px; color: #fff; transition-duration: .8s;display: block; 
opacity: .8; position: relative}

.site_map .top_nav li .sub_deps a:hover{opacity: 1; }
.site_map .top_nav li .sub_deps a:hover:after{width: 100%}


.inner{padding: 0 7rem}
.inner2{padding: 0 14rem}

/*foot*/

.foot_btn{position: fixed; z-index: 9992;
right: 4rem; bottom: 4rem; width: 60px; height: 60px;
display: flex;   align-items: center;
  justify-content: center;
    box-shadow: 1px 1px 15px rgba(0,0,0,0.05);
background: #1FA2FF; border-radius: 100px;

 /* 👇 추가 */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.foot_btn svg{display: block}

.foot_btn.active {
    opacity: 1;
    visibility: visible;
}


.footer{
	background: url(../img/footer_bg.png);
	background-position: center right; background-size: cover;
	padding: 80px 0
}

.footer .inner{
	display: flex;
flex-direction: column;
align-items: flex-start;
gap: 30px;
}

.foot_link{
	display: flex;
padding-bottom: 30px;
justify-content: space-between;
align-items: center;
align-self: stretch;
border-bottom: 1px solid #555;
}



.foot_link ul{
	display: flex;
align-items: center;
gap: 40px;
}

.foot_link ul li a{
	color: #FFF;
font-size: 18px;
font-weight: 600;
}


.foot_txt li{
	display: flex;
align-items: center;
gap: 12px;
align-self: stretch;
color: #FFF;
font-size: 16px;
font-weight: 400;
}

.foot_txt{
	display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
align-self: stretch;
}
.foot_txt li i{
	height: 11px;
	width: 1px;
	background: #3A3A3A
	
}

.foot_adress p.copy{
	color: #616161;
font-size: 14px;
font-weight: 400;
margin-top: 20px;
}







/*index*/



.main_visual {
	position: relative;
	height: 100vh;
	display: flex;
    justify-content: flex-start;
    align-items: flex-end;
	overflow: hidden;
}

.main_visual .txt {
	position: relative;
	z-index: 3;
	width: 100%;
	text-align: left;
	padding-bottom: 4rem
}

.main_visual .txt h1 {
	color: #FFF;
	font-size: 70px;
	font-weight: 700;
	line-height: 140%;
	word-break: keep-all;
	margin: 0;
}

.main_visual .bg_are {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.main_visual .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0.8s ease;
}

.main_visual .bg.on {
	opacity: 1;
	visibility: visible;
}

.main_visual .bg video,
.main_visual .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 어두운 오버레이 */
.main_visual::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.25);
	z-index: 2;
	pointer-events: none;
}

/* 컨트롤 영역 */
.visual_control {

	z-index: 4;
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 30px;
	justify-content: flex-start;
}

/* 프로세스바 */
.visual_control .progress {
	width: 100px;
	height: 2px;
	background: rgba(255, 255, 255, 0.35);
	overflow: hidden;
}

.visual_control .progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: #1FA2FF;
	transform: scaleX(0);
	transform-origin: left center;
	transition: none;
}

/* 좌우 버튼 */
.visual_control button {
	width: 32px;
	height: 32px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	display: flex;
    justify-content: center
}



.main_buiness {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.main_buiness .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.main_buiness .bg video,
.main_buiness .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.main_buiness .dot_are {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.main_buiness .dot_are .dot {
	position: absolute;
	display: flex;
	gap: 18px;
	align-items: center;
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 10;
}

.main_buiness .dot_are .dot.atv {
	z-index: 999;
}

/* 방향만 유지 */
.main_buiness .dot_are .dot.dot03 {
	flex-direction: column;
}

.main_buiness .dot_are .dot.dot04 {
	flex-direction: column-reverse;
}

.main_buiness .dot_are .dot.dot05 {
	flex-direction: column;
}

.main_buiness .dot_are .dot.dot06 {
	flex-direction: row-reverse;
}

.main_buiness .dot_are .dot.dot08 {
	flex-direction: column;
}


.main_buiness .dot_are .dot i {
	background: #1FA2FF;
	width: 24px;
	height: 24px;
	position: relative;
	border-radius: 50px;
	cursor: pointer;
	flex: 0 0 24px;
	pointer-events: auto;
	z-index: 100;
}

.main_buiness .dot_are .dot i:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 12px;
	transform: translate(-50%, -50%);
}

.main_buiness .dot_are .dot i:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 36px;
	height: 36px;
	background: #1FA2FF;
	border-radius: 50px;
	transform: translate(-50%, -50%) scale(1);
	opacity: .4;
	animation: dotPulse 1.6s infinite ease-out;
}

@keyframes dotPulse {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: .45;
	}
	70% {
		transform: translate(-50%, -50%) scale(1.8);
		opacity: 0;
	}
	100% {
		transform: translate(-50%, -50%) scale(1.8);
		opacity: 0;
	}
}

.main_buiness .dot_content {
	display: flex;
	width: 400px;
	padding: 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	border-radius: 20px;
	background: #FFF;
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
	pointer-events: none;
	position: relative;
	z-index: 50;
}

.main_buiness .dot_are .dot.atv .dot_content {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.main_buiness .dot_content .thum {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
}

.main_buiness .dot_content .thum img {
	display: block;
	width: 100%;
	max-width: 100%;
}

.main_buiness .dot_content .txt p {
	color: #000;
	font-size: 20px;
	font-weight: 700;
	line-height: 140%;
}

.main_buiness .dot_content .txt .h_tag {
	display: flex;
	margin-top: 15px;
	gap: 8px;
	flex-wrap: wrap;
}

.main_buiness .dot_content .txt .h_tag span {
	display: inline-flex;
	padding: 6px 12px;
	justify-content: center;
	align-items: center;
	color: #0B3C6D;
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
	border-radius: 100px;
	border: 1px solid #0B3C6D;
}














.main_section{padding: 160px 0; }
.main_section.bg{
	background: #0B3C6D;
}

.main_section.gray{
	background: #F0F0F0;
}

.main_title{margin-bottom: 60px;}
.main_title.flex{display: flex;
justify-content: space-between;
align-items: center;}
.main_title h2{font-size: 48px; line-height: 150%; word-break: keep-all; font-weight: 700; text-transform: uppercase; color: #111}
.main_title.center{text-align: center}

.main_title p{margin-top: 24px;
color: #666;
font-size: 20px;
font-weight: 400;
line-height: 150%;
}


.main_section.bg .main_title h2{color: #fff}

.main_brand_are{position: relative}
.main_brand_are .box {
	position: sticky;
	top: 0px;
	z-index: 1;

	padding: 40px 60px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.10);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;

	transform: translateY(10px) scale(.98);

	transition:
		background .8s ease,
		transform .8s ease,
		opacity .8s ease,
		box-shadow .8s ease;
}

.main_brand_are .box + .box {
	margin-top: 20px;
}

.main_brand_are .box:nth-child(1) {
	z-index: 1;
}

.main_brand_are .box:nth-child(2) {
	z-index: 2;
}

.main_brand_are .box:nth-child(3) {
	z-index: 3;
}

.main_brand_are .box:nth-child(4) {
	z-index: 4;
}

.main_brand_are .box .txt h2 {
	color: rgba(255, 255, 255, .7);
	font-size: 30px;
	font-weight: 700;
	line-height: 140%;
	transition: color .8s ease;
}

.main_brand_are .box .txt p {
	color: rgba(255, 255, 255, .45);
	font-size: 20px;
	font-weight: 400;
	line-height: 140%;
	margin-top: 20px;
	transition: color .8s ease, opacity .8s ease;
}

.main_brand_are .box .thum {
	border-radius: 20px;
	overflow: hidden;
	flex-shrink: 0;
}

.main_brand_are .box .thum img {
	display: block;
	max-width: 100%;
}

.main_brand_are .box.show {
	background: #fff;
	transform: translateY(0) scale(1);
	opacity: 1;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
}

.main_brand_are .box.show .txt h2 {
	color: #111;
}

.main_brand_are .box.show .txt p {
	color: #666;
	opacity: 1;
}





.main_product_tab{
	display: flex;
padding: 10px;
align-items: center;
background: #fff;
border-radius: 100px;
}

.main_product_tab li{cursor: pointer;
display: flex;
padding: 10px 30px;
justify-content: center;
align-items: center;
gap: 10px;
color: #666;
text-align: center;
font-size: 18px;
font-weight: 500;
line-height: 140%; /* 25.2px */
transition-duration: .5s;
background: #fff;
	border-radius: 100px;
}

.main_product_tab li.on{
background: #0B3C6D;
color: #fff
}




.main_product_are{position: relative;}
.main_product_are .box{display: none;
	gap: 20px;
	opacity: 0;
	transform: translateY(20px);}
	
.main_product_are .box.on {
	display: flex;
	animation: productFade .45s ease forwards;
}

@keyframes productFade {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
	
	
	
.main_product_are .box .thum{
	border-radius: 30px;
	overflow: hidden;
	width: 62%
}

.main_product_are .box .thum img{width: 100%; display: block;
object-fit: cover;
    height: 100%;}


.main_product_are .box .info{
	border-radius: 30px;
border: 1px solid #DDD;
background: #FFF;
text-align: center;
padding:  50px;
flex:1
}
.main_product_are .box .info .product_img{margin-bottom: 18px}
.main_product_are .box .info .product_img img{
	display: block; max-width: 100%;
	margin: 0 auto
}


.main_product_are .box .info h3{
	color: #0B3C6D;
font-size: 24px;
font-weight: 700;
line-height: 140%; /* 33.6px */
}
.main_product_are .box .info p{
	color: #666;
font-size: 18px;
font-weight: 400;
line-height: 150%; /* 27px */
margin-top: 20px;
}
.main_product_are .box .info a{
	border-radius: 100px;
background: #0B3C6D;
margin-top: 40px;
display: flex;
padding: 15px;
justify-content: center;
align-items: center;
gap: 10px;
color: #FFF;
font-size: 18px;
font-weight: 600;
line-height: 140%; /* 25.2px */
}



.main_section.main_global{
	background: url(../img/main/main_global.png);
	background-position: center bottom;
	background-size: cover;
	padding-bottom: 350px
}

.main_section.main_global .inner{display: flex;
justify-content: space-between; gap:60px}
.main_section.main_global .main_global_map img{display: block; max-width: 100%}


.main_section.main_global .main_title h2{color: #fff}




.main_section.main_partner{min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;}

.partner_title{display: flex;
align-items: flex-end;
    justify-content: space-between;
    margin-bottom:60px}

.partner_title .main_title{margin-bottom: 0}

.main_partner_btn{display: flex; gap:12px}
.main_partner_btn span {
	cursor: pointer;
	display: flex;
	width: 60px;
	height: 60px;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
	transition: background .3s ease, border-color .3s ease;
}

.main_partner_btn span:hover {
	background: #0B3C6D;
	border-color: #0B3C6D;
}

.main_partner_btn span svg path {
	transition: fill .3s ease;
}

.main_partner_btn span:hover svg path {
	fill: #fff;
}

.main_partner_btn span svg {
	display: block;
	max-width: 100%;
}

.main_partner_slide {
	margin: 0 -10px;
	overflow: hidden;
}

.main_partner_slide .slick-list {
	overflow: visible;
	padding: 0 7rem
}

.main_partner_slide .slick-slide {
	padding: 0 10px;
	box-sizing: border-box;
}

.main_partner_slide .box {
	border-radius: 14px;
	border: 1px solid #ddd;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	box-sizing: border-box;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
	aspect-ratio:1
}



.main_partner_slide .box img {
	display: block;
	max-width: 100%;
	max-height: 70px;
	object-fit: contain;
}




.main_partner_slide_are{overflow: hidden}




.main_contact {
	position: relative;
	overflow: hidden;
	padding: 160px 0 120px;
	background: linear-gradient(120deg, #0B3C6D 0%, #0B3C6D 48%, #1FA2FF 100%);
}

.main_contact .inner {
	position: relative;
	z-index: 2;
}

.main_contact_wrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 80px;
}

.main_contact_left {
	width: 42%;
}

.main_contact .main_title {
	margin-bottom: 0;
}

.main_contact .main_title h2 {
	color: #fff;
	font-size: 56px;
	font-weight: 800;
	line-height: 140%;
	letter-spacing: -2px;
	word-break: keep-all;
}

.contact_type_btn {
	display: flex;
	gap: 12px;
	margin-top: 80px;
}

.contact_type_btn button {
	min-width: 130px;
	height: 48px;
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, .9);
	background: transparent;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	transition: all .3s ease;
	padding: 0 15px
}

.contact_type_btn button.on {
	background: #fff;
	color: #111;
	border-color: #fff;
}

.main_contact_form {
	width: 58%;
	max-width: 780px;
	padding: 50px;
	border-radius: 30px;
background: rgba(255, 255, 255, 0.10);
backdrop-filter: blur(25px);
	box-sizing: border-box;
}

.form_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
	row-gap: 30px;
}

.form_item {
	display: flex;
	flex-direction: column;
}

.form_item.w100 {
	grid-column: 1 / -1;
}

.form_item label {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 140%;
}

.form_item label span,
.main_agree span {
	color: #1FA2FF;
}

.form_item input,
.form_item textarea {
	width: 100%;
	height: 60px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	background: transparent;
	color: #fff;
	font-size: 18px;
	outline: none;
	box-sizing: border-box;
	padding:0 20px
}

.form_item textarea {
	height: 130px;
	padding: 20px
	resize: none;
}

.form_item input::placeholder,
.form_item textarea::placeholder {
	color: rgba(255, 255, 255, .4);
}

.main_agree {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	color: #fff;
	font-size: 17px;
	flex-wrap: wrap;
}

.main_agree input {
	width: 22px;
	height: 22px;
	appearance: none;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
	position: relative;
}

.main_agree input:checked {
	background: #1FA2FF;
	border-color: #1FA2FF;
}

.main_agree input:checked::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 2px;
	width: 6px;
	height: 12px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.main_agree label {
	cursor: pointer;
}

.main_agree a {
	color: #fff;
	text-decoration: underline;
	opacity: .85;
	font-size: 16px;
}

.main_contact_submit {
	width: 100%;
	height: 60px;
	margin-top: 56px;
	border: 0;
	border-radius: 100px;
	background: #1FA2FF;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	cursor: pointer;
	transition: all .7s ease;
	padding: 0 40px;
}

.main_contact_submit:hover {
	background: #fff;
	color: #1FA2FF;
}

/* 하단 흐르는 텍스트 */
.contact_bg_text {
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	pointer-events: none;
	z-index: 1;
}

.contact_bg_text .track {
	display: flex;
	width: max-content;
	animation: contactTextMarquee 50s linear infinite;
}

.contact_bg_text span {
	display: inline-block;
	padding-right: 60px;
	color: rgba(255, 255, 255, .15);
	font-size: 180px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

@keyframes contactTextMarquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* loading / popup */
/* =========================================================
	contact loading / success popup common
========================================================= */
#main_loading,
#sub_loading,
#main_success_popup,
#sub_success_popup {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
}

/* loading */
#main_loading,
#sub_loading {
	background: rgba(255, 255, 255, .8);
	flex-direction: column;
}

#main_loading p,
#sub_loading p {
	margin-top: 12px;
	color: #0B3C6D;
	font-size: 18px;
	font-weight: 700;
}

/* success popup */
#main_success_popup,
#sub_success_popup {
	background: rgba(0, 0, 0, .55);
}

#main_success_popup .popup_content,
#sub_success_popup .popup_content,
.popup_content {
	width: 360px;
	padding: 40px 30px;
	border-radius: 18px;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
}

#main_success_popup .popup_content h2,
#sub_success_popup .popup_content h2,
.popup_content h2 {
	margin-bottom: 15px;
	font-size: 26px;
	color: #111;
}

#main_success_popup .popup_content p,
#sub_success_popup .popup_content p,
.popup_content p {
	margin-top: 0;
	margin-bottom: 25px;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}

#main_close_popup,
#sub_close_popup,
#main_success_popup .popup_content button,
#sub_success_popup .popup_content button {
	width: 120px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #00447c;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

/* spinner */
.spinner {
	width: 60px;
	height: 60px;
	border: 8px solid #eee;
	border-top-color: #0B3C6D;
	border-radius: 50%;
	animation: contactSpin 1.1s linear infinite;
}

@keyframes contactSpin {
	100% {
		transform: rotate(360deg);
	}
}

