@charset "utf-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");

html, body { position:relative; margin: 0 auto; width: 100%; height: 100%; min-width: 320px; color: #000; line-height: 1.5; font-size: 14px; font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; font-weight: normal; -webkit-font-smoothing:antialiased; -webkit-overflow-scrolling: touch; }
body { word-wrap: break-word; word-break: keep-all; -webkit-text-size-adjust: none; }
body * { box-sizing: border-box;}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, blockquote, th, td, p, button { margin:0; padding:0; }
h1, h2, h3, h4, h5, h6 { font-family:"Lucida Grande New", sans-serif !important; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display:block;}
audio, canvas, video { display:inline-block;}
ol, ul, li {list-style:none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: '';content:none;}
table { table-layout: fixed; width:100%; border-collapse:collapse; border-spacing:0}
fieldset, img, abbr, acronym {border:0}
img { max-width: 100%; vertical-align:top;}
i, em, address {font-style:normal;}
a { color: inherit; text-decoration:none; word-break:break-all; -webkit-tap-highlight-color: transparent;}
caption, legend {width:0; height:0; text-indent:-9999em; overflow:hidden; font-size:0;}
label, button {cursor:pointer; vertical-align:middle;}
input, textarea, select, button {margin:0; padding:0; color:#222; font-size:1rem; font-weight: 400; font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; vertical-align:middle; outline: none; -webkit-appearance: none;  -moz-appearance: none; }
input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px white inset;}
input::-webkit-input-placeholder{color:#999; }
input::-moz-input-placeholder{color:#999; }
input:-ms-input-placeholder{color:#999; }
textarea { border: 1px solid #666; resize:none; overflow-y:auto;}
textarea::-webkit-input-placeholder{color:#999; font-weight: 400;}
button {overflow:visible; border:0 none; background:none; vertical-align:top; cursor:pointer; -webkit-tap-highlight-color: transparent;}
button::-moz-focus-inner,input::-moz-focus-inner {border: 0; padding: 0;}
select { color: #999;}
::-webkit-calendar-picker-indicator{ margin-left: -10px;}
::-ms-calendar-picker-indicator{ margin-left: -10px;}
input[type="date"]::-webkit-calendar-picker-indicator { background: none;}


/* 건너뛰기 네비게이션 */
#skip_nav { width: 100%; height: 0; text-align: center; overflow: hidden; }
#skip_nav a { color: #000; font-size: 14px; font-weight: 800; float: left; }
#skip_nav a:focus,
#skip_nav a:hover,
#skip_nav a:active { position: absolute; top: 0; left: 0; width: 100%; height: 20px; line-height: 20px; text-decoration: underline; background-color: #fff; overflow: visible; z-index: 9999; }


/* global */
.none {display:none;}
.hidden {position: absolute; top: 0; left: -9999px; width: 0; height: 0; font-size: 0; line-height: 0; text-indent: -9999px; overflow: hidden;}
.clear::after { display: block; content: ''; clear: both; }
.fl { float: left;}
.fr { float: right;}
.left { text-align: left !important; }
.right { text-align: right !important; }
.center { text-align: center !important; }
.ellipsis {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.bold { font-weight: bold; }
.inblock {display:inline-block;}
.underline {text-decoration: underline;}
.only_pc { display: block; }
.only_mobile { display: none; }
.mgt0 { margin-top: 0 !important; }
.m_only{ 
  display: none; 
}


.section.active .fade_left .swiper-slide {
  opacity: 1;
}



/* header */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 40px;
  width: 100%;
  height: 76px;
  z-index: 9999;
}

.logo a {
  display: flex;
  align-items: center;
  height: 76px; 
}

.gnb ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;  
}

.gnb ul li a {
  display: block;
  padding: 0 40px; 
  color: #fff;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
}

.gnb ul li.active a{ 
  color: #EF3B23; 
}

.m_gnb {
  display: none;
}

.fp-viewing-3rdPage .logo a,
.fp-viewing-lastPage .logo a {
  width: 238px;
  height: 36px;
  background: url('../img/logo_red.svg') no-repeat center center;
}

.fp-viewing-3rdPage .logo a img,
.fp-viewing-lastPage .logo a img { 
  display: none;
}

.fp-viewing-3rdPage .gnb ul li a,
.fp-viewing-lastPage .gnb ul li a { 
  color: #000; 
}

.fp-viewing-3rdPage .gnb ul li.active a,
.fp-viewing-3rdPage1 .gnb ul li:nth-child(3) a,
.fp-viewing-3rdPage2 .gnb ul li:nth-child(3) a,
.fp-viewing-3rdPage3 .gnb ul li:nth-child(3) a,
.fp-viewing-3rdPage4 .gnb ul li:nth-child(3) a,
.fp-viewing-3rdPage5 .gnb ul li:nth-child(3) a,
.fp-viewing-3rdPage6 .gnb ul li:nth-child(3) a,
.fp-viewing-lastPage .gnb ul li.active a{ 
  color: #f00; 
}


/* 오른쪽 네비게이션 */
.fp-right {
  right: 40px !important;
}

.fp-right ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fp-right li {
  margin: 0 !important;
  padding: 5px;
  width: 20px !important;
  height: 20px !important;
}

.fp-right li a {
  display: block;
  position: relatvie;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background-color: rgba(255,255,255,0.5) !important;
}

.fp-right li a span {
  display: none !important; 
}

.fp-right li a.active {
  background-color: rgba(255,255,255,1) !important;
}

.fp-right li a.active::after {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.fp-right li:nth-child(1),
.fp-right li:nth-child(2),
.fp-right li:nth-child(3),
.fp-right li:nth-child(10) {
  display: none !important;
}

.fp-viewing-firstPage .fp-right,
.fp-viewing-secondPage .fp-right,
.fp-viewing-3rdPage .fp-right,
.fp-viewing-lastPage .fp-right {
  display: none !important;
}

.btn_top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 48px;
  height: 48px;
  z-index: 10;
  transition: all 0.5s ease-in-out;
  opacity: 1;
}

.fp-viewing-firstPage .btn_top {
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.section{
  color: #fff;
  text-align:center;
  background-size: cover;
  background-attachment: fixed;  
  background-position: center;
}

#section1{
  background-image: url('../img/bg_history.jpg');
}

#section2{
  background-color: #fff;
}

#section3{
  background-image: url('../img/bg_business_detail1.jpg');
}

#section4{
  background-image: url('../img/bg_business_detail2.jpg');
}

#section5{
  background-image: url('../img/bg_business_detail3.jpg');
}

#section6{
  background-image: url('../img/bg_business_detail4.jpg');
}

#section7{
  background-image: url('../img/bg_business_detail5.jpg');
}

