@charset "utf-8";
/* *******************************************************
 * filename : main.css
 * description : 메인 레이아웃 및 컨텐츠 CSS
 * date : 2020-11-25
******************************************************** */

/* ****************** fullPage 높이 오버라이드 및 스크롤 스냅 비활성화 ********************** */
#fullpage .section {
	height: auto !important;
	min-height: 0 !important;
}
#fullpage .fp-tableCell {
	height: auto !important;
	display: block !important;
}
.fp-section {
	height: auto !important;
}
html.fp-enabled,
.fp-enabled body {
	overflow: auto !important;
	scroll-behavior: smooth !important;
}
#fullpage {
	transform: none !important;
	transition: none !important;
}
.fp-completely {
	transform: none !important;
}

/* 메인 비주얼은 높이 유지 */
#fullpage #mainVisual,
#fullpage #mainVisual.section {
	height: 700px !important;
	min-height: 700px !important;
}
#fullpage #mainVisual .fp-tableCell {
	height: 700px !important;
}

/* ******************  메인 비주얼 ********************** */
#mainVisual{overflow:hidden; width:100%; height:700px; position:relative;}	/* 비주얼높이값 이미지에맞게 수정 */
#mainVisual.full-height,
#fullpage #mainVisual{height:700px;}
.main-visual-con .slick-track,
.main-visual-con .slick-list {
	 -webkit-perspective: 2000;
	-webkit-backface-visibility: hidden;
}
.main-visual-con, 
.main-visual-con .slick-list,  
.main-visual-con .slick-track, 
.main-visual-item{
	height:100%;
}
.main-visual-con{z-index:1;}
/* 메인 비주얼 :: 이미지 */
.main-visual-item{position:relative;}
.main-visual-item .main-visual-pc-img{
	width:100%;
	height:100%;
	background-size:cover !important;
    -webkit-transform: scale(1.05,1.05);
     transform: scale(1.05,1.05);
	-webkit-transition:transform 5000ms  ease-in-out ;
    transition:transform 5000ms ease-in-out ;	
}
.main-visual-item .main-visual-m-img{display:none;}

/* PC에서 모바일 전용 섹션 숨기기 (min-width 사용) */
@media (min-width: 801px) {
	.main-visual-mobile-only {
		display: none !important;
	}
	#mainVisualMobile {
		display: none !important;
	}
}

/* 모바일에서 모바일 전용 섹션 보이기 */
@media (max-width: 800px) {
	.main-visual-mobile-only {
		display: block !important;
	}
	#mainVisualMobile {
		display: block !important;
		height: 400px !important;
		min-height: 400px !important;
		position: relative !important;
		overflow: hidden !important;
	}
	#mainVisualMobile video {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	#mainVisual {
		display: none !important;
	}
}

