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

.fv{
	flex-direction: row-reverse;
	align-items: stretch;
}
.fv .fv_img{
	width: 70%;
	animation-delay: 1.6s;
}
.fv .fv_menu{
	width: 30%;
	padding: 5% 0;
	flex-direction: column;
	justify-content: space-around;
	gap: 25px;
	animation-delay: 0.6s;
}
.fv .fv_menu a p{
	font-family: "Josefin Sans", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: clamp(18px,2.4vw,24px);
	font-weight: 300;
}

.fv .fv_txt{
	font-family: "Josefin Sans", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: clamp(30px,5.0vw,50px); 
	font-weight: 300;
	padding-top: clamp(20px,3%,60px);
	color: #4E4449;
	animation-delay: 2.6s;
}

.section01 .contents{
	width: 80%;
}
.section01 .contents > .flex > p,.section01 .contents > .flex .more{
	width: 50%;
}

.section01 .contents > .flex p{
	color: #4d4d4d;
}
.section01 .contents > .flex .more{justify-content: flex-end;}
.section01 .contents p.sc-anime.on span {
	display: inline-block;
	opacity: 0;
	filter: blur(12px);
	transform: translateY(-10px);
}
.section01 .contents p.sc-anime.on.active span {
	animation: textBlurIn 0.9s ease forwards;
	animation-delay: calc(var(--i) * 0.25s);
}
@keyframes textBlurIn {
	0% {
		opacity: 0;
		filter: blur(12px);
		transform: translateY(-10px);
	}

	100% {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0);
	}
}

.section02 .contents .webgene-blog{
	gap: 60px 80px;
}
.section02 .contents .webgene-blog .webgene-item{
	width: calc(100% / 3 - 160px / 3);
}

.section03{
	position: relative;
	justify-content: space-between;
	align-items: center;
}
.section03 .titlebox{
	position: absolute;
	align-items: flex-start;
	width: 90%;
	z-index: 1;
	max-width: 1280px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.section03 .contents{
	width: 70%;
	overflow: hidden;
	margin: 0;
	margin-right: 0;
	margin-left: auto;
	position: relative;
	z-index: 2;
}
.section03 .swiper-container .swiper-wrapper{
	transition-timing-function: linear !important;
}

.section03 .contents .swiper-wrapper .swiper-slide{
	opacity: 1!important;
	overflow: hidden;
	position: relative;
}
.section03 .contents .swiper-wrapper .swiper-slide a{
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.section03 .contents .swiper-wrapper .swiper-slide a > div{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%,-50%);
	transition: ease 0.6s;
}
.section03 .contents .swiper-wrapper .swiper-slide a:hover > div{
	transform: translate(-50%,-50%) scale(1.1);
}

.section04 .imgbox{
	gap: 80px;
}
.section04 .imgbox img{
	width: calc(100% / 2 - 80px / 2);
}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.section02 .contents .webgene-blog{
		gap: 50px 60px;
	}
	.section02 .contents .webgene-blog .webgene-item{
		width: calc(100% / 3 - 120px / 3);
	}
	.section03 .titlebox{
		position: static;
		width: auto;
		max-width: 30%;
		transform: translate(0);
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.section02 .contents .webgene-blog{
		gap: 40px;
	}
	.section02 .contents .webgene-blog .webgene-item{
		width: calc(100% / 3 - 80px / 3);
	}
	.section04 .imgbox{
		gap: 60px;
	}
	.section04 .imgbox img{
		width: calc(100% / 2 - 60px / 2);
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.section02 .contents .webgene-blog{
		gap: 50px;
	}
	.section02 .contents .webgene-blog .webgene-item{
		width: calc(100% / 2 - 50px / 2);
	}
	.section04 .imgbox{
		gap: 40px;
	}
	.section04 .imgbox img{
		width: calc(100% / 2 - 40px / 2);
	}
	.section03 .more{
		width: 100%;
	}
	.section03 .titlebox{
		width: 100%;
	}
	.section03 .contents{
		width: 100%;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 767px){
	.fv .fv_menu{display: none;}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.fv .fv_img{
		width: 100%;
	}
	.section01 .contents{
		width: 100%;
	}
	.section01 .contents > .flex > p{
		width: auto;
	}
	.section01 .contents > .flex .more{
		width: 100%;
		padding-top: 50px;
		justify-content: center;
	}
	.section02 .contents .webgene-blog{
		gap: 40px;
	}
	.section02 .contents .webgene-blog .webgene-item{
		width: 100%;
	}
	.section04 .imgbox{
		gap: 20px;
	}
	.section04 .imgbox img{
		width: 100%;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

