@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');


/*common*/

html,
body {
    height: 100%;   
    min-height:100%; 
    font-size: 10px;       
    overflow-x: hidden;
}

body {
    position: relative;
    text-align: left;
    line-height: 1;
    font-family: 'Prompt', 'Noto Sans KR', sans-serif;
    font-weight: 400;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
span,
form,
fieldset,
p,
button,
address,
table,
tbody,
tfoot,
thead,
th,
tr,
td,
video,
tt {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

header,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
hgroup,
menu,
main,
nav,
section,
summary,
mark,
time {
    display: block;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input,
button,
textarea,
select {
    background-color: #fff;
    border-radius: 0;
    box-sizing: border-box;
}


/*-webkit-appearance: none*/

button,
textarea {
    -webkit-appearance: none
}

img,
fieldset,
iframe {
    border: 0 none
}

li {
    list-style: none
}

img,
input,
select,
button,
textarea {
    vertical-align: middle;
    box-sizing: border-box;
}

em,
address,
optgroup {
    font-style: normal
}

label,
button {
    cursor: pointer
}

legend, caption {
    font-size: 0;
    width: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
    text-indent: -9999px;
}

label {
    position: relative;
}

button {
    margin: 0;
    padding: 0;
    border: 0;
    background: none
}

a {
    box-sizing: border-box;
    color: inherit;
}

a:link {
    text-decoration: none;
}



a:hover,
a:focus,
a:active {
    text-decoration: none;
}

hr {
    display: none
}

legend,
caption {
    font-size: 0;
    width: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
    text-indent: -9999px
}

p {
    text-align: left;
    font-weight: 400;
    word-break: keep-all
}

table {
    width: 100%;
    font-weight: 400;
    border-spacing: 0
}


/*skip 네비게이션*/

#skip-navi {
    position: absolute;
    top: 0;
    height: 0px;
    width: 100%;
    z-index: 1000;
}

#skip-navi a {
    display: block;
    height: 1px;
    width: 1px;
    margin-bottom: -1px;
    overflow: hidden;
    text-align: center;
    color: #fff;
    white-space: nowrap;
}

#skip-navi a:focus,
#skip-navi a:active {
    display: block;
    top: 0;
    width: 100%;
    height: 45px;
    padding: 10px 0;
    background: #021b87;
}

input::-webkit-input-placeholder {
    color: #a2a3a5;
}
input:-ms-input-placeholder {
    color: #a2a3a5;
}


