.orange{
    color: #ff6e00;
}

/* 헤더 */
.header{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 140px;
    line-height: 140px;
    z-index: 999;
    overflow: hidden;
    transition: height 0.3s ease, background 0.3s ease;
    border-bottom: 1px solid rgba(255,255,255,0.3);
}
.header:hover{
    height: 400px;
    background: #fff;
    border-bottom: 1px solid #ddd;
}
.header > div{
    width: 92%;
    max-width: 1700px;
    margin: 0 auto;
}
.header_wrap{
    height: 140px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 0;
}

/* 140px 아래 전체 가로선 */
.header::before{
    content: "";
    position: absolute;
    left: 0;
    top: 140px;
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,0.3);
    z-index: 1;
}
.header:hover::before{
    background: #ddd;
}
.header .logo_wrap{
    display: flex;
    gap: 40px;
    align-items: center;
}
.header .b_logo{
    position: relative;
    text-align: center;
}
.header .b_logo a{
    display: inline-block;
    position: relative;
}
.header .b_logo::after{
    content: "";
    position: absolute;
    right: -21px;
    top: 55%;
    transform: translateY(-50%);
    width: 2px;
    height: 38px;
    background-color: rgba(255,255,255,0.3);
}
.header:hover .b_logo::after{
    background-color: rgba(0, 0, 0, 0.1);
}
.header .b_logo .white_logo{
    width: 100%;
    opacity: 1;
    transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.header .b_logo .color_logo{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.header .ceo_logo{
    padding-top: 0.7rem;
    font-size: 21px;
    font-weight: 700;
    color: rgba(255,255,255,0.9);
}
.header .b_nav {
    height: 140px;      /* 높이 명시 */
    line-height: 140px; /* li들 line-height와 맞춤 */
}

.header .b_nav .gnb {
    display: inline-block; /* 그대로 유지 */
    height: 100%;
}
.header .b_nav .gnb > li{
    width: 140px;
    height: 140px;
    float: left;
    position: relative;
    text-align: center;
    font-size: 1.28rem;
    font-weight: 500;
    color: #fff;
}
.header .b_nav .gnb > li > a{
    display: block;
    height: 140px;
}
.header .depth2{
    width: 100%;
    height: 260px;
    padding: 25px 0px;
    line-height: 1.4;
    border-left: 1px solid #eee;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.header .b_nav .gnb > li:last-child .depth2{
    border-right: 1px solid #eee;
}
.header .depth2 li{
    width: 100%;
    float: none;
    line-height: 1.8;
    font-size: 1.15rem;
    font-weight: 400;
    color: #333;
    padding: 6px 0px;
}
.header .header_wrap .b_nav .gnb .depth2 li:hover,
.header.sub_header .header_wrap .b_nav .gnb .depth2 li:hover {
    color: #ff6e00;
}
.header:hover .depth2{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.header:hover .gnb > li > a,
.header:hover .ceo_logo,
.header:hover .h_right{
    color: #222;
}
.header .h_right{
    font-size: 1.15rem;
    color: rgba(255,255,255,0.5);
}
.header .h_right ul li{
    float: left;
    padding-left: 35px;
}

/* 헤더-서브 */
.header.sub_header{
    position: fixed;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.header.sub_header .header_wrap .logo_wrap .b_logo .white_logo{
    opacity: 0;
}
.header.sub_header .header_wrap .logo_wrap .b_logo .color_logo{
    opacity: 1;
}
.header:hover .b_logo .white_logo{
    opacity: 0;
}
.header:hover .b_logo .color_logo{
    opacity: 1;
}
.header.sub_header .header_wrap .b_nav .gnb li{
    color: #222;
}
.header.sub_header .header_wrap .logo_wrap .b_logo::after{
    background-color: rgba(0,0,0,0.3);
}
.header.sub_header .header_wrap .logo_wrap .ceo_logo{
    color: #222;
}
.header.sub_header .header_wrap .h_right{
    color: rgba(0, 0, 0, 0.5);
}

/* ============================================================
   [추가] PC 헤더 로그인/비로그인 상태
   기본=비로그인 / .header.is_logged 추가 시 로그인 상태 전환
   ============================================================ */
.h_logout_state { display: list-item; }
.h_login_state  { display: none; }
.header.is_logged .h_logout_state { display: none; }
.header.is_logged .h_login_state  { display: list-item; }

.h_user_wrap { position: relative; }
.h_user_bubble {
    display: none;
    position: absolute;
    top: 70%;
    left: 20%;
    background: #fff;
    color: #222;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    padding: 12px 20px;
    white-space: nowrap;
    z-index: 1100;
    line-height: 1;
}
.h_user_bubble::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 18px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
}
.h_user_wrap:hover .h_user_bubble { display: block; }
.h_user_bubble a { display: block; font-size: 1rem; color: #444; padding: 4px 0; }
.h_user_bubble a:hover { color: #ff6e00; }

/* side-section */
.sidesection{
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 999;
    opacity: 0;                              /* [수정] 기본 숨김 */
    pointer-events: none;
    transition: opacity 0.4s ease;
}
/* 비주얼 지난 후 JS로 .visible 추가 */
.sidesection.visible {
    opacity: 1;
    pointer-events: auto;
}
.dot {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    background: #000;
    border: 2px solid #000;
    transition: background 0.3s, border-color 0.3s;
}
/* [추가] 활성 섹션 dot: 흰색 배경 + 검정 라인 원형 */
.dot.active {
    background: #fff;
    border: 2px solid #222;
}

/* visual */
.main_visual{
    width: 100%;
    height: 893px;
    overflow: hidden;
    position: relative;
}
.main_visual::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    z-index: 2;
    pointer-events: none;
}

/* [추가] main_visual 내부 컨테이너: common_box의 1250px 대신 헤더와 동일한 max-width 적용 */
.main_visual > div,
.main_visual > div > div {
    width: 100%;
    height: 100%;
    /* max-width: 1530px; */
    /* common_box > div { width: 1250px } 규칙을 이 요소에 한해 오버라이드 */
}
/* 메인 비주얼 - 영상 및 이미지 들어가는 부분 */
.main_visual .main_visual_swiper {
    width: 100%;
    height: 100%;
    position: relative;
}

.main_visual .main_visual_swiper .swiper-slide{
    height: 100%;
}

.main_visual .main_visual_swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 메인 비주얼 - 텍스트 슬라이드 */
.main_visual .main_txt_slide{
    width: 90%;
    position: absolute;
    top: 30%;
    left: 10%;
    z-index: 3;
}
.main_visual .main_txt_slide .txt_wrap{
    width: 100%;
    color: #fff;
    /* padding-top: clamp(150px, 18vw, 320px); */
}
.txt_wrap .s_title{
    font-size: 25px;
    font-weight: 300;
}
.txt_wrap .l_title{
    font-size: 52px;
    font-weight: 600;
    margin: 1% 0% 5%;
}
.txt_wrap .c_btn{
    float: left;
    border: 1px solid #fff;
    border-radius: 100px;
}
.txt_wrap .c_btn a{
    display: inline-block;
    padding: clamp(16px, 1.5vw, 22px) clamp(28px, 2.5vw, 44px);
    text-align: center;
    white-space: nowrap;
}
.txt_wrap .c_btn img{
    width: 23px;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}
.txt_wrap .c_btn span{
    display: inline-block;
    vertical-align: middle;
    font-size: clamp(16px, 1.2vw, 20px);
    margin-left: 8px;
}

/* visual_slide */
.visual_pager{
    position: absolute;
    left: 10%;
    bottom: 15%;
    color: #fff;
    z-index: 3;
}
.visual_pager .bar_wrap{
    float: left;
}
.visual_pager .bar{
    display: inline-block;
    width: 24px;
    height: 6px;
    background: rgba(255,255,255,0.3);
    margin-right: 3px;
    border-radius: 10px;
}
.visual_pager .bar.active{
    background: #fff;
}
.visual_pager .page_num{
    float: left;
    margin-left: 10px;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
}

/* 메인 : main_txt_wrap 순차적으로 올라오는 효과 */
.section_inner .main_txt_wrap .main_title,
.section_inner .main_txt_wrap .main_s_title,
.section_inner .main_txt_wrap .main_desc {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.section_inner .main_txt_wrap.is_visible .main_title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
}
.section_inner .main_txt_wrap.is_visible .main_s_title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
}
.section_inner .main_txt_wrap.is_visible .main_desc {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.4s;
}
.section_inner .s02_right,
.section_inner .s03_right,
.section_inner .njop_process_wrap {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease 0.2s, transform 0.7s ease 0.2s;
}
.section_inner .s02_right.is_visible,
.section_inner .s03_right.is_visible,
.section_inner .njop_process_wrap.is_visible {
    opacity: 1;
    transform: translateY(0);
}


/* ============================================================
   섹션 공통
   ============================================================ */
.section01, .section02, .section03, .section04, .section05 {
    width: 100%;
    height: 100vh;                     /* [수정] 풀 뷰포트 높이 */
    display: flex;                     /* [수정] flex로 세로 중앙정렬 */
    align-items: center;
    padding: 0;                        /* [수정] 패딩 제거 → 중앙정렬로 대체 */
    clear: both;
}

/* section_inner 공통 */
.section_inner .main_txt_wrap{
    display: block;
    width: 40%;
    min-width: 0;
}
.section_inner .main_txt_wrap .main_title{
    font-size: 3.1rem;
    font-weight: 700;
    line-height: 1.3;
}
.section_inner .main_txt_wrap .main_title .gray{
    font-size: 3.1rem;
    font-weight: 700;
    color: #999;
}
.section_inner .main_txt_wrap .main_s_title{
    font-size: 1.8rem;
    margin-top: 12px;
    font-weight: 700;
}
.section_inner .main_txt_wrap .orange{
    font-size: 1.8rem;
    font-weight: 700;
    color: #ff6e00;
}
.section_inner .main_txt_wrap .main_desc{
    font-size: 1.28rem;
    line-height: 1.6;
    margin-top: 55px;
}
.section_inner .main_illust_wrap{
    display: block;
    width: 60%;
    min-width: 0;
    text-align: right;
    position: relative;
}
.section_inner .main_illust_wrap img{
    display: inline-block;
}

.pc-br{
    display: block;
}

/* .offset_section{
    height: calc(100vh - 140px);
} */

/* 메인-섹션01 슬라이드 */
.section01 .main_illust_swiper{
    width: 100%;
    max-width: 570px;
    overflow: hidden;
    padding-bottom: 45px;
    margin-right: 0;
}

.section01 .main_illust_swiper .swiper-slide{
    width: 100%;
    text-align: center;
}

.section01 .main_illust_swiper .swiper-slide img{
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.section01 .section_inner .main_illust_pager{
    width: 100%;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    text-align: center;
    z-index: 5;
}

.section01 .section_inner .main_illust_pager .swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background: #d9d9d9;
    opacity: 1;
}

.section01 .section_inner .main_illust_pager .swiper-pagination-bullet-active{
    width: 28px;
    border-radius: 20px;
}

/* 섹션02 */
.section_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.9rem;
    padding: 0;   /* [수정] 패딩 제거 */
    width: 100%;
}
.black_bold {
    font-weight: 900;
    color: #222;
}
.s02_right {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1;
    max-width: 560px;
}

/* 롤링 로고 */
.logo_rolling_wrap {
    display: flex;
    gap: 16px;
    height: 340px;
    overflow: hidden;
}
.logo_col {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}
.logo_track {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.col_up .logo_track {
    animation: scrollUp 14s linear infinite;
}
.col_down .logo_track {
    animation: scrollDown 14s linear infinite;
}
@keyframes scrollUp {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}
@keyframes scrollDown {
    0%   { transform: translateY(-50%); }
    100% { transform: translateY(0); }
}
.logo_item {
    display: flex;
    padding: 6px;
    align-items: center;
    justify-content: center;
    min-height: 40px;
}
.logo_item img {
    max-width: 100%;
    max-height: 36px;
    object-fit: contain;
}
.logo_rolling_wrap::before,
.logo_rolling_wrap::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 60px;
    pointer-events: none;
    z-index: 1;
}
.logo_rolling_wrap::before {
    top: 0;
    background: linear-gradient(to bottom, #fff, transparent);
}
.logo_rolling_wrap::after {
    bottom: 0;
    background: linear-gradient(to top, #fff, transparent);
}

/* 통계 박스 */
.s02_stat_box {
    width: 100%;
    display: flex;
    border: 3px solid #f47d2a;
    border-radius: 100px;
    overflow: hidden;
}
.s02_stat_box .stat_item {
    flex: 1;
    text-align: center;
    padding: 35px 10px;
}
.s02_stat_box .stat_item::after{
    content: "";
    top: 21%;
    right: 0;
    border: 1px solid #e5e5e5;
    position: absolute;
    width: 0;
    height: 5rem;
}
.s02_stat_box .stat_item::after:last-child{
    border: none;
}
.s02_stat_box .stat_item:last-child {
    border-right: none;
}
.s02_stat_box .stat_item .stat_label {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 6px;
}
.s02_stat_box .stat_item .stat_value {
    font-size: 1.44rem;
    font-weight: 700;
}

/* 섹션03 - flex 추가 */
.section03 .section_inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;   /* [수정] 패딩 제거 */
    width: 100%;
}
.section03.map_section{
    padding: 160px 0;
    align-items: unset;
}
.s03_right {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    max-width: 500px;
}
.map_wrap {
    position: relative;
    width: 100%;
}
.map_img {
    width: 100%;
    display: block;
    animation: fadeIn 0.5s ease forwards;
}
.map_pin {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translate(-50%, -100%);
    opacity: 0;
}
/* 각 핀 차례로 등장 */
.map_wrap.animated .map_pin:nth-child(11) { animation: popIn 0.4s ease forwards; animation-delay: 0.1s; }  /* top: 76% */
.map_wrap.animated .map_pin:nth-child(10) { animation: popIn 0.4s ease forwards; animation-delay: 0.25s; }  /* top: 54% */
.map_wrap.animated .map_pin:nth-child(9)  { animation: popIn 0.4s ease forwards; animation-delay: 0.4s; }  /* top: 52% */
.map_wrap.animated .map_pin:nth-child(8)  { animation: popIn 0.4s ease forwards; animation-delay: 0.55s; }  /* top: 40% */
.map_wrap.animated .map_pin:nth-child(7)  { animation: popIn 0.4s ease forwards; animation-delay: 0.65s; }  /* top: 39% */
.map_wrap.animated .map_pin:nth-child(6)  { animation: popIn 0.4s ease forwards; animation-delay: 0.75s; }  /* top: 38% */
.map_wrap.animated .map_pin:nth-child(5)  { animation: popIn 0.4s ease forwards; animation-delay: 0.8s; }  /* top: 34% */
.map_wrap.animated .map_pin:nth-child(4)  { animation: popIn 0.4s ease forwards; animation-delay: 0.9s; }  /* top: 24% */
.map_wrap.animated .map_pin:nth-child(3)  { animation: popIn 0.4s ease forwards; animation-delay: 1.1s; }  /* top: 20% */
.map_wrap.animated .map_pin:nth-child(2)  { animation: popIn 0.4s ease forwards; animation-delay: 1.2s; }  /* top: 8%  */

@keyframes popIn {
    0%   { opacity: 0; transform: translate(-50%, -80%) scale(0.5); }
    70%  { transform: translate(-50%, -110%) scale(1.2); }
    100% { opacity: 1; transform: translate(-50%, -100%) scale(1); }
}

.pin_circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 2;
}
.pin_circle img{
    width: 100%;
}
.pin_tail {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid #222;
    margin-top: -2px;
}
.s03_right .s03_stat_box {
    width: 100%;
}

/* 섹션04-메인 마지막 섹션 */
.bg_navy{
    background: #001040;
}
.section04.bg_navy .main_txt_wrap .main_title .orange{
    font-size: 3.1rem;
}
.section04.bg_navy .main_txt_wrap .main_s_title{
    font-weight: 500;
    margin-top: 24px;
}
.section04.bg_navy .main_txt_wrap .main_desc{
    font-weight: 400;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.7);
}
.white{
    color: #fff;
}
.purple{
    color: #8aa0e2;
    font-weight: 700;
}
.section04 .main_txt_wrap .call{
    width: 100%;
    display: flex;
    align-items: center;
    margin: 20px 0;
    gap: 8px;
}
.section04 .main_txt_wrap .call img{
    width: 39px;
    height: 39px;
}
.section04 .main_txt_wrap .call .num{
    font-size: 3rem;
    font-weight: 700;
    top: -3px;
}
.section04 .main_txt_wrap .con_btn_wrap .con_btn{
    display: inline-block;
    font-size: 1.43rem;
    padding: 1.25rem 3.6rem;
    background: #001040;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 0.7rem;
}

/* 각 서브페이지 상단 배너 */
.sub_banner{
    width: 100%;
    height: 475px;
    overflow: hidden;
    position: relative;
}


/* IDA N잡러 */
.njop_sub_banner{
    background: url(/images/njop_banner.jpg) no-repeat top/cover;
}
.sub_banner::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    z-index: 1;
}
.sub_banner .b_title{
    text-align: center;
    padding-top: 250px;
    color: #fff;
    z-index: 2;
}
.sub_banner .b_title .b_l_title{
    font-size: 2.7rem;
    font-weight: 600;
}
.sub_banner .b_title .b_s_title{
    font-size: 1.24rem;
    font-weight: 200;
}

