@charset "utf-8";

header {
  position: relative;
  width: 980px;
  padding: 40px 0 18px;
  margin: 0 auto;
}
#topNav {
  position: relative;
  float: right;
  width: 425px;
  padding: 65px 0 0;
}
#topNav ul {
}
#topNav ul li {
  position: relative;
}
#topNav ul li:after {
  display: none;
  content: url(../img/new.png);
  position: absolute;
  top: 4px;
  width: 56px;
  height: 24px;
  -webkit-animation: blink 3.2s ease-in-out infinite;
  animation: blink 3.2s ease-in-out infinite;
}
#topNav ul li.new:after {
  display: block;
}
#topNav ul li:nth-child(2):after {
  right: 55px;
  top: 0px;
}
#topNav ul li:nth-child(3):after {
  right: 160px;
  top: -10px;
}
#topNav ul li:nth-child(4):after {
  right: 70px;
}
#topNav ul li:nth-child(5):after {
  right: 135px;
}
#topNav a,
#topNav a img {
  display: block;
  background-repeat: no-repeat;
}
#topNav a {
  background-position: 0 0;
}
#topNav a img {
  background-position: 0 100%;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
#topNav a:hover img {
  opacity: 1;
}
#topNav .story,
#topNav .story img {
  width: 192px;
  height: 83px;
  background-image: url(../img/top_navi_story.png);
}
#topNav .character,
#topNav .character img {
  width: 247px;
  height: 74px;
  background-image: url(../img/top_navi_character.png);
}
#topNav .senkyo,
#topNav .senkyo img {
  width: 168px;
  height: 68px;
  background-image: url(../img/top_navi_system.png);
}
#topNav .gallery,
#topNav .gallery img {
  width: 228px;
  height: 96px;
  background-image: url(../img/top_navi_gallery.png);
}
#topNav .special,
#topNav .special img {
  width: 230px;
  height: 75px;
  background-image: url(../img/top_navi_special_hidden.png);
}
#topNav .story {
  margin: 0 0 60px 45px;
}
#topNav .character {
  margin: 0 0 70px 94px;
}
#topNav .senkyo {
  margin: 0 0 16px 80px;
}
#topNav .gallery {
  margin: 0 0 15px 38px;
}
#topNav .special {
  margin: 0 0 0 46px;
}

#top h1 {
  position: absolute;
  top: 562px;
  left: 50%;
  padding-left: 40px;
}
#top .release {
  position: absolute;
  top: 690px;
  left: 50%;
  width: 440px;
  padding-left: 40px;
  text-align: center;
}
#gimmick {
  position: relative;
  width: 498px;
  height: 739px;
}
#gimmick img {
  position: absolute;
  display: block;
}
#gimmick #gim01 {
  top: 50px;
  left: -385px;
  -webkit-transform-origin: 115% -27%;
  -ms-transform-origin: 115% -27%;
  transform-origin: 115% -27%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.2s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.2s both;
}
#gimmick #gim02 {
  top: 96px;
  left: -215px;
  -webkit-transform-origin: 135% 50%;
  -ms-transform-origin: 135% 50%;
  transform-origin: 135% 50%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
}
#gimmick #gim03 {
  top: 530px;
  left: -200px;
  -webkit-transform-origin: 150% -30%;
  -ms-transform-origin: 150% -30%;
  transform-origin: 150% -30%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.2s both;
}
#gimmick #gim04 {
  top: 22px;
  left: 230px;
  -webkit-animation: fadeIn 1.7s linear 3s both;
  animation: fadeIn 1.7s linear 3s both;
}
#gimmick #gim05 {
  top: -404px;
  left: -436px;
  -webkit-animation: fadeIn 1.7s linear 2s both;
  animation: fadeIn 1.7s linear 2s both;
}
#gimmick #gim06 {
  top: 338px;
  left: -260px;
  -webkit-transform-origin: 100% -15%;
  -ms-transform-origin: 100% -15%;
  transform-origin: 100% -15%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
}
#gimmick #gim07 {
  top: 644px;
  left: -110px;
  -webkit-transform-origin: 140% 10%;
  -ms-transform-origin: 140% 10%;
  transform-origin: 140% 10%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
}
#gimmick #gim08 {
  top: 263px;
  left: -420px;
  -webkit-transform-origin: 300% 225%;
  -ms-transform-origin: 300% 225%;
  transform-origin: 300% 225%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
}
#gimmick #gim09 {
  top: -102px;
  left: -235px;
  -webkit-transform-origin: 135% 120%;
  -ms-transform-origin: 135% 120%;
  transform-origin: 135% 120%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.4s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.4s both;
}
#gimmick #gim10 {
  top: 266px;
  left: -188px;
  -webkit-transform-origin: 57% 57%;
  -ms-transform-origin: 57% 57%;
  transform-origin: 57% 57%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s both;
}
#gimmick #gim11 {
  top: 212px;
  left: -385px;
  -webkit-transform-origin: 180% 50%;
  -ms-transform-origin: 180% 50%;
  transform-origin: 180% 50%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s both;
}
#gimmick #gim12 {
  top: 472px;
  left: -254px;
  -webkit-transform-origin: 180% 50%;
  -ms-transform-origin: 180% 50%;
  transform-origin: 180% 50%;
  -webkit-animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
  animation: topZoomIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.3s both;
}
#gimmick #gim13 {
  top: 0;
  left: 0;
  z-index: 20;
}

