/*
 * DragStar400 109 専用・ブラックフッター
 * 旧テーマのfooter.php自体は編集せず、109ページ上でだけ差し替えます。
 */

/* 画面右端に旧テーマの白背景が見えないよう、109ページ全体の下地を黒で統一 */
html:has(body.gtf-modern-footer-109-page),
body.gtf-modern-footer-109-page,
body.gtf-modern-footer-109-page #page,
body.gtf-modern-footer-109-page #wrapper,
body.gtf-modern-footer-109-page #main,
body.gtf-modern-footer-109-page #primary,
body.gtf-modern-footer-109-page #content,
body.gtf-modern-footer-109-page .site,
body.gtf-modern-footer-109-page .site-content,
body.gtf-modern-footer-109-page .hfeed {
	background-color:#07090b !important;
}

body.gtf-modern-footer-109-page {
	overflow-x:hidden !important;
}

/* 旧テーマのフッターを109ページだけ非表示 */
body.gtf-modern-footer-109-page #footer,
body.gtf-modern-footer-109-page footer#footer,
body.gtf-modern-footer-109-page #colophon,
body.gtf-modern-footer-109-page footer#colophon,
body.gtf-modern-footer-109-page .site-footer,
body.gtf-modern-footer-109-page #footer-wrapper,
body.gtf-modern-footer-109-page .footer-wrapper,
body.gtf-modern-footer-109-page .footer-wrap,
body.gtf-modern-footer-109-page .footer-area,
body.gtf-modern-footer-109-page .footer-banner,
body.gtf-modern-footer-109-page .footer-banners {
	display:none !important;
}

.gtf-modern-site-footer-109,
.gtf-modern-site-footer-109 * {
	box-sizing:border-box;
}

.gtf-modern-site-footer-109 {
	--gtf-footer-bg:#07090b;
	--gtf-footer-panel:#0e1217;
	--gtf-footer-text:#f5f2eb;
	--gtf-footer-muted:#94a0ab;
	--gtf-footer-gold:#d7b46a;
	--gtf-footer-gold-light:#efd39a;
	--gtf-footer-line:rgba(255,255,255,.10);
	position:relative;
	z-index:20;
	left:50%;
	width:100vw;
	margin-left:-50vw;
	overflow:hidden;
	color:var(--gtf-footer-text);
	background:
		radial-gradient(circle at 9% 0%,rgba(215,180,106,.09),transparent 28%),
		radial-gradient(circle at 90% 100%,rgba(215,180,106,.04),transparent 25%),
		var(--gtf-footer-bg);
	border-top:1px solid rgba(215,180,106,.30);
	font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
}

.gtf-modern-site-footer-109:before {
	content:"";
	position:absolute;
	left:50%;
	top:0;
	width:min(1500px,calc(100% - 48px));
	height:1px;
	transform:translateX(-50%);
	background:linear-gradient(90deg,transparent,var(--gtf-footer-gold),transparent);
}

.gtf-modern-site-footer-109 a {
	color:inherit;
	text-decoration:none;
}

.gtf-modern-site-footer-109__cta {
	width:min(1500px,calc(100% - 48px));
	margin:auto;
	padding:52px 0 46px;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:36px;
	border-bottom:1px solid var(--gtf-footer-line);
}

.gtf-modern-site-footer-109__eyebrow {
	display:flex;
	align-items:center;
	gap:13px;
	margin-bottom:16px;
	color:var(--gtf-footer-gold-light);
	font-size:11px;
	font-weight:800;
	letter-spacing:.24em;
}

.gtf-modern-site-footer-109__eyebrow:before {
	content:"";
	width:36px;
	height:1px;
	background:var(--gtf-footer-gold);
}

.gtf-modern-site-footer-109__cta h2 {
	margin:0;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(36px,4.5vw,66px);
	line-height:1.08;
	letter-spacing:-.035em;
	font-weight:400;
}

.gtf-modern-site-footer-109__cta p {
	margin:15px 0 0;
	color:#a0aab4;
	font-size:14px;
	line-height:1.9;
}

