@charset "utf-8";

/* animation */
/* word */
.wordAni{opacity:0;}
.wordAni.active{opacity:1;}
.wordAni > span{display:inline-block;}
.wordAni .word{display:inline-block;}
/* motion rail */
[data-motion-rail]{position:absolute; left:0px; top:0px; text-transform:uppercase; font-size:200px; letter-spacing:2px; white-space:nowrap;}
[data-motion-rail] .eocjs-newsticker-container{position:relative; width:100%; padding-top:30%;}
[data-motion-rail].eocjs-newsticker .eocjs-newsticker-one,
[data-motion-rail].eocjs-newsticker .eocjs-newsticker-two{position:absolute; left:0; top:0; white-space:nowrap;}
/* hide show */
.ani_hide{overflow:hidden; opacity:0; transform:translateY(-20px); transition:opacity 0.8s ease-in-out 0s, transform 0.8s ease-in-out 0s;}
.ani_hide.motion_in{opacity:1; transform:translateY(0px);}
/* box show */
.ani_box{position:relative;}
.ani_box:before,
.ani_box:after{content:''; display:block; position:absolute; top:0px; z-index:3; width:50.5%; height:100%; background:#fff; transform:scaleX(1); transition:transform 0.7s ease-in-out 0s;}
.ani_box .obj_blank:before,
.ani_box .obj_blank:after{content:''; display:block; position:absolute; top:0px; z-index:2; width:50%; height:100%; background:#0083c3; transform:scaleX(1); transition:transform 0.6s ease-in-out 0s;}
.ani_box:before{left:-1px; transform-origin:0 0;}
.ani_box .obj_blank:before{left:0px; transform-origin:0 0;}
.ani_box:after{right:-1px; transform-origin:100% 0;}
.ani_box .obj_blank:after{right:0px; transform-origin:100% 0;}
.ani_box.motion_in:before,
.ani_box.motion_in:after{transform:scaleX(0);}
.ani_box.motion_in .obj_blank:before,
.ani_box.motion_in .obj_blank:after{transform:scaleX(0); transition-delay:0.15s;}

@keyframes path01{
	0%{stroke-dashoffset:1500;}
	100%{stroke-dashoffset:0;}
}



/**
 * #main-visual-section
**/
#main-visual-section{width:100%;height:1000px;overflow:hidden;position:relative;background-size: cover;}
.area_visual{position:relative;width:100%;height: 100% !important;}
.area_visual .swiper,
.area_visual .swiper .box{height:100%;}
.area_visual .swiper .box{overflow:hidden; position:relative;}
.area_visual [data-visual="text"]{display:flex;flex-flow:column wrap;justify-content:center;align-items:flex-start;position:absolute;top: -5%;left:50%;z-index:60;width: 100%;max-width: 1200px;height:100%;margin-left: -600px;color:#fff;}
.area_visual [data-visual="text"] > p{font-family: 'GmarketSansBold';width: 100%;text-align: left;font-size: 24px;font-weight: 400;padding-bottom: 0.2em;}
.area_visual [data-visual="text"] > span{display:block; margin:5px 0 30px; font-size:0px;}
.area_visual [data-visual="text"] > em{font-family: 'GmarketSansBold';width: 100%;text-align: left;font-size: 60px;font-weight: 700;padding-bottom: 0.5em;}
.area_visual [data-visual="text"] > .vlogo_img {opacity:0; display: inline-block; margin: 0 auto; text-align: center;}
.area_visual [data-visual="text"] > .vlogo_img img {width:100%;max-width:484px;}
.area_visual [data-visual="img"]{display:block; height:100%;}
.area_visual [data-visual="img"] i{display:block; height:100%; background-repeat:no-repeat; background-position:50% 0; background-size:cover; transform:scale(1.08); transition:transform 4s ease-in-out;}
.area_visual .swiper-slide-active [data-visual="img"] i{transform:scale(1);}
.area_visual [data-visual="text"] > p span.bold .word1,
.area_visual [data-visual="text"] > p span.bold .word2,
.area_visual [data-visual="text"] > p span.bold .word3,
.area_visual [data-visual="text"] > p span.bold .word4 {font-weight:bold;}
.area_visual [data-visual="text"] > p span.bold .word4 .word:last-child {font-weight:normal;}
.area_visual .area_arrow {width: 150px !important;text-align: center;display: inline-block;position:absolute;left: 50%;margin-left: -75px;bottom: 50px;z-index:2;color: #fff;}
.swiper-pagination-bullet {width:10px !important;height: 6px !important;background-color:#ffffff !important;margin:0 3px;opacity: 0.5 !important;border-radius: 0;}
.swiper-pagination-bullet-active {width: 60px !important;opacity: 1 !important;background-color:#ffffff !important;}
.swiper-button-next, .swiper-button-prev {position:absolute;display:grid;width:70px;height: 70px;background-color : rgba(0,0,0,0.5);border-radius:50%;justify-content: center;align-items: center;}
.swiper-button-next:after, .swiper-button-prev:after {font-size: 1.6em; color:#fff;}
.swiper-button-next {right: 50%;margin-right: -700px;}
.swiper-button-prev {left: 50%;margin-left: -700px;}

@media screen and (max-width:1410px){
	.area_visual .mmark {left:10px;margin-left:inherit;}
	.area_visual .mmark img {width:300px;}
}
@media screen and (max-width:1200px){
	.area_visual .mmark {margin-top: 110px;}
	.area_visual .mmark img {width:270px;}
	.area_visual [data-visual="text"] {display: inline-block;width: 500px;max-width: inherit;top: 45%;left: 50%;margin: 0px;background-color: rgb(0,0,0,0.5);height: auto;transform: translate(-50%, -50%);text-align: center;padding: 2em;}
	.area_visual [data-visual="text"] > p{font-size:2vw; text-align:center;}
	.area_visual [data-visual="text"] > em{font-size: 4vw; text-align:center;}
	.area_visual [data-visual="text"] > .vlogo_img img {width:90%;}
}
@media screen and (max-width:980px){
	.area_visual .mmark img {width:250px;}
	.area_visual .area_arrow {width:140px;bottom: 30px;left: 50%;margin-left:-70px;}
	.area_visual .swiper_page {font-size:16px;}
	.area_visual [data-visual="text"] > .vlogo_img img {width:75%;}
}
@media screen and (max-width:768px){
	.area_visual .mmark img {width:220px;}
	.area_visual [data-visual="text"] > p{font-size:3vw}
	.area_visual [data-visual="text"] > em{font-size: 6vw;}
	.area_visual [data-visual="text"] > .vlogo_img img {width:60%;}
}
@media screen and (max-width:550px){
	.area_visual [data-visual="text"] {width: 300px;padding: 1em 10px;}
}
@media screen and (max-width:460px){
	.area_visual .mmark img {width:200px;}
	.area_visual [data-visual="text"] > p{font-size: 5vw;}
	.area_visual [data-visual="text"] > em{font-size: 9vw;}
	.area_visual [data-visual="text"] > .vlogo_img img {width:45%;}
}


.main-sec2 {padding:175px 0 120px;}
.main-sec2 .contain {max-width: 1200px;margin: 0 auto;}
.main-sec2 .top {position:relative;}
.main-sec2 .top .img {margin-bottom:45px;}
.main-sec2 .top .txt {display: block;text-align: center;font-size: 56px;font-weight: 700;color:#2c2c2c;line-height:1em;}
.main-sec2 .top .txt span {color:#d61719;}
.main-sec2 .top p {font-size: 22px;margin: 40px 0 140px 0;line-height:1.615em;text-align:center;font-weight:500;color: #2c2c2c;letter-spacing:-.04em;}
.main-sec2 .top p strong {font-weight:700;color: #044999;}
.main-sec2 ul {display:flex; max-width:1200px; margin:0 auto; text-align:center;}
.main-sec2 ul li {width: 33.333%;border-left:1px dashed #dfdfdf;padding: 20px 0;}
.main-sec2 ul li:last-child {border-right:1px dashed #dfdfdf;}
.main-sec2 ul li .icon {margin-bottom:35px;}
.main-sec2 ul li span {font-size:14px; font-weight:500; color:#878787; letter-spacing:-.04em; display:block;}
.main-sec2 ul li .tit {font-size: 24px;margin-bottom: 35px;font-weight:700;letter-spacing:-.04em;color: #2c2c2c;line-height:1.2em;}
.main-sec2 ul li p {font-size: 16px;line-height: 1.5;color: #2c2c2c;margin-bottom: 35px;}
.main-sec2 ul li a {width: 110px;height: 40px;display:flex;align-items:center;justify-content:center;margin:0 auto;border:1px solid #dfdfdf;border-radius: 15px;font-size: 14px;color: #555555;font-weight:500;letter-spacing:-.04em;}
.main-sec2 ul li:hover a {color:#fff; background-color:#044999; border-color:#044999;}

@media (max-width:1025px) {
	.main-sec2 ul {flex-wrap: wrap;}
	.main-sec2 ul li {width: 50%;}
	.main-sec2 ul li:nth-child(1) {border-bottom: 1px dashed #dfdfdf;}
	.main-sec2 ul li:nth-child(2) {border-bottom: 1px dashed #dfdfdf;}
}




.main-sec3 {padding:110px 0 120px; background-color:#f4f4f4;}
.m-tit {font-size:56px;margin-bottom:55px;font-weight: 700;color:#2c2c2c;line-height:1.2em;}
.main-sec .more-view {font-size:19px;top: 5px;right: 0px;font-weight:500;color:#2c2c2c;letter-spacing:-.04em;line-height:1.2em;position:absolute;}
.main-sec .more-view img {vertical-align:middle;}

.main-sec3 .m-tit {padding-left: 20px;}
.main-sec3 .wrap {padding-left: 340px;max-width:1920px;margin:0 auto;position:relative;}
.main-sec3 .more-view {right: 351px;}
.main-sec3 .swiper {width: 1900px;height:100%;}
.main-sec3 .swiper-slide {padding:0 20px 70px; width:100%;}
.main-sec3 .swiper-slide a:hover .thumb:after {left:0; right:0; top:0; bottom:0; background-image:url('../images/main/pro_on.png'); background-size:cover; background-repeat:no-repeat; position:absolute; content:'';}
.main-sec3 .swiper-slide a .thumb {position:relative;padding-bottom:100%;margin-bottom:15px;overflow:hidden;background-color:#fff;border: 1px solid #ddd;}
.main-sec3 .swiper-slide a .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.main-sec3 .swiper-slide a p {font-size: 16px;color:#2c2c2c;letter-spacing:-.04em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;  /* 말줄임 적용 */}
.main-sec3 .swiper-pagination {top: inherit;position:absolute;width:100%;margin-left:20px;height:5px;bottom:0;left:50%;transform:translateX(-50%);background:#dfdfdf;}
.main-sec3 .swiper-pagination-progressbar-fill {background-color:#272e3e !important;}

.main-sec4 {padding:110px 0 140px;}
.main-sec4 .contain {position:relative;width: 100%;max-width: 1220px;margin: 0 auto;padding: 0 10px;}
.main-sec4 ul {display:flex; margin:0 -20px;}
.main-sec4 ul li {width:33.3333%; padding:0 20px;}
.main-sec4 ul li a {display:block;}
.main-sec4 ul li a .img-area {display: inline-block;position: relative;border:1px solid #dfdfdf;padding:0;margin:0;line-height:0;}
.main-sec4 ul li a .img-area img {width:100%;max-width:370px;}
.main-sec4 ul li a .tit {display: block; text-align: center; font-size: 18px; color: #2c2c2c; margin-top: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
main-sec4 ul li:hover a {background-color:#fafafa;}


@media (max-width:1500px) {
	.main-sec3 .wrap {padding-left:130px;}
	.main-sec3 .more-view {right:130px;}
}

@media (max-width:1300px) {
	.main-sec3 .wrap {padding-left: 0px;}
	.main-sec3 .more-view {right: 20px;}
}

@media (max-width:1250px) {
	.main-sec3 .m-tit {padding-left: 10px;}
	.main-sec3 .more-view {right: 10px;}
	.main-sec4 .more-view {right: 10px;}
	.main-sec .more-view img {width:50px;}
}

/* landscape tablet and desktop */
@media (max-width:1200px) {
	.main-sec2 .top .txt {font-size: 50px;}
	.main-sec2 .top p {font-size:20px; margin-bottom:50px;}
	.main-sec2 ul li .icon {margin-bottom:20px;}
	.main-sec2 ul li .tit {font-size:25px;}
	.main-sec2 {padding:120px 0 80px;}
	.main-sec3,
	.main-sec4 {padding:80px 0;}
	.m-tit {font-size: 50px;}
	.main-sec4 ul li a {/* padding:30px; */}
	.main-sec4 ul li a .tit {font-size:18px; margin-bottom:20px;}
}

@media (max-width:1024px) {
	.main-sec2 .top .img {margin-bottom:30px;}
	.main-sec2 .top .txt {font-size: 40px;}
	.main-sec2 .top p {font-size:16px; margin-bottom:30px;}
	.main-sec2 ul li .icon {margin-bottom:10px;}
	.main-sec2 ul li .icon img {height:50px;}
	.main-sec2 ul li span {line-height:1.3em;}
	.main-sec2 ul li .tit {font-size:20px; margin:10px 0;}
	.main-sec2 ul li p {margin-bottom: 15px;}
	.main-sec2 ul li a {width:100px; height:35px;}
	
	.m-tit {font-size: 40px;}

	.main-sec3, .main-sec4 {padding:60px 0;}
	.main-sec3 .m-tit {padding-left:10px;}
	.main-sec3 .swiper {width:100%;}
	.main-sec3 .swiper-slide {padding:0 10px 40px;}
	.main-sec3 .swiper-slide a .thumb {margin-bottom:10px;}
	.main-sec3 .swiper-slide a p {font-size:16px;}
	.main-sec3 .swiper-pagination {margin-left:10px;}
	
	.main-sec4 ul {margin:0 -10px;}
	.main-sec4 ul li {padding:0 10px;}
	.main-sec4 ul li a .date {margin-bottom:10px;}
	.main-sec4 ul li a .tit {font-size:16px; margin-bottom:10px;}
	.main-sec4 ul li a .in {margin-bottom:20px;}
} 

@media (max-width:640px) {
	.main-sec2 {padding:70px 0 50px;}
	.main-sec2 .top .txt {font-size: 30px;}
	.main-sec2 .top p {font-size: 14px;margin-bottom:20px;}
	.main-sec2 .top p br {display:none;}
	.main-sec2 ul {flex-wrap:wrap;}
	.main-sec2 ul li {padding:15px 0; width:100%; border:1px dashed #dfdfdf; margin-top:-1px;}
	.main-sec2 ul li .icon img {height:34px;}
	.main-sec2 ul li .tit {font-size:16px; margin:5px 0;}
	.main-sec2 ul li p {font-size: 14px;}

	.main-sec3 .swiper {width:100%;}
	.main-sec3 .wrap {padding-left:5px;}
	.main-sec3 .swiper-slide a p {font-size:14px;}
	.main-sec3 .more-view,
	.main-sec4 .more-view {right:15px;}

	.m-tit {font-size: 30px;margin-bottom:20px;}
	.main-sec3, .main-sec4 {padding:40px 0;}
	.main-sec4 ul {flex-wrap:wrap;margin: 0 auto;width: 100%;max-width: 370px;}
	.main-sec4 ul li {width:100%;margin-bottom:10px;padding:0;}
	.main-sec4 ul li a {padding:15px 20px;}
	.main-sec .more-view img {width:35px;}
} 

@media (max-width:500px) {
	.main-sec2 .top .txt {font-size: 24px;}
	.m-tit {font-size: 24px;}
	.main-sec .more-view img {width:20px;}
}

/* 메인 비주얼 버튼 */
.area_visual .visual_btn_wrap{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:34px;
    position:relative;
    z-index:70;
}
.area_visual .visual_btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-width:158px;
    height:52px;
    padding:0 22px;
    box-sizing:border-box;
    border-radius:12px;
    font-size:16px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.area_visual .visual_btn:hover{transform:translateY(-2px);}
.area_visual .visual_btn.btn_primary{
    background:#159b8b;
    border:1px solid #159b8b;
    color:#fff;
}
.area_visual .visual_btn.btn_primary:hover{
    background:#0f8174;
    border-color:#0f8174;
    color:#fff;
}
.area_visual .visual_btn.btn_outline{
    background:rgba(0,0,0,.12);
    border:1px solid rgba(255,255,255,.85);
    color:#fff;
}
.area_visual .visual_btn.btn_outline:hover{
    background:#fff;
    border-color:#fff;
    color:#222;
}
.area_visual .visual_btn_arrow{
    display:inline-block;
    font-size:18px;
    font-weight:400;
    line-height:1;
}

@media screen and (max-width:1200px){
    .area_visual .visual_btn_wrap{justify-content:center;margin-top:24px;}
}

@media screen and (max-width:550px){
    .area_visual .visual_btn_wrap{gap:8px;margin-top:20px;}
    .area_visual .visual_btn{min-width:0;height:44px;padding:0 14px;gap:12px;border-radius:9px;font-size:13px;}
    .area_visual .visual_btn_arrow{font-size:15px;}
}


/* =========================================================
   메인 핵심지표 카드
   ========================================================= */
.main-stats{
	padding:72px 40px;
	background:#f4f5f6;
}

.main-stats-inner{
	width:100%;
	max-width:1760px;
	margin:0 auto;
}

.main-stats-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:16px;
}

.stat-card{
	min-height:420px;
	padding:62px 56px 42px;
	border-radius:20px;
	background:#fff;
	display:flex;
	flex-direction:column;
	transition:transform .25s ease, box-shadow .25s ease;
}

.stat-card:hover{
	transform:translateY(-5px);
	box-shadow:0 14px 34px rgba(21,155,139,.10);
}

.stat-card-head{
	display:flex;
	align-items:center;
	gap:26px;
	min-height:62px;
}

.stat-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:64px;
	height:64px;
	font-size:48px;
	line-height:1;
	color:#159b8b;
}

.stat-label{
	font-size:20px;
	font-weight:700;
	color:#222;
	letter-spacing:-.04em;
}

.stat-number-wrap{
	display:flex;
	align-items:baseline;
	margin-top:70px;
	line-height:1;
	white-space:nowrap;
}

.stat-number{
	font-size:92px;
	font-weight:700;
	color:#159b8b;
	letter-spacing:-.05em;
}

.stat-plus{
	margin-left:5px;
	font-size:54px;
	font-weight:500;
	color:#159b8b;
}

.stat-unit{
	margin-left:8px;
	font-size:34px;
	font-weight:700;
	color:#222;
	letter-spacing:-.04em;
}

.stat-desc{
	margin-top:auto;
	padding-top:58px;
	text-align:center;
	font-size:18px;
	font-weight:500;
	color:#777;
	letter-spacing:-.04em;
}

@media screen and (max-width:1400px){
	.main-stats{
		padding:60px 24px;
	}
	.stat-card{
		min-height:360px;
		padding:48px 36px 36px;
	}
	.stat-number-wrap{
		margin-top:55px;
	}
	.stat-number{
		font-size:72px;
	}
	.stat-plus{
		font-size:42px;
	}
	.stat-unit{
		font-size:28px;
	}
}

@media screen and (max-width:1024px){
	.main-stats{
		padding:50px 20px;
	}
	.main-stats-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:14px;
	}
	.stat-card{
		min-height:320px;
	}
}

@media screen and (max-width:640px){
	.main-stats{
		padding:36px 14px;
	}
	.main-stats-grid{
		grid-template-columns:1fr;
		gap:12px;
	}
	.stat-card{
		min-height:250px;
		padding:30px 28px 26px;
		border-radius:16px;
	}
	.stat-card-head{
		gap:18px;
		min-height:48px;
	}
	.stat-icon{
		width:48px;
		height:48px;
		font-size:36px;
	}
	.stat-label{
		font-size:17px;
	}
	.stat-number-wrap{
		margin-top:34px;
	}
	.stat-number{
		font-size:58px;
	}
	.stat-plus{
		font-size:34px;
	}
	.stat-unit{
		font-size:23px;
	}
	.stat-desc{
		padding-top:34px;
		font-size:15px;
	}
}


/* =========================================================
   메인페이지 헤더 / 메인 비주얼 간격 및 폭 보정
   - 상단 메뉴 바로 아래에 메인 비주얼 연결
   - default.css 모바일 #wrapper 상단 70px 중복 여백 제거
   - 메인 비주얼 가로폭 100% 유지
   - 강제 적용(!important) 사용 안 함
   ========================================================= */
#main-visual-section{
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
	box-sizing:border-box;
}

#main-visual-section .area_visual{
	width:100%;
	max-width:none;
	margin:0;
	box-sizing:border-box;
}

@media screen and (max-width:1025px){
	#hd,
	#hd_wrapper,
	#cnb-section,
	#hd_wrapper .cnb-area{
		position:relative;
	}

	#hd_wrapper #logo,
	#hd_wrapper .mobile-header-actions{
		z-index:10010;
	}

	/* default.css의 #wrapper { padding-top:70px; }보다 선택자 우선순위를 높여 해제 */
	html body #wrapper{
		padding-top:0;
	}

	body #main-visual-section{
		margin-top:0;
		z-index:1;
	}
}

/* =========================================================
   메인 수상 & 인증
   ========================================================= */
.main-awards{
	padding:92px 40px 86px;
	background:#1d3656;
	overflow:hidden;
}

.main-awards-inner{
	width:100%;
	max-width:1680px;
	margin:0 auto;
}

.main-awards-heading{
	margin-bottom:62px;
	text-align:center;
	color:#fff;
}

.main-awards-heading h2{
	margin:0;
	font-size:48px;
	line-height:1.2;
	font-weight:700;
	letter-spacing:-.04em;
}

.main-awards-heading p{
	margin:22px 0 0;
	font-size:18px;
	line-height:1.6;
	font-weight:400;
	color:rgba(255,255,255,.88);
	letter-spacing:-.03em;
}

.main-awards-swiper{
	width:100%;
	padding:0 0 72px;
	overflow:hidden;
}

.main-awards-swiper .swiper-slide{
	height:auto;
}

.main-award-card{
	display:block;
	height:100%;
	text-align:center;
	text-decoration:none;
}

.main-award-image{
	position:relative;
	width:100%;
	aspect-ratio: .76 / 1;
	overflow:hidden;
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.main-award-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
	background:#fff;
}

.main-award-title{
	display:block;
	margin-top:22px;
	padding:0 8px;
	color:#fff;
	font-size:18px;
	line-height:1.45;
	font-weight:600;
	letter-spacing:-.035em;
	word-break:keep-all;
}

.main-awards-pagination{
	bottom:0 !important;
}

.main-awards-pagination .swiper-pagination-bullet{
	width:14px !important;
	height:14px !important;
	margin:0 8px !important;
	border:2px solid #fff;
	border-radius:50% !important;
	background:transparent !important;
	opacity:1 !important;
	box-sizing:border-box;
}

.main-awards-pagination .swiper-pagination-bullet-active{
	width:14px !important;
	background:#fff !important;
}

@media screen and (max-width:1200px){
	.main-awards{
		padding:76px 28px 72px;
	}

	.main-awards-heading{
		margin-bottom:48px;
	}

	.main-awards-heading h2{
		font-size:40px;
	}

	.main-awards-heading p{
		font-size:16px;
	}

	.main-award-title{
		font-size:17px;
	}
}

@media screen and (max-width:768px){
	.main-awards{
		padding:58px 18px 58px;
	}

	.main-awards-heading{
		margin-bottom:36px;
	}

	.main-awards-heading h2{
		font-size:32px;
	}

	.main-awards-heading p{
		margin-top:14px;
		font-size:14px;
	}

	.main-awards-swiper{
		padding-bottom:58px;
	}

	.main-award-image{
		border-radius:12px;
	}

	.main-award-title{
		margin-top:15px;
		font-size:15px;
	}
}

@media screen and (max-width:480px){
	.main-awards{
		padding:48px 14px 50px;
	}

	.main-awards-heading h2{
		font-size:28px;
	}

	.main-awards-pagination .swiper-pagination-bullet{
		width:11px !important;
		height:11px !important;
		margin:0 6px !important;
	}

	.main-awards-pagination .swiper-pagination-bullet-active{
		width:11px !important;
	}
}



.main-awards-empty{
	min-height:60px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:rgba(255,255,255,.75);
	font-size:15px;
	text-align:center;
}

/* =========================================================
   메인 핵심기술
   ========================================================= */
.main-core-tech{
	padding:112px 40px 118px;
	background:#fff;
}

.main-core-tech-inner{
	width:100%;
	max-width:1680px;
	margin:0 auto;
}

.main-core-tech-content{
	display:grid;
	grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
	align-items:center;
	gap:86px;
}

.main-core-tech-copy{
	padding-left:18px;
}

.main-core-tech-eyebrow{
	display:block;
	margin-bottom:18px;
	color:#118b77;
	font-size:16px;
	line-height:1.2;
	font-weight:700;
	letter-spacing:-.02em;
}

.main-core-tech-copy h2{
	margin:0;
	color:#090909;
	font-size:50px;
	line-height:1.08;
	font-weight:700;
	letter-spacing:-.045em;
}

.main-core-tech-desc{
	margin:38px 0 0;
	color:#333;
	font-size:18px;
	line-height:1.65;
	letter-spacing:-.035em;
}

.main-core-tech-desc strong{
	font-weight:700;
}

.main-core-tech-points{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:28px;
	margin-top:42px;
	max-width:620px;
}

.main-core-point{
	text-align:center;
}

.main-core-point-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:92px;
	height:92px;
	margin:0 auto 16px;
	border:1px solid #dedede;
	border-radius:50%;
	background:#f5f5f5;
	color:#111;
	font-size:42px;
}

.main-core-point strong{
	display:block;
	color:#111;
	font-size:17px;
	line-height:1.35;
	font-weight:700;
}

.main-core-point span{
	display:block;
	margin-top:8px;
	color:#555;
	font-size:14px;
	line-height:1.45;
	letter-spacing:-.03em;
}

.main-core-tech-link{
	display:inline-flex;
	align-items:center;
	justify-content:space-between;
	gap:26px;
	min-width:390px;
	height:52px;
	margin-top:46px;
	padding:0 26px;
	border:1px solid #118b77;
	border-radius:8px;
	background:#fff;
	color:#118b77;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	box-sizing:border-box;
	transition:background-color .2s ease, color .2s ease;
}

.main-core-tech-link:hover,
.main-core-tech-link:focus{
	background:#118b77;
	color:#fff;
	text-decoration:none;
}

.main-core-tech-visual{
	width:100%;
	overflow:hidden;
	border-radius:8px;
	background:#111;
}

.main-core-tech-visual img{
	display:block;
	width:100%;
	aspect-ratio:1.245 / 1;
	object-fit:cover;
}

@media screen and (max-width:1200px){
	.main-core-tech{
		padding:88px 30px 92px;
	}

	.main-core-tech-content{
		gap:54px;
	}

	.main-core-tech-copy{
		padding-left:0;
	}

	.main-core-tech-copy h2{
		font-size:42px;
	}

	.main-core-tech-desc{
		margin-top:30px;
		font-size:16px;
	}

	.main-core-tech-points{
		gap:18px;
	}

	.main-core-point-icon{
		width:78px;
		height:78px;
		font-size:36px;
	}
}

@media screen and (max-width:900px){
	.main-core-tech-content{
		grid-template-columns:1fr;
	}

	.main-core-tech-copy{
		order:1;
	}

	.main-core-tech-visual{
		order:2;
	}

	.main-core-tech-points{
		max-width:none;
	}

	.main-core-tech-link{
		min-width:0;
		width:100%;
		max-width:420px;
	}
}

@media screen and (max-width:640px){
	.main-core-tech{
		padding:58px 18px 64px;
	}

	.main-core-tech-eyebrow{
		margin-bottom:12px;
		font-size:13px;
	}

	.main-core-tech-copy h2{
		font-size:34px;
	}

	.main-core-tech-desc{
		margin-top:24px;
		font-size:15px;
	}

	.main-core-tech-points{
		gap:10px;
		margin-top:30px;
	}

	.main-core-point-icon{
		width:64px;
		height:64px;
		margin-bottom:12px;
		font-size:29px;
	}

	.main-core-point strong{
		font-size:14px;
	}

	.main-core-point span{
		font-size:12px;
	}

	.main-core-tech-link{
		height:auto;
		min-height:48px;
		margin-top:34px;
		padding:12px 16px;
		font-size:14px;
	}

	.main-core-tech-visual{
		border-radius:6px;
	}
}

/* =========================================================
   메인 기술칼럼
   ========================================================= */
.main-tech-column{
	padding:96px 40px 100px;
	background:#f3f4f5;
}

.main-tech-column-inner{
	width:100%;
	max-width:1680px;
	margin:0 auto;
}

.main-tech-column-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:30px;
}

.main-tech-column-eyebrow{
	display:block;
	margin-bottom:12px;
	color:#118b77;
	font-size:16px;
	line-height:1.2;
	font-weight:600;
}

.main-tech-column-head h2{
	margin:0;
	color:#111;
	font-size:48px;
	line-height:1.12;
	font-weight:700;
	letter-spacing:-.045em;
}

.main-tech-column-more{
	display:inline-flex;
	align-items:center;
	justify-content:space-between;
	gap:34px;
	min-width:190px;
	height:56px;
	margin-top:18px;
	padding:0 26px;
	border:1px solid #444;
	border-radius:10px;
	background:#fff;
	color:#111;
	font-size:15px;
	font-weight:500;
	text-decoration:none;
	box-sizing:border-box;
	transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}

.main-tech-column-more:hover,
.main-tech-column-more:focus{
	background:#118b77;
	border-color:#118b77;
	color:#fff;
	text-decoration:none;
}

.main-tech-column-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:110px;
	margin-top:84px;
}

.main-tech-column-card{
	position:relative;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:30px;
	min-height:160px;
	padding:0 0 28px;
	border-bottom:2px solid #253f61;
	box-sizing:border-box;
}

.main-tech-column-copy{
	min-width:0;
}

.main-tech-column-copy h3{
	margin:0 0 26px;
	color:#118b77;
	font-size:27px;
	line-height:1.2;
	font-weight:700;
	letter-spacing:-.04em;
}

.main-tech-column-list{
	margin:0;
	padding:0;
	list-style:none;
}

.main-tech-column-list li{
	margin-top:10px;
}

.main-tech-column-list li:first-child{
	margin-top:0;
}

.main-tech-column-list a{
	display:block;
	max-width:560px;
	color:#333;
	font-size:15px;
	line-height:1.55;
	text-decoration:none;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.main-tech-column-list a:hover{
	color:#118b77;
}

.main-tech-column-desc,
.main-tech-column-empty{
	margin:0;
	color:#333;
	font-size:15px;
	line-height:1.6;
	letter-spacing:-.03em;
}

.main-tech-column-icon{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	width:108px;
	height:108px;
	margin-top:2px;
	color:#222;
	font-size:72px;
	text-decoration:none;
	transition:color .2s ease, transform .2s ease;
}

.main-tech-column-icon:hover,
.main-tech-column-icon:focus{
	color:#118b77;
	transform:translateY(-3px);
	text-decoration:none;
}

@media screen and (max-width:1200px){
	.main-tech-column{
		padding:82px 30px 86px;
	}

	.main-tech-column-head h2{
		font-size:42px;
	}

	.main-tech-column-grid{
		gap:60px;
		margin-top:66px;
	}

	.main-tech-column-copy h3{
		font-size:24px;
	}

	.main-tech-column-icon{
		width:88px;
		height:88px;
		font-size:58px;
	}
}

@media screen and (max-width:800px){
	.main-tech-column-grid{
		grid-template-columns:1fr;
		gap:50px;
	}

	.main-tech-column-card{
		min-height:140px;
	}
}

@media screen and (max-width:640px){
	.main-tech-column{
		padding:58px 18px 64px;
	}

	.main-tech-column-head{
		align-items:center;
	}

	.main-tech-column-eyebrow{
		font-size:13px;
	}

	.main-tech-column-head h2{
		font-size:34px;
	}

	.main-tech-column-more{
		min-width:126px;
		height:46px;
		margin-top:0;
		padding:0 16px;
		gap:16px;
		border-radius:8px;
		font-size:13px;
	}

	.main-tech-column-grid{
		margin-top:46px;
		gap:38px;
	}

	.main-tech-column-card{
		gap:16px;
		min-height:120px;
		padding-bottom:22px;
	}

	.main-tech-column-copy h3{
		margin-bottom:18px;
		font-size:21px;
	}

	.main-tech-column-list a,
	.main-tech-column-desc,
	.main-tech-column-empty{
		font-size:13px;
	}

	.main-tech-column-icon{
		width:66px;
		height:66px;
		font-size:46px;
	}
}

/* =========================================================
   메인 사업부 소개
   ========================================================= */
.main-business-units{
	padding:92px 40px 110px;
	background:#1d3656;
}

.main-business-units-inner{
	width:100%;
	max-width:1680px;
	margin:0 auto;
}

.main-business-units-head{
	text-align:center;
	color:#fff;
}

.main-business-units-head span{
	display:block;
	margin-bottom:12px;
	font-size:15px;
	line-height:1.2;
	font-weight:500;
	letter-spacing:.02em;
}

.main-business-units-head h2{
	margin:0;
	font-size:48px;
	line-height:1.2;
	font-weight:700;
	letter-spacing:-.04em;
}

.main-business-units-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:74px;
	margin-top:78px;
}

.business-unit-card{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:370px;
	padding:40px 52px 36px 56px;
	border:3px solid;
	border-radius:12px;
	background:#fff;
	box-sizing:border-box;
	overflow:hidden;
}

.business-unit-rubber{
	border-color:#159b8b;
}

.business-unit-heat{
	border-color:#ef5b1b;
}

.business-unit-copy{
	position:relative;
	z-index:2;
	max-width:72%;
}

.business-unit-copy h3{
	margin:0 0 28px;
	font-size:26px;
	line-height:1.3;
	font-weight:700;
	letter-spacing:-.04em;
}

.business-unit-rubber h3{
	color:#118b77;
}

.business-unit-heat h3{
	color:#e95a1b;
}

.business-unit-copy ul{
	margin:0;
	padding:0;
	list-style:none;
}

.business-unit-copy li{
	position:relative;
	margin-top:22px;
	padding-left:18px;
	color:#333;
	font-size:15px;
	line-height:1.55;
	letter-spacing:-.03em;
}

.business-unit-copy li:first-child{
	margin-top:0;
}

.business-unit-copy li:before{
	content:"";
	position:absolute;
	left:0;
	top:.78em;
	width:4px;
	height:4px;
	border:1px solid currentColor;
	border-radius:50%;
	transform:translateY(-50%);
	box-sizing:border-box;
}

.business-unit-copy li strong{
	display:inline-block;
	margin-right:4px;
	color:#222;
	font-weight:700;
}

.business-unit-copy li span{
	color:#555;
}

.business-unit-link{
	display:inline-flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	min-width:280px;
	height:48px;
	margin-top:30px;
	padding:0 24px;
	border-radius:7px;
	color:#fff;
	font-size:15px;
	font-weight:600;
	text-decoration:none;
	box-sizing:border-box;
	transition:transform .2s ease, opacity .2s ease;
}

.business-unit-link:hover,
.business-unit-link:focus{
	color:#fff;
	text-decoration:none;
	transform:translateY(-2px);
	opacity:.92;
}

.business-unit-rubber .business-unit-link{
	background:#118b77;
}

.business-unit-heat .business-unit-link{
	background:#ef5b1b;
}

.business-unit-icon{
	position:absolute;
	right:42px;
	top:50%;
	transform:translateY(-50%);
	display:flex;
	align-items:center;
	justify-content:center;
	width:170px;
	height:170px;
}

.business-unit-icon-rubber{
	color:#118b77;
}

.rubber-link-icon{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:150px;
	height:64px;
}

.rubber-link-icon:before,
.rubber-link-icon:after{
	content:"";
	position:absolute;
	top:50%;
	width:54px;
	height:54px;
	border:6px solid currentColor;
	border-radius:50%;
	transform:translateY(-50%);
}

.rubber-link-icon:before{left:3px;}
.rubber-link-icon:after{right:3px;}

.rubber-link-icon i{
	position:relative;
	z-index:2;
	display:block;
	width:44px;
	height:44px;
	margin-left:-4px;
	border:6px solid currentColor;
	border-radius:50%;
	background:#fff;
}

.rubber-link-icon i:first-child{
	margin-left:0;
}

.business-unit-icon-heat{
	color:#ef5b1b;
}

.heat-exchanger-icon{
	position:relative;
	display:block;
	width:160px;
	height:135px;
}

.heat-lines{
	position:absolute;
	left:28px;
	top:0;
	display:flex;
	gap:16px;
}

.heat-lines i{
	display:block;
	width:10px;
	height:72px;
	border-left:5px solid currentColor;
	border-radius:50%;
	transform:skewY(-12deg);
}

.heat-base{
	position:absolute;
	left:8px;
	bottom:12px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:146px;
	height:42px;
	border:6px solid currentColor;
	border-radius:22px;
	box-sizing:border-box;
}

.heat-base i{
	width:12px;
	height:12px;
	border:4px solid currentColor;
	border-radius:50%;
	box-sizing:border-box;
}

.heat-base:before,
.heat-base:after{
	content:"";
	position:absolute;
	bottom:-24px;
	width:22px;
	height:24px;
	border:6px solid currentColor;
	border-top:0;
	box-sizing:border-box;
}

.heat-base:before{left:18px;}
.heat-base:after{right:18px;}

@media screen and (max-width:1300px){
	.main-business-units-grid{
		gap:38px;
	}

	.business-unit-card{
		padding:36px 40px 34px;
	}

	.business-unit-copy{
		max-width:68%;
	}

	.business-unit-icon{
		right:24px;
		transform:translateY(-50%) scale(.85);
	}
}

@media screen and (max-width:1000px){
	.main-business-units{
		padding:78px 28px 88px;
	}

	.main-business-units-grid{
		grid-template-columns:1fr;
		gap:28px;
		margin-top:58px;
	}

	.business-unit-card{
		min-height:330px;
	}

	.business-unit-copy{
		max-width:74%;
	}
}

@media screen and (max-width:640px){
	.main-business-units{
		padding:58px 18px 64px;
	}

	.main-business-units-head span{
		font-size:13px;
	}

	.main-business-units-head h2{
		font-size:34px;
	}

	.main-business-units-grid{
		margin-top:42px;
	}

	.business-unit-card{
		display:block;
		min-height:0;
		padding:28px 24px 26px;
		border-width:2px;
	}

	.business-unit-copy{
		max-width:none;
	}

	.business-unit-copy h3{
		margin-bottom:22px;
		font-size:21px;
	}

	.business-unit-copy li{
		margin-top:16px;
		font-size:13px;
	}

	.business-unit-link{
		width:100%;
		min-width:0;
		margin-top:24px;
		padding:0 18px;
		font-size:14px;
	}

	.business-unit-icon{
		position:static;
		width:130px;
		height:110px;
		margin:24px auto 0;
		transform:scale(.72);
		transform-origin:center;
	}
}

/* =========================================================
   메인 섹션 스크롤 등장 애니메이션
   main.js의 scroll-motion-ready / scroll-motion-active 연동
   ========================================================= */
.main-awards.scroll-motion-ready,
.main-core-tech.scroll-motion-ready,
.main-tech-column.scroll-motion-ready,
.main-business-units.scroll-motion-ready{
	opacity:0;
	transform:translateY(48px);
	transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1);
	will-change:opacity, transform;
}

.main-awards.scroll-motion-ready.scroll-motion-active,
.main-core-tech.scroll-motion-ready.scroll-motion-active,
.main-tech-column.scroll-motion-ready.scroll-motion-active,
.main-business-units.scroll-motion-ready.scroll-motion-active{
	opacity:1;
	transform:translateY(0);
}

/* 수상 & 인증 카드 순차 등장 */
.main-awards.scroll-motion-ready .main-award-card{
	opacity:0;
	transform:translateY(28px);
	transition:opacity .65s ease, transform .65s ease;
}
.main-awards.scroll-motion-active .swiper-slide:nth-child(1) .main-award-card{transition-delay:.12s;}
.main-awards.scroll-motion-active .swiper-slide:nth-child(2) .main-award-card{transition-delay:.20s;}
.main-awards.scroll-motion-active .swiper-slide:nth-child(3) .main-award-card{transition-delay:.28s;}
.main-awards.scroll-motion-active .swiper-slide:nth-child(4) .main-award-card{transition-delay:.36s;}
.main-awards.scroll-motion-active .swiper-slide:nth-child(5) .main-award-card{transition-delay:.44s;}
.main-awards.scroll-motion-active .main-award-card{
	opacity:1;
	transform:translateY(0);
}

/* 핵심기술: 좌측 내용 / 우측 이미지 */
.main-core-tech.scroll-motion-ready .main-core-tech-copy{
	opacity:0;
	transform:translateX(-36px);
	transition:opacity .75s ease .12s, transform .75s ease .12s;
}
.main-core-tech.scroll-motion-ready .main-core-tech-visual{
	opacity:0;
	transform:translateX(36px);
	transition:opacity .75s ease .22s, transform .75s ease .22s;
}
.main-core-tech.scroll-motion-active .main-core-tech-copy,
.main-core-tech.scroll-motion-active .main-core-tech-visual{
	opacity:1;
	transform:translateX(0);
}

/* 기술칼럼: 제목 후 카드 순차 등장 */
.main-tech-column.scroll-motion-ready .main-tech-column-head{
	opacity:0;
	transform:translateY(24px);
	transition:opacity .65s ease .1s, transform .65s ease .1s;
}
.main-tech-column.scroll-motion-ready .main-tech-column-card{
	opacity:0;
	transform:translateY(30px);
	transition:opacity .7s ease, transform .7s ease;
}
.main-tech-column.scroll-motion-active .main-tech-column-head{
	opacity:1;
	transform:translateY(0);
}
.main-tech-column.scroll-motion-active .main-tech-column-card{
	opacity:1;
	transform:translateY(0);
}
.main-tech-column.scroll-motion-active .main-tech-column-card:nth-child(1){transition-delay:.22s;}
.main-tech-column.scroll-motion-active .main-tech-column-card:nth-child(2){transition-delay:.34s;}

/* 사업부 소개: 제목 후 좌우 카드 순차 등장 */
.main-business-units.scroll-motion-ready .main-business-units-head{
	opacity:0;
	transform:translateY(24px);
	transition:opacity .65s ease .1s, transform .65s ease .1s;
}
.main-business-units.scroll-motion-ready .business-unit-card{
	opacity:0;
	transform:translateY(34px);
	transition:opacity .7s ease, transform .7s ease;
}
.main-business-units.scroll-motion-active .main-business-units-head,
.main-business-units.scroll-motion-active .business-unit-card{
	opacity:1;
	transform:translateY(0);
}
.main-business-units.scroll-motion-active .business-unit-card:nth-child(1){transition-delay:.22s;}
.main-business-units.scroll-motion-active .business-unit-card:nth-child(2){transition-delay:.36s;}

@media screen and (max-width:640px){
	.main-awards.scroll-motion-ready,
	.main-core-tech.scroll-motion-ready,
	.main-tech-column.scroll-motion-ready,
	.main-business-units.scroll-motion-ready{
		transform:translateY(30px);
	}

	.main-core-tech.scroll-motion-ready .main-core-tech-copy,
	.main-core-tech.scroll-motion-ready .main-core-tech-visual{
		transform:translateY(26px);
	}

	.main-core-tech.scroll-motion-active .main-core-tech-copy,
	.main-core-tech.scroll-motion-active .main-core-tech-visual{
		transform:translateY(0);
	}
}

@media (prefers-reduced-motion: reduce){
	.main-awards.scroll-motion-ready,
	.main-core-tech.scroll-motion-ready,
	.main-tech-column.scroll-motion-ready,
	.main-business-units.scroll-motion-ready,
	.main-awards.scroll-motion-ready .main-award-card,
	.main-core-tech.scroll-motion-ready .main-core-tech-copy,
	.main-core-tech.scroll-motion-ready .main-core-tech-visual,
	.main-tech-column.scroll-motion-ready .main-tech-column-head,
	.main-tech-column.scroll-motion-ready .main-tech-column-card,
	.main-business-units.scroll-motion-ready .main-business-units-head,
	.main-business-units.scroll-motion-ready .business-unit-card{
		opacity:1;
		transform:none;
		transition:none;
	}
}



/* =========================================================
   EN MAIN - Technology Column 모바일 폭 / 아이콘 정리
   ========================================================= */
@media screen and (max-width:640px){
	.main-tech-column{
		width:100%;
		padding-left:18px;
		padding-right:18px;
		overflow:hidden;
		box-sizing:border-box;
	}

	.main-tech-column-inner,
	.main-tech-column-head,
	.main-tech-column-grid,
	.main-tech-column-card{
		width:100%;
		max-width:100%;
		min-width:0;
		box-sizing:border-box;
	}

	.main-tech-column-head{
		gap:14px;
	}

	.main-tech-column-head > div{
		min-width:0;
	}

	.main-tech-column-more{
		flex:0 0 126px;
		min-width:126px;
		max-width:126px;
	}

	/* 모바일에서는 우측 아이콘 비노출 */
	.main-tech-column-icon{
		display:none;
	}

	/* 아이콘이 빠진 만큼 텍스트 영역 전체 폭 사용 */
	.main-tech-column-copy{
		flex:1 1 100%;
		width:100%;
		max-width:100%;
		min-width:0;
	}

	.main-tech-column-list,
	.main-tech-column-list li{
		width:100%;
		max-width:100%;
		min-width:0;
	}

	.main-tech-column-list a{
		display:block;
		width:100%;
		max-width:100%;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		box-sizing:border-box;
	}

	.main-tech-column-desc,
	.main-tech-column-empty{
		width:100%;
		max-width:100%;
		overflow-wrap:break-word;
		word-break:normal;
	}
}
