@charset 'utf-8';

.font_orb,
.font_orb * {
  font-family: "Orbitron", sans-serif;
}
.font_noto,
.font_noto * {
  font-family: "Noto Sans KR", sans-serif;
}
.font_rhd,
.font_rhd * {
  font-family: "Red Hat Display", sans-serif;
}
.font_out,
.font_out * {
  font-family: "Outfit", sans-serif;
}

.body_hidden {
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  touch-action: none;
}
#wrap {
  position: relative;
  background-color: #fff;
}

body,
html {
  min-height: 100%;
}
#wrap {
  min-height: calc(100vh - 515px);
}
@media screen and (max-width: 1008px) {
  #wrap {
    min-height: 100%;
  }
}

.navOn #subWrap {
  padding-top: 100px;
}
.navOn.active #subWrap {
  padding-top: 61px;
}

.inner {
  padding: 0 80px;
}
@media screen and (max-width: 1540px) {
  .inner {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1024px) {
  .inner {
    padding: 0 20px;
  }
}
.inner1500 {
  max-width: 1500px;
  margin: 0 auto;
}
.inner1500:after {
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
}
@media screen and (max-width: 1540px) {
  .inner1500 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1024px) {
  .inner1500 {
    padding: 0 20px;
  }
}

/* header */
header {
  position: fixed;
  width: 100%;
  z-index: 999;
  height: 120px;
  transition: all 0.3s ease-in-out;
}
header:after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 119px;
  width: 100%;
  height: 1px;
  background: #ddd;
  z-index: 2;
}
header.fix {
  transform: translateY(-59px);
}
header.over:after {
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
header h1 {
  position: absolute;
  text-align: left;
  padding: 38px 0 0 0;
  z-index: 999;
  transition: all 0.3s ease-in-out;
}
header h1 a {
  display: inline-block;
  width: 148px;
  transition: all 0.3s ease-in-out;
}
header h1 a svg {
}
header h1 a .st1 {
  fill: #fff;
  stroke: none;
  transition: all 0.3s ease-in-out;
}
header h1 a .st2 {
  fill: #fff;
  stroke: none;
  transition: all 0.3s ease-in-out;
}

header.nav-up {
  transform: translateY(-120px);
}
header.fix {
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
header.fix.ov,
header.fix.s_ov {
  background-color: #fff;
}
header.fix h1 {
  padding: 70px 0 0 0;
}
header.fix h1 a svg .logo-1,
header.over h1 a svg .st1 {
  fill: #004ea2 !important;
}
header.fix h1 a svg .logo-2,
header.over h1 a svg .st2 {
  fill: #59bded !important;
}
@media screen and (max-width: 640px) {
  header h1 a {
    width: 120px;
  }
}

header .inner {
  position: relative;
  z-index: 3;
}
header #navi {
  position: relative;
}
header #navi #gnb {
  position: relative;
  text-align: center;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}
