  
/*--------------------------------------------------
    animation
=================================================*/
@keyframes commonFadeIn {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/*--------------------------------------------------
    style
=================================================*/

/* #mainVisual */
#mainVisual{
	display: grid;
	place-items: center;
	overflow: hidden;
}
#mainVisual .catch{
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	height: 187px;
	z-index: 1;
}
#mainVisual .catch svg{
	width: 300px;
	height: 77px;
	fill: currentColor;
}
#mainVisual .scroll{
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
	color: var(--fontColor);
	position: relative;
	z-index: 1;
}
#mainVisual .scroll svg{
	width: 28px;
	height: 27px;
	fill: currentColor;
}
#mainVisual .bg{
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	height: 875px;
	object-fit: cover;
	position: relative;
	z-index: 0;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#mainVisual .catch{
		height: 34vw;
	}
	#mainVisual .catch svg{
		width: 54vw;
		height: 14vw;
	}
	#mainVisual .scroll{
		margin-bottom: 5vw;
	}
	#mainVisual .scroll svg{
		width: 6vw;
		height: 6vw;
	}
	#mainVisual .bg{
		width: auto;
		height: 157vw;
	}
}

/* --animation */
#mainVisual .bg{
	scale: 1.08;
}
#mainVisual.animated .bg{
	animation: mainScale 1s .5s var(--once);
}
		@keyframes mainScale {
			0% {
				scale: 1.08;
			}
			100% {
				scale: 1;
			}
		}
#mainVisual .catch{
	rotate: 10deg;
	opacity: 0;
	transform-origin: center bottom;
}
#mainVisual.animated .catch{
	animation: mainRotate 1.2s 1.2s var(--once);
}
		@keyframes mainRotate {
			0% {
				rotate: 10deg;
				opacity: 0;
			}
			100% {
				rotate: 0deg;
				opacity: 1;
			}
		}



#mainVisual .scroll{
	opacity: 0;
	transform: translateY(-10px);
}
#mainVisual.animated .scroll{
	animation: 
		mainScroll 1s 2.2s var(--once),
		mainScrollHopping 2s 3.2s var(--loop);
}
		@keyframes mainScroll {
			0% {
				opacity: 0;
				transform: translateY(-10px);
			}
			100% {
				opacity: 1;
				transform: translateY(0);
			}
		}
		@keyframes mainScrollHopping {
			0% {
				transform: translateY(0);
			}
			50% {
				transform: translateY(-16px);
			}
			0% {
				transform: translateY(0);
			}
		}



/* #digest */
#digest{
	display: grid;
	width: 100%;
	aspect-ratio: 70/39;
	background: #AAA;
	overflow: hidden;
}
#digest button{
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	justify-self: center;
	width: 100%;
	height: 100%;
	text-align: center;
	position: relative;
	z-index: 2;
}
#digest .bg{
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	justify-self: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 0;
}
.digestOverImg{
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	align-self: center;
	margin-left: 15px;
	max-width: 18%;
	z-index: 1;
}
@media (min-width: 481px){ /* for PC */
	#digest button img{
		position: relative;
		z-index: 1;
	}
	#digest button::after{
		content: "";
		display: block;
		width: 0%;
		height: 0%;
		border-radius: 50%;
		background: rgba(0,0,0,0.3);
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		transition:all 0.3s ease-out;
	}
	#digest button:hover::after{
		width: 700px;
		height: 700px;
		top: calc(50% - 350px);
		left: calc(50% - 350px);
		transition:all 0.3s ease-out;
	}
}
@media (max-width: 480px){ /* for SP */
	#digest button img{
		max-width: 13vw;
	}
}

/* --animation */
.digestOverImg{
	transform: translateY(-5px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#digest.animated .digestOverImg{
	animation: clipFadeInRow .5s 0s var(--once);
}


/* #read */
#read{
	display: block;
	padding: 40px 0 107px 0;
	line-height: 1.8;
	font-size: 1.25rem;
	font-family: var(--font-zen);
	font-weight: bold;
	letter-spacing: var(--letter);
	color: #FFF;
	text-align: center;
	background: #fc4e45;
	position: relative;
	overflow: hidden;
}
#read .bg{
	display: block;
	width: 300%;
	height: 300%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
#read p{
	position: relative;
	z-index: 2;
}
#read p span{
	display: block;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
