@charset "UTF-8";
/* ==========================================================
  YUI element reset
========================================================== */
/* YUI 3.8.1 (build 5795) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */
/*
  TODO will need to remove settings on HTML since we can't namespace it.
  TODO with the prefix, should I group by selector or property for weight savings?
*/
html {
  color: #000; }

/*
  TODO remove settings on BODY since we can't namespace it.
*/
/*
  TODO test putting a class on HEAD.
    - Fails on FF.
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

header,
footer,
nav,
section,
article,
figure,
aside {
  display: block;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset,
img {
  border: 0;
  line-height: 0;
  vertical-align: bottom; }

/*
  TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

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

abbr,
acronym {
  border: 0;
  font-variant: normal; }

/* to preserve line-height and selector appearance */
sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

/*to enable resizing for IE*/
input,
textarea,
select {
  *font-size: 100%; }

/*because legend doesn't inherit in IE */
legend {
  color: #000; }

/* ==========================================================
  YUI fontreset
========================================================== */
/* YUI 3.8.1 (build 5795) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */
/**
 * Percents could work for IE, but for backCompat purposes, we are using keywords.
 * x-small is for IE6/7 quirks mode.
 */
body {
  font-size: 14px;
  color: #3c3c3c;
  font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  line-height: 1.4;
  word-wrap: break-word; }

/**
 * Nudge down to get to 13px equivalent for these form elements
 */
select,
input,
button,
textarea {
  font: 99% arial,helvetica,clean,sans-serif; }

/**
 * To help tables remember to inherit
 */
table {
  font-size: inherit;
  font: 100%; }

/**
 * Bump up IE to get to 13px equivalent for these fixed-width elements
 */
pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

/* CLEARFIX
========================================================== */
.clearfix {
  *zoom: 1; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

/* ==========================================================
  top.css
========================================================== */
/* @BASE
================ */
body {
  font-size: 14px;
  line-height: 1.6;
  width: 100%; }

a {
  outline: none; }

#wrapper {
  position: relative;
  overflow: hidden;
  background-image: url(../images/shared/bg.jpg);
  background-size: cover;
  background-position: center 698px; }

.bg {
  position: fixed;
  min-width: 1080px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1; }
  .bg img {
    width: 100%;
    height: auto; }

.pc_none {
  display: none; }

.inner {
  margin: 0 10px;
  width: 1080px; }

.btn_pageTop {
  position: fixed;
  right: 10px;
  bottom: 20px;
  margin-bottom: 0px;
  z-index: 9999;
  display: none; }

.btn_pageTop a {
  display: block; }

/* @MAIN
================ */
#top {
  min-width: 1080px;
  /* animation mixin */
  /* animation */ }
  #top .main {
    background: url(../images/top/bg_mainBottom.jpg) repeat-x bottom;
    background-color: #030a11;
    width: 100%;
    min-width: 1080px;
    padding: 0 0 3px;
    height: 699px; }
  #top .bg_main_repeat {
    background: #11243a;
    height: 699px; }
  #top .main-inner {
    background: url(../images/top/bg_main.jpg) no-repeat center 0;
    min-width: 1080px;
    height: 702px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
  #top #main-title {
    margin: 0 0 0 -243px;
    top: 263px;
    left: 50%;
    position: absolute;
    z-index: 4; }
  #top .dl-area {
    background: url(../images/top/bg_download.png) no-repeat;
    background-size: cover;
    margin: 0 0 0 -256px;
    width: 512px;
    height: 90px;
    padding: 44px 16px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 402px;
    left: 50%;
    z-index: 5; }
    #top .dl-area ul {
      width: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-around;
      justify-content: space-around;
       }
    #top .dl-area li {
      /* float: left; */ }
      #top .dl-area li:not(:last-child) {
        /* padding: 0 3px 0 0; */ }
  #top .chara01, #top .chara01_white {
    margin: 0 0 0 -588px;
    top: 15px;
    left: 50%;
    position: absolute;
    z-index: 2;
    display: none; }
  #top .chara02, #top .chara02_white {
    margin: 0 0 0 -80px;
    top: 142px;
    left: 50%;
    position: absolute;
    z-index: 1;
    display: none; }
  #top .chara01_white, #top .chara02_white {
    opacity: 0;
    z-index: 3; }
  #top .effect {
    margin: 0 0 0 -179px;
    top: 13px;
    left: 50%;
    position: absolute;
    z-index: 3; }

