/* scroll */
::-webkit-scrollbar { width:5px; height: 3px; }
::-webkit-scrollbar-track { background:#eee; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; }
::-webkit-scrollbar-thumb { height:50px; width:50px; background:#000; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }
::-webkit-scrollbar-thumb:window-inactive { background:#000; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }

.scroll_on { opacity: 0; transition: all 1s;}
.scroll_on.active {opacity: 1 !important;transform: translate(0, 0) !important;}
.scroll_on.type_top {transform: translate(0, -50px);}
.scroll_on.type_bottom {transform: translate(0, 50px);}
.scroll_on.type_left {transform: translate(-50px, 0);}
.scroll_on.type_right {transform: translate(50px, 0);}

.scroll_on02 { opacity: 0; transition: all 1s;}
.scroll_on02.active {opacity: 1 !important; }

.wrap { position: relative; width: 1440px; margin: 0 auto; }
.wrap02 { position: relative; width: 1280px; margin: 0 auto; }

/* head */
#header { position: absolute; left: 0px; top: 0px; width: 100%; height: 100px; z-index: 9000; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }
#header:after { content:""; opacity:0; visibility:hidden; position:absolute; left:50%; top:100px; z-index:1; width:100%; height:1px; background:#ddd; -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%); -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; -ms-transition:opacity 0.3s; -o-transition:opacity 0.3s; transition:opacity 0.3s; }
.head .wrap { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 90px; }

.logo { position: absolute; top: 25px; left: 2%; z-index: 9; }

#header .hd-menu .gnb-wrap { height:100%;}
#header .hd-menu .gnb-wrap .gnb { display:flex; justify-content:center; align-items:center;height:100%; text-align:center;}
#header .hd-menu .gnb-wrap .gnb > li { position: relative; display: flex; justify-content: center; align-items: center; padding: 0px 30px; height: 100px; -webkit-transition: all ease .3s; -moz-transition: all ease .3s; -ms-transition: all ease .3s; -o-transition: all ease .3s; transition: all ease .3s; }
#header .hd-menu .gnb-wrap .gnb > li:after { content:""; position:absolute; left:50%; bottom:0; width:0; height:3px; background:#5db9e2; -webkit-transform:translate(-50%); -moz-transform:translate(-50%); -ms-transform:translate(-50%); -o-transform:translate(-50%); transform:translate(-50%); }
#header .hd-menu .gnb-wrap .gnb > li > a { display: flex; justify-content: center; align-items: center; color: #222; font-size: 20px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
#header.on .hd-menu .gnb-wrap .gnb > li { padding: 0px 30px; }
#header.on .hd-menu .gnb-wrap .gnb > li.on > a{ color:#5db9e2; } 
#header .hd-menu .gnb-wrap .gnb > li .depth { opacity:0; visibility:hidden; position:absolute; left:0; top:100%; padding-top:30px; width:100%; }
#header .hd-menu .gnb-wrap .gnb > li .depth:before { content: ""; position: absolute; left: 0; top: 30px; width: 1px; height: 150px; background: #ddd; }
#header .hd-menu .gnb-wrap .gnb > li:first-child .depth:before {display:none;}
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li > a { display: block; padding: 8px 10px; color: #666; font-size: 1em; letter-spacing: -0.03em; line-height: 1.4; word-break: keep-all; }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li { position:relative;}  
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li > i { position:absolute; right:0; top:10px; font-size:2rem; color:#666; cursor:pointer;}
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li > i:hover { color:#5db9e2;}
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li > a > span {position:relative;} 
#header .hd-menu .gnb-wrap .gnb > li.open .depth { display:block;} 
#header .hd-menu .gnb-wrap .gnb > li.open > a:after { top:28px; border-left:2px solid #999; border-top:2px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); } 
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li:hover > a{ color:#666; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li.active > a, #header .hd-menu .gnb-wrap .gnb > li .depth2 > li.on > a, #header .hd-menu .gnb-wrap .gnb > li.open .depth > ul > li.on > a{ color:#5db9e2; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li.on > a{ color:#5db9e2; }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li.active > a { color:#5db9e2 }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li.active .depth2 { display:block; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li:hover > a { color: #5db9e2; font-weight: 500; }

#header.on { overflow:hidden; height:310px; background:#fff; -webkit-box-shadow:1px 1px 25px rgb(67 67 67 / 10%); box-shadow:1px 1px 25px rgb(67 67 67 / 10%);}
#header.on:after { opacity:1; visibility:visible;}
#header.on .hd-menu .gnb-wrap .gnb > li > a, #header.scrolled .hd-menu .gnb-wrap .gnb > li > a { color:#000; }
#header.on .hd-menu .gnb > li .depth { opacity:1; visibility:visible; -webkit-transition-delay: 0.1s; -moz-transition-delay: 0.1s; -ms-transition-delay: 0.1s; -o-transition-delay: 0.1s; transition-delay: 0.1s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; -ms-transition:all 0.3s; -o-transition:all 0.3s; transition:all 0.3s; }

.menu-toggler, .mobile_menu { display: none; }

.head_rightbox { position: absolute; top: 30px; right: 2%; display: flex; flex-wrap: wrap; align-items: center; }

.dropdown_main { position: relative; display: flex; flex-wrap: wrap; align-items: center; height: 40px; margin-right: 30px; padding-left: 40px; }
.dropdown_main:after { content:''; position: absolute; left: 0px; top: 9px; width: 22px; height: 22px; background: url('../image/top/lang_icon01.png') center center no-repeat; }
.dropdown_bar { padding-right: 30px; background: url('../image/top/lang_arrow01.png') center right no-repeat; color: #666; font-size: 16px; font-weight: 500; cursor: pointer; transition: all 0.3s; }
.dropdown_content { position: absolute; top: 100%; right: 0; display: none; margin-top: 5px; width: 100px; background: #fff; border-radius: 5%; box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1); animation: fade-in 1s ease; z-index: 99; }
.dropdown_content a { display: block; text-align: center; padding: 4px 15px; color: #666; font-size: 13px; line-height: 1.5; text-decoration:none; transition: all 0.3s; }
.dropdown_content a:hover { color: #5db9e2; }
.dropdown_content a:first-child { padding-top: 13px; }
.dropdown_content a:last-child { padding-bottom: 13px; }

.drop_icon2 { display: none; }
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* footer */
.footer { position: relative; padding: 50px 0; background: #222; font-size: 15px; }
.footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
.footer_inr01 h4 { margin-bottom: 30px; color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -0.03em; }
.footer_inr01 .footer_menu { display: flex; flex-wrap: wrap; margin-bottom: 20px; }
.footer_inr01 .footer_menu li { position: relative; padding: 0 15px; }
.footer_inr01 .footer_menu li:first-child { padding-left: 0px; }
.footer_inr01 .footer_menu li:after { content:''; position: absolute; right: 0px; top: 10%; width: 1px; height: 80%; background: rgba(255, 255, 255, 0.5); }
.footer_inr01 .footer_menu li:last-child:after { display: none; }
.footer_inr01 .footer_menu li a { color: rgba(255, 255, 255, 0.5); transition: all 0.3s; }
.footer_inr01 .footer_menu li a:hover { color: rgba(255, 255, 255, 1); }
.footer_inr01 p { color: rgba(255, 255, 255, 0.5); }
.footer_inr02 { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: flex-end; }
.footer_inr02 img { margin-left: 30px; }

/* main */
.main_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 820px; margin-top: 100px; background: #eee url('../image/main/main_vis_bg01.jpg') center top no-repeat; background-size: cover; }

.main_text_title { position: relative; display: flex; flex-direction: column; flex-wrap: wrap; align-items: center; margin-bottom: 50px; }
.main_text_title .title_text { position: relative; text-align: center; }
.main_text_title .title_text img { max-width: 100%; }

.main_textbox { margin-top: 20px; }
.main_textbox p { text-align: center; color: #1a1311; font-weight: 700; }
.main_textbox .main_text_title02 { margin-bottom: 80px; font-size: 32px; font-family: 'GounBatang'; font-weight: 600; }
.main_textbox .main_text_title03 { font-size: 24px;}

.main_con { overflow: hidden; position: relative; padding: 100px 0; }

.main_con_title { text-align: center; margin-bottom: 50px; }
.main_con_title span { display: block; margin-bottom: 20px; color: rgba(0, 0, 0, 0.3); font-family: 'GounBatang'; font-size: 22px; font-weight: 600; text-transform: uppercase; }
.main_con_title h2 { color: #1a1311; font-size: 42px; font-weight: 800; letter-spacing: -0.025em; word-break: keep-all; }

.main_con03:after {
	content: ''; position: absolute; bottom: 0; left: 0; z-index: -1; width: 100%; height: 360px; background: url('../image/main/main_con01_bg01.jpg') bottom left no-repeat; background-size: cover;
	transform: scaleX(0); /* 처음에 가로폭 0 */
	transform-origin: left; /* 왼쪽에서 시작 */
	transition: transform 5s ease-out; /* 애니메이션 */
}

/* 활성화 시 */
.main_con03.active:after { transform: scaleX(1); /* 원래 크기로 확장 */ }

.aibox { width: 800px; max-width: 100%; margin: 0 auto; margin-bottom: 100px; }
.aibox h3 { display: flex; flex-wrap: wrap; align-items: center; padding-left: 15px; padding-right: 60px; width: 100%; height: 80px; border-bottom: 4px solid #222222; font-size: 28px; line-height: 1; }
.ai_inputbox { position: relative; }
.ai_inputbox input.ai_input { width: 100%; height: 80px; padding: 0; padding-right: 60px; border: none; border-bottom: 4px solid #222; font-size: 24px; }
.ai_inputbox input.ai_input::placeholder { color:#d4d4d4; }
.ai_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; position: absolute; top: 15px; right: 0; width: 50px; height: 50px; background: #222; border: none; border-radius: 500px; color: #fff; font-size: 21px; }
.ai_btn i { position: relative; /* transition: transform 0.3s ease; */ animation: ani02 0.5s infinite alternate; }

@keyframes ani02 { 0%{transform:translate(0,5px);} 100%{transform:translate(0,-5px);} }

.main_con01_inr { display: flex; flex-wrap: wrap; gap: 0 20px; }
.main_con01_inr .con01_banner { overflow: hidden; flex: 1; height: 400px; border-radius: 10px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.main_con01_inr .con01_banner a { position: relative; padding: 50px 30px; display: flex; flex-wrap: wrap; width: 100%; height: 100%; }
.main_con01_inr .con01_banner a .bg { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
.main_con01_inr .con01_banner a .bg img{ position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: bottom; transition: transform 0.3s; }
.main_con01_inr .con01_banner a:hover .bg img { transform: scale(1.2); transition: transform 0.3s; }
.main_con01_inr .con01_banner a h3 { position: relative; z-index: 9; color: #fff; font-family: "NEXON Lv2 Gothic"; font-size: 28px; font-weight: 500; line-height: 1.4; }

.main_con02:after { 
	content:''; position: absolute; bottom: 0px; left: 0px; z-index: -2; width: 100%; height: 260px; background: url('../image/main/main_con02_bg01.jpg') bottom left no-repeat; background-size: cover;
	transform: scaleX(0); /* 처음에 가로폭 0 */
	transform-origin: left; /* 왼쪽에서 시작 */
	transition: transform 5s ease-out; /* 애니메이션 */
}
.main_con02.active:after { transform: scaleX(1); /* 원래 크기로 확장 */ }

.main_con02:before { 
	content:''; position: absolute; top: 0px; right: 0px; z-index: -1; width: 460px; height: 100%; background: url('../image/main/main_con02_bg02.jpg') bottom left no-repeat; background-size: cover;
	transform: scaleY(0); /* 처음에 세로폭 0 */
	transform-origin: bottom; /* 왼쪽에서 시작 */
	transition: transform 3s ease-out; /* 애니메이션 */
}
.main_con02.active:before { transform: scaleY(1); /* 원래 크기로 확장 */ }

a.main_btn { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 200px; height: 55px; padding: 0 30px; background: #5db9e2; border-radius: 500px; color: #fff; font-size: 18px; font-weight: 500; transition: 0.3s; }
a.main_btn:after { content:''; position: absolute; right: 30px; top: calc(50% - 4px); width: 20px; height: 7px; background: url('../image/main/main_con01_arrow01.png') center top no-repeat; }
a.main_btn:hover { background: #41829f; }

.main_con01:before { 
	content:''; position: absolute; top: 0px; left: 0px; z-index: -1; width: 460px; height: 100%; background: url('../image/main/main_con03_bg01.jpg') top left no-repeat; background-size: cover;
	transform: scaleY(0); /* 처음에 세로폭 0 */
	transform-origin: top; /* 왼쪽에서 시작 */
	transition: transform 3s ease-out; /* 애니메이션 */
}
.main_con01.active:before { transform: scaleY(1); /* 원래 크기로 확장 */ }

/* sub */
.sub_vis { position: relative; margin-top: 100px; width: 100%; height: 400px; background: #eee url('../image/sub/sub_vis01.jpg') center center no-repeat; background-size: cover; }

.sub_textbox { display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; width: 100%; height: 100%; }
.sub_textbox_inr { position: relative; z-index: 9; display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; text-align: center; margin-bottom: 50px; }
.sub_textbox_inr p {  }
.sub_textbox_inr .title_text { position: relative; }
.sub_textbox img { height: 180px; }
.sub_textbox .main_text_title03 { text-align: center; color: #222; font-size: 20px; font-weight: 700; }
.sub_textbox .main_text_title03.mobile_text { display: none; }

.sidebar { position: absolute; left: 0; bottom: -32px; z-index: 90; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 100%; margin-bottom: 0px; }
.sidebar .wrap { position: relative; display: flex; flex-wrap: wrap; justify-content: flex-start; }
.sidebar .wrap:after { content:''; position: absolute; left: 0px; bottom: 0px; width: 100%; height: 1px; background: #ddd; display: none; }
.sidebar .home { position: relative; z-index: 9; width: 64px; height: 64px; margin-right: 5px; background: #5db9e2; border-radius: 5px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
.sidebar .home a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100%; font-size: 1.3em; color: #fff; transition: 0.5s; }
.sidebar .depth { position: relative; background: #fff; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
.sidebar .depth_1 { width: 250px; margin-right: 5px; border-radius: 5px; }
.sidebar .depth_2 { width: 250px; border-radius: 5px; }
.sidebar .depth:before { content:''; position: absolute; left: 0px; top: 0%; width: 1px; height: 100%; background: #ddd; display: none; }
.sidebar .depth_1:before { display: none; }
.sidebar .depth_2:after { content:''; position: absolute; right: 0px; top: 0%; width: 1px; height: 100%; background: #ddd; display: none; }
.sidebar .depth_title { position: relative; width: 100%; height: 64px; padding: 0 30px; text-align: left; background: transparent; border: none; color: #333; font-size: 1em; font-weight: 500; transition:0.5s; }
.sidebar .depth_title:after { content:"\e942"; position: absolute; top: calc(50% - 7px); right: 15px; font-family: 'xeicon' !important; color: #ccc; transition: 0.5s; }
.sidebar .depth_title:hover:after { color: #2f4858; }
.sidebar .depth .sub_ul { position: absolute; left: 0px; top: calc(100% - 1px); width: 100%; padding: 10px 0px; background-color: #fff; border-radius: 5px; box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1); }
.sidebar .depth .sub_ul li { padding: 8px 30px; }
.sidebar .depth .sub_ul li a { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; text-align: left; color: #888; transition:0.5s; }
.sidebar .depth .sub_ul li a:hover { color: #2f4858; text-decoration: underline; }

.sub_contents { padding: 100px 0 0; color: #333; }
.board_contents { padding: 100px 0 ; color: #333; }

.sub_title { text-align: center; width: 100%; margin-bottom: 80px; }
.sub_title h2 { font-size: 48px; font-weight: 800; }
.sub_title h2 span { position: relative; z-index: 1; font-family: "NEXON Lv2 Gothic"; }

.sub_contents h3 { position: relative; margin-bottom: 30px; padding-left: 20px; font-size: 32px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; }
.sub_contents h3:after { content:''; position: absolute; left: 0px; top: 10%; width: 4px; height: 80%; background: #41829f; }
.sub_contents h3 span { font-weight: 800; }

.sub_page_inr { padding: 100px 0; }
.sub_page_inr_first { padding-top: 0px; }

.about_textbox01 { text-align: center; font-size: 24px; letter-spacing: -0.03em; line-height: 1.6; }
.sub_title .about_textbox01 { margin-top: 30px; }
.about_textbox02 { text-align: center; font-size: 20px; letter-spacing: -0.03em; line-height: 1.6; }

.about01_imgbox { text-align: center; margin-top: 50px; }
.about01_imgbox img { max-width: 100%; }

.about_point { text-align: center; margin-bottom: 30px; color: #2f4858; font-family: 'GounBatang'; font-size: 45px; font-weight: 600; }
.about_list01 { position: relative; display: flex; flex-wrap: wrap; justify-content: center; margin: 80px 0 0; }
.about_list01:after { content:''; position: absolute; left: 20%; top: 50%; width: 60%; height: 2px; background: #eee; z-index: -1; }
.about_list01 li { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; text-align: center; width: 300px; height: 300px; margin: 0 40px; border-radius: 500px; color: #fff; font-size: 28px; font-weight: 600; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
.about_list01 li:nth-child(1) { background: #5db9e2; }
.about_list01 li:nth-child(2) { background: #fff; color: #2f4858; border: 5px dashed #2f4858; }
.about_list01 li:nth-child(3) { background: #2f4858; }
.about_list01 li span.eng_stitle { display: block; margin-bottom: 10px; width: 100%; font-size: 18px; opacity: 0.5; }

.about_inr02 { background: #f7f7f7; }
.about_map { text-align: center; margin-bottom: 50px; }
.about_map img { max-width: 100%; }
.about_inr02 h4 { text-align: center; margin-bottom: 30px; font-size: 24px; font-weight: 600; letter-spacing: -0.03em; }
.about_inr02 .about_textbox02 { text-align: center; }
.about_list02 { display: flex; flex-wrap: wrap; margin-bottom: 80px; }
.about_list02 li { width: 49%; margin-bottom: 15px; }
.about_list02 li:nth-child(2n+1) { margin-right: 2%; }
.about_list02 li dl { display: flex; flex-wrap: wrap; }
.about_list02 li dl dt, .about_list02 li dl dd {  }
.about_list02 li dl dt { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 120px; height: 40px; background: #2f4858; border-radius: 500px; color: #fff; font-weight: 600; }
.about_list02 li dl dd { display: flex; flex-wrap: wrap; align-items: center; width: calc(100% - 120px); padding-left: 20px; font-size: 18px; }

.about_list03 { margin-top: 50px; }
.about_list03 li { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 15px; }
.about_list03 li:last-child { margin-bottom: 0px; }
.about_list03 li dl { display: flex; flex-wrap: wrap; }
.about_list03 li dl dt, .about_list03 li dl dd { position: relative; font-size: 18px; }
.about_list03 li dl dt { padding-right: 15px; color: #41829f; font-weight: 700; }
.about_list03 li dl dt:after { content:''; position: absolute; top: 15%; right: 0px; width: 2px; height: 70%; background: #41829f; }
.about_list03 li dl dd { padding-left: 15px; font-weight: 600; }

.about_list04 { display: flex; flex-wrap: wrap; justify-content: center; margin: 80px 0 80px; }
.about_list04 li { flex: 1; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: flex-start; align-items: center; text-align: center; }
.about_list04 li .imgbox { overflow: hidden; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; margin-bottom: 30px; border-radius: 500px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
.about_list04 li .imgbox img { max-width: 100%; }
.about_list04 li .textbox { font-size: 20px; font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; }
.about_list04 li .textbox strong { color: #41829f; font-size: 24px; }

.about_inr04 { background: #eef3f5; }

.about_list05 { display: flex; flex-wrap: wrap; justify-content: center; margin: 80px 0; }
.participation_inr .about_list05 { margin: 0px 0; }
.about_list05 li { margin: 0 50px; }
.about_list05 .imgbox { position: relative; margin-bottom: 40px; padding: 15px; border: 1px dashed #41829f; border-radius: 500px; }
.about_list05 .imgbox:after { content: ''; position: absolute; left: calc(50% - 5px); bottom: -6px; width: 10px; height: 10px; background: #41829f; border-radius: 10px; }
.about_list05 .imgbox img { max-width: 100%; }
.about_list05 li .textbox { text-align: center; }
.about_list05 li .textbox h4 { color: #41829f; margin-bottom: 20px; font-size: 32px; }
.about_list05 li .textbox h4 span { display: block; margin-top: 5px; font-size: 17px; font-weight: 300; letter-spacing: 3px; opacity: 0.5; }
.about_list05 li .textbox p { color: #2f4858; font-size: 1.05em; line-height: 1.5; letter-spacing: -0.03em; }

.sub_btnbox { text-align: center; }

/*popup*/
.popup_layer {position:fixed;top:0;left:0;z-index: 10000; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); }

/*팝업 박스*/
.popup_box{
	overflow: hidden;
	position: relative;
	top:50%;
	left:50%;
	width:50%;
	height: auto;
	background:#fff;
	transform:translate(-50%, -50%);
	z-index:1002;
	box-sizing:border-box;
	border-radius: 10px;
	box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);
}

/*컨텐츠 영역*/
.popup_box .popup_cont { padding:50px 30px; }
.popup_box .popup_cont h4 { text-align: center; margin-bottom: 30px; font-size: 28px; }
.popup_box .popup_cont h5 { position: relative; margin-bottom: 15px; padding-left: 20px; font-size: 18px; font-weight: 700; }
.popup_box .popup_cont h5:after { content: ''; position: absolute; left: 0px; top: 0px; width: 8px; height: 8px; background: #41829f; border-radius: 10px; }
.popup_box .popup_cont p { margin-bottom: 30px; padding-left: 20px; line-height: 1.5; word-break: keep-all; }
.popup_box .popup_cont p:last-child { margin-bottom: 0px; }

/*버튼영역*/
.popup_box .popup_btn {display:table;table-layout: fixed;width:100%; word-break: break-word;}
.popup_box .popup_btn a { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; height: 60px; background: #5db9e2; color: #fff; font-weight: 500; transition:0.3s; }
.popup_box .popup_btn a:hover { background: #41829f; }
.popup_box .popup_btn a i { margin-right: 5px; font-weight: bold; }

/*오버레이 뒷배경*/
.popup_overlay{position:fixed;top:0px;right:0;left:0;bottom:0;z-index:1001;;background:rgba(0,0,0,0.5);}

/* 프로그램 */
.program_inr { display: flex; flex-wrap: wrap; }
.program_cont { display: flex; flex-wrap: wrap; }
.program_cont01 { margin-bottom: 80px; }
.program_cont04 { margin-top: 80px; }
.signature .program_cont04 { margin-top: 0px; }
.program_continr { display: flex; flex-wrap: wrap; align-content: flex-start; width: 100%; }
.program_wh100 { width: 100%; }
.program_wh50 { width: 49%; }

.program_cont04 h3 { position: relative; text-align: left; margin-bottom: 50px; padding-left: 20px; width: 100%; font-size: 28px; font-weight: 500; line-height:1.1; letter-spacing: -0.05em; }
.program_cont04 h3:after { content:''; position: absolute; left: 0px; top: 10%; width: 4px; height: 80%; background: #007a7e; border-radius: 4px; }
.program_cont04 h3 span { font-weight: 700; }

.program_cont01 .week_box, .program_cont04 .week_box { width: 19%; margin-left: 1.25%; }
.program_cont01 .week_box:first-child, .program_cont04 .week_box:first-child { margin-left: 0%; }
.program_cont01 .week_box.week_box_fri { width: 58.75%; }

.program_cont02 { margin-right: 2%; }

.week_title { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 100%; height: 60px; margin-bottom: 30px; border-top: 2px solid #222; border-bottom: 2px solid #5db9e2; color: #333; font-family: 'WavvePADO-Regular'; font-size: 20px; }
.week_title:after { content:''; position: absolute; left: calc(50% - 5px); bottom: -5px; width: 10px; height: 10px; background: #5db9e2; border-radius: 10px; }
.week_title i { margin-left: 5px; font-size: 14px; font-style: normal; }

.program_list { display: flex; flex-wrap: wrap; gap: 0 1.33%; width: 100%; }
.program_list01 li { width: 100%; }
.program_list02 li { width: 24%; }

.program_title { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; height: 50px; margin-bottom: 10px; padding: 7px 5px; background: #2f4858; border-radius: 5px; color: #fff; font-family: 'WavvePADO-Regular'; font-size: 16px; line-height: 1.4; }
.program_title .en_title { font-family: 'Pretendard'; font-weight: 500; letter-spacing: -0.03em; }
.program_title .people { display: block; font-size: 13px; font-family: 'Pretendard'; }

.con02_list02_inr { text-align: center; min-height: 140px; margin-bottom: 10px; padding: 15px 10px; border: 1px solid #e4e4e4; background: #fff; border-radius: 7px; box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05); }
.con02_list02_inr:last-child { margin-bottom: 0px; }
.con02_list02_inr.bg_blue { background: #e2f6ff; border: 1px solid #c6d7df; }
.con02_list02_inr.bg_yellow { background: #ffffe2; border: 1px solid #e7e7b7; }
.con02_list02_inr dt { overflow:hidden; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; width: 100%; min-height: 40px; margin-bottom: 5px; font-size: 17px; font-weight: 700; word-break: keep-all; }
.week_box_fri .con02_list02_inr dd { display: flex; flex-wrap: wrap; }
.week_box_fri .con02_list02_inr dd .program_info { width: 32%; margin-left: 2%; }
.week_box_fri .con02_list02_inr dd .program_info:nth-child(3n+1) { margin-left: 0%; }
.program_info span { display: block; color: #555; }
.program_info span.instructor { display: flex; flex-wrap: wrap; justify-content: center; align-content: center; min-height: 32px; margin-bottom: 5px; font-size: 14px; word-break: keep-all; }
.program_info span.time { font-size: 15px; }
.program_btnbox { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; margin-top: 15px; }
.program_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width:100%; max-width: 120px; height: 30px; border-radius: 3px; font-size: 13px; font-weight: 500; }
.program_btn01 { margin-right: 2%; background: #333; color: #fff; }
.program_btn02 { background: #333; color: #fff; }
.program_btn03 { background: #5db9e2; color: #fff; }

.program02  { display: flex; flex-wrap: wrap; }
.program02 .imgbox { text-align: center; width: 500px; }
.program02 .imgbox img { max-width: 100%; width: 768px; }
.soundbath_textbox { display: flex; flex-wrap: wrap; align-content: center; width: calc(100% - 500px); padding-left: 80px; }
.soundbath_textbox p { width: 100%; margin-bottom: 50px; font-size: 1.6em; font-weight: 700; line-height: 1.5; }
.soundbath_infobox { width: 100%; }
.soundbath_infobox ul { width: 100%; }
.soundbath_infobox ul li { display: flex; flex-wrap: wrap; justify-content: flex-start; width: 100%; margin-top: 15px; font-size: 1.3em; }
.soundbath_infobox ul li:first-child { margin-top: 0px; }
.soundbath_infobox ul li.btnbox { margin-top: 50px; }
.soundbath_infobox ul li dl { display: flex; flex-wrap: wrap; width: 100%; }
.soundbath_infobox ul li dl dt, .about_list03 li dl dd { position: relative; font-size: 18px; }
.soundbath_infobox ul li dl dt { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 120px; height: 35px; background: #41829f; border-radius: 500px; color: #fff; font-weight: 600; }
.soundbath_infobox ul li dl dd { display: inline-flex; flex-wrap: wrap; align-items: center; width: calc(100% - 120px); padding-left: 30px; font-weight: 500; line-height: 1.4; }

.signature_inr02 { background: #eef3f5; }

.signature_inr_in { display: flex; flex-wrap: wrap; }
.signature_imgbox { width: 500px; }
.signature_imgbox img { max-width: 100%; }
.signature_textbox { width: calc(100% - 500px); padding-left: 80px; font-size: 20px; line-height: 1.5; }
.signature_textbox .mb50 { margin-bottom: 50px; }
.signature_textlist li { display: flex; flex-wrap: wrap; margin-top: 10px; }
.signature_textlist li:first-child { margin-top: 0px; }
.signature_textlist li.point { color:#2f4858; font-weight: 700; font-size: 1.1em; }
.signature_textlist li.btnbox { margin-top: 30px; }
.signature_textlist li .title { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; width: 120px; height: 40px; background: #41829f; border-radius: 500px; color: #fff; font-size: 18px; font-weight: 600; }
.signature_textlist li p { display: inline-flex; flex-wrap: wrap; align-items: center; width: calc(100% - 120px); padding-left: 30px; font-weight: 500; line-height: 1.4; }

a.signature_btn01 { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 200px; height: 55px; padding: 0 30px; background: #2f4858; border-radius: 5px; color: #fff; font-size: 18px; font-weight: 500; transition: 0.3s; }
a.signature_btn01:after { content:''; position: absolute; right: 30px; top: calc(50% - 4px); width: 20px; height: 7px; background: url('../image/main/main_con01_arrow01.png') center top no-repeat; }
a.signature_btn01:hover { background: #1a2831; }

.directory_inr { display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; align-items: center; }
.directory_btnbox { margin: 50px 0; }
.directory_imgbox { overflow: hidden; text-align: center; max-width: 360px; border: 1px solid #bfcdd3; border-radius: 10px; }
.directory_imgbox img { overflow: hidden; max-width: 480px; width: 100%; }

.directory_btn { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 240px; height: 55px; padding: 0 20px; border-radius: 5px; color: #fff; font-size: 0.95em; font-weight: 500; transition: 0.3s; }
.directory_btn:after { content: "\ea8b"; position: absolute; right: 20px; top: calc(50% - 12px); font-family: 'xeicon' !important; font-size: 24px; }
.directory_btn:hover { background: #1a2831; }

.directory_btn01 { background: #5db9e2; }
.directory_btn01:hover { background: #41829f; }

.directory_btn02 { background: #2f4858; }
.directory_btn02:hover { background: #1a2831; }