@charset "utf-8";
/**
* import
*/
@import url("../../resource/css/style.css?after");
@import url("../../resource/css/reset.css?after");
@import url("../../resource/css/common.css?after");
@import url("../../resource/css/graph.css?after");
@import url("../../resource/css/ui.css?after");
@import url("../../resource/css/layer.css?after");
@import url("../../resource/css/select.css");
@import url("../../resource/css/sms.css");
@import url("../../resource/css/datepicker.css");
@import url("../../resource/css/clone.css");
@import url("../../resource/css/calendar.css");
@import url("../../resource/css/auto_list.css");
@import url("../../resource/css/fonts/pretendard.css?after");




*{box-sizing: border-box; font-family: 'NanumMyeongjo', dotum, Helvetica, sans-serif;letter-spacing:-0.2px;}

body, input, button, select, textarea, sub {
    font-family: 'NanumMyeongjo', dotum, Helvetica, sans-serif;
}

.txt.bold{font-family: 'NanumMyeongjoBold';}
.txt.bolder{font-family: 'NanumMyeongjoExtraBold';}

.pc-hidden{display: none !important;}
.inner{width: 100%; box-sizing: border-box; margin: 0 auto; padding: 0 4%; box-sizing: border-box}

/* primary color 관련 위치  */
.txt-primary{color:#880f2c;}
.bg-primary{background-color:#880f2c; color: #fff;}
.bg-primary-line{border: 1px solid #880f2c;}
.btn-primary{background-color:#880f2c; color: #fff; border-color:#880f2c;}
.btn-primary:hover{background-color:#fff; color: #880f2c;}
.btn-line-primary{background-color:#fff; color: #880f2c; border-color:#880f2c;}
.btn-line-primary:hover{background-color:#880f2c; color: #fff;}

/* input 공통사항 */
/* input checkbox */
input[type='checkbox']{width: 0; height: 0; display: none;}
input[type='checkbox'] + label{position: relative; padding-left: 3rem; font-size:1.8rem; }
input[type='checkbox'] + label:before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.1rem;
    border: 0.1rem solid #ddd;
    box-sizing: border-box;
    background: #fff;
}
input[type='checkbox'] + label:after{
    position: absolute;
    left:0.3rem;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '\e928';
    font-family: xeicon;
    font-size: 2rem;
    color: #999;
}
input[type='checkbox']:checked + label:before{border-color: #880f2c; background: #880f2c;}
input[type='checkbox']:checked + label:after{color: #fff}

/* input radio */
input[type='radio']{width: 0; height: 0; display: none;}
input[type='radio'] + label{position: relative; padding-left: 3rem; font-size:1.8rem; }
input[type='radio'] + label:before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 0.1rem solid #ddd;
    box-sizing: border-box;
}
input[type='radio'] + label:after{
    position: absolute;
    left:0.5rem;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #f5f5f5;
    box-sizing: border-box;
}
input[type='radio']:checked + label:before{border-color: #880f2c;}
input[type='radio']:checked + label:after{background: #880f2c;}

input[type='text']{}
input[type='date']{}
input[type='file']{}
input[type='password']{}
input[type='email']{}
/*  */

html {width:100%; font-size:10px; }
body{font-size: 16px; font-family: "NanumMyeongjo", sans-serif; }

#wrap{overflow:hidden; position: relative; z-index: 0; width: 100%;}
#container {margin: 0 auto;  background: #fff;}
body.login #container,
body.join #container{padding-top: 0}

#header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    z-index: 10;
    display: block;
    /* 투명도 있는 배경색&블러처리
    background-color: transparent;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    */
    box-sizing: border-box;
    transition: all 0.2s;
}
#header div.header_wrap{
    max-width: 192rem;
    margin: 0 auto;
}
#header div.header_wrap > div.flex{position: relative; width: 100%; padding: 0 4%; margin: 0 auto; box-sizing: border-box; justify-content: center;}
#header h1{position: absolute; left: 4%; top: 50%; transform: translateY(-50%); width: 200px; height: 50px;}
#header h1 a{
    display: block;
    width: 100%;
    height: 100%;
    background: url('./img/logo.png') center center no-repeat;
    background-size: contain;
}

/* 브로슈어 다운로드 */
.brochure{position: absolute; right: 4%; top: 50%; transform: translateY(-50%); width: 200px;}
.brochure a{color: #880f2c; font-size:clamp(1.2rem, 1vw, 1.6rem); font-family: 'NanumMyeongjoBold';}

/* 햄버거 버튼 */
.more-menu-area{display: none;}
.more-menu{position: relative; width: 3rem; height: 2rem; transition: all 0.2s; margin-left: 2rem;}
.more-menu span{position: absolute; top: 0; left:0; display: block; width: 100%; height: 0.3rem; background: #880f2c; transition: all 0.2s;}
.more-menu span:nth-child(2){top:50%;}
.more-menu span:last-child{top:100%;}

.more-menu.on span{transform: rotate(45deg); top: 50%;}
.more-menu.on span:nth-child(2){display: none;}
.more-menu.on span:last-child{transform: rotate(-45deg);}


/* gnb */
#gnb{margin-right: 5rem}
#gnb > ul{display: flex; width: 100%;}
#gnb > ul > li{position: relative; }
#gnb > ul > li:after{position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ""; display: block; width: 0.1rem; height: 1.5rem; background: #666;}
#gnb > ul > li:last-of-type{display: none;}
#gnb > ul > li:nth-child(5):after,
#gnb > ul > li:last-of-type:after{display: none;}
#gnb > ul > li > a{display: block; height: 80px; line-height: 80px; font-size:clamp(1.2rem, 1.3vw, 1.8rem);  padding: 0 35px; text-align: center; font-family: 'NanumMyeongjoBold'; color: #222;}


#gnb > ul > li.on > a{color: #880f2c; font-family: 'NanumMyeongjoExtraBold';}

/* hover 효과 */
#gnb > ul > li:hover > a{color: #880f2c; font-family: 'NanumMyeongjoExtraBold';}

/* footer */
#footer{position: relative; background: #333; padding: 50px 0; box-sizing: border-box;}
.footer_wrap{position: relative; width: 128rem; margin: 0 auto;}
.sns-area{position: absolute; top: 0; right: 0}
.sns-area li{margin-left: 1rem;}
.sns-area li:first-child{margin-left: 0}
.sns-area .icon{width: 3.5rem; height: 3.5rem;  background: #999 !important;}
.sns-area .icon i{font-size: 2rem;}
.sns-area .icon:hover{background: #ddd !important; }
.sns-area .icon:hover i{color: #444 !important;}

ul.f-nav{margin-top: 2rem;}
ul.f-nav li{margin-right: 1.5rem; padding-right: 1.5rem; border-right: 0.1rem solid #ddd; line-height: 1;}
ul.f-nav li:last-of-type{border-right: 0;}
ul.f-nav li a{display: block; width: 100%; color: rgba(255,255,255,0.5);}
ul.f-nav li.on a{color: #fff; font-weight: 700;}
div.f-info{margin-top: 2rem;}
div.f-info p{color: rgba(255,255,255,0.5); line-height: 1.5;}

.bottom-fixed{position: fixed; bottom: 20px; right: 20px; display: flex; flex-wrap: wrap;flex-direction: column; align-items: flex-end;  z-index: 10;}
.bottom-fixed ul li{margin-top: 1rem;}
.bottom-fixed ul li a,
.bottom-fixed ul li button{position: relative; width: 50px; height: 50px; border-radius: 50%; box-shadow: rgba(0,0,0,0.3) 5px 5px 5px; }
.bottom-fixed ul li .icon{width: 5rem; height: 5rem; line-height: 5rem;}

.goto-top{ background: #fff;}
.goto-top:hover{background: #666; color: #fff;}

.f-logo{width: 200px; height: 50px; margin: 0 auto}
.f-logo a{display: block; width: 100%; height: 100%; background: url('./img/logo-w.png') 0 0 no-repeat; background-size: contain; background-position: center center; filter: grayscale(1);}
.copy{font-size: 14px; color: rgba(255,255,255,0.4); margin-top: 20px; text-align: center;}


/* 개인정보처리방침 */
#privacy{}
#privacy p.tit{font-size: 2rem; font-weight: 600; margin-bottom: 2rem;}
#privacy div.box.bg-gray-50{padding: 2rem; box-sizing: border-box;}
#privacy > ul > li{margin-top: 3rem; font-size: 1.4rem;}
#privacy > ul > li > p{font-weight: 600; font-size: 1.8rem; }
#privacy > ul > li p.sub{font-weight: 400; font-size: 1.4rem; margin-top: 1rem;}
#privacy > ul > li p.txt-red{padding: 1rem; background: #f5f5f5; border-radius: 0.5rem;  font-size: 1.4rem; margin-top: 1rem;}
#privacy > ul > li ol{padding-left: 1.5rem;}
#privacy > ul > li ol li{list-style: auto;  margin-top: 1rem;}
#privacy > ul > li ol li ul{padding-left: 1.5rem;}
#privacy > ul > li ol li ul li{list-style: circle}
#privacy table{width: 100%; border-top: 0.1rem solid #ddd; border-bottom: 0.1rem solid #ddd; border-spacing:0; margin-top: 1rem;}
#privacy table th,
#privacy table td{padding: 1rem; box-sizing: border-box; border-right: 0.1rem solid #ddd;}
#privacy table th:first-of-type,
#privacy table td:first-of-type{border-left: 0.1rem solid #ddd;}
#privacy table th{background: #f5f5f5}
#privacy table td{border-top: 0.1rem solid #ddd;}



@media screen and (max-width:1366px){
    /* 노트북 */

    #header h1{width: 135px}
    #gnb > ul > li > a{padding: 0 2rem;}
    .brochure{width: max-content;}
    .brochure a{}
}


@media screen and (max-width:1279px){
    /* 노트북 */
    .inner{width: 100%; min-width: 28rem; padding: 0 4%; box-sizing: border-box;}
    .m-hidden{display: none}
    .pc-hidden{display: block !important;}

    #header{filter: unset; background: #fff;}
    #header div.header_wrap > div.flex{position: relative; width: 100%; padding:1rem 4%; box-sizing: border-box; justify-content: flex-end}
    #header div.header_wrap > div.flex:last-of-type{height: 8rem;}
    #container{padding-top: 8rem;}

    .brochure{display: none;}

    .more-menu-area,
    .more-menu{display: block}

    #gnb {
        margin: 0;
        display: block;
        position: absolute;
        width: 100%;
        top: 8rem;
        height: calc(100vh - 8rem);
        background: #fff;
        right: -100%;
        border-top: 0.1rem solid #ddd;
        box-sizing: border-box;
        overflow: scroll;
        transition: all 0.2s;
    }
    #gnb > ul{display: block;}
    #gnb > ul > li{border-bottom: 0.1rem solid #ddd; margin: 0;}
    #gnb > ul > li:after{display: none;}
    #gnb > ul > li:last-of-type{display: block;}
    #gnb > ul > li > a{text-align: left; padding: 2rem 4%; height: auto; line-height: 1.3; }

    #header.open #gnb{right: 0;}

    .footer_wrap{width: 100%; padding: 0 4%; box-sizing: border-box}

}
@media screen and (max-width:1203px){


}
@media screen and (max-width:839px){
    .f-logo {width: 80%; max-width: 20rem; min-width: 15rem;}

}
@media screen and (max-width:599px){
    .pc-hidden{display: block;}
    .m-hidden{display: none;}
    #header h1{width: 15rem}

    #gnb > ul > li > a{font-size:1.6rem;}

}

@media screen and (max-width:480px){

    ul.f-nav li a {font-size: 1.4rem;}
}