@charset "utf-8";
/* CSS Document */
section{
	overflow-x: hidden;
}
#fv-img{
	width: 100%;
	height: calc(100vh - 90px);
/*	min-height: 700px;*/
	position: relative;
	overflow: hidden;
/*
	background-image: url("../img/mainimg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
*/
}
#fv-img h2{
	position: absolute;
	z-index: 3;
	left: 100px;
	top: 5vh;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
#fv-img .sc-icon{
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}
#fv-img .swiper-container{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#fv-img .swiper-container-fade .swiper-slide{
	position: relative;
	background-position: center center;
}
#fv-img .swiper-container-fade .swiper-slide img{
	opacity: 0;
}
#fv-img .swiper-container-fade .swiper-slide::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	transition: ease 15s;
	transform: scale(1);
}
#fv-img .swiper-container-fade .swiper-slide.swiper-slide-active::after,#fv-img .swiper-container-fade .swiper-slide.swiper-slide-prev{
	transform: scale(1.1) translateX(2%);
}
#fv-img .swiper-container-fade .swiper-slide.img1::after{
	background-image: url("../img/mainimg1.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img2::after{
	background-image: url("../img/mainimg2.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img3::after{
	background-image: url("../img/mainimg3.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img4::after{
	background-image: url("../img/mainimg4.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img5::after{
	background-image: url("../img/mainimg5.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img6::after{
	background-image: url("../img/mainimg6.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img7::after{
	background-image: url("../img/mainimg7.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img8::after{
	background-image: url("../img/mainimg8.jpg");
}
#fv-img .swiper-container-fade .swiper-slide.img9::after{
	background-image: url("../img/mainimg9.jpg");
}
#intro{
	background-image: url("../img/introbg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 50px 0 140px;
	position: relative;
}
#intro .sc-icon{
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}
#intro h2{
/*	width: 140px;*/
	height: 60vh;
	margin-left: 10vw;
	position: relative;
	z-index: 2;
}
#intro h2 img{
	height: 100%;
	width: auto;
}
#intro .box{
	min-width: 50%;
	position: relative;
	z-index: 1;
}
#intro .box .title-box{
}
#intro .box .item{
	position: relative;
	min-height: 300px;
}
#intro .box .item > p{
	position: absolute;
	right: 5%;
	bottom: -10px;
	z-index: 4;
	transform: translateY(100%);
}
#intro .box .item > div{
	width: 50%;
	position: relative;
	z-index: 3;
	box-sizing:border-box;
}
#intro .box .item::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 2;
	top: 0;
	left: -30%;
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(142,23,40,1) 20%, rgba(142,23,40,1) 50%, rgba(142,23,40,1) 80%, rgba(255,255,255,0) 100%);
	opacity: 0.5;
}
#intro .box .item::after{
	content: "";
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background-image: url("../img/owner2.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	z-index: 1;
}

#activity,#chart,#form-box,#index-links{
	padding: 10vh 50px 20px;
	position: relative;
}
#activity::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -2;
	top: 0;
	left: 0;
	background-image: url("../img/activitybg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#activity::after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	background-color: #C8C8C8;
	opacity: 0.7;
}
#activity .title-box > p{
	order: 1;
}
#activity .title-box::after{
	content: "";
	display: block;
	order: 2;
	width: 33.3333%;
}
#activity .title-box h2{
	order: 3;
	width: 33.3333%;
}
#activity .title-box .more{
	width: 33.3333%;
	order: 4;
}
#activity .more a.flex{
	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: center;
    align-items: center;
	flex-direction: row;
}
#activity{
	overflow: hidden;
}
#activity .slide{
	display: flex;
	align-items: stretch;
}
#activity .slide .swiper-pagination{
	transform: translateY(40px);
}
#activity .slide .swiper-pagination-bullet-active{
	background: #fff;
}
#activity .slide .swiper-container{
	position: relative;
	width: 100%;
}
#activity .slide .swiper-container .swiper-button-prev{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}
#activity .slide .swiper-container .swiper-button-next{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
#activity .slide .swiper-wrapper{
	align-items: stretch;
}
#activity .slide .swiper-slide{
	opacity: 1;
	padding: 10px;
	box-sizing: border-box;
}
#activity .slide .swiper-slide a{
	display: block;
	position: relative;
	height: 100%;
	color: #000;
	background-color: #ffffff;
	transition: ease 0.3s;
	pointer-events: none;
}
#activity .slide .swiper-slide a:hover{
	opacity: 0.5;
}
#activity .slide .swiper-slide a > div{
	padding: 10px;
}
#activity .slide .swiper-slide a h3{
	font-size: 20px;
}
#activity .slide .swiper-slide a p{
	text-align: center;
	font-size: 16px;
}
#activity .slide .swiper-slide figure{
	width: 100%;
	height: auto;
	aspect-ratio: 8 / 5;
}
#chart{
	position: relative;
}
#chart::after{
	content: "";
	position: absolute;
	z-index: 1;
	width: 50%;
	height: 100%;
	right: 50%;
	top: 0;
	max-width: 640px;
	background-color: #8E1728;
	mix-blend-mode: multiply;
}
#chart > p,#chart > div,#chart > figure{
	position: relative;
	z-index: 2;
}
#chart .width-1280-max .chart-box{
	background-color: rgba(255,255,255,0.86);
}
#chart .width-1280-max .chart-box .more{
	width: 50%;
	margin-left: 50%;
}
#chart .width-1280-max .chart-box .more a{
	min-width: 100%;
}
#chart .width-1280-max .chart-box .more a span{
	font-size: 1.3vw
}
#chart .width-1280-max .chart-box .more a img{
	position: relative;
	z-index: 2;
	width: 30px;
	margin-right: 20px;
}
#chart .width-1280-max .chart-box .more a::after{
	background-color: #000000;
	mix-blend-mode: normal;
}
#chart .width-1280-max .chart-box figure{
	padding: 10%;
}

