body {
  font-size: 16px;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  vertical-align: middle; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  display: table; }

input[type="text"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  line-height: normal; }
  input[type="text"]::placeholder {
    height: inherit;
    line-height: inherit; }

input[type="checkbox"] {
  display: none; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent; }

select::-ms-expand {
  display: none; }

.clearfix::after {
  content: "";
  display: block;
  clear: both; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

@media only screen and (max-width: 640px) {
  html, body {
    overflow-x: hidden !important; } }
#barrier {
  color: #000; }

.u-font-gothic {
  font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.font-sansSerif {
  font-family: 'Work Sans', sans-serif;
  font-weight: 300; }

.font-gothic {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500; }

.font-serif {
  font-family: 'Times','Times New Roman', Helvetica, serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto; }

@media all and (-ms-high-contrast: none) {
  #barrier {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic W3 JIS2004", "Hiragino Kaku Gothic Pro",  "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    color: #000; }

  .font-serif {
    font-family: "ヒラギノ明朝 W6 JIS2004", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", メイリオ, Meiryo, serif; } }
.u-fontOswald {
  font-family: 'Oswald', sans-serif; }

.u-pcBreak {
  display: block; }

.u-spBreak {
  display: none; }

@media only screen and (max-width: 640px) {
  .u-pcBreak {
    display: none; }

  .u-spBreak {
    display: block; } }
.js-scrollAnime {
  opacity: 0;
  will-change: transform,translate; }
  .js-scrollAnime img {
    will-change: transform,translate; }

@keyframes kurukuru {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.bounceIn--left {
  opacity: 0;
  transform-origin: left center;
  -webkit-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.8s;
  -moz-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -ms-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -o-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -webkit-transform: scale(0.5, 0.5);
  -moz-transform: scale(0.5, 0.5);
  -ms-transform: scale(0.5, 0.5);
  -o-transform: scale(0.5, 0.5);
  transform: scale(0.5, 0.5); }
  .bounceIn--left.is-active {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
    .bounceIn--left.is-active img {
      -webkit-transform: translate(-6px, -6px);
      -moz-transform: translate(-6px, -6px);
      -ms-transform: translate(-6px, -6px);
      -o-transform: translate(-6px, -6px);
      transform: translate(-6px, -6px); }

.bounceIn--right {
  opacity: 0;
  transform-origin: right center;
  -webkit-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -moz-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -ms-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -o-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, opacity 0.3s ease-out 0.4s;
  -webkit-transform: scale(0.5, 0.5);
  -moz-transform: scale(0.5, 0.5);
  -ms-transform: scale(0.5, 0.5);
  -o-transform: scale(0.5, 0.5);
  transform: scale(0.5, 0.5); }
  .bounceIn--right.is-active {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
    .bounceIn--right.is-active img {
      -webkit-transform: translate(-6px, -6px);
      -moz-transform: translate(-6px, -6px);
      -ms-transform: translate(-6px, -6px);
      -o-transform: translate(-6px, -6px);
      transform: translate(-6px, -6px); }

.fadeScaleIn {
  -webkit-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-out;
  -moz-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-out;
  -ms-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-out;
  -o-transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-out;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-out;
  -webkit-transform: scale(0, 0);
  -moz-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  opacity: 0; }

.fadeScaleIn.is-active {
  opacity: 1;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1); }

.fadeInUp {
  opacity: 0;
  transition: transform 1s, opacity 1s;
  -webkit-transform: translate(0, 30px);
  -ms-transform: translate(0, 30px);
  transform: translate(0, 30px);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  .fadeInUp.is-active {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.section-3__animeElm {
  opacity: 0;
  transition: opacity .8s ease; }
  .section-3__animeElm.is-active {
    opacity: 1; }

.section-3__animeElm_02 {
  opacity: 0;
  transition: opacity .8s ease; }
  .section-3__animeElm_02.is-active {
    opacity: 1; }

.js-swingAnime.is-active img {
  transform: rotate(12deg); }
.js-swingAnime.is-active.swing img {
  transform: rotate(-12deg); }

.js-swingAnime-2.is-active img {
  transform: rotate(5deg); }
.js-swingAnime-2.is-active.swing img {
  transform: rotate(-5deg); }

.js-swingAnime-3.is-active img {
  transform: rotate(-67deg); }
.js-swingAnime-3.is-active.swing img {
  transform: rotate(-85deg); }

.deco--petal {
  animation-name: fuwafuwa;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 2.5s; }

.deco--petal-3 {
  animation-name: fuwafuwa-2; }

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0px) rotate(0deg); }
  100% {
    transform: translate(0, -30px) rotate(30deg); } }
@keyframes fuwafuwa-2 {
  0% {
    transform: translate(0, 0px) rotate(0deg); }
  100% {
    transform: translate(0, -10px) rotate(-8deg); } }
.deco {
  position: absolute; }

.deco--brick--l {
  width: 182.5px;
  left: -187px;
  top: -20px; }

.deco--brick--r {
  width: 162px;
  right: -163px;
  bottom: 101px; }

.deco--flags {
  width: 507px;
  top: -115px; }

.deco--flags--l {
  left: -497px; }

.deco--flags--r {
  right: -444px; }

.deco--kisibo {
  width: 286px;
  right: -285px;
  bottom: -96px;
  z-index: 2; }

.deco--cactus {
  width: 240px; }
  .deco--cactus.swing img {
    transform: rotate(20deg); }

.deco--cactus-1 {
  left: -260px;
  bottom: -100px; }

.deco--cactus-2 {
  right: -209px;
  bottom: 91px;
  z-index: 1; }

.deco--cactus-3 {
  left: 165px;
  bottom: -125px;
  width: 180px;
  z-index: 1; }

.deco--maracas {
  width: 212px;
  left: -188px;
  top: 83px;
  z-index: 1; }

.deco--wave {
  top: 167px;
  left: -258px;
  right: 0;
  margin: auto;
  width: 1060.5px;
  z-index: 1; }

.deco--hat {
  width: 285px;
  right: 50px;
  bottom: -225px;
  z-index: 1; }

.deco--onpu-1 {
  left: -104px;
  top: -188px;
  width: 109px; }

.deco--onpu-2 {
  width: 145px;
  right: 40px;
  top: 0; }

.deco--onpu-3 {
  width: 145px;
  left: -140px;
  top: -30px; }

.deco--guitar-1 {
  width: 239px;
  right: -265px;
  top: -165px;
  z-index: 1; }

.deco--guitar-2 {
  width: 180px;
  left: 45px;
  bottom: -30px;
  transform: rotate(-67deg);
  z-index: 1; }

.deco--onpu-4 {
  width: 310px;
  right: -272px;
  top: 22px;
  z-index: 1; }

.deco--onpu-5 {
  width: 91px;
  left: -353px;
  top: 273px;
  z-index: 1; }

.deco--onpu-6 {
  width: 285px;
  right: 89px;
  top: 108px; }

.deco--flower-1 {
  width: 182.5px;
  left: -250px;
  bottom: 55px;
  animation: kurukuru 12.5s linear infinite; }
  .deco--flower-1 img {
    filter: drop-shadow(1px 0 2px rgba(0, 0, 0, 0.3)); }

.deco--flower-2 {
  top: -111px;
  right: 120px;
  width: 150px;
  animation: kurukuru 12.5s linear infinite; }
  .deco--flower-2 img {
    filter: drop-shadow(1px 0 2px rgba(0, 0, 0, 0.3)); }

.deco--petal-1 {
  width: 82px;
  right: -126px;
  top: -81px; }

.deco--petal-2 {
  width: 82px;
  left: -230px;
  bottom: -22px;
  z-index: 2; }

.deco--petal-3 {
  width: 104px;
  top: 100px;
  right: 0; }

.deco--petal-4 {
  width: 82px;
  top: 350px;
  right: -280px;
  z-index: 2; }

.deco--petal-5 {
  left: 40px;
  width: 90px;
  bottom: 180px; }

.deco--petal-6 {
  display: none; }

@media only screen and (max-width: 1200px) {
  .deco {
    position: absolute; }

  .deco--brick--l {
    width: 13vw;
    left: -8vw;
    top: -2vw; }

  .deco--brick--r {
    width: 14vw;
    right: -9vw;
    bottom: 9vw; }

  .deco--flags {
    width: 35vw;
    top: -11vw; }

  .deco--flags--l {
    left: -28vw; }

  .deco--flags--r {
    right: -28vw; }

  .deco--kisibo {
    width: 25.8vw;
    right: -25vw; }

  .deco--cactus {
    width: 23vw; }

  .deco--cactus-1 {
    left: -25vw;
    bottom: -100px; }

  .deco--cactus-2 {
    right: -19vw;
    bottom: 9vw; }

  .deco--cactus-3 {
    left: 7vw;
    bottom: -12vw;
    width: 17vw;
    z-index: 1; }

  .deco--maracas {
    width: 20vw;
    left: -18vw;
    top: 8vw; }

  .deco--wave {
    top: 16vw;
    left: -24vw;
    right: 0;
    margin: auto;
    width: 98vw; }

  .deco--hat {
    width: 28vw;
    right: 6vw;
    bottom: -22vw;
    z-index: 1; }

  .deco--onpu-1 {
    left: -104px;
    top: -188px;
    width: 10vw; }

  .deco--onpu-2 {
    width: 13vw;
    right: 40px; }

  .deco--onpu-3 {
    width: 12vw;
    left: -12vw;
    top: -2vw; }

  .deco--guitar-1 {
    width: 21vw;
    right: -22vw;
    top: -18vw; }

  .deco--guitar-2 {
    width: 17vw;
    left: -4vw;
    bottom: -2vw; }

  .deco--onpu-4 {
    width: 27vw;
    right: -21vw;
    top: 2vw; }

  .deco--onpu-5 {
    width: 91px;
    left: -353px;
    top: 273px; }

  .deco--onpu-6 {
    width: 22vw;
    right: 5vw;
    top: 11vw; }

  .deco--flower-1 {
    width: 17vw;
    left: -22vw;
    bottom: 7vw; }

  .deco--flower-2 {
    top: -11vw;
    right: 4vw;
    width: 14vw; }

  .deco--petal-3 {
    width: 10vw;
    top: 8vw;
    right: -2vw; }

  .deco--petal-5 {
    left: 1.5vw;
    width: 7.5vw;
    bottom: 20vw; } }
@media only screen and (max-width: 640px) {
  .deco--brick--l {
    width: 20vw;
    left: -14vw;
    top: 2vw; }

  .deco--brick--r {
    width: 19vw;
    right: -14vw;
    bottom: 81vw; }

  .deco--flags {
    width: 60vw;
    top: -20vw; }

  .deco--flags--l {
    left: -38vw; }

  .deco--flags--r {
    right: -38vw; }

  .deco--kisibo {
    width: 40.8vw;
    right: -39vw;
    bottom: -13vw; }

  .deco--cactus {
    width: 23vw; }

  .deco--cactus-1 {
    left: -15vw;
    bottom: 58vw; }

  .deco--cactus-2 {
    width: 34vw;
    right: -19vw;
    bottom: 24vw; }

  .deco--cactus-3 {
    left: -12vw;
    bottom: -22vw;
    width: 22vw;
    z-index: 1; }

  .deco--maracas {
    width: 25vw;
    left: -14vw;
    top: 74vw; }

  .deco--wave {
    top: -6vw;
    left: -12vw;
    right: 0;
    margin: auto;
    width: 100vw; }

  .deco--hat {
    width: 36vw;
    right: 3vw;
    bottom: -39vw;
    z-index: 1; }

  .deco--onpu-1 {
    left: -3vw;
    top: -13vw;
    width: 14vw;
    z-index: 4; }

  .deco--onpu-2 {
    width: 17vw;
    right: 8vw;
    top: -7vw; }

  .deco--onpu-3 {
    width: 15vw;
    left: -12vw;
    top: -7vw; }

  .deco--guitar-1 {
    width: 30vw;
    right: -23vw;
    top: -20vw; }

  .deco--guitar-2 {
    width: 29vw;
    left: -10vw;
    bottom: -14vw; }

  .deco--onpu-4 {
    width: 35vw;
    right: -28vw;
    top: -20vw; }

  .deco--onpu-5 {
    width: 12vw;
    left: -8vw;
    top: 14vw; }

  .deco--onpu-6 {
    width: 19vw;
    right: 0vw;
    top: -16vw; }

  .deco--flower-1 {
    width: 21vw;
    left: -9vw;
    bottom: -12vw; }

  .deco--flower-2 {
    display: none; }

  .deco--petal-1 {
    width: 9vw;
    right: 8vw;
    top: -19vw; }

  .deco--petal-2 {
    left: initial;
    left: inherit;
    right: 3vw;
    width: 9.5vw;
    bottom: 18vw; }

  .deco--petal-3 {
    width: 16vw;
    top: -1vw;
    right: -9vw; }

  .deco--petal-4 {
    width: 10vw;
    right: -13vw;
    top: 27vw; }

  .deco--petal-5 {
    display: none; }

  .deco--petal-6 {
    display: block;
    width: 9vw;
    left: 5vw;
    top: 68.5vw; } }
.loaderArea {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: 999;
  background-color: #f7f4a0;
  background-image: url("../img/loaderArea_bg.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  transition: opacity 1.4s; }
  .loaderArea.is-loaded {
    z-index: -1;
    opacity: 0; }
  .loaderArea__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; }

.loaderArea__logo {
  max-width: 307.5px;
  position: relative; }
  .loaderArea__logo img {
    width: 100%; }

.loaderArea__logo__obj {
  position: absolute; }
  .loaderArea__logo__obj img {
    width: 100%; }

.loaderArea__logo__obj-1 {
  width: 142.5px;
  top: -93px;
  left: -202px; }

.loaderArea__logo__obj-2 {
  width: 56.5px;
  top: -70px;
  left: -70px; }

.loaderArea__logo__obj-3 {
  width: 56.5px;
  bottom: -70px;
  left: -70px; }

.loaderArea__logo__obj-4 {
  width: 193px;
  right: -119px;
  top: -112px; }

@media only screen and (max-width: 960px) {
  .loaderArea__logo {
    max-width: 35vw; }

  .loaderArea__logo__obj-1 {
    width: 15vw;
    top: -10.3vw;
    left: -21.2vw; }

  .loaderArea__logo__obj-2 {
    width: 6.6vw;
    top: -8vw;
    left: -8vw; }

  .loaderArea__logo__obj-3 {
    width: 6.6vw;
    bottom: -8vw;
    left: -8vw; }

  .loaderArea__logo__obj-4 {
    width: 20.3vw;
    right: -12.9vw;
    top: -12.2vw; } }
@media only screen and (max-width: 640px) {
  .loaderArea {
    background: url("../img/loaderArea_bg_sp.png") no-repeat top center/cover; }

  .loaderArea__logo {
    max-width: 45vw;
    margin-top: -18vw; }

  .loaderArea__logo__obj-1 {
    width: 16vw;
    top: -8.3vw;
    left: -22.2vw; }

  .loaderArea__logo__obj-2 {
    width: 7.8vw;
    top: -11.3vw;
    left: -8.2vw; }

  .loaderArea__logo__obj-3 {
    width: 7.4vw;
    bottom: -12vw;
    left: -5vw; }

  .loaderArea__logo__obj-4 {
    width: 27.3vw;
    right: -17.9vw;
    top: -16.2vw; } }
@media print {
  .u-noPrint {
    display: none; } }
html, body {
  /* overflow-x: hidden !important; */
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }
  html.is-loaded, body.is-loaded {
    position: inherit;
    position: initial; }

.l-header {
  opacity: 0;
  transition: opacity 1.4s; }
  .l-header.is-loaded {
    opacity: 1; }

#barrier {
  opacity: 0;
  transition: opacity 1.4s;
  padding-top: 60px; }
  #barrier img {
    width: 100%; }
  #barrier.is-loaded {
    opacity: 1; }

.l-section {
  width: 100%; }
  .l-section .section__inner {
    width: 1230px;
    margin: 0 auto; }

.kv {
  background: url("../img/kv_bg.jpg") no-repeat top center/cover;
  overflow: hidden; }
  .kv .section__inner {
    width: 1230px;
    height: 560px;
    position: relative; }

.kv__icon {
  position: absolute;
  width: 165px;
  top: 30px;
  right: 45px;
  z-index: 1; }

.kv__eyeCatch {
  position: absolute;
  right: -48px;
  bottom: 0;
  width: 82%; }

.kv__catchCopy {
  position: absolute;
  left: 0;
  top: 30px;
  width: 452.5px; }

.kv__item {
  position: absolute;
  left: 0;
  bottom: 36px;
  width: 228.5px; }

.kv__banner {
  position: absolute;
  right: 0;
  bottom: 36px;
  width: 240px;
  animation: box 3s linear infinite;
}
@keyframes box {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}
.section-1 {
  position: relative;
  padding-top: 61.5px;
  padding-bottom: 91.5px;
  background: url("../img/section-1_bg.jpg") no-repeat top center/cover;
  overflow: hidden; }
  .section-1 .section__inner {
    position: relative; }

.section-1__1 {
  margin-bottom: 110px; }

.section-1__1__ttl {
  text-align: center;
  width: 431px;
  margin: 0 auto;
  margin-bottom: 132.5px;
  position: relative;
  z-index: 1; }

.section-1__1__txtBox {
  position: relative;
  max-width: 1035px;
  margin: 0 auto; }
  .section-1__1__txtBox:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    bottom: 0;
    margin: auto;
    width: 80%;
    height: 153%;
    background: url(../img/section-1__1__txtBox_bg_.png) no-repeat top center/100% 100%;
    -ms-filter: blur(64px);
    filter: blur(64px);
    will-change: filter; }
  @media all and (-ms-high-contrast: none) {
    .section-1__1__txtBox *::-ms-backdrop, .section-1__1__txtBox:after {
      background: url(../img/section-1__1__txtBox_bg.png) no-repeat top center/100% 100%; } }

.section-1__1__txtBox__txt {
  text-align: center;
  line-height: 2.3;
  font-size: 19px;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: opacity .8s; }
  .section-1__1__txtBox__txt.is-active {
    opacity: 1; }

.txtBox__deco {
  position: absolute;
  width: 321.5px;
  z-index: 3;
  top: -105px; }

.deco--left {
  left: 0; }

.deco--right {
  right: 0; }

.section-1__2 {
  display: flex;
  justify-content: center;
  margin-left: -325px;
  position: relative; }

.section-1__2__block {
  position: relative; }

.section-1__2__ttl {
  width: 346.5px;
  margin: 0 auto;
  margin-bottom: 43px;
  position: relative;
  z-index: 1; }

.section-1__2__txtBox {
  position: relative; }
  .section-1__2__txtBox:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -19%;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 160%;
    background: url(../img/section-1__1__txtBox_bg_.png) no-repeat top center/100% 100%;
    -ms-filter: blur(34px);
    filter: blur(34px);
    will-change: filter; }
  @media all and (-ms-high-contrast: none) {
    .section-1__2__txtBox *::-ms-backdrop, .section-1__2__txtBox:after {
      background: url(../img/section-1__1__txtBox_bg.png) no-repeat top center/100% 100%; } }

.section-1__2__txtBox__txt {
  font-size: 18px;
  line-height: 2.3;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: opacity .8s; }
  .section-1__2__txtBox__txt.is-active {
    opacity: 1; }

.section-2 {
  position: relative;
  padding-top: 130px;
  padding-bottom: 122px;
  background: url("../img/section-2_bg.jpg") no-repeat top center/cover; }
  .section-2:before, .section-2:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 21px; }
  .section-2:before {
    top: 0;
    background: url("../img/section-2_line.png") repeat-x top left/18.5px 100%; }
  .section-2:after {
    bottom: 0;
    background: url("../img/section-2_line.png") repeat-x top left/18.5px 100%; }
  .section-2 .section__inner {
    position: relative; }

