@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/*変数(ブレイクポイント)設定(必要に応じて数値を変更)*/
/*=====================================================================================================================*/
/*ボディー全体設定*/
body {
  background: #eee7d9;
  outline: none;
  overflow-x: hidden; }

area {
  border: none;
  outline: none; }

a.modal {
  outline: none;
  border: none; }

a {
  text-decoration: none;
  outline: none;
  border: none; }

input[type="text"]:focus {
  outline: none; }

h3 {
  text-align: center;
  margin: 30px auto; }

@media screen and (max-width: 1024px) {
  .pc {
    display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1024px) {
    .sp {
      display: block; } }

/*フォント設定*/
.red {
  color: #FF0000; }

.redB {
  color: #FF0000;
  font-weight: bold; }

.blue {
  color: #0000FF; }

.blueB {
  color: #0000FF;
  font-weight: bold; }

.yellow {
  color: #FFB730; }

.yellowB {
  color: #FFB730;
  font-weight: bold; }

/*=====================================================================================================================*/
/*ヘッダー(一番上の奴)設定*/
header {
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  z-index: 99; }
  header img {
    text-align: left; }
  header img:hover {
    opacity: 0.7; }
  header p {
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 0.3%; }

/*=====================================================================================================================*/
/*SP折り畳みメニュー中身*/
#nav-toggle {
  display: none;
  position: fixed;
  right: 10px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101; }
  @media screen and (max-width: 1024px) {
    #nav-toggle {
      display: block; } }
  @media screen and (max-width: 640px) {
    #nav-toggle {
      right: 10px; } }
  @media screen and (max-width: 380px) {
    #nav-toggle {
      top: 10px;
      overflow: none; } }

#nav-toggle div {
  position: relative; }

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #FFF;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out; }

#nav-toggle span:nth-child(1) {
  top: 0; }

#nav-toggle span:nth-child(2) {
  top: 11px; }

#nav-toggle span:nth-child(3) {
  top: 22px; }

#global-nav {
  position: absolute;
  top: -900px;
  /* 開いてないときは画面外に配置 */
  left: 0;
  right: auto;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  text-align: center;
  padding: 10px 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out; }
  @media screen and (max-width: 380px) {
    #global-nav {
      padding: 0px 0; } }

#global-nav ul {
  position: static;
  right: 0;
  bottom: 0; }

#global-nav ul li {
  float: none;
  position: static;
  font-size: 25px;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.74); }
  @media screen and (max-width: 640px) {
    #global-nav ul li img {
      height: 60px; } }
  @media screen and (max-width: 380px) {
    #global-nav ul li img {
      height: 40px; } }

#global-nav ul li:last-child {
  border-bottom: none; }

#top-head #global-nav ul li a,
#global-nav ul li a {
  width: 105%;
  display: block;
  color: #fff;
  padding: 5px 0; }

/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg); }

.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%; }

.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg); }

/* #global-nav スライドアニメーション */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(900px);
  -webkit-transform: translateY(900px);
  transform: translateY(900px); }

/*SP折り畳みメニュー終了==================================================================================================*/
/*=====================================================================================================================*/
/*各メニューアンカー用*/
#role, #battle, #character, #system {
  position: relative;
  top: -110px; }
  @media screen and (max-width: 1024px) {
    #role, #battle, #character, #system {
      top: 00px; } }

#world {
  position: relative;
  top: -60px; }
  @media screen and (max-width: 1024px) {
    #world {
      top: 00px; } }

#character {
  position: relative;
  top: -140px; }
  @media screen and (max-width: 1024px) {
    #character {
      top: -30px; } }

/*=====================================================================================================================*/
/*メイン画像関連（パーツ増やしたり減らしたり）================================================================================*/
.main, .mcon {
  position: relative; }

.mcon {
  max-width: 1240px;
  height: 100%;
  margin: 0 auto;
  text-align: center; }
  .mcon p img {
    margin: 0px auto 20px; }
  @media screen and (max-width: 1024px) {
    .mcon {
      width: 96%; } }

