/* ========================================
   Footer
======================================== */

.l-footer{
	background:#f7fafc;
	border-top:1px solid var(--color-border,#d9e1e8);
	color:var(--color-text,#333);
}

.l-footer__inner{
	width:min(1120px,calc(100% - 40px));
	margin-inline:auto;
	padding:56px 0 32px;
}

.l-footer__main{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);
	gap:56px;
	align-items:start;
}

.l-footer__brand-area{
	min-width:0;
}

.c-site-brand--footer{
	gap:14px;
}

.c-site-brand--footer .c-site-brand__logo{
	width:58px;
	height:58px;
}

.c-site-brand--footer .c-site-brand__city{
	font-size:13px;
}

.c-site-brand--footer .c-site-brand__name{
	font-size:24px;
}

.c-site-brand--footer .c-site-brand__department{
	font-size:12px;
}

.l-footer__info{
	margin:24px 0 0;
	display:grid;
	gap:12px;
}

.l-footer__info div{
	display:grid;
	grid-template-columns:76px 1fr;
	gap:12px;
}

.l-footer__info dt{
	color:var(--color-main,#2b6f8a);
	font-size:.9rem;
	font-weight:800;
}

.l-footer__info dd{
	margin:0;
	font-size:.95rem;
	line-height:1.7;
}

.l-footer__info a{
	color:inherit;
	font-weight:800;
	text-decoration:none;
}

.l-footer__nav{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
}

.l-footer__nav-title{
	margin:0 0 14px;
	padding-bottom:10px;
	border-bottom:1px solid var(--color-border,#d9e1e8);
	color:var(--color-main,#2b6f8a);
	font-size:1rem;
	font-weight:800;
}

.l-footer__nav-list{
	margin:0;
	padding:0;
	list-style:none;
	display:grid;
	gap:10px;
}

.l-footer__nav-list a{
	color:#333;
	font-size:.95rem;
	font-weight:700;
	text-decoration:none;
}

.l-footer__nav-list a::before{
	content:"›";
	margin-right:8px;
	color:var(--color-main,#2b6f8a);
}

.l-footer__actions{
	display:grid;
	grid-template-columns:1.3fr 1fr 1fr;
	gap:14px;
	margin-top:36px;
}

.l-footer-action{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:56px;
	padding:10px 16px;
	border-radius:10px;
	background:#fff;
	border:1px solid var(--color-main,#2b6f8a);
	color:var(--color-main,#2b6f8a);
	font-size:1rem;
	font-weight:800;
	text-decoration:none;
	text-align:center;
}

.l-footer-action--tel{
	flex-direction:column;
	gap:2px;
}

.l-footer-action--tel span{
	font-size:.8rem;
}

.l-footer-action--tel strong{
	font-size:1.25rem;
	line-height:1.2;
}

.l-footer-action--access{
	background:#d9783d;
	border-color:#d9783d;
	color:#fff;
}

.l-footer-action--web{
	background:var(--color-main,#2b6f8a);
	color:#fff;
}

.l-footer__bottom{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:24px;
	padding:18px 20px;
	background:#eef4f7;
	font-size:.85rem;
}

.l-footer__bottom a{
	color:#333;
	text-decoration:none;
}

.l-footer__bottom p{
	margin:0;
}

/* Mobile fixed CTA */
.c-mobile-fixed-cta{
	display:none;
}

@media (max-width:767px){

	.l-footer__inner{
		width:min(100% - 32px,640px);
		padding:40px 0 88px;
	}

	.l-footer__main{
		grid-template-columns:1fr;
		gap:32px;
	}

	.l-footer__info div{
		grid-template-columns:72px 1fr;
	}

	.l-footer__nav{
		grid-template-columns:1fr;
		gap:22px;
	}

	.l-footer__actions{
		grid-template-columns:1fr;
		margin-top:28px;
	}

	.l-footer__bottom{
		display:grid;
		gap:8px;
		text-align:center;
		padding-bottom:20px;
	}

	.c-mobile-fixed-cta{
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:8000;
		display:grid;
		grid-template-columns:1fr 1fr;
		box-shadow:0 -6px 20px rgba(0,0,0,.12);
	}

	.c-mobile-fixed-cta__btn{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:58px;
		color:#fff;
		font-size:.95rem;
		font-weight:900;
		text-decoration:none;
	}

	.c-mobile-fixed-cta__btn--tel{
		background:#2f8f68;
	}

	.c-mobile-fixed-cta__btn--web{
		background:var(--color-main,#2b6f8a);
	}
}
