@charset "utf-8";

.loading {
  animation: fadeopIn 4s forwards;
}

.fadein_text,
.fadein_text span {
  opacity: 0;
}





.grayscale {
	animation: grayscale 1.0s linear forwards;
    transition: filter 1.0s ease;
    filter: grayscale(100);
    transition-delay:0.6s;
	-webkit-transition-delay:0.6s;
}


@keyframes fadeopIn {
  0% {
    opacity: 1;
  }
  
  90% {
    opacity: 1;
  }
  
  100% {
    opacity: 0;
    z-index: -1;
  }
}


.fingerprint-spinner, .fingerprint-spinner * {
      box-sizing: border-box;
    }

    .fingerprint-spinner {
      height: 120px;
      padding: 2px;
      overflow: hidden;
      position: relative;
    }

    .fingerprint-spinner .spinner-ring {
      position: absolute;
      border-radius: 50%;
      border: 1px solid transparent;
      border-top-color: #2b3c1c;
      animation: fingerprint-spinner-animation 1500ms cubic-bezier(0.680, -0.750, 0.265, 1.750) infinite forwards;
      margin: auto;
      bottom: 0;
      left: 0;
      right: 0;
      top: 0;
    }

    .fingerprint-spinner .spinner-ring:nth-child(1) {
      height: calc(60px / 9 + 0 * 60px / 9);
      width: calc(60px / 9 + 0 * 60px / 9);
      animation-delay: calc(50ms * 1);
    }

    .fingerprint-spinner .spinner-ring:nth-child(2) {
      height: calc(60px / 9 + 1 * 60px / 9);
      width: calc(60px / 9 + 1 * 60px / 9);
      animation-delay: calc(50ms * 2);
    }

    .fingerprint-spinner .spinner-ring:nth-child(3) {
      height: calc(60px / 9 + 2 * 60px / 9);
      width: calc(60px / 9 + 2 * 60px / 9);
      animation-delay: calc(50ms * 3);
    }

    .fingerprint-spinner .spinner-ring:nth-child(4) {
      height: calc(60px / 9 + 3 * 60px / 9);
      width: calc(60px / 9 + 3 * 60px / 9);
      animation-delay: calc(50ms * 4);
    }

    .fingerprint-spinner .spinner-ring:nth-child(5) {
      height: calc(60px / 9 + 4 * 60px / 9);
      width: calc(60px / 9 + 4 * 60px / 9);
      animation-delay: calc(50ms * 5);
    }

    .fingerprint-spinner .spinner-ring:nth-child(6) {
      height: calc(60px / 9 + 5 * 60px / 9);
      width: calc(60px / 9 + 5 * 60px / 9);
      animation-delay: calc(50ms * 6);
    }

    .fingerprint-spinner .spinner-ring:nth-child(7) {
      height: calc(60px / 9 + 6 * 60px / 9);
      width: calc(60px / 9 + 6 * 60px / 9);
      animation-delay: calc(50ms * 7);
    }

    .fingerprint-spinner .spinner-ring:nth-child(8) {
      height: calc(60px / 9 + 7 * 60px / 9);
      width: calc(60px / 9 + 7 * 60px / 9);
      animation-delay: calc(50ms * 8);
    }

    .fingerprint-spinner .spinner-ring:nth-child(9) {
      height: calc(60px / 9 + 8 * 60px / 9);
      width: calc(60px / 9 + 8 * 60px / 9);
      animation-delay: calc(50ms * 9);
    }

    @keyframes fingerprint-spinner-animation {
      100% {
        transform: rotate( 360deg );
      }
    }
    
.bgwave-topgy {
    width: 100%;
    height: 166px;
    background: url("../images/wave_tpgy.png") repeat-x 0 0;
    background-size: auto 100%;
    -webkit-animation: scroll-anim 5s linear infinite;
    animation: scroll-anim 5s linear infinite;
    position: relative;
}

.bgwave-bottomgr {
    width: 100%;
    height: 166px;
    background: url("../images/wave_btgreen.png") repeat-x 0 0;
    background-size: auto 100%;
    -webkit-animation: scroll-anim 5s linear infinite;
    animation: scroll-anim 5s linear infinite;
    position: relative;
    margin-bottom: 25px;
}

.bgwave-bottomgy {
    width: 100%;
    height: 166px;
    background: url("../images/wave_btgy.png") repeat-x 0 0;
    background-size: auto 100%;
    -webkit-animation: scroll-anim 5s linear infinite;
    animation: scroll-anim 5s linear infinite;
    position: relative;
    margin-bottom: 25px;
}

@media screen and (max-width:1099px){
	.bgwave-bottomgr,.bgwave-topgy,.bgwave-bottomgy {
	height: 60px!important;
	background-size: auto 60px!important;
	}
}


@keyframes scroll-anim {
  0% { background-position: 0 0; }
  100% { background-position: -1440px 0; }
}

.blur {
  color: transparent;
  animation: blur 2s both;
}

