/* ==========================================
 slug : index, recruit - トップページ・採用トップのスタイル
 ========================================== */
/* --- レイアウト基本 --- */
.site-main {
	.page-content {
		max-width: unset;
	}

	.content--large {
		max-width: var(--wp--custom--bkpoint--xl);
	}
}

.page-content {
	padding-block-start: 0;
}

/* --- Hero: keyframes --- */
@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes hero-slide-in {
	from {
		opacity: 0;
		translate: 0 150%;
	}

	to {
		opacity: 1;
		translate: 0 0;
	}
}

@keyframes hero-slide-in2 {
	from {
		opacity: 0;
		translate: 200vw 0;
	}

	to {
		opacity: 1;
		translate: 0 0;
	}
}

@keyframes fadeIn3 {
	from {
		opacity: 0;
	}

	to {
		opacity: 0.15;
	}
}

/* --- Hero: レイアウト --- */
.hero {
	position: relative;
	left: 0;
	margin-left: calc(50% - 50vw);
	height: 100dvh;
	min-height: 667px;
	max-height: 1000px;
	width: 100vw;
	background-color: var(--color-bg-dark);
	overflow-x: clip;
	display: grid;
	container-type: inline-size;
	container-name: Hero;

	&::after {
		position: absolute;
		width: 100%;
		height: 100%;
		display: block;
		content: "";
		z-index: 1;
		background-image: linear-gradient(56deg, #0000008f, rgba(217, 217, 217, 0) 100%);
		background-blend-mode: multiply;
		bottom: 0;
		left: 0;
	}

	.wp-block-video {
		margin: 0;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
	}

	video {
		width: 100%;
		height: 100%;
		object-position: center bottom;
		object-fit: cover;
		display: block;
		opacity: 0;
		animation: fadeIn 2s ease-in 0s forwards;
	}

	a {
		position: absolute;
		z-index: 2;
		bottom: 0;
		right: 0;
		display: grid;
		grid-template-columns: repeat(2, auto);
		gap: 1.5em;
		align-content: end;
		justify-content: end;
		animation: fadeIn 0.5s cubic-bezier(.72, .42, .25, 1.55) 2s forwards;
		opacity: 0;

		&::before {
			content: "";
			position: absolute;
			right: 0;
			bottom: 0;
			width: clamp(17.75rem, 12.313rem + 14.5vw, 25rem);
			height: 85%;
			background-color: var(--wp--preset--color--white);
			z-index: -1;
			clip-path: polygon(15% 0, 0 100%, 100% 100%, 100% 0);
		}

		img {
			background-image: unset;
			width: clamp(7.25rem, 4.906rem + 6.25vw, 10.375rem);
		}

		span {
			display: block;
			color: var(--color-bg-blue);
			font-size: 0.62225rem;
			font-weight: 700;
			position: relative;

			img {
				position: absolute;
				right: -1.25em;
				top: 50%;
				transform: translateY(-50%);
				max-width: 1.75em;
				object-fit: contain;
				display: inline-block;
				transition: 0.3s ease;
			}

			transition: 0.3s ease;
		}

		div {
			align-self: end;
		}

		div:has(span) {
			padding-block-end: clamp(0.813rem, 0.484rem + 0.88vw, 1.25rem);
		}

		.en-face {
			font-size: clamp(1.867rem, 1.298rem + 1.52vw, 2.626rem);
			margin-block-end: 0.15em;
			line-height: 1;
			text-box-trim: trim-both;
			text-box-edge: cap alphabetic;
		}

		&:hover {
			> div span {
				color: oklab(0.37 -0.02 -0.19);

				img {
					right: -1.75em;
					transition: 0.3s ease;
				}
			}
		}
	}
}

/* --- Hero: テキストエリア --- */
.herotext {
	position: relative;
	z-index: 2;
	padding-top: var(--header-height);
	color: var(--wp--preset--color--white);
	padding-inline: 25px;
	font-size: 0.875rem;
	line-height: 1.3235;
	margin-inline: auto;
	font-feature-settings: normal;

	p {
		max-width: 30.25em;
		font-size: 0.875rem;
	}
}

@container Hero (width <=1024px) {
	.herotext {
		margin-inline: -0.75em auto;
		display: grid;
		place-content: center;

		/* padding-block-start: calc(var(--header-height) * 2); */
		p {
			line-height: 1.5;
		}
	}
}

/* 幅 1024pxより大きい場合 */
@container Hero (width > 1024px) {
	a div:nth-child(1) span:has(img) {
		font-size: 14px;
	}

	.herotext {
		display: grid;
		grid-template-rows: 1fr auto;
		row-gap: 1rem;
		width: clamp(18.75rem, 1.463rem + 98.78vw, 120rem);
		padding-block-end: calc(var(--header-height) - 2em);
		padding-inline-start: clamp(0rem, -15.857rem + 24.78vw, 13.875rem);
		justify-content: start;

		h1 {
			font-size: 1rem;
			line-height: 1.5;
			align-self: end;
		}

		p {
			font-size: 1.25rem;
			line-height: 2;
		}
	}
}

/* --- Hero: タイトルSVGアニメーション --- */
h1 {
	overflow: hidden;
}

svg.hero-use-1,
svg.hero-use-2 {
	width: clamp(318px, -4.984rem + 66.13vw, 52.875rem);
	display: block;
	/* filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5)); */
}

svg.hero-use-1 {
	overflow: hidden;
	margin-block-end: clamp(0.75rem, 2vw, 1.8rem);

	use {
		translate: 0 150%;
		animation: hero-slide-in 0.5s cubic-bezier(.72, .42, .25, 1.15) 1.5s forwards;
	}
}

use.hero-use-1 {
	display: block;
}

use.hero-use-2 {
	opacity: 0;
	animation: hero-slide-in 0.5s cubic-bezier(.72, .42, .25, 1.15) 2s forwards;
	/* animation: hero-slide-in2 0.6s cubic-bezier(.92, .63, .52, 1.15) 2s forwards; */
}

@media (prefers-reduced-motion: reduce) {

	use.hero-use-1,
	use.hero-use-2 {
		opacity: 1;
		animation: none;
	}

	use.hero-use-1 use {
		translate: 0 0;
		animation: none;
	}
}

/* 企業ページ */
/* 山泰プライドblock */
.prideblock {
	padding-block: clamp(4.938em, 3.25rem + 4.5vw, 7.65em) clamp(4.938em, 3.25rem + 4.5vw, 7.75em);
	background-color: var(--color-bg-dark);
	background-image: url(../../images/cotop-imge-bg01.webp);
	background-position: left 50% top 50%;
	background-repeat: no-repeat;
	background-size: cover;
	display: grid;
	row-gap: 1em;
	place-content: center;

	:where(h2, h2 + p) {
		text-align: center;
		color: var(--wp--preset--color--white);
	}

	h2 {
		font-size: clamp(2.25rem, 1.65rem + 1.6vw, 3.25rem);
		letter-spacing: 0.1625rem;
	}

	h2 + p {
		font-size: clamp(1.25em, 1.1em + 0.4vw, 1.5em);
		align-self: center;
		margin-block-start: 0;
	}

	> div {
		margin-block-start: 4em;
		padding-block: clamp(1.5em, -2.091em + 7.96vw, 4.875em) clamp(2em, 0.576em + 2.91vw, 3.125em);
		padding-inline: clamp(1.375em, -1.1rem + 6.6vw, 5.5em);
		width: 100%;
		background-color: var(--wp--preset--color--white);
		max-width: var(--wp--style--global--wide-size);

		> div:nth-child(2) {

			figure,
			p {
				width: fit-content;
				margin-inline: auto;
			}

			a.btn {
				margin-inline: auto;
			}
		}
	}

	.leadcopy {
		font-size: clamp(1.2rem, -0.299rem + 2.91vw, 2.25rem);
	}
}

/* 選ばれる理由block */
.selectedblock {
	counter-reset: future;

	> div:nth-of-type(1) {
		text-align: center;
		color: var(--wp--preset--color--white);
		background-image: url(../../images/cotop-feature_titlebg.webp);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: cover;
		padding-block: clamp(3rem, -0.98rem + 7.12vw, 5.25rem);

		/* padding-block: clamp(4.25rem, 1.877rem + 4.85vw, 6.125rem); */
		@media (max-width: 782px) {
			background-position: left 25% bottom;
		}

		h2 {
			font-size: 1.5rem;
		}

		h2::before {
			margin-block-end: 0.185em;
			transition: 3s ease;
		}
	}

	.image-text-section--l {
		counter-increment: future;
	}

	h2 {
		text-align: center;
	}

	/* p.en-face {
		font-weight: 700;
		font-size: clamp(1.5em, 0.551em + 1.94vw, 2.25em);
		background: radial-gradient(circle at 35% 50%, #00A0F7, #012371);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		text-box: unset;
		text-box-trim: trim-both;

		&::after {
			content: " " counter(future, decimal-leading-zero);
			font-size: inherit;
		}
	}

	.leadcopy {
		margin-block: 1.45rem;
	} */
}

.image-text-section--l {
	padding-block: clamp(3em, 1.102rem + 3.88vw, 4.5em);
	column-gap: clamp(2em, -3.378em + 11vw, 6.25em);
	margin-block-start: 0;
	background-color: var(--wp--preset--color--white);

	&:nth-child(odd) {
		background-color: var(--wp--preset--color--ymf-background);
	}
}

@media(1200px > width) {
	.image-text-section--l {
		padding-inline: 1.5rem;
	}
}

:where(.information-technology,
	.information-equipment,
	.information-company,
	.information-news) {
	padding-block: clamp(4em, 0.362em + 7.44vw, 6.875em);

	h2 {
		font-size: clamp(1.25em, 1.063em + 0.5vw, 1.5em);
	}
}

:where(.information-technology .image-text-section,
	.information-equipment .image-text-section,
	.information-news .image-text-section) {
	> div > * {
		margin-inline: auto;
	}

	width: 100%;
	max-width: var(--maxWidth);
}

@media (width <=1024px) {

	:where(.information-technology .image-text-section,
		.information-equipment .image-text-section,
		.information-news .image-text-section) {
		&.is-layout-flex {
			padding-inline: 1em;
			flex-direction: column;
			row-gap: 2.95em;
		}
	}
}

:where(.information-technology,
	.information-equipment) {
	p:not(.leadcopy) {
		line-height: 1.6;
	}

	.leadcopy {
		/* margin-block:1.75em 1em; */
		margin-block: 2.2em 1.5em;
	}

	@media (width < 1024px) {
		p:not(.leadcopy) {
			line-height: unset;
		}

		p:has(a) {
			width: fit-content;
			margin-inline: auto;

			a.btn.contact {
				margin-inline: auto;
			}
		}
	}

	.image-text-section figure {
		max-width: unset;
		width: 100%;
		height: 100%;
		margin-inline: unset;
		aspect-ratio: 1 / 0.744;

		img {
			height: 100%;
			width: 100%;
			object-fit: cover;
		}
	}
}

:where(.information-technology,
	.information-company) {
	color: var(--color-text-white);
	background-image: linear-gradient(to right, var(--wp--preset--color--ymf-main), #00123D);
}

.information-equipment,
.information-news {
	background-color: var(--wp--preset--color--white);

	.leadcopy {
		letter-spacing: -1px;
	}
}

@media (width <=1024px) {
	.information-equipment {
		.image-text-section.is-layout-flex {
			flex-direction: column-reverse;
		}
	}
}

.information-company {
	position: relative;
	background-image: linear-gradient(223deg, var(--wp--preset--color--ymf-main) 0%, #00123D 100%);
	overflow: clip;
	padding-block-end: 0;

	h3 {
		margin-bottom: 14px;
	}

	> div {
		position: relative;
		z-index: 3;
	}

	h2 {
		text-align: center;
		position: relative;
		z-index: 3;
	}

	.image-text-section {
		width: min(1200px, calc(100% - 3rem));
		margin-inline: auto;
		margin-block-start: 82px;
	}

	p:has(a) {
		width: fit-content;
		margin-inline-start: 100px;
	}

	img.wide-size_img {
		object-fit: cover;
		min-height: unset;
		height: clamp(26.625rem, 6.28rem + 41.63vw, 37.5rem);
		/* height: clamp(26.625em, 6.28em + 41.63vw, 37.5em) */
	}
}

@media(width < 1024px) {
	.information-company {
		.image-text-section > div {
			max-width: 480px;
			margin-inline: auto;
		}

		p:has(a) {
			margin-inline: auto;
		}

		> figure img.wide-size_img {
			object-position: left 4% top 50%;
		}
	}
}

@media(width <=600px) {
	.information-company {
		background-image: linear-gradient(90deg, var(--wp--preset--color--ymf-main) 0%, #00123D 100%);

		> figure img.wide-size_img {
			object-position: left 22% top 50%;
		}
	}

	.prideblock {
		> div {
			padding-inline: 1.5em;

			.leadcopy {
				letter-spacing: -1px;
			}
		}
	}
}

@media(width <=1600px) {
	.prideblock {
		padding-inline: 1.25em;
	}
}

/* お知らせ */
.information-news {
	padding-block-start: 80px;

	h2 {
		width: fit-content;
		text-align: center;
	}

	padding-inline: 1em;

	h3 {
		font-size: 0.875em;
	}

	li {
		a {
			display: block;
			padding-block: clamp(1.15em, 1.036em + 0.24vw, 1.25em) clamp(1.7em, 1.586em + 0.24vw, 1.8em);
		}

		font-weight: 600;
		padding-inline: 0.5em;
		border-bottom: 1px solid var(--wp--preset--color--cyan-bluish-gray);
	}
}

#information-news {
	@container text-content (min-width: 700px) {
		.image-text-content > div {
			max-width: 90%;
			margin-inline-start: 0;
		}

		.image-text-content > p {
			max-width: 90%;
			width: 90%;
			margin-inline: 0;

			a {
				margin-inline: auto 0;
			}
		}
	}
}

@media(width <=1024px) {
	.information-news {
		> * {
			width: min(480px, 100%);
		}

		h2 {
			text-align: start;
			margin-inline: 0 auto;
		}

		p:has(a.btn) {
			max-width: unset;

			a.btn-contact {
				margin-inline: auto;
			}
		}
	}
}

/* 幅600px以下の画面 */
@media (600px > width) {
	.hero {
		min-height: unset;
		height: 100dvh;
	}

	.prideblock {
		background-position: left 60% top 0%;
	}

	.page-content .wide-size_img {
		object-position: 42% 30%;
	}
}

/* .carousel {
	margin-block-start: 4em;
} */
/* --- カルーセル --- */
/* .carousel {
	margin-inline: auto;
	width: 100%;
	display: flex;
	overflow-x: auto;
	gap: 30px;
	scrollbar-width: none;
	margin-block: clamp(4.7em, 2.802em + 3.88vw, 6.2em);

	&::-webkit-scrollbar {
		display: none;
	}
}

.group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	animation: spin 60s linear infinite;
	margin-block: 0;
}

.card {
	width: clamp(15.563em, 2.83em + 26.05vw, 25.625em);
	display: block;
	aspect-ratio: 410 / 288;
	text-align: center;
	align-content: center;
	margin-block: 0;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}

@keyframes spin {
	from {
		translate: 0 0;
	}

	to {
		translate: -100% 0;
	}
} */
h2[data-text]::before,
h3[data-text]::before {
	font-size: clamp(3rem, 1.8rem + 3.2vw, 5rem);
	/* margin-block-end: 0.25em; */
	margin-block: 0;
}

.site-main a.btn {
	&.btn-contact {
		margin-inline: 0 auto;
		max-width: unset;
		margin-block-start: 2.5em;
	}
}

/* =============================
	slug : recruit - 採用トップのスタイル
	========================================== */
.recruit {
	:where(.leadcopy, h1) {
		font-family: "Noto Serif JP", serif;
	}

	/* ボタンサイズが異なる */
	.page-content a.btn {
		width: 264px;
	}

	.hero {
		align-items: end;
		padding-block-end: 3.5em;

		.herotext {
			position: relative;
			z-index: 4;
			row-gap: 4.5em;
			padding-inline-start: clamp(1.5em, -32.667em + 45.56vw, 22em);
		}

		h1 {
			font-family: "Noto Serif JP", serif;
			/* line-height: 1.3684; */
			font-size: clamp(2.375rem, -1.75rem + 11vw, 6.5rem);
			margin-block-start: 0;
			font-feature-settings: normal;
			opacity: 0;
			line-height: 1.25;
			animation: fadeIn 0.4s linear forwards;
		}

		/* @media (width > 1024px){
			h1{font-feature-settings: unset;}
		} */
		.en-face {
			font-size: clamp(1.5em, 4vw, 3.5em);
			align-self: end;
			font-weight: 700;
			opacity: 0;
			/* animation: fadeIn 0.5s linear 1.25s forwards; */
			animation: fadeIn 2s linear forwards;
		}

		&::after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			height: 100%;
			background-image: url(../../images/svg/sl-logoimg.svg);
			background-repeat: no-repeat;
			/* background-position: left bottom; */
			/* background-size: 518.4px; */
			background-position: left max(0px, calc((100vw - 1920px) / 2)) bottom 0px;
			background-size: clamp(16.375rem, 10.512rem + 25.01vw, 32.4rem);
			opacity: 0;
			animation: fadeIn3 2s linear forwards;
			z-index: 2;
		}
	}

	.message-block {
		display: grid;
	}
}

@media (width < 380px) {
	.recruit .hero .herotext h1 {
		letter-spacing: -0.9999px;
		will-change: font-feature-settings;
	}
}

/* --- 採用TOP: Hero スライダー --- */
.slider-recruit-top {
	margin-block-start: 0;
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	/* ブロック全体が読み込み時に1回フェードイン */
	opacity: 0;
	animation: fadeIn 1.2s ease-out 1s forwards;

	.wp-block-image {
		position: absolute;
		inset: 0;
		margin: 0;
		translate: 100% 0;
		opacity: 0;
		animation: slider-recruit-slide 24s infinite;

		&:nth-child(1) {
			animation-delay: 0s;
		}

		&:nth-child(2) {
			animation-delay: 8s;
		}

		&:nth-child(3) {
			animation-delay: 16s;
		}

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}

	/* ドットインジケーター */
	&::after {
		content: '';
		position: absolute;
		bottom: 1.5rem;
		right: 2em;
		width: 56px;
		height: 8px;
		pointer-events: none;
		background-repeat: no-repeat;
		animation: slider-recruit-dots 24s infinite;
	}
}

/* 右から入る（opacity:1のまま移動＝隙間なし） */
@keyframes slider-recruit-slide {
	0% {
		translate: 100% 0;
		opacity: 1;
	}

	2.08% {
		translate: 0 0;
		opacity: 1;
	}

	33.33% {
		translate: 0 0;
		opacity: 1;
	}

	35.42% {
		translate: -100% 0;
		opacity: 1;
	}

	35.43% {
		translate: 100% 0;
		opacity: 0;
	}

	100% {
		translate: 100% 0;
		opacity: 0;
	}
}

/* スライド1-2-3 アクティブになる設定 */
@keyframes slider-recruit-dots {

	/* スライド1アクティブ: 16px + 10px gap + 8px + 10px gap + 8px = 52px */
	0%,
	33.2% {
		background-image:
			linear-gradient(#fff, #fff),
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3)),
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3));
		background-size: 16px 8px, 8px 8px, 8px 8px;
		background-position: 0 50%, 26px 50%, 44px 50%;
	}

	/* スライド2アクティブ: 8px + 10px gap + 16px + 10px gap + 8px = 52px */
	33.3%,
	66.5% {
		background-image:
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3)),
			linear-gradient(#fff, #fff),
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3));
		background-size: 8px 8px, 16px 8px, 8px 8px;
		background-position: 0 50%, 18px 50%, 44px 50%;
	}

	/* スライド3アクティブ: 8px + 10px gap + 8px + 10px gap + 16px = 52px */
	66.6%,
	100% {
		background-image:
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3)),
			linear-gradient(rgba(255 255 255 / .3), rgba(255 255 255 / .3)),
			linear-gradient(#fff, #fff);
		background-size: 8px 8px, 8px 8px, 16px 8px;
		background-position: 0 50%, 18px 50%, 36px 50%;
	}
}

