@charset "UTF-8"; @media screen and (max-width:1600px) {
}
@media screen and (max-width:1400px) {
}
@media screen and (max-width:1080px) {
}
@media screen and (max-width:767px) {
}
@media screen and (max-width:480px) {
}

/* sub_main css */
/* .sub_main .sec02 .info_area .list li.active,
.sub_main02 .sec02 .info_area .list li.active,
.sub_main03 .sec02 .info_area .list li.active,
.sub_main04 .sec02 .info_area .list li.active {    width: 50%;
} */
/* .sub_main .sec02 .info_area .list li.active .box .text_box,
.sub_main02 .sec02 .info_area .list li.active .box .text_box,
.sub_main03 .sec02 .info_area .list li.active .box .text_box,
.sub_main04 .sec02 .info_area .list li.active .box .text_box {    background-color: unset;
    align-content: start;
    padding: 180px 50px 0;
} */
/* .sub_main .sec02 .info_area .list li,
.sub_main02 .sec02 .info_area .list li,
.sub_main03 .sec02 .info_area .list li,
.sub_main04 .sec02 .info_area .list li {    pointer-events: none;
} */
/* .sub_main .sec02 .info_area .list li:hover .box .text_box .view_btn .sub_main02 .sec02 .info_area .list li:hover .box .text_box .view_btn,
.sub_main03 .sec02 .info_area .list li:hover .box .text_box .view_btn,
.sub_main04 .sec02 .info_area .list li:hover .box .text_box .view_btn {    display: none;
} */
/* 전체 슬라이드 영역 */
.sub_main .sec03_1 { position: relative; overflow: hidden; }
.sub_main .sec03_1 .sec03_1_slide { overflow: visible !important; 
/* 중요: 부모 영역 밖으로 슬라이드가 보여야 함 */
 width: 100%; max-width: 1200px; 
/* 전체 사이트 레이아웃 기준점에 맞춤 */
 margin: 0 auto; position: relative; }
.sub_main .sec03_1 .swiper-slide { width: 1380px; 
/* 사용자 설정 유지 */
 
/* opacity: 0.35; */
 transition: all 0.4s; pointer-events: none; 
/* 비활성 슬라이드 클릭 방지 */
}

/* 활성 슬라이드 */
.sub_main .sec03_1 .swiper-slide-active { opacity: 1; pointer-events: auto; }

