@charset "utf-8";
.container {
	display: block;
	justify-content: space-between;
	width: 100%;
	height: 100vh;

}
.main-contents {
	overflow-x: scroll;
	overflow-y: hidden;
	position: relative;
	background-image: url("../img/background.webp");
	display: flex;
	-webkit-overflow-scrolling: touch;
	z-index: 1;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	align-items: center;

}
.right-contents, .left-contents {
	display: none;
}
.opening {
	position:fixed;
	width: 100vw;
	height:100vh;
	transform: translateX(0%);
	pointer-events: none;

}
canvas {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	z-index: 10;
	pointer-events: none;
	width: 100%;
	height: 100vh;

}
.page {
	width: 18000px;
	background-image: url("../img/bg.webp");
	background-size: auto 100%;
	background-repeat: repeat;
	position: fixed;
	left: 50%;
	transition: opacity 0.3s ease-in;
	pointer-events: none;
	position: fixed;
	opacity: 0;
	z-index: 2;
}
.page.visible {
	opacity: 1;
	transition: opacity 2.1s ease-out;
}
.contents-wapper{
	width: 100%;
	margin: 0 auto;
	z-index: 100;
	overflow: hidden;
	position: fixed;
	height: 100vh;
	top:0;
	left: 0;
	pointer-events: none
}
.block {
	position: relative;
	height: 100vh;
	transition: opacity 0.5s ease, left 0.2s ease;
	z-index: 10;
}
.opening, .page, .block ,.vh100,.main-contents,.container{
  height: calc(var(--vh, 1vh) * 100);
}
#debug{
	position: fixed;
	z-index: 1000;
	top:20px;
	right: 20px;
	width: 330px;
	display: none
}
.block-kumo{
	overflow: hidden;
	z-index: 14;
	position:absolute;
	display: none;
}
.kumo{
	z-index: 40;
	position:fixed;
	width: 150%;
	height: 100vh
}
.kumo1{
	width: 1470px;
	left: 1000px;

}

.block-kumo p,.kumo p{
	width: 100%;
	position: absolute
}
.block-kumo .cloud1,.kumo .cloud1{
	top:-5%;
	left: 0px;
}
.block-kumo .cloud2,.kumo .cloud2{
	top:100px;
	left: -50px;
}
.block-kumo .cloud3,.kumo .cloud3{
	left:0;
	bottom: 0%;
}
.block-kumo img{
  	width: 100%;
	height: auto
}
@media screen and (min-width: 414px) {
.container {
	display: flex;
	justify-content: space-between;
	position: fixed;
	overflow: hidden
}
.left-contents {
	display: block;
	width: calc( (100% - 414px ) / 2 );
	height: 100vh;
	background-image: url("../img/pc_left.webp");
	background-size: cover;
	background-color: #000;
	z-index: 10
}
.logo {
	max-width: 300px;
	margin: 30px 20px 0 30px;
	display: block;
}
.logo img {
	width: 100%;
	height: auto
}

.right-contents {
	display: block;
	width: calc( (100% - 414px ) / 2 );
	height: 100vh;
	background-image: url("../img/pc_right.webp");
	background-size: cover;
	background-color: #000;
	z-index: 1
}
	.contents-wapper{
		width: 586px;
		margin: 0 auto;
		position: relative;
		transform: translateX(-10px);
	}
}