@charset "utf-8";

/* font */
@import url(../css/font.css);

/*** reset ***/
html {
  -webkit-text-size-adjust: none;
  overflow-y: scroll;
}

html,
body,
div,
ul,
ol,
li,
dl,
dt,
dd,
p,
strong,
span,
em,
a,
table,
th,
td,
caption,
input,
button,
textarea,
label,
form,
legend,
fieldset,
select,
hr,
h1,
h2,
h3,
h4,
h5,
h6,
img {
  padding: 0;
  margin: 0;
  border: 0;
  color: inherit;
  background: none;
  line-height: inherit;
  font-size: inherit;
  font-family: inherit;
}

html,
body {
  height: 100%;
  min-height: 100%;
  background: #fff;
  font-size: 16px;
  color: #222;
  color: rgba(0, 0, 0, 0.9);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.5;
  font-family: "NotoSansKR", "HelveticaNeue-Light", "Apple SD Gothic Neo",
    "Malgun Gothic", "맑은 고딕", sans-serif !important;
}

body {
  display: flex;
  flex-direction: column;
}

#container {
  flex: 1;
}

header,
footer,
nav {
  display: block;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  vertical-align: middle;
}

input {
  -webkit-appearance: none;
  border-radius: 0;
  color: #353535;
}

input,
button,
select {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

select,
button {
  cursor: pointer;
  border-radius: 4px;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
}

em {
  font-style: normal;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #999;
  font-weight: 400;
  letter-spacing: -0.06em;
}

:-moz-placeholder {
  color: #999;
  font-weight: 400;
  letter-spacing: -0.06em;
}

::-moz-placeholder {
  color: #999;
  font-weight: 400;
}

:-ms-input-placeholder {
  color: #999 !important;
  font-weight: 400 !important;
  letter-spacing: -0.06em;
}

::-ms-input-placeholder {
  color: #999 !important;
  font-weight: 400;
  letter-spacing: -0.06em;
}

::placeholder {
  color: #999;
  font-weight: 400;
  letter-spacing: -0.06em;
}

/*** common ***/
body.dimm {}

body.dimm::after {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
  content: "";
}

.wfix {
  width: 1200px;
  margin: 0 auto;
}

.hidetxt {
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.blind {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0.1;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.ovf {
  overflow: hidden;
}

.w100 {
  width: 100%;
}

.w50 {
  width: 50%;
}

.after:after {
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
  clear: both;
  content: "";
}

.bg_emph {
  background: #f18903;
}

.wbox {
  background: #fff;
}

.emph {
  color: #f18903;
}

.tac {
  text-align: center !important;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.fwb {
  font-weight: bold;
  font-weight: 600;
}

.lts0,
.num,
.datetime {
  letter-spacing: 0;
}

.block {
  display: block;
}

.ib {
  display: inline-block;
}

.gray {
  background: #f5f5f5;
}

.ellip {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ellip2 {
  overflow: hidden;
  text-overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.warning {
  color: #f20000;
}

.t_blue {
  color: #0022ff;
}

.thumb {
  position: relative;
  overflow: hidden;
}

.thumb::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  content: "";
}

.thumb .fitsize {
  max-width: none;
}

.link_deco:hover {
  text-decoration: underline;
  font-weight: 400;
  color: #000;
}

.underline {
  text-decoration: underline;
}

.ui_mo {
  display: none;
}

.btn,
.btn_emph,
.btn_dark,
.btn_emphline,
.btn_sch,
.btn_gray,
.btn_red,
.btn_brown {
  display: inline-block;
  text-align: center;
  border-radius: 4px;
}

.btn_emph {
  background: #f18903;
  color: #fff;
}

.btn_dark,
.btn_sch {
  background: #333;
  color: #fff;
}

.btn_sch {
  width: 80px;
  height: 35px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 5px;
}

.btn_sch::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 4px 2px 0 0;
  background: url(../img/ico_sch.png) 50% 50% no-repeat;
  vertical-align: top;
  content: "";
}

.btn_gray {
  background: #bebebe;
  color: #fff;
}

.btn_red {
  background: #a00;
  color: #fff;
}

.btn_brown {
  background: #a17459;
  color: #fff;
}

.btn_emphline {
  border: 1px solid #f18903;
  color: #f18903;
  background: #fff;
}

.inp {
  padding: 0 8px;
}

.slt {
  display: inline-block;
  padding: 0 34px 0 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/arw_slt1.png) right 50% no-repeat #fff;
  box-sizing: border-box;
  border: 1px solid #ccc;
  vertical-align: top;
  font-size: 14px;
}

.slt::-ms-expand {
  display: none;
}

.chk,
.chk2 {
  display: inline-block;
  float: left;
  width: 15px;
  height: 15px;
  padding: 0;
  margin: 2px 0;
  overflow: hidden;
  vertical-align: top;
  /* opacity: 0.1; */
}

.chk+label,
.chk2+label {
  display: inline-block;
  position: relative;
  padding-left: 4px;
  line-height: 19px;
  cursor: pointer;
  vertical-align: top;
}

.chk+label::before,
.chk2+label::before {
  position: absolute;
  top: 50%;
  left: -15px;
  width: 15px;
  height: 15px;
  margin-top: -8px;
  border: 1px solid #ccc;
  background: #fff;
  box-sizing: border-box;
  vertical-align: top;
  content: "";
}

.chk:checked+label::before {
  border: none;
  background: url(../img/chk1.png) 50% 50% no-repeat;
}

.chk2:checked+label::before {
  border: none;
  background: url(../img/chk2.png) 50% 50% no-repeat;
}

.chk+label.hidetxt,
.chk2+label.hidetxt {
  width: 1px;
  height: 19px;
  padding: 0;
  line-height: 0;
}

.chk[type="radio"]+label::before,
.chk2[type="radio"]+label::before {
  border-radius: 100%;
}

table .chk,
table .chk2 {
  float: none;
}

table .chk,
table .chk2,
table .chk+label,
table .chk2+label {
  vertical-align: inherit;
}

.tit_comm {
  position: relative;
  padding-bottom: 10px;
  border-bottom: 2px solid #333;
  font-size: 22px;
  font-weight: bold;
  color: #333;
}

.tit_comm .locate {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -9px;
}

.tit_comm .locate li {
  display: inline-block;
  font-size: 13px;
  font-weight: 400;
  vertical-align: top;
  line-height: 18px;
}

.tit_comm .locate li+li::before {
  display: inline-block;
  width: 20px;
  vertical-align: top;
  text-align: center;
  content: ">";
}

.tit_comm+.desc {
  position: relative;
  margin: 24px 0 32px;
  font-size: 15px;
  color: #898989;
  line-height: 25px;
}

.tit_comm+.desc>.slt {
  position: absolute;
  top: 0;
  right: 0;
  border: 1px solid #333;
  height: 35px;
  font-size: 12px;
  color: #333;
  font-family: "돋움", "dotum";
  letter-spacing: -0.02em;
}

.break {
  word-break: break-all;
}

.pre-line {
  white-space: pre-line;
}

/* 컨테이너(네 fragment) */
.fixed_btn_wrap {
  position: relative;
  /* sticky 기준 컨테이너 */
  min-height: 100px;
  padding-top: 20px;
}

/* 공통 비주얼 */
.fixed_btn {
  z-index: 9999;
  width: 150px;
  display: flex;
  gap: 0 10px;
  padding: 14px 17px;
  border: 1px solid #ff7b2e;
  border-radius: 65px;
  background: #fff;
  box-shadow: 0 2px 4px 0 #00000040;
}

.fixed_btn i {
  width: 22px;
  height: 22px;
  display: block;
}

.fixed_btn button {
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  color: #ff7b2e;
}

/* ① fragment가 보일 때: 자기 위치에 붙어서 따라감 */
.fixed_btn.aicoach--sticky {
  position: sticky;
  /* 화면 하단에 딱 붙지 않도록 24px 띄우기 */
  bottom: 24px;
  /* 데스크탑: 가운데 기준 +690px 우측 */
  left: 50%;
  transform: translateX(calc(-50% + 690px));
}

/* ② fragment가 안 보일 때: 전역 떠있음 + footer 겹침 회피 */
.fixed_btn.aicoach--fixed {
  position: fixed;
  /* JS가 --aicoach-bottom을 갱신해 footer 겹침 회피 */
  bottom: var(--aicoach-bottom, calc(16px + env(safe-area-inset-bottom, 0px)));
  left: 50%;
  transform: translateX(calc(-50% + 690px));
}

/* 반응형: 좁은 화면에선 하단 중앙 정렬 */
@media (max-width: 1540px) {

  .fixed_btn.aicoach--sticky,
  .fixed_btn.aicoach--fixed {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 1300px) {
  .wfix {
    width: auto !important;
    margin: 0 12px;
  }
}

@media (max-width: 1100px) {

  html,
  body {
    font-size: 14px;
  }

  .ui_mo {
    display: block;
  }

  .tit_comm {
    padding-bottom: 5px;
    font-size: 20px;
  }

  .tit_comm+.desc {
    margin: 18px 0 22px;
    font-size: 14px;
    word-break: keep-all;
    line-height: 1.3;
  }

  .tit_comm+.desc p {
    padding-right: 120px;
  }
}

@media (max-width: 500px) {
  .tit_comm+.desc p {
    padding: 0;
  }

  .tit_comm+.desc p+.slt {
    display: block;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 10px;
    width: 100%;
  }

  .tit_comm .locate {
    position: relative;
    top: auto;
    margin: 3px 0 0;
    height: auto;
    line-height: 1.3;
    overflow: hidden;
  }

  .tit_comm .locate li {
    float: left;
    line-height: 1.3;
    height: 18px;
  }
}

/*** layout ***/
body {
  min-width: 1200px;
}

/* 
#header {
  position: relative;
  background: #fff;
}

#header .wfix {
  height: 80px;
}


#header #top {
  padding-top: 10px;
  text-align: right;
  font-size: 0;
}

#header #top .greet {
  display: inline-block;
  font-size: 13px;
  vertical-align: top;
  color: #777;
  line-height: 23px;
}

#header #top .greet b {
  color: #000;
}

#header #top ul {
  display: inline-block;
  vertical-align: top;
}

#header #top li {
  display: inline-block;
  margin-left: 6px;
  vertical-align: top;
}

#header #top a {
  line-height: 23px;
  padding: 0 8px;
  border-radius: 21px;
  font-size: 12px;
}

#header #gnb {
  padding-top: 10px;
  text-align: center;
}

#header .header_wrapper {
  display: flex;

}

@media (min-width:1100px) {
  #header .header_wrapper {
    margin-top: 28px;
  }
}

#header #gnb>ul {
  display: inline-block;
  font-size: 0;
  vertical-align: top;
}

#header #gnb>ul>li {
  display: inline-block;
  vertical-align: top;
}

#header #gnb a {
  display: block;
  text-align: center;
}

#header #gnb .d1 {
  position: relative;
  padding: 0 24px;
  font-size: 17px;
  color: #333;
  transition: 0.2s;
}

#header #gnb .d2 a {
  height: 23px;
}

#header #gnb .d1:first-child .d2:nth-child(2) a {
  height: 36px;
}

#header #gnb .d1:nth-child(2) {
  width: 92px;
}

#header #gnb .d1>a {
  padding: 0 4px;
  padding-bottom: 26px;
  border-bottom: 5px solid #fff;
  line-height: 25px;
}

#header #gnb .d1 ul {
  position: absolute;
  left: 0;
  z-index: 10;
} */

/* #header #gnb .d1:hover > a {border-color:#f18903; font-weight:bold;}
#header #gnb .d2:hover a {border-bottom:1px solid #fff; font-weight:bold} */

/* 데스크톱 드롭다운 메뉴 제어 */
@media (min-width: 1024px) {

  /* header 위치 설정 */
  #header {
    position: relative;
  }

  /* dropdown-panel - 흰색 배경 역할 (기본 숨김) */
  #dropdown-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none !important;
    min-height: 200px;
    /* 최소 높이 설정 */
    background-color: #ffffff;
    /* 확실한 흰색 배경 */
    z-index: 999;
  }

  /* header 내부 gnb 영역 hover 시 dropdown-panel 배경 표시 */
  #header:hover:not(.nav-disabled) #dropdown-panel {
    display: block !important;
    visibility: visible !important;
  }

  /* desktop-submenu 기본 숨김 */
  .desktop-submenu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
  }

  /* header 내부 gnb 영역 hover 시 모든 desktop-submenu 표시 */
  #header:hover:not(.nav-disabled) .desktop-submenu {
    display: block !important;
  }

  /* 메인 메뉴 정렬 */
  #main-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
  }

  #main-menu>.d1 {
    flex: 0 0 auto;
    position: relative;
  }

  #main-menu>.d1>a {
    padding-left: 0.5rem;
    /* px-2 */
    padding-right: 1.5rem;
  }
}

