@charset "UTF-8";

/* --service-- */
@media all {
	.service-section .service-item a {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		background-size: cover;
		color: #fff;
		font-weight: bold;
		overflow: hidden;
	}
	.service-section .service-item a img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: .3s ease-in;
	}
	.service-section .service-item a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #3B4C85;
		opacity: .2;
		z-index: 1;
		pointer-events: none;
		transition: opacity .3s ease-in;
	}
	.service-section .service-item a:hover::before {
		opacity: .7;
	}
	.service-section .service-item a:hover img {
		transform: scale(1.05);
	}
	.service-section .service-item a span {
		text-align: center;
		z-index: 3;
	}
	.service-section .service-item a::after {
		content: attr(data-en);
		display: block;
		z-index: 3;
	}
}

/* --service-- sp */
@media only screen and (max-width: 767px) {
	.service-section .service-item {
		aspect-ratio: 320 / 185;
	}
	.service-section .service-item a span {
		font-size: var(--sp-vw-18px);
		line-height: 1.667;
	}
	.service-section .service-item a::after {
		margin-top: 1em;
		font-size: var(--sp-vw-10px);
	}
}

/* --service-- tab & pc */
@media print,
(min-width: 768px) {
	.service-section {
		margin-top: 30px;
	}
	.service-section .service-inner {
		width: 100%;
		max-width: 1980px;
	}
	.service-section .service-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.service-section .service-item {
		width: 50%;
		aspect-ratio: 4 / 3;
	}
	.service-section .service-item a span {
		font-size: 35px;
		line-height: 1.7242;
	}
	.service-section .service-item a::after {
		margin-top: 10px;
		font-size: 14px;
	}
}
/* --service-- pc wide */
@media (min-width: 1500px) {
	.service-section .service-item {
		width: 33.3%;
	}
}