header {
  display: none;
}

main {
  padding: 0px 0 0;
}

/* .wrapper {
  background: url("../img/all/content_bg.jpg") center top;
  background-size: 100% auto;
}

.winter .wrapper {
  background: url("../img/all/content_bg_winter.jpg") center -50%;
  background-size: 140% auto;
}
@media (min-width: 768px) {
  .winter .wrapper {
    background: url("../img/all/content_bg_winter.jpg") center -100px;
    background-size: 100% auto;
  }
} */

/* ===== 雪を表示するコンテナのスタイル ===== */
.snow-container {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%; /* コンテナの横幅 */
  height: 100vh; /* コンテナの高さ */
  pointer-events: none;
}

/* ===== 雪のスタイル ===== */
.snow {
  position: absolute;
  top: -10px;
  animation: animate-snow 10s linear, animate-snow-shake 3s linear infinite;
  opacity: 1;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7); /* 雪の色 */
  box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
}

@media (max-height: 667px) {
  .snow {
    animation: animate-snow 6s linear, animate-snow-shake 3s linear infinite;
  }
}
@media (min-height:668px) and (max-height: 900px) {
  .snow {
    animation: animate-snow 7s linear, animate-snow-shake 3s linear infinite;
  }
}

/* ===== 雪のアニメーション ===== */
@keyframes animate-snow {
  0% {
    top: -10px;
    opacity: 1;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    top: 100vh;
    opacity: 0;
  }
}
@keyframes animate-snow-shake {
  0% {
    transform: translateX(0);
  }

  10% {
    transform: translateX(5px);
  }

  20% {
    transform: translateX(0);
  }

  30% {
    transform: translateX(-5px);
  }

  50% {
    transform: translateX(15px);
  }

  70% {
    transform: translateX(-15px);
  }

  90% {
    transform: translateX(-5px);
  }

  100% {
    transform: translateX(0);
  }
}


#index {
  position: relative;
  overflow: hidden;
}

#index img {
  width: 100%;
  height: auto;
}

#index h1 {
  position: absolute;
  z-index: 10;
  top: 30%;
  left: 12.5%;
  width: 75%;
}
@media (min-width: 768px) {
  #index h1 {
    top: 250px;
    left: 50%;
    width: 900px;
    margin-left: -450px;
  }
}


#index h1 {
  animation-name: logo-view-sp, logo-anime;
  animation-duration: 1s, 2s;
  /* animation-play-state: running; */
  animation-timing-function: ease;
  animation-delay: 0s, 1s;
  animation-iteration-count: 1, infinite;
  animation-direction: normal;
  opacity: 0;

  animation-fill-mode: forwards, none;
}
@media (min-width: 768px) {
  #index h1 {
    animation-name: logo-view, logo-anime;
  }
}

@keyframes logo-anime {
  0% {
    transform: translate(0,0) rotate(0deg);
  }
  5% {
    transform: translate(0,0) rotate(2deg);
  }
  15% {
    transform: translate(0,0) rotate(-2deg);
  }
  25% {
    transform: translate(0,0) rotate(2deg);
  }
  30% {
    transform: translate(0,0) rotate(0deg);
  }
  100% {
    transform: translate(0,0) rotate(0deg);
  }
}

@keyframes logo-view {
  0% {
    transform: translate(0,-4rem) rotate(0deg);
    opacity: 0;
  }
  100% {
    transform: translate(0,0) rotate(0deg);
    opacity: 1;
  }
}

@keyframes logo-view-sp {
  0% {
    transform: translate(0,-2rem) rotate(0deg);
    opacity: 0;
  }
  100% {
    transform: translate(0,0) rotate(0deg);
    opacity: 1;
  }
}


.catch {
  position: absolute;
  z-index: 11;
  top: 55%;
  left: 12.5%;
  width: 75%;
}
@media (min-width: 768px) {
  .catch {
    top: 530px;
    left: 50%;
    width: 900px;
    margin-left: -450px;
  }
}

.catch {
  animation-name: catch-view-sp;
  animation-duration: 1s;
  /* animation-play-state: running; */
  animation-timing-function: ease;
  animation-delay: 0.5s;
  animation-iteration-count: 1;
  animation-direction: normal;
  opacity: 0;

  animation-fill-mode: forwards;
}
@media (min-width: 768px) {
  .catch {
    animation-name: catch-view;
  }
}

@keyframes catch-view {
  0% {
    transform: translate(0,4rem) rotate(0deg);
    opacity: 0;
  }
  100% {
    transform: translate(0,0) rotate(0deg);
    opacity: 1;
  }
}

@keyframes catch-view-sp {
  0% {
    transform: translate(0,2rem) rotate(0deg);
    opacity: 0;
  }
  100% {
    transform: translate(0,0) rotate(0deg);
    opacity: 1;
  }
}

