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

.fv{
	position: relative;
	height: 100vh;
	background-color: #ccc;
}
.fv video{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.section01{
	padding-left: 20px;
	padding-right: 20px;
	gap: 20px;
}
.section01 .box{
	position: relative;
	width: calc(100% / 3 - 40px / 3);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	animation-duration: 2.0s!important;
}
.section01 .box:nth-of-type(2){
	animation-delay: 0.4s;
}
.section01 .box:nth-of-type(3){
	animation-delay: 0.8s;
}

.section01 .box::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background-color: #767676;
	opacity: 0.3;
	transition: ease 0.4s;
}
.section01 .box .bgbox{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: ease 1.3s;
}
.section01 .box p{
	position: relative;
	z-index: 3;
	width: 50%;
	max-width: 160px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
	transition: ease 0.4s;
}
.section01 .box:hover{
	opacity: 1;
}
.section01 .box:hover::after{
	opacity: 0;
}
.section01 .box:hover .bgbox{
	transform: scale(1.1);
}
.section01 .box:hover p{
	width: 60%;
	max-width: 180px;
}

.section02 .txtbox{
	padding: 0 15%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}
.section02 .txtbox > div{width: 50%;}
.section02 .txtbox .rightbox{
	padding-left: 3%;
}
.section02 .img_wrap{
	gap: 5%;
	align-items: flex-start;
}
.section02 .img_wrap .imgbox1,.section02 .img_wrap .imgbox3{
	width: 15%;
}
.section02 .img_wrap .imgbox1{
	transform: translateY(-25%);
}
.section02 .img_wrap .imgbox1 img:nth-of-type(1){
	width: 80%;
	margin-left: 20%;
	margin-bottom: 50%;
}
.section02 .img_wrap .imgbox2{
	width: 60%;
	align-items: flex-start;
}
.section02 .img_wrap .imgbox2 img{
	width: 50%;
}
.section02 .img_wrap .imgbox2 img:last-of-type{
	margin-top: 10%;
}
.section02 .img_wrap .imgbox3{
	transform: translateY(-50%);
}
.section02 .img_wrap .imgbox3 img:nth-of-type(1){
	width: 70%;
	margin-left: 30%;
	margin-bottom: 50%;
}

.section03 .boxwrap .box{
	margin-top: 150px;
	justify-content: space-between;
}
.section03 .boxwrap .box:nth-of-type(odd){
	flex-direction: row-reverse;
}

.section03 .boxwrap .box .txtbox{
	width: 45%;
	justify-content: flex-start;
}
.section03 .boxwrap .box:nth-of-type(even) .txtbox{
	flex-direction: row-reverse;
}
.section03 .boxwrap .box .txtbox > img{
	width: 30%;
}
.section03 .boxwrap .box .txtbox .txtitem{
	max-width: 65%;
}
.section03 .boxwrap .box:nth-of-type(odd) .txtbox .txtitem{
	padding-left: 8%;
}
.section03 .boxwrap .box:nth-of-type(even) .txtbox .txtitem{
	padding-right: 8%;
}
.section03 .boxwrap .box .txtbox .txtitem .txtimg{
	width: auto;
	height: clamp(50px, 7vw, 70px);
	transform: translateX(-30px);
	margin-bottom: 20px;
}
.section03 .boxwrap .box .imgbox{
	width: 50%;
	position: relative;
	padding: 0 20px 10%;
}
.section03 .boxwrap .box .imgbox .img1{
	position: relative;
	z-index: 2;
	width: 75%;
}
.section03 .boxwrap .box:nth-of-type(odd) .imgbox .img1{
	margin-left: 25%;
}
.section03 .boxwrap .box:nth-of-type(even) .imgbox .img1{
	margin-right: 25%;
}
.section03 .boxwrap .box .imgbox .img1 .txtimg{
	position: absolute;
	bottom: 5%;
	left: 5%;
	width: auto;
	height: 7vw;
}
.section03 .boxwrap .box .imgbox .img2{
	position: absolute;
	z-index: 1;
	width: 35%;
	bottom: 0;
}
.section03 .boxwrap .box:nth-of-type(odd) .imgbox .img2{
	left: 0;
}
.section03 .boxwrap .box:nth-of-type(even) .imgbox .img2{
	right: 0;
}