header #navi #gnb > ul {
  display: inline-block;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  padding-top: 50px;
  height: 120px;
  transition: all 0.3s ease-in-out;
}
header #navi #gnb > ul > li {
  position: relative;
  width: 176px;
  transition: all 0.3s ease-in-out;
  margin: 0 0 0 -1px;
}
header #navi #gnb > ul > li:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 69px;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #004ea2;
  transition: all 0.3s ease-in-out;
  z-index: 5;
}
header.over #navi #gnb > ul > li:hover:after {
  width: 100%;
}
header #navi #gnb > ul > li > a {
  position: relative;
  font-weight: 300;
  font-size: 17px;
  color: #fff;
  transition: all 0.1s ease-in-out;
  padding: 0;
  text-align: center;
}
header.over #navi #gnb > ul > li > a:after,
header.over #navi #gnb > ul > li > a:hover:after {
  opacity: 1;
}
header.over #navi #gnb > ul > li > a:before,
header #navi #gnb > ul > li > a:hover:before {
  width: 100%;
}
header.over #navi #gnb > ul > li > a {
  color: #111;
}
header #navi #gnb > ul > li > ul {
  display: none;
  position: absolute;
  left: 0;
  padding: 34px 0 30px 0;
  top: 70px;
  min-width: 100%;
  width: 100%;
  text-align: center;
  background: none;
  z-index: 3;
}
header.over #navi #gnb > ul > li > ul:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #ddd;
  animation: ani_5 0.2s 0.2s;
  animation-fill-mode: both;
}
header.over #navi #gnb > ul > li > ul:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #ddd;
  animation: ani_5 0.2s 0.2s;
  animation-fill-mode: both;
}
header.over #navi #gnb > ul > li > ul {
  display: block;
  transition: all 0.3s ease-in-out;
}
header.over #navi #gnb > ul > li > ul:hover {
  background-color: #f8f8f8;
}
header #navi #gnb > ul > li > ul > li {
  position: relative;
  opacity: 0;
}
header #navi #gnb > ul > li > ul > li:not(:last-child) {
  margin-bottom: 25px;
}
header #navi #gnb > ul > li > ul > li > a {
  position: relative;
  font-size: 17px;
  font-weight: 400;
  color: #777;
}
header #navi #gnb > ul > li > ul > li a:hover {
  color: #004ea2;
  font-weight: 600;
}
header #navi #gnb > ul > li > ul > li {
  animation: gnbSub 0.5s 0.3s;
  animation-fill-mode: forwards;
}
header #navi #gnb > ul > li > ul > li > ul {
  margin-bottom: -10px;
  display: none;
}
header #navi #gnb > ul > li > ul > li > ul li {
  margin-top: 8px;
}
header #navi #gnb > ul > li > ul > li > ul li a {
  font-size: 13px;
  color: #aaa;
}
header.fix #navi #gnb > ul {
  padding-top: 80px;
}
header.fix #navi #gnb > ul > li:after {
  top: 39px;
}
header.fix #navi #gnb > ul > li > a {
  color: #111;
}
header.fix #navi #gnb > ul > li > ul {
  padding: 34px 0 30px 0;
  top: 40px;
}

header .gnb_bg {
  min-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
  z-index: 1;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
}
header.fix .gnb_bg {
}

.navOn header #navi #gnb > ul > li > a {
  color: #111;
}

@keyframes gnbSub {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@media screen and (max-width: 1280px) {
  header #navi #gnb > ul {
    padding-left: 100px;
  }
  header #navi #gnb > ul > li {
    width: 170px;
  }
}
@media screen and (max-width: 1150px) {
  header #navi #gnb > ul {
    padding-left: 100px;
  }
  header #navi #gnb > ul > li {
    width: 150px;
  }
  header #navi #gnb > ul > li > ul > li > a {
    font-size: 15px;
  }
}
@media screen and (max-width: 1024px) {
  header #navi {
    display: none;
  }
}