#section8{
  background-image: url('../img/bg_business_detail6.jpg');
}

#section9{
  background-image: url('../img/bg_product.jpg');
}


.fp-watermark {display: none}

/* slide arrow */
.wrap .fp-arrow.fp-controlArrow {
  width: 72px;
  height: 72px;
}

.wrap .fp-arrow.fp-next {
  right: 40px;
  border: none;
  background: url('../img/arrow_right.svg') no-repeat center center;
}

.wrap .fp-arrow.fp-prev {
  left: 40px;
  border: none;
  background: url('../img/arrow_left.svg') no-repeat center center;
}


/* about us*/
.about .fp-overflow {
  width: 100%;
  height: 100%;
}

.about .inner {
  position: relative;
  height: 100%; 
}

.about_slide {  
  width: 100%;
  height: 100%;
}


.about_slide .swiper,
.about_slide .swiper-wrapper {
  height: 100%;
}

.about_slide .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.about_slide .swiper-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.5s ease-in-out;
  transform: scale(1.2);
  z-index: 0;
}

.about_slide .swiper-slide.slide1::before {
  background-image: url('../img/bg_about.jpg');
}

.about_slide .swiper-slide.slide2::before {
  background-image: url('../img/bg_about2.jpg');
}

.about_slide .swiper-slide.slide3::before {
  background-image: url('../img/bg_about3.jpg');
}

.about_slide .swiper-slide-active::before {
  transform: scale(1);
}

.about_slide .swiper-slide > * {
  position: relative;
  z-index: 1;
}