/* N잡러 섹션01 - N잡러란? */
.njop_con_btn_wrap {
    width: 100%;
    float: left;
}
.njop_con_btn_wrap .njop_con_btn{
    display: inline-block;
    font-size: 1.43rem;
    padding: 1.25rem 3.6rem;
    background: #ff6e00;
    color: #fff;
    border-radius: 0.7rem;
    margin: 3rem 0 1.4rem;
}
.njop_con_btn_wrap .njop_con_btn img{
    margin-left: 15px;
    top: -2px;
}
.njop_con_btn_wrap .njop_btn_desc{
    font-size: 1.1rem;
    color: rgba(0, 0, 0, 0.5);
}

/* N잡러 섹션02 - N잡러 활동사례 */
.main_illust_wrap.njop_case{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.main_illust_wrap.njop_case li{
    width: calc((100% - 60px) / 3);
    text-align: center;
}
.main_illust_wrap.njop_case li img{
    width: 100%;
    display: block;
    border: 1px solid #e6e6e6;
    border-radius: 2rem;
}
.main_illust_wrap.njop_case .njop_case_desc{
    font-size: 1.2rem;
    font-weight: 700;
    margin-top: 14px;
    line-height: 1.4;
}

/* N잡러 섹션03 - N잡러 신청절차 */
.njop_process_wrap{
    width: 60%;
    position: relative;
}

/* 배경 이미지 */
.njop_process_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    z-index: 0;
}
.njop_process{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
     grid-template-areas:
        "item1 item2"
        "item3 item3";
    gap: 2rem 1rem;
    position: relative;
    z-index: 1;
}
.njop_process_item01 {
    grid-area: item1;
    display: flex;
    justify-content: center;
}
.njop_process_item02 {
    grid-area: item2;
    display: flex;
    justify-content: center;
}
.njop_process_item03 {
    grid-area: item3;
    display: flex;
    justify-content: center;
}
.njop_process_item .njop_process_item_inner{
    width: 100%;
    max-width: 280px;
    text-align: center;
}
.njop_process_item_inner .njop_process_desc {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 14px;
}
.njop_process_item_inner .njop_process_desc .njop_process_num{
    width: 27px;
    height: 27px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50px;
    background: #222;
    color: #fff;
    font-size: 1.25rem;
    margin-right: 8px;
    line-height: 27px;
}
.njop_process_item img{
    width: 100%;
    display: block;
    border: 1px solid #e6e6e6;
    border-radius: 2rem;
}
.njop_process_item03 img{
    width: 100%;
    margin: 0;
}

