@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

.only-desktop {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}
.only-desktop-mobile {display:block;}

#wrapper {position:relative; overflow:hidden;}


#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.contain {position:relative; width:100%; max-width:1230px; padding-left:15px; padding-right:15px; margin:0 auto;}
.contain:after {content:" "; display:block; clear:both;}


/* header */
#header .contain {position:relative; max-width:1430px; height:100px;}
#header .sitelogo {position:absolute; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%);left:15px; z-index:10}


#gnb {}
#gnb ul {position:relative; display:flex; justify-content:flex-end;}
#gnb ul > li {text-align:center; font-size:20px; line-height:100px; font-weight:500; padding-left:70px; transition: all 0.1s ease-in-out;}
#gnb ul > li > a {display:block; position:relative; color:#2c2c2c;}
#gnb ul > li > a:after {
	content:" ";
	position:absolute;
	bottom:10px;
	left:50%;
	width:0;	
	height:6px;
	background:#00a1e4;
	border-radius:100%;
	z-index:91;
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
}
#gnb ul > li.active > a:after {
	margin-left:-3px;
	bottom:-3px;
	width:6px;
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
}
#gnb ul > li.active > a {color:#005aab}
#gnb .submenu {display:none; position:absolute; top:100px; left:0; width:100%; z-index:102}
#gnb .submenu > ul {display:flex;justify-content:center; transition: all 0.3s ease-in-out;margin:0 -20px;} 
#gnb .submenu > ul > li {font-size:18px; line-height:70px; font-weight:500; letter-spacing:-.50px; padding:0 20px;}
#gnb .submenu > ul > li > a {display:block; color:#2c2c2c;}
#gnb .submenu > ul > li > a:hover {color:#00a1e4;}
#gnb li.m1 .submenu {left:0}
#gnb li.m2 .submenu {left:5%}
.submenu-bg {display:none; position:absolute; top:100px; left:0; height:70px; width:100%; background:#fff;  border-top:1px solid #00a1e4;z-index:90;}




/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); right:15px; width:30px; height:30px; text-align:center; text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; top:13px; height:4px; background:#2c2c2c; border-radius:2px;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:4px; background:#2c2c2c; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; border-radius:2px;}
.btn-m-menu span:before {top:-10px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-10px; transition-property:bottom, transform;}