.gtf-modern-site-footer-109__cta-button {
	min-width:240px;
	height:58px;
	padding:0 30px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	border-radius:999px;
	color:#111 !important;
	background:linear-gradient(180deg,#ecd092,#d6ab5c);
	font-size:14px;
	font-weight:800;
	box-shadow:0 14px 34px rgba(215,180,106,.14);
	transition:transform .2s ease,box-shadow .2s ease;
}

.gtf-modern-site-footer-109__cta-button:hover {
	transform:translateY(-3px);
	box-shadow:0 20px 42px rgba(215,180,106,.22);
}

.gtf-modern-site-footer-109__main {
	width:min(1500px,calc(100% - 48px));
	margin:auto;
	padding:40px 0 38px;
	display:grid;
	grid-template-columns:minmax(260px,.7fr) minmax(0,1.55fr);
	gap:56px;
	align-items:start;
}

.gtf-modern-site-footer-109__brand {
	max-width:360px;
}

.gtf-modern-site-footer-109__brand-head {
	display:block;
}


.gtf-modern-site-footer-109__brand-name {
	font-family:Georgia,"Times New Roman",serif;
	font-size:25px;
	line-height:1;
}

.gtf-modern-site-footer-109__brand-sub {
	margin-top:8px;
	color:var(--gtf-footer-muted);
	font-size:8px;
	letter-spacing:.23em;
}

.gtf-modern-site-footer-109__brand-copy {
	margin:18px 0 0;
	color:#99a3ad;
	font-size:12px;
	line-height:1.85;
}

.gtf-modern-site-footer-109__media-head {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:28px;
	margin-bottom:22px;
}

.gtf-modern-site-footer-109__media-title small {
	display:block;
	margin-bottom:9px;
	color:var(--gtf-footer-gold-light);
	font-size:10px;
	font-weight:800;
	letter-spacing:.23em;
}

.gtf-modern-site-footer-109__media-title h3 {
	margin:0;
	font-family:Georgia,"Times New Roman",serif;
	font-size:31px;
	font-weight:400;
}

.gtf-modern-site-footer-109__media-head p {
	max-width:440px;
	margin:0;
	color:#87929c;
	font-size:12px;
	line-height:1.8;
	text-align:right;
}

.gtf-modern-site-footer-109__media-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:13px;
}

.gtf-modern-site-footer-109__media-card {
	min-height:142px;
	padding:22px 22px 20px;
	display:grid;
	grid-template-columns:48px minmax(0,1fr) 28px;
	align-items:center;
	gap:16px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:18px;
	background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
	transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.gtf-modern-site-footer-109__media-card:hover {
	transform:translateY(-4px);
	border-color:rgba(215,180,106,.50);
	background:
		radial-gradient(circle at 0 0,rgba(215,180,106,.11),transparent 42%),
		rgba(255,255,255,.025);
}

.gtf-modern-site-footer-109__media-icon {
	width:48px;
	height:48px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(215,180,106,.36);
	border-radius:14px;
	color:var(--gtf-footer-gold-light);
	background:rgba(215,180,106,.045);
}

.gtf-modern-site-footer-109__media-icon svg {
	width:23px;
	height:23px;
}

.gtf-modern-site-footer-109__media-text strong {
	display:block;
	margin-bottom:8px;
	color:#fff;
	font-size:16px;
	letter-spacing:.04em;
}

.gtf-modern-site-footer-109__media-text span {
	display:block;
	color:#a3adb6;
	font-size:12px;
	line-height:1.65;
}

.gtf-modern-site-footer-109__media-text small {
	display:block;
	margin-top:8px;
	color:var(--gtf-footer-gold-light);
	font-size:9px;
	letter-spacing:.14em;
}

.gtf-modern-site-footer-109__media-arrow {
	width:28px;
	height:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.12);
	color:#c7ced5;
	font-size:15px;
	transition:transform .2s ease,border-color .2s ease,color .2s ease;
}

.gtf-modern-site-footer-109__media-card:hover .gtf-modern-site-footer-109__media-arrow {
	border-color:rgba(215,180,106,.54);
	color:var(--gtf-footer-gold-light);
	transform:translateX(3px);
}

.gtf-modern-site-footer-109__bottom {
	border-top:1px solid var(--gtf-footer-line);
}

.gtf-modern-site-footer-109__bottom-inner {
	width:min(1500px,calc(100% - 48px));
	min-height:56px;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#737e88;
	font-size:10px;
	letter-spacing:.08em;
	text-align:center;
}

@media(max-width:1000px) {
	.gtf-modern-site-footer-109__main {
		grid-template-columns:1fr;
		gap:44px;
	}
	.gtf-modern-site-footer-109__brand {
		max-width:none;
	}
}

@media(max-width:760px) {
	.gtf-modern-site-footer-109__cta {
		grid-template-columns:1fr;
	}
	.gtf-modern-site-footer-109__cta-button {
		width:100%;
	}
	.gtf-modern-site-footer-109__media-head {
		align-items:flex-start;
		flex-direction:column;
	}
	.gtf-modern-site-footer-109__media-head p {
		max-width:none;
		text-align:left;
	}
	.gtf-modern-site-footer-109__media-grid {
		grid-template-columns:1fr;
	}
}

@media(max-width:500px) {
	.gtf-modern-site-footer-109__cta,
	.gtf-modern-site-footer-109__main,
	.gtf-modern-site-footer-109__bottom-inner {
		width:calc(100% - 32px);
	}
	.gtf-modern-site-footer-109__media-card {
		grid-template-columns:44px minmax(0,1fr) 26px;
		padding:18px;
	}
	.gtf-modern-site-footer-109__media-icon {
		width:44px;
		height:44px;
	}
}