/* アニメーション軽減設定への対応 */
@media (prefers-reduced-motion: reduce) {
	.slider-recruit-top {
		opacity: 1;
		animation: none;

		.wp-block-image {
			translate: 0 0;
			opacity: 1;
			animation: none;

			&:not(:first-child) {
				display: none;
			}
		}

		&::after {
			animation: none;
		}
	}
}

/* 代表メッセージ */
.information-message {
	p[data-text] {
		color: #00A3FF;
		font-size: clamp(1.25em, 1.063em + 0.5vw, 1.5em);
		font-weight: bold;

		&::before {
			font-size: clamp(3rem, 1.5em + 4vw, 5rem);
			margin-block-end: 0;
		}
	}

	h2 + p {
		line-height: 1.95;
	}

	@media(782px > width) {
		h2 + p {
			line-height: 2.2;
		}
	}

	h2.leadcopy {
		font-size: clamp(1.375em, 0.438rem + 2.5vw, 2.625em);
		letter-spacing: 0.1em;
		white-space: nowrap;
		font-feature-settings: normal;
		line-height: 1.65;
	}

	img {
		max-width: 578px;
	}

	.image-text-section {
		gap: 0
	}
}

@media (width < 1460px) {
	.information-message .image-text-section {
		padding-inline: 1.25rem;
	}
}