#read p span i{
	display: block;
}
#read p:not(:last-child){
	margin-bottom: 1.75em;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#read{
		padding: 8vw 0 20vw 0;
		font-size: 1rem;
	}
	#read p:not(:last-child){
		margin-bottom: 1.55em;
	}
}
/* --animation */
#read p i{
	transform: translateY(1.7em);
}
#read.animated p:nth-child(1) i{
	animation: readClipFade .8s 0s var(--once);
}
#read.animated p:nth-child(2) i{
	animation: readClipFade .8s .3s var(--once);
}
#read.animated p:nth-child(3) i{
	animation: readClipFade .8s .6s var(--once);
}
		@keyframes readClipFade {
			0% {
				transform: translateY(1.7em);
			}
			100% {
				transform: translateY(0);
			}
		}
#read.animated .bg{
	animation: readBgSize 1.5s .6s var(--once);
}
		@keyframes readBgSize {
			0% {
				width: 300%;
				height: 300%;
			}
			100% {
				width: 100%;
				height: 100%;
			}
		}


/* slide */
.swiperOuter{
	width: 100%;
	position: relative;
}
.swiper-slide{
	display: grid !important;
	place-content: center;
	color: #FFF;
	max-width: 400px;
	aspect-ratio: 35 / 61;
	border-radius: 18px;
	overflow: hidden;
	transition:all 0.3s ease;
}
.swiper-slide svg{
	fill: currentColor;
}
.swiper-slide .bg{
	grid-column: 1;
	grid-row: 1;
	justify-self: center;
	align-self: center;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 18px;
	object-fit: cover;
	z-index: 0;
}
.swiper-slide-prev,
.swiper-slide-next{
	transform: scale(0.75) translateZ(0) !important;
	transition:all 0.3s ease;
}
.swiper-slide-prev{
	transform-origin: center right;
}
.swiper-slide-next{
	transform-origin: center left;
}
.swiper-slide .modalKey{
	grid-column: 1;
	grid-row: 1;
	place-content: center;
	place-items: center;
	display: grid;
	width: 100%;
	height: 100%;
	text-align: center;
	z-index: 2;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}
.swiper-slide p{
	grid-column: 1;
	grid-row: 1;
	display: grid;
	width: 100%;
	height: 100%;
}
.swiper-slide p svg{
	justify-self: center;
	align-self: end;
	margin-bottom: 84px;
	border-bottom: #FFF solid 2px;
	position: relative;
	z-index: 2;
}
.swiper-pagination{
	margin-bottom: 23px;
}
.custom-prev-button,
.custom-next-button{
	display: grid;
	place-content: center;
	width: 56px;
	height: 523px;
	color: #FFF;
	position: absolute;
	top: calc(50% - 262px);
	z-index: 5;
	cursor: pointer;
}
.custom-prev-button{
	border-radius: 0 13px 13px 0;
	left: 0;
}
.custom-next-button{
	border-radius: 13px 0 0 13px;
	right: 0;
}
.custom-prev-button svg,
.custom-next-button svg{
	width: 18px;
	height: 28px;
	fill: currentColor;
	transition:all 0.3s ease;
}
.custom-next-button svg{
	transform: rotate(180deg);
}
.swiper-pagination-bullet-active{
	background: rgba(225,255,255,0) !important;
	border: rgba(255,255,255,1) solid 2px;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active){
	background: #FFF !important;
	opacity: 1 !important;
	border: rgba(225,255,255,0) solid 2px;
	transition:all 0.3s ease;
}
@media (min-width: 481px){ /* for PC */
	.swiper-slide .modalKey::before{
		content: "";
		display: block;
		width: 0%;
		height: 0%;
		border-radius: 50%;
		background: rgba(0,0,0,0.25);
		position: absolute;
		top: 50%;
		left: 50%;
		transition:all 0.3s ease-out;
	}
	.swiper-slide .modalKey:hover::before{
		width: 900px;
		height: 900px;
		top: calc(50% - 450px);
		left: calc(50% - 450px);
		transition:all 0.3s ease-out;
	}
	.swiper-slide .modalKey img{
		position: relative;
		z-index: 1;
	}
	.custom-prev-button:hover{
		background: rgba(255,255,255,0.3);
		transition: all 0.3s ease;
	}
	.custom-prev-button:hover svg{
		margin-right: 8px;
		transition:all 0.3s ease;
	}
	.custom-next-button:hover{
		background: rgba(255,255,255,0.3);
		transition: all 0.3s ease;
	}
	.custom-next-button:hover svg{
		margin-left: 8px;
		transition:all 0.3s ease;
	}
	.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover{
		scale: 1.4;
		transition:all 0.3s ease;
	}
}
@media (max-width: 480px){ /* for SP */
	.swiper-slide{
		max-width: 72vw;
	}
	.swiper-slide .bg{
		height: inherit;
	}
	.swiper-slide .modalKey img{
		max-width: 15vw;
	}
	.swiper-slide p svg{
		margin-bottom: 15vw;
	}
	.swiper-pagination{
		margin-bottom: 4vw;
	}
	.custom-prev-button{
		width: 11vw;
		height: 92vw;
		border-radius: 0 12px 12px 0;
		top: 18vw;
		left: 0;
	}
	.custom-next-button{
		width: 11vw;
		height: 92vw;
		border-radius: 12px 0 0 12px;
		top: 18vw;
		right: 0;
	}
	.custom-prev-button svg,
	.custom-next-button svg{
		width: 3vw;
		height: 4vw;
	}
	.swiper-pagination-bullet-active,
	.swiper-pagination-bullet{
		width: 1.3vw !important;
		height: 1.2vw !important;
	}
}

