.mainBx{
	overflow: hidden;
	background: #fff;
}
.main_visual{
	z-index: 2;
	position: relative;
	background: #fff;
}
.main_visual_v2 .keyvisual{padding-top: 8rem; text-align: center;}
.main_visual_v2 video{width: 85%;}

@media (min-width:1921px) {
	.main_visual_v2 video{width: 90%;}
}
@media (max-width:1199.98px) {
	.main_visual_v2 video{width: 100%;}
}
@media (max-width:767.98px) {
	.main_visual{overflow: hidden;}
}
@media (max-width:330px) {
	.visualBx{
		top: 50vh;
    transform: translateY(-60%);
	}
}






/*공통*/
.mainTit{
	line-height: 1;
	font-size: 6.8rem;
	font-weight: bold;
	font-family: "Barlow Condensed", sans-serif;
}
.mainTit small{
	display: inline-block;
	margin-left: 1rem;
	font-size: 2rem;
	font-weight: 600;
	font-family:'Pretendard',sans-serif;
	transform: translateY(-3px);
}
.moreBtn{margin-top: 3rem;}
@media (max-width:991.98px) {
	.mainTit{font-size: 5.5rem;}
	.mainTit small{font-size: 1.8rem;}
	.moreBtn{margin-top: 2rem;}
}
@media (max-width:767.98px) {
	.mainTit{font-size: 24px;}
	.mainTit small{
		font-size: 14px;
		margin-left: 5px;
		transform: translateY(0);
	}
}





/*sec01*/
.mainBx .sec01{
	z-index: 1;
	position: relative;
	padding:21.5rem 0;
	text-align: center;
	background: #fff;
	overflow: hidden;
}
.mainBx .sec01 .container{z-index: 1;}
.mainBx .sec01 h3{
	letter-spacing: -2%;
	line-height: 90%;
	font-size: 11rem; 
	font-weight: bold; 
}
.mainBx .sec01 h3 > div + div{margin-top: -1rem;}
.mainBx .sec01 h3 > div,
.mainBx .sec01 .desc,
.mainBx .sec01 .btnBx{
	overflow: hidden;
}
.mainBx .sec01 .desc{
	margin: 4.4rem 0 4rem;
	font-size: 2rem;
}
.mainBx .sec01 .desc p{
	line-height: 180%;
	font-weight: 300;
}
.mainBx .sec01 .moreBtn{margin: 0 auto; text-align: left;}

@media (max-width:1199.98px) {
	.mainBx .sec01{padding:15rem 0;}
	.mainBx .sec01 h3{font-size: 10rem;}
	.mainBx .sec01 h3 > div + div{margin-top: -.5rem;}
	.mainBx .sec01 .desc{
		margin: 3.5rem 0 3rem;
		font-size: 1.8rem;
	}
}
@media (max-width:991.98px) {
	.mainBx .sec01{padding:12rem 0;}
	.mainBx .sec01 h3{font-size: 8rem;}
}
@media (max-width:767.98px) {
	.mainBx .sec01{padding:70px 0;}
	.mainBx .sec01 h3{font-size: 60px;}
	.mainBx .sec01 .desc{
		margin: 20px 0;
		font-size: 16px;
	}
	.mainBx .sec01 .desc br{display: none;}
}