@media (1024px <=width < 1260px) {
	.information-message .image-text-section {
		gap: 2em;
	}
}

@media (width < 1024px) {
	.information-message {
		grid-template-columns: 1fr;
		padding-block: clamp(2.688rem, -2.295rem + 10.19vw, 6.88rem) clamp(3.75rem, 0.036rem + 7.6vw, 6.875rem);
	}

	.information-message .image-text-section {
		gap: 52px;

		figure,
		div {
			margin-block-start: 0;
		}

		p[data-text] {
			text-align: center;
		}

		h2.leadcopy {
			text-align: center;
		}

		figure {
			margin-inline: auto;
			width: fit-content;
		}
	}

	.information-message .image-text-section .image-text-content {
		> * {
			margin-inline: auto;
		}

		a.btn {
			&.btn-contact {
				margin-inline: auto;
			}
		}
	}
}

@media (width >=1024px) {
	.page-content .message-block {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, auto);

		> p[data-text] {
			max-width: unset;
			grid-column: 2/3;
			grid-row: 1/2;
			align-self: end;
			margin-inline: 0 !important;
		}

		> figure {
			grid-column: 1/2;
			grid-row: 1/3;
			margin-block-start: 0;
		}

		@container text-content (min-width: 510px) {
			.image-text-content > * {
				max-width: 30.75em;
			}
		}

		.image-text-content {
			margin-block-start: 0 !important;
			grid-column: 2/3;
			grid-row: 2/3;
		}
	}
}