/* #highlights */
#highlights{
	background: #b1ced5;
	padding-top: 1px;
	padding-bottom: 250px;
	position: relative;
}
#highlights::before{
	content: "";
	display: block;
	width: 100%;
	height: 173px;
	background: #b1ced5;
	clip-path: polygon(0 0, 100% 100%, 0% 100%);
	position: absolute;
	top: -172px;
	left: 0;
}
#highlights h2{
	display: block;
	padding-left: 68px;
	padding-right: 68px;
	margin-bottom: 72px;
	color: #000;
}
#highlights h2 svg{
	max-width: 294px;
	aspect-ratio: 67/24;
	fill: currentColor;
}
#swiper_t0 .s1 p svg{
	max-width: 70px;
	max-height: 38px;
}
#swiper_t0 .s2 p svg{
	max-width: 182px;
	max-height: 38px;
}
#swiper_t0 .s3 p svg{
	max-width: 126px;
	max-height: 38px;
}
#swiper_t0 .s4 p svg{
	max-width: 93px;
	max-height: 38px;
}
#swiper_t0 .s5 p svg{
	max-width: 112px;
	max-height: 38px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#highlights{
		padding-bottom: 43vw;
	}
	#highlights::before{
		height: 30vw;
		top: -29.8vw;
	}
	#highlights h2{
		padding-left: 12vw;
		padding-right: 12vw;
		padding-top: 2px;
		margin-bottom: 12vw;
	}
	#highlights h2 svg{
		max-width: 52vw;
	}
	#swiper_t0 .s1 p svg{
		max-width: 13vw;
		max-height: 6vw;
	}
	#swiper_t0 .s2 p svg{
		max-width: 34vw;
		max-height: 6vw;
	}
	#swiper_t0 .s3 p svg{
		max-width: 23vw;
		max-height: 6vw;
	}
	#swiper_t0 .s4 p svg{
		max-width: 17vw;
		max-height: 6vw;
	}
	#swiper_t0 .s5 p svg{
		max-width: 21vw;
		max-height: 6vw;
	}
}
/* --animation  */
#highlights h2{
	transform: translateY(-15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#highlights h2.animated{
	animation: clipFadeInRow .8s 0s var(--once);
}
#swiper_t0{
	opacity: 0;
	transform: translateY(10px);
}
#swiper_t0.animated{
	animation: commonFadeIn .5s 0s var(--once);
}


