/* ==========================================================
	layout.css
	固定ヘッダー・フッター・全体レイアウト骨格
	========================================================== */

html, body {
	background-color: var(--pd-color-base);
	color: var(--pd-color-primary);
	font-family: var(--pd-font-family-base);
	font-size: var(--pd-font-size-base);
	line-height: var(--pd-line-height-base);
}

.pd-page-wrapper { display: flex; flex-direction: column; min-height: 100vh; }

.pd-container {
	width: 100%;
	max-width: var(--pd-container-max-width);
	margin-inline: auto;
	padding-inline: var(--pd-container-padding);
}

.pd-header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--pd-header-height);
	background-color: var(--pd-color-base);
	border-bottom: 1px solid var(--pd-color-border);
	z-index: var(--pd-z-header);
}

.pd-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	max-width: var(--pd-container-max-width);
	margin-inline: auto;
	padding-inline: var(--pd-container-padding);
}

.pd-header-logo { display: flex; align-items: center; flex-shrink: 0; }
.pd-logo-link { display: inline-flex; align-items: center; }
.pd-logo-image { height: 40px; width: auto; }
.pd-logo-text { font-size: var(--pd-font-size-large); font-weight: 700; letter-spacing: 0.02em; }

.pd-header-nav-area { display: flex; align-items: center; gap: var(--pd-space-lg); }

.pd-content-wrapper { flex: 1 0 auto; padding-top: var(--pd-space-xl); padding-bottom: var(--pd-space-xxl); }
.pd-main { width: 100%; }

.pd-footer { flex-shrink: 0; background-color: var(--pd-color-primary); color: var(--pd-color-base); padding-block: var(--pd-space-xl); }

.pd-footer-inner {
	max-width: var(--pd-container-max-width);
	margin-inline: auto;
	padding-inline: var(--pd-container-padding);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--pd-space-md);
	text-align: center;
}

.pd-footer-logo-image { height: 32px; width: auto; filter: brightness(0) invert(1); }
.pd-footer-logo-text { font-size: var(--pd-font-size-large); font-weight: 700; }
.pd-footer-menu-list { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--pd-space-md) var(--pd-space-lg); }
.pd-footer-copyright { font-size: var(--pd-font-size-small); opacity: 0.7; margin-top: var(--pd-space-sm); }

@media (max-width: 1024px) {
	.pd-header { height: var(--pd-header-height-sp); }
	.pd-header-nav-area { display: none; }
}

@media (min-width: 1025px) {
	#pd-hamburger-btn { display: none; }
}
