/* ============================================================
   8Artmake - lp.css
   ============================================================ */

:root{
	--pink:#c9a96a;
	--pink-deep:#a8874a;
	--pink-bright:#ddc48f;
	--bg-faint:#141414;
	--bg-soft:#1c1c1c;
	--ink:#eeece7;
	--white:#ffffff;
	--bg:#0d0d0d;
	--surface:#161616;
	--text-muted:#9a938c;
	--maxw:1360px;
	--serif:"Noto Sans JP", -apple-system, "Hiragino Kaku Gothic ProN", sans-serif;   /* ロゴ・数字・料金 */
	--script:"Cormorant Garamond", "Noto Sans JP", Georgia, serif; /* 英字装飾（サイン等、この部分のみ明朝系） */
	--heading:"Noto Sans JP", -apple-system, "Hiragino Kaku Gothic ProN", sans-serif; /* 見出し（eyebrow・h2）：ビアンカクリニック参考、太めのゴシックに統一 */
	--sans:"Noto Sans JP", -apple-system, "Hiragino Kaku Gothic ProN", sans-serif; /* 本文・日本語全般 */
	--shadow:0 10px 30px rgba(0,0,0,.45);
	--shadow-sm:0 4px 14px rgba(0,0,0,.35);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--sans);
	color:var(--ink);
	background:var(--bg);
	line-height:1.9;
	font-size:17px;
	letter-spacing:.02em;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body.eam-noscroll{overflow:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,p,ul,ol,dl,figure{margin:0;}
ul,ol{list-style:none;padding:0;}

.eam-container{max-width:var(--maxw);margin-inline:auto;padding-inline:40px;}

/* ---- 共通見出し ---- */
.eam-eyebrow{
	display:block;
	font-family:var(--sans);
	text-transform:uppercase;
	letter-spacing:-.02em;
	font-size:clamp(40px,6vw,72px);
	font-weight:800;
	line-height:1.05;
	margin-bottom:2px;
	color:var(--ink);
}
.eam-eyebrow--light{
	color:rgba(255,255,255,.85);
}
@keyframes eamFlowGradient{
	0%{background-position:0% 50%;}
	100%{background-position:100% 50%;}
}
.eam-h2{
	font-family:var(--sans);
	font-size:16px;
	font-weight:600;
	line-height:1.7;
	letter-spacing:.04em;
	color:var(--ink);
}
.eam-h2--light{
	color:var(--white);
}
.eam-arrow{display:inline-block;margin-left:.4em;}

/* ---- ボタン ---- */
.eam-btn{
	display:inline-flex;align-items:center;justify-content:center;
	gap:.2em;
	padding:16px 32px;
	border-radius:999px;
	font-size:14px;font-weight:700;
	letter-spacing:.04em;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	cursor:pointer;border:none;white-space:nowrap;
}
.eam-btn:hover{transform:translateY(-2px);}
.eam-btn--header{background:var(--white);color:var(--pink);box-shadow:var(--shadow-sm);}
.eam-btn--white{background:var(--white);color:var(--pink);box-shadow:var(--shadow);}
.eam-btn--ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.85);}
.eam-btn--ghost:hover{background:rgba(255,255,255,.15);}
.eam-btn--pink{background:#c9a96a;color:#171310;box-shadow:var(--shadow-sm);}
.eam-btn--pink:hover{background:#a8874a;color:#171310;}
.eam-btn--pink-outline{background:var(--white);color:var(--pink);border:1.5px solid var(--pink);}
.eam-btn--pink-outline:hover{background:#c9a96a;color:#171310;}

/* ============================================================
   HEADER
   ============================================================ */
.eam-header{
	position:fixed;inset:0 0 auto 0;z-index:100;
	background:rgba(255,255,255,.96);
	border-bottom:1px solid #e8e4de;
	transition:box-shadow .3s ease;
}
.eam-header.is-scrolled{
	backdrop-filter:blur(8px);
	box-shadow:0 2px 18px rgba(0,0,0,.4);
}
.eam-header__inner{
	max-width:1640px;margin-inline:auto;
	display:flex;align-items:center;gap:24px;
	padding:22px 40px;
}
.eam-logo{display:flex;flex-direction:column;line-height:1.1;color:#171310;}
.eam-logo__main{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.08em;}
.eam-logo__sub{font-size:10px;letter-spacing:.32em;margin-top:2px;}
.eam-btn--header{background:#c9a96a;color:#171310;}

.eam-nav{margin-left:auto;min-width:0;}
.eam-nav-list{display:flex;gap:20px;align-items:center;flex-wrap:nowrap;}
.eam-nav-list a{
	display:block;
	color:#171310;font-size:12px;font-weight:500;letter-spacing:.04em;
	white-space:nowrap;
	position:relative;padding:4px 0;transition:opacity .2s;
}
/* 1200px以下は少し余裕がなくなるため、文字間隔と余白をさらに詰める */
@media (max-width:1200px){
	.eam-nav-list{gap:14px;}
	.eam-nav-list a{font-size:11px;letter-spacing:.02em;}
}
.eam-nav-list a:hover{opacity:.7;}

/* サブメニュー（PC：ホバーで下に展開するドロップダウン） */
.eam-nav-list li{position:relative;}
.eam-nav-list li.menu-item-has-children > a{
	padding-right:16px;
}
/* リンクの下に見えない余白(padding-bottom)を足すことで、その分だけ
   ホバー判定の範囲を拡張する。ドロップダウン側は top:100% を使っているため
   このpadding-bottom自体が「リンクとドロップダウンの見た目の余白」を兼ねる
   （margin-bottomで見た目の高さには影響させない） */
.eam-nav-list li.menu-item-has-children{
	padding-bottom:14px;
	margin-bottom:-14px;
}
.eam-nav-list li.menu-item-has-children > a::after{
	content:"";
	position:absolute;
	right:0;top:50%;
	width:6px;height:6px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:translateY(-70%) rotate(45deg);
}
.eam-nav-list .sub-menu{
	display:none;
	position:absolute;top:100%;left:0;
	min-width:220px;
	padding:10px 0;
	background:#ffffff;
	border:1px solid #e8e4de;
	border-radius:10px;
	box-shadow:var(--shadow);
	z-index:10;
}
.eam-nav-list li.menu-item-has-children:hover > .sub-menu,
.eam-nav-list li.menu-item-has-children:focus-within > .sub-menu{
	display:block;
}
.eam-nav-list .sub-menu li{width:100%;}
.eam-nav-list .sub-menu a{
	display:block;
	color:#171310 !important;
	font-size:13px;font-weight:500;letter-spacing:.02em;
	padding:10px 22px;
	opacity:1;
}
.eam-nav-list .sub-menu a:hover{background:#f6f5f3;opacity:1;}
.eam-header__cta{margin-left:8px;}

/* ハンバーガー */
.eam-burger{
	display:none;width:44px;height:44px;background:transparent;border:none;
	flex-direction:column;justify-content:center;gap:6px;cursor:pointer;margin-left:auto;
}
.eam-burger span{display:block;height:2px;width:26px;background:#171310;transition:.3s;}
.eam-burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.eam-burger.is-open span:nth-child(2){opacity:0;}
.eam-burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.eam-mobile-nav{
	display:none;position:fixed;inset:0;z-index:90;
	background:linear-gradient(160deg,#141414,#1c1c1c);
	flex-direction:column;align-items:center;justify-content:center;gap:6px;
	opacity:0;pointer-events:none;transition:opacity .3s;
}
.eam-mobile-nav.is-open{opacity:1;pointer-events:auto;}
.eam-mobile-nav__list{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:30px;}
.eam-mobile-nav__list a,.eam-mobile-nav a{color:var(--white);font-size:18px;letter-spacing:.1em;font-family:var(--serif);}
.eam-mobile-nav__list .sub-menu{
	list-style:none;margin:10px 0 0;padding:0;
	display:flex;flex-direction:column;align-items:center;gap:12px;
}
.eam-mobile-nav__list .sub-menu a{
	font-size:14px;font-family:var(--sans);letter-spacing:.03em;
	color:rgba(255,255,255,.8);
}
.eam-mobile-nav__cta{margin-top:10px;}

/* ============================================================
   1. HERO（バナー画像スライダー）
   バナーはPC 1200×650px／スマホ 830×1020px 前提。画像自身の比率で
   高さが決まるため、テキスト・ボタン等の追加要素は持たない。
   ============================================================ */
.eam-hero{position:relative;overflow:hidden;margin-top:86px;background:var(--bg-faint);}

/* バナーの上に重ねるテキスト・ボタン（任意・カスタマイザーでON/OFF、4隅から配置を選択可） */
.eam-hero-overlay{
	position:absolute;
	inset:0;
	z-index:5;
	display:flex;
	align-items:flex-end;
	pointer-events:none;
}
.eam-hero-overlay.is-pos-top-left,
.eam-hero-overlay.is-pos-top-right{
	align-items:flex-start;
}
.eam-hero-overlay__scrim{
	position:absolute;
	inset:0;
	background:linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,0) 72%);
	pointer-events:none;
}
.eam-hero-overlay.is-pos-top-left .eam-hero-overlay__scrim,
.eam-hero-overlay.is-pos-top-right .eam-hero-overlay__scrim{
	background:linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,0) 72%);
}
.eam-hero-overlay .eam-container{position:relative;width:100%;}
.eam-hero-overlay__content{
	position:relative;
	max-width:520px;
	padding:0 0 56px;
	pointer-events:auto;
}
.eam-hero-overlay.is-pos-top-left .eam-hero-overlay__content,
.eam-hero-overlay.is-pos-top-right .eam-hero-overlay__content{
	padding:56px 0 0;
}
.eam-hero-overlay.is-pos-top-right .eam-hero-overlay__content,
.eam-hero-overlay.is-pos-bottom-right .eam-hero-overlay__content{
	margin-left:auto;
}
.eam-hero-overlay__eyebrow{
	display:block;
	font-family:var(--sans);
	font-weight:700;
	font-size:clamp(22px,2.8vw,32px);
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#ddc48f;
	margin-bottom:16px;
}
.eam-hero-overlay__title{
	font-family:var(--sans);
	font-weight:700;
	font-size:13px;
	line-height:1.5;
	color:#ffffff;
	text-shadow:0 2px 12px rgba(0,0,0,.35);
	margin:0 0 30px;
}
.eam-hero-overlay__btns{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:14px 28px;
}
/* ミニマルな下線+矢印スタイル（ビアンカクリニック参考） */
.eam-hero-overlay__btn{
	display:inline-flex;
	align-items:center;
	gap:12px;
	background:transparent;
	border:none;
	border-bottom:1px solid rgba(255,255,255,.55);
	color:#ffffff;
	font-size:14px;
	letter-spacing:.08em;
	padding:0 2px 10px;
	transition:border-color .25s ease, gap .25s ease;
}
.eam-hero-overlay__btn .eam-arrow{transition:transform .25s ease;}
.eam-hero-overlay__btn:hover{
	border-color:#ddc48f;
}
.eam-hero-overlay__btn:hover .eam-arrow{transform:translateX(4px);}
/* 2つ目のボタン：塗りつぶしにして1つ目と区別する */
.eam-hero-overlay__btn--second{
	border-bottom:none;
	background:#ffffff;
	color:#171310;
	padding:12px 26px;
	border-radius:999px;
}
.eam-hero-overlay__btn--second:hover{
	background:#ddc48f;
}

/* 表示デバイスの切り替え */
@media (max-width:600px){
	.eam-hero-overlay--pc-only{display:none;}
	.eam-hero-overlay__content{padding-bottom:36px;}
	.eam-hero-overlay.is-pos-top-left .eam-hero-overlay__content,
	.eam-hero-overlay.is-pos-top-right .eam-hero-overlay__content{padding:36px 0 0;}
	.eam-hero-overlay__eyebrow{font-size:clamp(19px,6vw,24px);}
	.eam-hero-overlay__title{font-size:12px;margin-bottom:22px;}
}
@media (min-width:601px){
	.eam-hero-overlay--sp-only{display:none;}
}

/* バナー2枚以上：中央を大きく、両隣は余白付きでちら見せする無限ループスライダー */
.eam-hero .eam-hero-banner{padding:32px 60px;margin:0;}
.eam-hero-banner .eam-carousel__viewport{overflow:hidden;}
.eam-hero-banner .eam-carousel__track{transition:transform .4s ease;}
.eam-hero-banner .eam-carousel__slide{
	flex:0 0 auto;
	max-width:none;
	padding:0 14px;
	box-sizing:border-box;
	opacity:.4;
	transform:scale(.92);
	transition:opacity .4s ease, transform .4s ease;
}
.eam-hero-banner .eam-carousel__slide.is-active{
	opacity:1;
	transform:scale(1);
}
.eam-hero-banner .eam-carousel__arrow{background:rgba(255,255,255,.9);}
.eam-hero-banner .eam-carousel__arrow--prev{left:16px;}
.eam-hero-banner .eam-carousel__arrow--next{right:16px;}
.eam-hero-banner .eam-carousel__dots{margin-top:18px;}

/* バナー1枚のみ：スライダーなしで中央にそのまま表示 */
.eam-hero-banner--single{padding:32px 60px;max-width:1420px;margin-inline:auto;}

.eam-hero-banner__link{display:block;}
/* バナーは1200×650(PC)/830×1020(SP)の比率を保ちつつ、横幅の広い画面で
   縦に間延びしすぎないよう高さの上限を設ける（超える分は左右を切り取って表示） */
.eam-hero-banner__pic{
	display:block;width:100%;
	aspect-ratio:1200 / 650;
	overflow:hidden;
	border-radius:16px;
	box-shadow:var(--shadow);
	background:var(--bg-faint);
}
/* 画面幅にかかわらず、画像全体が欠けずに表示されるよう contain を使用 */
.eam-hero-banner__pic img{display:block;width:100%;height:100%;object-fit:contain;}

@media (max-width:600px){
	/* スマホはヘッダーの高さに対して余白がやや不足し、バナー上部が
	   隠れることがあったため、開始位置の余白を広めに取り直す。
	   中央(等倍)のバナーが基準のため、両隣（92%に縮小されている分
	   上端が自然に下がっている）よりも少し多めに確保する。 */
	.eam-hero{margin-top:132px;}
	.eam-hero .eam-hero-banner,
	.eam-hero-banner--single{padding:16px 24px;}
	.eam-hero-banner .eam-carousel__slide{padding:0 6px;}
	.eam-hero-banner__pic{aspect-ratio:830 / 1020;border-radius:12px;}
}

/* ============================================================
   2. ABOUT / 悩み訴求
   ============================================================ */
.eam-about{background:#ffffff;padding:92px 0;color:#2a2622;}
.eam-about .eam-eyebrow,
.eam-about .eam-h2{color:#171310;}
.eam-about__grid{display:grid;grid-template-columns:0.85fr 1.4fr;gap:50px;align-items:center;}
.eam-about__body{margin-top:22px;font-size:18px;line-height:2.1;}
.eam-about__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.eam-wcard{
	background:linear-gradient(180deg,#ffffff,#f6f5f3);
	border:1px solid #e8e4de;border-radius:10px;
	padding:30px 16px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.eam-wcard__icon{display:block;width:48px;height:48px;margin:0 auto 16px;color:var(--pink);}
.eam-wcard__text{font-size:15px;line-height:1.75;font-weight:500;}

/* ============================================================
   3. CONCEPT
   ============================================================ */
/* CONCEPT：背景画像を全面に敷き、テキストを重ねて表示（位置は6パターンから選択可） */
.eam-concept{position:relative;min-height:560px;display:flex;overflow:hidden;}
.eam-concept.is-pos-top-left,
.eam-concept.is-pos-top-right{align-items:flex-start;}
.eam-concept.is-pos-middle-left,
.eam-concept.is-pos-middle-right{align-items:center;}
.eam-concept.is-pos-bottom-left,
.eam-concept.is-pos-bottom-right{align-items:flex-end;}
.eam-concept__media{
	position:absolute;inset:0;
	background-size:cover;background-position:center;
}
/* 固定ページ用パターン（eam/concept-fullbleed）では背景divではなく
   実際の<img>を使うため、同じ見た目になるよう画面全体を覆うcover表示にする */
.eam-concept__media img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover;display:block;margin:0;max-width:none;}
.eam-concept__media::after{
	content:"";
	position:absolute;inset:0;
	background:linear-gradient(90deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.15) 72%, rgba(0,0,0,0) 100%);
}
.eam-concept.is-pos-top-right .eam-concept__media::after,
.eam-concept.is-pos-middle-right .eam-concept__media::after,
.eam-concept.is-pos-bottom-right .eam-concept__media::after{
	background:linear-gradient(270deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.15) 72%, rgba(0,0,0,0) 100%);
}
.eam-concept__panel{
	position:relative !important;z-index:2 !important;
	width:100%;
	display:flex;
}
.eam-concept.is-pos-top-left .eam-concept__panel,
.eam-concept.is-pos-middle-left .eam-concept__panel,
.eam-concept.is-pos-bottom-left .eam-concept__panel{justify-content:flex-start;}
.eam-concept.is-pos-top-right .eam-concept__panel,
.eam-concept.is-pos-middle-right .eam-concept__panel,
.eam-concept.is-pos-bottom-right .eam-concept__panel{justify-content:flex-end;}
/* 幅は広めに確保し、自動での折り返しをできるだけ避ける
   （見出し・本文とも、カスタマイザー側で改行(\n)を入れた通りに表示されやすくするため） */
.eam-concept__inner{padding:70px clamp(24px,6vw,90px);max-width:900px;width:100%;}
.eam-concept__body{color:rgba(255,255,255,.95);font-size:16px;line-height:2.1;margin-top:24px;}

/* ============================================================
   5. MENU / PRICE
   ============================================================ */
.eam-menu{display:grid;grid-template-columns:1fr 1.25fr;min-height:540px;}
.eam-menu__price{
	background:linear-gradient(135deg,#1c1c1c,#141414);
	display:flex;align-items:center;
}
.eam-menu__inner{padding:70px clamp(40px,4vw,80px);width:100%;}
.eam-pricelist{margin-top:26px;}
.eam-pricelist li{
	display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
	padding:18px 0;border-bottom:1px solid rgba(255,255,255,.35);
}
.eam-pricelist__name{display:block;color:var(--white);font-size:16px;font-weight:700;position:relative;padding-left:16px;}
.eam-pricelist__name::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--white);}
.eam-pricelist__desc{display:block;color:rgba(255,255,255,.85);font-size:12px;padding-left:16px;margin-top:2px;}
.eam-pricelist__price{color:var(--white);font-size:18px;font-weight:700;white-space:nowrap;font-family:var(--serif);}
.eam-menu__note{color:rgba(255,255,255,.8);font-size:11px;margin-top:16px;}
.eam-menu__btn{margin-top:26px;}
.eam-menu__media{position:relative;background:#1c1c1c;}
.eam-menu__img{position:absolute;inset:0;background-size:cover;background-position:center;}
.eam-menu__script{
	position:absolute;left:36px;bottom:40px;z-index:2;
	font-family:var(--script);font-size:34px;color:rgba(255,255,255,.95);
	text-shadow:0 2px 12px rgba(0,0,0,.15);
}

/* ============================================================
   4. STRENGTH
   ============================================================ */
.eam-strength{background:var(--bg-faint);padding:80px 0;}
.eam-strength__grid{
	display:grid;grid-template-columns:0.9fr repeat(5,1fr);
	align-items:start;gap:0;
}
.eam-strength__head{padding-right:30px;}
.eam-scard{
	text-align:center;padding:6px 18px;
	border-left:1px solid var(--bg-soft);
}
.eam-scard__icon{display:block;width:42px;height:42px;margin:0 auto 14px;color:var(--pink);}
.eam-scard__en{display:block;font-family:var(--serif);font-weight:700;letter-spacing:.1em;color:var(--pink);font-size:15px;margin-bottom:10px;}
.eam-scard__text{font-size:14px;line-height:1.75;}

/* ============================================================
   6. BEFORE / AFTER
   ============================================================ */
.eam-ba{background:#ffffff;padding:84px 0;color:#2a2622;}
.eam-ba .eam-eyebrow,
.eam-ba .eam-h2{color:#171310;}
.eam-ba__head{display:block;margin-bottom:34px;}

/* ゆっくり左へ流れ続けるマーキー（ビアンカクリニック参考・手動操作なし） */
.eam-ba__marquee{
	overflow:hidden;
	width:100%;
}
.eam-ba__track{
	display:-webkit-inline-flex;
	display:inline-flex;
	flex-wrap:nowrap;
	-webkit-flex-wrap:nowrap;
	vertical-align:top;
	gap:20px;
	-webkit-animation:eamBaMarquee 34s linear infinite;
	animation:eamBaMarquee 34s linear infinite;
}
.eam-ba__marquee:hover .eam-ba__track{animation-play-state:paused;}
@-webkit-keyframes eamBaMarquee{
	from{-webkit-transform:translateX(0);transform:translateX(0);}
	to{-webkit-transform:translateX(-50%);transform:translateX(-50%);}
}
@keyframes eamBaMarquee{
	from{-webkit-transform:translateX(0);transform:translateX(0);}
	to{-webkit-transform:translateX(-50%);transform:translateX(-50%);}
}
@media (prefers-reduced-motion:reduce){
	.eam-ba__track{animation:none;-webkit-animation:none;}
}
.eam-bacard{-webkit-flex:0 0 auto;flex:0 0 auto;width:min(70vw,240px);}
.eam-bacard__img{
	width:100%;
	aspect-ratio:1 / 1;border-radius:8px;background-size:cover;background-position:center;
	box-shadow:var(--shadow-sm);
	overflow:hidden;
}
/* 固定ページ用パターン（eam/before-after-marquee）では背景divではなく
   実際の<img>を使うため、同じ見た目になるようcover表示にする */
.eam-bacard__img img{width:100%;height:100%;object-fit:cover;display:block;margin:0;}
.eam-bacard__label{font-size:15px;font-weight:700;margin-top:12px;text-align:center;}
.eam-ba__notice{margin-top:24px;font-size:11px;color:#8a8078;}

/* ============================================================
   7. ARTIST + 8. VOICE
   ============================================================ */
.eam-artist{background:linear-gradient(180deg,var(--bg-soft),var(--bg-faint));padding:80px 0;}
.eam-artist__grid{display:grid;grid-template-columns:1fr 0.9fr 1fr;gap:40px;align-items:center;}
.eam-artist__body{margin-top:20px;font-size:15.5px;line-height:2;}
.eam-artist__media{position:relative;align-self:stretch;min-height:360px;}
.eam-artist__img{position:absolute;inset:0;background-size:cover;background-position:center top;border-radius:8px;}
.eam-artist__sign{position:absolute;left:14px;bottom:14px;font-family:var(--script);font-size:34px;color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,.2);}
.eam-profile{background:linear-gradient(150deg,#1c1c1c,#141414);color:var(--white);border-radius:10px;padding:34px 30px;box-shadow:var(--shadow);}
.eam-profile__head{font-family:var(--serif);letter-spacing:.16em;font-size:14px;}
.eam-profile__name{display:block;font-size:13px;margin:6px 0 18px;opacity:.9;}
.eam-profile__list li{position:relative;padding-left:18px;font-size:14px;margin-bottom:12px;line-height:1.6;}
.eam-profile__list li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--white);}

/* フルワイド（画面いっぱい）の白帯として表示。position:relative + 100vw で
   親要素（.eam-artist、ピンク背景）を突き抜けて画面端まで白背景を敷く */
.eam-voice{
	position:relative;
	left:50%;right:50%;
	margin-left:-50vw;margin-right:-50vw;
	width:100vw;
	margin-top:64px;
	background:#ffffff;
	padding:56px 0;
	color:#2a2622;
}
.eam-voice .eam-eyebrow,
.eam-voice .eam-h2{color:#171310;}
.eam-voice__head{text-align:left;margin-bottom:28px;}
.eam-voice__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.eam-vcard{background:#f6f5f3;border-radius:10px;padding:30px 26px;box-shadow:0 4px 14px rgba(0,0,0,.08);position:relative;}
.eam-vcard__quote{font-family:var(--serif);font-size:46px;color:var(--pink-bright);line-height:.6;position:absolute;top:22px;left:20px;opacity:.5;}
.eam-vcard__who{display:inline-block;font-size:12px;font-weight:700;color:var(--pink);background:#eeece7;padding:5px 12px;border-radius:20px;margin-bottom:14px;margin-left:30px;}
.eam-vcard__text{font-size:15px;line-height:1.9;}

/* ============================================================
   9. FLOW
   ============================================================ */
.eam-flow{background:linear-gradient(120deg,#141414,#1c1c1c);padding:74px 0;}
.eam-flow__head{margin-bottom:38px;}
.eam-flow__steps{display:grid !important;grid-template-columns:repeat(5,1fr);gap:14px;}
.eam-step{text-align:center;color:var(--white);position:relative;padding:0 8px;}
.eam-step:not(:last-child)::after{content:"";position:absolute;right:-7px;top:36px;width:14px;height:1px;background:rgba(255,255,255,.5);}
.eam-step__icon{display:block;width:40px;height:40px;margin:0 auto 8px;color:var(--white);}
.eam-step__num{display:block;font-family:var(--serif);font-size:34px;font-weight:700;line-height:1;margin-bottom:8px;}
.eam-step__title{display:block;font-size:15px;font-weight:700;margin-bottom:8px;}
.eam-step__text{font-size:13px;line-height:1.7;opacity:.92;}

/* ============================================================
   10. FAQ
   ============================================================ */
.eam-faq{background:#ffffff;padding:80px 0;color:#2a2622;}
.eam-faq .eam-eyebrow,
.eam-faq .eam-h2{color:#171310;}
.eam-faq__head{display:block;margin-bottom:30px;}
.eam-faq__cols{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;align-items:start;}
.eam-faq__item{background:#f6f5f3;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.08);overflow:hidden;}
.eam-faq__item summary{
	list-style:none;cursor:pointer;padding:18px 22px;
	font-size:15px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.eam-faq__item summary::-webkit-details-marker{display:none;}
.eam-faq__mark{color:var(--pink);font-size:22px;font-weight:300;transition:transform .25s;line-height:1;}
.eam-faq__item[open] .eam-faq__mark{transform:rotate(45deg);}
.eam-faq__answer{padding:0 22px 20px;font-size:15px;line-height:1.9;color:#5a544c;}

/* ============================================================
   11. ACCESS
   ============================================================ */
.eam-access{background:#ffffff;padding:84px 0;color:#2a2622;}
.eam-access .eam-eyebrow,
.eam-access .eam-h2{color:#171310;}
.eam-access__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;}
.eam-access__dl{margin:24px 0 30px;}
.eam-access__dl dt{font-size:12px;color:var(--pink);font-weight:700;letter-spacing:.1em;margin-top:16px;}
.eam-access__dl dd{margin:4px 0 0;font-size:16px;line-height:1.8;}
.eam-access__map,.eam-access__map iframe{width:100%;border:0;border-radius:10px;overflow:hidden;min-height:340px;}
.eam-access__map iframe{display:block;height:340px;}
.eam-access__map-ph{
	min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;
	background:#f6f5f3;border:1px dashed #e8e4de;border-radius:10px;color:#8a8078;font-size:13px;padding:20px;
}

/* ============================================================
   共通CTA帯
   ============================================================ */
.eam-bottomcta{background:linear-gradient(110deg,#141414,#1c1c1c);padding:54px 0;}
.eam-bottomcta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.eam-bottomcta__lead{color:var(--white);font-size:clamp(18px,2vw,24px);font-weight:700;}
.eam-bottomcta__sub{color:rgba(255,255,255,.92);font-size:16px;margin-top:4px;}

/* ============================================================
   FOOTER
   ============================================================ */
.eam-footer{background:linear-gradient(160deg,#111111,#1a1a1a);color:var(--white);padding:60px 0 0;}
.eam-footer__inner{max-width:var(--maxw);margin-inline:auto;padding:0 40px 40px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;}
.eam-footer .eam-logo__main{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.08em;display:block;}
.eam-footer .eam-logo__sub{font-size:10px;letter-spacing:.3em;display:block;margin-top:2px;}
.eam-footer__addr{margin-top:18px;font-size:14px;line-height:1.8;opacity:.92;}
.eam-footer__meta{margin-top:12px;font-size:14px;line-height:1.8;opacity:.92;}
.eam-footer__nav .eam-footer__list,.eam-footer__nav ul{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.eam-footer__nav a:hover{opacity:.75;}
.eam-footer__social{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.eam-footer__social a{position:relative;padding-left:0;}
.eam-footer__copy{border-top:1px solid rgba(255,255,255,.25);text-align:center;padding:18px;font-size:11px;letter-spacing:.1em;opacity:.85;}

/* ============================================================
   固定LINE CTA
   ============================================================ */
.eam-fixed-cta{
	position:fixed;right:24px;bottom:24px;z-index:80;
	display:inline-flex;align-items:center;gap:10px;
	background:var(--white);color:#c9a96a;
	padding:14px 22px;border-radius:50px;
	box-shadow:0 4px 16px rgba(0,0,0,.28);
	font-weight:700;font-size:14px;
	transition:transform .2s, box-shadow .2s;
}
.eam-fixed-cta:hover{box-shadow:0 6px 20px rgba(0,0,0,.32);}
.eam-fixed-cta:hover{transform:translateY(-3px);}
.eam-fixed-cta__icon{
	background:#c9a96a;color:#171310;font-size:11px;font-weight:700;
	width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em;
}
.eam-fixed-cta[data-auto-invert]{transition:background .3s ease, color .3s ease, border-color .3s ease;}
.eam-fixed-cta[data-auto-invert] .eam-fixed-cta__icon{transition:background .3s ease, color .3s ease;}
/* 背景に応じた自動切替：白背景セクションの上ではボタンを黒地に白文字へ */
.eam-fixed-cta.is-on-light{
	background:#171310 !important;
	color:#ffffff !important;
	border-color:#171310 !important;
}
.eam-fixed-cta.is-on-light .eam-fixed-cta__icon{
	background:#ffffff !important;
	color:#171310 !important;
}

/* ============================================================
   下層ページ（固定ページ・投稿・アーカイブ・検索・404 共通）
   ※ すべて .eam-page / .eam-pagehero など下層専用クラスに限定。
   ※ TOP（front-page）の .eam-hero 等には一切影響しない。
   ============================================================ */

/* ---- 下層Hero（ページタイトルエリア） ---- */
.eam-pagehero{
	position:relative;
	background:linear-gradient(115deg,#141414 0%,#1c1c1c 60%,#0d0d0d 100%);
	background-size:cover;background-position:center;
	padding:168px 0 64px;
	text-align:center;
	overflow:hidden;
}
.eam-pagehero--image{background-repeat:no-repeat;}
.eam-pagehero__inner{position:relative;z-index:2;}
.eam-pagehero__en{
	display:block;font-family:var(--serif);font-weight:600;
	letter-spacing:.26em;font-size:13px;text-transform:uppercase;
	color:rgba(255,255,255,.9);margin-bottom:14px;
}
.eam-pagehero__title{
	color:var(--white);font-family:var(--serif);font-weight:700;
	font-size:clamp(28px,3.4vw,48px);line-height:1.25;letter-spacing:.04em;
	text-shadow:0 4px 20px rgba(0,0,0,.5);
}
.eam-pagehero__lead{
	color:rgba(255,255,255,.95);font-size:15px;line-height:1.9;
	max-width:680px;margin:18px auto 0;
}

/* ============================================================
   固定ページ Hero（参考画像準拠：左タイトル・右画像／枠なし）
   page.php・single.php・archive.php・search.php・index.php で使用
   ============================================================ */
.page-hero{
	position:relative;
	padding:140px 0 80px;
	background:
		radial-gradient(circle at 18% 22%, rgba(255,255,255,.06), transparent 38%),
		linear-gradient(120deg, #141414 0%, #1a1a1a 50%, #0d0d0d 100%);
	overflow:hidden;
}
.page-hero__inner{
	width:min(1180px, calc(100% - 48px));
	margin:0 auto;
	display:grid;
	grid-template-columns:0.9fr 1.1fr;
	gap:56px;
	align-items:center;
}
.page-hero__title{
	margin:0;
	font-family:var(--sans); /* Noto Serif JP（日本語タイトル） */
	font-weight:500;
	font-size:clamp(34px,5vw,60px);
	line-height:1.4;
	letter-spacing:.08em;
	color:var(--ink);
}
.page-hero__lead{
	margin:20px 0 0;
	font-family:var(--sans);
	font-size:16px;line-height:2;color:var(--text-muted);
	max-width:40em;
}
.page-hero__visual{
	position:relative;
	width:100%;
	max-width:560px;
	margin-left:auto;
}
.page-hero__visual::before{
	content:"";position:absolute;inset:24px -24px -24px 24px;
	background:rgba(201,169,106,.15);z-index:0;border-radius:4px;
}
.page-hero__visual img{
	position:relative;z-index:1;
	width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;
	border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.4);
}
/* アイキャッチ未設定時：文字なしの装飾パネル（ダミー画像は使わない） */
.page-hero__visual--blank{
	position:relative;z-index:1;
	width:100%;aspect-ratio:4 / 3;border-radius:4px;
	background:linear-gradient(135deg,#2a2a2a 0%,#1a1a1a 55%,#0d0d0d 100%);
	box-shadow:0 20px 50px rgba(0,0,0,.4);
}
@media (max-width:768px){
	.page-hero{padding:104px 0 56px;}
	.page-hero__inner{grid-template-columns:1fr;gap:28px;}
	.page-hero__title{font-size:clamp(28px,8vw,40px);text-align:center;}
	.page-hero__visual{margin-left:0;max-width:100%;}
	.page-hero__visual::before{inset:16px -12px -12px 12px;}
	/* スマホではタイトルのみ表示（説明文・右側画像は非表示） */
	.page-hero__lead{display:none;}
	.page-hero__visual{display:none;}
}

/* ---- パンくず ---- */
.eam-breadcrumb{background:var(--bg-faint);}
.eam-breadcrumb__inner{
	display:flex;flex-wrap:wrap;align-items:center;
	padding-top:14px;padding-bottom:14px;font-size:12px;color:var(--text-muted);
}
.eam-breadcrumb a{color:var(--pink);}
.eam-breadcrumb a:hover{text-decoration:underline;}
.eam-breadcrumb__sep{margin:0 8px;color:var(--bg-soft);}
.eam-breadcrumb__current{color:var(--text-muted);}

/* ---- 本文エリア（枠なし・白背景でシンプルに） ---- */
.eam-pagebody{background:var(--bg);padding:80px 0;}
.eam-pagebody__inner{
	max-width:960px;margin-inline:auto;
}

/* ============================================================
   本文タイポグラフィ（the_content 出力 / ブロックエディター対応）
   .eam-page .eam-prose 配下に限定
   ============================================================ */
.eam-page .eam-prose{color:var(--ink);font-size:16px;line-height:1.85;}
.eam-page .eam-prose > *:first-child{margin-top:0;}
.eam-page .eam-prose > *:last-child{margin-bottom:0;}

.eam-page .eam-prose h2{
	position:relative;font-family:var(--serif);font-weight:700;
	font-size:clamp(23px,2.6vw,32px);line-height:1.5;color:var(--ink);
	letter-spacing:-.02em;
	margin:2.4em 0 .9em;padding-bottom:.5em;
}
.eam-page .eam-prose h2::after{
	content:"";position:absolute;left:0;bottom:0;
	width:64px;height:3px;border-radius:999px;background:var(--pink);
}
/* 英字ラベル（.eam-eyebrow）の直後に見出しが来る場合、
   見出し側の大きな上余白（2.4em）が効いて間隔が空きすぎるため詰める */
.eam-page .eam-prose .eam-eyebrow + h2{
	margin-top:0;
}
.eam-page .eam-prose h3{
	font-weight:700;font-size:clamp(19px,2.2vw,23px);line-height:1.6;color:var(--ink);
	margin:2em 0 .8em;padding-left:16px;border-left:4px solid var(--pink);
}
.eam-page .eam-prose h4{
	font-weight:700;font-size:17px;color:var(--pink);margin:1.8em 0 .6em;
}
.eam-page .eam-prose h5,
.eam-page .eam-prose h6{font-weight:700;font-size:15px;color:var(--ink);margin:1.6em 0 .5em;}

.eam-page .eam-prose p{margin:0 0 1.3em;}
.eam-page .eam-prose a{color:var(--pink);text-decoration:underline;text-underline-offset:2px;}
.eam-page .eam-prose a:hover{color:var(--pink-deep);}
.eam-page .eam-prose strong,
.eam-page .eam-prose b{font-weight:700;color:var(--ink);}
.eam-page .eam-prose em{font-style:italic;}
.eam-page .eam-prose mark{background:var(--bg-soft);color:var(--pink-deep);padding:.1em .3em;border-radius:4px;}

.eam-page .eam-prose ul,
.eam-page .eam-prose ol{margin:0 0 1.6em;padding-left:1.4em;}
.eam-page .eam-prose ul{list-style:disc;}
.eam-page .eam-prose ol{list-style:decimal;}
.eam-page .eam-prose li{margin-bottom:.5em;line-height:1.9;}
.eam-page .eam-prose li::marker{color:var(--pink);}
.eam-page .eam-prose li > ul,
.eam-page .eam-prose li > ol{margin:.5em 0 .5em;}

.eam-page .eam-prose blockquote{
	margin:1.8em 0;padding:18px 24px;
	background:var(--bg-faint);border-left:4px solid var(--pink-bright);
	border-radius:0 10px 10px 0;color:var(--text-muted);
}
.eam-page .eam-prose blockquote p:last-child{margin-bottom:0;}

/* 画像・figure・wp-block-image */
.eam-page .eam-prose img{height:auto;border-radius:12px;}
.eam-page .eam-prose p > img,
.eam-page .eam-prose figure img{box-shadow:var(--shadow-sm);}
.eam-page .eam-prose figure{margin:1.8em 0;}
.eam-page .eam-prose figure img{margin:0;}
.eam-page .eam-prose figcaption{font-size:12px;color:var(--text-muted);text-align:center;margin-top:8px;}
.eam-page .eam-prose .wp-block-image{margin:1.8em 0;}
.eam-page .eam-prose .wp-block-image img{border-radius:12px;box-shadow:var(--shadow-sm);}

/* テーブル（横スクロール対応） */
.eam-page .eam-prose .wp-block-table,
.eam-page .eam-prose .eam-tablewrap{margin:1.8em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.eam-page .eam-prose table{
	width:100%;border-collapse:collapse;margin:1.8em 0;font-size:14px;background:var(--surface);
}
.eam-page .eam-prose .wp-block-table table,
.eam-page .eam-prose .eam-tablewrap table{margin:0;}
.eam-page .eam-prose th,
.eam-page .eam-prose td{
	border:1px solid var(--bg-soft);padding:14px 16px;text-align:left;line-height:1.7;vertical-align:top;
}
.eam-page .eam-prose th{background:var(--bg-faint);color:var(--ink);font-weight:700;white-space:nowrap;}
/* 表の1列目（日付・見出し語など短い項目）は改行させない。2列目以降の本文セルは通常通り折り返す */
.eam-page .eam-prose td:first-child{white-space:nowrap;}

/* ボタン（wp-block-button → TOPのCTAと同じ質感） */
.eam-page .eam-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:1.8em 0;}
.eam-page .eam-prose .wp-block-button{margin:0;}
.eam-page .eam-prose .wp-block-button__link{
	display:inline-flex;align-items:center;justify-content:center;
	background:#c9a96a;color:#171310;
	padding:14px 32px;border-radius:999px;font-weight:700;font-size:14px;letter-spacing:.04em;
	text-decoration:none;box-shadow:var(--shadow-sm);
	transition:transform .2s ease, background .2s ease;
}
.eam-page .eam-prose .wp-block-button__link:hover{background:#a8874a;transform:translateY(-2px);}
.eam-page .eam-prose .is-style-outline .wp-block-button__link,
.eam-page .eam-prose .wp-block-button.is-style-outline .wp-block-button__link{
	background:transparent;color:#c9a96a;border:1.5px solid #c9a96a;box-shadow:none;
}
.eam-page .eam-prose .is-style-outline .wp-block-button__link:hover{background:#c9a96a;color:#171310;}

/* 白地に黒文字／黒地に白文字：黒背景ブロックの上に置いても文字が見えなくならないための配色パターン */
.eam-page .eam-prose .wp-block-button.is-style-eam-btn-white-black .wp-block-button__link{
	background:#ffffff;color:#171310;border:1px solid #e8e4de;box-shadow:none;
}
.eam-page .eam-prose .wp-block-button.is-style-eam-btn-white-black .wp-block-button__link:hover{
	background:#f6f5f3;transform:translateY(-2px);
}
.eam-page .eam-prose .wp-block-button.is-style-eam-btn-black-white .wp-block-button__link{
	background:#171310;color:#ffffff;box-shadow:none;
}
.eam-page .eam-prose .wp-block-button.is-style-eam-btn-black-white .wp-block-button__link:hover{
	background:#2a2622;transform:translateY(-2px);
}

/* カラム */
.eam-page .eam-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:24px;margin:1.8em 0;}
.eam-page .eam-prose .wp-block-column{flex:1 1 240px;min-width:0;}
.eam-page .eam-prose .wp-block-column > *:first-child{margin-top:0;}

/* 区切り線・コード */
.eam-page .eam-prose hr,
.eam-page .eam-prose .wp-block-separator{border:none;border-top:1px solid var(--bg-soft);margin:2.4em 0;}
.eam-page .eam-prose code{background:var(--bg-faint);padding:.15em .4em;border-radius:4px;font-size:.9em;}
.eam-page .eam-prose pre{background:var(--bg-faint);padding:18px;border-radius:10px;overflow-x:auto;font-size:13px;}

/* 文中の強調テキスト（流れるグラデーション・見出しの一部を強調したい時用）
   使い方：<span class="eam-highlight">強調したい文字</span> */
.eam-highlight{
	font-weight:700;
	background:linear-gradient(90deg, var(--pink) 0%, var(--pink-bright) 25%, var(--pink-deep) 50%, var(--pink-bright) 75%, var(--pink) 100%);
	background-size:300% auto;
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	color:transparent;
	animation:eamFlowGradient 5s linear infinite;
}

/* ============================================================
   カルーセルブロック（固定ページ用ショートコード [eam_carousel][eam_slide]）
   ============================================================ */
.eam-carousel{position:relative;padding:0 54px;margin:2em 0;}
.eam-carousel__viewport{overflow:hidden;}
.eam-carousel__track{display:flex;transition:transform .4s ease;}
.eam-carousel__slide{flex:0 0 33.333%;max-width:33.333%;padding:0 12px;box-sizing:border-box;}

.eam-scarousel-card{
	position:relative;height:100%;
	background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);
	padding:38px 26px 30px;text-align:left;
}
.eam-scarousel-card__badge{
	position:absolute;top:18px;left:0;
	display:inline-block;color:#fff;font-size:12px;font-weight:700;
	letter-spacing:.04em;padding:6px 16px 6px 18px;border-radius:0 999px 999px 0;
	white-space:nowrap;
}
.eam-scarousel-card__icon{width:56px;height:56px;margin:20px 0 18px;}
.eam-scarousel-card__icon img{width:100%;height:100%;object-fit:contain;}
.eam-scarousel-card__title{font-size:18px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:10px;}
.eam-scarousel-card__text{font-size:14px;line-height:1.8;color:var(--text-muted);}
.eam-scarousel-card__text p{margin:0;}

.eam-carousel__arrow{
	position:absolute;top:50%;transform:translateY(-50%);
	width:44px;height:44px;border-radius:50%;
	background:var(--surface);border:1px solid var(--bg-soft);box-shadow:var(--shadow-sm);
	display:flex;align-items:center;justify-content:center;
	font-size:18px;color:var(--ink);cursor:pointer;
	transition:background .2s ease,opacity .2s ease;
}
.eam-carousel__arrow:hover{background:var(--bg-faint);}
.eam-carousel__arrow:disabled{opacity:.35;cursor:default;}
.eam-carousel__arrow--prev{left:0;}
.eam-carousel__arrow--next{right:0;}

.eam-carousel__dots{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:24px;}
.eam-carousel__dot{width:8px;height:8px;border-radius:50%;background:#454545;border:none;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.eam-carousel__dot.is-active{background:var(--ink);transform:scale(1.2);}

@media (max-width:900px){
	.eam-carousel__slide{flex:0 0 50%;max-width:50%;}
}
@media (max-width:600px){
	.eam-carousel{padding:0 40px;}
	.eam-carousel__slide{flex:0 0 100%;max-width:100%;}
	.eam-carousel__arrow{width:36px;height:36px;font-size:15px;}
}

/* ============================================================
   一覧（アーカイブ・検索・index）／投稿詳細／404
   ============================================================ */
.eam-entry{margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--bg-soft);}
.eam-archive .eam-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.eam-entry__title{font-size:20px;font-weight:700;line-height:1.5;margin-bottom:8px;}
.eam-entry__title a{color:var(--ink);}
.eam-entry__title a:hover{color:var(--pink);}
.eam-entry__meta{font-size:12px;color:var(--text-muted);letter-spacing:.06em;margin-bottom:10px;}
.eam-entry__content{font-size:15px;line-height:1.9;}

.eam-single__meta{font-size:12px;color:var(--text-muted);letter-spacing:.08em;margin-bottom:22px;}
.eam-single__cat{margin-left:12px;}
.eam-single__cat a{color:var(--pink);}

.eam-postnav{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--bg-soft);font-size:13px;}
.eam-postnav a{color:var(--pink);}
.eam-postnav__next{margin-left:auto;text-align:right;}

.eam-noposts{font-size:15px;line-height:1.9;color:var(--ink);}

.eam-404{text-align:center;}
.eam-404__text{font-size:15px;line-height:2;margin-bottom:28px;}
.eam-404__btn{margin-bottom:8px;}
.eam-404__search{max-width:420px;margin:28px auto 0;}

/* 検索フォーム */
.eam-searchform{margin-bottom:32px;}
.eam-searchform .search-form,
.eam-searchform form{display:flex;gap:10px;flex-wrap:wrap;}
.eam-searchform .search-field,
.eam-searchform input[type="search"],
.eam-searchform input[type="text"]{
	flex:1 1 200px;min-width:0;padding:12px 16px;border:1px solid var(--bg-soft);border-radius:6px;font-size:14px;color:var(--ink);
	background:var(--surface);
}
.eam-searchform .search-field:focus,
.eam-searchform input[type="search"]:focus{outline:2px solid var(--pink-bright);border-color:var(--pink-bright);}
.eam-searchform .search-submit,
.eam-searchform input[type="submit"],
.eam-searchform button[type="submit"]{
	background:var(--pink);color:#171310;border:none;border-radius:6px;
	padding:12px 26px;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;
}
.eam-searchform .search-submit:hover{background:var(--pink-deep);}

/* ページネーション */
.eam-pagination{margin-top:34px;text-align:center;}
.eam-pagination .nav-links{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.eam-pagination a,
.eam-pagination .current,
.eam-pagination .page-numbers{
	padding:8px 14px;border:1px solid var(--bg-soft);border-radius:6px;display:inline-block;
	font-size:13px;color:var(--ink);text-decoration:none;
}
.eam-pagination a:hover{background:var(--bg-faint);}
.eam-pagination .current{background:var(--pink);color:#171310;border-color:var(--pink);}

/* ---- 下層ページ レスポンシブ ---- */
@media (max-width:768px){
	.eam-pagehero{padding:128px 0 48px;}
	.eam-pagebody{padding:48px 0;}
	.eam-page .eam-prose{font-size:15px;}
	.eam-page .eam-prose h2{margin-top:1.9em;}
	.eam-page .eam-prose table{width:auto;min-width:100%;white-space:nowrap;}
	.eam-postnav{flex-direction:column;}
	.eam-postnav__next{margin-left:0;text-align:left;}
}

/* ヘッダーナビ→ハンバーガー切替えは、項目数が多く窮屈になりやすいため
   900pxより広い1080pxを基準にする（他のレイアウト調整とは別のブレークポイント） */
@media (max-width:1080px){
	.eam-nav,.eam-header__cta{display:none;}
	.eam-burger{display:flex;}
	.eam-mobile-nav{display:flex;}
}

/* ============================================================
   レスポンシブ：タブレット 〜900px
   ============================================================ */
@media (max-width:900px){
	.eam-container{padding-inline:24px;}

	.eam-about{padding:64px 0;}
	.eam-about__grid{grid-template-columns:1fr;gap:32px;}
	.eam-about__cards{grid-template-columns:1fr 1fr;}

	.eam-concept{min-height:440px;}
	.eam-concept__inner{padding:50px 30px;}

	.eam-menu{grid-template-columns:1fr;}
	.eam-menu__inner{padding:50px 30px;}
	.eam-menu__media{height:340px;}

	.eam-strength__grid{grid-template-columns:1fr 1fr;gap:24px 14px;}
	.eam-strength__head{grid-column:1 / -1;padding:0;text-align:center;}
	.eam-scard{border-left:none;border-top:1px solid var(--bg-soft);padding-top:22px;}

	.eam-ba__head{display:flex !important;flex-direction:column !important;align-items:flex-start;gap:8px;margin-bottom:24px;}
	.eam-ba__btn{margin-top:4px;}
	.eam-bacard__img{height:auto;}

	.eam-artist__grid{grid-template-columns:1fr;}
	.eam-artist__media{min-height:380px;}
	.eam-voice__grid{grid-template-columns:1fr;}

	.eam-flow__steps{grid-template-columns:1fr;gap:24px;}
	.eam-step:not(:last-child)::after{display:none;}
	.eam-step{display:grid;grid-template-columns:54px 50px 1fr;align-items:center;text-align:left;gap:12px;}
	.eam-step__icon{margin:0;}
	.eam-step__num{margin:0;}
	.eam-step__title{grid-column:3;}
	.eam-step__text{grid-column:3;}

	.eam-faq__head{display:flex !important;flex-direction:column !important;align-items:flex-start;gap:8px;margin-bottom:24px;}
	.eam-faq__btn{margin-top:4px;}
	.eam-faq__cols{grid-template-columns:1fr;}

	.eam-access__grid{grid-template-columns:1fr;gap:30px;}

	.eam-footer__inner{grid-template-columns:1fr;gap:28px;}

	.eam-bottomcta__inner{flex-direction:column;text-align:center;}
}

/* ============================================================
   レスポンシブ：スマホ 〜600px（Hero画像必ず表示）
   ============================================================ */
@media (max-width:600px){
	body{font-size:15px;}
	.eam-container{padding-inline:18px;}

	.eam-about__cards{grid-template-columns:1fr;}

	.eam-strength__grid{grid-template-columns:1fr;}
	.eam-scard{display:grid;grid-template-columns:48px 1fr;align-items:center;text-align:left;gap:12px;}
	.eam-scard__icon{margin:0;}
	.eam-scard__en{grid-column:2;margin:0;}
	.eam-scard__text{grid-column:2;}

	.eam-menu__media{height:260px;}
	.eam-menu__script{font-size:26px;left:20px;bottom:24px;}

	.eam-access__map iframe,.eam-access__map-ph{min-height:260px;height:260px;}

	/* 固定CTA：下部横長 */
	.eam-fixed-cta{
		left:12px;right:12px;bottom:12px;justify-content:center;
		border-radius:10px;padding:15px;
	}
}

/* ============================================================
   アクセシビリティ
   ============================================================ */
a:focus-visible,button:focus-visible,summary:focus-visible{
	outline:3px solid var(--pink-deep);outline-offset:2px;border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
	*{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}



/* ============================================================
スマホ・タブレット ハンバーガー＆モバイルナビ修正
============================================================ */

/* スクロール後のハンバーガーボタンを確実に表示 */
@media (max-width:900px){
  /* is-scrolled時もハンバーガーを表示 */
  .eam-header.is-scrolled .eam-burger{
    display:flex;
  }
  /* モバイルナビはヘッダーより前面に表示 */
  .eam-mobile-nav{
    z-index:300;
  }
}

/* メニュー表示中はヘッダーバーを隠す（ヘッダー側の閉じるボタンとメニュー内の
   閉じる（×）ボタンが同じ位置に二重表示されるのを防ぐ） */
body.eam-noscroll .eam-header{
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

/* ============================================================
モバイルナビ 閉じる（×）ボタン
============================================================ */
.eam-mobile-close{
  display:block;
  position:absolute;
  top:24px;
  right:24px;
  width:44px;
  height:44px;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:28px;
  color:var(--white);
  line-height:1;
  z-index:10;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.9;
  transition:opacity .2s;
}
.eam-mobile-close:hover{
  opacity:1;
}

/* ============================================================
   8アートメイクスクール 原稿用 追加スタイル
   ※ TOP（front-page）専用クラスのみ。下層ページ(.eam-page)には影響しない。
   ============================================================ */

/* ABOUT：悩みチェックリスト */
.eam-checklist{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;}
.eam-checkitem{
	position:relative;
	background:linear-gradient(180deg,#ffffff,#f6f5f3);
	border:1px solid #e8e4de;border-radius:10px;
	padding:15px 18px 15px 48px;font-size:18px;line-height:1.8;font-weight:500;
	color:#2a2622;
	box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.eam-checkitem::before{
	content:"\2713";position:absolute;left:15px;top:14px;
	width:22px;height:22px;border-radius:50%;background:var(--pink);color:#ffffff;
	font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;
	animation:eamQaGlow 2.6s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){
	.eam-checkitem::before{animation:none;}
}

/* COURSE：2コース */
.eam-courses{background:#ffffff;padding:88px 0;color:#2a2622;}
.eam-courses .eam-eyebrow,
.eam-courses .eam-h2{color:#171310;}
.eam-courses__head{text-align:center;margin-bottom:42px;}
.eam-courses__grid{display:grid !important;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;}
.eam-coursecard{
	display:flex;flex-direction:column;
	background:#f6f5f3;border:1px solid #e8e4de;border-radius:16px;
	padding:34px 30px;box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.eam-coursecard--main{border:2px solid var(--pink);}
.eam-coursecard__badge{
	align-self:flex-start;background:#c9a96a;color:#171310;
	font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.04em;
	padding:5px 16px;border-radius:999px;margin-bottom:16px;
}
.eam-coursecard__name{font-size:20px;font-weight:700;line-height:1.4;color:#171310;margin-bottom:8px;}
.eam-coursecard__desc{font-size:15px;line-height:1.7;color:#5a544c;margin-bottom:16px;}
.eam-coursecard__price{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--pink);line-height:1;margin-bottom:20px;}
.eam-coursecard__price span{font-family:var(--sans);font-size:14px;color:#5a544c;font-weight:500;margin-left:4px;}
.eam-coursecard__list{display:flex !important;flex-direction:column;gap:10px;margin:0 0 20px;padding:20px 0 0;border-top:1px solid #e8e4de;list-style:none !important;}
.eam-coursecard__list li{position:relative;padding-left:20px;font-size:15px;line-height:1.6;}
.eam-coursecard__list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--pink-bright);}
.eam-coursecard__for{margin-top:auto;background:#eeece7;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.7;color:#5a544c;}
.eam-coursecard__for span{display:block;font-weight:700;color:var(--pink);margin-bottom:4px;}
.eam-courses__note{margin:28px auto 0;max-width:920px;background:#f6f5f3;border:1px dashed #e8e4de;border-radius:12px;padding:18px 22px;font-size:14px;line-height:1.85;color:#5a544c;}
.eam-courses__note strong{display:block;color:var(--pink);margin-bottom:6px;}
.eam-courses__btnwrap{text-align:center;margin-top:32px;}

/* TOPページ：各セクション末尾のボタン（カスタマイザー「TOPページ：セクション別ボタン」で設定） */
.eam-section-btn{margin-top:24px;}
.eam-section-btn--center{text-align:center;margin-top:32px;}

/* WHY：6つの理由 */
.eam-reasons__head{text-align:center;margin-bottom:42px;}
.eam-reasons__grid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:22px;}
.eam-rcard{background:var(--surface);border:1px solid var(--bg-soft);border-radius:14px;padding:28px 24px;box-shadow:var(--shadow-sm);}
.eam-rcard__num{display:inline-block;font-family:var(--serif);font-size:30px;font-weight:700;color:#ffffff;line-height:1;margin-bottom:14px;}
.eam-rcard__num::before{content:"No.";font-size:13px;margin-right:2px;}
.eam-rcard__title{font-size:17px;font-weight:700;line-height:1.5;color:var(--ink);margin-bottom:12px;}
.eam-rcard__text{font-size:15px;line-height:1.85;}

/* 卒業生実績テーブル（VOICEスライダーの各カード内で使用） */
.eam-gradcard__table{width:100%;border-collapse:collapse;font-size:14px;}
.eam-gradcard__table th,.eam-gradcard__table td{border:1px solid #e8e4de;padding:9px 10px;text-align:center;line-height:1.5;}
.eam-gradcard__table thead th{background:#eeece7;color:#171310;font-weight:700;font-size:12px;}
.eam-gradcard__table tbody th{background:#f6f5f3;color:#8a8078;font-weight:700;text-align:left;white-space:nowrap;}
.eam-gradcard__table td{color:#2a2622;}
.eam-gradcard__table td.is-after{color:var(--pink);font-weight:700;}

/* VOICE：受講生の声スライダー（#01〜#03、卒業生実績データを再利用）
   中央のカードを大きく、両隣は半分ほどちら見せする「センター強調」型、
   常に左右どちらへも無限ループでめくれる（main.js の initPeekCarousel が担当） */
.eam-voice__carousel{max-width:1320px;margin-inline:auto;padding:0 54px;}
.eam-voice__carousel .eam-carousel__viewport{overflow:hidden;}
.eam-voice__carousel .eam-carousel__track{transition:transform .4s ease;}
.eam-voice__carousel .eam-carousel__slide{
	flex:0 0 auto;
	width:800px;
	max-width:86%;
	padding:0 12px;
	box-sizing:border-box;
	opacity:.35;
	transform:scale(.9);
	transition:opacity .4s ease, transform .4s ease;
}
.eam-voice__carousel .eam-carousel__slide.is-active{
	opacity:1;
	transform:scale(1);
}
.eam-voicecard{
	background:#f6f5f3;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);
	padding:34px 32px;
}
.eam-voicecard__name{font-size:16px;font-weight:700;color:#171310;line-height:1.6;margin-bottom:18px;}
.eam-voicecard__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:20px;}
.eam-voicecard__story{margin:0;font-size:14px;line-height:2;color:#2a2622;}
@media (max-width:600px){
	.eam-voice__carousel{padding:0 30px;}
	.eam-voice__carousel .eam-carousel__slide{width:88%;padding:0 6px;}
	.eam-voicecard{padding:26px 22px;}
}

/* FLOW：6ステップ（3列×2段） */
.eam-flow__steps--6{grid-template-columns:repeat(3,1fr);gap:28px 18px;}
.eam-flow__steps--6 .eam-step:not(:last-child)::after{display:none;}
.eam-flow__steps--6 .eam-step__text{font-size:13px;line-height:1.75;}

/* VOICE：掲載準備中（旧・未使用） */
.eam-voice__placeholder{
	background:var(--surface);border:1px dashed var(--bg-soft);border-radius:12px;
	padding:48px 20px;text-align:center;color:var(--text-muted);font-size:14px;letter-spacing:.08em;
}

/* 新セクション レスポンシブ */
@media (max-width:900px){
	.eam-courses{padding:64px 0;}
	.eam-courses__grid{grid-template-columns:1fr;}
	.eam-reasons__grid{grid-template-columns:1fr 1fr;}
	.eam-flow__steps--6{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:600px){
	.eam-reasons__grid{grid-template-columns:1fr;}
	.eam-coursecard{padding:26px 22px;}
}

/* ============================================================
 * ロゴ：サイズ調整
 * ============================================================ */
.eam-header__brand img,
.custom-logo-link img{max-height:40px;width:auto;height:auto;display:block;}


/* ============================================================
 * 固定ページ：フルワイドブロック
 * グループブロックでスタイルを選ぶだけで自動的に全幅になります。
 * 「全幅」配置に手動設定する必要はありません。
 * ============================================================ */

/* ページ本体の横はみ出しを隠す（全幅ブロックに必要） */
.eam-page{overflow-x:hidden;}

/* eam-full-* スタイル共通：自動で全幅に突き抜ける */
.eam-page .eam-prose .wp-block-group[class*="is-style-eam-full"]{
	position:relative;
	left:50%;
	margin-left:-50vw;
	width:100vw;
	max-width:100vw;
	box-sizing:border-box;
	padding-top:60px;
	padding-bottom:60px;
	padding-left:clamp(20px, 5vw, 80px);
	padding-right:clamp(20px, 5vw, 80px);
}
/* 中のコンテンツは最大幅960pxで中央寄せ。
   グループブロックにレイアウト種類が指定されていない場合、WordPressが中身を
   <div class="wp-block-group__inner-container"> でもう1段包むことがあり（別件で
   display:contentsにして無効化している）、その場合は直下の要素ではなく
   さらにその中の要素が実質のコンテンツになるため、両方のパターンに対応する */
.eam-page .eam-prose .wp-block-group[class*="is-style-eam-full"] > *,
.eam-page .eam-prose .wp-block-group[class*="is-style-eam-full"] > .wp-block-group__inner-container > *{
	max-width:960px;margin-left:auto;margin-right:auto;
}

/* テーマカラー背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand{
	background:var(--pink);color:#171310;
}
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h1,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h2,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h3,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h4,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h5,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand h6,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand strong,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand b{
	color:#171310 !important;
}
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand::after{content:none;}

/* テーマカラー薄め背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-brand-light{
	background:var(--bg-faint);color:var(--ink);
}

/* ダーク背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark{
	background:#111111;color:#ffffff;
}
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h1,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h2,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h3,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h4,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h5,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark h6,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark strong,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark b{
	color:#ffffff !important;
}
.eam-page .eam-prose .wp-block-group.is-style-eam-full-dark a{color:var(--pink-bright);}

/* ライトグレー背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-light{
	background:#eeece7;color:#2a2622;
}

/* ホワイト背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-white{
	background:#ffffff;color:#2a2622;
}

/* グラデーション背景（フル幅） */
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient{
	background:linear-gradient(135deg,var(--pink) 0%,var(--pink-bright) 100%);
	color:#171310;
}
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h1,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h2,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h3,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h4,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h5,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient h6,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient strong,
.eam-page .eam-prose .wp-block-group.is-style-eam-full-gradient b{
	color:#171310 !important;
}

/* ============================================================
 * 固定ページ用パターン化されたTOPセクション
 * （WHY / COURSE / Before-After / CONCEPT / FLOW）は、TOPページでは
 * <main>直下に置かれる前提で全幅デザインになっているため、固定ページの
 * 本文（幅が制限された.eam-prose内）に挿入されたときも同じように
 * 画面いっぱいに突き抜けるようにする。VOICE（.eam-voice）は単体で
 * 全幅breakoutを持っているためここでは対象外。
 * ============================================================ */
.eam-page .eam-prose .eam-strength,
.eam-page .eam-prose .eam-courses,
.eam-page .eam-prose .eam-ba,
.eam-page .eam-prose .eam-concept,
.eam-page .eam-prose .eam-flow,
.eam-page .eam-prose .eam-section-head,
.eam-page .eam-prose .eam-section-head-dark,
.eam-page .eam-prose .eam-section-head-white,
.eam-page .eam-prose .eam-reservebanner{
	position:relative;
	left:50%;
	margin-left:-50vw;
	width:100vw;
	max-width:100vw;
	box-sizing:border-box;
}

/* 予約バナー（eam/reservation-banner）：背景画像フルブリード＋中央寄せテキスト＋ボタン */
.eam-reservebanner{
	position:relative;min-height:420px;
	display:flex;align-items:center;justify-content:center;
	overflow:hidden;text-align:center;
}
.eam-reservebanner__media{position:absolute;inset:0;}
.eam-reservebanner__media img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover;display:block;margin:0;max-width:none;}
.eam-reservebanner__media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);}
.eam-reservebanner__panel{position:relative !important;z-index:2 !important;padding:60px 24px;max-width:640px;margin:0 auto;}
.eam-reservebanner__label{display:block;font-family:var(--sans);font-weight:700;letter-spacing:.26em;font-size:13px;text-transform:uppercase;color:#ffffff;margin-bottom:14px;}
/* 環境によって wp:paragraph のカスタムclassNameが保存時に落ちることがあるため、
   クラスに頼らず「パネル内の最初の段落＝ラベル」という位置関係でも同じ見た目になるようにする */
.eam-reservebanner__panel p:first-of-type{
	display:block;font-family:var(--sans);font-weight:700;letter-spacing:.26em;
	font-size:13px;text-transform:uppercase;color:#ffffff !important;margin-bottom:14px;
}
.eam-page .eam-prose .eam-reservebanner__title{
	color:#ffffff !important;font-family:var(--sans);font-weight:700;
	font-size:clamp(28px,3.4vw,48px);line-height:1.25;letter-spacing:.04em;
	text-shadow:0 4px 20px rgba(0,0,0,.5);margin:0 0 24px;padding-bottom:20px;
}
/* ビアンカクリニック参考：見出し下の白い区切り線（本文用h2::afterのゴールドを上書き） */
.eam-page .eam-prose .eam-reservebanner__title::after{
	left:50%;right:auto;
	transform:translateX(-50%);
	width:56px;
	background:rgba(255,255,255,.85);
}
.eam-reservebanner__badge{
	display:inline-block;border:1px solid #ffffff;color:#ffffff;
	font-size:16px;padding:8px 22px;border-radius:2px;margin:0 0 24px;
}
.eam-reservebanner .wp-block-buttons{justify-content:center;}

/* 見出し（太字幾何学サンセリフ英字＋サブタイトル）パターン（eam/gradient-heading）
   文字色は白背景＝黒／黒背景＝白を想定した固定色（黒がデフォルト）。
   見出しブロックを選択し、右サイドバーの「色」→「テキスト」から白に変更すれば、
   黒背景セクションに置いたときもそのまま読める配色に切り替えられる */
.eam-gradient-head{text-align:center;padding:40px 24px 8px;}
.eam-page .eam-prose .eam-gradient-head .eam-gradient-title{
	font-family:'Poppins',var(--sans);
	font-weight:800;
	font-size:clamp(36px,6vw,64px);
	letter-spacing:.02em;
	text-transform:uppercase;
	line-height:1.2;
	margin:0 0 16px;
	padding-bottom:0;
	color:#171310;
}
.eam-page .eam-prose .eam-gradient-head .eam-gradient-title::after{content:none !important;}
.eam-gradient-subtitle{
	font-family:var(--sans);
	font-size:16px;
	font-weight:500;
	color:#4a5568;
	letter-spacing:.02em;
	margin-bottom:0;
}
/* 環境によってwp:paragraph／wp:headingのカスタムclassNameが保存時に落ちることがあるため、
   クラスに頼らず「見出しブロック内の位置関係」でも同じ見た目になるようにする */
.eam-page .eam-prose .eam-gradient-head h2{
	font-family:'Poppins',var(--sans);font-weight:800;
	font-size:clamp(36px,6vw,64px);letter-spacing:.02em;text-transform:uppercase;
	line-height:1.2;margin:0 0 16px;padding-bottom:0;
	color:#171310;
}
.eam-page .eam-prose .eam-gradient-head h2::after{content:none !important;}
.eam-gradient-head p:first-of-type{
	font-family:var(--sans);font-size:16px;font-weight:500;color:#4a5568;letter-spacing:.02em;
	margin-bottom:0;
}

/* セクション見出し（透過・本文入り）パターン専用：背景色は指定せず、
   ページ本体の背景（白）をそのまま透かす。他の2パターンと横幅を揃えるための余白のみ付与 */
.eam-section-head{
	padding:74px 0;
}
/* セクション見出し（ダーク背景）パターン専用：FLOWと同じ黒グラデーション背景 */
.eam-section-head-dark{
	background:linear-gradient(120deg,#141414,#1c1c1c);
	padding:74px 0;
}
/* セクション見出し（白背景）パターン専用：COURSE等と同じ白背景 */
.eam-section-head-white{
	background:#ffffff;
	padding:74px 0;
}
/* ダーク背景パターン内の本文は白文字にする（そのままだと本文は基本の黒文字を継承してしまうため） */
.eam-page .eam-prose .eam-section-head-dark p:not(.eam-eyebrow){
	color:rgba(255,255,255,.85);
}

/* グループブロックに「レイアウトタイプ」が指定されていない場合、
   WordPressは中身を <div class="wp-block-group__inner-container"> でもう1段
   包んでしまうことがある（サイト側のWordPress/ブロックエディターの挙動）。
   このラッパーが挟まると、display:grid / flex の対象が「本来並べたいカード」
   ではなく「ラッパーdiv1個」になってしまい、カードが縦積みで崩れて見える。
   ラッパー自体を display:contents にして無かったことにし、
   その中の要素が親（.eam-courses__grid 等）に直接並ぶようにする。 */
.eam-page .eam-prose .wp-block-group__inner-container{
	display:contents;
}

/* エディター内でもプレビュー表示（editor-style用） */
.editor-styles-wrapper .wp-block-group.is-style-eam-full-brand{background:var(--pink,#c9a96a);color:#171310;padding:40px 20px;}
.editor-styles-wrapper .wp-block-group.is-style-eam-full-brand-light{background:#f6f5f3;color:#2a2622;padding:40px 20px;}
.editor-styles-wrapper .wp-block-group.is-style-eam-full-dark{background:#111;color:#fff;padding:40px 20px;}
.editor-styles-wrapper .wp-block-group.is-style-eam-full-light{background:#eeece7;color:#2a2622;padding:40px 20px;}
.editor-styles-wrapper .wp-block-group.is-style-eam-full-white{background:#ffffff;color:#2a2622;padding:40px 20px;border:1px solid #e8e4de;}
.editor-styles-wrapper .wp-block-group.is-style-eam-full-gradient{background:linear-gradient(135deg,#c9a96a,#ddc48f);color:#171310;padding:40px 20px;}

/* ============================================================
   セクション背景（装飾配置の基準となる position:relative）
   ============================================================ */
.eam-about,.eam-concept,.eam-courses,.eam-strength,.eam-ba,.eam-artist,.eam-voice,.eam-flow,.eam-faq,.eam-access,.eam-bottomcta{
	position:relative;
}

/* ============================================================
   Q&Aブロック（Swellの「Q&A」ブロックのような質問・回答セット）
   固定ページのブロックエディターで挿入する eam/qa-block パターン用。
   汎用タグではなく eam-qa- 接頭辞のクラスのみを使うため、
   フロント表示にもブロックエディター内プレビューにもそのまま適用される。
   ============================================================ */
.eam-qa-block{
	display:flex;flex-direction:column;
	margin:1.8em 0;
	border:1px solid #333;
	border-radius:12px;
	overflow:hidden;
	background:#171310;
}
/* WordPressコアの .wp-block-group.is-layout-flow（グループブロックの既定レイアウト）や
   .is-layout-flex 側の詳細度に負けないよう、詳細度を最大限上げて確実に横並びにする */
.eam-qa-block.eam-qa-block .eam-qa-block__row.eam-qa-block__row{
	display:flex !important;
	flex-direction:row !important;
	flex-wrap:nowrap !important;
	align-items:flex-start !important;
	gap:16px;
	padding:20px 22px;
	margin:0;
}
.eam-qa-block__row--q{
	border-bottom:1px dashed #3a3a3a;
	position:relative;
	padding-right:56px;
	cursor:pointer;
}
.eam-qa-block__row--q::after{
	content:"+";
	position:absolute;
	right:22px;top:18px;
	font-size:22px;
	font-weight:300;
	line-height:1;
	color:#eeece7;
	transition:transform .25s ease;
}
.eam-qa-block.is-open .eam-qa-block__row--q::after{
	transform:rotate(45deg);
}
.eam-qa-block__row--a{
	background:#1c1c1c;
	overflow:hidden;
	max-height:0;
	transition:max-height .3s ease, padding .3s ease;
}
.eam-qa-block.eam-qa-block .eam-qa-block__row--a.eam-qa-block__row--a{
	padding-top:0 !important;
	padding-bottom:0 !important;
}
.eam-qa-block.is-open.eam-qa-block.is-open .eam-qa-block__row--a.eam-qa-block__row--a{
	padding-top:20px !important;
	padding-bottom:20px !important;
}
.eam-qa-block__badge{
	flex:0 0 auto;
	width:32px;height:32px;
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-family:var(--heading);
	font-weight:700;
	font-size:16px;
	line-height:1;
	margin:0;
}
.eam-qa-block__row--q .eam-qa-block__badge{
	position:relative;
	overflow:hidden;
	background:#ffffff;
	color:#171310;
	animation:eamQaGlow 2.6s ease-in-out infinite;
}
.eam-qa-block__row--q .eam-qa-block__badge::after{
	content:"";
	position:absolute;
	top:-60%;left:-60%;
	width:40%;height:220%;
	background:rgba(255,255,255,.9);
	transform:rotate(25deg);
	animation:eamQaShine 3.2s ease-in-out infinite;
}
@keyframes eamQaGlow{
	0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.4);}
	50%{box-shadow:0 0 12px 4px rgba(255,255,255,.4);}
}
@keyframes eamQaShine{
	0%{left:-60%;}
	22%{left:130%;}
	100%{left:130%;}
}
@media (prefers-reduced-motion:reduce){
	.eam-qa-block__row--q .eam-qa-block__badge,
	.eam-qa-block__row--q .eam-qa-block__badge::after{
		animation:none;
	}
}
.eam-qa-block__row--a .eam-qa-block__badge{
	background:transparent;
	border:2px solid #eeece7;
	color:#eeece7;
}
.eam-qa-block__content{
	flex:1 1 auto;
	min-width:0;
	padding-top:4px;
}
.eam-qa-block__text{
	margin:0 0 1em;
	font-size:15px;
	line-height:1.9;
	color:#eeece7;
}
.eam-qa-block__text:last-child{
	margin-bottom:0;
}
.eam-qa-block__row--q .eam-qa-block__text{
	font-weight:700;
}

/* ============================================================
   症例写真スライダー（固定ページ用パターン：eam/case-slider）
   TOPページの Before/After と同じカルーセル（.eam-carousel--loop）を
   固定ページの本文でも使えるようにしたもの。
   ============================================================ */
/* .eam-casecard は figure.wp-block-image 自身に付く（画像ブロック＝スライド1枚） */
.eam-casecard{margin:0;}
.eam-page .eam-prose .eam-casecard img,
.eam-casecard img{
	display:block;width:100%;
	aspect-ratio:1 / 1;object-fit:cover;
	border-radius:8px;
	box-shadow:var(--shadow-sm);
}

/* ============================================================
   固定ページ本文エリア：読みやすさ優先でライト配色に戻す
   ページ上部の .eam-pagehero（バナー）・.eam-breadcrumb はダークのまま。
   本文（.eam-pagebody / .eam-page .eam-prose 以下）と、投稿一覧・検索・
   404はここでライト配色に上書きする。ページ内で黒・グレーの帯を使いたい
   場合は、グループブロックのスタイルから
   「ホワイト／ライトグレー／ブラック背景（フル幅）」を選んで挿入できる。
   ============================================================ */
.eam-pagebody{background:#ffffff;}
.eam-page .eam-prose{color:#2a2622;}
.eam-page .eam-prose h2,
.eam-page .eam-prose h3,
.eam-page .eam-prose h5,
.eam-page .eam-prose h6,
.eam-page .eam-prose strong,
.eam-page .eam-prose b{color:#2a2622;}
/* .eam-eyebrow は元々var(--ink)（ダーク背景前提の色）のため、そのままだと
   固定ページ（白背景）で見出しパターン単体を挿入したときに白文字＝見えなくなる。
   個別セクションのクラス（.eam-voice .eam-eyebrow 等）が無い場所でも
   読める色をデフォルトにしておく */
.eam-page .eam-prose .eam-eyebrow{color:#171310;}
/* ただし --light 修飾（CONCEPT等、暗い背景画像に重ねる用）は白のまま維持する */
.eam-page .eam-prose .eam-eyebrow.eam-eyebrow--light{color:rgba(255,255,255,.85) !important;}
.eam-page .eam-prose .eam-h2--light{color:#ffffff !important;}
.eam-page .eam-prose mark{background:#eeece7;color:var(--pink-deep);}
.eam-page .eam-prose blockquote{background:#f6f5f3;color:#8a8078;}
.eam-page .eam-prose figcaption{color:#8a8078;}
.eam-page .eam-prose p > img,
.eam-page .eam-prose figure img,
.eam-page .eam-prose .wp-block-image img{box-shadow:0 4px 14px rgba(0,0,0,.08);}
.eam-page .eam-prose table{background:#ffffff;}
.eam-page .eam-prose th,
.eam-page .eam-prose td{border-color:#e8e4de;}
.eam-page .eam-prose th{background:#f6f5f3;color:#2a2622;}
.eam-page .eam-prose hr,
.eam-page .eam-prose .wp-block-separator{border-top-color:#e8e4de;}
.eam-page .eam-prose code,
.eam-page .eam-prose pre{background:#f6f5f3;color:#2a2622;}

.eam-entry{border-bottom-color:#e8e4de;}
.eam-entry__title a{color:#2a2622;}
.eam-entry__meta{color:#8a8078;}
.eam-entry__content{color:#2a2622;}
.eam-single__meta{color:#8a8078;}
.eam-postnav{border-top-color:#e8e4de;}
.eam-noposts{color:#2a2622;}
.eam-searchform .search-field,
.eam-searchform input[type="search"],
.eam-searchform input[type="text"]{background:#ffffff;color:#2a2622;border-color:#e8e4de;}
.eam-pagination a,
.eam-pagination .current,
.eam-pagination .page-numbers{color:#2a2622;border-color:#e8e4de;}
.eam-pagination a:hover{background:#f6f5f3;}
