@charset "utf-8";

body {
  padding: 0 0 0;
  min-height: 100%;
  background: url(../img/bg.jpg) 50% 0 fixed;
  font: 10rem/1 "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  color: #fff;
  overflow: hidden;
}

/* ナビ */
.nav_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 980px;
  height: 121px;
  background: url(../img/head_bg.png) 0 0 repeat-x;
  z-index: 1000;
}
#gNav {
  position: relative;
  width: 874px;
  height: 121px;
  margin: 0 auto;
}
#gNav ul {
  margin: 0 auto;
}
#gNav li {
  float: left;
  position: relative;
}
#gNav li.new:after {
  position: absolute;
  content: url("../img/new.png");
  -webkit-animation: blink 3.5s ease-in-out infinite;
  animation: blink 3.5s ease-in-out infinite;
}
#gNav li:nth-child(2).new:after {
  top: 84px;
  left: 94px;
}
#gNav li:nth-child(4).new:after {
  top: 84px;
  left: 66px;
}
#gNav li a {
  display: block;
  background: url(../img/nav.png) 0 0 no-repeat;
}
#gNav li a img {
  display: block;
  background: url(../img/nav.png) 0 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
#gNav li a:hover img {
  opacity: 1;
}
#gNav li:nth-child(1) {
  padding: 2px 36px 0 0;
}
#gNav li:nth-child(2) {
  padding: 21px 44px 0 0;
}
#gNav li:nth-child(3) {
  padding: 3px 44px 0 0;
}
#gNav li:nth-child(4) {
  padding: 0px 0 0 0;
}
#gNav .about,
#gNav .about img {
  width: 149px;
  height: 123px;
}
#gNav .about img { background-position: -149px 0; }

#gNav .character,
#gNav .character img {
  width: 252px;
  height: 105px;
}
#gNav .character { background-position: 0 -123px; }
#gNav .character img { background-position: -252px -123px; }

#gNav .system,
#gNav .system img {
  width: 161px;
  height: 112px;
}
#gNav .system { background-position: 0 -228px; }
#gNav .system img { background-position: -161px -228px; }

#gNav .gallery,
#gNav .gallery img {
  width: 188px;
  height: 122px;
}
#gNav .gallery { background-position: 0 -339px; }
#gNav .gallery img { background-position: -188px -339px; }


.sns_btn {
  position: absolute;
  top: 7px;
  left: 104%;
  width: 100px;
  height: 60px;
}
.sns_btn #tweet {
  margin: 0 0 4px;
}

.header_bg {
  padding: 116px 0 0;
  /*height: 1090px;*/
  height: 1315px;
  background: #111 url(../img/top_bg.jpg) 50% 100% no-repeat;
}
header {
  position: relative;
  width: 980px;
  margin: 0 auto;
}
header #logo {
  position: absolute;
  top: 350px;
  right: 18px;
  left: 0;
  margin: 0 auto;
  display: block;
  width: 610px;
  z-index: 2;
  -webkit-transform: translate3d(0,-150px,0);
  transform: translate3d(0,-150px,0);
}
.loaded header #logo {
  -webkit-animation: logoMove 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
  animation: logoMove 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}
.topImg {
  opacity: 0;
  margin: 0 0 20px;
  z-index: 1;
}
.loaded .topImg {
  -webkit-animation: fade-in 1s linear 0.4s both;
  animation: fade-in 1s linear 0.4s both;
}
header #spec {
  width: 980px;
  margin: 0 auto 32px;
}
.banner li.award {
  width: 467px;
}
.award img {
  position: relative;
  top: 0;
}
.xReview {
  position: absolute;
  top: 22px;
  right: 18px;
  width: 195px;
  height: 128px;
}
.xReview a {
  display: block;
  width: 195px;
  height: 128px;
  background: url(../img/x-review.png) 0 0 no-repeat;
}
.xReview a img {
  display: block;
  width: 195px;
  height: 128px;
  background: url(../img/x-review.png) 0 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.25s linear;
  -o-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
}
.xReview a:hover img {
  opacity: 1;
}
.switch {
  position: absolute;
  top: 158px;
  right: -62px;
  width: 195px;
  height: 128px;
}

