@charset "utf-8";
/* ---------------------------------------------------

	Syntax - SP First

--------------------------------------------------- */
/* ---------------------------------------------------

	mainvisual

--------------------------------------------------- */
.mainvisual{
  height: 500px;
  position: relative;
}
.mainvisual:before{
  animation: 60s linear infinite anime-mv-bg;
  background-image: url(/toto-fes/src/images/teaser/mainvisual_bg.webp);
  background-position: 0 top;
  background-repeat: repeat-x;
  background-size: cover;
  box-sizing: border-box;
  content: "";
  display: inline-block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@keyframes anime-mv-bg {
  0% {
    background-position: 0 top;
  }
  100% { 
    background-position: -3810px top;
  }
}
.mainvisual__figure__picture{
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  top: 10px;
  width: 375px;
  z-index: 280;
}


/* ---------------------------------------------------

	campaign

--------------------------------------------------- */
.campaign{
  background-image: url("/toto-fes/src/images/teaser/campaign_bg_sp.webp");
  background-position: center bottom 1rem;
  background-repeat: no-repeat;
  background-size: 112%;
  padding: 3rem 0 12rem;
}
.campaign:before{
  background-image: url("/toto-fes/src/images/common/illust/wave01_upward_bluedark.svg");
  height: 19px;
  top: -19px;
}
.campaign:after{
  background-image: url("/toto-fes/src/images/common/illust/wave02_upward_white.svg");
  height: 8px;
  bottom: -1px;
}
.campaign__inner{}
.campaign__figure{
  margin: 0 auto 1.875rem;
}
.campaign__figure__picture{}
.campaign__catch{}
.campaign__catch__copy{
  font-size: 1.0625rem;
  letter-spacing: 3px;
  line-height: 2;
  margin: 0;
}
.campaign__catch__copy__forcus{
  font-size: 1.13em;
  letter-spacing: 3.2px;
}
.campaign .button__block{
  padding: 1.75rem 0 0;
}


/* ---------------------------------------------------

	MediaQuery

--------------------------------------------------- */
/* ------------------------------------

	Tablet-Mode

------------------------------------ */
@media screen and (min-width: 600px) {
/* ------------------------------------

	mainvisual

------------------------------------ */
.mainvisual{
  height: 52vw;
  }
.mainvisual:before{}
.mainvisual__figure__picture{
  width: 100%;
  }

/* ------------------------------------

	campaign

------------------------------------ */
.campaign{
  background-size: 85%;
  padding: 3rem 0 17rem;
  }
.campaign:before{
  height: 30px;
  top: -30px;
  }
.campaign:after{}
.campaign__inner{}
.campaign__figure{
  max-width: 400px;
  }
.campaign__figure__picture{}
.campaign__catch{}
.campaign__catch__copy{
  font-size: 1.25rem;
  }
.campaign__catch__copy__forcus{}
.campaign .button__block{}


}/* /min-width: 600px */

/* ------------------------------------

	PC-Mode

------------------------------------ */
@media screen and (min-width: 1025px) {
/* ------------------------------------

	mainvisual

------------------------------------ */
.mainvisual{
  height: 83vh;
  overflow: hidden;
  }
.mainvisual:before{}
.mainvisual__figure__picture{
  height: 99%;
  top: 15px;
  width: auto;
  }
.mainvisual__figure__picture source,
.mainvisual__figure__picture img{
  height: inherit;
  max-height: 100%;
  max-width: inherit;
  }

/* ------------------------------------

	campaign

------------------------------------ */
.campaign{
  background-image: url("/toto-fes/src/images/teaser/campaign_bg_pc.webp");
  background-position: center bottom 2rem;
  background-size: calc(100% - 60px);
  padding: 4rem 0 6.25rem;
  }
.campaign:before{
  height: 50px;
  top: -50px;
  }
.campaign:after{
  height: 11px;
}
.campaign__inner{}
.campaign__figure{
  margin: 0 auto 3.125rem;
  max-width: 794px;
  }
.campaign__figure__picture{}
.campaign__catch{}
.campaign__catch__copy{
  font-size: 1.875rem;
  letter-spacing: 6px;
  line-height: 2.3;
  }
.campaign__catch__copy__forcus{
  font-size: 1.13em;
  letter-spacing: 6.8px;
  }
.campaign .button__block{
  padding: 2.5rem 0 0;
  }


}/* /min-width: 1025px */

/* ------------------------------------

	PC-Mode > Irregular

------------------------------------ */
@media screen and (min-width: 1366px) {
}/* /min-width: 1366px */
