@charset "UTF-8";
/*import*/
@import url(./reset.css);
@import url(./font.css);

/*--------*/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
img {
  width: 100%;
}

.sp,
.sp_ios {
  display: none;
}
.pc {
  display: block;
}

#wrapper {
  overflow: hidden;

  font-size: 62.5%;
  width: 100%;
  max-width: 2560px;
  background-color: #ffffff;
  color: #000000;

  margin: 0 auto;
  position: relative;

  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ Std W2", "メイリオ", "meiryo", "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Geneva, Arial, Verdana, sans-serif,
    "YuGothic", "ms pgothic", "ms pゴシック", "osaka";
}

#kv {
  width: 100%;
  margin: 0 0 12% 0;
  position: relative;

  background: transparent url(../img/kv_pc.png) 0 0 / contain no-repeat;
  padding-top: calc((1593 / 2878) * 100%);
}

/* 多言語ページティザー用 */
#kv.teaser {
  width: 100%;
  margin: 0;
  position: relative;

  background: transparent url(../img/teaser_pc.png) center center / cover no-repeat;
  padding-top: 90vh;
}
#kv.kr {
  background: transparent url(../img/teaser_pc_kr.png) center center / cover no-repeat;
}

/* 多言語ページ用マージン */
#kv.lang_ma {
  margin: 0 0 3% 0;
}

/* 言語選択BOX */
#lang_box_set {
  position: absolute;
  z-index: 998;
  /* width: 6%; */
  width: auto;
  /* top: 1.5%; */
  top: 0.5%;
  right: 7%;
  /* padding: 0.5%; */
  /* text-align: center; */
  background: #ffffff;
  box-sizing: border-box;
  border: 2px solid #0088cc;
  border-radius: 18px;
}
#lang_box_set > label {
  position: relative;
  display: block;
  /* width: 100%; */
  height: 100%;
  /* padding: 0.5em 2em 0.5em 1.5em; */
}
#lang_box_set > label::after {
  font-family: "Font Awesome 5 Free";
  content: "\f0dd";
  font-weight: 900;
  color: #0088cc;
  font-size: 1.25em;
  position: absolute;
  z-index: 1;
  right: 0.66em;
  top: 0.2em;
}
#lang_select {
  cursor: pointer;
  position: relative;
  z-index: 2;
  /* text-align: center; */
  width: auto;
  appearance: none;
  outline: none;
  display: inline-block;
  padding: 0.5em 2em 0.5em 1.5em;
}
/* #lang_select::after {
    font-family: "Font Awesome 5 Free";
    content: '\f0dd';
    font-weight: 900;
    color: #0088CC;
    font-size: 1.25em;
    position: absolute;
    right: 0.66em;
    top: 0.2em;
} */

#kv .logo1,
#kv .logo2 {
  position: absolute;
  z-index: 1;
  width: 7.25%;
  max-width: 80px;
}

#kv .logo1 {
  top: 0;
  left: 0;

  background: transparent url(../img/logo_sw.svg) 0px 0px / contain no-repeat;
  padding-top: calc((100 / 100) * 7.25%);
}
#kv .logo2 {
  top: 0;
  right: 0;

  background: transparent url(../img/logo_neos.svg) 0px 0px / contain no-repeat;
  padding-top: calc((100 / 100) * 7.25%);
}
#kv .ns_logo {
  position: absolute;
  top: 0.5em;
  left: 0;
  z-index: 1;
}
#kv .game_logo {
  position: absolute;
  display: flex;
  top: 0.5em;
  left: 0;
  z-index: 1;
}
#kv .ps_logo {
  position: absolute;
  top: 0.5em;
  left: 20em;
  z-index: 1;
}
#kv .sitiker {
  display: block;
  position: absolute;
  z-index: 1;
  top: 74%;
  right: 20.5%;
  left: 64%;
  width: 16.667%;
  transition-duration: 0.25s;
}
#kv .lr_sticker {
  width: 16%;
  top: 68%;
  left: 20%;
}
#kv .ps_sticker {
  width: 12%;
  top: 60%;
  left: 20%;
}
#kv .st_sticker {
  width: 12%;
  top: 60%;
  left: 49.5%;
}
#kv .gbd_sticker {
  width: 12%;
  top: 62%;
  left: 22%;
}
#kv .summer_sticker {
  width: 18%;
  top: 68%;
  right: 20%;
}
#kv .sitiker:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#kv .sitiker_cd {
  display: block;
  position: absolute;
  z-index: 1;
  top: 55%;
  left: 20%;
  width: 10%;
}
#kv .sitiker_cdopen {
  display: block;
  position: absolute;
  z-index: 1;
  top: 58.72%;
  left: 21.53%;
  width: 15.14%;
}
#kv .sitiker.degs,
#kv .sitiker_cd.degs {
  transform: rotate(-15deg);
}
#kv .open {
  position: absolute;
  z-index: 1;
  display: block;
  width: 9.2%;
  top: 48%;
  left: 58%;

  background: transparent url(../img/sticker_onslae.svg) 0px 0px / contain no-repeat;
  padding-top: calc((106 / 132) * 9.2%);

  display: none;
}
#kv .teaser_open {
  display: block;
  /*    width: 33%;*/
  width: 40%;
  margin: 0 auto;
  background: transparent url(../img/teaser_comming.png) 0px 0px / contain no-repeat;
  /*    padding-top: calc((211/426) * 33%);*/
  padding-top: calc((211 / 540) * 40%);
}
#kv .start_date {
  position: absolute;
  width: 90%;
  left: 50%;
  transform: translateX(-50%);
  bottom: -34%;
  transition: all 0.5s;
}
.kr_ver {
  bottom: -56% !important;
}
.tw_ver {
  bottom: -68% !important;
}
.cn_ver {
  bottom: -80% !important;
}
#kv .teaser_open.en_date {
  width: 48%;
  background: transparent url(../img/teaser_date_en.png) 0px 0px / contain no-repeat;
  /*    padding-top: calc((211/426) * 33%);*/
  padding-top: calc((200 / 700) * 60%);
  margin-top: -3%;
}
/* #kv .teaser_open.on_date {
  width: 46%;
  background: transparent url(../img/onsale_day.png) 0px 0px / contain no-repeat;
  padding-top: calc((210 / 680) * 46%);
  margin-top: -3%;
} */
#kv .teaser_open.on_date {
  width: 46%;
  background: transparent url(../img/onsale_day_en.png) 0px 0px / contain no-repeat;
  padding-top: calc((210 / 680) * 46%);
  margin-top: -3%;
}

#kv .inner {
  position: absolute;
  z-index: 1;
  top: 12%;
  left: 0;
  right: 0;

  width: 48.2%;
  margin: auto;
}
#kv.teaser .inner {
  top: 4%;
}

#kv .inner h1 {
  color: #ffffff;

  line-height: 1;
  text-align: center;
  letter-spacing: 0.32em;

  text-shadow: 0px 0px 8px #0088cc, 0px 0px 12px #0088cc;
}
#kv .inner.mllang h1 {
  line-height: 1.5;
}

