/* events.sb-service.co.jp に寄せた部品の見た目（2026-10-22 ユーザー指示）。いまはフッターだけ。
   本文の書体・見出し・ボタンも events 風にしたが「やりすぎ」とのことで旧テーマのまま（同日ユーザー指示） */

:root {
	/* events の tailwind.config.ts（fontFamily.sans）と同じ書体 */
	--site-font: 'Helvetica Neue', Helvetica, 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', Arial, sans-serif;
}

/* フッター（scripts/php-to-html.mjs の buildSiteFooter）。events のフッター（bg-gray-900・見出し orange-200・本文 gray-400）と同じ配色 */
.site-footer:not(.et-legacy *):not(.tw-body *) {
	margin-top: 0;
	padding: 48px 0 28px;
	background: #111827;
	color: #fff;
	/* 本文は旧テーマの明朝のまま、フッターだけ events と同じゴシックにする */
	font-family: var(--site-font);
	font-size: 15px;
	line-height: 1.6;
}

.site-footer__inner:not(.et-legacy *):not(.tw-body *) {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
}

.site-footer a:not(.et-legacy *):not(.tw-body *) {
	color: #9ca3af;
	transition: color 0.15s ease;
}

.site-footer a:hover:not(.et-legacy *):not(.tw-body *) {
	color: #fff;
	opacity: 1;
}

.site-footer ul:not(.et-legacy *):not(.tw-body *) {
	margin: 0;
	padding: 0;
}

/* 旧テーマの p は英単語の途中でも改行する（break-all）ので、フッターでは通常の改行に戻す */
.site-footer p:not(.et-legacy *):not(.tw-body *) {
	font-size: inherit;
	text-align: left;
	word-break: normal;
	overflow-wrap: anywhere;
}

.site-footer__top:not(.et-legacy *):not(.tw-body *) {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 32px;
}

.site-footer .site-footer__logo:not(.et-legacy *):not(.tw-body *) {
	display: inline-flex;
	margin-bottom: 16px;
	color: #fff;
}

.site-footer__address:not(.et-legacy *):not(.tw-body *) {
	margin-bottom: 20px;
	color: #9ca3af;
	font-size: 14px;
	line-height: 1.8;
}

.site-footer__address a:not(.et-legacy *):not(.tw-body *) {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* events のフッターの「お問い合わせ」と同じ、立体感のあるオレンジの丸いボタン */
.site-footer a.site-footer__cta:not(.et-legacy *):not(.tw-body *) {
	display: inline-block;
	padding: 12px 28px;
	border-radius: 999px;
	background: linear-gradient(180deg, #fb923c 0%, #f97316 45%, #dc2626 100%);
	box-shadow: 0 4px 0 0 #b91c1c, 0 6px 14px rgba(234, 88, 12, 0.4), inset 0 2px 0 rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.site-footer a.site-footer__cta:hover:not(.et-legacy *):not(.tw-body *) {
	box-shadow: 0 2px 0 0 #b91c1c, 0 4px 10px rgba(234, 88, 12, 0.5), inset 0 2px 0 rgba(255, 255, 255, 0.2);
	color: #fff;
	transform: translateY(2px);
}

.site-footer__nav-title:not(.et-legacy *):not(.tw-body *) {
	margin-bottom: 16px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}

.site-footer__nav ul:not(.et-legacy *):not(.tw-body *) {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 8px 40px;
}

.site-footer__services:not(.et-legacy *):not(.tw-body *) {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid #374151;
}

.site-footer__group + .site-footer__group:not(.et-legacy *):not(.tw-body *) {
	margin-top: 24px;
}

.site-footer__group-title:not(.et-legacy *):not(.tw-body *) {
	margin-bottom: 12px;
	color: #fed7aa;
	font-size: 14px;
	font-weight: 700;
}

.site-footer__group li:not(.et-legacy *):not(.tw-body *) {
	font-size: 14px;
}

.site-footer__group li + li:not(.et-legacy *):not(.tw-body *) {
	margin-top: 8px;
}

.site-footer__bottom:not(.et-legacy *):not(.tw-body *) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #374151;
}

.site-footer .site-footer__copy:not(.et-legacy *):not(.tw-body *) {
	color: #9ca3af;
	font-size: 13px;
}

.site-footer__legal:not(.et-legacy *):not(.tw-body *) {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 13px;
}

/* SNS のアイコン画像は黒なので白く抜く */
.site-footer__sns img:not(.et-legacy *):not(.tw-body *) {
	width: 20px;
	filter: brightness(0) invert(1);
	opacity: 0.7;
	transition: opacity 0.15s ease;
}

.site-footer__sns:hover img:not(.et-legacy *):not(.tw-body *) {
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.site-footer:not(.et-legacy *):not(.tw-body *) {
		padding: 40px 0 24px;
	}

	.site-footer__inner:not(.et-legacy *):not(.tw-body *) {
		padding: 0 20px;
	}

	.site-footer__top:not(.et-legacy *):not(.tw-body *),
	.site-footer__services:not(.et-legacy *):not(.tw-body *) {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom:not(.et-legacy *):not(.tw-body *) {
		flex-direction: column-reverse;
		align-items: flex-start;
	}
}
