/**
 * Surface system — 読みやすさ優先
 * 地色（ivory / cream）上のコンテンツは白面 + 余白で区別。装飾ボーダーは使わない。
 */

body.smartlife-branded {
	--sla-surface-page: var(--ivory);
	--sla-surface-muted: var(--cream);
	--sla-footer-bg: var(--sla-btn);
	--sla-surface-content: #ffffff;
	--sla-surface-accent: var(--sla-btn-pale);
	--sla-accent: #f5c000;
	--sla-accent-hover: #dcb400;
	--sla-btn: #67544a;
	--sla-btn-hover: #534339;
	--sla-btn-pale: #f5f0ee;
	--green-pale: var(--sla-btn-pale);
	--sla-panel-radius: var(--radius-md);
	--sla-panel-pad: clamp(1rem, 1.6vw, 1.25rem);
	--sla-panel-pad-lg: clamp(1.15rem, 2vw, 1.5rem);
	--sla-stack-gap: clamp(0.625rem, 1.2vw, 1rem);
	background: var(--sla-surface-page);
	font-size: 1.0625rem;
	line-height: 1.75;
}

body.smartlife-branded:not(.smartlife-home-fixed-line-shell) {
	background: var(--sla-surface-page);
}

/* ---- セクション：地色リズム ---- */
body.smartlife-branded .section,
body.smartlife-branded .guide-section,
body.smartlife-branded .outcomes-section,
body.smartlife-branded .faq-section,
body.smartlife-branded .news-section {
	padding-block: clamp(2.25rem, 4.5vw, 3.75rem);
}

body.smartlife-branded .section--cream,
body.smartlife-branded .section--surface,
body.smartlife-branded .section--course-guide,
body.smartlife-branded .guide-section,
body.smartlife-branded .guide-section--cream,
body.smartlife-branded .outcomes-section,
body.smartlife-branded .section--entry-courses,
body.smartlife-branded .faq-section {
	background: var(--sla-surface-muted);
	border-block: none !important;
}

body.smartlife-branded .line-final:not(.line-final--site-cv),
body.smartlife-branded .news-section,
body.smartlife-branded .outcomes-section--white,
body.smartlife-branded .hero-fv {
	background: var(--sla-surface-page);
	border-block: none !important;
}

body.smartlife-branded .about-section {
	background: var(--sla-surface-page);
	border-block: none !important;
}

body.smartlife-branded .about-section .container {
	max-width: 44rem;
}

body.smartlife-branded .about-section__lead {
	padding: var(--sla-panel-pad-lg);
	background: var(--sla-surface-content);
	border-radius: var(--sla-panel-radius);
	line-height: 1.85;
}

body.smartlife-branded .container {
	width: var(--home-container, min(68rem, 100% - 2.5rem));
	max-width: 68rem;
}

/* ---- 共通：地色上の白コンテンツ面 ---- */
body.smartlife-branded .sla-surface-panel,
body.smartlife-branded .choice-card,
body.smartlife-branded .entry-course-card,
body.smartlife-branded .guide-card:not(.guide-card--link),
body.smartlife-branded .outcome-item,
body.smartlife-branded .news-card,
body.smartlife-branded .line-final__panel,
body.smartlife-branded .line-invite__card,
body.smartlife-branded .faq-list,
body.smartlife-branded .prose-section__content {
	background: var(--sla-surface-content);
	border: none !important;
	box-shadow: none !important;
	border-radius: var(--sla-panel-radius);
}

/* ---- こんな方へ（レイアウトは smart-life.css の choice-card に委譲） ---- */
body.smartlife-active-front .choice-grid {
	gap: var(--sla-stack-gap);
	max-width: 60rem;
	margin-inline: auto;
}

body.smartlife-branded .choice-card__q {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--ink-mid);
}

/* ---- 入門講座 ---- */
body.smartlife-branded .entry-course-grid {
	gap: var(--sla-stack-gap);
	max-width: 60rem;
}

body.smartlife-branded .entry-course-card {
	align-items: stretch;
}