#kv .inner h2 {
  width: 74.64%;
  max-width: 526px;
  margin: 0 auto;
  background: transparent url(../img/kv_logo_pc.svg) 0px 0px / contain no-repeat;
  padding-top: calc((220 / 490) * 74.64%);
}
#kv .inner h2.pt {
  width: 70%;
  max-width: 488px;
  background: transparent url(../img/kv_logo_pc_pt.png) 0px 0px / contain no-repeat;
  padding-top: calc((541 / 988) * 70%);
}
#kv .inner h2.es {
  width: 70%;
  max-width: 488px;
  background: transparent url(../img/kv_logo_pc_es.png) 0px 0px / contain no-repeat;
  padding-top: calc((541 / 988) * 70%);
}
#kv .inner h2.de {
  width: 70%;
  max-width: 488px;
  background: transparent url(../img/kv_logo_pc_de.png) 0px 0px / contain no-repeat;
  padding-top: calc((541 / 988) * 70%);
}
#kv .inner h2.en {
  width: 70%;
  max-width: 488px;
  background: transparent url(../img/kv_logo_pc_en.png) 0px 0px / contain no-repeat;
  padding-top: calc((541 / 988) * 70%);
}
#kv .inner h2.kr {
  width: 40%;
  max-width: 488px;
  background: transparent url(../img/kv_logo_pc_kr.png) 0px 0px / contain no-repeat;
  padding-top: calc((363 / 488) * 40%);
}
#kv .inner h2.cn {
  width: 60%;
  max-width: 607px;
  background: transparent url(../img/kv_logo_pc_cn.png) 0px 0px / contain no-repeat;
  padding-top: calc((259 / 607) * 60%);
}
#kv .inner h2.tw {
  width: 60%;
  max-width: 609px;
  background: transparent url(../img/kv_logo_pc_tw.png) 0px 0px / contain no-repeat;
  padding-top: calc((257 / 609) * 60%);
}

#kv .inner .btn {
  cursor: pointer;
  width: 55.33%;
  max-width: 384px;
  /* margin: 0 auto; */
  margin: -3% auto 0 auto;
  background: transparent url(../img/kv_btn.svg) 0px 0px / contain no-repeat;
  padding-top: calc((128 / 384) * 55.33%);
}
/* #kv .inner .onsale {
  width: 50%;
  max-width: 346px;
  margin: -7% auto 0 auto;
  background: transparent url(../img/kv_on_sale.png) 0px 0px / contain no-repeat;
  padding-top: calc((310 / 692) * 50%);
} */
#kv .inner .onsale {
  width: 100%;
  max-width: 220px;
  margin: -3% auto 0;
  padding-top: calc((213 / 351) * 100%);
  background: transparent url(../img/kv_days_jp.png) 0px 0px / contain no-repeat;
}

#kv .inner .btn:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}

#kv .notice {
  position: absolute;
  z-index: 1;

  top: 89.125%;
  left: 0;
  right: 0;

  width: 58.33%;
  max-width: 840px;
  margin: auto;
  background: #ffffff;

  box-sizing: border-box;
  border-radius: 16px;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
}
#kv .notice .notice_box {
  position: relative;
  padding: 3.15% 5.24%;
}
#kv .notice .notice_box .notice_inner {
  width: 100%;
  height: 9vw;
  max-height: 130px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#kv .notice .notice_box .notice_inner::-webkit-scrollbar {
  display: none;
}

#kv .notice .notice_box .notice_inner dl {
  box-sizing: border-box;
  border-bottom: 2px solid #cce2f2;

  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;

  padding: 0 0 2% 0;
  margin: 0 0 2% 0;
}
#kv .notice .notice_box .notice_inner dl:nth-last-of-type(1) {
  box-sizing: border-box;
  border-bottom: none;
}

#kv .notice .notice_box .notice_inner dt {
  width: 13.33%;
  line-height: 1.4;
  color: #0088cc;
}
#kv .notice .notice_box .notice_inner dd {
  width: 86.66%;
  line-height: 1.4;
  color: #616161;
}
#kv #kv_bg {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0px;
  z-index: 0;
}

/* トップday個別リンク */
.day_link {
  display: flex;
  width: 90%;
  margin: 0 auto;
  justify-content: space-between;

  position: absolute;
  bottom: -34%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
  .day_link {
    bottom: -6%;
  }
}

.day_link li {
  list-style-type: none;
  width: 24%;
}
.day_link li a img {
  width: 98%;
  margin: 0 auto;
}

#global_nav .inner {
  width: 71.1111%;
  max-width: 1024px;
  min-width: 720px;
  margin: 0 auto;
}

#global_nav .inner .nav_box {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0 0 9.765% 0;
}

/* 追加 */
#global_nav .tentative .nav_box {
  justify-content: center;
}
#global_nav .tentative .nav_box .nav_icon {
  margin: 0 1%;
}

#global_nav .inner .nav_box:nth-last-of-type(1) {
  margin: 0;
}
#global_nav .inner .nav_box .nav_icon {
  position: relative;
  display: block;
  /* width: 24%; */
  width: 18.75%;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
  transition-duration: 0.25s;
}
#global_nav .inner .nav_box a.nav_icon:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#global_nav .inner .nav_box .nav_icon .nav_img {
  width: 100%;

  box-sizing: border-box;
  border-radius: 16px;
  border: 4px solid #ffffff;
  overflow: hidden;
  line-height: 0;
  font-size: 0;
}

#global_nav .inner .nav_box .nav_icon .detail_btn {
  position: absolute;
  top: 84.44%;
  left: 0;
  right: 0;
  margin: auto;

  box-sizing: border-box;
  border-radius: 32px;
  border: 3px solid #ffffff;
  background: #0088cc;
  width: 100%;
}
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner {
  position: relative;
  width: 100%;
  padding: 5.73% 0;
  margin: auto;
}
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner.line_d {
  padding: 1.6% 0;
}

#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner::after {
  content: "";
  position: absolute;
  top: 36%;
  right: 5%;

  width: 8%;
  background: transparent url(../img/gnav_arrow_pc.svg) 0 0 / contain no-repeat;
  padding-top: calc((18 / 18) * 8%);
}

#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner span {
  display: block;
  text-align: center;
}
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner .main {
  line-height: 1.125;
  color: #ffffff;
  margin: 0 0 2% 0;
}
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner .sub {
  font-family: "Montserrat";
  letter-spacing: 0.2em;
  line-height: 1.4;
  color: #ffffff;
  opacity: 0.5;
}

/* en_menu_title */
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner.tbox_en {
  padding: 0;
  height: 60px;
}
#global_nav .inner .nav_box .nav_icon .detail_btn .btn_inner .title_en {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* no-active */
#global_nav .inner .nav_box .no_active .nav_img {
  background: #000000;
}
#global_nav .inner .nav_box .no_active .nav_img img {
  opacity: 0.7;
}
#global_nav .inner .nav_box .no_active .detail_btn {
  background: #bdbdbd;
}
#global_nav .inner .nav_box .no_active .detail_btn .btn_inner::after {
  content: "";
  position: absolute;
  top: 36%;
  right: 7.3%;

  width: 8.2%;
  background: transparent url(../img/gnav_arrow_noactive_pc.svg) 0 0 / contain no-repeat;
  padding-top: calc((18 / 18) * 8.2%);
}
/* new */
#global_nav .inner .nav_box .new::after {
  content: "";
  position: absolute;
  top: -4.44%;
  right: 5%;

  width: 30%;
  background: transparent url(../img/gnav_new_pc.svg) 0 0 / contain no-repeat;
  padding-top: calc((24 / 56) * 30%);
}

/* 第二階層のグローバルナビ */
#global_nav .inner .sub_caption {
  text-align: center;
  letter-spacing: 0.2em;
  margin: 0 0 4.6875% 0;
}
#global_nav .inner .sub_caption .caption_line {
  display: block;
  width: 39.1%;
  margin: 0 auto 4.6875% auto;
  background: transparent url(../img/sub_page_img/sub_page_gnav_line.svg) 0 0 / contain no-repeat;
  padding-top: calc((4 / 400) * 39.1%);
}
#global_nav .inner .go_top {
  cursor: pointer;
  position: relative;
  display: block;
  width: 23.44%;
  margin: 8.2% auto 0 auto;
  text-align: center;

  border: 2px solid #0088cc;
  box-sizing: border-box;
  border-radius: 32px;
  transition-duration: 0.25s;
}
#global_nav .inner .go_top:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#global_nav .inner .go_top::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900;
  font-size: 1em;
  top: 36%;
  right: 10%;
  transform: rotate(180deg);
}
#global_nav .inner .go_top span {
  display: block;
  line-height: 1.2;
  padding: 10% 0;
}