/*sec02*/
.mainBx .sec02{
	position: relative;
	background: #fff;
}
.mainBx .sec02::after{
	content:"";
	position:absolute;
  top:0;
	left:50%; right:50%;
	margin-left:-50vw;
	margin-right:-50vw;
	height:100%;
	background:#fff;
}
.mainBx .sec02 > *{
	z-index: 1;
	position: relative;
}
.mainBx .sec02 .swBx .swiper{
	padding: 7rem 0 21rem;
	overflow: visible;
}
.mainBx .sec02  .swiper-slide,
.mainBx .sec02  .swiper-slide-duplicate {
  opacity: 1 !important;
  transform: none !important;
}
.mainBx .sec02 .swiper-slide{
	/* width: 36rem; */
	width: 41rem;
	height: auto;
	flex-shrink: 0; 
	color: #000;
	padding-right: 5rem;
}
.mainBx .sec02 .swiper-slide a{
	color: #000;
}
.mainBx .sec02 .imgBx{
	box-shadow: 0 2.5rem 3.5rem rgba(0,0,0,0);
}
.mainBx .sec02 .cont:hover .imgBx{
	box-shadow: 0 2.5rem 3.5rem rgba(0,0,0,.35);
}
.mainBx .sec02 .txtBx dt{
	margin-bottom: 5px;
	font-size: 2rem;
	font-weight: bold;
}
.mainBx .sec02 .txtBx dd{
	font-size: 1.6rem;
	font-weight: 500;
}
.mainBx .sec02 .txtBx .line{
	display: block;
	/* width: 1.5px; height: 1.2rem;
	margin: 0 1rem;
	background: #000; */
}
@media (max-width:1199.98px) {
	.mainBx .sec02 .swBx .swiper{padding-bottom: 15rem;}
}
@media (max-width:991.98px) {
	.mainBx .sec02 .swBx .swiper{
		padding-top: 5rem;
		padding-bottom: 12rem;
	}
	.mainBx .sec02 .swiper-slide{
		width: 30rem;
		padding-right: 4rem;
	}
	.mainBx .sec02 .txtBx dt{
		margin-bottom: 3px;
		font-size: 1.8rem;
	}
	.mainBx .sec02 .txtBx dd{font-size: 1.5rem;}
	.mainBx .sec02 .txtBx .line {margin: 0 5px;}
}
@media (max-width:767.98px) {
	.mainBx .sec02 .swBx .swiper{
		padding-top: 20px;
		padding-bottom: 100px;
	}
	.mainBx .sec02 .swiper-slide{
		width: 220px;
		padding-right: 20px;
	}
	.mainBx .sec02 .txtBx dt{
		margin-bottom: 3px;
		font-size: 16px;
	}
	.mainBx .sec02 .txtBx dd{font-size: 12px;}
	.mainBx .sec02 .txtBx .line {
		display: block;
		margin: 0;
		width: 1px; height: 1px;
		background: none;
	}
}



/*sec03*/
main{
	z-index: 10;
	position: relative;
}
#main_container{overflow: hidden;}
#main_container > .sec03{
	padding:12rem 0;
	color: #fff;
	background:#1B170F;
}
#main_container > .sec03 > div{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
#main_container > .sec03 .txtBx{
	width: 50%;
}
#main_container > .sec03 .desc{
	margin: 6rem 0;
	line-height: 160%;
	font-size: 2.8rem;
	font-weight: 600;
}
#main_container > .sec03 .txtBx li + li{margin-top: 2.5rem;}
#main_container > .sec03 .txtBx li a{
	display: flex;
	align-items: center;
	gap: 4rem;
	line-height: 100%;
	font-size: 2.4rem;
	font-weight: 500;
	color: #fff;
	transition: all .3s;
}
#main_container > .sec03 .txtBx li:hover a{color: #42C1F4;}
#main_container > .sec03 .swBx{
	position: relative;
	width: 50%;
	margin: 0;
}
#main_container > .sec03 .swBx img{width: 100%;}
#main_container > .sec03 .sw-btn{
	z-index: 1;
	position: absolute;
	top: 50%;
	width: 4.2rem; height: 4.2rem;
	line-height: 4.4rem;
	text-align: center;
	color: #fff;
	background: #3185FF;
	border-radius: 50%;
	opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
#main_container > .sec03 .sw-prev{
	left: 0;
	transform: translate(-50%,-50%);
}
#main_container > .sec03 .sw-next{
	right: 0;
	transform: translate(50%,-50%);
}
/* PC: 마우스 오버 시 버튼 보이기 */
@media (hover: hover) and (pointer: fine) {
  #main_container > .sec03 .swBx:hover .sw-btn {
    opacity: 1;
    pointer-events: auto;
  }
}
/* 모바일: .show-buttons 클래스 있을 때만 보이기 */
 #main_container > .sec03 .swBx.show-buttons .sw-btn {
  opacity: 1;
  pointer-events: auto;
}

#main_container > .sec03 .swiper-pagination{
	bottom: 20px;
}
#main_container > .sec03 .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #fff;
	opacity: .5;
}
 #main_container > .sec03 .swiper-pagination-bullet-active{
	opacity: 1;
}

