@charset "utf-8";


body {
	background-color: #fff;
}

#wrap {
	overflow: hidden;
	width: 100%;
	min-width: 320px;
	position: relative;
}

.area {
	max-width: 1400px;
	margin: 0px auto;
	position: relative;
	box-sizing: border-box;
}

.area-box {
	max-width: 1600px;
	margin: 0px auto;
}

.area-big {
	max-width: 1400px;
	margin: 0 auto
}


/* ****************** HEADER ********************** */
#header {
	position: absolute;
	height: 105px;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s
}

.fullpage-wrapper #header {
	position: fixed;
}

#headerInnerWrap {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	-webkit-transition: background-color 0.3s;
	transition: background-color 0.3s
}

#headerInner {
	position: relative;
	height: 100%;
	margin: 0px auto;
	padding: 0 160px;
	/*-webkit-transition:padding 0.3s;
	transition:padding 0.3s*/
}

#header .logo {
	position: relative;
	z-index: 100;
	float: left;
	padding: 24.5px 0;
}

#header .logo a {
	display: block;
}

#header .logo img {
	vertical-align: top;
}

#header .logo img.off-logo {
	display: block;
}

#header .logo img.on-logo {
	display: none
}

#header.open #headerInnerWrap {
	background-color: #fff
}

#header.open .logo img.off-logo {
	display: none;
}

#header.open .logo img.on-logo {
	display: block
}

/* -------- Header :: UTIL BOX -------- */
.header-util-box {
	position: absolute;
	top: 50%;
	right: 150px;
	margin-top: -16px;
	z-index: 100;
}

/* Header :: 언어선택 */
.header-lang {
	position: relative;
	float: left;
	z-index: 100;
	top: 8px
}

.header-lang .lang-list {}

.header-lang .lang-list li {
	position: relative;
	float: left;
	padding: 0 15px
}

.header-lang .lang-list li:after {
	position: absolute;
	content: "";
	width: 1px;
	height: 10px;
	background-color: rgba(255, 255, 255, 0.4);
	right: 0;
	top: 5px
}

.header-lang .lang-list li:last-child:after {
	display: none
}

.header-lang .lang-list li a {
	font-weight: 400;
	font-size: 12px;
	color: #fff;
	opacity: 0.4;
	letter-spacing: 0;
	vertical-align: middle;
}

.header-lang .lang-list li.selected a {
	opacity: 1
}

#header.open .header-lang .lang-list li a {
	color: #484848
}

#header.open .header-lang .lang-list li:after {
	background-color: #484848;
}

/* YouTube 아이콘과 텍스트에 마진을 추가 */
.header-lang .lang-list li i.fa-youtube {
	margin-right: 4px;
	/* 아이콘과 텍스트 사이에 4px의 마진을 추가 */
	vertical-align: middle;
	/* 아이콘을 텍스트와 수직으로 정렬 */
}

/* Header :: 사이트맵버튼 */
.sitemap-line-btn {
	float: left;
	margin-left: 30px;
	box-sizing: border-box;
	padding-top: 6px;
}

.sitemap-line-btn .line {
	display: block;
	width: 31px;
	height: 2px;
	background-color: #fff;
	border-radius: 5px;
	margin-bottom: 10px;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.sitemap-line-btn .line:last-child {
	margin-bottom: 0
}

/* active */
.sitemap-open-btn.active {
	position: relative;
	z-index: 100000;
}

.sitemap-open-btn.active .line:nth-child(2),
.sitemap-open-btn.active .line:nth-child(4) {
	opacity: 0;
}

.sitemap-open-btn.active .line:nth-child(1) {
	-webkit-transform: translateY(5px) rotate(45deg);
	transform: translateY(5px) rotate(45deg);
}

.sitemap-open-btn.active .line:nth-child(3) {
	-webkit-transform: translateY(-5px) rotate(-45deg);
	transform: translateY(-5px) rotate(-45deg);
}

#header.open .sitemap-line-btn .line {
	background-color: #454545;
}


/* -------- Header :: GNB(PC) -------- */
.gnb-overlay-bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9997;
}