/* desktop 화면 (1200px 이상) */
@media (min-width: 1200px) {
  #main-menu>.d1>a {
    padding-left: 1.5rem;
    /* desktop:px-6 */
    padding-right: 2.5rem;
  }
}

/* wide 화면 (1280px 이상) */
@media (min-width: 1280px) {
  #main-menu>.d1>a {
    padding-left: 2.5rem;
    /* wide:px-10 */
    padding-right: 4.5rem;
  }
}

#footer {
  padding: 30px 0;
  background: #606060;
  position: relative;
  bottom: 0px;
  width: 100%;
}

#footer .wfix {
  position: relative;
}

#footer .logo {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -24px;
  opacity: 0.1;
}

#footer .info_foot {
  padding-left: 280px;
  color: #fff;
  font-size: 0;
  letter-spacing: -0.02em;
  font-weight: 400;
}

#footer .info_foot .links {
  margin-bottom: 8px;
}

#footer .info_foot .links a {
  display: inline-block;
  font-size: 12px;
  vertical-align: top;
  line-height: 20px;
}

#footer .info_foot .links a+a::before {
  display: inline-block;
  width: 1px;
  height: 12px;
  margin: 5px 10px 0 10px;
  background: #fff;
  vertical-align: top;
  content: "";
}

#footer .info_foot dl {
  display: inline-block;
  font-size: 12px;
  vertical-align: top;
}