.banner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;-webkit-box-pack: center;-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 664px;
  /*width: 810px;*/
  margin: 0 auto;
}
.banner li {
  position: relative;
  width: 322px;
  height: 98px;
  margin: 0 5px 12px;
}
.banner .new:after {
  content: url(../img/new.png);
  position: absolute;
  top: -10px;
  right: -16px;
  -webkit-animation: blink 2.4s ease-in-out infinite;
  animation: blink 2.4s ease-in-out infinite;
  z-index: 100;
}
.banner a {
  display: block;
  width: 322px;
  height: 98px;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.banner a img {
  display: block;
  width: 322px;
  height: 98px;
  background-position: 0 bottom;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.25s linear;
  -o-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
}
.banner .review,
.banner .review img {
  background-image: url(../img/banner_review.png);
}
.banner .comic,
.banner .comic img {
  background-image: url(../img/banner_comic.png);
}
.banner .buy,
.banner .buy img {
  background-image: url(../img/banner_buy.png);
}
.banner .buy2,
.banner .buy2 img {
  background-image: url(../img/banner_buy2.png);
}
.banner .report,
.banner .report img {
  background-image: url(../img/banner_report.png);
}
.banner a img:hover {
  opacity: 1;
}
header .arrow_down {
  display: block;
  width: 156px;
  height: 101px;
  margin: 0 auto;
}
header .arrow_down img {
  -webkit-transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header .arrow_down:hover img {
  -webkit-transform: translate3d(0,5%,0);
  transform: translate3d(0,5%,0);
}

/* 概要 */
.about_bg,
.system_bg {
  padding: 108px 0 150px;
}
.about_bg #about,
.gallery_bg #gallery section {
  position: relative;
  width: 966px;
  padding: 45px 0 0;
  margin: 0 auto;
  background: url(../img/frame_header.png) 0 0 no-repeat;
}
.about_bg #about:after,
.gallery_bg #gallery section:after {
  position: absolute;
  top: 100%;
  left: 0;
  content: url(../img/frame_footer.png);
}
main .inner {
  background: url(../img/frame_middle.png) 0 0 repeat-y;
}
#about section {
  width: 940px;
  height: 821px;
  float: left;
  opacity: 0;
  -webkit-transform: scale3d(0.7,0.7,0.7);
  transform: scale3d(0.7,0.7,0.7);
  -webkit-transition: all 0.7s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: all 0.7s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: all 0.7s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
#about .page_wrapper {
  position: relative;
  top: -16px;
  width: 940px;
  margin: 0 auto;
  overflow: hidden;
}
#about .page_inner {
  width: 1880px;
  overflow: hidden;
  -webkit-transition: all 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#about.page2 .page_inner {
  -webkit-transform: translate3d(-940px,0,0);
  transform: translate3d(-940px,0,0);
}
#about.page1 #page1,
#about.page2 #page2 {
  opacity: 1;
  -webkit-transform: scale3d(1,1,1);
  transform: scale3d(1,1,1);
  -webkit-transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#about h2 {
  width: 920px;
  margin: 0 auto 41px;
}
#about #page2 h2 {
  margin: 0 auto 6px;
}
#about #page1 p {
  padding: 0 0 60px;
  margin: 0;
}
#about #next_btn,
#about #next_btn img,
#about #before_btn,
#about #before_btn img {
  display: block;
  width: 118px;
  height: 59px;
  background: url(../img/about/btn_arrow.png) 0 0 no-repeat;
}
#about #next_btn,
#about #before_btn {
  position: absolute;
  bottom: -24px;
  z-index: 10;
  cursor: pointer;
  -webkit-animation: fade-in 0.25s linear both;
  animation: fade-in 0.25s linear both;
}
#about #next_btn img,
#about #before_btn img {
  opacity: 0;
  -webkit-transition: opacity 0.25s linear;
  -o-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
}
#about #next_btn:hover img,
#about #before_btn:hover img {
  opacity: 1;
}
#about #next_btn {
  right: 42px;
  background-position: -118px 0;
}
#about #next_btn img {
  background-position: -118px -59px;
}
#about #before_btn {
  left: 42px;
}
#about #before_btn img {
  background-position: 0 -59px;
}
#about.page1 #before_btn,
#about.page2 #next_btn {
  display: none;
  -webkit-animation: fade-out 0.25s linear;
  animation: fade-out 0.25s linear;
}
#about .block {
  width: 932px;
  margin: 0 auto;
  padding: 0 0 50px;
  position: relative;
}
#about .block .pop {
  position: absolute;
  top: 66px;
  right: 10px;
}

