main{
	background:url('../images/common/bg_main.png') repeat-x bottom center;
}
#mainimage{
	padding:50px 0 10px;
	position:relative;
	margin:0 auto 100px;
}
#mainimage figure{
	z-index:1;
	position:relative;
}

#mainslide {
	position: relative;
	width: 100%;
	height: 600px;
	overflow: hidden;
	white-space: nowrap;
}

#mainslide .slide-track {
	display: inline-block;
	white-space: nowrap;
	animation: scroll-left 40s linear infinite;
}

#mainslide img {
	width: 900px;
	height: 600px;
	display:inline-block;
}

@keyframes scroll-left {
	0% {
	transform: translateX(0);
	}
	100% {
	transform: translateX(-3600px); /* 900px * 4枚分 */
	}
}
#mainimage .catch{
	width:clamp(300px,25dvw,480px);
	height:calc(100% - 30px);
	background:#fff url('../images/common/bg2.webp') no-repeat bottom -550px right -550px;
	position:absolute;
	z-index:2;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
	writing-mode: vertical-rl;
	font-size:24px;
	bottom:0;
	right:20%;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	line-height:1.5em;
}
#mainimage .catch h2{
	font-size:60px;
	font-family: "honoka-maru-gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height:1.5em;
	margin-left:40px;
}
#news{
	max-width:1040px;
	margin:0 auto 155px;
}
#news h2{
	font-size:30px;
	padding:0 0 0 40px;
	margin:0 auto 40px;
	font-weight:normal;
}
#news article dl{
	border:1px solid #003889;
	border-radius:20px;
	margin:0 auto 10px;
}
#news article dl dt{
	background:#003889;
	padding:0 40px;
	border-radius:20px 20px 0 0;
	color:#fff;
	line-height:30px;
}
#news article dl dd{
	padding:15px 40px;
}
#news article dl dd h4{
	font-size:24px;
	margin:0 auto 15px;
}
#top1{
	padding:350px 0 0;
	margin-top:-270px;
	background:url('../images/common/bg1.webp') no-repeat top center;
}
#top1 h2{
	font-size:48px;
	padding:0 40px;
	max-width:1040px;
	margin:0 auto 50px;
	box-sizing:border-box;
}
#top1-1{
	max-width:1040px;
	margin:0 auto 100px;
	display:flex;
	gap:80px;
}
#top1-1_l{
	width:480px;
	padding:0 0 0 40px;
	box-sizing:border-box;
	flex:none;
}
#top1-1_r{
	width:480px;
	flex:none;
}
#top1-1_r ul{
	padding:0;
	list-style:none;
}
#top1-1_r ul li{
	margin-bottom:10px;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
