@charset "utf-8";

.voice-page{
	background-color: #E3EDE0;
}

.voice-section{
	margin: clamp(110px, 12.5vw, 180px) 0;
}
.voice-section .section-inner{
	max-width: 1620px;
	margin: 0 auto ;
	padding: 0 1em;
}
.voice_container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	width: 90%;
	margin: 0 auto;
}

.voice-item {
	width: 100%;
}

.voice-thumbnail {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	aspect-ratio: 1 / 1;
	background-color: #eee;
	cursor: pointer;
	transition: box-shadow 0.2s ease-out;
}

.voice-thumbnail:hover {
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.voice-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.voice-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 20px;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.65),
		rgba(0, 0, 0, 0)
	);

	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.15s ease-out,
		transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

/* hover */
.voice-thumbnail:hover img {
	transform: scale(1.12);
}

.voice-thumbnail:hover .voice-overlay {
	opacity: 1;
	transform: translateY(0);
}


.voice-title {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.4;
}

@media screen and (max-width: 1024px) {
	.voice_container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.voice_container {
		grid-template-columns: 1fr;
	}

	.voice-title {
		font-size: 1.4rem;
	}
}



.pagination {
	margin-top: 60px;
	display: flex;
	justify-content: center;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 4px;
	border-radius: 50%;
	background-color: #fff;
	color: #333;
	font-size: 1.4rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* hover */
.pagination .page-numbers:hover {
	background-color: #e8a707;
	color: #fff;
}

/* current */
.pagination .page-numbers.current {
	background-color: #e8a707;
	color: #fff;
	font-weight: 600;
	cursor: default;
}

/* prev / next */
.pagination .page-numbers.prev,
.pagination .page-numbers.next {
	font-size: 1.6rem;
}

/* SP */
@media screen and (max-width: 768px) {
	.pagination {
		margin-top: 40px;
	}

	.pagination .page-numbers {
		width: 40px;
		height: 40px;
		font-size: 1.3rem;
	}
}
