@charset "UTF-8";
/* _setting CSS */
html, body {
  overflow-x: auto !important;
}

.fadeout {
  -webkit-animation: fadeOut 1s;
          animation: fadeOut 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

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

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.section {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  -webkit-transition: 2s;
  -o-transition: 2s;
  transition: 2s;
}
.section.active {
  opacity: 1;
}
.section.sec02, .section.sec03, .section.sec04, .section.sec05 {
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .section {
    min-width: 100%;
  }
}
.section .sec_text {
  width: 500px;
  height: 310px;
  position: absolute;
  top: 2%;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  margin: auto;
  -webkit-transform: translateX(60.5%);
      -ms-transform: translateX(60.5%);
          transform: translateX(60.5%);
}
@media screen and (max-width: 750px) {
  .section .sec_text {
    width: 27vw;
    top: 18vw;
    height: 340px;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
@media screen and (max-width: 670px) {
  .section .sec_text {
    width: 32vw;
    top: 6vw;
  }
}
@media screen and (max-width: 430px) {
  .section .sec_text {
    width: 80%;
    top: 9vw;
  }
}
.section .sec_text img {
  max-width: 100%;
}
.section .mv-plum {
  width: 70%;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  bottom: 25%;
  left: 0;
  right: 0;
}
@media screen and (max-width: 750px) {
  .section .mv-plum {
    -webkit-animation: mv-plum-scroll_anime_sp .8s linear infinite;
            animation: mv-plum-scroll_anime_sp .8s linear infinite;
  }
}
.section #mv-plum-scroll {
  display: inline;
  max-width: 25%;
  -webkit-transform: translateY(250%);
      -ms-transform: translateY(250%);
          transform: translateY(250%);
  -webkit-animation: mv-plum-scroll_anime 1s linear infinite;
          animation: mv-plum-scroll_anime 1s linear infinite;
}
@media screen and (max-width: 750px) {
  .section #mv-plum-scroll {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (max-width: 750px) {
  .section #mv-plum-scroll.pc {
    display: none;
  }
}
.section #mv-plum-scroll.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .section #mv-plum-scroll.sp {
    display: inline;
  }
}
@-webkit-keyframes mv-plum-scroll_anime {
  0% {
    -webkit-transform: translateY(280%);
            transform: translateY(280%);
  }
  100% {
    -webkit-transform: translateY(230%);
            transform: translateY(230%);
  }
}
@keyframes mv-plum-scroll_anime {
  0% {
    -webkit-transform: translateY(280%);
            transform: translateY(280%);
  }
  100% {
    -webkit-transform: translateY(230%);
            transform: translateY(230%);
  }
}
@-webkit-keyframes mv-plum-scroll_anime_sp {
  0% {
    bottom: 28%;
  }
  100% {
    bottom: 26%;
  }
}
@keyframes mv-plum-scroll_anime_sp {
  0% {
    bottom: 28%;
  }
  100% {
    bottom: 26%;
  }
}
.sec00 {
  width: 100%;
  min-width: 100vw;
  height: 100% !important;
  background: url(../images/mv-anime/a_back.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 750px) {
  .sec00 {
    min-width: 100%;
    background: url(../images/mv-anime/a_back_sp.jpg) no-repeat;
    background-size: cover;
  }
}

.sec01 {
  width: 100%;
  min-width: 100vw;
  height: 100%;
  background: url(../images/mv-anime/a_back.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 750px) {
  .sec01 {
    min-width: 100%;
    background: url(../images/mv-anime/a_back_sp.jpg) no-repeat;
    background-size: cover;
  }
}
.sec01 .sec_text {
  width: 538px;
  height: 238px;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  text-align: center;
  display: none;
}
@media screen and (max-width: 750px) {
  .sec01 .sec_text {
    width: 27.8vw;
    top: 12vw;
  }
}
@media screen and (max-width: 670px) {
  .sec01 .sec_text {
    width: 37.8vw;
    top: 2vw;
  }
}
@media screen and (max-width: 430px) {
  .sec01 .sec_text {
    width: 68.8vw;
    height: 61.2vw;
    top: 9vw;
  }
}

.sec02 {
  width: 100%;
  min-width: 100vw;
  height: 100%;
  background: url(../images/mv-anime/b_back.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 750px) {
  .sec02 {
    min-width: 100%;
    background: url(../images/mv-anime/b_back_sp.jpg) no-repeat;
    background-size: cover;
  }
}

.sec03 {
  width: 100%;
  min-width: 100vw;
  height: 100%;
  background: url(../images/mv-anime/c_back.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 750px) {
  .sec03 {
    min-width: 100%;
    background: url(../images/mv-anime/c_back_sp.jpg) no-repeat;
    background-size: cover;
  }
}

.sec04 {
  width: 100%;
  min-width: 100vw;
  height: 100%;
  background: url(../images/mv-anime/d_back.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 750px) {
  .sec04 {
    min-width: 100%;
    background: url(../images/mv-anime/d_back_sp.jpg) no-repeat;
    background-size: cover;
  }
}
.sec04 .bg_video {
  min-width: 100%;
  min-height: 100vh;
  position: absolute;
  /*画面サイズが変わっても常に動画の中央が表示されるようにする*/
  /*動画よりも画面が横に長くなるとき用*/
  /*動画よりも画面が縦に長くなるとき用*/
}
@media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9) {
  .sec04 .bg_video {
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media (max-aspect-ratio: 16 / 9) {
  .sec04 .bg_video {
    height: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.sec05 {
  background-color: #fff;
}
@media screen and (max-width: 750px) and (-webkit-min-device-pixel-ratio: 0) {
  .sec05 #footer {
    padding-bottom: 100px;
  }
}

.video {
  width: 450px;
  height: 450px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 750px) {
  .video {
    max-width: 36vw;
    max-height: 36vw;
    top: 6vw;
  }
}
@media screen and (max-width: 670px) {
  .video {
    max-width: 40vw;
    max-height: 40vw;
    top: 0;
  }
}
@media screen and (max-width: 430px) {
  .video {
    width: 100%;
    max-width: 90vw;
    max-height: 90vw;
    top: -3vw;
  }
}
.video img {
  width: 100%;
}

.fullpage-wrapper {
  width: 100% !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.fullpage-wrapper .fp-section {
  width: 100% !important;
  position: absolute;
  left: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  z-index: 0;
  -webkit-transition: all 0.7s ease-in-out;
  -o-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}
.fullpage-wrapper .fp-section.sec01 {
  opacity: 1;
}
.fullpage-wrapper .fp-section.active {
  visibility: visible;
  opacity: 1;
  z-index: 1;
}

#fp-nav ul li:last-of-type {
  display: none;
}
#fp-nav ul li a span {
  background-color: #fff;
}

.loading-logo {
  width: 250px;
}
@media screen and (max-width: 750px) {
  .loading-logo {
    width: 80%;
  }
}

#header.top__mv-header {
  z-index: 300;
}
@media screen and (max-width: 750px) {
  #header.top__mv-header {
    background-color: transparent;
    color: #fff;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
  }
}
@media screen and (max-width: 750px) {
  #header.top__mv-header .nav01 .list a {
    color: #fff;
  }
}
@media screen and (max-width: 750px) {
  #header.top__mv-header .nav01 .list .item:after {
    background-color: #fff;
  }
}
@media screen and (max-width: 750px) {
  #header.top__mv-header .nav02 .cart a {
    background: url("../images/common/h_cart02.png") center 0/100% no-repeat;
  }
  #header.top__mv-header .nav02 .contact a {
    background: url(../images/common/h_mail02.png) center 0/100% no-repeat;
  }
  #header.top__mv-header .nav02 .lang .lang_btn {
    color: #fff;
    background-color: transparent;
    border: 2px solid #fff;
  }
}
#header.top__mv-header .sp_lang .lang {
  color: #fff;
}
#header.top__mv-header #menu_open {
  background-color: transparent;
}
#header.top__mv-header #menu_open span {
  background-color: #fff;
}

.skip-btn {
  position: fixed;
  bottom: 80px;
  right: 80px;
  font-size: 2.0rem;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 2px;
  z-index: 110;
  cursor: pointer;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 750px) {
  .skip-btn {
    cursor: pointer;
    color: #fff;
    font-size: 1.5rem;
    bottom: 20px;
    right: 20px;
  }
}
.skip-btn:hover {
  opacity: 0.7;
}