.top_main {
  background: url("../img/back_main.jpg") no-repeat center top;
  background-size: cover; }
  @media screen and (max-width: 1024px) {
    .top_main {
      background: none #f0ce93; } }

.main {
  height: 900px;
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .main {
      max-width: 1024px;
      height: 1300px;
      margin-bottom: 0px; } }
  @media screen and (max-width: 800px) {
    .main {
      max-width: 1024px;
      height: 900px;
      margin-bottom: 0px; } }
  @media screen and (max-width: 640px) {
    .main {
      max-width: 100%;
      height: 700px;
      margin-bottom: 0px; } }

.t-logo {
  position: absolute;
  margin: auto;
  right: -10vw;
  top: 5vh;
  z-index: 10;
  width: 650px;
  max-width: 100%; }
  @media screen and (max-width: 1024px) {
    .t-logo {
      display: none; } }

.pv_btn {
  display: block;
  position: absolute;
  margin: auto;
  left: -29px;
  bottom: 200px;
  z-index: 8;
  width: 296px;
  height: 166px; }
  @media screen and (max-width: 1280px) {
    .pv_btn {
      left: -30px; } }
  @media screen and (max-width: 1024px) {
    .pv_btn {
      left: 0;
      right: 0;
      bottom: 10%; } }
  @media screen and (max-width: 640px) {
    .pv_btn {
      left: 0;
      right: 0;
      bottom: 20%; } }

.pv_btn_waku {
  display: block;
  position: absolute;
  margin: auto;
  left: -32px;
  bottom: 198px;
  z-index: 9; }
  @media screen and (max-width: 1280px) {
    .pv_btn_waku {
      left: -32px; } }
  @media screen and (max-width: 1024px) {
    .pv_btn_waku {
      left: 0;
      right: 0;
      bottom: 10%; } }
  @media screen and (max-width: 640px) {
    .pv_btn_waku {
      left: 0;
      right: 0;
      bottom: 19.8%; } }

@supports (-ms-ime-align: auto) {
  .pv_btn_waku {
    display: none; } }
.topdl_list {
  transition: .3s;
  margin-left: 5px;
  position: absolute;
  left: -100px;
  bottom: 50px;
  z-index: 8; }
  .topdl_list img {
    height: 105px; }
  .topdl_list:hover {
    opacity: .8; }
  @media screen and (max-width: 1024px) {
    .topdl_list {
      width: 96%;
      left: 0;
      right: 0;
      bottom: 0px;
      margin: 0px auto 0; }
      .topdl_list img {
        height: 85px;
        display: block;
        margin: 0px auto 0; } }
  @media screen and (max-width: 800px) {
    .topdl_list {
      width: 96%;
      left: 0;
      right: 0;
      bottom: 00px;
      margin: 0 auto; } }

.popup-iframe {
  width: 299px;
  height: 170px;
  max-width: 100%;
  max-height: 100%; }

.spdl_list {
  width: 100%; }
  .spdl_list ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: nowrap;
    position: absolute;
    z-index: 8;
    left: 300px;
    bottom: 60px; }
    .spdl_list ul li {
      transition: .3s;
      margin-left: 5px; }
    .spdl_list ul li:hover {
      opacity: .5; }
    .spdl_list ul img {
      height: 65px; }
    @media screen and (max-width: 1024px) {
      .spdl_list ul {
        width: 96%;
        left: 0;
        right: 0;
        bottom: 10px;
        margin: 0px auto 0; } }
    @media screen and (max-width: 800px) {
      .spdl_list ul {
        width: 96%;
        left: 0;
        right: 0;
        bottom: 00px;
        margin: 0 auto; }
        .spdl_list ul ul {
          flex-wrap: wrap;
          margin: 10px auto; }
        .spdl_list ul img {
          height: auto; } }

.mgn {
  margin-right: 15px; }

.topdl {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 160px; }
  @media screen and (max-width: 640px) {
    .topdl {
      bottom: 20px; } }

.sp_topimg {
  display: none; }
  @media screen and (max-width: 1024px) {
    .sp_topimg {
      display: block;
      margin: 0 auto; } }
  @media screen and (max-width: 380px) {
    .sp_topimg {
      display: block;
      margin: 0 auto;
      width: 100%; } }

.pcmenu {
  position: fixed;
  margin: auto;
  left: 0;
  right: 0;
  top: 0px;
  z-index: 990;
  background: url("../img/hd_back.jpg") repeat-x; }
  @media screen and (max-width: 1024px) {
    .pcmenu {
      display: none; } }

.pcmenu_con {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around; }
  .pcmenu_con img {
    display: block; }
  @media screen and (max-width: 640px) {
    .pcmenu_con {
      width: 100%; } }

.pcmenu_con div:first-child {
  margin-right: auto; }

.h_logo {
  height: 80px; }

/*メイン背景用*/
.main_back {
  position: fixed;
  top: 0;
  z-index: -2;
  height: 110vh;
  width: 100%;
  background: url("../img/back_con.jpg") no-repeat center;
  background-size: cover; }

.main_mcon {
  height: 100%;
  height: 100vh;
  position: relative;
  width: 100%;
  width: 100vw; }

/*world紹介部分=========================================================================================================*/
a:focus, *:focus {
  outline: none; }

.world_con {
  background: #f9deaf; }

.wmcon {
  background: url("../img/world_back.jpg") no-repeat top;
  background-size: cover;
  overflow: hidden;
  outline: none;
  text-align: center; }
  .wmcon p {
    margin: 80px auto 150px;
    text-align: center; }
  @media screen and (max-width: 1024px) {
    .wmcon p {
      margin: 80px auto 30px; }
      .wmcon p img {
        margin: 0 auto; } }
  @media screen and (max-width: 640px) {
    .wmcon p {
      margin: 80px auto 30px; } }

.swiper-container {
  width: 100%; }

.swiper-wrapper .swiper-slide {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 1050px;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none; }
  @media screen and (max-width: 1280px) {
    .swiper-wrapper .swiper-slide {
      height: 1000px; } }
  @media screen and (max-width: 1024px) {
    .swiper-wrapper .swiper-slide {
      height: 100vh; } }
  @media screen and (max-width: 800px) {
    .swiper-wrapper .swiper-slide {
      height: auto; } }

.txt_area {
  position: relative;
  height: 600px;
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .txt_area {
      max-width: 95%;
      height: 900px;
      margin: 80px auto 60px; } }
  @media screen and (max-width: 800px) {
    .txt_area {
      position: static;
      max-width: 95%;
      height: auto;
      margin: 80px auto; } }
  @media screen and (max-width: 640px) {
    .txt_area {
      max-width: 95%;
      margin: 30px auto 15%; } }
  @media screen and (max-width: 420px) {
    .txt_area {
      max-width: 95%; } }

.sp_txt {
  width: 100%;
  text-align: center; }
  .sp_txt img {
    margin: 0 auto; }

.ss_t {
  position: absolute;
  top: 10px;
  left: -10vw;
  z-index: 3; }
  @media screen and (max-width: 1024px) {
    .ss_t {
      position: absolute;
      top: 10px;
      left: 10vw; } }
  @media screen and (max-width: 800px) {
    .ss_t {
      margin: 0 auto;
      top: 3%;
      left: -5vw;
      right: 0vh; } }
  @media screen and (max-width: 640px) {
    .ss_t {
      top: 5%;
      left: 0vw;
      right: 0;
      margin: 0 auto; } }

.enemy {
  position: absolute;
  top: 10vh;
  right: -2vw;
  z-index: 2; }
  @media screen and (max-width: 1024px) {
    .enemy {
      position: absolute;
      margin: 0 auto;
      top: 30%;
      left: 0vw;
      right: 0vh; } }
  @media screen and (max-width: 800px) {
    .enemy {
      position: absolute;
      margin: 0 auto;
      top: 20%;
      left: 0vw;
      right: 0vh; } }
  @media screen and (max-width: 640px) {
    .enemy {
      position: absolute;
      margin: 0 auto;
      top: 150px;
      left: 0vw;
      right: 0vh; } }
  @media screen and (max-width: 420px) {
    .enemy {
      position: absolute;
      margin: 0 auto;
      top: 150px;
      left: 0vw;
      right: 0vh; } }
  @media screen and (max-width: 380px) {
    .enemy {
      position: absolute;
      margin: 0 auto;
      top: 130px;
      left: 0vw;
      right: 0vh; } }

.cap_img1 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: auto;
  position: absolute;
  top: 36vh;
  right: 0;
  left: 0; }
  @media screen and (max-width: 1024px) {
    .cap_img1 {
      top: 40vh; } }
  @media screen and (max-width: 800px) {
    .cap_img1 {
      top: 42vh;
      display: block;
      text-align: center; }
      .cap_img1 img {
        margin: 10px auto; } }
  @media screen and (max-width: 640px) {
    .cap_img1 {
      top: 40vh; } }

.swiper-button-prev2 {
  outline: none;
  content: url("../img/arrow-l.png");
  position: absolute;
  top: 45%;
  left: 15vw;
  z-index: 80;
  opacity: 0.5;
  transition: 0.3s;
  transform: translateX(3px); }
  .swiper-button-prev2:active {
    opacity: 1;
    transform: translateX(-20px); }
  @media screen and (max-width: 1280px) {
    .swiper-button-prev2 {
      left: 2vw; } }
  @media screen and (max-width: 1024px) {
    .swiper-button-prev2 {
      content: url("../img/arrow-l-sp.png");
      left: 2vw; } }

.swiper-button-next2 {
  content: url("../img/arrow-r.png");
  position: absolute;
  right: 15vw;
  top: 45%;
  z-index: 80;
  opacity: 0.5;
  transition: 0.3s;
  transform: translateX(-3px); }
  .swiper-button-next2:active {
    opacity: 1;
    transform: translateX(20px); }
  @media screen and (max-width: 1280px) {
    .swiper-button-next2 {
      right: 2vw; } }
  @media screen and (max-width: 1024px) {
    .swiper-button-next2 {
      content: url("../img/arrow-r-sp.png");
      right: 2vw; } }

.txt p {
  text-align: center;
  margin: 0 auto;
  position: absolute;
  bottom: -25vh;
  right: 0;
  left: 0;
  z-index: 3; }
  @media screen and (max-width: 1024px) {
    .txt p {
      bottom: -330px; } }
  @media screen and (max-width: 800px) {
    .txt p {
      bottom: -20%; } }
  @media screen and (max-width: 640px) {
    .txt p {
      bottom: 5vh; } }
  @media screen and (max-width: 420px) {
    .txt p {
      bottom: 3%; } }
  @media screen and (max-width: 380px) {
    .txt p {
      bottom: 20%; } }

/*story紹介部分=========================================================================================================*/
.role_con {
  margin-bottom: 80px;
  overflow: hidden;
  position: relative; }
  .role_con img {
    max-width: 100%; }
  @media screen and (max-width: 1024px) {
    .role_con {
      height: auto; } }
  @media screen and (max-width: 800px) {
    .role_con {
      height: auto;
      background-size: cover; } }
  @media screen and (max-width: 640px) {
    .role_con {
      margin-bottom: 20px; } }

.role_sub_con {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around; }
  @media screen and (max-width: 1024px) {
    .role_sub_con {
      display: block; } }

.role_mcon {
  position: relative;
  margin: 30px auto 80px;
  height: 500px;
  max-height: 100%;
  width: 1240px; }
  @media screen and (max-width: 1024px) {
    .role_mcon {
      position: static;
      max-width: 100%;
      height: auto; }
      .role_mcon img {
        margin: 20px auto; } }
  @media screen and (max-width: 640px) {
    .role_mcon {
      max-width: 96%;
      margin: 0px auto 60px; }
      .role_mcon img {
        margin: 0px auto; } }

.roleimg_00, .roleimg_01, .roleimg_02, .roleimg_03 {
  position: absolute;
  display: block;
  margin: auto; }
  @media screen and (max-width: 1024px) {
    .roleimg_00, .roleimg_01, .roleimg_02, .roleimg_03 {
      position: static; } }

.roleimg_00 {
  left: 0;
  top: 0;
  z-index: 3; }

.roleimg_01 {
  right: 0;
  bottom: 0; }
  @supports (-ms-ime-align: auto) {
    .roleimg_01 {
      bottom: -400px; } }

.roleimg_02 {
  left: 0;
  bottom: 20px; }
  @supports (-ms-ime-align: auto) {
    .roleimg_02 {
      bottom: -400px; } }

.roleimg_03 {
  top: -10px;
  right: 0; }

.role_mozi {
  margin: 20px auto 0; }

/*キャラクター部分=========================================================================================================*/
.chara_con {
  position: relative;
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
  height: 1300px; }
  @media screen and (max-width: 1024px) {
    .chara_con {
      height: 1200px;
      margin-bottom: 80px; } }
  @media screen and (max-width: 800px) {
    .chara_con {
      height: 1100px;
      margin-bottom: 80px; } }
  @media screen and (max-width: 640px) {
    .chara_con {
      height: 760px;
      position: static; } }
  @media screen and (max-width: 380px) {
    .chara_con {
      height: 580px; } }

.chara_mcon {
  max-width: 800px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .chara_mcon {
      width: 96%;
      bottom: 35%;
      flex-wrap: nowrap; } }
  @media screen and (max-width: 800px) {
    .chara_mcon {
      position: static;
      max-width: 90%;
      margin: 0 auto; } }
  @media screen and (max-width: 640px) {
    .chara_mcon {
      flex-wrap: wrap; }
      .chara_mcon img {
        margin: 20px auto; } }

.cha_scon {
  position: relative;
  height: 750px; }
  @media screen and (max-width: 800px) {
    .cha_scon img {
      margin: 0 auto; } }
  @media screen and (max-width: 640px) {
    .cha_scon {
      height: 500px; } }
  @media screen and (max-width: 380px) {
    .cha_scon {
      height: 300px; } }

.c_img {
  position: absolute;
  margin: 0 auto;
  right: 0px;
  top: 0; }
  @media screen and (max-width: 640px) {
    .c_img {
      left: 0vw;
      right: 0vw; } }

.c_img5 {
  /*フォール*/
  position: absolute;
  margin: 0 auto;
  right: -10px;
  bottom: 10%;
  width: 580px; }
  @media screen and (max-width: 800px) {
    .c_img5 {
      right: -4vw; } }
  @media screen and (max-width: 640px) {
    .c_img5 {
      left: 0vw;
      right: 0vw;
      bottom: -5%; } }

.c_img2 {
  /*サルヴァード用*/
  position: absolute;
  margin: 0 auto;
  left: 0px;
  bottom: 0%; }
  @media screen and (max-width: 800px) {
    .c_img2 {
      left: -4vw; } }
  @media screen and (max-width: 640px) {
    .c_img2 {
      left: 0vw;
      right: 0vw;
      bottom: -5%; } }

.c_img3 {
  /*エアラ*/
  position: absolute;
  margin: 0 auto;
  right: 0px;
  top: 0; }
  @media screen and (max-width: 1024px) {
    .c_img3 {
      right: -20px; } }
  @media screen and (max-width: 640px) {
    .c_img3 {
      right: 0px;
      left: 0; } }

.c_img4 {
  /*ゼツメツ*/
  position: absolute;
  margin: 0 auto;
  right: 0px;
  top: 0; }
  @media screen and (max-width: 800px) {
    .c_img4 {
      right: -5vw; } }
  @media screen and (max-width: 640px) {
    .c_img4 {
      right: 0vw;
      top: 8%; } }

.c_img_sp {
  margin: 0 auto; }

@media screen and (max-width: 640px) {
  .c_name {
    position: absolute;
    margin: 0 auto;
    left: 0px;
    top: 25%;
    z-index: 5; } }

.c_name2 {
  /*サルヴァード*/
  position: absolute;
  margin: 0 auto;
  right: 0px;
  top: 50%; }
  @media screen and (max-width: 640px) {
    .c_name2 {
      top: 55%; } }

.c_name3 {
  /*ゼツメツ*/ }
  @media screen and (max-width: 640px) {
    .c_name3 {
      position: absolute;
      margin: 0 auto;
      left: 0px;
      top: 0%;
      z-index: 5; } }

.c_mozi {
  position: absolute;
  z-index: 5; }
  @media screen and (max-width: 640px) {
    .c_mozi {
      top: 38%; } }

.c_mozi2 {
  /*サルヴァード*/
  position: absolute;
  margin: 0 auto;
  right: -5.5%;
  bottom: 13%;
  z-index: 5; }
  @media screen and (max-width: 640px) {
    .c_mozi2 {
      bottom: -2%; } }

.c_mozi3 {
  /*ゼツメツ*/
  position: absolute;
  z-index: 5; }
  @media screen and (max-width: 640px) {
    .c_mozi3 {
      top: 30%; } }

@media screen and (max-width: 770px) {
  .cha_slide_mcon {
    width: 90%;
    margin: 0 auto; }
    .cha_slide_mcon img {
      margin: 0 auto; } }

.chara_role {
  position: absolute;
  margin: 0 auto;
  left: 0;
  bottom: 80px;
  text-align: center; }
  @media screen and (max-width: 1024px) {
    .chara_role {
      right: 0;
      left: 0;
      bottom: 2%; } }
  @media screen and (max-width: 640px) {
    .chara_role {
      bottom: 2%; } }
  @media screen and (max-width: 380px) {
    .chara_role {
      bottom: 5%; } }

.role_main {
  width: 100%; }
  .role_main img {
    margin: 0 auto; }

.tab li, .tab2 li, .tab3 li, .tab4 li {
  opacity: 0.5; }

.tab li.active, .tab2 li.active, .tab3 li.active, .tab4 li.active {
  opacity: 1; }

.role_icon {
  display: flex; }
  .role_icon li {
    margin: 10px 5px; }
  @media screen and (max-width: 1024px) {
    .role_icon {
      justify-content: center; }
      .role_icon li {
        margin: 2px 5px; } }
  @media screen and (max-width: 640px) {
    .role_icon {
      width: 60%;
      margin: 0 auto;
      justify-content: space-around; }
      .role_icon li {
        margin: 2px 5px; } }

.area li, .area2 li, .area3 li, .area4 li {
  display: none; }

.area li.show, .area2 li.show, .area3 li.show, .area4 li.show {
  display: block; }

/*戦闘紹介部分=========================================================================================================*/
.bt_con {
  position: relative;
  overflow: hidden;
  height: 1200px; }
  @media screen and (max-width: 1024px) {
    .bt_con {
      height: 1400px;
      margin-bottom: 80px; } }
  @media screen and (max-width: 800px) {
    .bt_con {
      height: 1300px;
      margin-bottom: 80px; } }
  @media screen and (max-width: 640px) {
    .bt_con {
      height: 900px; } }
  @media screen and (max-width: 420px) {
    .bt_con {
      height: 850px; } }
  @media screen and (max-width: 380px) {
    .bt_con {
      height: 720px; } }

.bt_mcon {
  max-width: 780px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .bt_mcon {
      width: 97%;
      bottom: 35%;
      flex-wrap: nowrap; } }
  @media screen and (max-width: 800px) {
    .bt_mcon {
      position: static;
      max-width: 100%;
      margin: 0 auto; } }
  @media screen and (max-width: 420px) {
    .bt_mcon {
      flex-wrap: wrap; }
      .bt_mcon img {
        margin: 0px auto; } }

.slide_con {
  margin: 0 5px;
  text-align: center; }
  .slide_con img {
    display: block;
    margin: 0 auto; }

.slider {
  margin: 0 auto; }

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.slide-dots {
  text-align: center; }
  .slide-dots li {
    display: inline-block;
    margin: 0 40px 0 0; }
    .slide-dots li button {
      position: relative;
      text-indent: -9999px; }
      .slide-dots li button:before {
        content: url("../img/dot-1.png");
        font-size: 20px;
        text-indent: 0px;
        position: absolute;
        margin: 0 auto;
        bottom: -30px;
        left: 0;
        right: 0; }
        @media screen and (max-width: 640px) {
          .slide-dots li button:before {
            bottom: -15px; } }
    .slide-dots li.slick-active button:before {
      content: url("../img/dot-0.png"); }

/*自動再生用========*/
.mp4-popup {
  position: relative;
  background: none;
  padding: 0px;
  width: auto; }

.mp4-popup video {
  width: 100%; }

/*system紹介部分=========================================================================================================*/
.sys_con {
  overflow: hidden;
  margin-bottom: 30px; }
  @media screen and (max-width: 1024px) {
    .sys_con {
      height: auto;
      margin-top: 30px;
      margin-bottom: 30px; } }

.sys_mcon {
  width: 1200px;
  max-width: 100%;
  height: 850px;
  position: relative;
  margin: 0 auto 30px; }
  @media screen and (max-width: 1024px) {
    .sys_mcon {
      height: auto;
      margin-top: 30px;
      margin-bottom: 30px; }
      .sys_mcon img {
        display: block;
        margin: 5px auto; }
      .sys_mcon div {
        margin-bottom: 40px; } }
  @media screen and (max-width: 640px) {
    .sys_mcon {
      width: 96%; }
      .sys_mcon div {
        margin-bottom: 30px; } }

.sys_img_01, .sys_img_02, .sys_img_03, .sys_img_04, .sys_img_05, .sys_img_06, .sys_img_07, .sys_img_08, .sys_img_09 {
  position: absolute;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .sys_img_01, .sys_img_02, .sys_img_03, .sys_img_04, .sys_img_05, .sys_img_06, .sys_img_07, .sys_img_08, .sys_img_09 {
      position: static; } }

.sys_img_01 {
  top: 0;
  left: 0; }

.sys_img_02 {
  top: 65px;
  left: 0; }

.sys_img_03 {
  top: 0;
  right: 0; }

.sys_img_04 {
  top: 65px;
  right: 0; }

.sys_img_05 {
  left: 0;
  bottom: 0px; }

.sys_img_06 {
  left: 0;
  bottom: 65px; }

.sys_img_07 {
  right: 0;
  bottom: 0px; }

.sys_img_08 {
  right: 0;
  bottom: 65px; }

.sys_img_09 {
  top: 40%;
  right: 0;
  left: 0;
  z-index: 3; }

/*DL部分関連============================================================================================================*/
/*SNS系統設定===========================================================================================================*/
.sns_btn {
  display: -webkit-flex;
  display: flex;
  max-width: 300px;
  margin: 20px auto;
  text-align: center; }
  .sns_btn img {
    width: 60px; }
  .sns_btn li {
    flex-grow: 2;
    -webkit-flex-grow: 1;
    /* Safari */ }

/*footerカスタム=======================================================================================================*/
footer {
  background: #efcc8a url("../img/back_footer.jpg") center top;
  background-size: cover;
  color: #370000;
  height: auto;
  border-top: #cca663 3px solid;
  overflow: hidden; }

hr {
  background: #cca663; }

.download_btn_pc, .download_btn_sp, .game_info p {
  background: #598415; }

.kmclogo img {
  display: block;
  margin: 5px auto; }

/*=====================================================================================================================*/
/*DLモーダルウィンドウ========================================================================================================*/
.modal_wrap input {
  display: none; }

.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0); }

.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%; }