/* movie */
#movie {
  margin: 8% 0 7% 0;
}
#movie .inner {
  width: 71.1111%;
  max-width: 1024px;
  margin: 4.44% auto 0 auto;
}
#movie .inner .movie {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;

  margin: 0 0 5.1% 0;
}
#movie .inner .movie:nth-last-of-type(1) {
  margin: 0;
}
#movie .inner .movie span {
  display: block;
}
#movie .inner .movie .thumb {
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 12px;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));

  position: relative;
  width: 31.25%;
  margin: 0 0 5.1% 0;

  background: #ffffff;

  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;

  transition-duration: 0.25s;
}
#movie .inner .movie .blank {
  width: 31.25%;
  margin: 0 0 5.1% 0;
}
#movie .inner .movie .thumb:nth-last-of-type(1) {
  margin: 0 0 5.1% 0;
}

#movie .inner .movie .thumb:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#movie .inner .movie .iamges {
  display: block;
  padding: 6.25%;
}
#movie .inner .movie .iamges span {
  box-sizing: border-box;
  border-radius: 6px;
  overflow: hidden;
}

#movie .inner .movie .play {
  position: absolute;
  z-index: 2;
  top: 42.4%;
  left: 0;
  right: 0;

  width: 16.25%;
  margin: auto;
  background: transparent url(../img/mov_icon.png) 0 0 / contain no-repeat;
  padding-top: calc((120 / 152) * 16.25%);
}
#movie .inner .movie .title {
  display: inline-block;
  position: absolute;
  top: 92%;

  box-sizing: border-box;
  border-radius: 16px;

  text-align: center;
  line-height: 1;
  color: #0088cc;
  background: #ffffff;

  margin: auto;
  padding: 2.5% 5% 3.125% 5%;
}

.trailer-c {
  justify-content: center !important;
}
.trailer-c .thumb {
  margin-right: 4% !important;
}
.trailer-c .thumb:last-of-type {
  margin-right: 0 !important;
}

@media screen and (max-width: 750px) {
  .trailer-c .thumb {
    margin-right: 2% !important;
  }
}

#lineup {
  margin: 0 0 7% 0;
}
#lineup.lang_ma {
  margin: 7% 0;
}

/* 0131 特典ページ */
.btn_link a {
  position: relative;
  display: block;
  width: 100%;
  height: 68px;
  line-height: 62px;
  text-align: center;
  color: #fff;
  background-color: #0547ab;
  border: 3px solid #fff;
  border-radius: 34px;
  filter: drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.25));
  transition: all 0.3s;
  box-sizing: border-box;
}
.btn_arrow p::after {
  position: absolute;
  display: inline-block;
  width: 24px;
  height: 24px;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  top: 50%;
  transform: translateY(-50%);
  color: #0547ab;
  font-weight: 900;
  font-size: 0.65em;
  line-height: 24px;
  background: #fff;
  border-radius: 13px;
  margin-left: 1%;
}
.btn_link a:hover {
  opacity: 0.7;
}

#lineup.benefits_p .inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#lineup.benefits_p .inner .content_box {
  width: 41.016%;
  margin-bottom: 4%;
}
#lineup.benefits_p .inner .content_box:nth-of-type(2n) {
  margin-right: 0;
}
#lineup.benefits_p .inner .content_box .box_inner {
  border: 0;
  border-radius: 20px;
  background-color: #fff;
}
.item_title {
  width: 100%;
  height: 80px;
  line-height: 80px;
  color: #fff;
  background-color: #0547ab;
  text-align: center;
}

.item_box {
  margin-bottom: 2%;
}
.item_box img {
  display: none;
}
.item_box img.show {
  display: block;
}

.thumb_list {
  display: flex;
  justify-content: center;
}
.thumb_list li {
  position: relative;
  width: 28%;
  margin: 0 2% 6% 0;
  cursor: pointer;
  transition: all 0.3s;
}
.thumb_list .thumb_btn.show {
  opacity: 1;
}
.thumb_list .thumb_btn.show::before {
  background-color: unset;
}
.thumb_list .thumb_btn {
  opacity: 0.6;
}
.thumb_list .thumb_btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 20px;
}
.thumb_list li:hover {
  opacity: 0.6;
}
.thumb_list li:last-of-type {
  margin-right: 0;
}
.link_btn li a {
  display: block;
  width: 80%;
  border: 6px solid #0547ab;
  box-sizing: border-box;
  margin: 0 auto 4%;
  border-radius: 20px;
  background-color: #fff;
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.4));
  transition: all 0.3s;
}
.link_btn li a:hover {
  opacity: 0.6;
}

/* 注意書き */
.note_list .note {
  margin: 0 0 1em 1em;
  text-indent: -1em;
}
.note_list .note:before {
  content: "※";
}

@media screen and (max-width: 750px) {
  #lineup.benefits_p .inner .content_box .box_inner {
    margin-bottom: 40px;
  }
  #lineup.benefits_p .inner {
    display: block;
  }
  #lineup.benefits_p .inner .content_box {
    width: 100%;
  }
  .item_title {
    height: 62px;
    line-height: 62px;
  }
  .btn_arrow p::after {
    font-size: 0.8em;
    margin-left: 2%;
  }
}

#lineup .inner {
  width: 71.1111%;
  max-width: 1024px;
  margin: 4.44% auto 0 auto;
  display: -webkit-flex;
  display: flex;
  justify-content: left;
  /* 0804 */
  flex-wrap: wrap;
  gap: 5%; /* 子要素間の余白（例として5%） */
  padding: 0; /* 親には左右余白なし */
}

#lineup .inner .content_box {
  position: relative;
  /* width: 31.25%; */
  /* margin: 0 3.125% 0 0; */
  width: calc((100% - 10%) / 3);
  margin: 0 0 2rem;
}
#lineup.lang_ma .inner .content_box {
  width: calc((100% - 10%) / 3);
  margin: 0 0 2rem;
}

#lineup .inner .content_box:nth-last-of-type(1) {
  margin: 0;
}

#lineup .inner .content_box .box_inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  border: 4px solid #ffffff;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
  border-radius: 12px;
  background: #f8f7f5;
  overflow: hidden;
  /* padding: 0 0 14% 0; */
  padding: 0 0 6% 0;
}
#lineup.lang_ma .inner .content_box .box_inner {
  padding: 0 0 0 0;
}

#lineup .inner .content_box .thumbs {
  box-sizing: border-box;
  border-radius: 12px;
  border-bottom: 4px solid #ffffff;

  width: 100%;
  padding: 3.75% 0;
  margin: 0 0 3.75% 0;

  background: transparent url(../img/lineup_thumb_bg.png) 0 0 / cover no-repeat;
}
#lineup .inner .content_box .thumbs_w {
  background: #ffffff;
  padding: 8.75% 0 7.1875% 0;
  margin: 0 0 3.75% 0;
}
#lineup .inner .content_box .thumbs_ws {
  background: #ffffff;
  padding: 6% 0;
  margin: 0 0 4% 0;
}
#lineup .inner .content_box .thumbs_tr {
  background: transparent;
  width: 90%;
  margin: 0 auto 4%;
}
#lineup .inner .content_box .thumbs span {
  display: block;
  width: 90%;
  margin: 0 auto;
}
#lineup.lang_ma .inner .content_box .thumbs span {
  /* width: 50%; */
  width: 90%;
}
#lineup .inner .content_box .thumbs_w span {
  display: block;
  width: 74.375%;
  margin: 0 auto;
}
#lineup .inner .content_box .thumbs_ws span {
  display: block;
  width: 90%;
  margin: 0 auto;
}