/* gnb overlay BG */
#gnb {
	position: absolute;
	text-align: center;
	top: 0;
	left: 0px;
	width: 100%;
	z-index: 99;
}

#gnb>ul {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

#gnb>ul>li {
	position: relative;
	float: left;
	word-break: keep-all;
}

#gnb>ul>li>a {
	position: relative;
	z-index: 100;
	display: block;
	height: 105px;
	line-height: 105px;
	padding: 0 25px;
	text-align: center;
	color: #fff;
	font-size: 1.3em;
	letter-spacing: 0;
	font-weight: 600;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}

#gnb>ul>li.gnb3>a {}

#gnb>ul>li.gnb5>a {}

.menu5 {
	padding-left: 40px !important;
}

/* GNB :: 2차 전체메뉴 */
#gnbBg {
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 105px;
	width: 100%;
	height: 0;
	background: #f0f0f0;
	z-index: 98;
	-webkit-transition: height 0.3s ease-in-out;
	transition: height 0.3s ease-in-out
}

#gnbBg:after {
	position: absolute;
	top: 0;
	width: 100%;
	left: 0;
	height: 1px;
	background-color: #ececec;
	content: "";
}

#gnb.total-menu>ul>li .gnb-2dep {
	position: absolute;
	top: 105px;
	left: 0px;
	z-index: 99;
	width: 100%;
	text-align: center;
	opacity: 0;
	filter: Alpha(opacity=0);
	height: 0;
	-webkit-transition: all 0.3s 0s;
	transition: all 0.3s 0s;
	visibility: hidden;
}

#gnb.total-menu>ul>li .gnb-2dep:before {
	content: "";
	position: absolute;
	top: 0px;
	width: 0;
	left: 50%;
	height: 3px;
	background-color: #0072bc;
	transform: translateX(-50%);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
	z-index: 10;
}

#gnb.total-menu>ul>li:hover .gnb-2dep:before {
	width: calc(100% - 80px);
}

#gnb.total-menu>ul>li .gnb-2dep ul {
	padding: 32px 0px 0;
}

#gnb.total-menu>ul>li .gnb-2dep ul li {
	position: relative;
}

#gnb.total-menu>ul>li .gnb-2dep ul li a {
	display: block;
	padding: 11px 5px;
	color: #484848;
	font-size: 0.95em;
	letter-spacing: -0.5px;
	font-weight: 400;
	line-height: 1.4;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	-ms-transition: all 0.2s;
	transition: all 0.2s;
}

#gnb.total-menu>ul>li .gnb-2dep ul li a em {
	display: inline-block;
}

#gnb.total-menu>ul>li .gnb-2dep ul li a:hover {
	color: #0072bc;
}

/* GNB :: 2차메뉴 Over (높이변경) */
#gnb.open #gnbBg {
	height: 470px
}

#gnb.open>ul>li>a {
	color: #484848
}

#gnb.open>ul>li>a:hover,
#gnb.open>ul>li.on>a {
	color: #0072bc;
}

#gnb.open>ul>li .gnb-2dep {
	height: 250px;
	opacity: 1.0;
	filter: Alpha(opacity=100);
	visibility: visible;
	-webkit-transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
	transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s;
}


/* 메인 헤더 고정 */
#header.top-fixed #headerInnerWrap {
	background-color: #fff;
	border-bottom: 1px solid #ddd
}

#header.top-fixed .header-lang .lang-list li a {
	color: #484848
}

#header.top-fixed .header-lang .lang-list li:after {
	background-color: #484848;
}

#header.top-fixed .sitemap-line-btn .line,
#header.top-fixed .nav-open-btn .line {
	background-color: #454545;
}

#header.top-fixed #gnb>ul>li>a {
	color: #484848
}

#header.top-fixed .logo img.off-logo {
	display: none;
}

#header.top-fixed .logo img.on-logo {
	display: block
}


/* -------- Header :: GNB(Mobile) -------- */
.nav-open-btn {
	display: none;
}

#gnbM {
	display: none
}