#footer .info_foot dt,
#footer .info_foot dd {
  display: inline-block;
  vertical-align: top;
}

#footer .info_foot dd {
  margin-right: 8px;
}

#footer .info_foot .copyright {
  font-size: 12px;
}

@media (max-width: 1300px) {
  body {
    min-width: 0;
  }

  /* #header #gnb .d1 {
    padding: 0 12px;
  } */

  #footer {
    position: relative;
  }

  #footer .logo {
    width: 180px;
    margin-top: -19px;
  }

  #footer .info_foot {
    padding-left: 220px;
  }
}

/* 
@media (min-width: 1100px) {
  #header #gnb .d1:hover>a {
    border-color: #f18903;
    font-weight: bold;
  }

  #header #gnb .d2:hover a {
    border-bottom: 1px solid #fff;
    font-weight: bold;
  }
} */
/* 
@media (max-width: 1100px) {
  #header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }

  #header .wfix {
    height: auto;
    padding: 12px 0;
    text-align: center;
  }

  #header h1 {
    float: none;
    display: inline-block;
    width: 160px;
    margin: 0 auto;
    vertical-align: top;
  }

  #header #top {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 0;
  }

  #header #top .greet {
    display: none;
  }

  #header #top .btn_emph {
    background: url(../img/ico_my.png) 50% 50% no-repeat;
    background-size: 100%;
    font-size: 0;
    width: 26px;
    height: 26px;
    border: 1px solid #555;
    border-radius: 100%;
    padding: 0;
  }

  #header #top .btn_dark {
    display: none;
  } */