.section-2__1 {
  margin-bottom: 45px;
  position: relative; }

.section-2__1__ttl {
  width: 367.5px;
  margin: 0 auto;
  margin-bottom: 55px;
  position: relative; }

.movieItems {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  .movieItems .movieItem {
    position: relative;
    width: 387.5px;
    transition: transform .4s , opacity .4s;
    transform: translate(-20px, 80px) rotate(-15deg); }
    .movieItems .movieItem.fromRight {
      transform: translate(-20px, 80px) rotate(15deg); }
    .movieItems .movieItem:nth-of-type(2n) {
      transition-delay: .1s; }
    .movieItems .movieItem.is-active {
      opacity: 1;
      visibility: visible;
      transform: translate(0, 0) rotate(0deg); }
    .movieItems .movieItem:not(:first-child) {
      margin-left: 42px; }
    .movieItems .movieItem a {
      color: #000000; }
    .movieItems .movieItem img {
      transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }

.movieItem__thumb {
  position: relative;
  z-index: 1;
  width: 100%; }
  .movieItem__thumb img {
    max-width: 362px; }
  .movieItem__thumb.plaBtnColor--gray:after {
    border-width: 17.5px 0 17.5px 25px;
    border-color: transparent transparent transparent #bbbbbb; }
  .movieItem__thumb:after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-style: solid;
    border-width: 25px 0 25px 36px;
    border-color: transparent transparent transparent #fff;
    z-index: 2; }
  .movieItem__thumb:before {
    position: absolute;
    content: "";
    display: block;
    left: -.9%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 101.5%;
    height: 115%;
    background: url(../img/movieItem__frame.png) no-repeat top center/100% 100%;
    z-index: -1; }

.movieItem__ttl {
  text-align: center;
  line-height: 1.8;
  margin-top: 1.5em; }

.movieItem__txt {
  margin-top: 5em;
  margin-bottom: .8em;
  text-align: center;
  font-weight: bold;
  color: #0b988b;
  font-size: 22px;
  letter-spacing: 1px; }

.movieItem__btn {
  text-align: center;
  max-width: 350px;
  margin: 0 auto; }
  .movieItem__btn img {
    filter: drop-shadow(0px 4px 3px rgba(0, 0, 0, 0.4)); }

.section-2__2 {
  margin-bottom: 92.5px; }

.section-2__2__kashi {
  width: 493px;
  margin: 0 auto;
  position: relative; }
  .section-2__2__kashi .kashi {
    z-index: 1; }

.section-2__3 {
  position: relative; }

.section-2__3__ttl {
  width: 370px;
  margin: 0 auto;
  margin-bottom: 43.5px; }

.section-3 {
  background-color: #fbffe4;
  background-image: url("../img/section-3_bg.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
  padding-top: 262px;
  /* padding-bottom: 100px;  */
}

.section-3__contents {
  position: relative;
  padding-bottom: 213px; }
  .section-3__contents .section-3__contents__bg {
    position: absolute;
    content: "";
    width: 1500px;
    height: auto;
    top: -137.5px;
    left: -137px;
    right: 0;
    margin: auto;
    z-index: 0; }
  .section-3__contents__inner {
    position: relative;
    z-index: 1; }

.section-3__contents__tag {
  width: 367.5px;
  margin: 0 auto;
  margin-bottom: 50px; }

.section-3__contents__ttl {
  width: 848.5px;
  margin: 0 auto;
  margin-bottom: 50.5px; }

.m-section-3 + .section-3__contents__ttl {
  width: 826px;
  margin-top: 104.5px; }

.m-section-3 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap; }

.m-section-3__block {
  width: 48%; }
  .m-section-3__block + .m-section-3__block {
    padding-left: 25px; }

.m-section-3__eyeCatch {
  width: 90%;
  position: relative; }
  .m-section-3__eyeCatch:before {
    content: "";
    position: absolute;
    left: -137px;
    top: -117px;
    z-index: -1;
    display: block;
    width: 190px;
    height: 190px;
    background: url(../img/icon--section-3__eyeCatch.png) no-repeat top center/100% 100%; }

.m-section-3__eyeCatch--02 {
  width: 45%;
  margin-left: 20%;
  position: relative; }
  .m-section-3__eyeCatch--02:before {
    width: 190px;
    height: 190px;
    display: block;
    content: "";
    position: absolute;
    z-index: -1;
    left: -163px;
    top: -55px;
    background: url(../img/icon--section-3__eyeCatch_02.png) no-repeat top center/100% 100%; }

.m-section-3__sale {
  width: 390px;
  margin-bottom: 31.5px; }

.m-section-3__text {
  margin-bottom: 25px;
  width: 444px; }
  .m-section-3__text.m-section-3__text--02 {
    width: 100%;
    margin-bottom: 2em; }

.m-section-3__dl {
  font-size: 20px; }
  .m-section-3__dl + .m-section-3__dl {
    margin-top: .8em; }

.m-section-3__dl__dt {
  float: left; }

.m-section-3__note {
  font-size: 14px;
  margin: 1.4em 0; }

.m-section-3__btn {
  width: 97.5%; }

.section-3__contents__txtBox {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }

.section-3__contents__txtBox__txt {
  font-size: 14px;
  line-height: 2; }

.section-3__btnItems {
  width: 600px;
  margin: 0 auto;
  margin-bottom: 75px; }
  .section-3__btnItems .section-3__btnItem {
    width: 100%; }
    .section-3__btnItems .section-3__btnItem img {
      filter: drop-shadow(0px 4px 3px rgba(0, 0, 0, 0.4));
      transform: translateZ(0);
      will-change: filter; }
    .section-3__btnItems .section-3__btnItem:not(:first-child) {
      margin-top: 30px; }

.sns__ttl {
  text-align: center;
  color: #0b988b;
  font-size: 35px;
  margin-bottom: 1em; }

.sns__items {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center; }

.kv_sp {
  display: none; }

.u-spBreak {
  display: none; }

.u-pcBreak {
  display: block; }

.u-spElm {
  display: none; }

.u-pcElm {
  display: block; }

@media only screen and (max-width: 1440px) {
  .section-3 .section__inner {
    width: 95%; }

  .section-3__contents {
    padding-bottom: 15vw; }
    .section-3__contents .section-3__contents__bg {
      width: 97vw;
      top: -7.5vw;
      left: -1vw;
      right: 0; } }
    @media only screen and (max-width: 1440px) and (max-width: 900px) {
      .section-3__contents .section-3__contents__bg {
        top: -6.5vw; } }
    @media only screen and (max-width: 1440px) and (max-width: 780px) {
      .section-3__contents .section-3__contents__bg {
        width: 98vw;
        top: -5.5vw;
        left: -1.5vw;
        right: 0; } }
    @media only screen and (max-width: 1440px) and (max-width: 700px) {
      .section-3__contents .section-3__contents__bg {
        width: 103vw;
        top: -5.5vw;
        left: -4vw;
        right: 0; } }

@media only screen and (max-width: 1440px) {
  .section-3__contents__tag {
    width: 16.5vw;
    margin-bottom: 2vw; }

  .section-3__contents__ttl {
    width: 46.25vw;
    margin-bottom: 4vw; }

  .m-section-3 + .section-3__contents__ttl {
    width: 44.85vw;
    margin-top: 7vw; }

  .m-section-3 {
    width: 65vw;
    margin-bottom: 5.2vw; } }
  @media only screen and (max-width: 1440px) and (max-width: 960px) {
    .m-section-3 {
      padding-left: 5vw; } }

@media only screen and (max-width: 1440px) {
  .movieItem__txt {
    font-size: 15px;
    font-size: calc(0.9375rem + 6 * (100vw - 640px) / 800); }

  .m-section-3__block {
    width: 50%; }
    .m-section-3__block + .m-section-3__block {
      padding-left: 1vw; }

  .m-section-3__eyeCatch {
    width: 90%; }
    .m-section-3__eyeCatch:before {
      width: 11vw;
      height: 11vw;
      left: -6vw;
      top: -7vw; }

  .m-section-3__eyeCatch--02 {
    width: 45%; }
    .m-section-3__eyeCatch--02:before {
      width: 11vw;
      height: 11vw;
      left: -9.5vw;
      top: -3vw; }

  .m-section-3__sale {
    width: 80%;
    margin-bottom: 6%; }

  .m-section-3__text {
    width: 100%;
    margin-bottom: 5%; } }
  @media only screen and (max-width: 1440px) and (max-width: 960px) {
    .m-section-3__text {
      width: 90%; } }

@media only screen and (max-width: 1440px) {
  .m-section-3__dl {
    font-size: 12px;
    font-size: calc(0.75rem + 4 * (100vw - 640px) / 800); }
    .m-section-3__dl + .m-section-3__dl {
      margin-top: .8em; }

  .m-section-3__note {
    font-size: 10px;
    font-size: calc(0.625rem + 2 * (100vw - 640px) / 800);
    margin: 1.2em 0; }

  .section-3__contents__txtBox {
    width: 65vw; } }
@media only screen and (max-width: 1440px) and (max-width: 960px) {
  .m-section-3__btn {
    width: 80%; } }

@media only screen and (max-width: 1440px) {
  .section-3__contents__txtBox__txt {
    font-size: 10px;
    font-size: calc(0.625rem + 3 * (100vw - 640px) / 800);
    line-height: 1.5; } }
@media only screen and (max-width: 1200px) {
  #barrier {
    padding-top: 78px; }

  .l-section {
    width: 100%; }
    .l-section .section__inner {
      width: 95%; }

  .kv .section__inner {
    width: 100%;
    height: 46vw; }

  .kv__icon {
    width: 13%;
    top: 5%;
    right: 1.8%; }

  .kv__eyeCatch {
    right: -48px;
    width: 82%; }

  .kv__catchCopy {
    left: .5%;
    top: 30px;
    width: 38%; }

  .kv__item {
    left: .5%;
    bottom: 36px;
    width: 18%; }

  .kv__banner {
    width: 150px;
    bottom: 0;
  }

  .section-1 {
    padding-top: 61.5px;
    padding-bottom: 91.5px; }

  .section-1__1 {
    margin-bottom: 8vw; }

  .section-1__1__ttl {
    width: 38vw;
    margin-bottom: 11vw; }

  .section-1__1__txtBox {
    max-width: 100%; }
    .section-1__1__txtBox:after {
      top: -20px;
      bottom: 0;
      margin: auto;
      width: 80%;
      height: 153%; }

  .section-1__1__txtBox__txt {
    font-size: 12px;
    font-size: calc(0.75rem + 5 * (100vw - 640px) / 560); }

  .txtBox__deco {
    width: 24vw;
    top: -8vw; }

  .deco--left {
    left: 6vw; }

  .deco--right {
    right: 6vw; }

  .section-1__2 {
    margin-left: -325px; }

  .section-1__2__block {
    position: relative; }

  .section-1__2__ttl {
    width: 32vw;
    margin-bottom: 5vw; }

  .section-1__2__txtBox:after {
    top: -19%;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 160%; }

  .section-1__2__txtBox__txt {
    font-size: 12px;
    font-size: calc(0.75rem + 5 * (100vw - 640px) / 560); }

  .section-2 {
    padding-top: 15vw;
    padding-bottom: 14vw; }

  .section-2__1 {
    margin-bottom: 45px; }

  .section-2__1__ttl {
    width: 35vw;
    margin-bottom: 55px; }

  .movieItems {
    width: 75vw;
    margin: 0 auto; }
    .movieItems .movieItem {
      width: 45%; }
      .movieItems .movieItem:not(:first-child) {
        margin-left: 42px; }

  .movieItem__thumb {
    width: 100%; }
    .movieItem__thumb img {
      max-width: 100%;
      width: 100%; }
    .movieItem__thumb.plaBtnColor--gray:after {
      border-width: 1.8vw 0 1.8vw 3.2vw; }
    .movieItem__thumb:before {
      left: -1.5vw;
      width: 108.5%;
      height: 117%; }

  .movieItem__ttl {
    text-align: center;
    line-height: 1.8;
    margin-top: 1.5em; }

  .section-2__2__kashi {
    width: 48vw; }

  .section-2__3__ttl {
    width: 34vw;
    margin-bottom: 43.5px; }

  .section-3 {
    padding-top: 20vw;
    padding-bottom: 100px; }

  .section-3__btnItems {
    width: 60%;
    margin-bottom: 75px; }
    .section-3__btnItems .section-3__btnItem:not(:first-child) {
      margin-top: 30px; }

  .sns__ttl {
    text-align: center;
    color: #0b988b;
    font-size: 35px;
    margin-bottom: 1em; }

  .sns__items {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center; } }
@media only screen and (max-width: 640px) {
  .u-spBreak {
    display: block; }

  .u-pcBreak {
    display: none; }

  .kv_sp {
    display: block; }

  .u-spElm {
    display: block; }

  .u-pcElm {
    display: none; }

  #barrier {
    padding-top: 59px; }

  .l-section {
    width: 100%; }
    .l-section .section__inner {
      width: 95%; }

  .kv .section__inner {
    width: 100%;
    height: auto; }

  .kv__eyeCatch, .kv__catchCopy, .kv__item {
    display: none; }

  .kv__icon {
    width: 26.5vw;
    right: 2vw;
    top: 2vw; }

  .kv__banner {
    bottom: 178px;
  }

  .section-1 {
    padding-top: 15vw;
    padding-bottom: 12vw; }

  .section-1__1 {
    margin-bottom: 10vw; }

  .section-1__1__ttl {
    width: 52vw;
    margin-bottom: 17vw; }

  .section-1__1__txtBox {
    max-width: 100%;
    padding-top: 60vw; }
    .section-1__1__txtBox:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: inherit;
      top: initial;
      bottom: 0;
      margin: auto;
      width: 85%;
      height: 60vw;
      background: url(../img/section-1__1__txtBox_bg_.png) no-repeat top center/100% 100%; }

  .section-1__1__txtBox__txt {
    font-size: 3.2vw;
    line-height: 2; }

  .txtBox__deco {
    width: 38vw;
    top: -10vw; }

  .deco--left {
    left: 8vw; }

  .deco--right {
    right: 8vw; }

  .section-1__2 {
    margin-left: -35vw; }

  .section-1__2__ttl {
    width: 49vw;
    margin-bottom: 3vw; }

  .section-1__2__txtBox:after {
    top: -19%;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 160%; }

  .section-1__2__txtBox__txt {
    font-size: 3.1vw;
    line-height: 2; }

  .section-2 {
    padding-top: 18vw;
    padding-bottom: 25vw; }
    .section-2:before, .section-2:after {
      height: 21px; }
    .section-2:before {
      background: url("../img/section-2_line.png") repeat-x top left/18.5px 100%; }
    .section-2:after {
      background: url("../img/section-2_line.png") repeat-x top left/18.5px 100%; }
    .section-2 .section__inner {
      position: relative; }

  .section-2__1 {
    margin-bottom: 16vw; }

  .section-2__1__ttl {
    width: 52vw;
    margin-bottom: 8.5vw; }

  .movieItems {
    width: 75%; }
    .movieItems .movieItem {
      width: 100%; }
      .movieItems .movieItem:not(:first-child) {
        margin-left: 0;
        margin-top: 9vw; }

  .movieItem__thumb {
    width: 100%; }
    .movieItem__thumb:before {
      left: -2.5vw;
      width: 76.5vw;
      height: 113%; }
    .movieItem__thumb.plaBtnColor--gray:after {
      border-width: 3.5vw 0 3.5vw 6vw; }
    .movieItem__thumb:after {
      border-width: 4vw 0 4vw 7vw; }

  .movieItem__ttl {
    line-height: 1.6;
    margin-top: 2.2em;
    font-size: 2.8vw; }

  .movieItem__txt {
    margin-top: 4.5em;
    font-size: 3vw; }

  .movieItem__btn {
    width: 50vw; }

  .section-2__2 {
    margin-bottom: 12vw; }

  .section-2__2__kashi {
    width: 76vw; }

  .section-2__3__ttl {
    width: 48vw;
    margin-bottom: 9vw; }

  .section-3 {
    background-image: url("../img/section-3_bg_sp.png");
    padding-top: 42vw;
    padding-bottom: 8vw; }
    .section-3 .section__inner {
      width: 88%; }

  .section-3__contents {
    padding-bottom: 0;
    background: url("../img/section-3__contents_bg.png") repeat-y top center/100% auto;
    position: relative;
    margin-bottom: 35vw; }
    .section-3__contents:before, .section-3__contents:after {
      display: block;
      position: absolute;
      content: "";
      width: 100%;
      height: 30vw; }
    .section-3__contents:before {
      top: -28vw;
      height: 40vw;
      background: url("../img/section-3__contents_bgTop.png") no-repeat top center/100% 100%; }
    .section-3__contents:after {
      bottom: -28vw;
      background: url("../img/section-3__contents_bgBottom.png") no-repeat top center/100% 100%; }
    .section-3__contents .section-3__contents__bg {
      display: none; }

  .section-3__contents__tag {
    width: 44vw;
    margin-bottom: 5vw; }

  .section-3__contents__ttl {
    width: 69vw;
    margin-bottom: 10%; }

  .m-section-3 + .section-3__contents__ttl {
    width: 62.85vw;
    margin-top: 15vw;
    margin-bottom: 6vw; }

  .m-section-3 {
    width: 70vw;
    margin-bottom: 25px;
    flex-wrap: wrap;
    padding-left: 0; }

  .m-section-3__block {
    width: 100%; }
    .m-section-3__block + .m-section-3__block {
      padding-left: 0; }

  .m-section-3__eyeCatch {
    width: 70%;
    margin: 0 auto;
    margin-left: 20vw;
    margin-bottom: 4%; }
    .m-section-3__eyeCatch:before {
      width: 25vw;
      height: 25vw;
      left: -22vw;
      top: -4vw; }

  .m-section-3__eyeCatch--02 {
    width: 35%;
    margin: 0 auto;
    margin-left: 34vw;
    margin-bottom: 6%; }
    .m-section-3__eyeCatch--02:before {
      width: 25vw;
      height: 25vw;
      left: -27vw;
      top: 12vw; }

  .m-section-3__sale {
    width: 70%;
    margin: 0 auto;
    margin-bottom: 8%; }

  .m-section-3__text {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 7%; }
    .m-section-3__text.m-section-3__text--02 {
      width: 57vw;
      margin-bottom: 1em; }

  .m-section-3__dl {
    font-size: 2.6vw;
    margin-left: 19vw; }
    .m-section-3__dl + .m-section-3__dl {
      margin-top: .8em; }

  .m-section-3__note {
    font-size: 2.1vw;
    margin: 1.4em 0 3em;
    text-align: center; }

  .section-3__contents__txtBox {
    width: 78vw; }

  .section-3__contents__txtBox__txt {
    line-height: 1.8;
    margin: 0 auto;
    font-size: 2vw; }

  .m-section-3__btn {
    width: 80%;
    margin: 0 auto; }

  .section-3__btnItems {
    width: 100%;
    margin-bottom: 7vw; }
    .section-3__btnItems .section-3__btnItem:not(:first-child) {
      margin-top: 4vw; }

  .sns__ttl {
    font-size: 5vw;
    margin-bottom: .8em; }

  .sns__items {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center; } }


.movieItem a:focus {
  outline: none;
}