/* ****************** FOOTER ********************** */
/* -------- FOOTER :: 레이아웃 -------- */
#footer {
	background-color: #fff;
	border-top: 1px solid #ebebeb;
	padding: 50px 0
}

#footerInner {
	position: relative;
}

.footer-left-con {
	float: left;
	width: calc(100% - 600px)
}

.footer-right-con {
	float: right;
	text-align: right;
	width: 600px
}

/* Footer :: TOP버튼 */
.to-top-btn {
	position: fixed;
	bottom: -100px;
	right: 28px;
	display: block;
	width: 68px;
	height: 68px;
	background-color: rgba(0, 114, 188, 0.9);
	text-align: center;
	color: #fff;
	z-index: 9999;
	box-sizing: border-box;
	opacity: 0;
	filter: Alpha(opacity=0);
	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-o-transition: all 0.6s;
	-ms-transition: all 0.6s;
	transition: all 0.6s
}

.to-top-btn.bottom-fixed {
	bottom: 28px;
	opacity: 1.0;
	filter: Alpha(opacity=100);
}

.to-top-btn .top-inner {
	padding-top: 13px;
	display: inline-block;
	transition: all 0.3s
}

.to-top-btn i {
	display: inline-block;
	font-size: 22px;
}

.to-top-btn em {
	display: block;
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0;
	color: #fff;
	margin-top: 5px
}

.to-top-btn:hover .top-inner {
	transform: translateY(-3px)
}

.to-top-btn.main-top {
	display: block
}

.to-top-btn.sub-top {
	display: none
}

#footer.sub .to-top-btn.main-top {
	display: none
}

#footer.sub .to-top-btn.sub-top {
	display: block
}

/* Footer :: 푸터메뉴 */
.foot-menu {
	margin-bottom: 20px
}

.foot-menu li {
	display: inline-block;
	position: relative;
	padding-left: 30px;
}

.foot-menu li:first-child {
	padding-left: 0
}

.foot-menu li:first-child:before {
	display: none;
}

.foot-menu li:before {
	position: absolute;
	top: 50%;
	left: 13px;
	width: 1px;
	height: 10px;
	margin-top: -5px;
	background-color: #e8e8e8;
	content: "";
}

.foot-menu li a {
	color: #4e4e4e;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: -0.5px;
}

.foot-menu li a b {
	color: #0072bc;
	font-weight: 600;
}


/* Footer :: 정보 */
.footer-address {
	margin-bottom: 20px;
	letter-spacing: -0.25px;
}

.footer-address .footer-address-txt {
	color: #4e4e4e;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 -8px 3px;
}

.footer-address p {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin: 0 8px;
}

.footer-address p:before {
	position: absolute;
	top: 50%;
	left: -8px;
	width: 1px;
	height: 10px;
	margin-top: -5px;
	background-color: #e8e8e8;
	content: "";
}

.footer-address p:first-child:before {
	display: none;
}

/* Footer :: Copyright */
.footer-copyright {
	line-height: 45px;
	font-size: 14px;
	letter-spacing: 0;
	color: #b8b8b8
}

/* Footer :: 패밀리사이트 */
.footer-drop-menu {
	display: inline-block;
	width: 550px
}

.family-site-box {
	margin-left: 20px;
	float: left;
	position: relative;
	width: 160px;
	text-align: left;
	letter-spacing: -0.25px;
}

.family-site-box .family-site-open-btn {
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
	padding: 0 15px;
	text-align: left;
	font-size: 12px;
	border-bottom: 1px solid #4e4e4e;
	color: #6c6c6c;
	box-sizing: border-box;
	letter-spacing: 0
}

.family-site-box .family-site-open-btn:after {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 23px;
	font-family: 'xeicon';
	content: "\e936";
}

.family-site-box.open .family-site-open-btn:after {
	content: "\e930";
}

.family-site-list {
	position: absolute;
	bottom: 100%;
	left: 0px;
	width: 100%;
	padding: 10px 0;
	background-color: #fff;
	border: 1px solid #ddd;
	border-bottom: 0;
	z-index: 11;
	display: none;
	box-sizing: border-box;
}

