@charset "utf-8";
/* CSS Document */
.fv,.main-wrap{
	font-family: "Noto Serif JP", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.fv{
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.fv::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #070c05;
	opacity: 1;
	z-index: 1;
	animation-name: fvafter;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
	animation-delay: 1.8s;
}
@keyframes fvafter {
	0% {
		opacity:1;
	}
	100% {
		opacity:0.8;
	}
}

.fv h1{
	position: absolute;
	z-index: 2;
	mix-blend-mode: color-dodge;
	color: #5BAE07;
	white-space: nowrap;
	font-size: clamp(22px,6.0vw,90px);
	transform: translate(-50%,-50%) rotate(25deg);
	top: 50%;
	left: 50%;
	font-weight: 900;
	opacity:0;
	-ms-filter: blur(6px);
	filter: blur(6px);
	animation-name: blurin;
	animation-duration: 1.3s;
	animation-delay: 0.5s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.fv h1 span{
	color: #EB1C24;
}
.fv .link_wrap2{
	position: relative;
	z-index: 3;
	width: 80%;
}
.fv .link_wrap2 > div{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: flex-start;
    align-items: center;
	flex-direction: row;
	opacity: 0;
	transform: translateY(50px);
	-ms-filter: blur(6px);
	filter: blur(6px);
	animation-name: blurin2;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.fv .link_wrap2 > div:nth-of-type(1){
	animation-delay: 2.6s;
}
.fv .link_wrap2 > div:nth-of-type(2){
	animation-delay: 3.0s;
}
.fv .link_wrap2 > div:nth-of-type(3){
	animation-delay: 3.4s;
}
.fv .link_wrap2 > div:nth-of-type(4){
	animation-delay: 3.8s;
}
.fv .link_wrap2 > div:not(:last-of-type){
	margin-bottom: 80px;
}
.fv .link_wrap2 > div:nth-of-type(even){
    justify-content: flex-end;
}
.fv .link_wrap2 a{
	position: relative;
}
.fv .link_wrap2 a:hover{
	opacity: 1;
}
.fv .link_wrap2 a p{
	position: relative;
	z-index: 3;
	font-size: clamp(20px,3.4vw,40px);
	font-weight: 900;
	transition: ease 0.3s;
	mix-blend-mode: color-dodge;
}
.fv .link_wrap2 a:hover p{
	color: #EB1C24;
	opacity: 0.8;
}
.fv .link_wrap2 a i{
	position: absolute;
	font-size: clamp(18px,3.0vw,32px);
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	transition: ease 0.3s;
	mix-blend-mode: color-dodge;
}
.fv .link_wrap2 a:hover i{
	transform: translateX(-50%) translateY(3px);
	color: #EB1C24;
}
.fv .link_wrap2 a img{
	position: absolute;
	width: 30vw;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(0.9);
	z-index: 1;
	opacity: 0;
	transition: ease 0.3;
	mix-blend-mode: overlay;
}
.fv .link_wrap2 a:hover img{
	transform: translate(-50%,-50%) scale(1.0);
	opacity: 0.1;
}
body:not(.gjs-dashed) .fv .bg_item{
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0.5;
}
body:not(.gjs-dashed) .fv .bg_item > div{
	position: absolute;
	width: calc(100% + 30px);
	height: calc(100% + 30px);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-ms-filter: blur(8px);
	filter: blur(8px);
}

body.gjs-dashed .fv{height: auto;}
body.gjs-dashed .fv::before,body.gjs-dashed .fv::after{display: none;}
body.gjs-dashed .fv h1{
	position: relative;
	mix-blend-mode: normal;
	transform: translate(0) rotate(0);
	top: 0;
	left: 0;
	opacity: 1;
	-ms-filter: blur(0px);
	filter: blur(0px);
}


.top_title{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #070C05;
	opacity: 0;
	pointer-events: none;
	z-index: 95;
}
.top_title.title2{
	z-index: 96;
}
.top_title.title3{
	z-index: 97;
}
.top_title.title4{
	z-index: 98;
}
.top_title.on{
	position: fixed;
	opacity: 0;
	height: 0;
	pointer-events: none;
	-ms-filter: blur(10px);
	filter: blur(10px);
}
.top_title.active{
	position: fixed;
	height: 100vh;
	z-index: 99;
	animation-name: top_title;
	animation-duration: 3.0s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.top_title h2{
	font-size: clamp(22px,3.0vw,48px);
	font-weight: 900;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
@keyframes top_title {
	0% {
		position: fixed;
		opacity:0;
		-ms-filter: blur(10px);
		filter: blur(10px);
		z-index: 99;
	}
	20% {
		position: fixed;
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
		z-index: 99;
	}
	50% {
		position: fixed;
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
		z-index: 99;
	}
	80% {
		position: fixed;
		opacity:0;
		-ms-filter: blur(10px);
		filter: blur(10px);
		z-index: 99;
	}
	81%{
		display: none;
		pointer-events: none;
		position: relative;
		z-index: -99;
	}
	100%{
		display: none;
		pointer-events: none;
		position: relative;
		z-index: -99;
	}
}
body.gjs-dashed .top_title{
	position: static;
	opacity: 1;
	pointer-events: auto;
}
.section .contents{animation-delay: 1.8s;}

.section02 .box{
	position: relative;
}
.section02 .box::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #070c05;
	opacity: 0.8;
	z-index: 1;
}
.section02 .box::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	z-index: 1;
}
body.gjs-dashed .section02 .box::after{display: none;}

.section02 .box .txtbox{
	position: relative;
	z-index: 3;
}
.section02 .box:nth-of-type(odd){
	justify-content: flex-end;
}
.section02 .box:nth-of-type(even){
	justify-content: flex-start;
}
.section02 .box:nth-of-type(odd)::after{
	background: #070C05;
	background: linear-gradient(90deg, rgba(7, 12, 5, 0) 0%, rgba(7, 12, 5, 1) 95%);
}
.section02 .box:nth-of-type(even)::after{
	background: #070C05;
	background: linear-gradient(270deg, rgba(7, 12, 5, 0) 0%, rgba(7, 12, 5, 1) 95%);
}

.section03 .boxwrap .box{
	justify-content: flex-start;
	align-items: stretch;
}
.section03 .boxwrap .box h3,.section03 .boxwrap .box > div{
	justify-content: flex-start;
	align-items: flex-start;
	padding: 30px 10px;
}
.section03 .boxwrap .box h3,.section03 .boxwrap .box > div p{
	font-weight: 400;
	line-height: 1.6;
}
.section03 .boxwrap .box h3{
	width: 30%;
	border-bottom: 1px solid #9F9F9F;
}
.section03 .boxwrap .box > div{
	width: 70%;
	border-bottom: 1px solid #D8D8D8;
}

/* ---------- 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){
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.section01{
		padding-left: 10px;
		padding-right: 10px;
	}
	.section03 .contents p{
		font-size: 12px;
	}
	.section03 .boxwrap .box h3,.section03 .boxwrap .box > div{
		padding: 15px 5px 12px ;
	}
	.section03 .boxwrap .box h3{
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		padding-bottom: 3px;
		margin-bottom: 5px;
	}
	.section03 .boxwrap .box > div{
		padding-top: 0;
		width: 100%;
		border-bottom: 1px solid #979797;
	}
}

/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

