@charset "utf-8";
.elementor-inner {
    position: relative;
    overflow: hidden;
}
#bird1 {
  position: absolute;
}

p {
  margin: 0;
}
/* １ページ表示 */
.full {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
/* お試し謎 */
input[type="text"].anser_waku {
  display: flex;
  margin: 10px auto;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 2.5em;
  width: 300px;
  padding: 0 10px;
  border-radius: 5px;
  border: 1px solid #63d62d;
  background: #fff;
  font-size: 19px;
  font-family: "Yusei Magic", sans-serif;
  color: #c53d43;
  box-shadow: 0 0 10px 2px rgb(99 214 45 / .35);
  appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
input[type="text"].anser_waku::placeholder {
    color: #7b7c7d;
}
input[type="text"].anser_waku:focus {
  outline: 0;
  background: #fff;
  border: 1px solid #e6b422;
  box-shadow: 0px 0px 10px 2px rgb(230 180 34 / .35);
  color: #160c28;
}
.sousin_botan {
  display: flex;
  width: 160px;
  height: 44px;
  margin: 20px auto;
  padding: 0;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  text-shadow: 1px 1px 1px rgb(77 77 77 / .7);
  line-height: 17px;
  border-radius: 5px;
  border: 0;
  color: #ffffff;
  background: #f08300;
  cursor: pointer;
  box-shadow: 0 5px 0 #b36b00;
}
.sousin_botan:active {
  transform: translate(0, 3px);
  background: #f08300;
  box-shadow: 0 0 0 #b36b00;
}
.popup-correct, .popup-incorrect {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / .5);
  justify-content: center;
  align-items: center;
  z-index: 99;
}
.popup-inner {
  position: fixed;
  inset: 0;
  margin: auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 80%;
  max-width: 600px;
  height: 60%;
  background: white;
  padding: 10px 0;
  border: 4px solid #997526;
  border-radius: 20px;
}
.seikai {
  width: 95%;
  height: 95%;
  background-image: url(https://miyajima-noasobi.com/wp-content/uploads/2025/03/da6b36bb2f237bd66e70173a6265478f.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.fuseikai {
  width: 95%;
  height: 95%;
  background-image: url(https://miyajima-noasobi.com/wp-content/uploads/2025/03/8e2ddb50af6c51d65b37da955f10e7e7.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 5px;
  right: 10px;
  height: 30px;
  width: 30px;
  font-size: 18px;
  font-weight: 600;
  background: #ffec47;
  border: 1px solid #006e54;
  border-radius: 50%;
  color: #00a381;
  cursor: pointer;
  z-index: 999;
}
.loader {
  background: rgb(0 0 0 / .5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 999;
}
.loader_spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.loader_saigo {
  width: 40px;
  height: 40px;
  --c:no-repeat linear-gradient(#99DDFF 0 0);
  background: var(--c),var(--c),var(--c),var(--c);
  background-size: 21px 21px;
  animation: l5 1.3s infinite cubic-bezier(0.3,1,0,1);
}
@keyframes l5 {
   0%   {background-position: 0    0,100% 0   ,100% 100%,0 100%}
   33%  {background-position: 0    0,100% 0   ,100% 100%,0 100%;width:60px;height: 60px}
   66%  {background-position: 100% 0,100% 100%,0    100%,0 0   ;width:60px;height: 60px}
   100% {background-position: 100% 0,100% 100%,0    100%,0 0   }
}
.message {
  font-family: "Yusei Magic", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5em;
  color: #000;
  text-decoration: none;
  margin: 5px;
}
.message p {
  margin: 0;
}
.nazo_Botan {
  display: flex;
  margin: 15px auto;
  border: 0;
  line-height: 2.5;
  padding: 1px 25px;
  font-size: 1.1rem;
  font-family: "Yusei Magic", sans-serif;
  text-align: center;
  color: #000;
  text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, rgb(0 0 0 / .7) 3px 3px 3px;
  border-radius: 20px;
  background-color: rgb(255 70 70 / 100%);
  background-image: linear-gradient(
    to top left,
    rgb(0 0 0 / 20%),
    rgb(0 0 0 / 20%) 30%,
    rgb(0 0 0 / 0%)
  );
  box-shadow: 0 4px 0 #4d0000,
    inset 2px 2px 3px rgb(255 255 255 / 60%),
    inset -2px -2px 3px rgb(0 0 0 / 60%);
  cursor: pointer;
  transition: 0.05s;
  -webkit-user-select: none;
  user-select: none;
}
.nazo_Botan:active {
  transform: translate(0, 3px);
  box-shadow: 0 0 0 #222e33;
  -webkit-user-select: none;
  user-select: none;
}
.scrolldown1{
  position:absolute;
  left:50%;
  bottom:10px;
  height:30px;
}

/*Scrolldownテキストの描写*/
.scrolldown1 span{
  position: absolute;
  left:-18px;
  top: -15px;
  color: black;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: black;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}
/* ハンバーガーメニュー */
.hamburger {
  position: fixed;
  z-index: 99;
  right: 10px;
  top:10px;
  background:none;
  border: none;
  cursor: pointer;
  width: 50px;
  height:50px;
  border-radius: 5px;
}
.hamburger span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
  background: #000;
  box-shadow: 0px 0px 1px 1px #f5f5f5;
  width: 45%;
}
.hamburger span:nth-of-type(1) {
  top:13px; 
}
.hamburger span:nth-of-type(2) {
  top:19px;
}
.hamburger span:nth-of-type(3) {
  top:25px;
}
.hamburger span:nth-of-type(3)::after {
  content:"Menu";
  position: absolute;
  top:5px;
  left:-2px;
  color: #000;
  font-size: 0.6rem;
  text-transform: uppercase;
}
.hamburger.active {
  background: #4169e1;
}
.hamburger.active span:nth-of-type(1) {
  top: 14px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
  background: #fff;
  box-shadow: none;
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  top: 26px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
  background: #fff;
  box-shadow: none;
}
.hamburger.active span:nth-of-type(3)::after {
  content:"Close";
  transform: translateY(0) rotate(-45deg);
  top:7px;
  left:4px;
  color: #fff;
}
#nav {
  position: fixed;
  z-index: 9;
  top:0;
  right: -120%;
  width:100%;
  height: 100vh;
  background:#e6e6fa;
  transition: all 0.6s;
}
#nav.active {
  right: 0;
}
#nav.active #nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#nav ul {
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}
#nav ul li {
  list-style: none;
  text-align: center;
}
#nav a {
  color: #333;
  text-decoration: none;
  padding: 5px;
  display: block;
  letter-spacing: 0.1em;
  font-size: 16px;
  font-family: "Lato Regular Bold", "Noto Sans JP", sans-serif;
  font-weight: Semi Bold;
  transition: 0.5s;
}
#nav li a:hover {
  color: #ffffff;
  background: #cd5c5c;
}
/* アニメーション */
.supin {
  animation:supin-x 6s infinite;
  -webkit-animation:supin-x 6s infinite;
}
@keyframes supin-x{
   0%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  70%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  75%{transform: scale(1.1, 0.9) translateY(5%) rotateX(0deg);}
  80%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(0deg);}
  82%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(180deg);}
  84%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(0deg);}
  90%{transform: scale(1.1, 0.9) translateY(5%) rotateX(0deg);}
  95%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  100%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
}
@-webkit-keyframes supin-x{
   0%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  70%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  75%{transform: scale(1.1, 0.9) translateY(5%) rotateX(0deg);}
  80%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(0deg);}
  82%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(180deg);}
  84%{transform: scale(0.8, 1.2) translateY(-50%) rotateY(0deg);}
  90%{transform: scale(1.1, 0.9) translateY(5%) rotateX(0deg);}
  95%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  100%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
}