/* 
  Margin 
*/
.mt0 { margin-top:0 !important;}
.mt5 { margin-top:5px !important;}
.mt10 { margin-top:10px !important;}
.mt14 { margin-top:14px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt60 { margin-top:60px !important;}
.mt70 { margin-top:70px !important;}
.mt80 { margin-top:80px !important;}
.mt90 { margin-top:90px !important;}
.mt100 { margin-top:100px !important;}

.mb0 { margin-bottom:0 !important;}
.mb5 { margin-bottom:5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb25 { margin-bottom:25px !important;}
.mb30 { margin-bottom:30px !important;}
.mb35 { margin-bottom:35px !important;}
.mb40 { margin-bottom:40px !important;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.mb55 { margin-bottom:55px !important;}
.mb60 { margin-bottom:60px !important;}
.mb65 { margin-bottom:65px !important;}
.mb70 { margin-bottom:70px !important;}
.mb80 { margin-bottom:80px !important;}

.ml0 { margin-left:0 !important;}
.ml10 { margin-left:10px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml30 { margin-left:30px !important;}

.mr0 { margin-right:0 !important;}
.mr10 { margin-right:10px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr30 { margin-right:30px !important;}

.mw10 { margin-left:10px !important; margin-right:10px !important;}
.mw15 { margin-left:15px !important; margin-right:15px !important;}
.mw20 { margin-left:20px !important; margin-right:20px !important;}
.mw30 { margin-left:30px !important; margin-right:30px !important;}
.mw50 { margin-left:50px !important; margin-right:50px !important;}
.mh100 { margin-top:100px !important; margin-bottom:100px !important;}

/* 
  Padding 
*/
.pd0 { padding: 0 !important;}
.pt0 {padding-top:0 !important;}
.pt5 { padding-top:5px !important;}
.pt10 { padding-top:10px !important;}
.pt15 { padding-top:15px !important;}
.pt20 { padding-top:20px !important;}
.pt30 { padding-top:30px !important;}
.pt40 { padding-top:40px !important;}
.pt50 { padding-top:50px !important;}
.pt60 { padding-top:60px !important;}
.pt70 { padding-top:70px !important;}
.pt80 { padding-top:80px !important;}
.pt100 { padding-top:100px !important;}
.pt110 { padding-top:110px !important;}
.pb0 { padding-bottom:0 !important;}
.pb5 { padding-bottom:5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb15 { padding-bottom:15px !important;}
.pb20 { padding-bottom:20px !important;}
.pb30 { padding-bottom:30px !important;}
.pb40 { padding-bottom:40px !important;}
.pb50 { padding-bottom:50px !important;}
.pb60 { padding-bottom:60px !important;}
.pb70 { padding-bottom:70px !important;}
.pb100 { padding-bottom:100px !important;}
.ph20 { padding-top:20px !important; padding-bottom:20px !important;}
.ph40 { padding-top:40px !important; padding-bottom:40px !important;}
.ph50 { padding-top:50px !important; padding-bottom:50px !important;}
.ph80 { padding-top:80px !important; padding-bottom:80px !important;}
.ph100 { padding-top:100px !important; padding-bottom:100px !important;}

.f-left{
    float:left;
}
.f-right{
    float:right;
}

/*공통 레이아웃*/

#wrap {
    position: relative;
    width: 100vw;
    min-height: 100%;
    background-color: #fff;
    display: inline-block;
}
.header{
    position: absolute;
    height:90px;
    width:100%;    
    border-bottom:1px solid #e4e4e4;
    transition: .2s;
    top:0;
    z-index:10;
    background-color:#fff;
}
.header.on{
    height:168px;
}
@media (max-width: 1200px) {
  .header.on{
    height:90px;
}
}
.header:before{
    position:absolute;
    top:89px;
    left:0;
    content:'';
    width:100%;
    height:1px;
    background-color:#e4e4e4;    
}
.header .inner{
    width:100%;
    min-height:90px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:0 40px;
}
@media (max-width: 480px) {
    .header .inner{
        padding:0 30px;
    }
}
.header .inner .logo{
    width:127px;
}
@media (max-width: 480px) {
    .header .inner .logo{
        width:100px;
    }
}
.header .inner .logo img{
    width:100%;
}
#gnb {    
    padding:32px 0;
}
#gnb > ul {
    display: flex;
    align-items: center;   
}
@media (max-width: 1200px) {
  #gnb {
    display: none;
  }
}

#gnb > ul > li > a { 
    position: relative;      
    padding:40px 37px;  
    font-size:2.0rem;
    color:#111;   
    font-weight:700;
    transition: .3s;
}

#gnb > ul > li.depth01 > a:hover:before,
#gnb > ul > li.depth01.on > a:before {       
    position: absolute;
    content:'';
    bottom:3px;
    left:50%;
    transform:translateX(-50%);
    background-image:url(../../images/common/gnb_bar.png);
    background-size:26px;
    background-repeat: no-repeat;
    width:26px;
    height:14px;
}
#gnb > ul > li > ul {
    position:absolute;
    top:90px;  
    opacity: 0;
    padding:0;
    transition:opacity .2s;
    height:0;
    overflow:hidden;
}
#gnb > ul > li > ul.on {
    opacity: 1;
    height: auto;
    padding:30px 0;
}
#gnb > ul > li:nth-child(1) > ul.on {
    margin-left:-90px;
}
#gnb > ul > li:nth-child(2) > ul.on {
    margin-left:-240px;
}
#gnb > ul > li:nth-child(3) > ul.on {
    margin-left:-430px;
}
#gnb > ul > li:nth-child(4) > ul.on {
    margin-left:-50px;
}
#gnb > ul > li:nth-child(5) > ul.on {
    margin-left:10px;
}
#gnb > ul > li > ul > li {
    position: relative;    
    float:left;    
    
}
#gnb > ul > li > ul > li:before {
    position: absolute;
    top:2px;
    left:0;
    content:'';
    width:1px;
    height:16px;
    background-color:#dcdcdc;
}
#gnb > ul > li > ul > li:first-child:before {
    display: none;
}
#gnb > ul > li > ul > li > a {
    font-size:1.6rem;
    color:#666;
    font-weight:500;
    font-family: 'noto sans kr';
    padding:0 30px;
}
#gnb > ul > li > ul > li > a:hover,
#gnb > ul > li > ul > li > a.on {
    color:#006fd9
}
#gnb > ul > li > ul > li.on > a {
    color:#006fd9
}
.header .inner .util{
    display: flex;
    align-items: center;
}
.header .inner .util .btn-down{
    height:35px;
    padding:0 20px;
    background-color:#1178db;
    border-radius:5em;
    color:#fff;
    font-family: 'prompt';
    font-size:1.4rem;
    margin-right:80px;
}
@media (max-width: 480px) {
    .header .inner .util .btn-down{
        padding:0 20px;
        font-size:1.2rem;
        margin-right:50px;
    }
}
.header .inner .util .btn-down .icon{
    display: inline-block;
    width:13px;
    height: 13px;
    background-image:url(../../images/common/icon_download.png);
    background-repeat: no-repeat;
    margin-right:10px;
    background-size: 13px;
}
.total-menu{
    position: absolute;
    top:33px;
    right:50px;
    width:30px;
    height:22px;
    margin-left:30px;
    z-index: 300;
}
@media (max-width: 480px) {
    .total-menu{
        right:30px;
    }
}
.total-menu.on{
    position: fixed;
}
.total-menu span{
    display: inline-block;
    transition:.3s;
}
.total-menu span:nth-child(1){
    position:absolute;
    top:0;
    right:0;
    width:30px;
    height:2px;
    background-color:#111;
}
.total-menu span:nth-child(2){
    position:absolute;
    top:10px;
    right:0;
    width:30px;
    height:2px;
    background-color:#111;
}
.total-menu span:nth-child(3){
    position:absolute;
    top:20px;
    right:0;
    width:15px;
    height:2px;
    background-color:#111;
}
.total-menu.on span:nth-child(1){
    top:10px;
    transform:rotate(45deg)
}
.total-menu.on span:nth-child(2){
    transform:rotate(135deg)
}
.total-menu.on span:nth-child(3){
    display: none;
}