/* キャラクター */
.character_bg {
  height: 1080px;
  padding: 100px 0 0;
  background: url(../img/character/bg.jpg) 50% 0 no-repeat;
}
.mobile .character_bg {
  padding: 180px 0 0;
}
#character {
  position: relative;
  left: -webkit-calc(50% - 726px);
  left: calc(50% - 726px);
  width: 1451px;
}
.mobile #character {
  left: 0;
  width: 100%;
}
.card_bg {
  width: 1451px;
  height: 831px;
  background: url(../img/character/card_all.png) 0 0 no-repeat;
}
.mobile .card_bg {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scale(0.77);
  -ms-transform: scale(0.77);
  transform: scale(0.77);
}
.card_bg > img {
  display: block;
  width: 1451px;
  height: 829px;
}
.chara_new img {
  position: absolute;
  display: block;
  -webkit-animation: blink 3.5s ease-in-out infinite;
  animation: blink 3.5s ease-in-out infinite;
}
.chara_new img.marquis {
  top: 183px;
  left: 32px;
}
.chara_new img.card-K {
  top: 8px;
  left: 454px;
}
.chara_new img.card-8 {
  top: 29px;
  left: 658px;
}
.chara_new img.card-4 {
  top: 437px;
  left: 897px;
}
.chara_new img.staff {
  top: 399px;
  left: 484px;
}
.chara_new img.card-5 {
  top: 28px;
  left: 847px;
}
.chara_new img.card-10 {
  top: 47px;
  left: 1102px;
}
.chara_new img.card-2 {
  top: 534px;
  left: 178px;
}
.chara_new img.card-7 {
  top: 432px;
  left: 488px;
}
.chara_new img.card-9 {
  top: 424px;
  left: 854px;
}
.chara_new img.card-6 {
  top: 502px;
  left: 1294px;
}
#ImageMap area {
  outline: none;
}
/* システム */
.system_bg #system {
  position: relative;
  width: 966px;
  padding: 115px 0 0;
  margin: 0 auto;
}
.system_bg #system:after {
  position: absolute;
  top: 100%;
  left: 0;
  content: url(../img/frame_footer.png);
}
#system section {
  position: relative;
  min-height: 234px;
  padding: 14px 10px 0;
  margin: 0 0 24px;
}
#system section .pop {
  position: absolute;
  top: 6px;
  right: 25px;
}
#system h2 {
  position: absolute;
  top: 0;
  left: 0;
}
/* ギャラリー */
.gallery_bg {
  height: 1380px;
  padding: 100px 0 0;
  background: url(../img/gallery/bg.jpg) 50% 0 / auto 100% no-repeat;
}
.gallery_bg #gallery section {
  padding: 45px 0 0;
  margin: 0 auto 72px;
}
#gallery h2 {
  position: relative;
  top: -14px;
  margin: 0 0 0 78px;
  text-align: left;
}
.mv_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 900px;
  margin: 0 auto;
}
.mv_list li {
  width: 379px;
}
.mv_list b {
  display: block;
  text-align: left;
  margin: 0 0 12px;
}
.mv_list .play_btn {
  position: relative;
  display: block;
  width: 379px;
  height: 214px;
  border: 1px solid #fff;
  background: url(../../img/loading.gif) 50% 50% no-repeat;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.mv_list .play_btn:after {
  content: url(../img/gallery/on.png);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 127px;
  height: 127px;
  margin: auto;
  opacity: 0;
}
.mv_list .play_btn:hover:after {
  opacity: 1;
}
.mv_list .play_btn .mv_obj {
  width: 377px;
  height: 212px;
}
.ss_lists {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 810px;
  height: 706px;
  padding: 0 0 15px;
  margin: 0 auto;
}
.ss_lists li,
.mv_list li {
  position: relative;
}
.ss_lists li.new:after,
.mv_list li.new:after {
  position: absolute;
  top: -8px;
  right: -16px;
  content: url("../img/new.png");
  -webkit-animation: blink 3.5s ease-in-out infinite;
  animation: blink 3.5s ease-in-out infinite;
}
article:not(#character) .pop {
  -webkit-transition: opacity 0.12s linear;
  -o-transition: opacity 0.12s linear;
  transition: opacity 0.12s linear;
}
article:not(#character) .pop:hover {
  opacity: 0.8;
}
#cboxPrevious {
  left: -101px;
  top: -webkit-calc(50% - 78px);
  top: calc(50% - 78px);
  width: 101px;
  height: 156px;
  background: url(../img/arrow_left.png) no-repeat right 0;
}
#cboxNext {
  right: -101px;
  top: -webkit-calc(50% - 78px);
  top: calc(50% - 78px);
  width: 101px;
  height: 156px;
  background: url(../img/arrow_right.png) no-repeat 0 0;
}
#cboxClose {
  right: 0;
  top: -87px;
  background-position: 0;
  width: 73px;
  height: 74px;
  background: url(../img/close.png);
}
.cboxIframe {
  background: transparent;
}
#pagetop {
  position: fixed;
  right: auto;
  left: 50%;
  margin-left: 492px;
  bottom: -1000px;
  width: 89px;
  height: 176px;
  background: url(../img/page_top.png) no-repeat 0 0;
  color: transparent;
  text-indent: -4444em;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 500ms linear, bottom 10ms linear 510ms;
  -o-transition: opacity 500ms linear, bottom 10ms linear 510ms;
  transition: opacity 500ms linear, bottom 10ms linear 510ms;
  z-index: 100;
}
#pagetop.show {
  opacity: 1;
  bottom: 40px;
  -webkit-transition: opacity 500ms linear, bottom 10ms linear;
  -o-transition: opacity 500ms linear, bottom 10ms linear;
  transition: opacity 500ms linear, bottom 10ms linear;
}
#pagetop.show.bottom {
  position: absolute;
}
#pagetop img {
  display: block;
  width: 89px;
  height: 176px;
  background: url(../img/page_top.png) no-repeat 0 bottom;
  opacity: 0;
  -webkit-transition: opacity 0.25s linear;
  -o-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
}
#pagetop:hover img {
  opacity: 1;
}
#tweetBtn {
  position: fixed;
  bottom: 70px;
  left: 0;
  display: block;
  width: 349px;
  height: 98px;
  -webkit-transform: translate(-350px,0);
  -ms-transform: translate(-350px,0);
  transform: translate(-350px,0);
  background: url(../img/btn_twitter.png) 0 0 no-repeat;
  -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#tweetBtn.show {
  -webkit-transform: translate(-262px,0);
  -ms-transform: translate(-262px,0);
  transform: translate(-262px,0);
}
.loaded #tweetBtn:hover {
  -webkit-transform: translate(0,0);
  -ms-transform: translate(0,0);
  transform: translate(0,0);
}
#tweetBtn img {
  display: block;
  width: 349px;
  height: 98px;
  background: url(../img/btn_twitter.png) 0 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.25s linear;
  -o-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
}
#tweetBtn:hover img {
  opacity: 1;
}
.twitter_box {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 460px;
  height: 740px;
  padding: 6px 0 0;
  z-index: 100;
  -webkit-border-radius: 0 8px 8px 0;
  border-radius: 0 8px 8px 0;
  background: #fff;
  -webkit-box-shadow: 0 0 16px rgba(0,0,0,0.6);
  box-shadow: 0 0 16px rgba(0,0,0,0.6);
  -webkit-transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.twitter_box.close {
  -webkit-transform: translate3d(-550px,0,0);
  transform: translate3d(-550px,0,0);
}
.twitter_box h2 {
  padding: 11px 0 10px;
  margin: 0 0 3px 5px;
  font-size: 20rem;
  color: #333;
  border-left: 6px solid #e00;
}
.twitter_box #close_btn {
  position: absolute;
  bottom: 76px;
  left: 460px;
  width: 89px;
  height: 92px;
  background: url(../img/btn_twitter_close.png) 0 0 no-repeat;
  cursor: pointer;
  -webkit-transition: all 0s linear;
  -o-transition: all 0s linear;
  transition: all 0s linear;
}
.twitter_box.close #close_btn {
  -webkit-transform: translate3d(-89px,0,0);
  transform: translate3d(-89px,0,0);
}
.twitter_box #close_btn img {
  display: block;
  width: 89px;
  height: 92px;
  background: url(../img/btn_twitter_close.png) 0 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.1s linear;
  -o-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}