.about .section_title { 
  position: absolute; 
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 200px));
  /* margin-bottom: 40px; */
  padding-bottom: 40px;
  font-size: 22px;
  line-height: 32px;
  font-weight: 700; 
  z-index: 10;
}

.about .section_title::after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 48px;
  height: 1px;
  background-color: #fff;
  transform: translateX(-50%);
}

.about_slide .swiper-button-prev {
  width: 72px;
  height: 72px;
  left: 40px;
  background: url('../img/arrow_left.svg') no-repeat center center;
}

.about_slide .swiper-button-next {
  width: 72px;
  height: 72px;
  right: 40px;
  background: url('../img/arrow_right.svg') no-repeat center center;
}

.about_slide .swiper-button-prev:after, 
.about_slide .swiper-button-next:after {
  display: none;
}

.swiper-pagination { 
  display: none;
  bottom: 140px !important;
}

.swiper-pagination .swiper-pagination-bullet {
  margin: 0 10px !important;
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 0.4;
}

.swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.b_txt {
  font-size: 60px;
  line-height: 80px;
  font-weight: 700;
}

.s_txt {
  margin-top: 32px;
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
}

.scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);  
  padding-bottom: 72px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  z-index: 10;
  transition: all 0.5s ease-in-out;
}

.scroll::after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  background-color: #fff;
  transition: all 0.5s ease-in-out;
}

.scroll:hover {
  opacity: 0.7;
  transform: translateX(-50%) translateY(-10px);
}

.scroll:hover::after {
  transform: translateX(-50%) translateY(10px);
}


/* history */
.history {
  display: flex;
  align-items: center;
  justify-content: center;
}

.history .inner{
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;  
  width: 1450px;
  overflow: hidden;
}

.history .section_title { 
  font-size: 64px;
  line-height: 84px;
  font-weight: 700;
}

.history_slide {
  max-width: 975px;
}

.history_slide .swiper-button-prev {
  width: 72px;
  height: 72px;
  left: 40px;
  background: url('../img/arrow_left.svg') no-repeat center center;
}

.history_slide .swiper-button-next {
  width: 72px;
  height: 72px;
  right: 40px;
  background: url('../img/arrow_right.svg') no-repeat center center;
}

.history_slide .swiper-button-prev:after, 
.history_slide .swiper-button-next:after {
  display: none;
}

.history_list {
  display: flex;
  flex-direction: column;
  gap: 3vh;/* 48px; */
}

.history_list > li {
  display: flex;
  align-items: center; 
  gap: 155px;
}

.history_list > li > strong {
  font-size: 44px;
  line-height: 60px;
}

.history_list > li > ul {
  display: flex;
  flex-direction: column; 
  text-align: left;
}

.history_list > li > ul > li {
  position: relative;
  padding-left: 12px;
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
}

.history_list > li > ul > li::before {
  display: block;
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #fff;
}
 

/* 사업분야 */
.business {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
}

.business .title_box .section_title {
  color: #000;
}

.business .title_box .title_desc {
  color: #666;
}

.title_box .section_title {  
  font-size: 60px;
  line-height: 80px;
  font-weight: 700;
}

.title_box .title_desc {  
  margin-top: 12px; 
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
}

.business .content_box {
  margin-top: 60px;
  overflow: hidden;
}

.business_list {
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 512px;
  gap: 32px;  
  max-width: 1600px;
}

.business_list > li {
  position: relative;
  overflow: hidden;
  width: 512px;
  height: 240px;
  border-radius: 20px;
}

.business_list > li:hover > img {
  transform: scale(1.1);
}

.business_list > li > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s ease-in-out;
}

.business_list > li > p {
  position: absolute;
  bottom: 32px;
  left: 24px;
  font-size: 28px;
  line-height: 40px;
  font-weight: 700;
  z-index: 2;
}

.business_detail .inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between; 
  max-width: 1480px;
  min-height: 100dvh;
  margin: 0 auto;
  position: relative;  
}

.business_detail .title_box {
  position: sticky;
  top: 50%;
  left: 0; 
  transform: translateY(-50%);
  width: calc(100% - 680px);
  text-align: left;  
  align-self: flex-start;
}

.business_detail .content_box {  
  padding: 60px 0;
  width: 680px;  
}

