@font-face {
  font-family: 'Bidulgi';
  src: url(/fonts/bidulgi.woff) format("woff");
}

@font-face {
  font-family: 'Pirulen';
  src: url(/fonts/pirulen_light.woff) format("woff");
  font-weight: 300;
}

@font-face {
  font-family: 'Pirulen';
  src: url(/fonts/pirulen_book.woff) format("woff");
  font-weight: 400;
}

@font-face {
  font-family: 'Pirulen';
  src: url(/fonts/pirulen_regular.woff) format("woff");
  font-weight: 500;
}

@font-face {
  font-family: 'Pirulen';
  src: url(/fonts/pirulen_bold.woff) format("woff");
  font-weight: 600;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}
.header .header__side {
  width: calc( 50% - 900px);
  height: 100%;
  margin: 0px;
  padding: 0px;
  display: inline-block;

}

.header.header--active .header__inner {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background-color: rgb(0, 0, 37);
}

.header .header__inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all ease .6s;
  transition: all ease .6s;
  padding: 12px 0;
}
.header .header__nav {
  margin-left: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header .header__nav > div {
  position: relative;
}

.header .header__nav > div > a {
  color: #fff;
  font-family: 'Pirulen';
  font-weight: 400;
  font-size: 16px;
  z-index: 2;
  position: relative;
  padding: 10px;
}

.header .header__nav > div::before {
  content: "";
  width: 144px;
  height: 131px;
  background-image: url(/image/common/nav_light.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -47px;
  left: -78px;
  opacity: 0;
  -webkit-transition: all ease .5s;
  transition: all ease .5s;
  z-index: 1;
}

.header .header__nav > div > a.active,
.header .header__nav > div:hover > a, 
.header .header__nav > div.active > a {
  color: #31a5ff;
}

.header .header__nav > div:hover::before, .header .header__nav > div.active::before {
  opacity: 1;
}

.header .header__nav > div:not(:last-child) {
  margin-right: 117px;
}

.header__bgm{
  margin-left: auto;
}

.header .header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header .header__link > .header__sub-wrap,
.header .header__link > a {
  margin-left: 36px;
}

.header .header__lang {
  width: 32px;
  height: 32px;
  background-image: url(/image/common/lang_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all ease .3s;
  transition: all ease .3s;
}

.header .header__lang:hover {
  background-image: url(/image/common/lang_icon_on.png);
}

.header .header__sns {
  width: 33px;
  height: 33px;
  background-image: url(/image/common/sns_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all ease .3s;
  transition: all ease .3s;
}

.header .header__sns:hover {
  background-image: url(/image/common/sns_icon_on.png);
}


.header .header__sns .header__sub{
  padding: 30px 0;
}

.header .header__sns .header__sub > a{
  opacity: 0.5;
  transition: all ease .3s;
}

.header .header__sns .header__sub > a:hover{
  opacity: 1;
}

.header .header__sub-wrap {
  position: relative;
  cursor: pointer;
}

.header .header__sub-wrap.active::after, .header .header__sub-wrap:hover::after {
  opacity: 1;
}

.header .header__sub-wrap::after {
  content: "";
  width: 15px;
  height: 10px;
  background-image: url(/image/common/nav_arrow.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -25px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: all ease .5s;
  transition: all ease .5s;
  z-index: 1;
}

.header .header__sub {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 60px;
  width: 210px;
  padding: 35px 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#081431), to(#04060b));
  background: linear-gradient(to bottom, #081431, #04060b);
  border: 1px solid #38393d;
  display: none;
  opacity: 0;
  -webkit-box-shadow: 7px 7px 5px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 7px 7px 5px 0px rgba(0, 0, 0, 0.3);
  cursor: initial;
}

.header .header__sub > a {
  display: block;
  color: #666666;
  font-size: 12px;
  line-height: 1em;
  font-family: 'Pirulen';
  padding: 0 0 0 20px;
}

.header .header__sub > a:hover {
  color: #fff;
}

.header .header__sub > a:not(:last-child) {
  margin-bottom: 25px;
}

.header .header__sub--link {
  right: 0;
  left: auto;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.header .header__sub--link > a {
  padding: 0 0 0 25px;
}

.header .header__sub--link > a.active {
  color: #fff;
  background-image: url(/image/common/lang_chk.png);
  background-repeat: no-repeat;
  background-position: 9px center;
}

.header .header__sub--link.sns{
  display: flex;
  flex-direction:column;
  align-items: center;
  width: auto;
  padding: 20px 15px;
}

.header .header__sub--link.sns > a{
  padding-left: 0;
  margin: 8px 0px;
  opacity: 1;
}

.footer {
  background-color: #000;
  padding: 28px 0;
}

.footer.K0301{
  padding-bottom: 250px;
}

.footer .footer__inner {
  width: 1800px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: flex;
}

.footer .footer__inner > p {
  font-size: 16px;
  color: #4b4b4b;
  font-weight: 300;
  margin-left: 10px;
}

.footer .footer__nav{
  display: flex;
  margin-left: auto;
  align-items: center;
}

.footer .footer__nav button{
  color: rgba(256, 256, 256, .4);
  cursor: pointer;
  padding: 0;
  display: block;
}

.footer .footer__nav button:not(:last-child){
  margin-right: 30px;
  position: relative;
}

.footer .footer__nav button:not(:last-child)::before{
  content: "";
  width: 1px;
  height: 12px;
  background-color: rgba(256, 256, 256, .4);
  position: absolute;
  top: 5px;
  right: -16px;
}

.footer .footer__nav button:hover{
  color: #fff;
}

.footer .footer__nav .footer__nav-policy{
  font-weight: 800;
}


.bgm-btn {
  color: #fff;
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Pirulen';
  cursor: pointer;
  font-weight: 400;
}

.bgm-btn .bgm-btn__bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 8px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  height: 10px;
}

.bgm-btn .bgm-btn__bar div {
  width: 2px;
  height: 1px;
  background-color: #fff;
  margin-right: 3px;
}

.bgm-btn.play .bgm-btn__bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 8px;
  -webkit-transform: translateY(0px) rotate(180deg);
  transform: translateY(0px) rotate(180deg);
  height: 10px;
}

.bgm-btn.play .bgm-btn__bar div {
  width: 2px;
  height: 10px;
  background-color: #fff;
  margin-right: 3px;
  -webkit-animation: ease 1.7s stereo infinite;
  animation: ease 1.7s stereo infinite;
}

.bgm-btn .bgm-btn__bar div:nth-child(1) {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
  height: 10px;
}

.bgm-btn .bgm-btn__bar div:nth-child(2) {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
  height: 7px;
}

.bgm-btn .bgm-btn__bar div:nth-child(3) {
  margin-right: 0;
  height: 5px;
}

@-webkit-keyframes stereo {
  0% {
    height: 10px;
  }
  50% {
    height: 1px;
  }
  100% {
    height: 10px;
  }
}

@keyframes stereo {
  0% {
    height: 10px;
  }
  50% {
    height: 1px;
  }
  100% {
    height: 10px;
  }
}

.top-btn {
  position: fixed;
  bottom: 185px;
  right: 60px;
  z-index: 9999;
  cursor: pointer;
  display: none;
  opacity: 0;
}


@media all and (max-width: 1800px){
  .header .header__inner,
  .footer .footer__inner{
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    min-width: 1400px;
  }

  .header .header__inner{
    justify-content: space-between;
  }

  .header .header__link{
    margin-left: 0; 
  }
  .header .header__nav{
    margin-left: 0; 
    width: 100%;
    justify-content: center;
  }

.header .header__link > .header__sub-wrap,
.header .header__link > a {
  margin-left: 25px;
}

  .header .header__nav > div:not(:last-child){
    margin-right: 60px;
  }
}