@charset "UTF-8";

/******************
ページ共通
******************/

.recruit-wrapper,
.recruit-main {
	background-color: #eeecec;
}

/*ヘッダー*/
.recruit-header {
	width: 100%;
	height: 100px;
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: .3s all ease;
}
.recruit-header.scrolled {
	background-color: #eeecec;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.recruit-header-inner {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.recruit-header-logo {
	width: 350px;
	margin-left: 2%;
}
.recruit-header-logo a {
	display: flex;
	align-items: center;
}
.recruit-header-logo img {
	width: 210px;
}
.recruit-header-logo span {
	white-space: nowrap;
	margin-left: 1em;
	font-weight: 500;
	font-size: 1.5rem;
}
.recruit-header-contents {
	width: calc(95.5% - 372px);
	margin-right: 2.5%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.header-entry-btn {
	margin-right: 3em;
}
.header-entry-btn a {
	display: block;
	width: 220px;
	background-color: #db0209;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: .1rem;
	text-align: center;
	border-radius: 5px;
	padding: 0.5em 0;
	overflow: hidden;
	position: relative;
}
.header-entry-btn a:before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
	transition: .5s;
}
.header-entry-btn a:hover:before {
	left: 100%;
}
.recruit-menu-btn {
	background: transparent;
	border: 0;
	display: block;
	padding: 0;
	display: block;
	width: 55px;
	height: 55px;
	z-index: 10000;
	position: relative;
	cursor: pointer;
}
.recruit-menu-btn span:nth-child(1),
.recruit-menu-btn span:nth-child(2) {
	position: absolute;
	left: 12%;
	width: 76%;
	height: 2px;
	background-color: #262626;
	transition: .3s all ease;
}
.recruit-menu-btn span:nth-child(1) {
	top: 12px;
}
.recruit-menu-btn span:nth-child(2) {
	top: 21px;
}
.recruit-menu-btn span:nth-child(3):before {
	content: "MENU";
	white-space: nowrap;
	font-size: 1.4rem;
	font-weight: 600;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 8px;
	left: 0;
	transition: .3s all ease;
	color: #323232;
}

.recruit-menu-btn.open span:nth-child(1),
.recruit-menu-btn.open span:nth-child(2) {
	background-color: #fff;
	top: 16px;
}
.recruit-menu-btn.open span:nth-child(1) {
	transform: rotate(25deg);
}
.recruit-menu-btn.open span:nth-child(2) {
	transform: rotate(-25deg);
}
.recruit-menu-btn.open span:nth-child(3):before {
	color: #fff;
	content: "CLOSE";
}


.recruit-header-nav {
	position: fixed;
	top: 0;
	right: -490px;
	height: 100vh;
	width: 100%;
	max-width: 480px;
	background-color: #db0209;
	z-index: 9999;
	overflow-y: auto;
	transition: .3s all ease;
	box-shadow: -5px 0 5px rgba(0, 0, 0, 0.2);
}
.recruit-header-nav.open {
	right: 0;
}
.recruit-header-nav nav {
	padding: 6em 4em;
}

.recruit-header-nav nav ul li {
	list-style: none;
}
.recruit-header-nav nav ul li:not(:last-child) {
	margin-bottom: 1em;
}
.recruit-header-nav nav ul li a {
	display: inline-block;
	color: #fff;
	font-size: 2rem;
	position: relative;
	padding-left: 20px;
}
.recruit-header-nav nav ul li a:before {
	content: "";
	position: absolute;
	top: 14px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 10px solid #fff;
	border-right: 0;
}
.recruit-header-nav nav ul li a:after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .3s;
}
.recruit-header-nav nav ul li a:hover:after {
	transform: scaleX(1);
	transform-origin: left;
}
.recruit-header-nav .has-child p {
	color: #fff;
	font-size: 2rem;
	margin-bottom: 0.5em;
}
.recruit-header-nav .has-child ul {
	margin-left: 1em;
}
.recruit-header-nav .has-child ul li:not(last-child) {
	margin-bottom: 0.5em;
}
.recruit-header-nav .has-child ul li a {
	font-size: 1.6rem;
	padding: 0 0.5rem 0 calc(0.5rem + 10px);
}
.recruit-header-nav .has-child ul li a:before {
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 8px solid #fff;
	top: 12px;
}
.recruit-header-nav .entry {
	margin-top: 3em;
}
.recruit-header-nav .entry a {
	display: block;
	background-color: #fff;
	text-align: center;
	padding: 1em 0;
	border-radius: 5px;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 2rem;
	line-height: 150%;
	letter-spacing: .1rem;
	color: #db0209;
	transition: .3s all ease;
}
.recruit-header-nav .entry a:hover {
	color: #e0878a;
}

