@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

:root{--mainsize:1300px;--radius:13px;--primary:#0c3994;--k-font:'pretendard';--e-font:'Outfit'}
.fa {
    font-family: FontAwesome !important;
}
*{-webkit-text-size-adjust:none}
body{background:#fff;font-size:0.81em;font-family:var(--k-font)}
h1, h2, h3, h4, h5, h6, input, button, textarea, select{font-family:var(--k-font)}
#device_change{border:1px solid #666;font-size:3.5em;box-shadow:none} 

#sh_wrapper, #sh_wrapper , #sh_wrapper :before, #sh_wrapper *:after{box-sizing:border-box}
#sh_wrapper{overflow:hidden}
#sh_hd{position:absolute;z-index:999;width:100%;height:95px} 

/* ========================== HEADER */
#sh_hd_wrapper{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    padding:0 65px;
    transition:background-color .25s ease, box-shadow .25s ease;
}
#sh_hd_wrapper:after{display:block;visibility:hidden;clear:both;content:""}

/* 스크롤 시 상단 메뉴 고정 */
#sh_hd_wrapper.is-fixed{
    position:fixed;
    top:0;
    left:0;
    z-index:2000;
    background:rgba(0,0,0,.5);
    box-shadow:0 6px 22px rgba(0,0,0,.5);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
#sh_hd_wrapper.is-fixed #shGnb .sh_nav > li > a{color:#fff}
#sh_hd_wrapper.is-fixed #shGnb:hover .sh_nav > li > a{
    color:#222;
}
#sh_hd_wrapper.is-fixed #shGnb.on .sh_nav > li:hover > a{
    color:#0c3994;
}
#shGnb.on .sh_nav > li:hover > a{
    color:#0c3994;
}
#sh_hd_wrapper.is-fixed .sh_language{border-color:#ddd;background:#fff}
#sh_hd_wrapper.is-fixed .sh_language .lang-btn{color:#aaa}
#sh_hd_wrapper.is-fixed .sh_language .lang-btn:hover,
#sh_hd_wrapper.is-fixed .sh_language .lang-btn.is-active{color:var(--primary)}
#sh_hd_wrapper.is-fixed .sh_language .lang-divider{background:#ddd}


/* ========================== INDEX */
#sh_section{position:relative;margin-top:-5px;color:#777;font-size:15px;line-height:1.5;font-family:var(--k-font)}
#sh_section *{word-break:keep-all}
#sh_section article{margin-top:150px}
#sh_section article .inner{max-width:var(--mainsize);margin:0 auto}
#sh_section article .pl{white-space:pre-line}
#sh_section article .atc_tit{display:flex;align-items:center;gap:15px;margin-bottom:15px;font-size:16px}
#sh_section article .atc_tit h2{font-size:40px;font-weight:700;color:#111;text-transform:uppercase;font-family:var(--e-font)}
#sh_section article .atc_tit h2 b{color:var(--primary);font-weight:700}
#sh_section article .lk_txt{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#111}
#sh_section article .lk_txt a{display:flex;align-items:center;gap:10px}
#sh_section article .lk_txt a:hover span{color:var(--primary);background:none}
#sh_section article .lk_txt a p{font-size:16px;color:var(--primary)}
#sh_section article .lk_txt a span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:2px solid var(--primary);border-radius:50px;font-size:20px;color:#fff;background:var(--primary);transition:all .3s}

/* ========================== CONTAINER */
#sh_container{position:relative;width:100%;z-index:0}
#sh_container_wrapper{position:relative;width:100%;zoom:1}
#sh_container_wrapper:after{display:block;visibility:hidden;clear:both;content:""}

/* ========================== CONTENT */
#sh_content{position:relative;z-index:4;max-width:1070px;min-height:580px;padding:0;margin:70px auto 40px;font-size:14px;color:#888;zoom:1}
#sh_content:after{display:block;visibility:hidden;clear:both;content:""}

/* ========================== FOOTER */
#sh_ft{padding:80px 0 50px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.3);background:#222}
#sh_ft .inner{max-width:var(--mainsize);margin:0 auto}
#sh_ft .top_area{display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}
#sh_ft .top_area ul{display:flex;gap:30px}
#sh_ft .top_area ul li:first-child a{font-weight:700;color:#fff}
#sh_ft .top_area ul a{cursor:pointer;color:rgba(255,255,255,.5)}
.map_link {cursor:pointer;color:rgba(255,255,255,.5) !important}
#sh_ft .btm_area{display:flex;justify-content:space-between;margin-top:20px}
#sh_ft .btm_area a{margin:0 5px;font-size:12px;color:#fff;opacity:.5;font-family:var(--e-font);transition:all .3s}
#sh_ft .btm_area a:hover{opacity:1}
.ft_logo img {max-height:40px}

