/*
 * DragStar400 109 専用・新ヘッダー試験版
 * body classで限定しているため、他ページには影響しません。
 */

/* 旧テーマのヘッダーを109ページだけ非表示 */
body.gtf-modern-header-109-page #branding,
body.gtf-modern-header-109-page #access,
body.gtf-modern-header-109-page #masthead,
body.gtf-modern-header-109-page header#masthead,
body.gtf-modern-header-109-page #header,
body.gtf-modern-header-109-page #header-wrapper,
body.gtf-modern-header-109-page .site-header,
body.gtf-modern-header-109-page .header-wrapper,
body.gtf-modern-header-109-page .header-wrap {
	display:none !important;
}

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

.gtf-modern-site-header-109 {
	--gtf-header-bg:#07090b;
	--gtf-header-text:#f4f1e9;
	--gtf-header-muted:#91a0ad;
	--gtf-header-gold:#d7b46a;
	position:relative;
	z-index:100;
	left:50%;
	width:100vw;
	margin-left:-50vw;
	color:var(--gtf-header-text);
	background:
		radial-gradient(circle at 14% 0%,rgba(215,180,106,.08),transparent 34%),
		linear-gradient(180deg,#0b0e11 0%,#07090b 100%);
	border-top:3px solid rgba(255,255,255,.35);
	border-bottom:1px solid rgba(215,180,106,.18);
	box-shadow:0 18px 55px rgba(0,0,0,.38);
	font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
}

.gtf-modern-site-header-109 a {
	text-decoration:none;
}

.gtf-modern-site-header-109__top {
	height:34px;
	border-bottom:1px solid rgba(255,255,255,.06);
	color:#9aa4ae;
	font-size:10px;
	letter-spacing:.22em;
}

.gtf-modern-site-header-109__top-inner {
	width:min(1500px,calc(100% - 56px));
	height:100%;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:flex-start;
}

.gtf-modern-site-header-109__main {
	width:min(1500px,calc(100% - 56px));
	min-height:106px;
	margin:auto;
	display:grid;
	grid-template-columns:330px minmax(0,1fr) auto;
	align-items:center;
	gap:42px;
}

.gtf-modern-site-header-109__brand {
	display:flex;
	align-items:center;
	gap:20px;
	min-width:0;
	color:var(--gtf-header-text);
}

.gtf-modern-site-header-109__brand img {
	display:block;
	width:92px;
	height:92px;
	flex:0 0 auto;
	object-fit:contain;
	filter:drop-shadow(0 14px 22px rgba(0,0,0,.45));
}

.gtf-modern-site-header-109__brand span {
	display:block;
	min-width:0;
}

.gtf-modern-site-header-109__brand strong {
	display:block;
	color:#f5f1e9;
	font-family:Georgia,"Times New Roman",serif;
	font-size:25px;
	font-weight:700;
	line-height:1;
	letter-spacing:.04em;
	white-space:nowrap;
}

.gtf-modern-site-header-109__brand small {
	display:block;
	margin-top:9px;
	color:var(--gtf-header-muted);
	font-size:9px;
	font-weight:500;
	letter-spacing:.24em;
	white-space:nowrap;
}

.gtf-modern-site-header-109__nav {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:clamp(18px,1.8vw,36px);
	min-width:0;
}

.gtf-modern-site-header-109__nav > a {
	position:relative;
	padding:42px 0 39px;
	color:#f3f1ec;
	font-family:Georgia,"Times New Roman",serif;
	font-size:16px;
	font-weight:600;
	line-height:1;
	letter-spacing:.09em;
	white-space:nowrap;
	transition:color .22s ease;
}

.gtf-modern-site-header-109__nav > a::before {
	content:"";
	position:absolute;
	left:50%;
	bottom:26px;
	width:0;
	height:1px;
	background:var(--gtf-header-gold);
	transform:translateX(-50%);
	transition:width .22s ease;
}

.gtf-modern-site-header-109__nav > a:hover,
.gtf-modern-site-header-109__nav > a.is-active {
	color:var(--gtf-header-gold);
}

.gtf-modern-site-header-109__nav > a:hover::before,
.gtf-modern-site-header-109__nav > a.is-active::before {
	width:30px;
}

.gtf-modern-site-header-109__contact,
.gtf-modern-site-header-109__mobile-contact {
	align-items:center;
	justify-content:center;
	border:1px solid rgba(215,180,106,.66);
	border-radius:999px;
	color:#111 !important;
	background:linear-gradient(180deg,#e3c47f,#cfa75a);
	font-family:Georgia,"Times New Roman",serif;
	font-weight:700;
	letter-spacing:.08em;
	box-shadow:0 10px 28px rgba(215,180,106,.12);
	transition:transform .2s ease,box-shadow .2s ease;
}

.gtf-modern-site-header-109__contact {
	display:inline-flex;
	min-width:156px;
	height:48px;
	padding:0 24px;
	font-size:13px;
}

.gtf-modern-site-header-109__contact:hover {
	transform:translateY(-2px);
	box-shadow:0 15px 35px rgba(215,180,106,.18);
}

.gtf-modern-site-header-109__mobile-contact {
	display:none;
}

.gtf-modern-site-header-109__menu {
	display:none;
	width:48px;
	height:48px;
	margin:0;
	padding:0;
	border:1px solid rgba(255,255,255,.12);
	border-radius:50%;
	background:#11161b;
	cursor:pointer;
}

.gtf-modern-site-header-109__menu span,
.gtf-modern-site-header-109__menu::before,
.gtf-modern-site-header-109__menu::after {
	content:"";
	display:block;
	width:19px;
	height:1px;
	margin:5px auto;
	background:#fff;
	transition:transform .24s ease,opacity .24s ease;
}

.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__menu span {
	opacity:0;
}

.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__menu::before {
	transform:translateY(6px) rotate(45deg);
}

.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__menu::after {
	transform:translateY(-6px) rotate(-45deg);
}

@media(max-width:1280px) {
	.gtf-modern-site-header-109__main {
		grid-template-columns:290px minmax(0,1fr) auto;
		gap:26px;
	}
	.gtf-modern-site-header-109__brand img {
		width:82px;
		height:82px;
	}
	.gtf-modern-site-header-109__brand strong {
		font-size:22px;
	}
	.gtf-modern-site-header-109__nav {
		gap:18px;
	}
	.gtf-modern-site-header-109__nav > a {
		font-size:13px;
		letter-spacing:.06em;
	}
	.gtf-modern-site-header-109__contact {
		min-width:140px;
	}
}

@media(max-width:1080px) {
	.gtf-modern-site-header-109__main {
		grid-template-columns:1fr auto;
		min-height:92px;
	}
	.gtf-modern-site-header-109__brand img {
		width:78px;
		height:78px;
	}
	.gtf-modern-site-header-109__nav,
	.gtf-modern-site-header-109__contact {
		display:none;
	}
	.gtf-modern-site-header-109__menu {
		display:block;
	}
	.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__nav {
		position:absolute;
		top:126px;
		left:0;
		right:0;
		display:flex;
		flex-direction:column;
		align-items:stretch;
		gap:0;
		padding:18px 28px 28px;
		background:rgba(7,9,11,.985);
		border-bottom:1px solid rgba(215,180,106,.18);
		box-shadow:0 24px 45px rgba(0,0,0,.42);
	}
	.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__nav > a {
		width:100%;
		padding:17px 0;
		border-bottom:1px solid rgba(255,255,255,.07);
	}
	.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__nav > a::before {
		display:none;
	}
	.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__mobile-contact {
		display:flex;
		margin-top:20px;
		padding:16px 22px;
		border-bottom:0;
	}
}

@media(max-width:680px) {
	.gtf-modern-site-header-109 {
		border-top-width:2px;
	}
	.gtf-modern-site-header-109__top {
		display:none;
	}
	.gtf-modern-site-header-109__main {
		width:calc(100% - 28px);
		min-height:82px;
		gap:16px;
	}
	.gtf-modern-site-header-109__brand {
		gap:13px;
	}
	.gtf-modern-site-header-109__brand img {
		width:64px;
		height:64px;
	}
	.gtf-modern-site-header-109__brand strong {
		font-size:20px;
	}
	.gtf-modern-site-header-109__brand small {
		margin-top:6px;
		font-size:7px;
		letter-spacing:.16em;
	}
	.gtf-modern-site-header-109.is-open .gtf-modern-site-header-109__nav {
		top:82px;
		padding-left:20px;
		padding-right:20px;
	}
}