.u_line {
  width: 80%;
  border-bottom: 1px solid #bababa;
  margin: 6% auto !important;
  padding-bottom: 6% !important;
}
#lineup .inner .content_box .release {
  text-align: center;
  margin: 0 0 5% 0;
}
#lineup .inner .content_box .release p {
  line-height: 1.5;
}
#lineup .inner .content_box .release p span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  line-height: 1.2;
  /* margin: 2.5% 0 0 0; */
  margin: 2.5% 0;
}

#lineup .inner .content_box .details {
  box-sizing: border-box;
  border-radius: 8px;
  width: 95%;
  margin: 0 auto 5% auto;
  padding: 2.5% 0;
}
#lineup .inner .content_box .details .cir_caption {
  width: 95%;
  margin: 0 auto 2.5% auto;
  padding: 2% 0;

  text-align: center;
  box-sizing: border-box;
  border-radius: 14px;
  line-height: 1.5;
}
#lineup.lang_ma .inner .content_box .details .benefits {
  width: 60%;
  margin: 0 auto;
}

#lineup .inner .content_box .details .read {
  text-align: center;
  line-height: 1.2;
  margin: 0 0 1.4% 0;
}
#lineup .inner .content_box .details .sub_read {
  text-align: center;
  line-height: 1.2;
  margin: 0 auto 2.5% auto;
}
#lineup .inner .content_box .details .sub_read2 {
  line-height: 1.2;
  width: 95%;
  margin: 0 auto 2.5% auto;
}

#lineup .inner .content_box .price {
  /* display: flex; */
  display: block;
  text-align: center;
  line-height: 1.5;
  /* margin: 0 0 8% 0; */
  margin: 0 0 10% 0;
  padding: 0 4%;
  align-items: center;
  justify-content: center;
}
#lineup.lang_ma .inner .content_box .buy {
  width: 90%;
  text-align: center;
  line-height: 1;
  margin: 0 auto 3.75% auto;
  align-items: center;
}
.eshop-btn {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  color: #fff;
  line-height: 50px;
  background-color: #e72a00;
  margin: 6% auto;
  padding-left: 4%;
  border-radius: 0.5em;
  transition: all 0.5s;

  box-sizing: border-box;
}

.ps_blu {
  background-color: #0547ab;
}

.eshop-btn:hover {
  opacity: 0.5;
}
.eshop-btn::before {
  position: absolute;
  content: url("../img/dl_icon.svg");
  width: 24px;
  top: 10%;
  left: 6%;
}
.no-icon::before {
  display: none;
}

.eshop-btn .dl_icon img {
  width: 24px;
}
.btn_here a {
  display: inline-block;
  width: 100%;
  padding: 5% 0 6%;
  margin: 6% auto;
  font-size: 1.2rem;
  font-weight: bold;
  /* text-transform: uppercase; */
  font-style: italic;
  color: #fff;
  /* background-color: #333; */
  background: linear-gradient(to top, #696969 0%, #222222 100%);
  transition: all 0.5s;
  border-radius: 1em;
}
.gr-btn a {
  background: linear-gradient(to top, #b0b0b0 0%, #5f5f5f 100%);
}
.org-btn a {
  background: linear-gradient(to top, #ff9659 0%, #ff5f01 100%);
}
.btn_here:hover a {
  opacity: 0.5;
}
.spacer {
  margin: 12% auto;
}
.bellow::after {
  display: block;
  content: url("../img/bellow_icon.svg");
  margin-top: 4%;
}
.inactive_btn {
  background-color: #bdbdbd;
  pointer-events: none;
}
#lineup.lang_ma .inner .content_box .buy .daewon {
  display: block;
  margin: 5% 0 0 0;
  background: transparent url(../img/daewon_media.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((120 / 528) * 100%);
}
#lineup.lang_ma .inner .content_box .buy .nintendo_kr,
#lineup.lang_ma .inner .content_box .buy .nintendo_tw {
  display: block;
  margin: 5% 0 0 0;
  background: transparent url(../img/nintendo_shop_btn.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((120 / 528) * 100%);
}
#lineup.lang_ma .inner .content_box .buy .justdan_e_store {
  display: block;
  margin: 5% 0 0 0;
  background: transparent url(../img/justdan_e_store.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((160 / 943) * 100%);
}

#lineup.lang_ma .inner .content_box .buy .justdan_e_store1 {
  display: block;
  margin: 5% 0 0 0;
  background: transparent url(../img/btn_reserve_tw.svg) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((52 / 216) * 100%);
}

#lineup.lang_ma .inner .content_box .buy .gse {
  display: block;
  margin: 5% 0 0 0;
  background: transparent url(../img/btn_reserve_hk.svg) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((56 / 216) * 100%);
}

.buy a {
  transition: all 0.3s;
}
.buy a:hover {
  opacity: 0.5;
}

#lineup .inner .content_box .notice {
  width: 90%;
  margin: 0 auto;
  line-height: 1.5;
}

#lineup .inner .content_box .reserv_box {
  position: relative;
  z-index: 2;

  width: 87.5%;
  margin: -2.2vw auto 0 auto;
  box-sizing: border-box;
  border-radius: 32px;
  border: 2px solid #e72a00;
  overflow: hidden;
}
#lineup .inner .content_box .reserv_box p {
  cursor: pointer;
  position: relative;
  text-align: center;
  padding: 3.75% 0;
}
#lineup .inner .content_box .reserv_box p::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900;
  font-size: 1em;
  top: 33%;
  right: 7.85%;
  transform: rotate(0deg);
  transition: all 0.3s;
}
#lineup .inner .content_box .reserv_box p.on::after {
  transform: rotate(-180deg);
  transition: all 0.3s;
}

#lineup .inner .content_box .reserv_box p span {
  display: block;
  font-family: "Montserrat";
  line-height: 1.4;
  opacity: 0.5;
  margin: 2.86% 0 0 0;

  letter-spacing: 0.2em;
}
#lineup .inner .content_box .reserv_box dl {
  display: none;
}
#lineup .inner .content_box .reserv_box dt,
#lineup .inner .content_box .reserv_box dd {
  border-bottom: 2px solid #e72a00;
  background: #ffffff;
  text-align: center;
}
#lineup .inner .content_box .bg-blu dt,
#lineup .inner .content_box .bg-blu dd {
  border-bottom: 2px solid #0547ab;
  background: #ffffff;
  text-align: center;
  position: relative;
}
#lineup .inner .content_box .reserv_box dd:nth-last-of-type(1) {
  border-bottom: none;
}
.org_tag {
  position: absolute;
  display: block;
  width: 90%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 4%;
  color: #fff;
  padding: 2%;
  border-radius: 2em;
  font-size: 0.8rem;
  font-weight: 500;
  background-color: #ff0000;
}
.org_tag2 {
  position: absolute;
  display: block;
  width: 36%;
  bottom: 4%;
  right: 0px;
}
.open_menu {
  display: block !important;
}
/* logo画像サイズ */
#lineup .inner .content_box .bg-blu dt img,
#lineup .inner .content_box .bg-blu dd img {
  width: 80%;
}

#lineup .inner .content_box .reserv_box .logo_btn dt a,
#lineup .inner .content_box .reserv_box .logo_btn dd a {
  padding: 3% 0;
  padding: 8% 0;
}

#lineup .inner .content_box .bg-blu .logo_btn dt a::after,
#lineup .inner .content_box .bg-blu .logo_btn dd a::after {
  display: none;
}

