@charset "utf-8";


/* top
---------------------------------------------------------------------*/

:root {
	--div-mgn: max(10vw,80px);
}


#main_img {
	position: relative;
	width:min(100%,1195px);
	height:auto;
	margin:0 auto 10vh;
}
	#main_img #viewer{
		position: relative;
		width: 100%;
		height: auto;
		overflow: hidden;
		margin: 0 auto;
	}
	#viewer img{
		width:100%;
		height:auto;
	}
@media(max-width: 600px){
	#main_img #viewer{
	}
}


.top_content{
	position: relative;
	width:min(100%,1195px);
	height:auto;
	
	font-family: "Yu Gothic", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 1rem;
	line-height:1.7;
	font-weight: 500;
	font-feature-settings : "palt";
	-webkit-text-size-adjust: none;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;

	margin:0 auto 10vh;
}

.top_news{
	margin:0 auto var(--div-mgn);
}
	.top_news h2 a{
		display:block;
		margin:0 auto 2rem;
	}
	.m_news{
		display:block;
		width:min(30%,176px);
		margin:0 auto;
	}
	.news_slider{
		position:relative;
		display:flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: stretch;
		width:min(90%,1195px);
		margin:0 auto;
		box-sizing: border-box;
	}
	.news_slider li{
		display:block;
		align-items: stretch;
		border:1px solid rgba(255 255 255 /.5);
		border-width:0 1px 0 0;
		box-sizing: border-box;
	}
	.news_slider li a{
		display:block;
		width:100%;
		height:8rem;
		padding:16px;
		color:#fff;
		font-size:1.3rem;
		line-height: 1.5;
		box-sizing: border-box;
		transition:.3s;
	}
	.news_slider li time{
		display:block;
		font-size:1rem;
		margin-bottom:5px;
	}

.rm_item{
	display:flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	width:min(100%,1195px);
	margin:0 auto var(--div-mgn);
}
	.rm_item > div{
		width:50%;
		box-sizing:border-box;
	}
	.rm_item > div:nth-of-type(1){
		padding-right:6vw;
		color:#fff;
		font-size:1.1rem;
		line-height:2;
	}
	.rm_item > div h2,
	.rm_item > div b{
		font-size:clamp(25px,2.8vw,42px);
		font-weight: bold;
		margin-bottom:1vw;
	}
	.rm_item > div b{
		display:block;
		font-size:clamp(16px,1.4vw,19px);
		line-height:1.4;
	}
	.rm_item > div p{
		text-align: justify;
		text-justify: inter-word;
	}
	.rm_rvs > div:nth-of-type(1){
		padding:0 0 0 6vw;
		transform:translateX(100%);
	}
	.rm_rvs > div:nth-of-type(2){
		transform:translateX(-100%);
	}
@media(max-width: 1220px){
	.rm_item{
		width:min(96%,1195px);
	}
}
@media(max-width: 768px){
	.rm_item{
		display:block;
	}
	.rm_item > div{
		width:100%;
	}
	.rm_item > div{
		padding:0 !important;
		margin:0 auto 4rem;
	}
	.rm_rvs > div:nth-of-type(1),
	.rm_rvs > div:nth-of-type(2){
		padding:0;
		transform:none;
	}
}


.mn_acl{
	display:flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	margin:0 auto var(--div-mgn);
}
	.mn_acl > div{
		width:31%;
		overflow: hidden;
		background:#fff;
		box-shadow:0 0 3px rgba(0 0 0 / .4), 0 0 6px rgba(0 0 0 / .2), 0 0 9px rgba(0 0 0 / .1);
		border-radius: 4px;
	}
	.mn_acl > div > a{
		display:block;
		text-decoration: none !important;
	}
	.mn_acl > div > a > div:nth-of-type(2){
		padding:2rem 2rem 1.5rem;
	}
	.mn_acl > div h2,
	.mn_acl > div p{
		font-size:1rem;
		line-height:1.4;
	}
	.mn_acl > div h2{
		text-align: center;
		font-family: "新ゴ R";
		font-size:1.5rem;
		font-weight: bold;
		line-height:1.2;
		margin:0 auto 1.5rem;
	}
	.mn_acl > div > a > div:nth-of-type(1){
		position:relative;
		height:0;
		padding-bottom:60%;
		overflow: hidden;
	}
	.mn_acl > div > a > div > img{
		position:absolute;
		transform-origin: center;
		transition: .3s;
	}
	.mn_acl > div > a:hover > div > img{
		transform:scale(1.04);
	}