header .top-right {
  display: flex;
  position: absolute;
  top: 52px;
  right: 145px;
  z-index: 77777777;
  transition: all 0.3s ease-in-out;
}
header .top-right .sns {
  display: flex;
  align-items: center;
  margin-right: 20px;
}
header .top-right .sns li {
  margin-left: 18px;
}
header .top-right .sns li:first-child {
  margin-left: none;
}
header .top-right .sns a {
  background-color: #6f7274;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
}
header .top-right .sns a .svg {
  width: 13px;
}
header .top-right .sns a .cls-1 {
  fill: #0f1314;
  stroke: none;
  transition: all 0.3s ease-in-out;
}
header .top-right .sns a .cls-2 {
  fill: none;
  stroke: none;
}
header .top-right .sns li:nth-child(3) a .svg,
header .top-right .sns li:nth-child(4) a .svg {
  width: 10px;
}
header .top-right .language {
  margin-left: 23px;
  position: relative;
  padding-top: 2px;
}
header .top-right .language span.on {
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  padding-bottom: 30px;
  transition: all 0.3s ease-in-out;
}
header .top-right .language .box {
  display: none;
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
header .top-right .language ul {
  text-align: center;
  padding: 15px 10px;
  width: 73px;
  background-color: #fff;
  border-radius: 5px;
}
header .top-right .language ul li {
  font-family: "Noto Sans KR", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #222;
}
header .top-right .language ul li strong {
  font-weight: 600;
}
header .top-right .language ul li span {
  font-weight: 600;
}
header .top-right .language ul li:not(:last-child) {
  margin-bottom: 8px;
}
header.fix .top-right {
  top: 75px;
}
header.fix .top-right .language span.on,
header.over .top-right .language span.on {
  color: #333;
}
header.ov .top-right {
  top: 92px;
}
@media screen and (max-width: 1540px) {
  header .top-right {
    right: 105px;
  }
}
@media screen and (max-width: 1024px) {
  header .top-right {
    right: 70px;
    top: 40px;
  }
  header.ov .top-right {
    top: 30px;
  }
}

.allmenu {
  position: absolute;
  z-index: 77777777;
  right: 80px;
  top: 47px;
  transition: all 0.3s ease-in-out;
}
.allmenu a {
  display: block;
  width: 29px;
  height: 29px;
  display: flex;
  transition: all 0.3s ease-in-out;
}
.allmenu span {
  position: absolute;
  left: 0;
  top: 7px;
  width: 19px;
  height: 2px;
  background-color: #fff;
  display: block;
}
.allmenu span:before {
  content: "";
  display: block;
  width: 19px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 10px;
  top: 6px;
}
.allmenu span:after {
  content: "";
  display: block;
  width: 19px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 6px;
  top: 12px;
}
header.ov .allmenu span {
  left: 5px;
}
header.ov .allmenu span:before,
header.ov .allmenu span:after {
  left: 0;
}
header.ov .allBox .allmenu {
  top: 87px;
}
header.fix .allmenu {
  top: 70px;
}
header.fix .allmenu span,
header.fix .allmenu span:before,
header.fix .allmenu span:after,
header.over .allmenu span,
header.over .allmenu span:before,
header.over .allmenu span:after {
  background-color: #333;
}
@media screen and (max-width: 1540px) {
  .allmenu {
    right: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .allmenu {
    right: 20px;
    top: 37px;
  }
  header.ov .allBox .allmenu {
    top: 25px;
  }
}

.web #allmenuBox {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #0e0e0e;
  z-index: 100000;
  transition: all 0.3s 0.1s ease-in-out;
}
.web #allmenuBox:before {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  right: 0px;
  bottom: 0px;
  width: 706px;
  height: 185px;
  background: url(/img/common/gnb_bg.png) center center no-repeat;
  transition: all 0.3s ease-in-out;
}
.web #allmenuBox.on:before {
  animation: ani_2 0.8s 0.3s;
  animation-fill-mode: both;
}
.web #allmenuBox.on {
  display: block;
}
.web #allmenuBox .menuBox {
  padding-top: 0;
  width: 100%;
  height: 100vh;
  padding: 0 8% 0 12%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.web #allmenuBox .menuBox > ul {
  display: flex;
  width: 100%;
  padding-top: 3%;
}
.web #allmenuBox .menuBox > ul > li {
  position: relative;
  width: 25%;
}
.web #allmenuBox .menuBox > ul > li > a {
  position: relative;
  color: rgba(255, 255, 255, 0.2);
  font-weight: 700;
  font-size: 45px;
  transition: all 0.3s 0.1s ease-in-out;
}
.web #allmenuBox .menuBox > ul > li > .subDepth {
  position: relative;
  padding: 40px 0 0 0px;
  height: auto !important;
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li {
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li:not(:last-child) {
  margin-bottom: 32px;
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li > a {
  color: rgba(255, 255, 255, 0.2);
  font-weight: 500;
  font-size: 20px;
  transition: all 0.3s 0.1s ease-in-out;
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li ul {
  padding: 20px 0 0 10px;
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li li:not(:last-child) {
  margin-bottom: 17px;
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li li > a {
  color: rgba(255, 255, 255, 0.2);
  font-weight: 300;
  font-size: 15px;
  transition: all 0.3s 0.1s ease-in-out;
}
/* .web #allmenuBox .menuBox > ul > li.on a,
.web #allmenuBox .menuBox > ul > li.on > .subDepth > li > a,
.web #allmenuBox .menuBox > ul > li.on > .subDepth > li.on li > a:hover {
  color: rgba(255, 255, 255, 1);
} */
.web #allmenuBox .menuBox > ul > li:hover a,
.web #allmenuBox .menuBox > ul > li:hover > .subDepth > li > a,
.web #allmenuBox .menuBox > ul > li:hover > .subDepth > li:hover li > a:hover,
.web #allmenuBox .menuBox > ul > li > .subDepth .dep3:hover .depth3 {
  color: rgba(255, 255, 255, 1);
}
.web #allmenuBox .menuBox > ul > li > .subDepth > li > a:hover,
.web #allmenuBox .menuBox > ul > li > .subDepth .dep3:hover > a {
  color: #0062cc;
}
@media screen and (max-width: 1400px) {
  .web #allmenuBox .menuBox > ul > li > a {
    font-size: 30px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth {
    padding: 35px 0 0 0px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li:not(:last-child) {
    margin-bottom: 22px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li > a {
    font-size: 17px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li ul {
    padding: 15px 0 0 10px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li li:not(:last-child) {
    margin-bottom: 15px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li li > a {
    font-size: 15px;
  }
}
@media screen and (max-height: 760px) {
  .web #allmenuBox .menuBox > ul > li > a {
    font-size: 30px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth {
    padding: 35px 0 0 0px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li:not(:last-child) {
    margin-bottom: 22px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li > a {
    font-size: 17px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li ul {
    padding: 15px 0 0 10px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li li:not(:last-child) {
    margin-bottom: 15px;
  }
  .web #allmenuBox .menuBox > ul > li > .subDepth > li li > a {
    font-size: 15px;
  }
}

/* animation */
.web #allmenuBox .menuBox > ul > li > a,
.web #allmenuBox .menuBox > ul > li > .subDepth {
  opacity: 0;
}

.web #allmenuBox.on .menuBox > ul > li:nth-child(1) > a {
  animation: blur_txt 0.5s 0.3s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(2) > a {
  animation: blur_txt 0.5s 0.5s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(3) > a {
  animation: blur_txt 0.5s 0.7s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(4) > a {
  animation: blur_txt 0.5s 0.9s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(5) > a {
  animation: blur_txt 0.5s 1.1s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(1) > .subDepth {
  animation: ani_2 0.5s 0.5s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(2) > .subDepth {
  animation: ani_2 0.5s 0.7s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(3) > .subDepth {
  animation: ani_2 0.5s 0.9s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(4) > .subDepth {
  animation: ani_2 0.5s 1.1s;
  animation-fill-mode: both;
}
.web #allmenuBox.on .menuBox > ul > li:nth-child(5) > .subDepth {
  animation: ani_2 0.5s 1.3s;
  animation-fill-mode: both;
}

.mobile #allmenuBox {
  position: fixed;
  right: -480px;
  top: 0;
  max-width: 480px;
  width: 100%;
  height: 100vh;
  background: #111;
  z-index: 100000;
  transition: all 0.3s 0.1s ease-in-out;
}
.mobile #allmenuBox.on {
  right: 0;
}
.mobile #allmenuBox .a_box {
  position: relative;
  padding: 20px;
  height: 100%;
}
.mobile #allmenuBox .lang {
  position: absolute;
  top: 30px;
  left: 40px;
}
.mobile #allmenuBox .lang ul {
  display: flex;
}
.mobile #allmenuBox .lang li {
  position: relative;
  margin-left: 10px;
  padding-left: 10px;
}
.mobile #allmenuBox .lang li:before {
  content: "";
  display: block;
  width: 1px;
  height: 14px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.mobile #allmenuBox .lang li:first-child {
  margin-left: 0;
  padding-left: 0;
}
.mobile #allmenuBox .lang li:first-child:before {
  display: none;
}
.mobile #allmenuBox .lang li strong {
  display: none;
}
.mobile #allmenuBox .lang li span {
  font-weight: 400;
  font-size: 16px;
  color: #858383;
}
.mobile #allmenuBox .lang li.on span {
  color: #fff;
}
.mobile #allmenuBox .menuBox {
  margin-top: 60px;
  width: 100%;
  height: calc(100% - 160px);
  padding: 0 20px;
  overflow: auto;
}
.mobile #allmenuBox .menuBox .inner {
  padding: 0;
}
.mobile #allmenuBox .menuBox > ul > li {
  position: relative;
  margin-top: 35px;
}
.mobile #allmenuBox .menuBox > ul > li:first-child {
  margin-top: 0;
}
.mobile #allmenuBox .menuBox > ul > li > a {
  position: relative;
  color: #fff;
  font-weight: 700;
  font-size: 26px;
  display: inline-block;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth {
  position: relative;
  display: none;
  padding: 35px 0 50px 0px;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li {
  position: relative;
  margin-top: 0;
  padding: 12px 20px;
  border-radius: 10px;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li:first-child {
  margin-top: 0;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li > a {
  position: relative;
  color: #ccc;
  font-weight: 300;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li.on > a {
  color: #0898e3;
}
.mobile #allmenuBox .menuBox > ul > li > ul.sub-menu > li > a {
  position: relative;
  padding-right: 15px;
  display: inline-block;
}
.mobile #allmenuBox .menuBox > ul > li > ul.sub-menu > li.dep3 > a:after {
  content: "\e914";
  display: block;
  position: absolute;
  right: 0;
  top: 4px;
  color: #777;
  font-family: xeicon;
  font-size: 13px;
  font-weight: 300;
}
.mobile #allmenuBox .menuBox > ul > li > ul.sub-menu > li.dep3.on > a:after {
  content: "\e91b";
  color: #0898e3;
}
.mobile #allmenuBox .menuBox > ul > li > ul.sub-menu > li.link > a:after {
  display: none;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul {
  padding: 20px 0 15px 10px;
  display: none;
  position: relative;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li:not(:last-child) {
  margin-bottom: 12px;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li a {
  font-size: 15px;
  font-weight: 500;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li a:hover {
  color: #ccc;
}
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li span {
  display: none;
}
.mobile #allmenuBox .sns {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}
.mobile #allmenuBox .sns li {
  margin-left: 18px;
}
.mobile #allmenuBox .sns li:first-child {
  margin-left: none;
}
.mobile #allmenuBox .sns a {
  background-color: #6f7274;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
}
.mobile #allmenuBox .sns a .svg {
  width: 13px;
}
.mobile #allmenuBox .sns a .cls-1 {
  fill: #0f1314;
  transition: all 0.3s ease-in-out;
}
.mobile #allmenuBox .sns a .cls-2 {
  fill: none;
}
.mobile #allmenuBox .sns li:nth-child(3) a .svg,
.mobile #allmenuBox .sns li:nth-child(4) a .svg {
  width: 10px;
}
.mobile #allmenuBox .btn_close {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 40px;
  height: 40px;
  z-index: 11;
  opacity: 1;
  cursor: pointer;
}
.mobile #allmenuBox .btn_close:before {
  content: "";
  display: block;
  width: 25px;
  height: 4px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  margin: 15px 0 0 8px;
}
@media screen and (max-width: 480px) {
  .mobile #allmenuBox .menuBox > ul > li {
    margin-top: 30px;
  }
  .mobile #allmenuBox .menuBox > ul > li > a {
    font-size: 22px;
  }
  .mobile #allmenuBox .menuBox > ul > li > .subDepth {
    padding: 30px 0 40px 0px;
  }
  .mobile #allmenuBox .menuBox > ul > li > .subDepth > li {
    padding: 10px 20px;
  }
  .mobile #allmenuBox .menuBox > ul > li > .subDepth > li > a {
    font-size: 18px;
  }
  .mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul {
    padding: 20px 0 15px 10px;
  }
  .mobile
    #allmenuBox
    .menuBox
    > ul
    > li
    > .subDepth
    > li
    ul
    li:not(:last-child) {
    margin-bottom: 10px;
  }
  .mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li a {
    font-size: 14px;
  }
}