/* 메인 비주얼 :: 텍스트 */
.main-visual-item .main-visual-txt-con{
	position:absolute; 
	top:50%; left:0px; 
	width:100%; 
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.main-visual-item .main-visual-txt-con .main-visual-txt1{
	opacity:0; 
}
.main-visual-item .main-visual-txt-con .main-visual-txt1{display:block; font-size:64px; font-weight:400; letter-spacing:-1.5px; color:#fff; }
.main-visual-item .main-visual-txt-con .main-visual-sub-txt{display:block; font-size:22px; }
/* 메인 비주얼 :: active효과 */
.main-visual-item.active-item .main-visual-pc-img{
    -webkit-transform: scale(1.0,1.0) rotate(0.002deg);
     transform: scale(1.0,1.0) rotate(0.002deg);
}
.main-visual-item.active-item .main-visual-txt1{
	-webkit-animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
	animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.main-visual-item.active-item .main-visual-txt-con .main-visual-txt1{ -webkit-animation-delay:0.1s; animation-delay:0.1s;}
.main-visual-item .main-visual-txt1.splitting .char{
	-webkit-animation: text-fade-out 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
	animation: text-fade-out 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.main-visual-item.active-item .main-visual-txt1.splitting .char{
	-webkit-animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
	animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes text-active-animation {
	from {
		opacity:0;filter:Alpha(opacity=0);
		-webkit-transform: translateY(50px); 
		transform: translateY(50px); 
	}
	to {
		opacity:1.0;filter:Alpha(opacity=100);
		-webkit-transform: translateY(0); 
		transform: translateY(0); 
	}
}
@keyframes text-fade-out {
	from {
		opacity:1.0;filter:Alpha(opacity=100);
	}
	to {
		opacity:0;filter:Alpha(opacity=0);
	}
}

/* 메인 비주얼 :: Dots */
.main-visual-con .slick-dots-wrapper{position:absolute; left:0; top:50%; margin-top:134px; width:100%; text-align:left; z-index:11; }
.main-visual-con .slick-dots{display:inline-block; vertical-align:top; *display:inline;*zoom:1; }
.main-visual-con .slick-dots li{float:left; margin-left:5px; }
.main-visual-con .slick-dots li:first-child{margin-left:0}
.main-visual-con .slick-dots li button {
	position:relative; cursor:pointer; margin:0px; padding:0px; background:none; vertical-align:top; width:60px; font-size:12px; color: rgba(255,255,255,0.35); padding-bottom:10px; text-align:right; font-style:italic;
}
.main-visual-con .slick-dots li button:before {content:""; position:absolute; width:100%; height:3px; background-color: rgba(255,255,255,0.2); left:0; bottom:0;  }
.main-visual-con .slick-dots li button:after {content:""; position:absolute; width:0; height:3px; background-color: #fff; left:0; bottom:0;  }

.main-visual-con .slick-dots li.slick-active button:after {width:100%; animation:LoadingBar 4s both; }


@-webkit-keyframes LoadingBar{from{width:0px;}to{width:100%;}}
@keyframes LoadingBar{from{width:0px;}to{width:100%;}}


/* ******************  메인 컨텐츠 ********************** */
/* -------- 메인 컨텐츠 :: 공통 -------- */
/* 공통 :: 타이틀 */
.main-tit-box{letter-spacing:-0.75px;}
.main-tit-box.has-btn .inner {position:relative; padding-right: 120px; }
.main-tit-box .section-name {font-size:16px; color:rgba(255,255,255,0.6); font-weight:600}
.main-tit-box .main-tit{color:#fff; font-size:56px; line-height:1.32; font-weight:400; margin-top:40px;}
.main-tit-box .main-sub-tit {display:block; margin-top:25px; color:rgba(255,255,255,0.65); font-size:18px; letter-spacing:-0.75px; line-height:1.88; }
.main-more-btn {position:absolute; display:inline-block; right:0; bottom:0;}
.main-more-btn span {display:inline-block; vertical-align:middle; font-size: 13px; color:#fff; font-weight:600; opacity:0.6;filter:Alpha(opacity=60);}
.main-more-btn i {display:inline-block; vertical-align:middle; width:40px; height:40px; background: rgba(255,255,255,0.3) url("/images/icon/more_btn_arrow.png") center no-repeat; border-radius:50%;  margin-left:20px; }


/* -------- 메인 컨텐츠 :: About -------- */
.main-about-con {max-width:1318px; margin:0 auto; margin-top:130px;}
.main-about-con .top-txt {display:block; font-size: 18px; letter-spacing:-0.1px; color:#fff; margin-bottom:20px;}
.main-about-process-list {display:flex; margin-right:-118px; }
.main-about-process-list .list-item {position:relative; width: 16.66%; text-align:center; margin:0 -9px;}
.main-about-process-list .list-item .inner-box {display:table; width:100%; height:115px; background:url("/images/main/main_about_content_bg.png") center no-repeat; background-size:100% auto; }
.main-about-process-list .list-item .inner {display:table-cell; vertical-align:middle; }
.main-about-process-list .list-item .step {font-size:14px; color:rgba(255,255,255,0.7); font-weight:600;}
.main-about-process-list .list-item .tit {display:block; margin-top:10px; font-size:18px; line-height:1.44; color:#fff; font-weight:400;}
.main-about-process-list .list-item .top-logo {position:absolute; bottom:100%; margin-bottom:-7px; left:0; width:100%; display:inline-block;  padding-bottom:30px; background:url("/images/main/main_about_arrow_big.png") bottom center  no-repeat; animation:circlemove 1.5s infinite linear;}
.main-about-process-list .list-item .bottom-logo {display:inline-block; margin-top:9px; padding-top:7px; background:url("/images/main/main_about_arrow.png") top center  no-repeat; animation:circlemove 1.5s infinite linear;}
.main-about-process-list .list-item.item01 {margin-left:0; }
.main-about-process-list .list-item.item03 .inner-box {background-image:url("/images/main/main_about_content_bg_on.png");}
@keyframes circlemove{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(4px); } }

/* .main-about-process-list .list-item.item03 .item-logo {animation-delay: 0.1s;}
.main-about-process-list .list-item.item04 .item-logo {animation-delay: 0.2s;}
.main-about-process-list .list-item.item06 .item-logo {animation-delay: 0.3s;} */


/* -------- 메인 컨텐츠 :: Product -------- */
.main-product-con {margin-top:40px; }
.main-product-list li {  background-color: #0e5e59;  border:1px solid rgba(255,255,255,0.29); border-left:0; transition: all 0.4s , background-color 0s; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
 box-sizing: border-box; }
.main-product-list li:first-child {border-left: 0;}
.main-product-list li a {display:block; position:relative;}
.main-product-list .img-wrap {position:relative; padding-top:81.25%; transition: all 0.4s; }
.main-product-list .img-wrap span {position:absolute; top:20px; left:20px; right:20px; bottom:20px; display:block;}
.main-product-list img { }
.main-product-list .hover-img {opacity:0;filter:Alpha(opacity=0);}
.main-product-list dd {font-size:18px; letter-spacing:-0.5px;  padding:0 15px; text-align:center; color:rgba(255,255,255,0.5);transition: all 0.4s; }
.main-product-list .tit {display:block; height:1.5em;}
.main-product-list .txt {margin-top:10px; height:1.5em; }
.main-product-list .slick-track {padding-top:30px;}

@media all and (min-width:801px){
	.main-product-con {position:relative; padding-top: 32.38%; }
	.main-product-list-box {position:absolute; top:0; left:0; width:100%; height:100%;}
	.main-product-list li a {  padding-top:109.56%; }
	.main-product-list li a dl {position:absolute; top:0; left:0; width:100%; height:100%;}
	/* on효과 */
	.main-product-list li.on , .main-product-list li:hover {background-color: #fff; margin-top:-30px;}
	.main-product-list li.on .img-wrap, .main-product-list li:hover .img-wrap {padding-top:100%;}
	.main-product-list li.on .img-wrap span {top:0; left:0; right:0; bottom:0;}
	.main-product-list li.on .hover-img , .main-product-list li:hover .hover-img {opacity:1;filter:Alpha(opacity=100);}
	.main-product-list li.on .thumb-img , .main-product-list li:hover .thumb-img {opacity:0;filter:Alpha(opacity=0);}
	.main-product-list li.on dd , .main-product-list li:hover dd{color: #012640; }
	.main-product-list li.on a , .main-product-list li.on:hover a {padding-top: 129.62%}
}

/* -------- 메인 컨텐츠 :: Recruitment -------- */
#mainRecruitCon .main-tit-box .main-sub-tit {margin-top: 75px;}
.main-recruit-con-wrap {display:table; width:100%; height:100%; }
.main-tit-box {display:table-cell; vertical-align:middle;width:50%;}
.main-recruit-con {display:table-cell; vertical-align:middle; width:50%; padding-left:8.4%; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
 box-sizing: border-box;  }
.main-recruit-list {display:flex; justify-content:flex-end; flex-wrap:wrap;}
.main-recruit-list li {width:50%; text-align:center; }
.main-recruit-list .item01 {background-color: #34539b;}
.main-recruit-list .item02 {background-color: #72a425;}
.main-recruit-list .item03 {background-color: #011a40;}
.main-recruit-list a {position:relative; padding-top: 100%; display:block; }
.main-recruit-list .inner-box {position:absolute; top:0; left:0; width:100%; height:100%;}
.main-recruit-list .inner-box .inner {display:table; width:100%; height:100%;}
.main-recruit-list .inner-box .inner dl {display:table-cell; vertical-align:middle;}
.main-recruit-list .icon {display:block; height:48px; background:center no-repeat;}
.main-recruit-list .item01 .icon {background-image:url("/images/main/main_recruit_icon_01.png");}
.main-recruit-list .item02 .icon {background-image:url("/images/main/main_recruit_icon_02.png");}
.main-recruit-list .item03 .icon {background-image:url("/images/main/main_recruit_icon_03.png");}
.main-recruit-list .tit {display:block; font-size: 24px; color:#fff; letter-spacing:-0.65px; margin-top: 14.52%; font-weight:400;}

/* -------- 메인 컨텐츠 :: Customer -------- */
#mainCustomerCon .main-tit-box .section-name {color:rgba(70,70,70,0.6); }
#mainCustomerCon .main-tit-box .main-tit {color:#464646; }
#mainCustomerCon .main-tit-box .main-tit span {color: #72a425;}
#mainCustomerCon .main-tit-box .main-sub-tit {color:rgba(70,70,70,0.65);}
#mainCustomerCon .main-more-btn span {color: #464646;}
#mainCustomerCon .main-more-btn i {background-color: #464646;}

.main-customer-con {margin-top:50px;}
.main-customer-con .tit-box {text-align:center; background-color: #99a622;}
.main-customer-con .tit-box span {font-size: 16px; letter-spacing:-0.5px; color:rgba(255,255,255,0.4); display:block; margin-bottom:10px; font-weight:600; }
.main-customer-con .tit-box strong {font-size: 24px; letter-spacing:-0.5px; color:#fff; font-weight:400;}
.main-customer-con .con-box {display:table; width:100%; }
.main-customer-con .con-box .tit-box {display:table-cell; vertical-align:middle; width:140px; }
.main-customer-con .logo-box {display:table-cell; vertical-align:middle; width:calc(100% - 140px); background-color: #fff; border:1px solid #cecece; border-left:0;}
.main-customer-con .logo-list {display:flex; border-top:1px solid #cecece; padding:0 30px 0 60px; }
.main-customer-con .logo-list:first-child {border-top:0; }
.main-customer-con .logo-list li {width:20%;}
.main-customer-con .logo-list li .logo-wrap {position:relative; padding-top: 53.78%; }
.main-customer-con .logo-list li .logo-wrap span {display:block; position:absolute; top:10px; left:10px; right:10px; bottom:10px; }

.main-customer-con .relative-con {margin-bottom:15px;}
.main-customer-con .relative-con .tit-box {background-color: #72a425; }
.main-customer-con .customer-con {margin-bottom:15px;}
.main-customer-con .customer-con .logo-list .logo-wrap {padding-top:67.82%; }


/* ******************  메인 오른쪽 퀵메뉴 (Fullpage) ********************** */
#fp-nav {
	display: none !important;
}
#fp-nav ul li{position:relative; width:22px; margin:30px 0;}
#fp-nav ul li:last-child{display:none} /* 마지막 섹션이 footer일경우 */
#fp-nav ul li a{display:block; position:relative; width:100%; height:22px; box-sizing:border-box; padding:5px; transition: all 0.4s;}
#fp-nav ul li a span{display:block; width:8px; height:8px; border:1px solid #fff; border-radius:50%; }
#fp-nav ul li .fp-tooltip{
	position:absolute; 
	overflow:hidden; display:none;
	right:20px; top:0; 
	opacity:0;filter:Alpha(opacity=0); 
	line-height:20px; 
	letter-spacing:-0.75px; 
	font-size:12px; 
	color:#fff; 
	margin-right:5px; 
	text-align:right; 
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	-o-transition:all 0.3s;
	-ms-transition:all 0.3s;
	transition:all 0.3s;
}
#fp-nav ul li .fp-tooltip span{display:block; transform:translateX(100%); transition:all 0.5s;}
#fp-nav ul li a.active {background:url("/images/main/main_right_nav_icon.png") center no-repeat;}
#fp-nav ul li a.active span{  border:0;}
#fp-nav ul li a.active + .fp-tooltip{opacity:1.0;filter:Alpha(opacity=100);}
#fp-nav ul li a.active + .fp-tooltip span{transform:translateX(0%)}

/* Black Style */
#fp-nav.black ul li a span{border-color:#9c9c9c;}
#fp-nav.black ul li .fp-tooltip{color:#222;}

/* ******************  핵심사업영역 ********************** */
#mainBusiness {
	background: #fff;
	min-height: auto;
	padding: 80px 0 80px;
}

#mainBusiness .inner--wrap {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
}

#mainBusiness .titles {
	margin-bottom: 50px;
}

#mainBusiness .titles h2 {
	font-size: 36px;
	font-weight: 700;
	color: #222;
	letter-spacing: -1px;
}

#mainBusiness .accd--content--wrap .accd--content {
	display: flex;
	gap: 15px;
	width: 100%;
}

#mainBusiness .accd--content .accd-item-wrap {
	flex: 1;
	display: flex;
	flex-direction: column;
	transition: flex 0.5s ease;
}

#mainBusiness .accd--content .accd-item-wrap:hover {
	flex: 2;
}

#mainBusiness .accd--content .accd-item {
	height: 500px;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background-size: cover;
	background-position: top center;
	cursor: pointer;
}

#mainBusiness .accd--content .accd-item-inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 30px;
}

#mainBusiness .accd--content .accd-item h2 {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 8px;
	text-shadow: 0 2px 4px rgba(0,0,0,0.3);
	display: flex;
	align-items: center;
	gap: 15px;
}

.accd-arrow {
	display: inline-block;
	width: 40px;
	height: 40px;
	border: 2px solid rgba(255,255,255,0.8);
	border-radius: 6px;
	position: relative;
	transition: all 0.3s ease;
}

.accd-arrow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 2.5px solid #fff;
	border-right: 2.5px solid #fff;
	transform: translate(-60%, -50%) rotate(45deg);
}

#mainBusiness .accd--content .accd-item:hover .accd-arrow {
	background: rgba(255,255,255,0.2);
}

#mainBusiness .accd--content .captions p {
	font-size: 14px;
	color: rgba(255,255,255,0.9);
	line-height: 1.5;
	text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#mainBusiness .accd--content .captions u {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

#mainBusiness .accd--content .subject {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 13px;
	color: #fff;
	line-height: 1.6;
	margin-top: 15px;
	transition: all 0.4s ease;
}

#mainBusiness .accd--content .accd-item:hover .subject {
	max-height: 100px;
	opacity: 1;
}

#mainBusiness .accd--content .accd-item-label {
	margin-top: 15px;
	font-size: 24px;
	font-weight: 700;
	color: #333;
	text-align: left;
}

@media all and (max-width: 1024px) {
	#mainBusiness .accd--content--wrap .accd--content {
		height: 350px;
	}

	#mainBusiness .accd--content .accd-item h2 {
		font-size: 20px;
	}
}

@media all and (max-width: 768px) {
	#mainBusiness .accd--content--wrap .accd--content {
		flex-direction: column;
		height: auto;
		gap: 12px;
	}

	#mainBusiness .titles h2 {
		font-size: 28px;
	}

	#mainBusiness .accd--content .accd-item-wrap {
		flex: none !important;
	}

	#mainBusiness .accd--content .accd-item-wrap:hover {
		flex: none !important;
	}

	#mainBusiness .accd--content .accd-item {
		height: 180px;
		background-size: cover !important;
		background-position: center center !important;
	}

	#mainBusiness .accd--content .accd-item:hover,
	#mainBusiness .accd--content .accd-item:active,
	#mainBusiness .accd--content .accd-item:focus {
		flex: none;
		background-size: cover !important;
		background-position: center center !important;
	}

	#mainBusiness .accd--content .accd-item h2 {
		font-size: 18px;
	}

	#mainBusiness .accd--content .captions p {
		font-size: 13px;
	}
}

