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

.head_nav a:nth-of-type(1)::after{
	display: block;
}
body:not(.gjs-dashed) .main-wrap{
	position: relative;
	z-index: 9;
	background-color: #1F1F1F;
}
.footer_contact{display: none;}

.fv .logo p{
	font-family: "Montserrat", "Noto Sans JP", "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: clamp(30px,5.0vw,75px);
	font-weight: 500;
	font-style: italic;
	color: #fff;
	white-space: nowrap;
}
body:not(.gjs-dashed) .fv .logo{
	z-index: 99;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
body:not(.gjs-dashed) .fv .logo p{
	letter-spacing: -80%;
	opacity: 0;
	animation-delay: 1.0s;
	animation-name: fvlogo;
	animation-duration: 2.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
@keyframes fvlogo {
	0% {
		letter-spacing: -80%;
		opacity: 0;
	}
	100% {
		letter-spacing: 0.05rem;
		opacity: 1;
	}
}

body:not(.gjs-dashed) .fv{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
body:not(.gjs-dashed) .fv::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	opacity: 0.2;
	z-index: 3;
}
body.gjs-dashed .fv{
	height: auto;
}
.fv .swiper{
	z-index: 1;
	position: relative;
}

@keyframes zoomUp {
	0% {
		-ms-filter: blur(6px);
		filter: blur(6px);
		transform: scale(1);
	}
	30%{
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
	70% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1.1);
	}
}
body:not(.gjs-dashed) .fv .swiper-slide{
	width: 100%!important;
	height:100vh;
}
body:not(.gjs-dashed) .fv .swiper-slide .swiper-img{
	width: 100%!important;
	height:100vh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.fv .swiper-slide-active .swiper-img,
.fv .swiper-slide-duplicate-active .swiper-img,
.fv .swiper-slide-prev .swiper-img {
  animation: zoomUp 11s linear 0s normal both;
}
body:not(.gjs-dashed) .fv .swiper-slide img {
	display: block!important;
	opacity: 0;
	height: auto;
	width: 100%;
}


.top_intro{
	position: relative;
	z-index: 99;
	margin-top: 100vh;
	min-height: 100vh;
	padding: 50vh 20px;
	background: #000000;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 60%, rgba(0, 0, 0, 1) 100%);
}
.top_intro .contents{
	max-width: 550px;
}

.section01{
	padding-right: 0;
}
.section01 .titlebox,.section04 .titlebox{
	width: 30%;
}
.section01 .contents,.section04 .contents{
	width: 70%;
	overflow: hidden;
}
.section01 .swiper-slide{
	opacity: 1;
}


.section03 .staffbox{
	padding: 3%;
	border-radius: 4px;
	background-color: #1F1F1F;
}

.section04,.contact_area{
	background-color: #292929;
}
.section04 .contents .webgene-blog .webgene-item a{
	padding: 25px 0;
	border-bottom: 1px solid #5C5C5C;
}
.section04 .contents .webgene-blog .webgene-item:first-of-type a{
	padding-top: 0;
}
.section04 .contents .webgene-blog .webgene-item a:hover{
	opacity: 0.6;
}


.section05{
	overflow: hidden;
}
.section05 .en_title2{font-weight: 500;}
.section05 .swiper-container{
	position: relative;
}
.section05 .swiper-container .swiper-wrapper{
	transition-timing-function: linear !important;
}
.section05 .swiper-container .swiper-wrapper .swiper-slide{
	opacity: 1;
}
body.gjs-dashed .section05 .swiper-container .swiper-wrapper .swiper-slide{width: 25%;display: inline-block;}

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

.section05 .width-1280-max a{
	gap: 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid #fff;
}
.section05 .width-1280-max a img{
	width: 12px;
	transition: ease 0.3s;
}
.section05 .width-1280-max a:hover img{
	transform: translate(2px,-2px);
}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.section01{
		padding-right: 50px;
	}
	.section01 .titlebox,.section04 .titlebox{
		width: 100%;
	}
	.section01 .contents,.section04 .contents{
		width: 100%;
		overflow: hidden;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.top_intro{
		padding: 50vh 20px 30vh;
	}
	.section01{
		padding-right: 20px;
	}
	.section03 .staffbox{
		padding: 20px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

