/* 学び舎 共通：フォント＋画像サイズ補正のみ。他はWFオリジナルCSS(wf.css/top.css/content.css/wave-content.css)に任せる */
img[width][height] { height: revert; }

/* 件数「全N記事」表示（article-count class） */
.article-count { display: inline-flex; align-items: baseline; gap: 2px; font-size: 11px; color: #666; letter-spacing: .02em; font-family: inherit; }
.article-count strong { font-size: 15px; font-weight: 700; color: #253b5a; font-family: inherit; }

/* ─── 全幅表示（body.wf-wide 時） ─── */
body.wf-wide:not(.sp) .wf-frame { width: 100%; max-width: none; margin: 0 0 40px; border: 0; border-radius: 0; box-shadow: none; }
body.wf-wide:not(.sp) .site-header .inner { max-width: none; padding-inline: clamp(20px, 3vw, 64px); }
body.wf-wide:not(.sp) .s-head { padding-inline: clamp(20px, 3vw, 64px); }
body.wf-wide:not(.sp) .s-head .inner { max-width: none; }
body.wf-wide:not(.sp) .container { max-width: none; width: 100%; padding-inline: clamp(20px, 3vw, 64px); }

/* 悩みから探す：2カラム＋TOP2＋残り展開 */
.ph-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phase-more { grid-column: 1 / -1; width: 100%; margin-top: 4px; }
.phase-more summary { cursor: pointer; color: #526c70; font-size: 12px; font-weight: 600; padding: 8px 2px; list-style-position: inside; }
.phase-more summary:hover { color: #263f50; }
.phase-more-items { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 6px; }
.phase-more[open] summary { margin-bottom: 2px; }
.phase-more-items .worry { flex: 1 1 220px; }
.ph-no { white-space: nowrap; }

/* ─── WF希望デザインに合わせて明るいテーマへ上書き ─── */
/* ヘッダーを白ベースに */
.site-header { background: #fff !important; color: #1a1a1a !important; border-bottom: 1px solid #e8e5e0; position: relative; z-index: 100; }
.site-logo { color: #1a1a1a !important; }
.site-logo span { color: #999 !important; }
.header-nav a { color: #666 !important; font-size: 13px !important; }
.header-nav a:hover { color: #c8a96e !important; }
.hd-search-icon { color: #1a1a1a !important; font-size: 22px !important; margin-left: auto !important; margin-right: 12px !important; order: 10; }
.hamburger { color: #1a1a1a !important; font-size: 28px !important; line-height: 1 !important; cursor: pointer; padding: 4px 8px; order: 11; margin: 0 !important; }
.header-nav { order: 5; margin-left: auto; }
.btn-mypage { color: #c8a96e !important; border-color: #c8a96e !important; }

/* ハンバーガーメニュー展開時：ヘッダーのすぐ下にドロップダウン表示 */
.site-header .header-nav.is-open {
	display: flex !important;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	flex-direction: column;
	background: #fff;
	border-top: 1px solid #e8e5e0;
	border-bottom: 1px solid #e8e5e0;
	padding: 12px 24px;
	gap: 0 !important;
	z-index: 101;
	box-shadow: 0 8px 20px rgba(0,0,0,.1);
}
.site-header .header-nav.is-open a {
	padding: 14px 0;
	border-bottom: 1px solid #f0eee9;
	font-size: 15px !important;
}
.site-header .header-nav.is-open a:last-child { border-bottom: 0; }

/* ─── TOPページのヒーローのみ上書き（article-frame内の.heroには影響させない） ─── */
.wf-frame > .hero { background: #f3f1ec !important; color: #1a1a1a !important; border-top: 1px solid #e4e0d6 !important; padding: 36px 32px 32px !important; }
.wf-frame > .hero .kicker { color: #8b7044 !important; }
.wf-frame > .hero h1,
.wf-frame > .hero .hero-copy { color: #1a1a1a !important; }
.wf-frame > .hero h1 span,
.wf-frame > .hero .hero-copy .hero-promise { color: #8b7044 !important; }
.wf-frame > .hero .sub { color: #666 !important; font-size: 14px !important; }

/* ヒーロー2カラム（動画＋コピー）レイアウト（TOPのみ） */
.wf-frame > .hero .hero-top { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(30px, 5vw, 88px); align-items: center; margin: 0 auto 24px; max-width: 1280px; }
.wf-frame > .hero .hero-search,
.wf-frame > .hero .stats { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; }
.wf-frame > .hero .hero-seminar { background: transparent; margin: 0; }
.wf-frame > .hero .seminar-player { aspect-ratio: 16 / 9; background: #2a2a2a; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #c8a96e; position: relative; min-height: 240px; }
.wf-frame > .hero .seminar-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 8px; }
.wf-frame > .hero .seminar-play { background: #c8a96e; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #1a1a1a; margin-bottom: 8px; }
.wf-frame > .hero .seminar-placeholder { font-size: 12px; letter-spacing: .1em; color: #ddd; }
.wf-frame > .hero .seminar-title { font-size: 12px; color: #888; margin-top: 10px; }
.wf-frame > .hero .hero-message { padding-top: 24px; }
.wf-frame > .hero .hero-message .kicker { display: flex; align-items: center; gap: 12px; font-size: 13px !important; letter-spacing: .2em !important; font-weight: 700; color: #8b7044 !important; margin-bottom: 24px !important; border: 0 !important; padding: 0 !important; }
.wf-frame > .hero .hero-message .kicker::before { content: ""; display: inline-block; width: 28px; height: 1px; background: currentColor; flex-shrink: 0; }
.wf-frame > .hero .hero-copy { font-weight: 800 !important; line-height: 1.4 !important; margin: 0 0 20px !important; display: inline-block; font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif; }
.wf-frame > .hero .hero-copy .hero-intro { display: block; font-size: clamp(28px, 2.5vw, 38px) !important; color: #253b5a !important; margin-bottom: 6px; font-weight: 800 !important; letter-spacing: .01em; }
.wf-frame > .hero .hero-copy .hero-promise { display: block; font-size: clamp(42px, 3.6vw, 58px) !important; color: #8b7044 !important; letter-spacing: .02em; font-weight: 800 !important; }

/* 検索バーをヒーロー下の白にお引越し（TOPのみ） */
.wf-frame > .hero .hero-search { background: #fff; padding: 20px 32px; border-top: 1px solid #e4e0d6; margin: 0 -32px; }
.wf-frame > .hero .search-big { max-width: none !important; border: 1px solid #e0ddd8 !important; border-radius: 6px; overflow: hidden; display: flex; }
.wf-frame > .hero .search-big .sb-input { padding: 14px 18px !important; font-size: 14px !important; color: #666 !important; background: #fff !important; }
.wf-frame > .hero .search-big .sb-btn { background: #c8a96e !important; color: #fff !important; padding: 0 32px !important; font-size: 14px !important; }
.wf-frame > .hero .hot { margin: 12px 0 0 !important; }
.wf-frame > .hero .hot .hot-label { color: #888 !important; }
.wf-frame > .hero .hot a { background: #f3f1ec !important; border: 0 !important; color: #666 !important; border-radius: 14px; padding: 4px 12px !important; font-size: 12px !important; }

/* 統計カウント（TOPのみ） */
.wf-frame > .hero .stats { background: #fff; padding: 20px 32px; margin: 0 -32px; border-top: 1px solid #e4e0d6; }
.wf-frame > .hero .stats div { color: #666 !important; font-size: 12px !important; }
.wf-frame > .hero .stats b { color: #4f6c86 !important; font-size: 26px !important; display: block; }

/* オーナー帯（TOPのみ） */
.wf-frame > .owner { background: #fff !important; padding: 14px 32px !important; border-top: 2px solid #c8a96e !important; }

/* 新着コンテンツセクション */
.wf-frame > .sec#archive { background: #faf8f3; padding: 28px 32px; }

@container site (max-width: 760px) {
	.wf-frame > .hero { padding: 24px 20px 20px !important; background: #f7f6f3 !important; }
	.wf-frame > .hero .hero-top { grid-template-columns: 1fr !important; gap: 16px !important; max-width: none; }
	.wf-frame > .hero .hero-seminar { max-width: none !important; width: 100% !important; margin: 0 !important; }
	.wf-frame > .hero .seminar-player { min-height: 220px !important; width: 100%; }
	.wf-frame > .hero .seminar-title { font-size: 13px !important; margin-top: 10px !important; text-align: left; color: #999 !important; }
	.wf-frame > .hero .hero-message { padding-top: 8px !important; max-width: none !important; }
	.wf-frame > .hero .kicker { font-size: 11px !important; margin-bottom: 16px !important; }
	.wf-frame > .hero .kicker::before { width: 24px; }
	/* タイトル：画像どおり ゴールド下線（短め）を復活 */
	.wf-frame > .hero .hero-copy { display: inline-block !important; border-bottom: 2px solid #c8a96e !important; padding-bottom: 10px !important; margin-bottom: 20px !important; }
	.wf-frame > .hero .hero-copy .hero-intro { font-size: 30px !important; margin-bottom: 4px !important; }
	.wf-frame > .hero .hero-copy .hero-promise { font-size: 36px !important; }
	.wf-frame > .hero .sub { font-size: 14px !important; line-height: 1.9 !important; margin-bottom: 20px !important; }
	/* 検索バー：モバイル用に横幅いっぱい */
	.wf-frame > .hero .hero-search { padding: 16px 0 !important; margin: 0 !important; background: transparent !important; border-top: 1px solid #e4e0d6 !important; }
	.wf-frame > .hero .search-big { background: #fff !important; border-radius: 10px !important; }
	.wf-frame > .hero .search-big .sb-input { font-size: 14px !important; padding: 14px 16px !important; }
	.wf-frame > .hero .search-big .sb-btn { padding: 0 24px !important; font-size: 14px !important; }
	/* ホット悩みタグ：白地＋グレー枠のピル */
	.wf-frame > .hero .hot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px !important; }
	.wf-frame > .hero .hot .hot-label { width: 100%; font-size: 12px !important; color: #999 !important; margin-bottom: 2px; }
	.wf-frame > .hero .hot a { background: #fff !important; border: 1px solid #d6d2c6 !important; color: #333 !important; border-radius: 18px !important; padding: 7px 16px !important; font-size: 13px !important; }
	/* 統計カウント：4カラム横並び */
	.wf-frame > .hero .stats { background: transparent !important; padding: 20px 0 0 !important; margin: 20px 0 0 !important; border-top: 1px solid #e4e0d6 !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 10px !important; }
	.wf-frame > .hero .stats div { color: #666 !important; font-size: 11px !important; }
	.wf-frame > .hero .stats b { color: #253b5a !important; font-size: 28px !important; display: block !important; line-height: 1.2 !important; margin-bottom: 2px; }
}
@media screen and (max-width: 760px) {
	.wf-frame > .hero { padding: 24px 20px 20px !important; background: #f7f6f3 !important; }
	.wf-frame > .hero .hero-top { grid-template-columns: 1fr !important; gap: 16px !important; max-width: none; }
	.wf-frame > .hero .hero-seminar { max-width: none !important; width: 100% !important; margin: 0 !important; }
	.wf-frame > .hero .seminar-player { min-height: 220px !important; width: 100%; }
	.wf-frame > .hero .seminar-title { font-size: 13px !important; margin-top: 10px !important; text-align: left; color: #999 !important; }
	.wf-frame > .hero .hero-message { padding-top: 8px !important; max-width: none !important; }
	.wf-frame > .hero .kicker { font-size: 11px !important; margin-bottom: 16px !important; }
	.wf-frame > .hero .kicker::before { width: 24px; }
	/* タイトル：画像どおり ゴールド下線（短め）を復活 */
	.wf-frame > .hero .hero-copy { display: inline-block !important; border-bottom: 2px solid #c8a96e !important; padding-bottom: 10px !important; margin-bottom: 20px !important; }
	.wf-frame > .hero .hero-copy .hero-intro { font-size: 30px !important; margin-bottom: 4px !important; }
	.wf-frame > .hero .hero-copy .hero-promise { font-size: 36px !important; }
	.wf-frame > .hero .sub { font-size: 14px !important; line-height: 1.9 !important; margin-bottom: 20px !important; }
	/* 検索バー：モバイル用に横幅いっぱい */
	.wf-frame > .hero .hero-search { padding: 16px 0 !important; margin: 0 !important; background: transparent !important; border-top: 1px solid #e4e0d6 !important; }
	.wf-frame > .hero .search-big { background: #fff !important; border-radius: 10px !important; }
	.wf-frame > .hero .search-big .sb-input { font-size: 14px !important; padding: 14px 16px !important; }
	.wf-frame > .hero .search-big .sb-btn { padding: 0 24px !important; font-size: 14px !important; }
	/* ホット悩みタグ：白地＋グレー枠のピル */
	.wf-frame > .hero .hot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px !important; }
	.wf-frame > .hero .hot .hot-label { width: 100%; font-size: 12px !important; color: #999 !important; margin-bottom: 2px; }
	.wf-frame > .hero .hot a { background: #fff !important; border: 1px solid #d6d2c6 !important; color: #333 !important; border-radius: 18px !important; padding: 7px 16px !important; font-size: 13px !important; }
	/* 統計カウント：4カラム横並び */
	.wf-frame > .hero .stats { background: transparent !important; padding: 20px 0 0 !important; margin: 20px 0 0 !important; border-top: 1px solid #e4e0d6 !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 10px !important; }
	.wf-frame > .hero .stats div { color: #666 !important; font-size: 11px !important; }
	.wf-frame > .hero .stats b { color: #253b5a !important; font-size: 28px !important; display: block !important; line-height: 1.2 !important; margin-bottom: 2px; }
}

/* ─── モバイル専用レイアウト調整 ─── */
@container site (max-width: 760px) {
	/* テーマから探す：WF準拠 1列（icon left + text right 継承） */
	#theme .theme-grid { grid-template-columns: 1fr !important; gap: 10px; }
	#theme .theme { padding: 16px !important; gap: 14px; }
	#theme .t-name { font-size: 15px !important; }

	/* コンテンツから探す：WF準拠 1列 */
	#series .series-grid { grid-template-columns: 1fr !important; }

	/* 悩み phase-row：1列 */
	.phase-row { grid-template-columns: 1fr !important; }

	/* アカデミー業種グリッド：WF準拠フォント */
	#academy-industries .industry-card { font-size: 13px; padding: 16px 12px; }
}
@media screen and (max-width: 760px) {
	/* テーマから探す：WF準拠 1列（icon left + text right 継承） */
	#theme .theme-grid { grid-template-columns: 1fr !important; gap: 10px; }
	#theme .theme { padding: 16px !important; gap: 14px; }
	#theme .t-name { font-size: 15px !important; }

	/* コンテンツから探す：WF準拠 1列 */
	#series .series-grid { grid-template-columns: 1fr !important; }

	/* 悩み phase-row：1列 */
	.phase-row { grid-template-columns: 1fr !important; }

	/* アカデミー業種グリッド：WF準拠フォント */
	#academy-industries .industry-card { font-size: 13px; padding: 16px 12px; }
}

/* タイプバッジ（WF標準の色調） */
.type { display: inline-block; border-radius: 3px; padding: 2px 7px; font-size: 10px; font-weight: 700; letter-spacing: .02em; line-height: 1.4; white-space: nowrap; }
.type-view    { background: #1a1a1a; color: #c8a96e; border: 1px solid #c8a96e; }
.type-guide   { background: #2f5d50; color: #fff; }
.type-diagram { background: #4c6b4c; color: #fff; }
.type-case    { background: #8a5a20; color: #fff; }
.type-qa      { background: #3b5a8a; color: #fff; }
.type-video   { background: #333; color: #fff; }

/* ─── 新着コンテンツ カード（WFの横並びスタイル） ─── */
.shelf-cards { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
.sh-card { background: #fff !important; border: 1px solid #e3dfd6 !important; border-radius: 10px !important; overflow: hidden !important; display: grid !important; grid-template-columns: 70px 1fr !important; gap: 12px !important; padding: 18px 20px !important; align-items: center; text-decoration: none; transition: border-color .15s; min-height: 110px; }
.sh-card:hover { border-color: #c8a96e !important; }

.sh-thumb { background: transparent !important; height: auto !important; min-height: 0 !important; padding: 0 !important; border: none !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative; }
.sh-thumb::before { content: ""; position: absolute; width: 56px; height: 56px; background: #e8f0e4; border-radius: 50%; z-index: 0; }
.sh-thumb img { width: 48px !important; height: 48px !important; max-width: none !important; position: relative; z-index: 1; }
.sh-thumb .type { display: none !important; }

.sh-body { padding: 0 !important; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sh-cat { font-size: 11px !important; color: #a5772a !important; font-weight: 700 !important; letter-spacing: .02em !important; margin: 0 !important; }
.sh-title { font-size: 14px !important; font-weight: 700 !important; line-height: 1.55 !important; color: #1a1a1a !important; margin: 2px 0 4px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sh-meta { font-size: 11px !important; color: #999 !important; margin: 4px 0 0 !important; letter-spacing: .02em !important; }

@container site (max-width: 760px) {
	.shelf-cards { grid-template-columns: 1fr !important; }
}
@media screen and (max-width: 760px) {
	.shelf-cards { grid-template-columns: 1fr !important; }
}

/* view=worries 専用 */
.worry-intro { font-size: 14px; color: #555; margin: 10px 0 20px; }
.worry-phase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.worry-phase-panel { background: #fff; border: 1px solid #e3dfd6; border-radius: 10px; padding: 20px; }
.worry-phase-heading { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #e8e5e0; margin-bottom: 12px; }
.worry-phase-heading img { width: 40px; height: 40px; }
.worry-phase-heading h2 { font-size: 18px; font-weight: 700; margin: 0; line-height: 1.3; }
.worry-phase-heading p { font-size: 12px; color: #888; margin: 2px 0 0; }
.worry-entry { display: flex; justify-content: space-between; align-items: center; padding: 12px 4px; border-bottom: 1px dotted #e0ddd8; text-decoration: none; color: #1a1a1a; }
.worry-entry:last-child { border-bottom: 0; }
.worry-entry:hover { background: #fdf9f2; }
.worry-entry-label { display: block; font-size: 14px; font-weight: 700; }
.worry-entry-tag { display: block; font-size: 11px; color: #a5772a; margin-top: 2px; }
.worry-total { font-size: 11px; color: #888; white-space: nowrap; margin-left: 10px; }
.worry-total strong { font-size: 15px; color: #253b5a; font-weight: 700; margin: 0 2px; }
.worry-back { display: inline-block; margin: 0 0 12px; font-size: 12px; color: #8b7044; text-decoration: none; }
.worry-back:hover { text-decoration: underline; }

@container site (max-width: 760px) {
	.worry-phase-grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 760px) {
	.worry-phase-grid { grid-template-columns: 1fr; }
}

.latest-order { font-size: 13px; color: #888; margin: 0 0 14px; }

/* 空検索結果の提案タグ */
.empty .sug { margin-top: 14px; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.empty .sug a { background: #fff; border: 1px solid #d6d2c6; color: #8b7044; border-radius: 18px; padding: 7px 16px; font-size: 13px; text-decoration: none; }
.empty .sug a:hover { background: #c8a96e; color: #fff; }

/* ページネーション */
.pagination { margin: 24px 24px 10px; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.pagination .page-numbers { padding: 6px 11px; background: #fff; border: 1px solid #e0ddd8; border-radius: 4px; font-size: 12px; color: #555; }
.pagination .current { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }

/* ─── 手動入力記事のスタイル（WP管理画面から追加した場合） ─── */
.manual-article { max-width: 820px; margin: 0 auto; padding: 48px 32px 24px; font-size: 16px; line-height: 1.95; color: #1a1a1a; }
.manual-hero { border-bottom: 1px solid #e3dfd6; padding-bottom: 24px; margin-bottom: 32px; }
.manual-crumb { font-size: 12px; color: #999; margin-bottom: 16px; }
.manual-title { font-size: clamp(24px, 3vw, 34px); font-weight: 700; line-height: 1.55; margin: 0; }
.manual-body h2 { font-size: 22px; margin: 36px 0 16px; padding-left: 14px; border-left: 4px solid #c8a96e; line-height: 1.6; }
.manual-body h3 { font-size: 18px; margin: 28px 0 12px; line-height: 1.6; }
.manual-body p { margin: 0 0 18px; }
.manual-body ul, .manual-body ol { margin: 0 0 18px 24px; }
.manual-body img { max-width: 100%; height: auto; border-radius: 6px; margin: 16px 0; }
.manual-body blockquote { border-left: 3px solid #c8a96e; padding: 10px 20px; margin: 20px 0; color: #555; background: #faf8f3; }
.manual-body a { color: #8b7044; text-decoration: underline; }
.manual-body a:hover { color: #c8a96e; }

/* 記事ページ wave-content 外枠 */
.article-frame { background: #fff; }
.article-frame img { max-width: 100% !important; height: auto !important; }
.article-frame figure img { max-width: 100% !important; }
.article-frame .photo-note img,
.article-frame .photo-message img,
.article-frame .closing-photo img { max-width: 300px !important; width: 100% !important; }

/* ─── 記事ページ内の.heroは top.css の黒ヒーローから隔離 ─── */
.article-frame .hero,
.wave2 .hero {
	background: #fff !important;
	color: #24313b !important;
	border-top: 0 !important;
	padding: 40px 0 32px !important;
	border-bottom: 1px solid #e3e7e8 !important;
}
.article-frame .hero h1,
.wave2 .hero h1 { color: #1a1a1a !important; margin: 17px 0 !important; font-size: clamp(27px, 3.4vw, 39px) !important; }
.article-frame .hero h1 span,
.wave2 .hero h1 span { color: inherit !important; }
.article-frame .hero .kicker,
.wave2 .hero .kicker { color: inherit !important; }
.article-frame .hero .crumb,
.wave2 .hero .crumb { color: #707d86 !important; margin-bottom: 20px !important; font-size: 12px !important; }
.article-frame .hero .meta,
.wave2 .hero .meta { color: #246a59 !important; display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; font-weight: 700; }
.article-frame .wave2.view .hero .meta { color: #927134 !important; }
.article-frame .wave2.qa .hero .meta { color: #345c8d !important; }
.article-frame .wave2.case .hero .meta { color: #476279 !important; }
.article-frame .wave2.diagram .hero .meta { color: #216c77 !important; }
.article-frame .hero .lead,
.wave2 .hero .lead { color: #52636d !important; font-size: 17px !important; max-width: 740px; }
.article-frame .hero .tags,
.wave2 .hero .tags { font-size: 12px; display: flex; flex-wrap: wrap; gap: 10px; }
.article-frame .hero .tags span,
.wave2 .hero .tags span { color: #64727a; border-bottom: 1px solid #d6dce0; padding-bottom: 2px; }

/* 記事内の .main 等も top.css の "sec" 等と干渉しないよう余白明示 */
.article-frame .main,
.wave2 .main { max-width: 800px; margin: auto; padding: 32px 30px 45px; }
.article-frame .wrap,
.wave2 .wrap { max-width: 880px; margin: auto; padding: 0 34px; }

/* 記事下 戻るリンク（1つだけ） */
.article-footer { text-align: center; padding: 32px 24px 48px; background: #faf8f3; border-top: 1px solid #e3dfd6; position: relative; z-index: 10; }
.article-footer .back-link { display: inline-flex; align-items: center; gap: 6px; padding: 14px 32px; background: #fff; border: 1px solid #c8a96e; border-radius: 30px; color: #8b7044; text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: .04em; transition: background .15s, color .15s; }
.article-footer .back-link:hover { background: #c8a96e; color: #fff; }

/* WP管理バーで隠れないように */
body.admin-bar { padding-top: 0; }
