.header {
  height: 100%;
  padding-bottom: 0;
}

.header__main {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.header__info {
  display: block;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url(../img/bg_pattern20.jpg) 0 0 repeat;
}

.header__info:before {
  content: "";
  display: block;
  width: 100%;
  height: 27px;
  background: url(../img/window_frame.png) 50% 50% repeat-x;
  bottom: 100%;
}

.header-wrapper {
  position: relative;
  padding-top: 0;
}

.banner-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  padding: 3%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.reserve-button {
  width: 30%;
  right: 0;
  bottom: 0vh;
  margin-top: 2%;
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
  -webkit-transition: none;
  transition: none;
}

.reserve-button-wrapper {
  width: 100%;
  height: 0;
  padding-bottom: 32.91925%;
}

.reserve-button-image {
  width: 100%;
  height: 100%;
}

.sctop-button {
  bottom: 11vw;
}

.banner-open, .banner2-open {
  width: 45%;
  position: relative;
  bottom: auto;
  right: auto;
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
  -webkit-transition: none;
  transition: none;
}

.start .banner-open, .start .banner2-open {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.banner {
  width: 100%;
  left: 0;
  bottom: 0;
  position: relative;
}

.banner-image {
  width: 100%;
  position: relative;
}

.banner:hover {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.main-visual-div {
  display: block;
  width: auto;
  height: 115vh;
  position: absolute;
  left: 50%;
  bottom: -8%;
  top: auto;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.main-visual {
  width: auto;
  height: 100%;
}

.catch {
  width: auto;
  height: 6vh;
}

.logo-wrapper {
  top: auto;
  bottom: 1%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 10;
}

.logo {
  width: auto;
  height: 14vh;
}

.release {
  width: auto;
  height: 6vh;
}

.mark {
  width: auto;
  height: 46vh;
  left: -17%;
}

.sub-catch {
  width: auto;
  height: 36vh;
  bottom: 54%;
  left: 2%;
  top: auto;
}

/* TOPICS --------------------------------*/
.topics {
  height: 45%;
}

.topics-wrapper {
  padding: 10% 2%;
}

.topics-list-container {
  padding: 0 5%;
}

.topics-card-image {
  height: 50vw;
}

.topics-card-data {
  height: 40vw;
}

.topics-button-prev, .topics-button-next {
  width: 6%;
}

.landing-caption {
  width: 100%;
}

/* STORY --------------------------------*/
.landing-story-section02, .landing-story-section03 {
  margin-top: 10%;
}

.landing-story-text01, .landing-story-text02, .landing-story-text03 {
  position: relative;
}

.landing-story-text {
  text-align: center;
}

.landing-story-ss01, .landing-story-ss02, .landing-story-ss03 {
  width: 80%;
  margin: 3% auto 0;
}

.landing-character {
  margin: 10% auto -15%;
}

.landing-character-image {
  width: 100%;
}

.landing-character-button {
  width: 70%;
  margin-top: 0;
}

/* SYSTEM --------------------------------*/
.landing-system {
  padding: 0 3%;
}

.landing-system-section {
  display: block;
}

.landing-system-text {
  width: 100%;
}

.landing-system-catch {
  font-size: 1.2em;
  margin: auto auto auto 0;
  padding-left: 0.9em;
  padding-bottom: 1em;
  border-bottom: 1px solid #b79952;
}

.landing-system-section .landing-system-catch:after {
  left: -110px;
}

.landing-system-section:nth-of-type(2n) .landing-system-catch:after {
  left: -110px;
  right: auto;
}

.landing-system-image {
  margin: 5% auto 0;
}

/* SPEC --------------------------------*/
.landing-spec {
  background-size: 115% auto, auto;
}

.landing-spec-data {
  display: block;
  width: 100%;
}

.landing-spec-logo {
  width: 100%;
}

.landing-spec-table {
  width: 100%;
  margin-top: 8%;
}

.landing-spec-table th {
  width: 50%;
  padding: 1% 0;
}

.landing-spec-table td {
  width: 50%;
  padding: 1% 0;
}

.cero-icon {
  width: 25%;
}

.famitsu-wrapper {
  display: block;
  position: absolute;
  bottom: 27%;
  right: 9px;
  left: auto;
  z-index: 100;
}

.famitsu-div {
  width: auto;
  height: 20vw;
}

.famitsu-div .famitsu {
  display: block;
  width: auto;
  height: 100%;
}