.mobile-navigation {position:fixed; top:0; right:0; padding:60px 0; width:300px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:101;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 15px; display:block; color:#2c2c2c; font-size:18px; font-weight:500; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #2c2c2c; border-bottom:2px solid #2c2c2c;}
.mobile-navigation .nav-menu>ul>li:nth-child(3)>a:after,
.mobile-navigation .nav-menu>ul>li:nth-child(4)>a:after,
.mobile-navigation .nav-menu>ul>li:nth-child(5)>a:after {transform:translateY(-50%) rotate(-45deg);}
.mobile-navigation .nav-menu>ul>li.active>a {color:#005aab }
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#005aab ;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:10px 0; background:#005aab ;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; padding:5px 18px; color:#fff; font-size:15px; font-weight:400; line-height:1.3em;}
.mobile-navigation .nav-menu .submenu>ul>li br {display:none;}
.mobile-navigation .nav-menu .submenu>ul>li small {font-size:13px;}
.mobile-navigation .links {display:none; text-align:center; padding:25px 0; font-size:14px; color:#505050; line-height:1.5em;}
.mobile-navigation .links i.user {display:inline-block; vertical-align:middle; margin:-.2em 6px 0 0; width:18px; height:18px; background:url("../images/common/icon_user.png") 50% 50% no-repeat; background-size:contain;}
.mobile-navigation .links .bar {display:inline-block; vertical-align:middle; margin:0 10px; width:1px; height:10px; background:#dfdfdf;}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:98;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}
html.menu-opened .btn-m-menu {top:20px; transform:none; -webkit-transform:none;}
html.menu-opened .btn-m-menu span {background:none;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s;  background:#242424;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}




/* main */
.logo-article {position:absolute; top:0; left:0; bottom:0; right:0; width:100%; height:100%; z-index:90}
.logo-article video {position:absolute; top:0; left:0; bottom:0; right:0; width:100%; height:100vh; object-fit:cover}

.main-visual {position:relative; width:100%; height:calc(100vh - 100px); overflow:hidden;}
.main-visual .background {
	position:absolute; 
	top:0; 
	left:0;
	width:100%; height:100%;	
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:cover;
	z-index:0;
}
.main-visual.load .background {
	transform:scale(1);
    -ms-transform:scale(1); /* IE 9 */
    -moz-transform:scale(1); /* Firefox */
    -webkit-transform:scale(1); /* Safari and Chrome */
    -o-transform:scale(1); /* Opera */
	opacity: 1;
}
.main-visual .content {position:absolute; top:50%; left:0; color:#fff; width:100%; background:rgba(255,255,255,.50); padding:35px 0;transform:translateY(-50%); text-align:center; z-index:10}


/* sub page */
.sub-visual {position:relative; width:100%; height:360px; overflow:hidden;}
.sub-visual .content {position:absolute; top:50%; left:0; text-align:center; transform:translateY(-50%); width:100%; color:#fff; z-index:20}
.sub-visual .tit {font-size:46px; line-height:1.3em; font-weight:700; letter-spacing:-.50px; margin-bottom:20px;}
.sub-visual p {font-size:14px; line-height:1.3em; font-weight:500; letter-spacing:1em;}
.sub-visual .background {
	position:absolute; 
	top:0; 
	left:0;
	width:100%; height:100%;	
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:cover;
	transform:scale(1.09);
    -ms-transform:scale(1.09); /* IE 9 */
    -moz-transform:scale(1.09); /* Firefox */
    -webkit-transform:scale(1.09); /* Safari and Chrome */
    -o-transform:scale(1.09); /* Opera */
	transition: all 2s ease-out 0s;
	transition-delay: 0.1s;
	opacity: 0;
	z-index:0;
}
.sub-visual.load .background {
	transform:scale(1);
    -ms-transform:scale(1); /* IE 9 */
    -moz-transform:scale(1); /* Firefox */
    -webkit-transform:scale(1); /* Safari and Chrome */
    -o-transform:scale(1); /* Opera */
	opacity: 1;
}


.sub-title {margin:70px 0; text-align:center;}
.sub-title h2 {color:#2c2c2c; font-size:38px; line-height:1.6em; font-weight:700; letter-spacing:-.30px;}

.path-menu {position:relative; border-bottom:1px solid #dfdfdf;}
.path-menu .contain {padding:0; max-width:1200px;}
.path-menu .home {float:left; position:relative; width:70px; height:50px; font-size:0; background:#333 url('../images/common/home.png') 50% 50% no-repeat;}
.path-menu .home a {display:block; width:100%; height:100%;}
.path-menu .submenu {float:left; min-width:300px;position:relative; z-index:10}
.path-menu .submenu:after {content:"";position:absolute; top:50%; margin-top:-12px; right:20px;width:24px; height:24px; background:url('../images/common/menu_off.png') 50% 50% no-repeat; transition: all 0.2s ease-in-out;}
.path-menu .submenu:before {content:"";position:absolute; top:0; right:0; width:1px;height:100%;  background:#dfdfdf}
.path-menu .submenu > a {display:block; position:relative; color:#505050; font-size:18px; line-height:50px; font-weight:500; transition:none; padding-left:30px;}
.path-menu .submenu.active:after {background-image:url('../images/common/menu_on.png');}
.path-menu .submenu ul {display:none; position:absolute; top:50px; left:0; width:100%; border:1px solid #ddd; border-bottom:0; border-top:0;z-index:20;}
.path-menu .submenu ul li {border-bottom:1px solid #ddd;}
.path-menu .submenu ul li a {display:block; padding-left:30px; color:#2c2c2c; background:#fff; font-size:16px; line-height:50px; text-decoration:none;}
.path-menu .submenu ul li a:hover {color:#005aab; background:#f2f2f2;text-decoration:underline;} 
.path-menu .submenu:last-child {min-width:360px}

.real-cont {padding-bottom:100px;}
.real-cont.none {padding-bottom:0;}


/* footer */
#footer {padding:35px 0; background:#fafafa; border-top:1px solid #dfdfdf; font-size:14px; line-height:1.4em; color:#878787;}
#footer address {font-style:normal;}
#footer .bar {padding:0 10px;}
#footer .contain {position:relative; max-width:1430px}
.foot-row {display:flex; align-items:center;}
.foot-logo {flex:1 1 210px; max-width:210px}
.foot-info {flex:1 1 auto; width:1%; min-width:0; padding-left:20px;}
.foot-info .col {margin-bottom:5px;}
.foot-info .col:last-child {margin-bottom:0;}
.foot-info strong {font-size:16px; line-height:1.4em; color:#005aab; font-weight:500;}
.foot-info .group {display:flex; }
.foot-info .group .tit {width:85px; color:#00a1e4; font-weight:500;}
.foot-info .group .addr {width:335px}
.foot-info .group .tel {width:145px}
.famliysite {position:absolute; top:0; right:15px; width:160px; z-index:10}
.famliysite .tit a {display:block; position:relative; color:#fff;padding-left:15px; font-size:14px; line-height:40px; background:#08a1f5}
.famliysite .tit .arrow {position:absolute; top:18px; right:15px; width:0;  height:0; border-left:5px solid transparent;border-right:5px solid transparent; border-top:5px solid #fff;  transition: all 0.2s ease-in-out;}
.famliysite .tit a.active .arrow {width: 0;height: 0; border-bottom:5px solid #fff; border-top:0}
.famliysite .list {display:none; position:absolute; bottom:40px; left:0; width:100%; z-index:10}
.famliysite .list li {border-bottom:1px solid #dfdfdf; }
.famliysite .list li a {display:block; color:#454545; background:#f2f2f2; padding-left:15px; font-size:13px; line-height:40px; }
.famliysite .list li a:hover {background:#08a1f5; color:#fff}
.famliysite .list.active {display:block;}

 



