#mainimage{
	width:100%;
	height:calc(100dvh - 100px);
	position:relative;
	padding:0px 0 0px;
	box-sizing:border-box;
	overflow:hidden;
	margin:0 auto 80px;
	background-size:auto 100%;
}
#mainimage_slide{
	position:relative;
	height:100%;
	z-index:2;
}
.slick-list,
.slick-track{
	height:100%;
}
#mainimage_slide img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage .catch{
	width:1200px;
	position: absolute;
	padding:0 0 0 220px;
	box-sizing:border-box;
	left: 50%;
	bottom:170px;
	transform: translateX(-50%);
	z-index:3;
	text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	font-size:32px;
}
#mainimage .catch h2{
	font-size:86px;
	margin-bottom:50px;
	font-family:sans-serif;
}
#mainimage .catch h2 small{
	font-size:76px;
}
#top1{
	margin:0 auto 75px;
	display:flex;
	width:100%;
}
#top1:before{
	content:"";
	display:block;
	background:#008ad3;
	border-radius:0 10px 10px 0;
	width:calc((100% - 1100px) / 2);
	flex:none;
}
#top1 article{
	display:flex;
	width:calc(100% - ((100% - 1100px) / 2));
	flex:none;
}
#top1 .comment{
	width:640px;
	padding:40px 0 40px 40px;
	box-sizing:border-box;
	flex:none;
}
#top1 .comment h2{
	font-size:32px;
	margin-bottom:40px;
	line-height:1.4em;
}
#top1 figure{
	background:#008ad3;
	width:calc(100% - 640px);
	max-height:480px;
	border-radius:10px 0 0 10px;
	overflow:hidden;
}
#top1 figure img{
	display:block;
	width:100%;
	max-width:700px;
	height:100%;
	object-fit:cover;
}
#top2{
	margin:0 auto 125px;
}
#top2 article{
	max-width:1100px;
	margin:0 auto 80px;
	display:flex;
	gap:40px;
}
#top2 article dl{
	width:calc((100% - 120px) / 4);
	padding:35px 0;
	text-align:center;
	flex:none;
	background:#008ad3;
	border-radius:10px;
	color:#fff;
}
#top2 article dl:first-child{
	border-radius:40px 10px 10px 40px;
}
#top2 article dl:last-child{
	border-radius:10px 40px 40px 10px;
}
#top2 article dl dt{
	font-size:30px;
}
#top2 article dl dt img{
	display:block;
	width:124px;
	height:97px;
	object-fit:contain;
	margin:40px auto;
}
.more{
	max-width:1100px;
	margin:0 auto;
}
.more a{
	display:flex;
	gap:10px;
	line-height:80px;
	color:#008ad3;
	font-size:30px;
	text-decoration:none;
	font-weight:500;
	overflow:visible;
}
.more a .more_inner{
	display:block;
	width:calc(100% - 90px);
	background:#c3e4f5;
	border-radius:40px 10px 10px 40px;
	text-align:center;
	height:80px;
	box-shadow:0 8px 0 #f5f5f5;
}
.more a small{
	font-size:21px;
}
.more a:after{
	content:"";
	width:80px;
	height:80px;
	border-radius:10px 40px 40px 10px;
	display:block;
	background:#c3e4f5 url('../images/common/arrow_blue.svg') no-repeat center center;
	box-shadow:0 8px 0 #f5f5f5;
}
.more a:hover{
	color:#fff;
}
.more a:hover .more_inner{
	background:#008ad3;
	transition:0.5s;
}
.more a:hover:after{
	display:block;
	background:#008ad3 url('../images/common/arrow_white.svg') no-repeat center center;
	transition:0.5s;
}
#top3{
	margin:0 auto 75px;
	display:flex;
	width:100%;
}
#top3:before{
	content:"";
	display:block;
	background:#008ad3;
	border-radius:0 10px 10px 0;
	width:calc((100% - 1100px) / 2);
	flex:none;
}
#top3 article{
	display:flex;
	width:calc(100% - ((100% - 1100px) / 2));
	flex:none;
}
#top3 .comment{
	width:640px;
	padding:40px 0 40px 40px;
	box-sizing:border-box;
	flex:none;
}
#top3 .comment h2{
	font-size:32px;
	margin-bottom:40px;
	line-height:1.4em;
}
#top3 figure{
	background:#008ad3;
	width:calc(100% - 640px);
	max-height:480px;
	border-radius:10px 0 0 10px;
	overflow:hidden;
}
#top3 figure img{
	display:block;
	width:100%;
	max-width:700px;
	height:100%;
	object-fit:cover;
}
#top3_more{
	margin:0 auto 125px;
}
#top4{
	padding:40px 0 0;
	height:850px;
	margin:0 auto 125px;
	box-sizing:border-box;
	background:#008ad3 url('../images/index/bg_recruit.svg') no-repeat top center;
}
.top4_inner{
	width:1106px;
	height:666px;
	box-sizing:border-box;
	padding:35px 0 20px;
	margin:0 auto 25px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	background:url('../images/index/top_recruit.webp') no-repeat;
}
.top4_inner h2{
	font-size:48px;
	padding:0px 0 0 40px;
	line-height:1.5em;
	color:#ffffff;
}
.top4_inner .comment{
	width:600px;
	padding:40px;
	box-sizing:border-box;
	background:rgba(195,228,245,0.95);
	border-radius:50px;
	margin-left:10px;
}
#top4 .more a .more_inner{
	box-shadow:0 8px 0 #0080c1;
}
#top4 .more a:after{
	box-shadow:0 8px 0 #0080c1;
}
#top5{
	text-align:center;
	margin:0 auto 140px;
}
#top5 h2{
	font-size:32px;
	margin-bottom:90px;
	text-align:center;
	color:#0080c1;
}
#top5 .more{
	padding:80px 0 0;
}
#top5 .more a{
	color:#ff813d;
}
#top5 .more a .more_inner{
	background:#ffd8c3;
	box-shadow:0 8px 0 #f5f5f5;
}
#top5 .more a:after{
	background:#ffd8c3 url('../images/common/arrow_orange.svg') no-repeat center center;
}
#top5 .more a:hover .more_inner{
	background:#ff813d;
	color:#fff;
}
#top5 .more a:hover:after{
	background:#ff813d url('../images/common/arrow_white.svg') no-repeat center center;
}