@-webkit-keyframes chara01_animation {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes chara01_animation {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes chara01_animation {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
  #top .chara01 {
    -webkit-animation: chara01_animation ease-in 0.3s;
    -moz-animation: chara01_animation ease-in 0.3s;
    animation: chara01_animation ease-in 0.3s;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both; }

@-webkit-keyframes chara01_animation {
  0% {
    opacity: 0;
    -webkit-transform: translate(-200px, 0px) scaleX(1) scaleY(1);
    transform: translate(-200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    -webkit-transform: translate(-10px, 0px) scaleX(1) scaleY(1);
    transform: translate(-10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }

@-moz-keyframes chara01_animation {
  0% {
    opacity: 0;
    transform: translate(-200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    transform: translate(-10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }

@keyframes chara01_animation {
  0% {
    opacity: 0;
    -webkit-transform: translate(-200px, 0px) scaleX(1) scaleY(1);
    transform: translate(-200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    -webkit-transform: translate(-10px, 0px) scaleX(1) scaleY(1);
    transform: translate(-10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }
  #top .chara02 {
    -webkit-animation: chara02_animation ease-in 0.3s;
    -moz-animation: chara02_animation ease-in 0.3s;
    animation: chara02_animation ease-in 0.3s;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both; }

@-webkit-keyframes chara02_animation {
  0% {
    opacity: 0;
    -webkit-transform: translate(200px, 0px) scaleX(1) scaleY(1);
    transform: translate(200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    -webkit-transform: translate(10px, 0px) scaleX(1) scaleY(1);
    transform: translate(10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }

@-moz-keyframes chara02_animation {
  0% {
    opacity: 0;
    transform: translate(200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    transform: translate(10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }

@keyframes chara02_animation {
  0% {
    opacity: 0;
    -webkit-transform: translate(200px, 0px) scaleX(1) scaleY(1);
    transform: translate(200px, 0px) scaleX(1) scaleY(1); }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); }
  99% {
    opacity: 1;
    -webkit-transform: translate(10px, 0px) scaleX(1) scaleY(1);
    transform: translate(10px, 0px) scaleX(1) scaleY(1); }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
    transform: translate(0px, 0px) scaleX(1) scaleY(1); } }
  #top .chara01_white, #top .chara02_white {
    -webkit-animation: chara01_white_animation ease-in 0.15s;
    -moz-animation: chara01_white_animation ease-in 0.15s;
    animation: chara01_white_animation ease-in 0.15s;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both; }

@-webkit-keyframes chara01_white_animation {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-moz-keyframes chara01_white_animation {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes chara01_white_animation {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* @CONTENTS
================ */
.contents-area {
  margin: -111px auto 218px;
  position: relative;
  width: 1080px;
  z-index: 2; }
  .contents-area .movie-box {
    position: absolute;
    top: 0;
    left: -26px; }
    .contents-area .movie-box .balloon {
      position: absolute;
      top: -109px;
      left: -29px;
      z-index: 10; }
  .contents-area .navi {
    position: absolute;
    top: 0;
    right: -27px; }
    .contents-area .navi li {
      float: left; }

/* @INFOMATION
================ */
#info-area {
  width: 1080px;
  margin: 0 auto 60px; }
  #info-area .info-inner {
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    /* Firefox用 */
    width: 992px;
    height: 436px;
    margin: -110px auto 0;
    padding: 130px 44px 40px; }
  #info-area #topics {
    float: left;
    width: 530px;
    height: 437px; }
  #info-area .topics-inner {
    background-color: #fff;
    color: #2b2b2b;
    width: 488px;
    height: 329px;
    margin: 0 0 26px;
    padding: 21px 21px 0;
    overflow: auto;
    border-radius: 5px; }
    #info-area .topics-inner dl {
      font-size: 14px;
      border-bottom: #cfd6de solid 1px;
      margin: 0 0 16px;
      padding: 0 0 10px; }
    #info-area .topics-inner dt {
      height: 24px;
      padding: 2px 0 0 100px;
      margin: 0 0 10px; }
      #info-area .topics-inner dt.news {
        background: url(../images/top/icon_news.gif) no-repeat 0 0; }
      #info-area .topics-inner dt.info {
        background: url(../images/top/icon_info.gif) no-repeat 0 0; }
      #info-area .topics-inner dt.apology {
        background: url(../images/top/icon_apology.gif) no-repeat 0 0; }
      #info-area .topics-inner dt.update {
        background: url(../images/top/icon_news.gif) no-repeat 0 0; }
      #info-area .topics-inner dt.event {
        background: url(../images/top/icon_news.gif) no-repeat 0 0; }
    #info-area .topics-inner dd a,
    #info-area .topics-inner a:hover {
      color: #2b2b2b;
      text-decoration: none; }
  #info-area .btn_more,
  #info-area .tw-official {
    width: 334px;
    margin: 19px auto 0; }
  #info-area #tw-widjet {
    float: right;
    width: 413px;
    height: 437px; }

/* @APP DETAIL
================ */
#app-detail {
  width: 100%;
  height: 198px;
  background-color: rgba(0, 48, 66, 0.4); }
  #app-detail .app-inner {
    width: 1160px;
    margin: 0 auto;
    position: relative; }
    #app-detail .app-inner p {
      position: absolute; }
      #app-detail .app-inner p.icon {
        top: 33px;
        left: 172px; }
      #app-detail .app-inner p.title {
        top: 65px;
        left: 332px; }
      #app-detail .app-inner p.text {
        font-size: 14px;
        line-height: 1.57;
        color: #001e42;
        top: 65px;
        right: 170px; }
      #app-detail .app-inner p.device_text {
        font-size: 14px;
        line-height: 1.57;
        color: #001e42;
        top: 65px;
        right: 120px; }

