@charset "utf-8";
/* 기본프로그램 사용자모듈 메뉴 - PC */
.all_m_btn {padding:10px; background:#323337;}
.all_m_btn img {position:absolute; top:28%; left:15px; width:10%; max-width:40px; cursor:pointer;}
.all_m_btn .mutit {text-align:center; font-weight:900; font-size:26px; color:#fff;}
.pro_m_wrap {display:none; font-family:'Nanum Gothic', sans-serif; transition:all 0.3s linear;}
.pro_m_wrap .m_menu {width:200px;}
.pro_m_wrap .bg_black {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index:-1;}


/* 기본프로그램 사용자모듈 메뉴 - MOBILE */
.pro_m_wrap .subleftmenu {
	list-style:none;
	margin:0;
	padding:0;
}
.pro_m_wrap .subleftmenu li {
	border-bottom:1px solid #515155;
	background:#323337;
}
.pro_m_wrap .subleftmenu a {
	display:block;
	color:#b5b2b2;
	font-size:14px;
	padding:11px 5px 11px 15px;
	font-family:'Noto Sans KR';
}
.sub_title_m{
	font-size:28px !important;
	font-weight:bold;
	color:#fff !important;
	padding:12px 5px 12px 15px !important;
}
.pro_m_wrap .subleftmenu a:hover {
	background:#307dd4;
	color:#fff;
}
.sub_title_m:hover {
	background:#323337 !important;
	cursor:default;
}

@media all and (max-width:999px){
	.pro_m_wrap {display:block; position:absolute; left:-100%; top:0; z-index:999;}
	.pro_m_wrap.view {left:0;}
}

/* basic */
br.m_only {display: none;}

.inner{width:100%; max-width:1400px; margin:0 auto; position:relative;}
.inner1435{width:100%; max-width:1435px; margin:0 auto; position:relative;} /* main, sub_visual 전용 */

@media all and (max-width:1435px){
	.inner1435{width:93.75%;}
}
@media all and (max-width:1400px){
	.inner{width:93.75%;}
}
@media all and (max-width: 1000px) {
	br.m_only {display: block;}
}

/* fonts */
@font-face {
    font-family: 'Pretendard';
    src: url('//cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('//cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('//cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('//cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('//cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

.mont {font-family: 'Montserrat', sans-serif;}

/* header */
#header {position: absolute; z-index: 100; width: 100%; text-align: center;}
#header .logo {position: absolute; left: 80px; top: 0; padding-top: 44px; margin: 0;}
#header .logo a {display: block;}
#header .logo .logo_on {display: none;}
#header .gnb {display: inline-block; font-size: 0; letter-spacing: -4px; transition: all 0.3s;}
#header .gnb > ul > li {display: inline-block; vertical-align: top; padding: 40px 5px 0; box-sizing: border-box; position: relative;}
#header .gnb > ul > li > a {display: block; color: #ffffff; font-weight: 700; font-size: 20px; letter-spacing: -0.05em; position: relative; padding: 10px 45px; box-sizing: border-box; transition: all 0.3s;}
#header .gnb > ul > li + li > a:before {position: absolute; left: -5px; top: calc(50% - 5px); width: 1px; height: 10px; background: rgba(255,255,255,0.5); content: '';}
#header .gnb .depth02 {height: 0; overflow: hidden; margin-top: 10px; padding: 0; box-sizing: border-box; text-align: left; transition: all 0.3s; opacity: 0;}
#header .gnb .depth02 > li + li {margin-top: 5px;}
#header .gnb .depth02 > li > a {display: block; color: #666666; font-weight: 300; font-size: 16px; letter-spacing: -0.05em; padding: 5px 5px 5px 35px; box-sizing: border-box;}
#header .gnb.on {background: #fff;}
#header .gnb.on > ul > li > a {color: #222222;}
#header .gnb.on .depth02 {height: 224px; padding: 10px 0; opacity: 1;}
#header .right_box {position: absolute; right: 80px; top: 0; margin: 0; padding-top: 40px;}
#header .right_box a {display: inline-block; vertical-align: middle; margin-right: 20px; width: 118px; height: 40px; border-radius: 20px; background: rgba(0,0,0,0.3); text-align: center; color: #fff; font-weight: 700; font-size: 16px; letter-spacing: -0.05em; line-height: 40px; transition: all 0.3s;}
#header .right_box .all_menu_btn {display: inline-block; vertical-align: middle; width: 29px; height: 29px; background: url('/img/all_menu_btn.png') no-repeat; cursor: pointer; transition: all 0.3s;}
#header .m_btn {display:none; width:24px; margin:0 auto; text-align:right; cursor:pointer; margin-right: 20px; margin-top: 30px;}
#header .m_btn i{display:inline-block; width:100%; height:2px; margin:3px 0; background:#fff; transition:all 0.5s;}
#header .m_btn i:nth-of-type(2){width:84%;}
#header.on {position: fixed;}
#header.on .logo img {display: none;}
#header.on .logo .logo_on {display: block;}
#header.on .gnb {display: none;}
#header.on .right_box a {background: #2d389a;}
#header.on .right_box .all_menu_btn {background: url('/img/all_menu_btn_on.png') no-repeat;}
#header .gnb .depth02 > li > a:hover {color: #222222; font-weight: 700;}
#header .gnb.on > ul > li:hover {background: #f8f8f8;}
#header .gnb.on > ul > li:hover:before {position: absolute; left: 0; top: 0; width: 100%; height: 6px; background: #2d389a; content: '';}
#header .gnb.on > ul > li:hover > a {color: #2d389a;}
#header .right_box a:hover {background: #2d389a;}

@media all and (max-width: 1400px) {
	#header .logo {left: 40px;}
	#header .right_box {right: 40px;}
}
@media all and (max-width: 1200px) {
	#header .logo {left: 20px;}
	#header .gnb > ul > li > a {padding: 10px 25px;}
	#header .gnb .depth02 > li > a {padding: 5px 0 5px 10px;}
}
@media all and (max-width: 1000px) {
	#header {text-align: right;}
	#header .logo {padding-top: 23px;}
	#header .m_btn {display: inline-block;}
	#header .gnb {display: none;}
	#header .right_box {display: none;}
	#header.on .logo img {display: block;}
	#header.on .logo .logo_on {display: none;}
}

/* all_menu */
.all_menu {position: fixed; z-index: 99; left: 0; top: -100%; width: 100%; height: 100vh; background: url('/img/all_menu_bg.jpg') no-repeat center center / cover; text-align: center; transition: all 0.3s;}
#header.on + .all_menu {top: 0;}
.all_menu .gnb_box {display: inline-block; height: 100%; font-size: 0; letter-spacing: -4px; width: 48.75%; min-height: 660px;}
.all_menu .gnb_box > ul {height: 100%;}
.all_menu .gnb_box > ul > li {display: inline-block; vertical-align: top; height: 100%; padding: 340px 10px 0 10px; box-sizing: border-box; width: 25%; position: relative;}
.all_menu .gnb_box > ul > li > a {display: inline-block; padding: 10px 5px; color: #222222; font-weight: 700; font-size: 26px; letter-spacing: -0.05em;}
.all_menu .gnb_box .depth02 {margin-top: 20px;}
.all_menu .gnb_box .depth02 > li + li {margin-top: 15px;}
.all_menu .gnb_box .depth02 > li > a {color: #666666; font-weight: 300; font-size: 20px; letter-spacing: -0.05em; display: inline-block; padding: 5px;}
.all_menu .gnb_box .depth02 > li > a > span {position: relative;}
.all_menu .gnb_box .depth02 > li > a > span:before {display: none; position: absolute; left: 0; bottom: -3px; width: 100%; height: 2px; background: #2d389a; content: '';}
.all_menu .gnb_box > ul > li:hover {background: #f8f8f8;}
.all_menu .gnb_box > ul > li:hover:before {position: absolute; left: 0; top: 0; width: 100%; height: 6px; background: #2d389a; content: '';}
.all_menu .gnb_box .depth02 > li > a:hover {color: #2d389a; font-weight: 700;}
.all_menu .gnb_box .depth02 > li > a:hover > span:before {display: block;}

@media all and (max-width: 1000px) {
	.all_menu {display: none;}
	#header.on + .all_menu {top: -100%;}
}
@media all and (max-height: 1000px) {
	.all_menu .gnb_box > ul > li {padding-top: 300px;}
}

/* m_menu */
.m_menu_bg {z-index:101; position:fixed; left:0; top:0; display:none; width:100%; height:100%; background:rgba(0,0,0,.7); cursor:pointer; }
#m_menu {z-index:102; position:fixed; right:-100%; top:0; width:500px; max-width:80%; height:100%; background-color:#fff; box-sizing:Border-box; transition:all 0.5s; overfloW-y:auto;}
#m_menu.on {right:0; }
#m_menu .top_box {position:relative; padding:10px; box-sizing:border-box; }
#m_menu .top_box .close_btn {position:absolute; right:20px; top:calc(50% - 15px); width:30px; height:30px; }
#m_menu .top_box .close_btn i {display:block; width:100%; height:2px; background-color:#333; }
#m_menu .top_box .close_btn i:first-of-type {-webkit-transform:rotate(45deg) translate(9px,9px); -moz-transform:rotate(45deg) translate(9px,9px); -ms-transform:rotate(45deg) translate(9px,9px); -o-transform:rotate(45deg) translate(9px,9px); transform:rotate(45deg) translate(9px,9px); }
#m_menu .top_box .close_btn i:last-of-type {-webkit-transform:rotate(-45deg) translate(-7px,8px); -moz-transform:rotate(-45deg) translate(-7px,8px); -ms-transform:rotate(-45deg) translate(-7px,8px); -o-transform:rotate(-45deg) translate(-7px,8px); transform:rotate(-45deg) translate(-7px,8px); }
#m_menu .login_box {padding:20px 0; background-color:#292929; text-align:center; }
#m_menu .login_box a {position:relative; padding:0 30px; font-size:20px; color:#fff; letter-spacing:-0.04em; }
#m_menu .login_box a:first-of-type:before {content:''; position:absolute; right:-1px; top:calc(50% - 7px); width:2px; height:15px; background-color:#fff; }
#m_menu .gnb_box {border-top:1px solid #ddd; }
#m_menu .gnb_box > ul > li {border-bottom:1px solid #dddddd; }
#m_menu .gnb_box > ul > li > a {position:relative; display:block; padding:20px 20px; font-size:20px; font-weight:bold; color:#222222; letter-spacing:-0.04em; box-sizing:border-box; }
#m_menu .gnb_box .depth02 {display:none; padding:10px 0; background-color:#000; }
#m_menu .gnb_box .depth02 li a {position:relative; display:block; padding:7px 20px; font-size:18px; color:#fff; letter-spacing:-0.04em; box-sizing:border-box; }

/* footer */
#footer {background: #1b1b1f;}
#footer .top {border-bottom: 1px solid #3d3d41; font-size: 0; letter-spacing: -4px;}
#footer .top ul {padding: 19.5px 0; display: inline-block; vertical-align: top; width: calc(100% - 55px);}
#footer .top ul li {display: inline-block; vertical-align: middle;}
#footer .top ul li + li:before {display: inline-block; vertical-align: middle; content: ''; width: 1px; height: 8px; background: #3d3d41; margin: 0 15px;}
#footer .top ul li a {display: inline-block; vertical-align: middle; color: #aaaaaa; font-size: 14px; letter-spacing: -0.05em;}
#footer .top .top_btn {display: inline-block; vertical-align: top; width: 55px; height: 55px; background: url('/img/top_btn.png') no-repeat; cursor: pointer;}
#footer .bot {padding: 55px 0 85px;}
#footer .bot:after {content: ''; display: block; clear: both;}
#footer .bot .logo {margin-bottom: 30px;}
#footer .bot .logo a {display: inline-block;}
#footer .bot .address {display: inline-block;}
#footer .bot .address ul {font-size: 0; letter-spacing: -4px;}
#footer .bot .address ul li {display: inline-block; vertical-align: middle;}
#footer .bot .address ul li + li:before {display: inline-block; vertical-align: middle; width: 1px; height: 12px; background: #3d3d41; margin: 0 20px; content: '';}
#footer .bot .address ul li span {display: inline-block; vertical-align: middle; color: #cbcbcb; font-weight: 300; font-size: 16px; letter-spacing: -0.05em; line-height: 1.6;}
#footer .bot .copy {float: right; color: #cbcbcb; font-weight: 300; font-size: 14px; letter-spacing: -0.05em;}

@media all and (max-width: 1200px) {
	#footer .bot .address ul li + li:before {margin: 0 10px;}
}
@media all and (max-width: 1000px) {
	#footer .bot .address {width: 100%;}
	#footer .bot .copy {float: none; margin-top: 20px;}
}
@media all and (max-width: 767px) {
	#footer .bot .address ul li.mobile_w100 {width: 100%;}
	#footer .bot .address ul li.mobile_w100 + li:before {display: none;}
}