#mainimage{
	width:100%;
	height:100dvh;
	position:relative;
}
#mainimage figure{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	z-index:1;
}
#mainimage figure img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage figure video{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#mainimage_catch{
	position:absolute;
	z-index:2;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	color:#fff;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
}
#mainimage_catch h2{
	font-size:clamp(140px,14.58dvw,280px);
	font-family: "hiragino-mincho-pron", sans-serif;
	font-weight: 300;
	font-style: normal;
	line-height:1em;
	text-align:center;
	margin-bottom:3%;
}
#mainimage_catch h3{
	text-align:center;
	font-size:32px;
}
#scroll{
	display:block;
	position:absolute;
	z-index:3;
	bottom:5%;
	left:0;
	right:0;
	margin:auto;
}
#top1{
	height:470px;
	background:url('../images/index/bg1.svg') no-repeat top -66px right;
	background-size:cover;
	display:flex;
	align-items:center;
	justify-content:center;
}
#top1 article{
	font-size:20px;
	line-height:1.8em;
	text-align:center;
}
#top2{
	display:flex;
	gap:20px;
	margin-bottom:90px;
}
#top2 article{
	width:1100px;
	display:flex;
	gap:40px;
}
#top2 .comment{
	width:530px;
	flex:none;
	padding:30px 0 0;
	position:relative;
	text-align:center;
	z-index:1;
}
#top2 .comment img{
	position:absolute;
	width:560px;
	bottom:-30px;
	left:-30px;
	max-width:initial !important;
}
#top2 .comment h2{
	font-size:36px;
	font-family: "tbudrgothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
	margin:0 auto 30px;
}
#top2 .comment h2 .eng{
	font-size:18px;
	color:#36b1eb;
	display:block;
}
#top2 .banner{
	width:530px;
	flex:none;
	display:flex;
	gap:20px;
	flex-direction:column;
	position:relative;
	z-index:2;
}
#top2 .banner dl{
	height:260px;
	border:1px solid #00a3e8;
	padding:29px 39px;
	border-radius:5px;
	box-sizing:border-box;
	background:#fff;
}
#top2 .banner dt{
	font-size:30px;
	color:#00a3e8;
	display:flex;
	align-items:center;
	gap:10px;
	font-weight:700;
	margin-bottom:20px;
}
#top2_l,
#top2_r{
	width:calc((100% - 1140px) / 2);
	flex:none;
	display:flex;
	flex-direction:column;
	gap:20px;
}

#top2_l p,
#top2_r p{
	height:calc((100% - 20px) / 2);
	background:url('../images/common/bg_dot.png');
}
#top2_l p{
	border-radius:0 5px 5px 0;
}
#top2_r p{
	border-radius:5px 0 0 5px;
}
#top2_more{
	max-width:940px;
	padding:0 0 120px;
	margin:0 auto;
}
#top2_more a{
	display:block;
	border:3px solid #00a3e8;
	line-height:56px;
	border-radius:31px;
	font-size:20px;
	color:#00a3e8;
	text-align:center;
	text-decoration:none;
	margin:0 auto;
}
#top2_more a:hover{
	color:#fff;
	background:#00a3e8;
}
#top3{
	margin:0 auto 120px;
}
#top3 article{
	display:flex;
}
#top3_l,
#top3_r{
	width:50%;
	flex:none;
	position:relative;
}
#top3_l img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	position:relative;
	z-index:1;
}
#top3_l .comment{
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	color:#fff;
}
#top3_l h2{
	font-size:36px;
	font-weight:normal;
}
#top3_l h2 .eng{
	font-size:clamp(115px,11.979dvw,230px);
	display:block;
	line-height:1em;
	letter-spacing:-0.04em;
}
#top3_l h2 .jp{
	text-align:right;
	display:block;
	padding-right:5%;
}
#top3_l p{
	font-size:clamp(63px,6.5625dvw,126px);
	display:block;
	line-height:1em;
	letter-spacing:-0.04em;
}
#top3_r{
	display:flex;
	align-items:center;
	justify-content:center;
	background:url('../images/index/bg2.webp') no-repeat center left;
	background-size:cover;
}
#top3_r .comment{
	width:460px;
	text-align:center;
	font-size:24px;
	line-height:1.8em;
}
#top3_r .comment p{
	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;
}
#top3_r .comment .more{
	padding:30% 0 0;
}
#top3_r .comment .more a{
	display:block;
	border:3px solid #00a3e8;
	line-height:56px;
	border-radius:31px;
	font-size:20px;
	color:#00a3e8;
	text-align:center;
	text-decoration:none;
	margin:0 auto;
	background:#fff;
}
#top3_r .comment .more a:hover{
	color:#fff;
	background:#00a3e8;
}


#news{
	margin:0 auto 105px;
	position:relative;
}
#news h2{
	font-size:36px;
	font-family: "tbudrgothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
	margin:0 auto 30px;
	text-align:center;
}
#news h2 .eng{
	font-size:18px;
	color:#36b1eb;
	display:block;
}
#news article{
	max-width:940px;
	margin:0 auto;
	border-top:3px double #cccccc;
	border-bottom:3px double #cccccc;
	padding:30px 20px;
	max-height:336px;
	box-sizing:border-box;
	overflow:auto;
}
#news article dl{
	display:flex;
	gap:40px;
	margin-bottom:40px;
}
#news article dt{
	width:90px;
	text-align:center;
	flex:none;
	box-sizing:border-box;
	color:#00a3e8;
	text-align:center;
}
.category{
	font-size:12px;
	border:1px solid #00a3e8;
	line-height:14px;
	border-radius:8px;
	display:block;
}
.category3{
	background:#00a3e8;
	color:#fff;
}
#news article dd{
	width:calc(100% - 130px);
	box-sizing:border-box;
	flex:none;
}