.all-menu{
    display: none;
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    background:#fff;
    z-index:200;
    /* display: flex; */
    flex-wrap: wrap;
    align-content: stretch;
}
@media (max-width: 1200px) {
    .all-menu{
        width:380px;
        left:auto;
        right:-130%;
        display: block;
        transition: .5s;
    }  
    .all-menu.on{
        width:380px;
        left:auto;
        right:0;
    }   
}
@media (max-width: 480px) {
    .all-menu.on{
        width:100%;
        left:auto;
        right:0;
    } 
}
.all-menu .left-bg{
    width:680px;
    height:100%;
    background-image:url(../../images/common/allmenu_bg1.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    flex-shrink: 0;
}
@media (max-width: 1200px) {
    .all-menu .left-bg{
        display: none;
    }
}
.all-menu .all-menu-line{
    width:calc(100% - 680px);
    padding:90px 110px 0 146px;
    flex-grow: 1;
    background-image:url(../../images/common/allmenu_bg2.png);
    background-repeat: no-repeat;
    background-position: right bottom;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line{
        width:100%;
        padding:90px 40px 30px;
        height:100%;
        background:none;
    }
}
.all-menu .all-menu-line .btn-home{
    position: relative;
    padding-left:35px;
    color:#8a8b8d;
    font-size:1.4rem;
    font-weight:600;
    font-family: 'prompt';
    margin-left:10px;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .btn-home{
        display: none;
    }
}
.all-menu .all-menu-line .btn-home:before{
    position: absolute;
    content:'';
    left:0;
    top:-3px;
    width:26px;
    height:22px;
    background-image:url(../../images/common/allmenu_icon1.png);
    background-repeat: no-repeat;
}
.all-menu .all-menu-line .inner-wrap > ul{
    margin-top:80px;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .inner-wrap{
        overflow-y:auto;
        max-height: 100%;
        padding-bottom:100px;
        padding-right:20px;
        padding-left:20px;
    }
}
.all-menu .all-menu-line .inner-wrap > ul > li{
    padding:35px 10px 55px 10px;
    border-bottom:1px solid #e4e4e4;
    display: flex;
    align-items: center;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .inner-wrap > ul > li{
        display: block;
        border-bottom:0;
        padding:0 10px 55px 10px;
    }
}
.all-menu .all-menu-line .inner-wrap > ul > li > .depth01{
    font-size:2.6rem;
    color:#333333;
    font-weight:700;
    padding-top:25px;
    padding-left:20px;
    background-image:url(../../images/common/allmenu_icon2.png);
    background-repeat: no-repeat;
    background-position: left top;
    width:260px;
    flex-shrink: 0;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .inner-wrap > ul > li > .depth01{
        font-size:2.5rem;
        padding-top:0;
        padding-left:0;
        background-image:none;
        width:100%;
        flex-shrink:unset;
        display:inline-block;
        position: relative;
    }
    .all-menu .all-menu-line .inner-wrap > ul > li > .depth01.on{
        color:#016ed7;
    }    
    .all-menu .all-menu-line .inner-wrap > ul > li > .depth01:after{        
        position:absolute;
        content: '';
        right:0;
        top:0;
        width: 12px; 
        height: 12px;
        border-top: 2px solid #333; 
        border-right: 2px solid #333;
        display: inline-block;
        transform: rotate(135deg); 
    }
    .all-menu .all-menu-line .inner-wrap > ul > li > .depth01.on:after{
        border-top: 2px solid #016ed7; 
        border-right: 2px solid #016ed7;
        transform: rotate(315deg); 
        top:8px;
    }
}
.all-menu .all-menu-line .inner-wrap > ul > li > ul{
    position:relative;
    flex-grow: 1;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .inner-wrap > ul > li > ul{
        display: none;
    }
}

.all-menu .all-menu-line .inner-wrap > ul > li > ul > li{
    float:left;
    width:145px;
    padding-top:25px;
}
@media (max-width: 1200px) {
    .all-menu .all-menu-line .inner-wrap > ul > li > ul > li{
        float:none;
        width:auto;
        padding-top:25px;
    }
}
.all-menu .all-menu-line .inner-wrap > ul > li > ul > li:last-child{
    width:auto;
}
.all-menu .all-menu-line .inner-wrap > ul > li > ul > li > .depth02{
    font-size:1.6rem;
    color:#666666;
    font-weight:500;
    font-family:'noto sans kr';
}
.all-bg{
    position:absolute;
    top:0;
    left:0;
    width:100vw;
    height:100%;
    background-color:rgba(0,0,0,0.5);
    z-index:150;
    display: none;
}
.all-bg.on{
    display: block;
}

#content-wrap{
    position: relative;
}
.footer{
    position:relative;
    height:335px;
    background-color:#303132;
    padding:58px 0;
    text-align: center;
}
@media (max-width: 480px) {
    .footer{
        height:auto;
        padding:58px 10px;
    }
}
.footer .text01{
    font-size:1.7rem;
    color:#9c9c9c;
    font-weight:300;
    text-align: center;
    margin-bottom:10px;
    line-height:2.4rem;
}
@media (max-width: 480px) {
    .footer .text01{
        letter-spacing: -0.05rem;
    }
    .footer .text01 .company{
        display: block;
        text-align: center;
        font-size:2.2rem;
        margin-bottom:16px;
        font-weight:300;
    }
    .footer .text01 .bar{
        display:none;
    }
}

