/*
 * type_compass_footer.css
 * フッター専用スタイル：レスポンシブグリッド調整、トップへ戻るボタン。
 */

@media (max-width: 640px) {
	.tc-footer .tc-grid--3 { grid-template-columns: 1fr; }
}

.tc-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
.tc-footer-menu a { font-size: var(--tc-fs-sm); }

/* ---------- ご利用にあたって／この診断の考え方（全ページ共通） ---------- */
.tc-footer__notice {
	padding-block: var(--tc-space-3) 0;
}
.tc-footer__notice-title {
	font-size: var(--tc-fs-sm);
	font-weight: 700;
	color: var(--tc-color-white);
	margin: 0 0 0.5em;
}
.tc-footer__disclaimer-list {
	margin: 0;
	padding-left: 1.2em;
}
.tc-footer__disclaimer-list li {
	font-size: var(--tc-fs-xs);
	line-height: var(--tc-lh-base);
	color: var(--tc-color-navy-300);
	margin-bottom: 0.4em;
}
.tc-footer__details {
	margin-top: var(--tc-space-2);
	padding: var(--tc-space-2);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: var(--tc-radius-md, 8px);
}
.tc-footer__details summary {
	cursor: pointer;
	font-size: var(--tc-fs-sm);
	font-weight: 600;
	color: var(--tc-color-white);
}
.tc-footer__details-body { margin: var(--tc-space-2) 0 0; }
.tc-footer__details-body dt {
	font-weight: 600;
	color: var(--tc-color-white);
	font-size: var(--tc-fs-xs);
	margin-top: 0.6em;
}
.tc-footer__details-body dt:first-child { margin-top: 0; }
.tc-footer__details-body dd {
	margin: 0.2em 0 0;
	font-size: var(--tc-fs-xs);
	line-height: var(--tc-lh-base);
	color: var(--tc-color-navy-300);
}

/* ---------- トップへ戻るボタン ---------- */
.tc-footer__to-top {
	position: fixed;
	right: var(--tc-space-3);
	bottom: var(--tc-space-3);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: var(--tc-color-purple-500);
	color: var(--tc-color-white);
	font-size: 1.2rem;
	box-shadow: var(--tc-shadow-lg);
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--tc-duration-base) var(--tc-ease), transform var(--tc-duration-base) var(--tc-ease);
	z-index: var(--tc-z-header);
}
.tc-footer__to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.tc-footer__to-top:hover { background: var(--tc-color-navy-700); }

@media (prefers-reduced-motion: reduce) {
	.tc-footer__to-top { transition: opacity 0.01ms; }
}
