@charset "utf-8";
/*きらっと光る*/
.btnshine {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  border-radius: 5.9rem;
}

/*キラッと光る*/
.btnshine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-25deg);
  z-index: 5;
}

/*hoverした際の移動のアニメーション*/
.btnshine::before {
  animation: shine 1.5s infinite;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite 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);
  }
}

.bounce {
  animation: bounce 2s ease-in-out;
}

@keyframes bounce {
  0% {
    transform: translateY(-45%);
    animation-timing-function: ease-in;
    opacity: 1;
  }

  24% {
    opacity: 1;
  }

  40% {
    transform: translateY(-24%);
    animation-timing-function: ease-in;
  }

  65% {
    transform: translateY(-12%);
    animation-timing-function: ease-in;
  }

  82% {
    transform: translateY(-6%);
    animation-timing-function: ease-in;
  }

  93% {
    transform: translateY(-4%);
    animation-timing-function: ease-in;
  }

  25%,
  55%,
  75%,
  87% {
    transform: translateY(0%);
    animation-timing-function: ease-out;
  }

  100% {
    transform: translateY(0%);
    animation-timing-function: ease-out;
    opacity: 1;
  }
}

sup {
  vertical-align: super;
  font-size: smaller;
  position: relative;
  top: -2rem;
}

.gBlock > p:first-child {
  background: url(../img/line01.webp) no-repeat center;
  background-size: 61.6rem auto;
  background-position: center;
}

.gBtn {
  display: block;
  margin: 0 auto;
  width: 71rem;
}

.gBtn a {
  display: flex;
  align-items: center;
}

header{
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

.logo{
    width: 25.5rem;
    display: block;
    margin: 0 auto;
    padding: 3rem 0;
}

.txt01{
    display: block;
    margin: 6rem auto 4rem;
    width: 60.9rem;
    height: 100%;
}

.aTag{
    display: inline-block;
    left: 50%;
    transform: translateX(-64%);
    z-index: 5;
}

.aTag::after{
    content: "";
    position: absolute;
    bottom: 2rem;
    left: 0;
    right: 0;
    height: 5rem;
    background-color: #ffffd5; 
    z-index: 1;
}

.aTag a{
    position: relative;
    text-decoration: none;
    z-index: 5;
}

.txt02{
    display: block;
    margin: 4.5rem auto;
    width: 75rem;
    height: 100%;
}
