/*메인 슬라이드*/
/* .wrap{overflow: hidden;} */
.bd-lg {width: 1400px;}
.slide {position: relative;}
.slide .main_slide{height: 85vh; border-bottom-right-radius: 60px; border-bottom-left-radius: 60px; overflow: hidden;}

.main-logo{position: absolute; left: 60px; top: 40px; width: 85px; z-index: 2;}


.slide .main_slide > i{display: block; width: 100%; height: 820px; position: relative; overflow: hidden; border-bottom-right-radius: 60px; border-bottom-left-radius: 60px;}
.slide .main_slide > i img{position: absolute; width: 100%; height:100%; left:50%; top:50%;transform: translate(-50%, -50%); object-fit: cover; transition: ease-out 3.5s; scale: 1;}
.slide .main_slide > i::after {content: ''; display: block; position: absolute; width: 100%; height: 100%; background-color: hsla(0, 0%, 0%, 0.281);}

.slide .txtbox{position: absolute; z-index: 99; left:50%; top:50%;transform: translate(-50%,-75%); color: #fff;text-align: center; width: max-content;}

.slide .txtbox em{font-family: 'SUIT'; font-size: 52px; font-weight: 800; text-shadow: 0 0 12px rgba(0,0,0,.1);}
.slide .txtbox em i{font-family: 'SUIT'; font-weight: 800;}
.slide .txtbox > p{font-size:24px; margin-top: 20px; color: #fff; font-weight: 400; line-height: 1.5;text-shadow: 0 0 12px rgba(0,0,0,.1);}
 
.service_nav_wrap {width: 1400px; margin: 0 auto; position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 50%); z-index: 1; transition: 0.3s all;}
.service_nav_wrap > ul {width: 100%; display: flex; justify-content: center; overflow: hidden; border-radius: 20px; background-color: #222;}
.service_nav_wrap > ul > li {width: calc(100% / 4); padding: 35px 50px; background-color: #222; transition: 0.3s;}
.service_nav_wrap > ul > li:hover {background-color: #0E45A4; cursor: pointer ; transition: 0.3s;}
.service_nav_wrap > ul > li > div {display: flex; justify-content: space-between; align-items: center;}
.service_nav_wrap > ul > li > div > div, 
.service_nav_wrap > ul > li > div > p, 
.service_nav_wrap > ul > li > div > p > span {color: #fff;}
.service_nav_wrap > ul > li > div > div > b {font-size: 20px;}
.service_nav_wrap > ul > li > div > p {display: block; font-size: 20px;}
.service_nav_wrap > ul > li > div > p > span {display: inline-block; font-size: 28px;}
.service_nav_wrap > ul > li > div > div {position: relative;}
.service_nav_wrap > ul > li > div > div > span {position: absolute; top: 0; right: 0; transform: translateX(24px); background-color: #E92626; width: 20px; height: 20px; text-align: center; border-radius: 100%; font-size: 14px; line-height: 20px;}

.title_wrap {margin: 0 auto; text-align: center;}
.title_wrap > strong { display: inline; font-size: 24px; color: #25689E;}
.title_wrap > em {margin-top: 20px;}
.title em{ font-size: 52px; color: #222; display: block; font-weight: 700; line-height: 1.3;}
.sec01_nav_wrap {position: relative; width: 100%; margin-top: 40px;}
.sec01_nav_wrap > ul {width: 100%; display: flex; gap: 12px;}
.sec01_nav_wrap > ul > li {width: calc(100% / 4); padding: 12px 35px; border: 1px solid #ddd; background-color: #fff; border-radius: 36px; transition: 0.3s all;}
.sec01_nav_wrap > ul > li.on {background-color: #0E45A4; border: 1px solid #0E45A4;} 
.sec01_nav_wrap > ul > li.on > div {color: #fff;} 
.sec01_nav_wrap > ul > li:hover {background-color: #fff; border: 1px solid #0E45A4; transition: 0.3s all; cursor: pointer;}
.sec01_nav_wrap > ul > li:hover > div {color: #0E45A4; transition: 0.3s all;}
.sec01_nav_wrap > ul > li > div {font-size: 18px; color: #555; transition: 0.3s all;}

.sec01 .contents > .office_list_wrap > ul {display: flex; width: 100%; flex-wrap: wrap; gap: 16px;}
.sec01 .contents > .office_list_wrap > ul > li {width: calc((100% - 48px) / 4); background-color: #F8FAFB; overflow: hidden; border-radius: 20px; padding: 30px; border: 1px solid transparent; transition: 0.3s all;}
.sec01 .contents > .office_list_wrap > ul > li:hover {border: 1px solid #25689e6b; box-shadow: 0px 0px 8px 0px #0e45a44b; transition: 0.3s all; cursor: pointer;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top {display: flex; align-items: center; gap: 10px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > .official_date {color: #fff; background-color: #0E45A4; border-radius: 50px; padding:5px 15px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > .official_date.offical_date_end {background-color: #bbb;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > p {display: block;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > p > span {display: inline; font-size: 16px; font-weight: 700; margin-right: 3px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > p > span::after {content: '·'; display: inline; font-size: 16px; margin-left: 3px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > p > span:last-child:after{content: none;}

.sec01 .contents > .office_list_wrap > ul > li .office_list_item_cen {width: 100%; overflow: hidden; margin-top: 10px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_cen > h3 {font-size: 20px; text-overflow: ellipsis;  display: -webkit-box; -webkit-line-clamp: 2; /* 최대 2줄까지 표시 */ -webkit-box-orient: vertical; word-break: break-word; /* 단어 단위 줄바꿈 */ overflow: hidden;/* 넘친 내용 숨기기 */}

.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot {margin-top: 40px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_tag > p > span {font-size: 16px; font-weight: 400; margin-right: 5px; color: #222;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_tag > p > span::after{content:'|'; display: inline; margin-left: 5px; font-size: 14px; color: #222;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_tag > p > span:last-child:after {content: none;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_date {margin-top: 10px;}
.sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_date > p > span {font-size: 16px; font-weight: 400;}
.sec01 .contents > .office_list_wrap > ul > li.baro_card_wrap {background-image: url(../img/main/card_bg.png); background-repeat: no-repeat; background-size: cover; background-position: top;}
.sec01 .contents > .office_list_wrap > ul > li.baro_card_wrap > div {display: flex; justify-content: space-between;}
.sec01 .contents > .office_list_wrap > ul > li.baro_card_wrap > div > h4 {font-size: 26px; color: #fff;}
.sec01 .contents > .office_list_wrap > ul > li.baro_card_wrap > div > i {display: inline; width: 3em; height: 3em; overflow: hidden;}

.sec02 {width: 100%; background-image: url(../img/main/sec02_bg.png); background-repeat: no-repeat; background-size: cover; background-position-x: center; background-position-y: top;}
.sec02.recruitment .title .top {margin-bottom: 150px;}
.sec02 .title em,
.sec02 .title div > span {color: #fff;}
/* .sec02 .title div {margin-top: 30px;} */
.sec02 .title .title_wrap > div {margin-top: 16px;}
.sec02 .title div > span{font-size: 26px; font-weight: 400;}
.sec02 .development_box_wrap {margin-top: 20px;}
.sec02 .development_box_wrap > ul {display: flex; gap: 40px;}
.sec02 .development_box_wrap > ul > li {width: calc(100% / 4); height: auto; padding: 30px; border-radius: 20px; background-color: #222222a4; border: 1px solid #fff; overflow: hidden; cursor: pointer;}
.sec02 .development_box_wrap > ul > li:hover {background-color: #0E45A4; background-color: #0e45a49d; transition: 0.3s all;} 
.sec02 .development_box_wrap > ul > li > div > h4,
.sec02 .development_box_wrap > ul > li > div > div > p{color: #fff;}
.sec02 .development_box_wrap > ul > li > div > h4 {font-size: 35px;}
.sec02 .development_box_wrap > ul > li > div > div {margin-top: 120px; display: flex; align-items: center; justify-content: space-between;}
.sec02 .development_box_wrap > ul > li > div > div > p {font-size: 24px; font-weight: 400;}

                                 

.sec03 .bd-xl.sec03-bdxl {display: flex; gap: 50px;}
.sec03::after {content: ''; position: absolute; display: block; width: 560px; height: 150px; background-image: url(../img/main/sec03_deco.png); background-repeat: no-repeat; background-size: cover; right: 0; bottom: 0; transform: translateY(-100%); z-index: -1;}
.sec03 .sec03_img_box {width: 630px; height: 630px; background-color: #ddd; border-radius: 20px; overflow: hidden;}
.sec03 .sec03_img_box > img {width: 100%; height: 100%; object-fit: cover;} 
.sec03 .sec03_img_box > video {width: 100%; height: 100%; object-fit: cover;}
.recruitment.sec03 .title .top {height: 100%;}
.sec03 .title_wrap {height: 100%; display: flex; flex-direction: column; justify-content: space-between; margin: unset; text-align: left;}
.sec03 .title em {font-size: 40px;}
.sec03 .title_wrap > div > strong { display: inline; font-size: 24px; color: #25689E;}
.sec03 .title_wrap > div > em {margin-top: 20px;}
.sec03 .title_wrap > .title_bot > span {display: inline; font-size: 22px; font-weight: 400; line-height: 150%;}
.sec03 .title_wrap > .title_bot > div.baro_button {margin-top: 50px;}
.sec03 .baro_button {width: 250px; padding: 16px 25px; border-radius: 50px; display: flex; justify-content: space-between; align-items: center; background-color: #0E45A4; cursor: pointer;}
.sec03 .baro_button > p {display: block; color: #fff; font-size: 18px; font-weight: 600;}
.sec03 .sec03_img_box.sec03_img_box2 {width: 280px; height: 285px; background-color: #333; border-radius: 20px; overflow: hidden;}

.sec04 {width: 100%; position: relative; background-image: url(../img/main/sec04_bg.jpg); background-repeat: no-repeat; background-size: cover; background-position-x: center; background-position-y: center; overflow: hidden; border-top-left-radius: 60px; border-top-right-radius: 60px; transition: 0.3s all;}
.recruitment.sec04 .title .top {margin-bottom: 0;}
.sec04::before {content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #0f0f0fa1;}
.sec04 .title_bot {margin-top: 60px;}
.sec04 .baro_button {margin: 0 auto; width: 250px; padding: 16px 25px; border-radius: 50px; display: flex; justify-content: space-between; align-items: center; background-color: #0E45A4; cursor: pointer;}
.sec04 .baro_button > p {display: block; color: #fff; font-size: 18px; font-weight: 600;}
.sec04 .title strong {color: #25689E; display: inline; font-size: 24px;}
.sec04 .title em,
.sec04 .title div > span {color: #fff;}



@-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;
  }
}


.sec_pt{padding-top: 160px;}
.sec_pb{padding-bottom: 160px;}
.sec_ptb{padding: 160px 0;}

section.demo *{ text-align: left;}
.title b{font-size: 24px; color: #777;font-weight: 500; display: block; overflow: hidden;}
.title b span{display: block;}
.title em + b{margin-top: 20px;}
.title .tabs + em{margin-top: 40px;}
.title b + .top{margin-top: 20px;}
.title .top + p{margin-top: 60px;}
.title p{ font-size: 26px; color: #666; font-weight: 200;}

.tabs ul{display: flex;}

.tabs li+ li{margin-left: 12px;}
.tabs li.on a{background: var(--main-color); color: #fff;font-weight: 400;border-color:var(--main-color);}
.tabs li a{padding:12px 25px;border-radius: 30px;border:1px solid #eee;background: #f9f9f9; color: #333;}
.tabs li:hover a{background: var(--main-color); color: #fff;font-weight: 400;border-color:var(--main-color);}

.but{height: max-content;}
.but button{padding: 20px; width: 190px; border:1px solid #eee; color: #777; display: flex; justify-content: center; font-size: 18px; align-items: center; border-radius: 2px;}



.recruitment{position: relative;}
.recruitment .title .top{display: flex; justify-content: space-between; align-items: center; margin-bottom: 80px;}
.recruitment .title .top em + p{margin-left: 90px;}

.recruitment .tabs_but{display: flex; align-items: center; justify-content: space-between; margin-top: 40px;}


.main_point_sec .title{padding-bottom: 80px;}

.main_point_sec .panel {position: relative;}
.main_point_sec .panel .txtbox::before{content:'';display: block;width: 60%;height: 390%;background: url(../img/main/txt_bg.png) center/cover; position: absolute;left:50%;transform: translate(-50%,-50%);top:50%; opacity: 0.2; z-index: -1;}
.main_point_sec .panel .txtbox{position: absolute; left:50%;top:50%;transform: translate(-50%,-50%); z-index: 999; text-align: center; width: 100%; }
.main_point_sec .panel .txtbox b{display: block; font-size: 24px; color: var(--main-color); font-weight: bold; text-align: center;}
.main_point_sec .panel .txtbox em{display: block; font-size: 50px; color: #fff; font-weight: 300; line-height: 1.2; text-align: center; margin-top: 20px;font-family: 'GmarketSans';}
.cus-tab {padding-top: 50px;}

/* ********************************************* *
* 1500px
* ********************************************* */
@media screen and (max-width: 1500px){
    
  .recruitment .title .top em + p {margin-left: 0px !important;}
  .recruitment .title .top {gap: 80px;}

} 



/* ********************************************* *
* 1400px
* ********************************************* */
@media screen and (max-width: 1400px){
  
  .slide .main_slide,
  .slide .main_slide > i{border-radius: 0;}
  .right_item {right: 16px;}
  .service_nav_wrap {width: 1200px; padding: 0 16px;}
  .bd-lg {width: 1200px;}
  
} 



/* ********************************************* *
* 1350px
* ********************************************* */
@media screen and (max-width: 1350px){
    
  .recruitment .title .top em + p {margin-left: 0px !important; margin-top: 30px;}
  .recruitment .title .top {gap: 80px;}

}  

/* ********************************************* *
* 1240px
* ********************************************* */
@media screen and (max-width: 1240px){


}  


/* ********************************************* *
* 1200px
* ********************************************* */
@media screen and (max-width: 1200px){
  
  .service_nav_wrap {width: 100%;}
  .service_nav_wrap > ul > li {padding: 30px 15px;}
  .service_nav_wrap > ul > li > div {flex-direction: column; height: 100%;}

  .slide .txtbox {transform: translate(-50%, -50%);}

  .title em {font-size: 45px;}
  .title_wrap > strong,
  .sec03 .title_wrap > div > strong { font-size: 20px;}
  .sec02 .title div > span {font-size: 22px;}
  .sec03 .title em {font-size: 36px;}
  .sec03 .title_wrap > .title_bot > span {font-size: 20px;}
  .sec02 .development_box_wrap > ul > li > div > h4 {font-size: 30px;}
  .sec02 .development_box_wrap > ul > li > div > div > p {font-size: 20px;}

  .sec02 .development_box_wrap > ul > li > div > div > i {width: 2em; height: 2em; overflow: hidden;}
}  

/* ********************************************* *
* 1199px
* ********************************************* */
@media screen and (max-width: 1199px){

  .bd-lg {max-width: 1200px; width: auto;}
  .office_list_wrap {overflow-x: auto; scroll-snap-type: x mandatory;}
  .office_list_wrap::-webkit-scrollbar { width: 8px;  /* 가로 스크롤바 높이 */ height: 8px; /* 세로 스크롤바 너비 */}
  .office_list_wrap::-webkit-scrollbar-track {background: #f1f1f1; /* 연한 회색 */ border-radius: 10px;}
  .office_list_wrap::-webkit-scrollbar-thumb {background: #25689E; /* 중간 회색 */border-radius: 10px;}
  .office_list_wrap::-webkit-scrollbar-thumb:hover {background: #0E45A4; /* 어두운 회색 */}
  .sec01 .contents > .office_list_wrap > ul {flex-wrap: nowrap; width: calc(100% + 1920px); }
  .sec01 .contents > .office_list_wrap > ul > li { scroll-snap-align: start; padding: 22px;}
  /* .sec01 .contents > .office_list_wrap > ul > li:nth-child(4),
  .sec01 .contents > .office_list_wrap > ul > li:nth-child(5),
  .sec01 .contents > .office_list_wrap > ul > li:nth-child(6),
  .sec01 .contents > .office_list_wrap > ul > li:nth-child(7) {display: none;} */

}  



/* ********************************************* *
* 1024px
* ********************************************* */
@media screen and (max-width: 1024px){

  .sec_ptb {padding: 120px 0;}

  .title em { font-size: 38px;}
  .sec02 .development_box_wrap > ul {flex-wrap: wrap; width: 100%; transition: 0.3s all;}
  .sec02 .development_box_wrap > ul > li {width: calc((100% - 40px)/ 2);} 
  .sec02 .development_box_wrap > ul > li > div > div {margin-top: 60px;}
  .sec02 .development_box_wrap > ul > li > div > h4 {font-size: 28px;}

  .sec03 .sec03_img_box.sec03_img_box2 {display: none;}
  .sec03 .bd-lg.sec03-bdlg {justify-content: space-between;}

  .sec04 {border-top-left-radius: 20px; border-top-right-radius: 20px;}
  .sec03::after {display:none;}
}  

/* ********************************************* *
* 960px
* ********************************************* */
@media screen and (max-width: 960px){
  .col-md-3 {width: calc((100% - 20px) / 2) !important; margin-right: 20px !important;}

  .recruitment .but button {width: 180px; font-size: 17px;}
}

/* ********************************************* *
* 880px
* ********************************************* */
@media screen and (max-width: 880px){
  .culture li.con > div .txtbox {left: 30px; bottom: 34px;}
  .culture li.con > div .txtbox em {font-size: 40px;}
}

/* ********************************************* *
* 750px
* ********************************************* */
@media screen and (max-width:750px){

  .service_nav_wrap > ul > li > div > div > b {font-size: 17px; text-align: center;}

}

/* ********************************************* *
* 690px
* ********************************************* */
@media screen and (max-width:690px){
  .title em,
  .sec03 .title em {font-size: 35px;}
  .sec02 .title div > span,
  .sec03 .title_wrap > .title_bot > span {display: block; margin-top: 1em; font-size: 18px;}

}


/* ********************************************* *
* 663px
* ********************************************* */
@media screen and (max-width:663px){

  .title em {font-size: 38px !important;}
  .br-none em br {display: none;}
  .sec03 .sec03_img_box {width: 100%; height: 300px;display:none;}

  .recruitment .tabs_but {flex-direction: column-reverse; gap: 50px; align-items: flex-start;}

  .col-md-3 {width: 100% !important; margin: 0 !important;}
  .bot {display: flex; align-items: center; justify-content: space-between;}
  .sec03 .title_wrap {justify-content:unset}
  .sec03.recruitment .title .top {margin-bottom:0;}

}

@media screen and (max-width:600px){

  .title em {font-size: 30px !important;}
  .title_wrap > strong, .sec03 .title_wrap > div > strong {font-size: 18px;}
  .slide .txtbox em { font-size: 38px !important;}
  .sec02 .development_box_wrap > ul > li > div > h4 {font-size: 25px;}
  .sec02 .development_box_wrap > ul > li > div > div > p {font-size: 18px;}

  .sec03 .sec03_img_box {width: 100%; height: 300px;display:none;}

  .sec04 {border-radius: 0;}
  .sec_ptb {padding: 80px 0;}
  .sec02.recruitment .title .top {margin-bottom: 80px;}
  .sec03 .bd-lg.sec03-bdlg {flex-direction: column;}
  .sec02 .development_box_wrap > ul  {gap: 16px;}
  .sec02 .development_box_wrap > ul > li {width: calc((100% - 16px) / 2);}

  .sec03::after {width: 390px; height: 105px; transform: translateY(-195%); z-index: -1;}

  .slide .txtbox em {word-break:keep-all;display:inline-block;width:80vw;}


}

@media screen and (max-width:550px){
  .slide .main_slide {height: 100vh;}
  .slide .main_slide > i {height: 100%;}
  .service_nav_wrap {padding: 0; transform: translate(-50%, 0%);}
  .service_nav_wrap > ul {border-radius: 0;}
  .sec01_nav_wrap > ul > li {padding: 8px 0;}
  .sec01_nav_wrap > ul > li > div {font-size: 16px}
  .sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_date > p > span {font-size: 13px;}
  .sec01 .contents > .office_list_wrap > ul > li .office_list_item_top > .official_date,
  .sec01 .contents > .office_list_wrap > ul > li .office_list_item_bot > div.posting_tag > p > span {font-size: 14px;}
  .title b {font-size: 21px;}
  .title b + .top {margin-top: 10px !important;}

 

}

@media screen and (max-width:500px){

  .slide .txtbox {transform: translate(-50%, -100%);}
  .slide .txtbox em {font-size: 30px !important; word-break:keep-all;display:inline-block;width:80vw;}
  .slide .txtbox > p {font-size: 20px;}
  .service_nav_wrap > ul {flex-wrap: wrap; background-color: #222222b8;}
  .service_nav_wrap > ul > li {width: calc(100% /2); background-color: #222222b8;}

  .sec02 .development_box_wrap > ul > li > div > h4 {font-size: 22px;}
  .sec02 .development_box_wrap > ul > li > div > div > p {font-size: 14px;}
  .sec02 .title div > span, .sec03 .title_wrap > .title_bot > span {font-size: 16px;}
  .sec02 .title div > span > br, .sec03 .title_wrap > .title_bot > span > br {display: none;}

}

@media screen and (max-width:470px){

  .tabs {width: 100%; overflow-x: scroll;}
  .tabs ul {height: 42px; overflow-x: scroll; align-items: center;}
  .recruitment .tabs_but {gap: 35px;}

  .main_point_sec .panel .txtbox em {font-size: 24px; margin-top: 12px;}
  .main_point_sec .panel .txtbox b {font-size: 18px;}
  .title em br {display: none;}

  .title p {font-size: 17px !important;}
  .title em {font-size: 30px !important;}

  .sec_ptb {padding-top: 100px; padding-bottom: 100px;}
  .sec_pb {padding-bottom: 100px;}
  .main_point_sec .blue::after {content: ""; display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, 0.3);}
  .main_point_sec .panel .txtbox em br {display: none;}


}

@media screen and (max-width:380px){
  .title em {font-size: 28px !important; margin-top: 14px;}
  .title b {font-size: 20px;}
  .title .top + p {margin-top: 30px;}
  .title p {font-size: 16px !important;}

}

@media screen and (max-width:310px){

}