.family-site-list a {
	display: block;
	padding: 10px;
	color: #333;
	font-size: 12px;
}

.family-site-list a:hover {
	color: #000;
	text-decoration: underline;
}

.site-map-con {
	margin-left: 20px
}

.family-site-open-btn {
	color: #222; /* 기본: 거의 검정 */
	transition: color 0.2s ease; /* 색상 변화 부드럽게 */
}

.family-site-open-btn:hover {
	color: #888; /* hover 시 중간 회색 계열 */
}




/* ****************** SUB LAYOUT ********************** */
/* ****************** SUB LAYOUT ********************** */
/*  SUB LAYOUT :: 비주얼 */
#visual {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 360px;
}

#visual .visual-img-con {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-size: cover !important;
	-webkit-transition: transform 2s ease-in-out, opacity 2s ease-in-out;
	-moz-transition: transform 2s ease-in-out, opacity 2s ease-in-out;
	-ms-transition: transform 2s ease-in-out, opacity 2s ease-in-out;
	-o-transition: transform 2s ease-in-out, opacity 2s ease-in-out;
	transition: transform 2s ease-in-out, opacity 2s ease-in-out;
	transform: scale(1.2) rotate(0.003deg);
	opacity: 0.4;
	/* -ms-transform: scale(1.1,1.1);
    -o-transform: scale(1.1,1.1); 
    -moz-transform: scale(1.1,1.1); 
    -webkit-transform: scale(1.1,1.1); 
    transform: scale(1.1,1.1);
    	-webkit-transition:transform 5000ms  ease-in-out ;
    	-moz-transition:transform 5000ms ease-in-out ;
    	-o-transition:transform 5000ms ease-in-out ;
    	-ms-transition:transform 5000ms ease-in-out ;
    transition:transform 5000ms ease-in-out ;	 */
}

#visual .visual-txt-con {
	position: relative;
	z-index: 1;
	text-align: center;
	display: table;
	width: 100%;
	height: 100%;
	letter-spacing: -0.5px;
	color: #fff;
}

#visual .visual-txt-container {
	position: relative;
	width: 100%;
	padding-top: 100px;
}

#visual .visual-tit,
#visual .location,
.sub-page-controls-btn {
	opacity: 0;
	filter: Alpha(opacity=0);
	-ms-transform: translateY(-30px);
	-o-transform: translateY(-30px);
	-moz-transform: translateY(-30px);
	-webkit-transform: translateY(-30px);
	transform: translateY(-30px);
	-webkit-transition: opacity 1.0s, transform 1.0s;
	-moz-transition: opacity 1.0s, transform 1.0s;
	-o-transition: opacity 1.0s, transform 1.0s;
	-ms-transition: opacity 1.0s, transform 1.0s;
	transition: opacity 1.0s, transform 1.0s;
}

#visual .visual-tit {
	font-weight: 500;
	font-size: 3.0em;
	letter-spacing: -0.65px
}

/* SUB LAYOUT :: 상단효과 active */
#visual.active .visual-img-con {
	/* -ms-transform: scale(1.0,1.0) rotate(0.002deg);
    -o-transform: scale(1.0,1.0) rotate(0.002deg);
    -moz-transform: scale(1.0,1.0) rotate(0.002deg);
    -webkit-transform: scale(1.0,1.0) rotate(0.002deg);
    transform: scale(1.0,1.0) rotate(0.002deg); */
	-ms-transform: scale(1) rotate(0.003deg);
	-o-transform: scale(1) rotate(0.003deg);
	-moz-transform: scale(1) rotate(0.003deg);
	-webkit-transform: scale(1) rotate(0.003deg);
	transform: scale(1) rotate(0.003deg);
	opacity: 1;
}

#visual.active .visual-tit,
#visual.active .location,
#visual.active .sub-page-controls-btn {
	opacity: 1.0;
	filter: Alpha(opacity=100);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}


/* SUB LAYOUT :: 위치정보(location) */
.location {
	overflow: hidden;
	margin-bottom: 30px;
}

.location li {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: -0.5px;
}

.location li a {
	color: inherit;
}

