/* -----------------------------------------------
= override
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.recruit {
	padding-top: 100px;
}
}/* @media */
/* -----------------------------------------------
= page-title
----------------------------------------------- */
.page-title {
	padding: 15px 20px 5px;
}
.page-title.js-inview {
	transform: translateY(0);
}
.page-title .category {
	font-family: var(--josefin);
	font-size: calc(1rem / 1.6);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
}
.page-title h1 {
	margin-bottom: 15px;
	text-align: right;
}
.page-title h1 img {
	max-width: 211px;
}
.page-title .en {
	font-family: var(--min);
	font-size: calc(2rem / 1.6);
	letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {/* PC */
.page-title {
	padding: 0 40px 30px 15px;
}
.page-title .category {
	margin-bottom: 40px;
	font-size: calc(1.8rem / 1.6);
}
.page-title h1 {
	margin-bottom: 0;
}
.page-title h1 img {
	max-width: 527px;
}
.page-title .en {
	margin-left: 90px;
	font-size: calc(4rem / 1.6);
	letter-spacing: .06em;
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.intro h2 {
	margin: 20px 20px 10px;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
}
.intro p {
	margin-inline: 20px;
	font-size: calc(1.3rem / 1.6);
}
@media print, screen and (min-width: 768px) {/* PC */
.intro {
	padding: 0 calc(110 / 1500 * 100vw) 130px;
	text-align: center;
}
.intro h2 {
	position: relative;
	margin: 40px 40px 10px;
	padding-bottom: 66px;
	font-size: calc(3.2rem / 1.6);
}
.intro h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 56px;
	background: #000;
	text-align: center;
}
.intro p {
	display: table;
	margin-inline: auto;
	font-size: calc(1.6rem / 1.6);
	text-align: left;
}
}/* @media */
/* -----------------------------------------------
= contents
----------------------------------------------- */
.contents {
	padding-bottom: 60px;
}
@media print, screen and (min-width: 768px) {/* PC */
.contents {
	display: flex;
	padding-bottom: 0;
}
.contents .img-set {
	width: 50%;
}
.contents .img-set-list {
	position: sticky;
	top: 80px;
}
.contents .img-set-list div {
	position: absolute;
	inset: 0;
}
.contents .img-set-list img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: calc(100vh - 80px);
	object-fit: contain;
	opacity: 0;
	transition: opacity .8s;
}
.contents .img-set-list .is-active img {
	opacity: 1;
}
.contents .inner {
	width: 50%;
}
}/* @media */
/* -----------------------------------------------
= block
----------------------------------------------- */
.block .set {
	padding: 50px 20px 35px;
	letter-spacing: .12em;
}
.block .num {
	margin-bottom: 20px;
	color: var(--red);
	font-family: var(--min);
	font-size: calc(1.4rem / 1.6);
	letter-spacing: .25em;
}
.block h2 {
	margin-bottom: 30px;
	font-family: var(--min);
	font-size: calc(2.4rem / 1.6);
	line-height: calc(33 / 24);
	letter-spacing: .04em;
}
.block .text {
	font-size: calc(1.3rem / 1.6);
	line-height: calc(22 / 13);
	letter-spacing: .04em;
}
.block .text + .text {
	margin-top: 2em;
}
@media print, screen and (min-width: 768px) {/* PC */
.block .set {
	padding: 0 40px 230px calc(110 / 1500 * 100vw);
}
.block .num {
	margin-bottom: 35px;
	font-size: calc(2.4rem / 1.6);
}
.block h2 {
	margin-bottom: 35px;
	font-size: calc(3.6rem / 1.6);
	line-height: calc(52 / 36);
}
.block .text {
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
}/* @media */
@media print, screen and (max-width: 1023px) and (min-width: 768px) {/* TABLET */
.block .set {
	padding-left: 40px;
}
.block .num {
	font-size: calc(2rem / 1.6);
}
.block h2 {
	font-size: calc(4rem / 1.6);
}
.block .text {
	font-size: calc(1.6rem / 1.6);
}
}/* @media */
