@charset "UTF-8";
/* CSS Document */
.slider {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
footer {
  background: #f4f7ff;
}
footer a {
  color: #000 !important;
}
.home_safety {
  margin-bottom: 190px !important;
}	
.season_bottom {
  position: relative;
  z-index: 1;
}	
.season_btm02 {
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}	
.anime{
  position: relative;
	}	
.season_content_wrap {
display: flex;
background: #173d37;	
}
.season_content_inner {
  width: 70%;
  background: #fff;
  margin: 0 auto;
  position: relative;
  z-index: 1;	
}
.anime_block.content_left,
  .anime_block.content_right {
    width: 15%;
    display: flex;
    flex-direction: column;
    overflow: hidden; 
	position: relative;
  }
.anime_block.content_left{
  background: url("../img/tree_left.png");
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100%;
}
.anime_block.content_left:before{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/tree_left.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;	
}
.anime_block.content_left:after{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/deco_left.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;	
}
.anime_block.content_right{
  background: url("../img/tree_right.png");
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100%;
}
.anime_block.content_right:before{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/tree_right.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;	
}
.anime_block.content_right:after{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/deco_right.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;	
}
.anime_block.content_left{
	position: relative;
}
.deco_light.type01 {
  background: url("../img/light01.png");
  background-repeat: repeat-y;
  background-position: center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  bottom: 0;
  right: 0;
  margin: auto;
}
.deco_light.type02 {
  background: url("../img/light02.png");
  background-repeat: repeat-y;
  background-position: center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  bottom: 0;
  right: 0;
  margin: auto;
}
.anime_block.content_right{
	position: relative;
}
 .anime_sec {
    flex: 1;
    position: relative;
    height: 150px; /* 好みで調整 */
    margin-bottom: 20px;
  }

.deco {
  position: absolute;
}

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

.deco_light.type01 {
  animation: blinking 1s ease-in-out infinite alternate;
}

.deco_light.type02 {
  animation: blinking 1s ease-in-out infinite alternate;
  animation-delay: 0.5s; /* ← 点滅の開始を遅らせる（時間差） */
}


.season_bottom.media_pc {
  display: block;
}
.season_bottom.media_sp {
  display: none;
}
.santa {
  position: absolute;
  bottom: 8px;
  animation: walk-cycle 20s linear infinite;
}
.santa img {
  animation: updown 0.6s ease-in-out infinite alternate;
}
.season_btm01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;	
}

/* 左右移動 ＆ 左端で反転して戻る */
@keyframes walk-cycle {
  0% {
    transform: translateX(100vw) scaleX(1); /* 右→左に向かう */
  }
  45% {
    transform: translateX(-100px) scaleX(1); /* 左端に到達 */
  }
  50% {
    transform: translateX(-100px) scaleX(-1); /* 左端で反転 */
  }
  95% {
    transform: translateX(100vw) scaleX(-1); /* 右端に戻る */
  }
  100% {
    transform: translateX(100vw) scaleX(1); /* 再び右へ & 正位置 */
  }
}

/* 歩いているように上下に揺れる */
@keyframes updown {
  0% { transform: translateY(0); }
  100% { transform: translateY(-6px); }
}


@media screen and (max-width:768px){
.season_bottom.media_pc {
  display: none;
}
.season_bottom.media_sp {
  display: block;
}
.anime_block.content_left, .anime_block.content_right {
  width: 10%;
	}
.season_content_inner {
  width: 80%;
	}
.home_safety {
  margin-bottom: 160px !important;
}	
.anime_block.content_left:after{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/deco_left_sp.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;	
}
.anime_block.content_right:after{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/deco_right_sp.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 90%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;	
}	
.anime_block.content_right{
  background: url("../img/tree_right_sp.png");
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100%;
}
.anime_block.content_right:before{
  content: "";
  width: 100%;
  height: 100%;	
  background: url("../img/tree_right.png");
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;	
}	
}

@media screen and (max-width:599px){
.santa {
  width: 60px;
}
/* 歩いているように上下に揺れる */
@keyframes updown {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}	
}

@media screen and (max-width:414px){
.anime_block.content_left::before {
  top: -50px;
}
.anime_block.content_right::before {
  top: -50px;
}	
}