/* Common */
.sec {
	position: relative;
	background-color: transparent;
}

/* .sec:not(.sec01)::after {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: calc(100% + 60px);
	border-top-left-radius: 30px;
	border-top-right-radius:30px;
} */

.sec .title h3 {
	line-height:1.3;
}

.sec .text p {
	line-height:1.6;
}


@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Opens */
.open-art {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height:100%;
	z-index:9999;
}

.open-art-mask {
	position: relative;
	width: 100%;
	height:100%;
}

.open-art-mask::before {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	width: 100%;
	height:40vh;
	background-color: #fff;
}

.open-art-mask::after {
	content: "";
	display: block;
	position: absolute;
	bottom:0;
	left:50%;
	transform: translateX(-50%);
	width: 100%;
	height:40vh;
	background-color: #fff;
}

.open-art svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateZ(0);
	width: 100%;
	transform-origin: 50% 50%;
	z-index: 1;
}

.open-art.animate {
	animation: open-scale ease-in both 1.25s;
}


@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}




@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}



@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Sec01 */
.sec01 {
	position:relative; 
	width: 100%;
	height: calc(var(--vh, 1vh)*100);
	height: 100dvh;
} 

.sec01 .visual {
	position: relative;
	width: 100%;
	height:100%;
}

.sec01 .swiper {
	height:100%;
}

.sec01 .swiper-wrapper {
	width: 100%;
	height: 100%;
}

.sec01 .swiper-slide {
	width: 100%;
	height:100%;
	overflow: hidden;
}

.sec01 .swiper-controls {
	position: absolute;
	left:50%;
	bottom:50px;
	transform: translateX(-50%);
	max-width:1600px;
	width: 95%;
	margin:0 auto;
	z-index:50;
}

.sec01 .swiper-controls-wrap {
	width:0;
	transition:all 1s ease-in-out;
	overflow:hidden;
}

.sec01 .swiper-controls-wrap {
	width:0;
	transition:all 1.5s 0s ease-in-out;
	overflow:hidden;
}

.sec01 .swiper-controls-wrap .pagination {
	display: flex;
	background:none;
	width: 100%;
	padding-top: 30px;
	padding-bottom:5px;
}

.sec01 .swiper-controls-wrap .pagination span {
	width:100%;
	max-width:50%;
	height:2px;
	background:none;
	opacity:1;
	position: relative;
}
.sec01 .swiper-controls-wrap .pagination span:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2px;
	height: 15px;
	background-color: rgba(38,38,38,0.4);
	transform: translateY(50%);
}
.sec01 .swiper-controls-wrap .pagination span:first-child:before{
	content: none;
}
.sec01 .swiper-controls-wrap .pagination span.swiper-pagination-bullet-active:before{
	background-color: #262626;
}

.sec01 .swiper-controls-wrap .pagination span:first-child {
	margin-left:0
}

.sec01 .swiper-controls-wrap .pagination span button {
	position: relative;
	cursor:pointer;
	margin:0px;
	padding:0px;
	vertical-align:top;
	width:100%;
	height:1px;
	background-color:rgba(38,38,38,0.4);
	font-size:0;
}

.sec01 .swiper-controls-wrap .pagination span button:before {
	position: absolute;
	content:attr(data-label);
	bottom:0;
	left:0;
	font-size:1.8rem;
	color:#262626;
	font-weight:500;
	padding-bottom:10px;
	width:100%;
	text-align:left;
	white-space:nowrap;
	opacity:0.4;
}

.sec01 .swiper-controls-wrap .pagination span button:after {
	position: absolute;
	content:attr(data-label);
	bottom:0;
	left:0;
	font-size:1.8rem;
	color:#262626;
	font-weight:500;
	padding-bottom:10px;
	width:0;
	text-align:left;
	white-space:nowrap;
	overflow:hidden;
	transition:all 0.8s 0s ease-in-out;
}

.sec01 .swiper-controls-wrap .pagination span button .bar {
	position: absolute;
	content:'';
	width:100%;
	height:3px;
	top:-1px;
	left:0;
	background:#262626;
	transform-origin: 100% 50%;
	transition-delay: 0s;
	transform: scale(0, 1);
	transition:transform 0.5s linear;
	z-index: 20;
}

.sec01 .bak {
	display: flex;
	width: 100%;
	height: 100%;
}
.sec01 .bak img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sec01 .bak.bak-change{
	transition: .5s;
}

.sec01 .con {
	max-width:1600px;
	width: 95%;
	margin:0 auto;
}

.sec01 .btn {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height:60px;
	border-radius:35px;
	overflow: hidden;
	transition:var(--transition-custom);
}

.sec01 .btn01 {
	color:#262626;
	background-color: #ffffff;
}

