/* reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    font-family: 'Pretendard', sans-serif;
    vertical-align: baseline;
    box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
* {
    font-family: 'Pretendard', sans-serif;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}
a {
  text-decoration: none;
  color:#000;
}


/* 스크롤바 */
::-webkit-scrollbar {
  height:10px;
  width: 8px;  /* 스크롤바의 너비 */
}
::-webkit-scrollbar-thumb {
    height: 10%; /* 스크롤바의 길이 */
    background: #CCC; /* 스크롤바의 색상 */
    border-radius: 8px;
}
::-webkit-scrollbar-track {
    background: #F5F5F5; /*스크롤바 뒷 배경 색상*/
    border-radius: 8px;
}
/****************************************** 
                font style
*******************************************/

@font-face {
	font-family: 'Pretendard Variable';
	font-weight: 45 920;
	font-style: normal;
	font-display: swap;
	src: local('Pretendard Variable'),
    url('../fonts/PretendardVariable.woff') format('woff-variations'),
    url('../fonts/PretendardVariable.woff2') format('woff2-variations')
    ;
}

@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Thin.woff') format('woff'),
         url('../fonts/Pretendard-Thin.woff2') format('woff2')
    ;
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-ExtraLight.woff') format('woff'),
         url('../fonts/Pretendard-ExtraLight.woff2') format('woff2')
    ;
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Light.woff') format('woff'),
         url('../fonts/Pretendard-Light.woff2') format('woff2')
    ;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Regular.woff') format('woff'),
         url('../fonts/Pretendard-Regular.woff2') format('woff2')
    ;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Medium.woff') format('woff'),
         url('../fonts/Pretendard-Medium.woff2') format('woff2')
    ;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-SemiBold.woff') format('woff'),
         url('../fonts/Pretendard-SemiBold.woff2') format('woff2')
    ;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Bold.woff') format('woff'),
         url('../fonts/Pretendard-Bold.woff2') format('woff2')
    ;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-ExtraBold.woff') format('woff'),
         url('../fonts/Pretendard-ExtraBold.woff2') format('woff2')
    ;
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('../fonts/Pretendard-Black.woff') format('woff'),
         url('../fonts/Pretendard-Black.woff2') format('woff2')
    ;
    font-weight: 900;
    font-display: swap;
}


/* button style  */
.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
  outline:none;
}
.btn {
  display:inline-block;
  color:#000;
  font-size:14px;
  text-decoration:none;
  text-align:center;
}
.btn:active {
  opacity: 0.8;
}
.btn.util_btn {
  min-width:99px;
  height:35px;
  line-height:35px;
  padding:0 20px;
  border-radius:20px;
  border:1px solid #fff;
  font-weight: 500;
  font-size: 14px
}

.util_btn.type_a {
  color:#fff;
}
.util_btn.type_a:hover {
  color:#000;
  background:#fff;
}
.btn.type_b {
  color:#fff;
  border-color:#00534C;
  background:#00534C;
}
.util_btn.type_b:hover {
  color:#fff;
  background: #003430;
  border-color:#003430;
}
.util_btn.type_icon.adm_set {
  min-width:22px;
  background:url('../images/adm_set.png') no-repeat center center;
}
a, a:hover, a:focus {
  text-decoration: none;
}
.btn[disabled], .btn[disabled]:hover {
  background: #E1E1E1;
  color:#fff;
  border-color:#E1E1E1;
  
}
.btn.static {
  min-width: 96px;
  height: 44px;
  border-radius: 8px;
  border: 1px solid #000;
  background: #FFF;
  color: #000;
  text-align: center;
  font-family: Pretendard;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}
.btn.static:hover {
  color:#000;
  background:#fff;
}

.content_wrap .btn.util_btn.type_a {
  height: 44px;
  border-radius: 23px;
  border: 1px solid #000;
  background:#fff;
  color: #000;
  text-align: center;
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: -0.42px;
}
.content_wrap .btn.util_btn.type_b {
  height: 44px;
  border-radius: 23px;
  letter-spacing: -0.42px;
}
.content_wrap .btn.util_btn.type_down {
  height: 44px;
  border-radius: 30px;
  color: #000;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  padding:0 39px 0 69px;
  background:#fff url('../images/down_icon.png') no-repeat 39px 13px;
}