.open_menu {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 20px;
  height: 18px;
  margin-top: -9px;
  box-sizing: border-box;
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  font-size: 0;
  line-height: 0;
  border-radius: 0;
}

.open_menu::after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: #333;
  content: "";
}


/* #header #gnb {
    display: none;
    position: fixed;
    width: 400px;
    background: #fff;
    transition: 0.2s;
    z-index: 9999;
    padding: 0;
    text-align: left;
    overflow-y: auto;
  }

  #header #gnb .close_menu {
    position: absolute;
    top: 12px;
    left: 360px;
    width: 30px;
    height: 30px;
    border: none;
    background: url(../img/close_menu.png) 50% 50% no-repeat;
    background-size: 22px;
    z-index: 9999;
    font-size: 0;
  }

  #header #gnb a,
  #header #gnb .d1 ul {
    text-align: left;
  }

  #header #gnb>ul {
    display: block;
  }

  #header #gnb>ul>.d1 {
    display: block;
    width: auto !important;
    padding: 12px 10px;
    font-size: 18px;
  }

  #header #gnb .d1>a {
    padding: 0;
    border-bottom: none;
    font-weight: bold;
  }

  #header #gnb .d1>a::before {
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 2px;
    vertical-align: top;
    background: url(../img/ico_gnb.png) 0 0 no-repeat;
    background-size: auto 25px;
    content: "";
  }

  #header #gnb .d1>a.m1::before {
    background-position: 0 0;
  }

  #header #gnb .d1>a.m2::before {
    background-position: -30px 0;
  }

  #header #gnb .d1>a.m3::before {
    background-position: -60px 0;
  }

  #header #gnb .d1>a.m4::before {
    background-position: -90px 0;
  }

  #header #gnb .d1>a.m5::before {
    background-position: -123px 0;
  }

  #header #gnb .d1>a.m6::before {
    background-position: -150px 0;
  }

  #header #gnb .d1>a.m7::before {
    background-position: -209px 0;
  }

  #header #gnb .d1>a.m8::before {
    background-position: -180px 0;
  }

  #header #gnb .d1 ul {
    display: block;
    position: relative;
    font-size: 0;
    margin-top: 5px;
    border-top: 1px solid #333;
  }

  #header #gnb .d1 ul::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ddd;
    content: "";
  }

  #header #gnb .d2 {
    display: inline-block;
    width: 50%;
    font-size: 14px;
    vertical-align: top;
    color: #666;
    box-sizing: border-box;
    border-bottom: 1px solid #ddd;
  }

  #header #gnb .d2:nth-child(odd) {
    border-right: 1px solid #ddd;
  }

  #header #gnb .d2:nth-child(even) {
    padding-left: 8px;
  }

  #header #gnb .d2:only-child {
    width: 100%;
    border-right: none;
  }

  #header #gnb .d2 a {
    height: auto;
    line-height: 24px;
    padding: 6px 2px;
  }

  #header #gnb .d1:first-child .d2:nth-child(2) a {
    height: inherit;
  } */

#header.active #gnb {
  display: block;
  top: 0;
  left: 0;
  bottom: 0;
  transform: translateX(0) !important;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
  margin: 0;
}

/* 슬라이드 메뉴 내부 스타일링 */
#header.active #gnb .ui_mo.top_gnb {
  background: #eff9ff;
  padding: 20px 16px;
  border-bottom: 1px solid #e9ecef;
}

#header.active #gnb .ui_mo.top_gnb .greet {
  color: #212529;
  font-size: 15px;
  margin-bottom: 12px;
}

#header.active #gnb .ui_mo.top_gnb .greet b {
  color: #212529;
  font-weight: 600;
}

#header.active #gnb .ui_mo.top_gnb ul {
  gap: 8px;
}

#header.active #gnb .ui_mo.top_gnb ul li a {
  background: white;
  border: 1px solid #dee2e6;
  color: #495057;
  font-weight: 500;
  transition: all 0.2s ease;
}

#header.active #gnb .ui_mo.top_gnb ul li a:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}

/* 메인 메뉴 스타일링 */
#header.active #gnb #main-menu {
  padding: 0;
}

#header.active #gnb #main-menu .d1 {
  border-bottom: 1px solid #e9ecef;
}

#header.active #gnb #main-menu .d1:last-child {
  border-bottom: none;
}

#header.active #gnb #main-menu .d1>a {
  padding: 16px 20px;
  font-weight: 600;
  font-size: 15px;
  color: #212529;
  transition: background 0.2s ease;
}

#header.active #gnb #main-menu .d1>a:hover {
  background: #f8f9fa;
}

/* 서브메뉴 스타일링 - 항상 열려있음 */
#header.active #gnb #main-menu .d1 ul {
  display: block !important;
  background: #fafbfc;
  padding: 0;
  margin: 0;
}

/* 모바일 메뉴 슬라이드 애니메이션 */
@media (min-width: 1024px) {

  /* 데스크톱에서 .active 상태 무효화 */
  #header.active #gnb {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    margin: 0 2rem !important;
  }


}

#header.active #gnb #main-menu .d1 ul li {
  border-top: 1px solid #f1f3f5;
}

#header.active #gnb #main-menu .d1 ul li:first-child {
  border-top: none;
}

#header.active #gnb #main-menu .d1 ul li a {
  padding: 12px 20px 12px 40px;
  font-size: 14px;
  color: #495057;
  font-weight: 400;
  transition: all 0.2s ease;
  position: relative;
}

