@charset "UTF-8";

/* 施工実績 */
.c-service-works__lead {
	max-width: 600px;
}

.c-service-works__slider {
	margin-top: 48px;
}

.c-service-works__item {
	display: block;
	color: var(--color_black);
	text-decoration: none;
}

.c-service-works__img {
	height: 360px;
	overflow: hidden;
	border-radius: 24px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-ms-border-radius: 24px;
	-o-border-radius: 24px;
}

.c-service-works__img img {
	transition: transform 0.3s ease;
	-webkit-transition: transform 0.3s ease;
	-moz-transition: transform 0.3s ease;
	-ms-transition: transform 0.3s ease;
	-o-transition: transform 0.3s ease;
}

.c-service-works__ttl {
	margin-top: 1em;
	font-weight: var(--fw_jp_bold);
	line-height: 1.5;
}

.c-service-works__item:hover .c-service-works__img img {
	transform: scale(1.05);
}

.c-service-works__item:hover .c-service-works__ttl {
	color: var(--color01);
}

.c-service-works__item:focus-visible {
	outline: 2px solid var(--color01);
	outline-offset: 6px;
}

.c-service-works__controls {
	display: flex;
	justify-content: center;
	gap: 0.5em;
	margin-top: 32px;
}

.c-service-works__slider.is-single .c-service-works__controls {
	display: none;
}

.c-service-works__prev,
.c-service-works__next {
	width: 48px;
	height: 48px;
	background-color: var(--color_white);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border: 2px solid var(--color01);
	padding: 14px;
	cursor: pointer;
	transition: opacity 0.3s ease;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
}

.c-service-works__prev:hover,
.c-service-works__next:hover {
	opacity: 0.6;
}

.c-service-works__prev:focus-visible,
.c-service-works__next:focus-visible {
	outline: 2px solid var(--color01);
	outline-offset: 3px;
}

.c-service-works__prev.swiper-button-disabled,
.c-service-works__next.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

.c-service-works__link {
	margin-top: 40px;
	text-align: center;
}


/* ローカルナビゲーション */
.c-local-nav {
	margin: 160px auto;
}

.c-local-nav__list {
	display: flex;
	justify-content: center;
	gap: 40px 3%;
}

.c-local-nav__item {
	width: calc((100% - 9%) / 4);
	max-width: 260px;
}

.c-local-nav__link {
	color: var(--color_black);
	text-decoration: none;
	display: block;
}

.c-local-nav__img {
	position: relative;
	padding: 8px;
	border: 2px solid var(--color01);
	border-radius: 16px;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
	height: 220px;
}

.c-local-nav__img-inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}

.c-local-nav__img img {
	transition: transform 0.4s ease;
	-webkit-transition: transform 0.4s ease;
	-moz-transition: transform 0.4s ease;
	-ms-transition: transform 0.4s ease;
	-o-transition: transform 0.4s ease;
}

.c-local-nav__label {
	color: var(--color_white);
	background-color: var(--color01);
	font-weight: var(--fw_jp_medium);
	line-height: 1.5;
	letter-spacing: 0.1em;
	position: absolute;
	top: 50%;
	left: -1em;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	padding: 0.3em 1em;
}

.c-local-nav__btns {
	margin-top: 24px;
	text-align: center;
}

.c-local-nav__link:hover .c-btn {
	background-color: var(--color01);
	color: var(--color_white);
}
.c-local-nav__link:hover .c-btn::after {
	background-image: url(../img/common/icon_arrow-right_white.svg);
}

@media (hover: hover) {
	.c-local-nav__link:hover .c-local-nav__img img {
		transform: scale(1.05);
	}
}


/* お問い合わせ導線 */
.c-service-cta__intro {
	text-align: center;
	margin-bottom: 48px;
}

.c-service-cta__heading {
	color: var(--color01);
	font-size: clamp(20px, calc(32 / 768 * 100vw), 32px);
	font-weight: var(--fw_jp_bold);
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}

.c-service-cta__inner {
	color: var(--color_white);
	background-color: var(--color01);
	border-radius: 40px;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	-ms-border-radius: 40px;
	-o-border-radius: 40px;
	padding: 40px;
}

.c-service-cta__title {
	font-size: clamp(24px, calc(48 / 768 * 100vw), 48px);
	font-weight: var(--fw_en_bold);
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-align: center;
}

.c-service-cta__contact-lead {
	margin-top: 1em;
	letter-spacing: 0.1em;
	text-align: center;
}

.c-service-cta__options {
	display: flex;
	gap: 16px 3%;
	margin-top: 32px;
}

.c-service-cta__tel,
.c-service-cta__mail {
	flex: 1;
	border: 1px solid var(--color03);
	padding: 24px;
}

.c-service-cta__label {
	font-weight: var(--fw_jp_medium);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.c-service-cta__tel-link {
	display: inline-block;
	color: var(--color_white);
	font-size: clamp(24px, calc(32 / 768 * 100vw), 32px);
	font-weight: var(--fw_en_bold);
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-decoration: none;
	margin-top: 0.5em;
}

.c-service-cta__btns {
	display: flex;
	gap: 0.5em;
	margin-top: 10px;
}

.c-service-cta__btns .c-btn {
	width: 100%;
}


/* スマートフォン用 */
@media screen and (max-width: 768px) {

	/* 施工実績 */
	.c-service-works__slider { margin-top: 32px; }
	.c-service-works__img { height: 240px; border-radius: 16px; -webkit-border-radius: 16px; -moz-border-radius: 16px; -ms-border-radius: 16px; -o-border-radius: 16px; }
	.c-service-works__controls { margin-top: 8px; }
	.c-service-works__prev,
	.c-service-works__next { width: 40px; height: 40px; padding: 12px; }
	.c-service-works__link { margin-top: 24px; }

	/* ローカルナビゲーション */
	.c-local-nav { margin: 80px auto; }
	.c-local-nav__list { flex-direction: column; max-width: 480px; margin-inline: auto;}
	.c-local-nav__item { width: 100%; max-width: none; }
	.c-local-nav__btns { margin-top: 16px; }

	/* お問い合わせ導線 */
	.c-service-cta__intro { margin-bottom: 32px; }
	.c-service-cta__lead br { display: none; }
	.c-service-cta__inner { padding: 24px; border-radius: 24px; -webkit-border-radius: 24px; -moz-border-radius: 24px; -ms-border-radius: 24px; -o-border-radius: 24px; }
	.c-service-cta__options { flex-direction: column; margin-top: 24px; }
	.c-service-cta__tel,
	.c-service-cta__mail { padding: 16px; }
	.c-service-cta__tel-link { margin-top: 0.2em; }
	.c-service-cta__btns { flex-direction: column; margin-top: 8px; }

}