:where(.information-message,
	.information-interview,
	.information-works,
	.information-jobtype,
	.information-looking) {
	/* padding-block: clamp(5.125em, 3.339em + 3.57vw, 5.625em) 6.875em; */
	padding-block: clamp(5.125rem, 3.148rem + 4.05vw, 6.688rem) 6.875rem;
}

.information-message,
.information-jobtype {
	background-color: #E8F3FC;
}

.information-interview {
	position: relative;
	padding-block: 3rem 4rem;

	&::before {
		content: "";
		position: absolute;
		z-index: -1;
		background-color: var(--color-bg-blue);
		height: 45%;
		width: 100%;
		bottom: 0;
		left: 0;
	}

	p.leadcopy {
		font-size: clamp(1.375em, 0.719rem + 1.75vw, 2.25em);
		margin-block: 1.25rem 4rem;
	}

	/* h2 {
		font-size: 1.5rem;
	} */

	@media (width >=1024px) {
		h2 {
			display: inline-flex;
			column-gap: 1.75rem;
			align-items: center;

			&::before {
				display: inline;
			}
		}
	}

	@media (1024px > width) {
		.interview-list-inner {
			h2 {
				text-align: center;
			}

			p.leadcopy {
				margin-block: 41px 48px;
				text-align: center;
			}
		}
	}
}