#header.active #gnb #main-menu .d1 ul li a:before {
  content: "•";
  position: absolute;
  left: 24px;
  color: #adb5bd;
}

#header.active #gnb #main-menu .d1 ul li a:hover {
  background: #f1f3f5;
  color: #212529;
}

/* 닫기 버튼 스타일링 */
#header.active #gnb button[onclick="toggleHeaderMenu()"] {
  background: white;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

#header.active #gnb button[onclick="toggleHeaderMenu()"]:hover {
  background: #f8f9fa;
  transform: rotate(90deg);
}

#header.active #gnb .top_gnb {
  padding: 12px 10px;
  background: #333;
  text-align: left;
  color: #fff;
}

#header.active #gnb .top_gnb a {
  line-height: 30px;
  border-radius: 0;
  text-align: center;
}

#header.active #gnb .top_gnb ul {
  display: block;
  margin-top: 12px;
}

#header.active #gnb .top_gnb li {
  display: inline-block;
  vertical-align: top;
}

#header.active #gnb .top_gnb li a {
  min-width: 140px;
}

#footer {
  padding: 20px 0;
}

#footer .logo {
  display: block;
  position: relative;
  top: auto;
  left: auto;
  margin: 0 auto;
  opacity: 0.2;
}

#footer .info_foot {
  margin-top: 12px;
  padding: 0;
  text-align: center;
}

#footer .info_foot .copyright {
  margin-top: 8px;
}

/* } */


@media (max-width: 450px) {
  #header.active #gnb {
    width: 100%;
  }

  #header #gnb .close_menu {
    left: auto;
    right: 12px;
  }

  #header.active #gnb .top_gnb ul {
    display: flex;
    width: 100%;
  }

  #header.active #gnb .top_gnb li {
    flex-grow: 1;
  }
}

/* layer */
.wrap_layer {
  z-index: 9999;
}

.layer {
  position: fixed;
  top: 50%;
  left: 50%;
  background: #fff;
  box-sizing: border-box;
  z-index: 9999;
}

.layer .cont {
  overflow-y: auto;
}

.wrap_layer.under {
  display: none;
}

.alerts .alert {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 450px;
  padding: 30px 0;
  margin: -115px 0 0 -225px;
  border: 1px solid #e4e4e4;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.14);
  text-align: center;
  font-size: 16px;
  line-height: 25px;
  background: #fff;
  box-sizing: border-box;
  z-index: 9999;
}

.alerts .alert.hdlayer {
  padding: 0;
}

.alerts .alert button {
  display: inline-block;
  width: 130px;
  height: 35px;
  font-size: 16px;
  margin: 0 2px;
  font-weight: bold;
}

.alerts .alert span {
  display: block;
  margin: 10px 0 28px;
  color: #777;
}

.alerts .alert p+button {
  margin-top: 28px;
}

.alerts .alert.confirm {
  padding: 60px 0;
}

.alerts .alert.confirm p {
  margin-bottom: 40px;
  font-size: 20px;
}

.alerts .hdlayer {
  padding-top: 0;
  border: none;
}

.hdlayer .hd_layer {
  position: relative;
  background: #3B8CC5;
  padding: 0 20px;
}

.hdlayer .hd_layer .tit {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 50px;
}

.hdlayer .hd_layer .close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: url(../img/close.png) 50% 50% no-repeat;
}

.hdlayer .cont {
  padding: 40px 50px 0;
}

.hdlayer .cont::after {
  display: block;
  height: 40px;
  content: "";
}

.hdlayer .cont .wrap_tbl {
  margin: 0;
}

.hdlayer .item+.item {
  margin-top: 40px;
}

.hdlayer .cont .tit {
  display: block;
  font-size: 18px;
  margin-bottom: 10px;
}

.hd_line {
  position: relative;
  text-align: center;
}

.hd_line::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
  z-index: 8;
  content: "";
}

.hd_line .tit {
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding: 0 18px;
  background: #fff;
  z-index: 9;
}


#layerFind .tit_comm {
  padding-bottom: 4px;
  font-size: 20px;
}

#layerFind dl {
  border-bottom: 1px solid #e6e6e6;
}

#layerFind dt,
#layerFind dd {
  display: inline-block;
  padding: 7px 6px;
  vertical-align: top;
}

#layerFind dt {
  width: 50px;
  line-height: 40px;
}

#layerFind dd .inp {
  width: 250px;
  height: 40px;
  background: #f0f0f0;
}

#layerFind p {
  margin-top: 12px;
  font-size: 14px;
}

#layerFind .wrap_btn {
  margin-top: 16px;
  text-align: right;
  font-size: 0;
}

#layerFind .wrap_btn * {
  display: inline-block;
  width: 70px;
  line-height: 40px;
  margin-left: 5px;
  font-size: 13px;
}

