#idx_wrapper {
	height: 100vh;
}

body:has(#intro-container) {cursor: none; max-height: 100vh;height: 100vh; overflow: hidden!important}
#intro-container, #main-content {display: flex;flex-direction: column;justify-content: center;align-items: center;height: 100vh;text-align: center;opacity: 0;animation: fadeIn 2s forwards;}
#intro-text h1, #intro-text h2{font-size: 5em;color: #33481a; /* Blue color for text */opacity: 0;animation: fadeInText 1.5s forwards; font-weight: 600}
#main-content .logo{height:fit-content}
#main-content .logo img{height: auto;max-width: unset}
#main-content .logo {animation-delay: 1.5s;}
#main-content .logo img {transition: transform 0.5s ease;}
@keyframes fadeIn { to {opacity: 1;} }
@keyframes fadeInText { to {opacity: 1;} }
@keyframes fadeInLogo { to {opacity: 1;} }
#main-content {display: none;animation: fadeInContent 1s forwards;}
@keyframes fadeInContent { to {opacity: 1;} }
@keyframes moveToMain { 0% {opacity: 1;} 100% {opacity: 0;} }

.cursor {opacity: 0;animation: cursor-animate 550ms infinite alternate;width: 80px;height: 80px;border-radius: 50%;position: absolute;transition-duration: 200ms;transition-timing-function: ease-out;pointer-events: none;transition: transform 0.2s ease;background: rgba(190, 241, 178, 0.5);backdrop-filter: blur(2px);z-index: 9999;}
.cursor::after {content: "";width: 120px;height: 120px;border: 1px solid rgba(190, 241, 178, 0.13);border-radius: 50%;position: absolute;top: 50%; left: 50%; transform: translate(-50%, -50%);animation: cursor-animate-2 550ms infinite alternate;}
.cursor span{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-weight: bold;  text-align: center; font-size: 10px; line-height: 12px}
.cursor--expand {transform: scale(1.2);border-color: #c9f1b2; background: #c7f1b2; animation: cursor-animate-3 550ms forwards;    }
@keyframes cursor-animate { from {transform: scale(1);} to {transform: scale(1.2)} }
@keyframes cursor-animate-2 { from {transform:  translate(-50%, -50%);;} to {transform: translate(-50%, -50%);;} }
@keyframes cursor-animate-3 { 0% {transform: scale(1);} 50% {transform: scale(2);} 100% {transform: scale(1);opacity: 0;} }

#intro-text span {opacity: 0;animation: textFadeIn 0.5s forwards;display: inline-block;min-width: 20px;}
@keyframes textFadeIn { 0% {opacity: 0;transform: translateX(-50px)} 100% {opacity: 1;transform: translateX(0);} }
#intro-text h1 span {animation-delay: 0.1s}
#intro-text h2 span {animation-delay: 0.4s;}

@media(max-width: 768px){
	#intro-text h1, #intro-text h2{font-size: 2.5em;}
	#intro-text span {min-width: 10px;}
	#main-content .logo img {max-width: 200px;}
}

a {cursor: pointer}
#app {background: #fff; border-radius:  0  0 50px 50px; overflow: hidden}

/* 메인비주얼*/
#visual {position: relative;width: 100%;height: 100vh;margin: 0 auto;position: relative;overflow: hidden;visibility: hidden;overflow: hidden;}


#visual .swiper-container{background: #000;width: 100%; height: 100vh; z-index: 10; position: relative;}
#visual .swiper-container .swiper-slide{	width: 100% !important;
	height: 100vh;}
#visual .swiper-container .swiper-slide .main_video {width: 100%;height: 100%;object-fit: cover;}
#visual .swiper-container .swiper-slide::after{content: "";display: inline-block;position: absolute;top: 0px;left: 0px;width: 100%;height: 100%;background: linear-gradient(to top, rgba(11, 21, 40, .3), rgba(11, 21, 40, .3));}

#visual .swiper-pagination.swiper-pagination{position: absolute;z-index: 999;width: 100%;bottom: 180px;max-width: 1300px;justify-content: left;}
#visual  .swiper-pagination-bullet{width: auto;color: #fff;font-weight: 600;margin-right: 20px;font-size: 1.2em;background: none;font-family: 'Montserrat';position: relative;}
#visual .swiper-pagination-bullet:last-child{margin-right: 0;}
#visual .swiper-pagination-bullet:before{content: "0"; display: inline-block;}
#visual .swiper-pagination-bullet-active:after{content: ""; display: block; position: absolute; left: 50%; transform: translateX(-50%); top: -10px; width: 8px; height:8px; background-color: #fff; border-radius: 50%;}

#visual .txt {text-align: center;position: absolute;top: 50%;left: 50%;padding: 0;z-index: 15;max-width: 1300px;width: 100%;transform: translate(-50%, -50%);color: #fff;}
#visual .txt a.btn_roll {padding: 10px 30px;color: #fff !important;border: 1px solid #689b01;font-size: 1.30em;display: inline-block;margin: 30px 0 0;transition: all 0.5s;background: #689b01;}
#visual .txt a.btn_roll02 {background: none;padding: 10px 30px;color: #fff !important;border: 1px solid #fff;font-size: 1.30em;display: inline-block;margin: 30px 0 0 10px;transition: all 0.5s;}
#visual .txt a.btn_roll:hover {background: none;border: 1px solid #fff;color: #fff;display: inline-block;transition: all 0.5s;}
#visual .txt a.btn_roll02:hover {background: #0d7e3e;border: 1px solid #0d7e3e;display: inline-block;transition: all 0.5s;}
#visual .txt > h3 {font-size: 2.2em;font-weight: 300;line-height: 1.25em;text-transform: uppercase;margin: 0 0 10px;letter-spacing: 0;}
#visual .txt > h2 {font-size: 3.5em;font-weight: 600;line-height: 1.75em;text-transform: uppercase;letter-spacing: -0.05em;margin-bottom: 40px;}

#visual .txt .btn{background-color: #30500d !important; color: #fff; border-radius: 0; font-size: 1.2em; padding: 12px 25px; position: relative; padding-right: 120px;}
#visual .txt .btn:after,
#visual .txt .btn:before{content: ""; display: block; position: absolute; right: 25px; top: 50%; transform: translateY(-50%); background-color: #ffd200; transition: all 0.3s;}
#visual .txt .btn:after{width: 73px; height: 2px; vertical-align: middle;}
#visual .txt .btn:before{width: 8px; height: 8px; border-radius: 50%;}
#visual .txt .btn:hover:before{right: 90px; transition: all 0.3s;}
#visual .txt > h2 > strong{font-weight: 700;text-shadow: 0px 0px 5px #ffffff;}
#visual .txt > p {display: block;padding: 20px 0 35px;font-size: 1.4em;line-height: 1.4em;font-weight: 400;color: #fff;}

.view_target {width: fit-content;padding: 1.2rem 1rem;backdrop-filter: blur(14px);background: #ffffff40;height: fit-content;border-radius: 2rem;position: fixed;bottom: 5rem;display: flex;justify-content: center;z-index: 5;left: 50%;transform: translateX(calc(-50% - 50px));transition: opacity .3s;}
.view_target {box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);}
.view_target ul{display: flex;justify-content: center;gap: 10px;}
.view_target li {display: flex;align-items: center;height: 4.2rem;line-height: 4.2rem;font-size: 1.5rem;padding: 0 1.5rem;width: fit-content;border-radius: 1rem;letter-spacing: -0.06rem;justify-content: center;cursor: pointer;transition: all .3s ease;color: #fff}
@media (min-width: 767px) {
	.view_target li {min-width: 10rem;text-align: center;}
}
.view_target li.selected {background: #8faf3c;}
.view_target li:hover {background: #fff;color: #8faf3c; }
.view_target li:hover a { mix-blend-mode: normal!important;}
.view_target li.selected button, .view_target li.selected a {color: #fff;font-weight: 600;}
.view_target li a {letter-spacing: 1px;border: 0;outline: none;background: none;}
.view_target li:not(.selected) a {    mix-blend-mode: difference;}

@media (max-width: 1600px) {
	#visual .txt {min-width: 1300px;}
}

@media (max-width: 1500px) {
	#visual .txt {min-width: 1050px;}
	#content .area_company .area_title{padding-left: 0 !important;}
}

@media (max-width: 1400px) {
	#visual .txt {min-width: 90%;}
}

@media (max-width: 1280px) {
	#visual .txt > h2 {font-size: 3.4em;}
	#visual .txt > p {font-size: 16px;}
}

@media (max-width: 1024px) {
}

@media (max-width:900px) {
	#visual .txt {min-width: 94%;padding: 0}
}

@media (max-width:768px) {
	#visual .txt, #visual .swiper-pagination.swiper-pagination{padding: 0 !important;}
	#visual .txt {top: 50%; left: 50%;transform: translate(-50%,-50%);text-align: center;}
	#visual .txt > h3 {font-size: 1.6em;}
	#visual .txt > h2 {font-size: 2.2em;}
	#visual .txt > h2 > strong{display: block;}
	#visual .area_bn_wrap .area_bn {width: 240px;left: 50%;transform: translate(-50%, -10%);}
	#visual .bx-controls { /*left:0px;*/height: 70px;text-align:center;}
	#visual div.bx-pager div a {width: 6px;height: 6px;}
	#visual div.bx-pager div a:after {width: 26px;height: 26px;margin-top: -10px;margin-left: -10px;}
}

/* cont공통 */
.cont{padding: 100px 0;}
.cont{}
#content .area_title{font-size: 1.3em; position: relative; text-align: center}
#content .area_title .more{position: absolute;right: 0;bottom: 0; font-size: 17px;}
#content .area_title .more i{margin-left: 10px;font-size: 0.8em;}
#content .area_title p{color: #afafaf; line-height: 1.5;font-size: 18px;}
#content .area_title h5{font-size: 2.3em; text-transform:uppercase;  color: #222; line-height: 1.3; font-weight: 700;margin-bottom: 30px;}
#content .area_title span{display: inline-block; line-height: 1.4em; color: #30500d86;}
#content a.btn_more{font-family: 'Montserrat'; display: inline-block; margin-top: 40px; display: flex; align-items: center;
	font-size: 20px;}
#content a.btn_more i{width: 50px; height: 50px; border: 1px solid #30500d86; display: flex; align-items: center; justify-content: center; margin-left: 14px;}
#content a.btn_more:hover i{background: #1d4100; color: #fff; transition: all 0.5s;}
@media(max-width: 768px){
	.cont{padding: 80px 0 0;}
	#content .area_title p.eng{font-size: 18px;}
	#content .area_title h5{font-size: 28px;margin-bottom: 20px;}
	#content .area_title p{font-size: 17px;}
	#content .area_title .more{position: unset;color: #23802d;font-weight: 600;}
	}






/* cont1 */
.cont1{}
.cont1{margin-top: 100px;  cursor: none}
.cont1 .grid3{margin-top: 20px; cursor: none; display: flex}
.cont1 .grid3 > div{width: 100%;transition: all .3s ease;background: #8faf3c20;border-radius: 20px;padding: 30px 20px; gap: 20px ; display: flex; flex-direction: column; align-items: end; justify-content: space-between}
.cont1 .grid3 > div:hover {background: #30500d; width: 50%}
.cont1 .grid3:has(div:hover) > div:not(:hover) {width: 25%}
.cont1 .grid3:has(div:hover) > div:not(:hover) p br {display: none}
.cont1 .grid3 > div:hover .txts {color: #fff}
.cont1 .grid3 > div:hover .txts p{color: #fff}
.cont1 .txts {text-align: left; width: 100%; padding: 20px}
.cont1 .txts strong{font-size: 25px;}
.cont1 .txts p{color: #9D9D9D;line-height: 1.4;font-size: 17px;}
@media(max-width: 768px){
	.cont1 .grid3{display: block}
	.cont1 .grid3 > div{margin-top: 10px;}
	.cont1 .grid3 > div:first-child{margin-top: 0;}
	.cont1 .ico{height: unset;}
	.cont1 .grid3 > div:nth-child(1) .ico img{height: 58px;}
	.cont1 .grid3 > div:nth-child(2) .ico img{height: 48px;}
	.cont1 .grid3 > div:nth-child(3) .ico img{height: 66px;}
	.cont1 .txts strong{font-size: 22px;}
	.cont1 .txts p{font-size: 17px;}
}



/* cont2 */
.cont2{}
.cont2 .inr{}
.cont2 .swiper-container2{/*overflow: hidden*/}
.cont2 ul{margin-top: 30px;}
.cont2 li{position: relative;border-radius: 20px;overflow: hidden;}
.cont2 li a{display: block;width: 100%;height: 100%;margin: 0;padding: 0; cursor: unset}
.cont2 li .imgBox{border-radius: 8px;overflow:hidden; display: block; height: 550px}
.cont2 li::after{content: '';width: 100%;height: 100%;position: absolute;left: 0;top: 0; background: linear-gradient(to top, rgb(11 21 40 / 71%), rgb(11 21 40 / 0%));pointer-events: none}
.cont2 li .imgBox img{width: 100%;height: 100%;object-fit: cover;margin: 0;}
.cont2 .imgBox {overflow: hidden;position: relative;}
.cont2 .imgBox img {width: 100%;transition: transform 0.2s ease-out;will-change: transform;}
.cont2 li .txtBox{position: absolute;left: 0;bottom: 0;text-align: left;color: #222;padding: 0 30px 30px;z-index: 1;}
.cont2 li strong{font-size: 25px;font-weight: 600;letter-spacing: -.1px;color: #fff;}
.cont2 li p{line-height: 1.5;color: #fff;font-size: 17px;margin-top: 10px;opacity: 0.9;}
.cont2 .swiper-button-next, .cont2 .swiper-button-prev{color: #2c2c29;font-size: 35px;margin: 0;cursor: pointer;top: 61%;width: 63px;height: 63px;background: #F5F5F5;border-radius: 50%;pointer-events: cursor!important;display: flex;align-items: center;justify-content: center;opacity: 0.8;transition: all .3s;}
.cont2 .swiper-button-next:hover, .s2 .swiper-button-prev:hover{opacity: 1;}
.cont2 .swiper-button-next{left: calc(100% + 15px);right: unset}
.cont2 .swiper-button-prev{right: calc(100% + 15px);left: unset}
.cont2 .swiper-button-next i, .cont2 .swiper-button-prev i{font-size: 20px; font-weight: 600;}
.cont2 .swiper-wrapper { padding-bottom: 50px}
.cont2 .swiper-slide {transition: transform 0.4s ease, opacity 0.4s ease;transform: scale(0.8);opacity:1;filter: grayscale(1) brightness(2) contrast(0.2)}
.cont2 .swiper-slide-prev,
.cont2 .swiper-slide-next {transform: scale(0.9);opacity: 1; filter: grayscale(1)}
.cont2 .swiper-slide-active {transform: scale(1.1);opacity: 1;filter: grayscale(0)}

@media(max-width: 768px){
	.cont2 .swiper-button-next, .cont2 .swiper-button-prev{display: none}
	.cont2 li strong{font-size: 22px;}
}


/* cont3 */
.cont3{}
.cont3 ul.tabs {justify-content: center}
.cont3 .tab-content{min-height: 222px}
.cont3 ul.tabs li {
	color: #999;
	background-color: #fff;
	border: 1px solid #999;
}
.cont3 ul.tabs li.active {
	color: #000;
	background-color: #8faf3c;
	border-color: #8faf3c;
}
@media(max-width: 768px){
	.cont3 ul.tabs{margin-top: 30px;}
}

/* cont4 */
.cont4 {padding-bottom: 0}
.cont4 .txtBox{position: relative; background:url("../img/sub/sub05.png") no-repeat;background-size: cover;padding: 130px 0 90px;}
.cont4 .txtBox::after{content: '';width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: rgba(0,0,0,0.5);pointer-events: none;}
.cont4 .txtBox .inr{position: relative; z-index: 1;text-align: center;}
.cont4 .txtBox p{color: #fff;font-size: 2.6em; font-weight: 700; line-height: 1.5em}
.cont4 .txtBox .btn_wLine{background: #fff;color: #222 !important;font-weight: 600;margin-top: 60px;}
.cont4 .txtBox .btn_wLine:hover{background: transparent;color: #fff !important}
@media(max-width: 768px){
	.cont4 .txtBox{padding: 80px 0 70px;}
	.cont4 .txtBox p{font-size: 24px;}
	.cont4 .txtBox .btn_wLine{margin-top: 30px;}
}


/* cont5 */
.cont5 .swiper-container{position:relative;}
.cont5 .swiper-slide{position:relative;border-radius:20px;overflow:hidden;width: 100%;max-width:1400px!important;opacity:0.3;}
.cont5 .swiper-slide::after{content:'';width:100%;height:100%;position:absolute;left:0;top:0;background:linear-gradient(to top, rgb(24, 43, 7),rgb(11 21 40 / 0%));pointer-events:none;}
.cont5 .swiper-slide.swiper-slide-active{opacity:1!important;}
.cont5 .imgBox {overflow: hidden;position: relative;}
.cont5 .imgBox img {width: 100%;transition: transform 0.2s ease-out;will-change: transform;}
.cont5 a {cursor: none;}
.cont5 .txtBox{position:absolute;left:0;bottom:0;padding-top:10px;text-align:left;color:#222;padding:0 60px 60px;z-index:1;}
.cont5 li strong{font-size:3em;font-weight:600;letter-spacing:-.1px;color:#fff;}
.cont5 li p{line-height:1.5;color:#fff;font-size:15px;margin-top:30px;width:72%;opacity:0.8;}
.cont5 li p.mb_ment{line-height:1.5;color:#fff;font-size:20px;margin-top:20px;width:72%;opacity:1;}
.cont5 .btn_wLine{position:absolute;right:60px;bottom:60px;z-index:1;}
.cont5 .swiper-button-next,.cont5 .swiper-button-prev{color:#2c2c29;font-size:35px;margin:0;cursor:pointer;top:50%;transform:translateY(-50%);width:63px;height:63px;background:#F5F5F5;border-radius:50%;pointer-events:cursor!important;display:flex;align-items:center;justify-content:center;opacity:0.8;transition:all .3s;}
.cont5 .swiper-button-next:hover,.s2 .swiper-button-prev:hover{opacity:1;}
.cont5 .swiper-button-next{right:calc(((100% - 1400px) / 2) - 120px);}
.cont5 .swiper-button-prev{left:calc(((100% - 1400px) / 2) - 120px);}
.cont5 .swiper-button-next i,.cont5 .swiper-button-prev i{font-size:20px;font-weight:600;}
@media(max-width: 768px){
	.cont5 .swiper-container{padding: 0 15px;}
	.cont5 .swiper-slide{width: 100% !important;}
	.cont5 .swiper-slide::after{display: none}
	.cont5 .imgBox {position: relative;height: 290px;display: block;}
	.cont5 .imgBox::after{content: '';width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: linear-gradient(to top, rgb(24, 43, 7), rgb(11 21 40 / 0%));pointer-events: none;}
	.cont5 .imgBox img{height: 130%;object-fit: cover}
	.cont5 .txtBox{position: unset;color: #000;width: 100%;padding: 20px 30px 30px;background: rgb(24, 43, 7);border-radius: 0 0 20px 20px;}
	.cont5 li strong{font-size: 24px;}
	.cont5 li p{width: 100%;}
	.cont5 .btn_wLine{position: unset;font-size: 15px; margin-top: 20px;height: 42px; line-height: 40px; padding: 0 20px;}  }

.cont6 {position: relative;height: 300px;display: flex;align-items: center;justify-content: center;overflow: hidden;}
.textMove {display: flex;align-items: center;justify-content: center;gap: 30px;}
.textMove h6 {font-size: 40px;font-weight: 700;color: #8faf3c;transition: transform 0.2s ease-out;will-change: transform;}
.textMove .line {width: 0;height: 2px;background: #8faf3c;transition: width 0.3s ease-out;}


@media (max-width: 1400px) and (min-width: 769px) {

	/* -------------------------------
       1. 메인 비주얼 (#visual)
       ------------------------------- */
	#visual .txt {
		min-width: 90%;
		padding: 0 30px;
	}
	#visual .txt > h2 {
		font-size: 3.2em;
		line-height: 1.3;
	}
	#visual .txt > h3 {
		font-size: 1.9em;
	}
	#visual .txt > p {
		font-size: 1.25em;
		padding: 18px 0 30px;
	}
	#visual .txt a.btn_roll,
	#visual .txt a.btn_roll02 {
		padding: 11px 28px;
		font-size: 1.25em;
		margin-top: 25px;
	}
	#visual .txt .btn {
		padding: 11px 22px 11px 18px !important;
		padding-right: 100px !important;
		font-size: 1.1em !important;
	}
	#visual .txt .btn:after { width: 65px; }
	#visual .txt .btn:before { right: 22px; }
	#visual .txt .btn:hover:before { right: 80px; }

	/* -------------------------------
       3. cont 공통
       ------------------------------- */
	.cont {
		padding: 90px 0;
	}
	#content .area_title h5 {
		font-size: 2.1em;
		margin-bottom: 25px;
	}
	#content .area_title p {
		font-size: 17px;
	}
	#content a.btn_more {
		font-size: 18px;
	}
	#content a.btn_more i {
		width: 46px;
		height: 46px;
		margin-left: 12px;
	}

	/* -------------------------------
       4. cont1 - 그리드
       ------------------------------- */
	.cont1 {
		margin-top: 90px;
	}
	.cont1 .grid3 {
		gap: 18px;
		margin-top: 18px;
	}
	.cont1 .grid3 > div {
		padding: 28px 22px;
	}
	.cont1 .txts strong {
		font-size: 23px;
	}
	.cont1 .txts p {
		font-size: 16.5px;
	}

	/* -------------------------------
       5. cont2 - 스와이퍼
       ------------------------------- */
	.cont2 li .imgBox {
		height: 420px;
	}
	.cont2 li strong {
		font-size: 23px;
	}
	.cont2 li p {
		font-size: 16px;
	}

	/* -------------------------------
       6. cont4 - 텍스트 박스
       ------------------------------- */
	.cont4 .txtBox {
		padding: 110px 30px;
	}
	.cont4 .txtBox p {
		font-size: 2.3em;
	}
	.cont4 .txtBox .btn_wLine {
		margin-top: 50px;
		padding: 14px 32px;
		font-size: 17px;
	}

	/* -------------------------------
       7. cont5 - 뉴스 스와이퍼
       ------------------------------- */
	.cont5 .swiper-slide {
		max-width: 1100px;
	}
	.cont5 .imgBox {
		height: 420px;
	}
	.cont5 .txtBox {
		padding: 50px;
	}
	.cont5 li strong {
		font-size: 2.4em;
	}
	.cont5 li p {
		font-size: 1.05em;
		width: 75%;
	}
	.cont5 .btn_wLine {
		right: 50px;
		bottom: 50px;
		padding: 12px 28px;
		font-size: 16px;
	}

	/* -------------------------------
       8. cont6 - 텍스트 움직임
       ------------------------------- */
	.cont6 {
		height: 270px;
	}
	.textMove h6 {
		font-size: 36px;
	}
	.textMove {
		gap: 25px;
	}

	/* -------------------------------
       9. 공통 여백 조정
       ------------------------------- */
	.inr {
		padding: 0 30px;
	}
}
/* -------------------------------
   1. 공통 & 컨테이너
   ------------------------------- */

@media (max-width: 768px) {
	.view_target {display: none}
}
/* -------------------------------
   2. 인트로 & 커서 (모바일 터치 대응)
   ------------------------------- */
@media (max-width: 768px) {
	body:has(#intro-container) {cursor: default !important;overflow: auto !important;}
	.cursor, .cursor::after, .cursor--expand {display: none !important;}
	#intro-text h1, #intro-text h2 {font-size: 2.2em !important;line-height: 1.2;}
	#intro-text span {min-width: 8px !important;}
	#main-content .logo img {max-width: 180px !important;}
}
@media (max-width: 480px) {
	#intro-text h1, #intro-text h2 {font-size: 1.8em !important;}
}

/* -------------------------------
   3. 메인 비주얼 (#visual)
   ------------------------------- */

@media (max-width: 1200px) {
	#visual .txt > h2 { font-size: 3em; }
	#visual .txt > h3 { font-size: 1.8em; }
	#visual .txt > p { font-size: 1.2em; padding: 15px 0; }
}
@media (max-width: 900px) {
	#visual .txt { min-width: 100%; }
	#visual .txt > h2 { font-size: 2.5em; }
	#visual .txt > h3 { font-size: 1.5em; }
}
@media (max-width: 768px) {
	#visual .txt {top: 50% !important;left: 50% !important;transform: translate(-50%, -50%) !important;width: 90%;}
	#visual .txt a.btn_roll,
	#visual .txt a.btn_roll02 {display: block;margin: 15px auto 0 !important;width: fit-content;font-size: 1.1em;padding: 10px 20px;}
	#visual .txt .btn {padding: 10px 20px 10px 15px !important;padding-right: 80px !important;font-size: 1em !important;}
	#visual .txt .btn:after { width: 50px; }
	#visual .txt .btn:before { right: 15px; }
	#visual .txt .btn:hover:before { right: 60px; }
}
@media (max-width: 480px) {
	#visual .txt > h2 { font-size: 2em; }
	#visual .txt > h3 { font-size: 1.3em; }
	#visual .txt > p { font-size: 1em; }
}



/* -------------------------------
   5. cont 공통
   ------------------------------- */

@media (max-width: 768px) {
	.cont {padding: 60px 0 0 !important;}
	#content .area_title {padding: 0 15px;}
	#content .area_title h5 {font-size: 1.8em !important;margin-bottom: 15px !important;}
	#content .area_title p {font-size: 16px !important;}
	#content a.btn_more {font-size: 16px;justify-content: center;}
	#content a.btn_more i {width: 40px;height: 40px;margin-left: 10px;}
}

/* -------------------------------
   6. cont1 - 그리드
   ------------------------------- */

@media (max-width: 768px) {
	.cont1 {margin-top: 60px !important;}
	.cont1 .grid3 > div {width: 100% !important;margin-top: 12px !important;padding: 20px !important;}
	.cont1 .grid3 > div:hover {width: 100% !important;}
	.cont1 .grid3:has(div:hover) > div:not(:hover) {width: 100% !important;}
	.cont1 .ico img {height: auto !important;max-height: 60px;}
}

/* -------------------------------
   7. cont2 - 스와이퍼
   ------------------------------- */

@media (min-width: 992px) {
	.cont2 .swiper-button-next,
	.cont2 .swiper-button-prev {display: flex !important;}
}
@media (max-width: 768px) {
	.cont2 li .imgBox {height: 300px !important;}
	.cont2 li strong {font-size: 20px !important;}
	.cont2 li p {font-size: 15px !important;}
}

/* -------------------------------
   8. cont3 - 탭
   ------------------------------- */

@media (max-width: 768px) {
	.cont3 ul.tabs {margin-top: 20px !important;}
}

/* -------------------------------
   9. cont4 - 텍스트 박스
   ------------------------------- */

@media (max-width: 768px) {
	.cont4 .txtBox {padding: 70px 20px !important;}
	.cont4 .txtBox p {font-size: 1.6em !important;}
	.cont4 .txtBox .btn_wLine {margin-top: 25px !important;font-size: 15px;}
}

/* -------------------------------
   10. cont5 - 뉴스 스와이퍼 (완전 교체)
   ------------------------------- */

@media (min-width: 992px) {
	.cont5 .swiper-slide {max-width: 1400px;}
	.cont5 .imgBox {height: 500px !important;}
	.cont5 .txtBox {position: absolute !important;bottom: 0; left: 0;padding: 60px !important;background: none;}
	.cont5 li strong { font-size: 2.8em !important; }
	.cont5 li p { display: block !important; font-size: 1.1em; width: 70%; }
	.cont5 .btn_wLine { position: absolute !important; right: 60px; bottom: 60px; }
	.cont5 .swiper-button-next,
	.cont5 .swiper-button-prev {display: flex !important;}
}
@media (max-width: 480px) {
	.cont5 .imgBox { height: 220px !important; }
	.cont5 li strong { font-size: 1.2em !important; }
}

/* -------------------------------
   11. cont6 - 텍스트 움직임
   ------------------------------- */

@media (max-width: 768px) {
	.cont6 { height: 200px !important; }
	.textMove h6 { font-size: 24px !important; }
	.textMove { gap: 15px; }
}

/* -------------------------------
   12. 스크롤 & 성능 최적화
   ------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}