/*
Theme Name: SWELL CHILD (女性専用風俗.com)
Template: swell
Description: 女性専用風俗.com 用 SWELL 子テーマ。B案（黒アクセント）。親テーマ SWELL は改変しない。クラス接頭辞 me-
Version: 0.1.0
Text Domain: swell_child_media
*/

/* ============================================================
   トークン（B案）
   ============================================================ */
:root {
	--me-bg: #F7E9EC;
	--me-bg-head: #FBF1F2;
	--me-card: #FFFAF9;
	--me-line: #EBD8DC;
	--me-line2: #E6CFD4;
	--me-text: #3A1B26;
	--me-text2: #5A3341;
	--me-text3: #7A5A66;
	--me-wine: #6E1A35;
	--me-wine-deep: #4A1224;
	--me-black: #1A1214;
	--me-gold: #B8935A;
	--me-gold-light: #E8D3A3;
	--me-gold-mid: #D9BC85;
	--me-serif: 'Shippori Mincho', 'Yu Mincho', 'Hiragino Mincho ProN', 'BIZ UDMincho', serif;
	--me-sans: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

/* ============================================================
   基本
   ============================================================ */
html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
.home .c-pageTitle, .home .l-topTitleArea, .home .c-postTitle { display: none; }
body {
	font-family: var(--me-sans);
	color: var(--me-text);
	background: var(--me-bg);
	line-height: 1.9;
}
a { color: var(--me-wine); text-decoration: none; }
a:hover { color: var(--me-black); }
.post_content, .l-mainContent { font-family: var(--me-sans); }
h1, h2, h3, h4, .c-postTitle__ttl, .c-pageTitle, .c-widget__title, .p-postList__title {
	font-family: var(--me-serif);
	color: var(--me-black);
}

/* 本文領域の h2（左に太い黒線＋下にゴールドの細線） */
.post_content h2:not(.faq_q):not(.me-plain),
.post_content > h2.wp-block-heading {
	font-family: var(--me-serif);
	font-size: 1.7em;
	font-weight: 700;
	color: var(--me-black) !important;
	background: none !important;
	border: 0 !important;
	border-left: 6px solid var(--me-black) !important;
	border-bottom: 1px solid var(--me-gold) !important;
	border-radius: 0 !important;
	padding: .15em 0 .4em .6em !important;
	margin: 2.6em 0 .8em !important;
}
.post_content h2:not(.faq_q):not(.me-plain)::before,
.post_content h2:not(.faq_q):not(.me-plain)::after { display: none !important; }
.post_content h3:not(.me-plain) {
	font-family: var(--me-serif);
	font-weight: 700;
	color: var(--me-black);
	background: none !important;
	border: 0 !important;
	border-left: 3px solid var(--me-gold) !important;
	padding: .1em 0 .1em .7em !important;
}
.post_content h3:not(.me-plain)::before,
.post_content h3:not(.me-plain)::after { display: none !important; }
.post_content p { margin: 0 0 1.1em; }

/* ============================================================
   最上部の「18歳以上」の帯（全ページ）
   ============================================================ */
.me-agebar {
	background: var(--me-wine-deep);
	color: #F3E3C3;
	font-size: 13px;
	padding: 8px 24px;
	text-align: center;
	letter-spacing: .04em;
	line-height: 1.6;
	font-family: var(--me-sans);
}

/* ============================================================
   年齢の重ね表示（本文を隠さない。画面下の帯。背景の幕なし）
   ============================================================ */
.me-agegate {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9999;
	background: var(--me-black);
	color: #FFF8F0;
	border-top: 1px solid var(--me-gold);
	box-shadow: 0 -8px 24px rgba(26, 18, 20, .28);
	padding: 14px 20px;
	display: none;
	font-family: var(--me-sans);
}
.me-agegate.is-open { display: block; }
.me-agegate__in {
	max-width: 1200px; margin: 0 auto;
	display: flex; flex-wrap: wrap; gap: 12px 24px;
	align-items: center; justify-content: space-between;
}
.me-agegate__txt { flex: 1 1 360px; font-size: 14px; line-height: 1.7; margin: 0; color: #EBDDE0; }
.me-agegate__txt strong { color: var(--me-gold-light); font-family: var(--me-serif); font-size: 16px; }
.me-agegate__btn {
	flex: 0 0 auto; min-height: 44px; padding: 10px 28px;
	border-radius: 999px; border: 1px solid var(--me-gold);
	background: var(--me-gold-light); color: var(--me-black);
	font-weight: 700; font-size: 15px; cursor: pointer; font-family: var(--me-sans);
}
.me-agegate__btn:hover { background: var(--me-gold-mid); }
.me-agegate__btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* ============================================================
   ヘッダー・ナビ
   ============================================================ */
#header.l-header, .l-header {
	background: var(--me-bg-head);
	border-bottom: 1px solid var(--me-line2);
	box-shadow: none;
}
.c-headLogo__link, .l-header__logo a {
	font-family: var(--me-serif);
	font-weight: 700;
	color: var(--me-wine) !important;
	letter-spacing: .06em;
	display: inline-flex; align-items: center; gap: 12px;
}
.c-headLogo__link::before {
	content: "";
	flex: 0 0 34px; width: 34px; height: 34px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34' fill='none'%3E%3Ccircle cx='17' cy='17' r='15.5' stroke='%23B8935A' stroke-width='1.5'/%3E%3Cpath d='M17 8c-3 3-4 5.5-4 8a4 4 0 008 0c0-2.5-1-5-4-8z' fill='%236E1A35'/%3E%3C/svg%3E") center/contain no-repeat;
}
.c-gnav .menu-item > a, .c-gnav > .menu-item > a {
	font-weight: 500; color: var(--me-text);
}
.c-gnav .menu-item > a:hover { color: var(--me-black); }
/* 「PR agスポットへ」ボタン（メニュー項目に CSS クラス me-btn-pr を付ける） */
.c-gnav .menu-item.me-btn-pr > a,
.l-fixHeader .menu-item.me-btn-pr > a,
.c-spnav .menu-item.me-btn-pr > a,
.l-footer__nav .menu-item.me-btn-pr > a {
	background: var(--me-black) !important;
	color: var(--me-gold-light) !important;
	border: 1px solid var(--me-gold);
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 700; font-size: 14px;
	display: inline-flex; align-items: center; gap: 8px;
	min-height: 44px;
}
.me-btn-pr > a::before {
	content: "PR";
	font-size: 11px; line-height: 1.6;
	background: var(--me-gold-light); color: var(--me-black);
	border-radius: 999px; padding: 0 8px;
}
.c-gnav .menu-item.me-btn-pr > a::after { display: none !important; }
.c-gnav .menu-item.me-btn-pr { margin-left: 12px; }
/* スマホの開閉メニュー内 */
.p-spMenu { background: var(--me-bg-head); }
.p-spMenu__nav a { min-height: 44px; display: flex; align-items: center; }
.c-iconBtn { min-width: 44px; min-height: 44px; }
.c-iconBtn__icon, .c-iconBtn { color: var(--me-wine); }

/* パンくず */
#breadcrumb, .p-breadcrumb { background: transparent; font-size: 13px; color: var(--me-text3); }
.p-breadcrumb__text, .p-breadcrumb a { color: var(--me-text3); }

/* ============================================================
   記事まわり（カテゴリ札・題名・メタ）
   ============================================================ */
.c-categoryList__link, .p-articleMetas__termList .c-categoryList__link,
.c-postThumb__cat, .p-postList__cat {
	background: var(--me-black) !important;
	color: var(--me-gold-light) !important;
	border-radius: 999px !important;
	padding: 2px 14px !important;
	font-size: 12px;
}
.c-categoryList__link::before { display: none; }
.c-postTitle__ttl, .c-pageTitle {
	font-weight: 700; line-height: 1.5; color: var(--me-black);
	background: none; border: 0;
}
.c-postTitle__date, .c-postTimes, .p-articleMetas { color: var(--me-text3); font-size: 13px; }
.p-articleThumb__img { border-radius: 20px; }
.c-widget__title, .widget .c-widget__title {
	font-family: var(--me-serif);
	color: var(--me-black);
	border: 0; border-bottom: 2px solid var(--me-black);
	background: none; padding: 0 0 8px; margin-bottom: 12px;
}
.p-postList__item .p-postList__link, .c-widget .p-postList__item {
	background: var(--me-card);
}
.-type-card .p-postList__item, .p-postList.-type-card .p-postList__link {
	background: var(--me-card);
	border: 1px solid var(--me-line);
	border-radius: 16px;
	overflow: hidden;
}
.p-postList__title { font-weight: 700; line-height: 1.6; }
.c-pagination .page-numbers.current, .c-pagination .page-numbers:hover {
	background: var(--me-black); color: var(--me-gold-light);
}

/* サイドバー */
.l-sidebar .c-widget, .l-sidebar .widget {
	background: var(--me-card);
	border: 1px solid var(--me-line2);
	border-radius: 16px;
	padding: 24px;
}

/* ============================================================
   部品（ブロックパターン）
   ============================================================ */
/* バッジ「PR」 */
.me-badge {
	display: inline-block;
	background: var(--me-gold-light); color: var(--me-black);
	font-weight: 700; font-size: 12px; line-height: 1.7;
	padding: 2px 12px; border-radius: 999px; letter-spacing: .1em;
}
.me-label {
	display: inline-block;
	background: var(--me-black); color: var(--me-gold-light);
	font-size: 12px; letter-spacing: .3em; padding: 3px 16px; border-radius: 999px;
	margin: 0 0 .4em;
}

/* PR枠（黒地・金の内枠） */
.me-pr {
	position: relative;
	background: var(--me-black);
	color: #FFF8F0;
	border-radius: 20px;
	padding: 36px;
	margin: 28px 0;
}
.me-pr::before {
	content: ""; position: absolute; inset: 8px; pointer-events: none;
	border: 1px solid rgba(216, 188, 133, .7); border-radius: 14px;
}
.me-pr > * { position: relative; }
.me-pr .me-pr__tag { margin: 0 0 4px; font-size: 13px; color: var(--me-gold-light); }
.me-pr .me-pr__tag .me-badge { margin-right: 10px; }
.me-pr h2, .me-pr h3, .post_content .me-pr h3 {
	font-family: var(--me-serif); color: #FFF8F0 !important;
	border: 0 !important; padding: 0 !important; margin: 14px 0 10px !important; background: none !important;
	font-size: 23px;
}
.me-pr p { color: #EBDDE0; font-size: 14px; margin: 0 0 12px; }
.me-pr .me-pr__legal { font-size: 13px; color: var(--me-gold-mid); }
.me-pr a { color: var(--me-gold-light); }
.me-pr .wp-block-buttons { margin-top: 18px; }
.me-pr .wp-block-button__link,
.me-pr-btn .wp-block-button__link {
	background: var(--me-gold-light) !important; color: var(--me-black) !important;
	border-radius: 999px; font-weight: 700; font-size: 16px;
	padding: 14px 32px; min-height: 44px;
	box-shadow: 0 0 0 4px rgba(232, 211, 163, .25);
}
.me-pr .me-pr__note { font-size: 12px; color: #D9C9CC; margin-top: 8px; }

/* agスポットへの案内ブロック（背景写真つき。人物は後ろ姿。文字は左、人物は右に寄せ、左から黒の覆いで読みやすさを確保） */
.me-ask {
	background:
		linear-gradient(90deg, rgba(26, 18, 20, .97) 0%, rgba(26, 18, 20, .88) 46%, rgba(26, 18, 20, .38) 100%),
		url("assets/img/pr-bg.jpg") 50% 8% / cover no-repeat,
		var(--me-black);
	overflow: hidden;
}
.me-ask p { max-width: 62ch; }
@media (max-width: 640px) {
	.me-ask {
		background:
			linear-gradient(180deg, rgba(26, 18, 20, .9) 0%, rgba(26, 18, 20, .78) 55%, rgba(26, 18, 20, .6) 100%),
			url("assets/img/pr-bg.jpg") 74% 0 / cover no-repeat,
			var(--me-black);
	}
}

/* 大切なこと枠（黒の枠） */
.me-important {
	background: var(--me-card);
	border: 2px solid var(--me-black);
	border-radius: 12px;
	padding: 20px 24px;
	margin: 28px 0;
	font-size: 14px; color: var(--me-black);
}
.me-important .me-important__label {
	display: inline-block; background: var(--me-black); color: var(--me-gold-light);
	padding: 1px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; margin: 0 0 6px;
}
.me-important p:last-child { margin-bottom: 0; }

/* この記事について（開示枠） */
.me-about {
	background: var(--me-card);
	border: 1px solid var(--me-line2);
	border-left: 4px solid var(--me-black);
	border-radius: 12px;
	padding: 20px 24px;
	margin: 28px 0;
	font-size: 14px; color: var(--me-text2);
}
.me-about strong { color: var(--me-black); }
.me-about p { margin: 0 0 .4em; }
.me-about p:last-child { margin-bottom: 0; }

/* 運営者の開示 */
.me-operator {
	background: var(--me-card);
	border: 1px solid var(--me-line2);
	border-radius: 12px;
	padding: 18px 24px; margin: 32px 0;
	font-size: 13px; color: var(--me-text2);
}
.me-operator strong { color: var(--me-black); font-family: var(--me-serif); }
.me-operator p:last-child { margin-bottom: 0; }

/* 出典リスト */
.me-sources { font-size: 14px; color: var(--me-text2); padding-left: 22px; }
.me-sources li { margin-bottom: .4em; word-break: break-all; }

/* カテゴリカード */
.me-cards { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; }
.me-card {
	flex: 1 1 240px; display: block; position: relative;
	background: var(--me-card);
	border: 1px solid var(--me-line); border-radius: 16px;
	padding: 32px 28px;
	transition: box-shadow .2s;
}
.me-card:hover { box-shadow: 0 10px 30px rgba(26, 18, 20, .14); }
.me-card h3, .post_content .me-card h3 {
	font-family: var(--me-serif); font-size: 21px; color: var(--me-black) !important;
	margin: 18px 0 8px !important; border: 0 !important; padding: 0 !important; background: none !important;
}
.me-card p { margin: 0; font-size: 14px; color: var(--me-text2); }
.me-card a.me-card__link { position: absolute; inset: 0; z-index: 1; text-indent: -9999px; overflow: hidden; border-radius: 16px; }
.me-card .me-card__icon { width: 44px; height: 44px; }

/* ============================================================
   トップページ
   ============================================================ */
.me-fullbleed { width: 100vw; margin-left: calc(50% - 50vw); }
.me-hero { background: linear-gradient(180deg, var(--me-bg-head) 0%, var(--me-bg) 100%); padding: 72px 0 80px; }
.me-hero__in { max-width: 1200px; margin: 0 auto; padding: 0 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.me-hero__txt { flex: 1 1 440px; min-width: 0; }
.me-hero__vis { flex: 1 1 380px; min-width: 0; display: flex; justify-content: center; }
.me-hero h1 {
	font-family: var(--me-serif); font-weight: 700; font-size: 48px; line-height: 1.45;
	margin: 28px 0 24px; color: var(--me-black);
}
.me-hero h1 em { font-style: normal; color: var(--me-wine); }
.me-hero h1 .me-hero__pt { font-size: 1.3em; line-height: 1.2; letter-spacing: .02em; }
@media (max-width: 420px) { .me-hero h1 .me-hero__pt { font-size: 1.1em; } }
.me-hero__lead { margin: 0 0 36px; font-size: 17px; color: var(--me-text2); max-width: 520px; }
.me-hero__btns { display: flex; flex-wrap: wrap; gap: 16px; }
.me-btn, .me-btn .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
	border-radius: 999px; font-weight: 700; font-size: 16px;
}
.me-btn-main .wp-block-button__link {
	background: var(--me-black) !important; color: var(--me-gold-light) !important;
	padding: 16px 36px; border: 1px solid var(--me-black);
	box-shadow: 0 8px 20px rgba(26, 18, 20, .25);
}
.me-btn-sub .wp-block-button__link {
	background: transparent !important; color: var(--me-wine) !important;
	border: 1.5px solid var(--me-wine); padding: 14px 30px;
}
.me-arch { position: relative; width: 100%; max-width: 440px; aspect-ratio: 4 / 5; }
.me-arch__bg { position: absolute; inset: 0; border-radius: 220px 220px 24px 24px; background: linear-gradient(160deg, #EBC9D1 0%, #C98497 50%, #3A1B26 100%); }
.me-arch__frame { position: absolute; inset: 16px; border-radius: 206px 206px 14px 14px; border: 1.5px solid var(--me-gold-mid); }
.me-arch__txt { position: absolute; left: 50%; bottom: 44px; transform: translateX(-50%); text-align: center; color: #FFF8F0; font-family: var(--me-serif); font-size: 20px; letter-spacing: .2em; line-height: 2; margin: 0; white-space: nowrap; }
.me-arch__txt span { color: var(--me-gold-light); font-size: 14px; }

.me-trust { background: var(--me-card); border-top: 1px solid var(--me-line); border-bottom: 1px solid var(--me-line); }
.me-trust__in { max-width: 1200px; margin: 0 auto; padding: 40px 32px; display: flex; flex-wrap: wrap; gap: 32px; }
.me-trust__item { flex: 1 1 280px; display: flex; gap: 16px; }
.me-trust__item svg { flex: 0 0 40px; }
.me-trust__item b { display: block; color: var(--me-black); }
.me-trust__item span { display: block; font-size: 14px; color: var(--me-text2); line-height: 1.7; }

.me-sec { max-width: 1200px; margin: 0 auto; padding: 72px 32px 24px; box-sizing: border-box; }
.me-sec__head { text-align: center; margin-bottom: 40px; }
.me-sec__head h2, .post_content .me-sec__head h2 {
	font-family: var(--me-serif); font-size: 32px; color: var(--me-black) !important;
	border: 0 !important; padding: 0 !important; margin: 10px 0 0 !important; background: none !important;
}
.me-sec__head .me-rule { width: 48px; height: 3px; background: var(--me-black); margin: 20px auto 0; }

.me-latest { display: flex; flex-wrap: wrap; gap: 28px; }
.me-latest__item {
	flex: 1 1 300px; background: var(--me-card);
	border: 1px solid var(--me-line); border-radius: 16px; overflow: hidden; display: block;
	transition: box-shadow .2s;
}
.me-latest__item:hover { box-shadow: 0 10px 30px rgba(26, 18, 20, .14); }
.me-latest__thumb { height: 180px; background: linear-gradient(135deg, #EBC9D1, #C98497); }
.me-latest__item:nth-child(2) .me-latest__thumb { background: linear-gradient(135deg, #D9A3B1, #8E2F4D); }
.me-latest__item:nth-child(3) .me-latest__thumb { background: linear-gradient(135deg, #E8D3A3, #B8935A); }
.me-latest__body { padding: 24px; }
.me-latest__cat { font-size: 12px; color: var(--me-gold-light); background: var(--me-black); padding: 2px 12px; border-radius: 999px; }
.me-latest__ttl { font-family: var(--me-serif); font-size: 20px; line-height: 1.6; margin: 14px 0 8px; color: var(--me-black); }
.me-latest__date { font-size: 13px; color: var(--me-text3); }
.me-latest__empty { color: var(--me-text3); padding: 24px; background: var(--me-card); border: 1px dashed var(--me-line2); border-radius: 12px; width: 100%; text-align: center; }

.me-prband { max-width: 1200px; margin: 0 auto; padding: 72px 32px 0; }
.me-prband .me-pr { padding: 56px 48px; border-radius: 24px; margin: 0; display: flex; flex-wrap: wrap; gap: 40px; align-items: center; }
.me-prband .me-pr::before { inset: 10px; border-radius: 16px; }
.me-prband .me-pr__main { flex: 1 1 380px; min-width: 0; }
.me-prband .me-pr__cta { flex: 0 1 260px; }
.me-prband h2 { font-size: 30px !important; line-height: 1.5; }
/* トップのPR帯：背景写真（人物は口元から下と後ろ姿のみ。文字は左の暗い側に置き、左から黒の覆いで読みやすさを確保） */
.me-prband .me-pr {
	background:
		linear-gradient(90deg, rgba(26, 18, 20, .94) 0%, rgba(26, 18, 20, .84) 42%, rgba(26, 18, 20, .55) 100%),
		url("assets/img/pr-band-bg.jpg") 60% 38% / cover no-repeat,
		var(--me-black);
	overflow: hidden;
}

/* トップ・固定ページは全幅で使う */
.top .l-mainContent, .home .l-mainContent, .page-template-default.me-wide .l-mainContent { width: 100%; }
body.home #content.l-content { padding-top: 0; }
body.home .l-container, body.home .l-mainContent__inner { max-width: none; padding: 0; }
body.home .post_content > .me-hero,
body.home .post_content > .me-trust { max-width: none; }

/* ============================================================
   フッター
   ============================================================ */
#footer.l-footer, .l-footer { background: var(--me-wine-deep); color: #F0DDE1; }
.l-footer a { color: #EBDDE0; }
.l-footer__foot { background: transparent; color: #F0DDE1; }
.l-footer__nav { display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: center; }
.l-footer__nav a { color: #EBDDE0; min-height: 44px; display: inline-flex; align-items: center; }
.copyright { color: #C9B5BA; font-size: 12px; }
.me-footer { max-width: 1200px; margin: 0 auto; padding: 56px 32px 8px; box-sizing: border-box; color: #F0DDE1; }
.me-footer__brand { font-family: var(--me-serif); font-size: 22px; color: var(--me-gold-light); letter-spacing: .06em; }
.me-footer__txt { font-size: 13px; line-height: 1.9; margin: 14px 0 0; color: #D9C9CC; }
.me-footer__age { border-top: 1px solid rgba(235, 221, 224, .25); margin-top: 28px; padding-top: 16px; font-size: 12px; color: #C9B5BA; }

/* ============================================================
   スマホ（390px 基準）
   ============================================================ */
@media (max-width: 959px) {
	.me-hero { padding: 48px 0 56px; }
	.me-hero__in { padding: 0 20px; gap: 36px; }
	.me-hero h1 { font-size: 27px; margin: 22px 0 18px; }
	.me-hero__btns .wp-block-button, .me-hero__btns .wp-block-button__link { width: 100%; }
	.me-sec { padding: 56px 20px 16px; }
	.me-trust__in { padding: 32px 20px; }
	.me-prband { padding: 56px 20px 0; }
	.me-prband .me-pr { padding: 36px 24px; }
	.me-prband h2 { font-size: 24px !important; }
	.me-prband .me-pr {
		background:
			linear-gradient(180deg, rgba(26, 18, 20, .92) 0%, rgba(26, 18, 20, .8) 60%, rgba(26, 18, 20, .66) 100%),
			url("assets/img/pr-band-bg.jpg") 70% 40% / cover no-repeat,
			var(--me-black);
	}
	.post_content h2:not(.faq_q):not(.me-plain) { font-size: 1.4em; }
	.me-pr { padding: 28px 22px; }
	.me-pr .wp-block-button, .me-pr .wp-block-button__link, .me-prband .wp-block-button, .me-prband .wp-block-button__link { width: 100%; text-align: center; }
	.me-footer { padding: 40px 20px 8px; }
	.me-agebar { padding: 8px 16px; font-size: 12px; }
	.me-agegate { padding: 12px 16px; }
	.me-agegate__btn { width: 100%; }
}

/* �g�b�v�͑S���Ŏg���iSWELL �̖{�����̐�����O���j */
.home #content, .home .l-content { margin-top: 0 !important; padding-top: 0 !important; }
.home .l-mainContent, .home .l-mainContent__inner, .home .post_content, .home #main_content { width: 100% !important; max-width: none !important; padding-left: 0; padding-right: 0; }
.home .post_content > * { margin-top: 0; margin-bottom: 0; }
.home #content .l-container { max-width: none; padding: 0; }
.c-gnav .menu-item.me-btn-pr > a { white-space: nowrap; flex-direction: row; }
.c-gnav .menu-item.me-btn-pr > a::before { position: static; display: inline-block; }

.me-sec__head h2.me-plain, .post_content .me-sec__head h2 { border: 0 !important; background: none !important; padding: 0 !important; }
.me-sec__head h2::before, .me-sec__head h2::after { display: none !important; }
.me-hero h1 { font-size: 44px; }
@media (max-width: 959px) { .me-hero h1 { font-size: 27px; } }
.me-hero__txt { flex: 1 1 520px; }

.me-pr h3, .me-pr h2 { border-bottom: 0 !important; }
.me-pr h3::before, .me-pr h3::after, .me-pr h2::before, .me-pr h2::after { display: none !important; }
.me-sidepr { background: var(--me-black); color: #FFF8F0; border-radius: 16px; padding: 24px; margin: 0; }
.l-sidebar .widget_block:has(.me-sidepr) { background: transparent; border: 0; padding: 0; }
.me-sidepr__ttl { font-family: var(--me-serif); font-size: 18px; margin: 10px 0 6px; color: var(--me-gold-light); }
.me-sidepr p { margin: 0 0 14px; font-size: 13px; color: #EBDDE0; }
.me-sidepr__btn { display: flex; align-items: center; justify-content: center; min-height: 44px; background: var(--me-gold-light); color: var(--me-black) !important; border-radius: 999px; font-weight: 700; font-size: 14px; padding: 8px 16px; }
.me-side-h { font-family: var(--me-serif); font-size: 18px !important; color: var(--me-black); margin: 0 0 12px !important; padding: 0 0 8px !important; border: 0 !important; border-bottom: 2px solid var(--me-black) !important; background: none !important; }
.me-side-h::before, .me-side-h::after { display: none !important; }

/* ============================================================
   記事の取り込み（完成稿30本）用の追加
   ============================================================ */
/* 本文中のリンク（出典URL・内部リンク）：ワイン色で下線 */
.post_content a:not(.wp-block-button__link):not(.me-sidepr__btn) {
	color: var(--me-wine); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
	word-break: break-word; overflow-wrap: anywhere;
}
.post_content a:not(.wp-block-button__link):hover { color: var(--me-black); }
.post_content .me-pr a { color: var(--me-gold-light); }
.post_content .me-pr a:hover { color: #FFF8F0; }

/* 本文の見出し h3、リスト、表、引用 */
.post_content ul.wp-block-list, .post_content ol.wp-block-list { margin: 0 0 1.4em; padding-left: 1.4em; }
.post_content ul.wp-block-list li, .post_content ol.wp-block-list li { margin-bottom: .35em; }
.post_content .wp-block-table { margin: 0 0 1.6em; overflow-x: auto; }
.post_content .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--me-card); }
.post_content .wp-block-table th, .post_content .wp-block-table td {
	border: 1px solid var(--me-line2); padding: 10px 14px; text-align: left; vertical-align: top; line-height: 1.7;
}
.post_content .wp-block-table th { background: var(--me-black); color: var(--me-gold-light); font-weight: 700; white-space: nowrap; }
.post_content .wp-block-quote {
	margin: 0 0 1.2em; padding: 12px 18px; border: 0; border-left: 4px solid var(--me-gold);
	background: var(--me-card); border-radius: 0 12px 12px 0; color: var(--me-text2); font-size: 15px;
}
.post_content .wp-block-quote p { margin: 0; }
.post_content .wp-block-quote::before, .post_content .wp-block-quote::after { display: none; }

/* 冒頭の開示枠（この記事について） */
.me-about p { line-height: 1.8; }
.me-about .me-about__operator { color: var(--me-text); }

/* 次に読む */
.post_content .me-next-h { margin-top: 2.2em; }
.post_content ul.me-next { list-style: none; padding-left: 0; margin: 0 0 1.6em; }
.post_content ul.me-next li { margin: 0 0 .5em; padding: 12px 16px 12px 18px; background: var(--me-card); border: 1px solid var(--me-line2); border-left: 4px solid var(--me-black); border-radius: 10px; }

/* PR枠（記事末）：見出し・リスト・リンクの色 */
.post_content .me-pr h2, .post_content .me-pr h3 {
	font-family: var(--me-serif); color: #FFF8F0 !important; border: 0 !important; background: none !important;
	padding: 0 !important; margin: 0 0 12px !important; box-shadow: none !important;
}
.post_content .me-pr h2 { font-size: 21px; line-height: 1.6; }
.post_content .me-pr h3 { font-size: 18px; margin-top: 18px !important; }
.post_content .me-pr h2::before, .post_content .me-pr h2::after, .post_content .me-pr h3::before, .post_content .me-pr h3::after { display: none !important; }
.post_content .me-pr ul.wp-block-list { padding-left: 1.3em; margin: 0 0 14px; }
.post_content .me-pr li { color: #EBDDE0; font-size: 14px; }
.post_content .me-pr .me-pr__cta-line { margin: 16px 0 0; }
.post_content .me-pr .me-pr__cta-line a {
	display: inline-block; background: var(--me-gold-light); color: var(--me-black) !important; text-decoration: none;
	font-weight: 700; padding: 12px 22px; border-radius: 999px; min-height: 44px; line-height: 1.6;
	word-break: break-all; font-size: 14px;
}

/* 大切なこと枠：見出しはラベル風 */
.post_content .me-important h2 {
	font-family: var(--me-sans); font-size: 12px !important; font-weight: 700; letter-spacing: .1em;
	display: inline-block; background: var(--me-black); color: var(--me-gold-light) !important;
	padding: 1px 14px !important; border: 0 !important; border-radius: 999px; margin: 0 0 10px !important;
}
.post_content .me-important h2::before, .post_content .me-important h2::after { display: none !important; }
.post_content .me-important ul.wp-block-list { margin-bottom: 0; }
.post_content .me-important li { font-size: 15px; }

/* 出典：小さめの文字 */
.post_content ul.me-sources { font-size: 13px; line-height: 1.8; padding-left: 1.3em; }

/* アイキャッチのプレースホルダ（画像は使わない。色面） */
.me-eyecatch {
	margin: 20px 0 28px; height: 240px; border-radius: 20px; position: relative; overflow: hidden;
	background: linear-gradient(135deg, #EBC9D1, #C98497);
}
.me-eyecatch::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255, 250, 249, .55); border-radius: 14px; }
.me-eyecatch--worries { background: linear-gradient(135deg, #EBC9D1, #C98497); }
.me-eyecatch--couple { background: linear-gradient(135deg, #D9A3B1, #8E2F4D); }
.me-eyecatch--guide { background: linear-gradient(135deg, #E8D3A3, #B8935A); }
.me-eyecatch--safety { background: linear-gradient(135deg, #3A2A2E, #1A1214); }
.me-eyecatch--safety::after { border-color: rgba(216, 188, 133, .7); }
.me-eyecatch--column { background: linear-gradient(135deg, #F3E3C3, #D9A3B1); }
@media (max-width: 959px) {
	.me-eyecatch { height: 150px; border-radius: 16px; margin-bottom: 20px; }
	.post_content .wp-block-table th, .post_content .wp-block-table td { padding: 8px 10px; font-size: 13px; }
	.post_content .me-pr .me-pr__cta-line a { display: block; text-align: center; }
	.post_content .me-pr h2 { font-size: 18px; }
}
.post_content .p-toc a, .p-toc a { text-decoration: none; }

/* 質問・ご相談は agスポットへ（お問い合わせは受け付けない。フッター付近の案内） */
.me-askwrap { max-width: 1200px; margin: 0 auto; padding: 48px 32px 0; box-sizing: border-box; }
.me-askwrap .me-pr { margin: 0; }
.me-ask { text-align: left; }
@media (max-width: 959px) { .me-askwrap { padding: 36px 20px 0; } }
.l-footer .me-pr .me-badge, .me-ask .me-badge { color: var(--me-black) !important; }
@media (max-width: 959px) { .me-ask h3.me-plain, .me-pr.me-ask h3 { font-size: 20px !important; } }

/* ============================================================
   画像（AI生成・社長提供）：ヒーロー、新着カード、アイキャッチ
   ============================================================ */
.me-arch__bg { overflow: hidden; }
.me-arch__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.me-arch__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(58, 27, 38, 0) 55%, rgba(58, 27, 38, .62) 100%); pointer-events: none; }
.me-arch__bg:not(:has(.me-arch__img))::after { display: none; }
.me-arch__frame { z-index: 1; }
.me-arch__txt { z-index: 2; text-shadow: 0 1px 10px rgba(58, 27, 38, .55); }
.me-latest__thumb { overflow: hidden; }
.me-latest__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-articleThumb__img { width: 100%; height: auto; display: block; }
.me-arch__bg { box-shadow: 0 14px 36px rgba(110, 26, 53, .16); }
.page .p-articleThumb { margin: 28px 0 12px; }
.page .p-articleThumb__img { max-height: 280px; object-fit: cover; }

/* ===== 広告枠（me-ad）。社長決裁 2026-10-22。自社PR枠（.me-pr：黒地金枠）とは見た目を分ける：白地・細い灰色の破線枠 ===== */
.me-ad { box-sizing: border-box; max-width: 100%; margin: 32px auto; padding: 10px 14px 12px; background: #fff; border: 1px dashed #A99AA0; border-radius: 6px; color: var(--me-text2); font-size: 13px; line-height: 1.6; text-align: left; overflow: hidden; clear: both; }
.me-ad__head { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 12px; color: var(--me-text3); }
.me-ad__pr { display: inline-block; padding: 0 8px; border: 1px solid #7A5A66; border-radius: 3px; font-weight: 700; font-size: 11px; line-height: 18px; letter-spacing: .06em; color: #5A3341; background: #fff; }
.me-ad__note { font-size: 12px; color: var(--me-text3); }
.me-ad__body { text-align: center; max-width: 100%; overflow-x: auto; }
.me-ad__body > * { max-width: 100%; }
.me-ad__body img, .me-ad__body video, .me-ad__body iframe, .me-ad__body ins { max-width: 100% !important; height: auto; }
.me-ad__body a { word-break: break-all; }
.me-ad__foot { margin: 8px 0 0; font-size: 11px; color: var(--me-text3); text-align: right; }
.me-ad-hint { margin: 16px auto; max-width: 900px; padding: 6px 10px; border: 1px dashed #d63638; color: #8a2424; font-size: 12px; background: #fff7f7; }
/* 置き場所ごと */
.me-ad--top-hero, .me-ad--top-mid, .me-ad--top-prband { width: calc(100% - 40px); max-width: 1136px; margin: 40px auto 0; }
.me-ad--footer-top { width: calc(100% - 32px); max-width: 1136px; margin: 0 auto 24px; }
.me-ad--archive { margin: 0 0 24px; }
.post_content .me-ad { margin: 32px auto; }
.me-ad--sidebar { margin: 24px 0 0; }
@media (max-width: 959px) {
	.me-ad--sidebar { display: none; } /* スマホ・タブレットは「記事の末尾」の枠を使う */
}
@media (max-width: 599px) {
	.me-ad { padding: 8px 10px 10px; margin: 24px auto; }
	.me-ad--top-hero, .me-ad--top-mid, .me-ad--top-prband { width: calc(100% - 32px); margin-top: 28px; }
	.me-ad__body { overflow-x: hidden; }
}

/* ============================================================
   ヒーロー：夜の街の背景画像（淡く）＋キャッチ（me- 接頭辞）
   ============================================================ */
.me-hero {
	position: relative;
	background:
		linear-gradient(90deg, rgba(247, 233, 236, .95) 0%, rgba(247, 233, 236, .9) 42%, rgba(247, 233, 236, .74) 100%),
		url("assets/img/hero-bg.jpg") 60% 40% / cover no-repeat,
		#F7E9EC;
}
.me-hero__in { position: relative; }
.me-hero__catch {
	margin: 20px 0 0; font-family: var(--me-serif); font-weight: 700; font-size: 20px; line-height: 1.7;
	letter-spacing: .08em; color: var(--me-wine);
}
.me-hero__catch + h1 { margin-top: 14px; }
@media (max-width: 959px) {
	.me-hero {
		background:
			linear-gradient(180deg, rgba(247, 233, 236, .93) 0%, rgba(247, 233, 236, .88) 100%),
			url("assets/img/hero-bg.jpg") 55% 50% / cover no-repeat,
			#F7E9EC;
	}
	.me-hero__catch { font-size: 17px; margin-top: 16px; }
	.me-hero__catch + h1 { margin-top: 10px; }
}

/* ===== ヒーロー右の画像（金のアーチ枠・キャッチ文入りの1枚画像）。CSS側のアーチ枠・金枠・影は使わない。縁は淡くフェードして背景になじませる ===== */
.me-hero__vis { align-items: center; }
.me-hero__img {
	display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%), linear-gradient(180deg, transparent 0, #000 3%, #000 96%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%), linear-gradient(180deg, transparent 0, #000 3%, #000 96%, transparent 100%);
	mask-composite: intersect;
}
@media (max-width: 959px) {
	.me-hero__vis { flex: 1 1 100%; }
	.me-hero__img { max-width: 320px; }
}

/* ============================================================
   カテゴリカードの背景画像＋「キラリ」／リンクボタンの反転＋キラリ（2026-10-23）
   アニメーションは transform / opacity のみ。prefers-reduced-motion では動きを止め、色の変化だけにする。
   ============================================================ */
@keyframes me-shine {
	0%   { transform: translateX(-150%) skewX(-20deg); opacity: 0; }
	15%  { opacity: 1; }
	85%  { opacity: 1; }
	100% { transform: translateX(480%) skewX(-20deg); opacity: 0; }
}
/* カード：背景画像は ::before（上にカード色の覆いを重ねて透過感を出す。文字のコントラストを確保） */
.me-card { overflow: hidden; isolation: isolate; transition: box-shadow .2s, border-color .2s; }
.me-card::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 250, 249, .62) 0%, rgba(255, 250, 249, .80) 100%), var(--me-card-img, none) center / cover no-repeat;
}
.me-cards.me-ready .me-cat--worry  { --me-card-img: url("assets/img/card-worry.jpg"); }
.me-cards.me-ready .me-cat--couple { --me-card-img: url("assets/img/card-couple.jpg"); }
.me-cards.me-ready .me-cat--guide  { --me-card-img: url("assets/img/card-guide.jpg"); }
.me-cards.me-ready .me-cat--safety { --me-card-img: url("assets/img/card-safety.jpg"); }
/* キラリ：斜めの細い光の帯（白〜ゴールド）が左→右へ1回 */
.me-card::after, .me-shine::after {
	content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 22%; z-index: 0; pointer-events: none; opacity: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .85) 38%, rgba(232, 211, 163, .85) 58%, rgba(255, 255, 255, 0) 100%);
	transform: translateX(-150%) skewX(-20deg);
}
.me-card:hover::after, .me-card:focus-within::after, .me-card:active::after { animation: me-shine .9s ease-out 1 both; }
.me-card:hover, .me-card:focus-within { border-color: var(--me-gold); }
.me-card a.me-card__link:focus-visible { outline: 3px solid var(--me-wine); outline-offset: -3px; }

/* ボタン共通（キラリの土台） */
.wp-block-button__link, .swell-block-button a, .swell-block-button__link, .me-sidepr__btn, .me-agegate__btn,
.c-gnav .menu-item.me-btn-pr > a, .l-fixHeader .menu-item.me-btn-pr > a, .c-spnav .menu-item.me-btn-pr > a, .l-footer__nav .menu-item.me-btn-pr > a {
	position: relative; overflow: hidden; isolation: isolate;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.wp-block-button__link::after, .swell-block-button a::after, .swell-block-button__link::after, .me-sidepr__btn::after, .me-agegate__btn::after,
.c-gnav .menu-item.me-btn-pr > a::after, .l-fixHeader .menu-item.me-btn-pr > a::after, .c-spnav .menu-item.me-btn-pr > a::after, .l-footer__nav .menu-item.me-btn-pr > a::after {
	content: "" !important; display: block !important; position: absolute !important; top: -10%; bottom: -10%; left: 0 !important; right: auto !important; width: 28%; height: auto !important;
	pointer-events: none; opacity: 0; z-index: 1; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 40%, rgba(232, 211, 163, .8) 60%, rgba(255, 255, 255, 0) 100%) !important;
	transform: translateX(-150%) skewX(-20deg); border: 0 !important; margin: 0 !important;
}
.wp-block-button__link:hover::after, .wp-block-button__link:focus-visible::after, .wp-block-button__link:active::after,
.swell-block-button a:hover::after, .swell-block-button a:focus-visible::after, .swell-block-button a:active::after,
.me-sidepr__btn:hover::after, .me-sidepr__btn:focus-visible::after, .me-sidepr__btn:active::after,
.me-agegate__btn:hover::after, .me-agegate__btn:focus-visible::after, .me-agegate__btn:active::after,
.menu-item.me-btn-pr > a:hover::after, .menu-item.me-btn-pr > a:focus-visible::after, .menu-item.me-btn-pr > a:active::after { animation: me-shine .8s ease-out 1 both; }

/* 色の反転。金地＋黒文字 → 黒地＋金文字（PR枠・サイドPR・年齢確認ボタン） */
.me-pr .wp-block-button__link:hover, .me-pr .wp-block-button__link:focus-visible, .me-pr .wp-block-button__link:active,
.me-pr-btn .wp-block-button__link:hover, .me-pr-btn .wp-block-button__link:focus-visible, .me-pr-btn .wp-block-button__link:active,
.me-sidepr__btn:hover, .me-sidepr__btn:focus-visible, .me-sidepr__btn:active,
.me-agegate__btn:hover, .me-agegate__btn:focus-visible, .me-agegate__btn:active {
	background: var(--me-black) !important; color: var(--me-gold-light) !important; border-color: var(--me-gold-light) !important;
}
.me-sidepr__btn { border: 1px solid transparent; }
.me-sidepr__btn:hover, .me-sidepr__btn:focus-visible, .me-sidepr__btn:active { border-color: var(--me-gold-light) !important; }
/* 黒地＋金文字 → 金地＋黒文字（ヒーローの主ボタン・ヘッダーの PR agスポットへ） */
.me-btn-main .wp-block-button__link:hover, .me-btn-main .wp-block-button__link:focus-visible, .me-btn-main .wp-block-button__link:active,
.c-gnav .menu-item.me-btn-pr > a:hover, .c-gnav .menu-item.me-btn-pr > a:focus-visible, .c-gnav .menu-item.me-btn-pr > a:active,
.l-fixHeader .menu-item.me-btn-pr > a:hover, .l-fixHeader .menu-item.me-btn-pr > a:focus-visible,
.c-spnav .menu-item.me-btn-pr > a:hover, .c-spnav .menu-item.me-btn-pr > a:focus-visible,
.l-footer__nav .menu-item.me-btn-pr > a:hover, .l-footer__nav .menu-item.me-btn-pr > a:focus-visible {
	background: var(--me-gold-light) !important; color: var(--me-black) !important; border-color: var(--me-gold) !important;
}
/* 枠線ボタン → 塗りつぶし（ワイン地＋白文字） */
.me-btn-sub .wp-block-button__link:hover, .me-btn-sub .wp-block-button__link:focus-visible, .me-btn-sub .wp-block-button__link:active {
	background: var(--me-wine) !important; color: #FFF8F0 !important; border-color: var(--me-wine) !important;
}
/* 上記以外の標準ボタン／SWELL ボタン（記事内など）：黒地＋金文字に反転 */
.post_content .wp-block-button:not(.me-btn) .wp-block-button__link:not(.me-pr *):hover, .post_content .swell-block-button a:hover,
.post_content .wp-block-button:not(.me-btn) .wp-block-button__link:not(.me-pr *):focus-visible, .post_content .swell-block-button a:focus-visible {
	background-color: var(--me-black) !important; color: var(--me-gold-light) !important;
}
.me-btn-pr > a:focus-visible, .wp-block-button__link:focus-visible, .me-sidepr__btn:focus-visible { outline: 3px solid var(--me-wine); outline-offset: 3px; }
.me-pr .wp-block-button__link:focus-visible, .me-sidepr__btn:focus-visible, .me-agegate__btn:focus-visible { outline-color: var(--me-gold-light); }

@media (prefers-reduced-motion: reduce) {
	.me-card::after, .wp-block-button__link::after, .swell-block-button a::after, .swell-block-button__link::after, .me-sidepr__btn::after, .me-agegate__btn::after, .menu-item.me-btn-pr > a::after { animation: none !important; display: none !important; }
	.me-card, .wp-block-button__link, .swell-block-button a, .me-sidepr__btn, .me-agegate__btn, .menu-item.me-btn-pr > a { transition: none; }
	html { scroll-behavior: auto; }
}

/* ============================================================
   記事の見やすさ（社長指示 2026-10-23）
   対象は投稿の本文（.single-post .post_content）だけ。固定ページ・トップのパターンには効かせない。
   強調の記法は md2wp.php／強調記法.md： **太字** ／ ==マーカー== ／ ^^大きい文字^^
   ============================================================ */
/* 強調（クラスは記事だけが使う） */
mark.me-mk {
	background: linear-gradient(90deg, #EFCF82 0%, #F1C2A2 55%, #EFAFC0 100%) no-repeat 0 96% / 100% .8em;
	color: inherit;
	padding: 0 .12em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.me-big {
	font-family: var(--me-serif);
	font-size: 1.5em; font-weight: 700; line-height: 1.5;
	color: var(--me-wine);
	letter-spacing: 0;
}
.single-post .post_content strong { font-weight: 700; color: var(--me-black); }
.single-post .post_content .me-pr strong,
.single-post .post_content .me-sidepr strong { color: inherit; }
.single-post .post_content .me-pr .me-big,
.single-post .post_content .me-pr mark.me-mk { display: none; } /* 念のため：PR枠には強調を出さない */

/* 本文 */
.single-post .post_content { font-size: 16.5px; line-height: 1.9; color: var(--me-text); }
.single-post .post_content > p,
.single-post .post_content > ul,
.single-post .post_content > ol { max-width: 42em; }
.single-post .post_content p { margin: 0 0 1.5em; line-height: 1.9; }
.single-post .post_content ul.wp-block-list,
.single-post .post_content ol.wp-block-list { margin: 0 0 1.7em; padding-left: 1.5em; line-height: 1.85; }
.single-post .post_content ul.wp-block-list li,
.single-post .post_content ol.wp-block-list li { margin-bottom: .5em; }
.single-post .post_content ul.wp-block-list li::marker { color: var(--me-gold); }
.single-post .post_content ol.wp-block-list li::marker { color: var(--me-wine); font-weight: 700; }

/* 見出し h2：薄いピンクの背景＋左に太い黒線＋下にゴールドの細線＋上下の余白 */
.single-post .post_content h2:not(.faq_q):not(.me-plain),
.single-post .post_content > h2.wp-block-heading {
	background: linear-gradient(90deg, #F0D8DE 0%, #F6E4E8 60%, #FBF1F2 100%) !important;
	padding: .7em .9em .7em .8em !important;
	margin: 3.2em 0 1.2em !important;
	line-height: 1.55;
	counter-reset: me-h3;
}
.single-post .post_content > h2.wp-block-heading:first-child { margin-top: 1.2em !important; }
/* h3：ゴールドの細い線（下線）＋小さな番号 */
.single-post .post_content h3:not(.me-plain) {
	counter-increment: me-h3;
	margin: 2.3em 0 .9em !important;
	padding: .15em 0 .45em 0 !important;
	border-left: 0 !important;
	border-bottom: 1px solid var(--me-gold) !important;
	font-size: 1.25em; line-height: 1.55;
	display: flex; align-items: baseline; gap: .6em;
}
.single-post .post_content h3:not(.me-plain)::before {
	display: inline-block !important; content: counter(me-h3, decimal-leading-zero);
	font-family: var(--me-sans); font-size: .62em; font-weight: 700; letter-spacing: .08em;
	color: var(--me-gold); flex: 0 0 auto; position: static; transform: none; background: none; width: auto; height: auto;
}

/* 枠（大切なこと・開示・PR・出典・次に読む）との間隔 */
.single-post .post_content .me-important,
.single-post .post_content .me-pr,
.single-post .post_content .me-about { margin-top: 2.2em; margin-bottom: 2.2em; }
.single-post .post_content .me-important p { max-width: none; font-size: 15.5px; line-height: 1.85; margin-bottom: .9em; }
.single-post .post_content .me-important li { font-size: 15.5px; }
.single-post .post_content .me-sources,
.single-post .post_content .me-next { max-width: none; }

/* 表：ヘッダーの背景（黒）・縞・横スクロール */
.single-post .post_content .wp-block-table { margin: 1.8em 0 2em; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.single-post .post_content .wp-block-table table { min-width: 560px; font-size: 15px; line-height: 1.75; }
.single-post .post_content .wp-block-table tbody tr:nth-child(even) td { background: #FBF1F2; }
.single-post .post_content .wp-block-table td strong { color: var(--me-black); }

@media (max-width: 959px) {
	.single-post .post_content { font-size: 16px; }
	.me-big { font-size: 1.3em; line-height: 1.55; overflow-wrap: anywhere; }
	.single-post .post_content > p,
	.single-post .post_content > ul,
	.single-post .post_content > ol { max-width: none; }
	.single-post .post_content h2:not(.faq_q):not(.me-plain),
	.single-post .post_content > h2.wp-block-heading { padding: .6em .7em .6em .65em !important; margin: 2.7em 0 1em !important; font-size: 1.35em; }
	.single-post .post_content h3:not(.me-plain) { font-size: 1.15em; margin-top: 2em !important; }
	.single-post .post_content .wp-block-table table { min-width: 520px; font-size: 14px; }
}

/* ============================================================
   空のアーカイブ（投稿0件）：「準備中です」の案内（B案：落ち着いた枠・中央寄せ）
   ============================================================ */
.me-empty {
	max-width: 560px; margin: 40px auto 56px; padding: 44px 28px 40px; text-align: center;
	background: var(--me-card); border: 1px solid var(--me-line2); border-radius: 16px;
	box-shadow: inset 0 0 0 6px var(--me-card), inset 0 0 0 7px var(--me-line);
}
.me-empty__ttl { font-family: var(--me-serif); font-size: 24px; font-weight: 700; color: var(--me-black); margin: 0 0 10px; letter-spacing: .06em; }
.me-empty__ttl::after { content: ""; display: block; width: 36px; height: 2px; background: var(--me-gold); margin: 16px auto 0; }
.me-empty__txt { font-size: 15px; line-height: 1.9; color: var(--me-text2); margin: 14px 0 26px; }
.me-empty__btn { margin: 0; }
.me-empty__btn a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 28px;
	background: var(--me-black); color: var(--me-gold-light) !important; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none;
}
.me-empty__btn a:hover { background: var(--me-wine-deep); }
@media (max-width: 959px) {
	.me-empty { margin: 24px 0 40px; padding: 36px 20px 32px; }
	.me-empty__btn a { width: 100%; }
}
