@charset "utf-8";
*{margin: 0; padding: 0; box-sizing: border-box; letter-spacing: -0.025em; word-break: keep-all;}
select {

   -webkit-appearance:none; /* for chrome */

   -moz-appearance:none; /*for firefox*/

   appearance:none;

}
::-moz-selection {
   background: #4c7a93;
   color: #fff;
}
::selection {
   background: #4c7a93;
   color: #fff;
}
select::-ms-expand{

   display:none;/*for IE10,11*/

}

/*********common***********/
p {line-height: 1.8em; font-size: 14px; font-weight: 500;}
a{text-decoration:none; color: #333;}
a:link{text-decoration:none;}
a:hover{text-decoration:none;}
a:active{text-decoration:none;}
a:visited{text-decoration:none;}
img {vertical-align: top;}
.clearfix:before,
.clearfix:after{display:table; content:"";}
.clearfix:after{clear:both;}
ul,li{list-style:none;}
body{position: relative; font-family: 'Noto Sans KR', serif; color: #333;}
.w50p {float: left; width: 50%;}
.posc {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}
.mont {font-family: 'Montserrat', sans-serif;}
.bas {font-family: 'Libre Baskerville', serif;}
.serif,strong.serif, b.serif {font-family: 'Gosanja', serif; font-weight: 100;}
.title, strong.title, b.title {font-family: 'RixYeoljeongdo_Regular'; font-weight: 100;}
.old, strong.old, b.old {font-family: 'kdg_Medium';}
.star, strong.star, b.star {font-family: 'RixYeoljeongdo_Regular'; font-weight: 100 !important;}
.ink {font-family: 'InkLipquid';}
.gs {font-family: 'GmarketSans', sans-serif;}
.red {color: red;}
.yellow {color: #f5da0b;}
/*********common end***********/
.topbtn {position: fixed; bottom: 10px; right: 10px; display: block; width: 35px; height:35px; background: #972327; z-index: 999; text-align: center; display: none; border-radius: 50%; border: 3px solid  #fff;}
.topbtn:before {position: absolute; content: ''; width:7px; height: 7px; border-top: 2px solid #fff; border-right: 2px solid #fff; display: inline-block; transform: translate(-50%,-50%) rotate(-45deg); position: absolute; top: 50%; left: 50%; transition: .3s;}
.topbtn:hover:before {top: 50%;}
.topbtn a {display: block; height: 100%; position: relative;}

/*********header***********/
header {height: 60px; background: #fff; position: fixed; width: 100%; left: 0; top: 0; z-index: 999999; transition:.3s; overflow: hidden; box-shadow: 5px 5px 15px rgba(0,0,0,0.1);}
header .logo_top {float: left; transition: .2s; margin-top: 3px; margin-left: 3px;}
header .logo_top:hover {opacity: .8;}
header .logo_top img {width: 250px;}
header .menu_btn {position: absolute; right: 12px; top: 15px; width: 35px; height: 28px;}
header .menu_btn div {width: 100%; height: 3px; background: #000; position: absolute; transition: .5s;}
header .menu_btn div:nth-of-type(1) {top: 0;}
header .menu_btn div:nth-of-type(2) {top: 50%; transform: translateY(-50%);}
header .menu_btn div:nth-of-type(3) {bottom: 0;}

header .menu {position: fixed; right: -100%; top: 0; height: 100%; width: 65%; background: #fff; padding: 90px 20px 0 20px; border-left: 1px solid #000; transition:.3s; z-index: 9999;}
header .menu.on {right: -1%;}
header .menu div.sidemenu {position: relative; margin-bottom: 15px; border-bottom: 1px solid  #333;}
header .menu div.sidemenu p {font-size: 18px; padding-bottom: 10px; position: relative;}
header .menu div.sidemenu > a {display: block; font-size: 18px; color: #333; padding-bottom: 15px; position: relative;}
header .menu div.sidemenu p:before {position: absolute; content: ''; top: 30%; right: 10px; transform: translateY(-50%) rotate(-45deg); border-left: 2px solid #000; border-bottom: 2px solid #000; width: 7px; height: 7px; transition:.3s;}
header .menu div.sidemenu p.on:before {transform: rotate(135deg);}
header .menu div.sidemenu ul {padding-bottom: 10px; display: none;}
header .menu div.sidemenu ul li {position: relative;}
header .menu div.sidemenu ul li:before {position: absolute; content: ''; top: 50%; transform: translateY(-50%); width: 5px; height: 1px; border-radius: 50%; background: #000; left: 5px;}
header .menu div.sidemenu ul li a {display: block; color: #000; font-size: 16px; padding: 5px 0; transition: .3s; padding-left: 15px;}

header .menu_bottom {}
header .menu_bottom a {display: block; border-radius: 30px; background: #6a95e6; text-align: center; color: #fff; padding: 5px 0; margin-top: 10px;}
header .menu_bottom a i {vertical-align: middle; font-size: 21px;}
header .menu_bottom a span {font-size: 20px; margin-left: 5px; vertical-align: middle; font-weight: 900;}

header .close_btn {position: absolute; right: 0px; top:10px; width: 30px; height: 30px;}
header .close_btn div {position: absolute; width: 3px; height: 100%; background: #000; transition: .3s; transform-origin: center;}
header .close_btn div:nth-child(1) {transform: rotate(45deg); width: 3px; height: 100%;}
header .close_btn div:nth-child(2) {right: -30px;}
header .close_btn div:nth-child(3) {transform: rotate(-45deg); width: 3px; height: 100%;}

.header_call {background: #6e5d55; height: 50px; border-radius: 30px; padding: 10px; margin-top: 20px;}
.header_call h2 {color: #fff; font-size: 26px; height: 100%; display: flex; align-items: center; justify-content: center; line-height: 1em;}
.header_call span {border-radius: 50%; background: #972327; vertical-align: middle; display: inline-block; width: 35px; height: 35px; margin-right: 5px;}
.header_call span img {width: 20px; vertical-align: middle;}

.fixed_btn {position: fixed; width: 100%; left: 50%; transform: translateX(-50%); bottom: 0; z-index: 9999;}
.fixed_btn a {float: left; width: 50%; padding: 8px 0; text-align: center; transition:.5s;}
.fixed_btn a img {height: 28px; margin-right: 5px;}
.fixed_btn a span {font-size: 16px; font-weight: 700; color: #fff;}
.fixed_btn a:nth-of-type(1) {background: #01c73c; border-radius: 15px 0 0 0;}
.fixed_btn a:nth-of-type(2) {background: #f2d900; border-radius: 0 15px 0 0;}
.fixed_btn a:nth-of-type(2) span {color: #3b1c1d;}
.fixed_btn a:nth-of-type(3) {background: #6a95e6;}
.fixed_btn a:nth-of-type(4) {background: #4276b3;}
.fixed_btn a:hover {opacity: .7;}

/*********header end***********/

/***************footer***************/
footer {margin-bottom: 80px;}
footer .footer_top {border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 10px 0; text-align: center;}
footer .footer_top a {display: inline-block; font-size: 13px; color: #666;}
footer .footer_top span {display: inline-block; width: 1px; height: 12px; vertical-align: middle; background: #666; margin: 0 10px;}
footer .footer_cont .wrap {padding: 15px 0; text-align: center;}
footer .footer_cont .wrap div p {font-size: 12px;}
footer .footer_cont .wrap div p span {padding-right: 13px; color: #999;}
footer .footer_cont .wrap div p b {padding-right: 5px; color: #666;}
/**keyframes**/
@keyframes zoom-bg {
	0% {transform: scale(1);}
	100% {transform: scale(1.2);}
}
@keyframes spin {
	0% {width: 110%; height: 110%;}
	50% {width: 115%; height: 115%;}	
	100% {width: 110%; height: 110%;}
}
/*.main*/
.container {}
.container section {overflow: hidden;}
.container section:not(.main_visual) {padding-top: 30px;}
.container section:last-of-type {padding-bottom: 30px;}
.container section .wrap {padding: 0 10px;}
.more {display: inline-block; padding-bottom: 5px; font-size: 16px; color: #333; position: relative;}
.more:before {position: absolute; content: ''; width: 0%; height: 1px; background: #333; left: 0; bottom: 0; transition: ease-in-out .5s;}
.more:hover:before {width: 100%;}
.main_title {text-align: center; margin-bottom: 10px;}
.main_title h2 {font-size: 38px; color: #000; }
.main_title h2 strong {color: #e52126; }
.main_title p {margin-top: 5px; margin-bottom: 10px; color: #666;}

.main_visual {width: 100%; position: relative; overflow: hidden;}
.main_visual .visual_slide .swiper-slide > img {width: 100%; height: 40vh; object-fit: cover;} 
.main_visual .visual_slide .swiper-slide-active img {animation: zoom-bg 15s alternate infinite ease-in-out;}
.main_visual .visual_slide .swiper-slide > .main_visual_txt {position: absolute; text-align: center; width: 100%; bottom: 0; left: 0; z-index: 999; padding: 20px; border-radius: 45% 45% 0 0; color: #fff; background: #667db6;  /* fallback for old browsers */ background: -webkit-linear-gradient(to right, #0082c8, rgba(102, 125, 182, 0.7));  /* Chrome 10-25, Safari 5.1-6 */ background: linear-gradient(to right, #0082c8, rgba(102, 125, 182, 0.7)); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */}
.main_visual .visual_slide .swiper-slide > .main_visual_txt span {background: #fff; display: inline-block; padding: 5px 15px; letter-spacing: 2px; margin-bottom: 5px; color: #333; font-weight: 700; font-size: 10px; display: none;}
.main_visual .visual_slide .swiper-slide > .main_visual_txt p {font-size: 14px; font-weight: 300;}
.main_visual .visual_slide .swiper-slide > .main_visual_txt h1 {font-size: 48px; line-height: 1em;}
.main_visual .visual_slide .swiper-slide > .main_visual_txt a {display: inline-block; padding: 5px 15px; margin-top: 15px; text-align: center; border: 1px solid  #fff; color: #fff; transition:.4s; font-size: 14px; display: none;}
.main_visual .visual_slide .swiper-slide > .main_visual_txt a:hover {background: #fff; color: #333;}

.main_visual .visual_thumb {position: absolute; width: 100%; left: 50%; transform: translateX(-50%); bottom: 0; z-index: 999; display: none;}
.main_visual .visual_thumb .swiper-wrapper div {display: block; float: left; width: 20%; text-align: center; padding: 20px 0; height: 80px; color: #fff; border-radius: 18px 18px 0 0; transition:.5s; position: relative; overflow: hidden; cursor: pointer;}
/*.main_visual .visual_thumb .swiper-wrapper div:before {position: absolute; content: ''; width: 25px; height: 150%; background: #fff; transform: skewX(35deg); left: -300px; bottom: 0; opacity: 0; overflow: hidden;}*/
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(1) {background: #e52126;}
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(2) {background: #fff; color: #333;}
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(3) {background: #6bc6fe;}
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(4) {background: #0997f0;}
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(5) {background: #27263a;}
.main_visual .visual_thumb .swiper-wrapper div img {height: 40px; vertical-align: middle; padding-right: 10px; transition: .5s;}
.main_visual .visual_thumb .swiper-wrapper div span {font-size: 24px; vertical-align: middle; font-weight: 700;}
.main_visual .visual_thumb .swiper-wrapper div:nth-of-type(2):before {background: #fcfc7a;}
.main_visual .visual_thumb .swiper-wrapper div:hover img {padding-right: 20px; transform: rotateY(360deg);}
/*.main_visual .visual_thumb .swiper-wrapper div:hover:before {left: 300px; opacity: 1; transition: all .5s ease-in-out;}*/

.main_program .wrap .program_cont {display: flex; justify-content: center; align-items: center; flex-direction: column; border: 1px solid #ddd; border-radius: 50px 50px 50px 0; overflow: hidden; margin: 20px 0; box-shadow: 5px 5px 15px rgba(0,0,0,0.05); transition: .5s ease;}
.main_program .wrap .program_cont .program_img {}
.main_program .wrap .program_cont .program_img img {width: 100%;}
.main_program .wrap .program_cont .program_txt {width: 100%; transition:.5s; padding: 15px 0; text-align: center;}
.main_program .wrap .program_cont .program_txt h1 {font-size: 38px; color: #000;}
.main_program .wrap .program_cont .program_txt h3 {font-size: 16px; color: #666;}
.main_program .wrap .program_cont .program_txt h2 {color: #e52126; font-size: 60px; margin: 20px 0; position: relative; display: inline-block; line-height: 1em;}
.main_program .wrap .program_cont .program_txt h2 span {display: block; font-size: 12px; line-height: 1em; position: absolute; top: -10px;}
.main_program .wrap .program_cont .program_txt h2 small {color: dodgerblue; text-decoration: line-through; position: absolute; right: 0; top: -38px; font-size: 20px;}
.main_program .wrap .program_cont .program_txt p {font-size: 12px; margin-top: 30px;}
.main_program .wrap .program_cont .program_arrow {font-size: 10px; color: #666; position: absolute; left: 50%; transform: translateX(-50%); bottom: 50px;}
.main_program .wrap .program_cont .program_arrow span {position: absolute; width: 30px; background: #000; height: 1px; right: -35px; bottom: 5px; transition: .5s;}
.main_program .wrap .program_cont .program_arrow span:before {position: absolute; content: ''; background: #000; width: 10px; height: 1px; transform: rotate(45deg); bottom: 3px; right: -2px;}
.main_program .wrap .program_cont:hover {border-color: dodgerblue;}
.main_program .wrap .program_cont:hover .program_txt {width: 54%;}
.main_program .wrap .program_cont:hover .program_arrow span {right: -80px;}
.main_program .wrap .main_prowrap table tbody > tr > td {width: 350px;}
.main_program .wrap .main_prowrap table tbody > tr > td a {display: block;}
.main_program .wrap .main_prowrap table tbody > tr > td a img {width: 100%; border: 1px solid transparent; transition: .3s;}
.main_program .wrap .main_prowrap table tbody > tr > td a:hover img {border: 1px solid red;}
.main_program .wrap .main_prowrap01 > table > tbody > tr:nth-of-type(1) {display: none;}
.main_program .wrap .main_pro_cont {}
.main_program .wrap .main_pro_cont a {display: block; border: 1px solid #ddd; transition:.3s; width: 49%; float: left; margin-right: 2%; margin-bottom: 10px;} 
.main_program .wrap .main_pro_cont a:nth-of-type(2n) {margin-right: 0;}
.main_program .wrap .main_pro_cont a:hover {border-color: red;}
.main_program .wrap .main_pro_cont a img {width: 100%;}

.main_notice .wrap {}
.main_notice .wrap .main_notice_cont {margin-bottom: 30px;}
.main_notice .wrap .main_notice_cont h2 {font-weight: 600; color: #333; font-size: 22px; display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #ddd;}
.main_notice .wrap .main_notice_cont h2 a {color: #666; font-size: 14px;}
.main_notice .wrap .main_notice_cont h2 a span {transition: .5s;}
.main_notice .wrap .main_notice_cont h2 a:hover span {padding-right: 5px;}
.main_notice .wrap .main_notice_cont table tr {display: flex; justify-content: space-between; padding: 10px 0;}
.main_notice .wrap .main_notice_cont table tr td {font-size: 13px;}
.main_notice .wrap .main_notice_cont > img {width: 100%;}
.main_notice .wrap .main_notice_cont > img {width: 100%;}
/**************sub common******************/
.sub {}
.sub .wrap {}
.sub .sub_wrap {padding: 30px 0;}
.sub .sub_gall {padding: 30px 0;}
.subtop {background-repeat: no-repeat; background-position: center; background-size: cover; height: 180px; text-align: center; color: #fff; position: relative; margin-top: 60px; display: flex; justify-content: center; align-items: center;}
.subtop h1 {font-size: 34px;}
.subtop01 {background-image: url(../img/subtop01.jpg);}
.subtop02 {background-image: url(../img/subtop02.jpg);}
.subtop03 {background-image: url(../img/subtop03.jpg);}
.subtop04 {background-image: url(../img/subtop04.jpg);}
.subtop05 {background-image: url(../img/subtop05.jpg);}
.subtop06 {background-image: url(../img/subtop06.jpg);}

.sub .sub_title {text-align: center; margin-bottom: 30px;}
.sub .sub_title h1 {font-size: 34px; color: #333; position: relative; padding-bottom: 6px; margin-bottom: 6px;}
.sub .sub_title h1:before {position: absolute; content: ''; width: 50px; height: 1px; background: #666; left: 50%; transform: translateX(-50%); bottom: 0;}

.sub_cont_title {padding-bottom: 20px; text-align: center;}
.sub_cont_title h4 {font-size: 22px; margin-bottom: 5px;}
.sub_cont_title h2 {font-size: 26px; margin: 5px 0;}

.submenu {} 
.submenu a {background: #f4f4f4; border-right: 1px solid #ddd; padding: 10px 0; text-align: center; color: #666; float: left; display: block; font-size: 12px;}
.submenu a:last-of-type {border-right: none;}
.sub1 .submenu a:nth-of-type(1) {background: #e52125; color: #fff;}
.sub2 .submenu a:nth-of-type(2) {background: #e52125; color: #fff;}
.sub3 .submenu a:nth-of-type(3) {background: #e52125; color: #fff;}
.sub4 .submenu a:nth-of-type(4) {background: #e52125; color: #fff;}
.sub5 .submenu a:nth-of-type(5) {background: #e52125; color: #fff;}

.sub01 .submenu a {width: 20%;}
.sub05 .submenu a {width: 33.333333%;}
.sub06 .submenu a {width: 25%;}
/**************sub ******************/
.subimg {width: 100%;}

.sub_reserve .wrap > img {width: 100%;}

.consult_cont table tr th {text-align: center; padding-left: 0;}
.consult_cont table tr:nth-of-type(8) input,
.consult_cont table tr:nth-of-type(8) select,
.consult_cont table tr:nth-of-type(9) input,
.consult_cont table tr:nth-of-type(9) select,
.consult_cont table tr:nth-of-type(10) input,
.consult_cont table tr:nth-of-type(10) select {width: 27%;}

.sub_reports .sub_reports_title {text-align: center; margin-bottom: 30px;}
.sub_reports .sub_reports_title h4 {color: #666;}
.sub_reports .sub_reports_title h2 {font-size: 44px; position: relative; display: inline-block; background: #fff;}
.sub_reports .sub_reports_title h2:before {position: absolute; content: ''; width: 30px; height: 2px; background: #000; top: 50%; left: -40px; transform: translateY(-50%);}
.sub_reports .sub_reports_title h2:after {position: absolute; content: ''; width: 30px; height: 2px; background: #000; top: 50%; right: -40px; transform: translateY(-50%);}
.sub_reports .sub_reports_cont {padding: 0 10px;}
.sub_reports .sub_reports_cont > h3 {margin-bottom: 10px; margin-top: 30px; font-size: 20px;}
.sub_reports .sub_reports_cont p {margin: 15px 0;}
.sub_reports .sub_reports_cont > h2 {color: #4fbcff;}
.sub_reports .sub_reports_cont > h2 strong {font-size: 40px; margin-right: 10px;}
.sub_reports .reports_table {width: 100%; border-collapse: collapse; border: 1px solid  #ddd; text-align: center; font-size: 14px; margin: 15px 0;}
.sub_reports .reports_table tr th {background: #4fbcff; color: #fff; padding: 8px;}
.sub_reports .reports_table tr td {padding: 8px;}
.sub_reports .sub_reports_program {position: relative;}
.sub_reports .sub_reports_program:before {position: absolute; content: ''; height: 90%; width: 1px; background: #666; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1;}
.sub_reports .sub_reports_program li {text-align: center; border: 1px solid  #ddd; border-radius: 15px; margin-bottom: 15px; overflow: hidden; padding-top: 20px; background: #fff;}
.sub_reports .sub_reports_program li h4 {font-size: 24px; padding: 8px 0;}
.sub_reports .sub_reports_program li p {margin: 0; position: relative; padding: 25px 15px; background: #666; color: #fff;}
.sub_reports .sub_reports_program li p:before {position: absolute; content: ''; width: 30px; height: 1px; background: #333; left: 50%; transform: translateX(-50%); top: 0;}
.sub_reports .sub_reports_program li img {height: 60px;}

.sub_reports .sub_reports_notice li {text-align: center; padding: 20px 10px; border: 1px solid  #ddd; border-bottom: none;}
.sub_reports .sub_reports_notice li:last-of-type {border-bottom: 1px solid #ddd;}
.sub_reports .sub_reports_notice li h3 {color: #666; font-size: 24px;}
.sub_reports .sub_reports_notice li img {height: 60px;}
.sub_reports .sub_reports_img img {width: 100%;}