@charset "utf-8";

/* main ; S */
/* slide timer line */
.hero_line { position: absolute; left: 0; top: 70px; width: 100%; height: 1px; background: rgba(255,255,255,0.3); z-index: 5; overflow: hidden; }
.hero_line::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,0.8); transform-origin: left; transform: scaleX(0); }
.swiper-slide-active .hero_line::after { animation: hero_line_progress 6s linear forwards; }

@keyframes hero_line_progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}


.main section { padding: 120px 0 80px; }
.main section:first-of-type { padding: unset; }

.main_tit { margin-bottom: 80px; text-align: center; }
.main_tit h1 { margin-bottom: 32px; }
.main_tit p { font-size: 20px; line-height: 30px; opacity: .8; }

/* visual */
.no_visual { margin-top: 40px; }

.visual { position: relative; margin-bottom: 100px; }
.visual_bg { position: relative; overflow: hidden; height: 100vh; }
.visual_bg .wrapper { display: flex; justify-content: center; align-items: center; height: 100%; }
.visual_bg video { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; opacity: .4; }

.main_txt { text-align: center; color: #fff; }
.main_txt h1 { margin-bottom: 32px; font-size: 70px; font-weight: 500; line-height: 82px; }
.main_txt h1 b { font-weight: 700; }
.main_txt p { font-size: 24px; }

.scroll_ico { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 9; }
.scroll_ico a { padding-top: 60px; }
.scroll_ico a span { position: absolute; top: 0; left: 50%; width: 24px; height: 40px; margin-left: -15px; border: 1px solid #fff; border-radius: 50px; box-sizing: border-box; }
.scroll_ico a span::before { position: absolute; top: 7px; left: 50%; content: ''; width: 6px; height: 6px; margin-left: -3px; background-color: #fff; border-radius: 100%; -webkit-animation: sdb 2s infinite; animation: sdb 2s infinite; box-sizing: border-box; }
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* CORE COMPETENCIES */
.main section.competence { padding-bottom: 120px }
.comp_wrap { display: flex; gap: 24px; }
.comp_wrap a { display: flex; overflow: hidden; align-items: flex-end; width: 20%; min-height: 600px; padding: 32px; padding-bottom: 80px; background: #181b25; border-radius: 10px; }

.comp_img { position: relative; }

.comp_img01.on::before { opacity: .5; }
.comp_img02.on::before { opacity: .7; }
.comp_img03.on::before { opacity: .7; }

.comp_img::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .9; }
.comp_img01::before { background: url('../images/main/com_img01.jpg') no-repeat center; background-size: cover; }
.comp_img02::before { background: url('../images/main/com_img02.jpg') no-repeat center; background-size: cover; }
.comp_img03::before { background: url('../images/main/com_img03.jpg') no-repeat center; background-size: cover; }

.comp_img.on::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, #161822 0%, rgba(255, 255, 255, 0) 60%) }

.comp_wrap a.on { width: 60%; }
.comp_wrap a.on p { display: block; }
.comp_wrap a.on h2 { margin-bottom: 24px; }

.comp_txt { position: relative; z-index: 9; width: 100%; }
.comp_txt p { display: none; font-size: 18px; line-height: 26px; opacity: .8; }



/* Businesses Overview */
/* .business { position: relative; overflow: hidden; min-height: 100vh; z-index: 1; }

.business::before { content: ''; position: absolute; top: 0; left: 0; width: 100vw; height: 100%; opacity: .2; overflow: hidden; z-index: -1; }
.business.bg1::before { background: url(../images/main/busi_bg01.jpg) no-repeat center; background-size: cover; }
.business.bg2::before { background: url(../images/main/busi_bg02.jpg) no-repeat center; background-size: cover; }
.business.bg3::before { background: url(../images/main/busi_bg03.jpg) no-repeat center; background-size: cover; }

.slider { position: relative; height: 310px; margin: 0 40px; }


.business .page_btn { position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 80px); }
.business .page_btn button { position: absolute; width: 22px; height: 78px; z-index: 99; opacity: .3; }
.business .page_btn button:hover { opacity: 1; }
.business .page_btn .prev { left: 32px; background: url(../images/main/page_arrow_l.png) no-repeat center; }
.business .page_btn .next { right: 32px; background: url(../images/main/page_arrow_r.png) no-repeat center; }

.business article { position: relative; height: 310px; margin-bottom: 40px; padding: 32px; border-radius: 10px; }
.business .slide:nth-of-type(1) article { background: url(../images/main/busi_bg01.jpg) no-repeat center; background-size: 100vw; }
.business .slide:nth-of-type(2) article { background: url(../images/main/busi_bg02.jpg) no-repeat center; background-size: 100vw; }
.business .slide:nth-of-type(3) article { background: url(../images/main/busi_bg03.jpg) no-repeat center; background-size: 100vw; }
.business article span { padding: 6px 16px; background: #40a5b9; border-radius: 5px; font-size: 15px; }
.business article em { position: absolute; right: 32px; bottom: 24px; font-size: 70px; font-weight: 700; line-height: 1; opacity: .4; }
.business .slide:nth-of-type(3) article em { color: #000; opacity: .1; }

.busi_info { display: grid; grid-template-columns: 1.5fr 2.5fr; gap: 24px; padding: 0 32px; }

.busi_info div { }

.busi_info_l {}
.busi_info_l h2 { font-size: 30px; line-height: 42px; }
.busi_info_l em {}

.busi_info_r {}
.busi_info_r p { margin-bottom: 100px; font-size: 18px; line-height: 26px; opacity: .8; }
.busi_info_r button {}


.slider-dots { position: absolute; bottom: 0; left: 40px; display: flex; align-items: center; gap: 16px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #bbb; position: relative; transition: all 0.3s ease; }
.dot svg { display: none; }
.dot.active { width: 20px; height: 20px; background: transparent; }
.dot.active svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.dot .bg { fill: none; stroke: rgba(255,255,255,0.2); stroke-width: 3; }
.dot .progress { fill: none; stroke: #76daee; stroke-width: 3; stroke-dasharray: 100; stroke-dashoffset: 100; }
.dot.active .progress { animation: progressRing 8s linear forwards; }
@keyframes progressRing {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
} */
 

.business { position: relative; overflow: hidden; min-height: 100vh; z-index: 1; }

.business::before { content: ''; position: absolute; top: 0; left: 0; width: 100vw; height: 100%; opacity: .2; overflow: hidden; z-index: -1; }
.business.bg1::before { background: url(../images/main/busi_bg01.jpg) no-repeat center; background-size: cover; }
.business.bg2::before { background: url(../images/main/busi_bg02.jpg) no-repeat center; background-size: cover; }
.business.bg3::before { background: url(../images/main/busi_bg03.jpg) no-repeat center; background-size: cover; }
.business.bg4::before { background: url(../images/main/busi_bg04.jpg) no-repeat center; background-size: cover; }

.sw_busi { position: relative; }

.sw_busi .page_btn {position: absolute;width: 100%; height: 310px;}
.sw_busi .page_btn button { position: absolute; width: 22px; height: 78px; z-index: 99; opacity: .3; }
.sw_busi .page_btn button:hover { opacity: 1; }
.sw_busi .page_btn .busi_prev {top: 50%;left: 0;transform: translateY(-50%);background: url(../images/main/page_arrow_l.png) no-repeat center;}
.sw_busi .page_btn .busi_next {top: 50%;right: 0;transform: translateY(-50%);background: url(../images/main/page_arrow_r.png) no-repeat center;}

.sw_busi .busi_box article { position: relative; height: 310px; margin: 0 40px 40px; padding: 32px; border-radius: 10px; }
.sw_busi .busi_box.bg1 article { background: url(../images/main/busi_bg01.jpg) no-repeat center; background-size: 100vw; }
.sw_busi .busi_box.bg2 article { background: url(../images/main/busi_bg02.jpg) no-repeat center; background-size: 100vw; }
.sw_busi .busi_box.bg3 article { background: url(../images/main/busi_bg03.jpg) no-repeat center; background-size: 100vw; }
.sw_busi .busi_box.bg4 article { background: url(../images/main/busi_bg04.jpg) no-repeat center; background-size: 100vw; }
.sw_busi .busi_box article span { padding: 8px 16px; background: #40a5b9; border-radius: 5px; font-size: 18px; font-weight: 500; }
.sw_busi .busi_box article em { position: absolute; right: 32px; bottom: 24px; font-size: 70px; font-weight: 700; line-height: 1; opacity: .4; }
.sw_busi .busi_box.bg3 article em { color: #000; opacity: .2; }


.busi_info { display: grid; grid-template-columns: 1.5fr 2.5fr; gap: 24px; padding: 0 60px; }

.busi_info div { }

.busi_info_l {}
.busi_info_l h2 { font-size: 30px; line-height: 42px; }
.busi_info_l em {}

.busi_info_r {}
.busi_info_r p { margin-bottom: 100px; font-size: 18px; line-height: 26px; opacity: .8; }
.busi_info_r button {}


.slider-dots { position: absolute; bottom: 0; left: 60px; z-index: 9; display: flex; align-items: center; gap: 16px; }
.slider-dots.side { top: -48px; bottom: unset; left: 0; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #bbb; position: relative; transition: all 0.3s ease; cursor: pointer; }
.dot svg { display: none; }
.dot.active { width: 20px; height: 20px; background: transparent; }
.dot.active svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.dot .bg { fill: none; stroke: rgba(255,255,255,0.2); stroke-width: 3; }
.dot .progress { fill: none; stroke: #76daee; stroke-width: 3; stroke-dasharray: 100; stroke-dashoffset: 100; }
.dot.active .progress { animation: progressRing 5s linear forwards; }
@keyframes progressRing {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}



/* Products Overview */
.product_wrap { display: grid; grid-template-columns: 1fr 1fr; align-content: stretch; gap: 24px; }

.pro_box { position: relative; overflow: hidden; padding: 32px; background: #181b25; border-radius: 10px; }
.pro_box h2 { margin-bottom: 4px; }
.pro_box em { font-size: 18px; }
.pro_box p { position: relative; z-index: 9; margin: 24px 0 32px; font-size: 16px; font-weight: 300; line-height: 22px; opacity: .8; word-break: keep-all; }
.pro_smart_btn { position: relative; z-index: 9; }
.pro_box .pro_smart_btn h2 { position: relative; }
/* .pro_box .pro_smart_btn:hover h2::before { content: ''; position: absolute; bottom: 0; width: 100%; height: 1px; background: #ed8450; transform-origin: left; transform: scaleX(0); animation: smart_btn_pro .3s linear forwards; } */
/* @keyframes smart_btn_pro {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.pro_box .pro_smart_btn em { display: block; }  */

/* .hero_line { position: absolute; left: 0; top: 70px; width: 100%; height: 1px; background: rgba(255,255,255,0.3); z-index: 5; overflow: hidden; }
.hero_line::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,0.8); transform-origin: left; transform: scaleX(0); }
.swiper-slide-active .hero_line::after { animation: hero_line_progress 6s linear forwards; }
@keyframes hero_line_progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
} */





.pro_txt_wrap::before { content: ''; position: absolute; width: 100%; height: 100%; }
.pro_img01 .pro_txt_wrap::before { top: 0; right: -120px; background: url(../images/main/pro_img01.png) no-repeat center; background-size: cover; }
.pro_img02 .pro_txt_wrap::before { top: 0; right: 0; background: url(../images/main/pro_img02.png) no-repeat center; background-size: cover; }
.pro_img03::before { content: ''; position: absolute; width: 100%; height: 100%; bottom: 0; right: 0; background: url(../images/main/pro_img03.png) no-repeat center; background-size: cover; transform: unset; }

.product_l { display: grid; gap: 24px; }
.product_l a { position: relative; }
.product_l a img { position: absolute; right: 32px; bottom: 32px; }

.product_r { display: grid; align-content: space-between; border: 1px solid transparent; }
.pro_r_inner { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.pro_r_inner li a { position: relative; min-height: 220px; padding: 20px 24px 24px; background: #11131a; border-radius: 10px; overflow: hidden; }

/* .pro_r_inner li a::after { content: ''; position: absolute; right: 24px; bottom: 24px; width: 78px; height: 63px; }
.pro_r_inner li:nth-of-type(1) a::after { background: url(../images/main/pro_ico01.png) no-repeat center; }
.pro_r_inner li:nth-of-type(2) a::after { background: url(../images/main/pro_ico02.png) no-repeat center; }
.pro_r_inner li:nth-of-type(3) a::after { background: url(../images/main/pro_ico03.png) no-repeat center; } */

.pro_r_inner li a h2 { margin-bottom: 16px; font-size: 22px; } 
.pro_r_inner li a h2 span { color: #82df85; }
.pro_r_inner li a p {} 
.pro_r_inner li a img { position: absolute; right: 24px; bottom: 24px; }


/* Clients & Partners */
.main section.partner { padding-bottom: 120px; }
.partners_wrap { position: relative; overflow: hidden; }
.partners_box { display: flex; gap: 40px; width: max-content; }
.partners_wrap:hover .partners_box { animation-play-state: paused; }

.track { display: flex; gap: 40px; }

.partners_box:nth-child(1),
.partners_box:nth-child(3) { animation: slide-left 40s linear infinite; }
.partners_box:nth-child(2) { animation: slide-right 40s linear infinite; }

.partners_wrap::before,
.partners_wrap::after { content: ''; position: absolute; top: 0; width: 120px; height: 100%; z-index: 2; pointer-events: none; }
.partners_wrap::before { left: 0; background: linear-gradient(to right, #0c0e14, transparent); }
.partners_wrap::after { right: 0; background: linear-gradient(to left, #0c0e14, transparent); }

.partners_box img { margin: 12px 0; opacity: .8; }
.partners_box img:hover { opacity: 1; }

@keyframes slide-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes slide-right {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* banner */
.banner { padding: 60px 0 50px !important; background: #1b1d23; text-align: center; }
.banner p { margin-bottom: 40px; font-size: 32px; line-height: 44px; }
/* main : E */



/* 서브페이지 : S */
/* 공통 */
.sub_visual { position: relative; display: flex; align-items: center; justify-content: center; height: 100vh; margin-bottom: 100px; text-align: center; }
.sub_visual::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .3; animation: bgZoomIn 2.5s ease-out forwards; }
@keyframes bgZoomIn {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

.career .visual_01::before { background: url(../images/sub/career_bg01.jpg) no-repeat center; background-size: cover; opacity: .2; }
.career .visual_02::before { background: url(../images/sub/career_bg02.jpg) no-repeat center; background-size: cover; opacity: .2; }

.sub_sec { padding: 120px 0 100px; }
.sub_sec.sub_bg { padding-top: 0; }
.sub_sec.section { padding-top: 160px; }
.sub_tit_wrap { margin-bottom: 80px; text-align: center; }
.sub_tit { margin-bottom: 32px; font-size: 40px; line-height: 56px; }
.sub_tit_wrap p { font-size: 20px; line-height: 32px; }

.left_tit_wrap { position: relative; margin-top: 100px; }

.sub_tit_point { /* position: relative; display: inline-block; */ padding-bottom: 16px; color: #99eeff; font-size: 20px; font-weight: 600; }
/* .sub_tit_point::before { content: ''; position: absolute; left: 50%; bottom: 0px; transform: translateX(-50%); display: block; width: 80px; height: 3px; background: #99eeff; }
.left_tit_wrap .sub_tit_point::before { left: 0; transform: unset; } */

.left_tit_wrap p { font-size: 20px; line-height: 32px; }
.left_tit_wrap button { margin-top: 100px; }

.sub_sec article img { display: block; max-width: 100%; margin: 0 auto; }

.txt_wrap b { display: inline-block; margin-bottom: 16px; font-size: 20px; background: linear-gradient(90deg, rgba(253, 110, 3, 1) 0%,rgba(225, 179, 2, 1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-transform: uppercase; }
.txt_wrap h1 { margin-bottom: 40px; font-size: 70px; }
.txt_wrap p { margin-bottom: 32px; font-size: 24px; line-height: 36px; }
.txt_wrap span { font-size: 18px; line-height: 26px; opacity: .8; }
.txt_wrap ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 40px; }
.txt_wrap ul li { padding: 12px 32px; background: rgba(255, 255, 255, .2); font-size: 16px; border-radius: 30px; opacity: .8; }

.sub_sec .wrapper { position: relative; }
/* .sub_sec .wrapper::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .3; } */
.sub_bg .wrapper::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 80%; height: 100%; opacity: .3; transition: width 1.5s ease; }
.sub_bg.active .wrapper::before { width: 100%; }
.farmstom .sub_bg .wrapper::before,
.farmsbot .sub_bg .wrapper::before { width: 100%; transition: none; }

.farmscon .sub_bg .wrapper::before { background: url(../images/sub/farmscon_bg.jpg) no-repeat center; background-size: cover; }
.farmstom .sub_bg .wrapper::before { background: url(../images/sub/farmstom_bg.jpg) no-repeat center; background-size: cover; background-position-y: -290px; }
.farmsbot .sub_bg .wrapper::before { background: url(../images/sub/farmsbot_bg.jpg) no-repeat center; background-size: cover; background-position-y: -500px; }

.stxt_wrap { position: relative; z-index: 9; height: 530px; padding-top: 140px; text-align: center; }
.stxt_wrap b { margin-bottom: 20px; color: #99eeff; font-size: 20px; font-weight: 600; }
.stxt_wrap h1 { margin-bottom: 40px; font-size: 70px; }
.stxt_wrap p { font-size: 20px; line-height: 32px; opacity: .8; }

.step_wrap { display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px; text-align: center; }
.step_wrap.step04 { grid-template-columns: repeat(4, 1fr); }
.step_wrap > li { position: relative; padding: 24px; background: #181b25; border-radius: 10px; }
.step_wrap > li span { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); display: block; width: 100%; max-width: 30%; margin: 0 auto; padding: 10px 0; background: #3d3e43; font-weight: 700; border-radius: 30px; }

.step_txt { position: relative; z-index: 9; padding: 16px 0 32px; }
.step_txt b { display: block; margin-bottom: 5px; color: #ee8d47; font-size: 16px; font-weight: 600; text-transform: uppercase; }
.step_txt h2 { margin-bottom: 20px; }
.step_txt p,
.step_txt li { margin-bottom: 10px; font-size: 18px; line-height: 24px; opacity: .8; word-break: keep-all; }
.step_txt li { position: relative; padding-bottom: 10px; }
.step_txt li:before { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 3px; height: 3px; background: #fff; border-radius: 5px; }
.step_txt li:last-of-type:before { display: none; }

.grid_wrap .wrapper { z-index: 9; display: grid; grid-template-columns: 1.5fr 2fr; gap: 40px; }

.grid_slide { position: relative; overflow: hidden; height: 100vh; }
.grid_slide::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .3; }
.grid_slide .wrapper { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; }
.grid_slide_wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 40px; padding-bottom: 100px; }

.grid_slide_wrap li { position: relative; overflow: hidden; height: 420px; padding: 32px; background: #181b25; border-radius: 10px; }
.grid_slide_wrap li:nth-child(odd) { transform: translateY(0); }
.grid_slide_wrap li:nth-child(even) { transform: translateY(120px); }
.grid_slide_wrap li:last-of-type { margin-bottom: 100px; }
.grid_slide_wrap li::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; }
.grid_slide_wrap li em { font-size: 50px; font-weight: 700; opacity: .2; }
.grid_slide_wrap li h2 { margin: 8px 0 24px; }
.grid_slide_wrap li p { font-size: 18px; line-height: 24px; opacity: .8; word-break: keep-all; }

.list_wrap { display: flex; gap: 32px; }

.list_card { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.4); }
.list_card li { overflow: hidden; background: #181b25; border: 1px solid #444a5c; border-radius: 10px; }
.list_card li figure { position: relative; min-height: 120px; background: #0c0e14; text-align: center; }
.list_card_txt { padding: 32px; text-align: center; }
.list_card_txt b { display: block; margin-bottom: 16px; color: #ee8d47; font-size: 15px; }
.list_card_txt b.green { color: #40e1cd; }
.list_card_txt b.yellow { color: #bae376; }
.list_card_txt b.blue { color: #64c1ea; }
.list_card_txt h3 { margin-bottom: 16px; font-size: 22px; font-weight: 600; line-height: 1.4; word-break: keep-all; }
.list_card_txt p { margin-bottom: 24px; font-size: 18px; font-weight: 300; line-height: 24px; word-break: keep-all; }
.list_card_txt em { font-size: 15px; opacity: .6; }

.card_wrap { position: relative; overflow: visible; max-height: none; height: auto; }
.card_wrap::after { content: ''; position: absolute; bottom: 0; left: 0; z-index: 2; width: 100%; height: 60%; background: linear-gradient(to top, #0c0e14 0%, rgba(12,14,20,0.3) 20%, rgba(12,14,20,0.1) 30%, transparent 100%); pointer-events: none; }
.card_wrap .wrapper { display: flex; justify-content: space-between; gap: 40px; }
.card_wrap .left_tit_wrap {position: sticky;top: 30%;align-self: flex-start;display: flex;flex-direction: column;width: 50%;height: 100vh;z-index: 5; }
.card_wrap .aitom_card { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; width: 50%; }
/* .card_wrap { position: relative; overflow: hidden; max-height: 100vh; } */
/* .card_wrap .wrapper { display: flex; justify-content: space-between; gap: 40px; } */

.intro_card_wrap { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.intro_card_wrap li { position: relative; }
.intro_card_wrap li::before { content: ''; position: absolute; width: 100%; height: 100%; border-radius: 10px; overflow: hidden; z-index: 1; }
.intro_card_wrap li:hover::before { opacity: .2; }
.intro_card_wrap li a { position: relative; z-index: 9; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; height: 160px; padding: 24px; border-radius: 10px; text-align: center; }
.intro_card_txt span { display: block; margin-top: 6px; font-size: 18px; font-weight: 400; opacity: .8; }
.intro_card_wrap li a p { display: none; font-size: 18px; line-height: 24px; }
.intro_card_wrap li a:hover .intro_card_txt { display: none; }
.intro_card_wrap li a:hover p { display: block; }

.ico_card_wrap { display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px; }
.ico_card_wrap li { padding: 48px 32px 32px; background: #181b25; border-radius: 10px; text-align: center; }
.ico_card_wrap li img { max-width: 146px; width: 100%; }
.ico_card_wrap li h3 { margin-top: 24px; }

.banner p { font-size: 32px; }

.web_img {}
.mob_img { display: none !important; }



/* businesses */
/* .busi_ico_card { position: relative; padding: 160px 0 160px; } */

.busi_intro_card { position: relative; padding: 160px 0 120px; background: rgba(255,255,255,.1); }
.busi_intro_card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; max-width: 100%; height: 100%; background-attachment: fixed !important; }

.busi_intro_card .intro_card_wrap li a { background: rgba(12, 14, 20, 0.6); }
.busi_intro_card .intro_card_wrap li a:hover { background: rgba(12, 14, 20, 0.2); }
.busi_intro_card .intro_card_wrap li a h2 { font-size: 22px; font-weight: 400; }
.busi_intro_card .intro_card_txt b { margin-right: 8px; color: #ee8d47; }

/* mobility ai */
.mobility .sub_visual::before { background: url(../images/sub/mobility_bg.jpg) no-repeat center; background-size: cover; }
/* .mobility .grid_slide::before { background: url(../images/sub/mobility_info_img01.png) no-repeat center; background-size: cover; } */

.mobility .grid_slide_wrap li:nth-child(1)::before { background: url(../images/sub/mobility_info_img01.png) no-repeat bottom; background-size: cover; }
.mobility .grid_slide_wrap li:nth-child(2)::before { background: url(../images/sub/mobility_info_img02.png) no-repeat bottom; background-size: cover; }
.mobility .grid_slide_wrap li:nth-child(3)::before { background: url(../images/sub/mobility_info_img03.png) no-repeat bottom; background-size: cover; }
.mobility .grid_slide_wrap li:nth-child(4)::before { background: url(../images/sub/mobility_info_img04.png) no-repeat bottom; background-size: cover; }
.mobility .grid_slide_wrap li:nth-child(5)::before { background: url(../images/sub/mobility_info_img05.png) no-repeat bottom; background-size: cover; }
.mobility .grid_slide_wrap li:nth-child(6)::before { background: url(../images/sub/mobility_info_img06.png) no-repeat bottom; background-size: cover; }

.mobility .busi_intro_card::before { background: url(../images/sub/mobility_intro_bg.jpg) no-repeat center; background-size: cover; opacity: .2; }

/* ai agent */
.agent .sub_visual::before { background: url(../images/sub/agent_bg.jpg) no-repeat center; background-size: cover; }

.agent .grid_slide_wrap li:nth-child(1)::before { background: url(../images/sub/agent_info_img01.png) no-repeat bottom; background-size: cover; }
.agent .grid_slide_wrap li:nth-child(2)::before { background: url(../images/sub/agent_info_img02.png) no-repeat bottom; background-size: cover; }
.agent .grid_slide_wrap li:nth-child(3)::before { background: url(../images/sub/agent_info_img03.png) no-repeat bottom; background-size: cover; }
.agent .grid_slide_wrap li:nth-child(4)::before { background: url(../images/sub/agent_info_img04.png) no-repeat bottom; background-size: cover; }
.agent .grid_slide_wrap li:nth-child(5)::before { background: url(../images/sub/agent_info_img05.png) no-repeat bottom; background-size: cover; }
.agent .grid_slide_wrap li:nth-child(6)::before { background: url(../images/sub/agent_info_img06.png) no-repeat bottom; background-size: cover; }

.agent .busi_intro_card::before { background: url(../images/sub/agent_intro_bg.jpg) no-repeat center; background-size: cover; opacity: .2; }

/* agricultural ai */
.agri .sub_visual::before { background: url(../images/sub/agri_bg.jpg) no-repeat bottom; background-size: cover; }

.agri .grid_slide_wrap li:nth-child(1)::before { background: url(../images/sub/agri_info_img01.png) no-repeat bottom; background-size: cover; }
.agri .grid_slide_wrap li:nth-child(2)::before { background: url(../images/sub/agri_info_img02.png) no-repeat bottom; background-size: cover; }
.agri .grid_slide_wrap li:nth-child(3)::before { background: url(../images/sub/agri_info_img03.png) no-repeat bottom; background-size: cover; }
.agri .grid_slide_wrap li:nth-child(4)::before { background: url(../images/sub/agri_info_img04.png) no-repeat bottom; background-size: cover; }
.agri .grid_slide_wrap li:nth-child(5)::before { background: url(../images/sub/agri_info_img05.png) no-repeat bottom; background-size: cover; }
.agri .grid_slide_wrap li:nth-child(6)::before { background: url(../images/sub/agri_info_img06.png) no-repeat bottom; background-size: cover; }

.agri .busi_intro_card::before { background: url(../images/sub/agri_intro_bg.jpg) no-repeat center; background-size: cover; opacity: .2; }

/* physical ai */
.physical .sub_visual::before { background: url(../images/sub/physical_bg.jpg) no-repeat center; background-size: cover; }

/* .physical .grid_slide::before { background: url(../images/sub/physical_info_img01.png) no-repeat bottom; background-size: cover; } */

.physical .grid_slide_wrap li:nth-child(1)::before { background: url(../images/sub/physical_info_img01.png) no-repeat bottom; background-size: cover; }
.physical .grid_slide_wrap li:nth-child(2)::before { background: url(../images/sub/physical_info_img02.png) no-repeat bottom; background-size: cover; }
.physical .grid_slide_wrap li:nth-child(3)::before { background: url(../images/sub/physical_info_img03.png) no-repeat bottom; background-size: cover; }
.physical .grid_slide_wrap li:nth-child(4)::before { background: url(../images/sub/physical_info_img04.png) no-repeat bottom; background-size: cover; }
.physical .grid_slide_wrap li:nth-child(5)::before { background: url(../images/sub/physical_info_img05.png) no-repeat bottom; background-size: cover; }
.physical .grid_slide_wrap li:nth-child(6)::before { background: url(../images/sub/physical_info_img06.png) no-repeat bottom; background-size: cover; }

.physical .busi_intro_card::before { background: url(../images/sub/physical_intro_bg.jpg) no-repeat center; background-size: cover; opacity: .2; }

/* 주요사업실적 */
.result .list_card li figure img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.result .list_card li figure { background: #fff; }



/* products */
/* textom */
.textom .sub_visual::before { background: url(../images/sub/textom_bg.jpg) no-repeat center; background-size: cover; }

.slide_txt_wrap { position: absolute; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: rgba(0, 0, 0, .6); }
.slide_txt { text-align: center; }
.slide_txt h2 { margin-bottom: 16px; color: #8be3f4; }
.slide_txt h2 span { margin-right: 4px; padding: 4px 12px; color: #fff; background: #58b4c7; font-size: 15px; border-radius: 5px; vertical-align: 3px; }
.slide_txt_wrap p { font-size: 18px; font-weight: 300; line-height: 24px; }
.slide_txt i { margin-top: 20px; font-size: 20px; display: inline-block; animation: floatUpDown 1.5s ease-in-out infinite; }
@keyframes floatUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0);
  }
}

.slide_txt_wrap:hover { background: rgba(0, 0, 0, 0); }
.slide_txt_wrap:hover .slide_txt { display: none; }

.textom .step_wrap > li { height: 460px; border-radius: 10px; }
.textom .step_wrap > li::before { content: ''; overflow: hidden; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; border-radius: 10px; }
.textom .step_wrap > li:nth-child(1):before { background: url(../images/sub/textom_step_bg01.png) no-repeat bottom; background-size: cover; }
.textom .step_wrap > li:nth-child(2):before { background: url(../images/sub/textom_step_bg02.png) no-repeat bottom; background-size: cover; }
.textom .step_wrap > li:nth-child(3):before { background: url(../images/sub/textom_step_bg03.png) no-repeat bottom; background-size: cover; }
.textom .step_wrap > li:nth-child(4):before { background: url(../images/sub/textom_step_bg04.png) no-repeat bottom; background-size: cover; }

/* .textom .card_wrap { padding: 0; } */
/* .textom .card_wrap .sub_tit { margin-top: 240px; } */

.contents { overflow: visible; }

.textom .card_wrap { height: 1800px; padding: 0; }
.textom .card_wrap .sub_tit { margin-top: 0; }


/* .textom .aitom_card { padding-top: 180px; padding-bottom: 220px; } */
.textom .aitom_card li { padding: 32px 24px 24px; background: #fff; color: #000; text-align: center; }
.textom .aitom_card li h2 { margin-bottom: 16px; font-size: 20px; }
.textom .aitom_card li h2 span { margin-right: 8px; padding: 5px 16px; background: #c8e7ee; color: #137e93; font-size: 15px; font-weight: 800; border-radius: 30px; }
.textom .aitom_card li p { color: #333; font-size: 18px; font-weight: 300; line-height: 24px; }
.textom .aitom_card li p em { display: block; margin-top: 10px; color: #777; font-size: 15px; }
.textom .aitom_card li img { margin-top: 24px;; }

.textom .comp_wrap a.on { width: 48%; }
.textom .comp_wrap a { width: 26%; padding-bottom: 32px; cursor: unset; }

.textom .comp_num { z-index: 9; position: absolute; top: 24px; left: 0; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0 40px 0 32px; }
.textom .comp_num em { font-size: 50px; font-weight: 700; opacity: .6; }
.textom .comp_num span { font-size: 16px; opacity: 0; }

.textom .comp_img.on .comp_num em { opacity: .4; }
.textom .comp_img.on .comp_num span { opacity: .8; }

.textom_comp01::before { background: url('../images/sub/textom_com_img01.jpg') no-repeat center; background-size: cover; }
.textom_comp02::before { background: url('../images/sub/textom_com_img02.jpg') no-repeat center; background-size: cover; }
.textom_comp03::before { background: url('../images/sub/textom_com_img03.jpg') no-repeat center; background-size: cover; }

.textom .comp_img.on::after { background: linear-gradient(0deg, #161822 20%, rgba(255, 255, 255, .0) 120%); }

.textom_site_more_bg { position: relative; padding: 160px 0 120px; }
.textom_site_more_bg::before { content: ''; position: absolute; bottom: 0; left: 0; z-index: 2; width: 100%; height: 100%; background: url(../images/sub/textom_site_more_bg.png) no-repeat center; background-size: cover; background-attachment: fixed; }
.smartfarm .textom_site_more_bg::before { background: url(../images/sub/smart_site_more_bg.png) no-repeat bottom; background-attachment: fixed; }

.textom_site_more_bg .left_tit_wrap { margin-top: 0; }

.site_more_wrap { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; }

.site_more_btn { display: flex; padding: 40px 32px 32px; min-height: 360px; border-radius: 10px; align-content: space-between; flex-wrap: wrap; }
.site_more_btn:first-of-type { background: rgba(19, 33 ,58, .8); }
.site_more_btn:last-of-type { background: rgba(34, 31, 52, .8); }
.site_more_btn h2 { margin-bottom: 16px; }
.site_more_btn p { font-size: 18px; font-weight: 300; line-height: 24px; opacity: .8; }
.site_more_btn button { width: 100%; background: rgba(255, 255, 255, .1); border-color: transparent; }


/* smartfarm */
.smartfarm .sub_visual::before { background: url(../images/sub/smartfarm_bg.jpg) no-repeat center; background-size: cover; }

/* .smartfarm .sub_sec { padding-bottom: 200px; } */
#farmMenu { padding-top: 100px; }

/* farmscon */
.farmscon .grid_slide::before { background: url(../images/sub/farmscon_info_bg01.png) no-repeat center; background-size: cover; }
.farmscon .grid_slide_wrap li:nth-child(1)::before { bottom: -60px; background: url(../images/sub/farmscon_info_img01.png) no-repeat center; background-size: contain; }
.farmscon .grid_slide_wrap li:nth-child(2)::before { bottom: -90px; background: url(../images/sub/farmscon_info_img02.png) no-repeat center; background-size: contain; }
.farmscon .grid_slide_wrap li:nth-child(3)::before { background: url(../images/sub/farmscon_info_img03.png) no-repeat center; background-size: cover; }
.farmscon .grid_slide_wrap li:nth-child(4)::before { bottom: -80px; background: url(../images/sub/farmscon_info_img04.png) no-repeat center; background-size: contain; }

/* farmsbot */
.farmsbot .step_bg { position: relative; }
.farmsbot .step_bg::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: url(../images/sub/farmsbot_step_bg.png) no-repeat center; background-size: cover; }



/* aitom */
.aitom .sub_visual::before { background: url(../images/sub/aitom_bg.jpg) no-repeat center; background-size: cover; }

.side_sw_img { position: relative; overflow: hidden; width: 100%; max-height: 560px; background: #f5f7fa; border-radius: 10px; }
.side_sw_img img { width: 100%; border-radius: 10px; }

.aitom_list { position: relative; display: grid; align-content: space-between; justify-content: center; overflow: hidden; width: 10%; height: 520px; padding: 24px 40px 32px; background: #191b25; border-radius: 10px; transition: .3s; }
.aitom_list:hover { cursor: pointer; }

.aitom_list::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .8; }
.aitom_list_img01::before { background: url('../images/sub/aitom_list_img01.jpg') no-repeat center; background-size: cover; }
.aitom_list_img02::before { background: url('../images/sub/aitom_list_img02.jpg') no-repeat center; background-size: cover; background-position-x: -450px; }
.aitom_list_img03::before { background: url('../images/sub/aitom_list_img03.jpg') no-repeat center; background-size: cover; background-position-x: -560px; }
.aitom_list_img04::before { background: url('../images/sub/aitom_list_img04.jpg') no-repeat center; background-size: cover; background-position-x: -350px; }
.aitom_list_img05::before { background: url('../images/sub/aitom_list_img05.jpg') no-repeat center; background-size: cover; background-position-x: -360px; }
.aitom_list_img06::before { background: url('../images/sub/aitom_list_img06.jpg') no-repeat center; background-size: cover; background-position-x: -370px; }

.aitom_list.on::before { background-position-x: 0; }

.aitom_list.on { justify-content: start; width: 60%; }
.aitom_list.on::before { opacity: .4; }
.aitom_list.on::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, #161822 0%, rgba(255, 255, 255, 0) 60%) }
.aitom_list.on .aitom_txt { display: block; }

.aitom_list em { font-size: 50px; font-weight: 700; opacity: .2; }

.aitom_txt { display: none; z-index: 9; }
.aitom_txt span { display: inline-block; margin-bottom: 10px; color: #ff9243; font-size: 18px; font-weight: 500; }
.aitom_txt h2 { margin-bottom: 32px }
.aitom_txt ul li {margin-bottom: 16px;font-size: 18px; opacity: .8;}
.aitom_txt p { margin-top: 16px; font-size: 15px; font-weight: 300; color: #a8aec7; }

.aitom .step_wrap > li { position: relative; height: 360px; cursor: pointer; }
.aitom .step_wrap > li::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; border-radius: 10px; }
.aitom .step_wrap > li:nth-of-type(1)::before { background: url('../images/sub/aitom_step01.png') no-repeat center; background-size: cover; }
.aitom .step_wrap > li:nth-of-type(2)::before { background: url('../images/sub/aitom_step02.png') no-repeat center; background-size: cover; }
.aitom .step_wrap > li:nth-of-type(3)::before { background: url('../images/sub/aitom_step03.png') no-repeat bottom; background-size: cover; }
.aitom .step_wrap > li:nth-of-type(4)::before { background: url('../images/sub/aitom_step04.png') no-repeat center; background-size: cover; }

.aitom .step_wrap .step_txt ul { display: none; }

.aitom .step_wrap > li:hover::before { opacity: .4; }
.aitom .step_wrap > li:hover .step_txt p { display: none }
.aitom .step_wrap > li:hover .step_txt ul { display: block }

.aitom .card_wrap .aitom_card { padding-bottom: 120px; }
.aitom_card { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.aitom_card li { overflow: hidden; border-radius: 10px; }
.aitom_card li:nth-child(odd) { transform: translateY(0); }
.aitom_card li:nth-child(even) { transform: translateY(120px); }
.aitom_card li img { width: 100%; max-width: 380px; }

.aitom .aitom_card li img { width: 100%; max-width: 441px; height: 100%; border-radius: 10px; }


/* company */
/* 회사 소개 */
.company .sub_visual::before { background: url(../images/sub/company_bg.jpg) no-repeat center; background-size: cover; opacity: .4; }

.ceo { position: relative; padding-bottom: 140px; }
.ceo::before { content: ''; position: absolute; right: 10%; bottom: 0;  width: 260px; height: 640px; background: url(../images/sub/ceo_img.png) no-repeat bottom; background-size: contain; }

.sub_sec.section.about_us { position: relative; padding: 240px 0 300px; }
.about_us::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: url(../images/sub/about_bg.png) no-repeat bottom; background-size: cover; }
.about_us .main_tit { margin-bottom: 120px; }

.main_tit.type02 {}
.main_tit.type02 span { position: relative; display: inline-block; margin-bottom: 40px; padding-bottom: 32px; color: #99eeff; font-size: 24px; font-weight: 700; }
.main_tit.type02 span::before { content: ''; position: absolute; left: 50%; bottom: 0px; transform: translateX(-50%); display: block; width: 80px; height: 3px; background: #99eeff; }
.main_tit.type02 h1 { margin-bottom: 60px; font-size: 36px; }

.ceo_mv_main { margin-bottom: 40px; }
.ceo_mv_main img { max-width: 540px; width: 100%; }
.ceo_arrow { margin: 40px 0; }
.company_mv { width: 80%; margin: 0 auto; }
.company_mv p { margin-bottom: 20px; padding: 20px; background: linear-gradient(90deg,rgba(128, 149, 255, .3) 0%, rgba(128, 234, 255, .3) 100%); border-radius: 10px; font-size: 20px; font-weight: 500; text-align: center; }
.company_mv ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin: 0 10px; text-align: center; }
.company_mv ul li { padding: 16px; background: #1f2126; font-size: 18px; }

.ceo_mess_visual { position: relative; height: 440px; }
.ceo_mess_visual::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../images/sub/ceo_mess_bg.jpg) no-repeat 0 -240px; background-size: cover; opacity: .8; }
.ceo_mess_visual .main_tit { position: absolute; top: -32px; margin-bottom: 0; padding: 40px 100px 80px 40px; background: #ef7f1f; border-radius: 10px; text-align: left; }
.ceo_mess_visual .main_tit span { color: #fff; font-size: 20px; }
.ceo_mess_visual .main_tit span::before { left: 0; transform: unset; background: #fff; }
.ceo_mess_visual .main_tit h1 { margin-bottom: 0; }

.ceo_mess_wrap { display: grid; grid-template-columns: 1.3fr 1.3fr 1fr; gap: 60px; margin-top: 80px; }
.ceo_mess_wrap p { display: grid; gap: 40px; font-size: 20px; line-height: 28px; align-content: space-between; word-break: keep-all; font-weight: 300; text-align: justify; }
.ceo_mess_wrap p span { display: block; font-size: 20px; font-weight: 500; }
.ceo_mess_wrap p span em { font-size: 16px; font-weight: 300; }
.ceo_mess_wrap p span img { height: 60px; filter: contrast(0); }

.ceo_img { display: none; }


/* 회사연혁 */
.history .sub_visual::before { background: url(../images/sub/history_bg.png) no-repeat center; background-size: cover; }

.history .tab02 { top: 120px; }

.sub .contents.history { padding-bottom: 90px; }
.history .year_list { text-align: center; margin-bottom: 28px; }
.history .year_list ul { display: flex; justify-content: center; gap: 0; }
.year_wrap { margin-top: 32px; }
.year_wrap:first-of-type { margin-top: 0; }
.history .year_list ul li { list-style: none; }
.history .year_list ul li a {display: block;padding: 5px 20px;font-size: 24px;transition: all 0.3s;position: relative;}
.history .year_list ul li a:hover { color: #ee8d47; font-weight: 600; }

.history_hero {position: relative;padding: 100px 0 140px;display: flex;justify-content: center;align-items: center;overflow: hidden;}
.history_hero::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: url(/images/sub/history_banner_img.png) no-repeat bottom; background-size: cover; opacity: .3; }
.history_hero_text { text-align: center; }
.history .hero_subtitle { color: #99eeff; font-size: 24px; font-weight: 700; margin-bottom: 20px; font-family: DaeguBukseongro; }
.history .hero_title { color: #fff; font-size: 40px; font-weight: 600; line-height: 1.4; }
.history .history_area { margin-top: -50px; padding-top: 200px; }

.history .history_line { position: absolute; width: 3px; height: 101%; left: 50%; top: 0; background: #777; }
.history .history_line #scr_bar { position: absolute; left: 0; width: 3px; height: 0; background: #ee8d47; transition: height 0.3s ease-out; }

/* 진행 표시 화살표 원 기본 스타일 (1번: 초기 상태) */
.history .history_line #scr_bar::after { content: '\f078'; font-family: 'Font Awesome 5 Free'; font-weight: 900; position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%); width: 33px; height: 33px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; background: #fff; color: #bbb; transition: background 0.3s ease, color 0.3s ease, transform 0.4s ease; }
/* 2번 상태: 스크롤 중 (Active) */
.history .history_line #scr_bar.is-active::after { background: #ee8d47; color: #ffd7bb; border-color: #ee8d47; transform: translateX(-50%) rotate(0deg); }
/* 3번 상태: 스크롤 마지막 (Bottom) */
.history .history_line #scr_bar.at-bottom::after { background: #ee8d47; color: #ffd7bb; border-color: #ee8d47; transform: translateX(-50%) rotate(180deg); }

.history .history_box { position: relative; margin-bottom: 100px; display: flex; justify-content: space-between; }
/* .history .history_box:last-of-type { margin-bottom: 40px; } */
.history .history_left { width: 46%; text-align: right; }
.history .history_left .history_text ul li { flex-direction: row-reverse; }
.history .history_left .history_text ul li span { text-align: right; }
.history .history_right { width: 46%; text-align: left; }
.history .history_year {font-size: 40px;font-weight: 700;color: #ff9d56; margin-bottom: 28px; }
.history .history_image { border-radius: 10px; overflow: hidden; display: inline-block; max-width: 100%; aspect-ratio: 460 / 290; align-content: center; }
.history .history_image img { width: 100%; }
.history .history_text ul li { display: flex; align-items: center; margin-bottom: 8px; color: rgba(255, 255, 255, .8); font-size: 20px; line-height: 1.4; word-break: keep-all; }
.history .history_text ul li span { font-weight: 700; min-width: 86px; color: rgba(255, 255, 255, 1); font-size: 24px; }

.history .fadeup { opacity: 0; transform: translateY(40px); transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.history .fadeup-in { opacity: 1; transform: translateY(0); }
.history .hero_subtitle { transform: translateY(100px); opacity: 0; transition: 0.7s; }
.history .hero_subtitle.anime { transform: translateY(0); opacity: 1; } 
.history .hero_title { transform: translateY(100px); opacity: 0; transition: 0.7s; transition-delay: 0.1s; }
.history .hero_title.anime { transform: translateY(0); opacity: 1; }



/* 지식재산권 */
.patent .sub_visual::before { background: url(../images/sub/patent_bg.jpg) no-repeat center; background-size: cover; }

.patent .list_card { grid-template-columns: repeat(4, 1fr); }
.patent .list_card li figure { overflow: hidden; height: 257px; }
.patent .list_card li figure img { width: 100%; max-width: 480px; max-height: unset; padding: 24px; }

/* 인재채용 */
/* .career .sub_visual .wrapper { margin-bottom: 60px; } */
.career .sub_visual .wrapper { display: flex; justify-content: center; height: 100%; align-items: center; }

.career .sub_visual.visual_01 .wrapper { margin-top: 80px; }
.career .sub_visual.visual_02 .wrapper { margin-top: 80px; }

.career .sub_visual .tab01 { z-index: 9; position: absolute; left: 50%; top: 160px; transform: translateX(-50%); margin-bottom: 0; }

.career_fix_btn { position: fixed; top: 50%; right: -230px; display: flex; gap: 20px; transform: translateY(-50%) rotate(-90deg); z-index: 99999; }
.career_fix_btn a { display: flex; justify-content: space-between; gap: 5px; width: 220px; height: 130px; padding: 20px 30px; font-size: 20px; border-radius: 10px 10px 0 0; }
.career_fix_btn a:first-of-type { background: #2e9074; }
.career_fix_btn a:last-of-type { background: #135e94; }
.career_fix_btn a:hover { transform: translateY(-10px); }

/* .career_fix_btn { position: fixed; top: 50%; right: -10px; transform: translateY(-50%); z-index: 99999; }
.career_fix_btn a { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 16px; padding: 32px 30px 32px 20px; font-size: 20px; border-radius: 10px 0px 0 10px; writing-mode: vertical-rl; text-orientation: mixed; }
.career_fix_btn a:first-of-type { background: #2e9074; }
.career_fix_btn a:last-of-type { margin-bottom: 0; background: #135e94; }
.career_fix_btn a:hover { transform: translateX(-10px); } */

.org_chart { position: relative; }
.org_chart::before { content: ''; position: absolute; bottom: 0; left: 0; width: 1920px; height: 968px; max-height: 100%; border-radius: 10px; background: url('../images/sub/career_org_bg.png') no-repeat center; }
.org_chart article { display: flex; justify-content: center; margin-top: -20px; }

.career .intro_card_wrap li:nth-child(1)::before { background: url('../images/sub/career_intro01.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(2)::before { background: url('../images/sub/career_intro02.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(3)::before { background: url('../images/sub/career_intro03.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(4)::before { background: url('../images/sub/career_intro04.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(5)::before { background: url('../images/sub/career_intro05.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(6)::before { background: url('../images/sub/career_intro06.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(7)::before { background: url('../images/sub/career_intro07.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(8)::before { background: url('../images/sub/career_intro08.png') no-repeat center; }
.career .intro_card_wrap li:nth-child(9)::before { background: url('../images/sub/career_intro09.png') no-repeat center; }

.car_mission { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.car_mission li { border-radius: 10px; }
.car_mission li a { position: relative; overflow: hidden; height: 500px; padding: 32px; background: #181b25; text-align: center; cursor: auto; }
.car_mission li a::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; }
.car_mission li:nth-child(1) a::before { background: url('../images/sub/car_mission01.png') no-repeat center; background-size: cover; }
.car_mission li:nth-child(2) a::before { background: url('../images/sub/car_mission02.png') no-repeat center; background-size: cover; }
.car_mission li:nth-child(3) a::before { background: url('../images/sub/car_mission03.png') no-repeat center; background-size: cover; }

.car_mission li a:hover { background: #0c0e14; }
.car_mission li a:hover::before { opacity: .8; }

.car_mission li span { display: inline-block; margin: 72px 0 16px; color: #ee8d47; font-size: 16px; }
.car_mission li h2 { margin-bottom: 32px; }
.car_mission li p { font-size: 18px; line-height: 24px; word-break: keep-all; opacity: .8; }

.car_benefit { display: grid; align-items: center; grid-template-columns: 300px 1fr; gap: 24px; margin-bottom: 60px; }
.car_benefit h2 { margin-left: 60px; }

.car_benefit_wrap { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.car_benefit_wrap li { padding: 32px 16px 30px; background: #1f2126; border-radius: 10px; text-align: center; }
.car_benefit_wrap li img { max-height: 64px; margin-bottom: 24px; }
.car_benefit_wrap li h3 { word-break: keep-all; opacity: .8; }

.info_banner { position: relative; height: 480px; background: #2c2e35; }
.info_banner em { position: absolute; width: 100%; right: 80px; bottom: 32px; font-size: 100px; font-weight: 900; opacity: .5; text-align: right; }

.info_sw { height: 100%; }
.info_sw .swiper-slide::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; }
.info_sw .info_sw01::before { background: url('../images/sub/info_banner_img01.png') no-repeat center; background-size: cover; }
.info_sw .info_sw02::before { background: url('../images/sub/info_banner_img02.png') no-repeat center; background-size: cover; }
.info_sw .info_sw03::before { background: url('../images/sub/info_banner_img03.png') no-repeat center; background-size: cover; }
.info_sw .info_sw04::before { background: url('../images/sub/info_banner_img04.png') no-repeat center; background-size: cover; }
.info_sw .info_sw05::before { background: url('../images/sub/info_banner_img05.png') no-repeat center; background-size: cover; }
.info_sw .left_tit_wrap { margin-top: 120px; }
.info_sw .left_tit_wrap span { color: #ff8c39; font-size: 30px; font-weight: 800; }
.info_sw .left_tit_wrap h1 { margin-bottom: 24px; }
.info_sw .slider-dots { bottom: 100px; left: 80px; }



/* 오시는길 */
.map_wrap { overflow: hidden; margin-top: 32px; border-radius: 10px; }
.map_box { position: relative; }
.map_box .map_sec { height: 560px; background: #eee; border-radius: 15px; }
.map_box p { position: absolute; left: 0; bottom: 0; width: 100%; padding: 16px; color: rgba(255, 255, 255, .8); background: rgba(0, 0, 0, .65); font-size: 16px; text-align: center; backdrop-filter: blur(10px); }
.map_box p b { font-weight: 500; color: rgba(255, 255, 255, 1); }



/* contact us */
/* 문의하기 */
.contact .sub_sec { position: relative; }
.contact .sub_sec::before { content: ''; position: absolute; top: 180px; left: 0; width: 845px; height: 564px; background: url('../images/sub/contact_bg.png') no-repeat center; }

.contact .left_tit_wrap { margin-top: 40px; }

.contact_input { display: block; }
.contact_input li { margin-bottom: 32px; }
.grid_input { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact_input li h3 { margin-bottom: 16px; font-size: 20px; font-weight: 500; }
.contact_input li h3 em { color: #ff9f59; }
.contact_input li input { padding: 12px 16px; background: rgba(255, 255, 255, .2); color: #fff; border-radius: 5px; }
.contact_input li textarea { width: 100%; height: 120px; overflow-y: auto; padding: 12px 16px; background: rgba(255, 255, 255, .2); color: #fff; font-size: 16px; border: none; border-radius: 5px; box-sizing: border-box; resize: none; vertical-align: top; }

.contact_select { margin-bottom: 40px; }
.contact_select p { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; font-size: 16px; }
.contact_select p a { text-decoration: underline; }
.contact_select p a:hover { color: #ff9f59; }
/* 서브페이지 : E */




/* responsive web - viewport none */
/* wide */
@media screen and (min-width: 1600px) {
}



/* PC */
@media screen and (min-width: 1280px) and (max-width: 1599px) {
}



/* Tablet */
@media screen and (max-width: 1279px){
  /* main */
  .main_txt h1 { font-size: 50px; line-height: 60px; }
  .main_txt p { font-size: 20px; }

  .main_tit { margin-bottom: 60px; }
  .main_tit h1 { margin-bottom: 20px; }
  .main_tit p { font-size: 18px; line-height: 26px; }
  .main_tit p br { display: none; }

  .main_tit.type02 span { margin-bottom: 32px; padding-bottom: 24px; font-size: 20px; }
  .main_tit.type02 h1 { margin-bottom: 40px; font-size: 32px; }

  .comp_wrap a { min-height: 500px; padding: 24px; padding-bottom: 40px; }
  .comp_txt p br { display: none; }

  .pro_r_inner { grid-template-columns: 1fr; }
  .pro_r_inner li a { min-height: auto; padding: 16px 20px 16px; }
  .pro_r_inner li a img { right: 20px; bottom: 16px; }

  .pro_box { padding: 20px; }
  .pro_box p { margin: 16px 0 20px; }

  .track { gap: 20px; }
  .partners_box img { height: 44px; }

  .banner { padding: 50px 0 40px; }
  .banner p { margin-bottom: 24px; font-size: 28px; line-height: 38px; }

  /* sub */
  .busi_intro_card::before { background-attachment: unset !important; }
  .textom_site_more_bg::before { background-attachment: unset !important; }
  .smartfarm .textom_site_more_bg::before { background-attachment: unset !important; }

  .sub_tit { margin-bottom: 24px; font-size: 32px; line-height: 42px; }
  .sub_tit br { display: none; }
  .sub_tit_wrap p { font-size: 18px; line-height: 24px; }
  /* .sub_tit_wrap p br { display: none; } */

  .left_tit_wrap { margin-top: 0; text-align: center; }
  .left_tit_wrap p { font-size: 18px; line-height: 26px; }
  .left_tit_wrap p br { display: none; }
  .left_tit_wrap button { margin: 50px auto 0; }

  .txt_wrap h1 { margin-bottom: 40px; font-size: 50px; }
  .txt_wrap p { margin-bottom: 24px; font-size: 20px; line-height: 26px; }

  .stxt_wrap { height: auto; padding: 100px 0 70px; }
  .stxt_wrap h1 { margin-bottom: 30px; font-size: 60px; }
  .stxt_wrap p { font-size: 18px; line-height: 26px; }

  .ico_card_wrap { gap: 24px; }
  .ico_card_wrap li { padding: 32px 24px 24px; }

  .intro_card_wrap { gap: 24px; }
  .intro_card_wrap li a { padding: 20px; }
  .busi_intro_card .intro_card_wrap li a h2 { font-size: 18px; }

  .step_wrap,
  .step_wrap.step04 { grid-template-columns: repeat(2, 1fr); }
  .step_wrap { gap: 48px 24px; }
  .step_wrap > li { height: auto; padding: 24px; }
  .step_wrap img { max-width: 80px; }

  .textom .step_wrap > li { height: 360px; }
  .step_txt { padding: 10px 0 24px; }
  .step_txt h2 { margin-bottom: 12px; }
  .step_txt li br { display: none; }
  .step_txt p br { display: none; }

  .grid_wrap .wrapper { grid-template-columns: 1fr; gap: 40px; }

  .grid_slide .wrapper { grid-template-columns: 1fr; }
  .grid_slide.scroll_area { height: unset; }
  .sub_sec .scroll_area_list { height: unset; overflow-y: unset; overflow-x: unset; margin-top: unset; padding: unset; padding-bottom: 100px; }
  .grid_slide_wrap { gap: 48px 24px; padding-bottom: 0; }

  .list_card { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .list_card_txt { padding: 24px; }
  .list_card_txt h3 { margin-bottom: 14px; font-size: 20px; line-height: 1.2; }
  .list_card_txt p { font-size: 17px; }

  .slider-dots.side { left: 50%; transform: translateX(-50%) !important; }

  .slide_txt h2 { margin-bottom: 8px; font-size: 18px; }
  .slide_txt_wrap p { font-size: 16px; line-height: 22px; }
  .slide_txt i { margin-top: 16px; font-size: 18px; }

  .card_wrap { height: unset !important; max-height: unset !important; }
  .card_wrap .wrapper { flex-wrap: wrap; justify-content: center; }
  .card_wrap::after { content: none; }

  .card_wrap .left_tit_wrap { position: relative; top: unset; width: 100%; height: auto; }

  .textom .card_wrap .sub_tit { margin-top: 40px; }
  .textom .card_wrap { height: unset; max-height: unset; overflow: unset; }

  .card_wrap .aitom_card { gap: 24px; width: 100%; }
  .aitom .card_wrap .aitom_card { width: unset; }

  .aitom_card { gap: 32px 24px; }
  .textom .aitom_card li { height: auto; }

  .aitom_card li:nth-child(even) { transform: unset; }

  .textom .comp_num { top: 24px; padding: 0 24px; }
  .textom .comp_num em { font-size: 40px; }
  .textom .comp_num span { opacity: 1; }
  .textom .comp_wrap { display: grid; gap: 16px; }
  .textom .comp_wrap a { min-height: 360px; }
  .textom .comp_wrap a,
  .textom .comp_wrap a.on { width: 100%; }
  .textom .comp_txt p { display: block; }

  .comp_wrap a h2,
  .comp_wrap a.on h2 { margin-bottom: 16px; }
  
  .textom .comp_img::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, #161822 20%, rgba(255, 255, 255, .0) 120%); }

  .site_more_btn { padding: 32px 24px 24px; }
  .site_more_btn p { margin-bottom: 32px; }
  .site_more_btn p br { display: none; }
  .site_more_btn { min-height: unset; }

  .site_more_btn h2 { margin-bottom: 10px; font-size: 20px; }

  .farmstom .sub_bg .wrapper::before { background-position-y: 0; }
  .farmsbot .sub_bg .wrapper::before { background-position-y: -100px; }

  .aitom_list { padding: 16px 24px 24px; }
  .aitom_txt h2 { margin-bottom: 20px; }
  .aitom_txt ul li { margin-bottom: 10px; }

  .list_wrap { gap: 24px; }

  /* .aitom_card li { height: auto; } */
  
  .side_sw_img { text-align: center; }

  .about_us .main_tit { margin-bottom: 80px; }

  .ceo_mv_main img { max-width: 460px; }

  .ceo_mess_visual { height: 400px; }
  .ceo_mess_visual::before { background-position: center; }
  .ceo_mess_visual .main_tit { padding: 32px 100px 60px 32px; }

  .ceo::before { right: 6%; }
  .ceo_mess_wrap { grid-template-columns: 1fr; gap: 26px; }
  .ceo_mess_wrap p { font-size: 18px; line-height: 24px; }
  .ceo_mess_wrap p:last-of-type { width: 60%; }

  .patent .list_card { grid-template-columns: 1fr 1fr 1fr; }

  .career .intro_card_wrap { grid-template-columns: 1fr 1fr; }
  .career_fix_btn a { width: 200px; height: 140px; padding: 16px 20px; font-size: 17px; }

  .car_mission { gap: 20px; }
  .car_mission li a { padding: 24px; }
  .car_mission li span { margin: 32px 0 16px; }

  .car_benefit_wrap { grid-template-columns: repeat(4, 1fr); gap: 20px; }

  .info_banner {height: 360px;width: 100%;}
  .info_sw .left_tit_wrap {margin-top: 90px;}
  .info_banner em {top: 40px;left: 50%;transform: translateX(-50%);bottom: unset;font-size: 70px;text-align: center;}
  .info_sw .slider-dots { top: unset; bottom: 80px;left: 50%;transform: translateX(-50%);}

  .contact_input li { margin-bottom: 24px; }
  .contact_input li h3 { margin-bottom: 10px; font-size: 18px; }
  .contact_input li input { padding: 8px 12px; font-size: 15px; }
  .contact_input li textarea { font-size: 15px; }
  .contact_input li select,
  .contact_select p label,
  .contact_select p a { font-size: 15px; }
}



/* Tablet */
@media screen and (max-width: 1023px){
  /* main */
  .visual_bg video { left: 50%; transform: translateX(-50%); width: unset; }

  /* sub */
  .web_img { display: none !important; }
  .mob_img { display: block !important; }

  .list_wrap { display: grid; grid-template-columns: 1fr; }
  
  .aitom_list { width: 100%; height: auto; justify-content: unset; }
  .aitom_list.on { width: 100%; }
  .aitom_txt { display: block; }
  .aitom_list::before { opacity: .4; background-position-x: unset !important; }
  .aitom_list::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, #161822 0%, rgba(255, 255, 255, 0) 60%) }
  .aitom_list em { margin-bottom: 24px; font-size: 40px; }

  .sub .contents.history { padding-bottom: 60px; }
  .history .history_hero { padding: 60px 20px 80px; }
  .history .hero_title { font-size: 30px; }
  .history .hero_subtitle { margin-bottom: 10px; font-size: 18px; }
  .year_wrap { margin-top: 20px; }
  .history .year_list { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .history .year_list ul { justify-content: flex-start; padding: 0 15px; width: max-content; }
  .history .year_list ul li a { padding: 3px 13px; font-size: 18px; }
  .history .history_area { margin-top: -32px; padding: 80px 60px 0; }
  .history .history_line { height: 100.5%; left: 60px; margin-left: 0; }
  .history .history_line #scr_bar::after { width: 28px; height: 28px; font-size: 15px; }
  .history .history_box { flex-direction: column; margin-bottom: 30px; padding-left: 40px; }
  .history .history_box:nth-of-type(2n) { flex-direction: column-reverse; }
  .history .history_image { margin-bottom: 12px; border-radius: 9px; }
  .history .history_left, 
  .history .history_right { width: 100%; text-align: left; }
  .history .history_left .history_text ul li { flex-direction: row; }
  .history .history_left .history_text ul li span { text-align: left; }
  .history .history_year { font-size: 28px; margin-bottom: 12px; }
  .history .history_text ul li { font-size: 17px; margin-bottom: 5px; }

  .patent .list_card { grid-template-columns: 1fr 1fr; }
  
  .car_mission { grid-template-columns: 1fr; }
  
  .car_benefit { grid-template-columns: 1fr; }
  .car_benefit:last-of-type { margin-bottom: 0; }
  .car_benefit h2 { margin: 0 auto; }
  .car_benefit_wrap { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .car_benefit_wrap li { padding: 24px 10px 20px;}
}



/* small Tablet */
@media screen and (max-width: 839px){
}



@media screen and (max-width: 768px){
  /* main */
  .main section { padding: 80px 0 60px; }
  .main_tit { margin-bottom: 40px; }

  .main_txt h1 { font-size: 40px; line-height: 48px; }
  .main_txt h1 br { display: none; }

  .main_tit.type02 span { margin-bottom: 24px; padding-bottom: 16px; font-size: 18px; }
  .main_tit.type02 span::before { width: 40px; height: 2px; }
  .main_tit.type02 h1 { margin-bottom: 24px; font-size: 26px; }
  
  .sub_tit br { display: none; }

  .stxt_wrap b { font-size: 18px; }
  .stxt_wrap h1 { margin-bottom: 24px; font-size: 50px; }

  .comp_wrap {display: grid; grid-template-columns: 1fr; }
  .comp_wrap a { width: 100%; min-height: auto; padding-bottom: 24px; }
  .comp_wrap a.on { width: 100%; min-height: 240px; }

  .busi_info { grid-template-columns: 1fr; gap: 10px; padding: 0 40px; padding-top: 24px; }
  .sw_busi .busi_box article { padding: 20px; }
  .sw_busi .busi_box article span { padding: 6px 14px; font-size: 16px; }
  .busi_info_l h2 br { display: none; }
  .busi_info_r p br { display: none; }
  .busi_info_r p { margin-bottom: 40px; }

  .busi_info_l h2 { font-size: 24px; line-height: 32px; }

  .slider-dots { top: 340px; bottom: unset; }

  .product_wrap { grid-template-columns: 1fr; gap: 16px; }
  .pro_r_inner li a h2 { font-size: 20px; }
  .pro_box p { margin: 10px 0 16px; }

  .banner { padding: 40px 0 32px !important; }
  .banner p { margin-bottom: 20px; font-size: 24px; line-height: 32px; }

  

  /* sub */
  .sub_sec { padding: 60px 0 80px; }
  .sub_sec .scroll_area_list { padding-bottom: 60px; }
  
  .sub_tit {margin-bottom: 20px;font-size: 24px; line-height: 32px; }
  .sub_tit_wrap p { font-size: 16px; line-height: 22px; }

  .txt_wrap b { margin-bottom: 8px; font-size: 18px; }
  .txt_wrap h1 { margin-bottom: 32px; font-size: 40px; }
  .txt_wrap h1 br { display: none; }
  .txt_wrap p { margin-bottom: 16px; font-size: 18px; line-height: 24px; }
  .txt_wrap span { font-size: 16px; line-height: 22px; }
  .txt_wrap ul { gap: 10px; margin-top: 32px; }
  .txt_wrap ul li { padding: 10px 24px; }
  .txt_wrap span br { display: none; }

  .left_tit_wrap p br { display: none; }

  .scroll_ico a span { width: 20px; height: 32px; }
  .scroll_ico a span::before { top: 3px; }

  .comp_txt p { display: block; }
  .comp_img::before { opacity: .5; }

  .grid_slide_wrap li { height: 320px; padding: 24px; }
  .grid_slide_wrap li em { font-size: 40px; }
  .grid_slide_wrap li h2 { margin: 6px 0 16px; }
  .grid_slide_wrap li p { font-size: 16px; line-height: 22px; }

  .ico_card_wrap { gap: 16px; grid-template-columns: repeat(3, 1fr); }
  .ico_card_wrap li { padding: 24px 16px 16px; }
  .ico_card_wrap li img { max-width: 100px; }

  .intro_card_wrap { gap: 16px; grid-template-columns: 1fr 1fr; }
  .intro_card_wrap li::before { opacity: .6; }
  .intro_card_wrap li a { gap: 10px; height: 100%; padding: 16px; }
  .intro_card_txt span { margin-top: 0; opacity: 1; }
  .intro_card_wrap li a p br { display: none; }
  .busi_intro_card .intro_card_wrap li a h2 { font-size: 18px; line-height: 24px; }

  .list_card { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; padding-top: 24px; }
  .list_card li figure { min-height: 100px; }
  .list_card li figure img { max-height: 70px; }

  .stxt_wrap p br { display: none; }

  .slide_txt_wrap p br { display: none; }

  .step_wrap,
  .step_wrap.step04 { grid-template-columns: 1fr; gap: 40px; }
  .textom .step_wrap > li,
  .step_wrap > li { height: auto; padding: 20px; }
  .step_txt h2 { margin-bottom: 12px; }
  .step_txt p,
  .step_txt li { margin-bottom: 8px; font-size: 16px; line-height: 22px; }

  .aitom_card { grid-template-columns: 1fr; gap: 24px; }
  .card_wrap .aitom_card { gap: 16px; }

  .textom .aitom_card li { padding: 16px; }
  .aitom_card li:nth-child(even) { transform: translateY(0); }
  .textom .aitom_card li h2 { font-size: 18px; }
  .textom .aitom_card li p { font-size: 16px; line-height: 22px; }
  .textom .aitom_card li p br { display: none; }

  .textom .comp_num { top: 16px; padding: 0 16px; }
  .textom .comp_num em { font-size: 32px; }

  .textom .comp_wrap a { min-height: 260px; }
  .comp_wrap a h2,
  .comp_wrap a.on h2 { margin-bottom: 4px; }
  .comp_txt { padding-top: 40px; }
  .comp_txt p { font-size: 16px; line-height: 22px; }

  .site_more_wrap { grid-template-columns: 1fr; gap: 16px; }
  .site_more_btn { padding: 24px 16px 20px; }
  .site_more_btn h2 { margin-bottom: 5px; }
  .site_more_btn p { margin-bottom: 24px; font-size: 16px; line-height: 22px; }

  .farmsbot .sub_bg .wrapper::before { background-position-y: 0; }

  .aitom .step_wrap .step_txt ul { display: block; margin-top: 20px; }
  .aitom .step_txt p { font-size: 18px; opacity: 1; }
  
  .aitom_list { padding: 12px 16px 16px; }
  .aitom_list em { margin-bottom: 16px; font-size: 32px; }
  .aitom_txt span { margin-bottom: 5px; font-size: 16px; }
  .aitom_txt ul li { margin-bottom: 8px; font-size: 16px; }

  .aitom_card { gap: 16px; }

  .about_us .main_tit { margin-bottom: 60px; }

  .ceo_mv_main img { max-width: 420px; }
  .company_mv { width: 100%; }
  .company_mv p { margin-bottom: 16px; padding: 12px; font-size: 18px; }
  .company_mv ul { gap: 12px; }
  .company_mv ul li { font-size: 16px; }
  .ceo_arrow { margin: 24px 0; }
  .ceo_arrow img { width: 36px; }

  .ceo_mess_visual .main_tit { padding: 24px 80px 40px 24px; }

  .ceo::before { width: 200px; }
  .ceo_mess_wrap p { gap: 24px; font-size: 16px; line-height: 22px; }
  .ceo_mess_wrap p:last-of-type { width: 50%; }

  .ceo_mess_wrap { margin-top: 60px; }
  .ceo_mess_wrap p span { font-size: 18px; }
  .ceo_mess_wrap p span em { font-size: 14px; }

  .patent .list_card { grid-template-columns: 1fr; }
  .patent .list_card li figure img { max-width: 380px; }

  .career .intro_card_wrap { grid-template-columns: 1fr; }
  .intro_card_wrap li a p { display: block; width: 100%; font-size: 16px; line-height: 20px; opacity: .8; }
  .career_fix_btn {transform: unset;top: unset;right: unset;bottom: 0;gap: 0;width: 100%;}
  .career_fix_btn a {flex: 1;width: unset;height: unset;padding: 12px 16px;border-radius: 0;font-size: 15px;}
  /* .career_fix_btn a { width: 160px; height: 200px; padding: 12px 16px; font-size: 15px; border-radius: 6px; } */

  .car_mission { gap: 20px; }
  .car_mission li a { height: auto; padding: 24px 24px 160px; }
  .car_mission li span { margin: 32px 0 8px; }
  .car_mission li h2 { margin-bottom: 16px; }
  .car_mission li p { font-size: 16px; }
  
  .info_banner { height: 270px; }
  .info_sw .left_tit_wrap { margin-top: 60px; }
  .info_banner em { font-size: 40px; }
  .info_sw .slider-dots { bottom: 40px; }
	.info_sw .left_tit_wrap span { display: inline-block; margin-bottom: 5px; font-size: 22px; }
	.info_sw .left_tit_wrap h1 { margin-bottom: 8px; }


  .map_box p { font-size: 15px; }

  .contact_input li { margin-bottom: 16px; }
  .contact_input li h3 { margin-bottom: 8px; font-size: 16px; }
  .contact_input li input { padding: 8px 10px; font-size: 14px; }
  .contact_input li textarea { height: 100px; font-size: 14px; }
  .contact_input li select { padding: 8px 10px; background-position: bottom 13px right 20px; font-size: 14px; }
  .contact_select p label,
  .contact_select p a { font-size: 14px; }
  .contact_select { margin-bottom: 24px; }

  .history .history_year { font-size: 22px; }
  .history .history_text ul li { font-size: 18px; }
  .history .history_text ul li span { font-size: 20px; }
}



/* mobile */
@media screen and (max-width:480px){
  /* main */
  .hero_line { top: 51px; }

  .main section.competence { padding-top: 120px; padding-bottom: 60px; }
  .main_tit { margin-bottom: 32px; }
  .main_tit h1 { margin-bottom: 10px; }
  .main_tit p { font-size: 16px; line-height: 22px; }
  
  .main_tit.type02 span { margin-bottom: 20px; padding-bottom: 12px; font-size: 16px; }
  .main_tit.type02 h1 { font-size: 22px; }

  .comp_wrap a { padding: 20px; padding-bottom: 20px; }
  .comp_wrap a.on h2 { margin-bottom: 10px; }
  .comp_txt p { font-size: 15px; line-height: 20px; }  

  .sw_busi .busi_box article { padding: 16px; }
  .sw_busi .busi_box article span { padding: 6px 14px; font-size: 14px; }

  .sw_busi .busi_box.bg1 article,
  .sw_busi .busi_box.bg2 article,
  .sw_busi .busi_box.bg3 article { background-size: 100vh; }
  .sw_busi .busi_box article { padding: 20px; }
  .sw_busi .busi_box article em { right: 16px; bottom: 10px; font-size: 50px; }
  .busi_info_l h2 { font-size: 20px; line-height: 26px; }
  .busi_info_r p { font-size: 16px; line-height: 22px; }

  .pro_box { padding: 16px; }
  .pro_r_inner li a h2 { font-size: 18px; }
  .pro_box p { font-size: 15px; }
  .pro_r_inner li a { padding: 14px 16px 10px; }

  .track { gap: 10px; }
  .partners_box img { height: 30px; }

  .banner { padding: 30px 0 24px !important; }
  .banner p { font-size: 20px; line-height: 28px; }
  .btn_wrap { gap: 10px; }

  
  /* sub */
  .sub_visual { margin-bottom: 0; }

  .sub_sec { padding: 50px 0 60px; }
  .sub_sec.section { padding-top: 80px; }
  
  .sub_tit {margin-bottom: 16px;font-size: 20px;line-height: 28px;}
  .sub_tit br { display: none; }
  .sub_tit_wrap { margin-bottom: 60px; }
    
  .left_tit_wrap p {font-size: 16px;line-height: 22px;}
  .left_tit_wrap p br { display: none; }

  .txt_wrap b { font-size: 16px; }
  .txt_wrap h1 { margin-bottom: 24px; font-size: 30px; }
  .txt_wrap p { margin-bottom: 10px; font-size: 16px; line-height: 22px; }
  .txt_wrap p br { display: none; }
  .txt_wrap span { font-size: 15px; }

  .txt_wrap ul { gap: 8px; }
  .txt_wrap ul li { padding: 8px 20px; font-size: 15px; }

  .stxt_wrap { padding: 60px 0 40px; }
  .stxt_wrap b { font-size: 16px; font-weight: 500; }
  .stxt_wrap h1 { font-size: 36px; margin-bottom: 16px; }
  .stxt_wrap p { font-size: 16px; line-height: 22px; }
  .step_wrap img { max-width: 68px; }

  .grid_slide_wrap { grid-template-columns: 1fr; gap: 24px; }
  .grid_slide_wrap li { height: 260px; padding: 20px; }
  .grid_slide_wrap li:nth-child(odd) { transform: unset; }
  .grid_slide_wrap li:nth-child(even) { transform: unset; }
  .grid_slide_wrap li:last-of-type { margin-bottom: 0; }
  .grid_slide_wrap li h2 { margin: 6px 0 10px; }
  .grid_slide_wrap li em { font-size: 30px; }
  .grid_slide_wrap li p { font-size: 15px; line-height: 20px; }
  
  .ico_card_wrap { gap: 10px; grid-template-columns: repeat(2, 1fr); }

  .intro_card_wrap { gap: 10px; grid-template-columns: 1fr; }
  .intro_card_wrap li a { padding: 12px; }
  .busi_intro_card .intro_card_wrap li a h2 { font-size: 15px; }

  .list_card { margin-top: 12px; padding-top: 16px; }
  .list_card li figure { min-height: 80px; }
  .list_card li figure img { max-height: 60px; }
  .list_card_txt b { margin-bottom: 10px; font-size: 14px; }
  .list_card_txt h3 { margin-bottom: 10px; font-size: 18px; }
  .list_card_txt p { margin-bottom: 20px; font-size: 16px; line-height: 22px; }
  .list_card_txt em { font-size: 14px; }

  .step_txt { padding: 6px 0 10px; }
  .step_wrap > li span { padding: 6px 0; font-size: 13px; }
  .step_txt b { font-size: 14px; }
  .step_txt p,
  .step_txt li { margin-bottom: 5px; font-size: 15px; line-height: 20px; }

  .textom .comp_num span { font-size: 14px; }

  .aitom_txt h2 { margin-bottom: 10px; font-size: 18px; line-height: 24px; }
  .aitom_txt ul li { font-size: 15px; }
  .aitom_txt p { margin-top: 8px; }
  .aitom_txt span { font-size: 14px; }

  .aitom .step_wrap > li { height: 260px; }
  .aitom .step_wrap > li::before { background-position: 0; }
  .aitom .step_txt p { font-size: 16px; }
  .aitom .step_wrap > li:hover .step_txt p { display: block; }
  .aitom .step_wrap .step_txt ul { margin-top: 10px; }

  .card_wrap .aitom_card { grid-template-columns: 1fr; gap: 16px; }

  .about_us .main_tit { margin-bottom: 40px; }  

  .ceo_mv_main img { width: 90%; }
  .company_mv p { margin-bottom: 12px; font-size: 16px; border-radius: 5px; }
  .company_mv ul { grid-template-columns: 1fr; gap: 10px; }
  .company_mv ul li { padding: 12px; font-size: 15px; }
  .ceo_arrow { margin: 20px 0; }
  .ceo_arrow img { width: 30px; }

  .ceo_mess_visual .main_tit { width: calc(100% - 40px); padding: 16px; text-align: center; }
  .ceo_mess_visual .main_tit span::before { left: 50%; transform: translateX(-50%); }
  .ceo_mess_visual { height: 260px; }

  .ceo::before { display: none; }
  .ceo_mess_wrap { margin-top: 40px; }
  .ceo_mess_wrap p { font-size: 15px; }
  .ceo_mess_wrap p:last-of-type { width: 100%; }
  .ceo_img { display: block; max-width: 160px; float: right; margin-top: -60px; margin-right: 30px; }

  .patent .list_card li figure img { padding: 16px; }
  .patent .list_card_txt h3 { font-size: 16px; }
  .patent .list_card li figure { height: unset; }

  .intro_card_txt span { font-size: 16px; }
  .intro_card_wrap li a p { font-size: 15px; }

  .car_mission li a { padding: 16px 16px 100px; }
  .car_mission li span { margin: 16px 0 5px; font-size: 14px; }
  .car_mission li p { font-size: 15px; }

  .car_benefit_wrap { grid-template-columns: repeat(2, 1fr); }
  .car_benefit_wrap li { padding: 20px 10px 16px; }
  .car_benefit_wrap li img { max-height: 50px;}

  .map_box p { padding: 12px; font-size: 14px; }

  .contact_input li { grid-template-columns: 1fr; }

  .history .history_hero { padding: 30px 20px 60px; }
  .history .hero_subtitle  { font-size: 16px; }
  .history .hero_title { font-size: 20px; }
  .history .history_line { left: 24px; }
  .history .history_area { padding: 80px 24px 0; }
  .history .history_box { padding-left: 30px; }
  .year_wrap { margin-top: 10px; }
  .history .history_year { font-size: 18px; }
  .history .history_text ul li { display: grid; grid-template-columns: 1fr; font-size: 15px; }
  .history .history_text ul li span { min-width: auto; font-size: 16px; }

  .site_more_btn h2 { font-size: 18px; }
  .site_more_btn p { font-size: 15px; }
}



/* small mobile */
@media screen and (max-width:320px){
}