@charset "UTF-8";
/*-------------------------*/
/* SNS
/*-------------------------*/
#footer_sns {
  background: #000;
  overflow: hidden;
  padding: 2.5% 0;
}

#footer_sns ul {
  text-align: center;
}

#footer_sns ul li {
  display: inline-block;
  margin: 0 .5em;
  line-height: 0;
  vertical-align: middle;
}

#footer_sns ul li a {
  display: block;
}

#footer_sns ul li img {
  height: auto;
  width: 40px;
}

/*----- SP(横)/TB -----*/
@media only screen and (max-width: 767px) and (orientation: landscape), only screen and (min-width: 600px) and (max-width: 1024px) {
  #footer_sns {
    padding: 1.5% 0;
  }
}

/*----- PC -----*/
@media only screen and (min-width: 1025px) {
  #footer_sns {
    padding: .75em 0;
  }
}

/*-------------------------*/
/* footer
/*-------------------------*/
footer {
  width: 100%;
}

footer p {
  line-height: 1.2;
}

#title_footer,
#agegate_footer {
  background: #000;
  color: #666;
  margin: 0;
  padding: 0 0 2%;
  text-align: center;
  width: 100%;
}

#title_footer a {
  color: #ccc;
  text-decoration: none;
}

#title_footer a:visited {
  color: #ccc;
}

/*----- Product -----*/
#title_footer #productlogo,
#agegate_footer #productlogo {
  overflow: hidden;
  padding: 2%;
  text-align: center;
  border-top: solid #444 1px;
}

#title_footer #productlogo li {
  display: inline-block;
  padding: 2%;
}

#title_footer #productlogo li img {
  vertical-align: middle;
}

#title_footer #copyrightlogo {
  padding: 0 2% 1.5% 2%;
  font-size: 63%;
  /*10px*/
}

#title_footer #copyrightlogo img {
  vertical-align: middle;
}

/*----- Link -----*/
#title_footer #capcom_menu {
  border-top: solid #444 1px;
  overflow: hidden;
  padding: 2%;
}

#title_footer #capcom_menu.gl,
#title_footer #capcom_menu.global {
  padding: 3% 2% 0;
}

#title_footer #capcom_menu li {
  float: left;
  font-size: 75%;
  /*12px*/
  list-style: none;
  width: 100%;
}

#title_footer #capcom_menu li:not(:last-child) {
  margin-bottom: 2%;
}

#title_footer #capcom_menu li.box1 {
  width: 49%;
}

#title_footer #capcom_menu li.box1:nth-child(odd) {
  margin-right: 2%;
}

#title_footer #capcom_menu li.box1.Single {
  float: none;
  margin: auto;
  width: 72%;
}

#title_footer #capcom_menu li a {
  border: solid #444 1px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  padding: 1.25em;
  text-align: center;
}

#title_footer .agegate_jp {
  border-top: solid #444 1px;
}

/*----- Logo -----*/
#title_footer #copy_capcom,
#agegate_footer #copy_capcom {
  padding: 3% 0 1%;
  text-align: center;
}

#title_footer #copy_capcom a,
#agegate_footer #copy_capcom a {
  display: block;
  margin: 0 auto;
  width: 106px;
}

/*----- Copyright -----*/
#copyright,
#secondcopyright {
  font-size: 63%;
  /*10px*/
}

/*----- Logo -----*/
/*----- SP(横)/TB -----*/
@media only screen and (max-width: 767px) and (orientation: landscape), only screen and (min-width: 600px) and (max-width: 1024px) {
  #title_footer,
  #agegate_footer {
    padding: 0 0 1%;
  }
  #title_footer #productlogo,
  #agegate_footer #productlogo,
  #title_footer #productlogo li {
    padding: 1%;
  }
  #title_footer #copyrightlogo {
    padding: 0 1.5% 1.5% 1.5%;
  }
  #title_footer #capcom_menu {
    padding: 1.5%;
  }
  #title_footer #capcom_menu li:not(:last-child) {
    margin-bottom: 1.5%;
  }
  #title_footer #capcom_menu li.box1 {
    width: 49.25%;
  }
  #title_footer #capcom_menu li.box1:nth-child(odd) {
    margin-right: 1.5%;
  }
}

