.project {
  --font-color: #fcf5de;
  color: #e6eff2;
  position: relative;
  font-size: 20px;
}
.project picture {
  display: block;
}
.project img {
  max-width: 100%;
  vertical-align: bottom;
}
.project .cover_noise {
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.project .cover_noise::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/bg_noise.webp") top left repeat;
  background-size: min(1.5rem, 150px);
  animation: noise-animation 0.3s steps(5) infinite;
}

.page {
  position: relative;
  display: none;
  overflow: hidden;
}
.page.active {
  display: block;
}

.backtotop {
  position: fixed;
  z-index: 10;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: url("../images/gotop.png") center center no-repeat ;
  background-size: cover;
}

.kv {
  position: relative;
  z-index: 1;
}
.kv-img {
  position: relative;
  z-index: 2;
}
.kv-img img {
  width: 100%;
  vertical-align: bottom;
}

.menu {
  position: relative;
  top: 0;
  z-index: 10;
  display: block;
  padding: 10px 0;
  background: url("../images/bg_base_pattern.webp") top center no-repeat ;
  background-size: cover;
}
@media (min-width: 996px) {
  .menu {
    position: sticky;
  }
}
.menu .line2 {
  position: relative;
  margin: 5px 0;
  width: 110%;
  transform: translateX(-15%);
}
.menu .line3 {
  bottom: 20px;
  width: 110%;
  transform: translateX(-15%);
}
.menu__btn {
  position: fixed;
  z-index: 101;
  width: 50px;
  height: 50px;
  right: 10px;
  top: 10px;
  background: url("../images/btn-menu.png") center center no-repeat ;
  background-size: cover;
  color: #fff;
  font-size: 20px;
  padding-right: 4px;
}
@media (min-width: 996px) {
  .menu__btn {
    display: none;
  }
}
.menu__box {
  display: none;
}
.menu__box.show {
  position: fixed;
  z-index: 10;
  inset: 0;
  width: 100%;
  height: 100vh;
  background: url("../images/bg_base_pattern.webp") top center no-repeat ;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 996px) {
  .menu__box {
    position: relative;
    background: none;
    display: block;
  }
}
@media (min-width: 996px) {
  .menu ul {
    display: flex;
    justify-content: center;
  }
}
.menu ul li {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-family: var(--font), var(--MSIBodyFont);
  cursor: pointer;
  padding: 10px 25px;
  gap: 10px;
  text-shadow: #fff 2px 2px 5px;
  font-weight: bold;
  letter-spacing: 2px;
  text-transform: uppercase;
}
@media (min-width: 996px) {
  .menu ul li {
    font-size: 22px;
    margin: 0 5px 5px;
  }
}
.menu ul li:hover, .menu ul li.active {
  color: #000;
}
.menu ul li:hover::before, .menu ul li.active::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/link_bg.webp") center center repeat;
  -webkit-mask: url("../images/title-mask.png") center center repeat;
  mask: url("../images/title-mask.png") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.menu ul li:hover::after, .menu ul li.active::after {
  animation: none;
}
.menu ul li span {
  position: relative;
}

.footer {
  background: url("../images/footer-bg.png") right center no-repeat ;
  background-size: cover;
  text-align: center;
}
.footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 9px;
  background: url("../images/pattern-line.png") top left repeat-x;
}
.footer-logo {
  opacity: 0.1;
  width: 80%;
  margin: 0 auto;
  max-width: auto;
}
.footer__icons {
  padding: 50px 0;
}
.footer__icons img {
  max-width: 250px;
  height: auto;
}
@media (min-width: 996px) {
  .footer__icons img {
    height: 150px;
    max-width: none;
  }
}
.footer .copyright {
  opacity: 0.6;
  padding-bottom: 40px;
}