#top1-1_r ul li a{
	display:block;
	padding:0 0 0 40px;
	color:#1b1b1b;
	text-decoration:none;
	line-height:70px;
	font-size:24px;
	background:#fff url('../images/common/arrow1.svg') no-repeat right 20px center;
}
#top1-1_r ul li a:hover{
	color:#fff;
	background:#003889 url('../images/common/arrow5.svg') no-repeat right 20px center;
}
#top1-2{
	max-width:1040px;
	margin:0 auto 55px;
}
#top1-2 h3,
#top1-3 h3{
	border-top:1px solid #1b1b1b;
	padding:0 0px;
	position:relative;
	margin:0 auto 20px;
}
main .h3_inner{
	padding:0 25px 0 40px;
	display:inline-block;
	background:#1b1b1b;
	color:#fff;
	position:relative;
	line-height:40px;
}
main .h3_inner:after{
	content:"";
	display:block;
	width: 30px;
	height: 40px;
	background: #1b1b1b;
	clip-path: polygon(0 0, 0 100%, 100% 0);
	position:absolute;
	top:0;
	right:-30px;
}
#top1-2 ul{
	list-style:none;
	padding:0;
	gap:70px;
	display:flex;
}
#top1-2 ul li{
	width:calc((100% - 140px) / 3);
}
#top1-2 ul li a{
	display:block;
	height:280px;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
	border-radius:20px;
	color:#1b1b1b;
	text-decoration:none;
}
#top1-2 ul li a figure{
	display:block;
	height:100%;
}
#top1-2 ul li a figcaption{
	display:block;
	line-height:60px;
	text-align:center;
	background:url('../images/common/arrow2.svg') no-repeat right 20px center;
}
#top1-2 ul li a figure img{
	display:block;
	width:calc(100% - 80px);
	height:calc(100% - 60px);
	object-fit:contain;
	margin:0 auto;
}
#top1-3{
	max-width:1040px;
	margin:0 auto 75px;
}
#top1-3 ul{
	display:flex;
	gap:80px;
	list-style:none;
	align-items:center;
	padding:0 0 0 40px;
}
#top2{
	padding:0 40px;
	margin:0 auto 110px;
}
#top2_inner{
	max-width:1360px;
	margin:0 auto;
	background:#fff;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
}
#top2 h2{
	font-size:24px;
}
#top2 h2 .h3_inner{
	line-height:50px;
}
#top2 h2 .h3_inner:after{
	height:50px;
}
#top2-1{
	display:flex;
	gap:40px;
	padding-left:40px;
	padding-right:clamp(40px,6.25dvw,120px);
	box-sizing:border-box;
	margin:0 auto 90px;
}
#top2-1 figure{
	width:480px;
	flex:none;
	padding:100px 0 0;
}
#top2-1 .text{
	width:calc(100% - 520px);
	flex:none;
}
#top2-1 h3{
	background:#003889;
	color:#fff;
	margin:0 0 35px;
	padding:0 40px;
	font-size:30px;
	line-height:60px;
}
#top2-1 .text p{
	margin:0 0 60px 40px;
}
#top2-1 .text dl{
	margin:0 0 0 40px;
	display:flex;
	flex-wrap:wrap;
	gap:25px 20px;
}
#top2-1 .text dt{
	width:120px;
	flex:none;
}
#top2-1 .text dt strong{
	border:1px solid #003889;
	line-height:38px;
	text-align:center;
	display:block;
	border-radius:20px;
}
#top2-1 .text dd{
	width:calc(100% - 140px);
	flex:none;
}
#top2-1 .text dd:last-child{
	line-height:40px;
}
#top2-1 .text a{
	padding:0 20px 0 0;
	background:url('../images/common/arrow3.svg') no-repeat right center;
}
#top2-2{
	padding:0 0 40px;
}
#top2-2 h5{
	text-align:center;
	font-size:24px;
	margin:0 auto 20px;
}
#top2-2 h5 img{
	vertical-align:middle;
	margin:0 5px;
}
#top2-2 h5 a{
	color:#1b1b1b;
	text-decoration:none;
}
#top2-2 p{
	text-align:center;
}
#instagram_wrap{
	padding:30px 0 60px;
}
#instagram_wrap ul{
	list-style:none;
}
#instagram_wrap ul li{
	padding:0 10px;
}
#instagram_wrap ul li img{
	display:block;
	border-radius:20px;
}
#top3{
	display:flex;
	justify-content:flex-end;
	padding:0 0 0 40px;
}
#top3_inner{
	width:calc(100% - ((100% - 1400px) /2));
	display:flex;
	justify-content:flex-end;
	flex:none;
}
#top3_inner article{
	width:calc(100% - 119px);
	padding:45px 0 0 80px;
	height:361px;
	box-sizing:border-box;
	background:#f9f9f9 url('../images/common/bg2.webp') no-repeat center right;
	position:relative;
}
#top3_inner article:before{
	position:absolute;
	top:0;
	left:-119px;
	content:"";
	display:block;
	width:119px;
	height:361px;
	background:url('../images/common/bg_recruit.webp') no-repeat center right;
}
#top3 h2{
	margin-bottom:50px;
	font-size:48px;
}
#top3 .more{
	padding:50px 0 0;
}
#top3 a{
	display:block;
	width:220px;
	color:#1b1b1b;
	text-decoration:none;
	border-bottom:1px solid #1b1b1b;
	font-size:24px;
	background:url('../images/common/arrow2.svg') no-repeat right center;
}