#lineup .inner .content_box .reserv_box dt a,
#lineup .inner .content_box .reserv_box dd a {
  position: relative;
  display: block;
  width: 100%;
  padding: 3.73% 0;
  transition-duration: 0.25s;
}
#lineup .inner .content_box .reserv_box dt a:hover,
#lineup .inner .content_box .reserv_box dd a:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}

#lineup .inner .content_box .reserv_box dt a::after,
#lineup .inner .content_box .reserv_box dd a::after {
  position: absolute;
  top: 30%;
  right: 4.357%;
  content: "";
  width: 1em;
  background: transparent url(../img/icon_link_red.svg) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((52 / 52) * 1em);
}
.link_icon::after {
  position: absolute;
  top: 30%;
  right: 4.357%;
  content: "";
  width: 1em;
  background: transparent url(../img/icon_link_blue.svg) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((52 / 52) * 1em);
}

#lineup .inner .content_box .gift_box {
  cursor: pointer;
  position: relative;
  display: block;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
  margin: 0 0 17.5% 0;

  transition-duration: 0.25s;
}
#lineup .inner .content_box .gift_box:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#lineup .inner .content_box .dl_caption {
  box-sizing: border-box;
  border-radius: 16px;

  text-align: center;
  line-height: 1.2;
  margin: 0 0 10% 0;
  padding: 5.625% 0;

  background: #f3eee5;
}

#lineup .inner .content_box .gift_box:nth-last-of-type(1) {
  margin: 0;
}
#lineup .inner .content_box .gift_box .bene_img {
  position: relative;
  box-sizing: border-box;
  border: 4px solid #ffffff;
  border-radius: 12px;

  overflow: hidden;
  line-height: 0;
  font-size: 0;
}
#lineup .inner .content_box .gift_box .bene_img::after {
  content: "";
  position: absolute;
  top: 26.5%;
  left: 0;
  right: 0;
  margin: auto;

  width: 73.75%;
  background: transparent url(../img/bene_thumb_logo.png) 0 0 / contain no-repeat;
  padding-top: calc((204 / 472) * 73.75%);
}

#lineup .inner .content_box .gift_box .detail_btn {
  position: absolute;
  top: 84.44%;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  border-radius: 32px;
  border: 3px solid #0088cc;
  background: #ffffff;
  width: 90%;
}
#lineup .inner .content_box .gift_box .detail_btn .btn_inner {
  position: relative;
  width: 100%;
  padding: 3.75% 0;
  margin: auto;
}
#lineup .inner .content_box .gift_box .detail_btn .btn_inner::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900;
  font-size: 1.5em;
  color: #0088cc;
  top: 36%;
  right: 10%;
  transform: rotate(-90deg);
}

#lineup .inner .content_box .gift_box .detail_btn .btn_inner span {
  display: block;
  text-align: center;
}
#lineup .inner .content_box .gift_box .detail_btn .btn_inner .main {
  line-height: 1.2;
  margin: 0 0 2% 0;
}
#lineup .inner .content_box .gift_box .detail_btn .btn_inner .sub {
  font-family: "Montserrat";
  letter-spacing: 0.2em;
  line-height: 1.4;
  opacity: 0.5;
}

/* btn-bk */
.btn-bk {
  background: linear-gradient(to top, #696969 0%, #222222 100%);
  border: none !important;
  padding: 4% 0;
}
.btn-bk p::after {
  content: none !important;
}
.bg-bk {
  background: #222222;
  border: 2px solid #222 !important;
}
.bg-blu {
  background: #0547ab;
  border: 2px solid #0547ab !important;
}
.bg-gr {
  background: #5f5f5f;
  border: 2px solid #5f5f5f !important;
}
/* sale tag */
.sale_10 {
  width: 98%;
  font-size: 1rem;
  text-align: center;
  margin: 0 auto 4%;
  line-height: 1.5;
  color: #e72a00;
}
.sale_10 p {
  font-weight: bold;
}
.sale_tag {
  display: inline-block;
  font-size: 1rem;
  color: #fff;
  background-color: #e72a00;
  padding: 0 4%;
  font-weight: bold;
  margin-bottom: 2%;
}
.sale_num {
  font-size: 1.4rem;
  font-weight: bold;
}

/* top report */
#report {
  margin: 0 0 7% 0;
}
#report .inner {
  width: 71.1111%;
  max-width: 1024px;
  margin: 4.44% auto 0 auto;
}
#report .inner .report_box {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
}
#report .inner .report_box a {
  display: block;
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 12px;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
  position: relative;
  width: 31.25%;
  background: #ffffff;

  transition-duration: 0.25s;
}
#report .inner .report_box a:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#report .inner .report_box a span {
  display: block;
  padding: 6.25%;

  box-sizing: border-box;
  border-radius: 6px;
  overflow: hidden;
}

/* benefits */
#benefits {
  margin: 0 0 7% 0;
}
#benefits .inner {
  width: 71.1111%;
  max-width: 1024px;
  margin: 4.44% auto 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  /* justify-content: space-between; */
  justify-content: center;
}
#benefits .inner .gift_box {
  cursor: pointer;
  position: relative;
  display: block;
  width: 31.25%;
  margin: 0 3.125% 0 0;
  filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));

  transition-duration: 0.25s;
}
#benefits .inner .gift_box:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
#benefits .inner .gift_box:nth-last-of-type(1) {
  margin: 0;
}
#benefits .inner .gift_box .bene_img {
  position: relative;
  box-sizing: border-box;
  border: 4px solid #ffffff;
  border-radius: 12px;

  overflow: hidden;
  line-height: 0;
  font-size: 0;
}
#benefits .inner .gift_box .bene_img::after {
  content: "";
  position: absolute;
  top: 26.5%;
  left: 0;
  right: 0;
  margin: auto;

  width: 73.75%;
  background: transparent url(../img/bene_thumb_logo.png) 0 0 / contain no-repeat;
  padding-top: calc((204 / 472) * 73.75%);
}

#benefits .inner .gift_box .detail_btn {
  position: absolute;
  top: 84.44%;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  border-radius: 32px;
  border: 3px solid #0088cc;
  background: #ffffff;
  width: 90%;
}
#benefits .inner .gift_box .detail_btn .btn_inner {
  position: relative;
  width: 100%;
  padding: 3.75% 0;
  margin: auto;
}
#benefits .inner .gift_box .detail_btn .btn_inner span {
  display: block;
  text-align: center;
}
#benefits .inner .gift_box .detail_btn .btn_inner .main {
  line-height: 1.2;
  margin: 0 0 2% 0;
}
#benefits .inner .gift_box .detail_btn .btn_inner .sub {
  font-family: "Montserrat";
  letter-spacing: 0.2em;
  line-height: 1.4;
  opacity: 0.5;
}

/* footer */
footer {
  width: 100%;
  margin: 10.3% 0 0 0;
  background: transparent url(../img/footer_bg_pc.png) 0 0 / cover no-repeat;
}
footer .inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 5.21% 0 5% 0;
}
footer .inner .mla_sns {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 11.72%;
  margin: 0 auto 1.953% auto;
}
footer .inner .tw {
  display: block;
  width: 4.3%;
  margin: 0 auto 1.953% auto;
  background: transparent url(../img/icon_twitter.svg) 0 0 / contain no-repeat;
  padding-top: calc((44 / 44) * 4.3%);

  transition-duration: 0.25s;
}
footer .inner .fb {
  display: block;
  width: 4.3%;
  margin: 0 auto 1.953% auto;
  background: transparent url(../img/f_logo_RGB-Blue_512.png) 0 0 / contain no-repeat;
  padding-top: calc((1076 / 1076) * 4.3%);

  transition-duration: 0.25s;
}

