@charset "utf-8";

@import "reset_cache.css";
@import "module_cache.css";
@import "company_cache.css";

/* Common Layout */
.body_wrap { position: relative; min-width: 1200px; overflow: hidden;}

#header *,
#footer *,
.top_nav *,
.head_cen * { letter-spacing: -0.03em;}

.wrapper { position: relative; width: 100%; min-width: 1200px;}
.wrapper > div { position: relative; max-width: 1140px; margin: 0 auto; padding: 0 30px;}
.wrapper > div:after { content: ""; display: block; clear: both;}

.line_bg { border-top: 1px solid #dedede; background: url(../bg/bg_line_cen.png) repeat-y 58.53% 0;}
.line_bg > div { padding-top: 20px;}

/* 상단 네비게이션 */
.top_nav { background: #fff; font-size: 13px; color: #808080; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.top_nav > div { display: flex; align-items: center; justify-content: flex-end;}
.top_nav > div > div { display: flex; align-items: center; padding: 7px 0;}
.top_nav a:hover { text-decoration: underline;}

.sns_link { display: flex; align-items: center; margin: 0 12px;}
.sns_link a { display: flex; width: 40px; height: 40px; background: #470d0d url(../btn/btn_sns.png?2202) no-repeat 0 0; background-size: 400px 80px; text-indent: -9999em; border-radius: 50%; margin-left: 5px; transition: all .3s ease; border: 1px solid rgba(0,0,0,.1);}
.sns_link a.sl01 { background-position: 0 0;}		/* 유튜브 */
.sns_link a.sl02 { background-position: -40px 0;}	/* 페이스북 */
.sns_link a.sl03 { background-position: -80px 0;}	/* 트위터 */
.sns_link a.sl04 { background-position: -120px 0;}	/* 인스타그램 */
.sns_link a.sl05 { background-position: -160px 0;}	/* 네이버 */
.sns_link a.sl06 { background-position: -200px 0;}	/* 포스트 */
.sns_link a.sl07 { background-position: -240px 0;}	/* rss */
.sns_link a.sl08 { background-position: -280px 0;}	/* 카카오톡 */
.sns_link a.sl09 { background-position: -320px 0;}	/* 카카오채털 */
.sns_link a.sl10 { background-position: -360px 0;}	/* 카카오스토리 */
.sns_link a:hover { box-shadow: 0 0 10px rgba(255,255,255,.5); transform: translateY(-1px);}

.top_nav .tn_right { display: flex; align-items: center;}
.top_nav .tn_right li { position: relative; padding-left: 8px; margin-left: 8px;}
.top_nav .tn_right li:after { position: absolute; left: 0; top: 50%; margin-top: -5px; content: ""; display: block; width: 1px; height: 12px; background: rgba(255,255,255,.4);}
.top_nav .tn_right li:first-child:after { display: none;}
.top_nav .tn_right li a { display: block;}

/* 날짜 */
.today_txt { font-weight: bold; font-size: 16px; margin: 0 10px 0 20px; letter-spacing: 0;}

/* Header */
#header { z-index: 100; background: #fff; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
#header > div { padding: 0; max-width: 1200px;}
.head_top { position: relative; padding: 0 30px;}
.head_top > div { display: flex; justify-content: space-between; align-items: center; min-height: 110px;}
.head_top > div h1 { max-width: 400px; text-align: center; padding: 0 0 10px 0;}
.head_top .ban_wrap { display: flex; align-items: center;}
.head_top .ht_left { padding: 20px 0; width: 260px;}
.head_top .ht_right { display: flex; align-items: center; padding: 20px 0; margin-left: 20px;}

.head_cen { position: relative; z-index: 120; border-top: 3px solid rgba(0,0,0,.3); background: #470d0d; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.head_cen > div { position: static;}

.search_box:after { content: ""; display: block; clear: both;}
.search_box > div { float: left;}
.search_wrap { position: relative;}
.search_wrap input[type=text] { width: 240px; box-sizing: border-box; padding: 10px 42px 10px 15px; height: 45px; border: 1px solid #dedede; border-radius: 30px; transition: all .3s ease;}
.search_wrap input[type=text]:focus { box-shadow: 0 0 10px rgba(255,255,255,1);}
.search_wrap .btn_search { position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: transparent;}
.search_wrap .btn_search rect { fill: #671a1a;}
.search_wrap .btn_search circle { stroke: #671a1a;}

#gnb { text-align: center; display: flex; flex-wrap: wrap; align-items: center; text-align: center;}
#gnb > li { display: block;}
#gnb > li:first-child { background: none;}
#gnb > li > a { position: relative; display: block; height: 60px; line-height: 58px; font-size: 18px; padding: 0 17px; color: #fff; font-weight: bold; z-index: 1;}

#gnb > li > a.on, #gnb > li > a.active { background-color: rgba(0,0,0,.3);}

#gnb.horizontal .sub_wrap { position: absolute; left: 0; box-shadow: 0 5px 10px rgba(255,255,255,.3); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: rgba(0,0,0,.85);}
#gnb.horizontal .sub_wrap > div { display: flex; align-items: center; justify-content: center;}
#gnb.horizontal .sub_wrap h2 { position: relative; margin-right: 40px; padding: 20px 0;}
#gnb.horizontal .sub_wrap h2:after { position: absolute; right: -30px; top: 50%; margin-top: -3px; content: ""; display: block; width: 6px; height: 6px; background: rgba(255,255,255,.5); border-radius: 50%;}
#gnb.horizontal .sub_wrap h2 a { font-size: 22px; color: #fff; white-space: nowrap; opacity: .7;}
#gnb.horizontal .sub_wrap ul { display: flex; flex-wrap: wrap; padding: 20px 0;}
#gnb.horizontal .sub_wrap ul li { margin: 10px 15px;}
#gnb.horizontal .sub_wrap ul li a { color: #fff; font-weight: bold; font-size: 17px; transition: all .3s ease; border-top: 1px solid transparent; border-bottom: 1px solid transparent;}
#gnb.horizontal .sub_wrap ul li a:hover { border-bottom: 1px solid #fff;}

#gnb.vertical > li { position: relative;}
#gnb.vertical > li > ul { position: absolute; left: 0; top: 60px; background: #fff; border: 3px solid #671a1a; border-top: 0; text-align: left; padding: 10px 0; border-radius: 0 0 12px 12px;}
#gnb.vertical > li > ul li { float: none; display: block; padding: 0; background: none; text-align: left;}
#gnb.vertical > li > ul li:first-child { padding-left: 0; margin-left: 0;}
#gnb.vertical > li > ul li a { display:block; padding: 12px 40px 12px 20px; color: #888; font-weight: bold; font-size: 17px;}
#gnb.vertical > li > ul li a span { display: inline-block; white-space: nowrap;}
#gnb.vertical > li > ul li a:hover, #gnb > li > ul li a.active { color: #671a1a;}

/* Footer */
#footer { background: #464646; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
#footer .wrapper > div { max-width: 1140px;}

.foot_wrap { position: relative; padding: 15px 0 40px;}
.foot_wrap:after { content: ""; display: block; clear: both;}
.foot_wrap h6 { position: absolute; left: 0; top: 20px; display: table; margin-right: 40px; text-align: center;}
.foot_wrap h6 b { display: table-cell; vertical-align: middle; text-align: center;}
.foot_wrap > div { padding-left: 176px;}

.foot_nav { padding: 25px 0 15px; border-bottom: 1px solid #868686;}
.foot_nav:after { content: ""; display: block; clear: both;}
.foot_nav > ul { position: relative; float: left;}
.foot_nav > ul:after { content: ""; display: block; clear: both;}
.foot_nav > ul li { float: left;}
.foot_nav > ul li:before { position: relative; top: -1px; content: "|"; font-size: 13px; margin: 0 8px; color: #999;}
.foot_nav > ul li:first-child { margin-left: -20px;}
.foot_nav > ul li:first-child:before { visibility: hidden;}
.foot_nav > ul li a { font-size: 15px; color: #ccc;}
.foot_nav > ul li a:hover { text-decoration: underline;}

.update_date { float: right; margin-top: 1px;}
.update_date:after { content: ""; display: block; clear: both;}
.update_date dt { float: left; font-weight: bold; color: #fff; margin-right: 5px;}
.update_date dd { float: left; letter-spacing: 0; color: #ccc;}

.foot_con > p { font-size: 13px; padding-right: 120px; color: #cdcdcd; line-height: 1.7; letter-spacing: -0.04em;}
.foot_con > p * { font-style: normal; font-weight: normal; color: #cdcdcd; margin-right: 10px; letter-spacing: 0;}
.foot_con > b { position: absolute; right: 0; top: 10px;}

/* Content */
#container { margin-bottom: 10px; padding-top: 20px;}
.container_solo { margin-bottom: 50px;}
#container > div { padding-bottom: 30px;}

.page_tit { position:relative; font-size: 26px; padding-bottom: 17px; line-height: 1.2; margin-left: -2px;}

.btn_mobile { position: relative; text-align: center; padding: 15px 0;}
.aside_box { position: relative;}
.border_box { border: 1px solid #dedede; padding: 15px;}

.headline { margin-bottom: 30px;}
.line_wrap { padding: 30px 0; border-top: 1px solid #dedede; background: url(../bg/bg_linewrap.png) repeat-y 689px 0;}

/* .bg_wrap { border: 1px solid #dedede; margin-top: -1px;}
.bg_wrap > .column { display: flex;}
.bg_wrap > .column { margin: 0;}
.bg_wrap > .column > div > div { margin: 0;}

.bg_wrap > .column > div > div { position: relative; padding: 30px;}
.bg_wrap > .column > div:first-child { border-right: 1px solid #dedede;}
.bg_wrap > .column.col04 > div > div { padding: 15px !important;}
.bg_wrap > .column.col04 > div:first-child { border-right: 0;}

.bg_wrap.bw_col04 { padding: 15px;}
.bg_wrap.bw_none { background: #fff;}
.bg_wrap.bw_none > div { padding: 30px;}

.bg_wrap.bw_last { border-bottom-width: 3px; margin-bottom: 30px;} */

.scroll-in { z-index: 10;}
.scroll-in > div { position: relative; padding-top: 15px; top: -15px; z-index: 10;}

.bg_wrap .scroll-in { padding-left: 15px; box-sizing: border-box;}

/* 전체메뉴 */
.hidden { overflow: hidden; height: 100%;}

.all_nav { width: 24px; background: rgba(0,0,0,.3) !important; margin-right: 10px !important;}
.all_nav > i { position: relative; top: 28px; display: block; text-indent: -9999em; width: 20px; height: 2px; background: #fff; margin: 0 auto;}
.all_nav > i:before { position: absolute; left: 0; top: -7px; content: ""; display: block; width: 17px; height: 2px; background: #fff;}
.all_nav > i:after { position: absolute; left: 0; bottom: -7px; content: ""; display: block; width: 17px; height: 2px; background: #fff;}

.allnav_wrap { position: fixed; left: -240px; top: 0; width: 220px; height: 100%; background: rgba(255,255,255,.9); z-index: 10010; box-shadow: 0 0 20px rgba(0,0,0,.45); transition: left .3s ease-out; overflow: hidden; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.allnav_wrap.active { left: 0;}

.allnav_wrap .swiper-container { width: 220px; height: 100%;}
.allnav_wrap .swiper-slide { height: auto;}
.allnav_wrap .swiper-container-vertical > .swiper-scrollbar { right: 0 !important; top: 0 !important; height: 100% !important;}
.allnav_wrap .swiper-scrollbar-drag { border-radius: 0 !important; background: #777 !important;}

.allnav_close { position: absolute; right: 10px; top: 10px; display: block; width: 25px; height: 25px; background: url(../btn/btn_aside_close.png) no-repeat center center; text-indent: -9999em;}

.allnav { padding: 50px 0 20px;}
.allnav > li { border-top: 1px solid #d3d3d3;}
.allnav > li > a { position: relative; display: block; padding: 10px 35px 10px 20px; font-size: 17px; font-weight: bold; background: rgba(0,0,0,.07); transition: all .3s ease;}
.allnav > li > a:after { position: absolute; right: 20px; top: 50%; margin-top: -5px; content: ""; display: block; width: 6px; height: 10px; background: url(../btn/btn_aside_arrow.png) no-repeat 0 0;}
.allnav > li > ul { padding: 7px 0 10px; overflow: hidden; margin-left: 20px;}
.allnav > li > ul > li > a { position: relative; display: block; font-size: 15px; font-weight: bold; padding: 4px 13px; color: #808080; transition: color .3s ease;}
.allnav > li > ul > li > a:after { position: absolute; left: 0; top: 50%; content: ""; display: block; width: 8px; height: 1px; background: #dedede;}
.allnav > li > ul > li > a:before { position: absolute; left: 0; bottom: 50%; content: ""; display: block; width: 1px; height: 60px; background: #dedede;}
.allnav > li > a.active, .allnav > li:hover > a { background-color: #671a1a; color: #fff;}
.allnav > li > a.active:after, .allnav > li:hover > a:after { background-position-y: -15px;}

.allnav > li > ul > li > a.active, .allnav > li > ul > li > a:hover { color: #1167b0;}

.allnav_mask { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,.3); z-index: 10009; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}