/* IDA N잡러 상담신청 - section04 */
.section04 .njop_inner {
    align-items: flex-start;
}
.njop_con_section{
    padding: 210px 0;
    align-items: unset;
}
.s04_form_wrap {
    background: #f7f7f7;
    padding: 1.2rem 2rem;
    border-radius: 1rem;
}
.form_row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.5rem;
}
.form_row_textarea {
    align-items: flex-start;
}
.form_label {
    flex: 0 0 9rem;
    font-size: 1.15rem;
    font-weight: 600;
    padding-top: 0.1rem;
    text-align: left;
}
.required {
    color: #f47d2a;
}


.form_input {
    height: 50px;
    flex: 1;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    padding: 0 1rem;
    font-size: 1.1rem;
    background: #fff;
    outline: none;
    transition: border-color 0.2s;
    font-family: inherit;
    min-width: 0;
}
.form_input:focus {
    border-color: #f47d2a;
}
.form_select_wrap {
    flex: 1;
    display: flex;
    gap: 10px;
}
.form_select {
    flex: 1;
    height: 50px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 0 1rem;
    font-size: 0.95rem;
    color: #333;
    outline: none;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
    cursor: pointer;
}
.form_select:focus {
    border-color: #f47d2a;
}
.form_textarea {
    flex: 1;
    height: 190px;
    line-height: 1.5;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 14px;
    color: #333;
    resize: none;
    outline: none;
    transition: border-color 0.2s;
    font-family: inherit;
}
.form_row_textarea .form_textarea_cs{
    height: 280px;
}
.form_textarea:focus {
    border-color: #f47d2a;
}
.form_agree {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 1rem 0;
}
.form_agree input[type="checkbox"]{
    display: block;
}
.agree_check {
    width: 1.2rem;
    height: 1.2rem;
    cursor: pointer;
    flex-shrink: 0;
}
.form_agree label {
    font-size: 1.03rem;
    cursor: pointer;
}
.agree_arrow {
    font-size: 15px;
    color: #888;
}
.form_submit_btn {
    width: 100%;
    height: 60px;
    padding: 1rem;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 0.625rem;
    font-size: 1.3rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    font-family: inherit;
    letter-spacing: -0.01em;
}
.form_submit_btn:hover {
    background: #000;
}

/* IDA 서비스 */
.service_sub_banner{
    background: url(/images/idaservice_banner.jpg) no-repeat top/cover;
}

/* IDA서비스 - 섹션01 :생애 보험 가이드 전용)*/
.life_section.section01 {
    padding: 150px 0;
    align-items: unset;
}

.life_section .section_inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

/* 상단 탭 */
.life_tab_swiper {
    width: 100%;
    margin-bottom: 23px;
    position: relative;
    overflow: visible;
}
.life_tab_swiper::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #eee;
    z-index: 0;
}
.life_tab_swiper .swiper-wrapper {
    overflow: visible;
}
.life_tab_swiper .swiper-slide {
    text-align: center;
    padding: 1rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #999;
    cursor: pointer;
    z-index: 1;
}
.life_tab_swiper .swiper-slide.active {
    color: #ff6e00;
    border-bottom: 3px solid #ff6e00;
    z-index: 2;
}

/* 중간 콘텐츠 좌우 배치 */
.life_content_wrap {
    display: flex;
    align-items: center;
    gap: 2.9rem;
    width: 100%;
}


/* 오른쪽 이미지 swiper */
.life_img_swiper {
    width: 100%;
    overflow: hidden;
}
.life_img_swiper .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* 하단 아이콘 swiper */
.life_icon_swiper {
    width: 100%;
    margin-top: 12px;
}
.life_icon_swiper .swiper-slide img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
}


/* 상담문의 */
.consult_sub_banner{
    background: url(/images/consult_banner.jpg) no-repeat center/cover;
}
.consult_section.section01{
    height: auto;
    display: block;
    align-items: unset;
    padding: 160px 0;
}
.consult_section.section01.f_section01{
    padding: 200px 0;
}
.consult_section .consult_inner {
    align-items: flex-start;
}
.section_inner .consult_form_tabs {
    display: flex;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 50px;
    margin: 0 auto 1rem;
    gap: 0.125rem;
}
.section_inner .consult_tab_btn {
    flex: 1;
    padding: 1.3rem 1.2rem;
    border: none;
    background: transparent;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #999;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    font-family: inherit;
}
.section_inner .consult_tab_btn.active {
    background: #f97316;
    color: #fff;
    box-shadow: 0 2px 8px rgba(249, 115, 22, 0.28);
}
.section_inner .form_select.placeholder {
  color: #a1a1a1;
  font-size: 1rem;
}
.section_inner .form_input::placeholder {
    color: #a1a1a1;
    font-size: 1rem;
}

/* 상담가능시간select + 상담유형 라디오버튼 */
/* 상담가능시간 - 전체 너비 select */
.section_inner .consult_form_select_full {
    width: 100%;
    flex: 1;
}

/* 상담유형 라디오 행 */
.section_inner .consult_row_radio {
    padding: 0.15rem 0;
}
.section_inner .consult_row_radio .consult_form_label {
    padding-top: 0.6rem;
}

/* 라디오 버튼 그룹 */
.section_inner .consult_radio_wrap {
    flex: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.625rem;
    min-width: 0;
}

/* 라디오 개별 아이템 */
.section_inner .consult_radio_item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.6rem 1.1rem 0.6rem 0.75rem;
    border: 1.5px solid #e0e0e0;
    border-radius: 50px;
    background: #fff;
    transition: border-color 0.2s, background 0.2s;
    user-select: none;
    white-space: nowrap;
}
.section_inner .consult_radio_item:hover {
    border-color: #f97316;
}

/* 실제 input 숨김 */
.section_inner .consult_radio_input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* 커스텀 라디오 동그라미 */
.section_inner .consult_radio_box {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    border: 2px solid #ccc;
    background: #fff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background 0.2s;
    position: relative;
}
.section_inner .consult_radio_box::after {
    content: '';
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    transition: opacity 0.15s;
}

/* checked 상태 */
.section_inner .consult_radio_input:checked + .consult_radio_box {
    border-color: #f97316;
    background: #f97316;
}
.section_inner .consult_radio_input:checked + .consult_radio_box::after {
    opacity: 1;
}
.section_inner .consult_radio_input:checked ~ .consult_radio_txt {
    color: #f97316;
    font-weight: 700;
}
.section_inner .consult_radio_item:has(.consult_radio_input:checked) {
    border-color: #f97316;
    background: #fff8f3;
}

/* 라디오 텍스트 */
.section_inner .consult_radio_txt {
    font-size: 1rem;
    color: #555;
    font-weight: 500;
    transition: color 0.2s;
}