@media all and (max-width: 480px) {
	#mainBusiness {
		padding: 40px 15px;
	}

	#mainBusiness .inner--wrap {
		padding: 0;
	}

	#mainBusiness .titles {
		margin-bottom: 20px;
	}

	#mainBusiness .titles h2 {
		font-size: 22px;
	}

	#mainBusiness .accd--content--wrap .accd--content {
		gap: 10px;
	}

	#mainBusiness .accd--content .accd-item {
		height: 140px;
		border-radius: 10px;
		background-size: cover !important;
		background-position: center center !important;
	}

	#mainBusiness .accd--content .accd-item-inner {
		padding: 15px;
	}

	#mainBusiness .accd--content .accd-item h2 {
		font-size: 15px;
		gap: 8px;
	}

	.accd-arrow {
		width: 28px;
		height: 28px;
	}

	.accd-arrow::before {
		width: 7px;
		height: 7px;
	}
}

/* ****************** 설비 슬라이드 섹션 ********************** */
#mainEquipment {
	width: 100%;
	height: auto;
	min-height: 550px;
	padding: 100px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #f8f8f8;
}

.equipment-inner-wrap {
	width: 100%;
	max-width: 100%;
}

.equipment-titles {
	margin-bottom: 50px;
	padding: 0 60px;
}