@media (max-width: 1300px) {
  .layer {
    width: 100% !important;
    top: 0 !important;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0 !important;
  }

  .layer .cont {
    padding: 14px !important;
    box-sizing: border-box;
  }

  .hdlayer .hd_layer {
    padding: 0 14px;
  }

  .hdlayer .hd_layer .tit {
    font-size: 16px;
    line-height: 46px;
  }

  .hdlayer .hd_layer .close {
    width: 46px;
    height: 46px;
  }

  .hdlayer .item+.item {
    margin-top: 30px;
  }

  .hdlayer .cont .tit {
    font-size: 16px;
  }

  .hdlayer .cont::after {
    height: 14px;
  }

  #layerFind {
    padding: 20px 14px;
  }

  #layerFind .cont {
    padding: 10px 0 !important;
  }

  #layerFind dt,
  #layerFind dd {
    display: block;
    padding: 4px;
    width: auto;
  }

  #layerFind dt {
    float: left;
    width: 60px;
  }

  #layerFind dd {
    overflow: hidden;
  }

  #layerFind .wrap_btn {
    text-align: center;
  }

  #layerFind .wrap_btn * {
    margin: 0 2px;
  }
}

@media (max-width: 720px) {
  .alerts .alert {
    width: calc(100% - 20px) !important;
  }
}

/* table */
.wrap_tbl {
  margin-top: 15px;
  border-top: 1px solid #333;
}

.tbl {
  border-bottom: 1px solid #aaa;
}

.tbl th,
.tbl td {
  text-align: center;
}

.tbl th+th,
.tbl td+td {
  border-left: 1px solid #dcdcdc;
}

.tbl th {
  background: #eee;
  font-weight: 400;
}

.tbl td {
  border-top: 1px solid #dcdcdc;
}

.tbl tbody th+td,
.tbl tbody th+th,
.tbl tbody td+th {
  border-left: 1px solid #dcdcdc;
}

.tbl tbody th+td {
  text-align: left;
  padding: 0 10px;
}

.tbl tbody tr:first-child th,
.tbl tbody tr:first-child td,
.tbl tr.first th,
.tbl tr.first td {
  border-top: 1px solid #999;
}

.tbl2 th,
.tbl2 td {
  height: 32px;
  font-size: 15px;
  border: 1px solid #fff;
  font-weight: 400;
}

.tbl2 th {
  background: #66737c;
  color: #fff;
}

.tbl2 td {
  background: #eee;
}

.tbl3 th,
.tbl3 td {
  height: 34px;
  font-size: 15px;
}

.tbl3 th {
  background: #454545;
  color: #fff;
  font-weight: 400;
}

.tbl3 td {
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #dcdcdc;
}

th.must::before {
  display: inline;
  color: #f20000;
  content: "*";
}

.tbl_emph th,
.tbl_emph td {
  border: 1px solid #fff;
  padding: 5px 12px;
}

.tbl_emph thead th {
  background: #f18903;
  color: #fff;
}

.tbl_emph tbody th,
.tbl_emph tbody td {
  background: #fce9cd;
}

.tbl_div .tr {
  display: table;
  width: 100%;
}

.tbl_div .th,
.tbl_div .td {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
}

.tbl_div .th {
  background: #f1f1f1;
}

.tbl_div .td {
  padding: 0 8px;
}

.tbl_div .td .lab {
  display: none;
}

.tbl_div.tbl_comm {
  margin-top: 15px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #aaa;
}

.tbl_div.tbl_comm .th,
.tbl_div.tbl_comm .td {
  height: 40px;
  font-size: 14px;
}

.tbl_div.tbl_comm .thead .th,
.tbl_div.tbl_comm .thead .td {
  position: relative;
}

.tbl_div.tbl_comm .thead .th+.th::before,
.tbl_div.tbl_comm .thead .td+.td::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 24px;
  background: #ccc;
  margin-top: -12px;
  content: "";
}

.tbl_div.tbl_comm .tbody .th+.th,
.tbl_div.tbl_comm .tbody .td+.td {
  border-left: 1px solid #dcdcdc;
}

.tbl_div.tbl_comm .th {
  font-size: 15px;
  font-weight: 400;
  color: #000;
}

.tbl_div.tbl_comm .thead {
  border-bottom: 1px solid #999;
}

.tbl_div.tbl_comm .tbody .tr+.tr {
  border-top: 1px solid #dcdcdc;
}

.tbl_div .tbody.gr>.tr+.tr {
  border-top: 1px solid #999;
}

.tbl_div .tbody.gr .td {
  padding: 0;
}

.tbl_div .th .must {
  color: red;
}

.wrap_tbl .tbl td .lab {
  display: none;
}

@media (max-width: 1000px) {
  .wrap_tbl {
    overflow-x: auto;
    margin-top: 10px;
  }

  .tbl,
  .tbl tbody,
  .tbl tr,
  .tbl th,
  .tbl td {
    display: block;
  }

  .tbl thead {
    display: none;
  }

  .tbl tr {
    position: relative;
    box-sizing: border-box;
  }

  .tbl_div.tbl_comm {
    margin-top: 5px;
  }

  .tbl_div .thead {
    display: none;
  }

  .tbl_div .tr {
    position: relative;
    box-sizing: border-box;
  }

  .tbl_div.tbl_comm .th,
  .tbl_div.tbl_comm .td {
    height: auto;
    padding: 0;
  }

  .tbl_div .td .lab,
  .wrap_tbl .tbl td .lab {
    display: inline-block;
    font-size: 12px;
    color: #777;
    line-height: 20px;
    margin-right: 4px;
    padding: 0 4px;
    border: 1px solid #ccc;
    border-radius: 20px;
  }

  .tbl_div.tbl_comm .tbody .th+.th,
  .tbl_div.tbl_comm .tbody .td+.td {
    border-left: none;
  }
}

/* paging */
.paging {
  margin-top: 50px;
  text-align: center;
  font-size: 0;
}

