@charset "utf-8";

/* 헤더 */
#header { position:relative; width:100%; background:#fff;}
#header .box_head { position: relative; max-width: 1200px; margin: 0 auto; padding: 45px 0; }
#header .box_head .wrap_logo { position: absolute; left: 0; top: 45px; }
#header .box_head .wrap_naviBar { position: relative; height: 58px; margin-left: 155px; background: #5682D2; border-radius: 30px; }

.gnb { 
    position: relative;
    z-index: 2;    
    overflow-y: hidden;
    margin-right: 7%; 
}
.gnb ul.gnb_list {     
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-left: 30px;
    margin-block: 0;
    overflow-x: auto;    
    text-align: center;
    white-space: nowrap;
    font-size: 0; 
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth;
    cursor: grab;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.gnb ul.gnb_list::-webkit-scrollbar { display: none; }
.gnb ul.gnb_list:active { cursor: grabbing; }
.gnb ul.gnb_list li { 
    display: inline-block; 
    height: 58px; 
    margin-right: 45px; 
    font-size: 20px; 
    font-weight: 400; 
    line-height: 57px; 
    flex-shrink: 0;
    transition: all 0.3s ease;
}
.gnb ul.gnb_list li:last-child { margin-right: 15px; }
.gnb ul.gnb_list li a { 
    display: block; 
    width: 100%; 
    height: 100%; 
    color: #fff; 
    position: relative;
    transition: all 0.3s ease;
}
.gnb ul.gnb_list li a::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: 0;
    height: 3px;
    background: #87EFFF;
    transform: translateX(-50%);
    transition: width 0.3s ease;
    border-radius: 2px;
}
.gnb ul.gnb_list li a.active { 
    color: #87EFFF; 
    font-weight: 500;
    transform: scale(1.05);
}
.gnb ul.gnb_list li a.active::after { width: 80%; }
.gnb ul.gnb_list li a:hover {  
    color: #87EFFF; 
    font-weight: 500; 
    text-decoration: none;
    transform: scale(1.05);
}
.gnb ul.gnb_list li a:hover::after { width: 80%; }

/* 메뉴 h1 태그 스타일 초기화 */
.gnb ul.gnb_list li a .menuHst {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    display: inline;
    text-transform: none;
}

