main{overflow: hidden;}
.visual{}

.visual .swiperBx{
	font-family:'museo-sans';
	font-size: 114px; font-weight: 700; text-align: center;
	height: 1.8em; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	margin-top: 150px; margin-bottom: 70px;
}
.visual .swiper{
	overflow: visible; height: 0.8em;
}
.visual .swiper-slide{
	display: flex; align-items: center; justify-content: center;
}

.visual .bottom{
	padding-top: 270px; padding-bottom: 200px; box-sizing: border-box;
	background-color: #000; position: relative;
	overflow: hidden;
}
.visual .bottom .bg{
	position: absolute; left: 0; top: 10px; width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
}
.visual .bottom .bg > div{
	position: relative;
	display: flex; align-items: center; justify-content: center;
	animation: floating20 forwards infinite 6s;
}
.visual .bottom .bg > div > div{
	position: absolute; width: 857px;
	background-size: contain; background-repeat: no-repeat;
	animation: scale110 forwards infinite 10s;
}
.visual .bottom .bg > div > div::before {
	content:''; display: block; padding-bottom: calc(932/952*100%);
}
.visual .bottom .wrap{
	display: flex; align-items: center; justify-content: space-between;
	position: relative;
}
.visual .bottom .wrap .txtBx{}
.visual .bottom .wrap .txtBx h1{
	font-size: 70px; font-weight: 700; line-height: 1.4;
	margin-bottom: 22px; color: #fff;
}
.visual .bottom .wrap .txtBx p{
	font-size: 35px; font-weight: 300; line-height: calc(50/35);
}
.visual .bottom .wrap .txtBx p span{
	display: inline-block;
}
.visual .bottom .wrap .imgArea{
	font-size: 1px;  width: 575em; height: 503em; position: relative;
	display: flex; align-items: flex-start; justify-content: flex-start;
}
.visual .bottom .wrap .imgArea div{
	width: 290em; position: relative; transform-origin: center bottom;
}
.visual .bottom .wrap .imgArea div::before {
	content:''; display: block; padding-bottom: calc(768/551*100%);
}
.visual .bottom .wrap .imgArea div:not(:first-child){position: absolute;}

.visual .bottom .wrap .imgArea div:nth-child(1){z-index: 3;}
.visual .bottom .wrap .imgArea div:nth-child(2){transform: translateX(21%) translateY(1%) rotate(20deg);z-index: 2;}
.visual .bottom .wrap .imgArea div:nth-child(3){transform: translateX(23%) translateY(3%) rotate(40deg);z-index: 1;}

.visual .bottom .wrap .imgArea img{
	position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;
}

@media screen and (max-width:1600px) {}
@media screen and (max-width:1440px) {
	.visual .bottom{padding: 140px 0;}
	.visual .bottom .bg > div > div{width: calc(857/1440*100vw);  filter: brightness(0.5);}

	.visual .bottom .wrap .txtBx h1{font-size: 54px; }
	.visual .bottom .wrap .txtBx p{font-size: 28px; }

	.visual .bottom .wrap .imgArea{font-size: 0.8px; }
}
@media screen and (max-width:1280px) {
	.visual .bottom .wrap{flex-direction: column; gap: 80px;}
	.visual .bottom .wrap .txtBx{text-align: center;}
}
@media screen and (max-width:1024px) {
	.visual .swiperBx{font-size: max(calc(114/1024*100vw),40px); margin: 100px 0;}

	.visual .bottom{padding: 100px 0;}
}
@media screen and (max-width:820px) {
	.visual .bottom .wrap .txtBx h1{font-size: 42px; }
	.visual .bottom .wrap .txtBx p{font-size: 22px; }
	.visual .bottom .wrap .imgArea{font-size: 0.6px; }
}
@media screen and (max-width:500px) {
	.visual .swiperBx{margin-bottom: 80px;}
	.visual .swiper{height: 1em;}
	.visual .swiper-slide{opacity: 0.3; transition: opacity 0.5s;}
	.visual .swiper-slide-active{opacity: 1;}

	.visual .bottom{padding: 80px 0;}
	.visual .bottom .bg > div > div{width: 80vw;}

	.visual .bottom .wrap{gap: 60px;}
	.visual .bottom .wrap .txtBx h1{font-size: 30px; }
	.visual .bottom .wrap .txtBx p{font-size: 18px; }
	.visual .bottom .wrap .txtBx p span br{display: none;}
	.visual .bottom .wrap .imgArea{font-size: calc(0.7/500*100vw); margin-right: -5vw;}
}
@media screen and (max-width:320px) {}




