/**
 * Smart Life — サイト共通 UI システム（トップデザイン準拠）
 * スコープ: body.smartlife-branded
 * フォント: Noto Sans JP / ウェイト: 400（本文）・700（見出し・操作）
 */

body.smartlife-branded {
	--home-bg: #f6f6f4;
	--home-surface: #ffffff;
	--home-ink: #1a1a18;
	--home-muted: #4a4a46;
	--home-subtle: #6e6e6a;
	--home-accent: #f5c000;
	--home-accent-hover: #dcb400;
	--home-btn: #67544a;
	--home-btn-hover: #534339;
	--home-border-hover: rgba(103, 84, 74, 0.35);
	--home-border: rgba(26, 26, 24, 0.09);
	--home-radius: 8px;
	--home-container: min(68rem, 100% - var(--sla-gutter-wide, clamp(2.5rem, 11vw, 3.5rem)));
	--home-section-y: clamp(2.75rem, 5.5vw, 4rem);
	--home-gap: 1rem;
	--home-gap-lg: 1.5rem;
	--home-w-regular: 400;
	--home-w-medium: 400;
	--home-w-strong: 700;
	--home-w-bold: 700;
	--home-text-base: 1.0625rem;
	--home-text-lead: 1.125rem;
	--home-text-desc: 1.0625rem;
	--home-text-action: 0.9375rem;
	--home-text-label: 0.8125rem;
	--home-font: "Noto Sans JP", system-ui, sans-serif;
	--home-label: var(--font-en);
	--font-sans: var(--home-font);
	--font-serif: var(--home-font);
	--ivory: var(--home-bg);
	--cream: #faf9f5;
	--surface: var(--home-surface);
	--ink: var(--home-ink);
	--ink-mid: var(--home-muted);
	--ink-light: var(--home-subtle);
	--border: var(--home-border);
	--radius: var(--home-radius);
	--radius-sm: var(--home-radius);
	--radius-md: var(--home-radius);
	--sla-surface-page: var(--home-bg);
	--sla-surface-muted: var(--home-bg);
	--sla-footer-bg: var(--home-btn);
	--sla-panel-radius: var(--home-radius);
	--sla-btn: var(--home-btn);
	--sla-btn-hover: var(--home-btn-hover);
	--sla-text-link-size: var(--home-text-action);
	background: var(--home-bg);
	color: var(--home-ink);
	font-family: var(--home-font);
	font-size: var(--home-text-base);
	font-weight: var(--home-w-regular);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

/* ---- レイアウト ---- */
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .container,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-final .container {
	width: var(--home-container);
	max-width: 68rem;
	margin-inline: auto;
	padding-inline: 0;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-final:not(.line-final--site-cv),
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .outcomes-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .faq-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .about-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .news-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .workshops-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .history-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .contact-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .prose-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .instructors-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .map-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-lp-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .concept-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .sla-cta-banner-section {
	padding-block: var(--home-section-y);
	background: var(--home-bg) !important;
	border: none !important;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .section--surface,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .section--entry-courses,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section--cream {
	background: var(--home-bg) !important;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .home-head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .choice-guide__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .home-audience__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .about-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .news-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .faq-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .news-feed,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .faq-list,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .home-grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .home-audience__grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .choice-grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .entry-course-grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section__body,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .section__foot,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section__supplement,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-final__panel,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .outcomes-grid,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .outcomes-section__foot,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .workshops-section__layout,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .history-section__layout,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .prose-section__content,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .concept-blocks {
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

/* ---- トップ：セクション見出し（はじめての方へ準拠） ---- */
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .choice-guide__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .guide-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .about-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .faq-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .news-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .outcomes-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .workshops-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .history-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .contact-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .instructors-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .map-section__head,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-lp-section__head {
	text-align: left !important;
	max-width: none;
	margin-inline: 0 !important;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

body.smartlife-branded .choice-guide__kicker,
body.smartlife-branded .guide-section__kicker,
body.smartlife-branded .about-section__kicker,
body.smartlife-branded .faq-section__kicker,
body.smartlife-branded .news-section__kicker,
body.smartlife-branded .outcomes-section__kicker,
body.smartlife-branded .workshops-section__kicker,
body.smartlife-branded .history-section__kicker,
body.smartlife-branded .contact-section__kicker,
body.smartlife-branded .instructors-section__kicker,
body.smartlife-branded .map-section__kicker,
body.smartlife-branded .line-lp-section__kicker {
	margin: 0 0 1rem;
	font-family: var(--home-label);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #006c01;
}

body.smartlife-branded .choice-guide__kicker::before,
body.smartlife-branded .guide-section__kicker::before,
body.smartlife-branded .about-section__kicker::before,
body.smartlife-branded .faq-section__kicker::before,
body.smartlife-branded .news-section__kicker::before,
body.smartlife-branded .outcomes-section__kicker::before,
body.smartlife-branded .workshops-section__kicker::before,
body.smartlife-branded .history-section__kicker::before,
body.smartlife-branded .contact-section__kicker::before,
body.smartlife-branded .instructors-section__kicker::before,
body.smartlife-branded .map-section__kicker::before,
body.smartlife-branded .line-lp-section__kicker::before,
body.smartlife-branded .page-head__kicker::before {
	display: none;
}

body.smartlife-branded .choice-guide__title,
body.smartlife-branded .guide-section__title,
body.smartlife-branded .about-section__title,
body.smartlife-branded .faq-section__title,
body.smartlife-branded .news-section__title,
body.smartlife-branded .outcomes-section__title,
body.smartlife-branded .workshops-section__title,
body.smartlife-branded .history-section__title,
body.smartlife-branded .contact-section__title,
body.smartlife-branded .instructors-section__title,
body.smartlife-branded .map-section__title,
body.smartlife-branded .line-lp-section__title {
	margin: 0 0 1rem;
	font-family: var(--home-font);
	font-size: clamp(1.9rem, 3.8vw, 2.8rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--home-ink);
	text-wrap: balance;
}

body.smartlife-branded .guide-section__title {
	display: block;
}

body.smartlife-branded .guide-section__title .guide-section__optional {
	display: block;
	margin-top: 0.35rem;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	font-weight: 700;
	color: var(--home-muted);
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

body.smartlife-branded .choice-guide__lead,
body.smartlife-branded .guide-section__lead,
body.smartlife-branded .news-section__lead,
body.smartlife-branded .outcomes-section__lead,
body.smartlife-branded .workshops-section__lead,
body.smartlife-branded .history-section__lead,
body.smartlife-branded .line-lp-section__lead {
	max-width: none;
	margin: 0;
	font-size: clamp(15px, 1.3vw, 17px);
	font-weight: var(--home-w-medium);
	line-height: 2;
	color: var(--home-muted);
	text-align: left;
	text-wrap: pretty;
}

/* ---- 下層ページヒーロー（page-head） ---- */
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head {
	padding: var(--sla-page-head-pad-top, clamp(7rem, 14vw, 9.5rem)) 0 clamp(2rem, 4vw, 3rem);
	background: var(--home-bg) !important;
	border-bottom: none !important;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head__inner {
	width: var(--home-container);
	max-width: none;
	margin-inline: auto;
	text-align: left;
}

body.smartlife-branded .page-head__kicker {
	margin: 0 0 1rem;
	font-family: var(--home-label);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #006c01;
}

body.smartlife-branded .page-head__title {
	margin: 0 0 1rem;
	font-family: var(--home-font);
	font-size: clamp(1.9rem, 3.8vw, 2.8rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--home-ink);
	text-wrap: balance;
}

body.smartlife-branded .page-head__lead,
body.smartlife-branded .page-head__note {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	font-size: clamp(15px, 1.3vw, 17px);
	font-weight: var(--home-w-medium);
	line-height: 2;
	color: var(--home-muted);
	text-align: left;
	text-wrap: pretty;
}

body.smartlife-branded .page-head__note {
	margin-top: 0.75rem;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head--full {
	width: 100%;
	max-width: none;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head--full .page-head__inner {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: var(--sla-inline-min, clamp(1.25rem, 5.5vw, 1.75rem));
	text-align: left;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head--full .page-head__title,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head--full .page-head__lead,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .page-head--full .page-head__note {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	text-align: left;
}

body.smartlife-branded .news-section__all {
	display: inline-flex;
	align-items: center;
	margin-top: 0.75rem;
}

body.smartlife-branded .outcome-item,
body.smartlife-branded .faq-list {
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
	box-shadow: none !important;
}

body.smartlife-branded .outcome-item {
	padding: clamp(1rem, 2vw, 1.25rem);
}

body.smartlife-branded .outcome-item__title {
	font-size: var(--home-text-lead);
	font-weight: var(--home-w-strong);
	color: var(--home-ink);
}

body.smartlife-branded .outcome-item__text {
	font-size: var(--home-text-desc);
	font-weight: var(--home-w-medium);
	line-height: 1.7;
	color: var(--home-muted);
}

/* ---- ボタン UI ---- */
body.smartlife-branded .home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-height: 2.75rem;
	padding: 0 1.375rem;
	font-family: var(--home-font);
	font-size: var(--home-text-action);
	font-weight: var(--home-w-strong);
	line-height: 1.4;
	text-decoration: none;
	border-radius: var(--home-radius);
	border: 1px solid transparent;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	cursor: pointer;
}

body.smartlife-branded .home-btn--primary {
	background: var(--home-btn);
	border-color: var(--home-btn);
	color: #fff;
}

body.smartlife-branded .home-btn--primary:hover {
	background: var(--home-btn-hover);
	border-color: var(--home-btn-hover);
	color: #fff;
}

body.smartlife-branded .home-btn--outline {
	background: var(--home-surface);
	border-color: var(--home-btn);
	color: var(--home-btn);
}

body.smartlife-branded .home-btn--outline:hover {
	background: var(--home-btn);
	border-color: var(--home-btn);
	color: #fff;
}

body.smartlife-branded .home-btn--text {
	min-height: auto;
	padding: 0;
	background: none;
	border: none;
	color: var(--home-btn);
}

body.smartlife-branded .home-btn--text::after {
	content: "→";
	font-family: var(--home-label);
	font-weight: var(--home-w-strong);
	transition: transform 0.2s ease;
}

body.smartlife-branded .home-btn--text:hover {
	color: var(--home-btn-hover);
}

body.smartlife-branded .home-btn--text:hover::after {
	transform: translateX(3px);
}

body.smartlife-branded .home-btn--line {
	background: #06c755;
	border-color: #06c755;
	color: #fff;
}

body.smartlife-branded .home-btn--line:hover {
	background: #05b04c;
	border-color: #05b04c;
	color: #fff;
}

body.smartlife-branded .home-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .btn {
	font-family: var(--home-font);
	font-weight: var(--home-w-strong);
	border-radius: var(--home-radius);
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .btn:not(.btn--line):not(.home-btn--line) {
	background: var(--home-btn);
	border-color: var(--home-btn);
	color: #fff;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .btn:not(.btn--line):not(.home-btn--line):hover {
	background: var(--home-btn-hover);
	border-color: var(--home-btn-hover);
	color: #fff;
}

/* ---- カード UI ---- */
body.smartlife-branded .home-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--home-gap);
}

@media (min-width: 640px) {
	body.smartlife-branded .home-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	body.smartlife-branded .home-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

body.smartlife-branded .home-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

body.smartlife-branded a.home-card:hover,
body.smartlife-branded .home-card--link:hover {
	border-color: var(--home-border-hover);
}

body.smartlife-branded .home-card--row {
	flex-direction: row;
	align-items: stretch;
	padding: 1rem 1.125rem;
	gap: 1rem;
	overflow: visible;
}

body.smartlife-branded .home-card__media {
	flex: none;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 6px;
	background-color: #eceee9;
	background-size: cover;
	background-position: center;
}

body.smartlife-branded .home-card__media--wide {
	width: 100%;
	height: 6.5rem;
	border-radius: 0;
}

body.smartlife-branded .home-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0.5rem;
	padding: 1rem 1.125rem 1.125rem;
	min-width: 0;
}

body.smartlife-branded .home-card--row .home-card__body {
	padding: 0;
	justify-content: center;
}

body.smartlife-branded .home-card__title {
	margin: 0;
	font-size: var(--home-text-lead);
	font-weight: var(--home-w-strong);
	line-height: 1.55;
	color: var(--home-ink);
	text-wrap: pretty;
}

body.smartlife-branded .home-card__desc {
	margin: 0;
	font-size: var(--home-text-desc);
	font-weight: var(--home-w-medium);
	line-height: 1.7;
	color: var(--home-muted);
	text-wrap: pretty;
}

body.smartlife-branded .home-card__action {
	margin-top: auto;
	padding-top: 0.25rem;
	font-size: var(--home-text-action);
	font-weight: var(--home-w-strong);
	color: var(--home-btn);
}

body.smartlife-branded a.home-card:hover .home-card__action {
	color: var(--home-btn-hover);
}

body.smartlife-branded .home-card__action::after {
	content: " →";
	font-family: var(--home-label);
}

body.smartlife-branded .entry-course-card .entry-course-card__body {
	padding: clamp(1rem, 2vw, 1.25rem);
}

body.smartlife-branded .entry-course-card .entry-course-card__heading {
	font-family: var(--home-font);
}

body.smartlife-branded .entry-course-card .entry-course-card__arrow {
	color: #006c01;
}
body.smartlife-branded .home-card__media--intestine,
body.smartlife-branded .choice-card__thumb--intestine {
	background-image: url(../images/photos/course-gut.png);
}

body.smartlife-branded .home-card__media--skin,
body.smartlife-branded .choice-card__thumb--skin {
	background-image: url(../images/photos/course-skin.png);
}

body.smartlife-branded .home-card__media--mental,
body.smartlife-branded .choice-card__thumb--mental {
	background-image: url(../images/photos/course-mental.png);
}

body.smartlife-branded .home-card__media--diet,
body.smartlife-branded .choice-card__thumb--diet {
	background-image: url(../images/photos/course-diet.png);
}

body.smartlife-branded .home-card__media--nail,
body.smartlife-branded .choice-card__thumb--nail {
	background-image: url(../images/photos/course-nail.jpg);
}

body.smartlife-branded .choice-card__thumb--beginner {
	background-image: url(../images/photos/about.jpg);
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) > *,
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell).is-layout-flow > * {
	margin-block-start: 0 !important;
}

body.smartlife-home-fixed-line-shell #grenada-hero.hero-fv {
	margin-bottom: 0 !important;
}

/* ---- 講座診断ガイド（choice-card モックアップ準拠） ---- */
body.smartlife-home-fixed-line-shell #audience-guide.section--course-guide {
	margin-top: 0 !important;
	background: var(--cream, #faf9f5) !important;
	padding-top: 0 !important;
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-guide__head {
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-grid {
	max-width: 60rem;
	margin-inline: auto;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1rem 1.5rem 1rem 1rem;
	background: #fff !important;
	border: 1px solid var(--home-border) !important;
	border-radius: var(--home-radius) !important;
	box-shadow: none !important;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card:hover {
	transform: translateY(-4px);
	border-color: #d7e8cb;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card--span-2 {
	grid-column: 1 / -1;
	justify-self: stretch;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card__thumb {
	flex: 0 0 auto;
	width: clamp(4.6rem, 8vw, 5.6rem);
	height: clamp(4.6rem, 8vw, 5.6rem);
	border-radius: 50%;
	background-color: #eaf3df;
	background-size: cover;
	background-position: center;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card__q {
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--home-muted);
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card__course {
	display: inline-flex !important;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--home-font);
	font-size: clamp(1.1rem, 1.6vw, 1.25rem);
	font-weight: 700;
	line-height: 1.4;
	color: var(--home-ink);
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card__arrow {
	display: inline !important;
	font-family: var(--home-label);
	font-weight: 700;
	color: #006c01;
	transition: transform 0.28s ease;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-card:hover .choice-card__arrow {
	transform: translateX(5px);
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-guide__foot {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	text-align: center;
}

body.smartlife-home-fixed-line-shell #audience-guide .choice-guide__foot .sla-btn--slide {
	width: min(100%, 26rem);
	margin-inline: auto;
}

body.smartlife-home-fixed-line-shell .hero-fv__lead {
	font-weight: var(--home-w-strong);
}

/* ---- 学び方ガイド — カード（#learning-journey） ---- */
body.smartlife-branded a.guide-card--link,
body.smartlife-branded a.guide-card--link:hover,
body.smartlife-branded a.guide-card--link:focus,
body.smartlife-branded a.guide-card--link:visited {
	color: var(--home-ink);
}

body.smartlife-branded .guide-section--journey .guide-grid--steps .guide-card--link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: clamp(0.85rem, 2vw, 1.25rem);
	align-items: start;
	padding: clamp(1rem, 2vw, 1.25rem) clamp(1.1rem, 2vw, 1.35rem);
	background: var(--home-surface) !important;
	border: 1px solid var(--home-border) !important;
	border-radius: var(--home-radius);
	color: var(--home-ink);
	text-decoration: none;
	box-shadow: none;
	transform: none;
	transition:
		background 0.22s var(--ease),
		border-color 0.22s var(--ease);
}

body.smartlife-branded .guide-section--journey .guide-grid--steps .guide-card--link:hover {
	background: var(--home-surface) !important;
	border-color: var(--home-border-hover) !important;
	transform: none;
	box-shadow: none;
}

body.smartlife-branded .guide-section--journey .guide-grid--steps .guide-card--link .guide-card__main {
	grid-column: 1;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

body.smartlife-branded .guide-section--journey .guide-grid--steps .guide-card--link .guide-card__go {
	grid-column: 2;
	align-self: start;
	margin-top: 0;
	padding-top: 0;
	font-family: var(--font-en);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--home-btn) !important;
	transition: transform 0.28s var(--ease);
}

body.smartlife-branded .guide-section--journey .guide-grid--steps .guide-card--link:hover .guide-card__go {
	transform: translateX(4px);
}

body.smartlife-branded .guide-card--link {
	padding: clamp(1rem, 2vw, 1.25rem) clamp(1.1rem, 2vw, 1.35rem);
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
}

body.smartlife-branded .guide-grid--cols-3 .guide-card--link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0.5rem;
	padding: 1.25rem 1.35rem;
	min-height: 100%;
	height: auto;
	color: var(--home-ink);
}

body.smartlife-branded .guide-grid--cols-3 .guide-card--link .guide-card__main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
}

body.smartlife-branded .guide-grid--cols-3 .guide-card--link .guide-card__go {
	align-self: flex-end;
	margin-top: auto;
	padding-top: 0.25rem;
}

body.smartlife-branded .guide-grid--cols-3 {
	width: 100%;
	max-width: none;
	gap: 1rem;
}

body.smartlife-branded .guide-card--link:hover {
	background: var(--home-surface);
	border-color: var(--home-border-hover);
}

body.smartlife-branded .guide-card--link .guide-card__label {
	margin: 0;
	font-family: var(--home-label);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #006c01 !important;
}

body.smartlife-branded .guide-card--link .guide-card__title {
	margin: 0;
	font-family: var(--home-font);
	font-size: clamp(0.95rem, 1.35vw, 1.0625rem);
	font-weight: var(--home-w-strong);
	line-height: 1.55;
	color: var(--home-ink) !important;
}

body.smartlife-branded .guide-card--link .guide-card__desc {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: var(--home-w-medium);
	line-height: 1.65;
	color: var(--home-muted) !important;
}

body.smartlife-branded .guide-card--link .guide-card__go {
	color: var(--home-btn) !important;
}

/* 親セクション表示後はカード内テキストも確実に表示 */
body.smartlife-branded .guide-section.is-visible .guide-card.reveal-on-scroll {
	opacity: 1;
	transform: none;
}

body.smartlife-branded .guide-section--journey .guide-section__lead--footer {
	color: var(--home-muted);
}

body.smartlife-branded .guide-section--journey .guide-aside-block + .guide-aside-block {
	border-top-color: var(--home-border);
}

body.smartlife-branded .guide-section--journey .guide-section__aside-kicker {
	color: #006c01;
}

body.smartlife-branded .guide-section--journey .guide-aside-item__subtitle {
	color: #006c01;
}

body.smartlife-branded .guide-section--journey .guide-aside-item__title {
	font-size: var(--home-text-desc);
	font-weight: var(--home-w-strong);
	color: var(--home-ink);
}

body.smartlife-branded .guide-section--journey .guide-aside-item__desc {
	font-size: 0.8125rem;
	color: var(--home-muted);
}

body.smartlife-branded .guide-section--journey .guide-section__supplement--aside {
	gap: 0;
}

body.smartlife-branded .faq-section .faq-item[open] .faq-item__q,
body.smartlife-branded .faq-section .faq-item.is-expanded .faq-item__q {
	background: transparent;
	border: none;
	box-shadow: none;
	outline: none;
}

/* ---- ABOUT（他セクションと同幅） ---- */
body.smartlife-branded .about-section {
	padding-block: clamp(3rem, 6vw, 5rem);
}

body.smartlife-branded .about-section--white,
body.smartlife-branded .outcomes-section--white {
	background: #ffffff !important;
}

body.smartlife-branded .about-section .about-feature {
	max-width: 100%;
	margin-inline: auto;
}

body.smartlife-branded .about-section .about-feature__actions {
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

body.smartlife-branded .about-section .about-feature__btn.sla-btn {
	width: auto;
	max-width: 100%;
	justify-content: center;
}

body.smartlife-branded .about-section .about-feature__btn.sla-btn--slide {
	padding-inline: 1.15rem;
}

@media (max-width: 880px) {
	body.smartlife-branded .about-section .about-feature {
		grid-template-columns: 1fr;
	}
}

body.smartlife-branded .section__foot {
	margin: var(--home-gap-lg) 0 0;
}

body.smartlife-home-fixed-line-shell #priority-courses .section__foot {
	text-align: right;
}

/* ---- LINE CV ---- */
body.smartlife-branded .line-final {
	padding-block: clamp(3rem, 6vw, 5rem);
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .line-final.line-final--site-cv,
body.smartlife-branded .line-final.line-final--site-cv {
	background: #ffffff !important;
	border-block: 1px solid rgba(38, 31, 25, 0.08) !important;
	border-inline: none !important;
}

body.smartlife-branded .line-final__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(16.5rem, 28rem);
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
	padding: clamp(2rem, 4vw, 3rem) clamp(2rem, 4.5vw, 3.5rem);
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
}

body.smartlife-branded .line-final.line-final--site-cv .line-final__panel {
	padding: 0;
	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);
		border-top: none !important;
		padding-top: 0;
	}

	body.smartlife-branded .line-final__actions .line-final__btn .sla-btn__label {
		white-space: nowrap;
	}
}

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__body {
	min-width: 0;
	align-self: start;
}

body.smartlife-branded .line-final__actions {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	max-width: 28rem;
	align-items: stretch;
	justify-content: flex-start;
	align-self: start;
	gap: 1.25rem;
	padding-left: clamp(1.25rem, 2.5vw, 2rem);
	border-left: 1px solid var(--home-border);
}

body.smartlife-branded .line-final__qr {
	width: 100%;
	max-width: 11rem;
	align-self: center;
	margin-inline: auto;
	padding: 0.85rem;
	background: var(--home-bg);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
}

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

body.smartlife-branded .line-final__qr-caption {
	max-width: none;
	text-align: center;
}

body.smartlife-branded .line-final__head {
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

body.smartlife-branded .line-final__perks {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.smartlife-branded .line-final__perk {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-size: var(--home-text-desc);
	font-weight: var(--home-w-medium);
	color: var(--home-muted);
}

body.smartlife-branded .line-final__perk-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 1.125rem;
	height: 1.125rem;
	font-size: 0.625rem;
	font-weight: var(--home-w-strong);
	line-height: 1;
	background: var(--home-accent);
	color: var(--home-ink);
	border-radius: 50%;
}

body.smartlife-branded .line-final__perk-text {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.75;
}

body.smartlife-branded .line-final__note {
	margin: clamp(0.85rem, 2vw, 1.15rem) 0 0;
	padding: 0;
	border: none;
	font-size: var(--home-text-label);
	font-weight: var(--home-w-medium);
	line-height: 1.65;
	text-align: center;
	color: var(--home-subtle);
}

body.smartlife-branded .line-final__actions .line-final__btn.sla-btn--stack {
	width: 100%;
	min-width: 0;
}

body.smartlife-branded .line-final__btn-arrow {
	display: none;
}

/* ---- 固定 LINE バー（デスクトップ） ---- */
@media (min-width: 783px) {
body.smartlife-home-fixed-line-shell .smartlife-home-fixed-line__strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.625rem 1.25rem;
	background: var(--home-surface);
	border-top: 1px solid var(--home-border);
}

body.smartlife-home-fixed-line-shell .smartlife-home-fixed-line__sub {
	margin: 0;
	font-size: var(--home-text-label);
	font-weight: var(--home-w-medium);
	color: var(--home-subtle);
}

body.smartlife-home-fixed-line-shell .smartlife-home-fixed-line__btn.sla-btn {
	flex: 1 1 auto;
	min-height: auto;
	max-width: 22rem;
	margin-left: auto;
}
}

/* ---- レスポンシブ ---- */
@media (max-width: 900px) {
	body.smartlife-branded .line-final__panel {
		grid-template-columns: 1fr;
		gap: clamp(1.5rem, 4vw, 2rem);
	}

	body.smartlife-branded .line-final:not(.line-final--site-cv) .line-final__panel {
		padding: clamp(1.5rem, 4vw, 2rem);
	}

	body.smartlife-branded .line-final.line-final--site-cv .line-final__panel {
		padding: 0 !important;
	}

	body.smartlife-branded .line-final__actions {
		max-width: none;
		width: 100%;
		padding-left: 0;
		border-left: none;
		padding-top: clamp(0.75rem, 2vw, 1rem);
		border-top: 1px solid var(--home-border);
	}

	body.smartlife-branded .line-final.line-final--site-cv .line-final__actions {
		border-left: none !important;
		padding-left: 0 !important;
		border-top: 1px solid rgba(38, 31, 25, 0.12) !important;
		padding-top: clamp(1.25rem, 3vw, 1.75rem);
	}

	body.smartlife-branded .line-final__actions .line-final__btn .sla-btn__label {
		white-space: normal;
	}

	body.smartlife-home-fixed-line-shell #priority-courses .section__foot {
		text-align: center;
	}

	body.smartlife-home-fixed-line-shell .hero-fv__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.65rem;
	}

	body.smartlife-home-fixed-line-shell .hero-fv__actions .btn,
	body.smartlife-home-fixed-line-shell .hero-fv__actions a {
		width: 100%;
		justify-content: center;
		min-height: 48px;
	}

	body.smartlife-home-fixed-line-shell #audience-guide .choice-card {
		flex-direction: row;
		align-items: center;
		padding: clamp(0.85rem, 2.5vw, 1rem);
		gap: clamp(0.75rem, 3vw, 1rem);
	}

	body.smartlife-home-fixed-line-shell .home-br {
		display: none;
	}
}

@media (max-width: 782px) {
	body.smartlife-home-fixed-line-shell .smartlife-home-fixed-line__strip {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		gap: 0.35rem;
		padding: 0.625rem 1rem;
	}

	body.smartlife-home-fixed-line-shell .smartlife-home-fixed-line__btn.sla-btn {
		max-width: none;
		width: 100%;
		margin-left: 0;
		min-height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.smartlife-home-fixed-line-shell .hero-fv__copy > *,
	body.smartlife-home-fixed-line-shell .hero-fv__photo {
		animation: none !important;
	}
}

/* ---- CTA バナー（横長パネル） ---- */
body.smartlife-branded .sla-cta-banner-section {
	background: var(--home-bg) !important;
}

body.smartlife-branded .sla-cta-banner-section--cream {
	background: var(--cream, #faf9f5) !important;
}

body.smartlife-branded .sla-cta-banner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
	padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.75rem, 3.5vw, 2.5rem) calc(clamp(1.75rem, 3.5vw, 2.5rem) + 0.35rem);
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
	color: inherit;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: border-color 0.2s ease, background 0.2s ease;
}

body.smartlife-branded .sla-cta-banner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--home-accent);
}

body.smartlife-branded a.sla-cta-banner:hover {
	border-color: var(--home-border-hover);
	color: inherit;
}

body.smartlife-branded .sla-cta-banner__content {
	min-width: 0;
}

body.smartlife-branded .sla-cta-banner__kicker {
	margin: 0 0 0.65rem;
	font-family: var(--home-label);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #006c01;
}

body.smartlife-branded .sla-cta-banner__title {
	margin: 0 0 0.75rem;
	font-family: var(--home-font);
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--home-ink);
	text-wrap: balance;
}

body.smartlife-branded .sla-cta-banner__lead {
	margin: 0;
	max-width: 42em;
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: var(--home-w-medium);
	line-height: 1.75;
	color: var(--home-muted);
	text-wrap: pretty;
}

body.smartlife-branded .sla-cta-banner__action {
	flex-shrink: 0;
	align-self: center;
	padding-inline: clamp(0.75rem, 2vw, 1.25rem);
}

body.smartlife-branded .sla-cta-banner__action .sla-btn {
	pointer-events: none;
	white-space: nowrap;
}

body.smartlife-branded .sla-cta-banner__action .sla-btn--slide {
	padding: 0.35rem 1.25rem;
	gap: 0.65rem;
}

body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) .concept-section__head {
	text-align: left !important;
	max-width: none;
	margin-inline: 0 !important;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

body.smartlife-branded .concept-section__kicker {
	margin: 0 0 1rem;
	font-family: var(--home-label);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #006c01;
}

body.smartlife-branded .concept-section__title {
	margin: 0 0 1rem;
	font-family: var(--home-font);
	font-size: clamp(1.9rem, 3.8vw, 2.8rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--home-ink);
	text-wrap: balance;
}

body.smartlife-branded .concept-section__lead {
	max-width: none;
	margin: 0;
	font-size: clamp(15px, 1.3vw, 17px);
	font-weight: var(--home-w-medium);
	line-height: 2;
	color: var(--home-muted);
	text-align: left;
	text-wrap: pretty;
}

body.smartlife-branded .concept-blocks {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	background: var(--home-surface);
	border: 1px solid var(--home-border);
	border-radius: var(--home-radius);
	overflow: hidden;
}

body.smartlife-branded .concept-block {
	padding: clamp(1.35rem, 2.5vw, 1.75rem) clamp(1.5rem, 3vw, 2rem);
}

body.smartlife-branded .concept-block + .concept-block {
	border-top: 1px solid var(--home-border);
}

body.smartlife-branded .concept-block__tagline {
	margin: 0 0 0.5rem;
	font-family: var(--home-label);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #006c01;
}

body.smartlife-branded .concept-block__title {
	margin: 0 0 0.75rem;
	font-family: var(--home-font);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.4;
	color: var(--home-ink);
}

body.smartlife-branded .concept-block__lead {
	margin: 0;
	font-size: clamp(0.9375rem, 1.15vw, 1.0625rem);
	font-weight: var(--home-w-medium);
	line-height: 1.85;
	color: var(--home-muted);
	text-wrap: pretty;
}

body.smartlife-branded .concept-block__actions {
	margin-top: 1rem;
}

@media (max-width: 767px) {
	body.smartlife-branded .sla-cta-banner {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		padding: clamp(1.5rem, 4vw, 2rem);
		padding-left: calc(clamp(1.5rem, 4vw, 2rem) + 0.35rem);
	}

	body.smartlife-branded .sla-cta-banner__action {
		justify-self: stretch;
		padding-inline: 0;
	}

	body.smartlife-branded .sla-cta-banner__action .sla-btn--slide {
		padding: 0.5rem 1.25rem;
	}

	body.smartlife-branded .sla-cta-banner__action .sla-btn {
		width: 100%;
		white-space: normal;
	}
}

/* ---- フッター — ブラウン面 ---- */
body.smartlife-branded footer.sla-footer,
body.smartlife-branded .sla-footer.wp-block-group.alignfull {
	background: var(--sla-footer-bg) !important;
	border-top: none;
}

/* ---- タイポグラフィ統一: 日本語 Noto Sans JP / ウェイト 400・700 ---- */
body.smartlife-branded :is(.smartlife-home-main, .smartlife-page-shell) {
	font-family: var(--home-font);
}

body.smartlife-branded :where(
	p,
	li,
	dd,
	dt,
	label,
	blockquote,
	figcaption,
	.page-head__lead,
	.page-head__note,
	.page-head__lead-body,
	.guide-section__lead,
	.news-section__lead,
	.outcomes-section__lead,
	.workshops-section__lead,
	.history-section__lead,
	.line-lp-section__lead,
	.about-feature__lead,
	.concept-section__lead,
	.concept-block__lead,
	.sla-cta-banner__lead,
	.prose,
	.prose p,
	.prose li,
	.faq-item__a,
	.workshop-card__text,
	.glossary-term-card__desc,
	.contact-form__label,
	.legal-prose,
	.history-milestone__note,
	.choice-guide__lead,
	.line-final__lead,
	.line-invite__lead,
	.sla-education-disclaimer
) {
	font-family: var(--home-font);
	font-weight: 400;
}

body.smartlife-branded :where(strong, b) {
	font-weight: 700;
}