input.datepicker {
  border-radius: 8px;
  border: 1px solid #CCC;
  padding-left: 16px;
  background:#FFF url('../images/calendar.png') no-repeat 87% center !important;
  color: #000;
  font-size: 15px;
  font-weight: 500;
}
.search_input {
  position:relative;
}
.search_input input {
  border-radius: 8px;
  border: 1px solid #CCC;
  padding:0 50px 0 16px;
  
  color: #000;
  font-size: 15px;
  font-weight: 500;
}
.search_input button {
  position: absolute;
  right:11px;
  top:11px;
  border: none;
  width:22px;
  height:22px;
  background:#FFF url('../images/input_search.png') no-repeat center center;
}

textarea {
  width:100%;
  border-radius: 8px;
  border: 1px solid #CCC;
  background: #FFF;
  resize: none;
  color: #000;
  font-size: 15px;
  font-weight: 500;
  padding:16px;
}


/* 체크박스 */
.chk_box { 
  display: block; 
  position: relative; 
  padding-left: 29px; 
  margin-bottom: 0; 
  cursor: pointer; 
  color: #000;
  font-size: 15px;
  font-family: Pretendard;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  -webkit-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
  line-height:21px;
  height:21px;
}

/* 기본 체크박스 숨기기 */
.chk_box input[type="checkbox"] { display: none; }

/* 선택되지 않은 체크박스 스타일 꾸미기 */
.chk_box .on { 
width: 21px; 
height: 21px; 
background: #fff; 
position: absolute; 
top: 0; 
left: 0; 
border-radius: 4px;
border: 2px solid #CCC;
}

