/* Site footer — matched to totop-site-main final dark footer */

body.totop-new-header #siteFooter.site-footer {
	--totop-footer-teal-light: #a6d9d8;
	--totop-footer-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

	box-sizing: border-box;
	background: #18221f;
	border-top: none;
	padding: 76px 0 0;
	margin: 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	line-height: 1.9;
	-webkit-font-smoothing: antialiased;
	color: #fff;
}

body.totop-new-header #siteFooter.site-footer *,
body.totop-new-header #siteFooter.site-footer *::before,
body.totop-new-header #siteFooter.site-footer *::after {
	box-sizing: border-box;
}

body.totop-new-header #siteFooter .container {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 24px;
}

body.totop-new-header #siteFooter .footer-inner {
	display: flex;
	gap: 64px;
	flex-wrap: wrap;
	padding-bottom: 48px;
}

body.totop-new-header #siteFooter .footer-brand a {
	display: inline-block;
	text-decoration: none;
}

body.totop-new-header #siteFooter .footer-brand img {
	display: block;
	width: 100px;
	height: auto;
	filter: brightness(0) invert(1);
	opacity: 0.92;
}

body.totop-new-header #siteFooter .footer-brand p {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
	margin: 16px 0 0;
	line-height: 1.8;
}

body.totop-new-header #siteFooter .footer-nav {
	display: flex;
	gap: 48px;
	flex-wrap: wrap;
	margin-left: auto;
}

body.totop-new-header #siteFooter .footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* フラットメニュー（親子なし）は3カラム表示 */
body.totop-new-header #siteFooter .footer-nav--flat ul {
	column-count: 3;
	column-gap: 48px;
}

body.totop-new-header #siteFooter .footer-nav--flat li {
	break-inside: avoid;
}

body.totop-new-header #siteFooter .footer-nav a {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
	display: inline-block;
	padding: 5px 0;
	text-decoration: none;
	transition: color 0.2s ease;
}

body.totop-new-header #siteFooter .footer-nav a:hover {
	color: var(--totop-footer-teal-light);
	text-decoration: none;
}

body.totop-new-header #siteFooter .copyright {
	text-align: center;
	font-size: 11.5px;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.4);
	padding: 20px 0 26px;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 767px) {
	body.totop-new-header #siteFooter .footer-inner {
		flex-direction: column;
		gap: 32px;
	}

	body.totop-new-header #siteFooter .footer-nav {
		margin-left: 0;
		gap: 28px;
	}

	body.totop-new-header #siteFooter .footer-nav--flat ul {
		column-count: 2;
		column-gap: 28px;
	}
}