.paging * {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

.paging ul {
  padding: 0 22px;
}

.paging li+li {
  margin-left: 10px;
}

.paging a {
  width: 34px;
  height: 34px;
  line-height: 32px;
  font-size: 16px;
  color: #666;
  letter-spacing: 0;
}

.paging ul a {
  border: 1px solid transparent;
}

.paging>a {
  font-size: 0;
  line-height: 0;
}

.paging .on {
  border: 1px solid #f18903;
  color: #f18903;
  border-radius: 4px;
}

.paging .prev {
  background: url(../img/paging_prev.png) 50% 50% no-repeat;
}

.paging .next {
  background: url(../img/paging_next.png) 50% 50% no-repeat;
}

.paging .first {
  background: url(../img/paging_first.png) 50% 50% no-repeat;
}

.paging .last {
  background: url(../img/paging_last.png) 50% 50% no-repeat;
}

@media (max-width: 1000px) {
  .paging {
    margin-top: 20px;
  }
}

@media (max-width: 500px) {

  .paging .first,
  .paging .last {
    display: none;
  }

  .paging ul {
    padding: 0 16px;
  }

  .paging li+li {
    margin-left: 6px;
  }

  .paging li a {
    font-size: 14px;
  }
}

/* tab */
.tab_comm {
  overflow: hidden;
}

.tab_comm li {
  float: left;
}

.tab_comm li a {
  display: block;
  text-align: center;
  font-size: 18px;
  line-height: 48px;
  border: 1px solid #dcdcdc;
  background: #f6f6f6;
  color: #858585;
}

.tab_comm li+li a {
  border-left: none;
}

.tab_comm li.on a {}

.tab_comm li.on a {
  background: #fff;
  color: #222;
  border-bottom-color: #fff;
}

.tab_comm2 {
  overflow: hidden;
}

.tab_comm2 li {
  float: left;
}

.tab_comm2 li a {
  display: block;
  text-align: center;
  font-size: 18px;
  line-height: 48px;
  border: 1px solid #dcdcdc;
  background: #f6f6f6;
  color: #858585;
}

.tab_comm2 li+li a {
  border-left: none;
}

.tab_comm2 li.on a {}

.tab_comm2 li.on a {
  background: #fff;
  color: #222;
  border-bottom-color: #fff;
}

/* tbl_dl */
.tbl_dl .dl_comm {
  display: table;
  width: 100%;
}

.tbl_dl .dl_comm dt,
.tbl_dl .dl_comm dd {
  display: table-cell;
  vertical-align: middle;
}

.tbl_dl .dl_comm dt.must::before {
  display: inline-block;
  vertical-align: top;
  color: #f18903;
  font-size: 15px;
  content: "*";
}

.tbl_dl.double::after {
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
  clear: both;
  content: "";
}

.tbl_dl.double .dl_comm {
  float: left;
  width: 50%;
}

@media (max-width: 1000px) {
  .tbl_dl.double .dl_comm {
    float: none;
    width: 100%;
  }

  .tbl_dl .dl_comm dt {
    font-size: 14px;
  }

  .tab_comm li a {
    line-height: 36px;
    font-size: 15px;
  }

  .tab_comm2 li a {
    line-height: 36px;
    font-size: 15px;
  }
}

@media (max-width: 500px) {
  .tbl_dl .dl_comm {
    display: block;
    width: auto;
  }

  .tbl_dl .dl_comm dt,
  .tbl_dl .dl_comm dd {
    display: block;
  }

  .tbl_dl .dl_comm dt {
    margin-bottom: 3px;
    width: auto !important;
  }

  .tbl_dl .dl_comm .inp {
    width: 100%;
  }

  .tbl_dl .dl_comm .inp_cal .inp {
    width: calc(100% - 40px);
  }
}

/* Slider */
.slick-slider {
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

/* datepicker */
.inp_cal {
  font-size: 0;
}

.inp_cal * {
  font-size: 15px;
}

.inp_cal label {
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
}

.inp_cal label img {
  display: inline-block;
  vertical-align: top;
  margin-top: 6px;
}

.ui-datepicker {
  display: none;
  width: 250px;
  background: #fff;
  border: 1px solid #aaa;
  padding: 5px 15px;
  font-size: 14px;
  letter-spacing: 0;
  border-radius: 5px;
  padding-bottom: 15px;
}

.ui-datepicker-header {
  border-bottom: 1px solid #ccc;
  border-radius: 3px;
  text-align: center;
}

.ui-datepicker-header>a {
  display: block;
  padding: 15px;
  cursor: pointer;
}

.ui-datepicker-header .ui-icon {
  width: 5px;
  height: 9px;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.ui-datepicker-prev {
  float: left;
}

.ui-datepicker-next {
  float: right;
}

.ui-datepicker-prev .ui-icon {
  float: left;
  background: url(../images/comm/ico_comm.png) -20px -115px no-repeat;
}

.ui-datepicker-next .ui-icon {
  float: right;
  background: url(../images/comm/ico_comm.png) -35px -115px no-repeat;
}

.ui-datepicker-title {
  padding: 12px 0;
}

.ui-datepicker-calendar {
  margin-top: 10px;
}

.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  font-size: 15px;
  text-align: center;
  width: 14.28%;
  height: 25px;
  vertical-align: middle;
}

.ui-datepicker-calendar th a,
.ui-datepicker-calendar td a {
  display: inline-block;
  width: 26px;
  height: 26px;
  color: #777;
  line-height: 26px;
}

.ui-datepicker-calendar td a.ui-state-highlight {
  color: #000;
  font-weight: bold;
  background: #dadfe7;
  border-radius: 100%;
}

.ui-datepicker-calendar td a:hover {
  background: #eee;
  border-radius: 100%;
}

.ui-datepicker-calendar td a.ui-state-active {
  color: #fff;
  background: #f18903;
  border-radius: 100%;
  font-weight: bold;
}

.ui-datepicker-calendar th:first-child span,
.ui-datepicker-calendar td:first-child a {
  color: #e8002e;
}

.ui-datepicker-calendar th+th+th+th+th+th+th span,
.ui-datepicker-calendar td+td+td+td+td+td+td a {
  color: #0080e2;
}

.break-all {
  word-break: break-all;
}

.scroll {
  display: block;
  width: 100%;
}

.scroll thead {
  display: table;
  float: left;
  width: 100%;
}

.scroll tbody {
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  float: left;
  width: 100%;
}

.scroll tbody tr {
  display: table;
  width: 100%;
}

#mainPopup {
  position: fixed;
  top: 50%;
  left: 100px;
  z-index: 99999;
  text-align: center;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  cursor: move;
}

#mainPopup .img_popup {
  overflow: hidden;
}