/* 스타일 공통 */
._txtBx{text-align: center;}
._txtBx em{
	display: block;
	font-size: 30px; font-weight: 500; line-height: 1.3;
	margin-bottom: 30px;
}
._txtBx h3{
	font-size: 50px; font-weight: 700; margin-bottom: 40px; line-height: 1.2;
}
._txtBx h3 .red{
	color: var(--red); display: block; margin-top: 1em;
}
._txtBx p{
	font-size: 20px; font-weight: 300; line-height: calc(30/20);
}
._txtBx p.mt{
	margin-top: 30px;
}
._imgArea{
	margin-top: 50px;
	display: flex; align-items: flex-start; justify-content: center;
}
._imgArea .imgBx{text-align: center;}
._info{
	font-size: 18px; line-height: 1.3; color: #363535;
	margin-top: 30px; text-align: center;
	padding: 0 10px; box-sizing: border-box;
}
.bg{position: absolute; overflow: hidden;}
.bg div{width: 100%; height: 100%; background-size: cover; background-position: center;}

/* 별도 스타일 */
.cont.n1{padding-top: 150px; padding-bottom: 170px;}
.cont.n1 ._imgArea{gap: 60px; flex-wrap: wrap;}

.cont.n2{margin-bottom: 170px;}
.cont.n2 ._imgArea{margin: 50px 0;}

.cont.n3{padding-bottom: 100px; position: relative;}
.cont.n3 ._imgArea .imgBx{
	background-color: #fff; border: 1px solid #eeeeee; box-sizing: border-box;
	width: 100%; max-width: 1230px; padding: 100px 30px; text-align: center;
}
.cont.n3 .bg{
	bottom: 0; width: 100%; height: 100%;
}
.cont.n3 .bg div{background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat;}

.cont.n4{padding: 100px 0; background-color: #fbfbfb;}
.cont.n4 ._imgArea{gap: 60px 1px; flex-wrap: wrap;}
.cont.n4 .img{
	width: 610px; background-color: #fff; position: relative;
	display: flex; align-items: center; justify-content: center;
}
.cont.n4 .img::before {
	content:''; display: block; padding-bottom: calc(347/610*100%);
}
.cont.n4 .img img{
	position: absolute; max-width: calc(100% - 40px); max-height: calc(100% - 40px);
}

.cont.n5{background-color: #e9e9e7; padding: 100px 0; position: relative;}
.cont.n5 ._txtBx{max-width: 1000px; margin: 0 auto;}

.cont.n5 .bg{
	position: absolute; left: 0; top: 0; width: 100%; height: 100%;
}
.cont.n5 .bg div{background-position: right center;}


@media screen and (max-width:1600px) {}
@media screen and (max-width:1440px) {}
@media screen and (max-width:1280px) {}
@media screen and (max-width:1024px) {

	.cont.n1{padding: 100px 0;}
	.cont.n2{margin-bottom: 100px;}

	._txtBx em{font-size: 20px; }
	._txtBx h3{font-size: 40px; }
	._txtBx p{font-size: 18px; }
}
@media screen and (max-width:820px) {
	._txtBx em{font-size: 18px; }
	._txtBx h3{font-size: 30px; }
	._txtBx p{font-size: 16px; }

	._info{font-size: 16px; }

	.cont.n3 ._imgArea .imgBx{padding: 30px 20px;}
	.cont.n5 ._txtBx{color: #fff;}
	.cont.n5 .bg{filter: brightness(0.6);}
}
@media screen and (max-width:500px) {
	._txtBx em{font-size: 18px; margin-bottom: 20px}
	._txtBx h3{font-size: 24px; margin-bottom: 20px;}
	._txtBx p{font-size: 14px; }
	._txtBx p.mt{margin-top: 20px;}
	._txtBx br{display: none;}

	._imgArea{margin-top: 30px;}

	._info{font-size: 14px; margin-top: 12px;}


	.cont.n1{padding: 80px 0;}
	.cont.n2{margin-bottom: 80px;}
	.cont.n3{padding-bottom: 80px;}
	.cont.n4{padding: 80px 0;}
	.cont.n5{padding: 80px 0;}


	.cont.n1 ._imgArea{gap: 40px;}
	.cont.n2 ._imgArea{width: 110vw; margin-left: -10vw;}
	.cont.n3 ._imgArea .imgBx{padding: 10px;}

	.cont.n3 .bg{width: 150%;}
	.cont.n3 .bg div{background-position: center 130%;}
	.cont.n4 ._imgArea{gap: 40px;}
	.cont.n4 .img{width: 100%; padding: 20px 10px; box-sizing: border-box;}
	.cont.n4 .img::before{display: none;}
	.cont.n4 .img img{position: unset; max-width: unset; max-height: unset; width: 100%;}
}
@media screen and (max-width:320px) {}