/* main > section {padding:100px 0; margin: 100px 0; box-sizing: border-box;}
main > section .content_wrapper {width: 100%; max-width: 1280px; margin: 0 auto;} */
h1{font-size: 4.5rem; line-height:6.05rem;}
h2{font-size: 4.7rem;}
h3{font-size: 3.5rem;}
h4{font-size: 2.5rem;}

/*animation*/
.aos-all {width: 1000px;max-width: 98%;margin: 10vh auto 0 auto;}
.aos-item {display: inline-block; float: left; width: 33.3333%;height: 300px;padding: 20px;}
.aos-item__inner {position: relative;width: 100%;height: 100%;float: left;background: #1da4e2;line-height: 260px;text-align: center;color: #fff;}

/* 전체 컨테이너: 풀브라우징, 내부 컨텐츠는 max-width 1280px로 제한 */
.container {max-width: 1280px; margin: 0 auto; }
main{padding:0; }

/* 헤더 영역 */
.header {position: relative; width: 100%;  background: #fff; border-bottom: 1px solid #eee;}
.header_inner {position: relative; display: flex; height:70px; align-items: center;  justify-content:center;}
.header_inner .logo{position: absolute; left:0;}
.header_inner .logo a{display: block; width:110px; height: 36px;}
.header_inner .logo img{width:110px; height: 36px;}     
.header_inner .free_btn{position: absolute; right:0;}
.main_nav .main_menu a.active {
  font-weight: bold;
  color: #000; /* 강조 색상 */
}


/* 푸터 */
.btn_top {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 20px;
  bottom: 20px;
  width:70px; height: 70px; 
  color: #fff;
  border-radius:50%;
  cursor: pointer;
  z-index: 1000;
  background:var(--main_color);
}
.btn_top img{width:30px;}


footer {background: #1a1a1a;color: #fff; text-align: center; }
.footer_inner {position: relative; display: flex;  height:180px; align-items:center;  justify-content:start;}
.footer_contain{display: flex; align-items: start; gap: 100px;}
.footer_wrap{display: flex; align-items: start; gap: 80px; }
.footer_wrap .logo{align-items: start; margin-left:0;}
.footer_wrap .logo a{display: block; width:180px; }
.footer_wrap .logo img{width:100%;}    
.footer_box{display: flex; flex-direction: column; gap: 30px;} 
.footer_box .footer_nav{margin-top: 10px;}
.footer_box .footer_nav ul{display: flex; gap:60px;}
.footer_box .footer_nav ul li{font-size: 1.6rem;}
.footer_box .footer_adr{ text-align: left;}

/* 햄버거 버튼 */
.hamburger {display: none; /* 데스크톱에서는 숨김 */ flex-direction: column;justify-content: center; gap: 5px;background: none;border: none;cursor: pointer;}
.hamburger span {display: block;width:26px;height: 3px; margin: 5px 0; background: #1a1a1a; transition: transform 0.4s ease, opacity 0.3s ease;}

/* 기본 PC 스타일 */
.main_nav {display: flex;align-items: center;}
.main_menu {display: flex;gap: 30px;}
.mobile_menu {display: none;}

/* 메인 네비게이션 */
.main_nav ul {list-style: none; display: flex; gap:80px; justify-content: center;}
.main_nav ul li a {text-decoration: none; font-size: 1.8rem; color: #1a1a1a; font-weight: 500;transition: color 0.2s ease;  display: inline-block;}
.main_nav ul li a:hover {font-weight: bold; color: #1a1a1a;}
.free_btn {
  width: 120px;
  height: 46px;
  font-size: 1.5rem;
  color:#fff;
  overflow: hidden;
  border: none;
  background: var(--main_color);
  padding: 0;
  position: relative;
  border-radius: 35px;
  line-height: 48px;
}

.free_btn .slide_wrap {
  width: 100%;
  overflow: hidden;
  padding:10px 0;
  
}

/* 슬라이딩 애니메이션 */
@keyframes scrollText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* 서브 헤더 영역 */
.fixed {position: fixed; top:15px;left: 0; z-index: 10; width: 100%; }
.sub_header{}
.sub_header_inner{padding: 50px 0;}
.visual_sec{margin:100px 0; }
.submenu_inner{position: relative;width: 100%; height:70px; color:#fff; text-align: center; border-radius:20px; transition: all 0.3s;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px);
  box-shadow: 0px 10px 20px rgba(31, 35, 83, 0.1);
  display: flex; align-content: center; justify-content: center;
}
.sub_header_inner h1{display: none;}
.submenu_inner ul{display: flex; align-content: center; justify-content: center; gap:150px;}
.submenu_inner ul li{align-content: center; }
.submenu_inner ul li a{display: inline-block; font-size: 1.7rem; padding:10px 20px;}
.submenu_inner ul li a.active {padding:10px 20px; border-radius: 10px; background: #fff; color:#1a1a1a; font-weight:600; /* (선택사항) 글자 두껍게 */}

/* 비주얼 섹션 */
.main_visual{width: 100%;  }
.main_visual_inner {position: relative; width: 100%; height:100vh; min-height: 800px;}
.main_visual_text_wrap {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -30%);
  z-index: 2; /* 영상보다 위로 */
  width: 100%;
  max-width: 1280px; /* 필요시 중앙 폭 제한 */
  text-align: center;
  z-index: 2;
}
.main_visual_text { color:#1a1a1a; text-align: center;}
.main_visual_text h1 {font-weight: bold; }
.main_visual_text p {font-size: 2rem; padding:10px 0 0; line-height: 1.4;color: #555;}
.main_visual_wrap{position: absolute; left: 50%; bottom: 0;  transform: translate(-50%, 0); z-index: 1;  width: 100%; max-width: 1920px; margin:0 auto;}
.main_visual_wrap:after,.main_visual_wrap:before {content: ""; position: absolute; top: 0; width:20%; height: 100%; z-index: 2; pointer-events: none}
.main_visual_wrap:before {left: 0;background: linear-gradient(90deg,#fff,#fff 30%,rgba(246,247,249,0))}
.main_visual_wrap:after {right: 0;background: linear-gradient(270deg,#fff,#fff 30%,rgba(246,247,249,0))}
.main_visual_image{height:100%; }
.main_visual_image video{width:100%;}

/* 서브 비주얼 섹션 */
.submain .visual_inner {
  display: flex;
  flex-direction: column;
  justify-content: center; /* 또는 flex-start */
  text-align: center;
}
.submain .visual_text {flex: 1;}
.submain .visual_text h1 {font-weight: bold; }
.submain .visual_text p {font-size: 2rem; padding:10px 0 0; line-height: 1.4;color: #555;}


/* 메인 서비스 섹션 */
.services {padding:100px 0; text-align: left;}
.services .tit{font-size: 2rem; margin-bottom:10px; font-weight: bold;}
.services .tit_info{font-size: 1.8rem; margin-bottom:80px;}
.services_item_wrap{display: flex; justify-content: space-between; gap: 20px; /* flex-wrap: wrap;줄바꿈 허용 */}
.services_ani{}
.services_items{}
.services_item {flex: none; padding:20px; border-radius: 20px; margin-bottom:10px; background: var(--gray000);}
.services_item .icon{width:46px;}
.services_item .icon img{width:100%;}
.services_item p {font-size: 1.6rem;color: #666;}

/* 메인 슬로건(한 줄 소개) */
.slogan {padding:100px 0 150px; text-align:center;}
.slogan p {font-size:2.5rem; font-weight: bold; color: #444;line-height: 1.4;}
.slogan_txt{position: relative; padding:70px 0 100px;}
.icon_arrow{position: absolute; right:100px; top:0; width:50px;}
.icon_arrow img{width:100%;}
.partner_logos { display: flex;flex-wrap: wrap; justify-content: center;gap: 20px;}
.partner_logos img {width:200px;height: auto;object-fit: contain;/* filter: grayscale(100%);  스타일 효과(흑백) 예시 */}
.partner_logos {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  padding: 20px 0;
}

/* 메인 슬라이드 감싸는 요소 */
.slider-wrapper {
  display: flex;
  width: max-content;
  animation: slide 10s linear infinite;
}

/* 로고 그룹 */
.slider {
  display: flex;
  gap: 40px; /* 로고 간격 */
}

.slider img {
  width: 150px; /* 로고 크기 */
  height: auto;
}

/* 무한 루프 애니메이션 */
@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); } /* 리스트의 절반만 이동 */
}

/* 메인 고객 후기 섹션 */
.testimonials {padding:150px 0 100px; background: var(--ppl200);}
.testimonials h2 {margin-bottom: 10px;text-align: center; font-weight: bold;}
.testimonials .tit_info{font-size: 1.75rem; text-align: center; margin-bottom: 40px;}
.testimonial_list {margin-top:100px;}
.testimonial_item {flex: 1 1 calc(33.333% - 20px); min-width: 250px; background: #fff; border: 1px solid #eee; border-radius: 8px;padding:50px; margin-bottom:10px; border-radius: 20px;}
.testimonial_item .msg{margin-bottom: 10px; font-weight: bold; font-size:2.5rem;}
.testimonial_item .author {font-size:1.75rem; }
.experience_box{width:100%; margin: 50px auto; padding:80px 50px; border-radius: 30px; text-align: center; color:#fff; background:#1A1E29 url(../images/free_btn_ani.png) no-repeat center center; background-size: contain; }
.experience_box button{display: flex; gap:10px; align-items: center; justify-content: center; color: var(--main_color); font-weight:bold; margin:30px auto 0; padding:15px 50px; font-size:1.75rem; border-radius:30px; background: #fff;}
.experience_box button .free_icon{width:24px; padding-top: 8px;}
.experience_box button .free_icon img{width:100%;}
.sub_testimonials{padding:0 0 100px; }

/*회사 소개*/
#about_his{scroll-margin-top: 80px;}
.about_visual {width: 100%; background: #f8f9fa; background:url(../images/about_visual_bg.png) no-repeat center bottom;}
.about_visual_inner {padding:150px 0; text-align: center; }

.about_history {padding:100px 0 60px;text-align: center; text-align: left;}
.about_history .tit{margin-bottom:10px; font-weight:600;}
.about_history .tit_info{font-size: 1.8rem;margin-bottom: 40px; }

.about_history_item_wrap{}
.about_history_items{display: flex; align-self: center; gap:80px; }
.about_history_img{width:600px; flex-shrink: 0;}
.about_history_img img{width:100%;}
.about_history_item {display: flex; align-self: center; flex-wrap: wrap;  padding:20px; border-radius: 20px; margin-bottom:10px; }
.about_history_item .tit{ font-size: 1.5rem;}

/*인증 및 수상*/
.about_certi{padding:100px 0;text-align: center; text-align: left;}
.about_certi .tit{font-size: 2rem; margin-bottom:10px; font-weight: bold;}
.about_certi .tit_info{font-size: 1.8rem;margin-bottom: 40px; }
.about_certi_item_wrap{padding: 60px 0;}
.about_certi_items{display: flex; align-self: center; gap:80px; }
.about_certi_img{width:600px; flex-shrink: 0;}
.about_certi_img img{width: 100%;}
.about_certi_item {display: flex; align-self: center; flex-wrap: wrap;  padding:20px; border-radius: 20px; margin-bottom:10px; }
.about_certi_item .tit{ font-size: 1.5rem;}

/*팀 소개*/
.about_team{padding:100px 0;text-align: center; text-align: left; background: #1A1E29 url(../images/about_team_bg.png) no-repeat left center; background-size:contain;}
.about_team .container{display: flex; padding: 30px;}
.about_team .tit_wrap{width:30%;}
.about_team .tit_info{font-size:1.75rem; color:#fff; margin-bottom:10px;}
.about_team .tit{font-size: 2.5rem; color:#fff; margin-bottom:10px; font-weight: bold;}
.about_team_item_wrap{width:70%; display: flex;  flex-wrap: wrap; }
.about_team_item_wrap .icon{width:40px; margin-bottom: 10px;}
.about_team_item_wrap .icon img{width:100%;}
.about_team_item_wrap .item{width:48%; margin:1%; padding:40px 30px; border-radius: 0.75rem; color:#fff; background: #282934;}
.about_team_item_wrap .item .team_tit{font-size: 1.8rem; margin-bottom: 10px; font-weight: 600;}
.about_team_item_wrap .item .team_con{font-size: 1.4rem;}

/*비전*/
.about_vision{padding:200px 0 0;text-align: center; text-align:center; }
.about_vision .tit{font-size:2.2rem; margin-bottom:30px;  }
.about_vision .tit_info{font-size: 2.2rem; font-weight: bold; margin-bottom:100px;}
.about_vision .tit_info_s{font-size:1.75rem; font-weight: normal; padding-top: 20px;}
.about_vision_item_wrap{}
.about_vision .circle-container {position: relative; width:100%; height: 600px;border-radius: 50%;}
.about_vision .center {width:450px; height: 450px; line-height: 450px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; font-weight: bold; background: url(../images/about_vision_bg.png) no-repeat center center;}
.about_vision .item {display: flex; gap: 20px; justify-content:start;align-items: center;  position: absolute; font-size: 14px; line-height: 1.6;}
.about_vision .item .vision_txt{font-size:1.6rem; font-weight: normal;}
.about_vision .item .icon { width:100px; height:100px; margin: 0 auto 10px; border-radius: 10px; color: white;font-size: 20px;}
.about_vision .item .icon img{width:100%;}
.about_vision .top-left {top: 12%;left: 8%; text-align: right; width: 450px;}
.about_vision .top-right {top: 12%;right: 8%; text-align: left; width: 450px;}
.about_vision .bottom-left {bottom: 12%;left: 8%; text-align: right; width: 450px;}
.about_vision .bottom-right {bottom: 12%;right: 8%; text-align: left; width: 450px;}

/*핵심가치*/
.about_core{padding:200px 0 100px;text-align: center; text-align:center; background: url(../images/core_bg.png) no-repeat center; }
.about_core .tit{font-size:2.2rem; margin-bottom:30px;  }
.about_core .circle-container {position: relative; width:100%; height:800px;border-radius: 50%;}
.about_core .item{text-align: left;}
.about_core .item .icon { width:100px; height:100px; margin: 0 auto 10px; border-radius: 10px; color: white;font-size: 20px;}
.about_core .item .icon img{width:100%;}
.about_core .item.top-left {display: flex; gap: 20px; justify-content:start;align-items: center; position: absolute; font-size: 14px; line-height: 1.6;}
.about_core .item.top-right {display: flex; gap: 20px; justify-content:start;align-items: center; position: absolute; font-size: 14px; line-height: 1.6;}
.about_core .item.bottom-left {display: flex; gap: 20px; justify-content:start;align-items: center; position: absolute; font-size: 14px; line-height: 1.6;}
.about_core .item.bottom-right {display: flex; flex-direction: column; gap: 20px; justify-content: center;align-items: center; position: absolute; font-size: 14px; line-height: 1.6;}

.about_core .top-left {top:25%;left:12%; }
.about_core .top-right {top:5%;right:3%;}
.about_core .bottom-left {bottom: 25%;left:18%;}
.about_core .bottom-right {bottom:40%;right:0%;}
.about_core .item .core_txt .core_tit{font-size:22px; font-weight: bold;}

/*가치관*/
.about_values{width:100%; padding:100px 0;text-align: center; text-align:center; background: url(../images/values_bg.png) no-repeat center; background-size:cover;}
.about_values .tit{font-size:2.2rem; font-weight: bold; margin-bottom:30px;  }
.values_box_wrap{display: flex;  flex-wrap: wrap; gap: 20px; justify-content: center; align-items: center;}
.values_box{flex: 0 1 calc(25% - 10px);  display: flex; flex-direction: column; /* 세로 정렬 */ justify-content: center; width:300px; padding: 0 30px; height: 300px; text-align: center; border-radius: 20px; background: #fff;}
.values_box .icon{width:60px; margin: 0 auto; }
.values_box .icon img{width:100%;}
.values_box .con{font-size:1.5rem;}

/*행동원칙*/
.about_princ{padding:100px 0;text-align: center; text-align: left; background: #1A1E29; background-size:contain;}
.about_princ .container{padding: 30px;}
.about_princ .tit_wrap{text-align: center;}
.about_princ .tit{padding:0 0 120px; font-size: 2.5rem; color:#fff; font-weight: bold;}
.about_princ_item_wrap{ display: flex;  flex-wrap: wrap; gap:30px;}
.about_princ_item_wrap .item{flex: 0 1 calc(33.33% - 20px); padding: 20px;  color:#fff; font-size:1.75rem; }
.about_princ_item_wrap .item .num{font-size:3rem; }
.about_princ_item_wrap .item .item_tit{font-size:2.5rem; font-weight: 600; margin-bottom:10px; }

/*고객사 및 파트너*/
.partners{padding: 100px 0; text-align: center;}
.partners .container{width:100%; max-width: 100%;}
.partners .tit{padding: 50px 0 80px;}
.Partners_moveLeft_left {animation: Partners_moveLeft_left 20s linear infinite}
.Partners_moveRight_right {animation: Partners_moveRight_right 20s linear infinite}
.Partners_introContainer__WBcye {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  font-family: Pretendard,serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 48px;
  letter-spacing: -.5px;
  color: #1b1c1e
}

.Partners_logosContainerWrapper{width: 100%; max-width: 1920px;position: relative; overflow: hidden; margin: 0 auto;}
.Partners_logosContainerWrapper:after,.Partners_logosContainerWrapper:before {content: ""; position: absolute; top: 0; width: 30%; height: 100%; z-index: 2; pointer-events: none}
.Partners_logosContainerWrapper:before {left: 0;background: linear-gradient(90deg,#fff,#fff 30%,rgba(246,247,249,0))}
.Partners_logosContainerWrapper:after {right: 0;background: linear-gradient(270deg,#fff,#fff 30%,rgba(246,247,249,0))}
.Partners_logosContainer_anibox {position: relative;width: 100%}
.Partners_logosContainer_anibox img{position: relative; width:auto; width:167px; height: 60px;}
.Partners_logosRow { display: flex; gap: 80px; justify-content: flex-start; align-items: center; width: 6836px; will-change: transform}
.Partners_logosRow02 { display: flex; gap: 80px; justify-content: flex-start; align-items: center; width: 7744px; will-change: transform}
.Partners_moveLeft_left {margin-bottom:30px; animation: Partners_moveLeft_left 80s linear infinite}
.Partners_moveRight_right {animation: Partners_moveRight_right 80s linear infinite}
@keyframes Partners_moveLeft_left {
  0% { transform: translateZ(0)}
  to {transform: translate3d(-3378px,0,0)}
}
@keyframes Partners_moveRight_right {
  0% {transform: translate3d(-3872px,0,0)}
  to { transform: translateZ(0)}
}

/*사업영역*/
.bsn_content01, .bsn_content02, .bsn_content03, .bsn_content04{width:100%;}
.bsn_content01 .bsn_content_bg{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; color:#fff; font-size:2.5rem;
  width:100%; height: 440px; border-radius: 20px; background: url(../images/bsn_bg01.png) no-repeat center; background-size:cover;}
.bsn_content02 .bsn_content_bg{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; color:#fff; font-size:2.5rem;
  width:100%; height: 440px; border-radius: 20px; background: url(../images/bsn_bg02.png) no-repeat center; background-size:cover;}
.bsn_content03 .bsn_content_bg{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; color:#fff; font-size:2.5rem;
  width:100%; height: 440px; border-radius: 20px; background: url(../images/bsn_bg03.png) no-repeat center; background-size:cover;}
.bsn_content04 .bsn_content_bg{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; color:#fff; font-size:2.5rem;
  width:100%; height: 440px; border-radius: 20px; background: url(../images/bsn_bg04.png) no-repeat center; background-size:cover;}
.bsn_content01 .bsn_content_box:last-child{padding-bottom: 100px;}

#bsn_circul{scroll-margin-top: 80px;}
.bsn_wrap{}
.bsn_visual_text{text-align: center; padding:120px 0 50px;}
.bsn_visual_text h2{padding-bottom:10px;}
.bsn_visual_text p{font-size: 2rem; padding-bottom:30px;}
.bsn_bg_overlay{position: absolute;top: 0;left: 0;width: 100%;height: 100%; border-radius: 20px; background-color: rgba(0, 0, 0, 0.4); /* 검정 + 투명도 */z-index: 1;}
.bsn_tit{position: relative; z-index: 2; padding:0 0 30px;text-align: center; font-size: 6rem; font-weight: 500;}
.bsn_bg_txt{position: relative; z-index: 2; color:#fff; font-size: 1.7rem; line-height: 2.4rem; text-align: center;}
.bsn_content_box{padding:25px 0; text-align: left;}
.bsn_content_box h3{padding-bottom:10px;}
.bsn_content_box ul li{line-height:3rem;}
.bsn_content_txt{text-align: center;}
.bsn_content_txt p{font-size: 1.7rem; line-height: 2.4rem;}
.bsn_content_icon_wrap{display: flex; gap: 50px; margin:70px 0 0; }
.bsn_content_icon{ flex: 0 1 calc(25% - 10px); }
.bsn_content_icon .icon{ width:130px; margin: 0 auto 40px;}
.bsn_content_icon .icon img{width:100%;}
.bsn_content_icon .tit{font-weight:bold; font-size:2.2rem; padding-bottom: 10px;}

/* .case_cps_wrap{position: relative; display: flex; gap:80px; padding:50px 0 100px;}
.case_cps_box{width:100%; padding: 50px; border-radius: 20px; background: var(--gray000);}
.case_cps_box.after{width:100%; padding: 50px; border-radius: 20px; background: var(--ppl200);}
.case_cps_box .tit{font-size: 3rem; font-weight: 600; text-align: center;} 
.case_cps_box .tit02{font-size:1.1rem; text-align: center;} 
.case_cps_box ul{margin: 20px 0;}
.case_cps_box ul li.box_tit{color: var(--ppl700); padding-bottom:4px; margin-left: -15px;}
.case_cps_box ul li{padding: 0 0 0 16px; line-height: 2.5rem;}
.case_cps_box ul li .num{margin-left: -15px; padding-right:5px;}
.case_arrow{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.case_arrow img{width:120px}
.case_ef_wrap{margin-top: 40px; padding: 20px; color:#fff; border-radius: 20px; background: var(--main_color); } */

/*사업영역_도입전후*/
.case_chat_wrap{margin-top: 100px;}
.case_chat_box{display: flex; gap:30px; }
.case_chat_tit{text-align: center;margin-bottom:50px;}
.case_chat_box .subtitle {position: relative; text-align: center;color: #555;font-size: 20px;margin-bottom: 30px; padding-top: 40px;}
.case_chat_box .subtitle02 {position: relative; text-align: center; color: #4650D6;font-size: 20px;margin-bottom: 30px;padding-top:40px;}
.chat_txt01{color: #4650D6; font-size: 2.2rem; font-weight: bold;}
.chat_txt02{font-size: 4rem;  font-weight: bold;}
.case_chat_box .column {flex: 1; padding:50px 80px;border-radius: 16px; }
.gray { background-color: #f1f1f1;}
.blue { background-color: #F3F4FF;}
.title {text-align: center;font-size: 20px;font-weight: bold;margin-bottom: 10px;}
.chat_icon{position: absolute; right:80px; top:0; width:36px;}
.chat_icon img{width:100%;}
.chat {margin-bottom: 10px;}
.chat .bubble {display: inline-block; padding: 20px; border-radius: 12px;max-width: 500px;}
.chat.user {
  text-align: left;
  margin-top:30px;
  padding:0 60px;
  background: url(../images/chat_user.png) no-repeat left top;
  background-size: 40px;
}
.chat.user .bubble.gray {background-color: #ddd;}
.chat.response {
  text-align: right;
  padding:0 60px;
  background: url(../images/chat_res.png) no-repeat right top;
  background-size: 40px;
}
.med .chat.response {
  text-align: right;
  padding:0 60px;
  background: url(../images/chat_res02.png) no-repeat right top;
  background-size: 40px;
}
.edu .chat.response {
  text-align: right;
  padding:0 60px;
  background: url(../images/chat_res03.png) no-repeat right top;
  background-size: 40px;
}
.bui .chat.response {
  text-align: right;
  padding:0 60px;
  background: url(../images/chat_res04.png) no-repeat right top;
  background-size: 40px;
}
.chat.response .bubble.gray { background-color: #666; color: #fff; }
.chat.user .bubble.blue {background-color: #D9DCFF;}
.chat.response .bubble.blue {background-color: #4650D6; color: #fff; }
.chat.user .bubble { position: relative;background-color: #ddd;}
.chat.user .bubble::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -10px;
  border-width: 6px 10px 6px 0;
  border-style: solid;
  border-color: transparent #ddd transparent transparent;
}

.chat.response .bubble {
  position: relative;
  background-color: #666;
  color: #fff;
}
.chat.response .bubble::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -10px;
  border-width: 6px 0 6px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #666;
}
  
.chat.user .bubble.blue {
  position: relative;
  background-color: #D9DCFF;
  color: #1a1a1a;
}
.chat.user .bubble.blue::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -10px;
  border-width: 6px 10px 6px 0;
  border-style: solid;
  border-color: transparent #D9DCFF transparent transparent;
}
.chat.response .bubble.blue {
  position: relative;
  background-color: #4650D6;;
  color: #fff;
}
.chat.response .bubble.blue::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -10px;
  border-width: 6px 0 6px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #4650D6;;
}

/*솔루션 서비스*/
#sol_access{scroll-margin-top: 80px;}
#ser_manage{scroll-margin-top: 80px;}
.solution {width: 100%; }
.solution_inner {text-align: center; }
.sol_wrap{scroll-margin-top:150px; /* 스크롤 보정용 */ padding-top:50px;  margin-bottom:100px;}
.sol_wrap .container{display: flex; gap:100px; }
.sol_tit_box{flex-shrink: 0;  width:500px;}
.sol_tit_box .sol_tit{font-size:3.5rem; font-weight: 600; line-height:4.2rem; padding-bottom:10px;}
.sol_tit_box p{font-size:1.8rem; }
.section-title {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 24px;
}
.subtitle {
  font-size: 20px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 8px;
}
.description {
  text-align: center;
  color: #666;
  margin-bottom: 40px;
}
.row {
  display: flex;
  flex-wrap: wrap; /* 여러 줄로 자동 배치 */
  gap: 20px; /* 칼럼 간격 조정 */
  
}
.col {
  flex: 0 1 calc(50% - 10px); 
  height: 240px;
  background: #f6f7f9;
  border-radius: 12px;
  padding: 20px;
  box-sizing: border-box; /* 패딩 포함 계산 */
}
.col .icon{width:40px; padding-bottom: 10px;}
.col .icon img{width:100%;}
.col h3 {
  font-size: 2rem;
  margin-bottom: 8px;
}
.col p {
  font-size: 1.7rem;
  color: #444;
}

/*faq*/
.btn_back{width:14px; background: none; border:none;}
.btn_back img{width:100%;}
.con_tit{padding: 0 30px; font-size: 32px; font-weight: 500;}
.ac_area{padding:20px 30px 0;}
.accordion {width: 100%; padding: 0 0 150px;}
.accordion-item {padding: 0; text-align: left; margin-bottom: 10px; background: #fff; border-radius:0.75rem; }
.accordion-header {display: flex; align-items: center; justify-content: space-between; width: 100%; padding:20px; background: #F8F8F8; border-radius:0.75rem;  text-align: left; font-size: 1.1rem;}
.accordion-header .num{display: inline-block; width:30px; height:30px; margin:0 6px 0 -40px; color:#fff; line-height: 33px; text-align: center; font-size: 14px; border-radius:10px; background: #0a0a0a;}
.accordion-header .arrow { width:24px; height: 24px; background:url(../images/btn_arrow.png) no-repeat right center; background-size:24px; transition: transform 0.2s;} 
.accordion-header .arrow.rotated  { width:24px; height: 24px; background:url(../images/btn_arrow.png) no-repeat right center; background-size:24px;
 transform: rotate(90deg); transform-origin: center center; /* 회전 기준점을 중앙으로 */  
 transition: transform 0.2s;
} 
.aco_tit{font-size: 1.7rem; padding-left:40px ; background: url(../images/icon_q.png) no-repeat left center; background-size:30px ;}
.aco_con{padding-left:40px ; background: url(../images/icon_a.png) no-repeat left top; background-size:30px ;}
.accordion-content {display: none; padding:24px 40px 20px 20px; margin-top: -10px;  text-align: left; border-bottom-left-radius:0.75rem;  border-bottom-right-radius: 0.75rem;  background: #f8f8f8; }
.accordion-item .active { display: block; }

/*공지사항*/
.notice-wrapper{}
.notice-item{padding: 15px 20px; border-radius: 10px;  margin-bottom: 4px;}
.notice-item p{font-size: 1.7rem;}
.notice-view-wrapper{padding-top:100px;}
footer .footer-links {margin: 12px 0;font-size: 14px;}
.notice-wrapper {display: flex; flex-direction: column; gap:0;}
.notice-wrapper .notice-item { display: flex;  flex-direction: column; gap: 5px; padding:30px; cursor: pointer;}
.notice-wrapper p {cursor: pointer; font-size:2.2rem; font-weight: bold;}
.notice-wrapper p:last-child{color:var(--gray700); font-weight: normal; font-size: 1.9rem;}
.notice-pagination-wrapper {display: flex; justify-content: center; align-items: center;  gap: 16px;  padding:100px 0;}
.notice-pagination-wrapper .notice-pagination {display: flex; align-items: center; justify-content: center;  cursor: pointer;}
.notice-pagination li {display: flex;  align-items:center; justify-content: center; min-width: 36px; height: 36px; font-size: 1.2rem;  line-height: 100%; cursor: pointer;}
.notice-pagination .active { background-color: #1a1a1a; color: #fff;  border-radius: 50%; }
.notice-pagination-wrapper button {cursor: pointer; width: 24px; display: flex; align-items: center; justify-content: center; }
.notice-pagination-wrapper i{cursor: pointer; font-size: 2.4rem; display: flex;  align-items: center; justify-content: center;  }
.notice-view-title{cursor: pointer;  font-size: 2.4rem; font-weight: bold; margin-bottom: 5px;}
.notice-view-date{font-size: 1.9rem;  margin-bottom: 5px;}
.notice-view-body{font-size: 1.6rem; line-height: 2.4rem; padding: 20px;}
.notice-view-body ul li{font-size: 1.6rem; line-height: 2.4rem;}
.notice-view-footer { display: flex; flex-direction: row; justify-content: space-between;  box-sizing: border-box;padding:30px 0;}
.notice-view-footer button {font-size: 1.4rem; padding: 16px 24px; border-radius: 12px; background-color: #eeeeee;  font-weight: bold; cursor: pointer;}
.notice-view-next-btn{display: flex; gap: 6px;}

/*문의하기*/
.contact_box{}
.contact_box .container{width:1060px;}
.input_field_wrap label, .listbox_wrap label {font-size:1.5rem; font-weight:600;}
.contact_input_wrap{}
.contact_input_wrap h4{font-size: 1.6rem;  margin-bottom: 1.6rem;}
.contact_form{display: flex;  gap: 20px; width: 100%;  margin-bottom:5rem;justify-content: flex-start;align-items:end;}
.contact_form .listbox_wrap{width:50%;}
.contact_form02{margin-bottom:5rem;}
.contact_form02 .listbox_wrap{width:100%;}
.contact_form02 textarea{width:100%; font-size: 1.6rem; border-radius: 1.4rem; background: var(--gray200); 
    width: 100% !important;
    max-width: 100%;
    height: 22rem;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    font-family: Pretendard;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.18px;
    box-sizing: border-box;
    border:1px solid #fff;
  }
.upload_tit{display: flex; align-content: center;}
.upload_tit .upload_guide{color: #9D9D9D;
    padding-left: 0.6rem;
    padding-top: 0.3rem;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: -0.014rem;}
.custom-file-upload {display: flex;align-items: center; justify-content: end; border:2px solid #fff; border-radius: 1.4rem;  background: var(--gray200);  
   font-size: 12px; line-height: 20px; letter-spacing: -0.5px; padding: 2.1rem 2rem 2.1rem 2rem;  border-radius: 10px; cursor: pointer;text-align: center;}

.custom-file-upload:hover {border:2px solid var(--main_color); }
.custom-file-upload span {font-size: 14px;color: #666666;}
#fileInput {display: none; /* Hide the default file input */}
.file-info {margin: 10px 0 20px; align-items: center;gap: 10px;}
.file-info span {font-size: 16px;}
.file-info button {background-color: #f44336;color: white;border: none;padding: 5px 10px;cursor: pointer;border-radius: 4px;}
.file-info button:hover {background-color: #d32f2f;}
.file-item{display: flex; align-items: center; justify-content: space-between; padding:5px 0;}
.file-item .delete-icon{font-size: 24px; margin-top: 2px;}
.str_txt{width:12px; height: 12px; display: block; }
.str_txt img{width:100%; }
.issue_chk_box .tit{display: flex; align-items: center; gap: 5px;}
#uploadButton{display: none;} 

.term{padding: 2rem; border-radius: 1.4rem;  background: var(--gray200); }
.term_check{margin-top: 10px;}
.ck-caption {
    color: #333;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    display: flex;
    padding: 0.3rem 0.7rem;
    justify-content: center;
    align-items: center;
    border: 1px solid #CCC;}

.contact_btn_wrap{display: flex; justify-content: center; margin:50px 0 150px;}
.btn_submit{
  padding: 0 50px;
  height: 60px;
  font-size: 1.7rem;
  border-radius:30px;
    opacity: 1;
    background: var(--main_color);
    color: #fff;
    cursor: pointer;}

/*기본테이블*/
.dt_tbl th {height: 44px; font-weight:bold; font-size:var( --lps-table-th-size); color:#1a1a1a; text-align:center; background:var(--lps-table-th-bg); border-bottom: 1px solid #d6d6d6; padding:0 20px; }
.dt_tbl th span.no_arrow{border-left:none; background: none!important; padding-right: 0;}
.dt_tbl td {height:44px; font-size:var( --lps-table-td-size);line-height: 1.2rem; color:#1a1a1a;  text-align:center; border-bottom: 1px solid #d6d6d6; padding:0 20px; }
.dt_tbl td.tit{display: flex; gap:5px; align-items: center; justify-content: center; background:#ecf0f6; }
.dt_tbl td.con{text-align: left; padding: 0 0 0 30px;}

/*체크박스 있는 테이블*/
.dt_tbl_chk{width:100%; border-top: 1px solid #d6d6d6;}
.dt_tbl_chk th span{padding-right:14px; background:url(../images/icon_tb_arrow.png) no-repeat right center; background-size:14px; }
.dt_tbl_chk th {height: 44px; font-weight:bold; font-size:var( --lps-table-th-size); color:#1a1a1a; text-align:center; background:var(--lps-table-th-bg); border-bottom: 1px solid #d6d6d6; padding:0; }
.dt_tbl_chk td {height:44px;  font-size:var( --lps-table-td-size); color:#1a1a1a;  text-align:center; border-bottom: 1px solid #d6d6d6; padding:0 8px; }
.dt_tbl_chk td.tit{display: flex; gap:5px; align-items: center; justify-content: center; background:#ecf0f6; }
.dt_tbl_chk td.con{text-align: left; padding: 0 0 0 30px;}
.dt_tbl_chk td a{text-decoration: none; color:#1a1a1a;}
.dt_tbl_chk td:first-child{width:50px; text-align: center;}

/* =========================반응형 스타일========================= */
@media (max-width: 1279px) {
  body{display: flex; flex-direction: column;}
  /* 헤로 섹션에서 이미지와 텍스트가 세로 배치 */
  .hero-inner {flex-direction: column; text-align: center;}
  .hero-text, .hero-image {flex: none;width: 100%;}
  /* 공지사항 */
  .notice-view-wrapper {padding-top:100px;}
  .container {max-width: 100%; margin: 0 auto;  }
  main{padding:0; }
  main.submain{padding: 0 30px; max-width: 100%; flex: 1;} 
  main.submain_about{padding: 0 0; max-width: 100%; margin: auto;}
  .submain_about .sub_header{padding:0 30px 0;}
  .header_inner .logo{position: absolute;left: 30px;}
  .header_inner .free_btn{position: absolute; right:30px;} 
}

@media (max-width:1170px) {
/* 솔루션*/
.sol_wrap{padding-top:0;}
.sol_wrap .row{display: flex; flex-wrap: wrap; box-sizing: border-box; padding-top:0;}
.sol_wrap .col {flex: 0 0 calc(50% - 10px); height:auto; max-width: 50%; box-sizing: border-box;}
.sol_wrap .col p {font-size: 1.6rem;}
.sol_wrap .container{display: flex; flex-direction: column; gap:50px; }
.sol_tit_box{flex-shrink: 0;  width:100%;}
.sol_tit_box .sol_tit{font-size:2.2rem; font-weight: 600; line-height:3rem; padding-bottom:10px;}
.sol_tit_box p{font-size:1.6rem; }
.col h3 { font-size:1.9rem;margin-bottom: 8px;}
.sol_tit_box p br{display: none;}
}

@media (max-width: 1023px) {
  h1 {font-size: 2.6rem;line-height: 3.4rem; }
  h2 {font-size: 2.2rem; line-height: 3rem;}
  h3 {font-size: 2rem; line-height: 2.6rem;}
  h4 { font-size: 1.8rem; line-height: 2.2rem;}

  
  /* 헤더: 햄버거 버튼 보이기, 네비게이션 숨기기/토글 */
  .hamburger {display: flex;}
  .main_nav {
    display: none; /* 기본 숨김 */
    position: absolute;
    top: 60px;
    right: 0;
    background: #fff;
    border-left: 1px solid #eee;
    border-bottom: 1px solid #eee;
    width: 200px;
    padding: 20px;
  }
  .main_nav.open {display: block; /* 햄버거 클릭 시 보임 */}
  .main_nav ul {flex-direction: column; gap: 10px;}

  /*서브 헤드 영역*/
  .visual_sec{margin:0 0 30px; }

  /* 푸터 */
  .footer{height:220px;}
  .footer_inner {position: relative; display: flex;  height:220px; padding: 0 30px; align-items:center;  justify-content:start;}
  .footer_container{}
  .footer_wrap{display: flex; flex-direction: column;  align-items: start; gap:10px;}
  .footer_box{display: flex; flex-direction: column; gap:0px;} 
  .footer_inner .logo a{display: block; width:150px; }
  .footer_inner .logo img{width:100%;}    
  .footer_inner .footer_adr{font-size: 1.4rem; text-align: left;}
  .footer_inner .footer_nav ul{display: flex;gap:20px;}
  .footer_inner .footer_nav ul li{font-size: 1.4rem;}
  .footer_box .footer_nav{margin-top:0; }

  /* 메인 네비게이션 모바일 */
  .header {position:fixed; top:0; width: 100%; z-index: 60; background: #fff; border-bottom: 1px solid #eee;}
  .main_nav {display: none;}
  .hamburger {display: block;  position: fixed;
    top: 20px;
    right: 20px;
    z-index: 62; }
  .mobile_menu { display: none; position: absolute; top:0; right: 0; padding-top: 70px; background: white; width:100%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);z-index:50;}
  .mobile_menu.open {position: fixed; display: block; height: 100vh; }
  .header_inner .logo{position: absolute; left:20px;}
  .header_inner {position: relative; display: flex; padding: 0 20px; height:70px; align-items: center;  justify-content:end;}

  .sub_header_inner{padding:70px 0 50px;}
  .free_box{display: flex; gap:30px; align-items: center; justify-content: space-between; padding:25px 30px; background: var( --navy300);}
  .free_box p{font-size: 1.4rem;}
  .free_btn{display: flex; justify-content: center; align-items: center; flex-shrink: 0; font-size: 1.4rem;}
  .free_btn .slide_track .free_txt {white-space: nowrap; padding-right: 30px; /* 텍스트 간 간격 */font-weight: bold; font-size: 1.4rem; color:#fff;}

  .mobile_menu_area{padding:0; height: 100vh;}
  .mobile_menu .accordion {width: 100%;}
  .mobile_menu .accordion-item {padding: 0; text-align: left; margin-bottom: 10px; background: #fff; border-radius:0.75rem; }
  .mobile_menu .accordion-header {display: flex; align-items: center; justify-content: space-between; width: 100%; padding:10px; margin-bottom:10px; background: #fff; border-radius:0.75rem;  text-align: left; font-size: 1.1rem;}
  .mobile_menu .accordion-header .num{display: inline-block; width:30px; height:30px; margin:0 6px 0 -40px; color:#fff; line-height: 33px; text-align: center; font-size: 14px; border-radius:10px; background: #0a0a0a;}
  .mobile_menu .accordion-header .arrow { width:30px; height: 30px; } 
  .mobile_menu .accordion-header .arrow img{width:100%;  -webkit-transform: rotate(0deg); transform: rotate(0deg); transition: all 0.2s ease-in-out; } 
  .mobile_menu .accordion-header .arrow.rotated img{ font-size: 22px; color: var(--main-color); -webkit-transform: rotate(90deg); transform: rotate(90deg); transition: all 0.2s ease-in-out; } 
  .mobile_menu .aco_tit{font-size: 1.6rem; padding-left:0 ; background:none; }
  .mobile_menu .aco_con{padding-left:20px ; background:none; }
  .mobile_menu .accordion-content {display: none; padding:20px 0 20px; text-align: left; border-radius: 0.75rem;  background: #f8f8f8; }
  .mobile_menu .accordion-item .active { display: block; }
  .mobile_menu_list{padding: 20px; height:calc(100vh - 183px);  }
  .mobile_menu_list li{padding:0 0 15px;}
  .mobile_menu_list li:last-child{padding:0 0 0;}
  .mobile_menu_list li a{font-size: 1.6rem;}
  .mobile_menu .container {
    max-height: 80vh;
    overflow-y: auto;
  }


  .header_inner .free_btn{position:static; }

  /* 메뉴 열림 상태 (X로 바뀜) */
  .hamburger.active span:nth-child(1) {transform: rotate(45deg) translate(5px, 6px);}
  .hamburger.active span:nth-child(2) {opacity: 0;}
  .hamburger.active span:nth-child(3) {transform: rotate(-45deg) translate(5px, -6px);}

  /* 푸터 */
  .btn_top {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 20px;
    bottom: 20px;
    width:50px; height:50px; 
    color: #fff;
    border-radius:50%;
    cursor: pointer;
    z-index: 1000;
    background:var(--main_color);
  }
  .btn_top img{width:20px;}

  /* 비주얼 섹션 */
  .main_visual{width: 100%;  }
  .main_visual_inner {position: relative; width: 100%; height:700px; }
  .main_visual_text_wrap {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -25%);
    z-index: 2; /* 영상보다 위로 */
    width: 100%;
    max-width: 1280px; /* 필요시 중앙 폭 제한 */
    text-align: center;
    z-index: 2;
    width:300px; margin:0 auto;
  }
  .main_visual_text { color:#1a1a1a; text-align: center;}
  .main_visual_text h1 {font-weight: bold; }
  .main_visual_text p {font-size: 1.8rem; padding:10px 0 0; width:300px; margin:0 auto; line-height: 1.4;color: #555;}
  .main_visual_wrap{position: absolute; left: 50%; bottom: 0;  transform: translate(-50%, 0); z-index: 1;  width: 100%; max-width: 100%; margin:0 auto;}
  .main_visual_wrap:after,.main_visual_wrap:before {content: ""; position: absolute; top: 0; width:20%; height: 100%; z-index: 2; pointer-events: none}
  .main_visual_wrap:before {left: 0;background: linear-gradient(90deg,#fff,#fff 30%,rgba(246,247,249,0))}
  .main_visual_wrap:after {right: 0;background: linear-gradient(270deg,#fff,#fff 30%,rgba(246,247,249,0))}
  .main_visual_text p {font-size: 1.8rem; padding:10px 0 0; line-height: 1.4;color: #555;}
  .main_visual_image {position: relative; width: 100%;  height: 600px;  overflow: hidden;} 
  .main_visual_image video{position: absolute;
    bottom: 0;            /* 아래에 붙임 */
    left: 50%;            /* 가운데 기준점 */
    transform: translateX(-50%); /* 가로 정중앙 정렬 */
    width: auto;
    height: 70%;         /* 부모 높이에 맞춤 */
    object-fit: cover;}

  /*서브 비쥬얼 섹션*/
  .submain .visual_text p {font-size: 1.6rem; padding:10px 0 0; line-height: 1.4;color: #555;}

  /* 메인 서비스 섹션 */
  .services {padding:50px 30px; text-align: left;}
  .services .tit_info{font-size: 1.8rem; margin-bottom:40px;}
  .services_item p {font-size: 1.4rem;color: #666;}

  /* 메인 슬로건(한 줄 소개) */
  .slogan {padding:50px 30px 70px; text-align:center;}
  .icon_arrow{ width:30px; position: absolute; top: 0; left: 50%; transform: translate(-50%, 0); }
  .slogan_txt{position: relative; padding:70px 0 50px;}

  /*고객사 및 파트너*/
  .Partners_container__38IO6 {max-width:100%;padding: 0 }
  .Partners_introContainer__WBcye { font-size: 20px; line-height: 30px}
  .Partners_logosContainerWrapper:after,.Partners_logosContainerWrapper:before {width: 25%}
  .Partners_logosContainerWrapper:before {background: linear-gradient(90deg,#fff,#fff 40%,rgba(246,247,249,0))}
  .Partners_logosContainerWrapper:after { background: linear-gradient(270deg,#fff,#fff 40%,rgba(246,247,249,0)) }
  .Partners_moveLeft_left { animation: Partners_moveLeftMobile__PVJjw 20s linear infinite}
  .Partners_moveRight_right {animation: Partners_moveRightMobile__2DiH3 20s linear infinite}
  .Partners_logosContainer_anibox img{position: relative; width:auto; width:111px; height:40px;}
  .Partners_logosRow { display: flex; gap:20px; justify-content: flex-start; align-items: center; width: 3648px; will-change: transform}
  .Partners_logosRow02 { display: flex; gap:20px; justify-content: flex-start; align-items: center; width: 4172px; will-change: transform}
  .Partners_moveLeft_left {margin-bottom:30px; animation: Partners_moveLeft_left 80s linear infinite}
  .Partners_moveRight_right {animation: Partners_moveRight_right 80s linear infinite}
  @keyframes Partners_moveLeft_left {
    0% { transform: translateZ(0)}
    to {transform: translate3d(-1814px,0,0)}
  }
  @keyframes Partners_moveRight_right {
    0% {transform: translate3d(-2076px,0,0)}
    to { transform: translateZ(0)}
  }


  /* 메인 고객 후기 섹션 */
  .testimonials {padding:70px 30px; background: var(--ppl200);}
  .testimonial_list {margin-top:40px;}
  .testimonial_item {padding:30px; margin-bottom:10px; border-radius: 20px;}
  .testimonial_item .msg{margin-bottom: 10px; font-weight: bold; font-size:1.75rem;}
  .testimonial_item .author {font-size:1.6rem; }
  .experience_box button{margin-top:30px; padding:10px 30px; gap:4px;  font-size:1.4rem; font-weight: bold; border-radius:30px; background: #fff;}
  .testimonials .tit_info{font-size: 1.6rem; text-align: center; margin-bottom: 40px;}

   /*서브 메뉴*/
  .submain_about .submenu {display: none; transition: transform 0.3s ease, opacity 0.3s ease, scale 0.3s ease;transform: translateY(0); opacity: 1;scale: 1; padding: 0 30px;}
  .submenu {display: none; transition: transform 0.3s ease, opacity 0.3s ease, scale 0.3s ease;transform: translateY(0); opacity: 1;scale: 1;}
  .submenu .container{}
  .submenu.fixed {position: fixed;top: 0; left: 0;right: 0;z-index: 1000;  padding:0 30px;}
  .submenu.hide {transform: translateY(-100%);opacity:1; /*scale: 0.95;  살짝 축소 */}
  .submenu a.active {color: #3366ff;font-weight: bold;}
  .submenu_inner{position: relative;width: 100%;  color: white; padding:14px 0; text-align: center; border-radius:50px; transition: all 0.3s;}
  .submenu_inner ul{display: flex; justify-content: center; gap:20px;}
  .submenu_inner ul li a{font-size: 1.6rem;}
  .visual_text p {font-size:1.5rem; padding:10px 0 0; line-height: 1.4;color: #555;}
  .about_history_items{display: flex; flex-direction: column; align-self: center; gap:80px; }
  .about_history_item {order: 2; /* 텍스트를 뒤로 보내 */}
  .about_history_img {order: 1; /* 이미지를 앞으로 */}
  .about_certi_items{display: flex; flex-direction: column; align-self: center; gap:0; }
  .about_certi_item {order: 2; /* 텍스트를 뒤로 보내 */}
  .about_certi_img {order: 1; /* 이미지를 앞으로 */}

  /* 서비스/후기 등 카드 섹션은 1열 */
  .services_item_wrap {flex-direction: column;}
  .services_items {width:100%;}
  .services_ani img{width:100%;}
  .service_item {flex: none; width: 100%; margin-bottom: 20px;}
  .testimonial_list {flex-direction: column;}
  .testimonial_item {flex: none;width: 100%;}

  /*비쥬얼*/
  .about_visual{margin:0;}
  .about_visual .container{ padding:0 30px;}
  .about_visual_inner {height:auto;  padding:70px 0 0 0; text-align: center; }

  /*회사 소개*/
  .about_history .container{display: flex; flex-direction: column; flex-wrap: wrap; padding:0 30px;}
  .about_history_img{width:100%; flex-shrink: 0;}
  .about_history_items{display: flex; flex-direction: column; align-self: center; gap: 20px;  }
  .about_history_item {display: flex; align-self: center; flex-wrap: wrap;  padding:0 0 30px; border-radius: 20px; margin-bottom:10px; }
  .about_history .tit_info{font-size: 1.6rem;margin-bottom: 40px; }
  .about_history {padding:50px 0 60px;text-align: center;text-align: left;}

  /*인증 및 수상*/
  .about_certi{padding:0 0 100px;text-align: center; text-align: left;}
  .about_certi .container{display: block; padding: 30px;}
  .about_certi_img{width:100%; flex-shrink: 0;}
  .about_certi_img img{width: 100%;}
  .about_certi_item {display: flex; align-self: center; flex-wrap: wrap;  padding:10px 0 20px; border-radius: 20px; margin-bottom:10px; }

  /*팀 소개*/
  .about_team{padding:50px 0;text-align: center; text-align: left; background: #1A1E29 url(../images/about_team_bg.png) no-repeat left center; background-size:contain;}
  .about_team .container{display: block; padding: 30px;}
  .about_team .tit_wrap{width:100%;}
  .about_team_item_wrap{width:100%; display: flex;  flex-wrap: wrap; }
  .about_team_item_wrap .item {width:100%; margin:0 0 10px;padding:40px 30px;border-radius: 0.75rem;color:#fff;background: #282934;}
  .about_team .tit_info{font-size:1.6rem; color:#fff; margin-bottom:10px;}
  .about_team .tit{font-size: 2.5rem; color:#fff; margin-bottom:30px; font-weight: bold;}
  .about_team_item_wrap .item .team_con br{display: none;}

  /*비전*/
  .about_vision{padding:100px 0 0;text-align: center; text-align:center; }
  .about_vision .container{padding: 0 30px;}
  .about_vision .circle-container {position: relative; width:100%; height:auto;border-radius: 50%;}
  .about_vision h3{font-size: 3.5rem;}
  .about_vision .tit_info_s{font-size:1.6rem; font-weight: normal; padding-top: 20px;}
  .about_vision .center {width:100%; height:auto; line-height:auto; margin-bottom: 80px; position:static; transform: translate(0); font-size: 24px; font-weight: bold; background:none;}
  .about_vision .item {display: flex; flex-direction: column; gap: 20px; justify-content:start; align-items: center;  position:static; font-size:1.6rem; line-height: 1.6;}
  .about_vision .item .icon{order: 1; width:50px; height: 50px; margin: 0 0 10px; flex-shrink: 0;}
  .about_vision .item .icon img{width:100%;}
  .about_vision .item .vision_txt{order: 2; text-align: center; }
  .about_vision .item .vision_con{text-align: center; font-size: 1.6rem; line-height: 2.1rem; margin-top:6px;}
  .about_vision .top-left {top: 12%;left: 8%; text-align: right; width:100%; margin-bottom:30px; }
  .about_vision .top-right {top: 12%;right: 8%; text-align: left; width:100%; margin-bottom:30px; }
  .about_vision .bottom-left {bottom: 12%;left: 8%; text-align: right; width:100%; margin-bottom:30px; }
  .about_vision .bottom-right {bottom: 12%;right: 8%; text-align: left; width:100%; margin-bottom: 0; }
  .about_vision .item .vision_txt br{display: none;}

  /*가치관*/
  .about_values .container{padding: 0 30px;}
  .about_values h3{font-size: 3.5rem;}
  .values_box_wrap{display: flex; flex-direction: column;}
  .values_box{flex: 0 1 calc(25% - 10px);  display: flex; flex-direction: column; /* 세로 정렬 */ justify-content: center; width:100%; padding:30px; height:auto; text-align: center; border-radius: 20px; background: #fff;}
  .about_values .tit{margin-bottom: 50px;}
  .values_box .icon{width:50px; margin: 0 auto; }
  .values_box .con{padding:15px 0 0 0;}

  /*행동원칙*/
  .about_princ .container{padding: 0 30px;}
  .about_princ_item_wrap{ display: flex; flex-direction: column; flex-wrap: wrap; gap:30px;}
  .about_princ .tit{padding:0 0 60px; font-size: 2.5rem; color:#fff; font-weight: bold;}
  .about_princ_item_wrap .item .num{font-size:2rem; }
  .about_princ_item_wrap .item .item_tit{font-size:2rem; font-weight: 600; margin-bottom:10px; }
  .about_princ .item .item_con{font-size: 1.6rem;}
  .about_princ .item .item_con br{display: none;}

  /*핵심가치*/
  .about_core{padding:200px 0 0;text-align: center; text-align:center; background: url(../images/core_bg.png) no-repeat center; background-size:contain;}
  .about_core .circle-container {position: relative; width:100%; height:100%; padding:0 0 100px; border-radius: 50%;}
  .partners .tit{padding:0;}
  .about_core .item.top-left {display: flex; gap: 20px; justify-content:start;align-items: center;  position: static; font-size: 1.5rem; line-height: 1.6;}
  .about_core .item.top-right {display: flex;gap: 20px;justify-content:start;align-items: center; position: static; font-size: 1.5rem; line-height: 1.6;}
  .about_core .item.bottom-left {display: flex; gap: 20px; justify-content:start;align-items: center;  position: static; font-size: 1.5rem; line-height: 1.6;}
  .about_core .item.bottom-right {display: flex; flex-direction: row; gap: 20px; justify-content:start; align-items: center;  position: static; font-size: 1.5rem; line-height: 1.6;}
  .about_core .item{padding: 0 30px 20px;}
  .about_core .item .icon { width:60px; height:60px; margin:0; border-radius: 10px; color: white;font-size: 20px;}
  
  /*파트너*/
  .partners .tit{margin-bottom: 60px;}

  /*사업영역*/
  .bsn_visual_text{text-align: center; padding:0px 0 60px;}
  .bsn_visual_text p{font-size:1.6rem; padding-bottom:0;}
  .bsn_content_icon_wrap{display: flex; flex-wrap: wrap;  justify-content: space-between; gap:0; margin:70px 0 0; }
  .bsn_content_icon {flex: 0 1 calc(50% - 14px); /* 2개니까 50% */ margin-bottom: 30px;}
  .bsn_content_icon p{text-align: center; font-size: 1.5rem; line-height: 1.9rem;}
  .bsn_content_icon p br{display: none;}
  /* .case_cps_wrap{position: relative; display: flex; flex-direction: column; gap:0; padding:50px 0 50px;}
  .case_arrow{position:static; transform: rotate(90deg);  width: 70px; margin: 0 auto;}
  .case_arrow img{width:100%;}
  .case_cps_box .tit{font-size:2.5rem; font-weight: 600; text-align: center;} 
  .case_cps_box .tit02{font-size:1.3rem; padding-bottom: 20px; text-align: center;}
  .case_cps_box{width:100%; padding:35px 20px 20px; border-radius: 20px; background: var(--gray000);} 
  .case_cps_box.after{width:100%; padding:35px 20px 20px; border-radius: 20px; background: var(--ppl200);} */

  .case_cps_box ul{margin:10px 0 20px;}
  .case_cps_box ul li.box_tit{font-size: 1.7rem; color: var(--ppl700); padding-bottom:4px; margin-left: -15px;}
  .case_cps_box ul li{font-size: 1.5rem; padding: 0 0 0 16px; line-height: 2.2rem;}
  .bsn_content_icon .tit{font-weight:bold; padding-bottom:10px; font-size: 1.8rem; line-height: 2.2rem; text-align: center;}
  .bsn_content_txt{text-align:left;}
  .bsn_content_icon .icon{ width:90px; margin: 0 auto 20px;}
  .bsn_content_box ul li{line-height: 2.4rem;}
  .bsn_content01 .bsn_content_bg{width:100%; height:300px; border-radius: 20px; background: url(../images/bsn_bg01.png) no-repeat center; background-size:cover;}
  .bsn_content02 .bsn_content_bg{width:100%; height:300px; border-radius: 20px; background: url(../images/bsn_bg02.png) no-repeat center; background-size:cover;}
  .bsn_content03 .bsn_content_bg{width:100%; height:300px; border-radius: 20px; background: url(../images/bsn_bg03.png) no-repeat center; background-size:cover;}
  .bsn_content04 .bsn_content_bg{width:100%; height:300px; border-radius: 20px; background: url(../images/bsn_bg04.png) no-repeat center; background-size:cover;}
  .bsn_tit{position: relative; z-index: 2; padding: 20px 50px 20px;text-align: center; font-size:3rem; font-weight: 600;}
  .bsn_bg_txt{position: relative; z-index: 2; color:#fff; padding: 0 30px; font-size: 1.5rem; line-height: 2.2rem; text-align: center;}

  .sub_testimonials{padding:0 0 50px; }
  .experience_box{width:100%; margin:0 auto; padding:80px 50px;border-radius: 30px;text-align: center;color:#fff;background:#1A1E29 url(../images/free_btn_ani.png) no-repeat center center;background-size: contain;}

  /*사업영역_도입전후*/
  .case_chat_wrap{margin:60px 0;}
  .case_chat_box{display:block; gap:30px; }
  .chat_txt01{color: #4650D6; font-size: 1.4rem; font-weight: bold;}
  .chat_txt02{font-size: 2.2rem; line-height:2.8rem; font-weight: bold; padding:5px 0 0; width:200px; margin: 0 auto;}
  .case_chat_box .column {flex: 1; padding:30px 20px;border-radius: 16px; margin-top: 30px; }
  .case_chat_box .subtitle {position: relative; text-align: center;color: #555; font-size:18px; width:200px; margin: 0 auto 30px; padding-top: 40px;}
  .chat.user {
    text-align: left;
    margin-top:30px;
    padding:0 40px;
    background: url(../images/chat_user.png) no-repeat left 6px;
    background-size: 24px;
  }
  .chat.user .bubble.gray {background-color: #ddd;}
  .chat.response {
    text-align: right;
    padding:0 40px;
    background: url(../images/chat_res.png) no-repeat right 6px;
    background-size: 24px;
  }
  .med .chat.response {
    text-align: right;
    padding:0 40px;
    background: url(../images/chat_res02.png) no-repeat right 6px;
    background-size: 24px;
  }
  .edu .chat.response {
    text-align: right;
    padding:0 40px;
    background: url(../images/chat_res03.png) no-repeat right 6px;
    background-size: 24px;
  }
  .bui .chat.response {
    text-align: right;
    padding:0 40px;
    background: url(../images/chat_res04.png) no-repeat right 6px;
    background-size: 24px;
  }
  .chat.response .bubble.gray { background-color: #666; color: #fff; }
  .chat.user .bubble.blue {background-color: #D9DCFF;}
  .chat.response .bubble.blue {background-color: #4650D6; color: #fff; }
  .chat.user .bubble { position: relative;background-color: #ddd;}
  .chat.user .bubble::before {
    content: "";
    position: absolute;
    top: 12px;
    left: -10px;
    border-width: 6px 10px 6px 0;
    border-style: solid;
    border-color: transparent #ddd transparent transparent;
  }

  .chat.response .bubble {
    position: relative;
    background-color: #666;
    color: #fff;
  }
  .chat.response .bubble::before {
    content: "";
    position: absolute;
    top: 12px;
    right: -10px;
    border-width: 6px 0 6px 10px;
    border-style: solid;
    border-color: transparent transparent transparent #666;
  }
    
  .chat.user .bubble.blue {
    position: relative;
    background-color: #D9DCFF;
    color: #1a1a1a;
  }
  .chat.user .bubble.blue::before {
    content: "";
    position: absolute;
    top: 12px;
    left: -10px;
    border-width: 6px 10px 6px 0;
    border-style: solid;
    border-color: transparent #D9DCFF transparent transparent;
  }
  .chat.response .bubble.blue {
    position: relative;
    background-color: #4650D6;;
    color: #fff;
  }
  .chat.response .bubble.blue::before {
    content: "";
    position: absolute;
    top: 12px;
    right: -10px;
    border-width: 6px 0 6px 10px;
    border-style: solid;
    border-color: transparent transparent transparent #4650D6;;
  }


  /* 솔루션*/
  .sol_wrap{display: flex; flex-direction: column; padding-top:30px;}
  .sol_wrap .col {flex: 0 1 calc(100% - 10px); height:auto; max-width:100%; box-sizing: border-box;}
  .sol_wrap .container{display: flex; flex-direction: column; gap:50px; }
  .sol_tit_box{flex-shrink: 0;  width:100%;}
  .sol_tit_box .sol_tit{font-size:2.4rem; font-weight: 600; line-height:3rem; padding-bottom:10px;}
  .sol_tit_box p{font-size:1.6rem; }
  .col h3 { font-size:1.7rem;margin-bottom: 8px;}
  .sol_tit_box p br{display: none;}

  /*faq*/
  .ac_area{padding:0 0 50px 0;}

  /* 공지사항 */
  .notice-view-wrapper {padding-top:100px; }
  .aco_tit{font-size: 1.6rem; padding-left:40px; min-height: 30px; line-height: 30px; background: url(../images/icon_q.png) no-repeat left center; background-size:30px ;}
  .accordion-header {display: flex; align-items: center; justify-content: space-between; width: 100%; padding:10px; background: #F8F8F8; border-radius:0.75rem;  text-align: left; font-size: 1.1rem;}
  .accordion-content {display: none; padding:24px 40px 10px 10px; margin-top: -10px;  text-align: left; border-bottom-left-radius:0.75rem;  border-bottom-right-radius: 0.75rem;  background: #f8f8f8; }

  .notice-wrapper .notice-item { display: flex;  flex-direction: column; gap: 5px; padding:14px 0; cursor: pointer;}
  .notice-item p{font-size: 1.8rem; line-height: 2.4rem;}
  .notice-item p:last-child{font-size: 1.6rem; margin-top: 4px;}
  .notice-view-title{cursor: pointer;  font-size: 1.8rem; font-weight: bold; margin-bottom: 5px;}
  .notice-view-date{font-size: 1.6rem; margin: 10px 0;}
  .notice-view-body{font-size: 1.5rem; line-height: 2.1rem;}
  .notice-pagination-wrapper {display: flex; justify-content: center; align-items: center;  gap: 16px;  padding:50px 0;}
  .notice-view-footer button {font-size: 1.4rem; padding: 8px 10px; border-radius: 6px; background-color: #eeeeee;  font-weight: bold; cursor: pointer;}
  .notice-view-next-btn{display: flex; gap: 6px;}


  /*문의하기*/
  .sub_header{height:120px;}
  .sub_header_non{height:120px;}
  .contact_form{display:block;  gap: 20px; width: 100%;  margin-bottom:10px; justify-content: flex-start;align-items:end;}
  .contact_form .listbox_wrap{width:100%;}
  .contact_input_wrap h4{font-size: 1.6rem; margin: 10px 0;}

  
}



/* 모바일 대응 (ex. 너무 좁아질 때) */
@media (max-width:480px) {
  .notice-view-wrapper {padding-top:100px; /* 고정값으로 override */}
}