/* @FOOTER
================ */
.store_area {
  display: none; }

footer {
  background-color: #0053bd;
  border-top: #d58f17 solid 2px;
  width: 100%;
  height: 160px;
  position: absolute; }
  footer .inner {
    background: url(../images/shared/footer_border.jpg) no-repeat center top;
    height: 2px;
    margin: -2px auto 0;
    padding: 0 10px;
    position: relative; }
    footer .inner .ignis {
      -webkit-box-ordinal-group: 1;
      margin-right: 10px; }
    footer .inner .info-list {
      -webkit-box-ordinal-group: 2; }
    footer .inner .copyright {
      -webkit-box-ordinal-group: 3; }
    footer .inner .info-company {
      position: absolute;
      width: 100%;
      top: 110px;
      display: -webkit-box;
      -webkit-box-align: center;
      -webkit-box-pack: center;
      font-size: 14px;
      color: #fff; }
      footer .inner .info-company li {
        margin-right: 20px; }
    footer .inner li {
      float: left;
      position: relative; }
      footer .inner li a,
      footer .inner li a:hover {
        color: #fff;
        text-decoration: none; }
      footer .inner li .balloon_info {
        position: absolute;
        top: -74px;
        left: -64px; }
        footer .inner li .balloon_info img {
          height: 71px;
          width: 120px; }
    footer .inner .sns {
      background: url(../images/shared/bg_sns.png) no-repeat;
      background-size: 100% auto;
      width: 172px;
      height: 63px;
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 22px 0 0 226px; }
      footer .inner .sns .btn_twitter {
        padding: 0 8% 0 12%; }
      footer .inner .sns .btn_discord {
        padding: 0 8%; }
      footer .inner .sns img {
        height: 50px;
        width: 50px; }
    footer .inner .wiki {
      position: absolute;
      top: 12px;
      left: 338px;
      width: 310px;
      height: 78px; }
    footer .inner .wiki_beginer {
      position: absolute;
      top: 12px;
      left: 0;
      width: 310px;
      height: 78px; }

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden; }

#cboxWrapper, #colorbox {
  padding: 15px 15px 15px 0; }

#cboxWrapper a,
#cboxWrapper button {
  outline: none; }

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%; }

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left; }

#cboxContent {
  position: relative;
  z-index: 9999; }

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

#cboxTitle {
  margin: 0; }

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer; }

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic; }

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  position: relative;
  z-index: 99999; }

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; }

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000; }

#colorbox {
  outline: 0; }

#cboxError {
  padding: 50px;
  border: 1px solid #ccc; }

#cboxTitle {
  position: absolute;
  top: -20px;
  left: 0;
  color: #ccc; }

#cboxCurrent {
  position: absolute;
  top: -20px;
  right: 0px;
  color: #ccc; }

#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none; }

#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0; }

#cboxSlideshow {
  position: absolute;
  top: -20px;
  right: 90px;
  color: #fff; }

#cboxPrevious:hover {
  background-position: bottom left; }

#cboxNext:hover {
  background-position: bottom right; }

#cboxClose {
  position: absolute;
  top: -15px;
  right: -15px;
  display: block;
  background: url(../images/top/btn_close.png) no-repeat top center;
  width: 46px;
  height: 46px;
  text-indent: -9999px; }

/* ==========================================================
  News single
========================================================== */
.news_single {
  color: #fff;
  border: #edbc5f 3px solid;
  border-radius: 10px;
  padding: 30px;
  background-color: rgba(0, 0, 0, 0.7);
  box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.34) inset;
  -moz-box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.34) inset;
  -webkit-box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.34) inset; }

.news_title {
  text-align: center;
  font-size: 110%;
  font-weight: bold;
  margin: 0 0 20px; }

@media screen and (min-width: 721px) {
  .news_single {
    font-size: 140%; } }

h1 {
  color: transparent; }
