@charset "UTF-8";

/* =================================
    共通
================================= */
footer {
	margin-top: 40px !important;
}

main p {
	color: #000;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: .03em;
	line-height: 2.31;
}

.col-title {
	display: flex;
	align-items: center;
	gap: 165px;

	h2 {
		color: #0661B5;
		display: flex;
		flex-flow: column;
		gap: 14px;
		font-size: 38px;
		letter-spacing: .11em;
		line-height: 1.15;

		span {
			display: flex;
			align-items: center;
			gap: 8px;
			font-size: 28px;
			letter-spacing: .06em;
			line-height: 1.14;

			&::before {
				content: "";
				background-image: linear-gradient(90deg, #FCDFC8, #0661B5);
				border-radius: 50%;
				display: block;
				transform: rotate(-30deg);
				width: 23px;
				height: 16px;
			}
		}
	}
}

/* =================================
    目指す人物像
================================= */
.ideal {
	margin: 150px auto 0;
	width: 90%;
	max-width: 1190px;

	.col {
		display: grid;
		align-items: flex-end;
		grid-template-columns: repeat(3, 1fr);
		gap: 23px;
		margin-top: 24px;

		>div {
			position: relative;
			text-align: center;
			margin: 0 auto;
			max-width: 444px;

			&::before {
				content: "";
				background: url(../images/interview/ideal-back.webp) no-repeat;
				background-size: contain;
				position: absolute;
				top: 50%;
				left: 53%;
				transform: translate(-50%, -50%);
				width: 444px;
				height: 396px;
				z-index: -1;
			}

			&:nth-child(1)::before {
				top: 74%;
			}

			&:nth-child(2)::before {
				top: 70%;
			}

			&:nth-child(3)::before {
				top: 72%;
			}

			img {
				margin: 0 auto;
			}

			&:nth-child(1) img {
				margin-bottom: 10px;
				width: 205px;
				height: 262px;
			}

			&:nth-child(2) img {
				margin-bottom: 10px;
				width: 237px;
				height: 194px;
			}

			&:nth-child(3) img {
				margin-bottom: 4px;
				width: 227px;
				height: 229px;
			}
		}

		h3 {
			color: #EF5A39;
			font-size: 23px;
			line-height: 1.39;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 17px;

			&::before,
			&::after {
				content: "";
				background: #EF5A39;
				display: block;
				width: 90px;
				height: 1px;
			}
		}

		p {
			line-height: 1.875;
			margin-top: 11px;
		}
	}
}

@media screen and (max-width: 1100px) {
	.ideal {
		.col {
			grid-template-columns: repeat(1, 1fr);
			gap: 0;

			>div {
				&:nth-child(2) {
					margin-top: 100px;
				}

				&:nth-child(3) {
					margin-top: 80px;
				}
			}
		}
	}
}

/* =================================
    インタビュー
================================= */

.interview {
	background: url(../images/interview/interview-back.svg) no-repeat;
	background-size: cover;
	background-position: top center;
	padding: 260px 80px 218px;
	position: relative;
	margin-top: 220px;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: var(--noise-pattern-light);
		background-repeat: repeat;
		pointer-events: none;
		mask-image: url(../images/interview/interview-back.svg);
		mask-size: cover;
		mask-repeat: no-repeat;
		mask-position: top center;
		-webkit-mask-image: url(../images/interview/interview-back.svg);
		-webkit-mask-size: cover;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: top center;
	}

	&::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 100%;
		height: 250px;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.7) 75%, rgba(255, 255, 255, 1));
		pointer-events: none;
	}

	.col-title {
		justify-content: center;
		gap: 207px;
		position: relative;
		z-index: 1;
	}
}

.interview-wrap {
	padding-top: 124px;
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1184px;
	z-index: 1;

	h3 {
		color: #0661B5;
		font-size: 23px;
		letter-spacing: .11em;
		line-height: 1.39;
		display: flex;
		align-items: center;
		gap: 24px;
		white-space: nowrap;

		&::after {
			content: "";
			background: #0661B5;
			display: block;
			width: 100%;
			height: 1px;
		}
	}
}

.interview-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 60px 32px;
	padding-top: 75px;
}

.interview-item {
	.thum {
		position: relative;

		a {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		b {
			background: #fff;
			font-size: 16px;
			letter-spacing: 1.76px;
			padding: 10px 8px;
			position: absolute;
			top: -25px;
			right: 24px;
			writing-mode: vertical-rl;
			z-index: 1;
		}

		img {
			border-radius: 35px;
			transition: .3s;
		}

		&:has(a:hover) img {
			opacity: .7;
		}

		.category {
			background: #EF5A39;
			border-radius: 0 30px 30px 0;
			color: #fff;
			font-weight: 500;
			font-size: 14px;
			padding: 5px 35px 5px 26px;
			position: absolute;
			left: 0;
			bottom: 0;
		}

		.cat-career {
			background: #0661B5;
		}
	}

	.interview-text {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0 7px;
		margin-top: 16px;

		.role {
			background: #fff;
			border-radius: 35px;
			font-size: 14px;
			line-height: 2.14;
			padding: 1px 19px;
		}

		.initial {
			font-size: 22px;
			line-height: 1.68;
		}
	}
}

/* =================================
    tab
================================= */
@media screen and (max-width: 1200px) {
	.col-title {
		align-items: flex-start;
		flex-flow: column;
		gap: 30px;
	}

	.ideal {
		margin-top: 70px;

		.col {
			margin-top: 60px;
		}
	}

	.interview {
		padding: 200px 80px 300px;

		.col-title {
			gap: 35px;
		}
	}

	.interview-wrap {
		padding-top: 97px;
	}
}

@media screen and (max-width: 1080px) {
	.interview {
		background: url(../images/interview/interview-back_tab.svg) no-repeat;
		background-size: cover;
		background-position: top center;

		&::before {
			mask-image: url(../images/interview/interview-back_tab.svg);
			-webkit-mask-image: url(../images/interview/interview-back_tab.svg);
		}
	}

	.interview-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 88px 63px;
	}
}

/* =================================
    sp
================================= */
@media screen and (max-width: 767px) {
	main p {
		line-height: 1.875;
	}

	.col-title {
		gap: 15px;

		h2 {
			font-size: 28px;
			line-height: 1.14;
			gap: 9px;

			span {
				font-size: 16px;
				line-height: 1.06;
			}
		}
	}

	.ideal {
		.col {
			margin-top: 50px;

			>div::before {
				left: 50%;
			}
		}
	}

	.interview {
		padding: 124px 22px 140px;
	}

	.interview-wrap {
		padding-top: 83px;
	}

	.interview-list {
		gap: 42px 8px;
	}

	.interview-item {
		.thum {
			b {
				font-size: 14px;
				top: -36px;
				right: 15px;
				padding: 9px 2px;
			}

			img {
				border-radius: 20px;
			}

			.category {
				padding: 0 16px 0 10px;
			}

			.cat-career {
				padding: 0 11px 0 5px;
			}
		}

		.interview-text {
			margin-top: 10px;

			.role {
				padding: 1px 11px;
			}
		}
	}
}