.sec01 .btn02 {
	color:#ffffff;
	background-color: #ee6623;
}

.sec01 .inquiry_btn{
	width: 120px;
	height: 40px;
	background-color: #191919;
	border-radius: 50px;
	margin-bottom: 40px;
}

.sec01.active .swiper-controls-wrap {
	width: 100%;
}

.sec01 .swiper-controls-wrap .pagination.play:not(.delay) span.swiper-pagination-bullet-active button .bar {
	width:100%;
	transition:transform 6.5s linear;
	transform: scale(1, 1);
	transition-delay: 0s;
	transform-origin: 0% 50%;
}

.sec01 .swiper-controls-wrap .pagination.play.delay span.swiper-pagination-bullet-active button .bar {
	width:100%;
	transition:transform 3.5s linear;
	transform: scale(1, 1);
	transition-delay: 0s;
	transform-origin: 0% 50%;
}

.sec01 .swiper-controls-wrap .pagination span.swiper-pagination-bullet-active button:after{
	width:100%;
}

.sec01 .swiper-controls.on .swiper-controls-wrap .pagination span button {
	background-color: rgba(255,255,255,.4);
}

.sec01 .swiper-controls.on .swiper-controls-wrap .pagination span button::before,
.sec01 .swiper-controls.on .swiper-controls-wrap .pagination span button:after {
	color:#fff;
}

.sec01 .swiper-controls.on .swiper-controls-wrap .pagination span button .bar {
	background-color: #fff;
}