/* 선택된 체크박스 스타일 꾸미기 */
.chk_box input[type="checkbox"]:checked + .on { background: #fff url('../images/check_checked.png') no-repeat center center; }

/* 라디오*/
.radio_box { 
  display: block; 
  position: relative; 
  padding-left: 33px; 
  cursor: pointer; 
  color: #000;
  font-family: Pretendard;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  -webkit-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
  line-height:21px;
}

/* 기본 라디오 숨기기 */
.radio_box input[type="radio"] { display: none; }

/* 선택되지 않은 라디오 스타일 꾸미기 */
.radio_box .on { 
width: 21px; 
height: 21px; 
background: #fff; 
position: absolute; 
top: 0; 
left: 0; 
border-radius: 21px;
border: 2px solid #CCC;
}

/* 선택된 라디오 스타일 꾸미기 */
.radio_box input[type="radio"]:checked + .on { background: #fff url('../images/radio_select.png') no-repeat center center; }




.blind {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: polygon(0 0, 0 0, 0 0);
}

/**********************************************************
                      fixed top menu
************************************************************/



.menu_top .Tabs {
  position: relative;
  background-color: transparent;
  }

.menu_top .Tabs {
    height:85px;
    position: relative;
    width: calc(100% - 40%);
    margin-bottom:0;
  }
.menu_top .Tabs__tab {
    float: left;
    text-align: left;
  }

  .menu_top .Tabs__tab:first-child.active ~ .Tabs__presentation-slider {
        transform: translateX(0) scaleX(1);
      }

  .menu_top .Tabs__tab:nth-child(2).active ~ .Tabs__presentation-slider {
        transform: translateX(160px) scaleX(1);
      }

  .menu_top .Tabs__tab:nth-child(3).active ~ .Tabs__presentation-slider {
        transform: translateX(calc(160px * 2)) scaleX(1.4);
      }
  .menu_top .Tabs__tab:nth-child(4).active ~ .Tabs__presentation-slider {
        transform: translateX(calc(160px * 3)) scaleX(1);
      }
  .menu_top .Tabs__tab:nth-child(5).active ~ .Tabs__presentation-slider {
        transform: translateX(calc(160px * 4)) scaleX(1);
      }
  .menu_top .Tabs__tab:nth-child(6).active ~ .Tabs__presentation-slider {
        transform: translateX(calc(160px * 5)) scaleX(1);
      }

  .menu_top .Tabs__presentation-slider {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 55px;
      height: 3px;
      background-color: #fff;
      transform-origin: 0 0;
      transition: transform .25s;
    }

  .login_wrap .menu_top .Tabs__presentation-slider {
    width:88px;
  }
  .menu_top .Tabs__tab:first-child.active ~ .Tabs__presentation-slider {
    transform: translateX(0) scaleX(1);
  }
  .login_wrap .menu_top .Tabs__tab:nth-child(2).active ~ .Tabs__presentation-slider {
    transform: translateX(183px) scaleX(1.1);
  }

  .login_wrap .menu_top .Tabs__tab:nth-child(3).active ~ .Tabs__presentation-slider {
    transform: translateX(calc(183px * 2)) scaleX(0.8);
  }


  .sub_cont .menu_top .Tabs__presentation-slider {
    width:88px;
  }
  .sub_cont .Tabs__tab:first-child.active ~ .Tabs__presentation-slider {
    transform: translateX(0) scaleX(1);
  }
  .sub_cont .menu_top .Tabs__tab:nth-child(2).active ~ .Tabs__presentation-slider {
    transform: translateX(183px) scaleX(1.1);
  }

  .sub_cont .menu_top .Tabs__tab:nth-child(3).active ~ .Tabs__presentation-slider {
    transform: translateX(calc(183px * 2)) scaleX(0.8);
  }

  .menu_top .Tab > a {
      display: block;
      text-decoration: none;
      color: #fff;
      font-style: normal;
      font-weight: 700;
      font-size: 17px;
      transition: color .15s;
    }
  .menu_top .Tab.active > a {
        color: #fff;
      }
/* 
  .menu_top .Tab:hover > a {
        color: #fff; 
      }*/

  /* .dimd {
    display:none;
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    background: rgba(0, 0, 0, 0.47);
    z-index:2;
  }
  .drap .dimd {
    display:block;
  } */
/**********************************************************
                         fullpage
************************************************************/

  .main_contents #fullpage {
    width:100%;
    height:100%;
  }
  
  
  .main_contents .section {
    font-size: 20px; 
    text-align:left; 
  }
 
  
  .main_contents .swiper-container {
    width: 100%;
    height: 100%;
  }
    .main_contents .swiper-container2 {
    width: 100%;
    height: 452px;
  }
  .main_contents .swiper-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;  
  }
  
  .main_contents .swiper-progress-bar {
    position:relative;
    top:15px;
    width: 352px;
    display: block;
    height: 2px;
  }
  .main_contents .swiper-progress-bar .slide_progress-bar {
      position: absolute;
      height: 2px;
      background: rgba(255, 255, 255, 0.27);
      width: auto;
      clear: both;
      opacity: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index:10;
  }
  .main_contents .swiper-progress-bar .slide_progress-bar:after {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    height: 100%;
    width: 0;
    content: "";
    transition: 0.1s width linear;
    z-index:10;
  }
  .main_contents .swiper-progress-bar.active .slide_progress-bar{
    opacity: 1;
  }

  .main_contents .swiper-progress-bar.animate  .slide_progress-bar:after {
    transition: width linear;
    transition-delay: unset;
    width: 100%;
    transition-duration: 5s;
  }
  .main_contents .swiper-button-play, .main_contents .swiper-button-pause {
    position:absolute;
    bottom:0;
    z-index: 10;
    width:31px;
    height:31px;
    cursor:pointer;
    
  }
  .main_contents .swiper-button-play {
    left:500px;
  }
  .main_contents .swiper-button-pause {
    left:500px;
  }
    
  .main_contents .sec1 .swiper-pagination-fraction, .main_contents .sec1 .swiper-pagination-custom, .sec1 .swiper-horizontal > .swiper-pagination-bullets, .sec1 .swiper-pagination-bullets.swiper-pagination-horizontal {
    left:400px;
    bottom:5px;
    display:inline-block;
    width:60px;
    font-size:15px;
    color:#fff;
  }


  /* datepicker */

  input.datepicker {
    padding-left:16px;
    background:url('../images/calendar.png') no-repeat 95% center !important;
    color: #000;
    font-size: 15px;
    font-weight: 500;
  }

  .content_body .datepicker.datepicker-dropdown {
    padding:14px 32px;
    border-radius: 14px;
    background: #FFF;
    box-shadow: 0px 6px 20px 0px rgba(0, 0, 0, 0.12);
  }
  .content_body .datepicker::before, .content_body .datepicker::after {
    display:none;
  }
  .content_body .datepicker thead tr:first-child th, .datepicker tfoot tr th {
    vertical-align: middle;
  }
  .content_body .datepicker .datepicker-switch {
    color: #000;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
  }
  .content_body .datepicker thead tr:first-child th.next {
    width:34px;
    height:34px;
    border-radius:34px;
    font-size:0;
    background: url('../images/date_arrow_o.png') no-repeat center center;
  }
  .content_body .datepicker thead tr:first-child th.prev {
    width:34px;
    height:34px;
    border-radius:34px;
    font-size:0;
    background: url('../images/date_arrow_o.png') no-repeat center center;
    transform: rotate(180deg);
  }
  .content_body .datepicker thead tr th:first-child, .content_body .datepicker tbody tr td:first-child {
    color:#D13125;
  }
  .content_body .datepicker thead tr th {
    padding:10px;
    color: #818181;
    text-align: center;
    font-size: 14px;
    font-family: Pretendard;
    font-weight: 700;
  }
  .content_body .datepicker tbody tr td {
    padding:10px;
    color: #000;
    text-align: center;
    font-size: 15px;
    font-family: Pretendard;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    width:27px;
    height:27px;
    border-radius:27px;
  }
  .content_body .datepicker tbody tr td.today {
    background:#000;
    color:#fff;
  }
  .content_body .datepicker tbody tr td.old.day,.content_body .datepicker tbody tr td.new.day {
    opacity: 0.3;
  }
  .content_body .datepicker tbody tr td.disabled {
    opacity: 0.3;
  }
  .content_body .datepicker thead tr th.dow {
    position:relative;
    padding-top:34px;
  }
  .content_body .datepicker thead tr th.dow::before {
    position:absolute;
    top:13px;
    content:"";
    display:block;
    width:100%;
    height:1px;
    background:#ccc;
  }
  
  .wrap {
    position:relative;
  }
  
  /*  layer pop */
  .layer_pop {
    display:none;
    position:fixed;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width: 1200px;
    padding:40px 0px;
    height: 80%;
    border-radius: 24px;
    background: #FFF;
    z-index:10000;
  }
  .dimd {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0, 0, 0, 0.42);
    z-index:99;
  }
  body.pop_on {
    overflow:hidden;
  }
  
  .layer_pop.small {
    width:620px;
    height:auto;
  }
  .layer_pop.small.type1 .pop_body {
    padding-top:0;
  }
  .layer_pop.medium {
    width:820px;
    height:80%;
  }
  
  .layer_pop.large {
    width:1000px;
    height:80%;
  }

  .layer_pop .pop_header {
    overflow:hidden;
    padding-bottom:20px;
    margin:0 50px;
    border-bottom:1px solid #000;
  }
  .layer_pop .pop_header h1{
    float:left;
    color: #000;
    font-size: 27px;
    font-style: normal;
    font-weight: 800;
  }
  .layer_pop .pop_header button.layer_close{
    width:20px;
    height:20px;
    float:right;
    border:none;
    background:url('../images/pop_close_btn.png') no-repeat center center;
    /* margin-top:25px;*/
  }

  .pop_body {
    padding:30px 50px 0;
    height:calc(100% - 50px);
    overflow-y: auto;
  }

.layer_pop .pop_body .check_search_input {
	position:relative;
	margin-bottom: 30px;
}

  .layer_pop .pop_body .check_search_input input {
	border-radius: 8px;
	border: 1px solid #CCC;
	padding:0 50px 0 16px;
	height: 44px;
	color: #000;
	font-size: 15px;
	font-weight: 500;
}

  .layer_pop .pop_body .check_search_input button{
	position: absolute;
	right:11px;
	top:11px;
	border: none;
	width:22px;
	height:22px;
	background:#FFF url('../images/input_search.png') no-repeat center center;
}