.btn {
  position: absolute;
  z-index: 6;
  top: 80%;
  left: 0;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: center;
  width: 100%;
}
@media (min-width: 768px) {
  .btn {
    top: 750px;
    justify-content: space-between;
  }
}


.btn {
  animation-name: btn-view;
  animation-duration: 1s;
  /* animation-play-state: running; */
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  opacity: 0;

  animation-fill-mode: forwards;
}

@keyframes btn-view {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


.btn a {
  display: block;
}

.enter {
  overflow: hidden;
  width: 35%;
}
@media (min-width: 768px) {
  .enter {
    width: 300px;
  }
}

.enter a {
  margin: 0 0;
}
@media (min-width: 768px) {
  .enter a {
    margin: 0 0;
  }
}

.enter {
  /* animation-name: enter-anime;
  animation-duration: 2s;
  animation-play-state: running;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: normal;

  animation-fill-mode: none; */
}
@keyframes enter-anime {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(.8);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.exit {
  overflow: hidden;
  width: 30%;
  margin-right:auto;
}
@media (min-width: 768px) {
  .exit {
    width: 250px;
  }
}
.exit a {
  margin: 0;
}
@media (min-width: 768px) {
  .exit a {
    margin: 0;
  }
}

.photo {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 5%;
  width: 90%;
}
@media (min-width: 768px) {
  .photo {
    position: absolute;
    z-index: 3;
    top: 40px;
    left: 50%;
    width: 800px;
    margin-left: -400px;
  }
}

.photo2 {
  position: relative;
  z-index: 2;
  left: -12%;
  width: 124%;
}
@media (min-width: 768px) {
  .photo2 {
    left: 0;
    width: 100%;
  }
}
.photo2 .pc {
  display: none;
}
@media (min-width: 768px) {
  .photo2 .pc {
    display: block;
  }
  .photo2 .sp {
    display: none;
  }
}

.link_box {
  position: relative;
  z-index: 10;
  margin: 0 0;
  padding: 0 1rem;
  text-align: center;
}
@media (min-width: 768px) {
  .link_box {
    margin: 0 0;
    padding: 0;
  }
}

.link {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 768px) {
  .link {
    flex-direction: row;
  }
}

.link a {
  display: block;
  margin: 0.5rem 0;
}
@media (min-width: 768px) {
  .link a {
    margin: 1rem 0.5rem;
  }
}

.link img {
  width: auto;
  max-width: 100%;
}
@media (min-width: 768px) {
  .link img {
    width: auto;
  }
}


.opentime {
  position: absolute;
  top: 120px;
  left: 50%;
  width: 296px;
  margin-left: -148px;
  text-align: center;
}

#footer .menu {
  display: none;
}


/* 20220221 */
.event_bg {
  width: 100%;
  margin-left: 0;
}
@media (min-width: 768px) {
  .event_bg {
    width: 100%;
    margin-left: 0;
  }
}

.event_photo {
  position: absolute;
  top: 0;
  left: -15%;
  width: 130%;
  height: 130%;
  animation-name: photo, photo_brightness;
  animation-duration: 2s, 2s;
  animation-delay: 0.5s, 0.5s;
  animation-iteration-count: 1, 1;
  opacity: 0;

  animation-fill-mode: forwards;
  filter: brightness(2) blur(5px);
}
@keyframes photo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes photo_brightness {
  0% {
    filter: brightness(2) blur(5px);
  }
  100% {
    filter: brightness(1) blur(0px);
  }
}

@media (min-width: 768px) {
  .event_photo {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.event_photo.photo2, .event_photo.photo3, .event_photo.photo4 {
  animation-name: photo, photo_brightness, photo_blink;
  animation-duration: 2s, 2s, 6s;
  animation-delay: 0.5s, 0.5s, 3.5s;
  animation-iteration-count: 1, 1, infinite;
  opacity: 0;
}
@keyframes photo_blink {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  33% {
    opacity: 0;
  }
  53% {
    opacity: 1;
  }
  66% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.event_photo.photo1 {
  z-index: 4;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .event_photo.photo1 {
    left: 0%;
    width: 100%;
    height: 100%;
  }
}

.event_photo.photo2 {
  z-index: 2;
  animation-delay: 2s, 2s, 4s;
}

.event_photo.photo3 {
  z-index: 1;
  animation-delay: 2s, 2s, 6s;
}

.event_photo.photo4 {
  z-index: 3;
  animation-delay: 2s, 2s, 8s;
}

.desc p {
  padding: 0 1rem 1rem;
  font-size: 0.7rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .desc p {
    padding: 0 2rem 1rem;
    font-size: 1rem;
    line-height: 1.6;
  }
}

.renewal{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
}

@media (min-width: 768px) {
  .renewal{
    width: 60%;
  }
}
