/*
 * LET Awakener Site – フロントエンドCSS
 *
 * すべてのスタイルは .las-site（専用テンプレートの body クラス）配下にスコープしています。
 * 色は管理画面「L.E.T.サイト → デザイン・SEO」で変更でき、CSS変数として上書きされます。
 *
 * 目次
 *  1. デザイントークン（CSS変数）
 *  ※ 15. ヒーロー画像（v1.1.0 追加）はファイル末尾
 *  2. ベース
 *  3. ヘッダー・ナビゲーション
 *  4. ボタン・リンク
 *  5. セクション・レイアウト
 *  6. ヒーロー
 *  7. カード・グリッド
 *  8. 講座カード・概要表
 *  9. トレーナー
 * 10. 例文・チェックリスト等の部品
 * 11. フォーム
 * 12. 一般ページ・記事・パンくず
 * 13. フッター
 * 14. レスポンシブ
 */

/* 1. デザイントークン ---------------------------------------------- */
.las-site {
	--las-main: #183d43;
	--las-accent: #287b78;
	--las-bg: #f8f7f2;
	--las-text: #283638;
	--las-card: #ffffff;
	--las-muted: #5b6a6b;
	--las-line: rgba(24, 61, 67, 0.13);
	--las-soft: #edf1ec;
	--las-warm: #f1ede3;
	--las-radius: 14px;
	--las-radius-sm: 8px;
	--las-shadow: 0 1px 2px rgba(24, 61, 67, 0.05), 0 8px 28px rgba(24, 61, 67, 0.07);
	--las-width: 1120px;
	--las-narrow: 760px;
	--las-gutter: 20px;
	--las-header-h: 68px;
	--las-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	--las-serif: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "BIZ UDPMincho", serif;
}

/* 2. ベース --------------------------------------------------------- */
body.las-site {
	margin: 0;
	background: var(--las-bg);
	color: var(--las-text);
	font-family: var(--las-font);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.03em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}
.las-site *,
.las-site *::before,
.las-site *::after { box-sizing: border-box; }
.las-site img { max-width: 100%; height: auto; }
.las-site a { color: var(--las-accent); text-underline-offset: 0.2em; }
.las-site a:hover { color: var(--las-main); }
.las-site :focus-visible { outline: 3px solid var(--las-accent); outline-offset: 3px; border-radius: 4px; }
.las-site .las-main { display: block; overflow-x: clip; }
.las-site .las-main:focus { outline: none; }

.las-site h1,
.las-site h2,
.las-site h3,
.las-site h4 {
	font-family: var(--las-serif);
	font-weight: 600;
	color: var(--las-main);
	line-height: 1.5;
	letter-spacing: 0.04em;
	margin: 0 0 0.8em;
}
.las-site h1 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); line-height: 1.45; }
.las-site h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.95rem); }
.las-site h3 { font-size: clamp(1.1rem, 1rem + 0.5vw, 1.3rem); }
.las-site p { margin: 0 0 1.2em; }
.las-site ul,
.las-site ol { margin: 0 0 1.4em; padding-left: 1.4em; }
.las-site li { margin-bottom: 0.4em; }
.las-site strong { font-weight: 700; color: var(--las-main); }

