:root {
  --color-white: #fff;
  --color-black: #000;
}

@-webkit-keyframes loop_x {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop_x {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes shape_hand {
  0% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
  50% {
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  100% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
}

@keyframes shape_hand {
  0% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
  50% {
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  100% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
}

@-webkit-keyframes vibration {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  16% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  32% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  48% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  64% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
  80% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes vibration {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  16% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  32% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  48% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  64% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
  80% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes tenmetu {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 0.3;
  }
  60% {
    opacity: 1;
  }
  80% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@keyframes tenmetu {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 0.3;
  }
  60% {
    opacity: 1;
  }
  80% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.p-special .l-section__ttl h2 {
  width: 92rem;
}

.p-special .l-section__ttl-ja {
  width: 8.8rem;
}

@media screen and (max-width: 859px) {
  .p-special .l-section__ttl h2 {
    width: 33rem;
  }
  .p-special .l-section__ttl-ja {
    width: 4rem;
  }
}

.is-load .-in .l-section__content {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.l-section__content {
  margin-top: 1.4rem;
  padding-left: 0.8rem;
  -webkit-transform: translateX(-35px);
          transform: translateX(-35px);
  opacity: 0;
}

.p-special__ttl {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 859px) {
  .p-special__ttl {
    font-size: 1.5rem;
    line-height: 1.6em;
    margin-bottom: 3rem;
  }
}

.p-special__lead {
  text-align: center;
  line-height: 1.5em;
  font-size: 1.8rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 859px) {
  .p-special__lead {
    font-size: 1.3rem;
    margin-bottom: 3.5rem;
    text-align: left;
  }
}

.p-special__illust {
  width: 50%;
  margin: 0 auto;
  max-width: 1000px;
}

@media screen and (max-width: 859px) {
  .p-special__illust {
    width: 100%;
  }
}
/*# sourceMappingURL=gnosia_butai.special.css.map */