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


.banner_area{
	position: absolute;
	bottom: 8%;
	left: 30px;
	z-index: 99;
	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: column;
	gap: 10px;
	width: 20%;
	max-width: 280px;
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.banner_area{
		bottom: 15%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.banner_area{
		display: none;
	}
}
.swiper-container .swiper-wrapper .swiper-slide{
	opacity: 1;
}
.swiper-pagination-bullet{
	opacity: 1;
}
.swiper-container-horizontal>.swiper-pagination-bullets{
	position: static;
	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;
	padding-top: 50px;
	gap: 30px;
	opacity: 1;
}
.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	background-color: #979797;
	opacity: 0.3;
}
.swiper-pagination-bullet-active{
	opacity: 1;
}

.fv{
	position: relative;
	overflow: hidden;
	padding-top: 50px;
}
.fv .swiper-container{
	width: 80%;
	max-width: 1280px;
	margin: 0 auto;
}
body.gjs-dashed .fv .swiper-container .swiper-wrapper .swiper-slide{background-color: #000;}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide{
	position: relative;
	transition: ease 0.5s;
	opacity: 0.5;
	-ms-filter: blur(6px);
	filter: blur(6px);
}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide-active{
	box-shadow: 0px 0px 30px rgba(0,0,0,0.3);
	opacity: 1!important;
	-ms-filter: blur(0px);
	filter: blur(0px);
}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide a{
	position: relative;
	display: block;
	padding: 5% 0;
	overflow: hidden;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a:hover{opacity: 1;}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide a::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000000;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0) 100%);
	z-index: 2;
}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide a .bgimg{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	transition: ease 0.8s;
}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide a:hover .bgimg{
	transform: translate(-50%,-50%) scale(1.1);
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .txtbox{
	position: relative;
	z-index: 3;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .more{
	transform: scale(0.9);
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .more > div{
	background-color: transparent;
	border: 1px solid #fff;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .more > div::after{
	display: none;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .more > div p,.fv .swiper-container .swiper-wrapper .swiper-slide a .more > div i{
	color: #fff;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .title1 .en{
	font-family: "Oswald", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: clamp(28px,4.0vw,60px);
	font-weight: 600;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .title1{
	padding: 0 20px;
}
.fv .swiper-container .swiper-wrapper .swiper-slide a .txtbox > p{
	padding: 10px 20px;
}
body:not(.gjs-dashed) .fv .swiper-container .swiper-wrapper .swiper-slide a .txtbox > p{
	background: #000000;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.5) 75%, rgba(0, 0, 0, 0) 100%);	
}
.fv .swiper-container .swiper-button-prev,.fv .swiper-container .swiper-button-next{
	position: absolute;
	top: 50%;
	width: 40px;
}
.fv .swiper-container .swiper-button-prev{
	left: -20px;
	transform: translate(-100%,-50%);
}
.fv .swiper-container .swiper-button-next{
	right: -20px;
	transform: translate(100%,-50%);
}

.section01 .contents{
	width: 100%;
}
.section01 .webgene-blog .webgene-item{
	width: 100%;
}
.section01 .webgene-blog .webgene-item:not(:last-of-type){
	margin-bottom: 25px;
}
.section01 .webgene-blog .webgene-item a{
	gap: 10px;
	width: 100%;
}
.section01 .webgene-blog .webgene-item .cms_item{
	gap: 10px 15px;
	width: 200px;
	flex-wrap: nowrap;
}
.section01 .webgene-blog .webgene-item .cms_item p{
	line-height: 1;
}
.section01 .webgene-blog .webgene-item .cms_item p.cate_txt{
	transform: translateY(1px);
	padding: 5px 10px 3px;
	background-color: #4D4D4D;
	color: #fff;
}
.section01 .webgene-blog .webgene-item h3{
	width: calc(100% - 210px);
}

.section02 .boxwrap{
	align-items: stretch;
	gap: 20px;
}
.section02 .boxwrap > a{
	width: calc(100% / 4 - 60px / 4);
	background-color: #21374F;
	position: relative;
	padding: 40px 30px;
	overflow: hidden;
}
.section02 .boxwrap > a:hover{opacity: 1;}
body:not(.gjs-dashed) .section02 .boxwrap a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 1px solid #fff;
	z-index: 3;
}
body:not(.gjs-dashed) .section02 .boxwrap a::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #333333;
	opacity: 0.6;
	z-index: 2;
	transition: ease 0.4s;
}
body:not(.gjs-dashed) .section02 .boxwrap a:hover::after{opacity: 0.2;}
body:not(.gjs-dashed) .section02 .boxwrap a .bg_img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%,-50%);
	transition: ease 0.6s;
	z-index: 1;
}
body:not(.gjs-dashed) .section02 .boxwrap a:hover .bg_img{
	transform: translate(-50%,-50%) scale(1.1);
}
.section02 .boxwrap a .txtbox{
	position: relative;
	z-index: 4;
}
.section02 .boxwrap a .txtbox p{
	color: #fff;
}
.section02 .boxwrap a .txtbox p.en{
	font-family: "Oswald", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: clamp(16px,2.0vw,20px);
	font-weight: 600;
}
.section02 .boxwrap a .txtbox p.jp{
	font-size: clamp(14px,1.4vw,16px);
	font-weight: 700;
}
.section02 .boxwrap a > i{
	
}
.section02 .boxwrap a > i{
	position: absolute;
	font-size: clamp(14px,1.6vw,16px);
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: ease 0.3s;
	z-index: 4;
	color: #fff;
}
.section02 .boxwrap a:hover > i{
	transform: translateY(-50%) translateX(3px);
}

.section03 .contents{
	gap: 80px;
}
.section03 .contents > div{
	width: calc(50% - 80px / 2);
}
.section03 .contents .txtbox{
	align-items: flex-start;
}
.section03 .contents .txtbox .txtitem{
	padding: 20px;
	border-radius: 4px;
}
.section03 .contents .txtbox .txtitem .item{
	justify-content: flex-start;
}
.section03 .contents .txtbox .txtitem .item:not(:last-of-type){
	margin-bottom: 10px;
}
.section03 .contents .txtbox .txtitem .item p{color: #fff;}
.section03 .contents .txtbox .txtitem .item .title{
	width: 90px;
}
.section03 .contents .txtbox .txtitem .item p:last-of-type{
	width: calc(100% - 90px);
}
.section04 > a{
	position: relative;
	width: calc(100% / 3);
	background-color: #21374F;
}
.section04 > a:hover{opacity: 1;}
body:not(.gjs-dashed) .section04 > a{
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
body:not(.gjs-dashed) .section04 > a .bg_img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%,-50%);
	transition: ease 0.6s;
	z-index: 1;
}
body:not(.gjs-dashed) .section04 > a:hover .bg_img{
	transform: translate(-50%,-50%) scale(1.1);
}
body:not(.gjs-dashed) .section04 > a::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	opacity: 0.5;
	mix-blend-mode: multiply;
	z-index: 2;
	transition: ease 0.4s;
}
body:not(.gjs-dashed) .section04 > a:hover::after{
	opacity: 0.2;
}
.section04 > a .txtbox{
	position: relative;
	aspect-ratio: 1 / 1;
	padding: 40px;
	z-index: 4;
	gap: 10px;
}
.section04 > a .txtbox::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	transition: ease 0.6s;
	border: 1px solid #fff;
}
.section04 > a:hover .txtbox::after{
	transform: translate(-50%,-50%) scale(1.1);
}
.section04 > a .txtbox p,.section04 > a .txtbox i{color: #fff;}
.section04 > a .txtbox i{
	font-size: clamp(14px,1.6vw,16px);
	transition: ease 0.4s;
}
.section04 > a:hover .txtbox i{
	transform: translateX(3px);
}

.section05 .boxwrap{
	gap: 50px;
}
.section05 .boxwrap .box{
	width: calc(100% / 2 - 50px / 2);
}

.section06 {
	overflow: hidden;
}
.section06 .contents .webgene-blog .webgene-item{}
.section06 .contents .webgene-blog .webgene-item a{
	padding: 5%;
	background-color: #F0F5F7;
}
.section06 .contents .webgene-blog .webgene-item a .imgbox{
	width: 30%;
	border-radius: 50%;
}
.section06 .contents .webgene-blog .webgene-item a .txtbox{
	width: 70%;
	padding-left: 5%;
	align-items: flex-start;
	gap: 15px;
}
.section06 .story_slide{
	width: 100%;
}
.section06 .story_slide .swiper-container .swiper-wrapper{
	transition-timing-function: linear !important;
}
.section06 .story_slide .swiper-container .swiper-wrapper .swiper-slide{
	opacity: 1;
}
.section06 .story_slide .swiper-container .swiper-wrapper .swiper-slide a{
	display: block;
}
body.gjs-dashed .section06 .story_slide .swiper-container .swiper-wrapper .swiper-slide{
	width: 25%;
}
body.gjs-dashed .section06 .story_slide .swiper-container .swiper-wrapper{
	display: flex;
}



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

.section07 .swiper-container .swiper-wrapper .swiper-slide a{
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
}
.section07 .swiper-container .swiper-wrapper .swiper-slide a:hover{
	opacity: 1;
}
.section07 .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;
}
.section07 .swiper-container .swiper-wrapper .swiper-slide a:hover .bg_img_wrap2{
	transform: translate(-50%,-50%) scale(1.1);
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.section02 .boxwrap{
		align-items: stretch;
		gap: 20px;
	}
	.section02 .boxwrap > a{
		width: calc(100% / 3 - 40px / 3);
		padding: 40px 30px;
	}
	.section03 .contents{
		gap: 60px;
	}
	.section03 .contents > div{
		width: calc(50% - 60px / 2);
	}
	
	.section05 .boxwrap{
		gap: 40px;
	}
	.section05 .boxwrap .box{
		width: calc(100% / 2 - 40px / 2);
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.section03 .contents{
		gap: 40px;
	}
	.section03 .contents > div{
		width: calc(50% - 40px / 2);
	}
	.section05 .boxwrap{
		gap: 20px;
	}
	.section05 .boxwrap .box{
		width: calc(100% / 2 - 20px / 2);
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
  .section03 .pd_wrap {
 padding-bottom: 50px !important; 
 }
	.section02 .boxwrap{
		align-items: stretch;
		gap: 15px;
	}
	.section02 .boxwrap > a{
		width: calc(100% / 2 - 15px / 2);
		padding: 30px 20px;
	}
	.section03 .contents .txtbox .txtitem .item .title{
		width: 80px;
	}
	.section03 .contents .txtbox .txtitem .item p:last-of-type{
		width: calc(100% - 80px);
	}
	
	.section05 .boxwrap{
		gap: 30px;
	}
	.section05 .boxwrap .box{
		width: 100%;
		max-width: 600px;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 767px){
	.section04 > a{
		width: 100%;
	}
	.section04 > a:hover{opacity: 1;}
	body:not(.gjs-dashed) .section04 > a{
		aspect-ratio: 1.6 / 1;
	}
	.section04 > a .txtbox{
		position: relative;
		aspect-ratio: auto;
		padding: 30px;
		z-index: 4;
		gap: 10px;
	}
	.fv .swiper-container .swiper-button-prev,.fv .swiper-container .swiper-button-next{
		width: 30px;
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.fv .swiper-container{
		width: 95%;
	}
	.fv .swiper-container .swiper-wrapper .swiper-slide a{
		padding: 40px 0;
	}
	.fv .swiper-container .swiper-wrapper .swiper-slide a .title1 .default_title1{
		font-size: 18px;
	}
	.fv .swiper-container .swiper-wrapper .swiper-slide a .default_title2{
		font-size: 16px;
	}
	.fv .swiper-container .swiper-button-prev,.fv .swiper-container .swiper-button-next{
		width: 24px;
		top: 100%;
	}
	.fv .swiper-container .swiper-button-prev{
		left: 20px;
		transform: translate(0%,-20%);
	}
	.fv .swiper-container .swiper-button-next{
		right: 20px;
		transform: translate(0%,-20%);
	}
	.section01 .webgene-blog .webgene-item .cms_item{
		gap: 10px 15px;
		width: 100%;
	}
	.section01 .webgene-blog .webgene-item h3{
		width: 100%;
	}
	.section02 .boxwrap{
		align-items: stretch;
		gap: 10px;
	}
	.section02 .boxwrap > a{
		width: 100%;
		padding: 30px 20px;
	}
	.section03 .contents > div{
		width: 100%;
	}
	.section03 .contents{
		gap: 30px;
	}
	.section03 .contents .txtbox{
		align-items: center;
	}
	.section05 .boxwrap{
		gap: 20px;
	}
	.section06 .contents .webgene-blog .webgene-item a{
		padding: 20px;
	}
	.section06 .contents .webgene-blog .webgene-item a .imgbox{
		width: 70%;
		margin-bottom: 20px;
	}
	.section06 .contents .webgene-blog .webgene-item a .txtbox{
		width: 100%;
		padding-left: 0;
		align-items: center;
		gap: 10px;
	}
	.section07 .titleitem2 h2{
		line-height: 1.5
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