.section_inner .form_textarea::placeholder {
    color: #a1a1a1;
    font-size: 1rem;
}
.section_inner .consult_file_wrap {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.section_inner .consult_file_wrap .consult_form_label {
    padding-top: 0.75rem;
}
.section_inner .consult_file_content {
    flex: 1;
    min-width: 0;
}
.section_inner .consult_file_upload_area {
    height: 50px;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    padding: 0.75rem 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    color: #a1a1a1;
    font-size: 1rem;
    background: #fff;
}
.section_inner .consult_file_upload_area:hover {
    border-color: #f97316;
    color: #f97316;
}
.section_inner .consult_file_notice {
    margin-top: 0.375rem;
    text-align: left;
}
.section_inner .consult_file_notice p {
    font-size: 1.07rem;
    color: #ccc;
    line-height: 1.8;
}
.section_inner .consult_file_notice p::before {
    content: "* ";
}

.section_inner .consult_file_result_wrap {
    background: #f7f7f7;
    border-radius: 1rem;
    padding: 4.5rem 2rem 1rem;
}
.section_inner .consult_file_result_row {
    display: flex;
    align-items: flex-start;
}
.section_inner .consult_file_result_row .consult_form_label {
    flex: 0 0 5.5rem;
    padding-top: 0.625rem;
}
.section_inner  .consult_file_result_content {
    flex: 1;
    min-width: 0;
}
.section_inner .consult_file_list {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}
.section_inner .consult_file_item {
    height: 50px;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 0.5rem;
    padding: 0.625rem 0.875rem;
}
.section_inner  .consult_file_item_icon {
    width: 1.25rem;
    height: 1.25rem;
    background: #4e4e4e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.section_inner .consult_file_item_name {
    font-size: 1rem;
    flex: 1;
    word-break: break-all;
}
.section_inner .consult_file_item_remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    line-height: 1;
    padding: 0.125rem;
    border-radius: 0.25rem;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.section_inner .consult_file_item_remove:hover {
    color: #555;
}
.section_inner .consult_file_result_content .consult_file_notice {
    margin-top: 0.5rem;
}

/* 개인정보 수집, 이용동의 */
/* 개인정보 모달 */
.terms_modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.terms_modal.active {
  display: flex;
}
.terms_modal_inner {
  background: #fff;
  border-radius: 0.875rem;
  width: 90%;
  max-width: 560px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
}
.terms_modal_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
}
.terms_modal_title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #111;
}
.terms_modal_close {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: #888;
  line-height: 1;
  padding: 4px;
}
.terms_modal_close:hover {
  color: #111;
}
.terms_modal_content {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #444;
}
.terms_modal_content p {
  margin-bottom: 0.75rem;
}
.terms_modal_footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #e8e8e8;
  text-align: center;
  flex-shrink: 0;
}
.terms_modal_confirm {
  padding: 0.75rem 3rem;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s;
}
.terms_modal_confirm:hover {
  background: #333;
}

/* 보기 버튼 */
.terms-btn {
  font-size: 0.85rem;
  color: #f97316;
  text-decoration: underline;
  cursor: pointer;
  white-space: nowrap;
}

/* 전국지점 */

/* float:left 해제 */
.branch_section > div > div {
    float: none !important;
    overflow: hidden;
    width: 100%;
}

.branch_section {
    height: auto;
    padding: 160px 0;
}
.branch_section .main_txt_wrap{
    display: block;
    width: 50%;
    min-width: 0;
}
.branch_section .main_txt_wrap .main_title{
    font-size: 3.1rem;
    font-weight: 700;
}
.branch_section .main_txt_wrap .main_s_title{
    font-size: 1.8rem;
    margin-top: 5px;
    font-weight: 700;
}
.branch_section .branch_tabs_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10rem;
    margin: 3rem 0 2.3rem;
    flex-wrap: nowrap;
}
.branch_section .branch_tab_wrap {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    flex-shrink: 0;
}
.branch_section .branch_tab_btn {
    padding: 0.8rem 1.5rem;
    border-radius: 2rem;
    background: #111;
    font-size: 1.1rem;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    font-family: inherit;
    white-space: nowrap;
}
.branch_section .branch_tab_btn.coming_soon {
    color: #aaa;
    cursor: default;
}
.branch_section .branch_region_wrap {
    display: flex;
    flex-direction: row;
    gap: 0.375rem;
    flex-wrap: wrap;
}
.branch_section .branch_region_btn {
    padding: 0.8rem 1.5rem;
    border-radius: 2rem;
    background: #333;
    font-size: 1.1rem;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    font-family: inherit;
    white-space: nowrap;
}
.branch_section .branch_tab_btn.inactive,
.branch_section .branch_region_btn.inactive {
    background: rgba(241, 241, 241, 0.8);
    color: #555;
}
.branch_section .branch_list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.branch_section .branch_card {
    height: 320px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    background: rgba(241, 241, 241, 0.5);
    border-radius: 2.9rem;
    overflow: hidden;
}
.branch_section .branch_info {
    flex: 1;
    padding: 3rem 3.5rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.branch_section .branch_name {
    font-size: 1.7rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 2rem;
}
.branch_section .branch_detail {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.branch_section .branch_detail_row {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    font-size: 1.2rem;
    color: #666;
}
.branch_section .branch_detail_row .branch_detail_label {
    color: #222;
    font-weight: 700;
    flex-shrink: 0;
}
.branch_section .branch_map {
    flex: 0 0 570px;
    height: 100%;
    padding: 1.6rem;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.branch_section .branch_map iframe {
    width: 100%;
    height: 100%;
    border: 3px solid #fff;
    border-radius: 2.9rem;
    pointer-events: none;
}
.branch_section .branch_map_overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    cursor: pointer;
}

/* 공지사항 */
.community_section.section01 {
    height: auto;
    display: block;
    align-items: unset;
    padding: 160px 0;
    overflow: hidden;
}
.community_section .main_illust_wrap .pagination a.active{
    background: #ff6e00;
}

/* 커뮤니티 */
.community_sub_banner{
    background: url(/images/consult_banner.jpg) no-repeat center/cover;
}

.sns_section .sns_inner {
    align-items: flex-start;
}


/* 오른쪽 그리드- 2.5줄 노출 + 세로 스크롤 */
.sns_section .sns_container {
    min-width: 0;
    height: 720px; /* 2.5줄 */
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #ddd #f5f5f5;
}
.sns_section .sns_container::-webkit-scrollbar {
    width: 5px;
}
.sns_section .sns_container::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 10px;
}
.sns_section .sns_container::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 10px;
}
.sns_section .sns_container::-webkit-scrollbar-thumb:hover {
    background: #bbb;
}

/* 그리드 */
.sns_section .sns_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding-right: 0.25rem; /* 스크롤바 공간 */
}

/* 카드 */
.sns_section .sns_card {
    height: 100%;
    background: #fff;
    border-radius: 0.75rem;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.25s ease;
    border: 1px solid #efefef;
}


/* 카드 이미지 래퍼 */
.sns_section .sns_card_img_wrap {
    width: 100%;
    overflow: hidden;
}
.sns_section .sns_card_img_wrap img {
    width: 100%;
    height: 157px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.sns_section .sns_card:hover .sns_card_img_wrap img {
    transform: scale(1.07);
}

/* 카드 바디 */
.sns_section .sns_card_body {
    padding: 0.875rem 1rem 1rem;
    background: #fff;
    border-top: 1px solid #ebebeb;
    transition: background 0.25s ease;
    overflow: hidden;
}
.sns_section .sns_card:hover .sns_card_body {
    background: #f2f2f2;
}

/* 설명 텍스트 */
.sns_section .sns_card_desc {
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1.25rem;
    text-align: left;
    /* word-break: keep-all; */
}
.sns_section .sns_card_desc a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}


/* 하단 정보 */
.sns_section .sns_card_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}
.sns_section .sns_card_name {
    font-size: 1rem;
    font-weight: 500;
    color: #999;
}
.sns_section .sns_card_branch {
    font-size: 1rem;
    font-weight: 600;
    color: #999;
}
.sns_section .sns_card_info .store_icon{
    width: 16px;
    height: 16px;
}

/* 창업: IDA매장 */
.cost_section, .interior_section01{
    padding: 160px 0;
    align-items: unset;
}


/* 고탑 플로팅 */
.gotop_btn {
    position: fixed;
    right: 30px;
    bottom: 40px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #222;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    z-index: 998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, background 0.2s;
}
.gotop_btn.visible {
    opacity: 1;
    pointer-events: auto;
}
.gotop_btn:hover {
    background: #ff6e00;
}

/*  푸터 */
.footer{
    width: 100%;
    border-top: 1px solid #ccc;  /* [추가] 상단 구분선 복원 */
}
.footer_wrap{
    width: 100%;
    max-width: 1248px;
    float: left;
    padding: 80px 0;
}
.footer_wrap .f_logo{
    width: 40%;
    float: left;
    opacity: 0.3;
    padding-left: 70px;
}
.footer_wrap .f_logo img{
    max-width: 270px;
}
.footer_wrap .f_text_wrap{
    width: 60%;
    float: left;
    padding-left: 150px;
}
.f_text_wrap .f_menu{
    width: 100%;
    float: left;
}
.f_text_wrap .f_menu .btn_biz {
    position: relative;
    display: inline-block;
    padding-right: 18px;
}
.f_text_wrap .f_menu .btn_biz .f_arrow{
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(45deg);
}
.f_text_wrap .f_text .biz_info{
    display: none;
}
.f_text_wrap .f_menu .btn_biz.active .f_arrow{
    transform: rotate(-135deg);
}
.f_text_wrap .f_menu ul{
    width: 100%;
    float: left;
}
.f_text_wrap .f_menu ul li{
    float: left;
    margin-right: 20px;
    font-weight: 700;
}
.f_text_wrap .f_menu ul li a{
    width: 100%;
    float: left;
}
.footer_wrap .f_text_wrap .f_text{
    float: left;
    margin: 25px 0 12px;
}
.footer_wrap .f_text_wrap .f_text .biz_info p{
    margin: 10px 0px;
}
.f_text_wrap .f_copy{
    width: 100%;
    float: left;
    color: #999;
}

/* ============================================================
   버거메뉴 버튼
   ============================================================ */
.burger_btn {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 34px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    position: relative;
    flex-shrink: 0;
}
.burger_btn span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
    position: static;
}
.header.sub_header .burger_btn span {
    background: #222;
}

/* ============================================================
   모바일 메뉴 드로어
   ============================================================ */