.section03 .boxwrap .box .imgbox.sc-anime.on .img2{
	opacity:0;
	transform: translateY(50px);
	-ms-filter: blur(6px);
	filter: blur(6px);
}
.section03 .boxwrap .box .imgbox.sc-anime.on.active .img2{
	animation-name: blurin3;
	animation-duration: 1.8s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.section03 .boxwrap .box .txtbox{}
@keyframes blurin3 {
	0% {
		opacity: 0;
		transform: translateY(50px);
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	50% {
		transform: translateY(0px);
		opacity: 0.8;
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
	100% {
		transform: translateY(0px);
		opacity: 0.8;
		-ms-filter: blur(15px);
		filter: blur(15px);
	}
}

.section03 .box.bg_grade1{
	position: relative;
	padding-top: 300px;
	padding-bottom: 300px;
	color: #fff;
}
.section03 .box.bg_grade1::before,.section03 .box.bg_grade1::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 200px;
	z-index: 1;
}
.section03 .box.bg_grade1::before{
	top: 0;
	left: 0;
	background: #FFFFFF;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);	
}
.section03 .box.bg_grade1::after{
	bottom: 0;
	left: 0;
	background: #FFFFFF;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);	
}
.section04{
	width: 100%;
}


/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1440px ~ ---------- */
@media screen and (max-width: 1440px){
	.section01{
		padding-left: 20px;
		padding-right: 20px;
		gap: 10px;
	}
	.section01 .box{
		width: calc(100% / 3 - 20px / 3);
		aspect-ratio: 1 / 1;
	}
	.section02 .txtbox .leftbox{
		width: 40%;
	}
	.section02 .txtbox .rightbox{
		width: 60%;
	}
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.section02 .txtbox .leftbox{
		width: 30%;
	}
	.section02 .txtbox .rightbox{
		width: 70%;
	}
	.section02 .img_wrap{
		gap: 3%;
	}
	.section02 .img_wrap .imgbox1, .section02 .img_wrap .imgbox3{
		width: 17%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.section02 .txtbox{
		padding-left: 5%;
	}
	.section03 .boxwrap .box{
		margin-top: 120px;
	}
	
	.section03 .boxwrap .box .imgbox{
		width: 70%;
		margin-bottom: 30px;
	}
	.section03 .boxwrap .box:nth-of-type(odd) .imgbox{
		margin-left: 30%;
	}
	.section03 .boxwrap .box:nth-of-type(even) .imgbox{
		margin-right: 30%;
	}
	.section03 .boxwrap .box .imgbox .img1 .txtimg{
		height: 10vw;
	}
	.section03 .boxwrap .box .txtbox{
		width: 100%;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.section03 .boxwrap .box{
		margin-top: 100px;
	}
	.section03 .boxwrap .box .imgbox{
		width: 80%;
		margin-bottom: 30px;
	}
	.section03 .boxwrap .box:nth-of-type(odd) .imgbox{
		margin-left: 20%;
	}
	.section03 .boxwrap .box:nth-of-type(even) .imgbox{
		margin-right: 20%;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.section01{
		padding-left: 10px;
		padding-right: 10px;
		gap: 10px;
	}
	.section01 .box{
		position: relative;
		width: 100%;
		aspect-ratio: 1.5 / 1;
		overflow: hidden;
		animation-duration: 2.0s!important;
	}
	.section01 .box:nth-of-type(2){
		animation-delay: 0s;
	}
	.section01 .box:nth-of-type(3){
		animation-delay: 0s;
	}
	.section02 .txtbox{
		padding: 0 20px;
	}
	.section02 .txtbox .leftbox{
		width: 100%;
		margin-bottom: 50px;
	}
	.section02 .txtbox .rightbox{
		width: 100%;
		padding-left: 0;
	}
	
	.section02 .img_wrap{
		gap: 0;
		align-items: flex-start;
	}
	.section02 .img_wrap .imgbox1,.section02 .img_wrap .imgbox3{
		width: 50%;
		order: 2;
	}
	.section02 .img_wrap .imgbox1{
		transform: translateY(0);
		order: 1;
	}
	.section02 .img_wrap .imgbox1 img:nth-of-type(1){
		width: 70%;
		margin-left: 10%;
		margin-bottom: 30%;
	}
	.section02 .img_wrap .imgbox1 img:nth-of-type(2){
		width: 85%;
	}
	.section02 .img_wrap .imgbox2{
		width: 100%;
		align-items: flex-start;
		margin-bottom: 30px;
	}
	.section02 .img_wrap .imgbox2 img{
		width: 50%;
	}
	.section02 .img_wrap .imgbox2 img:last-of-type{
		margin-top: 10%;
	}
	.section02 .img_wrap .imgbox3{
		transform: translateY(0);
		margin-top: 10%;
	}
	.section02 .img_wrap .imgbox3 img:nth-of-type(1){
		width: 70%;
		margin-left: 20%;
		margin-bottom: 30%;
	}
	.section02 .img_wrap .imgbox3 img:nth-of-type(2){
		width: 100%;
		margin-left: 0%;
	}
	
	.section03 .boxwrap .box{
		margin-top: 80px;
	}
	.section03 .boxwrap .box .imgbox{
		width: 100%;
		padding-bottom: 15%;
		margin-bottom: 30px;
	}
	.section03 .boxwrap .box:nth-of-type(odd) .imgbox{
		margin-left: 0;
	}
	.section03 .boxwrap .box:nth-of-type(even) .imgbox{
		margin-right: 0;
	}
	.section03 .boxwrap .box .imgbox .img1 .txtimg{
		height: 13vw;
	}
	.section03 .boxwrap .box .imgbox .img2{
		width: 45%;
	}
	.section03 .boxwrap .box:nth-of-type(odd) .imgbox .img2{
		left: 10%;
	}
	.section03 .boxwrap .box:nth-of-type(even) .imgbox .img2{
		right: 10%;
	}
	.section03 .boxwrap .box .txtbox .txtitem{
		min-width: 80%;
		max-width: 90%;
	}
	.section03 .boxwrap .box:nth-of-type(odd) .txtbox .txtitem{
		padding-left: 0;
		margin-left: auto;
		margin-right: 0;
	}
	.section03 .boxwrap .box:nth-of-type(even) .txtbox .txtitem{
		padding-right: 0;
	}
	.section03 .boxwrap .box .txtbox .txtitem .txtimg{
		width: 40%;
		margin-bottom: 10px;
		transform: translateX(-20px);
	}
	.section03 .boxwrap .box .txtbox > img{
		width: 40%;
		margin-bottom: 15px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