.jump {
  animation:jump-x 6s infinite;
  -webkit-animation:jump-x 6s infinite;
}
@keyframes jump-x{
  0% {transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  20% {transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  50%{transform: scale(1.2, 0.8) translateY(15%) rotateX(0deg);}
  60%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(0deg);}
  63%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(180deg);}
  66%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(0deg);}
  75%{transform: scale(1.2, 0.8) translateY(15%) rotateX(0deg);}
  80%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  100%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
}
@-webkit-keyframes jump-x{
  0% {transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  20% {transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  50%{transform: scale(1.2, 0.8) translateY(15%) rotateX(0deg);}
  60%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(0deg);}
  63%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(180deg);}
  66%{transform: scale(0.9, 1.2) translateY(-100%) rotateX(0deg);}
  75%{transform: scale(1.2, 0.8) translateY(15%) rotateX(0deg);}
  80%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
  100%{transform: scale(1.0, 1.0) translateY(0%) rotateX(0deg);}
}

.kaiten {
  animation:rotate-x 10s infinite;
  -webkit-animation:rotate-x 10s infinite;
}
@keyframes rotate-x{
  0% {transform: translateY(0px);}
  10%{transform: translateY(-5px);}
  40%{transform: translateY(5px);}
  50%{transform: translateY(0px);}
  60%{transform: translateY(-5px);}
  70%{transform: translateY(0px);}
  80%{transform: translateY(5px);}
  100%{transform: translateY(0px);}
}
@-webkit-keyframes rotate-x{
  0% {transform: translateY(0px);}
  10%{transform: translateY(-5px);}
  40%{transform: translateY(5px);}
  50%{transform: translateY(0px);}
  60%{transform: translateY(-5px);}
  70%{transform: translateY(0px);}
  80%{transform: translateY(5px);}
  100%{transform: translateY(0px);}
}
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
}
@keyframes fuwafuwa {
  0% { transform:translate(0, 0) rotate(-7deg);}
  50% { transform:translate(0, -7px) rotate(0deg);}
  100% { transform:translate(0, 0) rotate(7deg); }
}

