/**
 * SWELL 上書き（post_content / ヒーロー）
 * member_plans.html 準拠 — 余白・タイポを強制
 *
 * 原因: SWELL の .post_content { line-height:1.8; font-size:16px }
 *       と .post_content > * { margin-bottom:2em } が .sec-lead より優先されやすい
 */

/* SWELL 重複タイトル・抜粋を非表示 */
.alvara-site-page .l-mainContent__inner > .c-pageTitle,
.alvara-site-page .l-mainContent__inner > .c-pageExcerpt,
.alvara-site-page.alvara-has-page-hero #top_title_area {
	display: none !important;
}

/* 本文リード（sec-lead） */
.post_content p.sec-lead,
.post_content .sec-lead,
.alvara-site-page .post_content p.sec-lead,
.alvara-site-page .post_content .sec-lead,
.editor-styles-wrapper p.sec-lead,
.editor-styles-wrapper .sec-lead {
	font-family: var(--font-sans) !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 2 !important;
	letter-spacing: 0.04em !important;
	color: var(--ink-soft) !important;
	max-width: 42em !important;
	clear: none !important;
	margin-top: 0 !important;
	margin-bottom: 2.5rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

/* SWELL .post_content > * の 2em 余白を打ち消す */
.post_content > p.sec-lead,
.post_content > .sec-lead,
.alvara-site-page .post_content > p.sec-lead {
	margin-bottom: 2.5rem !important;
}

.post_content .eyebrow,
.alvara-site-page .post_content .eyebrow,
.editor-styles-wrapper .eyebrow {
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}

.post_content .sec-title,
.post_content h2.sec-title,
.alvara-site-page .post_content .sec-title,
.editor-styles-wrapper .sec-title {
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}

.post_content .sec-lead,
.alvara-site-page .post_content .sec-lead,
.editor-styles-wrapper .sec-lead {
	margin-top: 0 !important;
	margin-bottom: 2.5rem !important;
}

@media (min-width: 721px) {
	.post_content p.sec-lead,
	.post_content .sec-lead,
	.alvara-site-page .post_content p.sec-lead,
	.alvara-site-page .post_content .sec-lead,
	.editor-styles-wrapper p.sec-lead,
	.editor-styles-wrapper .sec-lead {
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: 1.85 !important;
	}
}

.post_content .first-free-cta .eyebrow,
.alvara-site-page .post_content .first-free-cta .eyebrow {
	margin-bottom: 1rem !important;
}

.post_content .first-free-cta .sec-title,
.alvara-site-page .post_content .first-free-cta .sec-title {
	margin-bottom: 1rem !important;
}

.post_content .first-free-cta__lead,
.alvara-site-page .post_content .first-free-cta__lead {
	margin-top: 0 !important;
	margin-bottom: 1.75rem !important;
}

.post_content .btn-row,
.alvara-site-page .post_content .btn-row {
	margin-top: 2.5rem !important;
}

.post_content .first-free-cta .btn-row,
.post_content .cta .btn-row,
.alvara-site-page .post_content .first-free-cta .btn-row,
.alvara-site-page .post_content .cta .btn-row {
	margin-top: 0 !important;
}

.post_content .plan-grid,
.alvara-site-page .post_content .plan-grid {
	margin-top: 1rem !important;
}

.post_content .plan-card-body h3,
.alvara-site-page .post_content .plan-card-body h3 {
	margin-top: 0 !important;
	margin-bottom: 0.75rem !important;
}

.post_content .plan-summary,
.alvara-site-page .post_content .plan-summary {
	margin-top: 1rem !important;
	margin-bottom: 1rem !important;
}

.post_content .text-block p:not(.price-table__price):not(.price-table__price-note),
.alvara-site-page .post_content .text-block p:not(.price-table__price):not(.price-table__price-note) {
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
}

.post_content .text-block p:last-child,
.alvara-site-page .post_content .text-block p:last-child {
	margin-bottom: 0 !important;
}

.post_content .cta h2,
.alvara-site-page .post_content .cta h2 {
	margin-top: 0 !important;
	margin-bottom: 1.25rem !important;
}

.post_content .cta p,
.alvara-site-page .post_content .cta p {
	margin-top: 0 !important;
	margin-bottom: 2rem !important;
}

.post_content .related-card strong,
.alvara-site-page .post_content .related-card strong {
	margin-bottom: 0.65rem !important;
}

.post_content .related-card p,
.alvara-site-page .post_content .related-card p {
	margin-top: 0 !important;
	margin-bottom: 1.15rem !important;
}

.post_content .related-grid,
.alvara-site-page .post_content .related-grid {
	margin-top: 1.5rem !important;
}

.post_content .price-table,
.alvara-site-page .post_content .price-table {
	margin-top: 1.25rem !important;
	margin-bottom: 0 !important;
}

.post_content .pricing-note,
.alvara-site-page .post_content .pricing-note {
	margin-top: 1.75rem !important;
}

.post_content .pricing-note p,
.alvara-site-page .post_content .pricing-note p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.post_content .pricing-note p + p,
.alvara-site-page .post_content .pricing-note p + p {
	margin-top: 0.65rem !important;
}

.alvara-site-page .page-kicker {
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}

.alvara-site-page .page-hero h1,
.alvara-site-page .alvara-page-hero h1 {
	margin-top: 0 !important;
	margin-bottom: 1.75rem !important;
}

.alvara-site-page .page-lead {
	font-family: var(--font-sans) !important;
	font-size: clamp(13px, 1.5vw, 14.5px) !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 2 !important;
	letter-spacing: 0.04em !important;
	color: var(--muted-on-dark) !important;
	max-width: 600px !important;
	margin-top: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 1rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: inherit !important;
}

.alvara-site-page .page-lead a {
	color: var(--paper) !important;
	border-bottom: 1px solid var(--line-light) !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

.alvara-site-page .page-lead a:hover {
	opacity: 0.75 !important;
}

@media (min-width: 721px) {
	.alvara-site-page .page-lead {
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: 1.85 !important;
	}
}

.alvara-site-page .page-lead:last-child {
	margin-bottom: 0 !important;
}

.alvara-site-page .page-lead p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* legacy selectors（後方互換） */
.alvara-subpage-hero .page-kicker {
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}

.alvara-subpage-hero .alvara-page-hero h1,
.alvara-subpage-hero .page-hero h1 {
	margin-top: 0 !important;
	margin-bottom: 1.75rem !important;
}

.alvara-subpage-hero .page-lead {
	font-family: var(--font-sans) !important;
	font-size: clamp(13px, 1.5vw, 14.5px) !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 2 !important;
	letter-spacing: 0.04em !important;
	color: var(--muted-on-dark) !important;
	max-width: 600px !important;
	margin-top: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 1rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: inherit !important;
}

.alvara-subpage-hero .page-lead a {
	color: var(--paper) !important;
	border-bottom: 1px solid var(--line-light) !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

.alvara-subpage-hero .page-lead a:hover {
	opacity: 0.75 !important;
}

@media (min-width: 721px) {
	.alvara-subpage-hero .page-lead {
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: 1.85 !important;
	}
}

.alvara-subpage-hero .page-lead:last-child {
	margin-bottom: 0 !important;
}

.alvara-subpage-hero .page-lead p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
