.common-bg {
  height: 110vh;
  top: initial;
  bottom: 0;
  left: 0;
  background-size: auto 110%;
  background-position: 50% 100%;
}
.common-wrapper {
  width: 98%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 30px 3%;
  min-height: initial;
}
.common-content {
  padding: 0;
}
.common-text {
  font-size: 1em;
  margin: 0;
}
.common-submenus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0%;
  max-width: 100%;
}
.common-submenu {
  display: block;
  position: relative;
  width: 429px;
  height: 117px;
  background-size: cover;
  margin: 0;
  margin-left: 1%;
}
.common-flex-container {
  width: 100%;
}
.common-image-container {
  width: 100%;
}
.common-slide-ss {
  width: 100%;
}
.common-slide-ss img {
  vertical-align: bottom;
  width: 100%;
}
.common-slide-ss__button-next {
  background: url(../img/bigarrow_next.svg) 0 0 no-repeat;
  background-size: cover;
  width: 8%;
  height: 0;
  padding-bottom: 15.0769230769%;
  position: absolute;
  right: 0;
  top: 42.5%;
}
.common-slide-ss__button-prev {
  background: url(../img/bigarrow_prev.svg) 0 0 no-repeat;
  background-size: cover;
  width: 8%;
  height: 0;
  padding-bottom: 15.0769230769%;
  position: absolute;
  left: 0;
  top: 42.5%;
}

.section-story {
  background: url(../img/bg.png) 50% 0% no-repeat;
  background-size: contain;
  background-position-y: -230px;
}

.story .common-text {
  font-size: 1em;
}

.section-character {
  display: block;
  background: url(../img/bg.png) 50% 0% no-repeat;
  background-size: contain;
  background-position-y: -230px;
}

.character .common-image-wrapper:nth-child(2n) .common-image-container img {
  margin-left: 0;
}
.character .common-image-wrapper:nth-child(2n+1) .common-image-container img {
  margin-right: 0;
}
.character .common-image-container.chara {
  position: absolute;
}
.character .common-image-container.chara.robot {
  margin: 0;
  bottom: 10%;
  left: 0;
}
.character .common-image-container.chara.trico {
  margin: 0;
  bottom: 0;
  right: 0;
}
.character .common-image-container.chara.fai {
  margin: 0;
  bottom: 27%;
  right: 0;
}
.character .common-image-container.text {
  width: 100%;
}

.section-system {
  background: url(../img/bg.png) 50% 0% no-repeat;
  background-size: contain;
  background-position-y: -230px;
}

.system .common-flex-wrapper.reverse-sp {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.system .common-flex-container {
  width: 100%;
}
.system .common-image-container {
  width: 100%;
  height: 100%;
}
.system .common-subcaption {
  padding-top: 1em;
}
.system .common-text .annotation {
  display: inline-block;
  font-size: 1em;
  padding-bottom: 1em;
}
.system .fix-half .common-flex-container {
  width: 46%;
}

.section-gallery {
  min-height: initial;
  background: url(../img/bg.png) 50% 0% no-repeat;
  background-size: contain;
  background-position-y: -230px;
}

.gallery .movie-container {
  width: 100%;
}
.gallery .movie-container:only-child {
  width: 100%;
}
.gallery .common-image-container {
  margin: 20px 0;
}

.section-special {
  display: block;
  background: url(../img/bg.png) 50% 0% no-repeat;
  background-size: contain;
  background-position-y: -230px;
}

.special .page01 .common-image-container.product {
  width: 80%;
}
.special .page01 .common-image-container.nippon1 {
  width: 80%;
}
.special .page01 .common-text.product {
  text-align: center;
}
.special .benefit-wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.special .benefit-container {
  width: 48%;
  margin: 1%;
  margin-bottom: 40px;
}
.special .benefit-container .detail {
  font-size: 1em;
}
.special .benefit-container .contents .common-image-container {
  max-width: 80%;
}
.special .btn-container {
  width: 86%;
  height: 70px;
}
.special .btn-container.nippon1, .special .btn-container.stcdset {
  width: 420px;
  height: 80px;
}
.special .page03 .common-flex-wrapper.haruki .common-flex-container:first-child {
  width: 46%;
}
.special .page03 .common-flex-wrapper.haruki .common-flex-container:last-child {
  width: 45%;
}