/* 폰트설정 */
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:100;
  font-display:swap;
  src:url('./fonts/Pretendard-Thin.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:200;
  font-display:swap;
  src:url('./fonts/Pretendard-ExtraLight.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url('./fonts/Pretendard-Light.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('./fonts/Pretendard-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('./fonts/Pretendard-Medium.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('./fonts/Pretendard-SemiBold.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('./fonts/Pretendard-Bold.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('./fonts/Pretendard-ExtraBold.woff2') format('woff2');
}
@font-face{
  font-family:'Pretendard';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('./fonts/Pretendard-Black.woff2') format('woff2');
}
.main, .sub {position:relative; z-index:6;}
/* --- Margin Top (0 ~ 100px) --- */
.mt0 { margin-top: 0px !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }

/* --- Margin Bottom (0 ~ 100px) --- */
.mb0 { margin-bottom: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }

.ml10 {margin-left:10px;}
/* 사용 */
body{ font-family:'Pretendard', sans-serif; }
a, p, span, h1, h2, h3, h4, h5, h6, button, strong, input, label {font-family:'Pretendard', sans-serif;}
.flex01 {display:flex; flex-direction:row; align-items:center;}
.parental01 li p {width:140px;}
/* -------------------------------------------
    1. 기본 설정
------------------------------------------- */
.blind, .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;
}

#skipNav a {
    position: absolute;
    top: -100px; /* 화면 밖 상단으로 보냄 */
    left: 0;
    width: 100%;
    padding: 15px 0;
    text-align: center;
    background: #222;
    color: #fff;
    font-size: 16px; /* 0으로 하면 안 됩니다 */
    text-decoration: none;
    z-index: 100000000000;
    transition: top 0.3s; /* 부드럽게 내려오는 효과 */
}

/* 2. Tab키를 눌러 포커스가 갔을 때만 화면에 노출 */
#skipNav a:focus, 
#skipNav a:active {
    top: 0; /* 화면 상단에 딱 붙임 */
    outline: 3px dotted #ff0; /* 웹접근성 강조 색상 */
    outline-offset: -5px;
}
a.link:focus {text-decoration:underline;}
a:focus, button:focus, .btn-primary:focus, .btn-primary.focus, .btn.btn-default:focus,
.btn-info.focus, .btn-info:focus
{outline:3px dotted #000 !important; box-sizing:border-box; outline-offset:-3px !important; }
.dotBg {

}
:root {
    --font-main: 'Pretendard', sans-serif;
    --color-black: #222;
    --color01: #0092cd;
    --color02: #003c6b;
    --color03: #1da9e1;
    --hover:#2c394b;
    --hover02:#0047A3;
    --textColor01: #666666;
    --textColor02: #ffffff;
    --color-biz: #006cff; /* 사업주 컬러 */
    --color-sme: #ff6600; /* 중소중견 컬러 */
    --color-worker: #e60057; /* 노동자 컬러 */    
}
input {border:1px solid #c6c6c6;}
input, input::placeholder {font-size:20px; font-weight:400; color:#1d1d1d;}
input:focus {border:1px solid var(--color03); color:var(--color03);}
* { margin: 0; padding: 0; box-sizing: border-box; font-style:normal;}
body { font-family: var(--font-main); color: var(--color-black);}
ul, li { list-style: none; }
a { text-decoration: none; color: inherit; }
button { background: none; border: none; cursor: pointer; font-family: inherit; }
img { display: block; max-width: 100%; }

.inner {
    margin: 0 auto;
    position: relative;
}
.sec .inner {
  width:calc(100% - 40px);
}
.top-banner {
    background-color: #edf1f5;
    padding: 5px 0;
    font-size: 13px;
    color: #555;
}
.top-banner .inner {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:5px;
}
.flag-icon { width:28px; margin-right:2px; }
.top-banner p {font-size: 13px; font-weight:200; color:#1d1d1d;}

.header {
    position: relative;
    background: #fff;
    border-bottom: 1px solid #eee;
    z-index:100;
}
.header.active {
  position:fixed;
  top:0; left:0;
  width:100%;
}
.header.active .top-banner {
  display:none;
}
.header-main {
    background: #fff;
    position: relative;
    z-index: 9999;
    padding:20px 0;
}
.header-main >div {
  display:flex;
  flex-direction:row;
  align-items:center;
}
.header-main,
.top-banner .inner {
  max-width:calc(100% - 150px);
}
.header-main .topBox {
  justify-content:space-between;
}
.header-main .bottomBox {
    padding-top:20px;
}
.logo-area { display: flex; align-items: center; width: 243px; }
.logo-moel img { }

.gnb-pc { 
    width:100%;
    height: 100%; 
}
.gnb-ul {
    display: flex;
    height: 100%;
    /* 메뉴 간격 조절 */
    position:relative;
}
.gnb-ul > li {
    position: relative; 
    height: 100%;
    display: flex;
    justify-content: center;
}
.gnb-ul > li > a.depth1-link {
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 35px; /* 터치 영역 확보 */
    color: #1d1d1d;
    position: relative;
    z-index: 999999999;
    transition: color 0.2s;
}
.gnb-ul > li > a.depth1-link {
  background-image:url(../../_images/common/arrow_icon01.svg);
  background-size:15px 8px;
  background-repeat:no-repeat;
  background-position: right 5px center;
}
.gnb-ul > li.active > a.depth1-link {
    color:#0047A3;
    background-image:url(../../_images/common/arrow_icon01_blue.png);    
    background-size:15px 8px;
    background-repeat:no-repeat;
    background-position: right 5px center;    
}
.depth1-link .icon {
  width:15px;  
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  right:0;
}
.depth1-link .icon .on {
  display:none;
}
.gnb-ul > li:hover > a.depth1-link,
.gnb-pc.is-open .gnb-ul > li > a.depth1-link.active,
.gnb-ul > li.on > a.depth1-link { 
    color: var(--color02); 
    background-image:url(../../_images/common/arrow_icon02.svg);    
}
.depth2-ul {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 0;
    overflow: hidden;
    display:none;
    text-align: center;
    z-index: 99999;
    padding-top: 0;
    visibility: hidden; 
    flex-direction:row;
    align-items:flex-start;
    gap:80px;
    text-align:left;
}
.depth2-ul >li >a {
    display:block;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height:1;
    margin-bottom:20px;
}
.depth2-ul li ul li:not(:last-child) {
    margin-bottom:10px;
}
.depth2-ul li ul li a {
    display:block;
    color: #444;
    font-size:17px;
    font-weight: 400;
}
.gnb-ul > li.on .depth2-ul {
    display:flex;
    height: auto;
    visibility: visible;
    margin-top:85px;    
}
.dimmed.active {
    display: block;
}
.dimmed {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index:11;
    display: none;
}
.gnb-bg {
    position: absolute;
    top: 100%; 
    left: 0;
    width: 100%;
    height: 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    transition: height 0.3s ease;
    z-index:100;
    overflow: hidden;
}
.gnb-ul > li {
    position: static !important; 
}
.gnb-ul > li:first-child {
    position:relative !important;
    z-index:99999999;
}
.depth2-ul {
    width: 100% !important; 
    left: 0 !important;
    display: flex; 
    flex-direction:row;
}
.depth2-ul li {
    width: auto; 
    flex-shrink: 0; 
}
.header.is-open .gnb-bg {
    height:330px;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 10px 15px rgba(0,0,0,0.05);
}
.header .util-btn .icon01 img {width:25px;}
.header .util-btn .icon02 img {width:23px;}
.header .util-btn img.on {
  display:none;
}
.header .util-btn {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:7px;
}
.header .util-btn_mo {
  display:none;
}
.header .util-btn button:hover img.off {
  display:none;
}
.header .util-btn button:hover img.on {
  display:block;
}
.header .util-btn button:hover span {
  color:#202d80;
}
.header .util-btn-btn button span {
  font-size:17px;
  font-weight:500;
  color:#666666;
}
.util-btn {
    display: flex; align-items: center; gap: 6px;
    font-size: 15px; font-weight:500; color: #666666;
}
.util-btn .material-icons-outlined { font-size: 26px; color: #444; }




/* --- 푸터 영역 --- */
.footer {
    background-color: rgb(44, 57, 75); 
    padding: 35px 0;
    color: #fff;
}
.footer .inner {
  width:calc(100% - 80px);
  margin:0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;  
}
/* 1. 왼쪽 영역 */
.footer-left {
    display: flex;
    align-items: center;
    gap:60px; 
}
.footer-left .f-logo img {
  width:117px;
}
.address-box .addr {
    font-size: 18px;
    color: rgb(255, 255, 255);
    line-height: 1.444;
    margin-bottom: 5px;
}
.address-box .addr br {display:none;}
.address-box .copy {
    font-size: 14px;
    color: rgb(169, 169, 169); /* 회색 */
    line-height: 1.857;
}
/* 2. 오른쪽 영역 */
.footer-right {
    display: flex;
    align-items: center;
}
/* 메뉴 링크 (홈으로, 저작권 정책) */
.f-menu {
    display: flex;
    position:relative;
}
.f-menu li {
  margin-right:70px;
}
.f-menu li a {
  position:relative;
}
.f-menu li a::after {
    content:'';
    display: block;
    width: 1px;
    height:56px; 
    background-color: rgb(255, 255, 255);
    opacity: 0.2;   
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    right:-35px;
}
.f-menu li a {
    font-size: 18px;
    color: rgb(255, 255, 255);
    text-decoration: none;
    line-height: 1.2;
}
/* 연락처 박스 */
.contact-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right:100px;
}
.contact-box .label {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.6); 
    line-height: 1.2;
    margin-bottom: 5px;
}

.contact-box .phone {
    font-size: 22px;
    color: rgb(73, 176, 255); 
    font-weight: bold;
    line-height: 1.2;
}

/* 맨 위로 가기 버튼 */
.btntopWrap {
  display:flex;
  flex-direction:row;
  align-items:center;
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:999999;
}
.btntopWrap a {
    display:none;
}
.btntopWrap.active {
    position:relative;
    bottom:initial;
    right:initial;
}
.btntopWrap.active a {
    display:block;
}
.btntopWrap a {
  font-size:18px;
  font-weight:400;
  color:#fff;
  margin-right:20px;
}
.btntopWrap a:hover {
    color:#0092cd;
}
.btn-top {
    width: 61px;
    height: 61px;
    background-color:#0092cd;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: background-color 0.3s;
}
.btn-top i {
    font-size: 24px;
    color: #fff;
}
.btn-top:hover {
    background-color: #fff;
}
.btn-top:hover i {
    color:#0092cd;
}

/* 반응형 */
@media screen and (max-width:1780px) {
    .depth2-ul {gap:50px;}
    .gnb-ul > li.on .depth2-ul {flex-wrap:wrap;}    
}
@media screen and (max-width:1480px) {
    .header-main, .top-banner .inner,
    .footer .inner {width:calc(100% - 40px);}   
    .footer-left {gap:40px;} 
    .footer-left .f-logo img {width:90px;}
    .contact-box {margin-right:60px;}
    .depth2-ul {gap:30px;}
    .depth2-ul >li >a {font-size:18px;}
    .depth2-ul li ul li a {font-size:16px;}
}
@media screen and (max-width:1380px) {
    .footer-left {gap:20px;}    
    .f-menu li {margin-right:40px;}
    .f-menu li a::after {right:-20px; height:40px;}
    .contact-box {margin-right:30px;}
    .depth2-ul >li >a {font-size:17px;}
    .depth2-ul li ul li a {font-size:15px;}    
}
@media screen and (max-width:1280px) {
    
}
@media screen and (max-width:1200px) {
    .footer .inner {flex-direction:column;}
    .footer-left {flex-direction:column; gap:0;}
    .address-box .addr {text-align:center; margin:30px 0;}
    .address-box .addr br {display:block;}
    .btntopWrap {display:none;}
    .f-menu li:last-child a::after {display:none;}
    .f-menu {margin-right:100px;}
    .footer-right {margin-top:30px;}
    .contact-box {justify-content:end; text-align: right;}

    .footer {padding:35px 0 120px 0;}
    .sub .footer {padding:35px 0;}
}
@media screen and (max-width:1080px) {
    .mb80 {
        margin-bottom:60px !important;
    }
    .header-main, .top-banner .inner {max-width:calc(100% - 40px);}
    .header-main .bottomBox {display:none;}
    .header .util-btn_mo {display:block;}
    .header .rtBtn {display:flex; flex-direction:row; align-items:center; gap:20px;}
    .header .util-btn span {display:none;}   
}
@media screen and (max-width:720px) {
    .header-main{padding:15px 0;}
    .logo-area {width:200px;}
    .logo-area img {width:100%;}
    .footer-right {width:100%; justify-content:space-between;}
    .f-menu li:last-child {margin-right:0;}
    .f-menu {margin-right:0;}     
    .address-box .copy {font-size:13px; letter-spacing:-1px;}
}
@media screen and (max-width:480px) {
  .address-box .addr {margin:20px 0; font-size:16px;}
  .logo-area {width:170px;}  
  .header .rtBtn {gap:15px;}
  .header .util-btn .icon01 img {width:22px;}
  .header .util-btn .icon02 img {width:20px;}
  .flag-icon {width:22px; margin-right:0;}
  .top-banner {font-size:12px; letter-spacing:-1px;}
  .top-banner .inner {gap:3px;}
  .footer-left .f-logo img {width:80px;}
  .footer {padding:35px 0 70px 0;}
  .address-box .copy {font-size:12px;}
}

.pc-only { display: flex; }
.mo-only { display: none; }
@media screen and (max-width:1200px) {
    .pc-only { display: none !important; }
    .mo-only { display: block !important; }

    .tabBtnMo { position: relative; max-width:480px; margin: 0 auto -35px auto; }
    .companyHistory .tabBtnMo {margin:0 auto 30px auto; width:100%;}
    .tabBtnMo.open .select-trigger::after {
        transform: translateY(-50%) rotate(180deg);
    }
    .tabBtnMo-list {
        display: none; position: absolute; top: 60px; left: 0; width: 100%;
        background: #fff; border: 1px solid #ddd; border-radius: 15px; overflow: hidden; z-index: 100;
    }
    .tabBtnMo.open .tabBtnMo-list { display: block; }
    
    .tabBtnMo-list li a,
    .tabBtnMo-list li button {
        display:block;
        width: 100%; padding:10px 5px; border: none; background: #fff; font-size:16px; border-bottom: 1px solid #eee;
    }
    .tabBtnMo-list li a.active,
    .tabBtnMo-list li button.active { color: #003d6d; font-weight: bold; }

    .select-trigger {
        width: 100%; height: 55px; border-radius: 30px; text-align:left;
        background: #003d6d; color: #fff; font-size: 20px;
        border: none; position: relative; z-index:9; padding:0 30px; box-sizing:border-box;
    }
    .select-trigger::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 25px;
        transform: translateY(-50%);
        width:19px;
        height:9.5px;
        background-image: url("../../_images/main/select_arrow_icon.png");
        background-repeat: no-repeat;
        background-size: contain;
        transition: transform 0.3s;
    }

}

@media screen and (max-width:720px) {
    .tabBtnMo {width:calc(100% - 60px); max-width:430px;}
    .select-trigger {height:50px; padding:0 20px; font-size:18px;}    
    .tabBtnMo-list li a {font-size:15px;}
}


/* 전체메뉴 감싸는 컨테이너 */
.allmenu-wrapper {
    display:none; 
    z-index:1000;
}
.allmenu-wrapper.active { display:block; }
.btn-allmenu-close {
    width:20px;
    height: 20px;
    border: none;
    cursor: pointer;
    background-image: url(../../_images/common/all_btn_close.png);
    background-size:cover;
    background-position:center;
    background-repeat: no-repeat;
    display: block;
}
.depth2-ul .btn-allmenu-close {
    top:0 !important;
}
/* =================================================================
   [PC 스타일] 1201px 이상
   - 전체 펼쳐져 있는 메가 메뉴 형태 (이미지 2)
   ================================================================= */
@media screen and (min-width: 1201px) {
    .allmenu-wrapper {
        position:fixed; top:165px; left:0; width:100%; 
        background:#fff;
        overflow-y:auto;
        box-shadow:0px 11px 20px rgba(0, 0, 0, 0.1);
    }
    .allmenu-wrapper.active2 {
        top:135px;
    }
    .allmenu-inner {
        position:relative;
       max-width: calc(100% - 150px); margin:0 auto; padding:30px 0 60px 0;
    }
    /* 상단 헤더 (PC는 닫기 버튼만 우측) */
    .btn-allmenu-close {
       position:absolute;
       top:30px;
       right:0;
    }
    .btn-allmenu-close:focus {outline:2px solid #000;}
    .allmenu-header {display:none;}

    /* Depth 1: 가로 배치 */
    .allmenu-depth1-ul {
        display:flex; flex-direction:row; align-items:flex-start; gap:70px;
    }
    .allmenu-depth1-ul > li:nth-child(3) .allmenu-depth2-tit{
        width:170px;
    }
    .allmenu-depth1-li:last-child { border-right:none; }

    /* Depth 1 Title */
    .allmenu-depth1-tit {
        display:block;
        color:#003C6B;
        font-size: 24px;
        font-weight: 500;
        margin-bottom:25px;
        letter-spacing:-0.6px;
    }

    /* Depth 2 */
    .allmenu-depth2-ul { display:block; } 
    .allmenu-depth2-li { display:flex; flex-direction:row; align-items:flex-start;}
    .allmenu-depth2-li:not(:last-child) {margin-bottom:20px;}
    .allmenu-depth2-tit {
        width:120px;
        color: #000;
        font-size:19px;
        font-weight: 500;
        line-height:1.5;
        word-break:keep-all;
        letter-spacing:-0.6px;        
    }
    /* 하위 없는 2depth는 링크처럼 보이게 */
    .allmenu-depth2-li.no-depth3 .allmenu-depth2-tit { 
        cursor:pointer; font-weight:500; 
    }

    /* Depth 3 */
    .allmenu-depth3-ul { display:block; } 
    .allmenu-depth3-ul li:not(:last-child) { margin-bottom:5px; }
    .allmenu-depth3-ul li a {
        color: #444;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        display:flex;
        flex-direction:row;
        align-items:center;
        line-height:1.1;
    }
    .allmenu-depth3-ul li a:hover {color:var(--color01);}
}


/* =================================================================
   [Mobile 스타일] 1200px 이하
   - 우측 슬라이드 + 3단 아코디언 (이미지 3)
   ================================================================= */
@media screen and (max-width: 1200px) {
    .btn-allmenu-close-mo {display:none;}
    .allmenu-wrapper {
        display:block; /* 위치만 화면 밖으로 */
        position:fixed; top:0; 
        right:-100%;
        width:100%; height:100%;
        background:#fff;
        transition: right 0.3s ease-in-out;
        z-index:1000; overflow-y:auto;
    }
    .allmenu-wrapper.active { right:0; }

    /* 모바일 헤더 */
    .allmenu-header {
        display:flex; flex-direction:row; justify-content:space-between; align-items:center;
        padding:20px; border-bottom:1px solid #ddd;
    }
    .allmenu-header .logo-moel img{
        width:200px;
    }

    /* 메뉴 초기화 (아코디언용) */
    .allmenu-depth2-ul,
    .allmenu-depth3-ul {
        display: none;
    }

    /* 활성화 클래스(on)가 붙으면 보임 */
    .allmenu-depth1-li.on > .allmenu-depth2-ul,
    .allmenu-depth2-li.on > .allmenu-depth3-ul {
        display: block;
    }
    
    /* Depth 1 */
    .allmenu-depth1-li { border-bottom:1px solid #eee; }
    .allmenu-depth1-tit {
        padding:18px 20px; font-size:18px; font-weight:700; color:#222;
        display:flex; justify-content:space-between; align-items:center;
        background:#fff;
    }
    /* 화살표 아이콘 */
    .allmenu-depth1-tit::after {
        content:''; width:10px; height:10px;
        border-right:2px solid #aaa; border-bottom:2px solid #aaa;
        transform:rotate(45deg); transition:0.3s;
    }
    /* 활성 상태 */
    .allmenu-depth1-li.on > .allmenu-depth1-tit { color:#0092cd; }
    .allmenu-depth1-li.on > .allmenu-depth1-tit::after { transform:rotate(225deg); border-color:#0092cd; }
    .allmenu-depth1-li.on > .allmenu-depth2-ul { display:block; }

    /* Depth 2 */
    .allmenu-depth2-ul {}
    .allmenu-depth2-li { border-top:1px solid #ececec; }
    .allmenu-depth2-tit {
        padding:15px 20px; font-size:16px; font-weight:600; color:#444;
        display:flex; justify-content:space-between; align-items:center;
    }
    /* 하위 있는 경우만 화살표 */
    .allmenu-depth2-li:not(.no-depth3) .allmenu-depth2-tit::after {
        content:''; width:8px; height:8px;
        border-right:2px solid #bbb; border-bottom:2px solid #bbb;
        transform:rotate(45deg); transition:0.3s;
    }
    /* 활성 상태 */
    .allmenu-depth2-li.on > .allmenu-depth2-tit {background-color:#0092cd; font-size:15px; color:#fff; font-weight:500; }
    .allmenu-depth2-li > .allmenu-depth2-tit {background-color:#f6f6f6;}
    .allmenu-depth2-li> .allmenu-depth2-tit br {display:none !important;}
    .allmenu-depth2-li.on > .allmenu-depth2-tit::after { transform:rotate(225deg);  border-right:2px solid #fff; border-bottom:2px solid #fff;}
    .allmenu-depth2-li.on > .allmenu-depth3-ul { display:block; }

    /* Depth 3 */
    .allmenu-depth3-ul {}
    .allmenu-depth3-ul li a {
        background-color:#f3fbff;
        display:block;
        width:100%; 
        padding:10px 20px;
        font-size:15px;
        font-weight:400;
        color:#333;
    }
    .allmenu-depth3-ul li a::before {
        content:'ㆍ';
    }
    .allmenu-depth3-ul li:not(:last-child) {border-bottom:1px solid #ededed; background-color:#fff;}
    .allmenu-depth3-ul li a:hover { color:#000; font-weight:600; }
}

/* modal */
#searchModal {
    width:100%;
    height: 100dvh;
    background:#F3FBFF;
    position:fixed;
    top:0; left:0;
    z-index:9999;
    display:none;
}
#searchModal.on {
    display:block;
}
#searchModal form {
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;    
    text-align:center;
}
#searchModal dt {
    color: #000;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    margin-bottom:20px;
    line-height:1.3;
}
#searchModal dd {
    color: #003C6B;
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -1px;
}
.modal .closeBtn {
    display:block;
    width:80px;
    height:80px;
    background-image:url(../../_images/common/pop_close.png);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    position:absolute;
    z-index:2;
    top:50px;
    right:50px;
}
.modal .search-box {
    position: relative;
    width: 680px;
    height: 65px;
    border: 2px solid var(--color03);
    background-color: #fff;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.25);
    border-radius: 100px; 
    display: flex;
    align-items: center;
    overflow: hidden;
    margin:45px auto;
}
.modal .search-box input {
    flex: 1;
    border: none;
    outline: none;
    height: 100%;
    padding: 0 30px; /* 텍스트 내부 여백 */
    font-size: 22px;
    font-family: var(--font-main);
    color:var(--color03);
}
.modal .search-box:focus-within {
    border: 2px solid #006CFF;
    outline:none !important;
    color:#006CFF;    
}
.modal .search-box input:focus {
    color:#006CFF;
}
.modal .search-box input::placeholder {
    color: var(--textColor01);
}
.modal .search-box .btn-search {
    width: 117px;
    height: calc(100% - 4px);
    background-color: var(--color02);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius:30px;
    overflow:hidden;
    margin-right:2px;
}
.modal .search-box .btn-search:hover {

}
.modal .search-box .btn-search .search-text {
    font-size: 20px;
    font-family: var(--font-main);
    color: var(--textColor02);
    font-weight: 500;
}

.modal .search-box .btn-search .search-icon {
    width: 27px;
    display: flex;
    align-items: center;
}
.modal .search-box .btn-search .search-icon img {
    width:100%;
}
.modal .hashtags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content:center;
    gap:30px;
}
.modal .hashtags a {
    font-size: 20px;
    font-weight: 400;
    color: rgb(0, 0, 0);
    text-decoration: none;
    line-height: 1.2;
}
.modal .hashtags a:hover {
    color:#1da9e1;
}

@media screen and (max-width:980px) {
    #searchModal {width:100%; padding:0 20px; box-sizing:border-box;}
    .modal .search-box {width:100%; height:60px; margin:25px auto;}
    .modal .hashtags {gap:20px;}
    .modal .hashtags a {font-size:17px;}
    #searchModal dt {font-size:18px; margin-bottom:10px;}
    #searchModal dd {font-size:24px; word-break:keep-all;}
    .modal .search-box input {width:calc(100% - 55px); padding:0 20px;}
    .modal .search-box input,
    .modal .search-box input::placeholder {font-size:17px;}
    .modal .search-box .btn-search {width:50px; height:50px; border-radius:50%;}
    .modal .search-box .btn-search .search-text {display:none;}
    .modal .closeBtn {width:50px; height:50px; right:20px; top:20px;}
    .modal .hashtags {gap:10px;}
}
@media screen and (max-width:480px) {
    #searchModal dt {font-size:16px;}
    #searchModal dd {font-size:20px; letter-spacing:-0.6px;}
    .modal .hashtags a {font-size:15px;}
}
/* 검색결과화면 */
.search-result-container {
    width: 100%;
    padding: 60px 0; 
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px; 
    background-color: #F3FBFF; 
}
.search-result-container .inner {
    width:calc(100% - 40px);
    max-width:1400px;
    margin: 0 auto;    
}
.search-result-container .result-text {
    font-size: 28px;
    font-weight: 300; 
    color: #000;
    text-align: center;
    line-height: normal;
}
.search-result-container .result-text br {display:none;}
.search-result-container .result-text .keyword {
    color: #0047A3;
    font-weight: 500;
}
.search-result-container .result-text .count {
    color: #FF6600;
    font-weight: 500;
}
.search-result-container .tab-list {
    display: flex;    
    flex-direction:row;
    justify-content:space-between;
    width:calc(100% - 40px);
    gap:20px;
    margin:30px auto 0 auto;
}
/* 기본 상태: 셀렉트 박스 숨김 */
.mobile-tab-select {
    display: none;
    width: 100%;
    max-width:720px;
    height: 50px;
    padding: 0 15px;
    font-size: 16px;
    border-radius: 8px;
    background:#003d6d;
    color: #fff;
    margin:30px auto 0 auto;
    appearance: none; /* 브라우저 기본 화살표 제거 (커스텀 위해) */
    -webkit-appearance: none;
    /* 화살표 아이콘 커스텀 (필요 시 이미지 경로 수정) */
    background-image: url(../../_images/main/select_arrow_icon.png);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
}

.search-result-container .tab-item {
    width:20%;
    height: 65px;
    border-radius: 8px;
    border: 1px solid #E2E2E2;
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px; 
    transition: all 0.2s ease;
}
.tab-item .label {
    font-size: 18px;
    font-weight: 500;
    color: #000;
}
.tab-item .num {
    font-size: 16px;
    font-weight: 400; 
    color: #0047A3; 
}
.search-result-container .tab-item.active {
    background: #0047A3;
    border-color: #0047A3;
}
.search-result-container .tab-item.active .label {
    color: #FFF;
    font-weight: 700; 
}
.search-result-container .tab-item.active .num {
    color: #FFF;
}
.search-result-container .tab-item:not(.active):hover {
    border-color: #0047A3;
    background-color: #f5faff;
}

.sec.search_page {
    color: #333;
    width: 100%;
}

.sec.search_page .inner {
    padding:80px 0;
    width:calc(100% - 40px);
    max-width: 1400px;
    margin: 0 auto;
}

.sec.search_page ul, .sec.search_page li, 
.sec.search_page dl, .sec.search_page dt, .sec.search_page dd,
.sec.search_page h3, .sec.search_page h4, .sec.search_page p {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.sec.search_page a { text-decoration: none; color: inherit; }

/* 2. 섹션 영역 (.searchTit) */
.sec.search_page .searchTit {
    font-size: 26px;
    font-weight: 500;
    color: #000;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap:50px;
    padding-left:30px;
    margin-bottom:15px;
    position:relative;
    width:fit-content;
}
.sec.search_page .searchTit span::before {
    content:'';
    display:block;
    width: 1px;
    height: 24px;
    background: #E2E2E2;
    display:block;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:-25px;
}
.sec.search_page .searchTit span {
    font-size: 18px;
    font-weight: 400;
    color: #666;
    position:relative;    
}
.sec.search_page .searchTit span b {
    color: #0047A3; 
    font-weight: 600;
}
.searchData {
    display:none;
}
.searchData.active {
    display:block;
}
.sec.search_page .inner_content {
    padding:50px;
    text-align:center;
    border-radius: 20px;
    border: 1px solid #E2E2E2;
    background:#F9F9F9;    
    margin-bottom:80px;
}
.sec.search_page .inner_content.active {
    display:block;
}
.sec.search_page .inner_content >li:not(:last-child) {
    margin-bottom:60px;
}
.sec.search_page .inner_content.none_ p {
    font-size: 20px;
    font-weight: 300; 
    color: #333;
    letter-spacing: -1px;
}
.sec.search_page .searchLink {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    margin-bottom:30px;
}
.sec.search_page .searchLink h4 {
    color:#1D1D1D;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.sec.search_page .searchLink h4 span {
    color:#0047A3;
    font-size: 16px;
    font-weight: 300;
}
.sec.search_page .searchLink h4 em {
    font-style: normal;
    margin: 0 5px;
    color: #ccc;
}
.sec.search_page .searchLink a {
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    justify-content:center;
    font-size: 20px;
    color: #003C6B;
    font-weight: 500;
    line-height:1;    
}
.sec.search_page .searchLink a span {
    line-height:1;
    font-size: 1em;    
    display:inline-block;
    padding-right:10px;
    color: #003C6B;    
    vertical-align:middle;
    position:relative;
    top:-2px;
}
.sec.search_page .searchLink a:hover,
.sec.search_page .searchLink a:hover span {
    color:#1da9e1;
}
.sec.search_page .searchListBox li:not(:last-child) {
    margin-bottom:30px;
}
.sec.search_page .searchListBox li a {
    display: flex;
    gap: 30px; 
    align-items: flex-start;
}
.sec.search_page .searchListBox li .imgBox {
    width: 180px;
    height: 125px;
    flex-shrink: 0;
    border-radius: 4px;
    background-color: #f4f4f4;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.sec.search_page .searchListBox li .textBox {
    flex-grow: 1;
    width: calc(100% - 210px);
    text-align:left;
}
.sec.search_page .searchListBox li strong {
    display: block;
    font-size: 20px;
    font-weight: 500; /* Medium */
    color: #333; /* 요청하신 #333 */
    margin-bottom: 10px;
    line-height: 1.4;
}
.sec.search_page .searchListBox li p {
    font-size: 18px; 
    font-weight: 200; 
    color: #666;
    line-height: 1.5;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break:keep-all;
}
.sec.search_page .searchListBox li span {
    display: block;
    font-size: 15px;
    color: #2985DB;
    word-break: break-all;
    font-weight: 300;
}

@media screen and (max-width: 1200px) {
    .search-result-container { padding: 40px 0; }
    .search-result-container .result-text { font-size: 24px; }
    .sec.search_page .inner_content {padding:30px 20px;}
    .search-result-container .tab-item { height: 55px; }
    .tab-item .label { font-size: 16px; }
    
    .sec.search_page .searchListBox li a { gap: 20px; }
    .sec.search_page .searchListBox li .imgBox {
        width: 150px; 
        height: 105px;
    }
    .sec.search_page .searchListBox li .textBox {
        width: calc(100% - 170px);
    }
    
}

@media screen and (max-width: 980px) {
    .search-result-container .tab-list {
        display: none; 
    }
    .mobile-tab-select {
        display: block; 
    }
}
@media screen and (max-width: 720px) {
    .sec.search_page .inner {padding:40px 0;}
    .search-result-container .result-text {font-size:19px;}
    .search-result-container .result-text br {display:block;}
    .search-result-container .tab-list { gap: 10px; margin-top: 20px; }
    
    .search-result-container .tab-item {
        width: calc(33.33% - 7px); 
        height: 50px;
    }
    .tab-item .label { font-size: 14px; }
    .tab-item .num { font-size: 13px; }

    .sec.search_page .searchTit { 
        font-size: 20px; 
        padding-left: 0; 
        gap: 20px;
    }
    .sec.search_page .searchTit span::before { display: none; }
    .sec.search_page .searchTit span { font-size: 14px; }
    .sec.search_page .searchTit {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .sec.search_page .searchListBox li strong { font-size: 18px; }
    .sec.search_page .searchListBox li p { font-size: 15px; }
    
    .sec.search_page .inner_content { padding: 30px 20px; margin-bottom:50px;}
    .sec.search_page .inner_content.none_ p {font-size:17px;}

    .sec.search_page .searchLink h4 span {display:block; margin-top:5px;}
    .sec.search_page .searchLink {flex-direction:column; align-items:center; gap:20px; text-align:center;}
    .sec.search_page .searchLink a {width:calc(100% - 40px); max-width:140px; padding:10px 0; border-radius:10px; background-color:#333; color:#fff; font-size:16px; text-align:center; margin:0 auto;}
    .sec.search_page .searchLink a span {display:none;}

    .sec.search_page .searchListBox li strong {font-size:16px;}
    .sec.search_page .searchListBox li p,
    .sec.search_page .searchListBox li span {font-size:14px;}


    .sec.search_page .searchListBox li a {
        flex-direction: column; 
        gap: 15px;
    }
    .sec.search_page .searchListBox li .imgBox {
        width: 100%; 
        height: 180px; 
    }
    .sec.search_page .searchListBox li .textBox {
        width: 100%;
    }    
}

@media screen and (max-width: 380px) {
    .search-result-container .tab-item {
        width: calc(50% - 5px); 
    }


    .sec.search_page .searchLink { margin-bottom: 20px; }
    .sec.search_page .searchLink h4 { font-size: 14px; }
    .sec.search_page .searchLink a { font-size: 14px; }

    .sec.search_page .searchListBox li strong {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .sec.search_page .searchListBox li p {
        font-size: 14px;
        -webkit-line-clamp: 3; 
    }
}