.location li i {
	font-size: 18px;
	margin-top: -2px;
}

.location li:before {
	display: inline-block;
	content: ">";
	position: relative;
	top: -1px;
	vertical-align: middle;
	margin: 0px 20px 0 17px;
	font-family: "돋움", Dotum, Arial, sans-serif;
	color: #fff;
	font-size: 12px;
}

.location li:first-child:before {
	display: none;
}

.location li:last-child {
	color: #fff;
}

/*  SUB LAYOUT :: 이전페이지,다음페이지 버튼 */
.sub-page-controls-btn {
	display: block;
	height: 52px;
	position: absolute;
	top: 50%;
	margin-top: -26px;
}

/* margin-top:수정*/
.sub-page-controls-btn.sub-prev-page-btn {
	left: 0;
}

.sub-page-controls-btn.sub-next-page-btn {
	right: 0;
}

.sub-page-controls-btn span {
	display: block;
	color: #fff;
	vertical-align: middle;
}

.sub-page-controls-btn span img {
	opacity: 0.5;
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	-ms-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

@media all and (min-width:801px) {

	.sub-page-controls-btn.sub-prev-page-btn:hover span img,
	.sub-page-controls-btn.sub-next-page-btn:hover span img {
		opacity: 1;
	}
}

/*  SUB LAYOUT :: 서브메뉴(스타일1) */
#topMenu01 {
	position: relative;
	width: 100%;
	height: 150px;
	margin-top: -100px;
	z-index: 1;
}

#topMenu01 .side-menu-inner {
	text-align: center;
	width: 100%;
	height: 150px;
}

#topMenu01 .side-menu-inner .area-box {
	background-color: #fff;
	height: 150px;
}

#topMenu01 .side-menu-inner ul {
	display: block;
	height: 104px;
	border-bottom: 1px solid #d6d6d6;
	opacity: 0;
	filter: Alpha(opacity=0);
	-ms-transform: translateY(-30px);
	-o-transform: translateY(-30px);
	-moz-transform: translateY(-30px);
	-webkit-transform: translateY(-30px);
	transform: translateY(-30px);
	-webkit-transition: opacity 1.0s, transform 1.0s;
	-moz-transition: opacity 1.0s, transform 1.0s;
	-o-transition: opacity 1.0s, transform 1.0s;
	-ms-transition: opacity 1.0s, transform 1.0s;
	transition: opacity 1.0s, transform 1.0s;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

#topMenu01.active .side-menu-inner ul {
	opacity: 1.0;
	filter: Alpha(opacity=100);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}

#topMenu01 .side-menu-inner ul li {
	display: inline-block;
	width: 160px;
	position: relative;
}

/* max-width 자유롭게 수정 */
#topMenu01 .side-menu-inner ul li:before {
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: 0;
	content: "/";
	font-size: 20px;
	color: #d8d8d8;
}

#topMenu01 .side-menu-inner ul li:first-child:before {
	display: none;
}

#topMenu01 .side-menu-inner ul li>a {
	display: block;
	display: table;
	position: relative;
	width: 100%;
	height: 104px;
	line-height: 1.2;
	color: #585858;
	font-size: 1.2em;
	letter-spacing: -0.65px;
	font-weight: 400;
	word-break: keep-all;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	-ms-transition: all 0.4s;
	transition: all 0.4s;
}

#topMenu01 .side-menu-inner ul li>a:before {
	position: absolute;
	bottom: -1px;
	left: 50%;
	width: 0;
	height: 3px;
	background-color: #0072bc;
	content: "";
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	-ms-transition: all 0.4s;
	transition: all 0.4s;
}

#topMenu01 .side-menu-inner ul li>a:after {
	position: absolute;
	width: 20px;
	height: 9px;
	left: 50%;
	margin-left: -10px;
	bottom: 0px;
	content: '';
	background-color: transparent;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	-ms-transition: all 0.4s;
	transition: all 0.4s;
}

#topMenu01 .side-menu-inner ul li>a>span {
	display: table-cell;
	vertical-align: middle;
	padding: 0 25px;
}

