@charset "UTF-8";

*{
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
*:before,
*:after{
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
html{
	scroll-behavior: smooth;
}
body{
	min-width: 360px;
	font-family: 'Pretendard';
	line-height: 1.4;
	font-weight: 400;
	color: #000;
	position: relative;
}
	/* axicon && fontawesome */
	.axi, [class^="axi-"], [class*=" axi-"]{font-family: "Pretendard", sans-serif, "axicon";}
	.axi:before, [class^="axi-"]:before, [class*=" axi-"]:before{font-family: "axicon";}
	.fa, [class^="fa-"], [class*=" fa-"]{font-family: "Pretendard", sans-serif, "Font Awesome 5 Free";}
	.fa, .fas{font-weight: inherit;}
	.fa:before, .fas:before{font-weight: 900;}

.login-page{min-width: 1280px;}
.clearfix::after{
	display: block;
	clear: both;
	content: "";
}
/********** skip_nav **********/
.skip_nav{position:absolute;top:-40px;z-index:1000;display:block;overflohidden;width:100%;height:0;background:#000;text-align:center;}
.skip_nav:focus{overflow:auto;top:0px;height:auto;padding:5px 0;color:#fff;}


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #000;
}

.icon{
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}



/* header */
.header{
	width: 100%;
	height: auto;
	position: absolute;
	border-bottom: 1px solid #707070;
	z-index: 6;
}
.header.sub-theme{
	position: fixed;
	border-bottom: solid 1px transparent;
	background: #fff;
	box-shadow: 0px 5px 12px #00000012;
}
.header .inner{
	width: 100%;
	max-width: 1200px;
	height: 144px;
	padding: 0px 3px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header.sub-theme .inner{
	height: 91px;
}
.header .inner .left{
	display: flex;
	align-items: flex-end;
	gap: 22px;
}
.header .inner .logo{
	width: 33px;
	background: url(../image/logo-2.png) no-repeat center;
	background-size: contain;
	flex-shrink: 0;
	aspect-ratio: 33 / 74;
}
.header.sub-theme .inner .logo{
	width: 33px;
	background: url("../image/logo-sub-2.png") no-repeat center;
	background-size: contain;
}
.header .inner .logo_text{padding-bottom: 4px;}
.header.sub-theme .inner .logo_text{padding-bottom: 2px;}
.header .inner .logo_text a{
    display: block;
    width: 71px;
    background: url(../image/logo-text-3.png) no-repeat;
    background-size: contain;
    aspect-ratio: 71 / 50;
}
.header.sub-theme .inner .logo_text a{
	width: 71px;
    background: url(../image/logo-text-sub-3.png) no-repeat center;
    background-size: contain;
}
.header .inner .right{
	width: 770px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header .inner .right.mb.active{
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.header .inner .right.mb{
	display: none;
	flex-direction: column-reverse;
    justify-content: flex-end;
	padding: 40px;
	position: fixed;
	width: 100%;
	height: calc(100% - 103px);
	left: 0px;
	top: 103px;
	background: url(../image/m-menu-bg.png) no-repeat bottom, linear-gradient(270deg, #020A18 0%, #001E43 100%);
	background-size: contain;
	overflow-y: scroll;
	gap: 15px;
}
.header .inner .right.mb.onlyMain{
	position: absolute;
	height: calc(100vh - 103px);
}
.header.mb:has(.opnNavi.open){
	background: #FFF !important;
	z-index: 7;
}
.header.mb:has(.opnNavi.open) .inner{
	height: 103px;
	padding: 0px 20px;
}
.header.mb:has(.opnNavi.open) .inner .logo{
	background: url(../image/logo-sub-2.png) no-repeat center !important;
	background-size: contain !important;
}
.header.mb:has(.opnNavi.open) .inner .logo_text a{
	background: url(../image/logo-text-sub-3.png) no-repeat center;
    background-size: contain;
}
.pc .gnb{
	height: 100%;
	display: flex;
    align-items: center;
}
.pc .gnb .depth1{
	display: flex;
	height: 100%;
}
.pc .gnb .depth1 > li{
	align-content: center;
}
.pc .gnb .depth1 > li.active > a,
.pc .gnb .depth1 > li.on > a{
	border-bottom: solid 3px #fff;
}
.pc.sub-theme .gnb .depth1 > li.active > a,
.pc.sub-theme .gnb .depth1 > li.on > a{
	border-bottom: solid 3px #302784;
}
.pc .gnb .depth1 > li > a{
	font-weight: 700;
	font-size: 20px;
	letter-spacing: -0.5px;
	color: #fff;
	padding: 14px 35px;
	border-bottom: solid 3px transparent;
}
.pc.sub-theme .gnb .depth1 > li > a{
	color: #000;
}
.pc .gnb .depth1 > li.active .depth2_wrap{
	display: flex;
	align-items: center;
}
.pc .depth2_wrap{
	position: absolute;
	background: #000615;
	display: none;
	width: 100%;
	top: 145px;
	box-shadow: 0px 10px 15px #0000001F;
	left: 0px;
}
.pc.sub-theme .depth2_wrap{
	top: 91px;
}
.pc.sub-theme .depth2_wrap{
	background: #F9FAFE;
	border-top: solid 1px #CCCCCD;
}
.pc .depth2_wrap .depth2{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 15px;
}
.pc .depth2_wrap .depth2_tit{
	width: 598px;
	height: 100%;
	min-height: 190px;
	background: #000615 url(../image/header-depth2-bg.png) no-repeat center;
	display: flex;
	align-items: center;
	padding: 10px 95px;
}
.pc.sub-theme .depth2_wrap .depth2_tit{
	display: none;
}
.pc .depth2_wrap .depth2_tit .tit{
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0px;
	color: #FFFFFF;
}
.pc .depth2_wrap .depth2_list{
	width: calc(100% - 598px);
	min-height: 190px;
	padding: 40px 50px;
	background: #F9FAFE;
}
.pc.sub-theme .depth2_wrap .depth2_list{
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
    padding-left: 3px;
    padding-right: 3px;
}
.pc .depth2 li{
	height: 46px;
	background: #FFFFFF;
	border: 1px solid #DFE0F3;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pc .depth2 li.active{
	border: 1px solid #000;
}

.pc .depth2 li a{
	width: 100%;
	height: 100%;
	font-size: 18px;
	line-height: 21px;
	font-weight: 600;
	letter-spacing: -0.45px;
	color: #2D2D2D;
	padding: 6px 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span{
    background:transparent;
    border:2px solid #fff;
    height: 17px;
    width: 17px;
	margin: -8px 0 0 -8px;
}
.opnNavi{
	width: 28px;
	height: 20px;
	flex-shrink: 0;
	position: relative;
	background: transparent;
}
.opnNavi .bar,
.opnNavi .bar:before,
.opnNavi .bar:after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: #FFF;
	position: absolute;
	left: 50%;
	margin-left: -50%;
	top: 10px;
	transition-duration: .3s;
}
.opnNavi .bar:before{
	top: -10px;
}
.opnNavi.open .bar{
	background: transparent !important;
}
.opnNavi.open .bar:before{
	transform: rotate(45deg);
	top: 0px;
	background: #202B69 !important;
}
.opnNavi.open .bar:after{
	transform: rotate(-45deg);
	top: 0;
	background: #202B69;
}


.pc .home.sub-theme:before,
.opnNavi .bar.sub-theme,
.opnNavi .bar.sub-theme:before,
.opnNavi .bar.sub-theme:after{
	background: #000;
}


.scroll_css::-webkit-scrollbar {
	margin: 15px 0px;
	width: 4px;
	border-radius: 4px;
	background: #F1F1F1;
}
.scroll_css::-webkit-scrollbar-thumb {
	background: #AFAFAF;
	border-radius: 4px;
}
.scroll_css::-webkit-scrollbar-track {
	background: #F1F1F1;
	border-radius: 4px;
}

.header .home{
	display:flex;
}
.pc .home{position: relative; gap: 20px;}
.pc .home:has(a + a)::before{
	content: "";
    position: absolute;
    left: 50%;
    width: 1px;
    background: #9F9F9F;
    height: 11px;
    top: 50%;
    transform: translateY(-50%);
}
.mb .home{position: relative; gap: 40px;}
.pc .home a{display: flex; align-items: center;}
.pc .home p{
	color: #FFF;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.33px;
}
.pc .home.sub-theme p{
	color: #000;
}
.home .icon{
	width: 18px;
	height: 15px;
	background-image: url(../image/icon-header-home.png);
	background-size: contain;
	margin-right: 6px;
}
.home.sub-theme .icon{
	background-image: url(../image/icon-header-home-sub-theme.png);
}
.mb .home{
	margin-left: auto;
}
.mb .home .icon{
	width: 22px;
	height: 19px;
	margin-right: 8px;
    background-image: url(../image/icon-header-home-m.png) !important;
}
.mb .home a{
	display: flex;
    align-items: center;
}
.mb .home a:nth-child(2){display: none;}
.mb .home p{
	color: #fff !important;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.7px;
}

.mb .gnb{
	width: 100%;
	order: 1;
}
.mb .gnb .depth1{
	display: flex;
    flex-direction: column;
}
.mb .gnb .depth1 > li{
	margin-bottom: 25px;
}
.mb .gnb .depth1 > li:last-child{
	margin-bottom: 150px;
}
.mb .gnb .depth1 > li > a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 16px;
	font-size: 40px;
	font-weight: 800;
	background: #FFFFFF40;
	color: #FFFFFF;
	border-radius: 10px;
}
.mb .gnb .depth1 > li:hover > a{
	color: #202B69;
	background: #fff;
}
.mb .gnb .depth1 > li.active > a{
	color: #202B69;
	background: #fff;
}

.mb .gnb .depth1 > li .depth2_wrap{
	display: none;
}
.mb .gnb .depth1 > li.active .depth2_wrap{
	display: block;
}
.mb .depth2_wrap .depth2_tit{display: none;}

.mb .depth2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 15px;
}
.mb .depth2_wrap .depth2_list{
	width: 100%;
	margin-top: 30px;
}
.mb .depth2 li{
	width: calc(50% - 10px);
	min-height: 60px;
	border: 2px solid #ffffff26;
	border-radius: 3px;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #00000026;
}
.mb .depth2 li a{
	letter-spacing: -0.24px;
	color: #FFFFFF;
	padding: 6px 25px;
	font-size: 24px;
	font-weight: 700;
	border-radius: 5px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mb .depth2 li:hover{
	border: 1px solid #fff;
}




/* footer */
footer{
	width: 100%;
	height: 180px;
	background: #37383D;
	border-top: solid 1px #CBCCCC;
}
footer .inner{
	width: 100%;
	max-width: 1200px;
	padding: 0px 3px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	position: relative;
}
footer .infoF,
footer .infoS{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .infoF{
	gap: 34px;
	margin-top: 42px;
}
footer .infoF img{
	width: 33px;
	height: fit-content;
	object-fit: contain;
}
footer .infoF address{
	font-size: 16px;
	letter-spacing: -0.4px;
	color: #FFFFFF;
}
footer .infoS{
	gap: 30px;
	margin-top: 10px;
	align-items: center;
}
footer .infoS .policies{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
footer .infoS .policies li{
	word-break: keep-all;
	padding: 0px 20px;
	position:relative;
}
footer .infoS .policies li a{
	display: block;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.45px;
	color: #FFFFFF;
}
footer .infoS .policies li:not(:last-child)::after{
	position:absolute;
	content: "";
	display: block;
	width: 1px;
	height: 14px;
	background: #A4B5BE;
	top: 7px;
	right: 0px;
}
footer .infoS .familySiteWrap{
	position:relative;
}

footer .infoS .familySite{
	width: 241px;
	height: 45px;
	background: #FFF url(../image/icon_link_to.svg) no-repeat right 12px top 50%;
	appearance: none;
	color: #313131;
	font-size: 16px;
	letter-spacing: -0.4px;
	border: 1px solid #D3D5D6;
	padding: 0px 52px 0px 20px;
	position:relative;
}
footer .infoS .familySite option{
	color: #313131;
	letter-spacing: -0.4px;
}
footer .infoS .familySiteWrap:after{
    content: '';
    position: absolute;
    top: 50%;
    right: 42px;
    transform: translateY(-50%);
    width: 1px;
    height: calc(100% - 21px);
    background: #D1D1D1;
}

/* top 바로가기 버튼 */
.topBtn{
	width: 75px;
	height: 75px;
	border-radius: 50%;
	background-color: #FFFFFF;
	box-shadow: 0px 3px 12px #001F4729;
	z-index: 4;
	padding: 22.5px;
	position: fixed;
	bottom: 40px;
    right: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
    transition-duration:.2s;
}

.topBtn.show{
	opacity: 1;
	visibility: visible;
}



@media screen and (max-width: 1440px){
	.pc .depth2_wrap .depth2_tit{
		width: 41.5277%;
	}
	.pc .depth2_wrap .depth2_list{
		width:58.4723%
	}
}
@media screen and (max-width: 1200px){
	.header .inner{height: 99px;}
	.header .inner .logo{
		width: 24px;
	}
	.header .inner .left{gap: 16px;}
	
	.header .inner .logo_text a{width: 64px;}
	.header .inner .logo_text,
	.header.sub-theme .inner .logo_text{padding-bottom: 0;}
	/* .header .inner .right{width: 66.380%;} */
	.pc .depth2_wrap{top: 100px;}

	.header .inner{padding: 0px 20px;}
	.pc.sub-theme .depth2_wrap .depth2_list{
		padding-left: 50px;
        padding-right: 50px;
    }
	footer .infoF,
	footer .infoS{
		padding: 0px 20px;
	}
}
@media screen and (max-width: 1080px){
	footer{height: 210px;}
	footer .inner{
		height: 100%;
		flex-direction: column-reverse;
		justify-content: flex-end;
	}
	footer .infoF{
		justify-content: flex-start;
		margin: 0px;
		height: 100%;
	}
	footer .infoS{
		justify-content: flex-end;
		padding: 19px 20px;
		margin-top: 0px;
		border-bottom: solid 1px #CECECE;
	}
	footer .infoF address{
		font-size: 14px;
		text-align: unset;
	}

}
@media screen and (max-width: 768px){

}
@media screen and (max-width: 680px){
	.mb .home{
		gap: 24px;
	}
	.mb .gnb .depth1 > li > a{
		font-size: 30px;`
	}
	.header .inner .right.mb{padding: 30px;}
	.mb .gnb .depth1 > li{margin-bottom: 18px;}
	.mb .depth2_wrap .depth2_list{margin-top: 22px;}
	.mb .depth2 li{min-height: 45px;}
	.mb .depth2 li a{font-size: 20px;padding: 6px 16px;}

	.topBtn{
	    width: 50px;
	    height: 50px;
        padding: 15px;
        right: 16px;
	}
	.topBtn img{
		width: 100%;
	}

}
@media screen and (max-width: 480px){
	.header .inner .logo,
	.header.sub-theme .inner .logo{
		width: 17px;
	}
	.header .inner .logo_text a,
	.header.sub-theme .inner .logo_text a{
        width: 46px;
    }
	.header .inner .right.mb{
		padding: 20px 16px;
	}
	.mb .home p{
		font-size: 15px;
	}
	.mb .gnb .depth1 > li > a{
		font-size: 24px;
		padding: 13px 16px;
	}
	.mb .gnb .depth1 > li{margin-bottom: 10px;}
	.mb .depth2_wrap .depth2_list{margin-top: 15px;}
	.mb .depth2{row-gap: 8px;}
	.mb .depth2 li{min-height: 33px;width: calc(50% - 5px);}
	.mb .depth2 li a{font-size: 15px;padding: 6px 10px;}

	.header .inner .left{gap: 10px;}

	.header .inner{height: 73px;}
	.header.sub-theme .inner{height: 73px;}
	.header.mb:has(.opnNavi.open) .inner{height: 52px;}

	.header .inner .right.mb{height: calc(100% - 52px);top: 52px;}
	.header .inner .right.mb.onlyMain{height: calc(100vh - 52px);}


	.header.mb:has(.opnNavi.open) .inner .logo{width: 14px;}
	.header.mb:has(.opnNavi.open) .inner .logo_text a{width: 40px;}

	footer{height: 160px;}
	footer .infoS{padding: 15px 20px;gap: 20px;}
	footer .infoS .policies li{padding: 0px;}
	footer .infoS .policies li a{font-size: 14px;}
	footer .infoS .familySite{width: 180px;height: 35px;font-size: 13px;padding: 0px 52px 0px 10px;}
	footer .infoF{justify-content: flex-start;}
	footer .infoF img{display: none;}
}
@media screen and (max-width: 360px){

}