@charset "UTF-8";
/* CSS Document */

html,
body {
	padding: 0;
	margin: 0;
}
img {
	width: 100%;
}
ul,li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1,h2,h3,p,a {
	margin: 0;
	padding: 0;
}

#cl {
	width: 100%;
	position: relative;
	font-family: "Libre Baskerville","Noto Serif JP", serif;
	background: #e2dfde;
}
.spv {
	display: none;
}
@media only screen and (max-width: 768px)  {
	.spv {
		display: block;
	}
	.pcv {
		display: none;
	}
}

#side_contents {
	position: fixed;
	top: 0;
	left: 0;
	width: 280px;
	height: 100%;
	z-index: 10;
/*	border-right: 1px solid #000;*/

}
#side_contents h1 {
	box-sizing: border-box;
	padding: 20%;
	position: relative;
	line-height: 0;
}
#side_contents h1 img:nth-of-type(1) {
	margin-bottom: 10%;

}
#side_contents .txt {
	font-size: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	padding: 10%;
	line-height: 1.8;
}
@media only screen and (max-width: 768px)  {
	#side_contents {
		position:  sticky;
		top: 0;
		left: auto;
		width: 100%;
		height: auto;
		z-index: 10;
		background: #e2dfde;

	}
	#side_contents h1 {
		width: 90%;
		padding: 5% 0;
		margin: 0 auto;
	}
	#side_contents h1 img:nth-of-type(1) {
		width: 35%;
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translate(0,-50%);

	}	
	#side_contents h1 img:nth-of-type(2) {
		width: 40%;
		margin-left: 60%;
	}	
	#side_contents .txt {
		display: none;
	}
}



#main_contents {
	width: calc(100% - 280px);
	margin-left: 280px;
	/*width: 100%;*/
	position: relative;
}
#main_contents .section {
	width: 100%;
	height: 100svh;
	position: relative;
	/*position: sticky;
	top: 0;*/
	background: #e2dfde;
	
}

#main_contents .section a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20
	
}
#main_contents .section .visual {
	width: 100%;
	height: 100%;
	background:url("../img/main-01_p.jpg") no-repeat center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
}
#main_contents .section:nth-of-type(2) .visual {
	background:url("../img/main-02_p.jpg") no-repeat center;
	background-size: cover;
}
#main_contents .section:nth-of-type(3) .visual {
	background:url("../img/main-03_p.jpg") no-repeat center;
	background-size: cover;
}
#main_contents .section .title {
	position: absolute;
	top: 50%;
	right: 5%;
	width: 30%;
	transform: translate(0,-50%);
	
}
#main_contents .section .title h2 {
	line-height: 0;
}
#main_contents .section .title .no {

	text-align: center;
	margin: 8% auto 0;
	font-size: 12px;
	line-height: 2;
	
}
#main_contents .section .title .arrow {
	width: 30%;
	margin: 5% auto;
	line-height: 0;
	
}
@media only screen and (max-width: 768px)  {
	#main_contents {
		position: sticky;
		margin-left:0px;
		width: 100%;
	}
	#main_contents .section .visual {
		background:url("../img/main-01_s.jpg") no-repeat center;
		background-size: cover;
	}
	#main_contents .section:nth-of-type(2) .visual {
		background:url("../img/main-02_s.jpg") no-repeat center;
		background-size: cover;
	}
	#main_contents .section:nth-of-type(3) .visual {
		background:url("../img/main-03_s.jpg") no-repeat center;
		background-size: cover;
	}
	#main_contents .section .visual::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0,0,0,0.2);
		width: 100%;
		height: 100%;
		z-index: 1
	}
	#main_contents .section .title {
		position: absolute;
		top: 50%;
		right: auto;
		left: 50%;
		width: 80%;
		transform: translate(-50%,-50%);
		filter: invert(1);
		z-index: 10

	}
	#main_contents .section .arrow {
		width: 22%;
		margin: 0 auto;
		position: absolute;
		bottom: 5%;
		right: 5%;
		filter: invert(1)

	}
}
#foot {
	height: 100svh;
	position: relative;
	display: none;
}
#foot .inner {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(0%,-50%);
	width: 100%;
}
#foot .title {
	width: 50%;
	margin: 0 auto;
}
#foot .title img:nth-of-type(1) {
	margin-bottom: 10%;

}
#foot .txt {
	font-size: 11px;
	padding: 10%;
	line-height: 1.8;
}
@media only screen and (max-width: 768px)  {
	#foot {
		display: block;
	}	
}
#side_contents .inner {
	opacity: 0;
	transition: 1.5s all 0s ease;
}
#side_contents.ac .inner {
	opacity: 1;
}
#main_contents .section {
	overflow: hidden;
}
#main_contents .section::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: #cccccc;
	z-index: 10
}
#main_contents .section.ac::before {
	animation: 1.4s slide 0s forwards;
}

#main_contents .section .visual {
	opacity: 0;
	transform: scale(1.1);
	transition: 1s all 0.5s ease
}
#main_contents .section.ac .visual {
	transform: scale(1);
	opacity: 1;
}
#main_contents .section .title,#main_contents .section .arrow {
	opacity: 0;
	transition: 1s all 0.5s ease
}
#main_contents .section.ac .title,#main_contents .section.ac .arrow {
	opacity: 1;
}
@keyframes slide {
	0% {
		left: -100%;
	}
	50% {
		left: 0
	}
	60% {
		left: 0;
	}
	100% {
		left: 100%;
	}
}