.business_detail .swiper {
  overflow: visible;
}

.business_card_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  grid-template-rows: repeat(2, auto);    
  gap: 40px; 
  transform: translateY(-50px);
}

.business_card_list > li {
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  padding: 24px;
  width: 320px;
  height: 260px;
  border-radius: 20px;
  background-color: rgba(255,255,255,0.2);
  backdrop-filter: blur(20px);         
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 10px 0 rgba(0, 0, 0, 0.1);
  background-size: cover;
  text-align: left;
  transition: all 0.5s ease-in-out;
  /* transform: translateZ(0); */
}

.business_card_list > li:nth-child(even) { 
  align-self: start; /* grid에서 margin 적용되도록 */
  top: 130px;
}

.business_card_list .num {
  position: absolute;
  top: 32px;
  right: 32px;
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  z-index: 2;
}

.business_card_list > li::after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #EF3B23;
  transform: translateY(100%);
  transition: all 0.5s ease-in-out;
  z-index: 1;
}

.business_card_list > li:hover::after {
  transform: translateY(0);  
}

.business_card_list > li:hover .card_info {
  transform: translateY(0);
  transform-origin: bottom; 
}

.business_card_list > li:hover dd {
  opacity: 1;
} 

.card_info {
  position: absolute;
  bottom: 24px;
  left: 24px; 
  width: calc(100% - 80px);  
  overflow: hidden;
  transition: all 0.5s ease-in-out;
  transform-origin: bottom;
  transform: translateY(calc(100% - 32px));
  z-index: 2;
}

.card_info.line2 {
  transform: translateY(calc(100% - 64px));
}

.card_info dt {
  font-size: 22px;
  line-height: 32px;
  font-weight: 700;
}

.card_info dd {  
  opacity: 0;
  margin-top: 12px;
  font-size: 14px;
  line-height: 20px;
  
}

.dot_list li {
  position: relative;
  padding-left: 11px;
}

.dot_list li::before {
  display: block;
  content: '';
  position: absolute;
  top: 8.5px;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #fff;
}



/* 제품소개 */
.product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
}

.product .section_title {
  margin-bottom: 60px;
  color: #000;
  font-size: 60px;
  line-height: 80px;
}

.product .inner {
  width: 100dvw;
}

.product .content_box {
  width: 100%;
}

.product_slide {
  width: 100%;
}

.product_slide .swiper-button-prev {
  margin-top: -100px;
  width: 72px;
  height: 72px;
  left: 40px;
  background: url('../img/arrow_left_black.svg') no-repeat center center;
}

.product_slide .swiper-button-next {
  margin-top: -100px;
  width: 72px;
  height: 72px;
  right: 40px;
  background: url('../img/arrow_right_black.svg') no-repeat center center;
}

.product_slide .swiper-button-prev:after, 
.product_slide .swiper-button-next:after {
  display: none;  
}

.product_slide .swiper { 
  width: 1600px;   
}

.product_slide .swiper-slide {
  width: 376px;
}

.product_slide .product_img {
  /* height: 260px; */
  border-radius: 20px;
  overflow: hidden;
}

.product_slide .product_info {
  margin-top: 32px;
  text-align: left;
}

.product_slide .product_info .product_name {
  color: #000;
  line-height: 36px;
  font-size: 24px;
  font-weight: 700;
}

.product_slide .product_info .product_desc {
  margin-top: 16px;
}

.product_slide .product_info .product_desc li {
  position: relative;
  margin-top: 4px;
  padding-left: 11px;
  color: #333;
  font-size: 14px;
  line-height: 20px;
}

.product_slide .product_info .product_desc li:first-child {
  margin-top: 0;
}

.product_slide .product_info .product_desc li::before {
  display: block;
  content: '';
  position: absolute;
  top: 8.5px;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #AFAFAF;
}




