#mainimage{
	width:100%;
	height:100dvh;
	position:relative;
	margin:0 auto;
}
#mainimage_img{
	width:100%;
	height:100dvh;
	position:relative;
	z-index:1;
}
.bx-wrapper,
.bx-viewport,
#slide,
#slide li{
	width:100%;
	height:100%;
}
#slide{
	list-style:none;
}
#slide li img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage_img_l{
	position:absolute;
	top:0;
	left:0;
	width:50%;
	height:100%;
	z-index:2;
}
#mainimage_img_l img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage .catch{
	position:absolute;
	top:0;
	right:0;
	z-index:2;
	color:#fff;
	width:50%;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-weight: 900;
	text-shadow:0 0 5px rgba(0,0,0,0.5);
}
#mainimage .catch h2{
	font-size:clamp(60px,5.208dvw,100px);
	margin:0 auto 20px;
}
#mainimage .catch h2 small{
	font-size:clamp(50px,4.375dvw,84px);
}
#mainimage .catch p{
	font-size:clamp(18px,1.458dvw,28px);
}
#main_logo{
	padding:40px 0 0;
	font-size:28px;
}
#main_logo img{
	display:block;
	margin:0 auto 10px;
}
#top1{
	height:100dvh;
	position:relative;
	display:flex;
}
#top1_l{
	width:50%;
	flex:none;
	position:relative;
}
#top1_l img{
	display:block;
	position:absolute;
	width:108.333%;
	height:100%;
	object-fit:cover;
	object-position:top right;
	max-width:initial !important;
}
#top1_r{
	width:50%;
	padding:0 0 0 7%;
	box-sizing:border-box;
	flex:none;
	background:url('../images/index/top1_r.webp') no-repeat;
	background-size:cover;
}
#top1_r article{
	width:490px;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	font-weight: 500;
}
#top1_r article h2{
	font-size:48px;
	margin:0 0 60px;
	line-height:1.3em;
}
#top1_r article p{
	margin:0 0 30px;
}
#top1_r article .more{
	display:flex;
	justify-content:flex-end;
}
#top1_r article .more a{
	color:#fff;
	text-decoration:none;
	width:121px;
	line-height:34px;
	display:block;
	background:url('../images/index/arrow1.svg') no-repeat bottom right;
}
#top1_r article .more a:hover{
	text-shadow:0 0 10px #fff,0 0 15px #fff;
}
#news{
	padding:120px 0;
}
#news h2{
	text-align:center;
	margin:0 auto 60px;
	font-size:24px;
}
.news_wrap{
	background:url('../images/index/bg_news.webp') no-repeat center center;
	margin:0 auto 60px;
}
#news article{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	gap:20px;
}
#news article dl{
	width:calc((100% - 60px) / 4);
	height:420px;
	border:1px solid #cfcfcf;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	position:relative;
}
#news article dl dt{
	border-bottom:1px solid #cfcfcf;
	height:259px;
	box-sizing:border-box;
}
#news article dl dt a{
	display:block;
	width:100%;
	height:100%;
	background:#f5f5f5 url('../images/index/bg_news.svg') no-repeat center center;
}
#news article dl dt a img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#news .comment{
	padding:10px 20px 20px;
	font-size:16px;
	line-height:1.5em;
}
#news .comment time{
	display:block;
	font-size:18px;
	color:#999999;
}
#news .comment a{
	color:#222;
	text-decoration:none;
}
#news dl .more{
	position:absolute;
	bottom:0;
	right:0;
	width:92px;
	line-height:22px;
	border-top:1px solid #d2d2d2;
	border-left:1px solid #d2d2d2;
	border-radius:10px 0 10px 0;
}
#news dl .more a{
	display:block;
	text-align:right;
	padding:0 20px;
	font-size:14px;
	color:#222;
	text-decoration:none;
	background:url('../images/index/arrow_news.svg') no-repeat left 10px center;
}
#news dl .more a:hover{
	color:#fff;
	background:#f8b500 url('../images/index/arrow_news.svg') no-repeat left 10px center;
}
#more_news{
	width:230px;
	line-height:34px;
	margin:0 auto;
}
#more_news a{
	display:block;
	font-size:16px;
	text-align:center;
	text-decoration:none;
	color:#222;
	background:url('../images/index/arrow2.svg') no-repeat bottom center;
}
#more_news a:hover{
	text-shadow:0 0 10px #f8b500;
}
#top2{
	padding:80px 3% 230px;
	margin:0 auto 10px;
	background:#f8b500 url('../images/index/bg_service.png') no-repeat top center;
}
#top2 h2{
	text-align:center;
	margin:0 auto 80px;
	font-size:24px;
}
#top2 article{
	max-width:1300px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
}
#top2 article dl{
	width:340px;
}
#top2 article dt{
	font-size:36px;
	font-weight:900;
	text-align:center;
	color:#fff;
	margin:0 auto 50px;
}
#top2 article .photo{
	margin:0 auto 30px;
}
#top2 article .photo img{
	display:block;
	margin:0 auto;
	width:340px;
	height:340px;
	object-fit:cover;
	border-radius:50%;
}
#top2 article .comment{
	text-align:center;
}
#top2 article .more{
	padding:20px 0 0;
}
#top2 article .more a{
	display:block;
	width:123px;
	line-height:36px;
	padding:0 20px 0 0;
	box-sizing:border-box;
	background:url('../images/index/arrow1.svg') no-repeat bottom center;
	background-size:100% auto;
	color:#fff;
	text-decoration:none;
	text-align:center;
	margin:0 auto;
}
#top2 article .more a:hover{
	text-shadow:0 0 10px #fff,0 0 15px #fff;
}
#top3{
	background:#f8b500;
	padding:60px 0px 10px 0;
}
#top3 article{
	display:flex;
	height:285px;
	padding:0 50px 65px 0;
	box-sizing:border-box;
	border-bottom:10px solid #fff;
}
#top3 h2{
	width:38%;
	padding:110px 150px 0 0;
	box-sizing:border-box;
	flex:none;
	position:relative;
	display:flex;
	justify-content:flex-end;
	background:url('../images/index/bg_works.svg') no-repeat bottom right;
	color:#f8b500;
}
#top3 h2 .eng{
	font-size:50px;
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-weight: 900;
	font-style: normal;
	line-height:0.9em;
}
#top3 h2 .jp{
	position:absolute;
	font-weight: 900;
	bottom:13px;
	right:140px;
	line-height:1em;
}
#top3 ul{
	list-style:none;
	padding:0;
	gap:10px;
	width:62%;
	height:100%;
	display:flex;
	flex-wrap:wrap;
	overflow:hidden;
}
#top3 ul li{
	width:220px;
	height:100%;
}
#top3 ul li a{
	display:block;
	width:100%;
	height:100%;
}
#top3 ul li a img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:50%;
}
#top4{
	padding:10px 0;
	position:relative;
}
#top4 article{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
#top4 .eng{
	color:#eeeeee;
	font-size:90px;
	line-height:1em;
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-weight: 900;
	font-style: normal;
	letter-spacing:-0.1em;
	position:relative;
	z-index:1;
}
#top4 .jp{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	position:absolute;
	z-index:2;
	color:#f8b500;
	font-size:50px;
	font-weight:900;
}
#top5{
	background:#f8b500;
}
#top5 article{
	max-width:1470px;
	margin:0 auto;
	display:flex;
}
#top5 article h2{
	width:110px;
	padding:0 0 65px;
	flex:none;
	color:#fff;
}
#top5 article ul{
	width:calc(100% - 110px);
	flex:none;
}
#top5 article h2 .eng{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-weight:900;
	font-size:160px;
	transform:rotate(180deg);
	display:block;
	letter-spacing:-0.1em;
	line-height:85px;
}
#top5 article h2 .jp{
	font-size:36px;
	font-weight:900;
	text-align:center;
	display:block;
}
#top5 article ul{
	list-style:none;
	padding:0;
	display:flex;
	gap:10px;
}
#top5 article ul li{
	width:calc((100% - 30px) / 4);
	height:100%;
	flex:none;
	border-left:10px solid #fff;
	border-right:10px solid #fff;
	box-sizing:border-box;
}
#top5-1{
	background:url('../images/index/top_recruit1.webp') no-repeat top center;
	background-size:cover;
}
#top5-2{
	background:url('../images/index/top_recruit2.webp') no-repeat top center;
	background-size:cover;
}
#top5-3{
	background:url('../images/index/top_recruit3.webp') no-repeat top center;
	background-size:cover;
}
#top5-4{
	background:url('../images/index/top_recruit4.webp') no-repeat top center;
	background-size:cover;
}
#top5 article ul li:hover{
	opacity:0.8;
	transition:0.5s;
}
#top5 article ul li a{
	display:flex;
	align-items:flex-end;
	width:100%;
	height:100%;
	padding:0 0 100px 20px;
	box-sizing:border-box;
	line-height:1.1em;
	font-size:36px;
	color:#fff;
	text-decoration:none;
	font-weight:900;
	background:url('../images/index/arrow1.svg') no-repeat bottom 25px right 40px;
}