@charset "UTF-8";
/*------------------------------------
.hero
------------------------------------*/
.hero__bg {
	background:
        linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0)),
        url("../images/recruit/culture/mv-bg.jpg?1117") center / cover no-repeat;
}
@media screen and (max-width: 768px) {}


/*------------------------------------
.ttl
------------------------------------*/
.culture .ttl {
	font-size: 50px;
}
@media screen and (max-width: 768px) {
	.culture .ttl {
		font-size: 24px;
	}
}


/*------------------------------------
#culture
------------------------------------*/
#culture {
	padding-top: 120px;
}
#culture .container {
	max-width: 1400px;
}
#culture .ttl {
	margin-bottom: 50px;
}
.culture__area {
	position: relative;
	background-color: #fff;
	padding: 30px 70px 70px;
}
.culture__area .sttl {
	position: relative;
	background-color: #155ca7;
	width: fit-content;
	font-size: 32px;
	letter-spacing: .08em;
	line-height: 1;
	color: #fff;
	margin-left: 40px;
	padding: 40px;
}
.culture__area img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
	aspect-ratio: 2 / 1;
	margin-top: -70px;
}
.culture__txt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
}
.culture__inner .culture__txt {
	max-width: 1260px;
	margin-inline: auto;
	padding-bottom: 70px;
}
.culture__txt h3 {
	font-size: 28px;
	letter-spacing: .08em;
}
.culture__txt p {
	flex-basis: 50%;
	max-width: 50%;
}
.culture__inner {
	margin-top: 120px;
}
.culture__inner .sttl {
	background-color: #155ca7;
	width: fit-content;
	font-size: 32px;
	letter-spacing: .08em;
	line-height: 1;
	color: #fff;
	margin-left: 70px;
	padding: 40px;
}
.culture__row {
	margin-bottom: 90px;
}
@media screen and (max-width: 768px) {
	#culture {
		padding-top: 70px;
	}
	#culture .ttl {
		margin-bottom: 24px;
	}
	.culture__area {
		padding: 32px;
	}
	.culture__area .sttl {
		font-size: 16px;
		margin-left: 15px;
		padding: 10px;
	}
	.culture__area img {
		aspect-ratio: auto;
		margin-top: -20px;
	}
	.culture__txt {
		flex-direction: column;
		gap: 16px;
		margin-top: 16px;
	}
	.culture__inner .culture__txt {
		padding-bottom: 50px;
	}
	.culture__txt h3 {
		font-size: 20px;
		text-align: center;
	}
	.culture__txt p {
		max-width: 100%;
	}
	.culture__inner {
		margin-top: 70px;
	}
	.culture__inner .sttl {
		font-size: 16px;
		margin-inline: auto;
		padding: 10px;
	}
	.culture__row {
		width: calc(100% - 10vw);
		margin-inline: auto;
	}
	.culture__row {
		margin-bottom: 50px;
	}
}

/*.culture__row:nth-of-type(odd)*/
.culture__row:nth-of-type(odd) {
	display: grid;
	justify-content: flex-end;
	align-items: center;
	grid-template-columns: auto calc(50% + 5.75em);
}
.culture__row:nth-of-type(odd) .img {
	grid-column: 2;
}
.culture__row:nth-of-type(odd) .txt {
	grid-column: 1;
	grid-row: 1;
	max-width: calc(76.5em / 2 - 5.75em + 1.5em + 2.5em);
	padding: 0 80px 0 calc(1.5em + 2.5em);
}
.culture__row:nth-of-type(odd) h3 {
	font-size: 32px;
	margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
	.culture__row:nth-of-type(odd) {
		grid-template-columns: 1fr;
	}
	.culture__row:nth-of-type(odd) .img {
		grid-column: 1;
	}
	.culture__row:nth-of-type(odd) .txt {
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		padding: 32px 0 0;
	}
	.culture__row:nth-of-type(odd) h3 {
		font-size: 22px;
		margin-bottom: 16px;
	}
}

/*.culture__row:nth-of-type(even)*/
.culture__row:nth-of-type(even) {
	display: grid;
	justify-content: flex-end;
	align-items: center;
	grid-template-columns: calc(50% + 5.75em) 1fr;
}
.culture__row:nth-of-type(even) .txt {
	max-width: calc(76.5em / 2 - 5.75em + 1.5em + 2.5em);
	padding: 0 calc(1.5em + 2.5em) 0 80px;
}
.culture__row:nth-of-type(even) h3 {
	font-size: 32px;
	margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
	.culture__row:nth-of-type(even) {
		grid-template-columns: 1fr;
	}
	.culture__row:nth-of-type(even) .txt {
		max-width: none;
		padding: 32px 0 0;
	}
	.culture__row:nth-of-type(even) h3 {
		font-size: 22px;
		margin-bottom: 16px;
	}
}

/*.culture__list*/
.culture__list {
	position: relative;
}
.culture__list h3 {
	position: absolute;
	top: -20px;
	left: 64px;
	font-size: 24px;
}
.culture__list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 40px;
	background-color: #fff;
	padding: 40px 70px;
}
.culture__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	width: calc((100% - 40px) / 2);
}
.culture__list li::before {
	content: "";
	display: inline-block;
	background-color: #9fa0a0;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	flex-shrink: 0;
}
@media screen and (max-width: 768px) {
	.culture__list h3 {
		top: -15px;
		left: 24px;
		font-size: 20px;
	}
	.culture__list ul {
		padding: 32px;
	}
	.culture__list li {
		width: 100%;
	}
}

/*.culture__flex*/
.culture__flex {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 1260px;
	margin-inline: auto;
	padding-top: 80px;
}
.culture__flex li {
	width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 768px) {
	.culture__flex {
		gap: 20px 10px;
		padding-top: 50px;
	}
	.culture__flex li {
		width: calc((100% - 10px) / 2);
	}
}


/*------------------------------------
#benefits
------------------------------------*/
#benefits {
	margin: 120px 0;
}
#benefits .container {
	max-width: 1400px;
}
#benefits .ttl {
	margin-bottom: 50px;
}
.welfare-list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.welfare-list li {
	width: calc((100% - 80px) / 3);
}
.welfare__heading h3 {
	position: relative;
	background-color: #155ca7;
	width: fit-content;
	font-size: 22px;
	letter-spacing: .08em;
	line-height: 1;
	color: #fff;
	margin-left: 20px;
	padding: 16px;
}
.welfare__heading img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	aspect-ratio: 3 / 2;
	margin-top: -20px;
}
.welfare-list .table {
	margin-top: 40px;
}
.welfare-list .table th,
.welfare-list .table td {
	width: 50%;
}
@media screen and (max-width: 768px) {
	#benefits {
		margin: 70px 0;
	}
	#benefits .ttl {
		margin-bottom: 16px;
	}
	.welfare-list li {
		width: 100%;
	}
	.welfare__heading h3 {
		font-size: 16px;
		margin-left: 15px;
		padding: 10px;
	}
}


/*------------------------------------
#flow
------------------------------------*/
#flow .container {
	max-width: 1200px;
}
@media screen and (max-width: 768px) {}


/*------------------------------------
#faq
------------------------------------*/
#faq {
	margin-top: 120px;
}
#faq .container {
	max-width: 800px;
}
#faq .recruit__more {
	padding-top: 80px;
}
#faq .recruit__more a {
	margin-inline: auto;
}
@media screen and (max-width: 768px) {
	#faq {
		margin-top: 70px;
	}
	#faq .recruit__more {
		padding-top: 40px;
	}
}
