@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');


/* 인덱스 레이아웃 */
#idx_wrapper{width:100%; margin:0 auto;}

/* 메인슬라이더 */
#visual{width:100%; position:relative; margin:0 auto; overflow:hidden;}
a{cursor:pointer}
#visual .swiper-wrapper .swiper-slide{
	position: relative;
	height:850px; background-position:50%; background-repeat:no-repeat; background-size:cover;
	}
#visual .swiper-wrapper .swiper-slide::after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
	}
/* --- Vimeo 비디오용 추가 CSS --- */
#visual .swiper-slide.v0 {
	position: relative;
	width: 100%;
	height: 100vh; /* 전체 화면 꽉 채우기 */
	overflow: hidden;
	}
#visual .swiper-slide.v0 .video-wrap {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
	}
#visual .swiper-slide.v0 iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 56.25vw; /* 16:9 기본 비율 (9 / 16 * 100 = 56.25) */
	min-height: 100vh;
	min-width: 177.78vh; /* 16:9 역비율 (16 / 9 * 100 = 177.78) */
	transform: translate(-50%, -50%);
	object-fit: cover;
	border: none;
	}
#visual .swiper-slide.v0 {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	}
/* --- //Vimeo 비디오용 추가 CSS --- */

#visual .swiper-wrapper .swiper-slide.v1{background-image:url(../img/main/mvisual01.png);}
#visual .swiper-wrapper .swiper-slide.v2{background-image:url(../img/main/mvisual02.png);}
#visual .swiper-wrapper .swiper-slide.v3{background-image:url(../img/main/mvisual03.png);}
#visual .slogan{position:absolute; top:300px; width:1200px; left:50%; margin-left:-600px; text-align:center; z-index:2;
	color:#fff; font-size:1.2em; line-height:1.2em; text-align:left;
	pointer-events: none;
	}
#visual .slogan h2{
	font-size:3em; line-height:1.3em; letter-spacing:0px; text-align:left;
	font-family: "Noto Serif KR", serif;
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
	}
#visual .slogan h2 p{
	font-size:22px; margin-bottom:15px;
	font-family: 'SUIT', 'Montserrat', 'Noto Sans KR', 'Malgun Gothic', '맑은 고딕', Dotum, '돋움', 'AppleGothic', 'Apple SD Gothic Neo', sans-serif;    font-family: 'SUIT', 'Montserrat', 'Noto Sans KR', 'Malgun Gothic', '맑은 고딕', Dotum, '돋움', 'AppleGothic', 'Apple SD Gothic Neo', sans-serif;
	line-height: 1.6;
	font-weight: 300;
	margin-top: 30px;
	}
#visual .slogan h2 strong{ display:inline-block; background:#0da1bc; padding:0 10px;}
#visual .slogan h2 span{display:inline-block; background:#0d5bbc; padding:0 10px;}
#visual .slogan .btnbox{
	border: 1px solid #F4FAF8;
	display:inline-block; text-align:center; border:1px solid rgba(255,255,255,0.5);
	opacity:0.9;
	}
#visual .slogan .btnbox a{display:inline-block; color:#fff; padding:15px 30px; border-right:1px solid rgba(255,255,255,0.5);}
#visual .slogan .btnbox a i{margint:0 0 0 10px;}
#visual .slogan .btnbox a:last-child{border:0;}
.swiper-pagination-bullet{
	background:#fff; opacity:0.7; width:20px; height:3px;
	border-radius: 0;
	transition: all 0.5s;
	}
.swiper-pagination-bullet-active{
	width: 50px;
	opacity: 1;
	}
.swiper-button-next, .swiper-button-prev{width:50px; height:50px; 
	border-radius: 50%; background: #fff;
	box-shadow: 0 0 16px rgba(0,0,0,0.3);
	display: flex;align-items: center;justify-content: center;z-index: 1000;
	}