/* 반응형 사이트맵 공통 */
#sh_site_map{position:relative;width:100%;font-family:'Noto Sans KR';font-weight:400}
#sh_site_map:after{display:block;content:"";visibility:hidden;clear:both}
#sh_site_map > div{width:31%;float:left;margin:0 1%}
#sh_site_map > div:nth-of-type(3n){margin-right:0}
#sh_site_map .sh_site_map_title{padding:10px 15px;border-bottom:2px solid #333;font-size:17px;font-weight:normal;text-align:center;color:#222;font-family:'Noto Sans KR';font-weight:700}
#sh_site_map ul{padding:0 15px 15px}
#sh_site_map .sh_site_map_box{min-height:205px;padding:17px 20px;border:1px solid #e1e1e1;border-top:none;font-size:14px;color:#333;line-height:40px}
#sh_site_map .sh_site_map_box li{border-bottom:1px dotted #ccc}
#sh_site_map .sh_site_map_box li:last-child{border:none}

/* 반응형 하단 버튼 공통 */
#fix_tel{opacity:0;display:none;position:fixed;right:15px;bottom:50px;z-index:101;width:65px;height:65px;margin-right:-10px;border-radius:50%;font-size:30px;text-align:center;line-height:65px;color:#fff;background:var(--primary);box-shadow:5px 5px 5px rgba(0,0,0,.2);-webkit-transition:all .2s;transition:all .2s}
#fix_tel.active{opacity:1;margin-right:0}
#sh_ft_btns{display:none;padding:15px}
#sh_ft_btns .btns{overflow:hidden}
#sh_ft_btns .row2 a{width:50%}
#sh_ft_btns a{float:left;display:block;width:100%;height:55px;font-size:16px;line-height:55px;color:#fff;text-align:center;background:var(--primary);font-family:'Noto Sans KR';font-weight:700}
#sh_ft_btns a.tel{font-size:18px;font-weight:700;letter-spacing:0;font-family:'Poppins'}
#sh_ft_btns a i{padding-right:5px;font-size:18px}
#sh_ft_btns a.kakao{font-weight:normal;color:#402325;background-color:#ffe500}

/* 반응형 [s] */
@media (max-width:1440px){
#sh_hd_wrapper{padding:0}
#shGnb{padding:0 30px}
}
@media (max-width:1024px){
#sh_hd_wrapper, #sh_hd_wrapper.is-fixed{padding:0}
#shSnb{display:none}
#topmenuM{display:block;background:var(--primary)}
#navWrap{display:none}
#sh_section article{}
#sh_section article .atc_tit{font-size:15px}
#sh_section article .atc_tit h2{font-size:35px}
#sh_ft{padding:50px 0;font-size:13px}
#sh_ft .inner{padding:0 15px;text-align:center}
#sh_ft .top_area{flex-direction:column;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:20px}
}
@media (max-width:768px){
#sh_section{font-size:14px}
#sh_section article{}
#sh_section article .atc_tit{font-size:14px}
#sh_section article .atc_tit h2{font-size:30px}
/* 반응형 스타일 필수 [s] */
#sh_login, #sh_agree, #sh_register,#sh_mb_confirm, #sh_result{padding:15px;margin:15px auto;border:none}
#sh_login input[type=submit], #sh_agree .btn_wrap input[type=submit], #sh_register .btn_wrap input[type=submit],#sh_find_info input[type=submit], #sh_mb_confirm input[type=submit]{-webkit-appearance:none;appearance:none}
#sh_login .bnr .txt p a{color:#0054a6}
#sh_pw_confirm{width:100%;padding:30px 20px;border:none}
#sh_agree .inner{padding:15px}
#sh_agree .cont{padding:10px}
#sh_site_map{padding:30px 20px}
#sh_site_map > div{width:100%;margin:0}
#sh_site_map .sh_site_map_box{min-height:auto}
/* 반응형 스타일 필수 [e] */
}
@media (max-width:480px){
#shSubBnr{margin-top:50px}
#sh_content{margin:40px auto}
#sh_section article .atc_tit{justify-content:center}
#sh_section article .atc_tit h2{font-size:25px}
#sh_section article .lk_txt a p{font-size:14px}
#fix_tel{display:block}
#sh_ft_btns{display:block}
#sh_ft .top_area ul{gap:15px}
}
@media (max-width:390px){
}
/* 반응형 [e] */


