@charset "UTF-8";
/*───────────────────────────────────────────────────────────

	" board｜errors｜goods｜service｜layout/board｜layout/display｜layout/goods "
	" layout/popup.html "

	위 폴더 및 페이지 커스텀 및 layout, navigation, button, company 관련 편집 css 파일 입니다.

	** header, footer, main 관련은 /css/skin.css 에 있습니다.

───────────────────────────────────────────────────────────*/
i.midot { display: inline-block; margin: 0 2px; }
i.midot::before { content: "·"; }
/** 인사말 **/
    #wrap:has(.ceo_wrap) .nav_wrap h6 { text-align: left; margin-left: 520px; }
    .sub_content, .sub_board { padding-top: 117px; }
    .sub_board.sub_portfolio .sp_table_wrap { overflow: auto; }
    .sub_board.sub_portfolio table { min-width: 580px; }
    .ceo_wrap { display: flex; align-items: flex-start; gap: 99px; transition: all 500ms ease-in-out; }
    .ceo_wrap .ceo_thumb { flex-shrink: 0; overflow: hidden; border-radius: 20px; margin-top: 3px; }
    .ceo_wrap .ceo_cont { width: 100%; max-width: 880px; }
    .ceo_wrap .ceo_cont .sub_title p { font-size: var(--title-44); color: var(--black-color00); line-height: 1.36; font-weight: 500; display: block; letter-spacing: -2.2px; }
    .ceo_wrap .ceo_cont .sub_title p strong { display: block; font-weight: 700; }
    .ceo_wrap .ceo_cont .sub_title b { color: var(--black-color03); font-size: var(--title-28); display: block; margin-top: 40px; font-weight: 500; line-height: 143%; letter-spacing: -0.84px; }
    .ceo_wrap .ceo_cont .sub_copy hr { display: block; border: none; width: 100%; height: 2px; position: relative; background: var(--border-color01); margin: var(--title-70) 0; }
    .ceo_wrap .ceo_cont .sub_copy hr::before { content: ""; width: 90px; height: 100%; position: absolute; left: 0; top: 0; background: var(--point-color01); }
    .ceo_wrap .ceo_cont .sub_copy > div { display: flex; flex-direction: column; gap: 33px; }
    .ceo_wrap .ceo_cont .sub_copy > div p { font-size: var(--title-19); color: var(--black-color05); font-family: var(--font-type02); line-height: 173.684%; font-weight: 400; letter-spacing: -0.77px; }
    .ceo_wrap .ceo_cont .sub_copy > div span { font-size: var(--title-20); display: flex; align-items: center; margin-top: 22px; padding-right: 25px; justify-content: right; gap: 21px; align-items: center; letter-spacing: -0.6px; font-weight: 500; }
    .ceo_wrap .ceo_cont .sub_copy > div span, .ceo_wrap .ceo_cont .sub_copy > div span strong { color: var(--black-color00); }
    .ceo_wrap .ceo_cont .sub_copy > div span strong { font-weight: 800; line-height: 100%; letter-spacing: -0.6px; }