#topMenu01 .side-menu-inner ul li>a:hover,
#topMenu01 .side-menu-inner ul li.on>a {
	color: #0072bc;
	font-weight: 600
}

#topMenu01 .side-menu-inner ul li>a:hover:before,
#topMenu01 .side-menu-inner ul li.on>a:before {
	width: 100%;
	margin-left: -50%;
}

#topMenu01 .side-menu-inner ul li>a:hover:after,
#topMenu01 .side-menu-inner ul li.on>a:after {
	background: url("../images/icon/icon_tri_gr.png") 0 0 no-repeat;
}

.blnk01 {
	height: 70px !important;
}

.blnk02 {
	margin-top: -70px !important;
}

.blnk03 {
	height: 20px !important;
	margin-top: -20px !important;
}

/* SUB LAYOUT :: 모바일메뉴(공통)  */
#topMenuM01,
#topMenuM02 {
	display: none;
}

/*  SUB LAYOUT :: 서브메뉴(스타일3) */
#topMenu04 {
	position: relative;
	width: 100%;
	height: 65px;
	background-color: #f7f7f7;
	z-index: 50
}

#topMenu04 .side-menu-inner {
	width: 100%;
	height: 64px;
	border-bottom: 1px solid #ddd;
}

#topMenu04 .side-menu-inner .cm-top-menu {
	max-width: 1790px;
	margin: 0 auto
}

#topMenu04 .location-to-home-btn {
	float: left;
	width: 69px;
	height: 64px;
	text-align: center;
	position: relative;
	line-height: 62px
}

#topMenu04 .location-to-home-btn img {}

#topMenu04 .location-to-home-btn i {
	color: #5d5d5d;
	font-size: 15px;
	line-height: 64px;
	font-weight: 600
}

#topMenu04 .menu-location {
	position: relative;
	float: left;
	width: 200px;
}

#topMenu04 .location2 {
	width: 250px;
}

#topMenu04 .location-to-home-btn:after,
#topMenu04 .menu-location:after {
	position: absolute;
	content: "";
	width: 1px;
	height: 12px;
	background-color: #d8d8d8;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0
}

#topMenu04 .menu-location>.cur-location {
	position: relative;
	display: block;
	width: 100%;
	height: 64px;
	padding: 0 40px;
	text-align: left;
	z-index: 99;
}

#topMenu04 .menu-location>.cur-location span {
	display: block;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 64px;
	color: #5d5d5d;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: -0.25px;
}

#topMenu04 .menu-location>.cur-location .arrow {
	position: absolute;
	top: 50%;
	right: 38px;
	width: 17px;
	height: 17px;
	margin-top: -10px;
	background: url("/images/icon/sub_menu_arrow.png") no-repeat;
	background-size: contain !important
}

#topMenu04 .menu-location .location-menu-con {
	opacity: 0;
	position: absolute;
	top: 63px;
	left: -1px;
	width: 100%;
	background-color: #fff;
	z-index: -1;
	padding: 15px 0;
	transition: all 0.2s;
	height: 0;
	padding: 0
}

#topMenu04 .menu-location .location-menu-con:after {
	position: absolute;
	content: "";
	width: 100%;
	height: calc(100% + 64px);
	background-color: #fff;
	box-shadow: 2px 3px 13px 0px rgba(0, 0, 0, 0.17);
	transition: all 0s;
	top: -64px;
	left: 0;
	z-index: 0;
	border: 1px solid #bababa;
	box-sizing: border-box
}

#topMenu04 .menu-location .location-menu-con:before {
	position: absolute;
	content: "";
	width: calc(100% - 22px);
	height: 1px;
	background-color: #d8d8d8;
	top: 0;
	left: 11px;
	z-index: 9
}

#topMenu04 .menu-location .location-menu-con li {
	position: relative;
	z-index: -99;
	text-align: left;
	padding: 7px 40px;
	display: none
}

#topMenu04 .menu-location .location-menu-con li a {
	display: inline-block;
	font-size: 15px;
	word-break: keep-all;
	line-height: 1.5;
	color: #5d5d5d;
	letter-spacing: -0.25px;
	font-weight: 400;
}