footer .inner .mla_sns .tw {
  display: block;
  width: 36.666666%;
  margin: 0;
  background: transparent url(../img/icon_twitter.svg) 0 0 / contain no-repeat;
  padding-top: calc((44 / 44) * 36.666666%);

  transition-duration: 0.25s;
}
footer .inner .mla_sns .fb {
  display: block;
  width: 36.666666%;
  margin: 0;
  background: transparent url(../img/f_logo_RGB-Blue_512.png) 0 0 / contain no-repeat;
  padding-top: calc((1076 / 1076) * 36.666666%);

  transition-duration: 0.25s;
}

footer .inner .tw:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}
footer .inner .text {
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.24em;
  margin: 0 0 1.3672% 0;
}
footer .inner .copyright {
  line-height: 1.5;
  text-align: center;
}

/* ティザー用フッター */
footer.teaser_footer {
  position: fixed;
  bottom: 0;
  margin: 0;
  width: 100%;
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
}
footer.teaser_footer .inner {
  width: 100%;
  padding: 5.21% 0 2.5% 0;
}

.caption {
  color: #424242;
  line-height: 1.44;
  text-align: center;
}
.line {
  width: 11.11%;
  max-width: 160px;

  margin: 0.5% auto;
  background: transparent url(../img/h1_line_pc.svg) 0 0 / contain no-repeat;
  padding-top: calc((16 / 160) * 11.11%);
}
.sub_caption {
  font-family: "Montserrat";
  line-height: 1.22;
  text-align: center;
  color: #0088cc;
  letter-spacing: 0.04em;
}

/* movieplayer */
#playbg,
#img_pop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition-duration: 0.25s;
}
#playbg .flame,
#img_pop .img_area {
  position: relative;
}
#playbg .flame .inner,
#img_pop .img_area .inner {
  position: absolute;
}
#playbg .flame .inner .close,
#img_pop .img_area .inner .close {
  display: block;
  cursor: pointer;
  position: absolute;
  top: -8.2%;
  right: -4.6%;
  width: 9.2%;
  max-width: 44px;
  background: transparent url(../img/popup_close_btn.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((44 / 44) * 9.2%);
}
#img_pop .img_area .inner .close {
  right: 0;
}

#terms {
  margin: 8% auto 0 auto;
}
#terms .inner {
  text-align: center;
  width: 71.1111%;
  max-width: 1024px;
  min-width: 720px;
  margin: 0 auto;
}
#terms .inner a {
  padding: 0 0 0.5% 0;
  box-sizing: border-box;
  border-bottom: 1px solid #0088cc;
  transition-duration: 0.25s;
}
#terms .inner a:hover {
  opacity: 0.6;
  transition-duration: 0.25s;
}

/* 12/20 */
#pop_block {
  opacity: 0;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition-duration: 0.25s;
}
#pop_block .pop_content {
  position: absolute;
  width: 33%;
  left: 0;
  right: 0;

  margin: auto;
}
#pop_block .pop_content #close_btn {
  position: absolute;
  display: block;
  top: -5%;
  right: -5%;
  width: 8%;
  background: transparent url(../img/popup_close_btn.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((44 / 44) * 8%);
}

#pop_block .pop_content a {
  display: block;
  width: 100%;
  background: #ffffff url(../img/camp_pop.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: calc((1920 / 1920) * 100%);
}
#pop_block .pop_content #cookie_check {
  width: 100%;
}
#pop_block .pop_content #cookie_check #cookie {
  display: none;
}
#pop_block .pop_content #cookie_check .checkbox {
  position: relative;
  display: block;
  text-align: center;
}
#pop_block .pop_content #cookie_check .checkbox span {
  padding: 0 0 0 1.25em;
  position: relative;
  line-height: 2;
}

#pop_block .pop_content #cookie_check .checkbox span::before {
  content: "";
  position: absolute;
  top: 0.33em;
  left: 0;

  width: 1em;
  height: 1em;

  box-sizing: border-box;
  border: 1px solid #ffffff;
}
#pop_block .pop_content #cookie_check #cookie:checked + .checkbox span::after {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0.125em;
  width: 0.5em;
  height: 0.8em;
  box-sizing: border-box;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-33deg);
}

/* TOP_CN 追加要素 */
.add_imgbox {
  width: 40%;
  margin: 10% auto 2%;
}
.add_imgbox img {
  margin-bottom: 4%;
}
.add_imgbox p {
  text-align: center;
}

@media screen and (min-width: 751px) and (max-width: 1024px) {
  #global_nav .inner,
  #movie .inner,
  #lineup .inner {
    width: 96%;
  }
  /* 多言語ページティザー用 */
  #kv.teaser {
    background: transparent url(../img/teaser_sp_tab.png) center center / cover no-repeat;
  }
  #kv.teaser .inner {
    top: 4%;
    width: 100%;
  }
  footer.teaser_footer .inner {
    width: 100%;
    padding: 15% 0 8% 0;
  }
}