@media screen and (max-width: 1024px) {
	.recruit-header {
		height: 80px;
	}
	.recruit-header-logo {
		width: 310px;
	}
	.recruit-header-logo img {
		width: 180px;
	}
	.recruit-header-contents {
		width: calc(95.5% - 310px);
	}
	
	.header-entry-btn {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.recruit-header {
		height: 60px;
	}
	.recruit-header-logo {
		width: 225px;
	}
	.recruit-header-logo img {
		width: 130px;
	}
	.recruit-header-logo span {
		margin-left: 0.5em;
		font-size: 1.1rem;
	}
	.recruit-header-contents {
		width: calc(95.5% - 225px);
	}
	
	.recruit-menu-btn {
		width: 45px;
		height: 50px;
	}
	.recruit-menu-btn span:nth-child(3):before {
		font-size: 1.2rem;
	}
	
	.recruit-header-nav {
		right: calc(-100% - 10px);
		max-width: 100%;
	}
	.recruit-header-nav nav {
		padding: 6em 0;
		width: 90%;
		margin: 0 auto;
	}
	.recruit-header-nav nav ul li {
		border-bottom: 1px dashed #db7b7b;
	}
	.recruit-header-nav nav ul li:not(:last-child) {
		margin-bottom: 0;
	}
	.recruit-header-nav nav ul li.has-child {
		padding: 1em 0;
	}
	.recruit-header-nav nav ul li a {
		display: block;
		font-size: 1.6rem;
		padding-top: 1em;
		padding-bottom: 1em;
	}
	.recruit-header-nav nav ul li a:before {
		top: 28px;
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 8px solid #fff;
	}
	.recruit-header-nav nav ul li a:hover:after {
		display: none;
	}
	.recruit-header-nav .has-child p {
		font-size: 1.6rem;
	}
	.recruit-header-nav .has-child ul li {
		border-bottom: 0;
	}
	.recruit-header-nav .has-child ul li:not(:last-child) {
		margin-bottom: 0.5em !important;
	}
	.recruit-header-nav .has-child ul li a {
		display: inline-block;
	}
	.recruit-header-nav .entry a {
		font-size: 1.8rem;
	}
}

/*フッター*/
.recruit-footer {
	
}
.recruit-footer-upper {
	color: #fff;
	background: #db0209;
	background: linear-gradient(90deg, #e0551f 0%, #db2026 50%, #d3217a 100%);
	overflow: hidden;
}
.recruit-footer-upper .recruit-footer-inner {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 6em 0;
	position: relative;
}
.recruit-footer-upper .text-area {
	width: 50%;
}
.recruit-footer-upper .text-area h2 {
	font-family: "Montserrat", sans-serif;
	font-size: clamp(2.8rem, 4.5vw, 7.2rem);
	font-style: italic;
}
.recruit-footer-upper .faq-link {
	margin-top: 2em;
}
.recruit-footer-upper .faq-link a {
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	border-bottom: 1px solid #fff;
	padding: 0.5rem calc(1rem + 40px) 0.5rem 1rem;
	position: relative;
}
.recruit-footer-upper .faq-link a:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	margin: auto;
	width: 20px;
	height: 6px;
	background: url(./images/common/arrow_wht.png) center / 100% no-repeat;
	transition: .1s all ease;
}
.recruit-footer-upper .faq-link a:hover:before {
	right: 0.7rem;
}
.recruit-footer-upper .link-area {
	position: absolute;
	top: 50%;
	right: 5%;
    transform: translateY(-50%);
	width: 40%;
	aspect-ratio: 1/1;
}
.recruit-footer-upper .link-area a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	color: #fff;
	border-radius: 50%;
	position: relative;
	transition: .3s all ease;
}
.recruit-footer-upper .link-area a:hover {
	opacity: 0.6;
}
.recruit-footer-upper .link-area a:before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px dashed #fff;
	animation: rotate 40s linear infinite;
	transition: .3s all ease;
}
.recruit-footer-upper .link-area a:hover:before {
	inset: -10px;
}
@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
.recruit-footer-upper .link-area .eng {
	font-family: "Montserrat", sans-serif;
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 120%;
}
.recruit-footer-upper .link-area .jp {
	font-size: 1.4rem;
	letter-spacing: .1rem;
	position: relative;
	padding-bottom: 30px;
}
.recruit-footer-upper .link-area .jp:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 35px;
	height: 10px;
	background: url(./images/common/arrow_wht.png) center / 100% no-repeat;
}
.recruit-footer-lower {
	
}
.recruit-footer-lower .recruit-footer-inner {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 4em 0 2em;
	display: flex;
	justify-content: space-between;
}
.recruit-footer-info {
	
}
.recruit-footer-logo {
	width: 360px;
	margin-bottom: 3em;
}
.recruit-footer-logo a {
	display: flex;
	align-items: center;
}
.recruit-footer-logo img {
	width: 220px;
}
.recruit-footer-logo span {
	white-space: nowrap;
	margin-left: 1em;
	font-weight: 500;
	font-size: 1.5rem;
}
.corporate-link {
	margin-bottom: 4em;
}
.corporate-link a {
	display: inline-block;
	font-size: 1.4rem;
	border-bottom: 1px solid #262626;
	padding: 0.5rem 25px 0.5rem 0;
	position: relative;
}
.corporate-link a:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 13px;
	height: 13px;
	background: url(./images/common/h_ext_link_icon.png) center / 100% no-repeat;
}
.recruit-copyright {
	font-size: 1.2rem;
}

.recruit-footer-menu {
	display: flex;
	gap: 2em;
	width: calc(90% - 360px);
	max-width: 800px;
}
.recruit-footer-menu ul {
	width: 33.33%;
}
.recruit-footer-menu ul li {
	list-style: none;
}
.recruit-footer-menu ul li:not(:last-child) {
	margin-bottom: 1em;
}
.recruit-footer-menu ul li a {
	font-size: 1.4rem;
}

.recruit-page-top {
	position: fixed;
	bottom: 30px;
	right: 2.5%;
	width: 60px;
	z-index: 10;
	display: none;
}
.recruit-page-top a {
	display: block;
}
@media screen and (max-width: 1280px) {
	.recruit-footer-menu {
		width: calc(90% - 300px);
	}
}
@media screen and (max-width: 1024px) {
	.recruit-footer-upper .text-area {
		width: 55%;
	}
	.recruit-footer-upper .link-area {
		right: 0;
	}
	.recruit-footer-upper .faq-link a {
		font-size: 1.6rem;
	}
	
	.recruit-footer-upper .link-area .eng {
		font-size: 3.2rem;
	}
	.recruit-footer-upper .link-area .jp {
		padding-bottom: 20px;
	}
	.recruit-footer-upper .link-area .jp:before {
		width: 25px;
		height: 9px;
	}

	.recruit-footer-lower .recruit-footer-inner {
		flex-direction: column;
	}
	.recruit-footer-info {
		order: 2;
	}
	.recruit-footer-menu {
		width: 100%;
		max-width: 100%;
		margin-bottom: 4em;
	}
	
	.recruit-footer-logo {
		width: 305px;
	}
	.recruit-footer-logo img {
		width: 180px;
	}
	.recruit-footer-logo span {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 768px) {
	.recruit-footer-upper .recruit-footer-inner {
		padding: 4em 0;
	}
	.recruit-footer-upper .text-area {
		width: 100%;
		margin-bottom: 4em;
		text-align: center;
	}
	.recruit-footer-upper .link-area {
		position: static;
		transform: none;
		width: 100%;
		max-width: 280px;
		margin: 0 auto;
	}
	.recruit-footer-upper .link-area .eng {
		font-size: 2.8rem;
	}
	
	.recruit-footer-lower .recruit-footer-inner {
		padding: 4em 0 1em;
	}
	
	.recruit-footer-menu {
		flex-wrap: wrap;
		gap: 0;
	}
	.recruit-footer-menu ul {
		width: 100%;
	}
	.recruit-footer-menu ul li:not(:last-child) {
		margin-bottom: 0;
	}
	.recruit-footer-menu ul li a {
		padding: 1em 0;
		display: block;
		border-bottom: 1px dashed #e6e6e6;
	}
	
	.recruit-footer-logo {
		width: 100%;
	}
	.recruit-footer-logo a {
		justify-content: center;
	}
	.recruit-footer-logo img {
		width: 130px;
	}
	.recruit-footer-logo span {
		font-size: 1.1rem;
	}
	.corporate-link {
		margin-bottom: 6em;
		text-align: center;
	}
	.corporate-link a {
		padding: 0.5rem 20px 0.5rem 0;
	}
	.corporate-link a:before {
		width: 12px;
		height: 12px;
	}
	.recruit-copyright {
		font-size: 1.1rem;
		text-align: center;
	}
	.recruit-page-top {
		bottom: 40px;
		width: 40px;
	}
}

/******************
リクルートトップ
******************/
/*トップ共通*/
.recruit-top-h2 {
	margin-bottom: 2em;
}
.recruit-top-h2 h2 {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2.4rem, 3.7vw, 5.2rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: .1rem;
	line-height: 150%;
}
.recruit-top-h2 p {
	font-family: "Montserrat", sans-serif;
	color: #db0209;
	font-size: 2rem;
	font-weight: 500;
	line-height: 120%;
}

@media screen and (max-width: 1024px) {
	.recruit-top-h2 p {
		font-size: 1.6rem;
	}
	
	
}

/*メインビジュアル*/

.recruit-main-visual {
	position: relative;
}
.recruit-main-visual .img-area {
	height: clamp( calc(100vw / 2), 100vh, calc(100vw * 8 / 11) );
}
.recruit-main-visual .img-area img {
	clip-path: circle(70.0% at 70% 50%);
	margin-left: 20%;
	object-fit: cover;
	width: 80%;
	height: 100%;
}
.recruit-main-visual .img-area img.sp {
	display: none;
}
.recruit-main-visual .top-h1 {
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
}
.recruit-main-visual .top-h1 h1 {
	font-family: "Noto Serif JP", serif;
	font-style: italic;
	font-size: clamp(3rem, 5.3vw, 9.5rem);
	font-weight: 700;
	line-height: 150%;
	letter-spacing: 0.6rem;
}
.recruit-main-visual .top-h1 h1 span {
	display: block;
}
.recruit-main-visual .top-h1 h1 span:nth-child(2) {
	transition-delay: 0.1s;
}
.recruit-main-visual .top-h1 .entry {
	max-width: 320px;
	margin-top: 2em;
	transition-delay: 0.2s;
}
.recruit-main-visual .top-h1 .entry a {
	display: block;
	background-color: #db0209;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 2rem;
	letter-spacing: .1rem;
	text-align: center;
	border-radius: 5px;
	padding: 0.7em 0;
	overflow: hidden;
	position: relative;
}
.recruit-main-visual .top-h1 .entry a:before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
	transition: .5s;
}
.recruit-main-visual .top-h1 .entry a:hover:before {
	left: 100%;
}