.equipment-titles h2 {
	font-size: 36px;
	font-weight: 700;
	color: #222;
	letter-spacing: -1px;
}

.equipment-slide-wrap {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 50px 0;
}

.equipment-section-title {
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}

.equipment-slide-row {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.equipment-slide-track {
	display: flex;
	gap: 20px;
	width: max-content;
}

.top-row .equipment-slide-track {
	animation: slideLeft 25s linear infinite;
}

.bottom-row .equipment-slide-track {
	animation: slideRight 25s linear infinite;
}

.equipment-slide-item {
	flex-shrink: 0;
	width: 400px;
	height: 250px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
	background: transparent;
}

.equipment-slide-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.7;
}

@keyframes slideLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@keyframes slideRight {
	0% {
		transform: translateX(-50%);
	}
	100% {
		transform: translateX(0);
	}
}

@media all and (max-width: 1024px) {
	.equipment-slide-item {
		width: 320px;
		height: 200px;
	}
}

@media all and (max-width: 768px) {
	.equipment-slide-item {
		width: 250px;
		height: 155px;
	}

	.equipment-slide-wrap {
		gap: 15px;
	}
}

/* ****************** 제품 섹션 ********************** */
#mainProduct {
	background: #fff;
	width: 100%;
	height: auto;
	min-height: 600px;
	padding: 100px 0;
	display: flex;
	align-items: center;
}