@media(max-width: 1220px){
	.mn_acl{
		width:min(96%,1195px);
	}
}
@media(max-width: 600px){
	.mn_acl{
		display:block;
	}
	.mn_acl > div{
		width:min(90%,370px);
		margin:0 auto 2rem;
	}
}




.bn_nukunuku{
	position:relative;
	width:min(85%,660px);
	background:#fff;
	box-shadow:0 0 3px rgba(0 0 0 / .4), 0 0 6px rgba(0 0 0 / .2), 0 0 9px rgba(0 0 0 / .1);
	border-radius: 4px;
	overflow: hidden;
	margin:0 auto var(--div-mgn);
}
	.bn_nukunuku a{
		display:flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		transform-origin: center;
		transition: .3s ease;
	}
	.bn_nukunuku a img{
		display:block;
		width:50%;
	}
	.bn_nukunuku a:hover{
		transform:scale(1.03);
	}
@media(max-width: 414px){
	.bn_nukunuku a{
		display:block;

	}
	.bn_nukunuku a img{
		width:100%;
		margin:0 auto;
	}
}



.mn_etc{
	display:flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	width:min(100%,1195px);
	margin:0 auto var(--div-mgn);
}
	.mn_etc > div{
		position:relative;
		width:48%;
		height:25vh;
		box-shadow:0 0 3px rgba(0 0 0 / .4), 0 0 6px rgba(0 0 0 / .2), 0 0 9px rgba(0 0 0 / .1);
		border-radius: 4px;
		overflow: hidden;
	}
	.mn_etc > div > a{
		position:relative;
		display:block;
		width:100%;
		height:100%;
		background-image:url("/top/img_co.webp");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
		transform-origin: center;
		transition: .3s ease;
	}
	.mn_etc > div:nth-last-of-type(2) > a{
		background-image:url("/top/img_job.webp");
	}
	.mn_etc > div > a:hover{
		transform:scale(1.1);
	}
	.mn_etc > div > p{
		position:absolute;
		display:block;
		top:50%;
		width:100%;
		text-align: center;
		color:#fff;
		font-family: "新ゴ R";
		font-size:2rem;
		text-shadow:0 0 3px rgba(0 0 0 / .4), 0 0 6px rgba(0 0 0 / .2), 0 0 9px rgba(0 0 0 / .1);
		transform:translateY(-50%);
		z-index: 1;
		pointer-events: none;
	}
@media(max-width: 414px){
	.mn_etc{
		display:block;
		width:85%;
	}
	.mn_etc > div{
		width:100%;
		height:25vh;
		margin:0 auto 10px;
	}
}





.btn_more a{
	position: relative;
	display: block;
	width:min(70%,220px);
	padding: .6rem 2rem;
	text-align: center; 
	font-family: 'Noto Sans JP', serif;
	font-size: 1rem;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid rgba(255 255 255 / 0.3);
	box-sizing: border-box;
	margin: 0;
	margin-inline: auto;
	cursor: pointer;
	z-index:999;
	transition: all 0.3s ease;
}
	.btn_more a:hover {
		letter-spacing: 0.2em;
	}
	.btn_more a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: -2rem;
		width: 4rem;
		height: 1px;
		background: rgba(255 255 255 / 0.3);
		transition: all 0.3s ease;
	}

	.btn_more a:hover::after {
		animation: OutIn-Line 700ms;
		transition: all 0.3s;
	}

	@keyframes OutIn-Line {
	0% {
		-webkit-transform: scale3d(1,1,1);
		transform: scale3d(1,1,1);
		-webkit-transform-origin: 100% 0;
		transform-origin: 100% 0;
	}

	50% {
		-webkit-transform: scale3d(0,1,1);
		transform: scale3d(0,1,1);
		-webkit-transform-origin: 100% 0;
		transform-origin: 100% 0;
	}

	50.1% {
		-webkit-transform: scale3d(0,1,1);
		transform: scale3d(0,1,1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}

	100% {
		-webkit-transform: scale3d(1,1,1);
		transform: scale3d(1,1,1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}







