@charset "utf-8";


/* =======================================================
    전체공통
========================================================*/
*{margin: 0; padding: 0;}
.clear::after{content: ""; width: 0; height: 0; display: block; clear: both;}
.inner{position:relative; width:100%; max-width:1100px; margin:0 auto; padding: 20px; box-sizing: border-box;}
.color-green{color:#29c663;}
.color-blue{color:#173a84;}
.lang-ko{font-family: 'Noto Sans KR', sans-serif;}
.wrapper{position: relative; width: 100%; height: 100%; min-height: 100vh; padding-bottom: 215px;}

@media (max-width: 486px){
   .wrapper{padding-bottom: 235px;}
}

@media (max-width: 375px){
   .wrapper{padding-bottom: 278px;}
}

/* =======================================================
    헤더 - PC
========================================================*/
#header{position: fixed; top: 0; left: 0; width: 100%; height: 80px; background: transparent; border-bottom: 1px solid rgba(221,221,221, .3); color: #fff; box-sizing: border-box; z-index: 1000;}
#header.on{border-bottom: none; background: #fff; box-shadow: 0 0 20px rgba(0,0,0, .1); color: #333;}
#header .inner{padding-right: 0;}
#header .logo{float: left; width: 145px;}
#header .logo a{background-image: url('/AppData/images/common/logo_w.png'); width: 100%; max-width: 145px; height: 34.42px; padding-top: 5px; background-repeat: no-repeat; background-position: left; background-size: contain;}
#header .logo a.on{background-image: url('/AppData/images/common/logo.png');}

#header .mob-nav-menu{display: none;}
#header .nav-menu{float: left; width: calc(100% - 235px); margin-top: -20px; font-weight: 700;}
#header .nav-menu .gnb{position: absolute; top: 20px; left: 285px;}


#header .nav-menu .gnb>li{float: left; width: 150px;}
#header .nav-menu .gnb>li:last-child{padding-right: 0;}
#header .nav-menu .gnb>li>a{padding: 10px 20px; text-align: center; transition: .3s;}
#header .nav-menu .gnb>li:hover>a{color:#29c663; transition: .3s;}
#header .nav-menu .sub-menu{display: none; position: absolute; top: 60px; width: 150px; background: rgba(221,221,221, .3); color: #fff;}
#header.on .nav-menu .sub-menu{background: #fff; color: #333; border: 1px solid rgba(221,221,221, .5); box-sizing: border-box;}
#header .nav-menu .sub-menu li>a{padding: 10px 0;}

#header .nav-menu .sub-menu>li{float: none; width: 100%; height: 50px; padding: 5px; font-weight: 400; text-align: center; box-sizing: border-box; z-index: 1000;}
#header .nav-menu .sub-menu>li:hover{background: rgba(41, 198, 99, .1);}
#header .nav-menu .sub-menu>li:hover a{color:#29c663;} 

/*헤더 - 상단 백그라운드 없는 부분에 적용됨*/
#header_sub{position: fixed; top: 0; left: 0; width: 100%; height: 80px; background: #fff; box-shadow: 0 0 20px rgba(0,0,0, .1); color: #333; box-sizing: border-box; z-index: 1000;}
#header_sub .inner{padding-right: 0;}
#header_sub .logo{float: left; width: 145px;}
#header_sub .logo a{float: left; background-image: url('/AppData/images/common/logo.png'); width: 100%; max-width: 145px; height: 34.42px; padding-top: 5px; background-repeat: no-repeat; background-position: left; background-size: contain;}

#header_sub .mob-nav-menu{display: none;}
#header_sub .nav-menu{float: left; width: calc(100% - 235px); margin-top: -20px; font-weight: 700;}
#header_sub .nav-menu .gnb{position: absolute; top: 20px; left: 285px;}

#header_sub .nav-menu .gnb>li{float: left; width: 150px;}
#header_sub .nav-menu .gnb>li:last-child{padding-right: 0;}
#header_sub .nav-menu .gnb>li a{padding: 10px 20px; text-align: center; transition: .3s;}
#header_sub .nav-menu .gnb>li:hover>a{color:#29c663; transition: .3s;}
#header_sub .nav-menu .sub-menu{display: none; position: absolute; top: 60px; width: 150px; background: rgba(255,255,255, 1); border: 1px solid rgba(221,221,221, .5); color: #333;}
#header_sub.on .nav-menu .sub-menu{background: #fff; color: #333; border: 1px solid rgba(221,221,221, .5); box-sizing: border-box;}
#header_sub .nav-menu .sub-menu li>a{padding: 10px 0;}

#header_sub .nav-menu .sub-menu>li{float: none; width: 100%; height: 50px; padding: 5px; font-weight: 400; text-align: center; box-sizing: border-box; z-index: 1000;}
#header_sub .nav-menu .sub-menu>li:hover{background: rgba(41, 198, 99, .1);}
#header_sub .nav-menu .sub-menu>li:hover a{color:#29c663;}


/* =======================================================
    헤더 - 언어설정
========================================================*/
#header .select-lang{position: relative; float: right; width: 90px;}
#header .lang-set{text-indent: -9999px; width: 100%; height: 25px; margin-top: 7px; background-image: url('/AppData/images/button/lang_w.png'); background-repeat: no-repeat; background-position: center; background-size: 20px;}
#header .lang-set.on{background-image: url('/AppData/images/button/lang.png');}

#header .lang-list{position: absolute; top: 40px; left: 0; display: none; right: 0; background: #fff; text-align: center; color: #333; box-shadow: 0 0 20px rgba(0,0,0, .1);}
#header .lang-list.active{display: block;}

#header .lang-list li{min-width: 50px;}
#header .lang-list li a{padding: 10px 7px;}
#header .lang-list li:hover{background: rgba(41, 198, 99, 1); text-decoration: underline; color:#fff;}

/*헤더 - 상단 백그라운드 없는 부분에 적용됨*/
#header_sub .select-lang{position: relative; float: right; width: 90px;}
#header_sub .lang-set{text-indent: -9999px; width: 100%; height: 25px; margin-top: 7px; background-image: url('/AppData/images/button/lang.png'); background-repeat: no-repeat; background-position: center; background-size: 20px;}

#header_sub .lang-list{position: absolute; top: 40px; left: 0; display: none; right: 0; background: #fff; text-align: center; color: #333; box-shadow: 0 0 20px rgba(0,0,0, .1);}
#header_sub .lang-list.active{display: block;}

#header_sub .lang-list li{min-width: 50px;}
#header_sub .lang-list li a{padding: 10px 7px;}
#header_sub .lang-list li:hover{background: rgba(41, 198, 99, 1); text-decoration: underline; color:#fff;}


@media (max-width: 960px){    
    #header .lang-set, #header_sub .lang-set{margin-top: 5px; background-size: 25px;}
    #header .lang-list, #header_sub .lang-list{top: 37px;}
}


@media (max-width: 375px){
    #header .select-lang, #header_sub .select-lang{width: 70px; font-size: 13px;}
}


@media (max-width: 320px){
    #header .select-lang, #header_sub .select-lang{width: 50px;}
}

/* =======================================================
    헤더 - 모바일
========================================================*/
@media (max-width: 960px){
  #header{height: 55px;}
  #header .inner{padding: 10px 20px;}
  #header .logo a{width: 100%; max-width: 130px; height: 34.42px; padding-top: 0;}

  #header .mob-nav-menu{display: block; float: right; position: relative; width: 22px; height: 22px; margin-top: 12px; cursor:pointer;}
  #header .mob-nav-menu span{position: absolute; top: 0; right: 0; display: block; width: 22px; height: 2px; margin: 4px 0; background: rgba(255,255,255, 1); transition: all .3s; text-indent: -9999px;}
  #header .mob-nav-menu span::before, #header .mob-nav-menu span::after{content: ""; position: absolute; top: 0; right: 0; display: block; width: 22px; height: 2px; background: rgba(255,255,255, 1); transition: all .3s;}
  #header .mob-nav-menu span::before{top: -10px;}
  #header .mob-nav-menu span::after{top: 10px;}

  #header.on .mob-nav-menu span{background: rgba(51,51,51, 1);}
  #header.on .mob-nav-menu span::before, #header.on .mob-nav-menu span::after{background: rgba(51,51,51, 1);}

  #header .mob-nav-menu.motion span::before{top: 0; transform: rotate(45deg);}
  #header .mob-nav-menu.motion span{background: rgba(255,255,255, 0);}
  #header .mob-nav-menu.motion span::after{top: 0; transform: rotate(-45deg);}

  #header .nav-menu{display: none; float: none; position: absolute; top: 54px; right: 0; width: 100%; height: 100%; min-height: calc(100vh - 54px); margin-top: 0; text-align: left; font-size: 20px; transition: .5s; z-index: 999;}
  #header .nav-menu.open{display: block; background: #fff; color: #333; border-top: 1px solid #eee; transition: .5s; overflow-y: scroll; overflow-x: hidden;}

  #header .nav-menu .gnb{position: static; top: 0; left: 0;}
  #header .nav-menu .gnb>li{float: none; width: 100%; padding: 0; border-bottom: 1px solid #eee;}
  #header .nav-menu .gnb>li>a{padding: 25px; text-align: left;}
  #header .nav-menu .gnb>li:hover>a{color:#333;}
  #header .nav-menu .gnb>li.service-menu>a::after, #header .nav-menu .gnb>li.my-menu>a::after{float: right; content: ""; display: inline-block; width: 15px; height: 15px; margin-top: 10px; background-image: url('/AppData/images/common/down_icon.png'); background-repeat: no-repeat; background-size: contain;}
  #header .nav-menu .gnb>li.service-menu>a.on::after, #header .nav-menu .gnb>li.my-menu>a.on::after{background-image: url('/AppData/images/common/up_icon.png');}

  #header .nav-menu .sub-menu{display: none; position: static; width: 100%;}
  #header.on .nav-menu .sub-menu {border: 0;}
  #header .nav-menu .sub-menu>li{height: 24px; padding: 15px 20px; box-sizing: content-box; background: #173a84; border-top: 1px solid #eee; color: #fff; text-align: left; line-height: 24px;}
  #header .nav-menu .sub-menu>li>a{padding: 0 20px; font-size: 16px; text-align: left;}
  #header .nav-menu .sub-menu>li:hover{background: rgba(23, 58, 132, 1);}
  #header .nav-menu .sub-menu>li:hover a{color: #fff;}

  /*헤더 - 상단 백그라운드 없는 부분에 적용됨*/
  #header_sub{height: 55px;}
  #header_sub .inner{padding: 10px 20px;}
  #header_sub .logo a{width: 100%; max-width: 130px; height: 34.42px; padding-top: 0;}

  #header_sub .mob-nav-menu{display: block; float: right; position: relative; width: 22px; height: 22px; margin-top: 12px; cursor:pointer;}
  #header_sub .mob-nav-menu span{position: absolute; top: 0; right: 0; display: block; width: 22px; height: 2px; margin: 4px 0; background: rgba(51,51,51, 1); transition: all .3s; text-indent: -9999px;}
  #header_sub .mob-nav-menu span::before, #header_sub .mob-nav-menu span::after{content: ""; position: absolute; top: 0; right: 0; display: block; width: 22px; height: 2px; background: rgba(51,51,51, 1); transition: all .3s;}
  #header_sub .mob-nav-menu span::before{top: -10px;}
  #header_sub .mob-nav-menu span::after{top: 10px;}

  #header_sub.on .mob-nav-menu span::before, #header_sub.on .mob-nav-menu span::after{background: rgba(51,51,51, 1);}
  #header_sub .mob-nav-menu.motion span::before{top: 0; transform: rotate(45deg);}
  #header_sub .mob-nav-menu.motion span{background: rgba(255,255,255, 0);}
  #header_sub .mob-nav-menu.motion span::after{top: 0; transform: rotate(-45deg);}

  #header_sub .nav-menu{display: none; float: none; position: absolute; top: 54px; right: 0; width: 100%; height: 100%; min-height: calc(100vh - 54px); margin-top: 0; text-align: left; font-size: 20px; transition: .5s; z-index: 999;}
  #header_sub .nav-menu.open{display: block; background: #fff; color: #333; border-top: 1px solid #eee; transition: .5s; overflow-y: scroll; overflow-x: hidden;}


  #header_sub .nav-menu .gnb{position: static; top: 0; left: 0;}
  #header_sub .nav-menu .gnb>li{float: none; width: 100%; padding: 0; border-bottom: 1px solid #eee;}
  #header_sub .nav-menu .gnb>li>a{padding: 25px; text-align: left;}
  #header_sub .nav-menu .gnb>li:hover>a{color:#333;}
  #header_sub .nav-menu .gnb>li.service-menu>a::after, #header_sub .nav-menu .gnb>li.my-menu>a::after{float: right; content: ""; display: inline-block; width: 20px; height: 20px; margin-top: 10px; background-image: url('/AppData/images/common/down_icon.png'); background-repeat: no-repeat; background-size: contain;}
  #header_sub .nav-menu .gnb>li.service-menu>a.on::after, #header_sub .nav-menu .gnb>li.my-menu>a.on::after{background-image: url('/AppData/images/common/up_icon.png');}

  #header_sub .nav-menu .sub-menu{display: none; position: static; width: 100%; border: none;}
  #header_sub.on .nav-menu .sub-menu {border: 0;}
  #header_sub .nav-menu .sub-menu li{height: 24px; padding: 25px 20px; box-sizing: content-box; background: #173a84; border-top: 1px solid #eee; color: #fff; text-align: left;}
  #header_sub .nav-menu .sub-menu li>a{padding: 0 20px; text-align: left;}
  #header_sub .nav-menu .sub-menu li:hover{background: rgba(23, 58, 132, 1);}
  #header_sub .nav-menu .sub-menu li:hover a{color: #fff;}
}

@media (max-width: 460px){
    #header .logo{width: 160px;}
    #header .logo a{max-width: 160px;}

    #header_sub .logo{width: 160px;}
    #header_sub .logo a{max-width: 160px;}
}

/* =======================================================
    푸터
========================================================*/
#footer{position: absolute; bottom: 0; width: 100%; border-top: 1px solid #ddd; background: #fff; font-size: 13px; letter-spacing: -0.05em; line-height: 1.5;}
#footer .foot-cpn-name{display: block;}
#footer .foot-cpn-info{padding: 22px 0;}
#footer .foot-cpn-info p{padding: 3px 0;}
#footer .foot-cpn-info p span::before{display: inline-block; content: ""; width: 1px; height: 12px; margin: 0 10px; background: #ddd; vertical-align: middle;}
#footer .foot-cpn-info p span:first-child::before{margin-left: 0; display: none;}
#footer .foot-cpn-info a{display: inline-block;}

#footer .foot-bottom span{margin-right:20px; }
#footer .foot-bottom span a{display: inline-block;}

#footer .top-btn{position: fixed; bottom: 5%; right: 5%; width: 65px; height: 65px; background: #fff; border-radius: 50%; box-shadow: 0 0 10px rgba(153,153,153, .3); cursor: pointer;}
#footer .top-btn img{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 25px; text-align: center; opacity: .6;}

@media (max-width: 640px){
    #footer .top-btn{width: 50px; height: 50px;}
    #footer .top-btn img{max-width: 20px;}
}

/* =======================================================
    페이지네이션
========================================================*/
.pagination-wrap{position: relative; width: 100%; box-sizing: border-box; margin: 100px 0;}
.pagination-wrap .pagination{display: flex; flex-direction: row; justify-content: center; align-items: center;}
.pagination-wrap .pagination li{display: inline-block;}

.pagination-wrap .pagination .page-pprev {background: url("/AppData/images/common/page_pprev.png") no-repeat center center;}
.pagination-wrap .pagination .page-prev {background: url("/AppData/images/common/page_prev.png") no-repeat center center;}
.pagination-wrap .pagination .page-next {background: url("/AppData/images/common/page_next.png") no-repeat center center;}
.pagination-wrap .pagination .page-nnext {background: url("/AppData/images/common/page_nnext.png") no-repeat center center;}

.pagination-wrap .pagination .current > a, .pagination-wrap .pagination .current > span{color: #fff; background-color: #222;}
.pagination-wrap .pagination > li > a, .pagination-wrap .pagination > li > span{display: block; min-width: 30px; height: 30px; box-sizing: border-box; font-size: 13px; font-weight: 400; line-height: 30px; text-align: center; cursor: pointer;}


/* =======================================================
    서브페이지 - 검색
========================================================*/
.item-search{margin: 50px auto 30px; padding: 40px; background: #fafafa; border: 1px solid #ddd;}
.item-search .search-group .input-text{display: block; float: left; width: calc(100% - 80px); height: 45px; padding: 0 8px; background: #fff; border: 1px solid #ccc;}
.item-search .search-group .btn-search{width: 80px; height: 45px; padding: 0 15px; background: #173a84; color: #fff; line-height: 45px;}

@media (max-width: 960px){
.item-search{padding: 20px;}
}

/* =======================================================
    서브페이지 - 버튼 - 더보기(load) + 목록으로
========================================================*/
.btn-group{text-align: center; margin: 0 auto 50px;}
.btn-group .btn-load{width: 20%; min-width: 120px; height: 50px; line-height: 50px; background: #fff; border: 1px solid #ddd; border-radius: 10px; transition: .3s;}
.btn-group .btn-load:hover{background: #29c663; border: 1px solid #29c663; color: #fff; transition: .3s;}

.btn-group .btn-back a{width: 20%; min-width: 202px; height: 50px; line-height: 50px; background: #fff; border: 1px solid #ddd; border-radius: 10px; transition: .3s; box-sizing: border-box;}
.btn-group .btn-back:hover a{background: #29c663; border: 1px solid #29c663; color: #fff; transition: .3s;}

@media (max-width: 690px){
    .btn-group{margin: 0 auto 70px; padding:50px;}
    .btn-group .btn-back a{min-width: 120px;}
}

/* =======================================================
    2개 버튼 (ex : 취소 - 확인)
========================================================*/
.btn-two{text-align: center; margin: 70px auto 100px; cursor: pointer;}
.btn-two button{width: 20%; min-width: 120px; padding: 15px; margin: 20px; border: 1px solid #ddd; border-radius: 10px;}
.btn-two button.confirm{background: #173a84; color: #fff; border: 1px solid #173a84;}

@media (max-width: 375px){
    .btn-two{padding: 0;}
    .btn-two button{min-width: 100px; margin: 10px;}
}


/* =======================================================
    서브페이지 - 내용 없을 경우 (nodata)
========================================================*/
/*노무 콘텐츠(유튜브)*/
.ytb-contents #mv_playlist li.nodata{min-height: initial;}
.ytb-contents li.nodata{float: none; width: 100%; margin: 100px auto; text-align: center; border-radius: 0; box-shadow: 0 0 20px rgba(0,0,0,0); overflow: hidden;}

/*[노무 기사] & [노무 지원금 정보]*/
.article-box ul li.nodata{float: none; width: 100%; min-height: initial; margin: 100px auto; padding: 0; text-align: center; box-shadow: none; border-radius: 0; transition: none; cursor: default;}
.article-box ul li.nodata:hover{background: #fff; color: #333;}

/*노무 강의*/
.course-wrap li.course-nodata{float: none; width: 100%; margin: 145px auto; text-align: center; box-shadow: none; border-radius: 0; transition: none;}
.course-wrap li.course-nodata:hover{box-shadow: none; color: #333;}

/*[노무 서식] + [노무/세무 이슈] &*/
.sub-document .board-nodata{padding: 70px 20px; text-align: center;}


/* =======================================================
    progress-wrapper(로딩바 - 스피너)
========================================================*/
.progress-wrapper{position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; background-color: rgba(0,0,0,.1);}
.progress-inner{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9998;}
.progress-wrapper span{display: inline-block; width: 10px; height: 10px; margin-right: 7px; background: #173a84; animation: popWave 1.4s linear infinite;}
.progress-wrapper .progress-dot01{opacity: 0.5;}
.progress-wrapper .progress-dot02{opacity: 0.7; animation-delay: -1.2s;}
.progress-wrapper .progress-dot03{opacity: 0.9; animation-delay: -1.0s;}


@keyframes popWave {
  0%, 60%, 100% {
    transform: initial;
  }

  30% {
    transform: translateY(-15px);
  }
}