#main_container > .sec03 .cubeArea{
	position: absolute;
	left: 73%;
}
#main_container > .sec03 .cubeArea .cubeBx{
	display: flex; 
	align-items: center; 
	justify-content: center;
	perspective: 2000em;
}
#main_container > .sec03 .cubeArea .cube{
	transform-style: preserve-3d;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	animation: cube_rotate forwards infinite linear 12s;
}
#main_container > .sec03 .cubeArea .cube > div{
	display: flex; 
	align-items: center; 
	justify-content: center;
	position: absolute; 
	width: 52.2em;
	backface-visibility: visible; 
	background-size: cover; 
	overflow: hidden;
}
#main_container > .sec03 .cubeArea .cube > div:nth-child(1) img{transform: rotate(-8deg) translateY(20%);}
#main_container > .sec03 .cubeArea .cube > div:nth-child(2) img{transform: rotate(-8deg) translateY(-10%);}
#main_container > .sec03 .cubeArea .cube > div:nth-child(3) img{transform: rotate(-8deg) translateY(20%);}
#main_container > .sec03 .cubeArea .cube > div:nth-child(4) img{transform: rotate(8deg) translateY(-10%);}
#main_container > .sec03 .cubeArea .cube > div::before{
	content:''; 
	display: block; 
	padding-bottom: 64%;
}
#main_container > .sec03 .cubeArea .cube > div.front{
	transform: translate3d(0,0,26.1em) rotateY(0deg);
	background-image: url(../_img/main/sec03_img1.png);
}
#main_container > .sec03 .cubeArea .cube > div.right{
	transform: translate3d(50%,0,0) rotateY(90deg);
	background-image: url(../_img/main/sec03_img2.png);
}
#main_container > .sec03 .cubeArea .cube > div.back{
	transform: translate3d(0,0,-26.1em) rotateY(180deg);
	background-image: url(../_img/main/sec03_img3.png);
}
#main_container > .sec03 .cubeArea .cube > div.left{
	transform: translate3d(-50%,0,0) rotateY(90deg);
	background-image: url(../_img/main/sec03_img4.png);
}
@keyframes cube_rotate {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(-360deg); }
}
@media (max-width:1700px) {
	#main_container > .sec03 .txtBx {width: 40%;}
	#main_container > .sec03 .swBx{
		width: calc(50% + 30px); 
		padding-right: 30px;
	}
	#main_container > .sec03 .sw-next {right: 30px;}
}
@media (max-width:1600px) {
	#main_container > .sec03 .desc br{display: none;}
}
@media (max-width:1199.98px) {
	#main_container > .sec03 .txtBx {width: 35%;}
	#main_container > .sec03 .desc{
		margin: 5rem 0;
		font-size: 2.2rem;
	}
	#main_container > .sec03 .txtBx li + li{margin-top: 1.5rem;}
	#main_container > .sec03 .txtBx li a{
		gap: 3rem;
		font-size: 2rem;
	}
	#main_container > .sec03 .cubeArea .cube > div{width: 40em;}
	#main_container > .sec03 .cubeArea .cube > div.front{
		transform: translate3d(0,0,20em) rotateY(0deg);
	}
	#main_container > .sec03 .cubeArea .cube > div.back{
		transform: translate3d(0,0,-20em) rotateY(180deg);
	}

	#main_container > .sec03 .swBx{width: 55%; padding: 0;}
	#main_container > .sec03 .sw-next {right: 0;}
}
@media (max-width:991.98px) {
		#main_container > .sec03{padding: 10rem 0;}
	#main_container > .sec03 .txtBx {width: 40%;}
	#main_container > .sec03 .desc{
		margin: 4rem 0;
		font-size: 2rem;
	}
	#main_container > .sec03 .txtBx li a{font-size: 1.8rem;}
	#main_container > .sec03 .cubeArea{left: 71%;}
	#main_container > .sec03 .cubeArea .cube > div{width: 25em;}
	#main_container > .sec03 .cubeArea .cube > div.front{
		transform: translate3d(0,0,12.5em) rotateY(0deg);
	}
	#main_container > .sec03 .cubeArea .cube > div.back{
		transform: translate3d(0,0,-12.5em) rotateY(180deg);
	}
}
@media (max-width:767.98px) {
	#main_container > .sec03{padding: 80px 0;}
	#main_container > .sec03 > div{display: block;}
	#main_container > .sec03 .txtBx {
		width: 100%;
		margin-bottom: 60px;
	}
	#main_container > .sec03 .desc{
		margin: 30px 0;
		font-size: 18px;
	}
	#main_container > .sec03 .desc br{display: none;}
	#main_container > .sec03 .txtBx ul{
		display: flex; 
		justify-content: space-between;
		gap: 10px;
	}
	#main_container > .sec03 .txtBx li {
		width: 30%; 
		margin: 0 !important;
	}
	#main_container > .sec03 .txtBx li a{
		gap: 1rem;
		height: 100%;
		font-size: 1.8rem; 
		justify-content: center;
	}
	#main_container > .sec03 .mySwiper{width: 100%;}
	#main_container > .sec03 .cubeArea{position: unset;}
	#main_container > .sec03 .cubeArea .cube > div{width: 32em;}
	#main_container > .sec03 .cubeArea .cube > div.front{transform: translate3d(0,0,16em) rotateY(0deg);}
	#main_container > .sec03 .cubeArea .cube > div.back{transform: translate3d(0,0,-16em) rotateY(180deg);}


	#main_container > .sec03 .swBx{width: 100%;}
	#main_container > .sec03 .sw-btn{transform: translateY(-50%);}
	#main_container > .sec03 .swiper-pagination {bottom: 10px;}
	#main_container > .sec03 .swiper-pagination-bullet {
		width: 8px;
		height: 8px;
	}
}
@media (max-width:330px) {
	#main_container > .sec03 .txtBx li a{font-size: 1.6rem;}
}