/*----- PC -----*/
@media only screen and (min-width: 1025px) {
  #title_footer,
  #agegate_footer {
    padding: 0 0 .5em;
  }
  #title_footer #productlogo,
  #agegate_footer #productlogo,
  #title_footer #productlogo li {
    padding: .5em;
  }
  #title_footer #copyrightlogo {
    font-size: 10px;
    padding: 0 1em 1em 1em;
  }
  #title_footer #capcom_menu {
    border-top: solid #444 1px;
    padding: 10px 0;
    text-align: center;
  }
  #title_footer #capcom_menu.gl,
  #title_footer #capcom_menu.global {
    padding: 10px 0;
  }
  #title_footer #capcom_menu li {
    display: inline-block;
    float: none;
    font-size: 10px;
    padding: 0 1.5em;
    text-decoration: none;
    width: auto !important;
  }
  #title_footer #capcom_menu li:not(:last-child) {
    margin-bottom: auto;
  }
  #title_footer #capcom_menu li.box1 {
    border-right: solid 1px #444;
  }
  #title_footer #capcom_menu li.box1.Single {
    border-right: none;
  }
  #title_footer #capcom_menu li.box1:nth-child(odd) {
    margin-right: auto;
  }
  #title_footer #capcom_menu li a {
    border: none;
    margin: 0;
    padding: 0;
  }
  #title_footer #copy_capcom,
  #agegate_footer #copy_capcom {
    padding: 10px 0 5px;
    text-align: center;
  }
  #copyright,
  #secondcopyright {
    font-size: 10px;
  }
  #title_footer #capcom_menu.gl li,
  #title_footer #capcom_menu.global li {
    font-size: 12px;
  }
  #title_footer #capcom_menu.gl li a,
  #title_footer #capcom_menu.global li a {
    position: relative;
  }
  #title_footer #capcom_menu.gl li a:after,
  #title_footer #capcom_menu.global li a:after {
    border-bottom: solid #ccc 1px;
    bottom: -2px;
    content: '';
    display: block;
    position: absolute;
    width: 100%;
  }
  #title_footer #capcom_menu.gl li a:hover,
  #title_footer #capcom_menu.global li a:hover {
    opacity: 1;
  }
  #title_footer #capcom_menu.gl li a:hover:after,
  #title_footer #capcom_menu.global li a:hover:after {
    border-bottom: none;
  }
}

/*----- Unuse -----*/
#title_footer #capcomlogo {
  border-top: solid #444 1px;
  padding-top: 2%;
  text-align: center;
  width: 100%;
}

/* ---- reset ---- */
canvas {
  display: block;
  vertical-align: bottom;
  z-index: 50;
}

/* ---- particles.js container ---- */
#particles-js {
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

/* ---- stats.js ---- */
.count-particles {
  background: #000022;
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  color: #13E8E9;
  font-size: .8em;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
}

.js-count-particles {
  font-size: 1.1em;
}

#stats,
.count-particles {
  -webkit-user-select: none;
  margin-top: 5px;
  margin-left: 5px;
}

#stats {
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}

.count-particles {
  border-radius: 0 0 3px 3px;
}

* {
  margin: 0;
  padding: 0;
  outline: 0;
}

img {
  max-width: 100%;
  height: auto !important;
  display: block;
}

body {
  font-family: Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-size: 1em;
}

.hide {
  display: none;
}

:hover {
  -webkit-transition: all .5s;
  transition: all .5s;
}

body.zh {
  font-family: Helvetica, Arial, 'LiHei Pro', '微軟正黑體', sans-serif;
}