body.smartlife-branded .entry-course-card:hover {
	transform: none;
	border: none !important;
}

/* ---- 学び方ガイド ---- */
body.smartlife-branded .guide-section__head {
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

body.smartlife-branded .guide-grid,
body.smartlife-branded .guide-grid--cols-4,
body.smartlife-branded .guide-grid--cols-3 {
	gap: var(--sla-stack-gap);
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body.smartlife-branded .guide-card:not(.guide-card--link) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;
	padding: var(--sla-panel-pad);
	height: 100%;
}

body.smartlife-branded .guide-card:not(.guide-card--link):hover {
	transform: none;
}

body.smartlife-branded .guide-card__arrow {
	display: none;
}

body.smartlife-branded .guide-card__title {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
	font-weight: 700;
	line-height: 1.55;
	color: var(--ink);
}

body.smartlife-branded .guide-card__link {
	margin-top: auto;
	padding-top: 0.35rem;
}

body.smartlife-branded .guide-section--journey .guide-grid::before {
	display: none;
}

body.smartlife-branded .guide-card--link {
	text-align: left;
	align-items: center;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

body.smartlife-branded .guide-card--current {
	background: var(--sla-surface-accent);
}

/* ---- 学べること ---- */
body.smartlife-branded .outcomes-grid {
	gap: var(--sla-stack-gap);
	max-width: 60rem;
}

body.smartlife-branded .outcome-item {
	padding: var(--sla-panel-pad);
}

body.smartlife-branded .outcome-item:hover {
	transform: none;
}

/* ---- FAQ：白パネル内リスト ---- */
body.smartlife-branded .faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 44rem;
	margin-inline: auto;
	padding: 0.35rem var(--sla-panel-pad-lg);
	overflow: hidden;
}

body.smartlife-branded .faq-item {
	margin: 0;
	background: transparent;
	border: none !important;
	border-radius: 0;
	border-bottom: 1px solid rgba(38, 31, 25, 0.07) !important;
}

body.smartlife-branded .faq-item:first-child {
	border-top: none !important;
}

body.smartlife-branded .faq-item:last-child {
	border-bottom: none !important;
}

body.smartlife-branded .faq-item[open],
body.smartlife-branded .faq-item.is-expanded {
	background: transparent;
	transform: none;
}

body.smartlife-branded .faq-item__q {
	padding-inline: 0;
}

body.smartlife-branded .faq-item__panel-inner {
	padding-inline: 0;
}

/* ---- お知らせ ---- */
body.smartlife-branded .news-list {
	display: flex;
	flex-direction: column;
	gap: var(--sla-stack-gap);
	max-width: 44rem;
	margin-inline: auto;
}

body.smartlife-branded .news-card {
	padding: var(--sla-panel-pad);
	border: none !important;
	border-radius: var(--sla-panel-radius);
}

body.smartlife-branded .news-card:hover {
	transform: none;
}

/* ---- LINE CTA ---- */
body.smartlife-branded .line-final.line-final--site-cv .line-final__panel {
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}

@media (min-width: 901px) {
	body.smartlife-branded .line-final.line-final--site-cv .line-final__actions {
		border-left: 1px solid rgba(38, 31, 25, 0.12) !important;
		padding-left: clamp(1.25rem, 2.5vw, 2rem);
	}
}

body.smartlife-branded .line-final.line-final--site-cv .line-final__qr {
	background: var(--cream, #f6f6f4);
	border: 1px solid rgba(38, 31, 25, 0.1);
}

body.smartlife-branded .line-final__panel {
	padding: var(--sla-panel-pad-lg);
	border-radius: var(--radius);
	grid-template-columns: minmax(0, 1fr) auto;
}

body.smartlife-branded .line-final__actions {
	border-left: none !important;
	padding-left: 0;
	gap: 1rem;
	width: auto;
	max-width: 100%;
	align-items: stretch;
}

body.smartlife-branded .line-final__note {
	margin: clamp(0.85rem, 2vw, 1.15rem) 0 0;
	padding: 0;
	border: none !important;
	color: var(--ink-mid);
	opacity: 0.92;
	text-align: left;
}

body.smartlife-branded .line-final__qr {
	width: fit-content;
	max-width: 100%;
	align-self: center;
	margin-inline: auto;
	padding: 0.75rem;
	background: var(--sla-surface-content);
	border-radius: var(--radius-sm);
}

body.smartlife-branded .line-final__qr-img {
	display: block;
	width: 9rem;
	height: auto;
	max-width: 100%;
}

body.smartlife-branded .line-final__qr-caption {
	max-width: 9rem;
}

body.smartlife-branded .line-invite__card {
	padding: var(--sla-panel-pad-lg);
	border-radius: var(--radius);
}

/* ---- サプリメント導線 ---- */
body.smartlife-branded .guide-section__supplement {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

body.smartlife-branded .guide-section__supplement .sla-btn {
	min-width: min(100%, 14rem);
}

/* ---- 下層：本文 ---- */
body.smartlife-branded .prose-section {
	background: var(--sla-surface-muted);
	padding-block: clamp(2rem, 4vw, 3rem);
}

body.smartlife-branded .prose-section__content {
	padding: var(--sla-panel-pad-lg);
	max-width: 44rem;
	margin-inline: auto;
}

body.smartlife-branded .page-head {
	background: var(--sla-surface-muted);
	border-bottom: none;
}

/* ---- フッター ---- */
body.smartlife-branded footer.sla-footer,
body.smartlife-branded .sla-footer.wp-block-group.alignfull {
	background: var(--sla-footer-bg) !important;
	border-top: none;
	padding-block: clamp(3rem, 5vw, 4rem) clamp(1.75rem, 3vw, 2.5rem);
	color: var(--sla-footer-ink, #faf9f5);
}

body.smartlife-branded .sla-footer__bottom {
	padding-top: clamp(1.75rem, 2.5vw, 2.25rem);
	margin-top: 0.5rem;
}

body.smartlife-branded .sla-footer__link,
body.smartlife-branded .sla-footer__legal-link {
	border-bottom: none;
}

/* ---- 見出しバッジ ---- */
body.smartlife-branded .guide-section__optional {
	border: none;
	background: var(--sla-surface-content);
	box-shadow: none;
}

/* ---- ボタン：面色で優先度 ---- */
body.smartlife-branded .btn--secondary {
	border-color: var(--border) !important;
	background: var(--sla-surface-content) !important;
	color: var(--sla-btn) !important;
}

body.smartlife-branded .btn--secondary:hover {
	background: var(--sla-btn-hover) !important;
	border-color: var(--sla-btn-hover) !important;
	color: #fff !important;
}

body.smartlife-branded .btn--ghost {
	border-color: transparent !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: var(--sla-btn) !important;
}

body.smartlife-branded .btn--ghost:hover {
	background: var(--sla-btn) !important;
	color: #fff !important;
}

/* cream 上の secondary を確実に白に */
body.smartlife-branded .section--cream .btn--secondary,
body.smartlife-branded .guide-section--cream .btn--secondary,
body.smartlife-branded .section--entry-courses .btn--secondary {
	background: var(--sla-surface-content) !important;
}

body.smartlife-branded .site-header,
body.smartlife-branded .sla-header-nav {
	border-bottom-color: rgba(38, 31, 25, 0.06) !important;
}

@media (max-width: 760px) {
	body.smartlife-branded .choice-grid {
		grid-template-columns: 1fr;
	}
}

/* ---- 下層ページ：cream 上のカード類も白面統一 ---- */
body.smartlife-branded .workshop-card,
body.smartlife-branded .instructor-card,
body.smartlife-branded .line-lp-section__panel,
body.smartlife-branded .content-visual--chart,
body.smartlife-branded .history-milestone,
body.smartlife-branded .learn-hub-card,
body.smartlife-branded .evidence-hub-card,
body.smartlife-branded .glossary-term-card,
body.smartlife-branded .contact-panel,
body.smartlife-branded .legal-shell__body,
body.smartlife-branded .workshops-filter__btn {
	border: none !important;
	background: var(--sla-surface-content) !important;
}

body.smartlife-branded .workshops-section,
body.smartlife-branded .history-section,
body.smartlife-branded .line-lp-section {
	background: var(--sla-surface-muted);
}

body.smartlife-branded .workshop-card:hover {
	transform: none;
}

body.smartlife-branded .workshops-filter__btn.is-active {
	background: var(--sla-surface-accent) !important;
}

/* ==================================================================
   サイト全体 — タイポサイズ・セクション内余白
   ================================================================== */

body.smartlife-branded .guide-section__head,
body.smartlife-branded .outcomes-section__head,
body.smartlife-branded .faq-section__head,
body.smartlife-branded .news-section__head {
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

body.smartlife-branded .guide-section__lead,
body.smartlife-branded .outcomes-section__lead,
body.smartlife-branded .news-section__lead,
body.smartlife-branded .faq-section__lead {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.8;
}

body.smartlife-branded .about-section__lead {
	font-size: 1.125rem;
	font-weight: 400;
}

body.smartlife-branded .guide-section__kicker,
body.smartlife-branded .outcomes-section__kicker,
body.smartlife-branded .news-section__kicker,
body.smartlife-branded .faq-section__kicker {
	font-size: 0.8125rem;
}

body.smartlife-branded .guide-section__title,
body.smartlife-branded .outcomes-section__title,
body.smartlife-branded .news-section__title,
body.smartlife-branded .faq-section__title {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem);
	line-height: 1.35;
}

body.smartlife-branded .guide-card__title,
body.smartlife-branded .outcome-item__title {
	font-size: 1.0625rem;
	line-height: 1.55;
}

body.smartlife-branded .guide-card__link,
body.smartlife-branded .guide-card__label {
	font-size: 0.9375rem;
}

body.smartlife-branded .entry-course-card__desc,
body.smartlife-branded .outcome-item__text,
body.smartlife-branded .news-card__excerpt {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.7;
}

body.smartlife-branded .line-final.line-final--site-cv {
	background: #ffffff !important;
	padding-block: clamp(3.25rem, 6.5vw, 5rem);
	border-block: 1px solid rgba(38, 31, 25, 0.08) !important;
	border-inline: none !important;
}

body.smartlife-branded .line-final {
	padding-block: clamp(2.25rem, 4.5vw, 3.5rem);
}

body.smartlife-branded .line-final__lead,
body.smartlife-branded .line-final__perk-text {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.75;
}

body.smartlife-branded .line-final__title {
	font-size: clamp(1.25rem, 2.2vw, 1.625rem);
}

body.smartlife-branded .section--entry-courses,
body.smartlife-branded .section--course-guide,
body.smartlife-branded .about-section,
body.smartlife-branded .outcomes-section,
body.smartlife-branded .course-section,
body.smartlife-branded .faq-section,
body.smartlife-branded .news-section {
	padding-block: clamp(2.25rem, 4.5vw, 3.75rem);
}

/* 修正最終盤：前コンテンツの左寄せ統一（参加団体ロゴのみ中央） */
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) :is(
	.page-head__inner,
	.page-head__lead-wrap,
	.page-head__lead,
	.page-head__note,
	[class*="-section__head"],
	.sla-cta-banner__content,
	.line-final__head,
	.line-final__body,
	.workshop-detail-body__head,
	.contact-section__head,
	.instructors-section__head
) {
	text-align: left !important;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) :is(
	[class*="-section__lead"],
	.page-head__lead,
	.page-head__note,
	.sla-cta-banner__lead,
	.line-final__lead,
	.line-invite__lead
) {
	text-align: left !important;
	margin-inline: 0 !important;
	max-width: none !important;
}

body.smartlife-branded #about-partners .about-feature__logo-wrap {
	margin-inline: 0 !important;
}

/* ドロップシャドウ不使用 */
body.smartlife-branded,
body.smartlife-branded *,
body.smartlife-branded *::before,
body.smartlife-branded *::after {
	box-shadow: none !important;
}
