.top_bg_red{ background-color:#d92c54; color:white; position: relative; }
.top_bg_pink{ background-color:#fbe9eb; position: relative; }
.top_bg_pic{
	position: relative;
	background: url("../image/top/bg_pic.jpg") center center no-repeat;
	background-size: cover;
	position:relative;
	margin:0 auto;
}

.top_bg_pic_in{
-webkit-align-items: center;
align-items: center;
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content:center;
  width:100%;
}
.top_bg_pic_in div,
.top_bg_pic_in h2{
	width: calc(100% - 0px);
	margin: 10px auto;
	text-align:center;
  text-shadow:  2px  2px 10px #fff ,
               -2px  2px 10px #fff ,
                2px -2px 10px #fff ,
               -2px -2px 10px #fff;
}

.gradation_stit { background-image: linear-gradient(90deg, #fdbaff, #ff9d82); padding:20px; color:white; }

.vertical-text{ writing-mode: vertical-rl; }
.scroll-infinity{ position:relative; text-align:center; }

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
	}
	.scroll-infinity__wrap {
	  display: flex;
	  overflow: hidden;
	}
	.scroll-infinity__list {
	  display: flex;
	  list-style: none;
	  padding: 0; margin:0;
	}
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 80s infinite linear 0.5s both;
	}
	.scroll-infinity__item {
	  width: calc(100vw / 4);
	}
	.scroll-infinity__item>img {
	  width: 100%;
	}
	.scroll-infinity__item:nth-child(odd){
	  margin-top:3%;
	}

.slickmain_tit{
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0%;
  right: 0;
  bottom: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
	mix-blend-mode:overlay;
}
.slickmain_tit img{ width:100%;  }

.home_main_logo{
  position: absolute;
  bottom: 33%;
  left: 0;
  right: 0;
  text-align: center;
  margin: 0 auto;
  display: block;
  height: 50px;
}
.about_scroll{
	position:absolute;
	bottom:0;
	left:0; right:0;
	text-align:center;
	margin:0 auto;
	display: block;
	height: 110px;
  color: white;
}
.scroll {
  position: absolute;
  right: 50%;
  top: 10%;
  writing-mode: vertical-rl;
}
.scroll::before {
  animation: scroll 2s infinite;
  background-color: #ddd;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
.scroll::after {
  background-color: #fff;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
@media (max-width: 900px) {
	.scroll-infinity__item {
		  width: calc(100vw / 3);
	}
	.slickmain_tit{ top: 53%; }
}

@media (max-width: 600px) {
	.scroll-infinity__item {
		  width: calc(100vw / 2);
	}
	.slickmain_tit{ top: 55%; }
	.about_scroll{ height:70px; }
	.scroll::before { bottom:-75px; height:60px; }
	.scroll::after { bottom:-75px; height:60px; }
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.top_point_stit{
	margin-bottom:10px;
	background-color:#a74254;
	padding:8px 12px;
	color:white;
	font-weight:900;
}