.intro {
  position: relative;
  z-index: 1;
  text-align: center;
}
@media (min-width: 996px) {
  .intro {
    padding: 80px 0 !important;
  }
}
.intro-text {
  text-align: center;
  padding-bottom: 40px;
}
@media (min-width: 996px) {
  .intro-text {
    position: relative;
    font-size: 28px;
    padding-bottom: 60px;
  }
}
.intro-text span {
  display: inline-block;
  background: url("../images/mask_bg.webp") center center no-repeat no-repeat;
  background-size: cover;
  color: #222;
  margin: 5px;
  padding: 5px 10px;
}
.intro__date {
  position: relative;
  margin-top: 60px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 996px) {
  .intro__date {
    padding-bottom: 100px;
    flex-direction: row;
    justify-content: space-between;
  }
}
.intro__dateCard {
  position: relative;
  text-align: left;
}
@media (min-width: 996px) {
  .intro__dateCard {
    flex: 1;
  }
  .intro__dateCard:nth-child(2) {
    transform: translateY(25px);
  }
  .intro__dateCard:nth-child(3) {
    transform: translateY(-25px);
  }
}
.intro__dateCard::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -5px;
  left: 5px;
  width: 1px;
  height: 100%;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line_vertical3.webp") center center repeat;
  mask: url("../images/mask_line_vertical3.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.intro__dateCard::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 0px;
  left: 5px;
  width: 100%;
  height: 1px;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.intro__dateCard h3 {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  font-size: 17px;
  font-weight: 400;
}
.intro__dateCard h3 span {
  position: relative;
}
.intro__dateCard h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-mask: url("../images/title-mask.png") center center no-repeat;
  mask: url("../images/title-mask.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  background: linear-gradient(to right, #3d0101, #ca1414);
}
.intro__dateCard p {
  padding: 25px 40px;
  display: flex;
  justify-content: center;
}
@media (min-width: 996px) {
  .intro__dateCard p {
    padding: 15px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
  }
}
.intro__dateCard-line-1, .intro__dateCard-line-2 {
  right: 0;
  top: 0;
}
.intro__btn {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: 0 auto;
  max-width: 800px;
}
@media (min-width: 996px) {
  .intro__btn {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
  }
  .intro__btn a, .intro__btn button {
    flex: 1;
  }
}
.intro__note {
  width: 100%;
  margin: 0 auto;
  max-width: 1000px;
  padding-top: 40px;
  font-size: 16px;
  color: #999;
}

.countBox {
  position: relative;
  background: url("../images/countBox-bg.jpg") center center no-repeat no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  padding: 25px;
  margin: 3px;
}
@media (min-width: 996px) {
  .countBox {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }
}
.countBox-img img {
  width: 150px;
}
.countBox p {
  position: relative;
}
.countBox p b {
  font-size: 150%;
  -webkit-mask: url("../images/title-mask.png") center center no-repeat;
  mask: url("../images/title-mask.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  color: #d10c0c;
}
@media (min-width: 996px) {
  .countBox p {
    font-size: 28px;
  }
}
.countBox .top {
  top: 0;
  left: 0;
}
.countBox .top2 {
  top: -10px;
  right: -10px;
  width: 80%;
}
.countBox .bottom {
  bottom: 0;
  right: 0;
}
.countBox .left {
  left: 0;
  top: 0;
}
.countBox .right {
  right: 0;
  top: 0;
}
.countBox .right2 {
  right: -10px;
  top: -20px;
  height: 80%;
}

.redeem {
  position: relative;
  text-align: center;
}
.redeem__box {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}
@media (min-width: 996px) {
  .redeem__box {
    flex-direction: row;
    gap: 50px;
  }
}
@media (min-width: 996px) {
  .redeem__item {
    flex: 1;
  }
}
.redeem__title {
  font-weight: bold;
  padding: 10px 0;
}
.redeem__icon {
  width: 100%;
  margin: 0 auto;
  max-width: 100px;
  background: url("../images/link_bg.webp") center center no-repeat no-repeat;
  background-size: cover;
  padding: 15px;
  border-radius: 50%;
  box-shadow: #000 5px 5px 15px;
}
.redeem__btn {
  padding: 20px 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}
@media (min-width: 996px) {
  .redeem__btn {
    flex-direction: row;
    gap: 20px;
  }
  .redeem__btn a, .redeem__btn button {
    flex: 1;
  }
}
.redeem__more {
  position: relative;
  transition: all 0.25s ease-out;
}
.redeem__more.hide {
  -webkit-mask: url("../images/redeem-more-mask.png") top left repeat-x;
  mask: url("../images/redeem-more-mask.png") top left repeat-x;
  -webkit-mask-size: cover;
  mask-size: cover;
  height: 70px;
}
.redeem__text {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  padding: 15px;
  text-align: left;
}
.redeem__text h4 {
  padding: 10px 0;
}
.redeem__text ul {
  margin-left: 20px;
  padding-bottom: 20px;
}
.redeem__text ul li {
  list-style: disc;
  font-size: 16px;
}
.redeem__showBtn {
  position: relative;
  z-index: 10;
  text-align: center;
  width: 60px;
  height: 60px;
  margin: 20px auto 0;
  transition: all 0.25s ease-out;
  background: url("../images/btn-less.png") center center no-repeat ;
  background-size: cover;
}
.redeem__showBtn.hide {
  background: url("../images/btn-plus.png") center center no-repeat ;
  background-size: cover;
}
.redeem__showBtn:hover {
  filter: drop-shadow(0 0 0.5rem rgba(239, 240, 233, 0.5)) drop-shadow(0 0 0.5rem rgba(242, 242, 242, 0.7));
}

.model {
  position: relative;
  text-align: center;
}
.model h2 {
  padding: 0 25px;
}
.model-imgBox {
  position: relative;
}
.model .logo {
  position: absolute;
  z-index: 2;
  right: 5%;
  bottom: 20%;
  width: 40%;
}
.model__box {
  padding: 25px;
  padding-bottom: 30px;
}
.model__typeTitle {
  position: relative;
}
.model__typeTitle .top {
  top: -10px;
}
.model__typeTitle .bottom {
  position: relative;
  margin-top: -10px;
}
.model__list:not(:first-child) {
  margin-top: 60px;
}

.buynow__filters {
  width: 100%;
  margin: 0 auto;
  max-width: 1000px;
  padding: 0px 40px 40px;
}
@media (min-width: 996px) {
  .buynow__filters {
    display: flex;
  }
}
.buynow__filters button {
  margin: 10px;
}
.buynow__filters button.active {
  box-shadow: rgba(240, 255, 0, 0.7) 0 0 30px;
}
.buynow__filters button:hover {
  box-shadow: rgba(240, 255, 0, 0.7) 0 0 30px;
  transform: translateY(1px);
}
.buynow__pdSeries {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 25px 0;
}
.buynow__pdSeries button {
  position: relative;
  margin: 10px;
  color: #fff;
  padding: 20px 25px;
  -webkit-mask: url("../images/title-mask.png") top center no-repeat;
  mask: url("../images/title-mask.png") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  background: #333;
}
.buynow__pdSeries button::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 50%;
  width: 50%;
  height: 1px;
  background: #fff;
  -webkit-mask: url("../images/title-mask.png") top center no-repeat;
  mask: url("../images/title-mask.png") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  transform: translateX(-50%);
}
.buynow__pdSeries button::after {
  content: "";
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 50%;
  height: 1px;
  background: #fff;
  -webkit-mask: url("../images/title-mask.png") top center no-repeat;
  mask: url("../images/title-mask.png") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  transform: translateX(-90%);
}
.buynow__pdSeries button.active, .buynow__pdSeries button:hover {
  background: #b11818;
}
.buynow__list {
  text-align: left;
  position: relative;
}
.buynow__list::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0px;
  right: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") top center no-repeat;
  mask: url("../images/mask_line1.webp") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.buynow__list .swiper-container {
  overflow: hidden;
}
.buynow__list__btn {
  position: absolute;
}
.buynowPdCard {
  position: relative;
}
.buynowPdCard::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line_vertical3.webp") center center repeat;
  mask: url("../images/mask_line_vertical3.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.buynowPdCard::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  right: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.buynowPdCard__img {
  position: relative;
  padding: 20px;
}
.buynowPdCard__img img {
  width: 80%;
  margin: 0 auto;
  max-width: 250px;
}
.buynowPdCard__text {
  padding: 0 20px 20px;
}
.buynowPdCard__title {
  font-size: var(--title-md);
  padding: 10px 0;
  font-size: 18px;
  text-align: center;
}
.buynowPdCard button, .buynowPdCard a {
  display: block;
  text-align: center;
  width: 100%;
  margin: 10px auto;
  font-size: 15px;
  background: url("../images/link_bg.webp") center center no-repeat no-repeat;
  background-size: cover;
  color: #000;
  padding: 5px;
}
.buynowPdCard button:hover, .buynowPdCard a:hover {
  filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.75)) brightness(1.2);
}
@media (min-width: 996px) {
  .buynowPdCard button, .buynowPdCard a {
    font-size: 18px;
  }
}
@media (min-width: 996px) {
  .buynowPdCard__btn {
    display: flex;
    gap: 10px;
  }
}
.buynow__pager {
  position: relative;
  height: 50px;
  line-height: 50px;
  pointer-events: none;
}