.mobile_nav_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}
.mobile_nav_overlay.open {
    display: block;
}
.mobile_nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1001;
    transition: right 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    box-shadow: none;
}
.mobile_nav.open {
    right: 0;
}
.m_nav_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    height: 70px;
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
}
.m_nav_logo {
    display: inline-flex;
    align-items: center;
}
.m_nav_logo img {
    height: 45px;
    width: auto;
    position: static;
}
.mobile_nav_close {
    background: none;
    border: none;
    font-size: 1.625rem;
    line-height: 1;
    cursor: pointer;
    color: #444;
    padding: 4px 8px;
    position: static;
    top: auto;
    right: auto;
}
.m_nav_auth {
    display: flex;
    gap: 10px;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #f0f0f0;
}
.m_auth_btn {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-size: 1.3rem;
    font-weight: 500;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fafafa;
    transition: background 0.2s;
}
.m_auth_btn:hover {
    background: #f0f0f0;
    color: #222;
}
.m_ceo_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 16px 24px;
    padding: 15px 20px;
    background: #222;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: 10px;
    text-align: center;
    transition: background 0.2s;
}
.m_ceo_btn span {
    position: static;
    font-size: 1.3rem;
    transition: transform 0.2s;
}
.m_ceo_btn:hover {
    background: #ff6e00;
    color: #fff;
}
.m_ceo_btn:hover span {
    transform: translateX(4px);
}
.mobile_nav .m_gnb {
    width: 100%;
    padding: 8px 0 0;
    list-style: none;
}

/* ============================================================
   [추가] 드로어 하단 인증 영역 - 박스 없이 텍스트 스타일
   ============================================================ */
.m_nav_bottom {
    padding: 20px 24px 36px;  /* [수정] border-top 제거 */
    margin-top: 4px;
}
.m_nav_bottom_auth,
.m_nav_bottom_user {
    display: flex;
    flex-direction: column;  /* [수정] 한 줄씩 세로 나열 */
    align-items: flex-start;
    gap: 10px;
}
/* 세로 나열 시 구분자 숨김 */
.m_nav_bottom_sep { display: none; }
/* 비로그인 기본 */
.m_nav_bottom_user { display: none; }
/* 로그인 시 */
.mobile_nav.is_logged .m_nav_bottom_auth { display: none; }
.mobile_nav.is_logged .m_nav_bottom_user { display: flex; }

.m_nav_bottom_link {
    font-size: 1.1rem;
    color: #aaa;
    transition: color 0.2s;
}
.m_nav_bottom_link:hover { color: #ff6e00; }
/* .m_nav_bottom_sep → 세로 나열 시 숨김 처리됨 (위 규칙 참고) */
.m_nav_bottom_name {
    font-size: 1.1rem;
    color: #888;
    font-weight: 600;
}
.mobile_nav .m_gnb_item {
    width: 100%;
    border-bottom: 1px solid #f0f0f0;
}
.mobile_nav .m_gnb_toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 24px;
    font-size: 1.3rem;
    font-weight: 600;
    color: #222;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    letter-spacing: -0.5px;
}
.mobile_nav .m_toggle_arrow {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-right: 2px solid #888;
    border-bottom: 2px solid #888;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.25s ease;
    position: static;
    flex-shrink: 0;
    margin-left: 8px;
}
.mobile_nav .m_gnb_item.active .m_toggle_arrow {
    transform: rotate(-135deg) translateY(-2px);
}
.mobile_nav .m_gnb_item.active .m_gnb_toggle {
    color: #ff6e00;
}
.mobile_nav .m_depth2 {
    display: none;
    padding: 0;
    background: #f8f8f8;
    border-top: 1px solid #f0f0f0;
    list-style: none;
}
.mobile_nav .m_depth2 li {
    border-bottom: 1px solid #efefef;
}
.mobile_nav .m_depth2 li:last-child {
    border-bottom: none;
}
.mobile_nav .m_depth2 li a {
    display: block;
    padding: 14px 24px 14px 36px;
    font-size: 1.3rem;
    color: #555;
    font-weight: 400;
}
.mobile_nav .m_depth2 li a:hover {
    color: #ff6e00;
    background: #fff3ec;
}


/* ============================================================
   반응형 미디어쿼리 통합
   순서: 큰 화면 → 작은 화면
   ============================================================ */