/** 연혁 **/
    #wrap:has(.history_wrap) #footer { margin-top: clamp(20px, 20vw, 40px); }
    #wrap:has(.history_wrap) .nav_wrap { text-align: left; }
        @media screen and (min-width:860px) {
            #wrap:has(.history_wrap) { overflow: unset; }
            #wrap:has(.history_wrap) .nav_wrap { position: sticky; top: 10px; }
        }
    .history_wrap { position: relative; display: grid; grid-template-columns: 1fr 1fr; margin-top: -83px; padding-top: 100px; }
    .history_wrap .history_title { font-size: var(--title-44); color: var(--black-color01); line-height: 1.36; font-weight: 500; display: block; letter-spacing: -1.2px; margin-top: -12px; }
    .history_wrap .history_title strong { display: block; font-weight: 700; }
    .history_wrap .history_title p { position: sticky; top: 200px; }
    .history_wrap .his_line { width: 1px; position: absolute; left: 50%; transition: height 500ms; top: 0; height: 100%; background: #ddd; }
    .history_wrap .his_line .active_line { width: 1px; background: var(--point-color02); }
    .history_wrap .his_year { position: relative; padding-bottom: 81px; padding-left: 67px; }
    .history_wrap .his_year > div { position: relative; top: -30px; }
    .history_wrap .his_year strong.year { font-size: var(--title-42); letter-spacing: -1.6px; font-weight: 700; display: block; line-height: 1.7383; transition: color 500ms ease; }
    .history_wrap .his_year .data_detail { display: flex; align-items: flex-start; }
    .history_wrap .his_year .data_detail:not(:last-of-type) { margin-bottom: 18px; }
    .history_wrap .his_year .data_detail p.month { font-size: var(--title-20); line-height: 160%; font-weight: 400; min-width: 50px; color: var(--black-color03); letter-spacing: -0.5px; }
    .history_wrap .his_year .data_detail ul { display: flex; flex-direction: column; }
    .history_wrap .his_year .data_detail ul li { font-size: var(--title-20); color: var(--black-color06); margin-left: 13px; line-height: 160%; font-weight: 400; letter-spacing: 0.3px; display: flex; align-items: baseline; }
    .history_wrap .his_year .data_detail ul li::before { content: ""; width: 5px; height: 5px; border-radius: 100px; position: relative; top: -3px; margin-right: 13px; display: inline-flex; flex-shrink: 0; background: var(--black-color06); }
    .history_wrap .his_year::after { content: ""; top: 0; width: 13px; height: 13px; border-radius: 10px; left: -6px; z-index: 6; background: #ccc; position: absolute; transition: all 300ms ease; }
    .history_wrap .his_year.on strong.year { color: var(--point-color02); }
    .history_wrap .his_year.on::after { background: var(--point-color02); }
/** 조직도 **/
    .sub_chart { padding-bottom: clamp(40px, 20vw, 80px); }
    .sub_chart * { transition: all 300ms; }
    .sub_chart .chart_box { position: relative; width: 100%; height: 100%; margin-top: 22px; }
    .sub_chart .chart_box::before { content: ""; position: absolute; left: 50%; top: 30%; width: 1px; height: 40%; background: var(--border-color01); z-index: -1; }
    .sub_chart .chart_ceo { margin: 0 auto; width: 300px; height: 300px; border-radius: 300px; box-sizing: border-box; border: var(--title-30) solid var(--point-color01); background: var(--point-white); display: flex; align-items: center; text-align: center; flex-direction: column; justify-content: center; }
    .sub_chart .chart_ceo strong { font-weight: 700; color: var(--black-color01); font-size: var(--title-40); line-height: 100%; margin-top: 15px; }
    .sub_chart .chart_ceo p { font-weight: 500; margin-top: 16px; font-size: var(--title-28); color: var(--black-color03); }
    .sub_chart .chart_step ul { width: 90%; display: flex; gap: 40px; margin: 0 auto; }
    .sub_chart .chart_step ul.ct_depth2  { margin-top: 120px; }
    .sub_chart .chart_step ul.ct_depth3  { gap: 12px; flex-wrap: wrap; padding-top: 50px; position: relative; }
    .sub_chart .chart_step ul.ct_depth3::before {
        content: "";
        width: calc(50% + 4px);
        height: 1px;
        background: var(--border-color01);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 25px;
    }
    .sub_chart .chart_step ul.ct_depth3::after {
        content: "";
        width: 1px;
        height: 25px;
        background: var(--border-color01);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 0;
    }
    .sub_chart .chart_step ul.ct_depth3 li { position: relative; }
    .sub_chart .chart_step ul.ct_depth3 li::before {
        content: "";
        width: 1px;
        height: 25px;
        background: var(--border-color01);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -25px;
        z-index: -1;
    }
    .sub_chart .chart_step ul.ct_depth3 li { width: calc(100% / 2 - 6px); font-size: var(--title-18); color: var(--black-color06); font-weight: 400; line-height: 1; letter-spacing: -0.54px; background: #fff; border-radius: 10px; box-shadow: 0 0 0 2px var(--black-color08) inset; padding: calc(var(--title-30) + 1px) 10px; display: inline-flex; align-items: center; justify-content: center;}
    .sub_chart .chart_step ul li { width: 100%; box-sizing: border-box; border-radius: 10px; text-align: center; padding: var(--title-30); }
    .sub_chart .chart_step ul li:has(ul) { padding: 0; }
    .sub_chart .chart_step .ct_adviser {position: relative;background: #5E6C82;color: var(--point-white);font-size: var(--title-20);font-weight: 400;font-family: var(--font-type02);max-width: 200px;line-height: 1;}
    .sub_chart .chart_step .ct_adviser::after { content: ""; box-sizing: border-box; position: absolute; width: 9px; height: 9px; border-radius: 50px; border: 2px solid var(--black-color06); background: var(--point-white); }
    .sub_chart .chart_step .ct_adviser::after { top: 50%; transform: translateY(-50%); left: -4px; }
    .sub_chart .chart_step .ct_vice { position: relative; font-weight: 400; max-width: 300px; color: var(--point-white); font-size: var(--title-28); font-family: var(--font-type02); background: var(--point-color02); letter-spacing: -0.84px; }
    .sub_chart .chart_step .ct_vice::after { content: ""; box-sizing: border-box; position: absolute; width: 9px; height: 9px; border-radius: 50px; border: 2px solid #007600; background: var(--point-white); }
    .sub_chart .chart_step .ct_vice::after { top: -4px; left: calc(50% - 4px); }
    .sub_chart .chart_step .ct_depth2 li p { background: #5E6C82; color: var(--point-white); max-width: 200px; min-width: 150px; width: 100%; letter-spacing: -0.6px; margin: 0 auto; padding: var(--title-30); border-radius: 10px; box-sizing: border-box; }
    .sub_chart .chart_step .ct_depth3 li p { background: var(--point-white); color: var(--black-color06); max-width: 200px; min-width: 150px; width: 100%; outline: 2px solid var(--black-color08); outline-offset: -2px; font-size: var(--title-18); font-weight: 500; letter-spacing: -0.54px; line-height: 1.1115; }
    .sub_chart .chart_step.col5 { padding-top: 123px; width: 100%; max-width: 1160px; margin: 0 auto; }
    .sub_chart .chart_step.col5 ul { display: flex; justify-content: center; gap: 40px; position: relative; }
    .sub_chart .chart_step ul.ct_depth2::before { content: ""; position: absolute; left: 50%; transform: translateX(-50%); top: -62px; width: calc(60% + 27px); height: 1px; background: var(--border-color01); }
    .sub_chart .chart_step ul.ct_depth2 > li { font-size: var(--title-20); font-weight: 400; line-height: 100%; position: relative; }
    .sub_chart .chart_step ul.ct_depth2 > li::after { content: ""; box-sizing: border-box; position: absolute; width: 9px; height: 9px; border-radius: 50px; border: 2px solid var(--black-color03); background: var(--point-white); }
    .sub_chart .chart_step ul.ct_depth2 > li::after { top: -4px; left: calc(50% - 4px); }
    .sub_chart .chart_step ul.ct_depth2 > li::before { content: ""; position: absolute; width: 1px; background: var(--border-color01); left: 50%; top: -62px; height: 62px; }

    .sub_chart .chart_step.right, .sub_chart .chart_step.left { width: 50%; flex-shrink: 0; }
    .sub_chart .chart_step.right {margin-left: auto;display: flex;align-items: center;}
    .sub_chart .chart_step.right::before { content: ""; display: block; max-width: 220px; width: 100%; height: 1px; margin-right: 7px; background: var(--border-color01); }
    .sub_chart .chart_step.center { padding-top: 16px; }
    .sub_chart .chart_step.center ul { display: flex; justify-content: center; align-items: center; }

    .chart_box + .title_desc{margin-top: clamp(40px, 4vw, 60px);}
    .title_desc + .title_desc{margin-top: 10px;}
    .title_desc{display: flex;gap: 4px;font-size: var(--title-20);width: fit-content;margin: 0 auto;}
    .title_desc :where(dt, dd) {font-size: 125%;line-height: 1.5;}
    .title_desc dt{font-weight: 500;color: var(--black-color03);flex-shrink: 0;}
    .title_desc dd{font-weight: 400; color: var(--black-color06);}

/** 면허/인증현황 **/
    .sub_license_wrap { margin-top: 18px; width: 100%; }
    .sub_license_wrap .certify_area { width: 100%; }
    .sub_license_wrap .certify_area:not(:first-of-type) { margin-top: 138px; }
    .sub_license_wrap .certify_area > p { color: var(--black-color01); font-size: var(--title-30); font-weight: 500; line-height: 1.3; text-align: center; margin-bottom: 38px; }
    .sub_license_wrap .certify_area > ul { width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); text-align: center; gap: 50px 25px; }
    .sub_license_wrap .certify_area > ul * { transition: all 500ms ease; }
    .sub_license_wrap .certify_area > ul li { width: 100%; }
    .sub_license_wrap .certify_area > ul li .thumb { border: 1px solid var(--border-color01); display: block; margin-bottom: 20px; }
    .sub_license_wrap .certify_area > ul li .thumb img { width: 100%; height: 100%; object-fit: contain; }
    .sub_license_wrap .certify_area > ul li p { word-break: keep-all; line-height: 1.46; font-family: var(--font-type02); font-weight: 500; font-size: var(--title-16); letter-spacing: -0.6px; color: var(--black-color03); }
/** 파트너 협력사 **/
    .partnerList { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px 30px; margin: 0 auto; margin-top: 18px; max-width: 1350px; }
    .partnerList li { border-radius: 6px; border: 1px solid var(--border-color01); overflow: hidden; height: 80px; box-sizing: border-box; }
    .partnerList li img { width: 100%; height: 100%; object-fit: contain; }
/** 오시는 길 **/
    .sub_contact > section:not(:first-of-type) { margin-top: 80px; }
    .sub_contact .contact_map { margin-top: 19px; }
    .sub_contact .contact_map * { transition: all 400ms; }
    .sub_contact .root_daum_roughmap { width: 100%; height: 100%; display: block; box-shadow: 0 0 0 1px var(--border-color01) inset; }
    .sub_contact .root_daum_roughmap .wrap_map{height: 100% !important;}
    .sub_contact .contact_map .mapping { width: 100%; box-sizing: border-box; display: flex; gap: 40px; height: 520px;}
    .sub_contact .contact_map .mapping .map_img { width: 100%; max-width: 390px; }
    .sub_contact .contact_map .mapping iframe { width: 100%; height: 100%; display: block; box-shadow: 0 0 0 1px var(--border-color01) inset; }
    .sub_contact .contact_map .map_info { display: flex; gap: clamp(20px, 6vw, 102px); margin-top: 40px; }
    .sub_contact .contact_map .map_info dt { font-size: var(--title-20); color: var(--black-color01); font-weight: 800; letter-spacing: -0.6px; }
    .sub_contact .contact_map .map_info dd { font-size: var(--title-18); color: var(--black-color06); font-weight: 400; margin-top: 20px; letter-spacing: -0.5px; }
    .sub_contact .contact_guide { display: grid; grid-template-columns: repeat(auto-fill, minmax(480px, 1fr)); gap: 60px; }
    .sub_contact .contact_guide .gd_icon { display: inline-flex; width: 40px; height: 40px; border-radius: 4px; background: url() no-repeat center center/contain; background-size: 60%; }
    .sub_contact .contact_guide .guide_bus .gd_icon { background-color: var(--point-color01); background-image: url("../images/sub/icon_bus.svg"); }
    .sub_contact .contact_guide .guide_metro .gd_icon { background-color: var(--point-color02); background-image: url("../images/sub/icon_metro.svg"); }
    .sub_contact .contact_guide .gd_tit { display: flex; align-items: center; gap: 20px; font-size: var(--title-20); font-weight: 700; letter-spacing: -0.6px; color: var(--black-color01); margin-bottom: 15px; }
    .sub_contact .contact_guide .gd_info { border-bottom: 1px solid var(--border-color01); width: 100%; box-sizing: border-box; padding: 19px 0 20px; display: grid; grid-template-columns: 0.26655fr 1fr; }
    .sub_contact .contact_guide .gd_info:first-of-type { border-top: 1px solid var(--border-color01); }
    .sub_contact .contact_guide .gd_info strong { font-size: var(--title-20); min-width: 100px; font-weight: 700; letter-spacing: -0.5px; color: var(--black-color03); line-height: 1.5; }
    .sub_contact .contact_guide .gd_info > div { display: flex; flex-direction: column; gap: 20px; }
    .sub_contact .contact_guide .gd_info dl { display: flex; gap: 19px; align-items: center; align-items: center; }
    .sub_contact .contact_guide .gd_info dl dt { font-size: var(--title-16); font-weight: 300; display: block; line-height: 1; padding: 8px 0 6px 0; min-width: 60px; text-align: center; border-radius: 4px; align-self: baseline; }
    .sub_contact .contact_guide .gd_info dl dt.label_green { background: #3CB44A; color: #fff; }
    .sub_contact .contact_guide .gd_info dl dt.label_purple { background: #996CAC; color: #fff; }
    .sub_contact .contact_guide .gd_info dl dt.label_red { background: #DC2B20; color: #fff; }
    .sub_contact .contact_guide .gd_info dl dt.label_blue { background: #2B75E4; color: #fff; }
    .sub_contact .contact_guide .gd_info dl dd { font-size: var(--title-20); color: var(--black-color01); gap: 6px 32px; display: flex; letter-spacing: -0.6px; font-weight: 600; }
/** 프로젝트 포트폴리오 슬라이드 영역 **/
    .sub_tit{position: relative; font-size: var(--title-20); box-sizing: border-box;}
        .sub_tit.hd{margin-bottom: clamp(15px, 4vw, 30px);}
        .sub_tit.hd_lg{margin-bottom: clamp(20px, 5vw, 62px);padding-top: 0.4vw;}
        .sub_tit.cen{text-align: center;}
    .sub_tit h3{font-size: 220%;font-weight: 600;color: var(--black-color00);line-height: 1.36;}
    .sub_tit h4{font-size: 180%;font-weight: 500;color: var(--black-color03);line-height: 1.3;}
    .sub_tit h4 + p{margin-top: clamp(8px, 2vw, 15px);}
    .sub_tit p{font-size: 90%; font-weight: 400; color: var(--black-color06); line-height: 1.45;}
    #wrap:has(.portfolio_wrap) #contents_wrap{width: 100%; max-width: 100%;}
    .portfolio_wrap{position: relative; background: var(--gray-bg02); padding:140px 0;}
    .portfolio_slide {width: 100%;position: relative;box-sizing: border-box;}
    .portfolio_slide .pf_slide_area { overflow: hidden; }
    .portfolio_slide .swiper-slide a, .portfolio_slide .swiper-slide span { display: block; }
    .portfolio_slide .swiper-slide .thumb { overflow: hidden; outline: 1px solid var(--border-color01); outline-offset: -1px; }
    .portfolio_slide .swiper-slide .thumb img { width: 100%; height: 100%; object-fit: cover; }
    .portfolio_slide .swiper-slide strong { font-size: var(--title-20); color: var(--black-color00); font-weight: 500; line-height: 1.4; display: block; letter-spacing: -0.6px; margin-top: var(--title-20); }
    .portfolio_slide .portfolio-button-next, .portfolio_slide .portfolio-button-prev { width: 50px; height: 50px; border-radius: 100%; box-shadow: 1px 4px 11px rgba(183, 183, 183, 0.35); top: calc(50% - 18px); transform: translateY(-50%); position: absolute; background: #fff; cursor: pointer; z-index: 3; }
    .portfolio_slide .portfolio-button-next::before, .portfolio_slide .portfolio-button-prev::before { content: ""; background: url("../images/sub/slide_arrow.svg") no-repeat center center; background-size: 10px; width: 100%; height: 100%; display: block; }
    .portfolio_slide .portfolio-button-prev { left: -25px; }
    .portfolio_slide .portfolio-button-next { right: -25px; }
    .portfolio_slide .portfolio-button-next::before { rotate: 180deg; }
    .facility_thumb_box { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 60px;  transition: all 300ms;}
    .facility_thumb_box > div .thumb { overflow: hidden; outline: 1px solid var(--border-color01); outline-offset: -1px; }
    .facility_thumb_box > div strong { font-size: var(--title-20); color: var(--black-color00); font-weight: 500; line-height: 100%; display: block; letter-spacing: -0.6px; margin-top: var(--title-20); }
        
        /* 반응형 */
        
        @media (width <= 1680px) {
            .history_wrap .his_year > div { top: -27px; }
        }
        @media (width <= 1400px) {
            /** CEO 인사말**/
            #wrap:has(.ceo_wrap) .nav_wrap h6 { margin-left: 370px; }
            .ceo_wrap { gap: 50px; }
            .ceo_wrap .ceo_thumb { max-width: 320px; }
            /** 오시는 길 **/
            .sub_contact .contact_guide .gd_info strong { min-width: 120px; }
        }
        @media (width <= 1200px) {
            /** 오시는 길 **/
            .sub_contact .contact_map .map_info { gap: 40px; }
        }
        @media (width <= 1024px) {
            .for_mos { width: 100%; }
            .portfolio_wrap{padding:clamp(70px, 14vw, 140px) 0;}
            .portfolio_slide {padding: 0 30px;}
            .portfolio_slide .portfolio-button-prev{left:0;}
            .portfolio_slide .portfolio-button-next{right:0;}
            .sub_content, .sub_board { padding-top: 60px; }
            
            /* 신사업 */
            .facility_thumb_box { grid-template-columns: repeat(2, 1fr); margin: 0 auto 40px; max-width: 600px; }
            /** CEO 인사말**/
            #wrap:has(.ceo_wrap) .nav_wrap h6 { margin-left: 304px; }
            .ceo_wrap { gap: 40px; }
            .ceo_wrap .ceo_thumb { max-width: 260px; border-radius: 10px; }
            .ceo_wrap .ceo_cont b { margin-top: 20px; text-wrap: balance; }
            .ceo_wrap .ceo_cont b br { display: none; }
            /** 조직도 **/
            .sub_chart .chart_ceo { width: max(29.298vw, 220px); height: max(29.298vw, 220px); }
            .sub_chart .chart_step.col5 { padding-top: 70px; }
            .sub_chart .chart_step.col5 ul { gap: 15px; }
            .sub_chart .chart_step.col5 ul::before { width: calc(80% + 13px); top: -35px; }
            .sub_chart .chart_step.col5 ul li { padding: var(--title-30) 15px; }
            .sub_chart .chart_step.col5 ul li::before { height: 35px; top: -35px; }
            .sub_chart .chart_step .ct_depth2 li { min-width: unset; }
            /** 오시는 길 **/
            .sub_contact .contact_map .map_info { gap: 20px; flex-direction: column; }
            .sub_contact .contact_map .map_info dl { display: flex; align-items: center; gap: 10px; }
            .sub_contact .contact_map .map_info dl dt { align-self: baseline; min-width: 100px; }
            .sub_contact .contact_map .map_info dl dd { margin-top: 0; }
            .sub_contact .contact_guide { grid-template-columns: 1fr; }
            .sub_contact .contact_guide .gd_info > div { gap: 10px; }
            .sub_contact .contact_guide .gd_info dl dd { gap: 20px; }
            .sub_contact .contact_map .mapping  { height: 320px; }
            .sub_contact .contact_map .mapping .map_img { max-width: 240px; }
            /** 연혁 **/
            .history_wrap { display: flex; flex-direction: column; gap: 40px; overflow: unset; }
            .history_wrap .his_line { left: 10px; top: -10px; }
            .history_wrap .history_title { width: 100%; box-sizing: border-box; }
            .history_wrap .history_title strong { text-wrap: balance; }
            .history_wrap .history_title strong br { display: none; }
            .history_wrap .history_box { position: relative; overflow: hidden; padding: 20px 10px; }
            .history_wrap .his_year { padding-left: 30px; padding-bottom: 30px; }
            .history_wrap .his_year:last-of-type { padding-bottom: 0; }
            .history_wrap .his_year > div { top: -23px; }
            .history_wrap .his_year .data_detail p.month { min-width: 40px; }
            /** 파트너 협력사 **/
            .partnerList { gap: 20px; }
            .partnerList li { border-radius: 3px; }
        }
        @media (width <= 860px) {
            /** 연혁 **/
            .history_wrap { padding-bottom: 40px; }
            .history_wrap .his_year .data_detail ul li::before { top: -5px; margin-right: 7px; width: 3px; height: 3px; }
            /** CEO 인사말 **/
            #wrap:has(.ceo_wrap) .nav_wrap h6 { margin-left: 0; text-align: center; }
            .ceo_wrap { flex-direction: column; align-items: center; text-align: center; gap: var(--title-30); }
            .ceo_wrap .ceo_cont .sub_copy > div { gap: var(--title-30); }
            .ceo_wrap .ceo_cont .sub_copy > div p { text-wrap: pretty; }
            .ceo_wrap .ceo_cont .sub_copy > div p br { display: none; }
            .ceo_wrap .ceo_cont .sub_copy > div span { justify-content: center; padding-right: 0; }
            .ceo_wrap .ceo_cont .sub_copy hr { margin: var(--title-40) 0; }
            .ceo_wrap .ceo_cont .sub_title b { margin-top: 20px; }
            /** 조직도 **/
            .sub_chart .chart_step.col3 ul { gap: 30px; }
            .sub_chart .chart_step.col3 ul::before { width: calc(60% + 16px); }
            .sub_chart .chart_step .ct_depth3 li { min-width: unset; }
            /** 오시는 길 **/
            .sub_contact .contact_guide .gd_info strong { min-width: 120px; }
            .sub_contact > section:not(:first-of-type) { margin-top: 60px; }
            .sub_contact .contact_guide { gap: 40px; }
            /** 파트너 협력사 **/
            .partnerList { gap: 15px; }
            /** 면허/인증현황 **/
            .sub_license_wrap .certify_area > ul { display: flex; flex-wrap: wrap; }
            .sub_license_wrap .certify_area > ul li { width: calc(50% - 13px); }
        }
        @media (width <= 720px) {
            /*  조직도 */
            .sub_chart .chart_step ul { width: 100%; gap: 3vw; }
            .sub_chart .chart_step ul.ct_depth3 { padding-top: 25px; }
            .sub_chart .chart_step ul.ct_depth3::before { content: none; }
            .sub_chart .chart_step ul.ct_depth3 li { width: 100%; }
            .sub_chart .chart_step .ct_depth2 li p { max-width: unset; min-width: unset; }
            .title_desc :where(dt, dd){font-size: 110%;}
            /* 오시는길 */
            .sub_contact .contact_map .mapping { height: 240px; gap: 20px; }
            .sub_contact .contact_map .mapping .map_img { max-width: 180px; height: 100%; }
            .sub_contact .contact_map .mapping .map_img img { height: 100%; object-fit: cover; }
        }
        @media (width <= 640px) {
            /** 연혁 **/
            .history_wrap .his_year > div { top: -21px; }
            .history_wrap .his_year .data_detail p.month { min-width: 30px; }
            /** 면허/인증현황 **/
            .sub_license_wrap .certify_area > ul li p { text-wrap: balance; }
            .sub_license_wrap .certify_area > ul li p br { display: none; }
            /* 오시는길 */
/*             .sub_contact .contact_map .mapping { height: auto; flex-direction: column; }
            .sub_contact .contact_map .mapping iframe { height: 320px; }
            .sub_contact .contact_map .mapping .map_img { max-width: 100%; width: 100%; } */
        }
        @media (width <= 470px) {
            /** 조직도 **/
            .sub_chart .chart_ceo { width: 180px; height: 180px; }
            .sub_chart .chart_step.center { padding-top: 40px; }
            .sub_chart .chart_step.col5 { padding-top: 40px; }
            .sub_chart .chart_step.col3 { padding-top: 40px; }
            .sub_chart .chart_step.col3 ul { flex-direction: column; gap: 40px; }
            .sub_chart .chart_step.col3 ul::before { content: none; }
            .sub_chart .chart_step .ct_depth3 li { width: 100%; max-width: 720px; }
            .sub_chart .chart_step.col5 ul { flex-direction: column; align-items: center; }
            .sub_chart .chart_step.col5 ul::before { content: none; }
            .sub_chart .chart_step.col5 ul li:not(:first-child,:last-child)::before { content: none; }
            .sub_chart .chart_step .ct_vice, .sub_chart .chart_step .ct_depth2 li { width: 100%; max-width: 720px; }
            .sub_contact .contact_guide .gd_info dl { gap: 5px 19px; }
            /** 파트너 협력사 **/
            .partnerList { grid-template-columns: repeat(2, 1fr); }
            /** 면허/인증현황 **/
            .sub_license_wrap .certify_area > ul li .thumb { margin-bottom: 15px; }
        }
        @media screen and (max-width:479px) {
            /** 조직도 **/
            .sub_chart .chart_box::before { top: 15%; height: calc(27% + 2px); }
            .sub_chart .chart_step.col5 { position: relative; }
            .sub_chart .chart_step.col5::before { position: absolute; width: 1px; }
            .sub_chart .chart_step.col5 ul { gap: 20px; }
            .sub_chart .chart_step.col3 ul { gap: 20px; }
            .sub_chart .chart_step.col3 ul li::before { height: 20px; top: -20px; }
            .sub_chart .chart_step.col5 ul li::before { height: 15px; top: -15px; }
            /** 오시는 길 **/
            .sub_contact .contact_map .map_info dl dt { min-width: 80px; }
            .sub_contact .contact_map .mapping { flex-direction: column; height: auto; }
            .sub_contact .contact_map .mapping iframe { height: 70vw; }
            .sub_contact .contact_map .mapping .map_img { max-width: unset; width: 100%; height: 70vw; }
            .sub_contact .contact_map .mapping .map_img img { width: 100%; object-position: top; }
            /** 연혁 **/
            .history_wrap .his_year > div { top: -18px; }
            .history_wrap .his_year .data_detail { flex-direction: column; }
            .history_wrap .his_year .data_detail ul li { margin-left: 0; }
            /** 면허/인증현황 **/
            .sub_license_wrap .certify_area > ul { gap: 30px 20px; }
            .sub_license_wrap .certify_area > ul li { width: calc(50% - 10px); }
        }
        @media screen and (max-width:380px) {
            /** 오시는 길 **/
            .sub_contact .contact_guide .gd_info { grid-template-columns: 1fr; gap: 15px; }
        }
        @media screen and (max-width:359px) {
            /** 연혁 **/
            .history_wrap .his_year > div { top: -16px; }
            /** 면허/인증현황 **/
            .sub_license_wrap .certify_area > ul { grid-template-columns: repeat(1, 1fr); }
        }

/* 채용 프로세스 */
    .sub_process .process_list{display: flex;flex-wrap:wrap;gap:40px;position: relative;max-width: 1150px;margin: 0 auto;}
    .sub_process .process_list li{box-sizing:border-box;position: relative;width: calc(100% / 5 - 32px);text-align: center;}
    .sub_process .process_list li .circle_box{width:100%;height:0;padding-bottom:100%;position: relative;background: #d9d9d9;border-radius:100%;z-index:3;}
    .sub_process .process_list li .circle_box:after{content:"";position: absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;border-radius:100%;}
    .sub_process .process_list li .circle_box:before{width:100%;height:4px;content:"";background:var(--border-color03);position: absolute;right:-100%;top:50%;transform:translateY(-50%);}
    .sub_process .process_list li:last-child .circle_box:before{display: none;}
    .sub_process .process_list li + li .icon:after{width:8px;height:8px;content:"";box-sizing:border-box;border-radius:100%;background: #d9d9d9;position: absolute;top:50%;left:-30px;transform:translateY(-50%);}
    .sub_process .process_list li:nth-child(2) .circle_box:after{ background: conic-gradient(var(--point-color01) 0% 25%, #d9d9d9 25%);}
    .sub_process .process_list li:nth-child(3) .circle_box:after{ background: conic-gradient(var(--point-color01) 0% 50%, #d9d9d9 50%);}
    .sub_process .process_list li:nth-child(4) .circle_box:after{ background: conic-gradient(var(--point-color01) 0% 75%, #d9d9d9 75%);}
    .sub_process .process_list li:nth-child(5) .circle_box:after{ background:var(--point-color01);}
    .sub_process .process_list li .circle_box .icon{width:calc(100% - 12px);height:calc(100% - 12px);position: absolute;top:6px;left:6px;box-sizing:border-box;border-radius:100%;background:var(--point-white);display: flex;align-items: center;justify-content: center;z-index:5;}

    .sub_process .process_list li .txt{margin-top: 27px;}
    .sub_process .process_list li .txt span{font-size:var(--title-16);color: var(--point-color02);font-weight: 500;text-transform:uppercase;}
    .sub_process .process_list li .txt p{font-size:var(--title-20);color:var(--black-color00);font-weight:400;position: relative;margin-top: 7px;padding-top: 12px;}
    .sub_process .process_list li .txt p:before{width:10px;height:2px;content:"";background:var(--point-color02);position: absolute;top:0;left:50%;transform:translate(-50%);}

    .sub_process .core_values{position: relative;max-width: 900px;padding: 135px 140px 0;box-sizing: border-box;margin:0 auto;}
    .sub_process .core_values .circle{position: relative;width: 100%;aspect-ratio: auto 1;border-radius: 100%;border:1px solid var(--border-color04);box-sizing: border-box;display: flex;align-items: center;justify-content: center;}
    .sub_process .core_values .circle .desc{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;gap: 17px;background: url('../images/sub/sub_process_circle.svg') no-repeat center / 100% auto;padding: 25% 22% 22%;box-sizing: border-box;font-size: var(--title-20);width: calc(100% - 128px);height: calc(100% - 128px);}
    .sub_process .core_values .circle .desc dt{font-size: 0;}
    .sub_process .core_values .circle .desc dd{font-size: 190%;font-weight: 400;line-height: 1.3;letter-spacing: -0.03em;color: var(--black-color01);}
    .sub_process .core_values .exp_list > li{position: absolute;top:50%;left: 0;transform: translateY(-50%);}
        .sub_process .core_values .exp_list > li:before{position: absolute;content:'';width: 26px;height: 26px;background: var(--point-color01);border-radius: 100%;top:50%;left:50%;transform: translate(-50%, -50%);}
        .sub_process .core_values .exp_list > li:nth-child(2){left:auto;right: 0;}
    .sub_process .core_values .exp_list .info_desc{font-size: var(--title-20);position: absolute;top:50%;right: calc(100% + 50px);transform: translateY(-50%);text-align: center;}
        .sub_process .core_values .exp_list > li:nth-child(2) .info_desc{right:auto;left: calc(100% + 50px);}
    .sub_process .core_values .exp_list .info_desc dt{font-size: 200%; font-weight: 600; color: var(--black-color03); line-height: 1.3;}
        .sub_process .core_values .exp_list .info_desc dt + dd{margin-top: 6px;}
    .sub_process .core_values .exp_list .info_desc dd{font-size: inherit;font-weight: 300;color: var(--black-color08);line-height: 1.4;}
    .sub_process .btn_wrap{padding-top: 110px;display: flex;justify-content: center;flex-wrap: wrap;gap: 15px;}
    .sub_process .btn_wrap .btn{width: 100%; max-width: 180px;}
    .sub_process .btn_wrap .btn_point{background: var(--black-color03); border-color: var(--black-color03);}


    @media screen and (max-width:1200px) {
        .sub_process .process_list li .circle_box .icon img{max-height:49%;max-width:37%;}
    }
    @media screen and (max-width:1024px) {
        .sub_process .process_list{margin-top:35px;}
        .sub_process .core_values{padding: clamp(70px, 13.5vw, 135px) clamp(60px, 14vw, 140px) 0;}
        .sub_process .core_values .circle .desc{gap: clamp(8px, 1.7vw, 17px); width: calc(100% - 12.5vw); height: calc(100% - 12.5vw);}
        .sub_process .core_values .circle .desc dd{font-size: 3.5vw;}
        .sub_process .core_values .exp_list .info_desc dt{font-size: 3.9vw;}
        .sub_process .core_values .exp_list .info_desc dd{font-size: clamp(12px, 2vw, 20px);}
        .sub_process .core_values .exp_list > li:before{width: clamp(8px, 2.6vw, 26px);height: clamp(8px, 2.6vw, 26px);}
        .sub_process .core_values .exp_list .info_desc{right: clamp(calc(100% + 15px), calc(100% + 5vw), calc(100% + 50px));}
        .sub_process .core_values .exp_list > li:nth-child(2) .info_desc{left: clamp(calc(100% + 15px), calc(100% + 5vw), calc(100% + 50px));}
        .sub_process .btn_wrap{padding-top: clamp(40px, 11vw, 110px);}
    }
    @media screen and (max-width:860px) {
        .sub_process .process_list{gap:40px 27px;}
        .sub_process .process_list li{width:calc(100% / 3 - 18px);}
        .sub_process .process_list li:nth-child(3) .circle_box:before{display: none;}
        .sub_process .process_list li:nth-child(4) .icon:after{display: none;}
        .sub_process .process_list li + li .icon:after{left:-24px;}
        .sub_process .process_list li .txt{margin-top:10px;}
    }
    @media screen and (max-width:479px) {
        .sub_process .process_list{margin-top:25px;gap:30px 18px;}
        .sub_process .process_list li{width:calc(100% / 3 - 12px);}
        .sub_process .process_list li .circle_box .icon{width:calc(100% - 8px);height:calc(100% - 8px);top:4px;left:4px;}
        .sub_process .process_list li .txt p{margin-top:5px;padding-top:10px;}
        .sub_process .process_list li + li .icon:after{width:5px;height:5px;left:-16px;}
    }

/* 복리후생 */
    .sub_benefit .welfare_list{display: flex;flex-wrap: wrap;gap:80px 60px;margin-top: -0.8vw;}
    .sub_benefit .welfare_list > li{position: relative;display: flex;align-items: flex-start;box-sizing: border-box;gap: 40px;width: calc(100% / 2 - 30px);}
    .sub_benefit .welfare_list .icon{display: flex;align-items: center;justify-content: center;width: 165px;aspect-ratio: auto 1;flex-shrink: 0;background:var(--gray-bg01);border-radius: 100%;box-sizing: border-box;padding: 35px;}
    .sub_benefit .welfare_list .desc{font-size: var(--title-20);}
    .sub_benefit .welfare_list .desc dt{font-size: 130%; font-weight: 600; color: var(--black-color03); line-height: 1.3; display: flex; align-items: center; flex-wrap: wrap; gap: 5px 14px;}
        .sub_benefit .welfare_list .desc dt + dd{margin-top: 26px;}
    .sub_benefit .welfare_list .desc dt small{font-size: 61%; font-weight: 400; color: rgba(102, 102, 102, 0.40); }
    .bullet_list{position: relative; font-size: var(--title-20);}
    .bullet_list > li{display: flex;font-size: 80%;font-weight: 400;color: var(--black-color06);line-height: 1.5;gap: 10px;align-items: baseline;}
    .bullet_list > li:before{display: inline-flex;content:'';width: 4px;height: 4px;background: var(--point-color01);border-radius: 100%;flex-shrink: 0;transform: translateY(-3px);}
    .bullet_list > li + li{margin-top: 5px;}

    @media screen and (max-width:1024px) {
        .sub_benefit .welfare_list > li{gap: clamp(20px, 4vw, 40px);}
        .sub_benefit .welfare_list .icon{width: clamp(120px, 16.5vw, 165px);}
        .sub_benefit .welfare_list .desc dt + dd{margin-top: clamp(15px, 2.6vw, 26px);}
    }
    @media screen and (max-width:860px) {
        .sub_benefit .welfare_list{gap: clamp(40px, 8vw, 80px);}
        .sub_benefit .welfare_list > li{width: 100%;}
    }
    @media screen and (max-width:640px) {
        .sub_benefit .welfare_list .desc dt{gap: 5px 10px;}
        .bullet_list > li{gap: 7px;}
        .bullet_list > li:before{width: 3px; height: 3px;}
    }