/* 검색바 */
#header .bar_search { width:100%; height: 58px; background: #5682D2; border-radius: 30px; position:absolute; left:0; bottom:0; overflow:hidden; text-align:center; background:#5682d2; z-index:9999; }
#sub_header .bar_search { bottom:-55px; }
.wrap_search { margin: 0 30px;  }
.wrap_search .inner_schall {margin:9px 0 0 0; height:37px; border-bottom:2px solid #90b2f0; border-right:0 none; background-color: #5682d2; }
.wrap_search .tf_keyword { width:100%; height:24px;  border:0 none; font-size:20px; font-weight: 300; line-height:25px; background-color:transparent; color:#fff; vertical-align:top; -webkit-appearance:none; outline:0; letter-spacing:-1px; }
.wrap_search .tf_keyword::placeholder {color: #fff;}
.wrap_search .tf_keyword:-ms-input-placeholder {color: #fff;}
.wrap_search .tf_keyword::-ms-input-placeholder {color: #fff;}
.wrap_search .box_search { position:relative; padding:6px 30px 0 0; background-color:#5682d2; }
.wrap_search .box_search .btn_search { position: absolute; top:6px; right:0; }
.wrap_search .btn_sch { display:inline-block; width:21px; height:28px; padding:0; font-size:0; line-height:0; background-color:transparent; cursor:pointer; text-align:center; }
.ico_search { overflow:hidden; display:block; width: 21px; height: 19px; font-size:0; text-indent:-9999px; background:url('../images/ico_search.png') no-repeat 0 0 / 100%; }
.ico_close { overflow:hidden; display:block; position: absolute; top: 2px; right: -55px; width: 16px; height: 16px; font-size:0; text-indent:-9999px; background:url('../images/ico_close.png') no-repeat 0 0 / 100%; }
.wrap_naviBar .btn_search  { position: absolute; top: 20px; right: 30px; cursor: pointer; }

/* 컨텐츠 */
#wrap { width:100%; padding-bottom: 80px; clear:both; }
.section { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1200px; margin: 0 auto;}
.section .content_l { overflow: hidden; box-sizing: border-box; width: calc( 100% - 300px ); padding-right: 40px; }
.section .content_r { overflow: hidden; width: 300px; }
.section .content_t { overflow: hidden; width: 100%; padding-bottom: 50px; }
.section.wid-100 { width: 100%; max-width: unset; padding: 70px 0; }
.section.view { max-width: 1024px; }
.section.view .content_l { padding-right: 50px; }
.bd-blue { position: relative; }
.bd-blue::before { content: ''; position: absolute; top: 0; left: 0; right:0; height: 4px; background: #5682D2; border-radius: 2px; }

/* 푸터 */
#footer { overflow:hidden; border-top: 1px solid #EBEDF2; }
#footer .ft_white { padding: 20px 15px; }
#footer .ft_white .list_w { text-align: center; font-size: 0; }
#footer .ft_white .list_w li { display: inline-block; margin-right: 42px; font-size: 15px; font-weight: 300; line-height: 1.6; }
#footer .ft_white .list_w li:last-child { margin: 0; }
#footer .ft_white .list_w li:last-child a:hover { text-decoration: none; }
#footer .ft_white .list_w li a { color: #111; }
#footer .ft_black { padding: 30px 15px; background: #222; }
#footer .ft_black .list_b { text-align: center; font-size: 0; }
#footer .ft_black .list_b li { display: inline-block; margin-right: 15px; font-size: 13px; font-weight: 200; line-height: 1.4; color: #fff; }

/* 더보기 */
#btn_more { 
    display: block;
    width: 100%;
    padding: 11px 0;
    font-size: 18px;
    font-weight: 500;
    color: #5682D2;
    border: 3px solid #5682D2;    
    border-radius: 25px;
}

/* 탑버튼 */
#myBtn {
    display: none; 
    position: fixed;
    bottom: 60px;
    right: 30px;
    width: 50px;
    height: 50px;
    font-size: 0;
    text-indent: -9999px;
    z-index: 99;
    border: none;
    outline: none;
    background:url(../images/ico_top_arrow.png) no-repeat 0 0 / contain;    
    cursor: pointer;    
}  



@media only screen and (max-width: 1200px) {
    
}

@media only screen and (max-width: 980px) { 
    .gnb ul.gnb_list li { margin-right: 35px; }
    .gnb ul.gnb_list { padding-left: 20px; }
}

@media only screen and (max-width: 768px) {
    #myBtn { width: 40px; height: 40px; right: 15px; }
    #btn_more { width: calc( 100% - 30px ); margin: 0 15px; padding: 10px 0; border: 2px solid #5682D2; }
    #header .box_head, #wrap .section { max-width: 768px; margin: 0; }
    #header .box_head { padding: 15px 0 20px; margin: 0 0 0 15px; }
    #header .box_head .wrap_logo { top: 24px; width: 68px; height: 32px; }
    #header .box_head .wrap_logo img { width: 100%; height: auto; }
    #header .box_head .wrap_naviBar { 
        height: 48px; 
        margin-left: 77px; 
        border-radius: 24px 0 0 24px;
    }
    .gnb { margin: 0; padding-left: 0; }
    .gnb ul.gnb_list { 
        width: calc(100% - 70px); 
        justify-content: flex-start; 
        scrollbar-width: none;
        padding-left: 28px;
        padding-right: 15px;
        scroll-padding-left: 28px;
        scroll-padding-right: 15px;
    }
    /* 모바일 그라데이션 효과 완전 제거 */
    .gnb ul.gnb_list::before,
    .gnb ul.gnb_list::after { 
        display: none;
    }
    .gnb ul.gnb_list li { 
        height: 48px; 
        margin: 0; 
        padding: 0 12px; 
        font-size: 17px; 
        font-weight: 400; 
        line-height: 48px;
        min-width: fit-content;
    }
    .gnb ul.gnb_list li:last-child { margin-right: 0; padding-right: 25px; }
    .gnb ul.gnb_list li a::after { bottom: 6px; height: 2px; }
    .gnb ul.gnb_list li a.active { transform: scale(1.02); }
    .gnb ul.gnb_list li a:hover { transform: scale(1.02); }
    
    /* 모바일에서도 메뉴 h1 태그 스타일 초기화 */
    .gnb ul.gnb_list li a .menuHst {
        margin: 0;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        color: inherit;
        display: inline;
    }
    
    .ico_search { width: 21px; height: 19px; }
    .ico_close { 
        top: -15px; 
        right: -15px; 
        width: 36px; 
        height: 48px; 
        background: #fff url(../images/ico_close.png) no-repeat 10px center / 16px;
        z-index: 99999;
    }
    .ico_close::after { 
        content: ''; 
        display: block; 
        position: absolute;
        width: 4px;         
        top: 0; 
        bottom: 0; 
        left: 0;
        background: #5682d2; 
        border-radius: 0 3px 3px 0;
    }
    .wrap_naviBar .btn_search { top: 15px; right: 15px; z-index: 999; }
    .wrap_search { margin: 0 0 0 24px; }
    .wrap_search .btn_sch { width: 21px; height: 19px; }
    .wrap_search .box_search { padding: 0 35px 0 0; }
    .wrap_search .box_search .btn_search { top: 11px; right: 7px; }
    .wrap_search .inner_schall { height: 36px; margin-top: 4px; }
    #header .bar_search { width: calc( 100% - 40px ); height: 48px; border-radius: 24px 0 0 24px; }
    .wrap_search .tf_keyword { height: 37px; font-size: 16px; }
    #footer .ft_white { padding: 15px; }
    #footer .ft_white .list_w { text-align: left; }    
    #footer .ft_white .list_w li { margin-right: 18px; font-size: 12px; font-weight: 400; }
    #footer .ft_white .list_w li:last-child { font-weight: 200; }
    #footer .ft_black { padding: 15px; }
    #footer .ft_black .list_b { text-align: left; }
    #footer .ft_black .list_b li { font-size: 11px; }
    #footer .ft_black .list_b li a { color: #fff; }

}

