:root{
    /*color*/
    --c-black: #202020;
    --c-lightgrey: #FAFAFA;
    --c-grey: #999;
    --c-blue1: #0D4A7C;
    --c-blue2: #3E7BBE;
    --c-blue3: #16A0DA;
    --c-blue4: #88D0F3;

    --gradient1: linear-gradient(90deg, rgba(9,46,75,1) 0%, rgba(17,86,140,1) 100%);
    --gradient2: linear-gradient(90deg, rgba(17,86,140,1) 0%, rgba(62,123,190,1) 100%);
    --gradient3: linear-gradient(90deg, rgba(62,123,190,1) 0%, rgba(22,160,218,1) 100%);
    --gradient4: linear-gradient(90deg, rgba(22,160,218,1) 0%, rgba(136,208,243,1) 100%);

    /*font*/
    /* --f-family: 'Pretendard'; */
    --f-family: "Noto Serif KR", serif;
    --f-serif: "Noto Serif KR", serif;

    /*line*/
    --border: 2px solid #eee;
    --radius: 2rem;
    --shadow: 1px 1px 10px rgba(0,0,0,0.1);
}
*{margin: 0; padding: 0;}
ul,li{list-style: none;}
a{text-decoration: none; color: #333;}
img{border: 0; display: block; width: 100%;}

html { font-size: 62.5%; }
body{
    font-family: var(--f-family);
    font-weight: 400;
    line-height: 1.3;
}
h1, h2, h3, h4, h5, h6, p, input, label, select, 
pre, a, table, th,tr, td, form, ul, li, nav{
    font-family: var(--f-family) !important;
    font-weight: 400;
}

.row{
    display: flex;
    flex-direction: row;
}

.col{
    display: flex;
    flex-direction: column;
}

.inner{
    width: 1300px;
    margin: 0 auto;
}

.serif{
    font-family: var(--f-serif);
}
.underline{
    position: relative;
    width: fit-content;
}
.underline:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1rem;
    background: var(--c-blue3);
}

.underline span{
    position: relative;
}

/*header*/
#hd{
    width: 100%;
    height: auto;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 15;
}
.hd_top{
    width: 100%;
    border-bottom:var(--border);
    box-sizing: border-box;
}

.hd_top .inner{
    justify-content: space-between;
}

.hd_top a{
    font-size: 1.6rem;
    padding: 1rem 0;
    display: flex;
}

.hd_call{
    gap: 1rem;
    align-items: center;
}

.hd_quick{
    gap: 1rem;
}
.hd_quick a{
    font-size: 1.4rem;
    color: var(--c-grey);
}
.hd_quick li:nth-last-child(1) a{
    color: var(--c-blue2);
}
/*---------*/
.hd_btm{
    border-bottom: var(--border);
    box-sizing: border-box;
    position: relative;
}

.hd_btm .inner{
    justify-content: space-between;
    align-items: center;
    height: 8rem;
}

.hd_logo{
    width: 21rem;
}

.hd_gnb{
    width: calc(100% - 21rem - 10rem);
}

.hd_gnb nav{
    width: 100%;
    justify-content: space-between;
}

.hd_gnb nav a{
    font-size: 1.8rem;
    font-weight: 600;
}

.hd_gnb nav a:hover{
    color: var(--c-blue2);
}

.sub_mn_wrap{
    position: absolute;
    /* top: 8rem; */
    left: 0;
    width: 100%;
    background: #fff;
    /* border-top: var(--border); */
    font-size: 1.6rem;
    box-sizing: border-box;
    /* display: none; */

    transition: all .5s;
    top: 7rem;
    opacity: 0;
}


.sub_mn_wrap.active{
    /* display: block; */
    top: 8.2rem;
    opacity: 1;
}

.hd_btm .sub_mn_wrap .inner{
    height: auto;
}

.sub_mn{
    display: none;
    background: #fff;
    position: relative;
}

.sub_mn.active{
    display: flex;
    
}

.sub_mn .tit{
    width: 31rem;
    padding: 4rem 0;
    gap: 0.5rem;
}

