/* 施工事例カード共通ホバー（一覧 / トップ） */

.results-card,
.equipment-card,
.construction-card {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	transition: background-color 0.35s cubic-bezier(0.65, 0, 0.35, 1);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"media"
		"tag"
		"title";
}

.results-card--no-tag,
.equipment-card--no-tag,
.construction-card--no-tag {
	grid-template-areas:
		"media"
		"title";
}

.results-card__link-overlay,
.equipment-card__link-overlay,
.construction-card__link-overlay,
.civil-card__link-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	cursor: pointer;
}

.results-card__body,
.equipment-card__body,
.construction-card__body,
.civil-card__body {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.results-card__body *,
.equipment-card__body *,
.construction-card__body *,
.civil-card__body * {
	pointer-events: none;
}

.results-card__fx,
.equipment-card__fx,
.construction-card__fx {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	grid-column: 1;
	grid-row: 1 / -1;
}

.results-card__fx-beam,
.equipment-card__fx-beam,
.construction-card__fx-beam {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5px;
	background: #16346d;
	transform: scaleY(0);
	transform-origin: center bottom;
	transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.results-card__fx-hatch,
.equipment-card__fx-hatch,
.construction-card__fx-hatch {
	position: absolute;
	inset: 0;
	opacity: 0;
	background: repeating-linear-gradient(
		-45deg,
		transparent 0,
		transparent 10px,
		rgba(22, 52, 109, 0.045) 10px,
		rgba(22, 52, 109, 0.045) 11px
	);
	transition: opacity 0.35s ease;
}

.results-card__fx-rule,
.equipment-card__fx-rule,
.construction-card__fx-rule {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: #16346d;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.results-card__media,
.results-card__tag,
.results-card__title,
.equipment-card__media,
.equipment-card__tag,
.equipment-card__title,
.construction-card__media,
.construction-card__tag,
.construction-card__title {
	position: relative;
	z-index: 1;
}

.results-card__media,
.equipment-card__media,
.construction-card__media {
	grid-area: media;
}

.results-card__tag,
.equipment-card__tag,
.construction-card__tag {
	grid-area: tag;
	z-index: 3;
	pointer-events: auto;
}

.results-card__title,
.equipment-card__title,
.construction-card__title {
	grid-area: title;
}

.results-card__thumb,
.equipment-card__thumb,
.construction-card__thumb {
	position: relative;
	overflow: hidden;
}

.results-card__thumb::after,
.equipment-card__thumb::after,
.construction-card__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(22, 52, 109, 0.12);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.results-card__img,
.equipment-card__img,
.construction-card__img {
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.results-card__title-text,
.equipment-card__title-text,
.construction-card__title-text {
	transition: color 0.25s ease;
}

.results-card:is(:hover, :focus-within),
.equipment-card:is(:hover, :focus-within),
.construction-card:is(:hover, :focus-within) {
	background-color: #f4fafe;
}

.results-card:is(:hover, :focus-within) .results-card__fx-beam,
.equipment-card:is(:hover, :focus-within) .equipment-card__fx-beam,
.construction-card:is(:hover, :focus-within) .construction-card__fx-beam {
	transform: scaleY(1);
	transform-origin: center top;
}

.results-card:is(:hover, :focus-within) .results-card__fx-hatch,
.equipment-card:is(:hover, :focus-within) .equipment-card__fx-hatch,
.construction-card:is(:hover, :focus-within) .construction-card__fx-hatch {
	opacity: 1;
}

.results-card:is(:hover, :focus-within) .results-card__fx-rule,
.equipment-card:is(:hover, :focus-within) .equipment-card__fx-rule,
.construction-card:is(:hover, :focus-within) .construction-card__fx-rule {
	transform: scaleX(1);
}

.results-card:is(:hover, :focus-within) .results-card__img,
.equipment-card:is(:hover, :focus-within) .equipment-card__img,
.construction-card:is(:hover, :focus-within) .construction-card__img {
	transform: scale(1.04);
}

.results-card:is(:hover, :focus-within) .results-card__thumb::after,
.equipment-card:is(:hover, :focus-within) .equipment-card__thumb::after,
.construction-card:is(:hover, :focus-within) .construction-card__thumb::after {
	opacity: 1;
}

.results-card:is(:hover, :focus-within) .results-card__title-text,
.equipment-card:is(:hover, :focus-within) .equipment-card__title-text,
.construction-card:is(:hover, :focus-within) .construction-card__title-text {
	color: #16346d;
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.results-card,
	.equipment-card,
	.construction-card,
	.results-card__fx-beam,
	.results-card__fx-hatch,
	.results-card__fx-rule,
	.results-card__img,
	.results-card__thumb::after,
	.results-card__title-text,
	.equipment-card__fx-beam,
	.equipment-card__fx-hatch,
	.equipment-card__fx-rule,
	.equipment-card__img,
	.equipment-card__thumb::after,
	.equipment-card__title-text,
	.construction-card__fx-beam,
	.construction-card__fx-hatch,
	.construction-card__fx-rule,
	.construction-card__img,
	.construction-card__thumb::after,
	.construction-card__title-text {
		transition: none;
	}
}