.sec01 .title01 {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .title02 {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .text01 {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .text02 {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .text02 {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .btn {
	opacity:0;
	transform: translateX(-200px); 
}

.sec01 .swiper-slide.active-item .title01,
.sec01 .swiper-slide.active-item .title02,
.sec01 .swiper-slide.active-item .text01,
.sec01 .swiper-slide.active-item .text02,
.sec01 .swiper-slide.active-item .btn {
	animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.sec01 .swiper-slide.active-item .title01 {
	animation-delay: 0.3s;
}

.sec01 .swiper-slide.active-item .title02 {
	animation-delay: 0.45s;
}

.sec01 .swiper-slide.active-item .text01 {
	animation-delay: 0.6s;
}

.sec01 .swiper-slide.active-item .text02 {
	animation-delay: 0.75s;
}

.sec01 .swiper-slide.active-item .btn {
	animation-delay: 0.9s;
}

.sec01 .swiper-slide.swiper-slide-prev .title01,
.sec01 .swiper-slide.swiper-slide-prev .title02,
.sec01 .swiper-slide.swiper-slide-prev .text01,
.sec01 .swiper-slide.swiper-slide-prev .main-visual-more-btn{
	animation: text-active-animation-reverse 0.75s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.sec01 .swiper-slide.swiper-slide-prev .title01 {animation-delay:0.15s;}
.sec01 .swiper-slide.swiper-slide-prev .title02 {animation-delay:0.1s;}
.sec01 .swiper-slide.swiper-slide-prev .text01 {animation-delay:0.05s;}
.sec01 .swiper-slide.swiper-slide-prev .text02 {animation-delay:0s;}
.sec01 .swiper-slide.swiper-slide-prev .btn {animation-delay:0s;}

.sec01 .ai_rtxt_box{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 160px 0;
}

.sec01 .ai_rtxt_box.pt_240{
	padding-top: 240px;
}

.sec01 .bor_der_box{
	max-width: 900px;
	width: 100%;
	padding-bottom: 10px;
	margin-bottom: 10px;
	position: relative;
}

.sec01 .bor_der_box:before{
		content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #a7a7a7;
	opacity: 0;
	transform: translateX(300px);
	transition: 2s;
}
.sec01 .swiper-slide-active .bor_der_box:before{
	opacity: 1;
	transform: translateX(0);
}

.sec01 .visual br.mo-only{
	display: none;
}
@media screen and (min-width:1201px) {
	.sec01 .btn01:hover {
		background-color: transparent;
		box-shadow: 0 0 0 2px #262626 inset;
	}
	
	.sec01 .btn01:hover span {
		color:#262626;
	}
	
	.sec01 .btn02:hover {
		background-color: transparent;
		box-shadow: 0 0 0 2px #ee6623 inset;
	}
	
	.sec01 .btn02:hover span {
		color:#ee6623;
	}
}
@media screen and (max-width:1200px) {
	.sec01 .swiper-controls-wrap .pagination span button:before {
		font-size:1.5rem;
	}
	
	.sec01 .swiper-controls-wrap .pagination span button:after {
		font-size:1.5rem;
	}
	
}
@media screen and (max-width:1024px) {
	.sec01 .swiper-controls {
		bottom:60px;
	}

	.sec01 .swiper-controls-wrap .pagination span button:before {
		font-size:1.4rem;
	}
	
	.sec01 .swiper-controls-wrap .pagination span button:after {
		font-size:1.4rem;
	}

	.sec01 .btn {
		width:140px;
		height:50px;
	}
}
@media screen and (max-width:768px) {
	.sec01 .swiper-controls-wrap .pagination span button:before {
		font-size:1.4rem;
		opacity: 0;
	}
	
	.sec01 .swiper-controls-wrap .pagination span button:after{
		transition: none;
	}
	.sec01 .swiper-controls-wrap .pagination span.swiper-pagination-bullet-active button:before{
		opacity: 1;
	}
	.sec01.active .swiper-controls-wrap {
		width: 100%;
	}

	.sec01 .swiper-controls-wrap .pagination {
		position: relative;
		width:100%;
		height:3px;
		padding:0px;
	}

	.sec01 .swiper-controls-wrap .pagination span {
		position: absolute;
		top:0;
		left:0;
		width:100%;
		max-width:none;
		border-radius:0px;
	}

	.sec01 .swiper-controls-wrap .pagination span button {
		position: relative;
		cursor:pointer;
		margin:0px;
		padding:0px;
		vertical-align:top;
		width:100%;
		height:3px;
		font-size:0;
		background-color: rgba(38,38,38,0.1);
	}

	.sec01 .swiper-controls-wrap .pagination span button .bar {
		top: 0px;
	}

	.sec01 .swiper-controls.on .swiper-controls-wrap .pagination span button {
		background-color: rgba(255,255,255,.1);
	}

	.sec01 .btn {
		height:44px;
	}

	.sec01 .ai_rtxt_box{
		padding: 100px 0;
	}

	.sec01 .ai_rtxt_box.pt_240{
		padding-top: 120px;
	}
}
@media screen and (max-width:576px) {
	.sec01 .swiper-controls {
		bottom:40px;
	}

	.sec01 .btn {
		width:100px;
		height:40px;
	}
	
.sec01 .visual br.mo-only{
	display: block;
}
}

.sec01 .bak .ta_img,
.sec01 .bak .mo_img{
	display: none;
}

@media all and (max-width:1024px){
	.sec01 .bak .pc_img{display: none;}
	.sec01 .bak .ta_img{display: block;}
}
@media all and (max-width:768px){
	.sec01 .bak .ta_img{display: none;}
	.sec01 .bak .mo_img{display: block;}
}

/* Sec03 */
.sec03 {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 150px;
}


.sec03 .lt {
	width: calc(50% - 10px);
}

.sec03 .rt {
	width: calc(50% - 90px);
}

/* .sec03 .list {
	border-top:2px solid #bfbfbf;
} */

.sec03 .list li {
	padding:25px 0px 55px 20px;
	border-bottom:2px solid #bfbfbf;
}

.sec03 .list li:last-child {
	border-bottom: none;
}

.sec03 .list .su_ne_wti{
	padding-top: 0;
	padding-bottom: 10px;
}

.sec03 .card {
	display: flex;
	justify-content: space-between;
}

.sec03 .con {
	display: flex;
	width:320px;
	gap:25px;
}

.sec03 .count span {
	opacity:0;
	transform: translateY(100px);
	transition: var(--transition-custom2);
}

.sec03 .count span:nth-child(1) {
	transition-delay:0s;	
}

.sec03 .count span:nth-child(2) {
	transition-delay:0.2s;	
}

.sec03 .count span:nth-child(3) {
	transition-delay:0.4s;	
}

.sec03 .list li.on .count span {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (max-width:1200px) {
	.sec03 {
		padding-bottom:140px;
	}

	.sec03 .lt {
		width: 46%;
	}
	
	.sec03 .rt {
		width: 46%;
	}
	
	/* .sec03 .img {
		width: 80%;
	} */
}
@media screen and (max-width:1024px) {
	.sec03-bottom {
		padding:120px;
	}

	.sec03 .lt {
		width:100%;
		text-align: center;
		margin-bottom: 50px;
	}
	
	.sec03 .rt {
		width:100%;
	}


	.sec03 .list li {
		padding:24px 0px;
	}

	.sec03 .con {
		gap:16px;
	}
}
@media screen and (max-width:768px) {
	.sec03 .con {
		width: 220px;
	}
}
@media screen and (max-width:576px) {
	.sec03 {
		padding-bottom:100px;
	}

	.sec03 .list li {
		padding:16px 0px;
	}

	.sec03 .con {
		width: 180px;
		gap:10px;
	}
}


/* Sec04 */

.sec04{
	padding-bottom: 150px;
}

/* Animation */
@keyframes open-scale {
	0% {
		top:0;
		opacity:1;
		visibility: visible;
		transform:scale(1);
	}
	100% {
		top:-25%;
		opacity:0;
		visibility: hidden;
		transform:scale(10);
	}
}

@keyframes text-active-animation {
	from {
		opacity:0;
		transform: translateX(100px); 
	}
	to {
		opacity:1;
		transform: translateX(0); 
	}
}

@keyframes text-active-animation-reverse {
	from {
		opacity:0;
		transform: translateX(-200px); 
	}
	to {
		opacity:1;
		transform: translateX(0); 
	}
}

@keyframes spin {
	form {
		transform: rotate(0deg)
	}

	to {
		transform: rotate(360deg)
	}
}

@keyframes cover {
	form {
		transform: scale(1); 
	}

	to {
		transform: scale(3); 
	}
}

@keyframes moveUp {
	form {
		transform: translateY(0px);
	}
	to {
		transform: translateY(-20px);
	}
}

@keyframes moveDown {
	form {
		transform: translateY(0px);
	}
	to {
		transform: translateY(20px);
	}
}



/* @keyframes rotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes scalePulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.5); }
} */


/* 2025.10.31 추가 */
.sec02{
	padding: 150px 0;
}
.ma_new_tit{
	gap: 20px;

}
.ma_new_tit.gap40{
	gap: 40px;
}
.ma_new_tit .ca_te_lf{
	width: calc(41% - 10px);
	min-width: fit-content;
}
.ma_new_tit .ca_te_rt{
	width: calc(59% - 10px);
}

.ma_new_tit .sm_gray_txt{
	color: #a7a7a7;
	display: block;
	border-bottom: 1px solid #a7a7a7;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.ma_new_tit .big_bl_txt{
	color: #191919;
}
.ma_new_tit .sm_bl_txt{
	color: #191919;
	margin-top: 20px;
	line-height: 1.545em;
	letter-spacing: 0;
}

.ma_new_tit .vi_ewbtn{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 30px;
    width: fit-content;
	margin-top: 30px;
	background-color: #191919;
	border-radius: 50px;
	transition: .5s;
	border: 1px solid transparent;
}

.ma_new_tit .vi_ewbtn:hover,
.ma_new_tit .vi_ewbtn.white_btn{
	background-color: #fff;
	color: #191919;
	border-color:#191919;
}
.ma_new_tit .vi_ewbtn.white_btn:hover{
	background-color: #191919;
	color: #fff;
	border-color:#fff;
}


@media all and (max-width:1024px){
	.ma_new_tit .ca_te_lf,
	.ma_new_tit .ca_te_rt{
		width: 100%;
	}
}

@media screen and (max-width:768px) {
	.sec02{padding-top: 100px;}
}

/* Popup */
#popup {
	position: relative;
}

.popup-layer {
	z-index: 10000;
	position: absolute;
	background: #fff;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,.25);
	animation: popup-fade .65s ease-in-out .35s forwards;
	opacity: 0;
	max-width:800px;
}

@keyframes popup-fade {
	0% { opacity: 0;
	-webkit-transform: translateY(25px);
	-ms-transform: translateY(25px);
	transform: translateY(25px); }
	100% { opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0); }
}
.popup-layer__body {
	background: #fff;
}

.popup-layer__body img {
	display: block;
	margin: 0 auto;
	border: none;
	max-width: 100%;
}

.popup-layer__foot {
	background: #424242;
}

.popup-layer__foot ul {
	display:flex;
	flex-wrap: wrap;
}

.popup-layer__foot li {
	width:50%;
	padding:10px;
}

.popup-layer__foot li:first-child {
	padding-right:0;
}

.popup-layer__foot li:last-child {
	text-align: right;
}

.popup-layer__foot span {
	font-size: 1.5rem;
	color: #fff;
	cursor: pointer;
	transition:all 0.3s ease;
}

.popup-layer__foot label:hover span { opacity: .7; }

/* .popup-layer-foot { background: #424242; }
.popup-layer-foot span { font-size: 15px; color: #fff; }
.popup-layer-foot label:hover span { opacity: .7; }
.popup-layer-foot li:first-child { padding-right: 0; }
.popup-layer-foot li:last-child { text-align: right; } */


@media (max-width: 1024px){
	/* .popup-layer { z-index: 999; } */
	.popup-layer { top: 95px !important; left: 0 !important; margin: 0 5px; }
}
@media (max-width: 768px){

	.popup-layer {
		width:calc(100% - 10px);
	}

	.popup-layer img {
		max-width: none;
		width:100%;
		height: auto !important;
	}
	.popup-layer-foot span { font-size: 14px; }

}
@media (max-width: 375px){
	.popup-layer-foot li { width: 100%; }
	.popup-layer-foot li:last-child { text-align: left; }
}