.display_pc_only{display:block}
.display_tablet_only{display: none}

/* 헤더 공통 */
.darling_hd { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: background 0.3s; }
.darling_hd.is-scroll{background:#1a1a1a}
.darling_hd .hd_inner { display: flex; justify-content: space-between; align-items: center; margin: 0 auto; padding: 30px 60px; }
.darling_hd .hd_inner a{    position: relative; z-index: 1002; font-size: clamp(14px, 1.33vw, 20px);}
.darling_hd .hd_inner .hd_logo img { height: 18px;filter: brightness(0) invert(1); }
.darling_hd .hd_btn_open { display: none; }
.display_mobile_only { display: none; }

/* PC GNB */
.hd_menu_wrap { display: flex; align-items: center; }
.hd_gnb_list { display: flex; gap: 40px; list-style: none; margin: 0; padding: 0; }
.hd_gnb_list .hd_gnb_link { color: #fff; text-decoration: none; }
.comm_sub_tit { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; margin-bottom: 20px; }
.comm_sub_tit span{font-size:clamp(14px, 1.8vw, 20px)}
.comm_main_tit { font-size:clamp(22px, 2.27vw, 34px); line-height: 1.4; font-weight: 700; word-break: keep-all; }
.comm_desc{font-size: clamp(14px, 1.33vw, 20px);  line-height: 1.6;}

.main_visual {
    position: relative;
    width: 100%;
    height: 100vh; /* 화면 꽉 차게 설정 */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main_visual .bg_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.main_visual .bg_img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지 비율 유지하며 꽉 채움 */
    filter: brightness(0.7); /* 텍스트 가독성을 위해 배경 어둡게 조절 */
}

.main_visual .txt_box {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    margin: 95px 0 0 0;
}

.main_visual .txt_box h2 {
    font-size:clamp(36px, 4vw, 60px);
    font-weight: 700;
    margin-bottom: 20px; 
}

.main_visual .txt_box p {
    font-size: clamp(22px, 2.27vw, 34px);
    line-height: 1.6;
    font-weight: 300; 
}

.main_sec_02 { background-color: #1a1a1a; color: #fff; padding: 140px 60px; }
.main_sec_02 .inner {  margin: 0 auto; }

.main_sec_02 .title_area { margin-bottom: 115px; }


/* PC 레이아웃 (좌우 분할) */
.main_sec_02 .content_area { display: flex; gap: 90px; align-items: flex-start; }
.main_sec_02 .img_box { flex: 1;     max-width: 640px;}
.main_sec_02 .img_box img { width: 100%; height: auto; display: block; object-fit: cover; }

/* 아코디언 스타일 */
.main_sec_02 .accordion_box { flex: 1; list-style: none; padding: 0; margin: -38px 0 0 0; width: 100%; }
.main_sec_02 .acc_item { border-bottom: 1px solid rgba(255, 255, 255, 1); }

.main_sec_02 .acc_head { 
    width: 100%; text-align: left; background: none; border: none; color: #fff; 
    font-size: clamp(24px, 2.67vw, 40px); font-weight: 700; padding: 25px 0; cursor: pointer; 
    display: flex; justify-content: space-between; align-items: center; 
}

/* CSS 화살표 */
.main_sec_02 .acc_head::after { 
    content: ''; display: block; width: 15px; height: 15px; 
    border-bottom: 1px solid #fff; border-right: 1px solid #fff; 
    transform: rotate(45deg); transition: transform 0.3s ease; 
}

.main_sec_02 .acc_body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.main_sec_02 .acc_body p { padding-bottom: 25px; font-size: clamp(14px, 1.31vw, 20px); line-height: 1.6; color: #ccc; }

/* 아코디언 활성화 (클릭 시) */
.main_sec_02 .acc_item.active .acc_head::after { transform: rotate(-135deg); }
.main_sec_02 .acc_item.active .acc_body { max-height: 300px; /* 내용 길이에 맞춰 여유있게 설정 */ }

.main_sec_03 { padding: 140px 60px; background-color: #fff; }
.main_sec_03 .inner {   margin: 0 auto; display: flex; gap: clamp(45px, 6vw, 90px); align-items: flex-start; }

/* 타이틀 영역 크기 지정 */
.main_sec_03 .title_area {flex: 0 0 clamp(15vw, 35vw, 630px); }

/* 우측 스텝 리스트 */
.main_sec_03 .step_list { flex: 1; list-style: none; padding: 0; margin:60px 0 0 0; width: 100%; }
.main_sec_03 .step_item { 
    display: flex; align-items: center; padding: clamp(20px, 2.67vw, 40px);
    word-break: keep-all; line-height: 1.6;    gap: 50px;
}

/* 스텝별 배경 및 글자색 */
.main_sec_03 .step1 { background-color: #ff6a00; color: #000; }
.main_sec_03 .step2 { background-color: #e5e5e5; color: #000; }
.main_sec_03 .step3 { background-color: #8c8c8c; color: #000; }
.main_sec_03 .step4 { background-color: #000000; color: #fff; }

.main_sec_03 .step_tit {flex: 0 0 clamp(182.5px, 24.33vw, 315px); font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; display: flex; align-items: center; gap: 10px; }
.main_sec_03 .step_tit strong {font-size: clamp(14px, 1.33vw, 20px); }
.main_sec_03 .step_tit .bar { font-size: clamp(14px, 1.33vw, 20px);    }

.main_sec_03 .step_desc { flex: 1; font-size: clamp(14px, 1.33vw, 20px);  }

.main_sec_04 { padding: 100px 60px; background-color: #1a1a1a; color: #fff; }
.main_sec_04 .inner {   margin: 0 auto; }
.main_sec_04 .title_area{margin:0 0 65px 0}
.main_sec_04 .solution_list { display: flex; gap: 20px; list-style: none; padding: 0; margin: 0; }
.main_sec_04 .sol_item { flex: 1; background: #fff; border-radius: 20px; padding: clamp(20px, 2.67vw, 40px); color: #333; position: relative; min-height: 280px; }

/* 텍스트 및 버튼 */
.main_sec_04 .icon { margin-bottom: 10px; height: 55px; }
.main_sec_04 .icon img { height: 100%; object-fit: contain; }
.main_sec_04 .tit { font-size: clamp(20px, 2vw, 30px); font-weight: 700; margin-bottom: 15px; color: #000; }
.main_sec_04 .desc { font-size: clamp(22px, 1.87vw, 28px); line-height: 1.6; color: #878787;font-weight: 700;  }
.main_sec_04 .desc .highlight { color: #ff6b00; font-weight: 700; }
.main_sec_04 .btn_plus { position: absolute; right: 30px; bottom: 30px; width: 40px; height: 40px; background: #000; border-radius: 50%; border: none; cursor: pointer; }
.main_sec_04 .btn_plus::before, .main_sec_04 .btn_plus::after { content: ''; position: absolute; top: 50%; left: 50%; background: #fff; transform: translate(-50%, -50%); }
.main_sec_04 .btn_plus::before { width: 14px; height: 2px; }
.main_sec_04 .btn_plus::after { width: 2px; height: 14px; }

/* 팝업 (해당 섹션 하위로만 동작) */
.main_sec_04 .sec04_popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; align-items: center; justify-content: center; text-align: left; }
.main_sec_04 .sec04_popup.active { display: flex; }
.main_sec_04 .pop_dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1; }
.main_sec_04 .pop_inner { position: relative; z-index: 2; background: #fff; border-radius: 20px; padding: clamp(25px, 3.33vw, 50px); width: 90%; max-width: 960px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); color: #333; }
.main_sec_04 .pop_tit { font-size: clamp(20px, 2vw, 30px); font-weight: 700; color: #ff6a00; margin-bottom: 10px; }
.main_sec_04 .pop_sub { font-size: clamp(14px, 1.33vw, 20px); font-weight: 700; margin-bottom: 20px; }
.main_sec_04 .pop_desc { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.6; word-break: keep-all; color: #555; }
.main_sec_04 .btn_close { position: absolute; top: 25px; right: 25px; width: 30px; height: 30px; background: none; border: none; cursor: pointer; }
.main_sec_04 .btn_close::before, .main_sec_04 .btn_close::after { content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background: #000; }
.main_sec_04 .btn_close::before { transform: translate(-50%, -50%) rotate(45deg); }
.main_sec_04 .btn_close::after { transform: translate(-50%, -50%) rotate(-45deg); }


.main_sec_05 { padding: 110px 60px; background-color: #fff; color: #000; }
.main_sec_05 .inner { margin: 0 auto; }
.main_sec_05 .title_area { margin-bottom: 50px; }

/* 3단 그리드 배치 */
.main_sec_05 .project_list { 
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; 
    list-style: none; padding: 0; margin: 0 0 50px 0; 
}
.main_sec_05 .project_list li:nth-child(n+7) {
  /*  display: none;*/
}
.main_sec_05 .proj_item { position: relative; cursor: pointer; }
.main_sec_05 .thumb { position: relative; width: 100%; overflow: hidden; }
.main_sec_05 .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.main_sec_05 .proj_item:hover .thumb img { transform: scale(1.05); }

/* 이미지 위 텍스트 */
.main_sec_05 .proj_name { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    color: #fff; font-size: clamp(20px, 2vw, 30px); font-weight: 700; text-align: center; width: 100%; 
    text-shadow: 0 2px 4px rgba(0,0,0,0.3); z-index: 2; 
}

/* 팝업 스타일 */
.main_sec_05 .sec05_popup { 
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    z-index: 9999; align-items: center; justify-content: center; text-align: left; cursor: default;
}
.main_sec_05 .sec05_popup.active { display: flex; }
.main_sec_05 .pop_dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1; }
.main_sec_05 .pop_inner { 
    position: relative; z-index: 2; background: #fff; border-radius: 20px; 
    padding: clamp(25px, 3.33vw, 50px); width: 90%; max-width: 880px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
}
.main_sec_05 .btn_close { 
    position: absolute; top: 25px; right: 25px; width: 30px; height: 30px; 
    background: none; border: none; cursor: pointer; 
}
.main_sec_05 .btn_close::before, .main_sec_05 .btn_close::after { 
    content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 1px; background: #000; 
}
.main_sec_05 .btn_close::before { transform: translate(-50%, -50%) rotate(45deg); }
.main_sec_05 .btn_close::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* 팝업 내부 텍스트 */
.main_sec_05 .pop_brand { font-size: clamp(36px, 3.33vw, 50px); font-weight: 700; margin-bottom: 40px; }
.main_sec_05 .pop_info { display: flex; gap: 40px; margin-bottom: 30px; }
.main_sec_05 dl dt, .main_sec_05 .pop_service dt { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; margin-bottom: 10px; color:#ff6b01; }
.main_sec_05 dl dd, .main_sec_05 .pop_service dd { font-size: clamp(16px, 1.47vw, 22px); color:#999 ; font-weight: 500; }
.main_sec_05 .pop_info dd{color:#666;}
.main_sec_05 .pop_service dd{padding:0 0 0 0px;    font-size: 20px;  font-weight: 400;}
.main_sec_05 .pop_service dd span{color:#666;font-size: clamp(16px, 1.47vw, 22px); font-weight:500;}
.main_sec_05 .pop_service dd span:after{content:'|'; display:inline-block;color: #666; margin: 0 5px 0 10px;    font-size: 18px;}
.main_sec_05 .pop_service dd span.no_line:after{content:none;}


/* 하단 버튼 */
.main_sec_05 .btn_more_wrap { text-align: center; }
.main_sec_05 .btn_more { font-size: clamp(14px, 1.33vw, 20px);  text-decoration: none; border-bottom: 1px solid #000; padding-bottom: 2px; }


.main_sec_06 { padding: 160px 60px; background-color: #1a1a1a; color: #fff; }
.main_sec_06 .inner {  margin: 0 auto; }
.main_sec_06 .title_area { margin-bottom: 50px; }

/* 그라데이션 박스 */
.main_sec_06 .result_box {
    background:linear-gradient(to bottom, transparent 0%, #000000 100%);
    border-radius: 20px;
    padding: clamp(35px, 4.67vw, 70px) clamp(40px, 5.33vw, 80px);
         width: 92%;
    margin: auto;
}

/* PC 그리드 배치 (위에서 아래로 먼저 채우고, 다음 열로 넘어감) */
.main_sec_06 .stat_list {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2단 */
    grid-template-rows: repeat(3, auto); /* 3줄 */
    grid-auto-flow: column; /* 세로 방향으로 요소 배치 */
    row-gap: 60px;
    column-gap: 40px;
    list-style: none; padding: 0; margin: 0;
}

.main_sec_06 .stat_item { display: flex; align-items: center; gap: 30px; }
.main_sec_06 .num { font-size: clamp(36px, 4vw, 60px); font-weight: 700; width: clamp(105px, 14vw, 210px); flex-shrink: 0; }
.main_sec_06 .num.point { color: #ff6a00; } /* 오렌지색 포인트 */
.main_sec_06 .desc { font-size: clamp(16px, 1.6vw, 24px); line-height: 1.6; color: #fff; word-break: keep-all; }

@media (max-width: 1770px) {
    .main_sec_06 .desc br{display:none;}
}


.main_sec_07 { padding: 100px 0; background-color: #1a1a1a; color: #fff; overflow: hidden; }
.main_sec_07 .inner {   margin: 0 auto; padding: 0 60px; }
.main_sec_07 .title_area { margin-bottom: 120px; }

/* 중앙 주황색 텍스트 */
.main_sec_07 .center_txt { text-align: center; margin: 60px 0; }
.main_sec_07 .center_txt h2 { font-size: 50px; font-weight: 800; color: #ff6a00; letter-spacing: 0.05em; }
.main_sec_07 .center_txt h2 svg{height:120px; width:auto;}

/* 롤링 컨테이너 */
.main_sec_07 .marquee_wrap { display: flex; width: 100%; overflow: hidden; }
.main_sec_07 .marquee_list { 
    display: flex; align-items: center; justify-content: space-around; 
    flex-shrink: 0; min-width: 100%; gap: 150px; padding: 0 65px; 
}
.main_sec_07 .marquee_list li img { height: 30px; object-fit: contain; }

/* 애니메이션 키프레임 */
@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
@keyframes scrollRight {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(0); }
}

/* 방향 및 속도 적용 */
.main_sec_07 .to_left .marquee_list { animation: scrollLeft 25s linear infinite; }
.main_sec_07 .to_right .marquee_list { animation: scrollRight 25s linear infinite; }



.main_sec_08 { background-color: #1a1a1a; color: #fff; padding: 140px 0 220px 60px; }
.main_sec_08 .inner {  margin: 0 auto; }

.main_sec_08 .top_area { 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-end; 
    margin-bottom: 40px; 
    padding: 0 60px 0 0;
}

/* 화살표 버튼 그룹 */
.main_sec_08 .swiper-custom-nav { 
    display: flex; 
    gap: 8px; /* 버튼 사이 간격 */
    padding-bottom: 10px; /* 타이틀 하단 라인과 맞춤 */
}

/* 화살표 버튼 스타일 (시안: 투명 배경, 얇은 테두리) */
.main_sec_08 .swiper-custom-nav button {
    position: relative;
    width: 44px; 
    height: 44px;
    background: transparent;
    border: 1px solid #555;
    cursor: pointer;
    transition: all 0.3s ease;
    text-indent: -9999px; /* 기존 글자 숨기기 */
    overflow: hidden;
}

/* CSS로 얇은 화살표 그리기 */
.main_sec_08 .swiper-custom-nav button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;  /* 화살표 가로 크기 */
    height: 8px; /* 화살표 세로 크기 */
    border-top: 1px solid #fff; /* 화살표 두께와 색상 */
    border-right: 1px solid #fff;
}

/* 이전 버튼 (왼쪽 화살표) */
.main_sec_08 .btn_prev::after {
    transform: translate(-30%, -50%) rotate(-135deg);
}

/* 다음 버튼 (오른쪽 화살표) */
.main_sec_08 .btn_next::after {
    transform: translate(-70%, -50%) rotate(45deg);
}

/* 마우스 오버 효과 */
.main_sec_08 .swiper-custom-nav button:hover {
    border-color: #fff;
}
.main_sec_08 .swiper-custom-nav button.swiper-button-disabled { opacity: 0.3; cursor: default; }

/* 리스트 영역 (우측 짤림 허용) */
.main_sec_08 .list_area {  
    margin: 0 auto; 
    padding-left: 0px; /* 좌측 여백은 inner와 맞춤 */
}

/* Swiper 아이템 스타일 */
.pressSwiper .swiper-slide { display: flex; flex-direction: column; }
.pressSwiper .thumb_link { display: block; overflow: hidden;  margin-bottom: 20px; }
.pressSwiper .thumb_link img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.pressSwiper .thumb_link:hover img { transform: scale(1.05); }

.pressSwiper .subj_link { text-decoration: none; color: #fff; }
.pressSwiper .subj { 
    font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; line-height: 1.5; 
    overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;  padding:0 15px 0 0;
}


.main_sec_09 { position: relative; width: 100%; }
.main_sec_09 .bg_img img { width: 100%;  }

/* 텍스트 영역을 좌측 상단으로 배치 */
.main_sec_09 .inner {
    position: absolute; 
    top: 0; 
    left: 50%; 
    transform: translateX(-50%); 
    width: 100%;  
    height: 100%; 
    padding: 0 60px; 
    box-sizing: border-box;
}

.main_sec_09 .txt_box {
    position: absolute;
    top: 10%; /* 상단에서부터의 여백 (시안에 맞게 % 조절) */
    left: 60px; /* inner 안에서의 좌측 여백 */
    text-align: left; /* 텍스트 좌측 정렬 */
    color: #fff;
}

.main_sec_09 .txt_box h2 {
    font-size: clamp(24px, 2.67vw, 40px); font-weight: 700; line-height: 1.4; margin-bottom: 40px;
}

.main_sec_09 .txt_box h2 span{color:#b4b4b4}

.main_sec_09 .btn_contact {
    display: inline-block; padding: 15px 40px; border: 1px solid #fff;
    color: #fff; font-size: 16px; font-weight: bold; text-decoration: none;
    transition: all 0.3s;
}


.main_sec_09 .btn_contact:hover { background: #fff; color: #000; }

.footer { padding: 120px 60px 80px; background-color: #fff; color: #000; }
.footer .inner {  margin: 0 auto; display: flex; font-size: clamp(12px, 1.07vw, 16px); }
.footer .ft_col p { line-height: 1.8; margin: 0; }
.footer .ft_col strong { font-weight: 700; display: inline-block; margin-bottom: 5px; }
.footer .ft_col a {  text-shadow: none; text-decoration: none;      font-weight: 600; }
.footer .ft_col a:hover {   }

@media (min-width: 1025px) {
    .footer .inner { justify-content: space-between; align-items: flex-start; }
    .footer .ft_col {/* flex: 1;*/ }
    .footer .ft_info{}
    .footer .ft_copy { text-align: right; }
}

.about_sec_01 { position: relative; width: 100%; overflow: hidden; background-color: #000; }
.about_sec_01 .bg_img img { width: 100%;   object-fit: cover; }

/* 텍스트 배치 및 스타일 */
.about_sec_01 .inner {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; 
    height: 100%;
    padding: 0 60px;
    box-sizing: border-box;
    display: flex;
    align-items: center; /* 세로 중앙 */
        justify-content: center;
}

.about_sec_01 .about_txt { color: #fff; text-align:center; }

.about_sec_01 .sub_tit {
    font-size: 20px;
    font-weight: 700;
    color: #ff6a00;
    margin-bottom: 25px;
    letter-spacing: 0.02em;
}

.about_sec_01 .main_tit {
    font-size: clamp(28px, 2.8vw, 42px);
    font-weight: 700;
    line-height: 1.3; 
    word-break: keep-all;
}

.about_sec_02 { padding: 185px 0; background-color: #fff; color: #111; }
.about_sec_02 .inner {  
    margin: 0 auto; 
    padding: 0 60px; 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-start; 
}

/* 타이틀 */
.about_sec_02 .title_area { width: 30%; } 

/* 텍스트 설명 */
.about_sec_02 .desc_area { width: 65%; padding-top: 52px; /* 타이틀 위치와 시각적 정렬 */ }
.about_sec_02 .desc_area p { font-size: clamp(20px, 2vw, 30px); line-height: 1.6;  margin-bottom: 30px; word-break: keep-all; }
.about_sec_02 .desc_area p:last-child { margin-bottom: 0; }
.about_sec_02 .desc_area p strong { font-weight: 700; color: #000; }

.about_sec_03 { padding: 85px 0; background-color: #1a1a1a; color: #fff; }
.about_sec_03 .inner {  margin: 0 auto; padding: 0 60px; }

/* 타이틀 */
.about_sec_03 .title_area { margin-bottom: 50px; text-align: left; }
 
/* 리스트 레이아웃 */
.about_sec_03 .focus_list { display: flex; gap: 20px; list-style: none; padding: 0; margin: 0; }
.about_sec_03 .focus_list li { position: relative; flex: 1; overflow: hidden; }

/* 이미지 제어 */
.about_sec_03 .img_box img { width: 100%; display: block; object-fit: cover; }
.about_sec_03 .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(22px, 2.27vw, 27px);
    font-weight: 700;
    color: #fff;
    text-align: center;
    width: 100%;
    word-break: keep-all;
    z-index: 2;
}

.about_sec_04 { padding: 80px 0 250px; background-color: #1a1a1a; color: #fff; }
.about_sec_04 .inner {   margin: 0 auto; padding: 0 60px; display: flex; justify-content: space-between; align-items: flex-start; }

/* 좌측 타이틀 */
.about_sec_04 .title_area { width: 30%; }
.about_sec_04 .sub_tit { font-size: 16px; font-weight: 700; margin-bottom: 20px; letter-spacing: 0.05em; }
.about_sec_04 .main_tit { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }

/* 우측 아코디언 영역 */
.about_sec_04 .acc_area { width: 75%; }
.about_sec_04 .acc_list { list-style: none; padding: 0; margin: 0; border-top: 0px solid #444; }
.about_sec_04 .acc_item { display: flex; border-bottom: 1px solid #fff; padding: 40px 0; align-items:flex-start; cursor: pointer;}
.about_sec_04 .acc_item:after {content: ''; display: block; width: 20px; height: 20px; 
    border-bottom: 1px solid #fff; border-right: 1px solid #fff; 
    transform: rotate(45deg); transition: transform 0.3s ease;     margin: 20px 0 0 0;}

.about_sec_04 .acc_item.active:after { transform: rotate(-135deg); }
/* 아코디언 좌측 영문 타이틀 */
.about_sec_04 .acc_tit {width: clamp(19%, 38vw, 500px); font-size: clamp(36px, 4vw, 60px); font-weight: 700; margin: 0; }

/* 아코디언 우측 컨텐츠 영역 */
.about_sec_04 .acc_cont { width: 62%; }

/* 고정 텍스트 영역 (클릭 가능) */
.about_sec_04 .acc_fixed { display: flex; justify-content: space-between; align-items: flex-start; cursor: pointer; }
.about_sec_04 .acc_fixed p { font-size: clamp(16px, 1.6vw, 24px); line-height: 1.6; margin: 0;   }

 

/* 상세 숨김 텍스트 */
.about_sec_04 .acc_body { display: none; padding-top: 30px; }
.about_sec_04 .acc_body p { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.8;   margin-bottom: 20px; word-break: keep-all; }
.about_sec_04 .acc_body p:last-child { margin-bottom: 0; }

/* 열림 상태 (active) 제어 */
.about_sec_04 .acc_item.active .acc_body { display: block; }
.about_sec_04 .acc_item.active .ico_arrow { transform: rotate(180deg); } /* 화살표 뒤집기 */

.about_sec_06 { padding: 120px 0 0; background-color: #fff; color: #111; }
.about_sec_06 .inner {   margin: 0 auto; padding: 0 60px; }

/* 상단 타이틀 */
.about_sec_06 .title_area { margin-bottom: 50px; }
 

/* 팀원 리스트 (PC: 3열) */
.about_sec_06 .team_list { display: flex; gap: 20px; list-style: none; padding: 0; margin: 0 0 150px 0; }
.about_sec_06 .team_item { flex: 1; position: relative; overflow: hidden; cursor: pointer; }

/* 이미지 */
.about_sec_06 .img_box img { width: 100%; display: block; object-fit: cover; }

/* 하단 정보 박스 */
.about_sec_06 .info_box {
    position: absolute;
    bottom: 0; left: 0; width: 100%;
    padding: 30px 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    color: #fff;
    transition: background-color 0.3s ease;
    box-sizing: border-box;
}

.about_sec_06 .info_tit .role { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; margin-bottom: 5px; }
.about_sec_06 .info_tit .name { font-size: clamp(22px, 2.27vw, 34px); font-weight: 700; margin: 0; }

/* 세부 내용 (기본 숨김) */
.about_sec_06 .info_desc { 
    max-height: 0; 
    opacity: 0; 
    overflow: hidden; 
    transition: all 0.4s ease; 
}
.about_sec_06 .info_desc p { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.6; margin: 15px 0 0 0; color: #fff; word-break: keep-all; }

/* 하단 파트너 영역 */
.about_sec_06 .partner_area { text-align: center; }
.about_sec_06 .partner_area h2 { font-size: clamp(36px, 4vw, 60px); font-weight: 700; margin-bottom: 20px; line-height: 1.3; }
.about_sec_06 .partner_area p { font-size: clamp(16px, 1.6vw, 24px); line-height: 1.6;  }

@media (min-width: 1025px) {
    .about_sec_06 .team_item:hover .info_desc { max-height: 150px; opacity: 1; }
}


.svc_sec_01 { padding:195px 0  165px 0; background-color: #1a1a1a; color: #fff; }
.svc_sec_01 .inner {   margin: 0 auto; padding: 0 60px; display: flex; justify-content: space-between; align-items: flex-start;    gap: 50px; }

/* 타이틀 */
.svc_sec_01 .title_area { width: 40%; } 

/* 리스트 공통 */
.svc_sec_01 .list_area { width: 65%; display: flex; flex-direction: column;    margin: 65px 0 0 0; }
.svc_sec_01 .svc_item { display: flex; align-items: center; padding: 40px; }

.svc_sec_01 .svc_info { width: 45%; }
.svc_sec_01 .svc_info h3 { font-size: clamp(22px, 2.27vw, 34px); font-weight: 700; margin: 0 0 5px 0; }
.svc_sec_01 .svc_info .market { font-size: clamp(14px, 1.13vw, 20px); font-weight: 600; margin: 0; }

.svc_sec_01 .svc_desc { width: 55%; }
.svc_sec_01 .svc_desc p { font-size: clamp(16px, 1.6vw, 24px); line-height: 1.6; margin: 0; word-break: keep-all; }

@media (max-width: 1270px) {
    .svc_sec_01 .svc_desc p br{display:none;}
}


/* 각 항목 배경 및 텍스트 컬러 */
.svc_sec_01 .item_orange { background-color: #fd6906; color: #000; }
.svc_sec_01 .item_gray { background-color: #e5e5e5; color: #000; }
.svc_sec_01 .item_black { background-color: #000; color: #fff; }

.svc_sec_02 { position: relative; padding: 130px 0 300px; color: #fff; overflow: hidden; }

/* 배경 이미지 꽉 채우기 */
.svc_sec_02 .bg_img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.svc_sec_02 .bg_img img { width: 100%; height: 100%; object-fit: cover; }

/* 컨텐츠 영역을 배경 위로 */
.svc_sec_02 .inner { position: relative; z-index: 2;  margin: 0 auto; padding: 0 0px; }

/* 상단 텍스트 */
.svc_sec_02 .top_info{padding:0 60px;}
 

/* 하단 스텝 영역 */
.svc_sec_02 .step_wrap { margin-top:165px;  position: relative; }
.svc_sec_02 .step_list { 
   display: flex; gap: 30px; 
    list-style: none; padding: 0; max-width: 1500px;width: 92%;
    margin: auto;
}
/* 주황색 가로선 */
.svc_sec_02 .step_wrap::before { 
    content: ''; position: absolute; top: 6px; left: 0; 
    width: 100%; height: 2px; background: #f05a22; 
}

.svc_sec_02 .step_item { flex: 1; position: relative; padding-top: 40px; }
/* 주황색 점 */
.svc_sec_02 .step_item::before { 
    content: ''; position: absolute; top: 0; left: 0; 
    width: 14px; height: 14px; background: #f05a22; border-radius: 50%; 
}

.svc_sec_02 .step_item h4 { font-size: clamp(20px, 2vw, 30px); font-weight: 700; margin: 0 0 15px 0; }
.svc_sec_02 .step_item p { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.6;   margin: 0; word-break: keep-all; }
.svc_sec_02 .step_item .note { font-size: 12px;   }

@media (max-width: 1615px) {
    .svc_sec_02 .step_item p br{display:none;}
}


.svc_sec_03 { padding: 85px 0; background-color: #fff; color: #111; }
.svc_sec_03 .inner {   margin: 0 auto; padding: 0 60px; }

/* 상단 타이틀 영역 */
.svc_sec_03 .title_area { margin-bottom: 60px; text-align: left; }
.svc_sec_03 .sub_tit {   }
.svc_sec_03 .sub_tit strong { color: #000; }
.svc_sec_03 .main_tit {   color: #000; }
.svc_sec_03 .desc {  }

.svc_sec_03 .solution_list { display: flex; gap: 20px; list-style: none; padding: 0; margin: 0; }
.svc_sec_03 .sol_item { flex: 1; background:linear-gradient(174deg, #fafafa 0%, #f6f6f6 100%); border-radius: 20px; padding: 40px; color: #333; position: relative; min-height: 280px; }

/* 텍스트 및 버튼 */
.svc_sec_03 .solution_list .icon { margin-bottom: 10px; height: 55px; }
.svc_sec_03 .solution_list .icon img { height: 100%; object-fit: contain; }
.svc_sec_03 .solution_list .tit { font-size: clamp(20px, 2vw, 30px); font-weight: 700; margin-bottom: 15px; color: #000; }
.svc_sec_03 .solution_list .desc { font-size: clamp(22px, 1.87vw, 28px); line-height: 1.6; color: #878787;font-weight: 700;  }
.svc_sec_03 .solution_list .desc .highlight { color: #ff6b00; font-weight: 700; }
.svc_sec_03 .solution_list .btn_plus { position: absolute; right: 30px; bottom: 30px; width: 40px; height: 40px; background: #000; border-radius: 50%; border: none; cursor: pointer; }
.svc_sec_03 .solution_list .btn_plus::before, .svc_sec_03 .btn_plus::after { content: ''; position: absolute; top: 50%; left: 50%; background: #fff; transform: translate(-50%, -50%); }
.svc_sec_03 .solution_list .btn_plus::before { width: 14px; height: 2px; }
.svc_sec_03 .solution_list .btn_plus::after { width: 2px; height: 14px; }

/* 팝업 (해당 섹션 하위로만 동작) */
.svc_sec_03 .sec04_popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; align-items: center; justify-content: center; text-align: left; }
.svc_sec_03 .sec04_popup.active { display: flex; }
.svc_sec_03 .pop_dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1; }
.svc_sec_03 .pop_inner { position: relative; z-index: 2; background: #fff; border-radius: 20px; padding: clamp(25px, 3.33vw, 50px); width: 90%; max-width: 960px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); color: #333; }
.svc_sec_03 .pop_tit { font-size: clamp(20px, 2vw, 30px); font-weight: 700; color: #ff6a00; margin-bottom: 10px; }
.svc_sec_03 .pop_sub { font-size: clamp(14px, 1.33vw, 20px); font-weight: 700; margin-bottom: 20px; }
.svc_sec_03 .pop_desc { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.6; word-break: keep-all; color: #555; }
.svc_sec_03 .btn_close { position: absolute; top: 25px; right: 25px; width: 30px; height: 30px; background: none; border: none; cursor: pointer; }
.svc_sec_03 .btn_close::before, .svc_sec_03 .btn_close::after { content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background: #000; }
.svc_sec_03 .btn_close::before { transform: translate(-50%, -50%) rotate(45deg); }
.svc_sec_03 .btn_close::after { transform: translate(-50%, -50%) rotate(-45deg); }


.svc_sec_04 { padding: 120px 0; background-color: #1a1a1a; color: #fff; }
.svc_sec_04 .inner {  margin: 0 auto; padding: 0 60px; }

/* 상단 타이틀 */
.svc_sec_04 .title_area { margin-bottom: 80px; }
 
/* 2단 그리드 공통 */
.svc_sec_04 .grid_area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 80px;
    row-gap: 60px;
        max-width: 1240px;
    margin: auto;
}

/* 그리드 개별 아이템 */
.svc_sec_04 .grid_item h4 {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #fff; /* 시안 속 얇은 선 */
}
.svc_sec_04 .grid_item ul { list-style: none; padding: 0; margin: 0; }
.svc_sec_04 .grid_item li {
    font-size: clamp(14px, 1.33vw, 20px);
    line-height: 1.6;
    color: #fff;
    margin-bottom: 5px;
    word-break: keep-all;
}

/* 6번째 칸: 오렌지색 강조 텍스트 */
.svc_sec_04 .highlight_text {
    display: flex;
    align-items: flex-end; /* 하단 정렬 */
    justify-content: flex-end; /* 우측 정렬 */
    text-align: right;
}
.svc_sec_04 .highlight_text p {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    color: #fd6906; /* 시안 포인트 컬러 */
    line-height: 1.4;
    margin: 0;
}


.svc_sec_05 { padding: 200px 0 100px; background-color: #fff; text-align: center; }
.svc_sec_05 .inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.svc_sec_05 .main_tit { 
    font-size: clamp(28px, 4vw, 46px); 
    font-weight: 700; 
    line-height: 1.4; 
    margin-bottom: 40px;  
}

/* CONTACT 버튼 스타일 */
.svc_sec_05 .btn_contact { 
    display: inline-block; 
    font-size: clamp(14px, 1.33vw, 20px); 
    font-weight: 500;  
    text-decoration: underline; 
    text-underline-offset: 6px; /* 밑줄 간격 여백 */ 
}

.project_sec_01{padding: 195px 60px 0}
.project_sec_01 .title{font-size: clamp(22px, 2.27vw, 34px); font-weight: 700; margin: 0 0 45px;}
.project_sec_01 .project_list { 
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; 
    list-style: none; padding: 0; margin: 0 0 50px 0; 
}
.project_sec_01 .proj_item { position: relative; cursor: pointer; }
.project_sec_01 .thumb { position: relative; width: 100%; overflow: hidden; }
.project_sec_01 .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.project_sec_01 .proj_item:hover .thumb img { transform: scale(1.05); }

/* 이미지 위 텍스트 */
.project_sec_01 .proj_name { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    color: #fff; font-size: clamp(20px, 2vw, 30px); font-weight: 700; text-align: center; width: 100%; 
    text-shadow: 0 2px 4px rgba(0,0,0,0.3); z-index: 2; 
}

/* 팝업 스타일 */
.project_sec_01 .sec05_popup { 
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    z-index: 9999; align-items: center; justify-content: center; text-align: left; cursor: default;
}
.project_sec_01 .sec05_popup.active { display: flex; }
.project_sec_01 .pop_dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1; }
.project_sec_01 .pop_inner { 
    position: relative; z-index: 2; background: #fff; border-radius: 20px; 
    padding: clamp(25px, 3.33vw, 50px); width: 90%; max-width: 880px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
}
.project_sec_01 .btn_close { 
    position: absolute; top: 25px; right: 25px; width: 30px; height: 30px; 
    background: none; border: none; cursor: pointer; 
}
.project_sec_01 .btn_close::before, .project_sec_01 .btn_close::after { 
    content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 1px; background: #000; 
}
.project_sec_01 .btn_close::before { transform: translate(-50%, -50%) rotate(45deg); }
.project_sec_01 .btn_close::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* 팝업 내부 텍스트 */
.project_sec_01 .pop_brand { font-size: clamp(36px, 3.33vw, 50px); font-weight: 700; margin-bottom: 40px; }
.project_sec_01 .pop_info { display: flex; gap: 40px; margin-bottom: 30px; }
/*.project_sec_01 dl dt, .project_sec_01 .pop_service dt { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; margin-bottom: 10px; }
.project_sec_01 dl dd, .project_sec_01 .pop_service dd { font-size: clamp(16px, 1.47vw, 22px); color:#999;  }
*/

.project_sec_01 dl dt, .project_sec_01 .pop_service dt { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; margin-bottom: 10px; color:#ff6b01; }
.project_sec_01 dl dd, .project_sec_01 .pop_service dd { font-size: clamp(16px, 1.47vw, 22px); color:#999 ; font-weight: 500; }
.project_sec_01 .pop_info dd{color:#666;}
.project_sec_01 .pop_service dd{padding:0 0 0 0px;    font-size: 20px;  font-weight: 400;}
.project_sec_01 .pop_service dd span{color:#666;font-size: clamp(16px, 1.47vw, 22px); font-weight:500;}
.project_sec_01 .pop_service dd span:after{content:'|'; display:inline-block;color: #666; margin: 0 5px 0 10px;    font-size: 18px;}
.project_sec_01 .pop_service dd span.no_line:after{content:none;}





.inquiry_sec { padding: 195px 0; background-color: #1a1a1a; color: #fff; }
.inquiry_sec .inner { max-width: 1520px; margin: 0 auto; padding: 0 60px; }

/* PC 2단 분할 */
.inquiry_wrap { display: flex; justify-content: space-between; gap: 80px; align-items: flex-start; }

/* 좌측 폼 영역 */
.inquiry_sec .form_area { width: 60%; }
.inquiry_sec .title_area { margin-bottom:100px; }
.inquiry_sec .main_tit { font-size: clamp(36px, 3.5vw, 60px); font-weight: 700; line-height: 1.4; margin-bottom: 15px;  }
.inquiry_sec .desc { font-size: clamp(20px, 2vw, 30px); color: #959595; margin: 0; }
.inquiry_sec .form_box { width: 100%; } /* 폼 인클루드 영역 */

/* 우측 지도 영역 */
.inquiry_sec .map_area { width: 35%;    margin: 320px 0 0 0; }
.inquiry_sec .map_tit { font-size: clamp(20px, 2vw, 30px); font-weight: 700; margin-bottom: 20px; }
/* 지도 iframe 영역 */
.inquiry_sec .map_box { width: 100%; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.inquiry_sec .map_box iframe { 
    width: 100% !important; 
    height: 450px; /* PC 지도 높이 (원하는 대로 조절) */
    display: block; 
}
.inquiry_sec .address { font-size: clamp(14px, 1.33vw, 20px); line-height: 1.6; color: #fff; margin: 0; }
.inquiry_sec .address strong { font-weight: 700; }

@media (max-width: 1160px) {
}


/* 폼 컨테이너 */
.inquiry_sec .form_box .inq_form { width: 100%; }
.inquiry_sec .form_box .inq_fields { display: flex; flex-direction: column; gap: 24px; }
.inquiry_sec .form_box .inq_row { display: flex; flex-direction: column; }

/* 라벨 (제목) */
.inquiry_sec .form_box .inq_label { 
    font-size: clamp(14px, 1.33vw, 20px); 
    font-weight: 700; 
    color: #fff; 
    margin-bottom: 10px; 
}

/* 입력 필드 공통 (input, textarea) */
.inquiry_sec .form_box .inq_input, 
.inquiry_sec .form_box .inq_textarea { 
    width: 100%; 
    background-color: #444; 
    border: 1px solid #666; 
    border-radius: 6px; 
    padding: 16px; 
    font-size: clamp(14px, 1.33vw, 20px); 
    color: #fff; 
    box-sizing: border-box; 
    outline: none; 
    transition: border-color 0.3s;
}

/* 포커스 시 테두리 색상 변경 */
.inquiry_sec .form_box .inq_input:focus, 
.inquiry_sec .form_box .inq_textarea:focus { 
    border-color: #fff; 
}

/* 플레이스홀더(안내 문구) 색상 */
.inquiry_sec .form_box .inq_input::placeholder, 
.inquiry_sec .form_box .inq_textarea::placeholder { 
    color: #999; 
}

/* 내용 입력칸 (textarea) 전용 */
.inquiry_sec .form_box .inq_textarea { 
    height: 220px; 
    resize: none; 
}

/* 제출 버튼 영역 */
.inquiry_sec .form_box .inq_submit_wrap { 
    margin-top: 40px; 
}

/* 제출 버튼 */
.inquiry_sec .form_box .inq_submit { 
    width: 100%; 
    background-color: transparent; 
    border: 1px solid #777; 
    border-radius: 6px; 
    padding: 18px; 
    font-size: clamp(14px, 1.33vw, 20px); 
    font-weight: 700; 
    color: #fff; 
    cursor: pointer; 
    transition: all 0.3s ease; 
}

/* 제출 버튼 마우스 오버 */
.inquiry_sec .form_box .inq_submit:hover { 
    background-color: #555; 
    border-color: #555;
}

/* 독립적인 팝업 스타일 (다른 곳 영향 없음) */
.policy_modal {
    display: none; 
    position: fixed; 
    z-index: 9999; 
    left: 0; top: 0; 
    width: 100%; height: 100%; 
    background-color: rgba(0,0,0,0.6);
}



.policy_close {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 28px;
    color: #333;
    cursor: pointer;
}

.policy_modal_content {
    background-color: #fff;
    width: 90%;
    max-width: 600px;
    padding: 30px;
    border-radius: 10px;
    box-sizing: border-box;

    /* 화면 정중앙 고정 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    /* 모바일 잘림 방지 및 내부 스크롤 설정 */
    max-height: 85vh; 
    display: flex;
    flex-direction: column;
}

.policy_modal_content h2 {
    margin: 0 0 15px 0;
    font-size: 20px;
    color: #111;
    border-bottom: 2px solid #333;
    padding-bottom: 10px;
    flex-shrink: 0; /* 타이틀 고정 */
}

.policy_text_area {
    overflow-y: auto; /* 내용 길면 알아서 스크롤 */
    color: #555;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .display_tablet_only{display:block}
    .display_pc_only{display: none}
    
    .policy_modal_content h2{font-size: 18px;}
    .policy_text_area{font-size: 14px;}
    
    .darling_hd .hd_inner{padding:20px 20px;}
    .darling_hd .hd_inner .hd_logo img { height: 16px;        margin: -4px 0 0 0;}
    .darling_hd .hd_inner a{font-size: 24px; font-weight: 400; line-height: 1;}
    
    
   /* 1. 슬라이드 메뉴 래퍼 */
    .hd_menu_wrap {
        position: fixed; top: 0; right: -100%; 
        width: 100%; height: 100vh;
         background: rgba(0, 0, 0, 0.58);  /* 좀 더 진하게 */
        backdrop-filter: blur(20px);
        z-index: 1001; 
        padding: 110px 20px 50px 20px; /* 상단 여백을 충분히 주어 X버튼과 안겹치게 함 */
        transition: right 0.4s ease-in-out;
        display: flex; 
        flex-direction: column;
        align-items: flex-start; /* 텍스트를 좌측 정렬 */
    }
    .hd_menu_wrap.active { right: 0; }

    /* 2. 삼지창/X 토글 버튼 (위치 고정) */
    .darling_hd .hd_btn_toggle { 
        display: flex; flex-direction: column; justify-content: space-between; 
        width: 24px; height: 17px; 
        background: transparent; border: none; cursor: pointer; 
        z-index: 1002; /* 메뉴보다 항상 위에 */
        position: absolute; /* Relative에서 Absolute로 변경 */
        top: 25px; /* 헤더 로고 높이와 맞춤 */
        right: 20px;
    }
    .darling_hd .hd_btn_toggle span { 
        display: block; width: 100%; height: 1px; background: #fff; 
        transition: all 0.3s ease-in-out; 
    }

    /* 토글 활성화 애니메이션 (X 만들기) */
    .darling_hd .hd_btn_toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .darling_hd .hd_btn_toggle.active span:nth-child(2) { opacity: 0; }
    .darling_hd .hd_btn_toggle.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

    /* 3. SNS 링크 (아이콘 깨짐 방지) */
    .mo_sns_link { 
        display: flex; flex-direction: column; gap: 20px; 
        margin-top: 250px; 
    }
    .mo_sns_link a { 
        color: #fff; display: flex; align-items: center; gap: 10px; 
        font-size: 16px; text-decoration: none; 
    }
    .mo_sns_link a img { 
        width: 24px !important; height: auto !important; /* 이미지 늘어남 방지 */
        object-fit: contain;filter: brightness(0) invert(1);
    }

    /* 4. 메뉴 리스트 간격 */
    .hd_gnb_list { flex-direction: column; gap: 10px; width: 100%; }
    .hd_gnb_list .hd_gnb_link { font-size: 24px; font-weight: 600; }
    
    .hd_btn_close, .mo_hd_top { display: none; } /* 중복 로고/버튼 숨김 */
    
    .main_visual .txt_box h2 { font-size: 34px;margin-bottom: 10px; }
    .main_visual .txt_box p { font-size: 18px; }
    
    .main_sec_02 { padding: 60px 20px; }
    .main_sec_02 .title_area {
        margin-bottom: 55px;}
    .main_sec_02 .main_tit { font-size: 20px; }
    .main_sec_02 .content_area { flex-direction: column; gap: 40px; }
    .main_sec_02 .acc_head { font-size: 18px; padding: 20px 0; }
    .main_sec_02 .acc_body p {
        padding-bottom: 15px;}
    
    .main_sec_03 .inner { flex-direction: column; gap: 40px; }
    .main_sec_03 .title_area { flex: auto; width: 100%; }
    .main_sec_03 { padding: 60px 20px; }
    .main_sec_03 .step_list{margin:0;}
    .main_sec_03 .step_item { flex-direction: column; align-items: flex-start; padding: 30px 20px; gap: 15px; }
    .main_sec_03 .step_tit { flex: auto; width: 100%; font-size: 22px; }
    .main_sec_03 .step_tit strong{font-size: 22px;}
    .main_sec_03 .step_tit .bar{font-size: 22px;}
    .main_sec_03 .step_desc { font-size: 14px; }
    
    .main_sec_04 { padding: 60px 0; }
    .main_sec_04 .inner { padding: 0; }
    .main_sec_04 .title_area { padding: 0 20px;margin: 0 0 45px 0; }
    .main_sec_04 .solution_wrap { overflow-x: auto; padding: 0 20px 20px; -ms-overflow-style: none; scrollbar-width: none; }
    .main_sec_04 .solution_wrap::-webkit-scrollbar { display: none; }
    .main_sec_04 .solution_list { flex-wrap: nowrap; gap: 15px; width: max-content; }
    .main_sec_04 .sol_item { width: 42vh; flex: none; padding: 20px; min-height: 260px; }
    .main_sec_04 .btn_plus{width:35px; height:35px; right:20px; bottom: 20px;}
    
    
    .main_sec_04 .pop_inner { padding: 40px 20px; }
    
    .main_sec_05 { padding: 60px 0; } /* 스크롤 자연스럽게 패딩 조정 */
    .main_sec_05 .title_area { padding: 0 20px; }
    
    /* 가로 스크롤 적용 */
    .main_sec_05 .project_list { 
        display: flex; 
        overflow-x: auto; 
        flex-wrap: nowrap; 
        gap: 15px; 
        padding: 0 20px; 
        -ms-overflow-style: none; 
        scrollbar-width: none; 
    }
    .main_sec_05 .project_list::-webkit-scrollbar { display: none; }
    
    /* 모바일에서 카드 너비 조정 (다음 카드가 살짝 보이도록 85% 설정) */
    .main_sec_05 .proj_item { 
        width: 65%; 
        flex: 0 0 auto; 
    }
    
    .main_sec_05 .proj_name { font-size: 18px; }
    .main_sec_05 .pop_inner { padding: 30px 25px; }
    .main_sec_05 .pop_brand { font-size: 24px; margin-bottom: 30px; }
    .main_sec_05 .pop_info { flex-direction: column; gap: 0px;margin-bottom: 0px; }
    
    .main_sec_05 .pop_service dd{font-size:16px;}
    .main_sec_05 .pop_service dd span:after{    margin: 0 2px 0 5px;  font-size: 14px;}
    
    .main_sec_06 { padding: 60px 20px;width: 100%; }
    .main_sec_06 .title_area {
        margin-bottom: 30px;}
    .main_sec_06 .result_box { padding: 50px 30px; width: 100%; }
    
    .main_sec_06 .stat_list {
        grid-template-columns: 1fr; /* 1단 */
        grid-auto-flow: row; /* 다시 기본 가로 배치로 변경 */
        row-gap: 40px;
    }
    
    .main_sec_06 .stat_item { gap: 20px; }
    .main_sec_06 .num { font-size: 30px; width: 105px; }
    .main_sec_06 .desc { font-size: 14px; }
    
    .main_sec_07 { padding: 0 0 60px 0; }
    .main_sec_07 .inner{padding:0 20px;}
    .main_sec_07 .title_area { margin-bottom: 60px;  }
    .main_sec_07 .center_txt { margin: 40px 0; }
    .main_sec_07 .center_txt h2 { font-size: 32px; }
    .main_sec_07 .center_txt h2 svg{height:72px;}
    .main_sec_07 .marquee_list { gap: 30px; padding: 0 15px; }
    .main_sec_07 .marquee_list li img { height: 18px; }
    
    
    
    .main_sec_08 { padding: 10px 0 80px 20px; }
    .main_sec_08 .comm_main_tit { font-size: 24px; }
    
    .main_sec_08 .top_area { align-items: flex-start; padding:0 20px 0 0;}
    
    /* 모바일에서는 화살표 크기 축소 */
    .main_sec_08 .swiper-custom-nav button {
        width: 36px; 
        height: 36px;
    }
    .main_sec_08 .swiper-custom-nav button::after {
        width: 6px; 
        height: 6px;
    }
    .pressSwiper .subj { font-size: 17px; }
    
    
    
    .main_sec_09 .txt_box { top: 12%; left: 20px;} /* 모바일에서는 상단 여백 조금 줄임 */
    .main_sec_09 .txt_box h2 { font-size: 18px; margin-bottom: 30px; }
    .main_sec_09 .btn_contact { padding: 12px 30px; font-size: 14px; }
    
    .footer { padding: 50px 20px; }
    .footer .inner { 
        flex-direction: column; /* 세로로 나열 */
        gap: 35px; 
    }
    
    .footer .ft_col { width: 100%; text-align: left; }
    .footer .ft_copy { text-align: left; } /* 모바일에서는 좌측 정렬 */
    
    .footer .ft_col p { font-size: 13px; }
    .footer { padding: 50px 20px; }
    .footer .inner { flex-direction: column; gap: 25px; } /* 세로 3단락 구성 */
    
    /* 1단락 주소 처리 */
    .footer .ft_info .pc_address { display: block; margin-top: 5px; }
    
    /* 2, 3단락 (정책/소셜)을 모바일 시안처럼 세로 리스트화 */
    .footer .ft_policy, .footer .ft_sns { flex: none; }
    .footer .ft_policy a, .footer .ft_sns a { display: block; margin-bottom: 8px; }
    
    .footer .ft_policy2{display: grid;
        grid-template-columns: 1fr 1fr;}
    
    /* 4단락 카피라이트 */
    .footer .ft_copy { text-align: left; margin-top: 10px; }
    .footer .ft_copy p { color: #555; font-size: 12px; }
    
    .about_sec_01 .inner {
        align-items: flex-start;
        padding-top: 35%; /* 모바일 시안 위치 반영 */
        padding:45%  20px 0;justify-content: center;
    }
    .about_sec_01 .sub_tit { font-size: 15px; margin-bottom: 15px; }
    .about_sec_01 .main_tit { font-size: 18px; line-height: 1.4; }
    
    .about_sec_02 { padding:65px 0; }
    .about_sec_02 .inner { flex-direction: column; padding:0 20px;}
    
    .about_sec_02 .title_area { width: 100%; margin-bottom:20px; }
    .about_sec_02 .comm_sub_tit { font-size: 14px; margin-bottom: 10px; }
    .about_sec_02 .comm_main_tit { font-size: 26px; }
    
    .about_sec_02 .desc_area { width: 100%; padding-top: 0; }
    .about_sec_02 .desc_area p { font-size: 15px; margin-bottom: 25px; }
    
    .about_sec_03 { padding: 65px 0; }
    .about_sec_03 .inner{padding:0 20px;}
    .about_sec_03 .title_area { margin-bottom: 30px; }
    .about_sec_03 .sub_tit { font-size: 14px; margin-bottom: 10px; }
    .about_sec_03 .main_tit { font-size: 22px; }
    
    .about_sec_03 .focus_list { flex-direction: column; gap: 15px; } /* 세로 나열 */
    .about_sec_03 .txt { font-size: 18px; }
    
    .about_sec_04 { padding:0 0  80px 0; }
    .about_sec_04 .inner { flex-direction: column; padding:0 20px;}
    
    .about_sec_04 .title_area { width: 100%; margin-bottom: 40px; }
    .about_sec_04 .sub_tit { font-size: 14px; margin-bottom: 10px; }
    .about_sec_04 .main_tit { font-size: 20px; }
    
    .about_sec_04 .acc_area { width: 100%; }
    .about_sec_04 .acc_item { padding: 30px 0;     align-items: flex-start;  flex-direction: column; position:relative;gap: 10px;}
    
    .about_sec_04 .acc_tit { width: 43%; font-size: 22px; }
    .about_sec_04 .acc_cont { width: 65%; }
    
    .about_sec_04 .acc_fixed p { font-size: 15px; }
    .about_sec_04 .acc_body { padding-top: 20px; }
    .about_sec_04 .acc_body p { font-size: 13px; margin-bottom: 15px; }
    
    .about_sec_04 .acc_item:after{width:15px; height:15px;        position: absolute;  right: 5px;  top: 30px;}
    
    .about_sec_06 { padding: 65px 0; }
    .about_sec_06 .inner{padding:0 20px;}
    .about_sec_06 .title_area { margin-bottom: 30px; }
    .about_sec_06 .main_tit { font-size: 22px; }
    
    .about_sec_06 .team_list { flex-direction: column; gap: 20px; margin-bottom: 60px; }
    
    /* 모바일 클릭(active) 시 오렌지색 배경 + 텍스트 노출 */
    .about_sec_06 .team_item.active .info_box { background: rgba(253, 105, 6, 0.9); } /* #fd6906 불투명도 */
    .about_sec_06 .team_item.active .info_desc { max-height: 200px; opacity: 1; }
    
    .about_sec_06 .partner_area h2 { font-size: 24px; }
    .about_sec_06 .partner_area p { font-size: 14px; }
    
    
    .svc_sec_01 { padding: 120px 0 80px 0; }
    .svc_sec_01 .inner { flex-direction: column; padding:0 20px;}
    
    .svc_sec_01 .title_area { width: 100%; margin-bottom: 40px; }
    .svc_sec_01 .main_tit { font-size: 22px; }
    
    .svc_sec_01 .list_area { width: 100%; margin:0;}
    .svc_sec_01 .svc_item { flex-direction: column; align-items: flex-start; padding: 30px 20px; }
    
    /* 모바일에서는 타이틀과 market 텍스트가 나란히 오도록 배치 */
    .svc_sec_01 .svc_info { width: 100%; margin-bottom: 15px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
    .svc_sec_01 .svc_info h3 { font-size: 20px; margin: 0; }
    
    .svc_sec_01 .svc_desc { width: 100%; }
    .svc_sec_01 .svc_desc p { font-size: 15px; }
    
    .svc_sec_02 { padding: 80px 0; }
    .svc_sec_02 .top_info{padding: 0 20px;}
    .svc_sec_02 .main_tit { font-size: 24px; }
    .svc_sec_02 .desc { font-size: 14px; }
    
    .svc_sec_02 .step_wrap { 
        margin-top: 50px; 
        overflow-x: auto; /* 가로 스크롤 활성화 */
        padding-bottom: 20px; 
        -webkit-overflow-scrolling: touch; 
    }
    .svc_sec_02 .step_wrap::-webkit-scrollbar { display: none; } /* 스크롤바 숨김 */
    
    .svc_sec_02 .step_list { 
        min-width: 800px; /* 강제로 넓이를 줘서 스크롤 생기게 함 */
        gap: 20px;         padding: 0 0 0 20px;
    }
    .svc_sec_02 .step_item { width: 220px; flex: none; }
    .svc_sec_02 .step_item h4 { font-size: 16px; }
    .svc_sec_02 .step_item p { font-size: 13px; }
    .svc_sec_02 .step_item::after{content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 110%;
    height: 2px;
    background: #f05a22;}
    
    .svc_sec_03 { padding: 80px 0; }
    .svc_sec_03 .inner{padding: 0 0 0 20px;}
    .svc_sec_03 .title_area { margin-bottom: 40px; }
    
    .svc_sec_03 .sub_tit { font-size: 14px; margin-bottom: 15px; }
    .svc_sec_03 .main_tit { font-size: 24px; margin-bottom: 15px; }
    .svc_sec_03 .desc { font-size: 13px; }
    
    .svc_sec_03 .solution_wrap { overflow-x: auto; padding: 0 0px 20px; -ms-overflow-style: none; scrollbar-width: none; }
    .svc_sec_03 .solution_wrap::-webkit-scrollbar { display: none; }
    .svc_sec_03 .solution_list { flex-wrap: nowrap; gap: 15px; width: max-content; }
    .svc_sec_03 .solution_list .btn_plus{right: 20px;
    bottom: 20px;
    width: 30px;
    height: 30px;}
    .svc_sec_03 .sol_item { width: 240px; flex: none; padding: 20px; min-height: 260px; }
    .svc_sec_03 .pop_inner { padding: 30px 20px; }
    
    
    .svc_sec_04 { padding: 80px 0; }
    .svc_sec_04 .inner{padding: 0 20px;}
    .svc_sec_04 .title_area { margin-bottom: 50px; }
    .svc_sec_04 .sub_tit { font-size: 14px; }
    .svc_sec_04 .sub_tit strong { font-size: 18px; }
    .svc_sec_04 .main_tit { font-size: 22px; }

    /* 모바일도 2단 유지 (간격 축소) */
    .svc_sec_04 .grid_area {
        column-gap: 20px;
        row-gap: 40px;
    }

    .svc_sec_04 .grid_item h4 { font-size: 15px; padding-bottom: 10px; margin-bottom: 15px; }
    .svc_sec_04 .grid_item li { font-size: 12px; }

    /* 오렌지색 강조 텍스트 모바일 크기 */
    .svc_sec_04 .highlight_text p { font-size: 14px; }
    
    
    .svc_sec_05 { padding: 100px 0; }
    .svc_sec_05 .main_tit { font-size: 26px; margin-bottom: 30px; }
    .svc_sec_05 .btn_contact { font-size: 14px; text-underline-offset: 4px; }
    
    .project_sec_01 {
        padding: 120px 20px 0;}
    .project_sec_01 .title{margin: 0 0 25px 0;}
    .project_sec_01 .project_list{    grid-template-columns: repeat(1, 1fr);}
    .project_sec_01 .proj_name { font-size: 18px; }
    .project_sec_01 .pop_inner { padding: 30px 25px; }
    .project_sec_01 .pop_brand { font-size: 24px; margin-bottom: 30px; }
    .project_sec_01 .pop_info { flex-direction: column; gap: 0px; margin-bottom: 0; }
    
    .project_sec_01 .pop_service dd{font-size:16px;}
    .project_sec_01 .pop_service dd span:after{    margin: 0 2px 0 5px;  font-size: 14px;}
    
    
    .inquiry_sec { padding: 120px 0 80px 0; }
    .inquiry_sec .inner{padding:0 20px;}
    .inquiry_wrap { flex-direction: column; gap: 60px; }
    
    .inquiry_sec .form_area { width: 100%; }
    .inquiry_sec .title_area { margin-bottom: 40px; }
    .inquiry_sec .main_tit { font-size: 26px; }
    .inquiry_sec .desc { font-size: 14px; }
    
    .inquiry_sec .map_area { width: 100%; margin:0; }
    .inquiry_sec .map_tit { font-size: 18px; margin-bottom: 15px; }
    .inquiry_sec .address { font-size: 14px; }
    .inquiry_sec .map_box iframe { height: 300px; } /* 모바일 지도 높이 */
    
    .inquiry_sec .form_box .inq_submit{font-size: 18px;padding: 10px;}
    
    .inquiry_sec .form_box .inq_submit_wrap {
        margin-top: 20px;}
    
    
    
}