@media screen and (max-width: 1024px) {
	.recruit-main-visual .img-area {
		height: auto;
		overflow: hidden;
	}
	.recruit-main-visual .img-area img {
		aspect-ratio: 1/1;
		border-radius: 100% 0 100% 100%;
		clip-path: none;
		margin-left: 15%;
		width: 100%;
		margin-top: -10%;
	}
}
@media screen and (max-width: 640px) {
	.recruit-main-visual .img-area {
		height: calc(100svh - 180px);
		min-height: calc(100vw * 1.6);
		position:relative;
	}
	.recruit-main-visual .img-area:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 220px;
		background-color: #eeecec;
		-webkit-mask: radial-gradient(100% 220px at 50% 0, transparent 100%, black 100%);
		mask: radial-gradient(100% 220px at 50% 0, transparent 100%, black 100%);
	}
	.recruit-main-visual .img-area img {
		border-radius: 0;
		margin-left: 0;
		margin-top: 0;
	}
	.recruit-main-visual .img-area img.pc {
		display: none;
	}
	.recruit-main-visual .img-area img.sp {
		display: block;
	}
	.recruit-main-visual .top-h1 {
		position: static;
		transform: none;
	}
	.recruit-main-visual .top-h1 h1 {
		letter-spacing: 0.2rem;
		position: absolute;
		top: 25%;
		left: 5%;
	}
	.recruit-main-visual .top-h1 .entry {
		margin: 2em auto 0;
	}
}

/*メッセージ*/
.recruit-message {
	position: relative;
}
.recruit-message:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(./images/recruit/message_bkg.jpg) center/cover no-repeat;
	opacity: 0.17;
}
.recruit-message .section-wrap {
	position: relative;
	padding: 12em 0;
}
.recruit-message .section-wrap:before,
.recruit-message .section-wrap:after {
	content: "";
	width: 100%;
	height: 4em;
	position: absolute;
	left: 0;
}
.recruit-message .section-wrap:before {
	top: 0;
	background: linear-gradient(to bottom, #eeecec 0%, rgba(238,236,236,0) 100%);
}
.recruit-message .section-wrap:after {
	bottom: 0;
	background: linear-gradient(to top, #eeecec 0%, rgba(238,236,236,0) 100%);
}
.recruit-message .section-inner {
	
}
.recruit-message .section-flex {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10%;
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
}
.recruit-message .img-area {
	width: 28%;
	margin-left: 12%;
}
.recruit-message .img-area img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 100%;
}
.recruit-message .text-area {
	width: 50%;
}
.recruit-message .recruit-common-link {
	max-width: 320px;
	margin-top: 2em;
}
.recruit-message .recruit-common-link a {
	background-color: #db0209;
	color: #fff;
	font-weight: 500;
	display: block;
	border-radius: 10px;
	padding: 1.8rem calc(3rem + 35px) 1.8rem 3rem;
	position: relative;
	transition: .3s all ease;
}
.recruit-message .recruit-common-link a:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3rem;
	margin: auto;
	width: 20px;
	height: 6px;
	background: url(./images/common/arrow_wht.png) center / 100% no-repeat;
	transition: .1s all ease;
}
.recruit-message .recruit-common-link a:hover {
	background-color: #de4b50;
}
.recruit-message .recruit-common-link a:hover:before {
	right: 2.8rem;
	opacity: 0.6;
}
.recruit-message .company-logo {
	width: 45%;
	margin-top: 3em;
}
.recruit-message .company-logo img {
	width: 100%;
}

.message-img-item-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.message-img-item {
	position: absolute;
}
.message-img-item img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}
.message-img-item.img-2 {
	top: -6%;
	left: 20%;
	width: 9%;
	max-width: 135px;
}
.message-img-item.img-3 {
	top: 0;
	left: 2%;
	width: 14%;
	max-width: 220px;
}
.message-img-item.img-4 {
	bottom: 8%;
	right: 7%;
	width: 22%;
	max-width: 330px;
}
.message-img-item.img-5 {
	bottom: -10%;
	right: 31%;
	width: 16%;
	max-width: 240px;
}
@media screen and (min-width: 1800px) {
	.recruit-message .company-logo {
		width: 90%;
		max-width: 1300px;
		margin: 3em auto 0;
	}
	.recruit-message .company-logo img {
		max-width: 720px;
	}
	.message-img-item-wrap {
		width: 90%;
		max-width: 1300px;
		left: 50%;
		transform: translateX(-50%);
	}
	.message-img-item.img-2 {
		top: -2%;
		left: 11%;
	}
	.message-img-item.img-3 {
		top: 12%;
		left: -5%;
	}
	.message-img-item.img-4 {
		bottom: 15%;
		right: 3%;
	}
	.message-img-item.img-5 {
		bottom: -5%;
		right: 26%;
	}
}
@media screen and (max-width: 1024px) {
	.recruit-message .img-area {
		margin-left: 0;
	}
	.recruit-message .text-area {
		width: 62%;
	}
}
@media screen and (max-width: 768px) {
	.recruit-message {
		overflow: hidden;
	}
	.recruit-message .section-flex {
		flex-direction: column;
	}
	.recruit-message .img-area {
		width: 60%;
		margin-left: auto;
		margin-bottom: 2em;
	}
	.recruit-message .text-area {
		width: 100%;
		max-width: 460px;
	}
	.recruit-message .company-logo {
		min-width: 240px;
	}
	
	.message-img-item.img-2 {
		top: 5%;
		width: 22%;
	}
	.message-img-item.img-3 {
		top: 20%;
		left: -2%;
		width: 24%;
	}
	.message-img-item.img-4 {
		bottom: 10%;
		right: -2%;
		width: 27%;
	}
	.message-img-item.img-5 {
		bottom: 3%;
		right: 33%;
		width: 23%;
	}
}
@media screen and (max-width: 400px) {
	.recruit-message .img-area {
		width: 70%;
		margin-right: -5%;
	}
	.message-img-item.img-2 {
		width: 25%;
		left: 30%;
	}
	.message-img-item.img-3 {
		top: 16%;
		width: 27%;
	}
	
	.message-img-item.img-5 {
		bottom: 4%;
		right: 45%;
	}
}