body.ja {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul {
  list-style-type: none;
}

html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: auto;
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

button {
  padding: 0;
  cursor: pointer;
  border: none;
  outline: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

small {
  font-family: Verdana, Arial, Geneva, Tahoma, sans-serif;
}

:hover {
  -webkit-transition: all .5s;
  transition: all .5s;
}

.footer__anchor--toPagetop {
  cursor: pointer;
}

.red {
  color: red;
}

/*
=======================================================
	MAIN
=======================================================
*/
.gnavi__trigger {
  font-size: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background-color: #083c68;
  color: #dfe4f4;
  vertical-align: middle;
}

.gnavi__trigger .header__fb {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.gnavi__trigger .header__tw {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.gnavi__trigger .header__fb a {
  display: block;
  height: 60px;
  width: 74px;
  background: url(../images/btn_fb.png) no-repeat;
  background-position: 0 0;
}

.gnavi__trigger .header__tw a {
  display: block;
  height: 60px;
  width: 74px;
  background: url(../images/btn_tw.png) no-repeat;
  background-position: 0 0;
}

.gnavi__trigger .header__fb a:hover,
.gnavi__trigger .header__tw a:hover {
  background-position: 0 bottom;
}

.gnavi__trigger .header__fb a .text,
.gnavi__trigger .header__tw a .text,
.gnavi__trigger #package_btn .text {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px;
}

.gnavi__trigger .header__lan {
  width: 193px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.gnavi__trigger .header__lan #package_btn {
  -webkit-transform: rotate(0.001deg);
          transform: rotate(0.001deg);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
  width: 193px;
  height: 65px;
  background: url(../images/btn_lan.png) no-repeat top left;
}

.gnavi__trigger .header__lan .gnavi__accordion {
  position: absolute;
  top: 76px;
  right: 0;
  text-align: center;
  width: 193px;
  z-index: 5;
  background-color: rgba(18, 18, 18, 0.8);
  display: none;
}

.gnavi__trigger .header__lan .gnavi__accordion li {
  text-align: center;
  width: 100%;
  margin: 5px 0;
  color: #3ca0d4;
}

.gnavi__trigger .header__lan .gnavi__accordion li a {
  display: block;
  padding: 10px 0;
  width: 100%;
  color: #FFF;
}

.gnavi__trigger .header__lan .gnavi__accordion li a:hover {
  background-color: #076cc4;
}

.gnavi__trigger .header__lan .gnavi__accordion.close {
  display: none;
}

.gnavi__trigger .header__lan .gnavi__accordion.open {
  display: block;
}

.package #package_btn {
  background-position: left top;
}

.playArea #package_btn {
  background-position: left top;
}

.package #package_btn:hover {
  background-position: left bottom;
}

.playArea #package_btn:hover {
  background-position: left bottom;
}