.product-section-wrap {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 60px;
}

.product-titles {
	margin-bottom: 50px;
}

.product-titles h2 {
	font-size: 36px;
	font-weight: 700;
	color: #222;
}

.product-block {
	width: 100%;
}

.product-block-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-block-item {
	flex: 0 0 calc(33.333% - 14px);
	box-sizing: border-box;
}

.product-block-item.block-title {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f8f8f8;
	border-radius: 20px;
	padding: 60px 40px;
}

.product-block-text {
	text-align: left;
}

.product-block__title {
	font-size: 52px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
	margin: 0 0 25px 0;
}

.product-block__desc {
	font-size: 18px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}

.product-block-item a {
	display: block;
	background: #f8f8f8;
	border-radius: 20px;
	padding: 40px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.product-block-item a:hover {
	background: #f0f0f0;
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.product-block__thum {
	margin: 0 0 25px 0;
	text-align: center;
}

.product-block__thum img {
	max-width: 100%;
	height: 260px;
	object-fit: contain;
}

.product-block__text {
	font-size: 24px;
	font-weight: 700;
	color: #222;
	text-align: center;
}

/* ****************** 응용분야 섹션 ********************** */
#mainApplication {
	width: 100%;
	height: auto;
	min-height: 500px;
	padding: 100px 0;
	background: #f8f8f8;
	overflow: hidden;
}

.application-inner-wrap {
	width: 100%;
	max-width: 100%;
}

.application-titles {
	margin-bottom: 50px;
	padding: 0 60px;
}

.application-titles h2 {
	font-size: 36px;
	font-weight: 700;
	color: #222;
	letter-spacing: -1px;
}

.application-slide-wrap {
	display: flex;
	flex-direction: column;
	gap: 20px;
	overflow: hidden;
}

.application-slide-row {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.application-slide-track {
	display: flex;
	gap: 20px;
	width: max-content;
}

.top-row .application-slide-track {
	animation: slideLeft 25s linear infinite;
}

.bottom-row .application-slide-track {
	animation: slideRight 25s linear infinite;
}

.application-slide-item {
	flex-shrink: 0;
	width: 400px;
	height: 250px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.application-slide-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}

@keyframes slideLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@keyframes slideRight {
	0% {
		transform: translateX(-50%);
	}
	100% {
		transform: translateX(0);
	}
}

@media all and (max-width: 768px) {
	.application-slide-item {
		width: 280px;
		height: 180px;
	}
}

/* ****************** 배너 섹션 ********************** */
#mainBanner {
	width: 100%;
	height: auto;
	padding: 60px 0;
	background: #f5f5f5;
}

.common-banner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.banner-list {
	display: flex;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.banner-item {
	flex: 1;
	height: 280px;
	background-size: cover;
	background-position: center;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
}

.banner-item a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 50px;
	position: relative;
	z-index: 1;
	text-decoration: none;
}

.banner-txt {
	text-align: left;
	margin-bottom: 30px;
}

.banner-txt span {
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.5px;
}

.banner-arrow {
	display: inline-block;
	width: 46px;
	height: 46px;
	border: 2px solid rgba(255,255,255,0.8);
	border-radius: 6px;
	position: relative;
	transition: all 0.3s ease;
}

.banner-arrow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(-60%, -50%) rotate(45deg);
}