@media screen and (max-width: 750px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp_ios {
    display: inline !important;
  }

  #kv {
    margin: 0 0 53.3333333% 0;
    background: transparent url(../img/kv_sp.png) 0 0 / contain no-repeat;
    padding-top: calc((1012 / 750) * 100%);
  }
  /* 多言語ページティザー用 */
  #kv.teaser {
    position: relative;
    background: transparent url(../img/teaser_sp_tab.png) center center / cover no-repeat;
    padding-top: 85vh;
  }

  #kv .logo1,
  #kv .logo2 {
    position: absolute;
    width: 13.866667%;
    max-width: unset;
  }
  #kv .logo1 {
    background: transparent url(../img/logo_sw.svg) 0px 0px / contain no-repeat;
    padding-top: calc((100 / 100) * 13.866667%);
  }
  #kv .logo2 {
    top: 81%;
    background: transparent url(../img/logo_neos.svg) 0px 0px / contain no-repeat;
    padding-top: calc((100 / 100) * 13.866667%);
  }
  #kv .game_logo {
    width: 84%;
  }
  .ns_logo {
    width: 34%;
    left: 0;
  }
  #kv .ps_logo {
    width: 34%;
    left: 12em;
  }
  #kv.teaser .logo2 {
    top: 0;
    background: transparent url(../img/logo_neos.svg) 0px 0px / contain no-repeat;
    padding-top: calc((100 / 100) * 13.866667%);
  }
  #kv .inner {
    /* top: 9.1%; */
    top: 6%;
    width: 75.733333%;
    margin: auto;
  }
  #kv.teaser .inner {
    width: 80%;
    top: 13.5%;
  }
  #kv .inner.mllang {
    /* width: 80%; */
    width: 90%;
    top: 20%;
  }
  #kv .start_date {
    width: 100%;
    bottom: -20%;
  }
  #kv .inner h1 {
    line-height: 1.25;
    text-align: center;
    letter-spacing: 0.2em;
    text-shadow: 0px 0px 8px #0088cc, 0px 0px 12px #0088cc;
  }
  #kv .inner.mllang h1 {
    line-height: 1.25;
  }
  #kv .inner h2 {
    width: 100%;
    max-width: 286px;
    background: transparent url(../img/kv_logo_pc.svg) 0px 0px / contain no-repeat;
    padding-top: calc((220 / 490) * 100%);
  }
  /* #kv.teaser .inner h2.kr {
        width: 80%;
        max-width: 488px;
    
        background: transparent url(../img/kv_logo_pc_kr.png) 0px 0px / contain no-repeat;
        padding-top: calc((363/488) * 80%);
    }
    #kv.teaser .inner h2.cn {
        width: 100%;
        max-width: 607px;
    
        background: transparent url(../img/kv_logo_pc_cn.png) 0px 0px / contain no-repeat;
        padding-top: calc((259/607) * 100%);
    }
    #kv.teaser .inner h2.tw {
        width: 100%;
        max-width: 609px;
    
        background: transparent url(../img/kv_logo_pc_tw.png) 0px 0px / contain no-repeat;
        padding-top: calc((257/609) * 100%);
    } */

  #kv .inner h2.en {
    width: 94%;
    /* max-width: 286px; */
    padding-top: calc((541 / 988) * 100%);
  }
  #kv .inner h2.de {
    width: 100%;
    max-width: 286px;
    padding-top: calc((541 / 988) * 100%);
  }
  #kv .inner h2.es {
    width: 100%;
    max-width: 286px;
    padding-top: calc((541 / 988) * 100%);
  }
  #kv .inner h2.pt {
    width: 100%;
    max-width: 286px;
    padding-top: calc((541 / 988) * 100%);
  }
  #kv .inner h2.kr {
    width: 60%;
    max-width: 488px;

    background: transparent url(../img/kv_logo_pc_kr.png) 0px 0px / contain no-repeat;
    padding-top: calc((363 / 488) * 60%);
  }
  #kv .inner h2.cn {
    width: 70%;
    max-width: 607px;

    background: transparent url(../img/kv_logo_pc_cn.png) 0px 0px / contain no-repeat;
    padding-top: calc((259 / 607) * 70%);
  }
  #kv .inner h2.tw {
    width: 70%;
    max-width: 609px;

    background: transparent url(../img/kv_logo_pc_tw.png) 0px 0px / contain no-repeat;
    padding-top: calc((257 / 609) * 70%);
  }

  #kv .inner .btn {
    width: 100%;
    max-width: 286px;
    margin: -8% auto 0 auto;
    background: transparent url(../img/kv_btn.svg) 0px 0px / contain no-repeat;
    padding-top: calc((128 / 384) * 100%);
  }
  /* #kv .inner .onsale {
    width: 60%;
    background: transparent url(../img/kv_on_sale.png) 0px 0px / contain no-repeat;
    padding-top: calc((310 / 692) * 60%);
  } */
  #kv .inner .onsale {
    width: 50%;
    /* margin-top: -14%; */
    margin-top: -7%;
  }
  #kv .teaser_open.on_date {
    width: 60%;
    background: transparent url(../img/onsale_day_en.png) 0px 0px / contain no-repeat;
    padding-top: calc((210 / 680) * 60%);
    margin-top: -7%;
  }

  #kv .sitiker {
    top: 76.5%;
    left: 5.866667%;
    width: 38.666667%;
  }
  #kv .ps_sticker {
    width: 25%;
    top: 66%;
  }
  #kv .st_sticker {
    width: 30%;
    top: 66%;
    left: 45%;
  }
  #kv .gbd_sticker {
    width: 25%;
    /* top: 51%; */
    top: 70%;
  }
  #kv .summer_sticker {
    width: 42%;
    top: 70%;
    left: unset;
    right: 16%;
  }
  #kv .sitiker_cd {
    top: 56%;
    left: 6%;
    width: 25%;
  }
  #kv .sitiker_cdopen {
    top: 55%;
    left: 5%;
    width: 28.3%;
  }
  #kv .open {
    width: 21.3%;
    top: 48%;
    left: 66%;
    background: transparent url(../img/sticker_onslae.svg) 0px 0px / contain no-repeat;
    padding-top: calc((106 / 132) * 21.3%);
  }
  #kv .teaser_open {
    display: block;
    width: 50%;
    margin: 0 auto;
    background: transparent url(../img/teaser_comming.png) 0px 0px / contain no-repeat;
    padding-top: calc((211 / 426) * 50%);
  }

  #kv .notice {
    top: 91%;
    left: 0;
    right: 0;
    width: 89.33%;
    max-width: 335px;
  }
  #kv .notice .notice_box {
    padding: 4.78% 3.6%;
  }
  #kv .notice .notice_box .notice_inner {
    width: 100%;
    height: 46.4vw;
    max-height: 174px;
  }
  #kv .notice .notice_box .notice_inner dl {
    display: block;

    padding: 0 0 2.64% 0;
    margin: 0 0 2.64% 0;
  }
  #kv .notice .notice_box .notice_inner dt {
    width: 100%;
    margin: 0 0 0.6% 0;
  }
  #kv .notice .notice_box .notice_inner dd {
    width: 100%;
  }

  /* 言語選択BOX */
  #lang_box_set {
    position: fixed;
    z-index: 997;
    /* width: 20%; */
    width: auto;
    top: 18vw;
    right: 2%;
    /* padding: 2%; */
  }
  #lang_box_set > label {
    position: relative;
    /* display: inline-block;
        width: 100%; */
    height: 100%;
  }
  #lang_select {
    text-align: center;
    text-align: -webkit-center;
    display: inline-block;
    width: auto;

    appearance: none;
    outline: none;
  }

  #movie {
    margin: 0 0 11.2% 0;
  }
  #movie .inner {
    width: 86.4%;
    max-width: 324px;
    margin: 7.41% auto 0 auto;
  }

  #movie .inner .movie .thumb,
  #movie .inner .movie .blank {
    width: 48.765%;
    margin: 0 0 18% 0;
  }
  #movie .inner .movie .thumb:nth-last-of-type(1) {
    margin: 0 0 18% 0;
  }
  #movie .inner .movie .play {
    top: 25%;
    width: 38%;
    background: transparent url(../img/mov_icon.png) 0 0 / contain no-repeat;
    padding-top: calc((120 / 152) * 38%);
  }
  #movie .inner .movie .title {
    letter-spacing: -0.05em;
    display: block;
    position: absolute;
    top: 108%;
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
    text-align: center;
    line-height: 1.2;
    background: transparent;
    margin: auto;
    padding: 0;
  }

  /* TOP_CN 追加要素 */
  .add_imgbox {
    width: 60%;
    margin: 10% auto;
  }

  #lineup {
    margin: 0 0 25.6% 0;
  }
  #lineup .inner {
    width: 89.3333%;
    max-width: 335px;
    margin: 7.41% auto 0 auto;
    display: block;
  }
  #lineup .inner .content_box,
  #lineup.lang_ma .inner .content_box {
    width: 100%;
    margin: 0 0 14.33% 0;
  }

  #lineup .inner .content_box .box_inner {
    padding: 0 0 12.24% 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  #lineup .inner .content_box .reserv_box {
    width: 88%;
    margin: -8vw auto 0 auto;
    outline: none;
  }
  #lineup .inner .content_box .reserv_box p {
    padding: 2.4% 0;
  }
  #lineup .inner .content_box .gift_box .detail_btn {
    width: 71.6%;
  }

  .caption {
    line-height: 1.2;
    font-size: 1.6rem;
  }
  .line {
    width: 32%;
    max-width: 120px;
    margin: 2.13333% auto;
    background: transparent url(../img/h1_line_sp.svg) 0 0 / contain no-repeat;
    padding-top: calc((12 / 120) * 32%);
  }

  /* sp_navi */
  /* #sp_nav {
        width: 100%;
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
        bottom: 0;
        overflow: scroll;
    } */
  #sp_menu_set {
    display: none;
    width: 100%;
    position: fixed;
    z-index: 998;
    top: 0;
    left: 0;
    bottom: 0;
    /* overflow: scroll; */
  }

  #sp_nav .sp_nav_bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
  }
  #sp_nav #toggle_btn {
    /* position: absolute; */
    position: fixed;
    z-index: 999;
    top: 2.22vw;
    right: 2%;
    width: 12.8%;
  }
  #sp_nav .close {
    background: transparent url(../img/sp_nav_open.svg) 0 0 / contain no-repeat;
    padding-top: calc((48 / 48) * 12.8%);
  }
  #sp_nav .open {
    width: 12.8%;
    background: transparent url(../img/sp_nav_close.svg) 0 0 / contain no-repeat;
    padding-top: calc((48 / 48) * 12.8%);
  }
  #sp_nav .inner {
    position: relative;
    z-index: 2;

    box-sizing: border-box;
    border-radius: 24px;
    width: 96%;
    height: 96vh;

    margin: 2.22% auto 0 auto;
    padding: 6.4% 0;

    filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
    overflow: scroll;
  }
  #sp_nav .inner.mllang {
    height: auto;
  }

  #sp_nav .inner .menu_cap {
    text-align: center;
    margin: 0 0 5.55% 0;
    font-family: "Montserrat";
    letter-spacing: 0.2em;
    line-height: 1.4;
  }

  #sp_nav .inner .nav_box {
    width: 90%;
    margin: 0 auto;

    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #sp_nav .inner .nav_box .nav_icon {
    position: relative;
    display: block;
    width: 48.765%;
    filter: drop-shadow(0px 2px 12px rgba(88, 74, 4, 0.2));
    margin: 0 0 12% 0;
  }
  #sp_nav .inner .nav_box .nav_img {
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
    border: 4px solid #ffffff;
    overflow: hidden;
    line-height: 0;
    font-size: 0;
  }
  #sp_nav .inner .nav_box .detail_btn {
    position: absolute;
    /* top: 76.666667%; */
    top: 78%;
    left: 0;
    right: 0;
    width: 92.4%;
    margin: auto;
  }
  #sp_nav .inner .nav_box .detail_btn .btn_inner {
    position: relative;

    padding-top: calc((48 / 146) * 92.4%);

    background: #0088cc;
    border: 3px solid #ffffff;
    box-sizing: border-box;
    border-radius: 32px;
  }
  #sp_nav .inner .nav_box .no_active .detail_btn .btn_inner {
    background: #bdbdbd;
  }
  #sp_nav .inner .nav_box .detail_btn .btn_inner::after {
    content: "";
    position: absolute;
    top: 33%;
    right: 5%;
    width: 11.4%;
    background: transparent url(../img/gnav_arrow_pc.svg) 0 0 / contain no-repeat;
    padding-top: calc((18 / 18) * 11.4%);
  }
  #sp_nav .inner .nav_box .no_active .detail_btn .btn_inner::after {
    content: "";
    position: absolute;
    top: 33%;
    right: 5%;
    width: 11.4%;
    background: transparent url(../img/gnav_arrow_noactive_pc.svg) 0 0 / contain no-repeat;
    padding-top: calc((18 / 18) * 11.4%);
  }
  #sp_nav .inner .nav_box .new::after {
    content: "";
    position: absolute;
    top: -7%;
    right: 5%;
    width: 35.44%;
    background: transparent url(../img/gnav_new_pc.svg) 0 0 / contain no-repeat;
    padding-top: calc((24 / 56) * 35.44%);
  }

  #sp_nav .inner .nav_box .detail_btn .btn_inner .main {
    display: block;
    width: 100%;
    position: absolute;
    text-align: center;

    top: 50%;
    left: 44%;
    transform: translate(-50%, -50%);
  }
  #sp_nav .inner .sp_nav_reserv {
    display: block;
    box-sizing: border-box;
    border-radius: 32px;

    text-align: center;
    width: 90%;
    margin: 0 auto 6.666% auto;
    padding: 2.22% 0;
  }
  #sp_nav .inner .sp_nav_reserv span {
    line-height: 1.4;
    font-family: "Montserrat";
    display: block;
    opacity: 0.5;
    letter-spacing: 0.2em;
    margin: 2px 0 0 0;
  }
  #sp_nav .inner .tw {
    display: block;
    width: 12.2222%;
    margin: 0 auto 3.33% auto;

    background: transparent url(../img/icon_twitter_sp_nav.svg) 0 0 / contain no-repeat;
    padding-top: calc((44 / 44) * 12.2222%);
  }
  #sp_nav .inner .text {
    text-align: center;
  }

  footer {
    width: 100%;
    margin: 10.3% 0 0 0;
    background: transparent url(../img/footer_bg_sp.png) 0 0 / cover no-repeat;
  }
  footer .inner {
    margin: 0 auto;
    padding: 17.333333% 2% 14.1333333% 2%;
  }
  footer.teaser_footer .inner {
    width: 100%;
    padding: 8% 0 5% 0;
  }
  footer .inner .tw {
    width: 11.733333%;
    margin: 0 auto 5.333333% auto;
    background: transparent url(../img/icon_twitter.svg) 0 0 / contain no-repeat;
    padding-top: calc((44 / 44) * 11.733333%);
  }
  footer .inner .fb {
    width: 11.733333%;
    margin: 0 auto 5.333333% auto;
    background: transparent url(../img/f_logo_RGB-Blue_512.png) 0 0 / contain no-repeat;
    padding-top: calc((1076 / 1076) * 11.733333%);
  }
  footer .inner .copyright {
    font-weight: 500;
  }

  /* report */
  #report {
    margin: 0 0 11.2% 0;
  }
  #report .inner {
    width: 86.4%;
    max-width: 324px;
    margin: 7.41% auto 0 auto;
  }
  #report .inner .report_box a {
    width: 48.765%;
    margin: 0 0 9% 0;
  }

  #terms {
    margin: 0 0 11.2% 0;
  }
  #terms .inner {
    width: 86.4%;
    max-width: 324px;
    margin: 7.41% auto 0 auto;
    min-width: unset;
  }

  /* 12/20 */
  #pop_block .pop_content {
    width: 80%;
  }
}