#mainPopup .cont_popup {
  margin: 0 10px 10px;
  background: #fff;
  border: 5px solid #fff;
}

#mainPopup .cont_popup .cont {
  border: 2px solid #ddd;
  padding: 24px 16px;
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  word-break: keep-all;
}

#mainPopup .cont_popup strong {
  display: block;
  font-weight: bold;
  line-height: 1.4;
}

#mainPopup .foot_popup {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  text-align: right;
  font-size: 14px;
  padding: 10px;
}

#mainPopup .foot_popup .wrap_chk {
  display: inline-block;
  vertical-align: top;
  padding-top: 3px;
  margin-right: 10px;
}

#mainPopup .foot_popup .chk {
  float: none;
}

#mainPopup .foot_popup label {
  font-weight: 300;
  color: #555;
}

#layerMngAppo {
  width: 100%;
}

#layerMngAppo .cont {
  padding: 26px 36px 0;
  color: #828282;
}

#layerMngAppo .cont .inner {
  overflow: hidden;
}

/* #layerMngAppo .cont .inner::before {
  display: block;
  float: left;
  width: 75px;
  height: 75px;
  margin: 5px 15px 0 0;
  background: url(../img/img_sche.png) 50% 50% no-repeat;
  content: "";
} */

#layerMngAppo .cont span {
  font-size: 13px;
}

#layerMngAppo .cont .wrap_btn {
  margin-top: 40px;
  text-align: center;
}

#layerMngAppo .cont .wrap_btn a {
  width: 90px;
  line-height: 40px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 4px;
}

#layerMngAppo .cont .wrap_btn a+a {
  margin-left: 5px;
}

@media (max-width: 1300px) {
  #layerMngAppo {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    width: 300px !important;
    height: 240px;
    margin: -110px 0 0 -150px !important;
  }

  #layerMngAppo .cont {
    display: flex;
    width: 100%;
    height: 200px;
    flex-direction: column;
    justify-content: center;
  }

  /* #layerMngAppo .cont .inner::before {
    width: 40px;
    height: 40px;
    background-size: cover;
    margin: 0 10px 0 0;
  } */

  #layerMngAppo .cont .inner p {
    display: flex;
    min-height: 40px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
  }

  #layerMngAppo .cont span {
    display: block;
    margin-top: 10px;
  }

  #layerMngAppo .cont .wrap_btn {
    margin-top: 20px;
  }

  #layerMngAppo .cont .wrap_btn a {
    width: 83px;
    line-height: 36px;
    font-size: 14px;
  }

  #layerMngAppo.hdlayer .cont::after {
    display: none;
  }
}

.ba_id_pw {
  background: #ffc000;
  margin-bottom: 20px;
  margin-top: -34px;
  margin-left: -50px;
  margin-right: -50px;
  width: auto;
  height: 50px;
}

@media (max-width: 1000px) {
  .ba_id_pw {
    background: #ffc000;
    margin-bottom: 20px;
    margin-top: -24px;
    margin-left: -14px;
    margin-right: -14px;
    width: auto;
    height: 50px;
  }
}

@media (max-width: 500px) {
  .ba_id_pw {
    background: #ffc000;
    margin-bottom: 20px;
    margin-top: -20px;
    margin-left: -14px;
    margin-right: -14px;
    width: auto;
    height: 50px;
  }
}

.ba_id_pw a {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  line-height: 50px;
  margin-left: 30px;
}

.wrapper_login .title {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 28px;
}

.wrapper_login .sub-box {
  margin-top: 30px;
}

.wrapper_login .subtitle {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 36px;
}

.wrapper_login .form-row {
  margin-top: 12px;
}

.wrapper_login .select {
  width: 100%;
  height: 48px;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 16px;
}

.wrapper_login .btn {
  display: block;
  width: 100%;
  height: 50px;
  margin-top: 15px;
  border-radius: 50px;
  font-weight: bold;
  font-size: 18px;
}

.wrapper_login .btn-primary {
  background: #f18903;
  color: #fff;
}

.wrapper_login .btn-primary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background: #999;
}