#mainimage{
	width:100%;
	height:100dvh;
	position:relative;
	margin:0 auto clamp(80px,8.333dvw,160px);
}
#mainimage_img{
	width:100%;
	height:100dvh;
	position:relative;
	z-index:1;
}
.slick-list,
.slick-track,
#slide,
#slide li{
	width:100%;
	height:100%;
}
#slide{
	list-style:none;
}
#slide li img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage h2.catch{
	position:absolute;
	top:calc(100dvh / 3);
	left:calc(100dvh / 3);
	z-index:2;
	color:#fff;
}
#mainimage h2.catch .eng{
	font-size:180px;
	position:relative;
	line-height:0.7em;
}
#mainimage h2.catch .jp{
	font-size:30px;
	position:absolute;
	top:50px;
	left:140px;
}
#mainimage_box{
	position:absolute;
	top:100px;
	right:0;
	width:100dvh;
	max-width:calc((100dvw / 8) * 2);
	z-index:5;
}
#mainimage_box ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}
#mainimage_box ul li{
	width:calc(100dvh / 2);
	height:calc((100dvh - 100px) / 4);
	max-width:calc(100% / 2);
}
#mainimage_box ul li a{
	display:flex;
	width:100%;
	height:100%;
	padding:0 0 10px;
	box-sizing:border-box;
	position:relative;
	color:#000;
	text-decoration:none;
	flex-direction:column;
	justify-content:flex-end;
}
#mainimage_box ul li a .icon{
	display:flex;
	width:100%;
	height:100%;
	position:absolute;
	justify-content:center;
	align-items:center;
}
#mainimage_box ul li a .icon img{
	display:block;
	max-width:30%;
	min-width:20%;
	height:auto;
}
#mainimage_box ul li a strong{
	display:block;
	width:100%;
	text-align:center;
}
#mainimage_box ul li a strong .eng{
	display:block;
	font-size:36px;
}
#mainimage_box ul li:hover{
	transition:0.5s;
}
#box1{
	background:rgba(10,92,201,0.9);
}
#box1:hover{
	background:rgba(10,92,201,0.6);
}
#box2{
	background:rgba(220,215,203,0.9);
}
#box2:hover{
	background:rgba(220,215,203,0.6);
}
#box3{
	background:rgba(241,179,46,0.9);
}
#box3:hover{
	background:rgba(241,179,46,0.6);
}
#box4{
	background:rgba(234,82,28,0.9);
}
#box4:hover{
	background:rgba(234,82,28,0.6);
}
#box5{
	background:rgba(16,138,81,0.9);
}
#box5:hover{
	background:rgba(16,138,81,0.6);
}
#box6{
	background:rgba(203,152,150,0.9);
}
#box6:hover{
	background:rgba(203,152,150,0.6);
}
#box7{
	background:rgba(86,112,245,0.9);
}
#box7:hover{
	background:rgba(86,112,245,0.6);
}
#box8{
	background:rgba(255,255,255,0.9);
}
#box8:hover{
	background:rgba(255,255,255,0.6);
}
#mainimage_bottom{
	position:absolute;
	bottom:0;
	left:0;
	width:100dvh;
	max-width:calc((100dvw / 5) * 3);
	padding:0 2%;
	z-index:3;
	box-sizing:border-box;
}
#mainimage_bottom img{
	display:block;
	width:100%;
	height:auto;
}
#news{	
	margin:0 auto clamp(80px,8.333dvw,160px);
	min-height:520px;
}
.news_l{
	background:url('../images/index/news_l.webp') no-repeat center left;
}
.news_r{
	background:url('../images/index/news_r.webp') no-repeat center right;
}
.news_wrap{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	gap:20px;
}
.news_wrap h2{
	width:460px;
	white-space:nowrap;
	font-size:210px;
	flex:none;
	line-height:0.65em;
	background: linear-gradient(45deg, rgba(19,28,77,1) 60%,rgba(11,73,27,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.news_wrap article{
	width:calc(100% - 480px);
	flex:none;
}
.news_wrap article dl{
	display:flex;
	gap:10px;
	margin-bottom:40px;
	line-height:30px;
}
.news_wrap article dl dt{
	width:80px;
	text-align:right;
	flex:none;
}
.news_wrap article dl .more{
	width:100px;
}
.news_wrap article dl dd.comment{
	width:calc(100% - 200px);
	display:flex;
	gap:10px;
}
.news_wrap article dl dd.comment .cat{
	width:60px;
	font-size:14px;
	flex:none;
}
.news_wrap article dl dd.comment .cat span{
	display:block;
	background:#053f8d;
	color:#fff;
	text-align:center;
}
.news_wrap article dl dd.comment a{
	text-decoration:none;
	display:block;
	width:calc(100% - 70px);
}
.more a{
	display:block;
	text-decoration:none;
	text-align:center;
	border:1px solid #053f8d;
	border-radius:3px;
	line-height:30px;
	background:#fff url('../images/common/arrow1.webp') no-repeat left 10px center;
}

.more a:hover{
	background:#65e0e2 url('../images/common/arrow1.webp') no-repeat left 10px center;
}
.news_wrap article dl dd.comment .more a{
}
#more_news{
	max-width:70%;
	margin:0 auto;
}
.news_inner{
	height:500px;
	padding:0 0 0 10px;
	overflow:auto;
}
#top1{
	background:url('../images/index/bg1.webp') no-repeat top center,linear-gradient(to right,  rgba(77,198,247,1) 0%,rgba(133,255,192,1) 100%);
	background-size:auto 100%;
	padding:80px 0 70px;
	margin:0 auto clamp(80px,8.333dvw,160px);
}
#top1 article{
	width:1100px;
	padding:0 0 0 570px;
	box-sizing:border-box;
	margin:0 auto;
	position:relative;
	font-size:20px;
	color:#fff;
}
#top1 .eng{	
	font-size:165px;
	position:absolute;
	top:0;
	left:0;
	line-height:0.8em;
	z-index:1;
	mix-blend-mode: multiply;
}
#top1 .eng span{
	display:block;
	background: linear-gradient(to bottom, rgba(137,236,201,1) 0%,rgba(41,208,213,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#top1 article h2{
	font-size:42px;
	font-weight:normal;
	color:#000;
	margin-bottom:130px;
	line-height:1.5em;
}
#top1 article .comment{
	position:relative;
	z-index:2;
	line-height:1.8em;
}
#top1 article .comment p{
	text-shadow:0 0 5px rgba(0,0,0,0.5);
}
#top1 .more{
	position:absolute;
	bottom:0;
	right:0;
	width:200px;
}
#top2{
	padding:100px 0;
	background:url('../images/index/bg2.webp') no-repeat top center,linear-gradient(45deg, rgba(25,255,244,1) 0%,rgba(174,255,174,1) 100%);
	margin:0 auto clamp(80px,8.333dvw,160px);
}
#top2 article{
	position:relative;
	max-width:1100px;
	margin:0 auto;
	font-size:20px;
}
#top2 article h2{
	font-size:60px;
	color:#000;
	margin-bottom:40px;
	line-height:1.5em;
}
#top2 article h3{
	font-size:48px;
	font-weight:normal;
	color:#000;
	margin-bottom:45px;
	line-height:1.5em;
}
#top2 article p{
	margin-bottom:40px;
}
#top2 article .more{
	padding:45px 0 0 140px;
}
#top2 article .more a{
	width:210px;
}
#top2 article figure{
	position:absolute;
	top:-135px;
	right:-75px;
}
#top2 article figure img{
	display:block;
}
#top3{
	position:relative;
	height:650px;
}
.top_works{
	background:#3f8faa;
	width:100%;
	height:650px;
	overflow:hidden;
	position:absolute;
	z-index:1;
	top:-2px;
	left:0;
}
.top_works ul{
	display:flex;
	flex-wrap:wrap;
	width:112.5%;
	height:100%;
	list-style:none;
}
.top_works ul li{
	width:calc((100dvw - 28.645dvw) / 5);
	height:calc(100% / 3);
	border:2px solid #fff;
	position:relative;
}
.top_works ul li:nth-child(5n - 2){
	border-right:28.645dvw solid #fff;
}
.top_works ul li:nth-child(6){
	margin-left:20px;
}
.top_works ul li a{
	display:block;
	width:100%;
	height:100%;
}
.top_works ul li a img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#top3 article{
	position:relative;
	z-index:2;
	max-width:42.7dvw;
	margin:0 auto;
	display:flex;
	justify-content:flex-end;
}
#top3 article .eng{
	font-size:clamp(80px,10dvw,190px);
	text-align:right;
	line-height:0.7em;
}
#top3 article h2{
	position:absolute;
	top:7.8125dvw;
	right:18dvw;
	font-size:30px;
	background: linear-gradient(to bottom, rgba(47,186,213,1) 0%,rgba(49,38,134,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#top3 article .more{
	padding:40px 0 0;
}
#top3 article .more a{
	width:210px;
	margin:0 auto;
}
#top4{
	padding-top:clamp(80px,8.333dvw,160px);
	padding-bottom:clamp(80px,8.333dvw,160px);
	background:url('../images/index/bg_bottom.webp') no-repeat top center;
	background-size:auto 100%;
}
#top4 article{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
}
#top4 article dl{
	width:300px;
	flex:none;
}
#top4 article dl dt{
	position:relative;
	height:300px;
	margin-bottom:10px;
}
#top4 article dl dt img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	position:relative;
	z-index:1;
}
#top4 article dl dt .eng{
	font-size:90px;
	top:0;
	left:0;
	position:absolute;
	z-index:2;
	color:#fff;
	line-height:1em;
}