.footer .text02{
    font-size:1.7rem;
    color:#9c9c9c;
    font-weight:300;
    text-align: center;
    margin-bottom:30px;
    font-family:'noto sans kr';
    line-height:2.4rem;
}
.footer .text02 .white{
    color:#fff;
}
.footer .license{
    color:#717171;
    text-align: center;
    font-size:1.5rem;
    font-family:'prompt';
    text-transform: uppercase;
    margin-bottom:50px;
}
@media (max-width: 480px) {
    .footer .license{
        margin-bottom:30px;
    }
}
.footer .bot-logo{
    display: inline-block;
    width:53px;
}
.footer .bot-logo img{
    width:100%;
}
.footer .btn-top{
    position:absolute;
    right:70px;
    top:-35px;
    width:63px;
    height:71px;
    background:linear-gradient(225deg, transparent 10px, #1177d9 0);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index:10;
}
@media (max-width: 480px) {
    .footer .btn-top{
        display: none;
    }
}
.footer .btn-top span{
    position: relative;
    font-size:1.3rem;
    color:#fff;
    font-family: 'prompt';
    font-weight:500;
    padding-top:25px;
}
.footer .btn-top span:before{
    position: absolute;
    content:'';
    top:0;
    left:50%;
    width:10px;
    height:18px;
    transform:translateX(-50%);
    background-image: url(../../images/common/icon_top.png);
    background-size:11px;
}

@media (max-width: 1200px) {
  main.main-content-wrap .top-zone .right .alarm-wrap .notice-layer {
    top: 200%;
    right: 0;
  }
}