/* footer-section */
footer {
    padding: 0 0 100px;
}
.footer-section {
    padding: 0;
    box-sizing: border-box;
    font-family: "Hiragino Kaku Gothic ProN", sans-serif;
    color: #6f7373;
    margin: 0 15vw;
}

.footer-cta-container {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    max-width: unset;
    margin: auto;
}
.footer-cta-section {
    padding: 80px 0;
    box-sizing: border-box;
    font-family: "Hiragino Kaku Gothic ProN", sans-serif;
    color: #6f7373;
    margin: 0 15vw;
}

.footer-cta-box {
	flex: 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 19.8vw;
}

.footer-cta-box:last-child {
	border-right: none;
}

.footer-cta-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
	width: auto;
}

.footer-cta-image {
	height: auto;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.footer-cta-image img {
	width: 100%;
}

.footer-cta-text {
	text-align: center;
	padding: 12px 10px;
	font-size: 14px;
	color: #6f7373;
	border-top: 1px solid #8cc1b43d;
	border-bottom: 1px solid #8cc1b43d;
	border-right: 1px solid #8cc1b43d;
}

.cta-text-first {
	border-left: 1px solid #8cc1b43d;
}

/* ===== メインフッターエリア ===== */

.footer-main {
    display: flex;
    border: 1px solid #8cc1b43d;
    background-color: #fff;
    box-sizing: border-box;
}
.footer-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 18px;
	border-right: 1px solid #8cc1b43d;
}

.footer-info, .footer-searc {
	border-right: 1px solid #8cc1b43d;
}

.footer-column {
	flex: 1;
	padding: 32px 20px;
	box-sizing: border-box;
}

.footer-services {
	border-right: 1px solid #8cc1b43d;
}

.footer-column:first-child {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	border-right: 1px solid #8cc1b43d;
	font-weight: bold;
	font-size: 20px;
}

.footer-info h3,
.footer-services h3,
.footer-search h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}

.footer-info ul, .footer-search ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-info li, .footer-search li {
	margin-bottom: 6px;
	font-size: 14px;
}

.footer-info a, .footer-search a {
	text-decoration: none;
	font-size: 14px;
	color: #6f7373;
}

.footer-info a:hover, .footer-services a:hover, .footer-search a:hover {
	color: #95cebe;
}

.footer-services .footer-tags {
	font-size: 13px;
	line-height: 1.9;
	color: #6f7373;
}

.footer-services .footer-tags span {
	display: inline-block;
	margin-right: 10px;
}

.footer-address {
	text-align: center;
	font-size: 13px;
	color: #6f7373;
	margin:
		20px 120px 0;
}

.footer-credit {
	margin-top: 20px;
	text-align: center;
	font-size: 13px;
	color: #6f7373;
	border-top: 1px solid #e4f0ed;
	padding-top: 20px;
}

.footer-tags {
	margin-bottom: 8px;
}

.footer-tags a {
	color: #6f7373;
	text-decoration: none;
	position: relative;
	display: inline-block;
	padding-right: 7px;
	font-size: 12px;
	line-height: 1.8;
}

/* --- 3列グリッド --- */
.footer-tags.grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px 4px;
}

.footer-tags.grid-3 a:not(:nth-child(3n))::after {
	content: "|";
	position: absolute;
	right: 4px;
	top: 0;
	color: #999;
}

/* --- 2列グリッド --- */
.footer-tags.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1.9fr;
	gap: 8px 14px;
}

.footer-tags.grid-2 a:first-child::after {
	content: "|";
	position: absolute;
	right: 4px;
	top: 0;
	color: #999;
}

/* --- 1列グリッド --- */
.footer-tags.grid-1 {
	display: block;
}

#footer_address-sp {
	display: none;
}

@media screen and (max-width: 980px) {
	.footer-cta-section {
		display: none;
	}

.footer-section {
    margin: 0px 5vw;
}


	.footer-main {
		margin:
			20px;
		display: none;
	}

	.footer-address {
		text-align: center;
		font-size: 13px;
		color: #6f7373;
		margin:
			20px 120px 0;
		display: none;
	}

	#footer_address-sp span {
		padding: 0;
		display: block;
	}


	#footer_address-sp {
        display: block;
        text-align: center;
        font-size: 12px;
        line-height: 2;
        border-bottom: 1px solid #e7f2ef;
		padding: 0 0 20px;
		color: #646868;
    }

	.footer-carousel-section {
		padding: 40px 20px;
		display: block !important;
		text-align: center;
	}

	.splide__list {
		height: auto !important;
		gap: 0;
		/* 隙間をなくす */
	}

	.carousel-image img {
		width: 100%;
		height: auto;
		object-fit: cover;
		display: block;
		max-width: 100%;
		/* レスポンシブに対応 */
	}

	.carousel-caption-list {
		display: flex;
		flex-direction: column;
		gap: 0;
		align-items: center;
	}

	.caption-first {
		border-bottom: none !important;
	}

	.caption-last {
		border-top: none !important;
	}

	.carousel-caption-item {
		border-top: 1px solid #8cc1b43d;
		border-bottom: 1px solid #8cc1b43d;
		padding: 12px;
		width: 100vw;
		font-family: sans-serif;
	}

	.carousel-caption-item a {
		color: #646868;
		font-size: 14px;
		text-decoration: none;
		display: flex;
		align-items: center;
		gap: 8px;
		justify-content: center;
		transition: all 0.3s ease;
	}

	.carousel-caption-item a:hover {
		color: #67c2be;
		border-bottom: 1px solid #67c2be;
	}
}

.footer-carousel-section {
	display: none;
}

/*　END 202502 FOOTER-st¥*/