.lr_item {
  /* justify-content: center !important; */
}
#lineup.lang_ma .inner .content_box.lr_tag {
  width: 22.657%;
}
.lr_tag:before {
  position: absolute;
  content: "";
  background-image: url(../img/logo_lr.png);
  width: 162px;
  height: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 100;
  top: -38px;
  left: -16px;
}
.notice_box {
  position: relative;
}
.lr_notice {
  position: absolute;
  display: block;
  width: 48%;
  top: -40px;
  text-align: center;
  line-height: 1.5;
}

.link_sticker a {
  position: absolute;
  display: block;
  width: 21.463%;
  max-width: 270px;
  bottom: 10%;
  right: 10%;
  transition: all 0.3s;
  z-index: 10;
}
.link_sticker a:hover {
  opacity: 0.7;
}

/* 20240708 campaign bnr*/
#kv {
  margin-bottom: 140px;
}
.bnr_area {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 60px;
  padding: 0 20px;
  box-sizing: border-box;
}
.bnr_area a {
  transition: all 0.3s;
}
.bnr_area a:hover {
  opacity: 0.5;
}
.bnr_area.bnr_trial {
  width: 48vw;
  max-width: 620px;
  margin-bottom: 40px;
}
/* footer link */
.link-privacy {
  text-align: center;
}
.link-privacy a {
  display: inline-block;
  text-align: center;
  text-decoration: underline;
  color: #fff;
  margin: 16px auto;
  transition: all 0.3s;
}
.link-privacy a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 750px) {
  #lineup.lang_ma .inner .content_box.lr_tag {
    width: 100%;
  }
  .lr_item {
    padding-top: 40px;
    margin-bottom: 100px !important;
  }
  .lr_item .lr_tag:first-of-type {
    margin-bottom: 24% !important;
  }
  .lr_tag:before {
    width: 164px;
    height: 50px;
    left: 50%;
    transform: translateX(-50%);
  }
  .lr_notice {
    width: 100%;
    top: -80px;
  }
  .link_sticker a {
    right: auto;
    left: 10px;
    width: 130px;
    bottom: 62px;
  }

  /* 20240708 campaign bnr*/
  #kv {
    margin-bottom: 200px;
  }
  .bnr_area {
    margin-bottom: 50px;
  }
  .bnr_area.bnr_trial {
    width: 100%;
    margin-top: 24px;
  }
}
