#mainimage{
	height:calc(100dvh - 164px);
	overflow:hidden;
	position:relative;
}
#banner90th{
	position:absolute;
	bottom:0;
	right:0;
	width:266px;
	height:266px;
	border-radius:50%;
	z-index:10;
}
#banner90th video{
	display:block;
	position:relative;
	top:-112px;
	left:-100px;
}
#mainimage_first{
	height:100%;
	position:relative;
	z-index:2;
animation: fadeout 3s ease-in 7s 1 normal forwards;
}
#mainimage_last{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	animation: fadein 3s ease-in 1s 1 normal forwards;
	opacity:0;
}
#mainimage_last:after{
	display:block;
	width:100%;
	height:100%;
	content:"";
	background: linear-gradient(to right, rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.6) 20%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 100%);
	z-index:2;
	position:absolute;
	top:0;
	left:0;
}
@keyframes fadeout {
  0% {
     opacity: 1;
  }
  100% {
     opacity: 0;
  }
}
@keyframes fadein {
  0% {
     opacity: 0;
  }
  100% {
     opacity: 1;
  }
}
#effectimg{
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#sakura__container{
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
#mainimage_first img,
#mainimage_last img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	position:relative;
	z-index:1;
}
#mainimage_catch{
	position:absolute;
	z-index:3;
	top:calc(120px + 2.6dvw);
	left:3%;
	line-height:1.3em;
	writing-mode: vertical-rl;
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 600;
	font-style: normal;
	color:#9f8b22;
	font-size:clamp(36px,2.6dvw,50px);
}
#index_nav{
	border-top:2px solid #8e9094;
	border-bottom:2px solid #8e9094;
	padding:20px 0;
	display:flex;
	margin:0 auto 70px;
}
.index_tel{
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 400;
	font-style: normal;
	display:flex;
	flex-direction:column;
	justify-content:center;
	text-align:center;
	align-items:center;
	padding:0 1.8dvw;
	white-space:nowrap;
}
.index_tel strong{
	font-weight:500;
	color:#2e3866;
	font-size:36px;
	display:block;
}
#index_nav ul{
	width:100%;
	display:flex;
}
#index_nav ul li{
	width:25%;
	border-left:2px solid #8e9094;
	box-sizing:border-box;
}
#index_nav ul li a{
	display:block;
	text-align:center;
	font-size:clamp(18px,1.25dvw,24px);
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 500;
	font-style: normal;
	text-decoration:none;
	height:120px;
	box-sizing:border-box;
}
#index_nav ul li a .icon{
	display:block;
	height:90px;
}
#index_nav ul li a .link_text img{
	vertical-align:middle;
	width:23px;
	margin-left:10px;
}
#index_nav ul li a .icon img{
	display:block;
	margin:0 auto;
}
#index_nav ul li a:hover{
	background:#ebf0ed;
}
main h2{
	font-size:30px;
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin:0 auto 20px;
}
#pickup{
	max-width:1150px;
	margin:0 auto 100px;
}
#pickup article{
	display:flex;
	flex-wrap:wrap;
	gap:50px;
}
#pickup article dl{
	width:calc((100% - 100px) / 3);
}
#pickup article dl dt{
	height:250px;
	margin:0 auto 12px;
}
#pickup article dl dt img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
#pickup .news_header{
	display:flex;
	justify-content:space-between;
	margin:0 auto 12px;
}
#pickup .news_header time{
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	color:#40a8c4;
}
span.cat{
	line-height:30px;
	width:190px;
	border-radius:15px;
	color:#fff;
	text-align:center;
	flex:none;
	display:block;
	background:#2e3866;
	font-size:16px;
}
#pickup a{
	color:#2c2e37;
	text-decoration:none;
}
#pickup a:hover{
	text-decoration:underline;
}
#kakaritsukei{
	margin-bottom:60px;
	text-align:center;
}
#news{
	margin:0 auto 150px;
	max-width:960px;
}
#news article{
	height:350px;
	overflow:auto;
}
#news_nav{
	border-bottom:1px solid #6298a7;
}
#news_nav ul{
	display:flex;
	gap:10px;
}
#news_nav ul li{
	min-width:150px;
}
#news_nav ul li:first-child{
	width:100px;
	min-width:100px;
}
#news_nav ul li a{
	padding:0 15px;
	display:block;
	text-align:center;
	white-space:nowrap;
	text-decoration:none;
	color:#6298a7;
	line-height:30px;
	background:#f0f0f0;
	font-size:16px;
}
#news_nav ul li a:hover{
	color:#fff;
	background:#6298a7;
}
#news_nav ul li a.active{
	color:#fff;
	background:#6298a7;
}
.news_inner dl{
	display:flex;
	padding:15px 0;
	gap:30px;
	border-bottom:2px dotted #d5d5d7;
}
.news_inner dl dt{
	width:330px;
	display:flex;
	flex:none;
	justify-content:space-between;
}
.news_inner dl dt time{
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	color:#40a8c4;
}
.news_inner dl dd{
	width:calc(100% - 360px);
	display:flex;
}
.news_inner a{
	color:#2c2e37;
	text-decoration:none;
}
.news_inner a:hover{
	text-decoration:underline;
}
#news2,#news3,#news4,#news5,#news6{
	display:none;
}
#news .more{
	width:420px;
	margin:0 auto;
}
#news .more a{
	display:block;
	color:#6298a7;
	text-align:center;
	line-height:48px;
	border-radius:25px;
	border:1px solid #6298a7;
	font-size:24px;
	text-decoration:none;
}
#news .more a:hover{
	background:#6298a7;
	color:#fff;
}
#top1{
	max-width:1700px;
	padding:0 15px;
	box-sizing:border-box;
	margin:0 auto 80px;
	width:100%;
}
#top1 ul{
	list-style:none;
	padding:0;
	display:flex;
	gap:12px;
}
#top1 ul li{
	width:calc((100% - 24px) / 3);
}
#top1 ul li a{
	display:block;
	position:relative;
	text-decoration:none;
}
#top1 ul li a img{
	display:block;
	width:100%;
	border-radius:10px;
	position:relative;
	z-index:1;
}
#top1 ul li a strong{
	position:absolute;
	display:block;
	width:90%;
	padding:0 0 0 20px;
	box-sizing:border-box;
	line-height:140px;
	font-size:clamp(24px,2.083dvw,40px);
	background:rgba(255,255,255,0.9) url('../images/common/arrow1.svg') no-repeat right 20px center;
	top:50px;
	left:0;
	z-index:2;
	color:#2e3866;
	font-family: "source-han-serif-jp-subset", sans-serif;
	font-weight: 400;
	font-style: normal;
}
#top2{
	max-width:960px;
	margin:0 auto 90px;
}
#top2 ul{
	padding:0;
	list-style:none;
}
#top2 ul li{
	margin:0 auto 10px;
}
#top2 ul li a{
	background:#fff url('../images/common/arrow1.svg') no-repeat right 20px center;
	background-size:30px auto;
	color:#2c2e37;
	text-decoration:none;
	border:1px solid #2c2e37;
	border-radius:10px;
	padding:0 20px;
	display:block;
	line-height:48px;
}
#top2 ul li a:hover{
	color:#fff;
	background:#c7a94c url('../images/common/arrow1.svg') no-repeat right 20px center;
	background-size:30px auto;
}
#top3{
	padding:265px 0 80px;
	color:#fff;
	text-align:center;
	background:url('../images/index/bg_recruit.webp') no-repeat top center;
	background-size:cover;
}
#top3 h2{
	font-weight:500;
	margin:0 auto 70px;
}
#top3 h3{
	width:180px;
	border:3px double #fff;
	box-sizing:border-box;
	line-height:30px;
	margin:0 auto 80px;
}
#top3 ul{
	display:flex;
	gap:10px;
	justify-content:center;
	padding:0;
	list-style:none;
}
#top3 ul li{
	width:180px;
}
#top3 ul li a{
	display:block;
	border:1px solid #fff;
	color:#fff;
	line-height:30px;
	text-align:center;
	font-weight:700;
	text-decoration:none;
}
#top3 ul li a:hover{
	background:#fff;
	color:#c7a94c;
}