/* ========================== FOOTER POLICY BUTTON */
#sh_ft .ft_policy button{
    padding:0;
    border:0;
    background:none;
    font-size:14px;
    color:rgba(255,255,255,.5);
    cursor:pointer;
    font-family:var(--k-font);
    transition:color .2s;
}
#sh_ft .ft_policy li:first-child button{
    font-weight:700;
    color:#fff;
}
#sh_ft .ft_policy button:hover{
    color:#fff;
}

/* ========================== POLICY MODAL */
body.modal-open{
    overflow:hidden;
}
.policy-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:5000;
    align-items:center;
    justify-content:center;
    padding:30px;
}
.policy-modal.is-open{
    display:flex;
}
.policy-modal__dim{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.68);
}
.policy-modal__dialog{
    overflow:hidden;
    position:relative;
    z-index:1;
    width:100%;
    max-width:760px;
    max-height:82vh;
    border-radius:18px;
    background:#fff;
    box-shadow:0 20px 70px rgba(0,0,0,.28);
}
.policy-modal__close{
    position:absolute;
    top:18px;
    right:20px;
    z-index:2;
    width:40px;
    height:40px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f3f5f8;
    font-size:28px;
    line-height:38px;
    color:#222;
    cursor:pointer;
    transition:all .2s;
}
.policy-modal__close:hover{
    background:var(--primary);
    color:#fff;
}
.policy-modal__content{
    display:none;
}
.policy-modal__content.is-active{
    display:block;
}
.policy-modal__content h2{
    padding:30px 80px 24px 32px;
    border-bottom:1px solid #e8ebf0;
    font-size:26px;
    font-weight:700;
    color:#111;
}
.policy-modal__body{
    overflow-y:auto;
    max-height:calc(82vh - 90px);
    padding:30px 32px 36px;
    font-size:15px;
    line-height:1.8;
    color:#555;
}
.policy-modal__body h3{
    margin:26px 0 8px;
    font-size:17px;
    font-weight:700;
    color:#222;
}
.policy-modal__body p + p{
    margin-top:12px;
}
.policy-modal__body .policy-notice{
    margin-top:28px;
    padding:16px 18px;
    border-radius:10px;
    background:#f5f7fb;
    color:#666;
}

/* ========================== FLOATING SNS / TOP */
.floating-tools{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    opacity:0;
    visibility:hidden;
    position:fixed;
    right:28px;
    bottom:28px;
    z-index:1200;
    transform:translateY(15px);
    transition:all .25s;
    margin-top:0 !important;
}
.floating-tools.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.floating-tools__btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    padding:0;
    border:1px solid #e5e8ec;
    border-radius:50%;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    cursor:pointer;
    transition:all .2s;
}
.floating-tools__btn:hover{
    border-color:#fff;
    background:#fff;
    transform:translateY(-2px);
}
.floating-tools__btn img{
    display:block;
    width:22px;
    height:22px;
    object-fit:contain;
}
.floating-tools__top{
    margin-top:7px;
}

/* 아이콘 이미지가 없을 때 임시 TOP 표시 */
.floating-tools__top:after{
    content:"↑";
    position:absolute;
    font-size:20px;
    font-weight:700;
    color:#222;
}
.floating-tools__top img[src=""],
.floating-tools__top img:not([src]){
    display:none;
}
.floating-tools__top:hover:after{
    color:var(--primary);
}

@media (max-width:1024px){
    #sh_ft .ft_policy{
        flex-wrap:wrap;
        justify-content:center;
        gap:12px 20px;
    }

    .floating-tools{
        right:15px;
        bottom:18px;
        gap:8px;
    }

    .floating-tools__btn{
        width:46px;
        height:46px;
    }
}

@media (max-width:768px){
    .policy-modal{
        padding:16px;
    }

    .policy-modal__dialog{
        max-height:86vh;
        border-radius:14px;
    }

    .policy-modal__content h2{
        padding:24px 65px 20px 22px;
        font-size:21px;
    }

    .policy-modal__body{
        max-height:calc(86vh - 75px);
        padding:22px;
        font-size:14px;
    }

    .policy-modal__close{
        top:14px;
        right:14px;
        width:36px;
        height:36px;
        font-size:24px;
        line-height:34px;
    }
}
