@charset "utf-8";

/**************************************************
フッター
**************************************************/
footer {
	background-color: var(--color-main);
	padding-block: 70px;
	color: var(--color-white);
}

footer * {
	font-weight: 500;
}

footer h2 img {
	max-width: 360px;
}

footer .grid {
	margin-top: 20px;
}

/* footer-info */
.footer-info h3 {
	font-size: 18px;
}

.footer-info address,
.footer-info em {
	font-style: normal;
}

.footer-info address a {
	display: block;
	--clamp-min: 40;
	--clamp-max: 50;
	font-size: var(--clamp);
	line-height: 1;
}

.footer-info address small {
	display: block;
	margin-top: 8px;
	font-size: 17px;
}

.footer-info address p {
	margin-top: 8px;
	font-size: 18px;
}

.footer-info address p span {
	font-size: inherit;
	display: inline-block;
	white-space: nowrap;
}

.footer-info address em {
	font-size: 18px;
}

.footer-info dl {
	margin-top: 34px;
}

.footer-info dl div {
	display: flex;
}

.footer-info dl div dt {
	font-weight: 500;
}

.footer-info dl div dt::after {
	content: "／";
}


/* footer-link */
.footer-link h3 {
	font-size: 18px;
}

.footer-link {
	width: 566px;
	max-width: 100%;
}

.footer-link ul {
	list-style: none;
	margin-left: 0;
	margin-top: 20px;
}

.footer-link li h4 {
	--clamp-min: 14;
	--clamp-max: 16;
	font-size: var(--clamp);
}

.footer-link li figure {
	overflow: hidden;
	aspect-ratio: 178 / 122;
}

.footer-link li figure img {
	transition: var(--transition);
	object-fit: cover;
	width:100%;
	height:100%;
}

.footer-link li a:hover figure img {
	transform: scale(1.1);
}

.footer-link li img {
	max-width: 100%;
}


/* copy */
/* footer > small {
	display: block;
	margin-top: 40px;
	text-align: center;
}

footer > small span {
	display: inline-block;
	white-space: nowrap;
} */

@container (max-width:1000px) {
	footer > div.grid-column-2 {
		grid-template-columns: repeat(1, 1fr);
	}

	footer h2,
	.footer-info {
		display: block;
		width: fit-content;
		margin-inline: auto;
		text-align: center;
	}

	.footer-info dl {
		width: fit-content;
		margin-inline: auto;
	}

	.footer-link {
		width: unset;
		margin-top: 40px;
	}
}
@media (max-width:920px) {
    footer {
        padding-bottom:100px;
    }
}
@container (max-width:720px) {
	.footer-link .grid-column-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@container (max-width: 520px) {
	footer h2 img {
		max-width: 90%;
	}

	.footer-link .grid-column-3 {
		grid-template-columns: repeat(1, 1fr);
	}
	.footer-link .grid-column-3 h4 {
		font-size:1.7em;
	}

}