@font-face {
    font-family: 'KCCMurukmuruk';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/KCCMurukmuruk.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}


/* ===== MAIN - VISUAL ===== */
/*.main-visual {position:relative; margin:0 auto;height:100vh; }
.main-visual .visual-slider {overflow:hidden;position:absolute;left:50%;top:50%;width:100%;height:100%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}
.main-visual .visual-slider .swiper-slide {overflow:hidden;position:relative;height:100%;}
.main-visual .visual-slider .swiper-slide .vs-bg {position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1);   transition-duration:3s;}
.main-visual .visual-slider .swiper-slide .vs-bg1{ background:url(../img/main/Visual01.jpg) no-repeat 50% 50%; background-size:cover;}
.main-visual .visual-slider .swiper-slide .vs-bg2{ background:url(../img/main/Visual02.jpg) no-repeat 50% 50%; background-size:cover;}
.main-visual .visual-slider .swiper-slide .vs-bg3{ background:url(../img/main/Visual03.jpg) no-repeat 50% 50%; background-size:cover;}
.main-visual .visual-slider .swiper-slide .vs-bg4{ background:url(../img/main/Visual04.jpg) no-repeat 50% 50%; background-size:cover;}
.main-visual .visual-slider .swiper-slide .vs-bg5{ background:url(../img/main/Visual05.jpg) no-repeat 50% 50%; background-size:cover;}
.main-visual .visual-slider .swiper-slide .vs-txt { position:absolute; bottom:400px; left:10%; z-index:1; }
.main-visual .visual-slider .swiper-slide .vs-txt h1{ font-size:77px; font-weight:700; padding-bottom:20px;}
.main-visual .visual-slider .swiper-slide .vs-txt p{ font-size:37px;}
.main-visual .visual-slider .swiper-slide .vs-txt h2, .main-visual .visual-slider .swiper-slide .vs-txt h1, .main-visual .visual-slider .swiper-slide .vs-txt p {opacity:0;color:#fff;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px);  margin-top:20px;}


.main-visual .visual-slider .main-visual-btn{ position:absolute; bottom:200px; right:10%; width:255px;}
.main-visual .visual-slider .swiper-button-prev {position:absolute;left:0; top:auto; bottom:0;z-index:10;background:none;}
.main-visual .visual-slider .swiper-button-prev i, .main-visual .visual-slider .swiper-button-next i{ font-size:25px; color:#fff; text-align:center; line-height:70px; width:70px; border-radius:50%; display:block;  border:1px #fff solid;}
.main-visual .visual-slider .swiper-button-prev:after {display:none;}
.main-visual .visual-slider .swiper-button-next {position:absolute; left:170px;top:auto; bottom:0;z-index:10;margin-top:0; background:none;}
.main-visual .visual-slider .swiper-button-next:after {display:none;}

.main-visual .visual-slider .swiper-pagination {position:absolute;left:90px;bottom:0;z-index:10;margin-top:20px;width:70px;font-size:17px;color:#fff;letter-spacing:0.333em;font-style:italic;}
.main-visual .visual-slider .swiper-pagination span {font-style:normal;}
.main-visual .visual-slider .swiper-slide.swiper-slide-active .vs-bg {-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:transform 1.4s;-moz-transition:transform 1.4s;-ms-transition:transform 1.4s;-o-transition:transform 1.4s;transition:transform 1.4s;}
.main-visual .visual-slider .swiper-slide.swiper-slide-active .vs-bg1{}
.main-visual .visual-slider .swiper-slide.swiper-slide-active .vs-txt h2, .main-visual .visual-slider .swiper-slide.swiper-slide-active .vs-txt h1 {opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity 1s, transform 1.4s;-moz-transition:opacity 1s, transform 1.4s;-ms-transition:opacity 1s, transform 1.4s;-o-transition:opacity 1s, transform 1.4s;transition:opacity 1s, transform 1.4s;	}
.main-visual .visual-slider .swiper-slide.swiper-slide-active .vs-txt p {opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity 1s, transform 1.4s;-moz-transition:opacity 1s, transform 1.4s;-ms-transition:opacity 1s, transform 1.4s;-o-transition:opacity 1s, transform 1.4s;transition:opacity 1s, transform 1.4s;	-webkit-transition-delay:0.1s;-moz-transition-delay:0.1s;-ms-transition-delay:0.1s;-o-transition-delay:0.1s;transition-delay:0.1s;}
.hide {position: absolute;left: -9999%;font-size: 0;line-height: 0;text-indent: -9999px;}*/