/* スライダーセクション: 右方向の横スクロールを防ぐ */
.information-interview {
	overflow-x: clip;
	width: 100vw;
	max-width: 1920px;
	margin-inline: auto;

	.interview-list-inner {
		margin-block-start: clamp(0.25em, -4.857em + 10.71vw, 2em);
		padding-inline-start: clamp(1.5rem, -13.5rem + 36vw, 22.5rem);
	}
}
@media(600px > width){
	.information-interview{
		.interview-list-inner{
		padding-inline-start:unset;
			p,h2{
		padding-inline-end: 1em;
	}
	.interview-slider,
	.interview-slider__progressblock{
	padding-inline-start: clamp(1.5rem, -13.5rem + 36vw, 22.5rem);
	}
	}
}
}

.interview-slider__list {

	ul,
	li {
		list-style: none;
	}

	li {
		position: relative;
		/*
		 * Splide の autoWidth は .splide__slide（li）の幅を参照する。
		 * カード幅はここで一元管理する。
		 *   > 1400px : 400px
		 *   ≤ 1400px : 350px
		 *   ≤ 1024px : 300px
		 *   ≤  768px : SP用レスポンシブ幅（1枚表示）
		 */
		width: 400px;

		@media (max-width: 1400px) {
			width: 350px;
		}

		@media (max-width: 1024px) {
			width: 325px;
		}

		@media (max-width: 768px) {
			width: 300px;
		}
	}

	li a {
		position: relative;
		/*
		 * isolation: isolate で新しいスタッキングコンテキストを生成。
		 * .interview-slider__image の z-index: -1 がこの要素の内側に封じ込められ、
		 * Splide が付与する外側の要素に影響されずグラデーションオーバーレイが維持される。
		 * 幅は li に追従させる（li で一元管理）。
		 */
		isolation: isolate;
		display: grid;
		width: 100%;
		height: auto;
		aspect-ratio: 400 / 536;
		align-content: end;
		align-items: end;
		padding-block-end: 1.5rem;
		padding-inline: 1.5rem;
		row-gap: clamp(0.6rem, 0.125rem + 0.97vw, 1rem);
	}

	.interview-slider__item {
		.interview-slider__image {
			position: absolute;
			inset: 0;
			display: block;
			z-index: -1;

			img {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

			@media (782px > width) {
				img {
					max-width: 300px;
					aspect-ratio: 300.75 / 402;
				}
			}

			img.interview-slider__image-alt {
				opacity: 0;
				transition: opacity 0.3s ease;
			}

			/* グラデーションをかける */
			&::after {
				content: '';
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				height: 27%;
				background: linear-gradient(to top, rgb(0 0 0 / .8), transparent);
				pointer-events: none;
				z-index: 1;
			}
		}

		&:hover .interview-slider__image img.interview-slider__image-alt {
			opacity: 1;
		}
	}

	.interview-slider__title {
		color: var(--color-text-white);
		font-size: clamp(0.9rem, 0.509rem + 0.68vw, 1.125rem);
		line-height: 1.875;

		@media (782px > width) {
			line-height: 1.7;
		}
	}

	.interview-slider__meta {
		color: var(--color-text-white);
		display: inline-flex;
		column-gap: 1rem;
		font-size: clamp(0.656em, 0.248rem + 0.84vw, 1em);
	}

	/* 
	h3 {
		font-size: 1.125rem;
		line-height: 1.875;
	} */
}

/* インタビュースライダー: カスタムコントロール（矢印＋進捗バー） */
.interview-slider__controls {

	/* display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-block-start: 1.5rem; */
	/* 矢印ボタン群 */
	.interview-slider__nav {
		display: flex;
		gap: 0.5rem;
		flex-shrink: 0;
	}

	/* 矢印ボタン個別（丸型） */
	.interview-slider__btn {
		display: grid;
		place-items: center;
		width: clamp(3.797rem, 2.961rem + 1.71vw, 4.5rem);
		height: clamp(3.797rem, 2.961rem + 1.71vw, 4.5rem);
		border-radius: 50%;
		border: 1.5px solid var(--color-bg-blue);
		background: var(--wp--preset--color--white);
		color: var(--color-bg-blue);
		cursor: pointer;
		transition: background 0.2s, color 0.2s;

		svg {
			width: 1.25rem;
			height: 1.25rem;
		}

		&:hover {
			background: var(--color-recruit-primary);
			color: var(--wp--preset--color--white);
			border-color: var(--color-recruit-primary);
		}
	}

	/* 進捗バー（矢印の右側） */
	.interview-slider__progress {
		flex: 1;
		height: 5px;
		background: var(--wp--preset--color--white);
		border-radius: 1px;
		overflow: hidden;

		@media(782px > width) {
			margin-block: 1.75em 4.24em;
		}

		.interview-slider__progress-bar {
			height: 100%;
			background: var(--color-recruit-primary);
			border-radius: 1px;
			transition: width 0.4s ease;
			width: 0%;
		}
	}
}

.splide__list {
	gap: clamp(2.188rem, 1.484rem + 1.88vw, 3.125rem);
}

.interview-slider__progressblock {
	padding-inline-end: 1rem;
	margin-block-start: clamp(1.5em, -0.656em + 5.75vw, 3.375em)
}

:where(.information-works,
	.information-looking) {
	max-width: var(--wp--custom--bkpoint--xl);
	margin-inline: auto;
}

:where(
	.information-interview,
	.information-works,
	.information-jobtype,
	.information-looking) {

	/* padding-block: 80px; */
	img {
		max-width: 100%;
		height: auto;
		object-fit: cover;
		margin-inline: auto;
	}

	h2 {
		text-align: center;
		font-size: 1.5rem;
	}

	h3 {
		font-size: clamp(1.5em, 0.439em + 2.83vw, 2.25em);
	}

	h3 span {
		color: var(--color-bg-blue);
	}
}

.line-desgin {
	width: fit-content;
	/* padding-inline: 2.25em; */
	/* padding-block: clamp(0.5rem, -0.393rem + 1.79vw, 0.75rem);*/
	padding-inline: clamp(1.438em, -4.143em + 11.16vw, 3em);
	padding-block: 0.2561em;
	background-color: var(--wp--preset--color--ymf-text);
	color: var(--color-text-white);
	font-weight: 700;
	font-size: clamp(12.5px, 0.403rem + 0.97vw, 1.25rem);
	clip-path: polygon(15% 0%, 100% 0%, 85% 100%, 0% 100%);
	margin-block: 0;
	text-box-trim: trim-both;
}

.information-jobtype,
.information-works {
	> div {
		width: min(1100px, calc(100% - 3rem));
		margin-inline: auto;
	}
}

/* 仕事について */
.information-works {
	padding-block: clamp(5em, 3.339em + 3.57vw, 5.625em);

	h3 {
		margin-block: 1.025rem 1.5rem;
		font-size: clamp(1.5rem, -1.179rem + 5.36vw, 2.25rem);
		line-height: 1.4;
	}

	> div {
		margin-block: 0;
		gap: 3em;
		padding-block: 50px;
		margin-inline: 1.5rem;
		border-bottom: 1px solid var(--wp--preset--color--black);

		&:nth-of-type(1) {
			margin-block-start: clamp(3.25em, 2.062em + 2.43vw, 4.25em);
			border-top: 1px solid var(--wp--preset--color--black);
		}
	}

	> div > div {
		align-self: center;
	}
}

.information-jobtype {
	padding-block-end: clamp(5.438rem, 3.729rem + 3.5vw, 6.875rem);

	> div {
		background-color: var(--wp--preset--color--white);
		padding: clamp(1.938em, 1.672em + 0.85vw, 39px) clamp(1.5em, 0.881em + 1.65vw, 1.938em);

		&:nth-of-type(1) {
			margin-block: clamp(3em, 1.585em + 3.77vw, 4em) clamp(2.1em, 0.882em + 2.49vw, 3.125em);
		}

		img {
			margin-inline: 0 auto;
		}

		> div {
			margin-block: auto;
		}
	}

	h3 {
		color: var(--color-recruit-primary);
	}

	p {
		line-height: 1.8;
	}

	a.btn.btn-contact {
		margin-block-start: 1.25em;
	}
}

/* about us */
.information-looking {
	padding-block-start: clamp(4.25em, 2.616em + 3.34vw, 90px);

	> div {
		margin-block-start: clamp(3em, 1.585em + 3.77vw, 4em);
		gap: 70px 11px;
		justify-items: center;
	}

	h2 {
		text-align: start;
	}

	h2[data-text="ABOUT US"]::before {
		margin-block-end: 0.115em;
	}

	a {
		display: block;
		max-width: 656px;

		figure,
		img {
			display: block;
			width: 100%;
			height: 100%;
			border-radius: clamp(0em, -0.446em + 0.91vw, 6px);
			transition: 0.3s ease;
		}

		p {
			border-bottom: 2px solid var(--color-bg-blue);
			line-height: 3;
			text-box-trim: unset;
			font-size: clamp(0.875em, 0.344em + 1.42vw, 1.25em);
			font-weight: 700;
			background-image: url(../../images/svg/arrow-simple.svg);
			background-repeat: no-repeat;
			background-position: right 0.2em top 50%;
			background-size: clamp(0.5rem, -0.094rem + 1.22vw, 1rem);
			padding-inline: 0.2em;
		}

		&:hover {
			img {
				opacity: 0.5;
			}

			p {
				opacity: 0.7;
				background-position: right 0em top 50%;
			}
		}
	}

	.well-known {
		justify-items: center;
		grid-template-columns: repeat(auto-fit, minmax(clamp(21.625em, -5.262em + 71.7vw, 40.625em), 1fr)) !important;
		gap: clamp(2.125em, 5.67vw, 4.25em) 44px;
	}
}

/* 企業リンク */
.goto-coop-link {
	margin-block-end: 5em;
	position: relative;
	width: min(1100px, calc(100% - 3rem));
	margin-inline: auto;
	aspect-ratio: 1 / 0.24;

	a {
		position: relative;
		display: grid;
		height: 100%;
		width: 100%;
		color: var(--color-text-white);
		place-content: center start;
		padding-inline-start: clamp(1rem, -7.681rem + 13.56vw, 4.188rem);

		p:has(svg) {
			display: flex;
			gap: 0;
			width: clamp(13.272em, -1.885em + 31.01vw, 25.25em);
		}

		p:has(svg) + p {
			border-bottom: 2px solid var(--color-bg-blue);
			line-height: 2.5;
			text-box-trim: unset;
			font-size: clamp(0.875em, 0.344em + 1.42vw, 1.25em);
			font-weight: 700;
			background-image: url(../../images/svg/arrow-simple.svg);
			background-repeat: no-repeat;
			background-position: right 0.2em top 50%;
			background-size: clamp(0.5rem, -0.094rem + 1.22vw, 1rem);
			padding-inline: 0.2em;
			max-width: 280px;
		}
	}

	.hero-use-r2 {
		margin-inline-start: -1em;
	}

	figure {
		position: absolute;
		inset: 0;
		z-index: -1;
		overflow: clip;

		img {
			max-width: 100%;
			object-fit: cover;
			transition: filter 0.3s ease;
		}
	}

	transition: 0.3s ease;

	&:hover {
		img {
			filter: blur(2px);
		}
	}
}

@media(782px > width) {
	.interview-slider__controls {
		gap: 1.5rem;
		margin-block-start: 1.5rem;
	}
}

@media(782px <=width) {
	.interview-slider__controls {
		display: flex;
		align-items: center;
		gap: 1.5rem;
		margin-block-start: 1.5rem;
	}
}

@media (width > 1024px) {
	.interview-slider__progressblock {
		grid-template-columns: repeat(2, auto);
	}

	.interview-slider__progressblock > p {
		align-self: center;
		margin-block-start: 0;

		a.btn.btn-contact {
			margin-block-start: 0;
		}
	}
}

@media (600px > width) {
	.information-jobtype {
		a.btn {
			&.btn-contact {
				max-width: 240px;
				margin-inline: auto;
			}
		}
	}

	.information-looking {
		.well-known {
			grid-template-columns: 1fr;
		}

		padding-inline: 1.25rem;
	}
}

@media (782px > width) {
	.goto-coop-link {
		width: 100%;
		max-width: 543px;
		min-height: 520px;
		padding-inline: 1.5rem;

		a {
			padding: 3em 2em;
			place-content: unset;
			align-self: start;

			img,
			figure,
			picture{
				max-width: 543px;
				height: 100%;
				width: 100%;
				min-height: 520px;
				object-fit: cover;
				object-position: center;
				border-radius: clamp(0.375rem, 0.226rem + 0.3vw, 0.5rem);
			}
		}

		.hero-use-r2 {
			margin-inline-start: 0.25em;
			margin-block-start: 0.5em;
		}

		p:has(svg) {
			flex-direction: column;
		}
		p:has(svg) + p {
			margin-block-start: 2.5em;
		}
	}
}

@media (782px > width) {
	.information-works,
	.information-company {
		h3 {
			text-align: center;
			line-height: 1.65;
		}

		.line-desgin {
			margin-inline: auto;
		}

		p {
			max-width: 500px;
			margin-inline: auto;
		}
	}

	.information-works {
		.line-desgin {
			padding-block: 0.28em;
			min-width: 130px;
			text-align: center;
		}
	}

	.information-jobtype {
		h3{text-align: center;}

		> div {
			width: 100%;
			figure {
				img {
					width: 100%;
					height: 100%;
				}
			}
		}
	}

	.information-looking{
		.well-known > div{
			max-width: 550px;
		}
	}
}

@media (1024px > width) {
	.information-jobtype {
		padding-inline: 1rem;

		> div {
			img {
				margin-inline: auto;
			}

			> div {
				max-width: 440px;
				margin-inline: auto;
			}
		}
	}
}

@media (1024px < width) {
	.information-works {
		> div {
			padding-block: 50px;
			margin-inline: auto;
			border-bottom: 1px solid var(--wp--preset--color--black);

			&:nth-of-type(1) {
				margin-block-start: 4.25em;
				border-top: 1px solid var(--wp--preset--color--black);
			}
		}

		> div:nth-child(odd) {
			flex-direction: row-reverse;
		}
	}
}

@media(1024px >=width) {
	.information-looking {
		h2 {
			text-align: center;
		}
	}
}