@keyframes blur {
  0%    {text-shadow:  0 0 100px #fff; opacity:0;transform: translateY(100px)}
  10%    {text-shadow:  0 0 90px #fff;}
  30%   {text-shadow:  0 0 70px #fff;}
  90%   {text-shadow:  0 0 20px #fff;}
  100%   {opacity: 1; color: #fff;}

}

.anim-box.fadein.is-animated {
  animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.anim-box.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

.anim-box.fadein.is-animated {
  animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.anim-box.zoomin.is-animated {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.anim-box.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.poyopoyo {
  animation: poyopoyo 2s ease-out;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.anim-box.poyopoyo {
  animation: poyopoyo 2s ease-out;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.anim-box.poyopoyo {
  animation: poyopoyo 2s ease-out;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.anim-box.poyopoyo {
  animation: poyopoyo 2s ease-out;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.anim-box.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
 
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.scroll {
  display: inline-block;
  padding-top: 70px;
  position: relative;
}
.scroll::before {
  animation: scroll 3.5s infinite;
  border: solid #fff;
  border-width: 0 0 1px 1px;
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: rotate(-45deg);
  width: 20px;
  height: 20px;
}
@keyframes scroll {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  80% {
    transform: rotate(-45deg) translate(-30px, 30px);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 0.5s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}


.marker {
    background: linear-gradient(transparent 0%, rgb(103 137 64 / 73%) 0%);
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 2s;
    padding: 4px 20px;
    text-shadow: 0 0 black;
}

@media screen and (max-width:1099px){
	.gr {padding: 4px 10px!important;transition: background-size 1s!important;}
	.yr {padding: 4px 10px!important;transition: background-size 1s!important;}
	.ye {padding: 4px 10px!important;transition: background-size 1s!important;}
	.nb {transition: background-size 1s!important;}
}

.marker.on {
	background-size: 100% 100%;
}

.gr {
    background: linear-gradient(transparent 0%, rgb(103 137 64 / 73%) 0%);
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 2s;
    padding: 4px 20px;
    text-shadow: 0 0 black;
}

.yr {
    background: linear-gradient(transparent 0%, rgb(165 133 37 / 60%) 0%);
    border-radius: 36px;
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 2s;
    padding: 4px 20px;
    text-shadow: 0 0 black;
}

.ye {
    background: linear-gradient(transparent 0%, rgb(177 145 49 / 40%) 0%);
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 2s;
    padding: 4px 20px;
    text-shadow: 0 0 black;
}

.nb {
    background: linear-gradient(transparent 0%, rgb(28 45 83 / 60%) 0%);
    border-radius: 36px;
    padding: 6px 20px;
    display: inline;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 2s;
    padding: 4px 20px;
    text-shadow: 0 0 black;
}

/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(40px);
	-webkit-transform: translateY(40px);  
    -moz-transform: translateY(40px); 
	-webkit-transition: 0.6s ease-out;
	-moz-transition: 0.6s ease-out;
	transition: 0.6s ease-out;
}
.effect.d_02 {
transition-delay:0.2s;
-webkit-transition-delay:0.2s;
}
.effect.d_04 {
transition-delay:0.4s;
-webkit-transition-delay:0.4s;
}
.effect.d_06 {
transition-delay:0.6s;
-webkit-transition-delay:0.6s;
}
.effect.d_08 {
transition-delay:0.8s;
-webkit-transition-delay:0.8s;
}

.effect.d_10 {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha( opacity=0 )";
    transform: translateY(40px);
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -webkit-transition: 1.5s ease-out;
    -moz-transition: 1.5s ease-out;
    transition: 1.5s ease-out;
}

.effect.d_12 {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha( opacity=0 )";
    transform: translateY(60px);
    -webkit-transform: translateY(60px);
    -moz-transform: translateY(60px);
    -webkit-transition: 3s ease-out;
    -moz-transition: 3s ease-out;
    transition: 3s ease-out;
}

.effect.d_00 {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha( opacity=0 )";
    transform: translateY(100px);
    -webkit-transform: translateY(100px);
    -moz-transform: translateY(100px);
    -webkit-transition: 1.5s ease-;
    -moz-transition: 1.5s ease;
    transition: 1.5s ease;
}

.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px);
	-webkit-transform: translateY(0px);  
    -moz-transform: translateY(0px);
}



.grayscale.reset {
    filter: grayscale(0);
}

.content p.check {
	color: #FF3333;
}
.content p.p_st {
	font-size: 20px;
	color: #CA28B1;
}

.zoomin {
    display: block;
    transform: scale(1.2);
    opacity: 0;
	filter: alpha(opacity=0);
}

.zoom-img {
    transform: scale(1);
    opacity: 1;
	filter: alpha(opacity=100);
	transition: 0.4s ease-in-out!important;
}

.ct {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
}

.ct-btn {
  text-align: center;
}
.ct-btn a {
    position: relative;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 450px;
    max-width: 100%;
    height: 80px;
    color: #fff;
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    background: #b90000;
    border-bottom: 5px solid #6b0000;
    border-radius: 14px;
    margin: 10px auto 25px auto;
    z-index: 1;
    overflow: hidden;
    cursor: pointer;
    letter-spacing: 0.1em;
}

/* ボタンを凹ませる */
.ct-btn a:active {
  transform: translateY(4px); /*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2); /*影を小さく*/
  border-bottom: 2px solid #6b0000;
}

.ct-btns a {
    position: relative;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 450px;
    max-width: 100%;
    height: 80px;
    color: #fff;
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    background: #1f734d;
    border-bottom: 5px solid #003f30;
    border-radius: 14px;
    margin: 20px auto 25px auto;
    z-index: 1;
    overflow: hidden;
    cursor: pointer;
    letter-spacing: 0.1em;
}

/* ボタンを凹ませる */
.ct-btns a:active {
  transform: translateY(4px); /*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2); /*影を小さく*/
  border-bottom: 2px solid #003f30;
}


.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}

.scroll-infinity__item>img {
  width: 100%;
}

.scroll-infinity__item {
  width: calc(100vw / 6);
}

@media screen and (max-width:1099px){
.scroll-infinity__item {
  width: calc(100vw / 2.5);
}
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}

@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:40px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}