#topMenu04 .menu-location .location-menu-con li a span {
	position: relative;
	display: inline-block;
}

#topMenu04 .menu-location .location-menu-con li.on a {
	color: #0072bc;
}

#topMenu04 .menu-location .location-menu-con li.on a span:after {
	position: absolute;
	content: "";
	width: calc(100% + 10px);
	height: 1px;
	background-color: #0072bc;
	bottom: 0;
	left: -5px
}

#topMenu04 .menu-location.open .location-menu-con {
	opacity: 1;
	height: auto;
	padding: 15px 0;
	z-index: 9
}

#topMenu04 .menu-location.open .location-menu-con li {
	z-index: 9;
	display: block
}

/* SUB LAYOUT :: 서브메뉴 Fixed (공통) */
.fixed-sub-menu.fixed .side-menu-inner {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9999;
	background-color: #f7f7f7;
}

@media all and (max-width:1024px) {
	.fixed-sub-menu.fixed .side-menu-inner {
		top: 80px;
	}
}

@media all and (max-width:480px) {
	.fixed-sub-menu.fixed .side-menu-inner {
		top: 60px;
	}
}


/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content {
	padding-top: 70px;
	padding-bottom: 100px;
}

#content00 {
	padding-top: 39px;
	padding-bottom: 0px;
}

/* ****************** MODAL LAYERPOPUP ********************** */
/* modal layer */
.modal-fixed-pop-wrapper {
	display: none;
	overflow-y: scroll;
	overflow-x: hidden;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: #000;
	background: rgba(0, 0, 0, 0.8);
}

.modal-fixed-pop-inner {
	position: absolute;
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
}

.modal-inner-box {
	position: relative;
	display: table-cell;
	vertical-align: middle;
}

.modal-loading {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	z-index: 10000;
}

.modal-inner-content {
	text-align: left;
}

.loading {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 8px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	border-top-color: #fff;
	animation: spin 1s ease-in-out infinite;
	-webkit-animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes spin {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* modal layer content */
.footer-modal-content {
	position: relative;
	width: 96%;
	max-width: 1000px;
	margin: 20px auto;
}

.footer-modal-content h1 {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.5px;
	text-align: center;
	padding: 0 50px 20px;
	color: #fff;
}

.modal-close-btn {
	position: absolute;
	top: -6px;
	right: -6px;
	color: #fff;
}

.modal-close-btn i {
	font-size: 38px;
}

.modal-close-btn i:hover {
	color: #fff
}

.footer-inner-box {
	padding: 30px;
	background-color: #fff;
}

.footer-inner {
	padding: 20px;
	height: 400px;
	overflow-y: auto;
	overflow-x: hidden;
	border: 1px solid #ddd;
}

/* ****************** 사이트맵 ********************** */
/* -------- 사이트맵 01 -------- */
/* 사이트맵 01 */
.sitemap-wrapper {
	padding: 40px;
	background-color: #fff;
}

.sitemap-wrapper>ul {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.sitemap-wrapper>ul>li {
	display: table-cell;
	vertical-align: top;
	text-align: center;
}

.sitemap-wrapper>ul>li>h2 {
	color: #191919;
	margin: 0 2% 20px 2%;
	padding: 15px 5px;
	font-size: 17px;
	background-color: #f2f2f2;
	letter-spacing: -1.0px;
	margin-bottom: 20px;
	font-weight: 500;
}

.sitemap-wrapper>ul>li .sitemap-2dep {
	padding: 0 5% 20px;
}

.sitemap-wrapper>ul>li .sitemap-2dep a {
	display: block;
	padding: 10px 0;
	color: #666;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2em;
}

.sitemap-wrapper>ul>li .sitemap-2dep a:hover {
	color: #000;
}

/* -------- 사이트맵 02 -------- */
/* 사이트맵 02 :: Layout */
#sitemapContent {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	filter: Alpha(opacity=0);
	visibility: hidden;
	z-index: -1;
	-webkit-transition: all 0.3s 0.5s;
	transition: all 0.3s 0.5s;
}

#sitemapInnerCon {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 100px;
	border-right: 1px solid #ddd;
}

#sitemapContent .sitemap-bg-box {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

#sitemapContent .visual-intro-item {
	float: left;
	position: relative;
	height: 100%;
}