.banner-item:hover .banner-arrow {
	background: rgba(255,255,255,0.2);
	border-color: #fff;
}

@media all and (max-width: 768px) {
	#mainBanner {
		padding: 30px 0;
	}

	.common-banner {
		padding: 0 15px;
	}

	.banner-list {
		flex-direction: column;
		gap: 12px;
	}

	.banner-item {
		height: 120px;
		background-size: cover !important;
		background-position: center center !important;
		border-radius: 12px;
	}

	.banner-item a {
		padding: 20px;
	}

	.banner-txt {
		margin-bottom: 10px;
	}

	.banner-txt span {
		font-size: 18px;
	}

	.banner-arrow {
		width: 28px;
		height: 28px;
	}

	.banner-arrow::before {
		width: 8px;
		height: 8px;
		border-width: 2px;
	}
}

@media all and (max-width: 1200px) {
	.product-block-item {
		flex: 0 0 calc(50% - 10px);
	}
}

@media all and (max-width: 768px) {
	#mainProduct {
		margin-top: 30px;
	}

	.product-section-wrap {
		padding: 40px 20px;
	}

	.product-titles {
		margin-bottom: 30px;
	}

	.product-titles h2 {
		font-size: 22px;
	}

	.product-block-list {
		gap: 15px;
	}

	.product-block-item {
		flex: 0 0 calc(50% - 8px);
	}

	.product-block-item.block-title {
		padding: 30px 20px;
	}

	.product-block__title {
		font-size: 28px;
	}

	.product-block__thum img {
		height: 120px;
	}
}