.las-site .las-skip {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--las-main); color: #fff; padding: 10px 16px; border-radius: var(--las-radius-sm);
	text-decoration: none;
}
.las-site .las-skip:focus { top: 12px; color: #fff; }

/* 3. ヘッダー・ナビゲーション ------------------------------------------ */
.las-site .las-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(248, 247, 242, 0.94);
	-webkit-backdrop-filter: saturate(1.2) blur(8px);
	backdrop-filter: saturate(1.2) blur(8px);
	border-bottom: 1px solid var(--las-line);
}
.admin-bar.las-site .las-header { top: 32px; }
.las-site .las-header__inner {
	max-width: calc(var(--las-width) + var(--las-gutter) * 2);
	margin: 0 auto; padding: 0 var(--las-gutter);
	min-height: var(--las-header-h);
	display: flex; align-items: center; gap: 24px;
}
.las-site .las-logo {
	display: inline-flex; align-items: center; gap: 10px;
	color: var(--las-main); text-decoration: none;
	font-family: var(--las-serif); font-weight: 600; font-size: 1.02rem; letter-spacing: 0.05em; line-height: 1.3;
	margin-right: auto;
}
.las-site .las-logo:hover { color: var(--las-main); }
.las-site .las-logo__mark { color: var(--las-accent); display: inline-flex; flex: none; }
.las-site .las-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.las-site .las-nav li { margin: 0; }
.las-site .las-nav a {
	display: block; padding: 8px 12px; border-radius: 999px;
	color: var(--las-text); text-decoration: none; font-size: 0.9rem; letter-spacing: 0.04em; white-space: nowrap;
}
.las-site .las-nav a:hover,
.las-site .las-nav a[aria-current="page"] { color: var(--las-main); background: var(--las-soft); }
.las-site .las-nav__cta a { background: var(--las-main); color: #fff; padding: 9px 20px; margin-left: 8px; }
.las-site .las-nav__cta a:hover { background: var(--las-accent); color: #fff; }
.las-site .las-nav-toggle { display: none; }

/* 4. ボタン・リンク --------------------------------------------------- */
.las-site .las-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 12px 28px;
	border: 1.5px solid transparent; border-radius: 999px;
	font-family: var(--las-font); font-size: 1rem; font-weight: 600; letter-spacing: 0.06em; line-height: 1.4;
	text-decoration: none; text-align: center; cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.las-site .las-btn__arrow { transition: transform 0.2s ease; }
.las-site .las-btn:hover .las-btn__arrow { transform: translateX(3px); }
.las-site .las-btn--primary { background: var(--las-accent); color: #fff; }
.las-site .las-btn--primary:hover { background: var(--las-main); color: #fff; }
.las-site .las-btn--secondary { background: transparent; color: var(--las-main); border-color: var(--las-main); }
.las-site .las-btn--secondary:hover { background: var(--las-main); color: #fff; }
.las-site .las-btn--light { background: #fff; color: var(--las-main); }
.las-site .las-btn--light:hover { background: var(--las-soft); color: var(--las-main); }
.las-site .las-btn--text { min-height: 0; padding: 4px 0; border-radius: 0; color: var(--las-accent); border-bottom: 1.5px solid currentColor; }
.las-site .las-btn--text:hover { color: var(--las-main); }
.las-site .las-btn[disabled] { opacity: 0.6; cursor: progress; }

.las-site .las-cta-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0 0; }
.las-site .las-cta-buttons--center { justify-content: center; }
.las-site .las-buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.las-site .las-buttons > p { margin: 0; }
.las-site .las-link { font-weight: 600; }

/* 5. セクション・レイアウト ------------------------------------------- */
.las-site .las-container {
	max-width: calc(var(--las-width) + var(--las-gutter) * 2);
	margin: 0 auto; padding: 0 var(--las-gutter);
}
.las-site .las-container--narrow { max-width: calc(var(--las-narrow) + var(--las-gutter) * 2); }

/* グループブロックの .las-section は、パディングで本文幅を制御（内側ラッパーの有無に依存しない）。 */
.las-site .las-section {
	padding: clamp(64px, 8vw, 112px) max(var(--las-gutter), calc((100% - var(--las-width)) / 2));
	margin: 0;
}
.las-site .las-section--narrow { padding-left: max(var(--las-gutter), calc((100% - var(--las-narrow)) / 2)); padding-right: max(var(--las-gutter), calc((100% - var(--las-narrow)) / 2)); }
.las-site .las-section--white { background: var(--las-card); }
.las-site .las-section--soft { background: var(--las-soft); }
.las-site .las-section--warm { background: var(--las-warm); }
.las-site .las-section--dark { background: var(--las-main); color: rgba(255, 255, 255, 0.88); }
.las-site .las-section--dark h2,
.las-site .las-section--dark h3,
.las-site .las-section--dark strong { color: #fff; }
.las-site .las-section--dark a:not(.las-btn) { color: #fff; }
.las-site .las-section--dark .las-eyebrow { color: #9fd3cd; }
.las-site .las-section--dark .las-btn--secondary { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.las-site .las-section--dark .las-btn--secondary:hover { background: #fff; color: var(--las-main); }
.las-site .las-section--dark .las-btn--primary { background: #fff; color: var(--las-main); }
.las-site .las-section--dark .las-btn--primary:hover { background: var(--las-soft); }
.las-site .las-section > :last-child,
.las-site .las-section > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

.las-site .las-section-head { text-align: center; max-width: 760px; margin: 0 auto clamp(36px, 5vw, 56px); }
.las-site .las-section-head > :last-child,
.las-site .las-section-head > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.las-site .las-eyebrow {
	font-family: var(--las-font); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.18em;
	color: var(--las-accent); margin: 0 0 14px;
}
.las-site .las-section h2 { margin-bottom: 0.7em; }
.las-site .las-section h2 + p { margin-top: -0.2em; }
.las-site .las-lead { font-size: clamp(1.02rem, 0.95rem + 0.3vw, 1.15rem); line-height: 2; }
.las-site .las-center { text-align: center; }
.las-site .las-note { font-size: 0.86rem; color: var(--las-muted); line-height: 1.8; }
.las-site .las-section--dark .las-note { color: rgba(255, 255, 255, 0.7); }
.las-site .las-text-block { max-width: var(--las-narrow); }
.las-site .las-text-block--center { margin-left: auto; margin-right: auto; }

/* 6. ヒーロー --------------------------------------------------------- */
.las-site .las-hero {
	position: relative; isolation: isolate;
	padding: clamp(72px, 10vw, 140px) max(var(--las-gutter), calc((100% - var(--las-width)) / 2)) clamp(72px, 9vw, 128px);
	background:
		radial-gradient(1200px 520px at 85% 20%, rgba(40, 123, 120, 0.10), transparent 60%),
		linear-gradient(180deg, var(--las-bg) 0%, var(--las-warm) 100%);
	margin: 0;
	overflow: hidden;
}
.las-site .las-hero::after {
	content: ""; position: absolute; z-index: -1;
	right: max(-80px, calc((100% - var(--las-width)) / 2 - 60px));
	top: 50%; transform: translateY(-50%);
	width: min(46vw, 520px); aspect-ratio: 13 / 10;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 400'%3E%3Ccircle cx='200' cy='200' r='150' fill='none' stroke='%23287B78' stroke-width='1.5' opacity='.55'/%3E%3Ccircle cx='320' cy='200' r='150' fill='none' stroke='%23183D43' stroke-width='1.5' opacity='.35'/%3E%3Ccircle cx='200' cy='200' r='110' fill='none' stroke='%23287B78' stroke-width='1' opacity='.22'/%3E%3Ccircle cx='320' cy='200' r='110' fill='none' stroke='%23183D43' stroke-width='1' opacity='.16'/%3E%3Cpath d='M260 70a150 150 0 0 1 0 260a150 150 0 0 1 0-260z' fill='%23287B78' opacity='.08'/%3E%3C/svg%3E") no-repeat center / contain;
	pointer-events: none;
}
.las-site .las-hero > *,
.las-site .las-hero > .wp-block-group__inner-container > * { max-width: 640px; }
.las-site .las-hero h1 { margin-bottom: 0.7em; }
.las-site .las-hero .las-lead { font-family: var(--las-serif); font-weight: 600; color: var(--las-main); font-size: clamp(1.05rem, 0.98rem + 0.4vw, 1.25rem); margin-bottom: 0.9em; }
.las-site .las-hero--sub { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 104px); }
.las-site .las-hero--sub h1 { font-size: clamp(1.6rem, 1.15rem + 2vw, 2.45rem); }
.las-site .las-hero .las-cta-buttons { justify-content: flex-start; }
.las-site .las-hero__sub { color: var(--las-text); }

/* 7. カード・グリッド --------------------------------------------------- */
.las-site .las-grid,
.las-site .las-grid > .wp-block-group__inner-container { display: grid; gap: clamp(18px, 2.4vw, 28px); }
.las-site .las-grid > .wp-block-group__inner-container { display: contents; }
.las-site .las-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.las-site .las-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.las-site .las-grid { margin: 0 0 1.6em; }

.las-site .las-card {
	background: var(--las-card);
	border: 1px solid var(--las-line);
	border-radius: var(--las-radius);
	--las-card-pad: clamp(24px, 3vw, 36px);
	padding: var(--las-card-pad);
	box-shadow: var(--las-shadow);
	display: flex; flex-direction: column;
	margin: 0;
}
.las-site .las-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.las-site .las-card > :last-child,
.las-site .las-card > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.las-site .las-card h3 { margin-bottom: 0.6em; }
.las-site .las-card p { font-size: 0.97rem; }
.las-site .las-card__label {
	display: inline-block; align-self: flex-start;
	font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em;
	color: var(--las-accent); background: var(--las-soft);
	padding: 3px 12px; border-radius: 999px; margin-bottom: 16px;
}
.las-site .las-card__num {
	font-family: var(--las-serif); color: var(--las-accent);
	font-size: 0.95rem; letter-spacing: 0.14em; margin-bottom: 6px;
	display: flex; align-items: center; gap: 12px;
}
.las-site .las-card__num::after { content: ""; flex: 1; height: 1px; background: var(--las-line); }
.las-site .las-card--target h3 { font-size: clamp(1.15rem, 1.02rem + 0.6vw, 1.4rem); line-height: 1.6; }
.las-site .las-card--target .las-btn { margin-top: auto; align-self: flex-start; }
.las-site .las-card--target > p:last-child,
.las-site .las-card--target > .wp-block-group__inner-container > p:last-child { margin-top: auto; padding-top: 12px; }
.las-site .las-card--flat { box-shadow: none; background: transparent; }
.las-site .las-scene {
	margin-top: auto !important; padding-top: 14px; border-top: 1px dashed var(--las-line);
	font-size: 0.88rem !important; color: var(--las-muted);
}

/* 8. 講座カード・概要表 ---------------------------------------------- */
.las-site .las-courses { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(18px, 2.4vw, 28px); align-items: stretch; margin: 0 0 1.6em; }
.las-site .las-course {
	position: relative; display: flex; flex-direction: column;
	background: var(--las-card); border: 1px solid var(--las-line); border-radius: var(--las-radius);
	padding: clamp(26px, 3.2vw, 40px); box-shadow: var(--las-shadow);
}
.las-site .las-course--featured { border: 2px solid var(--las-accent); }
.las-site .las-course__badge {
	align-self: flex-start; margin: 0 0 14px;
	font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em;
	padding: 3px 12px; border-radius: 999px;
	background: var(--las-soft); color: var(--las-accent);
}
.las-site .las-course--featured .las-course__badge { background: var(--las-accent); color: #fff; }
.las-site .las-course__name { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem); margin-bottom: 0.4em; }
.las-site .las-course__lead { font-size: 0.97rem; }
.las-site .las-course__price {
	font-family: var(--las-serif); font-size: clamp(1.8rem, 1.5rem + 1.2vw, 2.4rem); font-weight: 600;
	color: var(--las-main); letter-spacing: 0.02em; line-height: 1.2; margin: 4px 0 18px;
}
.las-site .las-course__price span { font-family: var(--las-font); font-size: 0.85rem; font-weight: 500; margin-left: 4px; color: var(--las-muted); }
.las-site .las-course__meta { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.las-site .las-course__meta li { margin: 0; font-size: 0.85rem; padding: 4px 12px; border: 1px solid var(--las-line); border-radius: 999px; background: var(--las-bg); }
.las-site .las-course__points-title,
.las-site .las-course__next-title { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; color: var(--las-muted); margin: 0 0 8px; }
.las-site .las-course__points { list-style: none; padding: 0; margin: 0 0 22px; }
.las-site .las-course__points li { position: relative; padding-left: 1.5em; margin-bottom: 4px; }
.las-site .las-course__points li::before { content: ""; position: absolute; left: 0.2em; top: 0.75em; width: 0.5em; height: 0.5em; border-radius: 50%; background: var(--las-accent); }
.las-site .las-course__next { background: var(--las-bg); border-radius: var(--las-radius-sm); padding: 14px 18px; margin: 0 0 24px; }
.las-site .las-course__next .las-schedule { margin: 0; font-size: 0.92rem; }
.las-site .las-course .las-btn { margin-top: auto; align-self: flex-start; }

.las-site .las-specs { margin: 0 0 1.6em; border-top: 1px solid var(--las-line); }
.las-site .las-specs__row { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 16px; padding: 16px 4px; border-bottom: 1px solid var(--las-line); }
.las-site .las-specs dt { font-weight: 700; color: var(--las-main); font-size: 0.93rem; }
.las-site .las-specs dd { margin: 0; }
.las-site .las-specs dd > :last-child { margin-bottom: 0; }
.las-site .las-specs__price { font-family: var(--las-serif); font-size: 1.25rem; }
.las-site .las-schedule { list-style: none; padding: 0; margin: 0; }
.las-site .las-schedule li { margin-bottom: 4px; }
.las-site .las-schedule--empty { color: var(--las-muted); }
.las-site .las-course-block {
	background: var(--las-card); border: 1px solid var(--las-line); border-radius: var(--las-radius);
	padding: clamp(26px, 4vw, 52px); box-shadow: var(--las-shadow); margin: 0 0 clamp(28px, 4vw, 44px);
	scroll-margin-top: calc(var(--las-header-h) + 20px);
}
.las-site .las-course-block--featured { border-top: 4px solid var(--las-accent); }
.las-site .las-course-block > :last-child,
.las-site .las-course-block > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* 9. トレーナー -------------------------------------------------------- */
.las-site .las-trainer { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.las-site .las-trainer--full { grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); }
.las-site .las-trainer__photo { border-radius: var(--las-radius); overflow: hidden; background: var(--las-soft); aspect-ratio: 4 / 5; }
.las-site .las-trainer--card .las-trainer__photo { border-radius: 50%; aspect-ratio: 1 / 1; }
.las-site .las-trainer__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.las-site .las-trainer__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--las-accent); }
.las-site .las-trainer__placeholder svg { width: 55%; height: auto; }
.las-site .las-trainer__role { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.12em; color: var(--las-accent); margin: 0 0 4px; }
.las-site .las-trainer__name { font-family: var(--las-serif); font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem); font-weight: 600; color: var(--las-main); margin: 0 0 14px; letter-spacing: 0.08em; }
.las-site .las-trainer__name span { font-family: var(--las-font); font-size: 0.85rem; font-weight: 400; color: var(--las-muted); margin-left: 8px; letter-spacing: 0.06em; }
.las-site .las-trainer__h { font-size: 1.05rem; margin: 1.8em 0 0.6em; padding-bottom: 6px; border-bottom: 1px solid var(--las-line); }
.las-site .las-trainer__list { padding-left: 1.2em; }
.las-site .las-trainer__tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.las-site .las-trainer__tags li { margin: 0; font-size: 0.82rem; padding: 3px 12px; border-radius: 999px; background: var(--las-soft); color: var(--las-main); }
.las-site .las-trainer__pending { color: var(--las-muted); }
.las-site .las-admin-hint { font-size: 0.85rem; background: #fff8e1; border: 1px dashed #d4a72c; color: #6b5200; padding: 8px 12px; border-radius: 6px; }

/* 10. 部品 ------------------------------------------------------------- */
.las-site .las-checklist { list-style: none; padding: 0; }
.las-site .las-checklist li { position: relative; padding-left: 2em; margin-bottom: 0.7em; }
.las-site .las-checklist li::before {
	content: ""; position: absolute; left: 0; top: 0.45em; width: 1.2em; height: 1.2em; border-radius: 50%;
	background: var(--las-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23287B78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 75%;
}
.las-site .las-section--dark .las-checklist li::before { background-color: rgba(255, 255, 255, 0.12); }

.las-site .las-steps { list-style: none; padding: 0; counter-reset: las-step; display: grid; gap: 14px; }
.las-site .las-steps li {
	counter-increment: las-step; position: relative; margin: 0;
	background: var(--las-card); border: 1px solid var(--las-line); border-radius: var(--las-radius-sm);
	padding: 16px 20px 16px 64px;
}
.las-site .las-steps li::before {
	content: counter(las-step); position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
	width: 32px; height: 32px; border-radius: 50%; background: var(--las-accent); color: #fff;
	font-family: var(--las-serif); font-weight: 600; display: flex; align-items: center; justify-content: center;
}

.las-site .las-example { border-radius: var(--las-radius); padding: 22px 26px; margin: 0; }
.las-site .las-example > :last-child,
.las-site .las-example > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.las-site .las-example--you { background: var(--las-warm); border: 1px solid rgba(120, 90, 40, 0.12); }
.las-site .las-example--i { background: var(--las-card); border: 1.5px solid var(--las-accent); }
.las-site .las-example__label { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; color: var(--las-muted); margin-bottom: 6px !important; }
.las-site .las-example--i .las-example__label { color: var(--las-accent); }
.las-site .las-example__text { font-family: var(--las-serif); font-size: 1.08rem; color: var(--las-main); line-height: 1.9; }

.las-site .las-quote {
	font-family: var(--las-serif); font-size: clamp(1.25rem, 1.05rem + 1vw, 1.75rem); line-height: 1.8; color: var(--las-main);
	text-align: center; margin: 0 0 0.8em; font-weight: 600;
}
.las-site .las-section--dark .las-quote { color: #fff; }
.las-site .las-divider { width: 48px; height: 2px; background: var(--las-accent); border: 0; margin: 0 auto 28px; }

.las-site .las-callout {
	background: var(--las-card); border-left: 4px solid var(--las-accent);
	border-radius: 0 var(--las-radius-sm) var(--las-radius-sm) 0; padding: 18px 22px; margin: 0 0 1.6em;
}
.las-site .las-callout > :last-child,
.las-site .las-callout > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* 11. フォーム -------------------------------------------------------- */
.las-site .las-form,
.las-site .las-form-done {
	background: var(--las-card); border: 1px solid var(--las-line); border-radius: var(--las-radius);
	padding: clamp(24px, 4vw, 48px); box-shadow: var(--las-shadow);
	max-width: var(--las-narrow); margin: 0 auto 1.6em;
	scroll-margin-top: calc(var(--las-header-h) + 20px);
}
.las-site .las-form:focus,
.las-site .las-form-done:focus { outline: none; }
.las-site .las-field { margin: 0 0 24px; }
.las-site .las-field > label { display: block; font-weight: 700; color: var(--las-main); margin-bottom: 8px; font-size: 0.95rem; }
.las-site .las-req,
.las-site .las-opt { display: inline-block; font-size: 0.72rem; font-weight: 700; padding: 1px 8px; border-radius: 4px; margin-left: 6px; vertical-align: 0.1em; letter-spacing: 0.06em; }
.las-site .las-req { background: #a63d32; color: #fff; }
.las-site .las-opt { background: var(--las-soft); color: var(--las-muted); }
.las-site .las-form input[type="text"],
.las-site .las-form input[type="email"],
.las-site .las-form select,
.las-site .las-form textarea {
	width: 100%; font: inherit; font-size: 16px; color: var(--las-text); letter-spacing: 0.02em;
	background: #fff; border: 1.5px solid #c9d1cf; border-radius: var(--las-radius-sm);
	padding: 12px 14px; min-height: 50px; line-height: 1.6;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.las-site .las-form textarea { min-height: 180px; resize: vertical; }
.las-site .las-form select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23183D43' stroke-width='1.8'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 42px; }
.las-site .las-form input:focus,
.las-site .las-form select:focus,
.las-site .las-form textarea:focus { outline: none; border-color: var(--las-accent); box-shadow: 0 0 0 3px rgba(40, 123, 120, 0.2); }
.las-site .las-form [aria-invalid="true"] { border-color: #a63d32; }
.las-site .las-field__error { color: #a63d32; font-size: 0.88rem; font-weight: 600; margin: 6px 0 0; }
.las-site .las-field__help { font-size: 0.85rem; color: var(--las-muted); margin: 6px 0 0; }
.las-site .las-field--check { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: start; }
.las-site .las-field--check input { width: 20px; height: 20px; margin: 5px 0 0; accent-color: var(--las-accent); }
.las-site .las-field--check label { font-weight: 500; color: var(--las-text); margin: 0; }
.las-site .las-field--check .las-field__help,
.las-site .las-field--check .las-field__error { grid-column: 2; }
.las-site .las-form__alert { background: #fbeeec; border: 1px solid #e3b8b2; color: #7d2a21; border-radius: var(--las-radius-sm); padding: 14px 18px; margin-bottom: 24px; }
.las-site .las-form__alert p { margin: 0; }
.las-site .las-form__submit { text-align: center; margin-top: 32px; }
.las-site .las-form__submit .las-btn { min-width: 240px; }
.las-site .las-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.las-site .las-form-done { text-align: center; }
.las-site .las-form-done__title { font-family: var(--las-serif); font-size: 1.35rem; font-weight: 600; color: var(--las-main); }

/* 12. 一般ページ・記事・パンくず ---------------------------------------- */
.las-site .las-breadcrumb { max-width: calc(var(--las-width) + var(--las-gutter) * 2); margin: 0 auto; padding: 14px var(--las-gutter) 0; font-size: 0.8rem; color: var(--las-muted); }
.las-site .las-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.las-site .las-breadcrumb li { margin: 0; }
.las-site .las-breadcrumb li + li::before { content: "›"; margin: 0 8px; color: #a5b0b0; }
.las-site .las-breadcrumb a { color: var(--las-muted); text-decoration: none; }
.las-site .las-breadcrumb a:hover { color: var(--las-accent); text-decoration: underline; }
.las-site.las-landing .las-breadcrumb { position: relative; z-index: 2; margin-bottom: -40px; }

.las-site .las-page-head { padding: clamp(48px, 7vw, 88px) 0 clamp(28px, 4vw, 40px); }
.las-site .las-page-head__meta { font-size: 0.85rem; color: var(--las-muted); margin-bottom: 8px; }
.las-site .las-page-title { margin: 0; }
.las-site .las-prose { padding-bottom: clamp(56px, 8vw, 96px); }
.las-site .las-prose h2 { margin-top: 2.2em; padding-bottom: 0.4em; border-bottom: 1px solid var(--las-line); font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.5rem); }
.las-site .las-prose h3 { margin-top: 1.8em; }
.las-site .las-prose > :first-child { margin-top: 0; }
.las-site .las-privacy-date { text-align: right; color: var(--las-muted); font-size: 0.9rem; }
.las-site .las-post-list { list-style: none; padding: 0; border-top: 1px solid var(--las-line); }
.las-site .las-post-list__item { margin: 0; border-bottom: 1px solid var(--las-line); }
.las-site .las-post-list__item a { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 18px 4px; text-decoration: none; color: var(--las-text); }
.las-site .las-post-list__item a:hover .las-post-list__title { color: var(--las-accent); }
.las-site .las-post-list time { color: var(--las-muted); font-size: 0.88rem; }
.las-site .las-archive { padding-bottom: clamp(56px, 8vw, 96px); }

/* ブロックエディタの標準クラスへの最低限の対応 */
.las-site .wp-block-image img { border-radius: var(--las-radius-sm); }
.las-site .wp-block-separator { border: 0; border-top: 1px solid var(--las-line); margin: 2.4em 0; }
.las-site .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.las-site .wp-block-button__link { display: inline-block; background: var(--las-accent); color: #fff; border-radius: 999px; padding: 12px 28px; text-decoration: none; font-weight: 600; }
.las-site .wp-block-button__link:hover { background: var(--las-main); color: #fff; }

/* 13. フッター -------------------------------------------------------- */
.las-site .las-footer { background: #11292d; color: rgba(255, 255, 255, 0.78); font-size: 0.9rem; }
.las-site .las-footer a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.las-site .las-footer a:hover { color: #fff; text-decoration: underline; }
.las-site .las-footer__inner {
	max-width: calc(var(--las-width) + var(--las-gutter) * 2); margin: 0 auto;
	padding: 56px var(--las-gutter) 36px;
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 32px 48px;
}
.las-site .las-footer__name { font-family: var(--las-serif); color: #fff; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.06em; margin-bottom: 6px; }
.las-site .las-footer__tagline,
.las-site .las-footer__operator { margin: 0 0 4px; font-size: 0.85rem; }
.las-site .las-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; }
.las-site .las-footer__nav li { margin: 0; }
.las-site .las-footer__bottom {
	max-width: calc(var(--las-width) + var(--las-gutter) * 2); margin: 0 auto;
	padding: 20px var(--las-gutter) 32px; border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.las-site .las-footer__disclaimer { font-size: 0.78rem; color: rgba(255, 255, 255, 0.6); margin: 0 0 8px; line-height: 1.8; }
.las-site .las-footer__copy { font-size: 0.78rem; color: rgba(255, 255, 255, 0.5); margin: 0; }

/* 14. レスポンシブ ---------------------------------------------------- */
@media (max-width: 960px) {
	.las-site .las-nav-toggle {
		display: inline-flex; align-items: center; gap: 8px;
		background: transparent; border: 1px solid var(--las-line); border-radius: 999px;
		padding: 8px 14px; color: var(--las-main); font: inherit; font-size: 0.85rem; cursor: pointer; white-space: nowrap; flex: none; line-height: 1.4;
	}
	.las-site .las-nav-toggle__bar,
	.las-site .las-nav-toggle__bar::before,
	.las-site .las-nav-toggle__bar::after { display: block; width: 16px; height: 1.5px; background: currentColor; position: relative; transition: transform 0.2s ease, opacity 0.2s ease; }
	.las-site .las-nav-toggle__bar::before,
	.las-site .las-nav-toggle__bar::after { content: ""; position: absolute; left: 0; }
	.las-site .las-nav-toggle__bar::before { top: -5px; }
	.las-site .las-nav-toggle__bar::after { top: 5px; }
	.las-site.las-nav-open .las-nav-toggle__bar { background: transparent; }
	.las-site.las-nav-open .las-nav-toggle__bar::before { transform: translateY(5px) rotate(45deg); }
	.las-site.las-nav-open .las-nav-toggle__bar::after { transform: translateY(-5px) rotate(-45deg); }

	.las-site .las-nav {
		display: none;
		position: absolute; left: 0; right: 0; top: 100%;
		background: var(--las-bg); border-bottom: 1px solid var(--las-line);
		box-shadow: 0 16px 32px rgba(24, 61, 67, 0.1);
		padding: 12px var(--las-gutter) 20px;
		max-height: calc(100vh - var(--las-header-h)); overflow-y: auto;
	}
	.las-site.las-nav-open .las-nav { display: block; }
	.las-site .las-nav ul { flex-direction: column; align-items: stretch; gap: 2px; }
	.las-site .las-nav a { padding: 12px 14px; border-radius: var(--las-radius-sm); font-size: 1rem; }
	.las-site .las-nav__cta a { margin: 8px 0 0; text-align: center; border-radius: 999px; }
	.las-site .las-header { position: sticky; }
	.las-site .las-header__inner { position: relative; }

	.las-site .las-grid--3 { grid-template-columns: minmax(0, 1fr); }
	.las-site .las-courses { grid-template-columns: minmax(0, 1fr); }
	.las-site .las-hero::after { opacity: 0.45; width: 70vw; right: -24vw; top: 18%; transform: none; }
}

@media (max-width: 782px) {
	.admin-bar.las-site .las-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar.las-site .las-header { top: 0; }
}

@media (max-width: 720px) {
	.las-site { --las-gutter: 18px; --las-header-h: 60px; }
	body.las-site { font-size: 15.5px; line-height: 1.95; }
	.las-site .las-grid--2 { grid-template-columns: minmax(0, 1fr); }
	.las-site .las-logo { font-size: 0.92rem; min-width: 0; }
	.las-site .las-header__inner { gap: 12px; }
	.las-site .las-logo__mark svg { width: 32px; height: 22px; }
	.las-site .las-section-head { text-align: left; }
	.las-site .las-cta-buttons,
	.las-site .las-cta-buttons--center { flex-direction: column; align-items: stretch; }
	.las-site .las-cta-buttons .las-btn { width: 100%; }
	.las-site .las-specs__row { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 14px 2px; }
	.las-site .las-trainer,
	.las-site .las-trainer--full { grid-template-columns: minmax(0, 1fr); }
	.las-site .las-trainer--card .las-trainer__photo { width: 128px; }
	.las-site .las-trainer--full .las-trainer__photo { max-width: 280px; }
	.las-site .las-footer__inner { grid-template-columns: minmax(0, 1fr); }
	.las-site .las-quote,
	.las-site .las-center.las-mobile-left { text-align: left; }
	.las-site .las-hero .las-cta-buttons { align-items: stretch; }
	.las-site.las-landing .las-breadcrumb { margin-bottom: -28px; }
}

@media (prefers-reduced-motion: reduce) {
	.las-site *,
	.las-site *::before,
	.las-site *::after { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.las-site .las-header,
	.las-site .las-footer__nav,
	.las-site .las-cta-buttons { display: none; }
}

/* プライバシーポリシー等、本文コンテナを直接置いたページ */
.las-site .las-content > .las-prose { padding-top: clamp(48px, 7vw, 88px); }

/* 15. ヒーロー画像（v1.1.0） -------------------------------------------
 * templates/parts/hero.php が出力する .las-hero-wrap に適用。
 * 表示位置は管理画面の設定値が --las-pos-pc / --las-pos-sp として渡される。
 * ------------------------------------------------------------------- */
.las-site .las-hero-wrap {
	position: relative; isolation: isolate;
	display: flex; align-items: center;
	min-height: clamp(560px, 46vw, 780px);
	background: var(--las-bg);
	overflow: hidden;
}
.las-site .las-hero-wrap__text { position: relative; z-index: 1; width: 100%; }
.las-site .las-hero-media { position: absolute; inset: 0; z-index: 0; margin: 0; }
.las-site .las-hero-media__img {
	display: block; width: 100%; height: 100%; max-width: none;
	object-fit: cover; object-position: var(--las-pos-pc, 60%) 50%;
}
/* 左側の文字を読みやすくする、ごく薄いオフホワイトのグラデーション */
.las-site .las-hero-media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(90deg, rgba(248, 247, 242, 0.72) 0%, rgba(248, 247, 242, 0.5) 30%, rgba(248, 247, 242, 0) 52%);
}
.las-site .las-hero-wrap .las-hero { background: transparent; overflow: visible; }
.las-site .las-hero-wrap .las-hero::after { display: none; }
.las-site .las-hero-wrap .las-hero > *,
.las-site .las-hero-wrap .las-hero > .wp-block-group__inner-container > * { max-width: min(520px, 42vw); }
.las-site .las-hero-wrap .las-hero h1 { font-size: clamp(1.6rem, 0.8rem + 1.9vw, 2.6rem); }
/* LPの見出しは1行が長いため、左側の文字領域に収まるよう上限を抑える */
.las-site .las-hero-wrap .las-hero--sub h1 { font-size: clamp(1.5rem, 0.7rem + 1.8vw, 2.2rem); }
.las-site .las-hero-wrap .las-hero h1,
.las-site .las-hero-wrap .las-hero .las-lead { color: var(--las-main); }
.las-site.las-landing .las-breadcrumb + .las-entry .las-hero-wrap .las-hero { padding-top: clamp(72px, 8vw, 120px); }

/* トップページのターゲット別カード画像（各LPのヒーロー画像と連動） */
.las-site .las-card--has-media { overflow: hidden; }
.las-site .las-card__media {
	margin: calc(var(--las-card-pad) * -1) calc(var(--las-card-pad) * -1) 24px;
	aspect-ratio: 16 / 10; overflow: hidden; background: var(--las-soft);
}
.las-site .las-card__img {
	display: block; width: 100%; height: 100%; max-width: none;
	object-fit: cover; object-position: var(--las-pos-sp, 95%) 50%;
}

/* タブレット・スマートフォン：文章 → 写真 の順に上下で表示（文字と人物を重ねない） */
@media (max-width: 900px) {
	.las-site .las-hero-wrap { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
	.las-site .las-hero-wrap__text { order: 1; }
	.las-site .las-hero-media { order: 2; position: relative; inset: auto; aspect-ratio: 16 / 10; }
	.las-site .las-hero-media::after { display: none; }
	.las-site .las-hero-media__img { position: absolute; inset: 0; object-position: var(--las-pos-sp, 95%) 50%; }
	.las-site .las-hero-wrap .las-hero { padding-bottom: clamp(36px, 6vw, 56px); }
	.las-site .las-hero-wrap .las-hero > *,
	.las-site .las-hero-wrap .las-hero > .wp-block-group__inner-container > * { max-width: 640px; }
}
@media (max-width: 600px) {
	.las-site .las-hero-media { aspect-ratio: 5 / 4; }
	/* 狭い画面で見出し・リード文が1〜2文字だけ折り返さないよう調整 */
	.las-site .las-hero--sub h1,
	.las-site .las-hero-wrap .las-hero--sub h1 { font-size: 1.5rem; }
	.las-site .las-hero .las-lead { font-size: 1rem; }
}