.sub_mn .tit strong{
    font-size: 3rem;
}

.sub_mn ul{
    padding: 4rem 0;
    width: calc(100% - 31rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.sub_mn ul li{
    width: 25%;
    margin: 1rem 0;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.sub_mn ul li a{
    padding: 1rem 1rem 1rem 4rem;
    position: relative;
}

.sub_mn ul li a:after{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: .3rem;
    height: 1.6rem;
    background: var(--c-black);
}

.sub_mn ul li a:hover{
    color: var(--c-blue2);
}
.sub_mn ul li a:hover:after{
    background: var(--c-blue2);
}

/* ----------- */
#mo_menu_btn{
    display: none;
}
/*header*/
/*footer*/
footer{
    background: #333;
    padding: 4rem 0;
    color: #fff;
    font-size: 1.5rem;
}
footer a{
    color: #fff;
}

footer .f_top{
    justify-content: space-between;
    align-items: flex-end;
}

footer .f_logo{
    width: 20rem;
    filter: invert(1) grayscale(1) brightness(3);
}

footer .f_top ul{
    gap: 2rem;
}

footer .f_bottom{
    margin-top: 4rem;
    gap: 4rem;
}

footer .f_info{
    gap: .5rem;
}
footer .f_info p{
    gap: 1rem;
}

footer .f_copy{
    color: var(--c-grey);
}
/*footer*/

#mo_menu_btn{
    /* display: flex; */
    width: 3rem;
    height: 2rem;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition-duration: .3s;
}
#mo_menu_btn span{
    width: 100%;
    height: 2px;
    background: #333;
}
#mo_menu_btn.on{
    justify-content: center;
}
#mo_menu_btn.on span:nth-child(1){
    transform: rotate(45deg) translateY(1px);
}
#mo_menu_btn.on span:nth-child(2){
    display: none;
}
#mo_menu_btn.on span:nth-child(3){
    transform: rotate(-45deg) translateY(-1px);
}

#mo_menu{
    position: fixed;
    top: 12.4rem;
    left: 0;
    z-index: 20;
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: calc(100vh - 12.4rem);
    /* padding: 4rem; */
    backdrop-filter: blur(20px);
    font-size: 2.4rem;
    display: none;
}

#mo_menu.on{
display: block;
}

#mo_menu .dep1{
    margin: 2rem 0;
}

#mo_menu .list{
    padding: 4rem 6rem;
    overflow-y: scroll;
    height: calc(100% - 12rem);
}

#mo_menu .show_btn{
    font-weight: 700;
    display: flex;
    align-items: center;
    font-size: 2rem;
}

#mo_menu .show_btn .ico{
    font-size: 1.6rem;
    margin-left: 2rem;
    transition-duration: .3s;
}
#mo_menu .show_btn.on .ico{
    transform: rotate(-180deg);
}

#mo_menu .show_menu{
    font-size: 1.6rem;
    display: none;
}

#mo_menu .show_menu .dep2{
    margin: .8rem 0;
}

@media all and (max-width: 1600px){
    .inner {
        width: 1000px;
    }
    
    html {
        font-size: 51%;
    }
}

@media all and (max-width: 1240px){
    .hd_gnb{display: none;}
    #mo_menu_btn{display: flex;}

    .hd_top,.hd_btm{
        width: 100vw;
    }
}

@media all and (max-width: 1060px){
    .inner {
        width: 92%;
    }
}
@media all and (max-width: 860px){
    footer{
        font-size: 11px;
    }
    footer .f_top{
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 4rem;
    }
}
@media all and (max-width: 499px){
    .hd_btm .inner{
        height: 6rem;
    }
    .hd_logo {
        width: 40vw;
    }
    footer .f_logo {
        width: 38vw;
    }
    #mo_menu{
        top: 10.4rem;
        height: calc(100vh - 10.4rem);
    }
    #mo_menu .list{
        padding: 3rem 2rem;
    }
    #top_btn{
        width: 4rem;
        height: 4rem;
        line-height: 3.6rem;
        font-size: 12px;
    }
}