#form-box{
	background-image: url("../img/formbox_bg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#form-box .box-wrap{
	gap: 30px;
}
#form-box .box-wrap .box{
	width: calc(100% / 3 - 20px);
	position: relative;
}
#form-box .box-wrap .box:nth-of-type(1){
	animation-delay: 0.2s;
}
#form-box .box-wrap .box:nth-of-type(2){
	animation-delay: 0.4s;
}
#form-box .box-wrap .box:nth-of-type(3){
	animation-delay: 0.6s;
}

#form-box .box-wrap .box::after{
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #8E1728;
	mix-blend-mode: multiply;
	transition: ease 0.3s;
}
#form-box .box-wrap .box:hover::after{
	opacity: 0.5;
}
#form-box .box-wrap .box:last-of-type::after{
	background-color: #3C3C3C;
	mix-blend-mode: normal;
}
#form-box .box-wrap .box a{
	display: block;
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	padding: 80px 10px 50px;
	transition: ease 0.3s;
}
#form-box .box-wrap .box a:hover{
	opacity: 0.5;
}
#form-box .box-wrap .box a .icon{
	width: 30%;
	max-width: 100px;
	margin: 0 auto 40px;
}
#form-box .box-wrap .box a .arrow{
	width: 50%;
	max-width: 400px;
	margin: 40px 0 auto;
	transition: ease 0.3s;
}
#form-box .box-wrap .box a:hover .arrow{
	transform: translateY(5px);
}

#index-links{
	background-image: url("../img/25374358_s.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
#index-links::after{
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #8E1728;
	mix-blend-mode: multiply;
}
#index-links > div,#index-links > h2,#index-links > figure{
	position: relative;
	z-index: 2;
}
#index-links .box-wrap{
	gap: 15px;
	justify-content: flex-start;
}
#index-links .box-wrap .box{
	width: calc(100% / 3 - 10px);
	background-color: #fff;
	box-sizing: border-box;
	padding: 25px 10px;
}
#index-links .box-wrap .box h3,#index-links .box-wrap .box p{
	display: inline-block;
	text-align: left;
	font-weight: 700;
}
#index-links .box-wrap .box h3{
	font-size: 24px;
	font-weight: 900;
}
#index-links .box-wrap .box p{
	font-size: 20px;
	font-weight: 700;
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
	#fv-img{
		z-index: 1;
	}
	#fv-img .swiper-container-fade .swiper-slide img{
		opacity: 1;
	}
	#fv-img .swiper-container-fade .swiper-slide::after{
		display: none;
	}
	#fv-img .swiper-container{
		overflow: hidden;
	}
	#intro{
		z-index: 2;
	}
	#activity .slide .swiper-slide figure{
		height: 300px;
	}
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	#fv-img{
		width: 100%;
		height: calc(100vh - 70px);
	}
	#intro{
		padding: 30px 0 100px
	}
	#intro h2{
	/*	width: 120px;*/
		height: 65vh;
	}
	#intro .box{
		width: 60%;
	}
	#intro .box .item{
		min-height: 260px;
	}
	#intro .sc-icon{
		bottom: 10px;
	}
	
	#activity .slide .swiper-container .swiper-button-prev,#activity .slide .swiper-container .swiper-button-next{
		top: 40%;
	}
	#activity .slide .swiper-container .swiper-button-prev{
		left: 0px;
	}
	#activity .slide .swiper-container .swiper-button-next{
		right: 0px;
	}
	#activity .slide .swiper-slide a h3{
		font-size: 18px;
	}
	#activity .slide .swiper-slide a p{
		font-size: 14px;
	}
	
	#chart .width-1280-max .chart-box .more a img{
		width: 24px;
	}
	#index-links .box-wrap .box h3{
		margin-bottom: 10px;
		font-size: 22px;
	}
	#index-links .box-wrap .box p{
		font-size: 18px;
	}
}
/* ---------- 1000px ~ ---------- */
@media screen and (max-width: 1000px){
	#intro .box{
		width: 70%;
	}
	#intro h2{