.news_bg {
  position: relative;
  width: 954px;
  padding: 22px 0 18px;
  margin: 0 auto 12px;
  -webkit-border-radius: 16px;
  border-radius: 16px;
  background: url(../img/news_frame_bg.png) 0 0 repeat;
  z-index: 10;
}
.news_bg:before {
  content: url(../img/news_frame_left.png);
  position: absolute;
  top: 14px;
  left: -98px;
  width: 98px;
  height: 90px;
  z-index: 100;
}
.news_bg:after {
  content: url(../img/news_frame_right.png);
  position: absolute;
  top: 14px;
  right: -56px;
  width: 98px;
  height: 90px;
  z-index: 100;
}
.news {
  position: relative;
  left: -5px;
  width: 966px;
  min-height: 46px;
  padding: 0 0 1px;
  background: url(../img/news_frame_middle.png) 0 0 repeat;
}
.news:before {
  content: url(../img/news_frame_header.png);
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 966px;
  height: 26px;
}
.news:after {
  content: url(../img/news_frame_footer.png);
  position: absolute;
  top: 100%;
  left: 0;
  width: 966px;
  height: 22px;
}
.news h2 {
  position: relative;
  top: -12px;
  left: 50px;
  height: 27px;
}
#newsTgl {
  position: absolute;
  top: -11px;
  right: 50px;
  width: 46px;
  height: 26px;
  background: url(../img/news_open.png) no-repeat 100% 100%;
  text-indent: -4444em;
  cursor: pointer;
  overflow: hidden;
  z-index: 2;
  display: none;
}
#newsTgl img {
  display: block;
  width: 46px;
  height: 26px;
  background: url(../img/news_open.png) no-repeat 100% 0;
  -webkit-transition: opacity 0.16s linear;
  transition: opacity 0.16s linear;
  opacity: 0;
}
#newsTgl.opened {
  background: url(../img/news_close.png) no-repeat 100% 100%;
}
#newsTgl.opened img {
  background: url(../img/news_close.png) no-repeat 100% 0;
}
#newsTgl:hover img {
  opacity: 1;
}
.news ul {
  height: 18px;
  color: #fff;
  font-size: 14rem;
  line-height: 1.3;
  padding: 0 50px 0 53px;
  overflow: hidden;
  -webkit-transition: height 250ms ease-out;
  transition: height 250ms ease-out;
}
.news li {
  position: relative;
  margin: 0 0 18px 86px;
}
.news li a {
  color: #ffc845;
  text-decoration: underline;
  -webkit-transition: 0.12s linear;
  transition: 0.12s linear;
}
.news li em {
  color: #e60012;
  font-weight: bold;
}
.news li a:hover {
  color: #e00;
  text-decoration: none;
}
.news .date {
  position: absolute;
  top: 0;
  left: -86px;
  display: block;
  width: 86px;

}
.banner {
  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-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 970px;
  margin: 0 auto 0;
}
.banner li {
  position: relative;
  width: 320px;
  height: 94px;
  margin: 0 0 10px;
}
.banner li.xlarge {
  width: 967px;
  height: 96px;
}
.banner .new:after {
  content: url(../img/new.png);
  position: absolute;
  top: -5px;
  right: -8px;
  -webkit-animation: blink 3.5s ease-in-out infinite;
  animation: blink 3.5s ease-in-out infinite;
  z-index: 100;
}
.banner a {
  display: block;
  width: 320px;
  height: 94px;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.banner a img {
  display: block;
  width: 320px;
  height: 94px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.banner .apply,
.banner .apply img {
  width: 967px;
  height: 96px;
  background-image: url(../img/banner_apply.png);
}
.banner a img:hover {
  opacity: 1;
}
.cboxIframe {
  background: transparent !important;
}