/* #elements */
#elements{
	display: block;
	padding: 140px 0 237px 0;
	background: #ddb0bf;
	position: relative;
}
#elements::before{
	content: "";
	display: block;
	width: 100%;
	height: 115px;
	background: #ddb0bf;
	clip-path: polygon(0 98%, 100% 0, 100% 100%, 0% 100%);
	position: absolute;
	top: -114px;
	left: 0;
}
#elements::after{
	content: "";
	display: block;
	width: 100%;
	height: 108px;
	background: #decc91;
	clip-path: polygon(0 98%, 100% 0, 100% 100%, 0% 100%);
	position: absolute;
	left: 0;
	bottom: -1px;
}
#elements h2{
	display: block;
	padding-left: 68px;
	padding-right: 68px;
	margin-bottom: 83px;
	color: #000;
}
#elements h2 svg{
	max-width: 268px;
	aspect-ratio: 366/131;
	fill: currentColor;
}
#swiper_t1 .s1 p svg{
	max-width: 58px;
	max-height: 36px;
}
#swiper_t1 .s2 p svg{
	max-width: 90px;
	max-height: 36px;
}
#swiper_t1 .s3 p svg{
	max-width: 168px;
	max-height: 36px;
}
#swiper_t1 .s4 p svg{
	max-width: 110px;
	max-height: 36px;
}
#swiper_t1 .s5 p svg{
	max-width: 45px;
	max-height: 36px;
}
#swiper_t1 .s6 p svg{
	max-width: 88px;
	max-height: 36px;
}
@media (min-width: 481px){ /* for PC */
}
@media (max-width: 480px){ /* for SP */
	#elements{
		padding: 26vw 0 42vw 0;
	}
	#elements::before{
		height: 20vw;
		top: -19.9vw;
	}
	#elements::after{
		height: 19vw;
	}
	#elements h2{
		padding-left: 12vw;
		padding-right: 12vw;
		margin-bottom: 14vw;
	}
	#elements h2 svg{
		max-width: 48vw;
	}
	#swiper_t1 .s1 p svg{
		max-width: 11vw;
		max-height: 7vw;
	}
	#swiper_t1 .s2 p svg{
		max-width: 17vw;
		max-height: 7vw;
	}
	#swiper_t1 .s3 p svg{
		max-width: 32vw;
		max-height: 7vw;
	}
	#swiper_t1 .s4 p svg{
		max-width: 21vw;
		max-height: 7vw;
	}
	#swiper_t1 .s5 p svg{
		max-width: 10vw;
		max-height: 7vw;
	}
	#swiper_t1 .s6 p svg{
		max-width: 18vw;
		max-height: 7vw;
	}
}
/* --animation */
#elements h2{
	transform: translateY(-15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#elements h2.animated{
	animation: clipFadeInRow .8s 0s var(--once);
}
#swiper_t1{
	opacity: 0;
	transform: translateY(10px);
}
#swiper_t1.animated{
	animation: commonFadeIn .5s 0s var(--once);
}

/* gallery */
#gallery{
	display: block;
	padding: 146px 0 229px 0;
	background: #decc91;
	overflow-x: hidden;
	position: relative;
}
#gallery h2{
	display: block;
	padding-left: 68px;
	padding-right: 68px;
	margin-bottom: 78px;
	color: #000;
}
#gallery h2 svg{
	max-width: 208px;
	aspect-ratio: 239/124;
	fill: currentColor;
}
.gallerySlide{
	display: flex;
	flex-flow: row nowrap;
	width: 100%;
	margin-bottom: 20px;
}
.gallerySlide ul{
	display: flex;
	gap: 20px;
	margin-left: 20px;
}
.gallerySlide li{
	display: block;
	transition: all 0.3s ease;
}
.gallerySlide img{
	display: block;
	width: 100%;
	aspect-ratio: none;
	object-fit: cover;
	cursor: pointer;
}
.gallerySlide ul{
	animation: loopSlide 120s .5s var(--loop) both;
}
.gallerySlide.slide1 img,
.gallerySlide.slide3 img{
	height: 180px;
}
.gallerySlide.slide2 img{
	height: 238px;
}

@media (min-width: 481px){ /* for PC */
	.gallerySlide li:hover{
		transform: scale(1.05);
		transition: all 0.3s ease;
	}
	.gallerySlide .w110{
		width: 110px;
	}
	.gallerySlide .w130{
		width: 130px;
	}
	.gallerySlide .w150{
		width: 150px;
	}
	.gallerySlide .w245{
		width: 245px;
	}
	.gallerySlide .w250{
		width: 250px;
	}
	.gallerySlide .w260{
		width: 260px;
	}
	.gallerySlide .w300{
		width: 300px;
	}
	.gallerySlide .w275{
		width: 275px;
	}
}
@media (max-width: 480px){ /* for SP */
	#gallery{
		padding: 25vw 0 40vw 0;
	}
	#gallery h2{
		padding-left: 11vw;
		padding-right: 11vw;
		margin-bottom: 13vw;
	}
	#gallery h2 svg{
		max-width: 38vw;
	}
	
	.gallerySlide{
		margin-bottom: 4vw;
	}
	.gallerySlide ul{
		gap: 4vw;
		margin-left: 4vw;
	}
	.gallerySlide .w110{
		width: 22vw;
	}
	.gallerySlide .w130{
		width: 26vw;
	}
	.gallerySlide .w150{
		width: 30vw;
	}
	.gallerySlide .w245{
		width: 49vw;
	}
	.gallerySlide .w250{
		width: 50vw;
	}
	.gallerySlide .w260{
		width: 52vw;
	}
	.gallerySlide .w300{
		width: 60vw;
	}
	.gallerySlide .w275{
		width: 55vw;
	}
	.gallerySlide.slide3 ul{
		animation: loopSlide 110s 0s var(--loop) both;
	}
	.gallerySlide.slide1 img,
	.gallerySlide.slide3 img{
		height: 32vw;
	}
	.gallerySlide.slide2 img{
		height: 44vw;
	}
	
}
#gallery h2{
	transform: translateY(-15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#gallery h2.animated{
	animation: clipFadeInRow .8s 0s var(--once);
}
.gallerySlide{
	opacity: 0;
	transform: translateY(10px);
}
.gallerySlide.animated{
	animation: commonFadeIn .8s 0s var(--once);
}
.gallerySlide ul{
	animation: loopSlide 120s .5s var(--loop) both;
}

		@keyframes loopSlide {
			0%{
				transform: translateX(0);
			}
			100%{
				transform: translateX(-100%);
			}
		}


