
/* 서브페이지 공통 시작 */

.sub_logo{
    position: relative;
    bottom: 29px;
    margin-right: 20px;
}
.contact_header{
     background: url(/img/contact_header.svg) center center no-repeat;
     background-size: cover;
}

.sub_header .sub_txt_box{
    color: var(--white);
    padding-top: 270px;
    padding-bottom: 100px;
    width: 100%;
}
.crumb {
    display: flex;
    align-items: baseline;
    width: 100%;
    justify-content: right;
    padding-bottom: 20px;
}
.crumb li{margin-left: 12px;color: #fff;}
.crumb li:first-child > img{vertical-align: baseline;}
.sub_txt_box > div > img{
    vertical-align: baseline;
    padding-right: 12px;}
.sub_wrap{padding-top: 160px; background-color: var(--black4);}
/* 서브페이지 공통 끝 */

/* about 시작 */
.s1-1_c2 > p{
    width: 50%;
    margin: 0 auto;
}
.s1-1 .s1-1_c1{
    display: flex;
    align-items: center;
}
.s1-1_c1 > img{
    margin: 0 50px;
    width: 100px;
}
.s1-1 .s1-1_c1_b1{
    background-color: var(--black2);
    color: #fff;
    width: 50%;
    display: flex;
    align-items: center;
    padding: 20px 0;
}
.s1-1 .s1-1_c1_b1:first-child{
    justify-content: end;
    border-radius: 0 200px 200px 0;
    padding-right: 20px;
}
.s1-1 .s1-1_c1_b1:last-child{
    border-radius: 200px 0 0 200px;
    padding-left: 20px;
}
.s1-1_c2{
    text-align: center;
    color: #fff;
}
.s1-1_c1_b1 > img{
    width: 220px;
}
.about_header{
       
    background: url(/img/product_header.png) center center no-repeat;
    background-size: cover;
}
.about_header .sub_txt_box {
  
    width: 50%;
}
.about_header .flex > img{
    scale: 1;
    width: 500px;
    position: relative;
    top: 160px;
    height: fit-content;
}
.about_wrap .s1{
     background: url(/img/about_s1_bg.svg) center center no-repeat;
     background-size: cover;
     text-align: center;
     color: var(--white);
     padding-top: 160px;
     padding-bottom: 40px;
     background-attachment: fixed;
}

.about_wrap .s3{
     background: url(/img/about_s3_bg.png) center center no-repeat;
     background-size: cover;
 
     color: var(--white);
     text-align: left;
     padding: 300px 250px;
     background-attachment: fixed;
   
}

.about_wrap .s4{
     background: url(/img/about_s4_bg.png) center center no-repeat;
     background-size: cover;
     text-align: left;
     color: var(--white);
     padding-top: 160px;
     padding-bottom: 160px;
   
}
.eng_sub_wrap .fs52 {
    font-size: 38px !important;
}
.eng_sub_wrap .fs28 {
    font-size: 28px !important;
}
.about_wrap .s4 .s4_c1{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about_wrap .s4 .s4_c1_b1{
    width: 23%;
    text-align: center;

}
.about_wrap .s4_c1_b1 .img-box {
    height: 80px; /* 원하는 높이로 조정 */
    display: flex;
    align-items: center; /* 이미지 세로 중앙 정렬 */
    justify-content: flex-start; /* 이미지 왼쪽 정렬 (center로 변경 가능) */
    margin-bottom: 48px;
}

.about_wrap .s4_c1_b1 .img-box img {
    max-height: 100%;
    width: auto;
    margin: 0 auto;
}
.about_wrap .s5{
    padding:100px 0;
    color: #fff;
}
.about_wrap .s5_c1{
    text-align: center;
}
.about_wrap {
    padding-top: 0px !important;
}
.about_wrap .s5_c1{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about_wrap .s5_c1_b1{
    width: 32%;
    margin-bottom: 20px;
}
.about_wrap .new_s1{
    padding: 160px 0;
}
.about_wrap .new_s1_c1{
    color: #fff;
}
.about_wrap .new_s1_c1{
    display: flex;
    align-items: center;
}
.hover_txt_box {
    position: relative;
    height: auto;
    margin-left: 10%;
    width: 54%;
  }
  

  
  /* 초기 상태: hover_tit 보이기 */
  .hover_tit {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .hover_con {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    left: 0;
    top: 0;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  
  /* 부모에 hover했을 때 상태 전환 */
  .hover_txt_box:hover .hover_tit {
    opacity: 0;
    visibility: hidden;
  }
  
  .hover_txt_box:hover .hover_con {
    opacity: 1;
    visibility: visible;
  }


  .about_wrap .new_s1_c2{
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color:#B2BAC2 ;
  }
  .eng_sub_wrap.about_wrap .new_s1_c2_b1 {
 
    padding: 60px 0px;
}
  .about_wrap .new_s1_c2_b1{
    border: 3px solid #B2BAC2;
    border-radius: 30px;
    padding: 60px 30px;
    text-align: center;
    width: 23%;
  }
/* about 끝 */


/* contact 시작 */
.map iframe {
    height: 600px;
    margin: 0;
}
.contact_wrap {
    color: var(--black);
    text-align: left;
    background-color: var(--grey2) !important;
}
.contact_wrap .s1_c2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.contact_wrap .s1_c2_b1{
    width: 31%;
    background: #fff;
    border-radius: 50px;
    text-align: center;
    padding: 80px 0;
}
.contact_wrap .s1_c2_b1 img{
    scale: 1.2;
}
.contact_wrap .s1_c2_b1:last-child img{
    scale: 1.3;
}
.contact_wrap .s2{
    display: flex;
    justify-content: center;
    gap: 80px;
}
.contact_wrap .s2 > .s2_c1 {
    
    background: #fff;
    width: 290px;
    height: 290px;
    border-radius: 50%;
    text-align: center;
    line-height: 320px;
    transition: transform 0.3s ease;
    display: inline-block;
}
.contact_wrap .s2 > .s2_c1:hover {
    transform: translateY(-12px);
  }
.contact_wrap .s2 > .s2_c1 > img{
    scale: 1.7;
    opacity: 0.7;
}
/* contact 끝 */

/* product 시작 */
.product_header{
    background: url(/img/product_header.png) center center no-repeat;
    background-size: cover;
}
.product_tab li:hover {
    background: var(--mainColor);
    color: #fff;
    padding: 8px;
    
}
.mainColorOn{
    background: var(--mainColor);
    color: #fff;
    padding: 8px;
    
}
.product_tab {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 80px;
}
.product_tab li{
    font-size: 22px;
    margin: 0 20px;
    cursor: pointer;
    padding: 8px;
}
.product_tab li:hover a{    
    color: #fff;
   
}
.product_tab li a:hover{
    color: #fff;
}
.product_tab li a{
    /* color: var(--white); */
    font-weight: 500;
}
.product_wrap .s1{

    width: 85%;
    margin: 0 auto;
}
.video_box video{
    width: 100%;
}


.bg_grey{
    background-color: var(--grey2);
}

.product_wrap .s2_c1{
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_wrap .s2_c1_b1{
    
    width: 38%;
}

.product_wrap .s2_c2{
    border: 1px solid var(--grey);
    border-radius: 10px;

}

.product_wrap .s2_c2_b1{
    background-color: var(--black2);
    border-radius: 10px 10px 0 0;
    text-align: center;
    padding: 8px 0;
    color: var(--white);
}

.product_wrap .s2_c2_b2{
    display: flex;
    justify-content: space-between;
    padding: 52px;
    flex-wrap: wrap;
}

.product_wrap .s2_c2_b2 .step_box{
    background-color: var(--grey4);
    border-radius: 10px;
    width: 31%;
    position: relative;
    text-align: center;
    padding: 30px;
}
.product_wrap .step_box .num{
    position: absolute;
    left: -20px;
    top: -20px;
    width: 45px;
}
.product_wrap .step_box ul{
    
    text-align: left;
}
.product_wrap .step_box ul li{
    color: var(--grey3);
    list-style: disc;
    margin-left: 15px;
}

.product_wrap .step_box_flex{
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_wrap .step_box ul li.green{
    color: var(--green);
}

.product_wrap .s3{
    text-align: center;
    color: var(--white);
}

.product_wrap .s3_c1{
    width: 85%;
    margin: 0 auto;
    margin-bottom: 100px;
}
.product_wrap .s3_c1 > ul:first-child > li:first-child{
    /* border-radius: 20px 0 0 0 */
}
.product_wrap .s3_c1 > ul:first-child > li:last-child{
    /* border-radius: 0 20px 0 0 */
}
.product_wrap .s3_c1 > ul:last-child > li:first-child{
    /* border-radius: 0 0 0 20px */
}
.product_wrap .s3_c1 > ul:last-child > li:last-child{
    
    /* border-radius:  0 0 20px 0 */
}

.product_wrap .s3_c1 > ul:first-child li{
    width: 100% !important;
    background:#FF6600 ;
    text-align: left;
    color: #fff;
    font-size: 28px;
    padding: 10px 20px;
}
.product_wrap .s3_c1 > ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #FF6600;
    color: var(--black);
    font-size: 18px;
   
}
.product_wrap .s3_c1 > ul:nth-last-child(2){
    border-bottom: 3px solid #FF6600;
}
.product_wrap .s3_c1 > ul > li > p{
    /* position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-weight: 600; */
}
.product_wrap .s3_c1 > ul > li:first-child{
    width: 30%;
}
.product_wrap .s3_c1 > ul > li:last-child{
    width: 70%;
}
.product_wrap .s3_c1 li{
    padding: 10px 20px;
    text-align: left;
    color: var(--black);
    font-size: 18px;
    position: relative;
}
.product_wrap .s3_c1 > ul > li:first-child{
    /* background-color: var(--grey); */
    font-weight: 600;
    border-right: 1px solid #FF6600;
}
.product_wrap .s3_c1 > ul > li:last-child{
    /* background-color: var(--grey2); */
}
.product_wrap .col_50 li, .product_wrap .col_20 li, .product_wrap .col_28 li, .product_wrap .col_75 li{
    width: 100%;
    /* background-color: var(--grey2); */
    padding: 10px 0;
    color: var(--black);
    font-size: 18px;
}
.product_wrap .s3 .col_33 li:last-child{
    border-bottom: 0;
}
.product_wrap .s3 .col_25:last-child li{
    border-right: 0;
}
.product_wrap .s3 .mobile_size .col_66 ul:nth-last-child(-n+4) li{
    border-bottom: 0 !important; 
}
.product_wrap .s3 .mobile_size .col_66 ul:nth-child(4) li{
    border-right: 0 !important; 
}
.product_wrap .s3 .mobile_size .col_66 > ul li{
    border-bottom: 1px solid #FF6600 !important;
}
.product_wrap .s3 .col_66 li:last-child {
    border-bottom: 0;
}
.product_wrap .s3 .col_33 li{
    padding: 10px 20px;
    border-right: 1px solid #FF6600;
    border-bottom: 1px solid #FF6600;
    text-align: left;
}
.product_wrap .s3 .col_50  {
    border-right: 1px solid #FF6600;
}
.product_wrap .s3 .col_50:last-child  {
    border-right:0;
}
.product_wrap .s3 .col_25 li{
    padding: 10px 20px;
    border-right: 1px solid #FF6600;
  
    text-align: center;
}
.product_wrap .s3 .col_66 li{
    padding: 10px 20px;
    border-bottom: 1px solid #FF6600;
    text-align: left;
}
.view_button_wrap2{
    font-size: 24px;
    font-weight: 600;
    background: var(--mainColor);
    padding: 8px;
    width: 250px;
    display: block;
    margin-left: auto;
    color: #fff;
}
.view_button_wrap2 .arrow_icon{
    margin-right: 6px;
    position: relative;
    top: 3px;
}
.product_wrap .s3_c2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: baseline;
    gap:10px;
}
.product_wrap .s3_c2 .s3_c2_b1{
    width: 32%;
    text-align: center;
 
}
.col_53{width: 53.1% !important;}
.col_47{width: 46.9%;}
.product_wrap .swiper {
    width: 100%;
    display:none;
}

.product_wrap .swiper-wrapper {
    overflow: hidden;
}
.product_wrap .swiper {
    background: url(/3d/product_3d_bg.png) center center no-repeat;
    background-size: cover;
    height: 630px;
    cursor:pointer;
}
.md_wrap .swiper-slide img{
    width: 1100px !important;
}
.sq_wrap .mySwiper .swiper-slide img{
    width: 1100px !important;
}
.sr_wrap .mySwiper .swiper-slide img{
    width: 1100px !important;
}
.sd_wrap .mySwiper .swiper-slide img{
    width: 1200px !important;
}
.mt_wrap .mySwiper2 .swiper-slide img{
    width: 1100px !important;
}
.mt_wrap .mySwiper3 .swiper-slide img{
    width: 1150px !important;
}
.product_wrap .swiper-slide img{
    position: absolute;
    left: 50%;
    top: 53%;
    transform: translate(-50%,-50%);
    width: 1000px;
    filter: contrast(1.05) brightness(1.02) saturate(1.1);
}
.mt_wrap .mySwiper2 .swiper-slide img{top: 44%;}
.mt_wrap .mySwiper3 .swiper-slide img{top: 43%;}
.product_wrap .swiper-wrapper{
    transition: none !important;
    

}
.product_wrap .swiper-slide{
    transition: none !important;
    opacity: 0 !important;
    
}
.product_wrap .swiper-slide-active{
    opacity: 1 !important;
}
.swiper-scrollbar  { 
    bottom: 0px !important;
    top: initial !important;
    width: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    /* background: rgba(255, 255, 255, 0.5) !important; */
    height: 10px !important;
    cursor: pointer;
    z-index: 999999 !important;
    display: none;
}
.swiper-scrollbar-drag  {
    background: var(--mainColor) !important;
    width: 101.818px;
}
.swiper-nav-wrap{
    position: absolute;
    width: 114%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.product_wrap .swiper {
    overflow: initial !important;
}

.d_block{
    display: block !important;
}

.mt_wrap .s2_c2{
    width: 49.5%;
}


.mt_wrap .s2 > .flex{justify-content: space-between;}

.product_wrap .s2_c2_b2 > ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}
.product_wrap.mt_wrap .s2_c2_b2 {
    padding: 20px;
    align-items: baseline;
}

.product_wrap.mt_wrap .s3_c2 .s3_c2_b1 {
    width: 30%;
    text-align: center;
    margin: 0 0%;
}
.pc_hidden{opacity: 0; display: block;}
.h_48{

    height: 93px;
    line-height: 80px;

}
.h_93{

    height: 93px;
    line-height: 70px;

}
.h_185{

    height: 185px;
    line-height: 80px;

}
.h_64 {
    height:100px;
    line-height: 90px;
}
.h_59 {
    height: 59%;
    line-height: 142px;
}
.h_37 {
    height: 37.7%;
    line-height: 90px;
}
.mt_wrap .s4{text-align: center;}
.mt_wrap .s4_c1{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.mt_wrap .s4_c1_b1{
    width: 18%;
    background-color: var(--black2);
    border-radius: 20px;
    color: var(--white);
    padding: 60px 0;
    margin: 0 10px;

}
.mt_wrap .s4_c1_b1 .img_wrap{
    height: 100px;
    position: relative;
}
.mt_wrap .s4_c1_b1 .img_wrap img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.md_wrap .product_tab li{
    width:31%;
    margin-bottom: 8px;
    text-align: center;
}
.md_wrap .mySwiper .swiper-slide img {

    left: 51%;
    top: 51%;}
.md_wrap .mySwiper2 .swiper-slide img {top: 48% !important;}
.md_wrap .mySwiper4 .swiper-slide img {top: 50% !important;}
.sd_wrap .mySwiper .swiper-slide img {top: 42% !important;}

.col_48 .s2_c2 {
    width: 100% !important;
}

.col_48 .s2_c2_b2 {
    padding: 42px !important;
}


.product_wrap.cs_wrap .swiper-slide img {
    scale: 0.9;
    top: 45%;
    left: 49%;
}

.product_wrap.sr_wrap .swiper-slide img {
    scale: 1;
    top: 50%;
    left: 50%;
}

.product_wrap.sq_wrap .swiper-slide img {
    scale: 1;
    top: 52%;
    left: 52%;
}

.white{
    color: #fff;
}
.product_wrap .new_s1{
    padding-bottom: 160px ;
    color: #fff;
}
.product_wrap .new_s1_c1{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.eng_sub_wrap .point_txt {
    width: 53%;
}
.point_txt{
    width: 45%;
}
.point_txt li{
    font-size: 20px;
    margin-bottom: 4px;
    text-indent: -14px;
}
.point_img{
    width: 631px;  position: relative;
    
}

.hotspot {
position: absolute;
width: 100px;
height: 100px;
background: rgba(255, 255, 255, 0); /* 투명 */
cursor: pointer;
}

.hotspot::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
margin-top: -10px;
margin-left: -10px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 20px solid #FF6600;

}

.hotspotSD1{     top: -10%; right: 3%; }
.hotspotSD2 { top: 13%; left: 5%; }
.hotspotSD3 { bottom: 35%; left: 1%; }
.hotspotSD4 { bottom: 24%; right: -3%; }


.hotspotMT1{ top: 28%;left: 31%;}
.hotspotMT2 { top: 43%; right: 31%; }
.hotspotMT3 { bottom: 33%; left: -7%; }
.hotspotMT4 { bottom: 15%; left: 19%; }
.hotspotMT5 { bottom: 3%; right: 10%; }


.hotspotSQ1{ top: 2%;left: -5%;}
.hotspotSQ2 { top: 12%; right: 43%; }
.hotspotSQ3 { bottom: 45%; left: 16%; }
.hotspotSQ4 { bottom: 38%; right: 38%; }
.hotspotSQ5 { bottom: 19%; left: -1%; }


.hotspotMD1{ top: 22%;left: 21%;}
.hotspotMD2 { top: 18%; right: 36%; }
.hotspotMD3 { bottom: 45%; right: -14%; }
.hotspotMD4 { bottom: 29%; left: 19%; }
.hotspotMD5 { bottom: 10%; right: 10%; }

.point_txt img,
.point_txt ul {opacity: 1; transition: opacity 0.4s ease;}

.pc_display{display: inline-block;}
.mo_display{display: none;}
.point_icon{
    display: inline-block;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 20px solid #FF6600;
}
/* product 끝  */

/* software 시작  */
.point_icon_big {
    display: inline-block;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 35px solid #FF6600;
    margin-right: 18px;
    padding-bottom: 4px;
}
/* software 끝  */


/* 시뮬레이션 시작 */
.op100{opacity: 1 !important;}
.s_head{
    position: absolute;
    left: -1px;
    top: 0;
    width: 100%;
    z-index: 9;
    opacity: 0;
    transition: all 0.5s;
}
.simulation_wrap {
    width: 1400px; 
    height: 787px;
    position: relative;
}

.simulation_s1 {
    width: 100%;
    height: 100%;    
    background: url(/img/simulation/simulation_bg1.svg) center center no-repeat;
    background-size: cover;
    position: relative;
    visibility: hidden;
}

/* 왼쪽 클릭 트리거 영역 (투명) */
.simulation_wrap .left_trigger {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-30%);
    width: 100px;
    height: 100px;
    background: transparent;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 햄버거 메뉴 아이콘 */
.simulation_wrap .hamburger_icon {
    width: 24px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.simulation_wrap .hamburger_icon span {
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.simulation_wrap .left_trigger:hover .hamburger_icon span {
    background: #ff6600;
}

/* 레프트 메뉴 */
.simulation_wrap .left_menu {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 140px;
    height: 94.5%;
    background: #202528;
    transition: opacity 0.3s ease;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}
.simulation_wrap .menu_header{
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    align-items: center;
    padding: 10px;
}
/* 메뉴 활성화 상태 */
.simulation_wrap .left_menu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.simulation_wrap .menu_content {

    flex: 1;
    overflow-y: auto;
}

.simulation_wrap .menu_content h3 {
    margin-top: 0;
    color: #fff;
    letter-spacing: 3px;
}

.simulation_wrap .menu_content ul {
    list-style: none;
    padding: 0;
   
}

.simulation_wrap .menu_content li {
    color: #fff;
    margin-bottom: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.5;
}


/* 메뉴 하단 영역 */
.simulation_wrap .menu_footer {
    padding: 20px;
    
}

/* 닫기 버튼 */
.simulation_wrap .close_btn {
    width: 100%;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    display: flex;
    gap: 16px;
    background: transparent;
    opacity: 0.5;
    align-items: baseline;
}


.simulation_wrap .close_icon {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

/* 메뉴 아이템 기본 스타일 */
.simulation_wrap .menu_content li {
    margin-bottom: 15px;
    position: relative; /* before 요소를 위해 필요 */
    transition: all 0.3s ease;
    padding: 4px 8px;
}

.simulation_wrap .menu_content li a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    border-radius: 6px;
    opacity: 0.5; /* 기본 투명도 */
    transition: all 0.3s ease;
    position: relative;
}

/* hover 상태 */
.simulation_wrap .menu_content li:hover,
.simulation_wrap .menu_content li:hover a {
    opacity: 1;
    background: rgba(255, 255, 255, 0.1); /* 투명한 백그라운드 */
}

/* active 상태 */
.simulation_wrap .menu_content li.active,
.simulation_wrap .menu_content li.active a {
    opacity: 1;
    background: rgba(255, 255, 255, 0.1); /* 투명한 백그라운드 */
}

/* 왼쪽 세로 흰색 박스 (before) - hover 시 */
.simulation_wrap .menu_content li:hover::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 70%; /* 높이 조정 가능 */
    background: #fff;
    border-radius: 0 2px 2px 0;
    opacity: 1;
    transition: all 0.3s ease;
}

/* 왼쪽 세로 흰색 박스 (before) - active 시 */
.simulation_wrap .menu_content li.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 70%; /* 높이 조정 가능 */
    background: #fff;
    border-radius: 0 2px 2px 0;
    opacity: 1;
}

/* 메뉴 아이콘 이미지 스타일 */
.simulation_wrap .menu_content li img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    transition: all 0.3s ease;
}

.simulation_wrap .menu_content li span {
    font-size: 16px;
    font-weight: 500;
}

/* 날짜/시간 표시 영역 */
.simulation_wrap .datetime_display {
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
    opacity: 0.5;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    z-index: 15;
    background: transparent;
    padding: 10px 20px;
    border-radius: 8px;
}

.simulation_wrap .datetime_display span {
    display: inline-block;
}

.simulation_wrap #currentDate {
    font-weight: 600;
    letter-spacing: 0.5px;
    display: block;
}

.simulation_wrap #currentTime {
    font-weight: 400;
    display: block;
}
.simulation_s1_c1 .square > div{
    width: 36px;
    height: 36px;
    background-color: #626264;
    transform: rotate(45deg);
    margin-bottom: 16px;
    cursor: pointer;
    
}
.square_wrap{
    display: flex;
    align-items: center;
}
.flip{
    transform: scaleX(-1);
}
.simulation_s1_c1{
    display: flex;
    position: absolute;
    right: 10.3%;
    top: 16.5%;
    gap: 49px;
}
/* 색상 상태 클래스 */
.color-blue {
    background-color: #36A0F9 !important;
}

.color-yellow {
    background-color: #F7BF32 !important;
}

.color-gray {
    background-color: #626264 !important;
}



.simulation_s2 {
    width: 100%;
    height: 100%;    
    background: url(/img/simulation/simulation_bg2.svg) center center no-repeat;
    background-size: cover;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
}

.active {
    visibility: visible !important;
}

.simulation_s2_c1 {
    display: flex;
    justify-content: end;
    gap: 20px;
    margin-top: 120px;
    height: calc(100% - 140px);
    padding-right: 20px;
}

.simulation_s2_c1_b1 {
    width: 52.5%;
    overflow-y: auto;
    padding-right: 10px;
}

.simulation_s2_c1_b1::-webkit-scrollbar {
    width: 8px;
}

.simulation_s2_c1_b1::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.simulation_s2_c1_b1::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

.simulation_s2_c1_b1::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.simulation_s2_c1_b1 > ul {
    display: flex;
    color: #fff;
    border-bottom: 1px solid dimgray;
    padding: 4px 0;
    min-height: 40px;
    align-items: center;
    transition: background-color 0.2s;
}

.simulation_s2_c1_b1 > ul.drag-over {
    background-color: rgba(255, 255, 255, 0.2);
}

.simulation_s2_c1_b1 li:first-child {
    width: 14%;
    text-align: center;
}

.simulation_s2_c1_b1 li:nth-child(2) {
    width: 17%;
    text-align: center;
}

.simulation_s2_c1_b1 li:last-child {
    width: 69%;
}

.simulation_s2_c1_b2 {
    width: 32%;
    overflow-y: auto;
    padding-right: 10px;
}

.simulation_s2_c1_b2::-webkit-scrollbar {
    width: 8px;
}

.simulation_s2_c1_b2::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.simulation_s2_c1_b2::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

.simulation_s2_c1_b2::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.simulation_s2_c1_b2 > ul {
    display: flex;
    color: #fff;
    border-bottom: 1px solid dimgray;
    padding: 4px 0;
    cursor: move;
    min-height: 40px;
    align-items: center;
    transition: all 0.2s;
}

.simulation_s2_c1_b2 > ul:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.simulation_s2_c1_b2 > ul.dragging {
    opacity: 0.5;
}

.simulation_s2_c1_b2 li:first-child {
    width: 30%;
    text-align: center;
}

.simulation_s2_c1_b2 li:last-child {
    width: 70%;
}

.simulation_s3 {
    width: 100%;
    height: 100%;  
    background: url(/img/simulation/simulation_bg3.svg) center center no-repeat;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
}

.simulation_s3.active {
    visibility: visible;
}

.simulation_s2_c3 {
    width: 50%;
    height: 50%;
    display: flex;
    
    padding: 20px;
    align-items: flex-end;
    position: absolute;
    left: 46.5%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.simulation_s2_c3_b1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 8px;
    flex: 1;
    height: 290px;
    min-width: 58%;
}

.simulation_s2_c3_b1 ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #202528;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
 
}


.simulation_s2_c3_b1 ul.selected {
    background: #F7B61A;
    
}

.simulation_s2_c3_b1 ul li:first-child {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 2px;
}

.simulation_s2_c3_b1 ul li:last-child {
    font-size: 14px;
    color: #fff;
}

.simulation_s2_c3_b1 ul.selected li {
    color: #fff;
}

.simulation_s2_c3_b2 {
   
    border-radius: 10px;
    padding: 20px;
    min-height: 150px;

    min-width: 50%;
    text-align: right;
    position: relative;
    top: -20%;
    left: 43%;
}

.simulation_s2_c3_b2 h3 {
    margin: 0 0 15px 0;
    color: #fff;
    font-size: 18px;
}

.simulation_s2_c3_b2 ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.simulation_s2_c3_b2 ul li {
    
    padding: 8px 15px;
    border-radius: 5px;
    display: flex;
    align-items: end;
    gap: 30px;
    font-size: 14px;
    flex-direction: column;
}

.simulation_s2_c3_b2 ul li span {
    font-weight: bold;
    color: #fff;
    font-size: 18px;
    display: block
}

.next_button, .prev_button, .complete_button{
    background-color: #2A2E31;
    color: #fff;
    border-radius: 6px;
    text-align: center;
    padding: 5px;
    letter-spacing: 1px;
    font-size: 16px;
    font-weight: 600;
    width: 110px;
    display: inline-block;

    cursor: pointer;
}
.next_button:hover, .prev_button:hover, .complete_button:hover{
    opacity: 0.7;
}

.button_wrap{
    position: absolute;
    bottom: 18.6%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    gap: 60px;
}
.simulation_s4 {
    width: 100%;
    height: 100%;  
    background: url(/img/simulation/simulation_bg4.svg) center center no-repeat;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
}
.simulation_s5 {
    width: 100%;
    height: 100%;  
    background: url(/img/simulation/simulation_bg5.svg) center center no-repeat;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
}
.simulation_s6 {
    width: 100%;
    height: 100%;  
    background: url(/img/simulation/simulation_bg6.svg) center center no-repeat;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
}
.simulation_s7 {
    width: 100%;
    height: 100%;  
    background: url(/img/simulation/simulation_bg7.svg) center center no-repeat;
    position: relative;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
}
.simulation_s4_c1 .input_wrap input[type="text"] {
    background: transparent;
    border: none;

    outline: none;
    padding: 2px 0;
    color: #fff;
    font-size: 16px;
    width: 100%;
    text-align: right;
}

/* 포커스 시 밑줄 색상 변경 (선택사항) */
.simulation_s4_c1 .input_wrap input[type="text"]:focus {
    border-bottom-color: #F3B51B;
}

.simulation_s4_c1 .input_wrap{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 5.5%;
    
}
.simulation_s4_c1 .input_wrap:first-child{
    width: 7.4%;
    margin-right: 104px;
}
.simulation_s4_c1 .input_wrap:nth-child(2){
    margin-right: 32px;
}
.simulation_s4_c1 .input_wrap:nth-child(3){
    margin-right: 65px;
}
.simulation_s4_c1 .input_wrap:nth-child(4){
    margin-right: 32px;
}
.simulation_s4_c1 {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: absolute;
    left: 53.2%;
    top: 67.1%;
    transform: translate(-50%, -50%);
    width: 100%;
    
}
.simulation_s5_c1_b1{
    display: flex;
    align-items: center;
    gap: 34px;
 
    color: #fff;
    padding: 10px;
    width: 33%;
    border-radius: 4px;
    cursor: pointer;
}
.simulation_s5_c1_b1.active5 {
    background-color: #808080; /* 활성화 시 배경색 */
}
.simulation_s5_c1_b1:hover{
    background-color: #808080;
}
.simulation_s5_c1_b1 > div{
    text-align: center;
}
.simulation_s5_c1{
    display: flex;
    flex-wrap: wrap;
    width: 52%;
    position: absolute;
    left: 50%;
    top: 53%;
    transform: translate(-50%, -50%);
}

.simulation_s6_c1{
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    width: 52%;
    position: absolute;
    left: 52%;
    top: 54%;
    transform: translate(-50%, -50%);
}
.simulation_s6_c1_b1{
    display: flex;
    align-items: center;
    gap: 34px;
    color: #fff;
    padding: 10px;
    width: 34%;
    border-radius: 4px;
    cursor: pointer;
}
.simulation_s6_c1_b1.active5 {
    background-color: #808080; /* 활성화 시 배경색 */
}
.simulation_s6_c1_b1:hover{
    background-color: #808080;
}
.simulation_s6_c1_b1 > div{
    text-align: center;
}
.simulation_s6_c1_b1 > .img_wrap {
    width: 100px;
}
.buttonsHand{margin-bottom: 45px;}

.simulation_s6 .input_wrap input[type="text"] {
    background: transparent;
    border: none;

    outline: none;
    padding: 2px 0;
    color: #fff;
    font-size: 16px;
    width: 100%;
    text-align: right;
}

/* 포커스 시 밑줄 색상 변경 (선택사항) */
.simulation_s6 .input_wrap input[type="text"]:focus {
    border-bottom-color: #F3B51B;
}

.simulation_s6 .input_wrap{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 10%;
    position: absolute;
    left: 28%;
    bottom: 28.9%;
    z-index: 9;
    
}
.no_work_wrap{
    color: #fff;
    position: absolute;
    right: 22.5%;
    top: 22.8%;
    transform: translate(-50%, -50%);
    display: flex;
    gap: 80px;
}
.no_choiced{width: 20px;  text-align: center;}
.work_choiced{width: 100px;  text-align: center;}
.simulation_s7 .simulation_s2_c1 {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 289px;
    height: calc(52% - 120px);
    padding-right: 0px;
    margin-left: 5px;
}
.simulation_s7 .simulation_s2_c1_b1 {
    width: 36%;
    overflow-y: auto;
    padding-right: 10px;
}
.simulation_s7 .simulation_s2_c1_b2 {
    width: 21%;
    overflow-y: auto;
    padding-right: 10px;
}
.simulation_s7 .simulation_s2_c1_b1 > ul {
    color: #151515;
}
.simulation_s7 .simulation_s2_c1_b2 > ul {
    color: #151515;
}
.simulation_s7 .simulation_s2_c1_b1 li:nth-child(2) {
    width: 24%;
}
.simulation_s7 .simulation_s2_c1_b2 > ul:hover {
    background-color: rgba(128, 128, 128, 0.4);
}

.simulation_s7 .simulation_s2_c1_b2 > ul.dragging {
    opacity: 0.5;
}

/* 시뮬레이션 끝 */

/* 소프트웨어 시작 */
.software_wrap .s1{
        width: 85%;
        margin: 0 auto;
}
.software_wrap .swiper-button-next{
    color: var(--mainColor) !important;
    right: -60px;
}
.software_wrap .swiper-button-prev{
    color: var(--mainColor) !important;
    left: -60px;
}
.relative{position: relative;}
/* 소프트웨어 끝 */