.twitter_box #close_btn:hover img {
  opacity: 1;
}
.twitter_box .feed_wrap {
  position: relative;
  overflow: hidden;
  -webkit-border-radius: 0 2px 8px 0;
  border-radius: 0 2px 8px 0;
  z-index: 10;
}
/*
.twitter_box .feed_wrap::-webkit-scrollbar {
  overflow:hidden;
  width:5px;
  background:#fafafa;
  -webkit-border-radius:3px;
  border-radius:3px;
}
.twitter_box .feed_wrap::-webkit-scrollbar:horizontal {
  height:5px;
}
.twitter_box .feed_wrap::-webkit-scrollbar-button {
  display:none;
}
.twitter_box .feed_wrap::-webkit-scrollbar-piece {
  background:#eee;
}
.twitter_box .feed_wrap::-webkit-scrollbar-piece:start {
  background:#eee;
}
.twitter_box .feed_wrap::-webkit-scrollbar-thumb {
  overflow:hidden;
  -webkit-border-radius:6px;
  border-radius:6px;
  background:#777;
}
.twitter_box .feed_wrap::-webkit-scrollbar-corner {
  overflow:hidden;
  -webkit-border-radius:6px;
  border-radius:6px;
  background:#777;
}*/
.footer_bg {
  height: 144px;
}
.footer_bg footer {
  width: 980px;
  padding: 20px 0 0;
  margin: 0 auto;
  font-size: 12rem;
  text-align: right;
}
.site_top_btn {
  display: block;
  width: 338px;
  height: 98px;
  float: left;
  background: url(../../img/banner_indie.png) 0 0 no-repeat;
  -webkit-tap-highlight-color: transparent;
}
.site_top_btn img {
  display: block;
  width: 338px;
  height: 98px;
  background: url(../../img/banner_indie.png) 0 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.1s linear;
  -o-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}
.site_top_btn:hover img,
.site_top_btn.tap img {
  opacity: 1;
}
.footer_bg .copy {
  font-size: 11rem;
  line-height: 1.3;
  margin: 4px -6px 10px 0;
}
.banners {
  
}
.banners a {
  margin: 0 0 0 7px;
}
/*===========================*/
@-webkit-keyframes logoMove {
  0% { -webkit-transform: translate3d(0,-150px,0); transform: translate3d(0,-150px,0);}
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}
}
@keyframes logoMove {
  0% { -webkit-transform: translate3d(0,-150px,0); transform: translate3d(0,-150px,0);}
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}
}