/* ### 반응형 ### */
@media (max-width: 1800px) {
  /* 제품소개 */
  .product .inner {
    padding: 50px 0 30px;
    box-sizing: border-box;
  }

  .product_slide {
    padding: 0 70px;
    box-sizing: border-box;
  }

  .product .fp-overflow {
    /* width: 100%; */
    /* overflow: hidden;  */
  }

 .product_slide .swiper {
     width: 100%;    
  }

  .product_slide .swiper-slide {
    width: auto;
    flex-shrink: 0;
  } 

  .product_slide .swiper-button-next {
    right: 0;
  }

  .product_slide .swiper-button-prev {
    left: 0;
  }
}

@media (max-width: 1700px) {
  /* about us */
  .about_slide .swiper-slide {
    padding: 0 100px; 
  }
  

  /*  사업분야 */
   .business .inner {
    padding: 40px 50px;    
   }
  
  .business_list {
    flex: 0 0 100%;
    gap: 30px;
  }

  .business_list > li {
    width: calc(33.33333333333333% - 20px);
    height: auto;
  }

  .business_list > li > p {
    bottom: 10%;
    font-size: clamp(18px, 1.8vw, 28px);
    line-height: clamp(26px, 2.5vw, 40px);
  }


  /* 사업분야 상세 */
  .business_detail .inner {
    padding: 0 100px 0 50px; 
  } 
}

@media (max-width: 1450px) {

  /* about us */
  .about_slide .swiper-button-next {
    right: 0;
  }

  .about_slide .swiper-button-prev {
    left: 0;
  }

   /* history */ 
  .history .inner  {
    overflow: hidden;
    padding: 30px 50px;
    width: auto;
    box-sizing: border-box;
  }

  .history_slide {
    width: 70%; 
  }

  .history_slide .swiper-button-next {
    right: 0;
  }

  .history_slide .swiper-button-prev {
    left: 0;
  }

  .history_list > li {
    gap: 10%;
  }

}


@media (max-width: 1280px) {
  /* 사업분야 상세 */
  .business_card_list {
    gap: 30px;
  }

  .business_detail .title_box {
    width: calc(100% - 650px)
  }

  .business_detail .content_box {
    width: 630px;
  }

  .business_card_list > li {
    width: 300px;
  }
}