footer {
  background-color: #f6f6f6;
  padding: 125px 0 95px;
}
footer .infobox {
  position: relative;
  display: flex;
  justify-content: space-between;
}
footer .infobox .l-box .flogo {
  width: 150px;
}
footer .infobox .l-box .info {
  margin-top: 155px;
}
footer .infobox .l-box .info li:not(:last-child) {
  margin-bottom: 20px;
}
footer .infobox .l-box .info li {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  margin-right: 25px;
  line-height: 1.3;
}
footer .infobox .l-box .info li strong {
  color: #333;
  font-weight: 600;
  display: inline-block;
  margin-right: 10px;
}
footer .infobox .l-box .info li span.sp {
  display: inline-block;
  margin: 0 15px;
}
footer .infobox .l-box .fmenu {
  margin-top: 40px;
}
footer .infobox .l-box .fmenu ul {
  display: flex;
}
footer .infobox .l-box .fmenu li {
  margin-left: 25px;
}
footer .infobox .l-box .fmenu li:first-child {
  margin-left: 0;
}
footer .infobox .l-box .fmenu li a {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  text-transform: uppercase;
}
footer .infobox .r-box {
  text-align: right;
}
footer .infobox .r-box .ft_menu li:not(:last-child) {
  margin-bottom: 25px;
}
footer .infobox .r-box .ft_menu li a {
  color: #0e0e0e;
  font-weight: 600;
  font-size: 20px;
  padding-right: 25px;
  background: url(/img/common/ft_menu_arr.png) right center no-repeat;
}
footer .infobox .r-box .fb_menu {
  margin-top: 80px;
}
footer .infobox .r-box .fb_menu ul {
  display: flex;
  gap: 0 15px;
  justify-content: flex-end;
}
footer .infobox .r-box .fb_menu li a {
  color: #444;
  font-weight: 300;
  font-size: 14px;
}
footer .infobox .r-box .copyright {
  margin-top: 15px;
  font-size: 13px;
  font-weight: 100;
  color: #777;
}
@media screen and (max-width: 1540px) {
  footer {
    padding: 110px 0 80px;
  }
  footer .infobox .l-box .info {
    margin-top: 140px;
  }
}
@media screen and (max-width: 1024px) {
  footer {
    padding: 90px 0 70px;
  }
  footer .infobox {
    display: flex;
    flex-wrap: wrap;
  }
  footer .infobox > div {
    width: 100%;
  }
  footer .infobox .l-box .info {
    margin-top: 80px;
  }
  footer .infobox .r-box .ft_menu {
    position: absolute;
    right: 0;
    top: 0;
  }
  footer .infobox .r-box .ft_menu li:not(:last-child) {
    margin-bottom: 15px;
  }
  footer .infobox .r-box .ft_menu li a {
    font-size: 16px;
  }
  footer .infobox .r-box .fb_menu {
    text-align: center;
  }
  footer .infobox .r-box .fb_menu {
    margin-top: 60px;
  }
  footer .infobox .r-box .fb_menu ul {
    justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  footer {
    padding: 60px 0 40px;
  }
  footer .infobox .l-box .flogo {
    width: 130px;
    margin: 0 auto;
  }
  footer .infobox .l-box .info {
    margin-top: 80px;
    text-align: center;
  }
  footer .infobox .l-box .info li span.sp {
    margin: 0 10px;
  }
  footer .infobox .l-box .info li span.sp-last {
    display: block;
    margin-top: 2px;
  }
  footer .infobox .r-box .ft_menu {
    top: 65px;
    left: 0;
    right: unset;
    width: 100%;
  }
  footer .infobox .r-box .fb_menu {
    margin-top: 40px;
  }
  footer .infobox .r-box .ft_menu ul {
    display: flex;
    justify-content: center;
  }
  footer .infobox .r-box .ft_menu li:not(:last-child) {
    margin: 0 15px 0 0;
  }
  footer .infobox .r-box .ft_menu li a {
    padding-right: 20px;
    background-size: 10px;
  }
}

.btn_topbox {
  position: fixed;
  right: 10px;
  bottom: 50px;
  z-index: 6;
}
.btn_topbox .btn-top {
  opacity: 1;
  transition: all 0.3s ease-in-out;
  text-align: center;
}
.btn_topbox .btn-top.active {
  opacity: 1;
}
.btn_topbox .btn-top a {
  width: 60px;
  height: 60px;
  overflow: hidden;
  color: #004ea2;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 0 5px rgba(0, 78, 162, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 10px;
}
.btn_topbox .btn-top a span {
  display: block;
  font-weight: 600;
  margin-top: 7px;
}
@media screen and (max-width: 1024px) {
  .btn_topbox .btn-top a {
    width: 50px;
    height: 50px;
    font-size: 11px;
  }
}

.btn_qbox.active {
  position: absolute;
  bottom: 100px;
}
.btn_qbox {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  width: 70px;
  display: flex;
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: 120px;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
}
.btn_qbox.on {
  z-index: 99999;
  border: 1px solid rgba(238, 238, 238, 0.5);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
}
.btn_qbox .qbtn {
  position: relative;
  width: 70px;
  height: 70px;
  background-color: #222;
  border-radius: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.btn_qbox .qbtn:after {
  content: "\e9c5";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(calc(-50% - 0.5px), calc(-50% - 0.5px));
  color: #fff;
  font-family: xeicon;
  font-size: 14px;
  font-weight: 100;
  transition: all 0.3s ease-in-out;
}
.btn_qbox.on .qbtn:after {
  content: "\e9af";
}
.btn_qbox.on .qbtn {
  background-color: #0898e3;
}
.btn_qbox .qbtn span {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -999em;
  overflow: hidden;
}
.btn_qbox .list {
  display: none;
  padding-top: 40px;
}
.btn_qbox .list.on {
  display: block;
}
.btn_qbox .list > ul > li {
  position: relative;
  text-align: center;
}
.btn_qbox .list > ul > li .icon {
  width: 25px;
  display: block;
  margin: 0 auto 3px;
}
.btn_qbox .list > ul > li a {
  font-weight: 300;
  color: #999;
  font-size: 12px;
  transition: all 0.3s ease-in-out;
}
.btn_qbox .list > ul > li:first-child {
  z-index: 3;
}
.btn_qbox .list > ul > li:not(last-child) {
  margin-bottom: 35px;
}
.btn_qbox .list > ul > li .cls-1 {
  fill: #999;
  transition: all 0.3s ease-in-out;
}
.btn_qbox .list > ul > li .cls-2 {
  fill: none;
}
.btn_qbox .list > ul > li .cls-1 {
  fill: #999;
  transition: all 0.3s ease-in-out;
}
.btn_qbox .list > ul > li a:hover {
  color: #0098d3;
}
.btn_qbox .list > ul > li a:hover .cls-1 {
  fill: #0098d3;
}

/* animation */
.btn_qbox {
  animation: ani_2 0.8s 0.8s;
  animation-fill-mode: both;
}
.btn_qbox .list > ul > li {
  opacity: 0;
}
.btn_qbox .list.on > ul > li:nth-child(5) {
  animation: bgs4 0.5s 0.2s;
  animation-fill-mode: both;
}
.btn_qbox .list.on > ul > li:nth-child(4) {
  animation: bgs4 0.5s 0.3s;
  animation-fill-mode: both;
}
.btn_qbox .list.on > ul > li:nth-child(3) {
  animation: bgs4 0.5s 0.4s;
  animation-fill-mode: both;
}
.btn_qbox .list.on > ul > li:nth-child(2) {
  animation: bgs4 0.5s 0.5s;
  animation-fill-mode: both;
}
.btn_qbox .list.on > ul > li:nth-child(1) {
  animation: bgs4 0.5s 0.6s;
  animation-fill-mode: both;
}
@media screen and (max-width: 640px) {
  .btn_qbox .list.on .sbox .sc-cont {
    animation: ani_3 0.5s 0.2s;
    animation-fill-mode: both;
  }
  .btn_qbox {
    animation: ani_3 0s;
    animation-fill-mode: both;
  }
}
@media screen and (max-width: 640px) {
  .btn_qbox .qbtn {
    display: none;
  }
  .btn_qbox.active {
    position: fixed;
    bottom: 0;
  }
  .btn_qbox {
    position: fixed;
    left: 0;
    bottom: -1px;
    position: fixed;
    width: 100%;
    right: 0;
    display: block;
    border: none;
    padding: 0;
    z-index: 99;
    border: none;
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .btn_qbox.on {
    border: none;
  }
  .btn_qbox .list {
    display: block;
    padding-top: 0;
  }
  .btn_qbox ul {
    display: flex;
  }
  .btn_qbox .list > ul > li {
    opacity: 1;
  }
  .btn_qbox .list > ul > li:not(last-child) {
    margin-bottom: 0;
  }
  .btn_qbox ul li {
    width: 33.33%;
  }
  .btn_qbox ul li a {
    position: relative;
    color: #f9f9f9;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 100%;
    text-align: center;
  }
  .btn_qbox ul li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1px;
    height: 24px;
    background-color: rgba(255, 255, 255, 0.15);
  }
  .btn_qbox ul li:first-child a:after {
    display: none;
  }
  .btn_qbox ul li a i {
    color: #f9f9f9;
    font-size: 16px;
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
  }
  .btn_qbox ul li a i.kakao {
    width: 18px;
    height: 16px;
    background: url(/img/common/icon_kakao.png) left center no-repeat;
  }
}

/* privacy */
.privacy {
  color: #666;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 20px;
  padding-bottom: 10%;
  font-size: 15px;
  line-height: 1.4;
  word-break: break-all;
}
.privacy h2 {
  font-size: 18px;
  font-weight: bold;
  color: #222;
  text-align: left;
  margin: 50px 0 30px;
}
.privacy h2:first-child {
  margin-top: 0;
}
.privacy > p {
  margin: 15px 0;
}
.privacy > p + dl {
  margin-top: 30px;
}
.privacy > dl {
  padding-bottom: 20px;
}
.privacy > dl > dt {
  font-size: 16px;
  color: #222;
  font-weight: 700;
  padding-bottom: 5px;
}
.privacy > dl > dd {
  padding-bottom: 10px;
  text-align: justify;
  font-size: 15px;
  line-height: 1.4;
}
.privacy > dl > dd ul {
  padding: 10px;
}
.privacy > dl > dd ul li {
  line-height: 1.2;
  margin-top: 10px;
}
.privacy > dl > dd ul li:first-child {
  margin-top: 0;
}
.privacy > dl > dd ul li p {
  margin: 0 10px 5px;
  line-height: 140%;
  margin-top: 8px;
}
.sTxt h3 {
  font-size: 16px;
  color: #222;
  font-weight: 700;
  margin: 20px 0 10px;
}
.sTxt p {
  margin-top: 10px;
}
.sTxt dt {
  margin-top: 10px;
}
.sTxt dd {
  margin: 0 8px;
}
