/* Astraテーマのデフォルトヘッダーを非表示 */
#masthead,
.site-header,
header.site-header {
	display: none !important;
}

/* 共通ヘッダー */
.lp3-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(10px);
	z-index: 1000;
	border-bottom: 1px solid #e5e7eb;
	transition: all 0.3s;
}

.lp3-header.scrolled {
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.lp3-header-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 16px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lp3-logo {
	display: block;
	line-height: 0;
}

.lp3-logo img {
	height: 64px;
	width: auto;
	display: block;
}

.lp3-header-nav {
	display: flex;
	gap: 32px;
	align-items: center;
}

.lp3-header-nav a {
	color: #111827;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s;
}

.lp3-header-nav a:hover {
	color: #2563eb;
}

.lp3-header-cta {
	background: linear-gradient(170deg, #ff8c38 0%, #f97316 45%, #e8520a 100%);
	color: white !important;
	padding: 8px 20px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	user-select: none;
	-webkit-user-select: none;
	/* 立体感: 上縁ハイライト・下縁陰影・グロー・底面シャドウ */
	box-shadow:
		0 2px 0 rgba(255, 255, 255, 0.25) inset,
		0 -2px 0 rgba(0, 0, 0, 0.20) inset,
		0 4px 14px rgba(234, 88, 12, 0.45),
		0 2px 4px rgba(0, 0, 0, 0.16);
	transition:
		background 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.14s ease;
}

/* shimmer: 光が流れて「触れるもの」と認知させる */
.lp3-header-cta::before {
	content: '';
	position: absolute;
	top: 0;
	left: -110%;
	width: 55%;
	height: 100%;
	background: linear-gradient(
		118deg,
		transparent 0%,
		rgba(255, 255, 255, 0.36) 50%,
		transparent 100%
	);
	animation: lp3-header-shimmer 2.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	pointer-events: none;
}

@keyframes lp3-header-shimmer {
	0%   { left: -110%; }
	45%  { left: 150%;  }
	100% { left: 150%;  }
}

/* hover: 浮き上がり＋グロー強化 */
.lp3-header-cta:hover {
	background: linear-gradient(170deg, #fb9740 0%, #f97316 35%, #d94d09 100%);
	color: white !important;
	transform: translateY(-3px);
	box-shadow:
		0 2px 0 rgba(255, 255, 255, 0.25) inset,
		0 -2px 0 rgba(0, 0, 0, 0.20) inset,
		0 10px 24px rgba(234, 88, 12, 0.58),
		0 3px 6px rgba(0, 0, 0, 0.18);
}

/* active: 押し込みフィードバック */
.lp3-header-cta:active {
	transform: translateY(2px);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 -1px 0 rgba(0, 0, 0, 0.10) inset,
		0 2px 6px rgba(234, 88, 12, 0.30),
		0 1px 2px rgba(0, 0, 0, 0.10);
	transition-duration: 0.06s;
}

/* ヘッダー分のトップマージンを確保 */
body {
	padding-top: 96px;
}