/*sec04*/
#main_container > .sec04{
	padding: 16rem 0 28rem;
	color: #fff;
	background: #1B170F;
	overflow: hidden;
}
#main_container > .sec04 .top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15rem;
	margin-bottom: 8rem;
}
#main_container > .sec04 .top > div{flex-shrink: 0;}
#main_container > .sec04 .top p{
	line-height: 180%;
	font-size: 2rem;
	font-weight: 300;
}
#main_container > .sec04 .top p strong{
	display: block;
	margin-bottom: 2rem;
	font-size: 4rem;
	font-weight: bold;
}
#main_container > .sec04 .swBx{
	transform: rotatez(-7deg);
}
#main_container > .sec04 .mySwiper{
	overflow: visible;
	padding-top: 8rem;
	width: 100%;
}
#main_container > .sec04 .swiper-wrapper {transition-timing-function: linear !important;}
#main_container > .sec04 .swiper-slide {
	opacity:0; 
	transition-duration: 0.2s;
	transition-property: transform, opacity;
	transition-timing-function: ease-out;
}
#main_container > .sec04 .item {
	position: relative;
  width: 40rem;
  height: 28rem;
	padding: 3rem;
	text-align: right;
	color: #000;
  border-radius: 1rem;
  transition: transform 0.5s;
  box-shadow: 4.5rem 1rem 2.5rem rgba(0,0,0,0.3);
	transform: rotateX(-28deg) rotateY(-40deg) skewX(-8deg);
	cursor: pointer;
}
#main_container > .sec04 .item:hover {
  transform: translateY(-11rem) rotateX(-28deg) rotateY(-40deg) skewX(-8deg);
}
#main_container > .sec04 .item .tit{
	margin-bottom: 1.5rem;
	line-height: 140%;
	font-size: 2.5rem;
	font-weight: bold;
}
#main_container > .sec04 .item .place{
	font-size: 2rem;
	font-weight: bold;
}
#main_container > .sec04 .item .date{
	font-size: 2rem;
	font-weight: 500;
}
@media (max-width:1800px) {
	#main_container > .sec04 .swBx{
		width: 80%;
		margin-left: 5em;
	}
}
@media (max-width:1199.98px) {
	#main_container > .sec04{padding: 12rem 0 22rem;}
	#main_container > .sec04 .top{margin-bottom: 6rem;}
	#main_container > .sec04 .top p {font-size: 1.8rem;}
	#main_container > .sec04 .top p strong {
    margin-bottom: 1.5rem;
    font-size: 3rem;
	}
	#main_container > .sec04 .swBx {margin-left: 1.5em}
	#main_container > .sec04 .mySwiper{padding-top: 6rem;}
	#main_container > .sec04 .item {
		width: 35rem;
		height: 25rem;
		padding: 2.5rem;;
	}
	#main_container > .sec04 .item:hover {
		transform: translateY(-6rem) rotateX(-28deg) rotateY(-40deg) skewX(-8deg);
	}
	#main_container > .sec04 .item .tit{
		margin-bottom: 1.5rem;
		font-size: 2rem;
		line-height: 120%;
	}
	#main_container > .sec04 .item .place,
	#main_container > .sec04 .item .date{
		font-size: 1.6rem;
	}
}
@media (max-width:991.98px) {
	#main_container > .sec04 {padding: 8rem 0 20rem;}
	#main_container > .sec04 .top{gap: 8rem;}
	#main_container > .sec04 .top p strong {font-size: 2.2rem;}
	#main_container > .sec04 .swBx {margin-left: 0}
	#main_container > .sec04 .item .tit{
		margin-bottom: 1rem;
		font-size: 1.8rem;
	}
	#main_container > .sec04 .item {
		width: 30rem;
		height: 22rem;
		padding: 2rem;
	}
}
@media (max-width:767.98px) {
	#main_container > .sec04 {padding: 0px 0 80px;}
	#main_container > .sec04 .top{
		display: block;
		margin-bottom: 60px;
	}
	#main_container > .sec04 .top p{
		margin-top: 40px;
		font-size: 16px;
	}
	#main_container > .sec04 .top p strong{font-size: 18px;}
	#main_container > .sec04 .swBx,
	#main_container > .sec04 .item{
		transform: none;
	}
	#main_container > .sec04 .swBx{width: 100%;}
	#main_container > .sec04 .mySwiper{padding-top: 0;}
	#main_container > .sec04 .item-box{
		display: flex;
		align-items: flex-end;
		height: 160px;
	}
	#main_container > .sec04 .item {
		width: 100%;
		height: 140px;
		padding: 15px;
		box-shadow: 25px 5px 15px rgba(0,0,0,0.3);
		transition: all .3s;
	}
	#main_container > .sec04 .item .tit{
		margin-bottom: 15px;
		font-size: 15px;
	}
	#main_container > .sec04 .item .tit span{
		word-wrap: break-word; 
		display: -webkit-box; 
		-webkit-line-clamp: 3; 
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	#main_container > .sec04 .item .place, 
	#main_container > .sec04 .item .date {
    font-size: 11px;
  }

	#main_container > .sec04 .swiper-slide-active .item {
		height: 160px;
		padding: 15px;
	}
	#main_container > .sec04 .swiper-slide-active .item .tit{
		font-size: 16px;
	}
	#main_container > .sec04 .swiper-slide-active .item .place, 
	#main_container > .sec04 .swiper-slide-active .item .date {
    font-size: 12px;
		word-wrap: break-word; 
		display: -webkit-box; 
		-webkit-line-clamp: 2; 
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
  }
	#main_container > .sec04 .item:hover {
  	transform: none;
	}
}