/* ===== 메인 비주얼 ===== */
.main-slide { position: relative;  width: 100%;  height: 100vh;  overflow: hidden;}
/* 슬라이드 */
.main-slider,
.main-slider li {  height: 100vh; z-index: -10;}
.main-slider li {  background-size: cover;  background-position: center;}
/* 텍스트 */
.main-slide-text {  position: absolute; top: 50%;  left: 50%;  transform: translate(-50%, -50%);  z-index: 10;  text-align: center;  color: #fff;}
.main-slide-text img{filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.5));}
/* 하단 버튼 */
.main-slide-btn {  position: absolute;  bottom: 120px;  width: 100%;  text-align: center;  z-index: 10;}
.main-slide-btn ul {display: inline-flex; justify-content: center;  align-items: center; gap: 65px;}
.main-slide-btn ul li { position: relative;  padding: 0 30px; /* 아이템 간격 */ text-align: center;}
/* 마지막 요소에는 선을 그리지 않음 */
.main-slide-btn ul li:not(:last-child)::after { content: "";  position: absolute; top: 50%; right: -40%;  width: 50px; border-top: 1px dotted #bbb;}
.main-slide-btn ul li a { color: #fff; text-decoration: none;  display: block;}
.main-slide-btn a {  /*color: #fff;  opacity: .7; text-decoration: none;*/
color: rgba(255, 255, 255, .4); 
    opacity: .7; 
    font-weight: 400; 
    transition: all .4s ease; /* transition 시간을 조금 여유 있게 조절 */
    display: block;}
.main-slide-btn a.active {color: #fff; 
    opacity: 1; 
    font-weight: 700; /* 폰트도 조금 더 굵게 */
    transform: scale(1.2) translateY(-10px); /* 1.2배 크게 확대하고 위로 살짝 올림 */}
/* 내부 이미지에 대한 효과 추가 (필요한 경우) */
.main-slide-btn a img {
    transition: all .4s ease;
    width: 45px; /* 초기 이미지 크기 지정 (기존 크기에 맞춰 조절) */
}

.main-slide-btn a.active img { margin-bottom: 15px;
    transform: scale(1.5); /* 이미지만 별도로 조금 더 키우고 싶을 때 */
}
/* 컨트롤 */
.slide-control {  position: absolute;  bottom: 50px;  left: 50%;  transform: translateX(-50%); z-index: 10;}
.slide-control button {  background: rgba(0,0,0,.6);  color: #fff;  border: 0;  padding: 8px 12px;  cursor: pointer;}
/* ===== 하단 네비 기본 ===== */
.main-slide-btn a { color: rgba(255,255,255,.4);  opacity: .7;  font-weight: 400; transition: all .3s ease;}
/* ===== 활성 네비 (현재 슬라이드) ===== */
.main-slide-btn a.active {  color: #fff;  opacity: 1;  font-weight: 600;}
/* 선택사항: 살짝 위로 떠 보이게 */
.main-slide-btn a.active { transform: translateY(-2px);}




.main_txt {}
.main_txt h1{font-size:72px; font-weight: 400;}
.main_txt h1 strong{ font-weight: 700;}
.main_txt p{font-size: 22px;}

/* 기본 레이아웃 설정 */
#sec01 {margin: 160px 0;}
#sec01 .main_txt {text-align: center; margin-bottom: 50px;}
#sec01 .main_txt h1 {margin-bottom: 10px;}
#sec01 .s01 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; position: relative;}
#sec01 .s01:before{ position: absolute;content: ''; top: -170px; left: -240px; width: 388px;  height: 476px; background: url(../img/main/sec01_deco1.png) no-repeat center / cover; background-position-y: top; animation: bounce 3s infinite; }
#sec01 .s01:after{ position: absolute;content: ''; top: -195px; right: -140px; width: 458px;  height: 273px; background: url(../img/main/sec01_deco2.png) no-repeat center / cover; background-position-y: top; animation: bounce 3s infinite; z-index: -1;}
#sec01 .s01 li { position: relative; width: 100%; height: 100%;  overflow: hidden; border-radius: 20px; transition: 0.5s; }
#sec01 .s01 .card-img { height: 100%; }
#sec01 .s01 .card-img img { width: 100%; height: 100%; object-fit: cover; }
#sec01 .s01 .card-box { color: #fff; position: absolute;  bottom: -200px; left: 50%; transform: translateX(-50%);  width: 400px; height: 400px; background: rgba(230, 70, 50, 0.9);  border-radius: 50%;  transition: all 0.5s ease;  z-index: 2; text-align: center;    padding-top: 80px;  box-sizing: border-box;}
#sec01 .s01 .card-box .card-date{font-size: 20px;}
#sec01 .s01 .card-box .card-desc{font-weight: 600; font-size: 26px; margin-top: 7px;}
#sec01 .s01 li:hover .card-box {  bottom: -100px;}
#sec01 .s01 li::after {content: "";position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0); transition: 0.5s; border: 0px solid #e64632;  box-sizing: border-box; border-radius: 20px; z-index: 1;}
#sec01 .s01 li:hover::after {  background: rgba(0, 0, 0, 0.6);  border: 5px solid #e64632; }
#sec01 .s01 .reserve-btn {  opacity: 0; background: #fff; color: #e04833; transition: opacity 0.3s;  padding: 10px 30px;   display: inline-block;  border-radius: 50px;  font-size: 20px; font-weight: 600; margin-top: 10%;}
#sec01 .s01 li:hover .reserve-btn { opacity: 1; z-index: 3; }

@keyframes bounce {
	0% {
		transform: translate3d(0px, 0, 0px);
	}
	50% {
		transform: translate3d(0px, -10px, -10px);
	}
	100% {
		transform: translate3d(0px, 0, 0px);
	}
}

#sec02 { margin: 160px 0; }
#sec02 .snsbox { position: relative; display: flex; align-items: center; background: #485cc2; border-radius: 130px;  padding: 60px 120px; color: #fff;}
#sec02 .snstxt { flex-basis: 20%;  flex-shrink: 0; border-right: 1px dashed rgba(255,255,255,0.5); padding-right: 40px; }
#sec02 .snstxt p { font-size: 18px; opacity: 0.8; }
#sec02 .snstxt h1 { font-size: 52px; margin-top: 5px; }
#sec02 .snsbody { flex-grow: 1; padding: 0 90px;}
#sec02 .snsbody > p { font-size: 20px; margin-bottom: 25px; font-weight: 300; }
#sec02 .snsbody > p strong{font-weight: 600;}
#sec02 .snsbody ul { display: grid; grid-template-columns: repeat(5, 1fr);  gap: 25px;}
#sec02 .snsbody ul li a { display: flex;  align-items: center;background: #fff; color: #333; padding: 7px 10px; border-radius: 50px;  font-size: 20px; text-decoration: none; transition: 0.3s;}
#sec02 .snsbody ul li img { width: 42px; height: 42px; margin-right: 20px; }
/*#sec02 .snsbody ul li a:hover { background: #f0f0f0; border: 2px solid #000; }*/
#sec02 .snsbox::after { content: '';  position: absolute; right: 20px; top: -90px;  width: 227px;  height: 298px; background: url(../img/main/sec02_deco.png) no-repeat center / contain;}


#sec03  { margin: 160px 0; }
#sec03 .main_txt {text-align: center; margin-bottom: 50px;}
#sec03 .main_txt h1 {margin-bottom: 10px;}
#sec03 .tab-menu-1 { display: flex; gap: 15px; justify-content: center; margin-bottom: 30px; }
#sec03 .tab-menu-1 button {  padding: 15px 40px; border-radius: 50px; border: 2px solid #37458c;  background: #fff; color: #37458c; font-size: 20px; transition: 0.3s; cursor: pointer;}
#sec03 .tab-menu-1 button.active { background: #37458c; color: #fff; }
#sec03 .map-timeline { display: flex;  justify-content: space-evenly; border-top: 3px dashed #b2b2b2; margin: 40px 0; position: relative;}
/*#sec03 .map-item {  position: relative; padding-top: 30px; cursor: pointer; font-size: 20px; text-align: center;}
#sec03 .map-item::before {content: ''; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; background: #fff; border: 4px solid #37458c; border-radius: 50%;}
#sec03 .map-item.active::before { background: #37458c; }*/
#sec03 .map-item { 
    position: relative; 
    padding-top: 30px; /* 캐릭터가 들어갈 수 있도록 위쪽 공간 확보 */
    cursor: pointer; 
    font-size: 20px; 
    text-align: center;
}

/* 2. 타임라인 선 위의 기본 원(마커) 설정 */
#sec03 .map-item::before {
    content: ''; 
    position: absolute; 
    top: -12px; /* 선 위에 걸쳐지는 위치 */
    left: 50%; 
    transform: translateX(-50%); 
    width: 20px; 
    height: 20px; 
    background: #fff; 
    border: 4px solid #37458c; 
    border-radius: 50%;
    z-index: 2;
}
#sec03 .map-item.active::before {   background: #37458c; }
/* 3. off 상태일 때는 안 보이고, active 상태일 때만 보이는 캐릭터 이미지 영역 (가상요소 활용) */
#sec03 .map-item::after { content: ''; position: absolute; bottom: 80px; left: 68%; width: 100px;  height: 120px; background: url('../img/main/sec03_cha.png') no-repeat center center;  background-size: contain;  opacity: 0; visibility: hidden;  transition: all 0.3s ease;  z-index: 3;}
/* 4. active 상태가 되었을 때 캐릭터 이미지 등장! */
#sec03 .map-item.active::after {
    opacity: 1;           /* 불투명하게 보이도록 설정 (on) */
    visibility: visible;
    transform: translateX(-50%) translateY(0); /* 제자리로 톡 튀어나옴 */
}
#sec03 .content-box { display: flex; gap: 40px; padding: 40px; border: 1px solid #eee; border-radius: 20px; }

#sec03 .tab-content { display: none; }
#sec03 .tab-content.active { display: block; }
#sec03 .sub-content { display: none; }
#sec03 .sub-content.active { display: block; }

@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

#sec03 .sub-content { display: none;  flex-direction: row;  gap: 60px; padding: 20px 0; width: 100%;}
#sec03 .sub-content.active { display: flex;  animation: fadeInUp 0.5s;}
#sec03 .sub-c-img { flex-basis: 47%; border-radius: 30px; overflow: hidden;}
#sec03 .sub-c-img img {  width: 100%; height: 100%; object-fit: cover; display: block;}
#sec03 .sub-c-txt { flex-basis: 50%; display: flex; flex-direction: column; justify-content: space-between;}
#sec03 .sub-c-txt-head { }
#sec03 .sub-c-txt-head h2 { font-size: 40px; margin-bottom: 30px; color: #333; border-bottom: 2px solid #333; padding-bottom: 20px; display: flex; justify-content: space-between; align-items: flex-end;}
#sec03 .sub-c-txt-head h2 strong{ font-size: 22px;font-weight: 600; color: #222;}
#sec03 .sub-c-txt-head p {  font-size: 22px; line-height: 1.6; color: #666; }
#sec03 .sub-c-txt-head .amore{position: absolute; bottom: 0; right: 0;}
#sec03 .sub-c-txt-head .amore a {border: 1px solid #485cc2;  border-radius: 26px;  padding: 10px 45px;  font-size: 18px; color: #485cc2;  font-weight: 500;    display: inline-block;}
#sec03 .sub-c-txt-head .amore a:hover{background: #485cc2; color: #fff;}
/*#sec03 .sub-c-txt-sub { border-top: 1px dotted #bfbfbf; padding-top: 30px;}
#sec03 .sub-c-txt-sub h3 { font-size: 24px; margin-bottom: 15px; color: #333; }
#sec03 .sub-c-txt-sub p { font-size: 19px; line-height: 1.6; color: #666; margin-bottom: 15px; }
#sec03 .sub-c-txt-sub h4 {  font-size: 20px;  color: #485cc2; margin-top: 20px; padding-top: 20px; }*/
#sec03 .sub-c-txt-sub { border: 1px solid #bfbfbf;  background: #f6f6f6;  text-align: center; padding: 30px; margin-bottom: 125px;}
#sec03 .sub-c-txt-sub h3 { font-size: 26px; margin-bottom: 10px; color: #333; }
#sec03 .sub-c-txt-sub h4 {  font-size: 21px;  color: #485cc2; padding-top: 10px; }
#sec03 .sub-c-txt-sub p { font-size: 19px; line-height: 1.6; color: #555; margin-top: 6px; }


#sec04 { padding: 160px 0; position: relative;}
#sec04:before{ position: absolute;content: ''; top: 0px; left: 0px; width: 100%; height: 65%; background: url(../img/main/sec04_bg1.png) no-repeat center / cover; background-position-y: top; }
#sec04:after{ position: absolute;content: ''; bottom: 0px; left: 0px; width: 100%; height: 52%; background: url(../img/main/sec04_bg2.png) no-repeat center / cover; background-position-y:bottom; z-index: -1;}
#sec04 .s01 { display: flex; gap: 40px; margin-bottom: 40px; align-items: stretch; }
#sec04 .s01_notice {flex-basis: 49%;  flex-shrink: 0; }
#sec04 .s01_notice_title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; padding-bottom: 20px; border-bottom: 2px solid #555;}
#sec04 .s01_notice_title h1 { font-size: 42px; }
#sec04 .s01_notice_title a {  background: #37458c; color: #fff; padding: 12px 30px;  border-radius: 50px; text-decoration: none; font-size: 20px; }
#sec04 .s02 ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; padding: 0; }
#sec04 .s02 li {   border-radius: 20px;}
#sec04 .s02 li a{   padding: 40px; color: #fff;  height: 160px; display: flex; flex-direction: column; justify-content: space-between;}
#sec04 .s02 li a h3 { display: flex; justify-content: space-between; align-items: center; font-size: 26px; margin-bottom: 15px; }
#sec04 .s02 li a h3 img { width: 62px; }
#sec04 .s02 li p { font-size: 18px; line-height: 1.5; font-weight: 300;}

#sec04 .s02 li:nth-child(1) { background: #fbc22b; }
#sec04 .s02 li:nth-child(2) { background: #95c62a; }
#sec04 .s02 li:nth-child(3) { background: #ef7f19; }
#sec04 .s02 li:nth-child(4) { background: #576cdd; }
#sec04 .s01_notice_video {flex-grow: 1;}
.video_wrapper{position:relative;  width:100%; height:550px; margin:0 auto; background-color:#000; border-radius: 20px;}
.video_wrapper_full{}
.videoIframe{position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%; background-color:transparent;}
.videoPoster{position:absolute; opacity:1; overflow:hidden; top:0px; left:0px; width:100%; height:100%; background-size:100%; border:none; text-indent:-999em; transition:opacity 800ms, height 0s; -webkit-transition:opacity 800ms, height 0s; -moz-transition:opacity 800ms, height 0s; -webkit-transition-delay:0s, 0s; -moz-transition-delay:0s, 0s; transition-delay:0s, 0s;background:url(../img/main/maxresdefault.jpg) no-repeat 50% 50%; background-size:cover; border-radius: 20px; }
.videoPoster:hover{cursor:pointer;}
.videoPoster:before{content:''; position:absolute; top:50%; transform: translateY(-50%);left:50%; margin-left:-48px; z-index:2; width:96px; height:96px; background:url(../img/main/icon_play.png) no-repeat 50% 50%; background-size:cover; transition:border-color 300ms; border-radius:100%; -webkit-transition:border-color 300ms; -moz-transition:border-color 300ms;}
.videoPoster:after{content:''; position:absolute; opacity:0.2; top:0; left:0; z-index:1; width:100%; height:100%; background:#000; transition:all 0.4s ease-out 0s;}
.videoPoster:hover:after,
.videoPoster:focus:after{opacity:0.4;}
.videoPoster:hover:after,
.videoPoster:focus:after{border-left-color:#f00;}
.videoWrapperActive .videoPoster{opacity:0; height:0; -webkit-transition-delay:0s, 800ms; -moz-transition-delay:0s, 800ms; transition-delay:0s, 800ms;}





@media all and ( max-width: 1920px ){
	
	
	.main-visual .visual-slider .swiper-slide .vs-txt{ bottom:200px;}
	.main-visual .visual-slider .swiper-slide .vs-txt h1{ font-size:70px;}
	.main-visual .visual-slider .swiper-slide .vs-txt p{ font-size:30px;}
	.main-slide-text {top: 48%;}
	.main-slide-text img {  width: 75%;}
	.main-slide-btn a {font-size: 16px;}    
	.main-slide-btn a img{ width: 40px;}
	.main-slide-btn ul {gap: 45px;}
	.main-slide-btn {bottom: 50px;}
	
	.what .top { padding-top:110px;}
	.what .itemBox {width:208%;}
	.what .textBox {margin:20px 0 0;}
	.what ol li+li{ margin-left:50px;}
	.popupZone {height: 100%;}
	
	.main_txt h1 {font-size: 48px;}
	.main_txt p { font-size: 20px;}
	
	#sec01 {margin: 120px 0;}
	#sec01 .main_txt {	margin-bottom: 45px;}
	#sec01 .s01:before { top: -127px; left: -155px;  width: 290px; height: 355px;}
	#sec01 .s01:after {top: -150px;  right: -109px;  width: 362px;	height: 215px;}
	
	#sec02 {margin: 90px 0;}
	#sec02 .snsbox {padding: 45px 80px;}
	#sec02 .snstxt h1 {font-size: 36px;}
	#sec02 .snstxt p {font-size: 15px;}
	#sec02 .snsbody { padding: 0 45px;}
	#sec02 .snsbody > p {margin-bottom: 12px;}
	#sec02 .snsbody ul { gap: 16px;}
	#sec02 .snsbody ul li img {margin-right: 12px;}
	#sec02 .snsbody ul li a { padding: 3px 3px; font-size: 18px;}
	#sec02 .snsbox::after { top: -56px; width: 155px; height: 195px;}
	
	#sec03 {margin: 120px 0 60px 0;}
	#sec03 .main_txt { margin-bottom: 30px;}
	#sec03 .map-timeline {margin: 0;}
	#sec03 .sub-content {gap: 40px;}
	#sec03 .sub-c-txt-head h2 {font-size: 34px;}
	#sec03 .sub-c-txt-sub h3 {font-size: 22px; margin-bottom: 10px;}
	#sec03 .sub-c-txt-sub h4 { font-size: 18px; margin-top: 0px; padding-top: 5px;}
	#sec03 .sub-c-txt-head p {	font-size: 19px;}
	#sec03 .sub-c-txt-sub p { font-size: 17px;}
	#sec03 .map-item {font-size: 18px;}
	#sec03 .sub-content {padding: 40px 0;}
	
	#sec04 {padding: 120px 0;}
	#sec04 .s01_notice_title h1 { font-size: 36px;}
	#sec04 .s01_notice_title a {font-size: 18px;}
	#sec04 .s02 li a{padding: 26px; height: 140px;}
	#sec04 .s02 li a h3 {font-size: 22px;}
	#sec04 .s02 li a p { font-size: 16px;line-height: 1.2;}
	.video_wrapper{height:440px;}
	.videoPoster:before{ width:70px; height:70px;margin-left:-35px;}
	
	
}
@media all and ( max-width: 1680px ){

	.main-slide, .main-slider li  {height: 78vh;}
	.main-slide-btn ul { gap: 40px;}
	.main-slide-btn a.active { font-weight: 400;}
	    
	.main_txt h1 { font-size: 42px;}
	    
	#sec01 {margin: 100px 0;}
	#sec01 .s01 {gap: 30px;}
	#sec01 .s01 .card-box .card-date { font-size: 18px;}
	#sec01 .s01 .card-box .card-desc {font-size: 22px;}
	#sec01 .s01 .reserve-btn {font-size: 18px;}
	#sec01 .s01 .card-box {  width: 360px; height: 360px;}
	#sec01 .s01 li:hover::after { border: 3px solid #e64632; }
	
	#sec02 .snstxt h1 { font-size: 30px; }
	
	#sec03 {  margin: 90px 0 60px 0;}
	#sec03 .map-item::before {width: 16px; height: 16px; border: 3px solid #37458c;}
	#sec03 .sub-content {gap: 30px;}
	#sec03 .sub-c-txt-head h2 { font-size: 28px;  margin-bottom: 20px;padding-bottom: 12px;}
	
	#sec04 .s01 {gap: 30px; margin-bottom: 30px;}
	
	
}

@media all and ( max-width: 1440px ){
	
	/*.main-visual{ height:700px;}
	.main-visual .visual-slider .swiper-slide .vs-txt h1{ font-size:60px;}
	.main-visual .visual-slider .swiper-slide .vs-txt p{ font-size:25px;}*/
	    
	.main-slide, .main-slider li { height: 55vh; }
	.main-slide-text img { width: 50%;}
	
	#sec02 .snstxt {flex-basis: 16%; padding-right: 20px;}
}

@media all and ( max-width: 1280px ){
	
	/*.main-visual .visual-slider .main-visual-btn{ right:auto; left:10%; bottom:100px;}
	.main-visual .visual-slider .swiper-button-prev i, .main-visual .visual-slider .swiper-button-next i{ line-height:50px; width:50px;}
	.main-visual .visual-slider .swiper-pagination{ bottom:10px; margin:0; left:80px;}*/
	
	#sec01 .s01:before { top: -90px; left: -110px; width: 210px; height: 260px; }
	#sec01 .s01:after { top: -108px; right: -72px; width: 261px; height: 155px;}
	#sec01 .s01 { gap: 20px;}
	
	#sec02 .snstxt p {  font-size: 13px;}
	#sec02 .snsbody ul li a { font-size: 15px; }
	#sec02 .snsbody > p {	font-size: 18px;}
	#sec02 .snsbox::after { top: -45px; width: 125px; height: 183px;}
	#sec02 .snsbody ul { gap: 6px; }
	#sec02 .snsbody ul li img { width: 33px; height: 33px; margin-right: 7px;}
	    
	#sec03 { margin: 90px 0 20px 0; }
	#sec03 .tab-menu-1 {margin-bottom: 22px;}
	#sec03 .tab-menu-1 button { padding: 12px 32px; font-size: 17px;}
	#sec03 .map-item { padding-top: 18px; font-size: 16px;}
	#sec03 .sub-c-txt-head h2 { font-size: 22px; margin-bottom: 12px;}
	#sec03 .sub-c-txt-head p, #sec03 .sub-c-txt-sub p, #sec03 .sub-c-txt-head .amore a { font-size: 15px; line-height: 1.3;}
	#sec03 .sub-c-txt-sub h3 {font-size: 18px;}
	#sec03 .sub-content {gap: 20px;}
	#sec03 .map-item::after {bottom: 60px;}
	#sec03 .sub-c-txt-head h2 strong {font-size: 18px;}
	
	#sec04 .s01_notice_title h1 {font-size: 26px; }
	#sec04 .s01_notice_title a {font-size: 16px; }
	#sec04 .s01 {gap: 20px; margin-bottom: 20px;}
	#sec04 .s02 ul {grid-template-columns: repeat(2, 1fr);}
	#sec04:before {height: 40%;}
	#sec04:after {height: 26%;}
	
	
		
}
@media all and ( max-width: 1024px ){
	
	.main-slide-btn ul li a { font-size: 14px;}
	.main-slide-btn ul li a img{width: 40px;}
	
	.main_txt h1 { font-size: 32px; }
	.main_txt p { font-size: 17px;}
	
	
    #sec01 { margin: 60px 0;}
	#sec01 .main_txt {margin-bottom: 25px;}
	#sec01 .main_txt h1 {margin-bottom: 5px;}
	#sec01 .s01 { gap: 10px; }
    #sec01 .s01 .card-box .card-date { font-size: 15px; }
	#sec01 .s01 .card-box .card-desc {  font-size: 19px; margin-top: 4px;}
    
	#sec02 { margin: 0;}
	#sec02 .snsbox {display: block;}
	#sec02 .snstxt { border-right: none; border-bottom: 1px dashed rgba(255, 255, 255, 0.5); padding-right: 0; padding-bottom: 10px; margin-bottom: 10px; }
	#sec02 .snsbody { padding: 0;}
	   
	#sec03 {margin: 60px 0 20px 0; }
	#sec03 .tab-menu-1 {gap: 10px;}
	#sec03 .tab-menu-1 button { font-size: 16px;}
	#sec03 .sub-content.active {flex-direction: column;}
	#sec03 .sub-c-txt-head {padding-bottom: 40px;}
	
	#sec04 { padding: 60px 0;}
	#sec04 .s01 {flex-direction: column;}
	#sec04 .s02 li a{ height: 130px; }
	#sec04 .s02 li a h3 { font-size: 20px;}
	#sec04:before {  height: 20%;}
	#sec04:after { height: 17%;}
	
	
	
	
}

@media all and ( max-width: 800px ){
	

	.main-slide-btn ul { gap: 0; }
	.main-slide-btn ul li {padding: 0 20px;}
	.main-slide-btn ul li a img{width: 33px;}
	
	
	.main_txt p {font-size: 15px; }
	
	/*#sec01 .s01 {grid-template-columns: repeat(2, 1fr);}
	#sec01 .s01 li:nth-last-child(1){display: none;}*/
	#sec01 .s01:before {top: -63px;   left: -78px; width: 150px;height: 187px;}
	#sec01 .s01:after {top: -60px; right: -44px; width: 170px;height: 102px; }
	#sec01 .s01 li {border-radius: 12px;}
	#sec01 .s01 .card-box {  width: 220px;height: 220px; bottom: -100px; padding-top: 45px;}
	#sec01 .s01 .card-box .card-date { font-size: 14px; }
	#sec01 .s01 .card-box .card-desc {font-size: 16px;}
	#sec01 .s01 li:hover .card-box {  bottom: -50px;}
    #sec01 .s01 .reserve-btn { font-size: 15px; }
	
	#sec02 .snsbox { text-align: center;  padding: 30px 50px;}
	
}

@media all and ( max-width: 640px ){
	
	
	.main-visual .visual-slider .swiper-slide .vs-txt h1{ font-size:50px;}
	.main-visual .visual-slider .swiper-slide .vs-txt p{ font-size:22px;}
	.main-slide-btn a.active img { margin-bottom: 5px;}
	
	
	#sec01 .s01 {grid-template-columns: repeat(1, 1fr);}
	#sec01 .s01 .card-box { width: 350px; height: 350px;  bottom: -200px;  padding-top: 60px; }
	#sec01 .s01 li:hover .card-box {  bottom: -100px;}
	    
	#sec02 .snsbox {text-align: left; border-radius: 50px;}
	#sec02 .snsbody ul {grid-template-columns: repeat(3, 1fr);}	
	#sec02 .snsbox::after { top: -60px; width: 100px;}
	
	#sec03 .tab-menu-1 {  display: grid;  grid-template-columns: repeat(3, 1fr); }
	#sec03 .map-item { font-size: 14px;}
	#sec03 .sub-content {padding: 30px 0;}
	#sec03 .sub-c-img {border-radius: 12px;}
	#sec03 .tab-menu-1 button {padding: 8px 0;}
	
	#sec04 .s02 ul { grid-template-columns: repeat(1, 1fr); gap: 10px;}
	#sec04 .s02 li a{height: 110px;}
	#sec04 .s02 li a h3 img {  width: 55px;}

	.video_wrapper{ height:300px;}



	
	
}

@media all and ( max-width: 480px ){
	
	/*.main-visual .visual-slider .swiper-slide .vs-txt{ left:5%;}
	.main-visual .visual-slider .main-visual-btn{ left:5%;}
	.main-visual .visual-slider .swiper-slide .vs-txt h1{ font-size:40px;}*/
	    
	.main-slide-btn ul {gap: 0px;}
	.main-slide-btn ul li:not(:last-child)::after { right: -10%;width: 20px;}
	.main-slide-btn {bottom: 80px;}
	
	
	#sec02 .snstxt h1 {  font-size: 24px; }
	#sec02 .snsbox { padding: 30px 22px; }
	
	
	
	.video_wrapper{ height:230px;}
}