/* 태블릿  */
@media (max-width: 1023px) {
  .m_only{
    display: block; 
  }

  /* header */
  .header {
    padding: 0 20px;   
  }

  .fp-viewing-3rdPage .logo a,
  .fp-viewing-lastPage .logo a {
    width: 188px;
    height: 28px;
    background-size: 188px 28px;
  }

  .logo img {
    width: 188px;
    height: 28px;    
  }

  .gnb {
    display: none;
  }


  .m_gnb { 
    display: block;    
  }

 .m_gnb_bg.active   {
    display: block;
  }
 
  .m_gnb_bg {      
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 100;
  }

  .btn_gnb {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;    
    border: 0 none;    
    z-index: 110;
  }

  .icon_menu {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 2px; 
    border-radius: 2px;
    background: #fff;
    vertical-align: top;
    transition: all ease-in-out .2s;
  }

  .icon_menu::before,
  .icon_menu::after {
    content: '';
    position: absolute;
    left: 0;
    width: 30px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: all ease-in-out .2s;
  }

  .icon_menu::before {
     top: -8px;
  }

  .icon_menu::after {
     bottom: -8px;
  }

  .btn_gnb.active .icon_menu { 
     background: transparent;          
  }

  .btn_gnb.active .icon_menu::before {
     top: 0;
     transform: rotate(45deg);
     background: #000;
  }

  .btn_gnb.active .icon_menu::after {
     bottom: 0;
     transform: rotate(-45deg);
     background: #000;
  }

  .fp-viewing-3rdPage .btn_gnb .icon_menu,
  .fp-viewing-lastPage .btn_gnb .icon_menu,
  .fp-viewing-3rdPage .icon_menu::before,
  .fp-viewing-3rdPage .icon_menu::after,
  .fp-viewing-lastPage .icon_menu::before,
  .fp-viewing-lastPage .icon_menu::after {
    background: #000;
  }

  .fp-viewing-3rdPage .btn_gnb.active .icon_menu,
  .fp-viewing-lastPage .btn_gnb.active .icon_menu { 
    background: transparent;          
 }

  .m_gnb_wrap {        
    position: absolute;
    top: 0;
    right: -100%;
    padding: 80px 0;
    width: 260px;
    height: 100dvh;
    background: #fff;
    transition: all ease-in-out .4s;
    z-index: 101;
  }

  .m_gnb_wrap.active {
    right: 0;
  }

  .m_gnb {
    height: calc(100dvh - 80px);
    overflow-y: auto;   
  }

  .m_gnb > ul {
    padding: 0 24px;
  }

  .m_gnb > ul > li {
    border-top: 1px solid #EAEAEA;
  }

  .m_gnb > ul > li:first-child {
    border-top: 0 none;
  }

  .m_gnb > ul > li.has_depth2 > a {
    position: relative;    
  }

  .m_gnb > ul > li.has_depth2 > a::after {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    background: url('../img/icon_depth.svg') no-repeat center center;   
    transform: translateY(-50%);
    transition: all ease-in-out 0.2s;
  }
  
  .m_gnb > ul > li.has_depth2.active >  a::after {
    transform: translateY(-50%) rotate(-180deg);    
  }

  .m_gnb > ul > li > a {
    display: block; 
    color: #000;
    font-size: 18px;
    line-height: 68px;
    font-weight: 700;
  }

  .m_gnb li.active > a {
    color: #EF3B23;
  }

  .depth2 {
    display: none;
    margin-bottom: 20px;
    padding: 18px 0;
    background-color: #f6f6f6;
  }

  .depth2 a {
    display: block; 
    padding: 0 24px; 
    color: #666;
    font-size: 14px;
    line-height: 36px;
    font-weight: 500;

  }

  .depth2 li.active a {
    color: #EF3B23;
  }

  /* about us */
  .about_slide .swiper-button-next,
  .about_slide .swiper-button-prev {
    display: none;
  }

  .about_slide .swiper-pagination { 
    display: block;    
  }

  .about .section_title {
    padding-bottom: 24px;
    font-size: 16px;
    line-height: 26px;
    transform: translate(-50%, calc(-50% - 170px));
  }

  .b_txt {
    font-size: 40px;
    line-height: 54px;
  }

  .s_txt {
    margin-top: 26px;
    font-size: 16px;
    line-height: 24px;
  }

  /* history */
  .history .inner {
    flex-wrap: wrap;
    justify-content: start;
    gap: 0;

  }

  .history .section_title {
    margin: 40px 0; 
    width: 100%;
    font-size: 30px;
    line-height: 40px;
    text-align: center;
  }
  
  .history_slide {
    width: 100%;
  }

  .history_slide .swiper  {
    padding-bottom: 50px; 
  }

  .history_slide .swiper-button-next,
  .history_slide .swiper-button-prev {
    display: none;
  }

  .history_slide .swiper-pagination { 
    display: block;  
    bottom: 0px !important;   
  }

  .history_list {
    gap: 28px; 
  }

  .history_list > li > strong {
    font-size: 34px;
    line-height: 50px;
  }

  .history_list > li > ul > li {
    font-size: 18px;
    line-height: 24px; 
  }

  /* 사업분야 */
  .title_box .section_title {
    font-size: 34px;
    line-height: 44px;
  }

  .title_box .title_desc {
    font-size: 16px;
    line-height: 24px;
  }

  .business_list {
    gap: 20px; 
  }

  /* 사업분야 상세 */
  .fp-right {
    right: 20px !important;
  }

  .business_detail .inner {    
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 50px 50px;
    box-sizing: border-box;
  }  

  .business_detail .title_box {
    position: static;
    width: 100%;
    transform: none;
  }

  .business_detail .title_box .title_desc br {
    display: none;
  }

  .business_detail .content_box {
    padding: 0;
    width: 100%;
  }

  .business_card_list {
    transform: translateY(-20px);
  }

  .business_card_list > li:nth-child(even) {    
    /* transform: translateY(50px); */
    top: 50px;
  }

  .card_info.line2 {
    transform: none;
  }

  .business_card_list > li {    
    width: 100%;
    height: 220px;
    transition: none;
  }

  .business_card_list > li::after {
    display: none !important;
  }

  .business_card_list > li:hover::after {
    display: none !important; 
  }

  .business_card_list .num {
    top: 24px;
    right: 24px; 
  }

  .card_info {
    position: static;
    width: 100%;
    transform: none;
  }

  .card_info dd {
    opacity: 1;
  }

  /* 제품소개 */
 
  .product .section_title {
    font-size: 34px;
    line-height: 44px;
  }
}