/*働く環境を知る*/
.recruit-work {
	position: relative;
	padding-bottom: 6em;
}
.recruit-work .section-inner {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	z-index: 5;
	position: relative;
}
.recruit-work-upper-links {
	margin-top: 4em;
}
.recruit-work-upper-item {
	display: block;
	border-radius: 10px;
	overflow: hidden;
}
.recruit-work-upper-item:not(:last-child) {
	margin-bottom: 2em;
}
.recruit-work-upper-item a {
	display: flex;
}
.recruit-work-upper-item .img-area {
	width: 37%;
	margin-right: -2%;
	z-index: 1;
}
.recruit-work-upper-item:nth-child(odd) .img-area {
	order: 2;
	margin-right: 0;
	margin-left: -2%;
}
.recruit-work-upper-item .img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.recruit-work-upper-item a:hover .img-area img {
	transform: scale(1.1);
	opacity: 1;
}
.recruit-work-upper-item .text-area {
	width: 67%;
	display: flex;
	align-items: center;
	background-color: #fff;
	z-index: 2;
	border-radius: 0 0 0 25px;
}
.recruit-work-upper-item:nth-child(odd) .text-area {
	border-radius: 0 0 25px 0;
}
.recruit-work-upper-item .text-area-inner {
	padding: 2.5em 4em;
}
.recruit-work-upper-item h3 {
	font-size: 2.9rem;
	font-weight: 600;
	letter-spacing: .1rem;
}
.recruit-work-upper-item .sub-title {
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 0.5em;
}
.recruit-work-upper-item .more {
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	color: #db0209;
	font-weight: 500;
	margin-top: 1em;
	position: relative;
	padding-right: 35px;
	transition: .3s all ease;
}
.recruit-work-upper-item a:hover .more {
	opacity: 0.6;
}
.recruit-work-upper-item .more:before {
	content: "";
	position: absolute;
	top: 9px;
	right: 0;
	width: 20px;
	height: 6px;
	background: url(./images/common/arrow_red.png) center / 100% no-repeat;
	transition: .1s all ease;
}
.recruit-work-lower-links {
	margin-top: 6em;
	display: flex;
	gap: 2em;
}
.recruit-work-lower-item {
	width: calc(50% - 1em);
}
.recruit-work-lower-item a {
	display: flex;
	gap: 1.5em;
	background-color: #db0209;
	color: #fff;
	border-radius: 10px;
	padding: 0 3em;
	height: 100%;
	transition: .3s all ease;
}
.recruit-work-lower-item a:hover {
	background-color: #de4b50;
}
.recruit-work-lower-item .img-area {
	width: 80px;
	display: flex;
	align-items: center;
}
.recruit-work-lower-item a:hover .img-area img {
	opacity: 1;
}
.recruit-work-lower-item .text-area {
	width: calc(100% - 1.5em - 80px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3em 0;
}
.recruit-work-lower-item .text-area h3 {
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .1rem;
}
.recruit-work-bkg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.recruit-work-bkg:before {
	content: "";
	width: 100%;
	height: 4em;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, #eeecec 0%, rgba(238,236,236,0) 100%);
	z-index: 1;
}
.recruit-work-bkg img {
	width: 100%;
	opacity: 0.25;
}

@media screen and (max-width: 1024px) {
	.recruit-work-upper-item .text-area-inner {
		padding: 1.5em 2em;
	}
	.recruit-work-upper-item h3 {
		font-size: 2.2rem;
	}
	
	.recruit-work-lower-links {
		margin-top: 4em;
		gap: 1em;
	}
	.recruit-work-lower-item {
		width: calc(50% - 0.5em);
	}
	.recruit-work-lower-item a {
		padding: 0 1.5em;
	}
	.recruit-work-lower-item .img-area {
		width: 60px;
	}
	.recruit-work-lower-item .text-area {
		width: calc(100% - 1.5em - 60px);
		padding: 1.5em 0;
	}
	.recruit-work-lower-item .text-area h3 {
		font-size: 1.8rem;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 768px) {
	.recruit-work-upper-item h3 {
		font-size: 2rem;
	}
	.recruit-work-upper-item .sub-title {
		font-size: 1.6rem;
	}
	
	.recruit-work-lower-links {
		flex-direction: column;
	}
	.recruit-work-lower-item {
		width: 100%;
	}
	.recruit-work-lower-item .img-area {
		width: 40px;
	}
	.recruit-work-lower-item .text-area {
		width: calc(100% - 1.5em - 40px);
	}
	.recruit-work-lower-item .text-area h3 {
		font-size: 1.6rem;
	}
	.recruit-work-lower-item .text-area p {
		line-height: 150%;
	}
}
@media screen and (max-width: 640px) {
	.recruit-work-upper-item a {
		flex-direction: column;
	}
	.recruit-work-upper-item .img-area {
		width: 100%;
		order: 1 !important;
		margin: 0 !important;
	}
	.recruit-work-upper-item .text-area {
		width: 100%;
		order: 1;
		border-radius: 0 !important;
	}
}

/*社員インタビュー*/
.recruit-interview {
	background-color: #fff;
	padding: 6em 0;
}
.recruit-interview .recruit-top-h2 {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
}

.interview-slider {
	width: calc(90% - 60px);
	max-width: 1300px;
	margin: 4em auto 0;
	position: relative;
}
.interview-slider .slide-image img {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	aspect-ratio: 5/4;
	object-fit: cover;
}
.interview-slider .slide-title {
	margin-top: 0.5em;
	font-size: 1.7rem;
	font-weight: 500;
}
.interview-slider .slide-title .name {
	margin-left: 1rem;
}
.interview-slider .swiper-button-next,
.interview-slider .swiper-button-prev {
	background-color: #fff;
	width: 50px;
	height: 50px;
	border-radius: 5px;
	border: 2px solid #db0209;
	top: 50%;
	transform: translateY(-50%);
}
.interview-slider .swiper-button-next {
	right: -30px;
}
.interview-slider .swiper-button-prev {
	left: -30px;
}
.interview-slider .swiper-button-next:after,
.interview-slider .swiper-button-prev:after {
	content: "" !important;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 24px;
	height: 7px;
	background: url(./images/common/arrow_red.png) center / 100% no-repeat;
}
.interview-slider .swiper-button-prev:after {
	transform: scale(-1, 1);
}
.interview-slider .swiper-button-next.swiper-button-disabled,
.interview-slider .swiper-button-prev.swiper-button-disabled {
	opacity: .6;
}

@media screen and (max-width: 768px) {
	.interview-slider {
		width: calc(90% - 20px);
	}
}

/*トップページアニメーション*/
.fade-left {
	opacity: 0;
	transform: translateX(60px);
	transition: opacity 1s ease, transform 0.5s ease;
}
.fade-left.to-left {
	opacity: 1;
	transform: translateX(0);
}
.fade-up {
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s ease, transform 0.5s ease;
}
.fade-up.to-up {
	opacity: 1;
	transform: translateY(0);
}



/******************
下層ページテンプレ
******************/
.recruit-page-hero {
	padding-top: 100px;
	position: relative;
}
.recruit-page-hero:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(./images/recruit/hero_bkg.jpg) center top/cover no-repeat;
	opacity: 0.2;
}
.recruit-page-hero:after {
	content: "";
	width: 100%;
	height: 4em;
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(to top, #eeecec 0%, rgba(238,236,236,0) 100%);
}
.recruit-page-hero .hero-inner {
	position: relative;
	width: 90%;
	margin: 0 auto;
	padding: 3em 0 7em;
	overflow: hidden;
}
#recruit-bread-crumb {
	margin-bottom: 3em;
}
#recruit-bread-crumb p {
	font-size: 1.3rem;
}
.recruit-page-title p {
	font-family: "Montserrat", sans-serif;
	text-transform: capitalize;
	color: #db0209;
	font-size: clamp(3.2rem, 6vw, 6rem);
	font-weight: 600;
	line-height: 120%;
	margin-bottom: 0.1em;
}
.recruit-page-title p span {
	width: 0.3em;
	display: inline-block;
}
#recruit-bread-crumb p .home {
	position: relative;
	padding-left: 20px;
}
#recruit-bread-crumb p img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 13px;
}
.recruit-page-title h1 {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 150%;
	font-style: italic;
}

