@charset "UTF-8";

/*******************************************************************************
	ページタイトル
 *******************************************************************************/
.common_page-title {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
	font-weight: bold;
	font-size: clamp(1.375rem, -0.141rem + 3.16vw, 1.938rem);
	text-align: center;
	flex-direction: column;
	align-items: center;
	font-family: "Noto Serif JP";
}

.common_page-title span {
	display: block;
	font-weight: normal;
	font-size: clamp(0.875rem, 0.076rem + 1.4vw, 1rem);
	text-transform: uppercase;
}

.page_visual-container {
	display: flex;
	position: relative;
	width: 100%;
	justify-content: center;
}
.page_visual-img {
	width: 100%;
	max-height: 635px;
	min-height: 245px;
	height: 100%;

	aspect-ratio: 384/127;
}
.page_visual-img img {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}
.page_visual-contents {
	display: flex;
	position: absolute;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	row-gap: 10px;
}
.page_visual-logo {
	max-width: 92px;
	width: clamp(3.25rem, -3.487rem + 14.04vw, 5.75rem);

	aspect-ratio: 1/1;
}

.page_visual-logo img {
	width: 100%;
}
.page_visual-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-family: "Noto Serif JP";
}

.page_visual-title {
	display: flex;
	position: relative;
	color: #ffffff;
	font-weight: 600;
	font-size: clamp(1.188rem, -0.834rem + 4.21vw, 1.938rem);
	justify-content: center;
	align-items: center;
}

.page_visual-blue {
	position: relative;
	z-index: 1;
	color: #296ecb;
}
.page_visual-white {
	display: block;
	position: absolute;
	z-index: 0;
	text-shadow: 0 0 3px #ffffff;

	inset: 0;
	-webkit-text-stroke: 2px #ffffff;
}
.page_visual-text > span {
	color: #ffffff;
	font-weight: normal;
	font-size: clamp(0.938rem, 0.769rem + 0.35vw, 1rem);
	text-transform: uppercase;
	text-shadow: 0px 0px 3px #296ecb;
}
@media screen and (min-width: 768px) {
	.common_page-title {
		width: 95%;
	}
	.page_visual-contents {
		padding-top: 70px;

		row-gap: 10px;
	}
	.page_visual-text {
		row-gap: 5px;
	}
}

@media screen and (max-width: 767px) {
	.common_page-title {
		width: 100%;
		padding: 0 20px;
	}
	.page_visual-container {
		align-items: center;
	}
	.page_visual-contents {
		row-gap: 5px;
	}
}




.text_ellipsis {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.multi_ellipsis {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;

	-webkit-line-clamp: 2;
}
/*.text_ellipsis a , .multi_ellipsis , .scalable_ellipsis a {
	display: block;
}*/
@media screen and (min-width: 768px) {
	.scalable_ellipsis {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}
@media screen and (max-width: 767px) {
	.scalable_ellipsis {
		display: -webkit-box;
		overflow: hidden;
		word-break: break-all;
		-webkit-box-orient: vertical;

		-webkit-line-clamp: 2;
	}
}



.common_job-link {
	display: flex;
	position: relative;
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

.common_job-link:hover {
	opacity: 0.6;
}

.common_job-link::before , .common_job-link::after {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
}

.common_job-link::before {
	opacity: 0.66;
}

.common_job-link::after {
	top: clamp(0rem, -1.684rem + 3.51vw, 0.625rem);
	right: clamp(0rem, -1.684rem + 3.51vw, 0.625rem);
	opacity: 0.5;
}

.common_job-link h3 {
	display: flex;
	position: relative;
	z-index: 5;
	color: #ffffff;
	font-weight: bold;
	font-size: clamp(1.125rem, 0.957rem + 0.35vw, 1.188rem);
	flex-direction: column;
	align-items: center;
}

.common_job-link h3 > span {
	display: flex;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	align-items: center;
}

.common_job-link i {
	font-size: clamp(1.25rem, -2.118rem + 7.02vw, 2.5rem);
	letter-spacing: 0 !important;
}





.recruit_link {
	padding: clamp(2.531rem, -4.29rem + 14.21vw, 5.063rem) 0;
	background-image: url(../images/recruit_link-bg.jpg);
}

.recruit_link::before {
	background-color: #142b8b;
}

.recruit_link::after {
	background-color: #000000;
}

.recruit_link h3 {
	row-gap: clamp(0.625rem, -0.217rem + 1.75vw, 0.938rem);
}

.recruit_link h3 > span {
	font-size: clamp(1.438rem, -1.257rem + 5.61vw, 2.438rem);
	column-gap: clamp(0.313rem, -1.372rem + 3.51vw, 0.938rem);
}


@media screen and (min-width: 768px) {
	.common_job-link {
		width: 95%;
	}
}

@media screen and (max-width: 767px) {
	.common_job-link {
		width: calc(100% - 40px);
	}
}
