/* layout.css — ヘッダー/フッター/コンテナ等 全ページ共通の骨格。モバイルファースト。 */
.site-header {
	position: relative;
	z-index: 100; /* ハンバーガーボタンとロゴを常にコンテンツより前面に */
	background: var(--wp--preset--color--base);
}
.site-header__inner,
.site-footer__inner {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--md);
}
.site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	padding-block: var(--wp--preset--spacing--sm);
}
.site-header__brand a { font-weight: 700; text-decoration: none; color: var(--wp--preset--color--brand); }

/* グローバルナビ：1024px以下はハンバーガーで全画面、1025px以上は通常ナビ */
.site-header__toggle {
	display: inline-flex; flex-direction: column; gap: 5px;
	background: none; border: 0; cursor: pointer;
	position: relative; z-index: 110; /* 開いたメニューより前 */
	padding: 8px;
}
.site-header__toggle span { width: 24px; height: 2px; background: var(--wp--preset--color--ink); transition: transform .2s ease, opacity .2s ease; }
.site-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.global-nav { display: none; }

@media (min-width: 1025px) {
	.site-header__toggle { display: none; }
	.global-nav { display: block; }
	.global-nav ul { display: flex; gap: var(--wp--preset--spacing--md); list-style: none; margin: 0; padding: 0; }
	.global-nav a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
	.global-nav a:hover { color: var(--wp--preset--color--accent); }
}
@media (max-width: 1024px) {
	.global-nav.is-open {
		display: block; position: fixed; inset: 0;
		z-index: 105; /* hero-fullbg__inner の z-index:1 より前面 */
		background: var(--wp--preset--color--base);
		/* 上はヘッダー(60px前後)直下から、左右は spacing--md、下は spacing--md */
		padding: 72px var(--wp--preset--spacing--md) var(--wp--preset--spacing--md);
		overflow-y: auto;
	}
	.global-nav.is-open ul {
		list-style: none; margin: 0; padding: 0;
		display: flex; flex-direction: column;
		border-top: 1px solid var(--wp--preset--color--line);
	}
	.global-nav.is-open a {
		display: block;
		font-family: var(--wp--preset--font-family--serif);
		font-size: var(--wp--preset--font-size--lg);
		color: var(--wp--preset--color--brand);
		text-decoration: none;
		padding-block: var(--wp--preset--spacing--sm);
		border-bottom: 1px solid var(--wp--preset--color--line);
	}
}

.site-footer { background: var(--wp--preset--color--brand); color: var(--wp--preset--color--base); }
.site-footer__inner { padding-block: var(--wp--preset--spacing--lg); text-align: center; }
.site-footer a { color: var(--wp--preset--color--base); }