/* 모바일  */
@media (max-width: 768px) {
  /*about us*/
  .about .inner {   
    min-height: 500px; 
  }

  .about .section_title {
    padding-bottom: 32px; 
    font-size: 14px;
    line-height: 20px;
  }

  .about .section_title::after {
    width: 32px;
  }

  .about_slide .swiper-slide {
    padding: 0 20px;
  }

  .about_slide .swiper-slide.slide1  br {
    display: none;
  }

  .about_slide .swiper-slide.slide1  br.m_only {
    display: block;
  }

  .about_slide .swiper-slide.slide1::before {
    background-image: url('../img/bg_about_m.jpg');
  }
  .about_slide .swiper-slide.slide2::before {
    background-image: url('../img/bg_about2_m.jpg');
  }
  .about_slide .swiper-slide.slide3::before {
    background-image: url('../img/bg_about3_m.jpg');
  }

  .b_txt {
    font-size: 32px;
    line-height: 44px;
  }

  .s_txt {
    margin-top: 20px;
    font-size: 16px;
    line-height: 24px;
  }

  /* history */
  .history .inner {
    padding: 120px 20px 40px;
  }

  .history .section_title {
    margin: 0 0 60px; 
  }

  .history_list > li {
    gap: 0;
    flex-direction: column;
    align-items: flex-start;
  }

  .history_list > li > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 36px;
  }

  .history_list > li > ul > li {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
  }

  .history_list > li > ul > li::before {
    top: 8px;
  }

  
  /* 사업분야 */
  .business .inner {
    padding: 120px 20px 60px;
  }

  .title_box .section_title {
    font-size: 32px;
    height: 44px;
  }

  .business .content_box {
    margin-top: 48px;
  }

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

  .business_list > li {
    width: 100%;
  }

  .business_list > li > p {
    bottom: 24px; 
    font-size: 22px;
    height: 24px; 
  }

  /* 사업분야 상세 */
  .fp-right {
    display: none; 
  }

  .business_detail .inner {
    justify-content: space-between;
    padding: 120px 0 24px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .business_detail .title_box {
    padding: 0 20px; 
  }

  .business_detail .section_title {
    text-align: center;
  }

  .business_detail .title_box .title_desc {
    text-align: center;
  }

  .content_box {
    width: 100%;
    overflow: hidden;
  }

  .business_slide .swiper {
    padding: 0 20px; 
  }

  .business_card_list {
    display: flex; 
    gap: 0;    
    transform: none;
  }

  .business_card_list > li {
    width: calc(100% - 20px);   
    flex-shrink: 0;
  }

  .business_card_list > li:nth-child(even) {
    transform: none;
    top: 0; 
  }

  .business_card_list .num {
    font-size: 16px;
    height: 24px;
  }

  .card_info dt {
    font-size: 22px;
    line-height: 32px;
  }

  .card_info dd {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
  }

  /* 제품소개 */
  #section9 {
    background: #fff;
  }
  
  .product .inner {
    padding: 120px 20px 24px;
  }

  .product .section_title {
    margin-bottom: 48px;
    font-size: 32px;
    line-height: 44px;
  }

  .product .content_box {
    width: 100%;
  }

  .product_slide {
    position: relative;
    z-index: 1; 
  }

  .product_slide .swiper-button-next,
  .product_slide .swiper-button-prev {
    display: none;
  }

  .product_slide .swiper {
    overflow: visible;
  }

  .product_slide .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: 48px;
    transform: none !important;
  }

  .product_slide .swiper-slide {
    width: 100% !important;
    height: auto !important;
  }

  .product_slide {
    padding: 0; 
  }

  .product_slide .product_img img {
    width: 100%;
  }

  .product_slide .product_info {
    margin-top: 24px;
  }

  .product_slide .product_info .product_name {
    font-size: 22px;
    line-height: 32px;
  }

  .product_slide .product_info .product_desc {
    margin-top: 8px;
  }
}