/* 내부 레이아웃 */
.sub_main .task_grid { display: flex; align-items: center; justify-content: space-between; gap: 0; 
/* gap 대신 좌우 영역 분할 */
 background: #fff; min-height: 520px; }

/* 왼쪽 텍스트 */
.sub_main .left_box { flex: 0 0 40%; 
/* 텍스트 영역 비율 */
 padding-left: 50px; }
.sub_main .step { font-size: 16px; margin-bottom: 20px; }
.sub_main .title { font-size: 40px; font-weight: 700; margin-bottom: 30px; }
.sub_main .text { line-height: 1.7; color: #444; }

/* 오른쪽 이미지 */
.sub_main .right_box { flex: 0 0 60%; 
/* 이미지 영역 비율 */
}
.sub_main .right_box img { width: 100%; height: auto; display: block; object-fit: cover; }

/* 버튼 */
.sub_main .sec03_1_nav { position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); display: flex; background: #8fbf00; }
.sub_main .sec03_1_prev,.sub_main .sec03_1_next { border: none; background: transparent; color: #fff; padding: 14px 20px; cursor: pointer; font-weight: 700; }
.sub_main .sec03_1_prev { border-right: 1px solid rgba(255, 255, 255, .4); }

/* =========================
   SEC03 SWIPER SCOPE ONLY
========================= */
.sub_main .sec03 { position: relative; overflow: visible; 
/* 섹션 바깥 잘림 방지 필요시 visible로 조정 */
}
.sub_main .sec03 .nsysSwiper { width: 100%; position: relative; overflow: visible; }

/* ✅ 전역 오염 방지: wrapper/slide는 sec03 안에서만 */
.sub_main .sec03 .nsysSwiper .swiper-wrapper { padding-left: calc((100vw - 1400px) / 2); overflow: visible; }

/* Slide */
.sub_main .sec03 .nsysSwiper .swiper-slide { width: 1400px; height: 520px; display: flex; flex-shrink: 0; background: #fff; overflow: hidden; transition: opacity .35s ease, filter .35s ease; }

/* 활성 슬라이드 */
.sub_main .sec03 .nsysSwiper .swiper-slide-active { opacity: 1; }

/* 내부 레이아웃 */
.sub_main .sec03 .text_box { width: 50%; padding: 80px 70px; display: flex; flex-direction: column; justify-content: center; transition: width .35s ease, padding .35s ease, opacity .25s ease; }
.sub_main .sec03 .slide-image { width: 50%; height: 100%; transition: width .35s ease; }
.sub_main .sec03 .slide-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* PC: 비활성은 텍스트 숨기고 이미지 프리뷰만 */
.sub_main .sec03 .nsysSwiper .swiper-slide:not(.swiper-slide-active) .text_box { width: 0; padding: 0; opacity: 0; overflow: hidden; }
.sub_main .sec03 .nsysSwiper .swiper-slide:not(.swiper-slide-active) .slide-image { width: 100%; }

/* =========================
   NAVIGATION WRAP
========================= */
.sub_main .sec03 .nav-wrap { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 200px; height: 60px; background: #88b92c; display: flex; align-items: stretch; z-index: 50; pointer-events: auto; }
.sub_main .sec03 .nav-wrap::after { content: ""; position: absolute; top: 18px; bottom: 18px; left: 50%; width: 1px; background: #fff; transform: translateX(-.5px); pointer-events: none; }

/* Swiper 기본 화살표 제거 (sec03 안에서만) */
.sub_main .sec03 .nav-wrap .swiper-button-prev::after,.sub_main .sec03 .nav-wrap .swiper-button-next::after { content: "" !important; }

/* 버튼 */
.sub_main .sec03 .nav-wrap .nav-btn { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; color: #fff; cursor: pointer; user-select: none; 
/* ✅ 기존 코드에서 클릭 막던 원인 */
 pointer-events: auto; }
.sub_main .sec03 .nav-wrap .nav-btn:focus-visible { outline: 2px solid rgba(255, 255, 255, .75); outline-offset: -3px; }
.sub_main .sec03 .nav-wrap .nav-label { line-height: 1; }

/* 화살표 */
.sub_main .sec03 .nav-wrap .swiper-button-prev::before { content: "‹"; font-size: 28px; font-weight: 700; position: absolute; left: 6px; top: 5px; transition: transform .2s ease; }
.sub_main .sec03 .nav-wrap .swiper-button-next::before { content: "›"; font-size: 28px; font-weight: 700; position: absolute; right: 6px; top: 5px; transition: transform .2s ease; }
.sub_main .sec03 .nav-wrap .swiper-button-prev:hover::before { transform: translateX(-5px); }
.sub_main .sec03 .nav-wrap .swiper-button-next:hover::before { transform: translateX(5px); }

/* =========================
   TABLET
========================= */
@media (max-width:1400px) {
 .sub_main .sec03 .nsysSwiper .swiper-wrapper { padding-left: 20px; }
}
@media (max-width:1300px) {
 .sub_main .sec03 .nsysSwiper { padding: 0 20px; }
 .sub_main .sec03 .text_box { width: 40%; }
 .sub_main .sec03 .nsysSwiper .swiper-slide { width: calc(100vw - 40px); height: 460px; }
}
@media (max-width:950px) {
 .sub_main .sec03 .nav-wrap { width: 170px; height: 40px; }
 .sub_main .sec03 .text_box { padding: 0px 20px; }
 .sub_main .title { font-size: 18px }
 .sub_main .text { font-size: 14px; }
}

/* =========================
   MOBILE
========================= */
@media (max-width:640px) {
 .sub_main .sec03 .nsysSwiper { padding: 0 16px; }
 .sub_main .sec03 .nsysSwiper .swiper-wrapper { padding-left: 0; }
 .sub_main .sec03 .nsysSwiper .swiper-slide { width: calc(100vw - 20px); }
 .sub_main .sec03 .nav-wrap { left: 16px; bottom: 16px; display: none }
 .sub_main .sec03 .text_box { padding: 0px 5px; }
 .sub_main .step { margin-bottom: 10px }
 .sub_main .title { font-size: 20px; 
/* margin-bottom: 10px; */
 }
}

/* ===============================
   sub_main02 sec03
================================ */
.sub_main02 .sec03 .info_wrap { position: relative; max-width: 1100px; margin: 0 auto; margin: 10px auto 0; }
.sub_main02 .sec03 .info_wrap::before { content: ""; position: absolute; background: url(/kor/images/main/sub02_03back.png) no-repeat center; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 1382px; height: 683px; }
.sub_main02 .sec03 .info_wrap>.list {}

/* .sub_main02 .sec03 .info_wrap > .list > li {margin: 80px 0 0;} */
.sub_main02 .sec03 .info_wrap>.list>li:first-child { margin: 0; }
.sub_main02 .sec03 .info_wrap>.list>li .box { display: flex; gap: 0 40px; }
.sub_main02 .sec03 .info_wrap>.list>li .box .img_box { flex-shrink: 0; }
.sub_main02 .sec03 .info_wrap>.list>li .box .img_box img { max-height: 220px; }
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box { padding: 20px 0 0; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box .title { font-weight: 700; font-size: 24px; line-height: 30px; 
/* color: #2a4b99; */
}
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box .text_list { margin: 5px 0 0; }
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box .text_list .list {}
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box .text_list .list li {}
.sub_main02 .sec03 .info_wrap>.list>li .box .text_box .text_list .list li .txt { display: inline-block; position: relative; font-weight: 400; font-size: 17px; line-height: 24px; }
.sub_main02 .sec03 .info_wrap>.list>li:nth-child(odd) .box .img_box { order: 2; }
.sub_main02 .sec03 .info_wrap>.list>li:nth-child(odd) .box .text_box { order: 1; }
@media screen and (max-width:1400px) {
 .sub_main02 .sec03 .info_wrap::before { background-size: 1100px; }
}
@media screen and (max-width:1100px) {
 .sub_main02 .sec03 .info_wrap::before { background-size: 780px; }
}
@media screen and (max-width:800px) {
 .sub_main02 .sec03 .info_wrap::before { background-size: 720px; }
}
@media screen and (max-width:730px) {
 .sub_main02 .sec03 .info_wrap>.list>li .box { flex-direction: column; max-width: 456px; margin: 0 auto; align-items: center; margin-bottom: 30px; }
 .sub_main02 .sec03 .info_wrap>.list>li:nth-child(odd) .box .img_box { order: unset; }
 .sub_main02 .sec03 .info_wrap>.list>li .box .img_box img { max-height: unset }
 .sub_main02 .sec03 .info_wrap::before { display: none; }
}

/* ===============================
   sub_main02 sec04 Application
================================ */
.sub_main02 .sec04 { background: #006f45; }
.sub_main02 .sec04 .main_title_area { margin-bottom: 36px; }
.sub_main02 .sec04 .main_title_area .title { font-size: 70px; line-height: 1.05; letter-spacing: -0.02em; color: #fff; font-weight: unset; }

/* 슬라이드 클립 */
.sub_main02 .sec04 .slider_clip { position: relative; overflow: visible; padding-bottom: 26px; }

/* 왼쪽 마스크 */
.sub_main02 .sec04 .slider_clip::before { content: ""; position: absolute; top: 0; left: calc(-1 * ((100vw - 1400px) / 1)); width: calc((100vw - 1400px) / 1); height: 100%; background: #006f45; z-index: 5; pointer-events: none; }

/* 오른쪽은 페이지 끝까지 */
.sub_main02 .sec04 .slider_extend { position: relative; width: calc(100vw - ((100vw - 1400px) / 2)); z-index: 1; }

/* Swiper */
.sub_main02 .sec04 .applicationSwiper { width: 100%; overflow: visible; }
.sub_main02 .sec04 .applicationSwiper .swiper-slide { width: 351px; }

/* 카드 */
.sub_main02 .sec04 .app-card { background: #fff; border-radius: 15px; overflow: hidden; color: #222; }
.sub_main02 .sec04 .app-card .thumb { height: 365px; }
.sub_main02 .sec04 .app-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sub_main02 .sec04 .app-card .label { margin: 0; padding: 30px 12px; text-align: center; font-size: 20px; font-weight: 700; }

/* 하단 스크롤바 */
.sub_main02 .sec04 .scrollbar_wrap { position: absolute; left: 0; right: 0; bottom: -32px; height: 14px; display: flex; align-items: center; pointer-events: none; z-index: 2; }
.sub_main02 .sec04 .applicationScrollbar { width: 100%; height: 1px; border-radius: 999px; background: rgba(255, 255, 255, .25); pointer-events: auto; }
.sub_main02 .sec04 .applicationScrollbar .swiper-scrollbar-drag { background: rgba(255, 255, 255, .85); border-radius: 999px; }

/* 반응형 */
@media (max-width:1300px) {
 .sub_main02 .sec04 .main_title_area .title { font-size: 44px; }
 .sub_main02 .sec04 .applicationSwiper .swiper-slide { width: 320px; }
 .sub_main02 .sec04 .app-card .thumb { height: 180px; }
 .sub_main02 .sec04 .slider_clip::before { left: -20px; width: 20px; }
 .sub_main02 .sec04 .slider_extend { width: 100vw; }
 .sub_main02 .sec03 .work_list { margin-bottom: 40px; }
 .sub_main02 .sec03 .right { width: 70%; }
 .sub_main02 .sec03 .card { width: 250px; height: 250px; }
 .sub_main02 .sec03 .text_wrap .title { font-size: 40px; }
 .sub_main02 .sec03 .card_list li:nth-child(1) { background-size: 60%; background-position: 114px 96px; }
 .sub_main02 .sec03 .card_list li:nth-child(2) { background-size: 60%; background-position: 130px 65px }
 .sub_main02 .sec03 .card_list li:nth-child(3) { background-size: 60%; background-position: 120px 110px }
 .sub_main02 .sec03 .card_list li:nth-child(4) { background-size: 50%; background-position: 138px 130px; }
 .sub_main02 .sec03 .card_title { padding: 30px 0 0 20px; }
}
@media (max-width:900px) {
 .sub_main02 .sec03 .left { width: 30%; }
 .sub_main02 .sec03 .text_wrap .title { font-size: 30px; }
}
@media (max-width:770px) {
 .sub_main02 .sec03 .left { width: 28%; }
 .sub_main02 .sec03 .right { width: 80%; }
 .sub_main02 .sec03 .text_wrap .title { font-size: 30px; margin-bottom: 34px; }
 .sub_main02 .sec04 .main_title_area .title { font-size: 24px; }
 .sub_main02 .sec03 .card_list { gap: 16px; }
 .sub_main02 .sec03 .card_title { padding: 30px; }
 .sub_main02 .sec03 .card_title .title { font-size: 24px; }
 .sub_main02 .sec04 .app-card .label { font-size: 16px; }
}
@media (max-width:767px) {
 .sub_main02 .sec03 .view_more_area { flex-direction: column; gap: 48px; }
 .sub_main02 .sec03 .left,.sub_main02 .sec03 .right { width: 100%; }
 .sub_main02 .sec03 .title { font-size: 32px; }
 .sub_main02 .sec03 .desc { font-size: 14px; }
 .sub_main02 .sec03 .card_list>.card:nth-child(2),.sub_main02 .sec03 .card_list>.card:nth-child(4) { transform: translateY(0); }
 
/* 업무 리스트 → 가로 스크롤 */
 .sub_main02 .sec03 .work_list { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 20px; }
 .sub_main02 .sec03 .work_list li { white-space: nowrap; flex-shrink: 0; }
 
/* 카드 → 1열 */
 .sub_main02 .sec03 .card_list { justify-content: center; }
}
@media (max-width:600px) {
 .sub_main02 .sec04 .applicationSwiper .swiper-slide { width: 240px; }
}
@media (max-width:540px) {
 .sub_main02 .sec03 .card_list>.card:nth-child(1),.sub_main02 .sec03 .card_list>.card:nth-child(3) { transform: translateX(-40px); }
 .sub_main02 .sec03 .card_list>.card:nth-child(2),.sub_main02 .sec03 .card_list>.card:nth-child(4) { transform: translateX(40px); }
}

/* ===============================
   sub_main03 sec03
================================ */
/* ===============================
   sub_main03 sec03
================================ */
/* 배경 원형 + 워터마크 */
.sub_main03 .sec03::before,.sub_main04 .sec03::before { content: ""; position: absolute; left: 50%; top: 100px; width: 100%; height: 100%; transform: translate(-50%, 0); background: url(/kor/images/main/sub03_con03_back.png) no-repeat center; background-size: min(1382px, 80vw); pointer-events: none; }

/* 리스트 */
.sub_main03 .sec03 .info_area,.sub_main04 .sec03 .info_area { position: relative; z-index: 2; margin-top: 164px; }
.sub_main03 .sec03 .info_area .list,.sub_main04 .sec03 .info_area .list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; list-style: none; padding: 0; margin: 0; }

/* 아이템 */
.sub_main03 .sec03 .info_area .list li,.sub_main04 .sec03 .info_area .list li { position: relative; 
/* 연결선 기준점 */
 text-align: center; }

/* ✅ 들쑥날쑥 */
.sub_main03 .sec03 .info_area .list li:nth-child(1),.sub_main03 .sec03 .info_area .list li:nth-child(3),.sub_main04 .sec03 .info_area .list li:nth-child(1),.sub_main04 .sec03 .info_area .list li:nth-child(3) { transform: translateY(-54px); }

/* 이미지 카드 (최종값: 294x278) */
.sub_main03 .sec03 .info_area .list li .thumb,.sub_main04 .sec03 .info_area .list li .thumb { width: 294px; height: 278px; overflow: hidden; background: #fff; box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12), 0 6px 10px rgba(0, 0, 0, 0.08); border: 1px solid #999; }
.sub_main03 .sec03 .info_area .list li .text,.sub_main04 .sec03 .info_area .list li .text { padding-top: 40px; }
.sub_main03 .sec03 .info_area .list li .thumb img,.sub_main04 .sec03 .info_area .list li .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ✅ 이미지 ↔ 텍스트 연결선 (thumb 높이 278 기준) */
.sub_main03 .sec03 .info_area .list li::after,.sub_main04 .sec03 .info_area .list li::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); top: calc(278px + 0px); width: 1px; height: 40px; background: #88be40; }
.sub_main03 .sec03 .info_area .list li::before,.sub_main04 .sec03 .info_area .list li::before { content: ""; position: absolute; left: 50%; top: calc(278px + 40px); transform: translateX(-50%); width: 8px; height: 8px; border-radius: 50%; background: #88be40; }

/* 타이틀 (점 포함) */
.sub_main03 .sec03 .info_area .list li .item_tit,.sub_main04 .sec03 .info_area .list li .item_tit { margin: 0 0 10px; font-size: 16px; font-weight: 800; color: #111; position: relative; padding-top: 20px; }

/* 설명 */
.sub_main03 .sec03 .info_area .list li .item_desc,.sub_main04 .sec03 .info_area .list li .item_desc { font-size: 14px; }

/* ===============================
   반응형 (추가만)
================================ */
/* 1024 이하: 2열로 떨어지고, 들쑥날쑥/선은 해제(깨짐 방지) */
@media (max-width:1024px) {
 .sub_main03 .sec03 .info_area,.sub_main04 .sec03 .info_area { margin-top: 110px; }
 .sub_main03 .sec03 .info_area .list,.sub_main04 .sec03 .info_area .list { flex-wrap: wrap; gap: 28px; }
 
/* 고정폭이라도 2열에서 균형 맞추기 */
 .sub_main03 .sec03 .info_area .list li,.sub_main04 .sec03 .info_area .list li { transform: none; }
}
@media screen and (max-width:767px) {
 .sub_main .sec02 .info_area .list li.active .box .text_box,.sub_main02 .sec02 .info_area .list li.active .box .text_box,.sub_main03 .sec02 .info_area .list li.active .box .text_box,.sub_main04 .sec02 .info_area .list li.active .box .text_box { padding: 0 10px; align-content: center; background-color: rgba(0, 0, 0, 0.7); }
 .sub_main03 .sec03 .info_area .list li:nth-child(1),.sub_main03 .sec03 .info_area .list li:nth-child(3),.sub_main04 .sec03 .info_area .list li:nth-child(1),.sub_main04 .sec03 .info_area .list li:nth-child(3) { transform: translateY(0); }
}

/* 560 이하: 1열 + thumb를 화면에 맞춤 */
@media (max-width:560px) {
 .sub_main03 .sec03 .info_area,.sub_main04 .sec03 .info_area { margin-top: 30px; }
 .sub_main03 .sec03 .info_area .list li,.sub_main04 .sec03 .info_area .list li { width: 100%; max-width: 340px; margin: 0 auto; }
 .sub_main03 .sec03 .info_area .list li .thumb,.sub_main04 .sec03 .info_area .list li .thumb { width: 100%; height: 240px; }
 .sub_main03 .sec03 .info_area .list li .text,.sub_main04 .sec03 .info_area .list li .text { padding-top: 0; }
 .sub_main03 .sec03 .info_area .list li:nth-child(1),.sub_main03 .sec03 .info_area .list li:nth-child(3),.sub_main04 .sec03 .info_area .list li:nth-child(1),.sub_main04 .sec03 .info_area .list li:nth-child(3) { transform: unset; }
 .sub_main03 .sec03 .info_area .list li .item_tit,.sub_main04 .sec03 .info_area .list li .item_tit { padding-top: 50px; }
 .sub_main03 .sec03 .info_area .list li::before,.sub_main04 .sec03 .info_area .list li::before { top: calc(278px + -10px); height: 8px; }
 .sub_main03 .sec03 .info_area .list li::after,.sub_main04 .sec03 .info_area .list li::after { top: calc(278px + -38px); height: 30px; }
 
/* 주요업무 라인 */
 
	
/* .sub_main03 .sec03 .info_area .list li::after,
	    .sub_main04 .sec03 .info_area .list li::before {display: none;}
	    
	    .sub_main03 .sec03 .info_area .list li::before,
	    .sub_main04 .sec03 .info_area .list li::before {top: calc(278px + -30px);}
	.sub_main03 .sec03 .info_area .list li::after, .sub_main04 .sec03 .info_area .list li::after{display: none}
	    
	  .sub_main03 .sec03 .info_area .list li::after,
	    .sub_main04 .sec03 .info_area .list li::after {display: none;} */
}
.lnb { border-bottom: 1px solid #dfdfdf; }

/* ul 기본: 한 줄 탭 */
.lnb .lnb_wrap>ul { display: flex; align-items: stretch; flex-wrap: nowrap; 
/* PC/태블릿은 한 줄 */
 gap: 50px; 
/* 간격 */
 margin: 0; padding: 0; list-style: none; }

/* li는 내용 기반 */
.lnb ul li { width: auto; }
.lnb ul li a { position: relative; display: flex; align-items: center; justify-content: center; height: 80px; font-size: 20px; line-height: 1.3; letter-spacing: -0.05em; white-space: nowrap; 
/* PC에서는 한 줄 유지 */
 text-decoration: none; color: inherit; }
.lnb ul li.active a { font-weight: 700; }
.lnb ul li.active a:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #006f45; }

/* 1080 이하: 간격/높이 축소 */
@media screen and (max-width:1080px) {
 .lnb .lnb_wrap>ul { gap: 24px; }
 .lnb ul li a { font-size: 16px; height: 64px; }
}

/* 767 이하: 스크롤 금지 + 자동 줄바꿈(그리드처럼) */
@media screen and (max-width:767px) {
 .lnb .lnb_wrap>ul { flex-wrap: wrap; 
/* 줄바꿈 */
 gap: 10px; padding: 12px 16px; 
/* 모바일 좌우 여백 */
 }
 
/* 2열 고정이 가장 무난 */
 .lnb ul li { width: calc(50% - 5px); }
 .lnb ul li a { width: 100%; height: 48px; font-size: 14px; white-space: normal; 
/* 모바일에서는 줄바꿈 허용 */
 text-align: center; padding: 0 10px; }
 .lnb ul li.active a:after { height: 2px; }
}

/* 접근성 포커스 */
.lnb ul li a:focus-visible { outline: 2px solid #006f45; outline-offset: 2px; }
.sub_cont { margin-bottom: 200px; padding-top: 100px; }

/* 포트폴리오 */
.sub_cont .top_wrap { position: relative; height: 22.15vw; 
/* 1400px 기준 ≈ 310px */
 min-height: 220px; 
/* 모바일에서 최소 높이 */
 max-height: 310px; 
/* PC에서는 310px 이상 커지지 않음 */
 overflow: hidden; 
/* 이미지가 넘치면 깔끔히 자름 */
}
.sub_cont .top_wrap .bg_img { position: absolute; inset: 0; }
.sub_cont .top_wrap .bg_img img { width: 100%; height: 100%; object-fit: cover; 
/* 핵심 */
 object-position: center; 
/* 필요 시 top/center 조정 */
 display: block; }
.sub_cont .top_wrap .title { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 1380px; box-sizing: border-box; color: #fff; padding-left: 20px; }
.sub_cont .top_wrap .title h1 { font-size: 70px; margin-bottom: 20px; font-weight: 700; }
.sub_cont .top_wrap .title p { font-size: 18px; }
.sub_cont .container .breadcrumb { display: flex; justify-content: end; margin-top: 20px; }
.sub_cont .container .breadcrumb .list li { position: relative; display: inline-block; margin: 0 10px 0 0; padding: 0 24px 0 0; 
/* 화살표 공간 확보 */
 vertical-align: middle; }

/* 🔹 구분자: 슬래시 → 이미지 */
.sub_cont .container .breadcrumb .list li::before { content: ""; position: absolute; right: 0; top: 50%; width: 12px; 
/* 화살표 이미지 크기 */
 height: 12px; transform: translateY(-50%); background: url("/kor/images/sub/home_arrow.png") no-repeat center; background-size: contain; }

/* 마지막 항목은 구분자 제거 */
.sub_cont .container .breadcrumb .list li:last-child { margin: 0; padding: 0; }
.sub_cont .container .breadcrumb .list li:last-child::before { display: none; }

/* 텍스트 */
.sub_cont .container .breadcrumb .list li .txt { display: block; font-weight: 400; font-size: 16px; line-height: 20px; }

/* 홈 아이콘 */
.sub_cont .container .breadcrumb .list li.home .txt { width: 17px; height: 20px; background: url("/kor/images/sub/home_icon.png") no-repeat center; }

/* 현재 페이지 강조 */
.sub_cont .container .breadcrumb .list li .txt { font-weight: 700; }
.sub_cont .container .breadcrumb .list li .txt img { vertical-align: middle; }
.sub_cont .container .com_title_area { margin-top: 82px; }
.sub_cont .container .com_title_area .title { font-size: 36px; font-weight: 700; }

/* ===============================
   PORTFOLIO LIST
================================ */
.container.portfolio_wrap .portfolio_list { margin-top: 30px; }

/* grid */
.container.portfolio_wrap .portfolio_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 42px; 
/* 이미지 느낌 그대로 */
 list-style: none; padding: 0; margin: 0; }

/* item */
.container.portfolio_wrap .portfolio_grid .item a { display: block; color: inherit; text-decoration: none; }

/* thumb */
.container.portfolio_wrap .portfolio_grid .thumb { width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #f2f2f2; }
.container.portfolio_wrap .portfolio_grid .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* text */
.container.portfolio_wrap .portfolio_grid .text { padding-top: 10px; }
.container.portfolio_wrap .portfolio_grid .tit { font-size: 16px; font-weight: 700; color: #222; margin-bottom: 6px; line-height: 1.4; }
.container.portfolio_wrap .portfolio_grid .desc { font-size: 14px; line-height: 1.55; 
/* 줄수 제한 */
 display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.container.portfolio_wrap .portfolio_grid .item::after { content: ""; position: absolute; left: 0; bottom: -22px; width: 100%; height: 1px; background: #dcdde3; }
.container.portfolio_wrap .portfolio_grid .item { position: relative; padding-bottom: 22px; 
/* 선 자리 확보 */
}

/* ===============================
   PAGINATION
================================ */
.container.portfolio_wrap .paging { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 44px; }
.container.portfolio_wrap .paging .btn { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #e5e5e5; background: #fff; position: relative; }
.container.portfolio_wrap .paging .btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; border-top: 1px solid #666; border-right: 1px solid #666; transform: translate(-50%, -50%) rotate(45deg); }
.container.portfolio_wrap .paging .btn.prev::before { transform: translate(-50%, -50%) rotate(-135deg); }
.container.portfolio_wrap .paging .num { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0; }
.container.portfolio_wrap .paging .num li a { font-size: 12px; color: #b9b9b9; }
.container.portfolio_wrap .paging .num li.active a { color: #111; font-weight: 700; }

/* ===============================
   RESPONSIVE
================================ */
@media (max-width:1400px) {
 .sub_cont { padding-top: 90px; }
 .sub_cont .top_wrap .title h1 { font-size: 50px; }
 .sub_cont .top_wrap .title p { font-size: 16px; }
 
	
/* .sub_cont .top_wrap {        height: 21.4vw;     
        min-height: 220px; 
        max-height: 360px;  
        overflow: hidden;
    } */
 .sub_cont .container .com_title_area { margin-top: 40px; }
}
@media (max-width:1080px) {
 .sub_cont { padding-top: 60px; }
}

/* 태블릿 */
@media (max-width:1024px) {
 .container.portfolio_wrap .portfolio_grid { grid-template-columns: repeat(2, 1fr); gap: 36px 28px; }
 .sub_cont .top_wrap .title { padding: 0 20px; }
}

/* 모바일 */
@media (max-width:800px) {
 .sub_cont .container.portfolio_wrap .com_title_area { margin-bottom: 20px; }
}
@media (max-width:640px) {
 .container.portfolio_wrap .portfolio_grid { grid-template-columns: 1fr; gap: 32px; }
 .container.portfolio_wrap .paging { gap: 14px; }
 .container.portfolio_wrap .paging .num { gap: 10px; }
 .sub_cont .top_wrap .title h1 { font-size: 30px; }
 .sub_cont .top_wrap .title p { font-size: 14px; }
 .sub_cont .container .com_title_area .title { font-size: 20px; }
}

/* 상세보기 */
/* ===============================
   Portfolio View
================================ */
.container.portfolio_wrap .pf_view_head { display: flex; justify-content: space-between; align-items: flex-start; padding: 22px; border-bottom: 1px solid #ddd; }
.container.portfolio_wrap .pf_title { margin: 0 0 20px; font-size: 22px; font-weight: 700; }
.container.portfolio_wrap .pf_meta { font-size: 16px; display: flex; align-items: center; gap: 12px; }
.container.portfolio_wrap .pf_meta .date { color: #666; }
.container.portfolio_wrap .pf_view_head .right { font-size: 16px; align-self: flex-end; }
.container.portfolio_wrap .pf_view_head .right .views { font-weight: 700; margin-right: 6px; }
.container.portfolio_wrap .pf_view_head .right .data { color: #666; }

/* 이미지 박스 */
.container.portfolio_wrap .pf_view_body { padding: 34px 26px; }
.container.portfolio_wrap .pf_view_body iframe { width: 100%; aspect-ratio: 16 / 9; }
.container.portfolio_wrap .pf_img_box { border: 1px solid transparent; background: #fff; }
.container.portfolio_wrap .pf_img_box img { width: 100%; height: auto; display: block; }

/* 목록 버튼 */
.container.portfolio_wrap .pf_view_actions { display: flex; justify-content: center; padding: 18px 0 28px; }
.container.portfolio_wrap .btn_list { min-width: 160px; height: 40px; line-height: 40px; text-align: center; border-radius: 4px; background: #7aa31d; 
/* 캡처 느낌의 그린 */
 color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.container.portfolio_wrap .pf_view_nav { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.container.portfolio_wrap .pf_view_nav .row { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-top: 1px solid #eee; font-size: 16px; }
.container.portfolio_wrap .pf_view_nav .row:first-child { border-top: none; }

/* label */
.container.portfolio_wrap .pf_view_nav .label { width: 80px; display: flex; align-items: center; gap: 20px; }

/* 화살표 */
.container.portfolio_wrap .pf_view_nav .label .arrow { width: 10px; height: 10px; background: url("/kor/images/sub/top_arrow.png") no-repeat center; background-size: contain; }

/* 이전/다음 방향 */
.container.portfolio_wrap .pf_view_nav .row.prev .arrow { transform: rotate(0deg); }
.container.portfolio_wrap .pf_view_nav .row.next .arrow { transform: rotate(180deg); }

/* value */
.container.portfolio_wrap .pf_view_nav .value { flex: 1; }
.container.portfolio_wrap .pf_view_nav .value a { color: #777; text-decoration: none; }
.container.portfolio_wrap .pf_view_nav .value a:hover { text-decoration: underline; }
.container.portfolio_wrap .pf_view_nav .value a.disabled { color: #777; pointer-events: none; }

/* ===============================
   Responsive
================================ */
@media (max-width:768px) {
 .container.portfolio_wrap .pf_view_head { flex-direction: column; gap: 12px; }
 .container.portfolio_wrap .pf_view_head .right { padding-top: 0; }
 .container.portfolio_wrap .pf_img_box { padding: 14px; }
}
@media (max-width:480px) {
 .container.portfolio_wrap .pf_title { font-size: 15px; }
 .container.portfolio_wrap .pf_view_nav .label { width: 56px; }
}

/* 정보센터 */
/* 접근성 */
.sr_only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ===============================
   INFO CENTER
================================ */
/* 타이틀 아래 구분선 */
.info_wrap .com_title_area { padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid #ddd; }
.info_wrap .com_title_area .title { font-size: 18px; font-weight: 800; color: #111; }

/* 게시판 영역 */
.info_wrap .info_board { margin-top: 14px; }

/* ===============================
   TABLE
================================ */
.info_wrap .info_table { width: 100%; border-collapse: collapse; border-spacing: 0px; border-top: 2px solid #868686; }
.info_wrap .info_table thead th { height: 53px; padding: 9px 5px; color: #333; font-size: 16px; line-height: 1.5em; background: #fafafa; border-bottom: 1px solid #ddd; }
.info_wrap .info_table tbody td { height: 40px; padding: 9px 5px; color: #505050; font-size: 16px; line-height: 1.5em; text-align: center; border-bottom: 1px solid #ddd; }
.info_wrap .info_table tbody tr:hover { background: #fcfcfc; }

/* 제목 */
.info_wrap .info_table .td_title { text-align: left; }
.info_wrap .info_table .td_title a { display: block; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #505050; font-size: 18px; line-height: 1.5em; }
.info_wrap .info_table .td_title a:hover { text-decoration: underline; }

/* 공지 배지 */
.info_wrap .badge { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 24px; padding: 4px 12px; border-radius: 4px; background: #7aa31d; font-size: 14px; font-weight: 500; color: #fff; }

/* ===============================
   PAGINATION
================================ */
.info_wrap .paging { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 30px; }
.info_wrap .paging .btn { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #e5e5e5; background: #fff; position: relative; }
.info_wrap .paging .btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; border-top: 1px solid #666; border-right: 1px solid #666; transform: translate(-50%, -50%) rotate(45deg); }
.info_wrap .paging .btn.prev::before { transform: translate(-50%, -50%) rotate(-135deg); }
.info_wrap .paging .num { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0; }
.info_wrap .paging .num li a { font-size: 16px; color: #b9b9b9; text-decoration: none; }
.info_wrap .paging .num li.active a { color: #111; font-weight: 700; }

/* ===============================
   RESPONSIVE
================================ */
@media (max-width:768px) {
 .info_wrap .info_table colgroup,.info_wrap .info_table thead { display: none; }
 .info_wrap .info_table,.info_wrap .info_table tbody,.info_wrap .info_table tr,.info_wrap .info_table td { display: block; width: 100%; }
 .info_wrap .info_table tr { padding: 14px 0; border-bottom: 1px solid #eee; }
 .info_wrap .info_table tbody td { border: 0; padding: 0; text-align: left; font-size: 12px; }
 .info_wrap .info_table tbody td:first-child { margin-bottom: 6px; }
 .info_wrap .info_table .td_title { margin: 6px 0 10px; height: auto; }
 .info_wrap .info_table .td_title a { white-space: normal; line-height: 1.45; }
 .info_wrap .info_table tr td:nth-child(3),.info_wrap .info_table tr td:nth-child(4),.info_wrap .info_table tr td:nth-child(5) { display: inline-block; margin-right: 10px; font-size: 14px; color: #333; }
}
@media (max-width:480px) {
 .info_wrap .paging { gap: 14px; }
 .info_wrap .paging .num { gap: 10px; }
}

/* 홍보센터 */
/* ===============================
   PROMO LIST
================================ */
.promo_wrap .portfolio_list { margin-top: 30px; }

/* grid */
.promo_wrap .portfolio_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 42px; list-style: none; padding: 0; margin: 0; }

/* item */
.promo_wrap .portfolio_grid .item a { display: block; color: inherit; text-decoration: none; }

/* thumb */
.promo_wrap .portfolio_grid .thumb { width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #f2f2f2; }
.promo_wrap .portfolio_grid .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* text */
.promo_wrap .portfolio_grid .text { padding-top: 10px; }
.promo_wrap .portfolio_grid .tit { font-size: 16px; font-weight: 700; color: #222; margin-bottom: 6px; line-height: 1.4; text-align: center; }
.promo_wrap .portfolio_grid .desc { font-size: 12px; line-height: 1.55; 
/* 줄수 제한 */
 display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* item 하단 구분선 */
.promo_wrap .portfolio_grid .item { position: relative; }

/* ===============================
   PAGINATION
================================ */
.promo_wrap .paging { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 44px; }
.promo_wrap .paging .btn { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #e5e5e5; background: #fff; position: relative; }
.promo_wrap .paging .btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 1px solid #666; border-right: 1px solid #666; transform: translate(-50%, -50%) rotate(45deg); }
.promo_wrap .paging .btn.prev::before { transform: translate(-50%, -50%) rotate(-135deg); }
.promo_wrap .paging .num { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0; }
.promo_wrap .paging .num li a { font-size: 20px; color: #b9b9b9; }
.promo_wrap .paging .num li.active a { color: #111; font-weight: 700; }
@media screen and (max-width:1080px) {
 .promo_wrap .portfolio_grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width:480px) {
 .promo_wrap .portfolio_grid { grid-template-columns: repeat(1, 1fr); }
}

/* 이미지 게시판 공통 */
/* =========================
   Board Gallery (Common)
========================= */
.sub_cont .container .com_title_area { padding-bottom: 16px; margin-bottom: 60px; border-bottom: 1px solid #999; }
.board_gallery .board_gallery_list { margin-top: 40px; }

/* grid */
.board_gallery .board_gallery_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 22px; }

/* item */
.board_gallery .item { list-style: none; }

/* thumb frame: 문서형(자격/면허) */
.board_gallery .thumb { border: 1px solid #e6e6e6; background: #fff; overflow: hidden; border-radius: 6px; aspect-ratio: 3 / 4; 
/* ✅ 자격증/스캔 문서 비율 */
 display: flex; align-items: center; justify-content: center; }
.board_gallery .thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; object-fit: contain; 
/* ✅ 안 잘리게 */
}

/* title */
.board_gallery .text { margin-top: 10px; }
.board_gallery .tit { font-size: 16px; font-weight: 700; color: #222; margin-bottom: 6px; line-height: 1.4; text-align: center; }

/* ===============================
   PAGINATION
================================ */
.board_gallery .paging { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 44px; }
.board_gallery .paging .btn { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #e5e5e5; background: #fff; position: relative; }
.board_gallery .paging .btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 1px solid #666; border-right: 1px solid #666; transform: translate(-50%, -50%) rotate(45deg); }
.board_gallery .paging .btn.prev::before { transform: translate(-50%, -50%) rotate(-135deg); }
.board_gallery .paging .num { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0; }
.board_gallery .paging .num li a { font-size: 20px; color: #b9b9b9; }
.board_gallery .paging .num li.active a { color: #111; font-weight: 700; }

/* =========================
   Responsive
========================= */
@media screen and (max-width:1400px) {
 .board_gallery .board_gallery_grid { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width:1080px) {
 .board_gallery .board_gallery_grid { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
}
@media screen and (max-width:480px) {
 .board_gallery .board_gallery_grid { grid-template-columns: 1fr; }
}

/* 연혁 */
.history_wrap .history_section { display: flex; width: 100%; min-height: 100vh; align-items: flex-start; gap: 70px; }
.history_wrap .history_info { display: flex; position: relative; flex-direction: column; gap: 32px; height: fit-content; align-self: flex-start; }
.history_wrap .history_info_desc { display: flex; flex-direction: column; gap: 10px; word-break: keep-all; }
.history_wrap .history_info_desc span { font-size: 17px; }
.history_wrap .history_info_desc .point { font-size: 22px; font-weight: 700; color: #88be40; }
.history_wrap .history_info img { width: 668px; height: 502px; object-fit: contain; display: block; }
.history_wrap .history_timeline { position: relative; display: flex; flex-direction: column-reverse; width: 100%; padding: 0 20px 0 114px; }
.history_wrap .timeline_line { position: absolute; left: 30px; top: 0; width: 2px; height: 100%; background: #e0e0e0; z-index: 1; }
.history_wrap .timeline_fill { position: absolute; left: 30px; top: 0; width: 2px; height: 0%; background: #88be40; z-index: 2; transition: height 0.08s linear; }
.history_wrap .timeline_point { position: absolute; left: 30px; top: 0%; transform: translate(-50%, -50%); width: 13px; height: 13px; background: #88be40; border-radius: 50%; z-index: 4; box-shadow: 0 0 0 6px rgba(136, 190, 64, 0.3); transition: top 0.08s linear; }
.history_wrap .timeline_section { position: relative; margin-bottom: 100px; }

/* .history_wrap .timeline_section:last-child { margin-bottom: 0; } */
.history_wrap .year_header { position: relative; margin-bottom: 40px; font-size: 50px; color: #999999; transition: color 0.2s ease, font-weight 0.2s ease; }
.history_wrap .year_header.is_active { font-weight: 800; color: #88be40; }
.history_wrap .timeline_item { display: flex; position: relative; padding: 26px 0; border-top: 1px solid #d6d6d6; font-size: 20px; opacity: 0.2; transform: translateY(8px); transition: opacity 0.35s ease, transform 0.35s ease; }
.history_wrap .timeline_item:last-child { border-bottom: 1px solid #d6d6d6; }
.history_wrap .timeline_item.is_visible { opacity: 1; transform: translateY(0); }
.history_wrap .timeline_item span { font-weight: 700; margin-right: 24px; }
.history_wrap .timeline_item p { margin: 0; }
@media screen and (max-width:1600px) {
}
@media screen and (max-width:1400px) {
 .history_wrap .history_section { gap: 40px; }
 .history_wrap .timeline_section { margin-bottom: 60px; }
}
@media screen and (max-width:1080px) {
 .history_wrap .history_section { gap: 20px; }
 .history_wrap .history_timeline { padding: 0px 20px 0 80px; }
 .history_wrap .timeline_item { font-size: 18px; }
 .history_wrap .history_info { gap: 0; }
}
@media screen and (max-width:800px) {
 .history_wrap .history_section { flex-direction: column; }
 .history_wrap .history_info img { object-fit: cover; }
 .history_wrap .history_info_desc { margin-bottom: 20px; }
 .history_wrap .year_header { font-size: 30px; }
 .history_wrap .timeline_item { font-size: 16px; padding: 18px 0; }
 .history_wrap .timeline_section { margin-bottom: 50px; }
}
@media screen and (max-width:480px) {
 .history_wrap .history_timeline { padding: 0px 10px 0 60px; }
 .history_wrap .timeline_line { left: 20px; }
 .history_wrap .timeline_fill { left: 20px; }
 .history_wrap .timeline_point { left: 20px; }
}


/* 메인조직도 */
.organ_box { max-width: 1100px; margin: 0 auto; position: relative; padding: 80px 20px 160px; }

/* ================= CEO ================= */
.organ_top { position: relative; text-align: center; }
.organ_top::after { content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 260px; background: #999; transform: translateX(-50%); }
.organ_top .text { width: 300px; margin: 0 auto; line-height: 60px; border-radius: 50px; background: #666; color: #fff; font-size: 20px; font-weight: 700; }

/* ================= support ================= */
.organ_mid_wrap { position: relative; margin-top: 80px; display: flex; justify-content: space-between; }

/* 중앙 가로선 */
.organ_mid_wrap::before { content: ""; position: absolute; left: 0; right: 0; top: 30px; height: 1px; background: #999; }
.organ_mid { width: 300px; position: relative; }
.organ_mid .text { background: #d3d3d3; border-radius: 30px; line-height: 50px; text-align: center; font-size: 18px; }

/* 자문기술단 세로 연결 */
.organ_mid.right { text-align: center; }
.organ_mid.right .sub { margin-top: 20px; background: #d3d3d3; border-radius: 30px; line-height: 50px; font-size: 18px; position: relative; }
.organ_mid.right .sub::before { content: ""; position: absolute; width: 100%; left: -80px; top: 50%; height: 1px; background: #999; transform: translateX(-50%); z-index: -99; }

/* ================= 하단 4개 ================= */
.organ_btm { margin-top: 60px; }
.organ_btm .list { position: relative; display: flex; justify-content: space-between; }

/* 상단 가로선 */
.organ_btm .list::before { right: 0; background: #999; display: block; content: ""; position: absolute; left: 50%; transform: translateX(-50%); top: 0; width: 840px; height: 1px; }

/* 각 세로선 */
.organ_btm .list li { position: relative; padding-top: 60px; }
.organ_btm .list li::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 61px; background: #999; transform: translateX(-50%); }
.organ_btm .box { width: 220px; height: 80px; border-radius: 14px; text-align: center; line-height: 80px; color: #fff; font-weight: 700; font-size: 18px; }
.bg_green { background: #8cc63f; }


.organ_mid_wrap.left_none::before { width: 50%; left: unset; }
.org_section.sup_none .organ_top::after { height: 60px; }
.org_section.sup_none .organ_btm .box { width: 280px; }
.org_section.sup_none .organ_btm .list::before { width: 780px;}


.org_section.safety .organ_box{padding: 80px 0px 160px;}
.org_section.safety .organ_top{}
.org_section.safety .organ_top::after{height: 200px;}
.org_section.safety .organ_top_wrap{}
.org_section.safety .organ_top_wrap .organ_mid{}
.org_section.safety .organ_top_wrap .organ_mid.left{	display: inline-block; position: relative; /* padding: 0 195px 0 0; */ margin:40px 0 0 0px;}
.org_section.safety .organ_top_wrap .organ_mid.left::before{display: block; content: ""; position: absolute; left: 250px; transform: translateY(-50%); top: 50%; width: calc(100%); height: 1px; background-color: #999; z-index: -99;}
.org_section.safety .organ_mid_wrap{align-items: center; margin-top: 0;}
.org_section.safety .organ_mid_wrap::before{width: 50%; right: 0px; left: unset; top: 50%; transform: translateY(-50%);}
.org_section.safety .organ_mid_wrap .organ_mid.center{}
.org_section.safety .organ_mid_wrap .organ_mid.right{position: relative;}
.org_section.safety .organ_mid_wrap .organ_mid.right::before{
   content: "";
   position: absolute;
   left: 50%;
   top: 50px;
   width: 1px;
   height: 61px;
   background: #999;
   transform: translateX(-50%);
}
.org_section.safety .organ_btm{}
.org_section.safety .organ_btm .list{}
.org_section.safety .organ_btm .list li{}
.org_section.safety .organ_btm .list::before{width: 900px;}
.org_section.safety .organ_btm .list li .box{width: 200px;}



/* ================= 반응형 ================= */
@media (max-width:1140px) {
   .org_section{max-width: 774px; margin: 0 auto;}
   .organ_top .text{width: 200px;}
   .organ_mid{width: 200px;}
   .organ_mid.right .sub::before {left: -68px;}
   .organ_btm .box {width: 150px; height: 70px; line-height: 70px; font-size: 16px;}
   .organ_btm .list::before{width: 586px;}

   .org_section.sup_none .organ_btm .list::before { width: 534px;}
   .org_section.sup_none .organ_btm .box { width: 200px;}

   .org_section.safety .organ_btm .list li{padding-top: 40px;}
   .org_section.safety .organ_btm .list li .box{width: 130px;}
   .org_section.safety .organ_btm .list::before{width: 644px;}
   .org_section.safety .organ_top_wrap .organ_mid.left::before {left: 188px;}
   .org_section.safety .organ_btm .list li::before{height: 40px;}
}
@media (max-width:810px) {
   .organ_top .text { width: 160px; }
   .organ_mid_wrap{ margin-top: 50px; }
   .organ_top .text { font-size: 18px; }
   .organ_top::after{ height: 230px; }
   .organ_mid { width: 160px; }
   .organ_mid.right .sub::before { left: -40px; }
   .organ_mid .text { font-size: 16px; }
   .org_section{ max-width: 600px; }
   .organ_btm .box { width: 120px; height: 60px; line-height: 60px; font-size: 14px; font-weight: 500; }
   .organ_btm .list::before { width: 442px;}


   .org_section.sup_none .organ_btm .list::before { width: 402px; }
   .org_section.sup_none .organ_btm .box { width: 160px;}

   .org_section.safety .organ_top_wrap .organ_mid.left::before {left: 140px;}
   .org_section.safety .organ_btm .list::before {width: 500px;}
   .org_section.safety .organ_btm .list li .box {width: 100px;}
}

@media (max-width:635px) {
 .org_section { max-width: 480px; margin: 0 auto; }
 .organ_box { padding: 50px 20px 80px; }
 .organ_top .text { width: 140px; font-size: 14px; line-height: 35px; }
 .organ_top::after { height: 370px; }
 .organ_mid_wrap { display: flex; justify-content: space-between; margin-top: 20px; }
 .organ_mid_wrap::before { display: block; top: 25px; }
 .organ_mid { width: 45%; }
 .organ_mid .text { font-size: 14px; line-height: 40px; }
 .organ_mid.right .sub { margin-top: 14px; font-size: 14px; line-height: 40px; }
 .organ_mid.right .sub::before { width: 22%; left: 0; }
 .organ_btm { margin-top: 0px; }
 .organ_btm .list { flex-direction: column; }
 .organ_btm .list::before { display: none; }
 .organ_btm .list li { padding: 20px 0 0; }
 .organ_btm .list li::before { height: 0px; }
 .organ_btm .box { width: 100%; height: auto; line-height: normal; padding: 16px 10px; border-radius: 0; }


 .org_section.sup_none .organ_top::after { height: 170px;}
 .org_section.sup_none .organ_btm .box { width: 100%;}
 /* .org_section.sup_none .organ_btm .list{ width: 402px;} */

 .org_section.safety .organ_top_wrap .organ_mid.left::before{width: 111%;
   left: 0;}
 .org_section.safety .organ_mid_wrap{margin-top: 20px;}
 .org_section.safety .organ_btm .list li .box{width: 100%;}
 .org_section.safety .organ_btm .list li{padding-top: 20px}
 .org_section.safety .organ_btm .list li::before{height: 20px;}
 .org_section.safety .organ_mid_wrap{margin-top: 20px;
   flex-direction: column;
   gap: 4px;}
   .org_section.safety .organ_mid_wrap::before{display: none;}
   
}




/* CEO */
/* =========================
   CEO PAGE SCOPE
   모든 클래스는 .ceo_wrap 로 시작
========================= */
.ceo_wrap { width: 100%; }
.ceo_wrap .ceo_head { margin-top: 12px; }
.ceo_wrap .ceo_head_title { margin: 0 0 10px; font-size: 28px; font-weight: 800; letter-spacing: -0.4px; color: #111; }
.ceo_wrap .ceo_head_line { height: 1px; background: #e6e6e6; width: 100%; }
.ceo_wrap .ceo_grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 38px; align-items: start; }

/* 상단 프로필 */
.ceo_wrap .ceo_col { width: 100%; }
.ceo_wrap .ceo_profile { display: flex; align-items: flex-end; gap: 18px; }
.ceo_wrap .ceo_photo {}
.ceo_wrap .ceo_photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.ceo_wrap .ceo_info { padding-bottom: 60px; }
.ceo_wrap .ceo_info .ceo_text { font-size: 16px; }
.ceo_wrap .ceo_role { font-size: 13px; font-weight: 700; color: #6b6b6b; margin-bottom: 6px; }
.ceo_wrap .ceo_name { margin-top: 30px; position: relative; display: inline-block; }
.ceo_wrap .ceo_name::after { content: ""; position: absolute; width: 120px; height: 50px; }
.ceo_wrap .ceo_name.name01::after { background: url(/kor/images/sub/ceo01_name.png) no-repeat center; top: 50%; left: 110px; transform: translateY(-50%); }
.ceo_wrap .ceo_name.name02::after { background: url(/kor/images/sub/ceo02_name.png) no-repeat center; top: 50%; left: 80px; transform: translateY(-50%); }
.ceo_wrap .ceo_name .ko { font-size: 20px; font-weight: 700; letter-spacing: -0.4px; color: #111; }
.ceo_wrap .ceo_name .en { font-size: 14px; font-weight: 800; color: #6b6b6b; }

/* 섹션 공통 */
.ceo_wrap .ceo_block { margin-top: 42px; }
.ceo_wrap .ceo_block.top { min-height: 155px; }
.ceo_wrap .ceo_block.bottom { min-height: 660px; }
.ceo_wrap .ceo_block_title { font-size: 20px; font-weight: 700; position: relative; padding-left: 30px; border-bottom: 1px solid #7f7f7f; padding-bottom: 10px; }
.ceo_wrap .ceo_dot { content: ""; position: absolute; top: 0; left: 0; width: 24px; height: 24px; background: url(/kor/images/sub/c_arrow.png); }
.ceo_wrap .ceo_list li { position: relative; padding-left: 13px; margin: 20px 0; font-size: 16px; }
.ceo_wrap .ceo_list li:before { content: ""; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 50%; background: #2fa66a; }

/* 타임라인 */
.ceo_wrap .ceo_timeline { margin-top: 20px; }
.ceo_wrap .ceo_timeline li { padding: 10px 0; }
.ceo_wrap .ceo_timeline li:last-child { border-bottom: 0; }
.ceo_wrap .ceo_timeline .year { width: 92px; flex: 0 0 auto; font-size: 13px; font-weight: 900; color: #222; }
.ceo_wrap .ceo_timeline .txt { font-size: 16px; }
.ceo_wrap .ceo_resp_row { display: grid; grid-template-columns: 236px 1fr; border-top: 1px solid #7f7f7f; }
.ceo_wrap .ceo_resp_row:last-child { border-bottom: 1px solid #7f7f7f; }
.ceo_wrap .ceo_resp_th { background: #eef7e2; font-size: 16px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.ceo_wrap .ceo_resp_td { padding: 12px 14px; font-size: 16px; }
.ceo_wrap .ceo_resp_td ul li { position: relative; padding-left: 12px; margin: 6px 0; }
.ceo_wrap .ceo_resp_td ul li:before { content: "-"; position: absolute; left: 0; top: 0; color: #6b6b6b; }
.org_wrap .org_section.snc .org_support { justify-content: flex-end; }

/* 반응형 */
@media (max-width:1100px) {
 .ceo_wrap .ceo_grid { grid-template-columns: 1fr; gap: 100px; }
 .ceo_wrap .ceo_photo { width: 210px; height: auto; }
 .ceo_wrap .ceo_info { padding-bottom: 20px; }
}
@media (max-width:520px) {
 .ceo_wrap .ceo_photo { width: 160px; height: auto; border-radius: 10px; }
 .ceo_wrap .ceo_info .ceo_text { font-size: 14px; }
 .ceo_wrap .ceo_name .ko { font-size: 18px; }
 .ceo_wrap .ceo_resp_row { grid-template-columns: 120px 1fr; }
 .ceo_wrap .ceo_timeline .year { width: 78px; }
 .ceo_wrap .ceo_name.name01::after { right: -50px; }
 .ceo_wrap .ceo_name.name02::after { right: -60px; }
 .ceo_wrap .ceo_resp_th { padding: 0 10px; text-align: center; }
}
@media (max-width:430px) {
 .ceo_wrap .ceo_name.name01::after { top: 30px; left: 0; transform: translateY(0); }
 .ceo_wrap .ceo_name.name02::after { top: 30px; left: 0; transform: translateY(0); }
}

/* 인사말 */
.greetings_wrap .greet { margin-top: 40px; }
.greetings_wrap .greet_grid {}
.greetings_wrap .greet_left { position: absolute; top: 593px; left: 0; z-index: 999; }
.greetings_wrap .greet_left .img_box {}
.greetings_wrap .greet_left .img_box img {}
.greetings_wrap .wm_circle { display: inline-block; width: 44px; height: 44px; border: 6px solid rgba(0, 0, 0, 0.12); border-radius: 50%; margin-left: 8px; vertical-align: middle; }
.greetings_wrap .greet_right { position: relative; }
.greetings_wrap .greet_right .img_box { max-width: 980px; margin-left: auto; margin-bottom: 180px; }
.greetings_wrap .img_box img { width: 100%; height: auto; display: block; }
.greetings_wrap .quote { font-size: 30px; margin-bottom: 70px; }
.greetings_wrap .quote span:nth-of-type(1) { font-weight: 700; color: #006f45; }
.greetings_wrap .quote span:nth-of-type(2) { font-weight: 700; }
.greetings_wrap .txt p { font-size: 20px; margin-bottom: 40px; }
.greetings_wrap .sign { margin-top: 32px; display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.greetings_wrap .sign .org { font-size: 16px; font-weight: 700; }
.greetings_wrap .sign .name { font-size: 18px; font-weight: 900; }

/* 260204추가 */
.greetings_wrap .greet_right .value_wrap { margin-bottom: 50px; }
.greetings_wrap .greet_right .value_wrap>.text { font-size: 24px; text-align: center; margin-bottom: 27px; }
.greetings_wrap .greet_right .value_wrap .list { display: flex; flex-wrap: wrap; align-items: stretch; gap: 30px; }
.greetings_wrap .greet_right .value_wrap .list .item { flex: 1 1 calc(25% - 22.5px); min-width: 220px; }
.greetings_wrap .greet_right .value_wrap .list .item .title { padding: 70px 84px; background-color: #e5e5e5; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 30px; text-align: center; }
.greetings_wrap .greet_right .value_wrap .list .item span { font-size: 30px; }
.greetings_wrap .greet_right .value_wrap .list .item .text { text-align: center; margin-top: 10px; font-size: 18px; word-break: keep-all; }

/* =========================
RESPONSIVE
========================= */
@media screen and (max-width:1400px) {
 .greetings_wrap .greet_left { display: none; }
 .greetings_wrap .greet_right .img_box { margin: auto; margin-bottom: 140px; }
}
@media (max-width:1200px) {
 .greetings_wrap .greet_right .value_wrap .list { gap: 20px; }
 .greetings_wrap .greet_right .value_wrap .list .item { flex: 1 1 calc(50% - 10px); min-width: 0; }
 .greetings_wrap .greet_right .value_wrap .list .item .title { padding: 52px 40px; font-size: 26px; }
 .greetings_wrap .greet_right .value_wrap .list .item span { font-size: 26px; }
}
@media (max-width:800px) {
 .greetings_wrap .greet_right .img_box { margin: auto; margin-bottom: 100px; }
 .greetings_wrap .quote { font-size: 24px; }
}
@media (max-width:768px) {
 .greetings_wrap .greet_right .value_wrap { margin-bottom: 36px; }
 .greetings_wrap .greet_right .value_wrap>.text { font-size: 18px; margin-bottom: 18px; }
 .greetings_wrap .greet_right .value_wrap .list { gap: 14px; }
 .greetings_wrap .greet_right .value_wrap .list .item span { font-size: 20px; }
 .greetings_wrap .greet_right .value_wrap .list .item .text { font-size: 15px; margin-top: 8px; }
}
@media (max-width:660px) {
 .greetings_wrap .sign { flex-direction: column; align-items: flex-end; gap: 4px; }
}
@media screen and (max-width:480px) {
 .greetings_wrap .greet_right .img_box { margin-bottom: 40px; }
 .greetings_wrap .quote { font-size: 18px; margin-bottom: 40px; }
 .greetings_wrap .txt p { font-size: 14px; margin-bottom: 20px; }
}

/* 주요장비 */
.proc_wrap {}
.proc_wrap img { width: 100%; height: auto; display: block; }

/* =========================
  TAB (스크린샷 느낌)
========================= */
.proc_wrap .proc_tab { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #dfe8e2; background: #fff; }
.proc_wrap .proc_tab_btn { border: 0; background: #fff; padding: 18px 0px; font-size: 20px; font-weight: 800; color: #797979; cursor: pointer; text-align: center; position: relative; }
.proc_wrap .proc_tab_btn+.proc_tab_btn { border-left: 1px solid #e7efe9; }
.proc_wrap .proc_tab_btn.is-active { color: #fff; background: #2f8f57; }
.proc_wrap .proc_tab_btn.is-active:before { position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: #1f6f45; }

/* =========================
  PANEL
========================= */
.proc_wrap .proc_panel { margin-top: 18px; }
.proc_wrap .proc_panel[hidden] { display: none !important; }

/* =========================
  TOP (좌 이미지 / 우 박스)
========================= */
.proc_wrap .proc_top { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.proc_wrap .proc_top_img { border: 1px solid #e8e8e8; background: #fff; overflow: hidden; }
.proc_wrap .proc_top_box { border: 1px solid #e8e8e8; background: #fafafa; padding: 55px 55px; display: flex; flex-direction: column; justify-content: center; }
.proc_wrap .proc_top_tit { margin: 0 0 30px; font-size: 30px; font-weight: 900; }
.proc_wrap .proc_top_txt { font-size: 20px; }
.proc_wrap .proc_top_right { color: #505050; font-size: 20px; text-align: right; margin-top: 20px; }

/* =========================
  HEAD
========================= */
.proc_wrap .doc_hd { margin-top: 16px; }
.proc_wrap .doc_tit { position: relative; padding-left: 35px; margin-bottom: 17px; font-size: 24px; font-weight: 700; }
.proc_wrap .doc_tit:after { content: ""; position: absolute; left: 0; top: 50%; background: url(/kor/images/sub/c_line_arrow.png); width: 22px; height: 22px; transform: translateY(-50%); }
.sub_sec01 .doc_hd .doc_tit { font-size: 22px; font-weight: 700; color: #222; line-height: 1.2; margin-bottom: 30px; }
.sub_sec01 .step_flow { position: relative; max-width: 1060px; margin: 0 auto; padding: 10px 10px 0; }
.sub_sec01 .step_flow_svg { position: absolute; inset: 0; width: 100%; height: auto; pointer-events: none; }
.sub_sec01 .step_flow_svg .s-line { fill: #8fc73e; stroke: #8fc73e; 
/* stroke-width: 2px; */
 stroke-linecap: round; stroke-linejoin: round; opacity: 1; }
.sub_sec01 .step_flow_list { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 0; list-style: none; padding: 0; margin: 0; }

/* 각 단계 */
.sub_sec01 .step_badge { width: 100px; height: auto; }
.sub_sec01 .step_flow_item { width: 20%; text-align: center; display: flex; flex-direction: column; align-items: center; padding: clamp(10px, 2.2vw, 30px); gap: clamp(8px, 1.2vw, 10px); justify-content: flex-start; }
.sub_sec01 .step_badge { width: clamp(58px, 7.5vw, 100px); height: auto; flex: 0 0 auto; }
.sub_sec01 .step_badge_img { display: block; width: 100%; height: auto; object-fit: contain; }
.sub_sec01 .step_no { font-size: clamp(20px, 2.2vw, 30px); font-weight: 700; color: #666666; }
.sub_sec01 .step_flow { position: relative; }

/* step 내 텍스트 */
.sub_sec01 .step_txt { margin-top: clamp(40px, 1.4vw, 18px); text-align: center; min-width: 330px; font-size: 18px; }
.proc_wrap .biz-box { text-align: center; border: 1px solid #dfdfdf; }
.proc_wrap .biz-box img { display: inline-block; width: auto; max-width: 100%; height: auto; }
#procPanel2 .sub_sec02 .biz-box,#procPanel2 .sub_sec03 .biz-box { display: flex; justify-content: space-around; align-items: center; padding: 49px 5%; gap: 10px; }
.text-red { color: #dc1919; }

/* ===== 반응형 ===== */
@media screen and (max-width:1024px) {
 .sub_sec01 .step_flow { max-width: 900px; }
 .sub_sec01 .step_icon { width: 78px; height: 78px; }
 .sub_sec01 .step_no { font-size: 28px; }
}
@media screen and (max-width:768px) {
 
	
/* 모바일에서는 SVG가 비율/위치 매칭이 깨질 수 있어 숨기고
     단계만 2열로 깔끔하게 보여주도록 처리 */
 .sub_sec01 .step_flow_svg { display: none; }
 .sub_sec01 .step_flow_list { flex-wrap: wrap; gap: 22px 16px; justify-content: center; }
 .sub_sec01 .step_flow_item { width: calc(50% - 8px); padding: 14px 10px; border: 2px solid rgba(143, 199, 61, .55); border-radius: 18px; }
}
@media screen and (max-width:420px) {
 .sub_sec01 .step_flow_item { width: 100%; }
}
.proc_wrap .biz-imgs { display: flex; margin: 0 -7px; text-align: center; }
.proc_wrap .biz-imgs .col { width: 33.33333333%; padding: 0 7px; }
.proc_wrap .biz-imgs .img { position: relative; border: 1px solid #dfdfdf; }
.proc_wrap .biz-imgs .img img { width: 100%; }
.proc_wrap .biz-imgs .txt { position: absolute; bottom: 0; left: 0; width: 100%; padding: 13px; color: #fff; line-height: 1.4em; background: rgba(0, 0, 0, .8); }
.proc_wrap .lg-txt { font-size: 20px; margin-bottom: 10px; }
.biz-table table { width: 100%; border-collapse: collapse; border-spacing: 0px; }
.biz-table table th { padding: 10px; border: 1px solid #dfdfdf; background: #519044; font-size: 18px; font-weight: 400; color: #fff; }
.biz-table table td { padding: 10px; border: 1px solid #dfdfdf; text-align: center; }
.biz-table table td.bg { background: #fafafa; }
.biz-table table td.left { padding-left: 30px; text-align: left; }
.biz-table table td.left2 { padding-left: 14px; text-align: left; }
.biz-table table thead td { background: #519044; color: #fff; }
.biz-table tr th:first-child,.biz-table tr td:first-child { border-left: 0; }
.biz-table tr th:last-child,.biz-table tr td:last-child { border-right: 0; }
.biz-table .num { padding: 1px 0; }
.biz-table .num>li { padding-left: 1em; text-indent: -1em; }
.biz-table .num>li>ol>li { padding-left: 1.2em; text-indent: -1.2em; }
.btn_cen_wrap { text-align: center !important; margin-top: 90px; }
.btn_inquiry { display: inline-block; min-width: 200px; padding: 18px 0; background: #8fc73e; color: #fff; text-align: center; font-size: 18px; line-height: 1.3em; }
.biz-table { width: 100%; font-size: 20px; }
.biz-box.center { padding: 49px; }
@media screen and (max-width:1600px) {
}
@media screen and (max-width:1400px) {
}
@media screen and (max-width:1080px) {
 .proc_wrap .proc_top_box { padding: 10px 20px; }
 .proc_wrap .proc_top_tit { font-size: 24px; }
 .proc_wrap .proc_top_txt { font-size: 16px; }
}
@media screen and (max-width:750px) {
 .proc_wrap .proc_tab_btn { font-size: 18px; padding: 14px 0px; }
 .proc_wrap .proc_top_tit { font-size: 18px; }
 .proc_wrap .proc_top_tit { margin: 0 0 20px; }
 .proc_wrap .proc_top_txt { font-size: 14px; }
 .sub_sec01 .step_txt { margin-top: 0; }
 .proc_wrap .biz-imgs { flex-direction: column; gap: 20px; }
 .proc_wrap .biz-imgs .col { width: 100%; }
 .proc_wrap .doc_tit { font-size: 20px; }
 .proc_wrap .sublist { font-size: 16px; }
 .btn_inquiry { min-width: 120px; padding: 16px 0; font-size: 16px; }
}
@media screen and (max-width:670px) {
 .proc_wrap .proc_top { grid-template-columns: auto; }
 .proc_wrap .proc_top_tit { font-size: 20px; }
 .proc_wrap .proc_top_txt { font-size: 14px }
 .sub_sec01 .step_flow_list { flex-direction: column; }
 .sub_sec01 .step_flow_item { width: 100%; }
 .sub_sec01 .step_no { font-size: 24px; }
 .sub_sec01 .step_txt { font-size: 14px; }
 .proc_wrap .proc_top_right { font-size: 14px; }
}
@media screen and (max-width:480px) {
 .proc_wrap .proc_tab_btn { font-size: 14px; padding: 8px 0px; }
 #procPanel2 .sub_sec02 .biz-box,#procPanel2 .sub_sec03 .biz-box { padding: 20px; }
}
@media (max-width:1024px) {
 .biz-table { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
 .building .biz-table table { min-width: 980px; }
 .btn_inquiry { min-width: 120px; padding: 10px 0; font-size: 14px; }
}

/* =========================
   SUB TAB (inside content)
========================= */
.proc_wrap .proc_subtab { margin: 50px 0; border: 1px solid #dfdfdf; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; }
.proc_wrap .proc_subtab_btn { border: 0; background: transparent; padding: 12px 14px; font-size: 18px; font-weight: 700; color: #666; cursor: pointer; position: relative; }
.proc_wrap .proc_subtab_btn+.proc_subtab_btn { border-left: 1px solid #e6e6e6; }
.proc_wrap .proc_subtab_btn.is-active { color: #0b6a3a; font-weight: 900; }
.proc_wrap .proc_subtab_btn.is-active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; background: #0b6a3a; 
/* 스샷 하단 초록 라인 */
}

/* panels */
/* .proc_wrap .proc_subpanels {    border-left: 1px solid #ededed;
    border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    padding: 16px 14px 18px;
} */
.proc_wrap .proc_subpanel[hidden] { display: none !important; }
.proc_wrap .sublist { 
/* margin: 0; */
 
/* padding-left: 18px; */
 font-size: 18px; line-height: 1.7; margin-bottom: 15px; }
.proc_wrap .subimg { border: 1px solid #e6e6e6; background: #fff; overflow: hidden; }
.proc_wrap .subimg img { width: 100%; height: auto; display: block; }
.proc_wrap .subdesc { margin: 10px 0 0; font-size: 11px; color: #777; line-height: 1.7; }

/* responsive */
@media screen and (max-width:767px) {
 .proc_wrap .proc_subtab { grid-template-columns: 1fr; }
 .proc_wrap .proc_subtab_btn+.proc_subtab_btn { border-left: 0; border-top: 1px solid #e6e6e6; }
 .proc_wrap .proc_subtab_btn.is-active::after { left: 10px; right: 10px; }
}
.doc-cnt { margin-bottom: 50px; }
.biz-box2 { position: relative; display: flex; align-items: center; justify-content: center; padding: 39px 5%; border: 1px solid #dfdfdf; }
.biz-box2 .img { 
/* width: 44%; */
 max-width: 440px; text-align: right; }
.biz-box2 .bar { width: 100px; height: 1px; background: #2c2c2c; margin: 0 25px 60px 20px; }
.biz-box2 .cnt { flex: 1 1 auto; min-width: 0; width: 1%; max-width: 460px; font-size: 18px; margin-bottom: 60px; }
.biz-box2 .cnt .lg-txt { color: #2c2c2c; }
.biz-box2 .info { position: absolute; right: 8%; bottom: 8%; text-align: right; }

/* before-after */
.proc_wrap .before-after { display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: center; }

/* column */
.proc_wrap .before-after .col { flex: 1; }

/* image frame */
.proc_wrap .img-box { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #fff; }
.proc_wrap .img-box img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-box.border_box { border: 1px solid #DFDFDF; aspect-ratio: unset; }
.img-box.border_box img { object-fit: scale-down; }

/* caption */
.proc_wrap .cap { display: block; margin-top: 12px; font-size: 20px; }

/* arrow */
.proc_wrap .arrow { flex-shrink: 0; }

/* =========================
   Responsive
========================= */
@media screen and (max-width:1080px) {
 .proc_wrap .before-after { gap: 40px; padding: 0 20px; }
}
@media screen and (max-width:767px) {
 .proc_wrap .before-after { flex-direction: column; gap: 20px; }
 .proc_wrap .before-after .arrow { transform: rotate(90deg); }
}
.biz-table-between { display: flex; gap: 20px; align-items: center; }
.biz-table-start { display: flex; gap: 20px; align-items: flex-start; }
.biz-table-between .img { width: 50%; }
.biz-table-between .table { width: 50%; }
.biz-consult .group { display: flex; width: 100%; }
.biz-consult .group .cnt { width: 35%; max-width: 320px; display: flex; align-items: center; margin-right: 10px; padding: 20px 25px; border: 4px solid #86bf3f; }
.biz-consult .group .cnt .inner { width: 100%; }
.biz-consult .group .cnt .tt { font-size: 20px; margin-bottom: 6px; font-weight: 700; }
.biz-consult .arrow { text-align: center; padding: 8px 0; }
.biz-consult { display: flex; flex-direction: column; align-items: center; width: 100%; gap: 10px; }
.biz-measure { display: flex; align-items: center; border: 1px solid #dfdfdf; padding: 20px 29px; }
.biz-measure .text_box { font-size: 20px; margin-left: 6%; line-height: 1.5; }
.biz-measure2 { border: 1px solid #dfdfdf; padding: 50px; color: #505050; }
.biz-measure2 ul li { font-size: 20px; }
.biz-measure2 .text_box { font-size: 20px; margin-left: 6%; }
.biz-measure2 .wrap { display: flex; align-items: flex-end; margin-top: 50px; }
.btn-bottom-qna { display: inline-block; min-width: 220px; padding: 18px 25px; background: #579643; color: #fff; text-align: center; font-size: 18px; line-height: 1.3em; }
.pf { font-size: 20px; color: #2c2c2c; letter-spacing: -.05em; text-align: center; }
.pf img { margin: 0 10px; vertical-align: middle; }
.biz-box3 { text-align: center; padding: 14px; display: flex; justify-content: space-evenly; align-items: center; border: 1px solid #dfdfdf; }
.biz-imgs2 { margin: -10px; display: flex; flex-wrap: wrap; }
.biz-imgs2>div { width: 50%; padding: 10px; }
.biz-imgs3 { padding: 30px; text-align: center; border: 1px solid #dfdfdf; color: #505050; line-height: 1.5em; }
.biz-imgs3 ul { display: flex; flex-wrap: wrap; justify-content: center; max-width: 800px; margin: 0 auto; }
.biz-imgs3 ul li { padding: 10px 6px; }
.biz-imgs3 ul li img { display: block; margin: 0 auto 6px; }
.biz-imgs3.type2 { padding: 43px; }
.biz-imgs3.type2 ul li { padding: 6px; }
.biz-imgs3.type2 ul li img { margin: 0; }
.biz-consult .arrow { text-align: center; padding: 8px 0; }

/* sub-1_02_tab02 */
@media screen and (max-width:980px) {
 .building .biz-box2 .img { max-width: 200px; }
}
@media screen and (max-width:767px) {
 .building .proc_wrap .sublist { font-size: 16px; }
}
@media screen and (max-width:680px) {
 .building .biz-box2 { flex-direction: column; }
 .building .biz-box2 .cnt { width: unset; }
 .building .proc_wrap .proc_subtab_btn { font-size: 14px; }
 .building .proc_wrap .cap { font-size: 14px; }
}

/* sub-1_02_tab03 */
@media screen and (max-width:920px) {
 .noise .biz-consult .group { flex-direction: column; }
 .noise .biz-consult .group .cnt { padding: 10px 15px; width: 100%; max-width: unset; border: 2px solid #86bf3f; }
 .noise .biz-consult .group .cnt .tt { font-size: 18px; }
 .noise .biz-table-between { flex-direction: column; align-items: flex-start }
 .noise .biz-table-between .img { width: 70%; margin: 0 auto; }
 .noise .biz-table-between .table { width: 100%; }
 .biz-table { font-size: 20px; }
 .proc_wrap .lg-txt { font-size: 20px; }
}
@media screen and (max-width:844px) {
 .noise .biz-measure { flex-direction: column; gap: 14px; align-items: flex-start; }
 .noise .biz-measure .img { margin: 0 auto; }
 .noise .biz-measure .text_box { font-size: 16px; margin: unset; }
 .noise .biz-measure2 { padding: 30px; }
 .noise .biz-measure2 ul li { font-size: 16px; }
 .noise .biz-measure2 .text_box { font-size: 16px; }
 .noise .biz-measure2 .wrap { align-items: center; }
 .biz-table { font-size: 18px; }
 .proc_wrap .lg-txt { font-size: 18px; }
}
@media screen and (max-width:670px) {
 .noise .biz-measure2 .wrap { flex-direction: column; margin-top: 20px; }
 .noise .biz-measure2 .text_box { width: 100%; margin: 10px 0 0; }
 .noise .proc_wrap .lg-txt { font-size: 16px; }
 .biz-table { font-size: 16px; }
 .proc_wrap .lg-txt { font-size: 16px; }
}
@media screen and (max-width:480px) {
 .noise .biz-consult .group .cnt .tt { font-size: 16px; }
 .noise .biz-consult .group .cnt .hypen-list { font-size: 14px; }
 .biz-table { font-size: 14px; }
 .proc_wrap .lg-txt { font-size: 14px; }
 .biz-table table th { font-size: 14px; }
 .noise .biz-table-between .img { width: 100%; margin: auto; }
}

/* Institute */
.Institute .proc_wrap .proc_subtab { grid-template-columns: repeat(2, 1fr); }
.biz-imgs4 { display: flex; justify-content: space-evenly; padding: 46px 20px; text-align: center; border: 1px solid #dfdfdf; color: #505050; line-height: 1.5em; }
.biz-imgs4 .col { padding: 0 20px; }
.biz-imgs4 .col img { display: block; margin: 0 auto 6px; }
.biz-imgs4.type2 .col img { margin-bottom: 30px; }
.biz-box4 { position: relative; display: flex; align-items: center; padding: 39px 80px; border: 1px solid #dfdfdf; }
.biz-box4 .bar { width: 150px; height: 1px; background: #2c2c2c; margin: 0 10px 0 -20px; }
.biz-box4 .cnt { flex: 1 1 auto; min-width: 0; width: 1%; }
.Institute .biz-imgs3.type2 ul li { max-width: 240px; }
@media screen and (max-width:800px) {
 .Institute .biz-imgs4 { flex-direction: column; align-items: center; gap: 30px }
}
@media screen and (max-width:460px) {
 .sub_main02 .sec03 .info_wrap>.list>li .box .text_box .title { font-size: 20px; }
 .sub_main02 .sec03 .info_wrap>.list>li .box .text_box .text_list .list li .txt { font-size: 14px; }
}

/* 환경SNC 컨텐츠 */
.biz_con { display: flex; flex-direction: column; gap: 40px; align-items: flex-start; }

/* 이미지 */
.biz-box { flex: 0 0 45%; text-align: center; }
.biz-box img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.biz_img_box .list { display: flex; justify-content: space-between; }
.biz_img_box .list .col { padding: 0 6px; }

/* 텍스트 */
.biz-text { flex: 1; }
.biz-tit { font-size: 24px; font-weight: 700; margin-bottom: 20px; border-bottom: 1px solid; display: inline-block; margin-top: 50px; }
.biz-tit.c_blue { color: #092e9d; }
.biz-tit.c_red { color: #9d0909; }
.biz-desc { font-size: 18px; }
.biz-desc li { line-height: 1.6; position: relative; padding-left: 20px; }
.biz-desc li::before { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 14px; background: url("/kor/images/sub/text_arrow.png") no-repeat center; background-size: contain; }
@media screen and (max-width:1600px) {
}
@media screen and (max-width:1400px) {
 .biz-tit { font-size: 20px; }
}
@media screen and (max-width:1080px) {
 .biz-tit { font-size: 18px; }
 .biz-desc { font-size: 16px; }
}
@media screen and (max-width:767px) {
 .biz-desc { font-size: 15px; }
 .before-after .biz_img_box .arrow.w60 { width: 60px; }
 .biz_img_box .list { flex-direction: column; gap: 10px; }
}
.biz-table-between .biz-item.flex1 { flex: 1; }
@media screen and (max-width:900px) {
 .biz-table-between .biz-item.flex1 { width: 100%; }
}
.biz_sec .biz_doc { max-width: 920px; }
.biz_sec .biz_doc_badge { display: inline-block; padding: 10px 30px; border-radius: 999px; background: #519044; color: #fff; font-weight: 700; font-size: 16px; }
.biz_sec .biz_doc_body { margin-top: 20px; }
.biz_sec .biz_doc_lv1 { margin: 0; padding-left: 18px; }
.biz_sec .biz_doc_lv1>li { margin-top: 40px; }
.biz_sec .biz_doc_tit { font-weight: 700; font-size: 20px; margin-bottom: 10px; }
.biz_sec .biz_doc_lv2 { margin: 0; padding-left: 18px; }
.biz_sec .biz_doc_lv2>li { margin-top: 10px; }
.biz_sec .biz_doc_subtit { font-size: 18px; }
.biz_sec .biz_doc_list { margin: 0; padding-left: 0; list-style: none; }
.biz_sec .biz_doc_list li { line-height: 1.7; font-size: 18px; }
.container.cadna .biz-table-start .biz-desc,.rion .biz-table-start .biz-desc { padding: 30px 0 0 30px; }
@media screen and (max-width:900px) {
 .container.cadna .biz-table-start .biz-desc,.rion .biz-table-start .biz-desc { padding: 20px 0 0 10px; }
}
@media screen and (max-width:480px) {
 .biz-table-start { flex-direction: column; }
}
.img_set .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 40px; }
.img_set .item {}
.img_set .imgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.img_set .img { border-radius: 12px; overflow: hidden; background: #f2f2f2; }
.img_set .img img { width: 100%; height: 100%; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.img_set .cap { margin-top: 10px; text-align: center; font-size: 20px; }
@media (max-width:1080px) {
 .img_set .grid { gap: 26px 24px; }
 .img_set .cap { font-size: 14px; }
}
@media (max-width:500px) {
 .img_set .grid { grid-template-columns: 1fr; gap: 22px; }
 .img_set .imgs { grid-template-columns: 1fr; gap: 10px; }
 .img_set .img img { aspect-ratio: 16 / 10; }
}
.rion .flow { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: 20px; }
.rion .step { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rion .card { width: 185px; height: 173px; border-radius: 12px; background-color: #e9eef3; background-repeat: no-repeat; background-position: center; background-size: auto 54%; }
.rion .txt { min-height: calc(1.25em * 2); display: flex; align-items: center; justify-content: center; }
.rion .txt .sub { font-size: 14px; color: #666; font-weight: 400; }
.rion .arr { width: 22px; height: 22px; flex: 0 0 22px; background: url("/kor/images/sub/dot_arrow.png") no-repeat center; background-size: contain; margin-bottom: 50px; }
@media (max-width:1280px) {
 .rion .flow { justify-content: center; gap: 16px 22px; }
}
@media (max-width:767px) {
 .rion .txt { min-height: calc(1.25em * 2); }
 .rion .txt { font-size: 14px; }
 .rion .txt .sub { font-size: 12px; }
 .rion .arr { display: none; }
}
.rion .bg1 { background-image: url("/kor/images/sub/rion_list01.png"); }
.rion .bg2 { background-image: url("/kor/images/sub/rion_list02.png"); }
.rion .bg3 { background-image: url("/kor/images/sub/rion_list03.png"); }
.rion .bg4 { background-image: url("/kor/images/sub/rion_list04.png"); }
.rion .bg5 { background-image: url("/kor/images/sub/rion_list05.png"); background-size: 30%; }
.rion .bg6 { background-image: url("/kor/images/sub/rion_list06.png"); }
.rion .architecture .biz-table-between { gap: 5%; }
.rion .architecture .item .text_box { margin-top: 10px; }
.rion .architecture .item .text_box p { font-size: 18px; margin: 10px 0; }
.biz-item.img-stack { display: flex; flex-direction: column; gap: 24px; }
.biz-item.img-stack .img_box { border-radius: 10px; overflow: hidden; background: #f2f2f2; }
.biz-item.img-stack .img_box.is-lg { width: 70%; }
.biz-item.img-stack .img_box.is-lg img { display: block; width: 100%; height: auto; }
.biz-item.img-stack .row-2 { display: flex; gap: 16px; }
.biz-item.img-stack .img_box.is-sm {}
.biz-item.img-stack .img_box.is-sm img { width: 100%; height: 100%; display: block; object-fit: cover; }
@media (max-width:1080px) {
 .biz-item.img-stack .img_box.is-lg { width: 90%; }
 .biz-item.img-stack .img_box.is-sm { height: 220px; }
}
@media (max-width:767px) {
 .biz-item.img-stack .img_box.is-lg { width: 100%; }
 .biz-item.img-stack .row-2 { grid-template-columns: 1fr; }
 .biz-item.img-stack .img_box.is-sm { height: auto; }
 .biz-item.img-stack .img_box.is-sm img { height: auto; object-fit: contain; }
}
.rion_biz .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 26px; }
.rion_biz .item { background: #e9eef3; border-radius: 12px; padding: 18px 18px 20px; text-align: center; }
.rion_biz .head { background: #fff; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; box-shadow: 0 1px 0 rgba(0, 0, 0, .04); }
.rion_biz .title { font-size: 20px; font-weight: 700; }
.rion_biz .desc { font-size: 18px; line-height: 1.7; padding: 10px 0; }
@media (max-width:1080px) {
 .rion_biz .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
 .rion_biz .item { padding: 16px; }
 .rion_biz .title { font-size: 15px; }
 .rion_biz .desc { font-size: 13px; }
}
@media (max-width:480px) {
 .rion_biz .grid { grid-template-columns: 1fr; gap: 14px; }
}

/* hk연구소 */
.hk02_01 .hk_sec01 { width: 70%; }
.hk02_01 .hk_sec01 .text_box { font-size: 20px; }
.hk02_01 .hk_sec01 .text_box .top { margin-bottom: 30px; }
.hk02_02 .hk_sec01 { width: 100%; }
.hk02_02 .hk_sec01 .text_box { font-size: 20px; }
.hk02_02 .hk_sec01 .text_box .top { margin-bottom: 30px; }
.hk02_02 .hk_sec02 { display: flex; flex-direction: column; gap: 30px; }
.hk02_02 .hk_sec02 .biz-table-start {}
.hk02_02 .hk_sec02 .biz-table-start .biz-item {}
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz_img_box {}
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz_img_box img { min-width: 470px; }
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz-text {}
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz-text .biz-tit { margin: 0 0 16px 0; }
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz-text .biz-tit.c_green { color: #5c9545; }
.hk02_02 .hk_sec02 .biz-table-start .biz-item .biz-text .biz-desc { margin: 14px 0; }
.hk02_01 .hk_sec03 .inner { max-width: 1400px; margin: 0 auto; }
.hk02_01 .hk_sec03 .card_list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.hk02_01 .hk_sec03 .card { display: flex; flex-direction: column; }
.hk02_01 .hk_sec03 .img { overflow: hidden; border: 1px solid #9d9d9d; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12); }
.hk02_01 .hk_sec03 .img img { aspect-ratio: 4 / 3; object-fit: cover; }
.hk02_01 .hk_sec03 .txt { margin-top: 14px; }
.hk02_01 .hk_sec03 .tit { display: block; font-size: 20px; font-weight: 700; margin-bottom: 6px; }
.hk02_01 .hk_sec03 .desc { font-size: 18px; line-height: 1.5; }
@media screen and (max-width:1400px) {
}
@media screen and (max-width:1080px) {
 .hk02_01 .biz-table-start { align-items: center; }
 .hk02_01 .hk_sec01 { width: 100%; }
}
@media screen and (max-width:820px) {
 .hk02_01 .hk_sec03 .card_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media screen and (max-width:767px) {
 .hk02_01 .hk_sec01 .text_box { font-size: 18px; }
 .hk02_01 .hk_sec03 .tit { font-size: 16px; }
 .hk02_01 .hk_sec03 .desc { font-size: 13px; }
 .hk02_02 .hk_sec02 .biz-table-start .biz-item .biz_img_box img { min-width: unset; }
}
@media screen and (max-width:640px) {
 .hk02_01 .biz-table-start { flex-direction: column; }
}
@media screen and (max-width:480px) {
 .hk02_01 .hk_sec03 .card_list { grid-template-columns: 1fr; gap: 20px; }
}

/* 오시는 길 */
.dir_map { border-radius: 0; overflow: hidden; background: #f2f2f2; border: 1px solid #eee; }
.dir_iframe { width: 100%; height: 560px; border: 0; display: block; }

/* 정보 영역(아래 얇은 라인 + 2줄) */
.dir_info { padding: 30px 0 0; width: 50%; margin-left: auto; }
.dir_line { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #ccc; padding-bottom: 10px; }
.dir_txt { font-size: 16px; }
.dir_ico { width: 18px; height: 18px; flex: 0 0 18px; position: relative; }
.dir_ico.is-pin::before { content: ""; position: absolute; background: url(/kor/images/sub/map_icon.png) no-repeat center; inset: 0; }
.dir_ico.is-tel::before { content: ""; position: absolute; background: url(/kor/images/sub/tell_icon.png) no-repeat center; inset: 0; }

/* ===== 반응형 ===== */
@media (max-width:1080px) {
 .dir { max-width: 100%; }
 .dir_iframe { height: 460px; }
}
@media (max-width:767px) {
 .dir_iframe { height: 320px; }
 .dir_info { width: 100%; }
 .dir_txt { font-size: 13px; }
}

/* 환경 안전 연구 */
.safety .safety_sec02 .biz-desc p { line-height: 1.7; }

/* CSS */
.pflow { display: flex; justify-content: space-between; align-items: flex-start; gap: clamp(12px, 2vw, 28px); }

/* 스텝 1개(원+화살표+오른쪽 커넥터 포함 이미지) */
.pstep { position: relative; flex: 1 1 0; min-width: 220px; 
/* 반응형 크기: 원본 최대 263px 느낌 */
 width: clamp(220px, 22vw, 263px); 
/* 원본 비율 유지 (263:240) */
 aspect-ratio: 263 / 240; background: no-repeat center / contain; }

/* 이미지 경로 */
.pstep.s1 { background-image: url("/kor/images/sub/safety_step01.png"); }
.pstep.s2 { background-image: url("/kor/images/sub/safety_step02.png"); }
.pstep.s3 { background-image: url("/kor/images/sub/safety_step03.png"); }
.pstep.s4 { background-image: url("/kor/images/sub/safety_step04.png"); }

/*
  텍스트는 "커넥터(23px)" 제외하고 원(240px) 영역에만 올라가야 함.
  263 - 240 = 23px → 오른쪽을 23px만큼 inset 처리.
*/
.pstep_inner { position: absolute; top: 0; left: 0; right: 23px; 
/* 커넥터 영역 제외 */
 bottom: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(14px, 2.2vw, 24px); padding-left: 60px; }

/* 텍스트 스타일(원 안에서 자연스럽게 스케일) */
.pstep_inner .no { font-weight: 700; font-size: clamp(13px, 1.05vw, 16px); letter-spacing: 0.02em; color: #747879; margin-bottom: clamp(6px, 0.9vw, 10px); }
.pstep_inner .tit { font-weight: 800; color: #747879; font-size: 26px; margin-bottom: clamp(10px, 1.2vw, 16px); }
.pstep_inner .lst { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 18px; }
.pstep_inner .lst li { color: #6c7176; line-height: 1.35; word-break: keep-all; }

/* 반응형: 화면 줄어들면 2줄/1줄로 자연스럽게 */
@media (max-width:1024px) {
 .pflow { flex-wrap: wrap; justify-content: center; }
 .pstep { flex: 0 0 auto; width: clamp(220px, 44vw, 263px); 
/* 2열 느낌 */
 }
}
@media (max-width:767px) {
 .safety .safety_sec04 .biz_doc_lv1 p { font-size: 20px; }
}
@media (max-width:560px) {
 .pstep { width: min(320px, 100%); 
/* 1열 */
 }
 .safety .safety_sec04 .biz_doc_lv1 p { font-size: 22px; }
 .safety .safety_sec04 .biz_doc_lv1 p { font-size: 22px; }
 .biz_sec .biz_doc_list li { font-size: 15px; }
}
.safety .safety_sec04 .biz_doc_lv1 p { font-size: 24px; font-weight: 700; margin-bottom: 30px; }
.safety .safety_sec04 .biz_doc_lv2 .biz_doc_list li { margin-bottom: 8px}
.safety_sec05 { width: 100%; }
.safety_sec05 .img_box { width: 882px; max-width: 100%; margin: 0 auto; }
.company_sec01 .c_green { color: #006b45; font-weight: 700; }
.company_sec02 .feature_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.company_sec02 .feature_item { display: flex; flex-direction: column; }
.company_sec02 .feature_thumb { border-radius: 12px; overflow: hidden; background: #f3f4f5; aspect-ratio: 16 / 9; }
.company_sec02 .feature_thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.company_sec02 .feature_title { margin: 16px 0 12px; font-size: 20px; font-weight: 700; color: #006f45; letter-spacing: -0.02em; }
.company_sec02 .feature_divider { width: 100%; height: 1px; background: #7f7f7f; margin-bottom: 14px; }
.company_sec02 .feature_desc { font-size: 18px; line-height: 1.4; word-break: keep-all; }
@media (max-width:1024px) {
 .company_sec02 .feature_grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}
@media (max-width:640px) {
 .company_sec02 .feature_grid { grid-template-columns: 1fr; gap: 22px; }
}
.company_sec03 { margin-top: 80px; }
.company_sec03 .text_box { text-align: center; margin-top: 30px; }
.company_sec03 .text_box h1 { font-size: 30px; font-weight: 700; margin-bottom: 20px}
.company_sec03 .text_box p { font-size: 20px; line-height: 1.7; }
@media screen and (max-width:800px) {
 .company_sec03 .text_box h1 { font-size: 26px; margin-bottom: 18px }
 .company_sec03 .text_box p { font-size: 18px; line-height: 1.5; }
}
@media screen and (max-width:480px) {
 .company_sec03 .text_box h1 { font-size: 20px; margin-bottom: 14px }
 .company_sec03 .text_box p { font-size: 16px; }
}