/* plants */
#plants{
	display: block;
	padding: 140px 68px 190px 68px;
	background: #b2caaa;
	position: relative;
}
#plants::before{
	content: "";
	display: block;
	width: 100%;
	height: 108px;
	background: #b2caaa;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	position: absolute;
	top: -108px;
	left: 0;
}
#plants h2{
	display: block;
	margin-bottom: 84px;
	color: #000;
}
#plants h2 svg{
	max-width: 178px;
	aspect-ratio: 239/124;
	fill: currentColor;
}
#plants li{
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
}
#plants li:not(:last-child){
	margin-bottom: 72px;
}
#plants li a{
	display: grid;
	grid-template-columns: 24px 1fr 1fr 24px;
	grid-template-rows: 18px 1fr 1fr 28px;
	width: 100%;
	height: 100%;
	border-radius: 15px;
	overflow: hidden;
	background: #a4bf9b;
	position: relative;
}
#plants li .bg{
	grid-column: 1 / 5;
	grid-row: 1 / 5;
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	transition: all 0.3s ease;
}
.plants_title{
	grid-column: 2 / 4;
	grid-row: 2;
	justify-self: center;
	align-self: start;
	max-height: 44px;
	position: relative;
	z-index: 1;
}
.plants_name{
	grid-row: 3;
	align-self: end;
	display: block;
	writing-mode: vertical-rl;
	color: #FFF;
	font-family: var(--font-biz);
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.plants_name strong{
	display: block;
	line-height: 1em;
	font-weight: inherit;
	font-family: inherit;
	font-size: 4.0625rem;
	text-align: right;
}
.plants_name small{
	display: block;
	font-weight: inherit;
	font-family: inherit;
	line-height: 1em;
	font-size: 2.6875rem;
	text-align: right;
}
.plants_arrow{
	grid-row: 3;
	align-self: end;
	display: grid;
	place-content: center;
	place-items: center;
	width: 62px;
	background: #FFF;
	border-radius: 50%;
	aspect-ratio: 1/1;
	border: #606060 solid 1px;
	position: relative;
	z-index: 1;
}
.plants_arrow svg{
	display: block;
	width: 14px;
	margin-left: 5px;
	fill: #555;
	aspect-ratio: 13/25;
}
#plants li:nth-child(2n-1) .plants_name{
	grid-column: 3;
	justify-self: end;
}
#plants li:nth-child(2n-1) .plants_name small{
	line-height: 1.5em;
}
#plants li:nth-child(2n-1) .plants_arrow{
	grid-column: 2;
	justify-self: start;
}
#plants li:nth-child(2n) .plants_name{
	grid-column: 2;
	justify-self: start;
}
#plants li:nth-child(2n) .plants_name strong{
	line-height: 1.4em;
}
#plants li:nth-child(2n) .plants_arrow{
	grid-column: 3;
	justify-self: end;
}