@media all and (min-width: 800px) {
  /*
=======================================================
	HEADER
=======================================================
*/
  .header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
  }
  .header__menu {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
  .header__menu .navi {
    height: 62px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    background: -webkit-gradient(linear, left bottom, left top, from(#002e6e), color-stop(60%, black));
    background: linear-gradient(0deg, #002e6e 0%, black 60%);
    /* NAVIGATOR*/
  }
  .header__menu .navi .header__logo {
    margin-top: 15px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 20%;
            flex: 0 20%;
  }
  .header__menu .navi .header__logo:hover {
    opacity: 0.8;
  }
  .header__menu .navi .gnavi--pages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
  }
  .header__menu .navi .gnavi--pages .gnavi--c {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .header__menu .navi .gnavi--pages .gnavi--c__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.3rem;
    height: 100%;
    padding: 0 10px;
  }
  .header__menu .navi .gnavi--pages .gnavi--c__item:hover::before {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  .header__menu .navi .gnavi--pages .gnavi--c__item::before {
    -webkit-transform: scaleX(0.4);
            transform: scaleX(0.4);
    -webkit-transform-origin: left center;
            transform-origin: left center;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #083c68;
    background-size: 52% 52%;
    background-repeat: no-repeat;
    -webkit-transition: 0.26s cubic-bezier(0.49, 0.66, 0.26, 0.93);
    transition: 0.26s cubic-bezier(0.49, 0.66, 0.26, 0.93);
    opacity: 0;
  }
  .header__menu .navi .gnavi--pages .gnavi--c__item a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #00f7ff;
    font-weight: bold;
    text-align: center;
    z-index: 2;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-size: 100% 100%;
  }
  .header__menu .navi .gnavi--pages .gnavi--c__item a span {
    position: absolute;
    bottom: -11px;
    font-size: 14px;
  }
  .header__menu .navi .menu-section {
    width: 100%;
    height: 62px;
    position: relative;
  }
  .header__menu .navi .menu-toggle,
  .header__menu .navi .menu-section {
    display: none;
  }
  /*
=======================================================
	BORDER
=======================================================
*/
  .frame-border-top {
    width: 100%;
    height: 22px;
    background: url(../images/border_02.png), url(../images/border_01.png);
    background-size: 682px 22px, auto;
    background-repeat: no-repeat, repeat-x;
    background-position: center top, left top;
  }
  /*
=======================================================
	FOOTER
=======================================================
*/
  .loading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .loading {
    position: fixed;
    z-index: 1000;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #004698;
    background-size: 100% 100%;
  }
  /*
.loading .loading__container{position:relative;display:block;opacity:0;-webkit-transition:opacity .2s linear 0s;transition:opacity .2s linear 0s;border-radius:10px;background-color:rgba(255,255,255,.8);width:300px;height:200px;display: flex;justify-content: center;align-items: center;}
.loading .loading__container .text{margin:30px auto 0;display:block;width:168px;height:28px}
.loading .loading__container .loader{margin:0px auto 0;font-size:14px;width:1.3em;height:1.3em;border-radius:50%;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loaderAnim .6s infinite ease;animation:loaderAnim .6s infinite ease}
*/
  .footer__anchor--toPagetop {
    width: 86px;
    height: 86px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #131313 url(../images/to_pagetop.gif) no-repeat 0 0;
    background-size: 86px 86px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: -9999px;
    margin: 0px auto 15px;
  }
  .footer__anchor--toPagetop:hover {
    opacity: 0.8;
    margin: -4px auto 43px;
  }
  ul.footer__btn {
    position: relative;
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 1.5%;
  }
  ul.footer__btn li {
    display: inline-block;
    margin: 0 7px;
    border: 2px solid #ccc;
    color: #fff;
    font-size: 16px;
    padding: 0.2% 2%;
    text-align: center;
  }
  .spec__area {
    margin-top: 1vw;
    position: relative;
    z-index: 2;
    padding: 4.1666% 0 4%;
    border-top: 1px solid #444;
    color: white;
  }
  .spec__area .spec__inner {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 1.5%;
  }
  .spec__area .spec__inner .spec__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col1,
  .spec__area .spec__inner .spec__wrap .spec__wrap__col2,
  .spec__area .spec__inner .spec__wrap .spec__wrap__col3 {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 5px;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col3__btn {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
            flex: 0 0 45%;
    border: solid 2px #fff;
    border-radius: 5px;
    margin-bottom: 10px;
    overflow: hidden;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col3__btn:hover {
    opacity: .8;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap__col3__btn img {
    display: block;
    width: 100%;
  }
  .spec__area .spec__inner .spec__wrap .spec__icon {
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: .5em;
  }
  .spec__area .spec__inner .spec__wrap .spec {
    width: 100%;
  }
  .spec__area .spec__inner .spec__wrap .spec__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #444;
    margin-bottom: 1.28em;
    padding-bottom: .5em;
    font-size: 16px;
  }
  .spec__area .spec__inner .spec__wrap .spec__head {
    text-align: left;
    width: 112px;
  }
  .spec__area .spec__inner .spec__wrap .spec__detail {
    font-size: 16px;
  }
  .spec__area .spec__inner .spec__wrap .spec__wrap img {
    width: 100%;
  }
  .showSp {
    display: none !important;
  }
}

@media all and (max-width: 799px) {
  /*
=======================================================
	HEADER
=======================================================
*/
  .header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
  }
  .header__menu {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
  .header__menu .navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    background: #083c68;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    /* NAVIGATOR */
  }
  .header__menu .navi .header__logo {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    z-index: 1;
  }
  .header__menu .navi .header__logo a {
    max-width: 185px;
    display: block;
  }
  .header__menu .navi .header__logo a:hover {
    opacity: 0.8;
  }
  .header__menu .navi .gnavi--pages {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 100%;
            flex: 1 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    background: -webkit-gradient(linear, left top, right top, from(#001e47), color-stop(60%, black));
    background: linear-gradient(90deg, #001e47 0%, black 60%);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: end;
        align-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .header__menu .navi .gnavi__trigger {
    font-size: 1.3rem;
    color: #dfe4f4;
  }
  .header__menu .navi .menu-section {
    position: relative;
    -webkit-box-flex: 0;
        -ms-flex: 0 10%;
            flex: 0 10%;
    right: 0;
    float: right;
  }
  .header__menu .navi .menu-section .menu-toggle {
    width: 50px;
    height: 50px;
    position: relative;
    top: 0;
    cursor: pointer;
    padding: 1%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 5px 6px 0;
  }
  .header__menu .navi .menu-section .menu-toggle .one,
  .header__menu .navi .menu-section .menu-toggle .two,
  .header__menu .navi .menu-section .menu-toggle .three {
    width: 100%;
    height: 5px;
    background: white;
    margin: 8px auto;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
  }
  .header__menu .navi .menu-section .menu-toggle.on {
    background-color: rgba(0, 0, 0, 0);
  }
  .header__menu .navi .menu-section .menu-toggle.on .one {
    -webkit-transform: rotate(45deg) translate(10px, 10px);
            transform: rotate(45deg) translate(10px, 10px);
  }
  .header__menu .navi .menu-section .menu-toggle.on .two {
    opacity: 0;
  }
  .header__menu .navi .menu-section .menu-toggle.on .three {
    -webkit-transform: rotate(-45deg) translate(10px, -10px);
            transform: rotate(-45deg) translate(10px, -10px);
  }
  .header__menu .navi .menu-section.on {
    width: 100%;
    height: 100%;
    display: block;
    z-index: 3;
  }
  .gnavi--c {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .gnavi--c__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 51px;
            flex: 0 51px;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .gnavi--c__item:hover::before {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  .gnavi--c__item::before {
    -webkit-transform: scaleX(0.4);
            transform: scaleX(0.4);
    -webkit-transform-origin: left center;
            transform-origin: left center;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #083c68;
    background-size: 52% 52%;
    background-repeat: no-repeat;
    -webkit-transition: 0.26s cubic-bezier(0.49, 0.66, 0.26, 0.93);
    transition: 0.26s cubic-bezier(0.49, 0.66, 0.26, 0.93);
    opacity: 0;
  }
  .gnavi--c__item a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #00f7ff;
    font-weight: bold;
    text-align: center;
    z-index: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-size: 100% 100%;
    border-bottom: 1px solid #646464;
    padding: 10px 10px 10px 25px;
  }
  .gnavi--c__item a span {
    margin-left: 20px;
  }
  .gnavi--c__item a::before {
    background-image: url(../images/img06.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    content: '';
    top: 50%;
    position: absolute;
    right: 18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .gnavi--c__item-lan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .gnavi--c__item-lan li,
  .gnavi--c__item-lan li a {
    -webkit-box-flex: 0;
        -ms-flex: 0 30%;
            flex: 0 30%;
    text-align: center;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: white;
    display: block;
  }
  .gnavi--c__item-lan li {
    margin: 5px;
    border: 1px solid white;
    font-size: 1em;
    line-height: 1em;
    padding: 8px;
  }
  .gnavi--c__item-lan .now {
    background-color: #076cc4;
  }
  .gnavi--c__item-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    color: #dfe4f4;
    vertical-align: middle;
  }
  .gnavi--c__item-sns .header__fb,
  .gnavi--c__item-sns .header__tw {
    position: relative;
    margin: 10px;
  }
  .gnavi--c__item-sns .header__fb a,
  .gnavi--c__item-sns .header__tw a {
    width: 60px;
    height: 60px;
  }
  .gnavi--c__item-sns .header__fb a {
    background: #456aae url(../images/fb.png) no-repeat center;
    background-size: auto 70%;
  }
  .gnavi--c__item-sns .header__tw a {
    background: #30a6ed url(../images/tw.png) no-repeat center;
    background-size: auto 60%;
  }
  .gnavi--c__item-sns .header__fb a:hover,
  .gnavi--c__item-sns .header__tw a:hover {
    opacity: 0.8;
  }
  .gnavi--c__item-sns .header__fb a .text,
  .gnavi--c__item-sns .header__tw a .text,
  .gnavi--c__item-sns #package_btn .text {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-indent: -9999px;
  }
  .gnavi--c__item-sns .header__lan {
    width: 193px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  nav .hidden {
    display: none;
  }
  nav ul li.lock a {
    display: none;
  }
  #package_btn {
    display: block;
    top: 0;
    height: 60px;
    width: 130px;
    background: url(../images/btn_lan.png) no-repeat;
    background-size: 200% 200%;
  }
  body.package #package_btn {
    background-position: left top;
  }
  body.playArea #package_btn {
    background-position: right top;
  }
  body.package #package_btn:hover {
    background-position: left bottom;
  }
  body.playArea #package_btn:hover {
    background-position: right bottom;
  }
  ul.banner {
    z-index: 5;
    position: absolute;
    width: 94%;
    margin: 0px auto;
    top: 60px;
    padding-top: 4vw;
    padding-bottom: 2px;
    left: 0px;
    color: #FFF;
    font-size: 80%;
    background-color: rgba(18, 18, 18, 0.8);
    display: none;
  }
  ul.banner.close {
    display: none;
  }
  ul.banner.open {
    display: block;
  }
  ul.banner li {
    text-align: center;
    width: 100%;
    margin: 5px 0;
    color: #3ca0d4;
  }
  ul.banner li a {
    display: block;
    padding: 2px 0;
    width: 100%;
    color: #FFF;
  }
  ul.banner li a:hover {
    background-color: #3ca0d4;
  }
  /*
=======================================================
	BORDER
=======================================================
*/
  .frame-border-top {
    width: 100%;
    height: 15px;
    background: url(../images/border_02.png), url(../images/border_01.png);
    background-size: 450px 15px, auto 15px;
    background-repeat: no-repeat, repeat-x;
    background-position: center top, left top;
  }
  /*
=======================================================
	FOOTER
=======================================================
*/
  .footer {
    position: relative;
    z-index: 3;
    width: 100%;
    margin: 0 auto;
    background-color: #131313;
    color: #FFF;
    text-align: center;
  }
  .footer__anchor--toPagetop {
    width: 86px;
    height: 86px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #131313 url(../images/to_pagetop.gif) no-repeat 0 0;
    background-size: 86px 86px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: -9999px;
    margin: 0px auto 15px;
    cursor: pointer;
  }
  .footer__anchor--toPagetop:hover {
    opacity: 0.8;
    margin: -4px auto 43px;
  }
  .footer__btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 13px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .footer__btn li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 1px solid #ccc;
    color: #fff;
    padding: 0.2% 2%;
    font-size: 16px;
    margin: 5px;
  }
  .spec__area {
    margin-top: 1vw;
    position: relative;
    z-index: 2;
    padding: 4.1666% 0 4%;
    border-top: 1px solid #444;
    color: white;
  }
  .spec__inner {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 1.5%;
  }
  .spec__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .spec__wrap__col1,
  .spec__wrap__col2,
  .spec__wrap__col3 {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 5px;
  }
  .spec__wrap__col1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .spec__wrap__col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
  }
  .spec__wrap__col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 100%;
            flex: 1 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .spec__wrap__col3__btn {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
            flex: 0 0 45%;
    border: solid 2px #fff;
    border-radius: 5px;
    margin-bottom: 10px;
    overflow: hidden;
    margin: 5px;
  }
  .spec__wrap__col3__btn:hover {
    opacity: .8;
  }
  .spec__icon {
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: .5em;
  }
  .spec {
    width: 100%;
  }
  .spec__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #444;
    margin-bottom: 1.28em;
    padding-bottom: .5em;
    font-size: 13px;
    text-align: left;
  }
  .spec__head {
    text-align: left;
    width: 112px;
  }
  .spec__detail {
    font-size: 16px;
  }
  .spec__wrap img {
    width: 100%;
    display: block;
  }
  .c-link-btn {
    text-shadow: none;
    position: relative;
    z-index: 5;
    width: 90%;
    max-width: 360px;
    margin: 0 auto;
  }
  .c-link-btn {
    position: relative;
    text-align: center;
    padding: 4px;
  }
  .c-link-inner {
    position: relative;
    text-align: center;
    padding: 2px;
  }
  .c-link-btn .link-btn-inner {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.8em;
  }
  .c-link-btn .link-btn-txt {
    display: inline-block;
    color: #fff;
    font-size: 25px;
  }
  .c-link-btn.m-blue {
    background: #f1ff09;
    background: linear-gradient(135deg, transparent 10px, #f1ff09 0) top left, linear-gradient(225deg, transparent 0, #f1ff09 0) top right, linear-gradient(315deg, transparent 10px, #f1ff09 0) bottom right, linear-gradient(45deg, transparent 0, #f1ff09 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
  }
  .c-link-btn.m-blue .c-link-inner {
    background: #00317b;
    background: linear-gradient(135deg, transparent 10px, #00317b 0) top left, linear-gradient(225deg, transparent 0, #00317b 0) top right, linear-gradient(315deg, transparent 10px, #00317b 0) bottom right, linear-gradient(45deg, transparent 0, #00317b 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
  }
  .c-link-btn.m-blue .link-btn-inner {
    background: #0885ba;
    /* fallback */
    background: linear-gradient(135deg, transparent 10px, #0885ba 0) top left, linear-gradient(225deg, transparent 0, #0885ba 0) top right, linear-gradient(315deg, transparent 10px, #0885ba 0) bottom right, linear-gradient(45deg, transparent 0, #0885ba 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
  }
  .c-link-btn.m-blue:hover {
    background: #00b5ff;
    background: linear-gradient(135deg, transparent 10px, #00b5ff 0) top left, linear-gradient(225deg, transparent 0, #00b5ff 0) top right, linear-gradient(315deg, transparent 10px, #00b5ff 0) bottom right, linear-gradient(45deg, transparent 0, #00b5ff 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
    opacity: 0.8;
  }
  .c-link-btn.m-blue:hover .link-btn-inner {
    background: #0895d1;
    background: linear-gradient(135deg, transparent 10px, #0895d1 0) top left, linear-gradient(225deg, transparent 0, #0895d1 0) top right, linear-gradient(315deg, transparent 10px, #0895d1 0) bottom right, linear-gradient(45deg, transparent 0, #0895d1 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
  }
  .showPc {
    display: none !important;
  }
}

.btn-lnk-jp a {
  position: fixed;
  right: 1vw;
  bottom: 1vw;
  z-index: 2;
  border: #f0f9ff 2px solid;
}

.btn-lnk-jp a :hover {
  opacity: .85;
}

@media (max-width: 800px) {
  .btn-lnk-jp a {
    width: 45vw;
  }
}

@media (max-width: 800px) {
  .btn-lnk-jp a img {
    width: 100%;
  }
}
