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

.fv{
	position: relative;
	width: 100%;
}
body.on .fv{
  width: 100%;
	height: 100vh;
	overflow: hidden;
}
body.on .fv::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 8;
	background: #C7C7C7;
	background: linear-gradient(225deg, rgba(199, 199, 199, 0) 1%, rgba(151, 151, 151, 0.3) 50%, rgba(100, 100, 100, 0.4) 100%);
}
@keyframes fvtxt {
	0% {
		opacity: 0;
		transform: translateX(50px);
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	100% {
		opacity:1;
		transform: translateX(0px);
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}

.fv .swiper{
	z-index: 1;
	position: relative;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
body.on .fv .swiper-slide{
	width: 100%!important;
	height:100vh;
}
body.on .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 10s linear 0s normal both;
}
body.on .fv .swiper-slide img {
	display: block!important;
	opacity: 0;
	height: auto;
	width: 100%;
}

.fv .txtbox{
	position: absolute;
	left: 5%;
	bottom: 10%;
	z-index: 9;
	color: #fff;
}
.fv .txtbox h1{
	font-size: clamp(30px, 6vw, 60px);
	font-weight: 700;
	margin-bottom: 20px;
}
.fv .txtbox p{
	font-size: clamp(18px, 3.4vw, 34px);
	font-weight: 700;
}


.section01{
	background-image: url("https://e-hs.co.jp/system_panel/uploads/images/grid_bg1.png");
	background-position: center center;
	background-size: cover;
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
}
.section01 .boxwrap .box:not(:last-of-type){
	margin-bottom: 80px;
}
.section01 .boxwrap .box:nth-of-type(even){
	flex-direction: row-reverse;
}
.section01 .boxwrap .box .imgbox{
	position: relative;
	width: 50%;
}
.section01 .boxwrap .box .imgbox img{
	position: relative;
	width: 120%;
}
.section01 .boxwrap .box:nth-of-type(odd) .imgbox{
	justify-content: flex-start;
}
.section01 .boxwrap .box:nth-of-type(even) .imgbox{
	justify-content: flex-end;
}
.section01 .boxwrap .box:nth-of-type(odd) .imgbox img{
	left: 0;
	border-radius: 0 20px 20px 0;
}
.section01 .boxwrap .box:nth-of-type(even) .imgbox img{
	right: 0;
	border-radius: 20px 0 0 20px;
}
.section01 .boxwrap .box .txtbox{
	position: relative;
	width: 50%;
	z-index: 2;
	background-color: #fff;
	padding: 5%;
	box-shadow: 0 3px 30px rgba(0,0,0,0.2);
}
.section01 .boxwrap .box:nth-of-type(odd) .txtbox{
	border-radius: 20px 0 0 20px;
}
.section01 .boxwrap .box:nth-of-type(even) .txtbox{
	border-radius: 0 20px 20px 0;
}
.section01 .boxwrap .box .txtbox .check_txt{
	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:nowrap;
    -moz-flex-wrap:nowrap;
    -ms-flex-wrap:nowrap;
    flex-wrap:nowrap;
    justify-content: flex-start;;
    align-items: center;
	flex-direction: row;
	gap: 10px;
}
.section01 .boxwrap .box .txtbox .dot_txt{
	line-height: 2;
}
.section01 .boxwrap .box .txtbox .dot_txt span{
	position: relative;
}
.section01 .boxwrap .box .txtbox .dot_txt span::after{
	content: "";
	position: absolute;
	width: 8px;
	aspect-ratio: 1 / 1;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 50%;
	background-color: #5BAE07;
}

.section02{background-color: #EEF2EB;}
.section02 .titlebox1 .icon img{
	width: 32px;
}
.section02 .boxwrap{
	gap: 80px 50px;
	justify-content: flex-start;
	align-items: stretch;
}
.section02 .boxwrap .box{
	position: relative;
	width: calc(100% / 2 - 50px / 2);
}
.section02 .boxwrap .box .boxinwrap{
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 3px 10px rgba(0,0,0,0.2);
	background-color: #fff;
	padding-bottom: 20px;
}
.section02 .boxwrap .box .imgbox{
	position: relative;
}
.section02 .boxwrap .box .imgbox::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.6;
	background-color: #D0D0D0;
	mix-blend-mode: multiply;
}
.section02 .boxwrap .box .imgbox .num{
	position: absolute;
	left: 30px;
	top: 30px;
	z-index: 2;
	color: #fff;
	font-size: 22px;
}
.section02 .boxwrap .box .imgbox .num::after{
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	transform: rotate(45deg) translate(10px,0px);
	width: 1px;
	height: 60px;
	background-color: #fff;
}
.section02 .boxwrap .box .txtbox{
	padding: 5%;
	align-content: flex-start;
}
.section02 .boxwrap .box .txtbox .icon{
	width: 100px;
}
.section02 .boxwrap .box .txtbox .txtitem{
	width: calc(100% - 100px);
	padding-left: 30px;
}
.section02 .boxwrap .box .txtbox .txtitem h3{
	margin-bottom: 15px;
	font-weight: 700;
	font-size: clamp(20px, 2.4vw, 24px);
}
.section02 .boxwrap .box .more1{
	transform: translateY(50%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.section03{
	position: relative;
}
.section03::after{
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #FFFFFF;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 1%, rgba(255, 255, 255, 0.75) 100%);
	position: absolute;
	z-index: 1;
}
.section03 .contents{
	position: relative;
	z-index: 2;
}
.section03 .contents .titlebox1 h2 span{
  font-family: "Outfit", serif;
	font-size: clamp(30px, 5vw, 50px);
	color: #5BAE07;
}
.section03 .contents .boxwrap{
	gap: 40px;
}
.section03 .contents .boxwrap .box{
	width: calc(100% / 3 - 80px / 3);
	padding: 3%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #5BAE07;
	color: #fff;
	box-shadow: 0 3px 20px rgba(0,0,0,0.1);
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 15px;
}
.section03 .contents .boxwrap .box:nth-of-type(2){animation-delay: 0.2s;}
.section03 .contents .boxwrap .box:nth-of-type(3){animation-delay: 0.4s;}
.section03 .contents .boxwrap .box .num{
	font-weight: 700;
	border-bottom: 3px solid #fff;
	font-size: 22px;
	letter-spacing: 2px;
}
.section03 .contents .boxwrap .box h3{
	font-weight: 700;
	font-size: clamp(20px, 2.0vw, 24px);
}

.section04,.section05,.section07,.section08{
	padding-top: 100px;
	padding-bottom: 100px;
}
.section04,.section07{border-bottom: 1px solid #BFBFBF}
.section04 .newswrap,.section05 .newswrap{width: 100%;}
.section06{
	position: relative;
	background-color: #EEF2EB;
}
.section06 .contents{
	flex-direction: row-reverse;
}
.section06 .contents > div{
	width: 50%;
}
.section06 .contents .imgbox{
	border-radius: 20px;
	overflow: hidden;
}
.section06 .contents .txtbox{
	padding-right: 5%;
}
.section06 .bt_wrap{
	width: 90%;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,50%);
	gap: 60px;
}
.section06 .bt_wrap a{
	width: calc(100% / 3 - 120px / 3);
	background-color: #5BAE07;
	border: 6px solid #4F9B01;
	border-radius: 20px;
	justify-content: space-between;
	padding: 3%;
}
.section06 .bt_wrap a p{
	font-size: clamp(20px, 2.4vw, 24px);
	font-weight: 700;
	color: #fff;
}
.section06 .bt_wrap a .icon{
	width: 28px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	transition: ease 0.3s;
}
.section06 .bt_wrap a:hover .icon{
	transform: translateX(3px);
}
.section06 .bt_wrap a .icon i{
	font-size: clamp(14px, 2vw, 20px);
	color: #5BAE07;
}
.section_wrap2 .newswrap{
	width: 100%;
	gap: 40px;
	justify-content: space-between;
}
.section_wrap2 .leftbox{
	display: block;
	max-width: 260px;
	flex: none;
}
.section_wrap2 .webgene-blog{
	width: 100%;
	max-width: calc(100% - 300px);
	display: block;
	flex: none;
}
.section_wrap2 .webgene-blog .webgene-item{
	width: 100%;
}
.section_wrap2 .webgene-blog .webgene-item:not(:last-of-type){
	margin-bottom: 20px;
}
.section_wrap2 .webgene-blog .webgene-item a{
	display: block;
	box-shadow: none;
}
.section_wrap2 .webgene-blog .webgene-item a > div{
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 15px;
}
.section_wrap2 .webgene-blog .webgene-item a .date{
	width: 90px;
}
.section_wrap2 .webgene-blog .webgene-item a .cate{
	width: 140px;
	border: 1px solid #5BAE07;
	border-radius: 200px;
	padding: 3px 5px;
	color: #5BAE07;
	justify-content: center;
	display: flex;
}
.section_wrap2 .webgene-blog .webgene-item a h3{
	max-width: calc(100% - 230px);
}
.section08{padding-bottom: 0!important;}
body:not(.on) .section03::after,body:not(.on) .section02 .boxwrap .box .imgbox::after{display: none;}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.section03 .contents .boxwrap{
		gap: 30px;
	}
	.section03 .contents .boxwrap .box{
		width: calc(100% / 3 - 60px / 3);
		gap: 10px;
		padding: 3% 5%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.section01 .boxwrap .box .imgbox,.section01 .boxwrap .box .txtbox{
		width: 70%;
	}
	.section01 .boxwrap .box .imgbox{
		margin-bottom: -15%;
	}
	.section01 .boxwrap .box .imgbox img{
		position: relative;
		width: 100%;
	}
	.section01 .boxwrap .box:nth-of-type(odd) .imgbox,.section01 .boxwrap .box:nth-of-type(even) .txtbox{
		margin-right: 30%;
	}
	.section01 .boxwrap .box:nth-of-type(even) .imgbox,.section01 .boxwrap .box:nth-of-type(odd) .txtbox{
		margin-left: 30%;
	}
	.section01 .boxwrap .box .txtbox{
		padding: 5%;
		box-shadow: 0 3px 30px rgba(0,0,0,0.2);
	}
	
	.section02 .boxwrap{
		gap: 80px 40px;
	}
	.section02 .boxwrap .box{
		width: calc(100% / 2 - 40px / 2);
	}
	.section02 .boxwrap .box .imgbox .num{
		top: 15px;
		left: 15px;
	}
	.section02 .boxwrap .box .txtbox .icon{
		width: 80px;
	}
	.section02 .boxwrap .box .txtbox .txtitem{
		width: calc(100% - 80px);
		padding-left: 20px;
	}
	.section03 .contents .boxwrap{
		gap: 60px;
	}
	.section03 .contents .boxwrap .box{
		width: calc(50% - 60px / 2);
		gap: 10px;
		padding: 3% 5%;
	}
	.section03 .contents .boxwrap .box:nth-of-type(2){animation-delay: 0.2s;}
	.section03 .contents .boxwrap .box:nth-of-type(3){animation-delay: 0s;}
	.section06 .bt_wrap{
		width: 90%;
		gap: 40px;
	}
	.section06 .bt_wrap a{
		width: calc(100% / 3 - 80px / 3);
		border: 6px solid #4F9B01;
		padding: 3%;
	}
	.section_wrap2 .webgene-blog{
		width: 100%;
		max-width: 100%;
	}
	.section_wrap2 .newswrap{
		gap: 0;
	}
	.section_wrap2 .newswrap .titlebox{
		align-items: center;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.section02 .boxwrap{
		gap: 80px 30px;
	}
	.section02 .boxwrap .box{
		width: calc(100% / 2 - 30px / 2);
	}
	.section02 .boxwrap .box .txtbox .icon{
		width: 80px;
		margin-bottom: 15px;
	}
	.section02 .boxwrap .box .txtbox .txtitem{
		width: 100%;
		padding-left: 0px;
	}
	.section02 .boxwrap .box .txtbox .txtitem h3{
		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;
	}
	.section03 .contents .boxwrap{
		gap: 40px;
	}
	.section03 .contents .boxwrap .box{
		width: calc(50% - 40px / 2);
		gap: 10px;
		padding: 3% 5%;
	}
	.section06 .bt_wrap{
		width: 90%;
		gap: 30px;
	}
	.section06 .bt_wrap a{
		width: calc(100% / 3 - 60px / 3);
		border: 6px solid #4F9B01;
		padding: 3%;
	}
.section06 .contents > div{
	width: 70%;
}
.section06 .contents .imgbox{
	border-radius: 20px;
	margin-bottom: 30px;
}
.section06 .contents .txtbox{
	padding-right: 0;
}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	body.on .fv{
		height: calc(60vh + 40vw);
		align-content: flex-start;
		z-index: 2;
	}
	body.on .fv .swiper-slide,body.on .fv .swiper-slide .swiper-img{
		height: calc(60vh + 40vw);
	}
	.section01 .boxwrap .box:not(:last-of-type){
		margin-bottom: 50px;
	}
	.section01 .boxwrap .box .imgbox,.section01 .boxwrap .box .txtbox{
		width: 90%;
	}
	.section01 .boxwrap .box .imgbox{
		margin-bottom: -15%;
	}
	.section01 .boxwrap .box .imgbox img{
		position: relative;
		width: 100%;
	}
	.section01 .boxwrap .box:nth-of-type(odd) .imgbox,.section01 .boxwrap .box:nth-of-type(even) .txtbox{
		margin-right: 10%;
	}
	.section01 .boxwrap .box:nth-of-type(even) .imgbox,.section01 .boxwrap .box:nth-of-type(odd) .txtbox{
		margin-left: 10%;
	}
	.section01 .boxwrap .box .txtbox{
		padding: 20px;
		box-shadow: 0 3px 30px rgba(0,0,0,0.2);
	}
	.section01 .boxwrap .box .txtbox .dot_txt span::after{
		width: 5px;
	}
	.section02 .boxwrap{
		gap: 80px 0px;
	}
	.section02 .boxwrap .box{
		width: 100%;
	}
	.section03 .contents .boxwrap{
		gap: 40px;
	}
	.section03 .contents .boxwrap .box{
		width: 100%;
		gap: 10px;
		padding: 3% 5%;
	}
	.section03 .contents .boxwrap .box:nth-of-type(2){animation-delay: 0s;}
	.section03 .contents .boxwrap .box:nth-of-type(3){animation-delay: 0s;}
	.section06 .bt_wrap{
		position: static;
		transform: translate(0,0);
		width: 100%;
		gap: 20px;
		padding: 50px 20px 0;
	}
	.section06 .bt_wrap a{
		width: 100%;
		border: 3px solid #4F9B01;
		padding: 15px;
	}
.section06 .contents > div{
	width: 100%;
}
.section06 .contents .imgbox{
	border-radius: 20px;
	overflow: hidden;
}
.section06 .contents .txtbox{
	padding-right: 0;
}
.section04,.section05,.section07,.section08{
	padding-top: 80px;
	padding-bottom: 80px;
}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