.popout {
  position: fixed;
  z-index: 110;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #c9c9c9;
  overflow-y: auto;
  display: none;
}
.popout__wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  position: relative;
  background: #111;
  top: 50%;
  transform: translateY(-70%);
}
.popout__wrapper::before {
  content: "";
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 1px;
  top: 5px;
  left: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.popout__wrapper::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 1px;
  bottom: 5px;
  left: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line3.webp") center center repeat;
  mask: url("../images/mask_line3.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.popout__block-close {
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 1;
  width: 45px;
  height: 45px;
  cursor: pointer;
  background: url("../images/btn-close.png") center center no-repeat ;
  background-size: cover;
}
.popout__block-close:hover {
  filter: drop-shadow(0 0 5px #fff brightness(1.2));
}
@media (min-width: 996px) {
  .popout__block-close {
    width: 50px;
    height: 50px;
    right: 30px;
    top: 30px;
  }
}
.popout__inner {
  position: relative;
  z-index: 5;
  padding: 40px;
}
.popout__dm {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
.popout__dm a {
  display: inline-flex;
}
.popout__dm img {
  background: #fff;
  height: 70px;
  width: auto;
  border-radius: 5px;
  overflow: hidden;
}

@media (min-width: 996px) {
  .about {
    padding: 80px 0 !important;
  }
}
.about__box {
  position: relative;
  z-index: 0;
  overflow-x: hidden;
  background: url("../images/about-bg.jpg") center center no-repeat ;
  background-size: cover;
}
@supports (background-image: -webkit-image-set(url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.webp") 1x)) {
  .about__box {
    background-image: -webkit-image-set(url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.webp") 1x, url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.jpg") 1x);
  }
}
@supports (background-image: image-set(url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.webp") type("image/webp") 1x)) {
  .about__box {
    background-image: image-set(url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.webp") type("image/webp") 1x, url("https://storage-asset.msi.com/event/2025/CND/resident-evil-requiem-game-bundle/images/about-bg.jpg") type("image/jpeg") 1x);
  }
}
@media (min-width: 996px) {
  .about__box {
    margin-top: -100px;
    min-height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.about__box::before {
  content: "";
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/movie_shape.webp") top center no-repeat no-repeat;
  background-size: cover;
  pointer-events: none;
}
.about__box::after {
  content: "";
  position: absolute;
  z-index: 102;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/movie_shape.webp") bottom center no-repeat no-repeat;
  background-size: cover;
  pointer-events: none;
}
.about__title {
  position: relative;
  z-index: 3;
  text-align: center;
}
.about-text {
  padding-bottom: 40px;
}
@media (min-width: 996px) {
  .about-text {
    position: relative;
    font-size: 28px;
  }
}
.about-text span {
  display: inline-block;
  background: url("../images/mask_bg.webp") center center no-repeat no-repeat;
  background-size: cover;
  color: #222;
  margin: 5px;
  padding: 5px 10px;
}
.about__bg {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__bg::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}
.about__content {
  position: relative;
  inset: 0;
  z-index: 5;
  padding: 100px 25px;
}
.about__content p {
  padding-bottom: 20px;
}
.about__story {
  width: 80%;
  margin: 0 auto;
  max-width: 1000px;
  text-align: center;
}
@media (min-width: 996px) {
  .about__story {
    letter-spacing: 2px;
  }
}
.about-btn {
  padding-top: 20px;
}
@media (min-width: 996px) {
  .about-btn {
    width: 50%;
    margin: 0 auto;
  }
}

.vd-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.vd-container iframe, .vd-container object, .vd-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.common_bg_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.common_bg_img.base {
  background: url("../images/bg_base_pattern.webp") top center repeat;
  z-index: -100;
}
.common_bg_img.lattice {
  background: url("../images/bg_lattice_pattern.webp") top center repeat;
  background-size: 50px auto;
  mix-blend-mode: overlay;
  z-index: -99;
}
.common-deco {
  position: absolute;
  z-index: 0;
}
.common-deco img {
  width: 100%;
}
.common-deco-blood-1 {
  width: 30%;
  top: 0%;
  left: -10%;
}
.common-deco-blood-2 {
  width: 25%;
  top: 20%;
  right: -10%;
}
.common-deco-fingerprint {
  display: none;
}
@media (min-width: 996px) {
  .common-deco-fingerprint {
    display: block;
    position: absolute;
    z-index: 10;
    top: 10%;
    left: 80%;
    transform: rotate(120deg);
    width: 150px;
  }
}
.common-deco-fingerprint-2 {
  display: none;
}
@media (min-width: 996px) {
  .common-deco-fingerprint-2 {
    display: block;
    position: absolute;
    z-index: -1;
    bottom: -5%;
    left: 80%;
    transform: rotate(120deg);
    width: 150px;
  }
}
.common-deco-fingerprint-3 {
  display: none;
}
@media (min-width: 996px) {
  .common-deco-fingerprint-3 {
    display: block;
    position: absolute;
    z-index: -1;
    bottom: -15%;
    right: 5%;
    width: 120px;
  }
}
.common-container {
  width: 100%;
  margin: 0 auto;
  max-width: 1330px;
  padding: 25px;
}
.common-title {
  display: inline-block;
  position: relative;
  font-size: 26px;
  font-weight: 400;
  margin-bottom: 25px;
  font-family: var(--font), var(--MSIBodyFont);
}
@media (min-width: 996px) {
  .common-title {
    font-size: 54px;
  }
}
.common-title span {
  position: relative;
  display: inline-block;
}
.common-title span:nth-child(1), .common-title span:nth-child(5), .common-title span:nth-child(7), .common-title span:nth-child(10), .common-title span:nth-child(25), .common-title span:nth-child(30) {
  -webkit-mask: url("../images/title-mask.png") center center no-repeat;
  mask: url("../images/title-mask.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common-title span:nth-child(3), .common-title span:nth-child(15), .common-title span:nth-child(17), .common-title span:nth-child(20) {
  -webkit-mask: url("../images/text-mask.png") top left no-repeat;
  mask: url("../images/text-mask.png") top left no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common-title span:nth-child(2), .common-title span:nth-child(9), .common-title span:nth-child(12), .common-title span:nth-child(19) {
  -webkit-mask: url("../images/title-text-mask-1.png") center center no-repeat;
  mask: url("../images/title-text-mask-1.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common-title span:nth-child(15), .common-title span:nth-child(21), .common-title span:nth-child(22), .common-title span:last-child, .common-title span:nth-child(26), .common-title span:nth-child(31) {
  -webkit-mask: url("../images/title-text-mask-2.png") center center no-repeat;
  mask: url("../images/title-text-mask-2.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common-title::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 50%;
  width: 50%;
  height: 1px;
  background: #fff;
  -webkit-mask: url("../images/title-mask.png") top center no-repeat;
  mask: url("../images/title-mask.png") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  transform: translateX(-50%);
}
.common-title::after {
  content: "";
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 50%;
  height: 1px;
  background: #fff;
  -webkit-mask: url("../images/title-mask.png") top center no-repeat;
  mask: url("../images/title-mask.png") top center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  transform: translateX(-90%);
}
.common-subtitle {
  position: relative;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 25px;
  font-family: var(--font), var(--MSIBodyFont);
}
.common-subtitle::before {
  content: "";
  position: absolute;
  width: 10%;
  height: 1px;
  top: 0;
  left: 50%;
  transform: translateX(-20%);
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common-subtitle::after {
  content: "";
  position: absolute;
  width: 10%;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-60%);
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
@media (min-width: 996px) {
  .common-subtitle {
    font-size: 36px;
    letter-spacing: 4px;
  }
}
.common-subtitle span {
  position: relative;
  -webkit-mask: url("../images/title-mask.png") center center no-repeat;
  mask: url("../images/title-mask.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common__sectionTitle {
  position: relative;
  -webkit-mask: url("../images/sectionTitle-mask.png") center center no-repeat;
  mask: url("../images/sectionTitle-mask.png") center center no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.common__sectionTitle__text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 50%;
  text-align: left;
}
.common__sectionTitle img {
  width: 100%;
  vertical-align: bottom;
}
.common__sectionTitle-img {
  display: block;
  width: 100%;
}
.common-btn {
  display: block;
  max-width: 100%;
  position: relative;
  margin: 8px;
  cursor: pointer;
}
.common-btn::after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 26px;
  height: 10px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  filter: invert(1);
  background: url("../images/icon_arrow_small.webp") center center no-repeat no-repeat;
  background-size: cover;
}
@media (min-width: 996px) {
  .common-btn::after {
    right: 20px;
  }
}
.common-btn:hover img {
  filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.75)) brightness(1.2);
}
.common-btn img {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.common-btn span {
  position: relative;
  z-index: 2;
  color: #222;
  display: block;
  padding: 15px 45px;
}
.common-btn .top {
  top: -4px;
  left: -2px;
  width: calc(100% + 4px);
}
.common-btn .bottom {
  bottom: -4px;
  right: -2px;
  width: calc(100% + 4px);
}
.common-btn .left {
  left: -4px;
  top: 0;
  height: calc(100% + 4px);
}
.common-btn .right {
  right: -4px;
  top: 0;
  height: calc(100% + 4px);
}

.slick-arrow {
  position: absolute;
  width: 40px;
  height: 15px;
  font-size: 0;
  padding: 0;
  bottom: -30px;
  background: url("../images/icon_arrow_small.webp") center center no-repeat ;
  background-size: cover;
}
.slick-arrow:hover {
  filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.75)) brightness(1.2);
}
.slick-prev {
  left: 50%;
  transform: translateX(-300%);
}
.slick-next {
  right: 50%;
  transform: rotate(180deg) translateX(-300%);
}
.slick-disabled {
  opacity: 0.5;
}

.popup {
  position: fixed;
  z-index: 110;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #c9c9c9;
  overflow-y: auto;
  display: none;
}
.popup.show {
  display: flex;
  align-items: center;
}
.popup__wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  position: relative;
}
.popup__wrapper::before {
  content: "";
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 1px;
  top: 5px;
  left: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.popup__wrapper::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 1px;
  bottom: 5px;
  left: 0;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line3.webp") center center repeat;
  mask: url("../images/mask_line3.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.popup__wrapper__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.popup__wrapper__bg--light {
  background: linear-gradient(0deg, rgba(251, 247, 234, 0.5), rgba(10, 8, 0, 0.5));
  filter: blur(6px);
}
.popup__wrapper__bg--dark {
  background: url("../images/bg_base_pattern.webp") top center no-repeat ;
  background-size: cover;
  box-shadow: #777 0 10px 20px #111 0 0 30px;
}
.popup__inner {
  position: relative;
  z-index: 5;
  padding: 40px;
}
.popup__header {
  position: relative;
  text-align: center;
}
.popup__header h2 {
  font-size: min(max(3.5vw, 22px), 30px);
  font-family: var(--font), var(--MSIBodyFont);
  color: #fff;
  padding: 25px;
}
.popup__header__line {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 60%;
  margin: 0 auto;
  max-width: auto;
  height: 2px;
  background: url("../images/mask_line3.webp") center center no-repeat repeat;
  background-size: cover;
}
.popup__body {
  padding: 35px;
}
@media (min-width: 996px) {
  .popup__body {
    width: 80%;
    margin: 0 auto;
    max-width: auto;
  }
}
.popup__close {
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 1;
  width: 45px;
  height: 45px;
  cursor: pointer;
  background: url("../images/btn-close.png") center center no-repeat ;
  background-size: cover;
}
.popup__close:hover {
  filter: drop-shadow(0 0 5px #fff brightness(1.2));
}
@media (min-width: 996px) {
  .popup__close {
    width: 50px;
    height: 50px;
    right: 30px;
    top: 30px;
  }
}

@media (min-width: 768px) {
  .lang .popup__body {
    position: relative;
    padding-bottom: 70px;
  }
}
@media (min-width: 996px) {
  .lang .popup__body {
    min-height: 500px;
  }
}
.lang__nav {
  text-align: center;
}
.lang__nav li {
  padding: 15px;
  border-bottom: #3c0909 5px solid;
  cursor: pointer;
  font-weight: bold;
  font-size: 20px;
}
.lang__nav li.lang__nav--active, .lang__nav li:hover {
  border-color: #b11818;
  color: #b11818;
}
@media (min-width: 768px) {
  .lang__nav {
    display: flex;
  }
  .lang__nav li {
    flex: 1;
    margin-right: 10px;
  }
  .lang__nav li:last-child {
    margin-right: 0;
  }
}
.lang__list {
  padding-top: 25px;
}
.lang__list li {
  display: inline-block;
  width: calc(50% - 12px);
  margin: 5px;
}
@media (min-width: 768px) {
  .lang__list li {
    width: calc(33% - 13px);
  }
}
.lang__list a {
  position: relative;
  display: block;
  background: linear-gradient(45deg, #300, #852020, #300);
  color: #fff;
  padding: 10px;
  text-align: center;
}
.lang__list a::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(45deg, #300, #852020, #300);
  -webkit-mask: url("../images/title-mask.png") center center repeat;
  mask: url("../images/title-mask.png") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.lang__list a span {
  display: block;
  position: relative;
  z-index: 10;
}
.lang__list a:hover {
  background: #b11818;
  color: #000;
}
.lang__list-box {
  display: none;
}
.lang__list-box:first-child {
  display: block;
}
.lang-note {
  padding-top: 25px;
  text-align: center;
  font-size: 16px;
  color: #999;
}
@media (min-width: 768px) {
  .lang-note {
    position: absolute;
    width: 100%;
    bottom: 45px;
    left: 0;
  }
}

.terms {
  font-size: 16px;
  line-height: 1.5;
}
.terms-title {
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  margin-top: 20px;
}
.terms ul {
  margin-left: 20px;
  padding-bottom: 20px;
}
.terms ul li {
  list-style: disc;
  padding: 8px 0;
}
.terms ul li ol {
  margin-top: 15px;
  margin-bottom: 10px;
}
.terms ul li ol li {
  list-style: none;
  border: #444 1px solid;
  padding: 10px;
  text-align: center;
}
@media (min-width: 768px) {
  .terms ul li ol {
    display: flex;
  }
  .terms ul li ol li {
    flex: 1;
  }
}
.terms p {
  padding-bottom: 20px;
}
.terms a {
  color: #fff;
  border-bottom: #fff 1px solid;
}
.terms a:hover {
  border: none;
}

.e-tailer .popup__inner {
  align-items: center;
}
.e-tailer .popup__header {
  padding-top: 20px;
}
.e-tailer__list {
  text-align: center;
}
@media (min-width: 768px) {
  .e-tailer__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.e-tailer__list a {
  display: block;
  padding: 15px;
  background: #fff;
  border-radius: 5px;
  text-align: center;
  margin: 10px;
  border: #fff 3px solid;
  color: #000;
}
.e-tailer__list a img {
  margin: 0 auto;
  height: 50px;
  width: auto;
}
@media (min-width: 768px) {
  .e-tailer__list a {
    width: calc(33% - 30px);
  }
}
.e-tailer__list a:hover {
  border-color: #b11818;
}

.keyOut .popup__body {
  font-size: 22px;
  text-align: center;
  padding: 60px 0;
}

.line-horizonal {
  position: absolute;
  width: 100%;
  height: 1px;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line1.webp") center center repeat;
  mask: url("../images/mask_line1.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  transform-origin: center;
}
.line-vertical {
  position: absolute;
  width: 1px;
  height: 100%;
  background: #e6eff2;
  -webkit-mask: url("../images/mask_line_vertical3.webp") center center repeat;
  mask: url("../images/mask_line_vertical3.webp") center center repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.line-fix {
  position: relative;
  margin: 5px 0;
  width: 110%;
  transform: translateX(-15%);
}
.line-animate {
  mask-size: contain;
  mask-repeat: repeat;
  transform: translateZ(0);
  pointer-events: none;
}

@keyframes noise-animation {
  0% {
    background-position: 0 0;
  }
  10% {
    background-position: -5% -5%;
  }
  20% {
    background-position: -10% 5%;
  }
  30% {
    background-position: 5% -10%;
  }
  40% {
    background-position: -5% 15%;
  }
  50% {
    background-position: -10% 5%;
  }
  60% {
    background-position: 5% 5%;
  }
  70% {
    background-position: 0 10%;
  }
  80% {
    background-position: -5% -5%;
  }
  90% {
    background-position: 10% 5%;
  }
  100% {
    background-position: 5% 5%;
  }
}