#sitemapContent .visual-intro-item:before {
	position: absolute;
	left: 0;
	top: 0px;
	width: 1px;
	height: 0;
	content: "";
	background-color: #ddd;
	z-index: 1;
}

#sitemapContent .visual-intro-item:first-child:before {
	display: none
}

#sitemapContent .visual-intro-item:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0px;
	width: 100%;
	height: 100%;
	background: #333;
	-webkit-transition: width .6s cubic-bezier(0.47, 0, 0.31, 1.04) 0.2s;
	transition: width .6s cubic-bezier(0.47, 0, 0.31, 1.04) 0.2s;
}

#sitemapContent .sitemap-close-btn {
	position: absolute;
	top: 40px;
	right: 40px;
}

#sitemapContent .sitemap-close-btn i {
	font-size: 20px;
	color: #222;
}

/* 사이트맵 02 :: 메뉴리스트 */
.sitemap-wrapper-style02 {
	height: 100%;
}

.sitemap-wrapper-style02>ul {
	overflow: hidden;
	position: relative;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
}

.sitemap-wrapper-style02>ul>li {
	overflow: hidden;
	float: left;
	width: 20%;
	height: 100%;
}

.sitemap-wrapper-style02>ul>li>h2 {
	overflow: hidden;
	color: #191919;
	font-size: 18px;
	letter-spacing: -1.0px;
	margin: 0% 15% 40px;
	font-weight: 600;
}

.sitemap-wrapper-style02>ul>li:hover>h2 {
	color: #f57f20;
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a {
	overflow: hidden;
	position: relative;
	display: block;
	padding: 20px 15%;
	color: #777;
	font-size: 15px;
	letter-spacing: -0.15px;
	font-weight: 400;
	line-height: 1.2;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	content: "";
	height: 100%;
	background: #f57f20;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a span {
	position: relative;
	z-index: 1;
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a .gnb-icon {
	display: none;
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a:hover {
	color: #fff;
}

.sitemap-wrapper-style02>ul>li .sitemap-2dep a:hover:after {
	width: 100%;
}

.sitemap-wrapper-style02 ul li span {
	display: block;
	opacity: 0;
	filter: Alpha(opacity=50);
	-webkit-transform: translateX(-5%);
	transform: translateX(-50%);
	transition: transform .8s cubic-bezier(0.47, 0, 0.31, 1.04) 0s, opacity .8s cubic-bezier(0.47, 0, 0.31, 1.04) 0s;
}

/* 사이트맵 open */
#sitemapContent.open {
	opacity: 1.0;
	filter: Alpha(opacity=100);
	visibility: visible;
	z-index: 99999;
	background-color: #fff;
	-webkit-transition: all 0.3s 0s;
	transition: all 0.3s 0s;
}

#sitemapContent.open .visual-intro-item:before {
	height: 100%;
}

#sitemapContent.open .visual-intro-item:after {
	width: 0;
}

#sitemapContent.open .visual-intro-item {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	transform-origin: right top;
	transition-property: transform;
}

#sitemapContent.open .sitemap-wrapper-style02 ul li span {
	opacity: 1.0;
	filter: Alpha(opacity=100);
	-webkit-transform: translateX(0);
	transform: translateX(0);
	transition: transform .8s cubic-bezier(0.47, 0, 0.31, 1.04), opacity .8s cubic-bezier(0.47, 0, 0.31, 1.04);
}

/* ********************************************************
 * Overrides migrated from content.css (layout-related only)
 * NOTE: Keep this section in layout.css so layout is managed in one file.
 ******************************************************** */

.footer {
    margin-top: 0;
}

.menu_title {
    height: 38.5vh;
    margin-bottom: 0;
}

.menu_title > .inner {
    height: 100%;
}

#menu02_05_wrap > .menu_title > .m_desc {
    height: 55%;
}

#nav_wrap {
    margin-bottom: 0vh;
}

