#mainimage{
	margin: 0 auto 120px;
	position:relative;
}
.bx-wrapper{
	height:calc(100dvh - 150px);
	margin: 0 auto 10px !important;
}
.bx-viewport,
#slide,
#slide li{
	height:100%;
}
.bx-viewport img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.bx-viewport video{
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage_img{
	display:block;
}
.bx-pager{
	display:flex;
	gap:2.08vw;
	justify-content:center;
}
.bx-pager a{
	display:block;
	width:13.54vw;
	height:130px;
}
.bx-pager a:first-child{
	width:0 !important;
}
.bx-pager a img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
/*
.mainimage_catch{
	position:absolute;
	color:#fff;
	font-size:100px;
	font-weight:700;
	line-height:1.5em;
	text-shadow:0 0 5px rgba(0,0,0,0.5);
}
*/
#slide2 .mainimage_catch{
	bottom:5.888dvh;
	left:14dvw;
}
#slide3 .mainimage_catch{
	position:absolute;
	font-weight:700;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:20px 0;
	height:20%;
	box-sizing:border-box;
	text-align:center;
	color:#ad1417;
	font-size:50px;
	background:rgba(255,255,255,0.7);
}
#slide4 .mainimage_catch{
	position:absolute;
	bottom:5dvh;
	right:5dvw;
	color:#fff;
	font-weight:700;
	font-size:50px;
}
/*
.mainimage_catch:before{
	width:100px;
	height:100px;
	background:#ad1417;
	content:"";
	position:absolute;
	top:-25px;
	left:-25px;
	z-index:1;
}
.mainimage_catch:after{
	width:40px;
	height:40px;
	background:#fff;
	content:"";
	position:absolute;
	top:-45px;
	left:-45px;
	z-index:2;
}
*/
#pager_wrap{
	display:flex;
	gap:40px;
	align-items:center;
	justify-content:center;
}
.mainimage_catch p{
}
main section{
	line-height:1.8em;
}
main section h2{
	font-weight:700;
	font-size:35px;
	line-height:1.3em;
}
main section h2 .jp{
	display:block;
}
main section h2 .eng{
	display:inline-block;
	color:#fff;
	background:#ad1417;
	line-height:20px;
	padding:0 15px;
	font-size:16px;
	text-align:center;
}
#news{
	margin:0 auto 150px;
}
#news article{
}
#news h2{
	margin:0 auto 60px;
	color:#ad1417;
	text-align:center;
}
#news article{
	padding:0 6.79%;
	display:flex;
	gap:20px;
	box-sizing:border-box;
}
#news article dl{
	width:calc((100% - 80px) / 5);
	border:1px solid #bebebe;
	padding:19px;
	box-sizing:border-box;
}
#news article dt{
	height:11dvw;
	background:url('../images/index/news_img.webp') no-repeat center center;
	background-size:cover;
	flex:none;
	margin:0 0 10px;
}
#news article dt a{
	display:block;
	width:100%;
	height:100%;
}
#news article dt a img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
}
#news article dd{
	font-size:16px;
}
#news article dd a{
	color:#000;
	text-decoration:none;
}
#news article dd a:hover{
	color:#ad1417;
	text-decoration:underline;
}
#news article dd time{
	display:block;
	color:#7c7c7c;
}
#news .more{
	padding:40px 0 0 0;
}
.more a{
	display:block;
	line-height:48px;
	color:#000;
	text-decoration:none;
	border:1px solid #ad1417;
	border-radius:10px;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
	width:200px;
	text-align:center;
	box-sizing:border-box;
	margin:0 auto;
	background:#fff;
}
#top2 .more a{
	line-height:24px;
	padding:5px 0;
}
.more a:hover{
	color:#fff;
	background:#ad1417;
}
#top1{
	display:flex;
	position:relative;
	align-items:flex-end;
	margin:0 auto 170px;
}
#top1 article{
	width:45.68%;
	padding:0 0 0 3%;
	box-sizing:border-box;
	position:relative;
}
#top1:before{
	content:"";
	display:block;
	width:17.28%;
	height:250px;
	background:#ad1417;
	border-radius:0 20px 20px 0;
}
#top1:after{
	content:"";
	display:block;
	width:37%;
	height:250px;
	background:#ad1417;
	border-radius:20px 0 0 20px;
}
#top1 h2{
	font-size:clamp(40px,3.125dvw,60px);
	margin:0 0 45px;
}
#top1 .more{
	width:200px;
	position:absolute;
	right:-100px;
	bottom:100px;
}
@media screen and (max-width: 1500px) {
	#top1 .more{
		bottom:170px;
	}
}
#img1{
	position:absolute;
	top:0;
	right:0;
	width:20vw;
}
/*
#top2{
	margin:0 auto 135px;
}
#top2 h2{
	text-align:center;
	color:#ad1417;
	height:60px;
}
#top2 article{
	padding:100px 0;
	background:url('../images/index/bg1.webp') no-repeat center center;
	background-size:cover;
}
#top2 article ul{
	list-style:none;
	display:flex;
	gap:100px;
	justify-content:center;
}
#top2 article ul li{
	width:200px;
}
#top2 article ul li a{
	display:block;
	line-height:198px;
	color:#000;
	text-decoration:none;
	border:1px solid #ad1417;
	border-radius:10px;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
	text-align:center;
	box-sizing:border-box;
	margin:0 auto;
	background:#fff;
	font-weight:700;
}
#top2 article ul li a:hover{
	color:#fff;
	background:#ad1417;
}
*/