.recruit-contents {
	max-width: 1300px;
	width: 90%;
	margin: 0 auto;
	padding: 8em 0;
}

h2.underline {
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 150%;
	letter-spacing: .1rem;
	border-bottom: 2px solid #fff;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5em;
	position: relative;
}
h2.underline:before {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 80px;
	height: 2px;
	background-color: #db0209;
}
h2.has-text-align-center.underline:before {
	right: 0;
	margin: auto;
}
h2.has-text-align-right.underline:before {
	right: 0;
	left: auto;
}
h3.first-letter {
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: .1rem;
	line-height: 150%;
	margin-bottom: 0.5em;
}
h3.first-letter:first-letter {
	color: #db0209;
}

.recruit-top-back {
	max-width: 320px;
	margin: 2em auto 0;
}
.recruit-top-back a {
	text-align: center;
	background-color: #db0209;
	color: #fff;
	font-weight: 500;
	display: block;
	border-radius: 10px;
	padding: 1.5rem 0;
	transition: .3s all ease;
}
.recruit-top-back a:hover {
	background-color: #de4b50;
}

@media screen and (max-width: 1024px) {
	.recruit-page-hero {
		padding-top: 80px;
	}
	.recruit-page-title h1 {
		font-size: 1.6rem;
	}
	h2.underline {
		font-size: 2.4rem;
	}
	h3.first-letter {
		font-size: 2.2rem;
	}
	
	
	.recruit-contents {
		padding: 2em 0 6em;
	}
}
@media screen and (max-width: 768px) {
	.recruit-page-hero {
		padding-top: 60px;
	}
	.recruit-page-hero .hero-inner {
		padding: 2em 0 4em;
	}
	#recruit-bread-crumb {
		margin-bottom: 2em;
	}
	
	
	h2.underline {
		font-size: 2.2rem;
	}
	h2.underline:before {
		width: 40px;
	}
	h3.first-letter {
		font-size: 2rem;
		letter-spacing: 0;
	}
}

@media screen and (max-width: 400px) {
	.recruit-page-title p span {
		display: block;
	}
}

/******************
採用メッセージ
******************/
.message-first-section {
	margin-left: calc(50% - 50vw);
	gap: 4em;
}
.message-first-section .img-area figure {
	margin-bottom: 0;
}
.message-first-section .img-area img {
	aspect-ratio: 3/4;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.message-first-section .text-box {
	max-width: 790px;
	margin: 0 auto;
}
.message-first-section .text-box h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 3.2rem;
	letter-spacing: .1rem;
	margin-bottom: 1em;
	line-height: 150%;
}
.message-first-section .text-box h2 br {
	display: none;
}
.message-first-section .text-box p {
	
}
.message-first-section .text-box p:not(:last-child) {
	margin-bottom: 1em;
}

.ideal-item {
	margin-top: 1em;
}
.ideal-item > .wp-block-group__inner-container {
	display: flex;
	border: 2px solid #db0209;
	border-radius: 10px;
	overflow: hidden;
}
.ideal-item h3 {
	width: 240px;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #db0209;
}
.ideal-item .text-box {
	width: calc(100% - 240px);
}
.ideal-item .text-box > .wp-block-group__inner-container {
	padding: 1.5em 2em;
}

.manager-message {
	
}
.manager-message .text-area {
	
}
.manager-message .text-area p:not(last-child) {
	margin-bottom: 1em;
}
.manager-message .img-area {
	
}
.manager-message .img-area figure {
	margin-bottom: 0;
}
.manager-message .img-area img {
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1024px) {
	.message-first-section .text-box h2 {
		font-size: 2.4rem;
	}
	.ideal-item h3 {
		width: 180px;
	}
	.ideal-item .text-box {
		width: calc(100% - 180px);
	}
	.ideal-item .text-box > .wp-block-group__inner-container {
		padding: 1em 2em;
	}
}
@media screen and (max-width: 781px) {
	.message-first-section {
		margin-left: 0;
		gap: 2em 0;
	}
	.message-first-section .img-area {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
	.message-first-section .img-area img {
		aspect-ratio: 3/2;
	}
	.message-first-section .text-box h2 {
		font-size: 2.2rem;
		text-align: center;
	}
	
	.manager-message .text-area {
		order: 2;
	}
	.manager-message .img-area img {
		aspect-ratio: 3/2;
	}
}
@media screen and (max-width: 768px) {
	.ideal-item > .wp-block-group__inner-container {
		border: 0;
		overflow: visible;
		flex-direction: column;
	}
	.ideal-item h3 {
		width: 150px;
		padding: 0.3em 0;
		border-radius: 5px 5px 0 0;
		font-size: 1.4rem;
	}
	.ideal-item .text-box {
		width: 100%;
		border: 2px solid #db0209;
		border-radius: 0 5px 5px 5px;
	}
	.ideal-item .text-box > .wp-block-group__inner-container {
		padding: 1em 1em;
	}
}
@media screen and (max-width: 390px) {
	.message-first-section .text-box h2 br {
		display: block;
	}
}

/******************
職種紹介
******************/

/*職種紹介 共通*/
.occupation-link {
	margin-top: 6em;
}
.occupation-link-flex {
	display: flex;
	gap: 0 1em;
}
.occupation-link .link-item {
	flex-basis: 33.33%;
}
.occupation-link .link-item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: calc(100% - 2em);
	background-color: #fff;
	border-radius: 5px;
	padding: 1em;
	border: 1px solid #c8c8c8;
}
.occupation-link .link-item a img {
	aspect-ratio: 3/2;
	width: 130px;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}