main.fix #main_container > .sec05{margin-bottom: 39rem;}
#main_container > .sec05 .mainTit small{
	display: block;
	margin: 0;
	margin-top: 2rem;
	transform: none;
}
#main_container > .sec05 .bx1 ul{margin-top: 6rem;}
#main_container > .sec05 .bx2{padding: 16rem 15px;}
#main_container > .sec05 .bx2 .roll{margin-top: 6rem;}
@media (max-width:1199.98px) {
	main.fix #main_container > .sec05{margin-bottom: 34.2rem;}
}
@media (max-width:991.98px) {
	main.fix #main_container > .sec05{margin-bottom: 28rem;}
	#main_container > .sec05 .bx1 ul {margin-top: 5rem;}
	#main_container > .sec05 .bx2 {padding: 12rem 15px;}
}
@media (max-width:767.98px) {
	main.fix #main_container > .sec05{margin-bottom: 249px;}
	#main_container > .sec05 .mainTit small{
		display: inline-block;
		margin-top: 0;
		margin-left: 5px;
	}
	#main_container > .sec05 .bx1 ul{margin-top: 30px;}
	#main_container > .sec05 .bx2 {padding: 80px 15px;}
	#main_container > .sec05 .bx2 .roll{margin-top: 30px;}
}



#footer{border-top: none;position:relative;z-index:1;}