.fuwafuwa2 {
  animation: fuwafuwa2 3s infinite ease-in-out .8s alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
}
@keyframes fuwafuwa2 {
  0% { transform:translate(0, 0) rotate(7deg); }
  50% { transform:translate(0, 7px) rotate(0deg); }
  100% { transform:translate(0, 0) rotate(-7deg); }
}
/*ここからsticky*/
.parallax {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
}
/*ボールが動く*/
.scrolldown2:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-4px;
  width:12px;
  height:12px;
  border-radius: 50%;
  background:#FFB24A;
  animation:
    circlemove 3s ease-in-out infinite,
    cirlemovehide 3s ease-out infinite;
}
@keyframes circlemove{
      0%{left:30%;}
     100%{left:70%;}
 }
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }
/*ネオンのように文字がチカチカ*/
h2 > span:nth-child(1) {
  animation: neonBlink 5s infinite;
}
h2 > span:nth-child(2) {
  animation: neonBlink 3s infinite;
}
h2 > span:nth-child(3) {
  animation: neonBlink 8s infinite;
}
h2 > span:nth-child(4) {
  animation: neonBlink 2s infinite;
}
h2 > span:nth-child(5) {
  animation: neonBlink 7s infinite;
}
h2 > span:nth-child(6) {
  animation: neonBlink 2s infinite;
}
@keyframes neonBlink {
  0% { opacity: 1; }
  10% { opacity: .3; }
  12% { opacity: 1; }
  15% { opacity: 0; }
  17% { opacity: 1; }
  18% { opacity: .3; }
  19% { opacity: 0; }
  89% { opacity: .2; }
  91% { opacity: 1; }
  94% { opacity: 0; }
  100% { opacity: 1; }
}
/*ここからbounce-in-bck*/
.bounce-in-bck {
  opacity: 0;
}
.bounce-in-bck.inView {
  animation: bounce-in-bck 1.1s both;
  -webkit-animation: bounce-in-bck 1.1s both;
}
@keyframes bounce-in-bck {
  0% {
    transform: scale(10);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  38% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  55% {
    transform: scale(1.5);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  72% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  81% {
    transform: scale(1.24);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  89% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  95% {
    transform: scale(1.04);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  100% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
}
@-webkit-keyframes bounce-in-bck {
    0% {
    transform: scale(10);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  38% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  55% {
    transform: scale(1.5);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  72% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  81% {
    transform: scale(1.24);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  89% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  95% {
    transform: scale(1.04);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  100% {
    transform: scale(1);
    animation-timing-function: ease-out;
    opacity: 1;
  }
}
/*ここからslide-in-bck*/
.slide-in-bck {
opacity: 0;
}
.slide-in-bck.inView {
	-webkit-animation: slide-in-bck-center 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-bck-center 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-bck-center {
  0% {
    -webkit-transform: translateZ(600px);
            transform: translateZ(600px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes slide-in-bck-center {
  0% {
    -webkit-transform: translateZ(600px);
            transform: translateZ(600px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}
/*ここからtilt-in-bottom*/
.tilt-in-bottom {
  opacity: 0;
}
.tilt-in-bottom.inView {
	-webkit-animation: tilt-in-bottom 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: tilt-in-bottom 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes tilt-in-bottom {
  0% {
    -webkit-transform: rotateY(-30deg) translateY(300px) skewY(30deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0deg) translateY(0) skewY(0deg);
    opacity: 1;
  }
}
@keyframes tilt-in-bottom {
  0% {
    transform: rotateY(-30deg) translateY(300px) skewY(30deg);
    opacity: 0;
  }
  100% {
    transform: rotateY(0deg) translateY(0) skewY(0deg);
    opacity: 1;
  }
}
/*ここからtilt-in-fwd*/
.tilt-in-fwd {
  opacity: 0;
}
.tilt-in-fwd.inView {
	-webkit-animation: tilt-in-fwd 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
  animation: tilt-in-fwd 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes tilt-in-fwd {
  0% {
    -webkit-transform: rotateY(20deg) rotateX(35deg) translate(100px, -100px) skew(-35deg, 10deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
    opacity: 1;
  }
}
@keyframes tilt-in-fwd {
  0% {
    transform: rotateY(20deg) rotateX(35deg) translate(100px, -100px) skew(-35deg, 10deg);
    opacity: 0;
  }
  100% {
    transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
    opacity: 1;
  }
}
/*ここからslide-in-fwd*/
.slide-in-fwd {
  opacity: 0;
}
.slide-in-fwd.inView {
	-webkit-animation: slide-in-fwd 0.4s ease-in both;
	animation: slide-in-fwd 0.4s ease-in both;
}
@-webkit-keyframes slide-in-fwd {
  0% {
    -webkit-transform: translateZ(-1400px) translateY(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0) translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-fwd {
  0% {
    transform: translateZ(-1400px) translateY(100px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0) translateY(0);
    opacity: 1;
  }
}
/*ここからbounce-in-bottom*/
.bounce-in-bottom, .bounce-in-bottom2 {
  opacity: 0;
}
.bounce-in-bottom3 {
  opacity: 0;
}
.bounce-in-bottom.inView {
	-webkit-animation: bounce-in-bottom 0.3s both;
	        animation: bounce-in-bottom 0.3s both;
}
.bounce-in-bottom2.inView {
	-webkit-animation: bounce-in-bottom 0.3s both;
	        animation: bounce-in-bottom 0.3s both;
  animation-delay: 0.3s;
}
.bounce-in-bottom3.inView {
	-webkit-animation: bounce-in-bottom 0.3s both;
	        animation: bounce-in-bottom 0.3s both;
  animation-delay: 0.6s;
}
@-webkit-keyframes bounce-in-bottom {
  0% {
    -webkit-transform: translateY(100px);
    -webkit-animation-timing-function: ease-in;
    opacity: 0;
  }
  38% {
    -webkit-transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
    opacity: 1;
  }
  55% {
    -webkit-transform: translateY(35px);
    -webkit-animation-timing-function: ease-in;
  }
  72% {
    -webkit-transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
  }
  81% {
    -webkit-transform: translateY(18px);
    -webkit-animation-timing-function: ease-in;
  }
  90% {
    -webkit-transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
  }
  95% {
    -webkit-transform: translateY(8px);
    -webkit-animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: translateY(0);
    -webkit-animation-timing-function: ease-out;
    opacity: 1;
  }
}
@keyframes bounce-in-bottom {
  0% {
    transform: translateY(100px);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  38% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  55% {
    transform: translateY(35px);
    animation-timing-function: ease-in;
  }
  72% {
    transform: translateY(0);
    animation-timing-function: ease-out;
  }
  81% {
    transform: translateY(18px);
    animation-timing-function: ease-in;
  }
  90% {
    transform: translateY(0);
    animation-timing-function: ease-out;
  }
  95% {
    transform: translateY(8px);
    animation-timing-function: ease-in;
  }
  100% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1; 
  }
}
/*ここからtracking-in-contract-bck-bottom*/
.tracking-in-contract-bck-bottom {
  opacity: 0;
}
.tracking-in-contract-bck-bottom.inView {
	-webkit-animation: tracking-in-contract-bck-bottom 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
	        animation: tracking-in-contract-bck-bottom 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}
@-webkit-keyframes tracking-in-contract-bck-bottom {
  0% {
    letter-spacing: 1em;
    -webkit-transform: translateZ(400px) translateY(300px);
            transform: translateZ(400px) translateY(300px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateZ(0) translateY(0);
            transform: translateZ(0) translateY(0);
    opacity: 1;
  }
}
@keyframes tracking-in-contract-bck-bottom {
  0% {
    letter-spacing: 1em;
    -webkit-transform: translateZ(400px) translateY(300px);
            transform: translateZ(400px) translateY(300px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateZ(0) translateY(0);
            transform: translateZ(0) translateY(0);
    opacity: 1;
  }
}
/*ここからfade-in-bottom*/
.fade-in-bottom {
  opacity: 0;
}
.fade-in-bottom.inView {
	-webkit-animation: fade-in-bottom 1.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-bottom 1.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}
@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
/*ここからfade-in-bottom2,3*/
.fade-in-bottom2, .fade-in-bottom3 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in-bottom3 {
  transition-delay: 0.3s;
}
.fade-in-bottom2.inView, .fade-in-bottom3.inView {
  opacity: 1;
  transform: translateY(0);
}

/*ここから背景色が伸びてテキスト出現*/
.bgextend{
    animation-name:bgextendAnimeBase;
    animation-duration:1s;
    animation-fill-mode:forwards;
    position: relative;
    overflow: hidden;
    opacity:0;
}
@keyframes bgextendAnimeBase{
    from {
      opacity:0;
    }
    to {
      opacity:1;  
    }
}
.bgappearTrigger.inView{
    animation-name:bgextendAnimeSecond;
    animation-duration:1s;
    animation-delay: 0.6s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes bgextendAnimeSecond{
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.bgRLextendTrigger.inView::before{
    animation-name:extendAnimation;
    animation-duration:1s;
    animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #E86560;
}
@keyframes extendAnimation{
    0% {
        transform-origin:left;
        transform:scaleX(0);
    }
    50% {
        transform-origin:left;
        transform:scaleX(1);
    }
    50.001% {
        transform-origin:right;
    }
    100% {
        transform-origin:right;
        transform:scaleX(0);
    }
}
.bgappearTrigger,.bgRLextendTrigger{
    opacity: 0;
}
/*ここから背景色変更*/
.haikei-henkou {
    background-color: #fff;
    transition: background-color 5s 1s;
}
.haikei-henkou.inView {
    background-color: #87cefa;
}
/*ここからsvgパス*/
.box2 {
    text-align: center;
    margin: auto;
    width: 60%;
}
@media screen and (max-width:480px) {
  .box2 {
    width: 85%;
  }
}
.yama2 {
  fill: #111;
  stroke: #111;
  stroke-dasharray: 2000px;
  stroke-dashoffset: 0px;
  stroke-width: 0.5px;
}
.box2.inView .yama2 {
  -webkit-animation: yama2 4s ease-in 0s;
  animation: yama2 4s ease-in 0s;
}
@keyframes yama2 {
  0% { fill: transparent;
       stroke-dashoffset: 2000px; }
  75%{ fill: transparent;
       stroke-dashoffset: 1000px; }
  85%{ fill: transparent; }
  100%{ fill: #111; }
}
@-webkit-keyframes yama2 {
  0% { fill: transparent;
       stroke-dashoffset: 2000px; }
  75%{ fill: transparent;
       stroke-dashoffset: 1000px; }
  85%{ fill: transparent; }
  100%{ fill: #111; }
}
/* diver */
div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video,input,textarea {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 100%;
    font-style: normal
}
*,*:before,*:after {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

a {
    -webkit-transition: all ease-in-out .3s;
    -o-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
    text-decoration: none;
    color: inherit
}
*,*:before,*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
ul,ol {
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-image: none
}
ul ul {
    margin-left: 1em
}
svg:not(:root) {
    overflow: hidden
}
.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail {
    height: auto
}
@media screen and (max-width: 1200px) {
    #main-wrap {
        width:96%
    }

    img {
        max-width: 100%
    }
ins.adsbygoogle {
    position: relative;
    z-index: 999
}
body {
    vertical-align: baseline;
    font-smoothing: antialiased;
    text-rendering: auto;
    margin: 0;
    width: 100%;
}