#top2{
	display:flex;
	position:relative;
	margin:0 auto 170px;
}
#top2 article{
	width:45.68%;
	padding:0 0 0 3%;
	box-sizing:border-box;
	position:relative;
}
#top2:before{
	content:"";
	display:block;
	width:37%;
	height:250px;
	background:#ad1417;
	border-radius:0 20px 20px 0;
}
#top2:after{
	content:"";
	display:block;
	width:17.28%;
	height:250px;
	background:#ad1417;
	border-radius:20px 0 0 20px;
}
#top2 h2{
	font-size:clamp(36px,2.5dvw,48px);
	margin:0 0 45px;
}
#top2 .more{
	width:200px;
	position:absolute;
	right:-100px;
	bottom:10px;
}
#img2{
	position:absolute;
	top:20px;
	left:5%;
	width:20vw;
}

#top3{
	margin:0 auto 105px;
}
#top3 article{
	width:66.666%;
	margin:0 auto;
	display:flex;
}
#top3 article .comment{
	width:480px;
	flex:none;
	order:2;
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
#top3 article .comment h2{
	line-height:1.5em;
}
#top3 article .comment .more{
	padding:40px 0 0;
}
#top3 article figure{
	width:calc(100% - 480px);
	flex:none;
	order:1;
	position:relative;
}
#top3 article figure img{
	display:block;
	position:relative;
	z-index:3;
	max-width:initial !important;
	width:100%;
}
#top3 article figure:before{
	width:100px;
	height:100px;
	content:"";
	display:block;
	background:#ad1417;
	position:absolute;
	top:-20px;
	left:-20px;
	z-index:1;
}
#top3 article figure:after{
	width:60px;
	height:60px;
	content:"";
	display:block;
	background:#ad1417;
	position:absolute;
	bottom:-10px;
	right:-10px;
	z-index:1;
}
#top4{
	max-width:1440px;
	margin:0 auto 140px;
	position:relative;
}
#top4 article{
	background:url('../images/index/bg2.webp') no-repeat center center;
	background-size:cover;
	border-radius:25px;
	width:83.333%;
	height:900px;
	margin:0 auto;
}
#top4 ul{
	list-style:none;
	position:absolute;
	width:100%;
	display:flex;
	gap:5.55%;
	top:90px;
	left:0;
}
#top4 ul li{
	width:calc(83.35% / 4);
	height:600px;
	position:relative;
}
#top4 ul li:nth-child(1){
	order:3;
}
#top4 ul li:nth-child(2){
	order:1;
}
#top4 ul li:nth-child(3){
	order:2;
	top:120px;
}
#top4 ul li:nth-child(4){
	order:4;
	top:120px;
}
#top4 ul li img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#top4 ul li dl{
	background:#fff;
	border-radius:20px;
	height:600px;
}
#top4 ul li dl dt{
	background:#ad1417;
	text-align:center;
	border-radius:20px 20px 0 0;
	font-size:35px;
	color:#fff;
	display:flex;
	height:160px;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
#top4 ul li dl dt .jp{
	display:block;
	padding:0 0 15px;
}
#top4 ul li dl dt .eng{
	display:inline-block;
	padding:0 15px;
	line-height:20px;
	font-size:16px;
	background:#fff;
	color:#ad1417;
}
#top4 dd{
	height:440px;
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
}
#top4 dd p{
	font-size:24px;
	writing-mode: vertical-rl;
	font-weight:700;
}
#top4 dd .more{
	position:absolute;
	bottom:-25px;
	left:0;
	right:0;
	margin:auto;
}
#top5{
	height:640px;
	margin:0 auto 100px;
	background:url('../images/index/bg3.webp') no-repeat top center;
	background-size:cover;
	position:relative;
	display:flex;
	align-items:center;
}
#top5 article{
	height:140px;
	width:100%;
	background:#fff;
	text-align:center;
	color:#ad1417;
	font-size:32px;
	font-weight:700;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
#top5 article h2{
	font-size:18px;
	padding:0 0 10px;
}
#top5 article h2 .eng2{
	font-family: "avory-i-latin", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size:64px;
	padding:0 20px 0 0;
}
#top5 .more{
	position:absolute;
	width:200px;
	bottom:100px;
	left:0;
	right:0;
	margin:auto;
}