@media (max-width: 991px) {
	#visual .slogan{
		top: 50%;
		left:0;
		transform: translateY(-80%);
		width:100%;
		margin:0 15px;
		}
	#visual .slogan h2 {
		font-size: 28px;
		margin-bottom: 0;
		}
	#visual .slogan h2 p{
		font-size: 16px;
		margin-bottom: 10px;
		line-height: normal;
		}
	#visual .swiper-wrapper .swiper-slide{height:450px; background-size:auto 100%;}
	#visual .slogan .btnbox a{font-size:0.85em; padding:10px 15px;}


	}
@media (max-width: 768px) {
	#visual .swiper-wrapper .swiper-slide{
		/*height: 100vh;*/ height: auto; background-position: right 22% center;
		}
	#visual .slogan h2 p{
		font-size: 17px;
		line-height: 1.6;
		letter-spacing: -0.05em;
		}
	#visual .slogan h2 {
		font-size: 30px;
		}


	/* --- Vimeo 비디오용 추가 CSS --- */
	.video-wrap iframe {
		width: 100vw;
		height: 56.25vw; /* 16:9 유지 */
		min-width: 100%;
		min-height: 100%;
		transform: translate(-50%, -50%) scale(1.4);
		object-fit: cover;
		}

	#visual .swiper-slide.v0 {
		height: 100dvh; /* iOS 주소창 포함 대응 */
		}
	/* --- //Vimeo 비디오용 추가 CSS --- */
	}




