@charset "utf-8";

/* 리셋 */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

*,
*::before,
*::after { box-sizing:border-box; }
html { min-width:1680px; }
body { font-family: 'Noto Sans KR'; font-size: 16px; color: #333; line-height: 1.3; }
a { color: #333; text-decoration: none; }
img { vertical-align: top; max-width:100%; }

.clear { clear:both; }
.clear::after { content:""; display: block; clear:both; }

.hide_txt { text-indent: 100%; white-space: nowrap; overflow: hidden; }
.full_btn { width: 100% !important; }

/* 웹접근성 */
.skip { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }

/* 스킵 네비게이션 */
#skip_nav { position: absolute; z-index: 1000; }
#skip_nav a { position: absolute; left: -200px; width: 150px; padding: 10px; display: block; color: #fff; background: #000; text-align: center; }
#skip_nav a:focus, #skip_nav a:active { position: absolute; left: 0; outline-offset: -3px; }

/* 슬라이드 공통 */
.bx-wrapper .bx-pager { bottom: 40px; }
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager { width: 100%; text-align: center; }
.bx-wrapper .bx-pager.bx-default-pager a { border-radius:0; width: 15px; height: 15px; box-shadow: 2px 2px 2px rgba(0,0,0,0.5); background: #fff; }
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active { background: #77a22f; }
.bx-wrapper .bx-controls-direction a { width: 47px; height: 79px; margin-top: -39.5px; }
.bx-wrapper .bx-controls-direction a.bx-prev { left: 20px; background: url(/images/common/ico_prev.png) no-repeat center; }
.bx-wrapper .bx-controls-direction a.bx-prev:hover { background: url(/images/common/ico_prev_hover.png) no-repeat center; }
.bx-wrapper .bx-controls-direction a.bx-next { right: 20px; background: url(/images/common/ico_next.png) no-repeat center; }
.bx-wrapper .bx-controls-direction a.bx-next:hover { background: url(/images/common/ico_next_hover.png) no-repeat center; }
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto { width: 100%; bottom: 70px; }
.bx-wrapper .bx-controls-auto .bx-start { width: 20px; height: 23px; background: url(/images/common/ico_play.png) no-repeat center; }
.bx-wrapper .bx-controls-auto .bx-stop { width: 20px; height: 23px; background: url(/images/common/ico_stop.png) no-repeat center; margin: 0 }
.fix-key .bx-viewport > ul {transform:translate3d(0,0,0) !important;}

/* 헤더 */
#header { position: absolute; width: 100%; padding-top: 50px; z-index: 2019; }
#header .header_inner { position: relative; }
#header .logo { position: absolute; left: 160px; top: 0; z-index: 1; }
#header .logo a { display: block; }
#header .menu_area { position: absolute; right: 160px; top: 0; z-index: 1; }
#header .menu_area .links { display: inline-block; vertical-align: middle; font-size: 0; }
#header .menu_area .links > * { position: relative; display: inline-block; vertical-align: middle; margin-right: 40px; padding-left: 30px; padding-bottom: 7px; }
#header .menu_area .links a { font-size: 15px; font-weight: 500; color: #fff; text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.5); }
#header .menu_area .links .mypage { background: url(/images/common/ico_mypage.png) no-repeat left bottom; }
#header .menu_area .links .login { background: url(/images/common/ico_login.png) no-repeat left bottom; }
#header .menu_area .links .search { background: url(/images/common/ico_search.png) no-repeat left bottom; }
#header .menu_area .links .english { background: url(/images/common/ico_english.png) no-repeat left bottom; }
#header .menu_area .menu { display: inline-block; vertical-align: middle; }
#header .menu_area .menu > .list { float: left; margin-right: 10px; }
#header .menu_area .menu > .list:last-child { margin-right: 0; }
#header .menu_area .menu > .list > a { display: inline-block; vertical-align: middle; width: 70px; height: 70px; background-repeat: no-repeat; background-position: center; }
#header .menu_area .menu > .list > a.calendar { background-color: #ddd; background-image: url(/images/common/ico_calendar.png); }
#header .menu_area .menu > .list > a.site_map { background-color: #588015; background-image: url(/images/common/ico_site_map.png); }
#header .menu_area .menu > .list > a.family_site { background-color: #222; background-image: url(/images/common/ico_family_site.png); }
#header .menu_area .search_box { display: none; position: absolute; bottom: -80px; width: 300px; right: -120px; }
#header .menu_area .search_box.view { display: block; }
#header .menu_area .search_box::before { position: absolute; content:""; display: block; width: 11px; height: 8px; background: url(/images/common/ico_polygon.png) no-repeat center; top: 7px; left: 50%; margin-left: -5.5px; }
#header .menu_area .search_box label { display: block; font-size: 12px; }
#header .menu_area .search_box input[type="text"] { float: left; width: 250px; height: 50px; background: #fff; border:0; padding: 0 15px; font-size: 15px; }
#header .menu_area .search_box input[type="text"]:placeholder { color: #999; }
#header .menu_area .search_box .search_btn { float: left; width: 50px; height: 50px; background: #ddd url(/images/common/ico_search02.png) no-repeat center; cursor: pointer; border:0; padding: 0; }

/* main_section1 */
#main_section1 .new_main .swiper { height: 100vh; }
#main_section1 .new_main .swiper-slide > a { position: relative; display: block; width: 100%; height: 100%; }
#main_section1 .new_main .swiper-slide > a:before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.3); }
#main_section1 .new_main .swiper-slide > a > img { width: 100%; height: 100%; }
#main_section1 .new_main .swiper-slide > a:focus-visible:before { outline: -webkit-focus-ring-color auto 1px; outline-offset: -5px; }
#main_section1 .new_main .swiper-button-prev,
#main_section1 .new_main .swiper-button-next { width: 47px; height: 79px; margin-top: -39.5px; background: none; border: 0; padding: 0; background-repeat:  no-repeat; background-position: center; z-index: 20; }
#main_section1 .new_main .swiper-button-prev:after,
#main_section1 .new_main .swiper-button-next:after { display: none; }
#main_section1 .new_main .swiper-button-prev { background-image: url(/images/common/ico_prev.png); left: 20px; }
#main_section1 .new_main .swiper-button-next { background-image: url(/images/common/ico_next.png); right: 20px; }
#main_section1 .new_main .swiper-button-prev:hover { background-image: url(/images/common/ico_prev_hover.png); }
#main_section1 .new_main .swiper-button-next:hover { background-image: url(/images/common/ico_next_hover.png); }
#main_section1 .new_main .wrap-autoplay-control { position: absolute; right: 50%; margin-right: -10px; bottom: 70px; z-index: 20; }
#main_section1 .new_main .wrap-autoplay-control .control { cursor:pointer; display: block; width: 20px; height: 23px; background-color: transparent; background-repeat: no-repeat; white-space:nowrap;overflow: hidden; text-indent: 100%; background-position: center; border:none; padding: 0; }
#main_section1 .new_main .wrap-autoplay-control .control.stop { background-image: url(/images/common/ico_stop.png); }
#main_section1 .new_main .wrap-autoplay-control .control.play { background-image: url(/images/common/ico_play.png); }
#main_section1 .new_main .swiper-pagination { bottom: 40px; }
#main_section1 .new_main .swiper-pagination-bullet { width: 15px; height: 15px; background: #fff; border-radius:0; box-shadow: 2px 2px 2px rgb(0 0 0 / 50%); opacity:1; }
#main_section1 .new_main .swiper-pagination-bullet-active,
#main_section1 .new_main .swiper-pagination-bullet:hover { background: #f100ff; outline: 2px solid #f100ff; border: 2px solid #fff; }
#main_section1 .new_main .swiper-pagination-bullet:focus-visible { outline: -webkit-focus-ring-color auto 1px; outline-offset: 0px; }

/* main_section2 */
#main_section2 .show_list li { float: left; width: 50%; height: 50vh; }
#main_section2 .show_list li a { display: block; width: 100%; height: 100%; position: relative; }
#main_section2 .show_list li a::before { content:""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.65); z-index: -1; }
#main_section2 .show_list li a:hover::before { display: none; }
#main_section2 .show_list li a:hover .item { display: none; }
#main_section2 .show_list li a:hover .img { -webkit-filter: grayscale(0); filter: grayscale(0); }
#main_section2 .show_list li a:hover svg { opacity: 0; }
#main_section2 .show_list li a:focus-visible { outline-offset: -3px; }
#main_section2 .show_list .img { position: absolute; width: 100% !important; height: 100% !important; z-index: -2; }
#main_section2 .show_list .grayscale { max-width:100% !important; width: 100% !important; height: 100% !important; background-size: 100% 100% !important; }
#main_section2 .show_list .item_center { display: table; width: 100%; height: 100%; }
#main_section2 .show_list .item { display: table-cell; text-align: center; vertical-align: middle; }
#main_section2 .show_list .item .title { font-size: 64px; color: #eee; word-break: keep-all; width: 50%; margin: 0 auto; letter-spacing: -0.05em; }
#main_section2 .show_list .item .date { display: block; font-size: 24px; color: #eee; margin-top: 35px; }

/* main_section3 */
#main_section3:after { content:""; display: block; clear:both; }
#main_section3 .main_section3_inner { display: flex; } 
#main_section3 .project_list_nodata { width: 66.7%; display: flex; }
#main_section3 .project_list_nodata > * { flex: 1 1 0; display: block; }
#main_section3 .project_list_nodata > * img { width: 100%; height: 100%; object-fit: cover; }
#main_section3 .project_list_wrap { width: 66.7%; }
#main_section3 .project_list_wrap .bx-controls-auto { bottom: 30px; width: 30px; right: 30px; }
#main_section3 .project_list li { width: 50%; float: left; }
#main_section3 .project_list li a { display: table; width: 100%; height: 100%; }
#main_section3 .project_list li a::before { content:""; position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: rgba(0,0,0,0.5); }
#main_section3 .project_list li a:hover::before,
#main_section3 .project_list li a:focus-visible::before{ background: #547e0e; z-index: -1; }
#main_section3 .project_list li a:hover .sub_title,
#main_section3 .project_list li a:focus-visible .sub_title { color: #fff; }
#main_section3 .project_list li a:hover .title,
#main_section3 .project_list li a:focus-visible .title{ color: #fff; }
#main_section3 .project_list li a:hover .title::after,
#main_section3 .project_list li a:focus-visible .title::after{ background: url(/images/common/main_arrow_hover.png) no-repeat right bottom; }
#main_section3 .project_list li a:hover .desc,
#main_section3 .project_list li a:focus-visible .desc { color: #fff; }
#main_section3 .project_list li a:focus-visible:before { outline: -webkit-focus-ring-color auto 1px; outline-offset: -5px; }
#main_section3 .project_list .item { display: table-cell; vertical-align: middle; text-align: center; padding: 0 40px; }
#main_section3 .project_list .sub_title { display: block; margin-bottom: 35px; font-size: 24px; font-weight: 500; color: #333; word-break: keep-all; letter-spacing: -0.05em; }
#main_section3 .project_list .title { font-size: 46px; font-weight: 500; color: #333; word-break: keep-all; letter-spacing: -0.05em; line-height: 1.2; }
#main_section3 .project_list .title::after { content:""; display: block; width: 70px; height: 11px; background: url(/images/common/main_arrow.png) no-repeat right bottom;; margin: 80px auto 60px auto; }
#main_section3 .project_list .desc { text-align: left; font-size: 20px; font-weight: 500; color: #666; letter-spacing: -0.05em; text-align: justify; }
#main_section3 .academy_list_wrap { width: 33.3%; }
#main_section3 .academy_list_wrap .bx-controls { display:none !important; }
#main_section3 .academy_list li {  }
#main_section3 .academy_list li a { position: relative; display: block; height: 100%; }
/* #main_section3 .academy_list li a:hover::before, */
/* #main_section3 .academy_list li a:hover .apply_btn, */
/* #main_section3 .academy_list li a:focus-visible::before, */
/* #main_section3 .academy_list li a:focus-visible .apply_btn{ display: block; } */
#main_section3 .academy_list li a:focus-visible::before { outline: -webkit-focus-ring-color auto 1px; outline-offset: -5px; }
#main_section3 .academy_list .img { width: 100%; height: 100%; object-fit: cover; }
#main_section3 .academy_list li a::before { display: none; content:""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.65); z-index: 1; }
#main_section3 .academy_list .apply_btn { display: none; position: absolute; left: 50%; top: 50%; margin-left: -125px; margin-top: -42.5px; font-size: 22px; font-weight: bold; width: 250px; height: 85px; line-height: 85px; background: #222; text-align: center; color: #fff; z-index: 1; }

#main_section3 .project_list li a.noblur { background-color: #000;}
#main_section3 .project_list li a.noblur::before { display: none }
#main_section3 {
    background: #514b43 url(/images/main/bg_main3.jpg) no-repeat right top / cover;
}


/* main_section4 */
#main_section4 .list_layout_wrap {overflow: hidden;display: flex;}
#main_section4 .list_layout {width: 33.3%;flex: 1 1 auto;}
#main_section4 .list_layout.list1 { padding: 40px; }
#main_section4 .list_layout.list2 a:focus-visible {  }
#main_section4 .list_layout:list3 { width: 33.4%; }
#main_section4 .youtube_link:focus-visible { outline-offset: -4px; }
#main_section4 .notice_list { height: 324px; }
#main_section4 .notice_list li { margin-bottom: 28px; }
#main_section4 .notice_list li:last-child { margin-bottom: 0; }
#main_section4 .notice_list li a { display: block; overflow: hidden; }
#main_section4 .notice_list .cate { float: left; display: block; width: 60px; height: 60px; line-height: 60px; text-align: center; font-weight: 500; font-size: 15px; color: #fff; margin-right: 20px; }
#main_section4 .notice_list .cate.type01 { background: #547e0e; }
#main_section4 .notice_list .cate.type02 { background: #8f2c48; }
#main_section4 .notice_list .cate.type03 { background: #e68c1c; }
#main_section4 .notice_list .cate.type04 { background: #8b6631; }
#main_section4 .notice_list .title_wrap { float: left; width: calc(100% - 80px); }
#main_section4 .notice_list .title_wrap .title { font-size: 18px; font-weight: 500; color: #333; margin-bottom: 5px; margin-top: 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing: -0.025em; }
#main_section4 .notice_list .title_wrap .date { font-size: 16px; font-weight: 500; color: #555; }
#main_section4 .info_list { overflow: hidden; margin-top: 35px; }
#main_section4 .info_list li { float: left; width: 25%; }
#main_section4 .info_list li a { position: relative; display: block; letter-spacing: -0.05em; font-size: 16px; color: #666; padding-left: 50px; height: 40px; line-height: 40px; }
#main_section4 .info_list li a::before { content:""; position: absolute; z-index: -1; left: 0; top: 0; width: 40px; height: 40px; background-color: #bbb; border-radius:100%; background-repeat: no-repeat; background-position: center center; }
#main_section4 .info_list li a:hover { color: #77a22f; }
#main_section4 .info_list li a:hover::before { background-color: #77a22f; }
#main_section4 .info_list li a:focus-visible { outline-offset: -2px; }
#main_section4 .info_list .info1::before { background-image: url(/images/common/ico_main_quick01.png); }
#main_section4 .info_list .info2::before { background-image: url(/images/common/ico_main_quick02.png); }
#main_section4 .info_list .info3::before { background-image: url(/images/common/ico_main_quick03.png); }
#main_section4 .info_list .info4::before { background-image: url(/images/common/ico_main_quick04.png); }
#main_section4 .info_list .info5::before { background-image: url(/images/common/ico_main_quick05.png); }

#main_section4 .iframe { width: 100%; height: 364px; }
#main_section4 .sns_list { overflow: hidden; margin-top: 32px; }
#main_section4 .sns_list li { float: left; width: 20%; }
#main_section4 .sns_list li a { display: block; width: 38px; height: 38px; background-repeat: no-repeat; background-position: center center; margin:  auto; }
#main_section4 .sns_list li a:focus-visible { outline-offset: -2px; }
#main_section4 .sns_list .sns1 { background-image: url(/images/common/ico_sns1.png); }
#main_section4 .sns_list .sns1:hover { background-image: url(/images/common/ico_sns1_active.png); }
#main_section4 .sns_list .sns2 { background-image: url(/images/common/ico_sns2.png); }
#main_section4 .sns_list .sns2:hover { background-image: url(/images/common/ico_sns2_active.png); }
#main_section4 .sns_list .sns3 { background-image: url(/images/common/ico_sns3.png); }
#main_section4 .sns_list .sns3:hover { background-image: url(/images/common/ico_sns3_active.png); }
#main_section4 .sns_list .sns4 { background-image: url(/images/common/ico_sns4.png); }
#main_section4 .sns_list .sns4:hover { background-image: url(/images/common/ico_sns4_active.png); }
#main_section4 .sns_list .sns5 { background-image: url(/images/common/ico_sns5.png); }
#main_section4 .sns_list .sns5:hover { background-image: url(/images/common/ico_sns5_active.png); }
#main_section4 .sns_list .sns6 { background-image: url(/images/common/ico_sns6.png); }
#main_section4 .sns_list .sns6:hover { background-image: url(/images/common/ico_sns6_active.png); }
#main_section4 .art_list {height: 100%;display: flex;}
#main_section4 .art_list li {width: 50%;}
#main_section4 .art_list li a {display: block; font-size: 12px;}
#main_section4 .art_list li a:focus-visible { outline-offset: -2px; }

/* footer */
#footer { background: #8f2c48; }
#footer .footer_inner { position: relative; padding: 45px 40px; }
#footer .footer_logo { position: absolute; left: 45px; top: 55px; }
#footer .content { margin-left: 200px; }
#footer .link_list { font-size: 0; }
#footer .link_list li { position: relative; display: inline-block; font-weight: 500; font-size: 15px; color: #ddd; padding: 0 20px; }
#footer .link_list li::before { position: absolute; right: 0; top: 50%; margin-top: -7px; content:""; display: block; width: 1px; height: 14px; background: #8b4156; }
#footer .link_list li:first-child { padding-left: 0; }
#footer .link_list li:last-child::before { display: none; }
#footer .link_list li a { display: block; color: #ddd; }
#footer .link_list li a.policy { color: #fff; font-weight: bold; }
#footer .link_list .tel { font-size: 20px; }
#footer .info_list2 { font-size: 0; margin-top: 25px; }
#footer .info_list2 .list { display: inline-block; font-size: 13px; color: #dcbec6; margin-right: 5px; margin-bottom: 5px; }
#footer .info_list2 .bsnlcInfrm { font-size: 12px; font-weight: 500; color: #dcbec6; border:1px solid #dcbec6; padding: 7px 10px; margin-left: 15px; }
#footer .copyright { color: #dcbec6; font-size: 13px; }
#footer .wa_mark { position: absolute; bottom: 50px; right: 8.3%; }
#footer .wa_mark img { width:120px; height:auto; }

/* 공연일정달력 팝업 */
#main_calendar { display: none; position: fixed; left: 0; right: 0; top:0; bottom: 0; background: rgba(0,0,0,0.9); overflow: auto; }
#main_calendar .calendar_wrap { position: relative; display: table; width: 1300px; height: 100%; margin: 0 auto; }
#main_calendar .pop_close { position: absolute; right: 0; top:50px; display: block; width: 42px; height: 41px; background: url('/images/common/ico_popup_close.png') no-repeat center; z-index:20; }
#main_calendar .calendar_area { display: table-cell; vertical-align: middle; }
#main_calendar .calendar_title { width: 1150px; margin: 0 auto; text-align: center; margin-bottom: 15px; }
#main_calendar .calendar_title .prev,
#main_calendar .calendar_title .next { display: inline-block; vertical-align: middle; width: 15px; height: 27px; }
#main_calendar .calendar_title .prev { background: url('/images/common/ico_calendar_arrow.png') no-repeat left center; margin-right: 45px; }
#main_calendar .calendar_title .next { background: url('/images/common/ico_calendar_arrow.png') no-repeat right center; margin-left: 45px; }
#main_calendar .calendar_title .month { display: inline-block; vertical-align: middle; font-size: 2rem; font-weight: bold; color: #fff; }
#main_calendar .calendar_area table { width: 1150px; margin: 0 auto; margin-bottom: 22px; }
#main_calendar .calendar_area table td { float: left; width: 37px; height: 37px; line-height: 37px; text-align: center; }
#main_calendar .calendar_area table td.sunday a { color: #dd0000; }
#main_calendar .calendar_area table td.active a { color: #77a22f; background: #fff; border-radius: 100% ; -webkit-border-radius: 100% ; -moz-border-radius: 100% ; -ms-border-radius: 100% ; -o-border-radius: 100% ; }
#main_calendar .calendar_area table td a { display: block; width: 100%; height: 100%; font-size: 0.9rem; font-weight: bold; color: #fff; }
#main_calendar .calendar_area .type_area { width: 1150px; margin: 0 auto; }
#main_calendar .calendar_area .type_area ul { float: left; width: 200px; height: 35px; line-height: 33px; }
#main_calendar .calendar_area .type_area ul li { width: 50%; height: 100%; float: left; text-align: center; }
#main_calendar .calendar_area .type_area ul li.active {  }
#main_calendar .calendar_area .type_area ul li.active a { background: #588015; color: #fff; }
#main_calendar .calendar_area .type_area ul li a { display: block; width: 100%; height: 100%; font-size: 0.8rem; color: #77a22f; border: 1px solid #3d5b0c; }
#main_calendar .calendar_area .type_area .cnt_wrap { float: right; font-size: 0.9rem; font-weight: bold; color: #fff; padding-top: 8px; }
#main_calendar .calendar_area .type_area .cnt_wrap .cnt { color: #77a22f; }
#main_calendar .calendar_area .performance_list_wrap { position: relative; }
#main_calendar .calendar_area .performance_list_wrap .controlArrow { display: block; width: 47px; height: 79px; position: absolute; top:50%; margin-top: -19.5px; }
#main_calendar .calendar_area .performance_list_wrap .day_prev { left:0; background: url('/images/common/ico_prev.png') no-repeat center; }
#main_calendar .calendar_area .performance_list_wrap .day_next { right:0; background: url('/images/common/ico_next.png') no-repeat center; }
#main_calendar .calendar_area .performance_list { width: 1150px; margin: 0 auto; }
#main_calendar .calendar_area .performance_list .list { position: relative; float: left; width: 565px; height: 220px; background: #fff; margin-top: 20px; }
#main_calendar .calendar_area .performance_list .list.empty { background: #111; text-align: center; line-height: 220px; color: #555; font-size: 13px; }
#main_calendar .calendar_area .performance_list .list .con { width: 100%; height: 100%; }
#main_calendar .calendar_area .performance_list .list .con .img { float: left; width: 220px; height: 100%; }
#main_calendar .calendar_area .performance_list .list .con .img img { width: 100%; height: 100%; }
#main_calendar .calendar_area .performance_list .list .con .info { position: relative; float: right; width: 345px; height: 100%; padding: 24px; }
#main_calendar .calendar_area .performance_list .list .con .info .top { height: 74px; overflow-y: auto; }
#main_calendar .calendar_area .performance_list .list .con .info .top h3 { font-size: 0.9rem; color: #333; letter-spacing: -0.025em; line-height: 1.3; word-break:keep-all; font-weight: bold; }
#main_calendar .calendar_area .performance_list .list .con .info .foot { position: absolute; width: 100%; bottom:0; left:0; padding: 0 24px 40px 24px; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .date { font-size: 14px; color: #757575; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .place { font-size: 14px; color: #8b6631; margin-top: 13px; margin-bottom: 30px; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .btns { position: absolute; width: 100%; height: 40px; line-height: 40px; left:0; bottom:0; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .btns a { float: left; display: block; width: 50%; height: 100%; color: #fff; text-align: center; font-size: 14px; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .btns a.rsrvt { background: #588015; }
#main_calendar .calendar_area .performance_list .list .con .info .foot .btns a.read_more { background: #79746e; }
#main_calendar .calendar_area .performance_list .show_type01,
#main_calendar .calendar_area .performance_list .show_type02,
#main_calendar .calendar_area .performance_list .show_type03,
#main_calendar .calendar_area .performance_list .show_type04,
#main_calendar .calendar_area .performance_list .show_type05 { position: absolute; left: 10px; top:-6px; width: 39px; height: 44px; }
#main_calendar .calendar_area .performance_list .show_type01 { background: url('/images/common/show_type01.png') no-repeat center; }
#main_calendar .calendar_area .performance_list .show_type02 { background: url('/images/common/show_type02.png') no-repeat center; }
#main_calendar .calendar_area .performance_list .show_type03 { background: url('/images/common/show_type03.png') no-repeat center; }
#main_calendar .calendar_area .performance_list .show_type04 { background: url('/images/common/show_type04.png') no-repeat center; }
#main_calendar .calendar_area .performance_list .show_type05 { background: url('/images/common/show_type05.png') no-repeat center; }
#main_calendar .calendar_area .performance_list .list:nth-child(2n) { float: right; }

/* 사이트맵 팝업 */
#main_site_map { display: none; position: fixed; left: 0; top:0; background: rgba(0,0,0,0.9); width: 100%; height: 100%; z-index:2020; overflow: auto; }
#main_site_map .pop_close { position: absolute; display: inline-block; width: 42px; height: 41px; background: url('/images/common/ico_popup_close.png') no-repeat center; top:40px; right: 5%; z-index: 30; }
#main_site_map .site_map_wrap { position: relative; min-width: 1600px; margin: 0 auto; padding: 50px 0; text-align: center; }
#main_site_map .site_map_wrap > div { position: relative; display: inline-block; min-height: 1828px;}
#main_site_map .site_map { /* display: inline-block; min-width: 200px; text-align: left; padding: 0 15px; vertical-align: top; */ }
#main_site_map .site_map a { color: #fff; }
#main_site_map .site_map > li { display: inline-block; vertical-align: top; text-align: left; min-width:150px; padding: 0 15px; }
#main_site_map .site_map > li.position { position: absolute; top:695px; padding-top:50px; }
#main_site_map .site_map > li > a { font-size: 20px; font-weight: bold; display: block; }
#main_site_map .site_map > li > a:hover { color: #77a22f; }
#main_site_map .site_map > li > a:hover::after { background: #77a22f; }
#main_site_map .site_map > li > a::after { content:""; display: block; width: 17px; height: 3px; background: #fff; margin: 15px 0 13px 0; }
#main_site_map .site_map_bottom { position: absolute; left: 0; bottom:0; }
#main_site_map .site_map .sub > li { padding: 12px 0; }
#main_site_map .site_map .sub > li > a { position: relative; font-size: 16px; }
#main_site_map .site_map .sub > li > a:hover { color: #77a22f; }
#main_site_map .site_map .sub > li > a:hover::after { transform: scaleX(1); }
#main_site_map .site_map .sub > li > a:hover::before { background: #77a22f; }
#main_site_map .site_map .sub > li > a::before { content:""; display: inline-block; width: 3px; height: 3px; background: #999; vertical-align: middle; margin-right: 6px; }
#main_site_map .site_map .sub > li > a::after { position: absolute; width: 100%; height: 1px; background: #77a22f; left: 0; bottom:-4px; content:""; display: inline-block; transform: scaleX(0); transition: transform 0.2s ease-in-out; transform-origin:  0% 50%; }
#main_site_map .site_map .three_depth { padding-top: 10px; }
#main_site_map .site_map .three_depth > li { padding: 6px 0; }
#main_site_map .site_map .three_depth > li:hover::before { background:#77a22f; }
#main_site_map .site_map .three_depth > li:last-child { padding-bottom: 0; }
#main_site_map .site_map .three_depth > li > a { position: relative; font-size: 14px; color: #999; }
#main_site_map .site_map .three_depth > li > a:hover { color: #77a22f; }
#main_site_map .site_map .three_depth > li > a:hover::after { transform: scaleX(1); }
#main_site_map .site_map .three_depth > li > a:hover::before { background:#77a22f; }
#main_site_map .site_map .three_depth > li > a::before { content:""; display: inline-block; width: 4px; height: 1px; background: #999; vertical-align: middle; margin-right: 6px; margin-left: 10px; }
#main_site_map .site_map .three_depth > li > a::after { position: absolute; width: 100%; height: 1px; background: #77a22f; left: 0; bottom:-4px; content:""; display: inline-block; transform: scaleX(0); transition: transform 0.2s ease-in-out; transform-origin:  0% 50%; }

/* 메인 패밀리 사이트 팝업 */
#main_family_site { display: none; position: fixed; background: rgba(0,0,0,0.9); width: 100%; height: 100%; z-index:2020; overflow: auto; left: 0; top:0; }
#main_family_site .family_site_wrap { position: relative; width: 1300px; height: 100%; text-align: center; margin: 0 auto; }
#main_family_site .family_site_wrap ul { position: absolute; left: 50%; transform: translateX(-50%); display: block; width: 980px; /* width: 980px; padding: 30px 0; */ }
#main_family_site .family_site_wrap ul li { float: left; width: 300px; height: 200px; line-height: 200px; background: #77a22f; margin: 20px 40px 20px 0px; overflow: hidden; }
#main_family_site .family_site_wrap ul li:nth-child(3n) { margin-right: 0; }
#main_family_site .family_site_wrap ul li a { position: relative; display: block; background: #fff; }
#main_family_site .family_site_wrap ul li a img { display: inline-block; vertical-align: middle; transition: 0.2s ease; }
#main_family_site .family_site_wrap ul li a:hover::before { left: 0; right: 0; bottom: 0; top: 0; position: absolute; width: 100%; height: 100%; content:""; border:3px solid #77a22f; z-index: 1; }
#main_family_site .family_site_wrap ul li a:hover img { transform:scale(1.1); }
#main_family_site .family_site_wrap ul li a:focus-visible { outline: 3px solid #000; outline-offset: -6px; }
#main_family_site .pop_close { position: absolute; display: inline-block; width: 42px; height: 41px; background: url('/images/common/ico_popup_close.png') no-repeat center; top:40px; right: 5%; }

/* 모바일 */
html.mobile { min-width: 1440px; }
html.mobile #main_section1 .new_main .swiper { height:750px; }
html.mobile #main_section2 .show_list li { height: 375px; }
html.mobile #main_section3 .project_list li { height:750px; }
html.mobile #main_section3 .academy_list li { height:750px; }
html.mobile #main_section4 .info_list li a { font-size: 14px; padding-left: 35px; height: 32px; line-height: 32px; letter-spacing: -1px; }
html.mobile #main_section4 .info_list li a::before { width: 32px; height: 32px; background-size: 20px; }

.cm_swiper_button { white-space:nowrap; text-indent: 100%; overflow: hidden; width: 47px; height: 79px; position: absolute; top:50%; margin-top: -39.5px; z-index: 1; border: 0; padding: 0; background-color: transparent; cursor:pointer; }
.cm_swiper_button.prev { left: 20px; background-image: url(/images/common/ico_prev.png); }
.cm_swiper_button.next { right: 20px; background-image: url(/images/common/ico_next.png); }
.cm_swiper_button.prev:hover { background-image: url(/images/common/ico_prev_hover.png); }
.cm_swiper_button.next:hover { background-image: url(/images/common/ico_next_hover.png); }