@media (min-width: 481px){ /* for PC */
	#plants li a:hover .bg{
		transform: scale(1.05);
		transition: all 0.3s ease;
	}
}
@media (max-width: 480px){ /* for SP */
	#plants{
		padding: 24vw 12vw 33vw 12vw;
	}
	#plants::before{
		height: 22vw;
		top: -22vw;
	}
	#plants h2{
		margin-bottom: 14vw;
	}
	#plants h2 svg{
		max-width: 32vw;
	}
	#plants li:not(:last-child){
		margin-bottom: 13vw;
	}
	#plants li a{
		grid-template-columns: 4vw 1fr 1fr 4vw;
		grid-template-rows: 4vw 1fr 1fr 4vw;
		border-radius: 10px;
	}
	.plants_title{
		max-height: 8vw;
	}
	.plants_name strong{
		font-size: 3.125rem;
	}
	.plants_name small{
		font-size: 2rem;
	}
	.plants_arrow{
		width: 11vw;
	}
	.plants_arrow svg{
		width: 2.5vw;
		margin-left: 1vw;
	}
	#plants li:nth-child(2n-1) .plants_name small{
		line-height: 1.4em;
	}
	#plants li:nth-child(2n) .plants_name strong{
		line-height: 1.4em;
	}

}

/* --animated */
#plants h2{
	transform: translateY(-15px);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
#plants h2.animated{
	animation: clipFadeInRow .8s 0s var(--once);
}
#plants li .bg{
	scale: 1.1;
	transition:all 1s ease;
}
#plants li.animated .bg{
	scale: 1;
}
.plants_title{
	opacity: 0;
	transform: translateY(10px);
}
#plants li.animated .plants_title{
	animation: commonFadeIn .8s 0.3s var(--once);
}
.plants_name strong{
	opacity: 0;
	letter-spacing: 0.6em;
	transform: translateY(2em);
	white-space: nowrap;
}
#plants li.animated .plants_name strong{
	animation: plantsName .8s 0.7s var(--once);
}
		@keyframes plantsName {
			0% {
				opacity: 0;
				letter-spacing: 0.6em;
				transform: translateY(2em);
			}
			100% {
				opacity: 1;
				letter-spacing: 0;
				transform: translateY(0);
			}
		}
.plants_name small{
	opacity: 0;
	letter-spacing: 0.6em;
	transform: translateY(3em);
	white-space: nowrap;
}
#plants li.animated .plants_name small{
	animation: plantsName2 .8s 1s var(--once);
}
		@keyframes plantsName2 {
			0% {
				opacity: 0;
				letter-spacing: 0.6em;
				transform: translateY(3em);
			}
			70% {
				opacity: 1;
			}
			100% {
				opacity: 1;
				letter-spacing: 0;
				transform: translateY(0);
			}
		}


/* loading */
#loading img{
	width: 80px;
	opacity: 0;
	z-index: 1000;
	position: relative;
}
#loading img{
	animation: loadingFadeIn .7s 0s forwards ease;
}
		@keyframes loadingFadeIn {
			0% {
				opacity: 0;
			}
			100% {
				opacity: 1;
			}
		}

@media (max-width: 480px){ /* for SP */
	#loading img{
		width: 20vw;
	}
}

/* bannerParts */
#pcBannerParts{
	width: 20vw;
	max-width: 400px;
	position: fixed;
	z-index: 3;
}
#pcBannerParts a{
	display: block;
	aspect-ratio: 55 / 16;
	position: relative;
}
#pcBannerParts a:hover::before,
#pcBannerParts a:focus::before{
	opacity: 1;
	transition: opacity 0.3s ease;
}
#pcBannerParts a::before{
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 55 / 16;
	background: rgba(0,0,0,0.3);
	opacity: 0;
	z-index: 4;
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 481px){ /* for PC */
	
	#spBannerParts{
		display: none;
	}
	
}
@media (min-width: 1140px){ /* for Wide */
	
	#pcBannerParts{
		width: 20vw;
		max-width: 400px;
		position: fixed;
		top: 60px;
		left: calc(50% + 320px);
		z-index: 3;
	}
	
}
@media (min-width: 481px) and  (max-width: 1139px){ /* for tab */
	
	#pcBannerParts{
		width: 100%;
		max-width: 400px;
		position: fixed;
		left: calc(50% - 200px);
		bottom: 40px;
		z-index: 3;
	}
	footer{
		padding-bottom: 190px;
	}
	#backTop{
		bottom: 242px;
	}
	
}
@media (max-width: 480px){ /* for SP */
	
	#pcBannerParts{
		display: none;
	}
	#spBannerParts{
		display: block;
		width: 70vw;
		position: fixed;
		left: 15vw;
		bottom: 4vw;
		z-index: 5;
		opacity: 0;
		transform: translateY(10px);
	}
	#spBannerParts.animated{
		animation: commonFadeIn .5s 0s var(--once);
	}
	#spBannerParts a{
		display: block;
		text-align: center;
	}
	
}