/* 1092px 이하 - 버거버튼 노출 */
@media only screen and (max-width: 1092px) {

    .header_wrap::after { display: none; }
    .burger_btn { display: flex; }
    .header .b_nav,
    .header .h_right { display: none; }
    .header { overflow: visible; height: 100px; }
    .header:hover { height: 140px; background: transparent; border-bottom: 1px solid rgba(255,255,255,0.3); }
    .header.sub_header:hover { background: #fff; border-bottom: 1px solid rgba(0,0,0,0.1); }

    /* [수정] 버거메뉴 클릭 후 sticky hover로 ceo_logo가 검정으로 변하는 문제 방지 */
    .header:hover .ceo_logo         { color: rgba(255,255,255,0.9); }
    .header.sub_header:hover .ceo_logo { color: #222; }
    .header .b_logo .white_logo,
    .header .b_logo .color_logo     { transition: none; }
    .header:hover .b_logo .white_logo { opacity: 1; }
    .header:hover .b_logo .color_logo { opacity: 0; }
    .header.sub_header .b_logo .white_logo { opacity: 0; }
    .header.sub_header .b_logo .color_logo { opacity: 1; }

    .main_visual > div { padding: 0; }

    /* sub_banner */
    .sub_banner { height: 400px; }
    .sub_banner .b_title { padding-top: 200px; }

    /* section04 */
    .section04 .section_inner { flex-direction: column; gap: 50px; }
    .section04 .main_txt_wrap { width: 100%; text-align: center; }
    .s04_contact_info,
    .s04_process { text-align: left; max-width: 540px; margin-left: auto; margin-right: auto; }
    .s04_form_wrap { width: 100%; max-width: 750px; }
}


/* 1025px ~ 1092px - 웹 좁은 화면 */
@media only screen and (min-width: 1025px) and (max-width: 1092px) {

    /* header */
    .header > div { padding: 0 1%; }
    .header_wrap { height: 100px; align-items: center; }
    .header::before { display: none; }
    .header .b_logo img { max-width: 150px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 140px; }

     /* main visual */
    .main_visual { height: 720px; min-height: auto; background-position: center top; }
    .main_visual .txt_wrap { padding-top: 10px; }
    .txt_wrap .l_title { margin: 14px 0 55px; line-height: 1.25; }
    .visual_pager { position: absolute; left: 8%; bottom: 10%;  clear: both; text-align: left; width: 90%; }
    .main_visual .main_txt_slide { left: 8%; }

    /* section01~03 inner flex → column */
    .section01 .section_inner,
    .section02 .section_inner,
    .section03 .section_inner,
    .section04 .section_inner,
    .section05 .section_inner {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
    .section_inner .main_txt_wrap { width: 100%; display: block; text-align: center; }
    .section_inner .main_txt_wrap .main_desc { margin-top: 30px; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }
    .section_inner .main_illust_wrap { width: 100%; display: block; max-width: 750px; margin: 0 auto; text-align: center; }
    .section_inner .main_illust_wrap img { width: 100%; }
    .main_illust_swiper .swiper-wrapper .swiper-slide img { width: 70%; }
    .s02_right { width: 100%; max-width: none; }
    .s02_right .logo_rolling_wrap { width: 70%; margin: 0 auto; }
    .s02_right .s02_stat_box { width: 70%; max-width: 760px; margin: 15px auto 0; }
    .s03_right { width: 100%; max-width: none; }
    .s03_right .s03_stat_box { width: 70%; max-width: 560px;}
    .map_wrap { max-width: 460px; margin: 0 auto; }
    .section01, .section02, .section03, .section04, .section05, .life_section.section01, .section03.map_section { height: auto; display: block; padding: 100px 0; }

    .section01 .main_illust_swiper { max-width: 700px; margin: 0 auto; }

    /* 메인-마지막섹션 */
    .section04 .main_txt_wrap .call { justify-content: center; }

    /* IDA 서비스 */
    .life_content_wrap { flex-direction: column; }
    .life_icon_swiper .swiper-slide img { width: 100%; }

    /* N잡러 */
    .njop_process_wrap { width: 100%; text-align: center; margin: 20px auto 0; }
    .main_illust_wrap.njop_case { display: flex; flex-wrap: wrap; gap: 30px; }
    .main_illust_wrap.njop_case li { width: calc((100% - 60px) / 3); text-align: center; }

    /* 싱담문의 */
    .consult_section.section01 { padding: 7rem 0; }

    /* 전문가SNS */
    .sns_section .sns_container img { width: 100%; }

    /* footer */
    .footer_wrap .f_logo,
    .footer_wrap .f_text_wrap { width: 100%; padding-left: 0; text-align: center; }
    .footer_wrap .f_logo img { max-width: 220px; }
    .footer_wrap .f_text_wrap { margin-top: 30px; }
    .footer_wrap .f_text_wrap .f_text { clear: both; float: none; text-align: center; width: 100%; }
    .f_text_wrap .f_menu ul li { float: none; display: inline-block; }
}


/* 1024px 이하 - 태블릿 가로 */
@media only screen and (max-width: 1024px) {

    /* 공통 */
    .sidesection { display: none; }

    /* header */
    .header { height: 100px; line-height: 100px; overflow: visible; }
    .header:hover { height: 100px; background: transparent; border-bottom: 1px solid rgba(255,255,255,0.3); }
    .header.sub_header:hover { height: 100px; line-height: 100px; }
    .header > div { width: 100%; max-width: 1000px; }
    .header::before { display: none; }
    .header_wrap { height: 100px; align-items: center; }
    .header .logo_wrap { gap: 30px; }
    .header .b_logo img { max-width: 150px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 100px; }
    .header .b_nav, .header .h_right { display: none; }
    .header:hover .b_logo .white_logo { opacity: 1; }
    .header:hover .b_logo .color_logo { opacity: 0; }
    .header:hover .ceo_logo { color: rgba(255,255,255,0.9); }

    /* main visual */
    .main_visual { height: 720px; min-height: auto; background-position: center top; }
    .txt_wrap .l_title { font-size: 3.5rem; margin: 14px 0 55px; line-height: 1.25; }
    .main_visual .main_txt_slide { left: 8%; }
    .visual_pager { left: 8%; }

    /* IDA 서비스 */
    .life_content_wrap { flex-direction: column; }
    .life_content_wrap .main_txt_wrap { width: 100%; text-align: center; }
    .life_content_wrap .main_illust_wrap { width: 100%; }
    .section01.life_section .section_inner { gap: 0; }
    .main_illust_wrap .life_img_swiper .swiper-slide img { width: 80%; }
    .life_icon_swiper .swiper-slide img { width: 100%; }

    /* section */
    .section01, .section02, .section03, .section04, .section05, .life_section.section01, .section03.map_section { width: 100%; height: auto; min-height: auto; display: block; padding: 100px 0; } 

    /* section01~03 inner → column */
    .section01 .section_inner,
    .section02 .section_inner,
    .section03 .section_inner,
    .section04 .section_inner,
    .section05 .section_inner {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }

    .section_inner .main_txt_wrap, .branch_section .main_txt_wrap { width: 100%; display: block; text-align: center; }
    .section_inner .main_txt_wrap .main_desc { margin-top: 35px; }
    .section_inner .main_illust_wrap { width: 100%; display: block; margin: 20px auto 0; text-align: center; }
    .section_inner .main_illust_wrap img { width: 100%; }
    .main_illust_swiper .swiper-wrapper .swiper-slide img { width: 80%; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }

    .section01 .main_illust_swiper { max-width: 700px; margin: 0 auto; }

    /* rolling */
    .s02_right { width: 100%; max-width: none; display: block; }
    .logo_rolling_wrap { position: relative; width: 100%; max-width: 700px; height: auto; display: flex; flex-direction: column; gap: 16px; margin: 0 auto; overflow: hidden; }
    .logo_rolling_wrap .logo_col { width: 100%; height: 80px; overflow: hidden; }
    .logo_rolling_wrap .logo_col .logo_track { flex-direction: row; align-items: center; gap: 12px; }
    .logo_col .logo_track .logo_item { min-width: 125px; flex-shrink: 0; }
    @keyframes scrollLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
    @keyframes scrollRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
    .logo_col:nth-child(1) .logo_track { animation: scrollLeft 14s linear infinite; }
    .logo_col:nth-child(2) .logo_track { animation: scrollRight 14s linear infinite; }
    .logo_col:nth-child(3) .logo_track { animation: scrollLeft 14s linear infinite; }
    .s02_stat_box { width: 100%; max-width: 720px; margin: 15px auto 0; }
    .s02_stat_box .stat_item { padding: 28px 10px; }

    /* section03 */
    .s03_right { width: 100%; max-width: none; display: block; text-align: center; }
    .map_wrap { width: 100%; max-width: 520px; margin: 0 auto; }
    .s03_right .s03_stat_box { width: 100%; max-width: 580px; margin: -10px auto 0; }
    .pin_circle { width: 52px; height: 52px; }

    /* section04-메인 마지막섹션 */
    .section04 .main_txt_wrap .call { justify-content: center; }

    /* N잡러 */
    .main_illust_wrap.njop_case{ display: flex; flex-wrap: wrap; gap: 20px; width: 90%; }
    .njop_process_wrap{ width: 100%; }
    .njop_inner .main_illust_wrap.s04_form_wrap{ margin: 0; }

    /* footer */
    .footer_wrap { padding: 60px 5%; }
    .footer_wrap .f_logo, .footer_wrap .f_text_wrap { width: 100%; float: left; padding-left: 0; text-align: center; }
    .footer_wrap .f_text_wrap { margin-top: 35px; }
    .footer_wrap .f_logo img { max-width: 200px; }
    .f_text_wrap .f_menu ul li { float: none; display: inline-block; }
    .footer_wrap .f_text_wrap .f_text { clear: both; float: none; text-align: center; width: 100%; }

    /* branch_section */
    .branch_section { padding: 4rem 0; }
    .branch_section .branch_map { flex: 0 0 480px; }
    .branch_section .branch_tabs_row { flex-direction: column; align-items: flex-start; gap: 0.75rem; }

    /* 전문가 SNS */
    .sns_section { padding: 5rem 0;}
    .sns_section .sns_container img { width: 100%; }
}


/* ============================================================
   [추가] 796px ~ 955px 양옆 여백 복원
   1024px 블록의 .header > div { width: 960px } 오버플로 방지
   ============================================================ */
@media only screen and (min-width: 769px) and (max-width: 962px) {
    .header > div { width: 100% !important; padding: 0 5%; max-width: none; }
    .header_wrap { padding: 0; }
}

/* 768px ~ 1092px - 태블릿 드로어 50% */
@media only screen and (min-width: 768px) and (max-width: 1092px) {
    .mobile_nav { width: 50%; right: -50%; }
    .mobile_nav.open { right: 0; }
}


/* 768px 이하 - 태블릿 세로 */
@media only screen and (max-width: 768px) {
    .pc-br{ display: none; }


    /* header */
    .header { height: 80px; line-height: 80px; }
    .header:hover { height: 80px; }
    .header.sub_header:hover { height: 80px; line-height: 80px; }
    .header > div { width: 100%; padding: 0 5%; }
    .header_wrap { height: 80px; align-items: center; }
    .header .b_logo img { max-width: 130px; }
    .header .logo_wrap { gap: 24px; }
    .header .b_logo::after { right: -13px; height: 30px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 80px; }
    .burger_btn { width: 30px; height: 22px; }

    /* main visual */
    .main_visual { height: 640px; background-position: center center; }
    .txt_wrap .l_title { font-size: 2.8rem; margin: 8px 0 42px; line-height: 1.3; }
    .txt_wrap .c_btn a { padding: 14px 24px; }
    .txt_wrap .c_btn img { width: 20px; }
    .visual_pager .bar { width: 20px; height: 5px; }
    .visual_pager .page_num { font-size: 1.1rem; }


    /* section */
    .section01, .section02, .section03, .section04, .section05, .section03.map_section { min-height: auto; padding: 80px 20px; }
    .section_inner .main_txt_wrap .main_desc { margin-top: 26px; }
    .section_inner .main_illust_wrap img { width: 100%; }

    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }

    /* rolling */
    .logo_rolling_wrap { max-width: 500px; height: 220px; gap: 10px; }
    .logo_item { min-height: 56px; padding: 10px; }

    /* stat */
    .s02_stat_box { max-width: 560px; display: block; border-radius: 24px; }
    .s02_stat_box .stat_item { width: 100%; padding: 22px 10px; border-right: none; border-bottom: 1px solid #f47d2a; }
    .s02_stat_box .stat_item:last-child { border-bottom: none; }
    .s03_right .s03_stat_box { width: 100%; max-width: 540px; margin: -10px auto 0; }

    /* map */
    .map_wrap { max-width: 420px; }
    .pin_circle { width: 44px; height: 44px; }
    .pin_tail { border-left-width: 8px; border-right-width: 8px; border-top-width: 11px; }


    /* footer */
    .footer_wrap { padding: 50px 20px; }
    .footer_wrap .f_logo img { max-width: 190px; }
    .f_text_wrap .f_menu ul li { margin: 0 8px 8px; }
    .footer_wrap .f_text_wrap .f_text { line-height: 1.6; clear: both; float: none; text-align: center; width: 100%; }

    /* sub_banner */
    .sub_banner { height: 340px; }
    .sub_banner .b_title { padding-top: 160px; }
    .sub_banner .b_title .b_l_title { font-size: 2.3rem; }
    .sub_banner .b_title .b_s_title { font-size: 1.3rem; }

     /* IDA 서비스 */
    .life_section .section_inner { overflow: hidden; }
    .life_tab_swiper { overflow: visible; }
    .life_tab_swiper .swiper-slide { font-size: 1.25rem; padding: 0.75rem 0.5rem; white-space: nowrap; }
    .life_section .section_inner .life_content_wrap .main_illust_wrap .life_img_swiper img { width: 80%; }
     /* 탭 swiper - peek */
    .life_tab_swiper { overflow: visible; }
    /* 아이콘 swiper - peek */
    /* .life_icon_swiper { overflow: hidden; }
    .life_icon_swiper .swiper-wrapper { overflow: visible; }
    .life_icon_swiper .swiper-slide img{ width: auto; max-width: none; height: 100%; } */

    /* section04 */
    .section04{ margin-top: 0; }
    .section04 .main_title { font-size: 2.1rem; }
    .section04 .main_s_title { font-size: 1.4rem; }
    .section04 .main_desc { font-size: 1.3rem; line-height: 1.8; }
    .contact_item .contact_title { font-size: 1.3rem; }
    .contact_item .contact_desc { font-size: 1.3rem; }
    .form_label { font-size: 1.2rem; }
    .form_input { height: 52px; }
    .form_select { font-size: 1rem; height: 52px; }
    .form_textarea { font-size: 1.1rem; height: 180px; }
    .form_agree label { font-size: 1.3rem; }
    .agree_arrow { font-size: 1.3rem; }
    .form_submit_btn { font-size: 1.3rem; height: 60px; }
    .section_inner .consult_form_tabs { flex-wrap: wrap; border-radius: 16px; margin-top: 0; }

    /* IDA N잡러 */
    .njop_process {
        grid-template-columns: 1fr;
        grid-template-areas:
            "item1"
            "item2"
            "item3";
    }
    .njop_process_item01,
    .njop_process_item02,
    .njop_process_item03 {
        justify-content: center;
    }
    .njop_process_item_inner {
        width: 70%;
        max-width: 300px;
    }
    .section_inner .njop_process_wrap  .njop_process_bg {
        display: none; /* 배경 화살표 이미지 숨김 */
    }
    .main_illust_wrap.njop_case li{
        width: calc((100% - 20px) / 2);
    }


  /* 모든 탭 flex 초기화 */
  .section_inner .consult_form_tabs .consult_tab_btn {flex: 0 0 auto; border-radius: 0; }

  /* 첫 번째 탭 - 전체 너비 */
  .section_inner .consult_form_tabs .consult_tab_btn:first-child { width: 100%; border-radius: 16px 16px 0 0; }

  /* 두 번째, 세 번째 탭 - 반반 */
  .section_inner .consult_form_tabs .consult_tab_btn:nth-child(2),
  .section_inner .consult_form_tabs .consult_tab_btn:nth-child(3) { flex: 1; }
  .section_inner .consult_form_tabs .consult_tab_btn:nth-child(2) { border-radius: 0 0 0 16px; }
  .section_inner .consult_form_tabs .consult_tab_btn:nth-child(3) { border-radius: 0 0 16px 0; }


/* branch_section */
.branch_section { padding: 4.5rem 0; }
.branch_section .branch_tabs_row { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
.branch_section .branch_info { padding: 2.5rem 2.8rem; }
.branch_section .branch_map { flex: 0 0 400px; }

/* consult_section */
.consult_section { padding: 3.5rem 0; }
.consult_section .consult_inner { flex-direction: column; gap: 2rem; }

/* 전문가 SNS */
.sns_section { padding: 3.5rem 0;}
.sns_section .sns_inner { flex-direction: column; gap: 4.75rem; }
.sns_section .sns_container{ margin-top: 0;}
.sns_section .sns_grid { grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
.sns_section .sns_container img { width: 100%; }
}


/* 767px 이하 - 중간 모바일 */
@media only screen and (max-width: 767px) {

    /* mobile_nav 전체화면 */
    .mobile_nav { width: 100%; right: -100%; }
    .mobile_nav.open { right: 0; }

    /* header */
    .header { height: 76px; line-height: 76px; }
    .header:hover { height: 76px; }
    .header.sub_header:hover { height: 76px; line-height: 76px; }
    .header > div { width: 100%; padding: 0 5%; }
    .header_wrap { height: 76px; align-items: center; }
    .header .b_logo img { max-width: 120px; }
    .header .logo_wrap { gap: 20px; }
    .header .b_logo::after { right: -11px; height: 28px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 76px; }
    .burger_btn { width: 28px; height: 21px; }

    /* main visual */
    .main_visual { height: 600px; background-position: center center; }
    .txt_wrap .s_title { font-size: 1.5rem; }
    .txt_wrap .c_btn a { padding: 13px 22px; }
    .txt_wrap .c_btn img { width: 19px; }
    .txt_wrap .c_btn span { font-size: 1.3rem; }

    /* section */
    .section01, .section02, .section03, .section04, .section05 { min-height: auto; padding: 70px 5%; }
    .section_inner .main_txt_wrap .main_title, .section04.bg_navy .main_txt_wrap .main_title .orange { font-size: 2.8rem; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }
    .section_inner .main_txt_wrap .main_s_title, .section_inner .main_txt_wrap .main_s_title .orange { font-size: 1.6rem; }
    .section_inner .main_txt_wrap .main_desc { font-size: 1.3rem; margin-top: 26px; }
    .section_inner .main_illust_wrap { margin-top: 5px; }

    /* stat */
    .s02_stat_box { display: block; border-radius: 20px; }
    .s02_stat_box .stat_item { width: 100%; padding: 20px 10px; border-right: none; border-bottom: 1px solid #f47d2a; }
    .s02_stat_box .stat_item:last-child { border-bottom: none; }
    .s02_stat_box .stat_item .stat_label { font-size: 1.3rem; }
    .s02_stat_box .stat_item .stat_value { font-size: 1.4rem; }

    /* map */
    .map_wrap { max-width: 380px; }
    .pin_circle { width: 40px; height: 40px; }

    /* footer */
    .footer_wrap { padding: 46px 5%; }
    .f_text_wrap .f_menu ul li { margin: 0 6px 8px; font-size: 1.3rem; }
    .footer_wrap .f_text_wrap .f_text { clear: both; float: none; text-align: center; width: 100%; font-size: 1.3rem; line-height: 1.6; }
    .f_text_wrap .f_copy { font-size: 1.3rem; }

    /* sub_banner */
    .sub_banner { height: 310px; }
    .sub_banner .b_title { padding-top: 150px; }

    /* section04 */
    .s04_contact_info, .s04_process { max-width: 100%; }
    .s04_form_wrap { padding: 3rem 2rem; }

    /* branch_section */
    .branch_section { padding: 3rem 0; }
    .branch_section .main_title { font-size: 1.5rem; }
    .branch_section .branch_card { flex-direction: column; height: auto; }
    .branch_section .branch_map { flex: none; height: 300px; width: 100%; }
    .branch_section .branch_info { padding: 2.5rem 2.5rem 1.5rem; }

    /* consult_section */
    .consult_section { padding: 3rem 0; }
    .consult_section .consult_inner { flex-direction: column; gap: 1.75rem; }
}


/* 480px 이하 */
@media only screen and (max-width: 480px) {
    .main-br { display: none; }

    /* header */
    .header { height: 72px; line-height: 72px; }
    .header:hover { height: 72px; }
    .header.sub_header:hover { height: 72px; line-height: 72px; }
    .header > div { width: 100%; padding: 0 4%; }
    .header_wrap { height: 72px; }
    .header .b_logo img { max-width: 110px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 72px; }
    .burger_btn { width: 27px; height: 20px; }

    /* visual */
    .main_visual { height: 580px; }
    .main_visual .main_txt_slide { left: 6%; }
    .txt_wrap .l_title { font-size: 2.4rem; }
    .visual_pager { left: 6%; }
    .visual_pager .bar { width: 19px; height: 5px; }

    /* section */
    .section01, .section02, .section03, .section03.map_section { padding: 65px 4%; }
    .section_inner .main_txt_wrap .main_title, .section04.bg_navy .main_txt_wrap .main_title .orange { font-size: 2.6rem; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }
    .section_inner .main_txt_wrap .main_s_title,
    .section_inner .main_txt_wrap .main_s_title .orange { font-size: 1.5rem; }
    .section_inner .main_txt_wrap .main_title .orange { font-size: inherit; }
    .section_inner .main_txt_wrap .main_desc { font-size: 1.35rem; }
    .section_inner .main_illust_wrap img { width: 100%; }
    .main_illust_swiper .swiper-wrapper .swiper-slide img { width: 100%; }

    /* rolling */
    .logo_rolling_wrap { height: 240px; gap: 8px; }
    .logo_rolling_wrap .logo_col { height: 70px; }
    .logo_item { min-height: 50px; min-width: 100px; }
    .map_wrap { max-width: 360px; }

    /* footer */
    .footer_wrap { padding: 44px 4%; }
    .footer_wrap .f_text_wrap .f_text { clear: both; float: none; text-align: center; width: 100%; }
    .f_text_wrap .f_menu ul li { font-size: 1.3rem; margin: 0 5px 7px; }
    .f_text_wrap .f_copy { font-size: 1.3rem; }
    .footer_wrap .f_text_wrap .f_text { margin: 25px 0; }

    /* sub_banner */
    .sub_banner { height: 280px; }
    .sub_banner .b_title { padding-top: 130px; }
    .sub_banner .b_title .b_l_title { font-size: 2rem; }

    /* section04 */
    .section04 .section_inner { gap: 35px; }
    .section04 .main_title { font-size: 1.9rem; }
    .form_row { flex-direction: column; align-items: flex-start; gap: 6px; }
    .form_label { width: 100%; min-width: auto; flex: 0;}
    .form_input { width: 100%; height: 52px; min-height: 52px; box-sizing: border-box; }
    .form_select_wrap { width: 100%; flex-direction: column;  /* [수정] 셀렉트 세로 나열 */ gap: 8px; }
    .form_select { width: 100%; height: 52px; min-height: 52px; font-size: 1.1rem; box-sizing: border-box; }
    .email_input_wrap .form_select { height: 50px; min-height: 50px; }
    .form_textarea { width: 100%;  flex: none;  }
    .form_agree {flex-wrap: wrap; }
    .section_inner .consult_file_wrap { flex-direction: column; }
    .section_inner .consult_file_upload_area { width: 100%; }

    .main_illust_wrap.njop_case{ width: 100%; gap: 15px; }
    .main_illust_wrap.njop_case li{ width: calc((100% - 15px) / 2); }
    .main_illust_wrap.njop_case .njop_case_desc{ margin-top: 8px; }
    .njop_process_wrap .njop_process { gap: 3.5rem; }

    /* IDA서비스 */
    .life_section .section_inner .life_content_wrap .main_illust_wrap .life_img_swiper img { width: 100%; }

    /* branch_section */
    .branch_section { padding: 90px 0; }
    .branch_section .branch_tab_btn { font-size: 1.1rem; padding: 0.6rem 1.3rem; }
    .branch_section .branch_region_btn { font-size: 1.12rem; padding: 0.6rem 1.3rem; }
    .branch_section .branch_map { height: 245px; }

    /* consult_section */
    .consult_section.section01 { padding: 90px 0; }
    .section_inner .consult_file_content {width: 100%; flex: none;}
    .section_inner .consult_file_result_wrap { padding: 1.25rem; }
    .form_row.pc-form .email_form_input { width: 45%; }
    /* 이메일 행은 column 제외 */
    .form_row.pc-form { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .form_row.pc-form .form_label { width: 100%; flex: 0 0 100%;  margin-bottom: 4px; }
    .form_row.pc-form .form_input { flex: 1; min-width: 0; height: 52px; }
    .form_row.pc-form .form_select { width: 100%; flex: 0 0 100%; height: 52px; margin-top: 6px; }

    /* 전문가 SNS */
    .community_section.section01 { padding: 70px 0; }
    .sns_section { padding: 2.5rem 0;}
    .sns_section .sns_inner { gap: 3rem; }
    .sns_section .sns_container { height: auto; }
    .sns_section .sns_grid { grid-template-columns: repeat(2, 1fr); gap: 0.625rem; }
    .sns_section .sns_card_desc { font-size: 1.18rem; }
    .sns_section .sns_container img { width: 100%; }
}


/* 390px 이하 - 모바일 */
@media only screen and (max-width: 390px) {

    /* header */
    .header { height: 70px; line-height: 70px; }
    .header:hover { height: 70px; }
    .header.sub_header:hover { height: 70px; line-height: 70px; }
    .header > div { width: 100%; padding: 0 3%; }
    .header_wrap { height: 70px; }
    .header .logo_wrap { gap: 18px; }
    .header .b_logo img { max-width: 105px; }
    .header .b_logo::after { right: -10px; height: 24px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 70px; }

    /* visual */
    .main_visual { height: 590px; background-position: center center; }
    .main_visual .main_txt_slide { top: 43%; }
    .txt_wrap .l_title { font-size: 2.3rem; margin: 8px 0 34px; line-height: 1.35; }
    .txt_wrap .c_btn a { padding: 14px 20px; }
    .txt_wrap .c_btn img { width: 18px; }
    .txt_wrap .c_btn span { margin-left: 5px; }
    .visual_pager { bottom: 12%; }
    .visual_pager .bar { width: 18px; height: 5px; }
    .visual_pager .page_num { font-size: 1.25rem; }

    /* section */
    .section01, .section02, .section03, .section04, .section03.map_section { padding: 90px 16px; }
    .section_inner .main_txt_wrap .main_desc { margin-top: 26px; }
    .section_inner .main_illust_wrap { margin-top: 15px; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }

    /* rolling */
    .logo_rolling_wrap { height: 220px; gap: 4px; }
    .logo_rolling_wrap .logo_col { height: 60px; }
    .logo_item { min-height: 48px; padding: 8px; border-radius: 8px; }
    .logo_item img { max-height: 30px; }

    /* stat */
    .s02_stat_box { border-radius: 18px; }
    .s02_stat_box .stat_item { padding: 18px 8px; }

    /* map */
    .map_wrap { max-width: 330px; }
    .pin_circle { width: 36px; height: 36px; }
    .pin_tail { border-left-width: 7px; border-right-width: 7px; border-top-width: 9px; }

    /* footer */
    .footer_wrap { padding: 42px 16px; }
    .footer_wrap .f_text_wrap { margin-top: 25px; }
    .f_text_wrap .f_menu ul li { margin: 0 5px 8px; }

    /* sub_banner */
    .sub_banner { height: 256px; }
    .sub_banner .b_title { padding-top: 112px; }

    /* section04 */
    .section04 .section_inner { gap: 30px; }
    .section04 .main_title { font-size: 1.8rem; }
    .section04 .main_s_title { font-size: 1.3rem; }
    .s04_contact_info { gap: 14px; }
    .form_input { height: 52px; min-height: 52px; width: 100%; }
    .form_select { height: 52px; min-height: 52px; width: 100%; }
    .email_input_wrap .form_select { height: 50px; min-height: 50px; }
    .form_submit_btn { height: 50px; }

    /* branch_section */
    .branch_section { padding: 90px 0; }
    .branch_section .main_title { font-size: 1.375rem; }
    .branch_section .main_s_title { font-size: 1rem; }
    .branch_section .branch_map { height: 200px; padding: 1.2rem; }
    .branch_section .branch_info { padding: 2.5rem 2.5rem 1rem; }

    /* consult_section */
    .consult_section { padding: 2rem 0; }
    .section_inner .consult_form_tabs { flex-wrap: wrap; }
    .section_inner .consult_tab_btn { font-size: 1.2rem; }

    /* 전문가SNS */
    .sns_section .sns_inner { gap: 0; }
}


/* 375px 이하 - 모바일 표준 */
@media only screen and (max-width: 375px) {

    /* header */
    .header { height: 64px; line-height: 64px; }
    .header:hover { height: 64px; }
    .header.sub_header:hover { height: 64px; line-height: 64px; }
    .header > div { width: 100%; padding: 0 4%; }
    .header_wrap { height: 64px; }
    .header .logo_wrap { gap: 14px; }
    .header .b_logo img { max-width: 90px; }
    .header .ceo_logo { font-size: 1.3rem; line-height: 64px; }
    .burger_btn { width: 24px; height: 18px; }

    /* visual */
    .main_visual { height: 540px; }
    .txt_wrap .s_title { font-size: 1.4rem; }
    .txt_wrap .l_title { font-size: 2.15rem; margin: 8px 0 26px; }
    .txt_wrap .c_btn a { padding: 16px 22px; }
    .txt_wrap .c_btn span { font-size: 1.25rem; }
    .visual_pager { bottom: 10%; }
    .visual_pager .bar { width: 18px; height: 4px; }
    .visual_pager .page_num { font-size: 1.3rem; }

    /* section */
    .section01, .section02, .section03, .section04, .section03.map_section { padding: 65px 14px; }
    .section_inner .main_txt_wrap .main_title .gray { font-size: inherit; }
    .section_inner .main_txt_wrap .main_title { font-size: 2.5rem; }
    .section_inner .main_txt_wrap .main_s_title { font-size: 1.5rem; }
    .section_inner .main_txt_wrap .main_desc { font-size: 1.3rem; margin-top: 22px; }
    .s02_right, .s03_right { margin-top: 40px; }

    /* rolling */
    .logo_rolling_wrap { height: 200px; gap: 4px; }
    .logo_rolling_wrap .logo_col { height: 56px; }
    .logo_item { min-height: 44px; padding: 6px; border-radius: 6px; min-width: 90px; }
    .logo_item img { max-height: 26px; }

    /* stat */
    .s02_stat_box { border-radius: 14px; }
    .s02_stat_box .stat_item { padding: 15px 6px; }

    /* map */
    .map_wrap { max-width: 300px; }
    .pin_circle { width: 30px; height: 30px; }
    .pin_tail { border-left-width: 6px; border-right-width: 6px; border-top-width: 8px; }

    /* footer */
    .footer_wrap { padding: 36px 14px; }
    .footer_wrap .f_text_wrap { margin-top: 20px; }
    .footer_wrap .f_text_wrap .f_text { clear: both; float: none; text-align: center; width: 100%; }
    .f_text_wrap .f_menu ul li { margin: 0 4px 6px; font-size: 1.3rem; }
    .f_text_wrap .f_copy { font-size: 1.3rem; }

    /* sub_banner */
    .sub_banner { height: 236px; }
    .sub_banner .b_title { padding-top: 115px; }
    .sub_banner .b_title .b_l_title { font-size: 1.8rem; }
    .sub_banner .b_title .b_s_title { font-size: 1.3rem; }

    /* section04 */
    .section04 .section_inner { padding: 50px 0; gap: 5px; }
    .section04.bg_navy .section_inner { padding: 0; }
    .section04 .main_title { font-size: 1.7rem; }
    .form_input { height: 50px; min-height: 50px; width: 100%; }
    .form_select { height: 50px; min-height: 50px; width: 100%; }
    .form_textarea { height: 180px; }
    .form_submit_btn { height: 48px; }

    /* branch_section */
    .branch_section { padding: 90px 0; }
    .branch_section .branch_name { font-size: 1.6rem; }

    /* 전문가 SNS */
    .sns_section .sns_grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
}


@media (min-height: 1000px) {
     .section01, .section02, .section03, .section04, .section05 {
        height: 1000px; }
     }