.occupation-link .link-item a span {
	width: calc(100% - 200px);
	font-weight: 600;
	padding-right: 40px;
	position: relative;
}
.occupation-link .link-item a span:before {
	content: "";
	position: absolute;
	top: 9px;
	right: 10px;
	width: 20px;
	height: 6px;
	background: url(./images/common/arrow_red.png) center / 100% no-repeat;
	transition: .1s all ease;
}
.occupation-link .link-item a:hover span:before {
	right: 8px;
	opacity: 0.6;
}

@media screen and (max-width: 1280px) {
	.occupation-link .link-item {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 1024px) {
	.occupation-link .link-item a img {
		width: 100px;
	}
	.occupation-link .link-item a span {
		width: calc(100% - 160px);
	}
}
@media screen and (max-width: 768px) {
	.occupation-link .link-item a img {
		width: 90px;
	}
	.occupation-link .link-item a span {
		width: calc(100% - 150px);
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 670px) {
	.occupation-link-flex {
		gap: 1em 0;
		flex-direction: column;
	}
	.occupation-link .link-item {
		flex-basis: 100%;
	}
}

/*総合・一般職*/
.occupation-grid {
	gap: 3em 2em;
}
.occupation-grid .grid-item {
	
}
.occupation-grid figure {
	margin-bottom: 0.5em;
}
.occupation-grid img {
	aspect-ratio: 3/2;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 10px;
}
.occupation-grid h3 {
	font-size: 1.7rem;
	color: #db0209;
	font-weight: 600;
	letter-spacing: .1rem;
}

@media screen and (max-width: 1024px) {
	.occupation-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media screen and (max-width: 768px) {
	.occupation-grid h3 {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 630px) {
	.occupation-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}



/*技能職*/

.occupation-group {
	border-bottom: 1px dashed #db0209;
	padding-bottom: 3em;
}
.occupation-group.last {
	border-bottom: 0;
	padding-bottom: 0;
}
.occupation-group .sub-title {
	font-size: 1.7rem;
	font-weight: 600;
}
.occupation-slider-section {
	margin: 2em 0 1em;
}
.occupation-slider .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.occupation-slider .swiper-slide {
	width: calc(33.33% - 13.33px);
}
.occupation-slider img {
	aspect-ratio: 3/2;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: 10px;
}
.occupation-slider .swiper-button-prev,
.occupation-slider .swiper-button-next {
	display: none;
}

@media screen and (max-width: 960px) {
	.occupation-slider .swiper-wrapper {
		flex-wrap: nowrap;
		gap: 0;
	}
	.occupation-slider .swiper-slide {
		flex: none;
	}
	.occupation-slider .swiper-button-prev,
	.occupation-slider .swiper-button-next {
		display: block;
	}
}

/******************
数字で見る奈雅井
******************/
.deta-container {
	position: relative;
}
.deta-container .img-area-inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #db0209;
}
.deta-container .deta-item {
	flex-basis: 33.33%;
	background-color: #fff;
}
.deta-container .deta-item-inner {
	padding: 3em 1.5em;
	position: relative;
	border: 1px solid #db0209;
	height: calc(100% - 6em);
}
.deta-container .deta-item .img {
	max-width: 100px;
	margin: 0 auto 0.5em;
}
.deta-container .deta-item .title {
	background-color: #f4f4f4;
	text-align: center;
	font-size: clamp(1.4rem, 1.25vw, 1.6rem);
	font-weight: 500;
	line-height: 120%;
	white-space: nowrap;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.deta-container .deta-item .deta {
	font-family: "Montserrat", sans-serif;
	font-size: 3.8rem;
	font-weight: 600;
	line-height: 120%;
	text-align: center;
	margin-top: 0.5em;
}
.deta-container .deta-item .deta .unit {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.8rem;
	margin-left: 0.5rem;
}
.deta-container .deta-item .notes {
	font-size: 1.4rem;
	line-height: 150%;
	position: absolute;
	bottom: 1em;
	right: 1.5em;
}

.deta-container .deta-item .deta ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}
.deta-container .deta-item .deta ul li {
	width: calc(50% - 10px);
	list-style-type: none;
	text-align: left;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 150%;
	border-bottom: 1px dashed #dfdfdf;
	padding: 1em 0 0.5em;
	display: flex;
	justify-content: space-between;
}
.deta-container .deta-item .deta ul li .number {
	font-size: 2.5rem;
	font-weight: 600;
}
.deta-container .deta-item .deta ul li .unit {
	font-size: 1.6rem;
	margin-left: 0;
}

.deta-container .deta-inner-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 480px;
	margin: 2em auto 0;
}
.deta-container .deta-inner-flex .img {
	margin: 0;
}
.deta-container .deta-inner-flex .deta {
	margin: 0;
	width: calc(100% - 160px);
	display: flex;
	font-size: 1.8rem;
}
.deta-container .deta-gender-item {
	width: 50%;
	text-align: center;
}
.deta-container .deta-gender-item .percent {
	font-size: 3.6rem;
	line-height: 100%;
	margin: 0.3em 0;
}

.deta-container .deta-item:nth-child(4),
.deta-container .deta-item:nth-child(5),
.deta-container .deta-item:nth-child(6),
.deta-container .deta-item:nth-child(7) {
	flex-basis: 25%;
}
.deta-container .deta-item:nth-child(8),
.deta-container .deta-item:nth-child(9) {
	flex-basis: 50%;
}

.deta-container-upper {
	margin-bottom: 4em;
}

.deta-container-lower .deta-item:nth-child(4) {
	flex-basis: 33.33%;
}
.deta-container-lower .deta-item:nth-child(5) {
	flex-basis: 66.66%;
}

@media screen and (max-width: 1024px) {
	.deta-container .deta-item {
		flex-basis: 50%;
	}
	.deta-container .deta-item:nth-child(4),
	.deta-container .deta-item:nth-child(5),
	.deta-container .deta-item:nth-child(6),
	.deta-container .deta-item:nth-child(7) {
		flex-basis: 50%;
	}
	.deta-container .deta-item:nth-child(9) {
		flex-basis: 100%;
	}
	.deta-container .deta-item .img {
		max-width: 80px;
	}
	.deta-container .deta-item .deta {
		font-size: 3rem;
	}
	
	.deta-container-lower .deta-item:nth-child(5) {
		flex-basis: 100%;
	}
	.deta-container .deta-inner-flex {
		max-width: 380px;
	}
	.deta-container .deta-inner-flex .deta {
		width: calc(100% - 100px);
		font-size: 1.8rem;
	}
	
	.deta-container .deta-gender-item .percent {
		font-size: 3rem;
	}
	
}
@media screen and (max-width: 768px) {
	.deta-container .deta-item .deta {
		font-size: 2.8rem;
	}
	.deta-container .deta-gender-item .percent {
		font-size: 2.8rem;
	}
	.deta-container .deta-inner-flex .deta {
		width: 100%;
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 680px) {
	.deta-container .deta-item {
		flex-basis: 100% !important;
	}
}
@media screen and (max-width: 590px) {
	.deta-container .deta-item .deta ul li {
		width: 100%;
	}
	.deta-container-lower .deta-item:nth-child(5) .title {
		margin-top: calc(80px + 0.5em);
	}
	.deta-container .deta-inner-flex {
		max-width: 100%;
		flex-direction: column;
	}
	.deta-container-lower .deta-item:nth-child(5) .img {
		position: absolute;
		top: 3em;
	}
}

/******************
福利厚生・制度
******************/
.benefit-first-col {
	margin-top: 4em;
}
.benefit-first-col figure {
	margin-bottom: 0;
}
.benefit-grid {
	gap: 1em;
	margin-top: 2em;
}
.benefit-grid .benefit-item {
	border: 2px solid #db0209;
	background-color: #fff;
	padding: 1em 2em;
	border-radius: 10px;
}
.benefit-grid .benefit-item h3 {
	color: #db0209;
	font-size: 1.6rem;
	letter-spacing: .1rem;
	margin-bottom: 0.5em;
}
.qualification-col figure {
	margin-bottom: 0;
}
.qualification-group {
	margin-top: 1em;
}
.qualification-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 0.5em;
}
.qualification-list li {
	list-style: none;
	font-size: 1.4rem;
	background-color: #fff;
	padding: 0.3em 1.5em;
	border-radius: 999px;
}
.qualification-col figure {
	margin-bottom: 0;
}
.qualification-col figure img {
	border-radius: 10px;
}
.allowance-col {
	gap: 1.5em;
	max-width: 900px;
	margin: 2em auto;
}
.allowance-item figure {
	margin-bottom: 0.5em;
}
.allowance-item p {
	font-weight: 500;
}
.training-col figure {
	margin-bottom: 0;
}
.training-col figure img {
	border-radius: 10px;
}
.benefit-event {
	gap: 2em;
}
.benefit-event .event-item {

}
.benefit-event .event-item figure {
	margin-bottom: 0;
}
.benefit-event .event-item figure img {
	border-radius: 10px;
}
.benefit-event .event-item p {
	font-weight: 500;
	margin-top: 0.5em;
}

@media screen and (max-width: 1024px) {
	.allowance-col {
		max-width: 540px;
		flex-wrap: wrap !important;
		gap: 3em;
	}
	.allowance-col .allowance-item {
		width: calc(33.33% - 2em);
	}
	.benefit-event {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media screen and (max-width: 781px) {
	.benefit-first-col .img-area {
		max-width: 240px;
		margin: 0 auto;
		order: 1;
	}
	.benefit-first-col .text-area {
		order: 2;
	}
	.benefit-first-col h3 {
		text-align: center;
	}
	
	.qualification-col .img-area {
		order: 1;
	}
	.qualification-col .text-area {
		order: 2;
	}
}
@media screen and (max-width: 768px) {
	.benefit-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
	.benefit-grid .benefit-item {
		padding: 1em 1em;
		border-radius: 5px;
	}
	.benefit-grid .benefit-item h3 {
		margin-bottom: 0;
	}
	
	.allowance-col {
		gap: 1.5em;
	}
	.allowance-col .allowance-item {
		width: calc(33.33% - 1em);
	}
}
@media screen and (max-width: 480px) {
	.qualification-list {
		gap: 0;
		flex-direction: column;
	}
	.qualification-list li {
		font-size: 1.6rem;
		background-color: transparent;
		padding: 0;
		border-radius: 0;
		padding: 0.5em 0 0.5em 20px;
		border-bottom: 1px dashed #bdbdbd;
		position: relative;
	}
	.qualification-list li:before {
		content: "";
		width: 6px;
		height: 6px;
		border-radius: 100%;
		background-color: #db0209;
		position: absolute;
		top: 20px;
		left: 0;
	}
	.benefit-event {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}

/******************
社員インタビュー
******************/

/*一覧ページ*/
.interview-archive-container {
	
}
.interview-archive-container ul {
	display: flex;
	flex-wrap: wrap;
	gap: 3em;
}
.interview-archive-container ul li {
	width: calc(33.33% - 2em);
	list-style: none;
}
.interview-archive-container ul li a {
	display: block;
}
.interview-archive-container img {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	aspect-ratio: 5/4;
	object-fit: cover;
}
.interview-archive-container .title {
	margin-top: 0.5em;
	font-size: 1.7rem;
	font-weight: 500;
}
.interview-archive-container .name {
	margin-left: 1rem;
}

@media screen and (max-width: 1024px) {
	.interview-archive-container ul {
		gap: 3em 2em;
	}
	.interview-archive-container ul li {
		width: calc(50% - 1em);
	}
}
@media screen and (max-width: 480px) {
	.interview-archive-container ul li {
		width: 100%;
	}
}

/*詳細ページ*/
.interview-hero {
	padding-top: 100px;
	position: relative;
	height: clamp( calc(100vw * 2 / 5), calc(100svh - 100px), calc(100vw * 9 / 16) );
	overflow: hidden;
}
.interview-hero-img {
	width: 75%;
	margin-left: 25%;
	height: 100%;
}
.interview-hero-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.interview-hero-text {
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	width: 90%;
}
.interview-hero-text .sub-title {
	font-family: "Montserrat", sans-serif;
	color: #db0209;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 1em;
}
.interview-hero-text .main-title {
	margin-bottom: 2em;
}
.interview-hero-text .main-title p:not(:last-child) {
	margin-bottom: 0.5em;
}
.interview-hero-text .main-title p span {
	display: inline-block;
	font-size: clamp(2.2rem, 3.2vw, 4.2rem);
	font-weight: 500;
	letter-spacing: .2rem;
	line-height: 150%;
	background-color: #fff;
	padding: 0 0.5em;
}
.interview-hero-text .prof p {
	font-weight: 500;
	line-height: 200%;
}
.interview-hero-text .prof .affiliation span {
	margin-left: 1rem;
}
.interview-contents {
	margin: 0 auto;
	padding: 8em 0;
}
.interview-contents #recruit-bread-crumb {
	margin-bottom: 4em;
}
.interview-contents .wp-block-columns:not(:last-child) {
	margin-bottom: 6em;
}
.interview-contents .wp-block-columns figure {
	margin-bottom: 0;
}
.interview-contents .wp-block-columns figure img {
	aspect-ratio: 3/2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.interview-contents .wp-block-columns h2 {
	font-size: 2.2rem;
	letter-spacing: .1rem;
	font-weight: 600;
	line-height: 150%;
	margin-bottom: 1em;
	position: relative;
	padding-left: 1.5em;
}
.interview-contents .wp-block-columns h2:before {
	content: "Q.";
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Montserrat", sans-serif;
	color: #db0209;
}

.other-interview-link .interview-slider {
	width: calc(100% - 60px);
}

@media screen and (max-width: 1024px) {
	.interview-hero {
		padding-top: 80px;
		height: clamp( calc(100vw * 2 / 5), calc(100svh - 80px), calc(100vw * 9 / 16) );
	}
	.interview-hero-text .sub-title {
		font-size: 1.8rem;
	}
	.interview-hero-text .main-title p span {
		letter-spacing: .1rem;
	}
	
	.interview-contents .wp-block-columns h2 {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 781px) {
	.interview-hero {
		height: auto;
	}
	.interview-hero-img {
		width: 100%;
		margin-left: 0;
	}
	.interview-hero-text {
		position: static;
		transform: none;
		margin: 2em auto 0;
	}
	.interview-contents {
		padding: 2em 0 6em;
	}
	.interview-hero-text .main-title p span {
		background-color: transparent;
		padding: 0;
	}
	
	.interview-col .text-area {
		order: 2;
	}
	.interview-col .img-area {
		order: 1;
	}
}
@media screen and (max-width: 768px) {
	.interview-hero {
		padding-top: 60px;
	}
	.interview-hero-text .main-title p span {
		letter-spacing: 0;
	}
	
	.other-interview-link .interview-slider {
		width: calc(100% - 20px);
	}
	.interview-slider .swiper-button-next,
	.interview-slider .swiper-button-prev {
		width: 35px;
		height: 35px;
	}
	.interview-slider .swiper-button-next {
		right: -10px;
	}
	.interview-slider .swiper-button-prev {
		left: -10px;
	}
}
@media screen and (max-width: 480px) {
	.interview-hero-text .main-title p {
		margin-bottom: 0;
		display: inline;
	}
	.interview-hero-text .main-title p span {
		display: inline;
	}
}

/******************
FAQ
******************/

.recruit-faq-group:not(:last-child) {
	margin-bottom: 6em;
}
.faq-item {
	background-color: #fff;
	border-radius: 10px;
}
.faq-item:not(:last-child) {
	margin-bottom: 1em;
}
.faq-item .question {
	position: relative;
}
.faq-item .question:before {
	content: "Q.";
	position: absolute;
	top: 15px;
	left: 1em;
	font-size: 2rem;
	font-weight: 500;
	color: #db0209;
	pointer-events: none;
}
.faq-item .question span {
	position: absolute;
	top: 25px;
	right: calc(1em + 10px);
	width: 20px;
	height: 20px;
	pointer-events: none;
}
.faq-item .question span:before,
.faq-item .question span:after {
	content: "";
	background-color: #db0209;
	position: absolute;
	margin: auto;
}
.faq-item .question span:before {
	width: 100%;
	height: 2px;
	top: 0;
	bottom: 0;
}
.faq-item .question span:after {
	width: 2px;
	height: 100%;
	right: 0;
	left: 0;
	transition: .3s all ease;
}
.faq-item.is-open .question span:after {
	height: 0;
}
.faq-item .question button {
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	display: block;
	width: 100%;
	background-color: transparent;
	border: 0;
	text-align: left;
	font-size: 1.8rem;
	padding: 1em 4em 1em 3em;
	font-weight: 500;
	color: #262626;
	line-height: 1.8;
	word-break: break-all;
}

.faq-item .answer {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}
.faq-item .answer-inner {
	padding: 1.5em 2em 2em;
	border-top: 1px solid #f0f0f0;
}

@media screen and (max-width: 768px) {
	.faq-item {
		border-radius: 5px;
	}
	.faq-item .question button {
		font-size: 1.6rem;
	}
	.faq-item .question:before {
		top: 12px;
		font-size: 1.8rem;
	}
	.faq-item .question span {
		top: 20px;
	}
	.faq-item .answer-inner {
		padding: 1em 1em 1.5em;
	}
}

/******************
エントリー募集要項一覧
******************/

.entry-archive-container .comment-box {
	margin-bottom: 2em;
}
.entry-archive-container .entry-item:not(:last-child) {
	margin-bottom: 2em;
}
.entry-archive-container .entry-item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #fff;
	padding: 2em 4em;
	border-radius: 10px;
}
.entry-archive-container .text-area {
	width: calc(95% - 280px);
}
.entry-archive-container .entry-item .company {
	font-weight: 600;
	margin-bottom: 0.2em;
}
.entry-archive-container .entry-item h2 {
	color: #db0209;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 150%;
	letter-spacing: .1rem;
	margin-bottom: 0.5em;
	transition: .3s all ease;
}
.entry-archive-container .entry-item a:hover h2 {
	opacity: 0.6;
}
.entry-archive-container .entry-item .tag {
	margin-top: 1.5em;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}
.entry-archive-container .entry-item .tag li {
	list-style: none;
	font-size: 1.4rem;
	padding: 0.1em 1em;
	background-color: #f4f4f4;
	border-radius: 999px;
}
.entry-archive-container .img-area {
	width: 280px;
}
.entry-archive-container .img-area img {
	aspect-ratio: 3/2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

/*募集を行ってない場合のスタイル*/
.not-recruiting {
	text-align: center;
}
.not-recruiting p {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .1rem;
	line-height: 300%;
}
.not-recruiting p br {
	display: none;
}

@media screen and (max-width: 1024px) {
	.entry-archive-container .entry-item a {
		padding: 1.5em 2em;
	}
	.entry-archive-container .text-area {
		width: calc(95% - 180px);
	}
	.entry-archive-container .img-area {
		width: 180px;
	}
	.entry-archive-container .entry-item h2 {
		font-size: 2rem;
	}
}
@media screen and (max-width: 768px) {
	.entry-archive-container .entry-item h2 {
		font-size: 1.6rem;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 640px) {
	.entry-archive-container .entry-item a {
		padding: 1.5em 1.5em;
		flex-direction: column;
	}
	.entry-archive-container .text-area {
		width: 100%;
		order: 2;
	}
	.entry-archive-container .img-area {
		width: 100%;
		order: 1;
		margin-bottom: 1em;
	}
	
	.not-recruiting p {
		font-size: 1.4rem;
		letter-spacing: 0;
		line-height: 200%;
	}
}
@media screen and (max-width: 420px) {
	.not-recruiting p br {
		display: block;
	}
}


/******************
エントリー募集要項詳細
******************/

.entry-contents .wp-block-flexible-table-block-table {
	max-width: 900px;
	margin: 4em auto 0;
}

.recruit-page-title.entry p {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 150%;
}
.recruit-page-title.entry h1 {
	font-size: clamp(2.3rem, 3.2vw, 4.2rem);
	font-weight: 600;
	letter-spacing: .2rem;
	line-height: 150%;
	font-style: normal;
}


#contactForm.entry input,
#contactForm.entry textarea {
	background: #fff;
}
#contactForm.entry table tr:first-child {
	border-top: 1px solid #d7d7d7;
}
#contactForm.entry table tr,
#form-personal-info {
	border-bottom: 1px solid #d7d7d7;
}
#contactForm.entry .has-select select {
	background: #fff;
}

@media screen and (max-width: 1024px) {
	.entry-contents .wp-block-flexible-table-block-table th {
		width: 180px !important;
	}
}
@media screen and (max-width: 768px) {
	.recruit-page-title.entry p {
		font-size: 1.8rem;
	}
	.recruit-page-title.entry h1 {
		letter-spacing: .1rem;
	}
	
	.entry-contents .wp-block-flexible-table-block-table table {
		border: 1px solid #ebebeb;
	}
	.entry-contents .wp-block-flexible-table-block-table th {
		display: block;
		width: 100% !important;
	}
	.entry-contents .wp-block-flexible-table-block-table td {
		display: block;
		width: 100% !important;
	}
}