/*		width: 120px;*/
		height: 60vh;
	}
	#activity .title-box::after{
		display: none;
	}
	#activity .title-box > p{
		margin-bottom: 20px;
	}
	#activity .title-box .more,#activity .title-box h2{
		width: auto;
	}
	
	#chart .width-1280-max .chart-box .more a img{
		width: 20px;
		margin-right: 10px;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	#intro{
		background-image: none;
		padding-top: 0;
		background-color: #8E1728
	}
	#intro h2{
		width: 80%;
		height: auto;
		max-width: 460px;
		margin: 0 auto 30px;
		padding-top: 20px;
	}
	#intro h2 img{
		width: 100%;
		height: auto;
	}
	#intro .box{
		width: 85%;
		margin-left: 15%;
	}
	#intro .box .title-box{
		background-color: #ffffff;
		box-sizing: border-box;
		padding: 30px;
	}
	#intro .box .item::before{
		display: none;
	}
	#activity,#chart,#form-box,#index-links{
		padding: 10vh 40px 20px;
		position: relative;
	}
	#activity .slide .swiper-slide a h3{
		font-size: 16px;
	}
	#activity .slide .swiper-slide a p{
		font-size: 13px;
	}
	
	#form-box .box-wrap .box{
		width: calc(100% / 2 - 15px);
	}
	#form-box .box-wrap .box a{
		padding: 40px 10px;
	}
	
	#index-links .box-wrap{
		gap: 20px;
	}
	#index-links .box-wrap .box{
		width: calc(100% / 2 - 10px);
	}
	#index-links .box-wrap .box h3{
		margin-bottom: 10px;
		font-size: 20px;
	}
	#index-links .box-wrap .box p{
		font-size: 16px;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	#fv-img{
		height: calc(100vh - 70px);
		min-height: 597px;
		background-color: #8E1728;
	}
	#fv-img h2{
		position: absolute;
		left: 30px;
		top: 300px;
		color: #ffffff;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
	#fv-img .swiper-container-fade .swiper-slide::after{
		display: none;
	}
	#fv-img .swiper-container-fade .swiper-slide img{
		opacity: 1;
		width: 100%!important;
		height: auto!important;
	}
	
	#intro .box{
		width: 100%;
		padding: 0 30px;
		margin: 0;
		box-sizing: border-box;
	}
	#intro .box .item{
		padding-bottom: 50px;
	}
	#intro .box .item::before{
		width: 150%;
		left: 50%;
		transform: translateX(-50%);
	}
	#intro .box .item::after{
		display: none;
	}
	#intro .box .item > div{
		width: 100%;
		padding-top: 30px;
		margin-bottom: 30px;
	}
	#intro .box .item figure{
		z-index: 4;
	}
	#intro .box .item > p{
		bottom: 0;
		transform: translateY(-10px);
	}
	#activity,#chart,#form-box,#index-links{
		padding: 10vh 20px 20px;
		position: relative;
	}
	#activity .slide .swiper-slide a h3{
		font-size: 14px;
	}
	#activity .slide .swiper-slide a p{
		font-size: 12px;
	}
	
	#chart .width-1280-max .chart-box .more{
		width: auto;
		margin: 0 auto;
	}
	#chart .width-1280-max .chart-box figure{
		padding: 10px;
	}
	
	#form-box .box-wrap{
		gap: 20px;
	}
	#form-box .box-wrap .box{
		width: 100%;
	}
	#form-box .box-wrap .box a{
		padding: 30px 10px;
	}
	#form-box .box-wrap .box a .icon{
		max-width: 70px;
		margin-bottom: 20px;
	}
	#form-box .box-wrap .box a .arrow{
		width: 40%;
		margin-top: 20px;
	}
	
	#index-links .box-wrap{
		gap: 10px;
	}
	#index-links .box-wrap .box{
		width: calc(100% / 2 - 5px);
		padding: 10px;
	}
	#index-links .box-wrap .box h3{
		margin-bottom: 10px;
		font-size: 16px;
	}
	#index-links .box-wrap .box p{
		font-size: 14px;
	}
}