/*solution-wrap*/
/* solution-wrap */
.solution-wrap {display: flex; flex-direction: column;}
.solution-item {display: flex; align-items: center; background: #F0EDE9;}
.solution-item.reverse {flex-direction: row-reverse;}
.solution-img {flex: 1;}
.solution-img img {width: 100%; height: auto; object-fit: cover;}
.solution-text {flex: 1; color: #333; text-align: center;}
.solution-text h4 {font-size: 20px; color: #888; font-weight: 300; margin-bottom: 10px; text-transform: uppercase;}
.solution-text h2 {font-size: 40px; margin-bottom: 30px;}
.solution-text p {font-size: 20px; line-height: 1.6; margin-bottom: 20px;}
.solution-text .more {font-size: 19px; text-decoration: underline; color: #000; transition: 0.3s;}
.solution-text .more:hover {color: #A18276 !important;}
@media (max-width: 768px) {
	.solution-item,
	.solution-item.reverse {flex-direction: column;}
	.solution-text {padding: 30px 10px;}
	.solution-text p,
	.solution-text .more {font-size: 15px;}
	.solution-text h4 {font-size: 15px; line-height: 1; margin-bottom: 6px;}
	.solution-text h2 {font-size: 24px; margin-bottom: 15px;margin-top: 10px;}
	}



/* con 공통 */
.cont{
	padding: 100px 0;
}
.cont .title{
	margin-bottom: 48px;
	}
.cont .title h3{
	font-size: 40px;
	color: #333;
	line-height: 34px;
	letter-spacing: -.1px;
	font-weight: 700;
	}
.cont .title p{
	padding-top: 16px;
	font-size: 19px;
	color: #333;
	font-weight: 300;
	line-height: 28px;
	letter-spacing: -.7px;
	}
.cont .moreBtn{
	display: inline-block;
	font-size: 15px;
	text-decoration: underline;
	padding-top: 16px;
	}
@media(max-width: 768px){
	/* cont공통 */
	.container {
		padding-right: 15px;
		padding-left: 15px;
		}
	.cont {
		padding-top: 60px;
		padding-bottom: 60px;
		}
	.cont .title{
		margin-bottom: 30px;
		}
	.cont .title h3{
		font-size: 24px;
		line-height: 30px;
		letter-spacing: -.08px;
		}
	.cont .title p{
		font-size: 14px;
		line-height: 24px;
		}
	.cont .title p br{
		display: none;
		}
	.cont .moreBtn{
		padding-top: 12px;
		}

}



/* counter_area */
.counter_area .title.align_center p{
	padding-top: 0 !important;
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 19px !important;
	color: #333 !important;
	font-weight: 400 !important;
	line-height: 28px !important;
	letter-spacing: -.7px !important;
	font-family: 'SUIT' !important;
	}
.counter_area{background:url("../img/main/performance_bg.png") no-repeat center / cover;padding: 100px 0;text-align: center;}
.counter_area .counter_img{max-width: 1400px; margin: 0 auto;}
.counter_area .counter_img img{width: 100%;}
.counterareabg{text-align:center;color: #000;margin: 0 auto;}
.counterareabg .title_wrap{border-top:1px solid #ffffff45; }
.counterareabg .title_wrap .inr{max-width: 1400px; display: flex; justify-content: center;    column-gap: 120px;}
.counterareabg .title{font-size: 1.1em;text-align:center;color: #000000;display:inline-block;position: relative;}
.counterareabg .title p{/* color: #ffffff95; */font-weight: 400;}
.counterareabg .title span{/* color: #ffffff56; */font-weight: 400;}
.counterareabg .counter_wrap .title .inr{text-align:center;display: grid;grid-template-columns: repeat(4, 1fr);align-items: center;justify-content: center; max-width: 1400px; margin: 0 auto;}
.counterareabg .title p{line-height: 1;}
.counterareabg .title p:nth-child(1){font-size: 48px;font-family: 'Montserrat';font-weight: 700;}
.counterareabg .title_wrap .title p:nth-child(1) .counter{ margin:0px !important; display:inline-block;    font-size: 60px;}
.counterareabg .title_wrap .title p:nth-child(1) .plus{font-size: 56px;}
.counterareabg .title_wrap .title p:nth-child(2){font-size: 18px;margin-top: 20px;letter-spacing: -0.05em}
@media(max-width: 768px){
	.counter_area{padding: 60px 0;}
	.counterareabg .title_wrap .inr,
	.counterareabg .title{display: block;width: 100%;}
	.counterareabg .title{margin-top: 40px;}
	.counterareabg .title:first-child{margin-top: 0;}
	.counterareabg .title p:nth-child(1){font-size: 26px;}
	.counterareabg .title p:nth-child(1) .counter{font-size: 40px;font-weight: 700;}
	.counterareabg .title p:nth-child(2){font-size: 16px;font-weight: 500;}
	}




/* cont1 */
.cont1{}
.cont1 .titBox{
	padding-left: 6.94%;
	padding-right: 6.94%;
	width: 100%;
	}
.cont1 .titBox p{
	font-size: 24px;
	font-weight: 300;
	line-height: 34px;
	letter-spacing: -1px;
	color: rgb(51, 51, 51);
	}
.cont1 .titBox span{
	padding-top: 5px;
	font-size: 20px;
	color: rgb(51, 51, 51);
	line-height: 34px;
	letter-spacing: -0.1px;
	}
.cont1 .swiper-container{
	position: relative;
	margin-top: 60px;
	overflow: hidden;
	}
.cont1 .swiper-slide{
	position: relative;
	}
.cont1 .swiper-slide .thumb{
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	}
.cont1 .swiper-slide .thumb::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background-color: rgba(0, 0, 0, .1);*/
	background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 1;
	transition: opacity 0.5s;
	}
.cont1 .swiper-slide a:hover .thumb::after {
	opacity: 0;
	}
.cont1 .swiper-slide .thumb::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(131, 151, 136, 0.7) 0%,   /* #839788, 투명도 70% */
		rgba(131, 151, 136, 0) 100%    /* #839788, 완전 투명 */
	);
	opacity: 0;
	transition: opacity 0.5s;
	}

.cont1 .swiper-slide a:hover .thumb::before {
	opacity: 1;
	}
.cont1 .swiper-slide .thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	}
.cont1 .swiper-slide .txtBox{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: 0 30px 30px;
	z-index: 1;
	}
.cont1 .swiper-slide .txtBox p{
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,0.08);
	}
.cont1 .swiper-slide .txtBox p:nth-child(1){
	font-size: 34px;
	font-weight: 700;
	margin-bottom: 20px;
	}
.cont1 .swiper-slide .txtBox p:nth-child(2){
	font-size: 17px;
	font-weight: 300;
	line-height: 1.4;
	}
.cont1 .swiper-button-prev,
.cont1 .swiper-button-next{display: none}
@media (max-width: 768px){
	/*.cont1 .swiper-container{padding-left: 15px;}*/
	.cont1 .swiper-slide .thumb::before{display: none}
	.cont1 .swiper-slide .thumb::after{pointer-events: none;cursor: none}
	.cont1 .swiper-slide a:hover,
	.cont1 .swiper-slide a:hover .thumb::after {opacity: 1;}
	.cont1 .swiper-slide .txtBox{padding: 0 20px 20px;}
	.cont1 .swiper-slide .txtBox p:nth-child(1){font-size: 30px;}
	.cont1 .swiper-slide .txtBox p:nth-child(2){font-size: 15px;}
	.cont1 .swiper-button-prev,
	.cont1 .swiper-button-next{display: flex; width: 30px;height: 30px; font-size: 14px;}
	.cont1 .swiper-button-prev{left: 14%;}
	.cont1 .swiper-button-next{right: 14%;}
}



/* cont2 */
.cont2{
	background: #F0EDE9;
	}
.cont2 .title{text-align: center;
	}
.cont2 .title p{
	padding: 0;
	margin-bottom: 10px;
	}
.cont2 .more{
	display: inline-block;
	font-size: 16px;
	text-decoration: underline;
	padding-top: 16px;
	}
.cont2 .swiper-slide{
	position: relative;
	border-radius: 16px;
	background: #fff;
	padding: 20px;
	overflow: unset;
	font-size: 17px;

	}
.cont2 .top{
	border-bottom: 1px solid #EFEFEF;
	padding-bottom: 15px;margin-bottom: 15px;
	}
.cont2 .top img{
	width: 60px;
	height: 60px;
	border-radius: 8px;
	margin-right: 10px;
	}
.cont2 .top .tit{
	cursor: pointer;
	line-height: 1.4;

	overflow: hidden;
	text-overflow: ellipsis;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	}
.cont2 .top .tit:hover{
	text-decoration: underline;
	}
.cont2 ul{grid-gap: 20px; font-size: 16px;    margin-top: 80px;}
.cont2 .middle{
	overflow: hidden;
	text-overflow: ellipsis;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	line-height: 1.6;min-height: 102px;
	margin-bottom: 25px;
	}
.cont2 .date{
	color: #999696;
	line-height: 1;
	margin-bottom: 5px;
	font-size: 15px;
	}
.cont2 .name{    color: #999696;}
.cont2 .swiper-wrapper{
	padding-bottom: 40px;
	}
.cont2 .swiper-pagination{
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	}
.cont2 .swiper-pagination-bullet{
	width: 8px;
	height: 8px;border-radius: 50%;
	background: #000;
	opacity: 0.3;
	margin-right: 6px;
	}
.cont2 .swiper-pagination-bullet-active{
	opacity: 1;
	}
@media(max-width: 768px){
	.cont2 .container{
		padding-right: 0;
		}
	.cont2 .title p{font-size: 15px;margin: 0;}
	.cont2 .swiper-slide{
		font-size: 15px;
		}
	.cont2 .middle{
		min-height: 96px;
		}
	.cont2 ul{
		display: block;
		}
	.cont2 li{
		width: 100%;
		padding-bottom: 100%;
		margin-bottom: 16px;
		}
	.cont2 li .txtBox{
		width: 100%;
		bottom: 10%;
		}
	.cont2 li strong{
		font-size: 26px;
		}
	.cont2 li p{
		font-size: 15px;
		line-height: 1.4;
		}


	}






/* cont6 */
.cont6{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../img/main/cont6_bg.png) no-repeat;
	background-size: cover;
	height: 40vw;
	text-align: center;
	}
.cont6::after{
	content: '';
	width: 100%;
	height: 100%;position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	}
.cont6 .txtBox{
	position: relative;
	z-index: 1;
	}
.cont6 .title{
	font-size: 34px;
	color: #fff;
	letter-spacing: -.1px;
	margin-bottom: 0;
	line-height: 1.4;
	}
.cont6 p{
	padding-top: 16px;
	font-size: 16px;
	color: #fff;
	font-weight: 300;
	line-height: 28px;
	letter-spacing: -.7px;
	}
.cont6 a{
	padding: 0 22px;
	border: 1px solid hsla(0, 0%, 100%, .5);
	display: inline-block;
	height: 42px;
	background-color: transparent;
	font-size: 14px;
	color: #fff;
	line-height: 42px;
	letter-spacing: -.7px;
	margin-top: 30px;
	transition: 0.3s;
	}
.cont6 a:hover{
	background-color: #fff;
	color: #222;
	}
@media (max-width: 768px){
	.cont6{
		height: 138vw;
		background-position: right 52% center;
		}
	.cont6 .container{
		width: 100%;
		}
	.cont6 .container::before,
	.cont6 .container::after{display: none}
	.cont6 .title{
		font-size: 24px;
		margin-bottom: 0;
		}
	.cont6 p,
	.cont6 a{
		font-size: 15px;
		}
	.cont6 p{line-height: 1.6;}
}









#about_bn{background:url(../img/main/about_bn_bg.jpg) no-repeat #64c2b6 50%/cover; padding:110px 0; color:#fff;}
#about_bn .title{display:inline-block; text-align:right; font-size:1.5em; margin-bottom:25px;}
#about_bn .title h3{ font-size:1.8em; line-height:1.5em;}
#about_bn .title span{font-family: 'Titillium Web', sans-serif; color:#0DC295;}
#about_bn .txt{ font-weight:300; margin-bottom:20px;}
#about_bn a{display:inline-block; border:1px solid rgba(255,255,255,0.5); padding:8px 15px; color:#fff; font-size:0.9em;}
@media (max-width: 991px) {
	#about_bn
	{ padding:50px 10px;}
	#about_bn .title{font-size:1.1em;}
	#about_bn .title h3{font-size:1.5em;}
	#about_bn .txt{line-height:1.6em;}
	}

/*견적문의*/
#inqry{ background:#f7f7f7; padding:70px 0;}
#inqry .title{text-align:center; margin-bottom:30px;}
#inqry .title h3{ font-size:2.2em; margin-bottom:10px;}
#inqry .title h3 strong{color:#fe9d00;}
#inqry .title span{ color:#999;}

#inqryArea{width:760px; margin:0 auto;}
#inqryArea .text-right{font-size:0.9em;}
.fa-asterisk{color:#f42020; font-size:0.8em; margin-right:3px;}

#inqryArea th, #inqryArea td{padding:2px 20px; position:relative;}
#inqryArea th .fa-asterisk{position:absolute; left:0; top:50%; transform:translateY(-50%); font-size:0.6em;}
#inqryArea input[type=text], #inqryArea select, #inqryArea textarea{ line-height:1.8em; padding:0 10px; margin:1px 3px; border-radius:4px; border:1px solid #c4c4c4;}
#inqryArea input[type=text], #inqryArea select{height:40px;}
#inqryArea textarea{width:100%;}
#inqryArea .submit_btn{text-align:center;}
#inqryArea .btn{background:#333; color:#fff; padding:15px 30px; margin:20px 2px; font-size:1.3em;}
#inqryArea .btn:first-child{ background:#f53244;}


@media (max-width: 991px) {
	#inqry .title span{ display:none;}
	#inqryArea{width:100%; font-size:0.9em;}
	#inqryArea th, #inqryArea td{display:block; position:relative; padding:2px 5px;}
	#inqryArea th{float:left; width:110px; clear:both; padding-left:15px;}
	#inqryArea td{float:left; width:calc(100% - 110px);}
	}

