@charset "utf-8";

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

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

#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;}

.col_headline { padding: 0 0 40px;}
.line_box { border-top: 3px solid #222; padding: 50px 0;}
.line_box > .column { display: flex;}

/* 상단 네비게이션 */
.top_nav { font-size: 13px; color: #808080; background: #f3f3f3; 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: space-between;}
.top_nav > div > div { display: flex; align-items: center; padding: 7px 0;}
.top_nav a { color: #888;}
.top_nav .sns_link { display: flex; align-items: center; margin: 0 12px;}
.top_nav .sns_link a { display: flex; width: 30px; height: 30px; background: url(../btn/btn_sns.png?2202) no-repeat 0 0; background-size: 300px 60px; text-indent: -9999em;}
.top_nav .sns_link a.sl01 { background-position: 0 0;}		/* 유튜브 */
.top_nav .sns_link a.sl02 { background-position: -30px 0;}	/* 페이스북 */
.top_nav .sns_link a.sl03 { background-position: -60px 0;}	/* 트위터 */
.top_nav .sns_link a.sl04 { background-position: -90px 0;}	/* 인스타그램 */
.top_nav .sns_link a.sl05 { background-position: -120px 0;}	/* 네이버 */
.top_nav .sns_link a.sl06 { background-position: -150px 0;}	/* 포스트 */
.top_nav .sns_link a.sl07 { background-position: -180px 0;}	/* rss */
.top_nav .sns_link a.sl08 { background-position: -210px 0;}	/* 카카오톡 */
.top_nav .sns_link a.sl09 { background-position: -240px 0;}	/* 카카오채털 */
.top_nav .sns_link a.sl10 { background-position: -270px 0;}	/* 카카오스토리 */
.top_nav .sns_link a:hover { background-position-y: -30px;}

.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(0,0,0,.15);}
.top_nav .tn_right li:first-child:after { display: none;}
.top_nav .tn_right li a { display: block;}
.top_nav .tn_right li a:hover { color: #222;}

/* 날짜 */
.today_txt { font-weight: bold; font-size: 16px; color: #222; margin-right: 15px; letter-spacing: 0;}

/* Header */
#header { z-index: 100; 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: 140px;}
.head_top > div h1 { max-width: 400px; text-align: center; padding: 20px 0;}
.head_top .ban_wrap { display: flex; align-items: center;}
.head_top .ht_left { padding: 30px 0; margin-right: 20px; width: 260px;}
.head_top .ht_right { min-width: 260px; padding: 30px 0;}

.head_cen { position: relative; z-index: 120; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.head_cen > div { position: static;}

#gnb { text-align: center; display: flex; flex-wrap: wrap; align-items: center; text-align: center; height: 71px; margin-left: -15px;}
#gnb > li { display: block;}
#gnb > li:first-child { background: none;}
#gnb > li > a { position: relative; display: block; height: 71px; line-height: 69px; font-size: 18px; padding: 0 15px; color: #000; font-weight: bold; margin-right: -1px; z-index: 1;}
#gnb > li > a > span { position: relative; display: block;}
#gnb > li > a > span:after { position: absolute; left: 50%; top: -1px; margin-left: 0; content: ""; display: block; width: 0; height: 3px; background: #27ad4c; transition: all .3s ease;}

#gnb > li > a.on, #gnb > li > a.active { color: #1f9440;}
#gnb > li > a.on > span:after, #gnb > li > a.active > span:after { left: 0; width: 100%;}

#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); border-top: 3px solid #1f9440;  background: rgba(1,152,71,.9);}
#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: 71px; background: #fff; border: 1px solid #dedede; border-top-color: #fff; text-align: left; padding: 0 0 10px; 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: #27ad4c;}

.search_box:after { content: ""; display: block; clear: both;}
.search_box > div { float: left;}
.search_wrap { position: relative; overflow: hidden;}
.search_wrap input[type=text] { width: 260px; box-sizing: border-box; padding: 10px 42px 10px 10px; height: 45px; border: 1px solid #dedede; border-radius: 5px;}
.search_wrap input[type=text]:focus { border: 2px solid #27ad4c; padding-left: 9px;}
.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: #27ad4c;}
.search_wrap .btn_search circle { stroke: #27ad4c;}

/* Footer */
#footer { 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_top { background: #f4f4f4;}

.foot_wrap { position: relative; padding: 22px 0 30px;}
.foot_wrap:after { content: ""; display: block; clear: both;}
.foot_wrap h6 { position: absolute; left: 0; top: 25px; 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: 17px 0 19px; height: 18px;}
.foot_nav > ul { position: relative; text-align: center;}
.foot_nav > ul li { display: inline-block;}
.foot_nav > ul li:before { position: relative; top: -1px; content: "|"; font-size: 12px; margin: 0 14px 0 12px; color: #ccc;}
.foot_nav > ul li:first-child:before { visibility: hidden;}
.foot_nav > ul li a { font-size: 15px; color: #666;}
.foot_nav > ul li a:hover { text-decoration: underline;}

.foot_con > p { font-size: 13px; color: #666; line-height: 1.7; letter-spacing: -0.04em;}
.foot_con > p * { font-style: normal; font-weight: normal; color: #666; margin-right: 10px; letter-spacing: 0;}
.foot_con > b { position: absolute; right: 0; bottom: 40px;}
.foot_con .update { letter-spacing: 0; color: #999;}
.foot_con .update > b { font-weight: bold;}

/* Content */
#container { position: relative;}
#container > div { padding: 35px 0 70px;}

.page_tit { position:relative; font-size: 26px; padding-bottom: 17px; line-height: 1.2; margin-left: -2px; border-bottom: 1px solid #dedede; margin-bottom: 20px;}

.btn_mobile { position: relative; text-align: center; padding: 15px 0;}
.aside_box { position: relative; padding-left: 20px;}

.line_wrap { margin: 0 0 20px; background: url(../bg/bg_linewrap.png) repeat-y 699px 0; border-bottom: 1px solid #dedede;}
.line_wrap02 { padding: 20px 0 0; background: url(../bg/bg_linewrap.png) repeat-y 299px 0;}
.bg_wrap { padding: 0 0 20px; background: url(../bg/bg_bgwrap.png) repeat-y right 0; margin-bottom: 20px;}
hr.line { display: block; outline: none; padding: 0; margin: 0; height: 1px; border: none; background: #dedede;}

.scroll-in01, .scroll-in02 { z-index: 10;}

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

.all_nav { position: absolute; right: 0; top: 0; display: block; width: 23px; height: 70px; z-index: 1000;}
.all_nav > span { position: relative; top: 34px; display: block; text-indent: -9999em; width: 17px; height: 2px; background: #222; margin: 0 auto;}
.all_nav > span:before { position: absolute; left: 0; top: -7px; content: ""; display: block; width: 17px; height: 2px; background: #222;}
.all_nav > span:after { position: absolute; left: 0; bottom: -7px; content: ""; display: block; width: 17px; height: 2px; background: #222;}

.allnav_wrap { position: fixed; right: -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: right .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 { right: 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: #27ad4c; 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: #369744;}

.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);}

.icon_fc { display: inline-block; vertical-align: middle; width: 35px; height: 35px; background: url(/data/images/icon_fc.png?250609) no-repeat 0 0; background-size: 525px 35px; margin: -4px 0 0;}
.icon_fc.us { background-position: 0 0;}
.icon_fc.ic { background-position: -35px 0;}
.icon_fc.jj { background-position: -70px 0;}
.icon_fc.ph { background-position: -105px 0;}
.icon_fc.gw { background-position: -140px 0;}
.icon_fc.gc { background-position: -175px 0;}
.icon_fc.dg { background-position: -210px 0;}
.icon_fc.sw { background-position: -245px 0;}
.icon_fc.ss { background-position: -280px 0;}
.icon_fc.su { background-position: -315px 0;}
.icon_fc.jb { background-position: -350px 0;}
.icon_fc.sn { background-position: -385px 0;}
.icon_fc.gj { background-position: -420px 0;}
.icon_fc.dj { background-position: -455px 0;}
.icon_fc.ay { background-position: -490px 0;}