.modal_content {
  align-self: center;
  max-width: 800px;
  padding: 30px 30px 15px;
  box-sizing: border-box;
  line-height: 1.4em;
  transform: scale(0.3);
  transition: 0.5s; }
  @media screen and (max-width: 640px) {
    .modal_content {
      width: 80%;
      margin: 0 auto; } }
  @media screen and (max-width: 420px) {
    .modal_content {
      padding: 10px 0;
      width: 80%; } }

.modal_content_two {
  align-self: center;
  width: 800px;
  padding: 30px 30px 15px;
  box-sizing: border-box;
  line-height: 1.4em;
  transform: scale(0.3);
  transition: 0.5s; }
  @media screen and (max-width: 640px) {
    .modal_content_two {
      width: 80%;
      margin: 0 auto; } }
  @media screen and (max-width: 420px) {
    .modal_content_two {
      padding: 10px 0;
      width: 80%; } }

.close_button {
  position: absolute;
  top: 14px;
  right: 16px;
  cursor: pointer;
  color: #FFFFFF;
  opacity: 1; }

@media screen and (max-width: 768px) {
  .close_button {
    top: 1%;
    right: 4%;
    color: #FFFFFF; } }
@media screen and (max-width: 420px) {
  .close_button {
    top: -10px;
    right: -10px;
    color: #FFFFFF; } }
.close_button img {
  width: 24px;
  height: 24px; }

.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s; }

.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: scale(1); }

.open_button {
  text-align: center;
  max-width: 96%;
  margin: 0 auto;
  font-family: 'Montserrat', sans-serif; }

.dl_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
.dl_list li {
  color: #000;
  border: 2px #e18400 solid;
  border-radius: 5px;
  text-align: center;
  margin: 5px 5px;
  font-size: 12px;
  background: #e18400;
  background: -moz-linear-gradient(top, #ff1900 0%, #e18400 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #ff1900), color-stop(100%, #e18400));
  background: -webkit-linear-gradient(top, #ff1900 0%, #e18400 100%);
  background: -o-linear-gradient(top, #ff1900 0%, #e18400 100%);
  background: -ms-linear-gradient(top, #ff1900 0%, #e18400 100%);
  background: linear-gradient(to bottom, #ff1900 0%, #e18400 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFF', endColorstr='#e8d19b', GradientType=0 );
  box-shadow: 6px 6px rgba(0, 0, 0, 0.4); }
@media screen and (max-width: 640px) {
  .dl_list li {
    margin: 5px 5px;
    font-size: 8px; } }

.one {
  width: 150px;
  height: 150px; }
  .one img {
    height: 70px;
    margin-top: 38px; }
  @media screen and (max-width: 640px) {
    .one {
      width: 110px;
      height: 70px; }
      .one img {
        height: 50px;
        margin-top: 10px; } }

.double {
  width: 150px;
  height: 150px; }
  .double img {
    height: 70px;
    margin-top: 13px; }
  @media screen and (max-width: 640px) {
    .double {
      width: 120px;
      height: 150px;
      font-size: 8px; } }

.dl_link2 a {
  display: block;
  width: 80%;
  margin: 0 auto 3px;
  padding: 2px 0;
  font-size: 12px;
  border-radius: 2px;
  background: #FFF;
  color: #ff1900;
  font-weight: bold;
  overflow: hidden;
  border: 2px solid #ff1900; }
.dl_link2 a:hover {
  border: 2px solid #FFF;
  background: #ff1900;
  color: #FFF; }
@media screen and (max-width: 640px) {
  .dl_link2 a {
    font-size: 10px;
    padding: 1px 0; } }
