/*!
 * pickup.css — ピックアップ案件（一覧 + 詳細 LP）
 *
 *   .pickup-archive       → archive-pickup.php（雑誌・カタログ風一覧）
 *   .pickup-detail        → single-pickup.php（LP 構成詳細）
 *
 *   .pa- プレフィックス：Pickup Archive
 *   .pd- プレフィックス：Pickup Detail
 *
 *   一覧はモノトーン基調＋大きな英語キャッチで「雑誌の目次」感。
 *   詳細は LP 構成、STEP 番号付き、訴求重視。
 */

/* ============================================================
 * 共通カラーマップ（6 色）
 * ============================================================ */
.pa-feature__cover--c1, .pa-card__cover--c1, .pd-fv--c1 { background: linear-gradient(135deg, #FF8B3D, #E5550D); }
.pa-feature__cover--c2, .pa-card__cover--c2, .pd-fv--c2 { background: linear-gradient(135deg, #1976D2, #0D47A1); }
.pa-feature__cover--c3, .pa-card__cover--c3, .pd-fv--c3 { background: linear-gradient(135deg, #43A047, #1B5E20); }
.pa-feature__cover--c4, .pa-card__cover--c4, .pd-fv--c4 { background: linear-gradient(135deg, #E53935, #B71C1C); }
.pa-feature__cover--c5, .pa-card__cover--c5, .pd-fv--c5 { background: linear-gradient(135deg, #7B1FA2, #4A148C); }
.pa-feature__cover--c6, .pa-card__cover--c6, .pd-fv--c6 { background: linear-gradient(135deg, #5C5648, #26241F); }

/* ============================================================
 * 一覧（pickup-archive）— 雑誌・カタログ風
 * ============================================================ */
.pickup-archive {
	background: var(--paper);
	padding-bottom: 80px;
}

/* パンくず */
.pa-crumb {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px var(--gutter) 0;
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink2);
}
.pa-crumb a { color: var(--ink2); text-decoration: none; }
.pa-crumb a:hover { color: var(--ink); text-decoration: underline; }
.pa-crumb__sep { margin: 0 8px; color: var(--ink3); }
.pa-crumb__cur { color: var(--ink); }

/* ヘッダー */
.pa-head {
	max-width: 1280px;
	margin: 0 auto;
	padding: 50px var(--gutter) 40px;
	text-align: center;
	position: relative;
}
.pa-head__inner {
	max-width: 720px;
	margin: 0 auto;
}
.pa-head__en {
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--accent);
	letter-spacing: .25em;
	font-weight: bold;
	margin-bottom: 14px;
}
.pa-head__title {
	font-family: var(--font-display);
	font-size: 42px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--ink);
	margin: 0 0 10px;
	letter-spacing: -.01em;
}
.pa-head__lead {
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--ink2);
	margin: 0 0 24px;
}
.pa-head__rule {
	width: 60px;
	height: 3px;
	background: var(--ink);
	margin: 0 auto;
	border-radius: 2px;
}

/* ============================================================
 *  フィーチャー（1 件目を大きく）— 表紙バナーを主役に
 * ============================================================ */
.pa-feature {
	max-width: 1280px;
	margin: 0 auto 64px;
	padding: 0 var(--gutter);
}
.pa-feature__link {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 36px;
	align-items: center;
	text-decoration: none;
	color: var(--ink);
}
.pa-feature__link:hover { color: var(--ink); text-decoration: none; }
/* 🏆 編集部イチオシ・バッジ（枠や帯ではなく小さなラベル） */
/* バッジの「ピコン」アニメ（ときどき跳ねて目を引く） */
@keyframes pkPop {
	0%, 64%, 100% { transform: scale(1) rotate(0deg); }
	72%           { transform: scale(1.22) rotate(-3deg); }
	80%           { transform: scale(0.93) rotate(2deg); }
	88%           { transform: scale(1.08) rotate(0deg); }
}
.pa-feature__pick {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .02em;
	color: #fff;
	background: linear-gradient(90deg, var(--accent2, #FF6B35), var(--accent));
	padding: 9px 17px;
	border-radius: 999px;
	transform-origin: center;
	will-change: transform;
	animation: pkPop 2.6s ease-in-out infinite;
}

/* 表紙バナー：クリーンに全面表示（16:10・暗幕オーバーレイなし） */
.pa-feature__cover,
.pa-card__cover {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: 10px;
	overflow: hidden;
	border: 2px solid var(--ink);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: rgba(255,255,255,.92);
	font-family: var(--font-display);
}
.pa-feature__media,
.pa-card__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pa-ph-icon { font-size: 30px; opacity: .7; }
.pa-ph-desc { font-size: 12px; opacity: .85; text-align: center; line-height: 1.4; padding: 3px 12px; }

@media (hover: hover) {
	.pa-feature__link:hover .pa-feature__cover,
	.pa-card:hover .pa-card__cover {
		filter: brightness(1.04);
	}
	.pa-feature__cover, .pa-card__cover { transition: filter .18s; }
	.pa-feature__link:hover .pa-feature__more,
	.pa-card:hover .pa-card__more {
		background: var(--sticky);
		transform: translateY(-2px);
	}
}

/* No. チップ（画像に被せず、本文ヘッダーに配置） */
/* No. = 順位メダル（金・銀・銅）。テーマ色は使わず「順位」を色＋メダルで表現 */
.pa-no {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--font-display);
	font-weight: 900;
	font-size: 16px;
	line-height: 1;
	letter-spacing: .01em;
	color: #fff;
	background: var(--ink);            /* 4 位以降の既定（ダーク） */
	padding: 7px 14px;
	border-radius: 999px;
}
.pa-no::before { content: "🏅"; font-size: 15px; }
.pa-no--rank1 { color: #5a4500; background: linear-gradient(135deg, #FFF3BE 0%, #FFD24D 46%, #E5A200 100%); }
.pa-no--rank1::before { content: "🥇"; }
.pa-no--rank2 { color: #2f343b; background: linear-gradient(135deg, #FBFCFE 0%, #D6DBE2 46%, #A7AFB9 100%); }
.pa-no--rank2::before { content: "🥈"; }
.pa-no--rank3 { color: #4a2a12; background: linear-gradient(135deg, #F8DBB7 0%, #D89C66 46%, #AF6932 100%); }
.pa-no--rank3::before { content: "🥉"; }
/* ヒーローの No. はさらに大きく目立たせる */
.pa-feature__meta .pa-no { font-size: 19px; padding: 9px 17px; }
.pa-feature__meta .pa-no::before { font-size: 18px; }

/* バッジタグ（旧 吹き出しの内容を、画像に被せないフラットなタグに） */
.pa-tag {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-display);
	font-weight: bold;
	font-size: 13.5px;
	line-height: 1;
	letter-spacing: .02em;
	padding: 8px 15px;
	border-radius: 999px;
	white-space: nowrap;
	transform-origin: center;
	will-change: transform;
	animation: pkPop 2.6s ease-in-out infinite;
	animation-delay: .9s;
}
/* 動きを減らす設定の人にはアニメを止める */
@media (prefers-reduced-motion: reduce) {
	.pa-tag, .pa-feature__pick { animation: none; }
}
.pa-tag--red    { background: #E53935; color: #fff; }
.pa-tag--orange { background: #FF8B3D; color: #fff; }
.pa-tag--yellow { background: #FFD700; color: var(--ink); }
.pa-tag--green  { background: #43A047; color: #fff; }
.pa-tag--blue   { background: #1976D2; color: #fff; }
.pa-tag--pink   { background: #FF6B9D; color: #fff; }

/* 数字ストリップ（月収例・祝金・寮費 など） */
.pa-stats {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.pa-stat {
	background: var(--paper3);
	border-radius: 8px;
	padding: 10px 8px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.pa-stat__lb {
	font-family: var(--font-display);
	font-size: 10.5px;
	color: var(--ink2);
	letter-spacing: .02em;
}
.pa-stat__vl {
	font-family: var(--font-display);
	font-size: 27px;
	font-weight: 900;
	line-height: 1;
	color: var(--ink);
}
.pa-stat__vl small { font-size: 12px; font-weight: bold; margin-left: 2px; }
.pa-stats--compact { gap: 7px; margin-bottom: 14px; }
.pa-stats--compact .pa-stat { padding: 8px 5px; }
.pa-stats--compact .pa-stat__vl { font-size: 19px; }
.pa-stats--compact .pa-stat__lb { font-size: 9.5px; }
.pa-stats--compact .pa-stat__vl small { font-size: 10px; }

/* フィーチャー本文 */
.pa-feature__body { display: flex; flex-direction: column; justify-content: center; }
.pa-feature__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}
.pa-feature__en {
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--accent);
	letter-spacing: .22em;
	font-weight: bold;
}
.pa-feature__title {
	font-family: var(--font-display);
	font-size: 41px;
	font-weight: bold;
	line-height: 1.24;
	color: var(--ink);
	margin: 2px 0 14px;
	letter-spacing: -.01em;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.pa-feature__lead {
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--ink2);
	margin: 0 0 20px;
	line-height: 1.8;
}
.pa-feature__area {
	font-family: var(--font-display);
	font-size: 11px;
	color: var(--ink3);
	letter-spacing: .08em;
	margin: 0 0 22px;
	padding-top: 14px;
	border-top: 1.5px dashed var(--ink3);
}
.pa-feature__more {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: bold;
	color: var(--ink);
	background: var(--sticky);
	border: 2.5px solid var(--ink);
	border-radius: 999px;
	padding: 14px 32px;
	align-self: flex-start;
	transition: transform .15s, background .15s;
}

/* ============================================================
 *  3 列グリッド
 * ============================================================ */
.pa-grid-wrap { max-width: 1280px; margin: 0 auto; padding: 0 var(--gutter); }
.pa-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 36px 28px;
}

/* ============================================================
 *  カード（白いボックス：白背景＋枠・影なし・全面バナー）
 * ============================================================ */
.pa-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--ink);
	background: #fff;
	border: 2px solid var(--ink);
	border-radius: 12px;
	overflow: hidden;
}
.pa-card:hover { color: var(--ink); text-decoration: none; }
@media (hover: hover) {
	.pa-card { transition: transform .18s; }
	.pa-card:hover { transform: translateY(-3px); }
	.pa-card:hover .pa-card__cover { filter: brightness(1.04); }
}
/* カード内のバナーは枠＝カード側に任せて全面表示（16:10・影なし） */
.pa-card__cover {
	border: none;
	border-radius: 0;
}
.pa-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 15px 18px 18px;
}
.pa-card__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 11px;
}
.pa-card__head .pa-tag { margin-left: auto; }
.pa-card__en {
	font-family: var(--font-display);
	font-size: 11px;
	color: var(--accent);
	letter-spacing: .1em;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.pa-card__title {
	font-family: var(--font-display);
	font-size: 19px;
	font-weight: bold;
	line-height: 1.45;
	color: var(--ink);
	margin: 0 0 8px;
	letter-spacing: -.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.pa-card__lead {
	font-family: var(--font-display);
	font-size: 12.5px;
	color: var(--ink2);
	margin: 0 0 14px;
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* 数字チップ（ボックス感を抑えた小さめピル） */
.pa-chips {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.pa-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	background: var(--paper3);
	border-radius: 6px;
	padding: 4px 9px;
	font-family: var(--font-display);
	line-height: 1.1;
}
.pa-chip__l { font-size: 9.5px; color: var(--ink2); }
.pa-chip__v { font-size: 13px; font-weight: 900; color: var(--ink); }
/* 下段：エリア＋ボタン（カード下端に固定して、カード間で揃える） */
.pa-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1.5px dashed var(--ink3);
}
.pa-card__area {
	font-family: var(--font-display);
	font-size: 10.5px;
	color: var(--ink3);
	letter-spacing: .04em;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pa-card__more {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	font-family: var(--font-display);
	font-size: 12.5px;
	font-weight: bold;
	color: var(--ink);
	background: var(--sticky);
	border: 2px solid var(--ink);
	border-radius: 999px;
	padding: 7px 15px;
	transition: transform .15s, background .15s;
}
@media (hover: hover) {
	.pa-card:hover .pa-card__more { transform: translateX(2px); }
}

/* 求人検索誘導バナー */
.pa-banner {
	max-width: 1280px;
	margin: 60px auto 0;
	padding: 0 var(--gutter);
}
.pa-banner__inner {
	background: var(--ink);
	color: var(--paper);
	padding: 24px 28px;
	border-radius: 4px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 18px;
	align-items: center;
	font-family: var(--font-display);
	border: var(--bd-w-thick) solid var(--ink);
	box-shadow: 6px 6px 0 var(--accent);
}
.pa-banner__h {
	font-family: var(--font-display);
	font-size: 22px;
	margin: 0 0 4px;
	font-weight: bold;
}
.pa-banner__p {
	font-family: var(--font-display);
	font-size: 13px;
	color: var(--paper2);
	margin: 0;
}

/* ============================================================
 * 詳細（pickup-detail）— LP 構成
 * ============================================================ */
.pickup-detail {
	background: var(--paper);
}

.pd-crumb {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px var(--gutter) 0;
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink2);
}
.pd-crumb a { color: var(--ink2); text-decoration: none; }
.pd-crumb a:hover { color: var(--ink); text-decoration: underline; }
.pd-crumb__sep { margin: 0 8px; color: var(--ink3); }
.pd-crumb__cur { color: var(--ink); }

/* ─── ① FV ─── */
/* ============================================================
   ピックアップ wp_lp：FV（ファーストビュー）— ダーク×アクセントの没入型ヒーロー
   サイトのPOPと差別化し「1本の本格セールスLP」の世界観を作る。
   ============================================================ */
.pd-fv {
	position: relative;
	min-height: 90vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 96px 24px 112px;
	text-align: center;
	color: var(--ink);
	/* 明るく温かいクリーム基調＋上部中央にやわらかい橙グロー（希望・新しいスタート） */
	background:
		radial-gradient(120% 75% at 50% -6%, rgba(255,150,90,.22) 0%, rgba(255,150,90,0) 54%),
		linear-gradient(170deg, #fffdf8 0%, #fdf2e1 55%, #fceccf 100%);
	overflow: hidden;
}
/* 背景写真（アイキャッチがある場合） */
.pd-fv__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	filter: brightness(1.05) saturate(1.05);
}
/* 微細なドットテクスチャ（明るい背景用に淡い影のドット） */
.pd-fv::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: radial-gradient(rgba(0,0,0,.035) 1.5px, transparent 1.5px);
	background-size: 26px 26px;
	pointer-events: none;
}
/* 下端をほんのり温かく沈めて次セクションへ繋ぐ */
.pd-fv::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent 72%, rgba(214,176,120,.18) 100%);
	pointer-events: none;
}
/* 背景写真がある場合は、明るい白ベールを重ねて写真をうっすら残しつつ黒文字の可読性を確保 */
.pd-fv--has-bg::after {
	background:
		linear-gradient(180deg, rgba(255,253,248,.86) 0%, rgba(255,250,240,.72) 48%, rgba(252,236,207,.86) 100%);
}
.pd-fv__inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto;
	width: 100%;
	text-align: center;
}
.pd-fv__no {
	display: inline-block;
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: bold;
	color: var(--ink3);
	margin-bottom: 8px;
}
.pd-fv__kicker {
	display: inline-block;
	background: rgba(255,106,61,.12);
	border: 1px solid rgba(255,106,61,.45);
	color: #d4502a;
	padding: 7px 18px;
	border-radius: 999px;
	font-family: var(--font-display);
	font-size: 12px;
	letter-spacing: .12em;
	margin: 0 0 22px;
	font-weight: bold;
}
.pd-fv__title {
	font-family: var(--font-display);
	font-size: clamp(34px, 8.6vw, 60px);
	font-weight: bold;
	line-height: 1.34;
	letter-spacing: -.01em;
	margin: 0 0 22px;
	color: var(--ink);
	text-shadow: 0 2px 12px rgba(255,255,255,.6);
}
/* 強調語（月収45万円 等）は橙グラデーション文字でプレミアムに（明るい背景で映える濃いめの橙） */
.pd-fv__title em {
	font-style: normal;
	background: linear-gradient(180deg, #ff7a32 0%, #e8521f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding: 0;
	border: none;
	box-shadow: none;
	transform: none;
	text-shadow: none;
}
.pd-fv__lead {
	font-family: var(--font-display);
	font-size: clamp(14px, 3.6vw, 17px);
	color: var(--ink2);
	max-width: 600px;
	margin: 0 auto 30px;
	line-height: 1.9;
}
/* タイトル直下の画像スロット（アイキャッチを設定すると表示。角丸・白フチ・影） */
.pd-fv__media {
	margin: 4px auto 28px;
	max-width: 600px;                 /* アーカイブ表紙（.pu-intro__slider ≒593px）と同サイズに揃える */
	width: 100%;
	border-radius: 0;                 /* 四角（角丸なし）はそのまま */
	overflow: hidden;
	border: 4px solid #fff;           /* 白い縁は元に戻す */
	box-shadow: 0 18px 44px rgba(180,120,60,.22);   /* 薄い影も元に戻す */
	background: #fff;
}
.pd-fv__media-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;            /* 他のアイキャッチと統一 */
	object-fit: cover;
}
/* ─── スペック帯（横1本・3項目を区切り線で並べる） ─── */
.pd-fv__spec {
	display: inline-flex;
	align-items: stretch;
	margin: 0 0 8px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.07);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(180,120,60,.12);
	max-width: 100%;
}
.pd-fv__spec-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border-right: 1px solid rgba(0,0,0,.07);
}
.pd-fv__spec-item:last-child { border-right: none; }
.pd-fv__spec-vl {
	font-family: var(--font-display);
	font-size: clamp(26px, 6.4vw, 38px);
	font-weight: bold;
	line-height: 1;
	background: linear-gradient(180deg, #ff8a3d 0%, #e8521f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	white-space: nowrap;
}
.pd-fv__spec-vl small {
	font-size: 13px;
	margin-left: 3px;
	font-weight: bold;
	-webkit-text-fill-color: var(--ink2);
	color: var(--ink2);
}
.pd-fv__spec-lb {
	font-family: var(--font-display);
	font-size: 11px;
	color: var(--ink3);
	margin-top: 6px;
	white-space: nowrap;
}

/* ─── アクション（主役CTA＝LINE ＋ 副導線＝電話/メール） ─── */
.pd-fv__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.pd-fv__cta-main {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	min-width: 320px;
	max-width: 100%;
	background: linear-gradient(135deg, #06c755 0%, #05a948 100%);
	color: #fff;
	font-family: var(--font-display);
	text-decoration: none;
	padding: 17px 26px;
	border-radius: 14px;
	box-shadow: 0 14px 32px rgba(6,199,85,.38);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pd-fv__cta-main:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(6,199,85,.5);
	color: #fff;
}
.pd-fv__cta-main-ic { font-size: 22px; line-height: 1; }
.pd-fv__cta-main-tx {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.25;
	font-size: clamp(16px, 4.4vw, 19px);
	font-weight: bold;
	text-align: center;
}
.pd-fv__cta-main-tx small {
	font-size: 11px;
	font-weight: normal;
	opacity: .92;
	margin-top: 3px;
}
.pd-fv__cta-main-arrow {
	margin-left: auto;
	font-size: 18px;
	opacity: .85;
}
.pd-fv__cta-sub {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
}
.pd-fv__cta-sub a {
	color: var(--ink2);
	text-decoration: none;
	font-family: var(--font-display);
	font-size: 13px;
	border-bottom: 1px solid rgba(0,0,0,.22);
	padding-bottom: 2px;
	transition: color .15s ease, border-color .15s ease;
}
.pd-fv__cta-sub a:hover { color: var(--ink); border-color: var(--ink); }

/* ─── 信頼チップ ─── */
.pd-fv__trust {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 24px;
}
.pd-fv__trust span {
	font-family: var(--font-display);
	background: rgba(255,255,255,.7);
	border: 1px solid rgba(0,0,0,.1);
	color: var(--ink2);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12px;
}
.pd-fv__trust span::before { content: "✓ "; color: #ff6a3d; font-weight: bold; }

/* （旧）中央配置のステータスカード群 — 左寄せ構成では未使用。後方互換のため残置 */
.pd-fv__stats {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 0 0 32px;
	flex-wrap: wrap;
}
/* ガラス調のステータスカード（プレミアム感） */
.pd-stat {
	background: rgba(255,255,255,.07);
	color: #fff;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 14px;
	padding: 16px 22px;
	box-shadow: 0 10px 28px rgba(0,0,0,.28);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-family: var(--font-display);
	text-align: center;
	min-width: 104px;
}
.pd-stat__lb {
	font-family: var(--font-display);
	font-size: 11px;
	color: rgba(255,255,255,.7);
	margin-bottom: 3px;
}
.pd-stat__vl {
	font-family: var(--font-display);
	font-size: clamp(30px, 8.5vw, 46px);
	background: linear-gradient(180deg, #ffd8a6 0%, #ff7a45 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: bold;
	line-height: 1;
	letter-spacing: -.02em;
}
.pd-stat__sub {
	font-family: var(--font-display);
	font-size: 11px;
	color: rgba(255,255,255,.7);
	margin-top: 4px;
}
.pd-fv__cta,
.pd-cta-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 6px;
}
/* CTAボタン共通（LP内のmid CTA等）：フラット＋柔らかい影でプレミアムに
   ※記事LP(pickup-01)は .pal-cta-inline 側で別途上書きしているので影響しない */
.pd-cta-buttons .btn {
	padding: 15px 26px;
	font-size: 15px;
	border: none;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0,0,0,.16);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pd-cta-buttons .btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
/* FVのCTAだけ：ダークで映えるフラット＋柔らかい影 */
.pd-fv .pd-cta-buttons .btn,
.pd-fv__cta .btn {
	border: none;
	border-radius: 12px;
	box-shadow: 0 10px 24px rgba(0,0,0,.34);
	padding: 15px 26px;
}
/* FV内のリスクリバーサル（履歴書不要 等）はダーク用の淡いチップに */
.pd-fv .pd-risk-reversal {
	margin-top: 16px;
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
}
.pd-fv .pd-rr__chip {
	background: rgba(255,255,255,.1);
	color: rgba(255,255,255,.85);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	padding: 5px 12px;
	font-size: 11.5px;
}
.pd-fv__scroll-hint {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(0,0,0,.32);
	font-size: 22px;
	animation: pd-bounce 1.8s ease-in-out infinite;
}
@keyframes pd-bounce {
	0%, 100% { transform: translate(-50%, 0); opacity: .6; }
	50%      { transform: translate(-50%, 8px); opacity: 1; }
}

/* ─── 共通セクション ─── */
/* 参考LP準拠：白を基準色にし、セクションごとに背景を切り替えて境目をはっきりさせる。
   グレー背景は使わない。白を基準に、区切り線＋アクセント帯(特典#fff3e8)＋ダーク(②悩み)＋温色(closing)で構成。 */
.pd-section {
	padding: 76px 26px 72px;
	background: #ffffff;
	border-bottom: none;
	position: relative;
	/* フローティング「求人詳細を見る」ボタン等から #case-detail にジャンプした時、
	   sticky ヘッダーで隠れないよう余白を確保 */
	scroll-margin-top: 110px;
}
/* 白セクション同士の境目は細い区切り線で示す（グレー背景は使わない） */
.pd-section + .pd-section {
	border-top: 1px solid rgba(0,0,0,.08);
}
@media (min-width: 783px) {
	body.admin-bar .pd-section { scroll-margin-top: 142px; }  /* + admin-bar 32px */
}
.pd-section__inner {
	max-width: 880px;
	margin: 0 auto;
}
.pd-step {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-family: var(--font-display);
	font-size: 13px;
	color: var(--accent);
	letter-spacing: .3em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 12px;
}
/* キッカー両脇の装飾ライン（— LABEL —） */
.pd-step::before,
.pd-step::after {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
	opacity: .5;
	border-radius: 2px;
}
.pd-section__title {
	font-family: var(--font-display);
	font-size: clamp(27px, 6.8vw, 39px);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	color: var(--ink);
	margin: 0 0 38px;
	position: relative;
	padding-bottom: 22px;
	letter-spacing: -.01em;
}
/* タイトル下の装飾ディバイダー：両端が消えるグラデ線＋中央にアクセントのドット */
.pd-section__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 76px;
	height: 12px;
	background:
		radial-gradient(circle 4.5px at 50% 50%, #ff6a3d 60%, transparent 64%),
		linear-gradient(90deg, transparent 0%, #ffb27a 22%, #ff6a3d 50%, #ffb27a 78%, transparent 100%);
	background-repeat: no-repeat;
	background-position: center center, center center;
	background-size: 14px 14px, 76px 2px;
	border-radius: 0;
}
/* セクション見出し内の <em> や <span class="mk"> でテキスト一部を黄色マーカーで強調 */
.pd-section__title em,
.pd-section__title .mk {
	font-style: normal;
	background: linear-gradient(transparent 52%, rgba(255,176,61,.5) 52%);
	padding: 0 4px;
	border-radius: 2px;
}
.pd-section__title .accent {
	color: var(--accent2);
}

/* ============ ② 悩み訴求（pd-pains）— ダークな"今の不安"パート ============ */
.pd-pains {
	background: linear-gradient(180deg, #0c0e13 0%, #14181d 58%, #1a1f27 100%);
	color: #fff;
	border-bottom: none;
	position: relative;
	overflow: hidden;
}
.pd-pains::before {
	content: "";
	position: absolute;
	top: -12%;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	height: 360px;
	background: radial-gradient(58% 100% at 50% 0%, rgba(125,145,180,.13) 0%, transparent 72%);
	pointer-events: none;
}
.pd-pains .pd-step,
.pd-step--dark {
	color: #ff9a6a;
	letter-spacing: .34em;
}
.pd-pains__leadtext {
	display: block;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: normal;
	color: rgba(255,255,255,.58);
	letter-spacing: .1em;
	margin-bottom: 12px;
}
.pd-pains__title {
	color: #fff;
	position: relative;
	z-index: 1;
	font-size: clamp(25px, 6.2vw, 36px);
	padding-bottom: 0;
	margin: 0 0 14px;
}
.pd-pains__title::after { display: none; }
.pd-pains__br-sp { display: none; }
.pd-pains__note {
	text-align: center;
	font-family: var(--font-display);
	font-size: 13px;
	color: rgba(255,255,255,.55);
	margin: 0 auto 42px;
	max-width: 600px;
	line-height: 1.7;
	position: relative;
	z-index: 1;
}
/* 悩みカード：2カラムのガラス調"つぶやき"カード */
.pd-pain-list {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	max-width: 760px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.pd-pain-item {
	background: rgba(255,255,255,.045);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 16px;
	padding: 30px 24px 22px;
	font-family: var(--font-display);
	font-size: 16px;
	color: rgba(255,255,255,.9);
	line-height: 1.75;
	position: relative;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
	overflow: hidden;
}
.pd-pain-item::before {
	content: "\201C";
	position: absolute;
	top: 6px;
	left: 16px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 60px;
	line-height: 1;
	color: rgba(255,255,255,.1);
	pointer-events: none;
}
.pd-pain-item:hover {
	transform: translateY(-3px);
	border-color: rgba(255,154,106,.4);
	background: rgba(255,255,255,.07);
}
.pd-pain-item__text {
	display: block;
	position: relative;
	z-index: 1;
}
.pd-pain-item__icon {
	position: absolute;
	bottom: 16px;
	right: 18px;
	font-size: 22px;
	opacity: .55;
	filter: grayscale(.4);
}

/* ============ ③ 解決の宣言（pd-solution）— 暗い悩みから"明転"する relief パート ============
   ダークな②から一気に光が差すブライト＆プレミアム。柔らかい影とアクセントで上品に。 */
.pd-solution {
	background:
		radial-gradient(70% 44% at 50% 0%, rgba(255,196,120,.22) 0%, rgba(255,196,120,0) 60%),
		#ffffff;
	position: relative;
	overflow: hidden;
}
.pd-solution::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(rgba(255, 139, 61, 0.06) 1.5px, transparent 1.5px);
	background-size: 26px 26px;
	pointer-events: none;
}
/* ②(ダーク)から③(明るい)へ光が差す＝橙の丸バッジで橋渡し */
.pd-solution__bridge {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ff8a3d 0%, #ff6a3d 100%);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	border: 4px solid #fffdf8;
	box-shadow: 0 10px 24px rgba(255,106,61,.42);
	z-index: 2;
	animation: pd-bridge-bounce 1.8s ease-in-out infinite;
}
@keyframes pd-bridge-bounce {
	0%, 100% { transform: translate(-50%, 0); }
	50%      { transform: translate(-50%, 6px); }
}
.pd-solution .pd-section__inner {
	position: relative;
	z-index: 1;
	text-align: center;
}
.pd-solution__lightbulb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,200,120,.55) 0%, rgba(255,200,120,.16) 45%, rgba(255,200,120,0) 72%);
	font-size: 44px;
	line-height: 1;
	margin: 0 0 12px;
	animation: pd-bulb-glow 2.8s ease-in-out infinite;
}
@keyframes pd-bulb-glow {
	0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(255, 170, 80, 0)); }
	50%      { transform: scale(1.05); filter: drop-shadow(0 0 18px rgba(255, 170, 80, 0.6)); }
}
.pd-solution__headline {
	font-family: var(--font-display);
	font-size: clamp(28px, 7vw, 42px);
	font-weight: bold;
	color: var(--ink);
	line-height: 1.5;
	margin: 0 0 36px;
	letter-spacing: -.01em;
}
/* 「この案件で全部」= さりげない橙のハイライト下線 */
.pd-solution__headline-em {
	display: inline-block;
	background: linear-gradient(transparent 64%, rgba(255,138,61,.32) 64%);
	padding: 0 6px;
	color: var(--ink);
}
/* 「解決できます。」= アクセントの橙グラデで大きく強調 */
.pd-solution__headline-strong {
	display: inline-block;
	font-size: 1.18em;
	background: linear-gradient(180deg, #ff8a3d 0%, #e8521f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	letter-spacing: .01em;
}
.pd-solution__lead {
	font-family: var(--font-display);
	font-size: 15px;
	color: var(--ink2);
	margin: -18px 0 34px;
	line-height: 1.7;
}
.pd-solution__body {
	font-family: var(--font-display);
	font-size: 17px;
	line-height: 2.05;
	color: var(--ink);
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	padding: 28px 32px;
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(180,120,60,.12);
	max-width: 720px;
	margin: 0 auto 32px;
	text-align: left;
}
.pd-solution__body strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255,138,61,.3) 60%);
	padding: 0 4px;
}

/* ─── 解決カード（プレミアム：白カード＋柔らかい影＋アクセント番号） ─── */
.pd-solution__cards {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 760px;
	margin: 0 auto 40px;
}
.pd-sol-card {
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 18px;
	padding: 26px 30px;
	box-shadow: 0 14px 34px rgba(180,120,60,.1);
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 22px;
	align-items: start;
	text-align: left;
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
}
.pd-sol-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 44px rgba(180,120,60,.18);
}
.pd-sol-card__no {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: linear-gradient(135deg, #ff8a3d 0%, #ff6a3d 100%);
	color: #fff;
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(255,106,61,.35);
}
.pd-sol-card__no-label {
	font-family: var(--font-display);
	font-size: 9px;
	font-weight: bold;
	letter-spacing: .12em;
	opacity: .9;
	margin-bottom: 1px;
}
.pd-sol-card__no-num {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: -.02em;
}
.pd-sol-card__badge {
	display: inline-block;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: bold;
	color: #d4502a;
	background: rgba(255, 138, 61, 0.12);
	border: 1px solid rgba(255, 138, 61, 0.4);
	padding: 3px 12px;
	border-radius: 999px;
	margin-bottom: 10px;
	letter-spacing: .05em;
}
/* ビフォー（②で出した悩みを再掲）→ アフター（解決）の対比 */
.pd-sol-card__before {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 6px;
	font-family: var(--font-display);
}
.pd-sol-card__before-tag {
	font-size: 10px;
	font-weight: bold;
	letter-spacing: .04em;
	color: var(--ink3);
	background: rgba(0,0,0,.05);
	border-radius: 999px;
	padding: 3px 10px;
	white-space: nowrap;
}
.pd-sol-card__before-text {
	font-size: 14px;
	color: var(--ink3);
	text-decoration: line-through;
	text-decoration-color: rgba(0,0,0,.28);
	line-height: 1.6;
}
.pd-sol-card__arrow {
	font-size: 16px;
	color: var(--accent);
	line-height: 1;
	margin: 0 0 8px;
}
.pd-sol-card__h {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: bold;
	color: var(--ink);
	margin: 0 0 8px;
	line-height: 1.4;
	letter-spacing: -.01em;
}
.pd-sol-card__check {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #2e9e5b;
	color: #fff;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
	box-shadow: 0 3px 8px rgba(46,158,91,.32);
}
/* 解決カード：見出しの下に入れられる画像（任意） */
.pd-sol-card__media {
	margin: 12px 0;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.06);
	box-shadow: 0 8px 20px rgba(180,120,60,.12);
}
.pd-sol-card__media-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
/* 編集者にだけ見えるプレースホルダ枠（入れ場所の可視化／訪問者には非表示） */
.pd-sol-card__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background: repeating-linear-gradient(45deg, rgba(255,138,61,.06) 0 10px, rgba(255,138,61,.12) 10px 20px);
	border: 1.5px dashed rgba(255,138,61,.55);
	box-shadow: none;
	color: #c4622e;
	text-align: center;
}
.pd-sol-card__media-ph-tx {
	font-family: var(--font-display);
	font-size: 13px;
	line-height: 1.5;
}
.pd-sol-card__media-ph-tx small {
	font-size: 10.5px;
	opacity: .8;
}
/* PC（769px〜）：画像があるカードは「テキスト左／画像右」の横並びに。
   16:9の全幅だと画像が大きすぎるため、右に控えめなサイズで添える。 */
@media (min-width: 769px) {
	.pd-sol-card--media .pd-sol-card__body {
		display: grid;
		grid-template-columns: 1fr 280px;
		grid-template-areas:
			"badge media"
			"head  media"
			"desc  media";
		column-gap: 24px;
		align-items: start;
	}
	.pd-sol-card--media .pd-sol-card__badge { grid-area: badge; justify-self: start; }
	.pd-sol-card--media .pd-sol-card__h     { grid-area: head; }
	.pd-sol-card--media .pd-sol-card__p     { grid-area: desc; }
	.pd-sol-card--media .pd-sol-card__media,
	.pd-sol-card--media .pd-sol-card__media--ph {
		grid-area: media;
		align-self: center;
		margin: 0;
	}

	/* ⑤ ベネフィット PC版（≥769px）：
	   ・帯は上に全幅
	   ・下半分は「画像（左 280px）／テキスト（右 1fr）」の2カラム
	   ・画像とテキストの縦中央を揃えてバランスを取る
	   ・スマホ（≤768px）は別ブロックで縦並びのまま維持 */
	.pd-benefit-grid { max-width: 760px; }
	.pd-benefit {
		display: grid;
		grid-template-columns: 280px 1fr;
		grid-template-areas:
			"bar bar"
			"img txt";
		column-gap: 28px;
		row-gap: 18px;
		align-items: center;
	}
	.pd-benefit__bar { grid-area: bar; }
	.pd-benefit__media,
	.pd-benefit__media--ph { grid-area: img; margin: 0; }
	.pd-benefit__p { grid-area: txt; margin: 0; }
	.pd-benefit__media-img {
		aspect-ratio: 4 / 3;
		width: 100%;
		height: auto;
		object-fit: cover;
	}
	.pd-benefit__media--ph {
		aspect-ratio: 4 / 3;
		min-height: 0;
	}
	.pd-benefit__p {
		font-size: 16px;
		line-height: 1.95;
	}
}
.pd-sol-card__p {
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.9;
	color: var(--ink2);
	margin: 0;
}
.pd-sol-card__p strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255,138,61,.3) 60%);
	padding: 0 4px;
	color: var(--ink);
}
/* ─── 約束の印（プレミアム：柔らかい橙リング） ─── */
.pd-solution__seal {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	background: #fff;
	border: 2px solid rgba(255,106,61,.5);
	border-radius: 50%;
	width: 132px;
	height: 132px;
	justify-content: center;
	box-shadow: 0 12px 30px rgba(255,106,61,.18);
	margin-top: 6px;
}
.pd-solution__seal-en {
	font-family: var(--font-display);
	font-size: 11px;
	color: var(--accent);
	letter-spacing: .15em;
	font-weight: bold;
	margin-bottom: 5px;
}
.pd-solution__seal-ja {
	font-family: var(--font-display);
	font-size: 11px;
	color: var(--ink);
	text-align: center;
	line-height: 1.55;
	font-weight: bold;
	padding: 0 10px;
}
.pd-solution__br-sp { display: none; }

/* ⑤ ベネフィット（一番大事なセクション）：参考LP準拠。
   各特徴を「オレンジ帯（白見出し＋大きい番号）→ 写真 → 説明文」の縦積みブロックに。 */
.pd-benefits {
	background: #ffffff;
	border-bottom: none;
	position: relative;
	overflow: hidden;
}
.pd-benefits .pd-section__inner {
	position: relative;
	z-index: 1;
}
.pd-benefits__num {
	color: #ff6a18;
	font-size: 1.5em;
	margin: 0 .08em;
	line-height: 1;
}
.pd-benefit-grid {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 680px;
	margin: 0 auto;
}
.pd-benefit {
	background: none;
	border: none;
	box-shadow: none;
}
/* オレンジの見出し帯（白タイトル＋右に大きい番号ウォーターマーク） */
.pd-benefit__bar {
	position: relative;
	background: linear-gradient(135deg, #ff8a2c 0%, #ff6a18 100%);
	border-radius: 8px;
	padding: 18px 24px;
	overflow: hidden;
}
.pd-benefit__h {
	position: relative;
	z-index: 1;
	font-family: var(--font-display);
	font-size: clamp(20px, 5vw, 26px);
	font-weight: 800;
	color: #fff;
	margin: 0;
	line-height: 1.3;
	letter-spacing: -.01em;
}
.pd-benefit__bignum {
	position: absolute;
	right: 18px;
	bottom: -14px;
	font-family: var(--font-display);
	font-size: 86px;
	font-weight: 800;
	font-style: italic;
	color: rgba(255,255,255,.22);
	line-height: 1;
	pointer-events: none;
}
/* 帯の下の写真 */
.pd-benefit__media {
	margin: 14px 0 0;
	border-radius: 8px;
	overflow: hidden;
}
.pd-benefit__media-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.pd-benefit__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background: repeating-linear-gradient(45deg, #f5f5f5 0 12px, #ececec 12px 24px);
	color: #9a9a9a;
	font-family: var(--font-display);
	font-size: 14px;
}
.pd-benefit__p {
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.9;
	color: var(--ink);
	margin: 16px 4px 0;
}
.pd-benefit__p strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255,138,61,.3) 60%);
	padding: 0 3px;
	color: var(--ink);
}
.pd-benefit__flag { display: none; }

/* ⑤ 案件詳細（pd-detail） */
.pd-detail__gallery {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 200px 160px;
	gap: 12px;
	margin-bottom: 32px;
}
.pd-detail__img {
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.08);
	overflow: hidden;
	background: var(--paper2);
}
.pd-detail__img--main {
	grid-row: span 2;
}
.pd-detail__img .ph {
	height: 100%;
	border: none;
	border-radius: 0;
}
/* 実画像が入った時：枠いっぱいに表示＋下にラベルバッジを重ねる */
.pd-detail__img { position: relative; }
.pd-detail__img > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pd-detail__img-cap {
	position: absolute;
	left: 12px;
	bottom: 12px;
	padding: 5px 12px;
	background: rgba(255,255,255,.92);
	color: #333;
	font-size: 13px;
	font-weight: 600;
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(0,0,0,.12);
	line-height: 1.4;
	z-index: 2;
}

/* ⑤ 案件詳細：スライダー（A案 - 1枚ずつ大きく / 左右矢印 / 下にドット） */
.pd-detail__slider {
	position: relative;
	margin: 0 auto 32px;
	max-width: 680px; /* PCで画像が肥大化しないように上限。スマホは下のメディアクエリで100%に */
}
.pd-slider__viewport {
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.08);
	background: var(--paper2);
	aspect-ratio: 16 / 10; /* 16:9だと縦が長すぎたので少し平らに */
}
.pd-slider__track {
	display: flex;
	height: 100%;
	transition: transform .35s ease;
	will-change: transform;
}
.pd-slider__slide {
	position: relative;
	flex: 0 0 100%;
	height: 100%;
}
.pd-slider__slide > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pd-slider__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(255,255,255,.94);
	color: #333;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.18);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease, transform .15s ease;
	z-index: 3;
	padding: 0;
}
.pd-slider__btn:hover { background: #fff; }
.pd-slider__btn:active { transform: translateY(-50%) scale(.95); }
.pd-slider__btn--prev { left: 12px; }
.pd-slider__btn--next { right: 12px; }
.pd-slider__dots {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: 12px;
}
.pd-slider__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(0,0,0,.18);
	cursor: pointer;
	padding: 0;
	transition: background .2s ease, transform .2s ease;
}
.pd-slider__dot.is-active {
	background: var(--accent, #d97a2c);
	transform: scale(1.25);
}
.pd-slider__dot:hover { background: rgba(0,0,0,.32); }
.pd-slider__dot.is-active:hover { background: var(--accent, #d97a2c); }

@media (max-width: 768px) {
	.pd-slider__btn { width: 38px; height: 38px; font-size: 22px; }
	.pd-slider__btn--prev { left: 8px; }
	.pd-slider__btn--next { right: 8px; }
}
.pd-detail__table {
	background: #ffffff;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 14px;
	overflow: hidden;
}
.pd-detail__row {
	display: grid;
	grid-template-columns: 168px 1fr;
	border-bottom: 1px solid rgba(0,0,0,.07);
}
.pd-detail__row:last-child { border-bottom: none; }
.pd-detail__k {
	background: var(--paper2);
	padding: 16px 20px;
	font-family: var(--font-display);
	font-size: 13.5px;
	font-weight: bold;
	color: var(--ink);
	border-left: 3px solid var(--accent);
	letter-spacing: .02em;
}
.pd-detail__v {
	padding: 16px 20px;
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.8;
	color: var(--ink);
}

/* フリー記入ブロック：管理画面から自由文を流し込めるスペース。
   仕事の進め方、補足説明、追加画像など、表に収まらない情報を載せる場所。 */
.pd-detail__free {
	margin-top: 24px;
	padding: 24px 28px;
	background: var(--paper);
	border: 1px solid rgba(0,0,0,.08);
	border-left: 4px solid var(--accent);
	border-radius: 12px;
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.9;
	color: var(--ink);
}
.pd-detail__free h3,
.pd-detail__free h4 {
	font-family: var(--font-display);
	font-weight: bold;
	color: var(--ink);
	margin: 18px 0 10px;
	padding-left: 10px;
	border-left: 4px solid var(--accent);
	line-height: 1.5;
}
.pd-detail__free h3 { font-size: 18px; }
.pd-detail__free h4 { font-size: 15px; }
.pd-detail__free > h3:first-child,
.pd-detail__free > h4:first-child { margin-top: 0; }
.pd-detail__free p { margin: 0 0 12px; }
.pd-detail__free p:last-child { margin-bottom: 0; }
.pd-detail__free strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, var(--sticky) 60%);
	padding: 0 3px;
}
.pd-detail__free img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	border: 2px solid var(--ink);
	margin: 14px 0;
}

/* ⑥ お客様の声（pd-voices）：参考LP準拠。クリーム背景＋斜めスラッシュ＋
   オレンジ丸帯タイトル＋左右スライダー。各カード＝写真→名前→結果見出し→月収UP箱→説明。 */
.pd-voices {
	background: #f7f1e3;
	border-bottom: none;
}
.pd-voices__kicker {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	color: var(--ink);
	font-family: var(--font-display);
	font-size: clamp(13px, 3.4vw, 16px);
	font-weight: bold;
	margin: 0 0 12px;
}
.pd-voices__kicker::before,
.pd-voices__kicker::after {
	content: "";
	width: 2px;
	height: 20px;
	background: var(--ink);
	border-radius: 2px;
}
.pd-voices__kicker::before { transform: rotate(-22deg); }
.pd-voices__kicker::after  { transform: rotate(22deg); }
.pd-voices__title {
	display: table;
	margin: 0 auto 26px;
	background: linear-gradient(135deg, #ff8a2c 0%, #ff6a18 100%);
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(20px, 5.4vw, 28px);
	font-weight: 800;
	padding: 10px 30px;
	border-radius: 999px;
	box-shadow: 0 10px 22px rgba(255,106,61,.3);
	letter-spacing: .02em;
}
/* 左右スライダー（CSS scroll-snap・スワイプ対応・JS不要） */
/* スライダー本体：HOMEオススメ求人と同じ仕組み（矢印＋ドット＋スワイプ）。
   front.css はピックアップでは読まれないので、必要分をここに移植。 */
.pd-voices .job-slider {
	position: relative;
	padding: 0 54px;
	max-width: 880px;
	margin: 0 auto;
}
.pd-voices .job-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 20px;
	padding: 6px 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.pd-voices .job-track::-webkit-scrollbar { display: none; }
.pd-voices .slide-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--ink);
	font-family: var(--font-display);
	font-size: 22px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
	z-index: 3;
	padding: 0;
	box-shadow: 0 6px 16px rgba(0,0,0,.15);
	transition: transform .15s, box-shadow .15s, background .15s, color .15s;
}
.pd-voices .slide-arrow:hover {
	background: #ff6a18;
	color: #fff;
	border-color: #ff6a18;
}
.pd-voices .slide-arrow--prev { left: 0; }
.pd-voices .slide-arrow--next { right: 0; }
.pd-voices .slide-controls { display: contents; }
.pd-voices .slide-dots {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-top: 18px;
}
.pd-voices .slide-dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #ff8a2c;
	padding: 0;
	cursor: pointer;
	transition: background .15s, transform .15s;
}
.pd-voices .slide-dot:hover { transform: scale(1.2); }
.pd-voices .slide-dot.is-active { background: #ff6a18; }
/* ボイスカード（スライダー内のアイテム）：PCは2枚表示 */
.job-slider--voices .pd-voice {
	flex: 0 0 calc((100% - 20px) / 2);
	scroll-snap-align: start;
	background: #fff;
	border: none;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.pd-voice__media { margin: 0; }
.pd-voice__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.pd-voice__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	background: repeating-linear-gradient(45deg, #f5f5f5 0 12px, #ececec 12px 24px);
	color: #9a9a9a;
	font-family: var(--font-display);
	font-size: 14px;
}
.pd-voice__body-inner { padding: 18px 20px 22px; }
.pd-voice__person {
	display: block;
	font-family: var(--font-display);
	font-size: 13px;
	color: var(--ink3);
	margin-bottom: 4px;
}
.pd-voice__t {
	font-family: var(--font-display);
	font-size: clamp(19px, 5vw, 23px);
	font-weight: 800;
	color: var(--ink);
	line-height: 1.3;
	margin: 0 0 14px;
}
/* 月収ビフォーアフター箱（◯万円UP を黄色で強調） */
.pd-voice__salary {
	display: flex;
	align-items: stretch;
	border: 2px solid var(--ink);
	border-radius: 8px;
	overflow: hidden;
	margin: 0 0 14px;
}
.pd-voice__salary-left {
	flex: 1;
	min-width: 0;
	padding: 9px 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	justify-content: center;
}
.pd-voice__job {
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: bold;
	color: var(--ink3);
}
.pd-voice__ba {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-display);
	font-weight: bold;
}
.pd-voice__before { font-size: 13px; color: var(--ink2); }
.pd-voice__arrow { color: #ff6a18; font-weight: bold; }
.pd-voice__after { font-size: 17px; color: var(--accent2); }
.pd-voice__up {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--sticky);
	color: var(--ink);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 16px;
	padding: 6px 14px;
	white-space: nowrap;
}
.pd-voice__up-ar { margin-left: 1px; }
.pd-voice__text {
	font-family: var(--font-display);
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink);
	margin: 0;
}
.pd-voices__hint {
	text-align: center;
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink3);
	margin: 14px 0 0;
}

/* ⑧ FAQ（pd-faqs） */
.pd-faqs { background: #ffffff; }
.pd-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.pd-faq {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.pd-faq[open] {
	border-color: rgba(255, 107, 53, .45);
	box-shadow: 0 6px 18px rgba(255, 107, 53, .10);
}
.pd-faq[open] .pd-faq__q { color: var(--accent2); }
.pd-faq__q {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: bold;
	color: var(--ink);
	padding: 18px 56px 18px 60px;
	cursor: pointer;
	position: relative;
	list-style: none;
}
.pd-faq__q::-webkit-details-marker { display: none; }
.pd-faq__qmark {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	background: var(--ink);
	color: var(--paper);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 15px;
}
.pd-faq__q::after {
	content: "+";
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	color: var(--accent2);
	font-weight: 200;
	transition: transform .2s;
}
.pd-faq[open] .pd-faq__q::after {
	transform: translateY(-50%) rotate(45deg);
}
.pd-faq__a {
	padding: 0 24px 22px 60px;
	font-family: var(--font-display);
	font-size: 14px;
	line-height: 1.9;
	color: var(--ink);
	position: relative;
}
.pd-faq__amark {
	position: absolute;
	left: 16px;
	top: 0;
	width: 32px;
	height: 32px;
	background: var(--accent);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 15px;
}

/* ============ ② 特典（pd-bonus） ============
   FV の直後に置く目立つ特典ボックス。黄色グラデ + リボン風タグ。 */
.pd-bonus {
	background: #fff3e8;
}
/* 特典：1個ずつ大きく訴求するカード */
.pd-bonus__kicker {
	text-align: center;
	font-family: var(--font-display);
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .04em;
	color: var(--accent2);
	margin: 0 0 4px;
}
.pd-gift-list {
	max-width: 760px;
	margin: 30px auto 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.pd-gift {
	display: flex;
	align-items: stretch;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(255, 107, 53, .10);
}
.pd-gift__no {
	flex: 0 0 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, var(--accent), var(--accent2));
	color: #fff;
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 800;
	font-size: 40px;
	letter-spacing: -.02em;
	line-height: 1;
}
.pd-gift__main {
	flex: 1 1 auto;
	padding: 20px 24px;
	min-width: 0;
	align-self: center;
}
.pd-gift__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 20px;
	color: var(--ink);
	line-height: 1.3;
	margin-bottom: 8px;
	background: linear-gradient(transparent 60%, var(--sticky) 60%);
	padding: 0 4px 2px;
}
.pd-gift__icon { font-size: 20px; }
.pd-gift__lead {
	font-family: var(--font-display);
	font-size: 15.5px;
	font-weight: 800;
	color: var(--ink);
	line-height: 1.55;
	margin: 0 0 8px;
}
.pd-gift__desc {
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 1.85;
	color: var(--ink2);
	margin: 0;
}
.pd-gift__desc + .pd-gift__points-cap,
.pd-gift__desc + .pd-gift__points,
.pd-gift__lead + .pd-gift__points-cap,
.pd-gift__lead + .pd-gift__points { margin-top: 12px; }
.pd-gift__points-cap {
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: bold;
	color: var(--accent2);
	letter-spacing: .04em;
	margin: 0 0 6px;
}
.pd-gift__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.pd-gift__points li {
	position: relative;
	padding-left: 26px;
	font-family: var(--font-display);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--ink);
}
.pd-gift__points li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient(150deg, var(--accent), var(--accent2));
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pd-gift__note {
	font-family: var(--font-display);
	font-size: 12px;
	line-height: 1.7;
	color: var(--ink2);
	margin: 12px 0 0;
	padding-top: 10px;
	border-top: 1px dashed rgba(0, 0, 0, .12);
}
.pd-gift__media {
	flex: 0 0 220px;
	margin: 0;
	border-left: 1px solid rgba(0, 0, 0, .06);
	background: var(--paper2);
}
.pd-gift__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pd-gift__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 130px;
	border-left: 1px dashed rgba(0, 0, 0, .18);
	color: rgba(0, 0, 0, .4);
	font-family: var(--font-display);
	font-size: 12px;
	background:
		repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(0, 0, 0, .03) 8px, rgba(0, 0, 0, .03) 16px),
		var(--paper2);
}
.pd-bonus__deadline {
	background: var(--ink);
	color: var(--paper);
	border-radius: 4px;
	padding: 12px 18px;
	margin-bottom: 22px;
	font-family: var(--font-display);
	text-align: center;
}
.pd-bonus__deadline-label {
	font-size: 11px;
	letter-spacing: .15em;
	margin-right: 8px;
	opacity: .7;
}
.pd-bonus__deadline-value {
	font-size: 15px;
	font-weight: bold;
}
.pd-bonus__note {
	font-size: 11px;
	margin-top: 6px;
	opacity: .75;
}

/* ============ ⑦ 実績（pd-achievements）：参考LP準拠。
   紺リボン見出し＋紺枠の角丸ボックスに「ラベル＋大きい赤数字＋単位」の統計グリッド。 ============ */
.pd-ach-ribbon {
	display: table;
	margin: 0 auto;
	position: relative;
	background: var(--ink);
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(16px, 4.6vw, 22px);
	font-weight: 800;
	letter-spacing: .02em;
	padding: 12px 42px 12px 26px;
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}
.pd-ach-box {
	max-width: 560px;
	margin: 18px auto 0;
	border: 2.5px solid var(--ink);
	border-radius: 16px;
	padding: 8px 22px 12px;
	background: #fff;
}
.pd-ach-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.pd-ach-num {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 4px;
	padding: 20px 10px;
}
.pd-ach-num--wide {
	grid-column: 1 / -1;
	border-bottom: 2px dashed var(--paper3);
}
.pd-ach-num:nth-child(2) {
	border-right: 2px dashed var(--paper3);
}
.pd-ach-num__lbl {
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: bold;
	color: var(--ink);
}
.pd-ach-num__vl {
	font-family: var(--font-display);
	font-size: clamp(40px, 12vw, 60px);
	font-weight: 800;
	color: var(--accent2);
	line-height: 1;
	letter-spacing: -.03em;
}
.pd-ach-num__unit {
	font-size: .34em;
	color: var(--ink);
	margin-left: 4px;
	font-weight: bold;
	letter-spacing: 0;
}
.pd-ach-features {
	list-style: none;
	padding: 0;
	margin: 20px auto 0;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.pd-ach-features li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--ink);
	line-height: 1.6;
}
.pd-ach-features__mark {
	flex: 0 0 auto;
	color: #fff;
	background: #ff6a18;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
	margin-top: 1px;
}

/* ============ ⑧ 選ばれる理由（pd-reasons） ============
   競合比較付き理由カード（番号 + 比較表）*/
/* ④ 選ばれる理由：参考LP準拠。オレンジのベタ背景＋白見出し（斜めスラッシュ）＋
   白い横長カード（左：番号+見出し+点線+説明 ／ 右：写真）。 */
.pd-reasons {
	background: linear-gradient(180deg, #ff8a2c 0%, #ff7416 100%);
	border-bottom: none;
}
.pd-reasons__kicker {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(14px, 3.6vw, 17px);
	font-weight: bold;
	margin: 0 0 10px;
}
.pd-reasons__kicker::before,
.pd-reasons__kicker::after {
	content: "";
	width: 2px;
	height: 22px;
	background: #fff;
	border-radius: 2px;
}
.pd-reasons__kicker::before { transform: rotate(-22deg); }
.pd-reasons__kicker::after  { transform: rotate(22deg); }
.pd-reasons__title {
	text-align: center;
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(26px, 7vw, 40px);
	font-weight: 800;
	line-height: 1.35;
	margin: 0 0 34px;
	letter-spacing: -.01em;
}
.pd-reasons__title-num {
	font-size: 1.5em;
	line-height: 1;
	margin: 0 .06em;
}
.pd-compare {
	max-width: 680px;
	margin: 0 auto;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.1);
	box-shadow: 0 16px 38px rgba(40,45,60,.12);
	background: #fff;
}
.pd-compare__head,
.pd-compare__row {
	display: grid;
	grid-template-columns: 1fr 1fr 1.25fr;
}
.pd-compare__cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 18px 12px;
	text-align: center;
	font-family: var(--font-display);
}
/* ヘッダー行（濃色。当社列だけ橙アクセント） */
.pd-compare__head {
	background: var(--ink);
	color: #fff;
}
.pd-compare__head .pd-compare__cell {
	font-size: 13px;
	font-weight: bold;
	padding: 14px 10px;
}
.pd-compare__head .pd-compare__cell--ours {
	background: linear-gradient(135deg, #ff8a3d 0%, #ff5e3a 100%);
	font-size: 15px;
}
/* データ行 */
.pd-compare__row { border-top: 1px solid rgba(0,0,0,.08); }
.pd-compare__cell--label {
	background: #fdf6ef;
	font-weight: bold;
	font-size: 14px;
	color: var(--ink);
}
.pd-compare__cell--other { color: var(--ink3); font-size: 14px; }
.pd-compare__cell--other .pd-compare__x {
	color: #aab0bb;
	font-size: 18px;
	font-weight: bold;
}
.pd-compare__cell--ours {
	background: #fff4ee;
	color: #e8521f;
}
.pd-compare__cell--ours .pd-compare__o {
	color: #ff5e3a;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}
.pd-compare__cell--ours .pd-compare__val {
	font-size: 17px;
	font-weight: 800;
}
/* ④ 選ばれる理由：白い横長カード（左：番号+見出し+点線区切り+説明 ／ 右：写真）。 */
.pd-reason-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 720px;
	margin: 0 auto;
}
.pd-reason {
	display: flex;
	align-items: stretch;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.pd-reason__main {
	flex: 1;
	min-width: 0;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pd-reason__h {
	font-family: var(--font-display);
	font-size: clamp(19px, 4.4vw, 24px);
	font-weight: 800;
	font-style: italic;
	color: var(--ink);
	margin: 0 0 12px;
	line-height: 1.3;
	letter-spacing: -.02em;
}
.pd-reason__no {
	color: #ff6a1a;
	font-style: italic;
	margin-right: 8px;
}
.pd-reason__p {
	font-family: var(--font-display);
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink2);
	margin: 0;
	padding-top: 14px;
	border-top: 2px dotted rgba(0,0,0,.22);
}
/* 右側の写真 */
.pd-reason__media {
	flex: 0 0 40%;
	max-width: 210px;
	margin: 0;
	background: #f3f0ea;
}
.pd-reason__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 編集者向け：画像未設定時のプレースホルダ */
.pd-reason__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 130px;
	background: repeating-linear-gradient(45deg, #f4f4f4 0 10px, #ececec 10px 20px);
	color: #9a9a9a;
	font-family: var(--font-display);
	font-size: 13px;
}
.pd-reason__p strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255,138,61,.3) 60%);
	padding: 0 3px;
	color: var(--ink);
}
.pd-reason__compare {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 10px;
	align-items: stretch;
}
.pd-reason__compare-cell {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-family: var(--font-display);
	border-radius: 12px;
	padding: 12px 14px;
	text-align: center;
	justify-content: center;
}
.pd-reason__compare-cell--others {
	background: rgba(0,0,0,.04);
	color: var(--ink3);
}
.pd-reason__compare-cell--ours {
	background: linear-gradient(135deg, rgba(255,138,61,.15) 0%, rgba(255,106,61,.1) 100%);
	border: 1px solid rgba(255,106,61,.4);
	color: var(--ink);
}
.pd-reason__compare-label {
	font-size: 10px;
	letter-spacing: .15em;
	font-weight: bold;
	opacity: .65;
}
.pd-reason__compare-cell--ours .pd-reason__compare-label {
	color: var(--accent);
	opacity: 1;
}
.pd-reason__compare-val {
	font-size: 14px;
	font-weight: bold;
}
.pd-reason__compare-cell--ours .pd-reason__compare-val {
	color: #e8521f;
}
.pd-reason__compare-arrow {
	align-self: center;
	color: var(--accent);
	font-size: 20px;
	font-weight: bold;
}

/* ============ ⑩ 利用の流れ（pd-steps）：縦タイムライン ============
   丸番号バッジ＋つなぐ縦ライン（疑似要素）＋影なしの白カード */
.pd-step-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 620px;
	margin: 34px auto 0;
}
.pd-step-item {
	position: relative;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 18px;
	padding-bottom: 18px;
}
.pd-step-item:last-child { padding-bottom: 0; }
/* 番号と番号をつなぐ縦ライン（円の下〜次の円の上） */
.pd-step-item:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 21px;
	top: 44px;
	bottom: 0;
	width: 2px;
	background: linear-gradient(var(--accent2), rgba(255, 107, 53, .28));
	z-index: 0;
}
.pd-step-item__no {
	position: relative;
	z-index: 1;
	align-self: start;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(150deg, var(--accent), var(--accent2));
	color: #fff;
	font-family: var(--font-display);
	font-size: 19px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(255, 107, 53, .28);
}
.pd-step-item__body {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, .07);
	border-radius: 14px;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.pd-step-item__text { flex: 1 1 auto; min-width: 0; }
.pd-step-item__h {
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 800;
	color: var(--accent2);
	margin: 0 0 5px;
	line-height: 1.4;
}
.pd-step-item__p {
	font-family: var(--font-display);
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink2);
	margin: 0;
}
/* 各ステップの画像/イラスト（任意・後から差し込み可）：PCは本文の右に */
.pd-step-item__media {
	flex: 0 0 128px;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: var(--paper2);
	border: 1px solid rgba(0, 0, 0, .06);
}
.pd-step-item__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pd-step-item__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px dashed rgba(0, 0, 0, .18);
	color: rgba(0, 0, 0, .4);
	font-family: var(--font-display);
	font-size: 11px;
	background:
		repeating-linear-gradient(45deg, transparent, transparent 7px, rgba(0, 0, 0, .03) 7px, rgba(0, 0, 0, .03) 14px),
		var(--paper2);
}

/* ============ ⑬ クロージング（pd-closing） ============
   最終訴求 + 特典再提示 + 最終 CTA */
.pd-closing {
	/* 求人詳細のCTAと同じ見え方に：背景はクリーム（ピーチのCTAカードを際立たせる） */
	background: var(--paper, #FBF7EE);
	padding: 80px 28px 80px;
	border-bottom: none;
}
.pd-closing__inner { text-align: center; }
.pd-closing__title {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: bold;
	color: var(--ink);
	margin: 6px 0 16px;
	line-height: 1.4;
}
.pd-closing__lead {
	font-family: var(--font-display);
	font-size: 16px;
	color: var(--ink);
	line-height: 1.95;
	margin: 0 auto 14px;
	max-width: 640px;
}
.pd-closing__urge {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: bold;
	color: var(--accent2);
	margin: 0 0 30px;
}
/* ⑫ クロージング：便箋（レター）カード — 背中を押す手紙 */
.pd-letter {
	max-width: 600px;
	margin: 10px auto 30px;
	background: #fffdf8;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 16px;
	padding: 34px 36px 28px;
	text-align: left;
	box-shadow: 0 12px 32px rgba(180, 120, 60, .14);
}
.pd-letter__salutation {
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: bold;
	color: var(--accent2);
	letter-spacing: .02em;
	margin: 0 0 12px;
}
.pd-letter__title {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 800;
	color: var(--ink);
	line-height: 1.45;
	margin: 0 0 16px;
}
/* 見出し下の画像（任意・後から差し込み可） */
.pd-letter__media {
	margin: 0 0 18px;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--paper2);
	border: 1px solid rgba(0, 0, 0, .06);
}
.pd-letter__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pd-letter__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px dashed rgba(0, 0, 0, .18);
	color: rgba(0, 0, 0, .4);
	font-family: var(--font-display);
	font-size: 12px;
	background:
		repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(0, 0, 0, .03) 8px, rgba(0, 0, 0, .03) 16px),
		var(--paper2);
}
.pd-letter__body {
	font-family: var(--font-display);
	font-size: 15px;
	line-height: 2.05;
	color: var(--ink);
	margin: 0 0 18px;
}
.pd-letter__urge {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 800;
	color: var(--ink);
	line-height: 1.7;
	margin: 0 0 20px;
	padding: 14px 18px;
	background: #fff3e8;
	border-left: 4px solid var(--accent);
	border-radius: 0 10px 10px 0;
}
.pd-letter__sign {
	font-family: var(--font-display);
	font-size: 13px;
	color: var(--ink2);
	text-align: right;
	margin: 0;
}
.pd-closing__bonus {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 14px;
	padding: 24px 28px 22px;
	max-width: 600px;
	margin: 0 auto 30px;
	text-align: left;
}
.pd-closing__bonus-tag {
	display: inline-block;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: bold;
	padding: 4px 12px;
	border-radius: 4px;
	letter-spacing: .1em;
	margin-bottom: 10px;
}
.pd-closing__bonus-title {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: bold;
	color: var(--ink);
	margin-bottom: 12px;
}
.pd-closing__bonus-items {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-size: 13px;
	line-height: 1.85;
	color: var(--ink);
}
.pd-closing__bonus-items li { margin-bottom: 4px; }
.pd-closing__bonus-items strong { color: var(--accent2); font-weight: bold; }
.pd-closing__bonus-deadline {
	font-family: var(--font-display);
	font-size: 13px;
	color: var(--red);
	font-weight: bold;
	border-top: 1.5px dashed var(--ink3);
	padding-top: 10px;
}
.pd-closing__footnote {
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink2);
	margin: 18px 0 0;
	line-height: 1.7;
}

/* オーナー情報（初期非表示・JS で表示制御も可） */
.pd-owner {
	background: var(--paper2);
	padding: 20px 28px;
	text-align: center;
}
.pd-owner__inner {
	max-width: 680px;
	margin: 0 auto;
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink2);
}
.pd-owner__label {
	font-size: 10px;
	letter-spacing: .2em;
	margin-bottom: 4px;
}
.pd-owner__company {
	font-size: 14px;
	color: var(--ink);
	font-weight: bold;
	margin-bottom: 2px;
}
.pd-owner__contact {
	font-size: 12px;
}

/* ============================================================
 * レスポンシブ
 * ============================================================ */
@media (max-width: 1024px) {
	.pa-feature__link {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.pa-feature__title { font-size: 32px; }
	.pa-grid { grid-template-columns: repeat(2, 1fr); }
	.pd-fv__title { font-size: 40px; }
}

@media (max-width: 768px) {
	/* パンくず */
	.pa-crumb, .pd-crumb { padding: 12px 16px 0; font-size: 11px; }

	/* 一覧 */
	.pa-head { padding: 36px 16px 28px; }
	.pa-head__title { font-size: 30px; }
	.pa-head__lead { font-size: 12px; }
	.pa-feature { padding: 0 16px; margin-bottom: 40px; }
	.pa-feature__title { font-size: 27px; }
	.pa-feature__lead { font-size: 13px; }
	.pa-feature__more { font-size: 15px; padding: 12px 24px; }
	.pa-grid-wrap { padding: 0 16px; }
	.pa-grid { grid-template-columns: 1fr; gap: 32px; }
	.pa-card__title { font-size: 18px; }
	.pa-stat__vl { font-size: 22px; }
	.pa-banner { padding: 0 16px; }
	.pa-banner__inner {
		grid-template-columns: 1fr;
		text-align: center;
		padding: 20px 18px;
	}
	.pa-banner__h { font-size: 18px; }

	/* 詳細 */
	.pd-fv {
		min-height: 88vh;
		padding: 76px 18px 88px;
	}
	/* タイトル/リード/数字は base の clamp() に任せる（モバイルで固定値に上書きしない） */
	.pd-fv__kicker { font-size: 11px; padding: 6px 14px; letter-spacing: .08em; }
	.pd-fv__lead { max-width: 100%; }
	.pd-fv__media { max-width: 100%; margin: 2px auto 22px; border-radius: 0; border-width: 3px; }
	/* スペック帯は画面幅いっぱいに3等分 */
	.pd-fv__spec { display: flex; width: 100%; }
	.pd-fv__spec-item { flex: 1; padding: 12px 10px; }
	.pd-fv__spec-vl { font-size: clamp(20px, 7vw, 30px); }
	.pd-fv__spec-vl small { font-size: 11px; margin-left: 2px; }
	.pd-fv__spec-lb { font-size: 10px; white-space: normal; }
	/* 主役CTAは全幅、副導線は控えめに */
	.pd-fv__actions { align-items: stretch; }
	.pd-fv__cta-main { min-width: 0; width: 100%; padding: 16px 20px; }

	.pd-section { padding: 50px 18px 44px; }
	.pd-section__title { font-size: 22px; margin-bottom: 26px; }
	.pd-step { font-size: 11px; letter-spacing: .25em; }

	.pd-pains__leadtext { font-size: 12px; }
	.pd-pains__title { font-size: 22px; }
	.pd-pains__br-sp { display: inline; }
	.pd-pains__note { font-size: 12px; margin-bottom: 28px; }
	.pd-pain-list { grid-template-columns: 1fr; gap: 12px; }
	.pd-pain-item {
		font-size: 14px;
		padding: 24px 18px 18px;
	}
	.pd-pain-item::before { font-size: 50px; top: 4px; left: 14px; }
	.pd-pain-item__icon { font-size: 18px; bottom: 14px; right: 14px; }

	/* 解決：モバイルでは見出しを縮める + 改行を有効化 */
	.pd-solution__bridge { width: 40px; height: 40px; font-size: 17px; top: -20px; }
	.pd-solution__lightbulb { width: 76px; height: 76px; font-size: 40px; }
	.pd-solution__headline { line-height: 1.55; }
	.pd-solution__lead { font-size: 13px; margin: -8px 0 26px; }
	.pd-solution__headline-em { padding: 0 4px; }
	.pd-solution__br-sp { display: inline; }
	.pd-solution__body { font-size: 14px; padding: 20px 18px; line-height: 1.95; }
	.pd-solution__seal { width: 112px; height: 112px; }
	/* 解決カード（スマホもPCと同じ横並び：番号=左／本文=右。番号右の余白を作らない） */
	.pd-sol-card {
		grid-template-columns: 50px 1fr;
		gap: 14px;
		padding: 22px 18px;
		text-align: left;
	}
	.pd-sol-card__no { align-self: flex-start; width: 50px; height: 50px; }
	.pd-sol-card__no-label { font-size: 8px; }
	.pd-sol-card__no-num { font-size: 18px; }
	.pd-sol-card__badge { font-size: 10.5px; padding: 2px 10px; }
	.pd-sol-card__h { font-size: 18px; }
	.pd-sol-card__p { font-size: 14px; }

	/* フリースペース */
	.pd-detail__free { padding: 18px 18px; font-size: 14px; line-height: 1.85; }
	.pd-detail__free h3 { font-size: 16px; }
	.pd-detail__free h4 { font-size: 14px; }

	/* ベネフィット：オレンジ帯＋写真＋説明のブロック（スマホ調整） */
	.pd-benefit-grid { gap: 30px; }
	.pd-benefit__bar { padding: 15px 18px; }
	.pd-benefit__bignum { font-size: 62px; right: 12px; bottom: -8px; }
	.pd-benefit__p { font-size: 14px; margin-top: 14px; }

	.pd-detail__gallery {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 180px 100px 100px;
		gap: 8px;
	}
	.pd-detail__img--main { grid-column: 1 / -1; grid-row: 1; }
	.pd-detail__row { grid-template-columns: 1fr; }
	.pd-detail__k { border-left: 3px solid var(--accent); border-bottom: 1px solid rgba(0,0,0,.07); padding: 12px 16px; }
	.pd-detail__v { padding: 12px 16px; font-size: 14px; }

	/* お客様の声スライダー（スマホ：1枚表示＋隣カードがチラ見え・矢印はピーク内に小さく） */
	.pd-voices .job-slider { padding: 0; margin: 22px -16px 0; }
	.pd-voices .job-track { gap: 10px; padding: 4px 0; }
	.job-slider--voices .pd-voice { flex: 0 0 82%; scroll-snap-align: center; scroll-snap-stop: always; }
	.pd-voices .slide-arrow {
		width: 30px; height: 30px; font-size: 16px;
		background: rgba(255,255,255,.9);
		box-shadow: none;
	}
	.pd-voices .slide-arrow--prev { left: 6px; }
	.pd-voices .slide-arrow--next { right: 6px; }
	.pd-voices .slide-dots { gap: 8px; margin-top: 16px; }
	.pd-voices .slide-dot { width: 9px; height: 9px; }
	.pd-voice__body-inner { padding: 16px 16px 20px; }
	.pd-voice__up { font-size: 14px; padding: 6px 11px; }
	.pd-voice__after { font-size: 16px; }

	.pd-faq__q { font-size: 14px; padding: 14px 48px 14px 50px; }
	.pd-faq__qmark { width: 26px; height: 26px; font-size: 13px; }
	.pd-faq__a { font-size: 13px; padding: 0 20px 18px 50px; }
	.pd-faq__amark { width: 26px; height: 26px; font-size: 13px; }

	/* CTA ボタン群（全セクション共通） */
	.pd-cta-buttons { flex-direction: column; gap: 10px; }
	.pd-cta-buttons .btn { padding: 14px 18px; font-size: 14px; width: 100%; }

	/* 特典：スマホは番号バーを上に積む */
	.pd-gift { flex-direction: column; }
	.pd-gift__no {
		flex-basis: auto;
		width: 100%;
		height: 46px;
		justify-content: flex-start;
		padding-left: 20px;
		font-size: 26px;
	}
	.pd-gift__main { padding: 16px 18px; align-self: stretch; }
	.pd-gift__label { font-size: 18px; }
	.pd-gift__desc { font-size: 14px; }
	.pd-gift__media {
		flex-basis: auto;
		width: 100%;
		height: 170px;
		border-left: none;
		border-top: 1px solid rgba(0, 0, 0, .06);
	}
	.pd-gift__media--ph {
		min-height: 120px;
		border-left: none;
		border-top: 1px dashed rgba(0, 0, 0, .18);
	}

	/* 実績 */
	/* 実績：紺枠ボックスの数字グリッド（スマホは2列のまま・数字少し縮小） */
	.pd-ach-box { padding: 6px 14px 10px; }
	.pd-ach-num { padding: 16px 8px; }
	.pd-ach-num__vl { font-size: 46px; }
	.pd-ach-num__lbl { font-size: 13px; }

	/* 選ばれる理由：オレンジ背景＋白い横長カード（スマホも左テキスト/右写真を維持） */
	.pd-reasons__title { margin-bottom: 26px; }
	.pd-reason__main { padding: 18px 16px; }
	.pd-reason__h { font-size: 18px; margin-bottom: 10px; }
	.pd-reason__p { font-size: 13px; padding-top: 11px; }
	.pd-reason__media { flex-basis: 38%; }
	.pd-reason__media--ph { min-height: 100px; font-size: 12px; }

	/* 利用の流れ（タイムラインは縦のまま・少し小さく。画像はテキスト下に全幅） */
	.pd-step-item { gap: 14px; }
	.pd-step-item__body { padding: 14px 16px; flex-direction: column; align-items: stretch; gap: 12px; }
	.pd-step-item__h { font-size: 16px; }
	.pd-step-item__p { font-size: 13px; }
	.pd-step-item__media { flex-basis: auto; width: 100%; aspect-ratio: 16 / 9; }

	/* クロージング（レター） */
	.pd-closing { padding: 56px 18px 60px; }
	.pd-letter { padding: 26px 22px 22px; }
	.pd-letter__title { font-size: 22px; }
	.pd-letter__body { font-size: 14px; line-height: 1.95; }
	.pd-letter__urge { font-size: 15px; padding: 12px 14px; }
	.pd-closing__bonus { padding: 20px 18px; }
	.pd-closing__bonus-title { font-size: 16px; }
}

/* ============================================================
 *  本文系フォント上書き（最下部・後勝ち集約）
 *
 *   ピックアップ詳細（LP）の「読み物として読まれる文章」を
 *   システムフォントスタックに変更。
 *   （apple-system / BlinkMacSystemFont / Helvetica Neue / YuGothic / Meiryo …）
 *   見出し・キャッチコピー・CTA は Yusei Magic を維持。
 *
 *   対象：
 *     ・WP エディタで書く本文 .pd-detail__free（案件詳細フリー本文）
 *     ・案件詳細テーブルの値 .pd-detail__v
 *     ・解決理由の本文 .pd-solution__body
 *     ・悩みアイテムのテキスト .pd-pain-item__text
 *     ・口コミ本文 .pd-voice__body
 *     ・FAQ 回答本文 .pd-faq__a
 *     ・特典・実績・クロージング等の説明文
 * ============================================================ */
.pd-detail__free,
.pd-detail__free p,
.pd-detail__free ul,
.pd-detail__free ol,
.pd-detail__free li,
.pd-detail__free blockquote,
.pd-detail__free strong,
.pd-detail__free em,
.pd-detail__v,
.pd-solution__body,
.pd-sol-card__p,
.pd-benefit__p,
.pd-pain-item__text,
.pd-voice__body,
.pd-faq__a,
.pd-pains__leadtext,
.pd-closing__lead,
.pd-closing__urge,
.pd-letter__body,
.pd-letter__urge,
.pd-reason__p,
.pd-step-item__p,
.pd-gift__label,
.pd-gift__lead,
.pd-gift__desc,
.pd-gift__points li,
.pd-gift__note,
.pd-stat__sub,
.pd-closing__bonus-items li,
.pd-closing__footnote {
	font-family: apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, 'Yu Gothic', Verdana, Meiryo, sans-serif !important;
}
/* 本文内の見出しは Yusei Magic を再宣言（後勝ちで上書きを無効化） */
.pd-detail__free h2,
.pd-detail__free h3,
.pd-detail__free h4,
.pd-detail__free h5 {
	font-family: var(--font-display);
}



/* ============================================================
   ピックアップ ① 記事 LP 型（lp_type === 'article'）
   本文をワイドに、行間ゆったり、CTA カードを下に配置するシンプル LP
   ============================================================ */
.pickup-article-lp {
	max-width: 760px;
	margin: 0 auto;
	padding: 20px 18px 60px;
	font-family: apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, 'Yu Gothic', Verdana, Meiryo, sans-serif;
}
.pal-crumb { margin-bottom: 16px; }

.pal-header { margin-bottom: 28px; text-align: center; }
.pal-title {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	/* 長いタイトルでも詰まって見えないよう、最大サイズを少し下げ・行間と字間を広げる */
	font-size: clamp(22px, 4.3vw, 31px);
	line-height: 1.6;
	letter-spacing: .02em;
	margin: 0 0 14px;
	color: var(--ink, #181818);
	/* 中央寄せの折り返しを左右バランスよくして「80万／円。」のような不自然な改行を減らす */
	text-wrap: balance;
}
.pal-lead {
	font-size: clamp(14px, 2.6vw, 17px);
	line-height: 1.85;
	color: var(--ink2, #2c2c2c);
	margin: 0 0 18px;
}
.pal-thumb { margin: 24px 0 0; }
.pal-thumb img { width: 100%; height: auto; display: block; border-radius: 0; }

.pal-body {
	font-size: clamp(15px, 2.8vw, 17px);
	line-height: 2;
	color: var(--ink, #181818);
}
.pal-body > * { margin: 0 0 1.4em; }
.pal-body h2 {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(20px, 4vw, 26px);
	border-left: 6px solid var(--ink, #181818);
	padding: 6px 12px;
	margin: 2em 0 1em;
	line-height: 1.5;
}
.pal-body h3 {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(18px, 3.4vw, 22px);
	color: var(--ink, #181818);
	border-bottom: 2px solid #e0d8b8;
	padding-bottom: 4px;
	margin: 1.6em 0 0.8em;
}
.pal-body h4 {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(16px, 3vw, 18px);
	color: var(--accent2, #ff6b35);
	margin: 1.4em 0 0.6em;
	padding-left: 14px;
	position: relative;
	line-height: 1.5;
}
.pal-body h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	bottom: 0.3em;
	width: 5px;
	border-radius: 3px;
	background: var(--accent, #ff8b3d);
}
.pal-body p { margin: 0 0 1.2em; }
/* wpautop がブロック系ショートコードの間に入れる空段落が「変な空白」の原因になるので消す */
.pal-body p:empty { display: none; margin: 0; }
.pal-body img { max-width: 100%; height: auto; border-radius: 10px; }

/* ── WP「メディアを追加」で挿入される画像も .pal-figure と同じ装飾にする ──
   コード(=[mk_figure])を書かなくても、エディタの「メディアを追加」ボタン経由で
   入れた画像が自動的にフレーム付きで表示される。 */
/* キャプション無し：<p><img class="size-* wp-image-N alignXXX" /></p> 形式（クラシックエディタ標準） */
.pal-body p > img.wp-image-1,
.pal-body p > img[class*=" wp-image-"],
.pal-body p > img[class^="wp-image-"],
.pal-body p > img.size-full,
.pal-body p > img.size-large,
.pal-body p > img.size-medium,
.pal-body p > img.size-thumbnail,
.pal-body p > img.alignnone,
.pal-body p > img.aligncenter,
.pal-body p > img.alignleft,
.pal-body p > img.alignright {
	width: 100%;
	height: auto;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	display: block;
	margin: 1.8em auto;
}
/* キャプション有り：[caption]ショートコード → .wp-caption の場合 */
.pal-body .wp-caption {
	width: 100% !important; /* WPがインラインで width: XXXpx を入れてくるのを上書き */
	max-width: 100%;
	margin: 1.8em 0;
	text-align: center;
}
.pal-body .wp-caption img {
	width: 100%;
	height: auto;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	display: block;
}
.pal-body .wp-caption-text,
.pal-body .wp-caption-dd {
	font-size: 12px;
	color: var(--ink3, #6b6b6b);
	margin-top: 8px;
	text-align: center;
}
/* Gutenberg `<figure class="wp-block-image">` 形式にも対応（将来Gutenbergに切り替えた時用） */
.pal-body figure.wp-block-image {
	margin: 1.8em 0;
	text-align: center;
}
.pal-body figure.wp-block-image img {
	width: 100%;
	height: auto;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	display: block;
}
.pal-body figure.wp-block-image figcaption {
	font-size: 12px;
	color: var(--ink3, #6b6b6b);
	margin-top: 8px;
}
.pal-body strong { color: #d22f3d; }
.pal-body em { font-style: normal; background: linear-gradient(transparent 60%, #ffe9a6 60%); padding: 0 2px; }
.pal-body blockquote {
	background: #fdf8e8;
	border-left: 4px solid #c9a100;
	padding: 12px 18px;
	margin: 1.5em 0;
	font-size: .95em;
	color: var(--ink2, #2c2c2c);
}
.pal-body ul, .pal-body ol { padding-left: 1.6em; }
.pal-body li { margin-bottom: .5em; }

/* CTA カード（記事末尾） */
.pal-cta {
	margin-top: 40px;
	padding: 28px 22px;
	background: var(--paper, #f6efd9);
	border: 2px solid var(--ink, #181818);
	border-radius: 14px;
	text-align: center;
}
.pal-cta__h {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(20px, 4vw, 24px);
	margin: 0 0 10px;
	color: var(--ink, #181818);
}
.pal-cta__p {
	font-size: 14px;
	color: var(--ink2, #2c2c2c);
	line-height: 1.7;
	margin: 0 0 22px;
}
.pal-cta .pd-cta-buttons { justify-content: center; }


/* ============================================================
   ① 記事LP：ヘッダー追加要素（キッカーチップ／読了目安）
   ============================================================ */
.pal-kicker {
	display: inline-block;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 12px;
	letter-spacing: .04em;
	color: #fff;
	background: var(--accent, #ff6a3d);
	border: 2px solid var(--ink, #181818);
	border-radius: 999px;
	padding: 4px 14px;
	margin-bottom: 14px;
	box-shadow: 2px 2px 0 var(--ink, #181818);
}
.pal-meta {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 12px;
	color: var(--ink3, #6b6b6b);
	margin-top: 12px;
}
.pal-meta__item { display: inline-flex; align-items: center; gap: 4px; }

/* ============================================================
   ① 記事LP：目次（JS が .pal-body の見出しから自動生成）
   ============================================================ */
.pal-toc {
	background: #fffdf5;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	padding: 18px 20px;
	margin: 0 0 36px;
	box-shadow: 4px 4px 0 rgba(24,24,24,.12);
}
.pal-toc__title {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 15px;
	color: var(--ink, #181818);
	margin: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 6px;
	justify-content: space-between;  /* 矢印を右端に */
	cursor: pointer;
	user-select: none;
}
.pal-toc__arrow {
	font-size: 11px;
	color: var(--ink3, #6b6b6b);
	transition: transform .2s;
	flex: 0 0 auto;
}
/* 「（タップで開く/閉じる）」の小さい案内テキスト */
.pal-toc__hint {
	font-size: 11px;
	font-weight: normal;
	color: var(--ink3, #6b6b6b);
	margin-left: 4px;
}
/* 折りたたみ時：リストを隠す＋矢印を右向きに＋タイトル下の余白を詰める */
.pal-toc.is-collapsed .pal-toc__list { display: none; }
.pal-toc.is-collapsed .pal-toc__title { margin-bottom: 0; }
.pal-toc.is-collapsed .pal-toc__arrow { transform: rotate(-90deg); }
.pal-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.pal-toc__item { margin: 0 0 6px; line-height: 1.5; }
.pal-toc__item--h3 { padding-left: 22px; font-size: .92em; }
.pal-toc__link {
	color: var(--ink2, #2c2c2c);
	text-decoration: none;
	border-bottom: 1px dotted #c9b98a;
}
.pal-toc__link:hover { color: var(--accent, #ff6a3d); }
.pal-toc__item--h2 .pal-toc__link::before {
	counter-increment: toc;
	content: counter(toc) ". ";
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	color: var(--accent, #ff6a3d);
	font-weight: bold;
}
/* 見出しはアンカー固定ヘッダー分の余白を確保（追尾ヘッダーがある場合の保険） */
.pal-body h2[id], .pal-body h3[id] { scroll-margin-top: 80px; }
/* [mk_anchor]：追尾「求人詳細を見る」のスクロール先。追尾ヘッダー分の余白を確保。 */
.pal-anchor { display: block; height: 0; scroll-margin-top: 90px; }
body.admin-bar .pal-anchor { scroll-margin-top: 122px; }

/* ============================================================
   ① 記事LP：コンポーネント・ライブラリ（ショートコード出力）
   ============================================================ */

/* ── ポイント／注意／まとめ ボックス ── */
.pal-box {
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	padding: 16px 18px;
	margin: 1.3em 0;
	background: #fff;
	box-shadow: 3px 3px 0 rgba(24,24,24,.1);
}
.pal-box__title {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 16px;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--ink, #181818);
}
.pal-box__body > :last-child { margin-bottom: 0; }
.pal-box__body p { margin: 0 0 .8em; }
.pal-box--point   { background: #fff1ea; border-color: var(--accent, #ff6a3d); }
.pal-box--hint    { background: #eaf6f6; border-color: #2a9d9d; }
.pal-box--warn    { background: #fdecec; border-color: #d22f3d; }
.pal-box--summary { background: #fdf6e3; border-color: #c9a100; }

/* ── 比較表 ── */
.pal-compare { margin: 1.8em 0; }
.pal-compare__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; }
.pal-compare__table {
	width: 100%;
	min-width: 420px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	overflow: hidden;
}
.pal-compare__table th,
.pal-compare__table td {
	padding: 11px 12px;
	text-align: center;
	border-bottom: 1px solid #e3dcc2;
	border-right: 1px solid #e3dcc2;
}
.pal-compare__table thead th {
	background: var(--ink, #181818);
	color: #fff;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
}
/* ヘッダー内の「（…）」を分割禁止に → 「愛知の車体工場 ／ （寮付き）」と綺麗に2行で折り返す */
.pal-nowrap { white-space: nowrap; }
.pal-compare__table tbody th[scope="row"] {
	background: #f6efd9;
	font-weight: bold;
	text-align: left;
	/* 長い項目名は折り返してOK（折り返した方が見やすい）。幅を抑えて値の列を圧迫しない。 */
	white-space: normal;
	min-width: 5.5em;
	max-width: 9em;
	line-height: 1.4;
}
/* 値セルは折り返さず1行で（短い数値が中途半端に改行されるのを防ぐ）。
   横にあふれた分はコンテナ側の overflow-x: auto でスクロールできる。 */
.pal-compare__table td {
	white-space: nowrap;
}
.pal-compare__table .is-ours {
	background: #fff1ea;
	color: #d2402f;
	font-weight: bold;
}
.pal-compare__table thead th.is-ours { background: var(--accent, #ff6a3d); color: #fff; }
.pal-compare__table tr:last-child th,
.pal-compare__table tr:last-child td { border-bottom: none; }
.pal-compare__table th:last-child,
.pal-compare__table td:last-child { border-right: none; }
.pal-compare__hint {
	font-size: 11px;
	color: var(--ink3, #6b6b6b);
	text-align: center;
	margin: 6px 0 0;
}
@media (min-width: 600px) { .pal-compare__hint { display: none; } }

/* ── チェックリスト ── */
.pal-check { list-style: none; margin: 1.6em 0; padding: 0; }
.pal-check li {
	position: relative;
	padding: 8px 8px 8px 38px;
	margin: 0 0 8px;
	background: #f6efd9;
	border-radius: 8px;
	line-height: 1.6;
}
.pal-check li::before {
	content: "✓";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: var(--accent, #ff6a3d);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
}

/* ── ステップ ── */
.pal-steps { list-style: none; counter-reset: none; margin: 1.6em 0 1.2em; padding: 0; }
.pal-steps__item {
	position: relative;
	display: flex;
	gap: 14px;
	padding: 0 0 22px 0;
}
/* 最後のステップは下paddingを消す（次のボックスとの間に不自然な空白が出るのを防ぐ） */
.pal-steps__item:last-child { padding-bottom: 0; }
.pal-steps__item:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 17px;
	top: 36px;
	bottom: 0;
	width: 2px;
	background: #d9cfa8;
}
.pal-steps__no {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--ink, #181818);
	color: #fff;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	position: relative;
	z-index: 1;
}
.pal-steps__body { padding-top: 4px; }
.pal-steps__head { display: block; font-family: var(--font-display, "Yusei Magic", sans-serif); font-size: 16px; color: var(--ink, #181818); }
.pal-steps__desc { display: block; font-size: 14px; color: var(--ink2, #2c2c2c); line-height: 1.7; margin-top: 2px; }

/* ── 体験談の吹き出し ── */
.pal-voice { display: flex; gap: 12px; align-items: flex-start; margin: 1.8em 0; }
.pal-voice__avatar {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #f6efd9;
	border: 2px solid var(--ink, #181818);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}
.pal-voice__bubble {
	position: relative;
	flex: 1 1 auto;
	background: #fff;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	padding: 12px 16px;
	box-shadow: 3px 3px 0 rgba(24,24,24,.1);
}
.pal-voice__bubble::before {
	content: "";
	position: absolute;
	left: -9px;
	top: 16px;
	border-width: 8px 9px 8px 0;
	border-style: solid;
	border-color: transparent var(--ink, #181818) transparent transparent;
}
.pal-voice__bubble::after {
	content: "";
	position: absolute;
	left: -6px;
	top: 17px;
	border-width: 7px 8px 7px 0;
	border-style: solid;
	border-color: transparent #fff transparent transparent;
}
.pal-voice__text { margin: 4px 0 6px; line-height: 1.7; font-size: 14px; }
.pal-voice__name { font-size: 12px; color: var(--ink3, #6b6b6b); }

/* ── 星評価 ── */
.pal-stars {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	white-space: nowrap;
	vertical-align: middle;
}
.pal-stars__base { color: #d9cfa8; }
.pal-stars__fill {
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	color: #f5b301;
}

/* ── 本文中CTA ── */
.pal-cta-inline {
	margin: 2em 0;
	padding: 22px 20px;
	/* 塗りは薄いまま（メールボタン等のオレンジと干渉させない）＋
	   オレンジの枠線とやわらかい影で「カード」として目立たせる */
	background: linear-gradient(180deg, #FFF4E8 0%, #FFE7D2 100%);
	border: 2px solid #FFC894;
	border-radius: 16px;
	text-align: center;
	box-shadow: 0 8px 24px rgba(255, 139, 61, .18);
}
.pal-cta-inline__lead {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 16px;
	color: var(--ink, #181818);
	margin: 0 0 12px;
}
/* CTA上の3大特典（ラベル＋1枚の白カードを薄い区切りで3分割。線は最小限） */
.pal-offer { margin: 0 0 16px; }
.pal-offer__label {
	display: inline-block;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 13px;
	color: #fff;
	background: var(--accent, #ff6a3d);
	border-radius: 999px;
	padding: 5px 16px;
	margin: 0 0 12px;
}
/* 「3大特典」の文字だけ黄色（オレンジ地に映える） */
.pal-offer__label strong { font-size: 15px; color: #ffd633; }
.pal-offer__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(24, 24, 24, .06);
}
.pal-offer__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 13px 11px;
	text-align: center;
	border-right: 1px solid #f0e6cf;   /* 薄い区切りのみ */
}
.pal-offer__item:last-child { border-right: none; }
.pal-offer__name {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 13px;
	color: var(--accent, #ff6a3d);
}
.pal-offer__hl {
	font-size: 12px;
	line-height: 1.5;
	color: var(--ink, #181818);
	font-weight: bold;
}
/* 特典ハイライトの「赤強調」（住まいの「即日確保」など） */
.pal-hl-red {
	color: #E0301E;
	font-weight: bold;
}
/* PC：3大特典を大きく・見やすく（文字と余白を拡大） */
@media (min-width: 561px) {
	.pal-offer__label { font-size: 15px; padding: 6px 18px; margin-bottom: 14px; }
	.pal-offer__label strong { font-size: 18px; }
	.pal-offer__item { padding: 20px 16px; gap: 7px; }
	.pal-offer__name { font-size: 15px; }
	.pal-offer__hl { font-size: 16px; line-height: 1.55; }
}
@media (max-width: 560px) {
	.pal-offer__grid { grid-template-columns: 1fr; }
	.pal-offer__item {
		flex-direction: row;
		align-items: baseline;
		gap: 10px;
		text-align: left;
		border-right: none;
		border-bottom: 1px solid #f0e6cf;
	}
	.pal-offer__item:last-child { border-bottom: none; }
	.pal-offer__name { flex: 0 0 6em; }
	.pal-offer__hl { flex: 1; }
}
/* 記事LPのCTAボタンはフラットに（サイト共通のブルータリスト調＝太枠＋角オフセット影を上書き） */
.pal-cta-inline .pd-cta-buttons .btn {
	border: none;
	box-shadow: none;
	border-radius: 10px;
	padding: 13px 22px;
	font-size: 14px;
}
.pal-cta-inline .pd-cta-buttons .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 14px rgba(24, 24, 24, .16);
}
.pal-cta-inline .pd-cta-buttons .btn:active {
	transform: translateY(0);
	box-shadow: none;
}

/* PC：CTAカード＆ボタン — 求人詳細ページ (.jd-apply) と同じ見た目に合わせる（2026-07-09） */
@media (min-width: 769px) {
	.pal-cta-inline {
		padding: 32px 24px;
		border-radius: 16px;
		border: 2px solid #FFC894;
		background: linear-gradient(180deg, #FFF4E8 0%, #FFE7D2 100%);
		box-shadow: 0 6px 18px rgba(255, 139, 61, .16);
	}
	.pal-cta-inline .pd-cta-buttons {
		display: flex;
		gap: 12px;
		justify-content: center;
		flex-wrap: nowrap;
	}
	/* 求人詳細 .jd-apply__row .btn と同じブルータル系（太枠 + オフセット影）に統一 */
	.pal-cta-inline .pd-cta-buttons .btn {
		padding: 20px 24px;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: .04em;
		border: 2.5px solid var(--ink);
		border-radius: 12px;
		box-shadow: 5px 5px 0 var(--ink);
		flex: 1 1 0;
		min-width: 0;
		max-width: 280px;
		white-space: nowrap;
		transition: transform .15s ease, box-shadow .15s ease;
	}
	.pal-cta-inline .pd-cta-buttons .btn:hover {
		transform: translate(-2px, -2px);
		box-shadow: 7px 7px 0 var(--ink);
	}
	.pal-cta-inline .pd-cta-buttons .btn:active {
		transform: translate(0, 0);
		box-shadow: 5px 5px 0 var(--ink);
	}
	.pal-cta-nudge { margin: 8px 0 18px; }
	.pal-cta-nudge__txt { font-size: 15px; padding: 4px 16px; }
}

/* ボタン下のマイクロコピー「15秒で相談OK」。
   特典とボタンの間に置く誘導コピー。濃インクのピル＋下向き矢印でボタンへ視線を誘導する。 */
/* ボタンの下に出すコピー可能な求人ID（求人詳細ページの ID ボックスを小型化＋絵文字なし） */
.pal-cta-code {
	flex: 0 0 100%;          /* ボタン列(flex)の最下段に1行で回り込む＝ボタンの下 */
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 14px 0 0;
}
.pal-cta-code__box {
	display: inline-block;
	/* 背景・点線枠は無し（ラベルチップとコピーボタンだけ残す） */
	text-align: center;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
}
.pal-cta-code__label {
	display: inline-block;
	font-size: 10px;
	color: var(--ink2, #2c2c2c);
	background: var(--paper2, #efe7cf);
	padding: 2px 7px;
	border-radius: 3px;
	margin-right: 6px;
	vertical-align: middle;
	letter-spacing: .04em;
}
.pal-cta-code__id {
	font-family: Menlo, Consolas, monospace;
	font-size: 14px;
	font-weight: bold;
	color: var(--ink, #181818);
	letter-spacing: .03em;
	vertical-align: middle;
}
.pal-cta-code__copy {
	margin-left: 8px;
	background: var(--paper2, #efe7cf);
	border: 1.5px solid var(--ink2, #6b6b6b);
	border-radius: 4px;       /* 四角でシンプル */
	padding: 3px 9px;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 10px;
	color: var(--ink, #181818);
	cursor: pointer;
	vertical-align: middle;
	transition: all .15s;
}
.pal-cta-code__copy:hover { background: var(--ink, #181818); color: var(--paper, #f6efd9); }
.pal-cta-code__copy.is-copied { background: #1aa85a; color: #fff; border-color: #1aa85a; }
.pal-cta-code__hint {
	margin: 6px 0 0;
	font-size: 11px;
	color: var(--ink2, #2c2c2c);
	line-height: 1.5;
}
.pal-cta-code__hint strong { color: var(--accent, #ff6a3d); font-weight: bold; }

/* 特典とボタンの間の誘導コピー。吹き出しではなく「両側ライン＋強調テキスト」の見出し風。 */
.pal-cta-nudge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 2px 0 16px;
}
.pal-cta-nudge::before,
.pal-cta-nudge::after {
	content: "";
	width: 26px;
	height: 2px;
	background: var(--accent, #ff6a3d);
	border-radius: 2px;
}
.pal-cta-nudge__txt {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .03em;
	color: var(--accent, #ff6a3d);
}

/* スマホのボタン配置：LINEを上に全幅／電話・メールを下に2分割。
   （サイト共通の「縦1列・全幅」を、記事LPのCTAだけ上書き） */
@media (max-width: 768px) {
	.pal-cta-inline { padding: 18px 12px; }           /* スマホはコンテナ余白を詰めてボタン幅を確保 */
	.pal-cta-buttons {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}
	.pal-cta-buttons .btn { width: auto; }            /* 共通の width:100% を解除 */
	.pal-cta-buttons .btn.line { flex: 0 0 100%; }    /* LINE は上段で全幅 */
	.pal-cta-buttons .btn.tel,
	.pal-cta-buttons .btn.primary {
		flex: 1 1 0;
		min-width: 0;
		padding: 13px 4px;
		font-size: 12.5px;
		white-space: nowrap;       /* 文字を折り返さない（電話・メールを1行に収める） */
		letter-spacing: -.02em;
	}
}

/* 記事末の最終CTA（見出し＋リッチCTA） */
.pal-cta-final { margin-top: 44px; }
.pal-cta-final__h {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(20px, 4vw, 24px);
	text-align: center;
	margin: 0 0 14px;
	color: var(--ink, #181818);
}

/* ── 3大特典フル（[mk_offer3]） ── */
.pal-offer3 { display: grid; gap: 14px; margin: 1.8em 0; }
.pal-offer3__card {
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	padding: 16px 18px;
	background: #fff;
	box-shadow: 4px 4px 0 rgba(24,24,24,.12);
}
.pal-offer3__head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pal-offer3__no {
	flex: 0 0 auto;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 12px;
	color: #fff;
	background: var(--accent, #ff6a3d);
	border: 2px solid var(--ink, #181818);
	border-radius: 999px;
	padding: 2px 12px;
}
.pal-offer3__name {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 17px;
	color: var(--ink, #181818);
}
.pal-offer3__hl {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 15px;
	color: #d2402f;
	background: linear-gradient(transparent 60%, #ffe48a 60%);
	display: inline-block;
	margin-bottom: 10px;
}
.pal-offer3__list { list-style: none; margin: 0; padding: 0; }
.pal-offer3__list li {
	position: relative;
	padding: 4px 4px 4px 24px;
	line-height: 1.6;
	font-size: 14px;
}
.pal-offer3__list li::before {
	content: "✓";
	position: absolute;
	left: 2px;
	top: 4px;
	color: var(--accent, #ff6a3d);
	font-weight: bold;
}
.pal-offer3__note {
	font-size: 12px;
	color: var(--ink3, #6b6b6b);
	margin: 10px 0 0;
	line-height: 1.6;
}

/* ── FAQ（開閉） ── */
.pal-faq { margin: 1.8em 0; }
.pal-faq__item {
	border: 2px solid var(--ink, #181818);
	border-radius: 10px;
	margin: 0 0 10px;
	background: #fff;
	overflow: hidden;
}
.pal-faq__q {
	list-style: none;
	cursor: pointer;
	padding: 13px 44px 13px 14px;
	position: relative;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 15px;
	display: flex;
	gap: 8px;
	align-items: flex-start;
}
.pal-faq__q::-webkit-details-marker { display: none; }
.pal-faq__q::after {
	content: "＋";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: var(--accent, #ff6a3d);
}
.pal-faq__item[open] .pal-faq__q::after { content: "－"; }
.pal-faq__qmark, .pal-faq__amark {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
.pal-faq__qmark { background: var(--accent, #ff6a3d); }
.pal-faq__amark { background: var(--ink, #181818); }
.pal-faq__a {
	display: flex;
	gap: 8px;
	padding: 0 14px 14px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink2, #2c2c2c);
}

/* ── [mk_slider] 用のスライダー ──
   ACFサイドの「スライダー画像1〜5」に登録した画像を、本文中 [mk_slider] 位置で表示。
   サイズはWP内コーディングLPの案件詳細スライダー（.pd-detail__slider）と統一：
   max-width 680px・aspect-ratio 16/10・中央寄せ。
   既存のpd-slider基盤（main.jsの[data-pd-slider]）を再利用。 */
.pal-slider {
	position: relative;
	margin: 1.8em auto;
	max-width: 680px;
}
.pal-slider .pd-slider__viewport {
	overflow: hidden;
	border-radius: 12px;
	border: 2px solid var(--ink, #181818);
	background: var(--paper2, #f5efe1);
	aspect-ratio: 16 / 10;
}
.pal-slider .pd-slider__slide { position: relative; }
/* .pal-body img の rule（border-radius: 10px / max-width: 100%）を上書き */
.pal-slider .pd-slider__slide > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	max-width: none;
}

/* ── 画像＋キャプション ── */
.pal-figure { margin: 1.8em 0; text-align: center; }
.pal-figure img {
	width: 100%;
	height: auto;
	border: 2px solid var(--ink, #181818);
	border-radius: 12px;
	display: block;
}
.pal-figure figcaption {
	font-size: 12px;
	color: var(--ink3, #6b6b6b);
	margin-top: 8px;
}

/* ── マーカー強調（インライン） ── */
.pal-marker { font-weight: bold; padding: 0 2px; }
.pal-marker--y { background: linear-gradient(transparent 55%, #ffe48a 55%); }
.pal-marker--p { background: linear-gradient(transparent 55%, #ffc1d6 55%); }
.pal-marker--b { background: linear-gradient(transparent 55%, #bfe3ff 55%); }


/* ============================================================
   ピックアップ ③ 外部 LP 別タブモード（lp_type === 'external' + target_blank）
   詳細ページに大きく「LP を別タブで開く」CTA を出すシンプル中継ページ
   ============================================================ */
.pickup-teaser {
	max-width: 720px;
	margin: 0 auto;
	padding: 24px 18px 60px;
}
.ptz-header { margin-bottom: 26px; text-align: center; }
.ptz-title {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(22px, 4.6vw, 32px);
	line-height: 1.4;
	margin: 0 0 14px;
	color: var(--ink, #181818);
}
.ptz-lead {
	font-size: clamp(14px, 2.5vw, 16px);
	line-height: 1.85;
	color: var(--ink2, #2c2c2c);
	margin: 0;
}

.ptz-open-lp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	max-width: 560px;
	margin: 28px auto;
	padding: 22px 24px;
	background: linear-gradient(135deg, #ff6a00 0%, #FC0047 100%);
	color: #fff;
	text-decoration: none;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(16px, 3.4vw, 20px);
	font-weight: 900;
	letter-spacing: .04em;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(252,0,71,.3), inset 0 1px 0 rgba(255,255,255,.2);
	transition: transform .15s, box-shadow .15s;
	text-align: center;
	line-height: 1.3;
}
.ptz-open-lp:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(252,0,71,.4);
}
.ptz-open-lp__icn { font-size: 1.4em; line-height: 1; }
.ptz-open-lp__arrow { font-size: 1.2em; line-height: 1; opacity: .9; }


/* ============================================================
   記事LP用 Gutenberg ブロックスタイル
   inc/pickup-article-blocks.php で register_block_style() 済み
   フロント表示時とエディタ内プレビューの両方で適用される
   ============================================================ */

/* ===== 段落系 ===== */

/* 強調枠（黄色背景） */
.is-style-pal-callout {
	background: linear-gradient(135deg, #fff8e0 0%, #ffe9a6 100%);
	border-left: 6px solid #C9A100;
	padding: 18px 20px;
	border-radius: 8px;
	font-weight: 600;
	line-height: 1.85;
	margin: 1.6em 0;
	color: #5a3a00;
}

/* CTA帯（赤グラデ・行動を促す） */
.is-style-pal-ctabar {
	background: linear-gradient(135deg, #ff6a00 0%, #FC0047 100%);
	color: #fff !important;
	text-align: center;
	padding: 22px 20px;
	border-radius: 14px;
	font-weight: 900;
	font-size: 1.08em;
	box-shadow: 0 8px 22px rgba(252,0,71,.3);
	letter-spacing: .03em;
	margin: 1.8em 0;
}
.is-style-pal-ctabar a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

/* 吹き出し（左から：担当者・スタッフ用） */
.is-style-pal-bubble-left,
.is-style-pal-bubble-right {
	background: #fff;
	border: 2px solid var(--ink, #181818);
	border-radius: 14px;
	padding: 16px 20px;
	margin: 1.6em 12% 1.6em 0;
	position: relative;
	font-weight: 500;
	line-height: 1.85;
}
.is-style-pal-bubble-left::before {
	content: '';
	position: absolute;
	left: -14px;
	top: 24px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-right-color: var(--ink, #181818);
}
.is-style-pal-bubble-left::after {
	content: '';
	position: absolute;
	left: -10px;
	top: 26px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-right-color: #fff;
}
/* 右から：お客様用（緑枠で区別） */
.is-style-pal-bubble-right {
	margin: 1.6em 0 1.6em 12%;
	border-color: #43A047;
	background: #f1f8e9;
}
.is-style-pal-bubble-right::before {
	content: '';
	position: absolute;
	right: -14px;
	top: 24px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-left-color: #43A047;
}
.is-style-pal-bubble-right::after {
	content: '';
	position: absolute;
	right: -10px;
	top: 26px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left-color: #f1f8e9;
}

/* 注意書き（赤枠） */
.is-style-pal-warning {
	background: #fff5f5;
	border: 2px solid #E91E63;
	border-radius: 8px;
	padding: 14px 18px 14px 44px;
	margin: 1.6em 0;
	position: relative;
	color: #B71C1C;
	font-weight: 600;
}
.is-style-pal-warning::before {
	content: '⚠️';
	position: absolute;
	left: 14px;
	top: 14px;
	font-size: 1.2em;
}

/* ===== グループ系 ===== */

/* ポイント枠（紺ヘッダー風） */
.is-style-pal-point-box {
	background: #fff;
	border: 2px solid #1e2b63;
	border-radius: 12px;
	padding: 20px 22px;
	margin: 1.8em 0;
	position: relative;
	padding-top: 50px;
}
.is-style-pal-point-box::before {
	content: '🔑 POINT';
	position: absolute;
	top: 0; left: 16px;
	transform: translateY(-50%);
	background: #1e2b63;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	padding: 4px 14px;
	border-radius: 999px;
	letter-spacing: .08em;
}

/* セールスCTAカード（紙色背景 + 太枠） */
.is-style-pal-sales-card {
	background: var(--paper, #f6efd9);
	border: 3px solid var(--ink, #181818);
	border-radius: 14px;
	padding: 26px 22px;
	margin: 2em 0;
	text-align: center;
}

/* Before / After 枠（2カラム想定の親） */
.is-style-pal-baba {
	background: linear-gradient(90deg, #f5f5f5 0%, #f5f5f5 50%, #fff4e6 50%, #fff4e6 100%);
	border-radius: 12px;
	padding: 22px 18px;
	margin: 1.8em 0;
	position: relative;
}
.is-style-pal-baba::before {
	content: 'Before     →     After';
	display: block;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-weight: 900;
	text-align: center;
	color: var(--ink, #181818);
	margin-bottom: 14px;
	font-size: 14px;
	letter-spacing: .15em;
}

/* ===== リスト系 ===== */

/* チェックリスト ✓ */
.is-style-pal-check {
	list-style: none;
	padding-left: 0 !important;
	margin: 1.4em 0;
}
.is-style-pal-check li {
	position: relative;
	padding: 6px 6px 6px 36px;
	margin-bottom: .4em;
	line-height: 1.7;
}
.is-style-pal-check li::before {
	content: '✓';
	position: absolute;
	left: 8px;
	top: 6px;
	color: #fff;
	background: #43A047;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 900;
}

/* バツリスト ✗ */
.is-style-pal-cross {
	list-style: none;
	padding-left: 0 !important;
	margin: 1.4em 0;
}
.is-style-pal-cross li {
	position: relative;
	padding: 6px 6px 6px 36px;
	margin-bottom: .4em;
	line-height: 1.7;
	color: #888;
	text-decoration: line-through;
}
.is-style-pal-cross li::before {
	content: '✗';
	position: absolute;
	left: 8px;
	top: 6px;
	color: #fff;
	background: #E91E63;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

/* ステップリスト（番号丸） */
.is-style-pal-step {
	list-style: none;
	padding-left: 0 !important;
	margin: 1.6em 0;
	counter-reset: pal-step;
}
.is-style-pal-step li {
	position: relative;
	padding: 8px 6px 12px 50px;
	margin-bottom: .6em;
	line-height: 1.7;
	border-bottom: 1px dashed #d8d8d8;
	counter-increment: pal-step;
}
.is-style-pal-step li::before {
	content: 'STEP\A' counter(pal-step);
	white-space: pre;
	text-align: center;
	position: absolute;
	left: 0;
	top: 4px;
	width: 38px;
	background: #1e2b63;
	color: #fff;
	padding: 4px 0;
	border-radius: 6px;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: .05em;
}

/* ===== 見出し ===== */

/* 強調見出し（赤帯） */
h2.is-style-pal-heading-red,
h3.is-style-pal-heading-red,
h4.is-style-pal-heading-red {
	background: linear-gradient(135deg, #FC0047 0%, #ff4d00 100%);
	color: #fff !important;
	padding: 12px 18px !important;
	border-radius: 8px;
	margin: 2em 0 1em !important;
	border-left: none !important;
	border-bottom: none !important;
	box-shadow: 0 4px 12px rgba(252,0,71,.25);
}

/* シンプル下線見出し（黄色マーカー） */
h2.is-style-pal-heading-line,
h3.is-style-pal-heading-line,
h4.is-style-pal-heading-line {
	background: linear-gradient(transparent 65%, #ffe9a6 65%);
	display: inline;
	padding: 0 4px;
	margin: 1.6em 0 .8em !important;
	border: none !important;
	line-height: 2;
}

/* ===== 引用：お客様の声カード ===== */
blockquote.is-style-pal-voice {
	background: #fff;
	border: 2px dashed #43A047;
	border-radius: 14px;
	padding: 20px 22px 20px 70px;
	margin: 2em 0;
	position: relative;
	color: #2c2c2c;
	font-style: normal;
	line-height: 1.8;
}
blockquote.is-style-pal-voice::before {
	content: '😊';
	position: absolute;
	left: 18px;
	top: 18px;
	font-size: 36px;
}
blockquote.is-style-pal-voice cite,
blockquote.is-style-pal-voice p:last-child {
	display: block;
	margin-top: 10px;
	font-size: .9em;
	color: #43A047;
	font-style: normal;
	font-weight: 700;
}


/* ============================================================
   CV最適化要素：リスクリバーサル / ミドルCTA / 緊急性ピル / FV直下CTA
   B案（11セクション再構成）で導入
   ============================================================ */

/* --- リスクリバーサル：CTA直下の安心3点 --- */
.pd-risk-reversal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
}
.pd-rr__chip {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	color: #2E7D32;
	background: #f1f8e9;
	border: 1px solid #43A047;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: .04em;
	line-height: 1.4;
}

/* --- FV直下CTA --- */
.pd-fv__cta {
	margin: 26px auto 0;
	max-width: 540px;
}
.pd-fv__cta .pd-cta-buttons {
	justify-content: center;
}

/* --- ミドルCTA（ベネフィット後・詳細後）--- */
/* mid CTA：外側の箱をやめ、全幅の背景色帯で目立たせる（calc で画面端まで広げる） */
.pd-mid-cta {
	margin-top: 52px;
	margin-bottom: 4px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 48px 24px;
	background: linear-gradient(135deg, #ffe7cf 0%, #ffd3b3 100%);
	border: none;
	border-radius: 0;
	box-shadow: none;
	max-width: none;
	text-align: center;
}
.pd-mid-cta > * {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.pd-mid-cta__lead {
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: clamp(15px, 3.2vw, 19px);
	font-weight: 900;
	color: var(--ink, #181818);
	/* 左右 auto で中央寄せ（0 にすると .pd-mid-cta>* の中央寄せが打ち消されて左に寄る） */
	margin: 0 auto 16px;
	line-height: 1.5;
}
.pd-mid-cta .pd-cta-buttons {
	justify-content: center;
}

/* --- 緊急性ピル（クロージング直前）--- */
.pd-closing__urgency-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 2px solid #FC0047;
	color: #FC0047;
	padding: 8px 18px;
	border-radius: 999px;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .04em;
	margin: 0 auto 18px;
	box-shadow: 0 4px 12px rgba(252,0,71,.18);
	animation: pd-urgency-pulse 2s ease-in-out infinite;
}
.pd-closing__urgency-icon { font-size: 1.2em; line-height: 1; }
.pd-closing__urgency-text strong { font-weight: 900; }

@keyframes pd-urgency-pulse {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.04); }
}

/* --- 特典セクションの期限/注釈表示（信頼構築後の位置で再強調）--- */
.pd-bonus__deadline {
	display: inline-block;
	margin: 14px 0 6px;
	padding: 6px 14px;
	background: #fff;
	color: #FC0047;
	font-size: 13px;
	font-weight: 900;
	border: 2px solid #FC0047;
	border-radius: 999px;
	letter-spacing: .04em;
}
.pd-bonus__note {
	font-size: 11px;
	color: rgba(255,255,255,.85);
	margin: 6px 0 0;
	letter-spacing: .03em;
}

/* ============================================================
   ③ 外部LP：クッション/ティザーページ（.pcx-*）
   遷移先 navi-lp（MISAKI SUPPORT）に寄せた配色・装飾：
   ピンク#d94a6a＋イエロー#ffe14d＋2px黒枠＋ぼってり影＋Archivo Blackの大数字。
   ============================================================ */
.pickup-cushion.pcx {
	--pcx-ink: #1a1a1a;
	--pcx-muted: #6b6b68;
	--pcx-accent: #d94a6a;
	--pcx-accent-dark: #b03953;
	--pcx-soft: #fde8ee;
	--pcx-yellow: #ffe14d;
	max-width: 640px;
	margin: 0 auto;
	padding: 0 18px 76px;
	font-family: "Zen Kaku Gothic New", var(--font-display), "Hiragino Sans", sans-serif;
	color: var(--pcx-ink);
}
.pcx .pd-crumb { margin: 18px 0 6px; }
.pcx-num { font-family: "Archivo Black", "Zen Kaku Gothic New", sans-serif; }

/* ヒーロー */
.pcx-hero { text-align: center; padding: 24px 0 8px; }
.pcx-hero__kicker {
	display: inline-block;
	font-size: 13px; font-weight: 900; letter-spacing: .04em;
	color: #fff; background: var(--pcx-accent);
	margin: 0 0 14px; padding: 6px 16px;
	border: 2px solid var(--pcx-ink); border-radius: 999px;
}
.pcx-hero__title {
	font-family: "Zen Kaku Gothic New", var(--font-display), sans-serif;
	font-size: clamp(27px, 6.4vw, 40px);
	font-weight: 900; line-height: 1.38;
	margin: 0 0 16px; color: var(--pcx-ink);
}
.pcx-hero__title .pcx-mark,
.pcx-mark {
	background: linear-gradient(transparent 58%, var(--pcx-yellow) 58%);
	padding: 0 2px; font-weight: 900;
}
.pcx-hero__lead {
	font-size: 15.5px; line-height: 1.95; color: #333;
	margin: 0 auto 18px; max-width: 560px;
	text-wrap: balance;
}
/* 無料ポイントのステッカーチップ（navi-lp の黄色ステッカー風） */
.pcx-chips {
	list-style: none; margin: 0 auto 20px; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
	max-width: 540px;
}
.pcx-chip {
	font-size: 13px; font-weight: 900; color: var(--pcx-ink);
	background: var(--pcx-yellow);
	border: 2px solid var(--pcx-ink); border-radius: 999px;
	padding: 5px 14px;
}

/* ① 共感フック（悩みチェック） */
.pcx-pain {
	margin: 28px 0 0;
	background: #fff; border: 2px solid var(--pcx-ink); border-radius: 16px;
	padding: 22px;}
.pcx-pain__h {
	font-size: 19px; font-weight: 900; color: var(--pcx-ink);
	text-align: center; margin: 0 0 14px;
}
.pcx-pain__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pcx-pain__item {
	display: flex; align-items: center; gap: 10px;
	font-size: 15px; font-weight: 700; color: var(--pcx-ink);
	background: var(--pcx-soft); border-radius: 10px; padding: 10px 14px;
}
.pcx-pain__check {
	flex: 0 0 22px; width: 22px; height: 22px; border-radius: 6px;
	background: var(--pcx-accent); color: #fff; border: 2px solid var(--pcx-ink);
	display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900;
}

/* ④ 中間CTA（ソフト導線） */
.pcx-midcta { text-align: center; margin: 24px 0 0; }
.pcx-midcta__btn {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 15px; font-weight: 900; color: var(--pcx-accent);
	background: #fff; border: 2px solid var(--pcx-accent); border-radius: 999px;
	padding: 12px 24px; text-decoration: none;
	transition: transform .12s, box-shadow .12s;
}
.pcx-midcta__btn:hover { transform: translateY(2px); }

/* ② ミニ実績＋口コミ（社会的証明） */
.pcx-proof { margin: 32px 0 0; }
.pcx-proof__kicker {
	text-align: center; margin: 0 0 14px;
	font-size: 13px; font-weight: 900; letter-spacing: .1em;
	color: var(--pcx-accent-dark);
}
.pcx-proof__kicker span { color: #ffb400; margin: 0 4px; }
.pcx-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pcx-stat {
	position: relative; overflow: hidden;
	background: linear-gradient(160deg, #2c1622, #150810);
	color: #fff;
	border: 2px solid var(--pcx-ink); border-radius: 16px;
	padding: 22px 8px 16px; text-align: center;
}
.pcx-stat::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, #ffe98a, #ffb400);
}
.pcx-stat__n {
	display: block; line-height: 1;
	font-family: "Archivo Black", "Zen Kaku Gothic New", sans-serif;
	font-size: 38px; font-weight: 900;
	background: linear-gradient(180deg, #ffe98a, #ffbf1f);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: #ffcf33;
}
.pcx-stat__l {
	display: block; font-size: 11.5px; font-weight: 800; color: #fff; margin-top: 9px;
	letter-spacing: .02em;
}
/* ひとこと口コミ＝レビューカード（アバター＋★＋引用） */
.pcx-voice {
	margin: 14px 0 0;
	background: #fff; border: 2px solid var(--pcx-ink); border-radius: 14px;
	padding: 16px 18px;
}
.pcx-voice__top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.pcx-voice__ava {
	flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%;
	background: var(--pcx-soft); border: 2px solid var(--pcx-ink);
	display: flex; align-items: center; justify-content: center; font-size: 19px;
}
.pcx-voice__stars { color: #ffb400; font-size: 16px; letter-spacing: 1px; }
.pcx-voice__badge {
	margin-left: auto; font-size: 11px; font-weight: 900; color: var(--pcx-accent-dark);
	background: var(--pcx-soft); border-radius: 999px; padding: 3px 10px;
}
.pcx-voice__text {
	margin: 0; font-size: 14.5px; line-height: 1.85; font-weight: 700; color: var(--pcx-ink);
	position: relative; padding-left: 4px;
}

/* ③ 特典バナー（誘導ゾーン内） */
.pcx-go__perk {
	display: inline-block;
	font-size: 14px; font-weight: 900; color: var(--pcx-ink);
	background: var(--pcx-yellow); border: 2px solid var(--pcx-ink); border-radius: 999px;
	padding: 8px 18px; margin: 0 0 16px;
}

.pcx-hero__media {
	margin: 0 auto 16px; max-width: 600px;   /* 添付2（アーカイブ表紙≒593px）と同サイズに揃える */
	border-radius: 0; overflow: hidden;
	aspect-ratio: 16 / 10;
	border: 2px solid var(--pcx-ink);
}
.pcx-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcx-hero__scroll {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 13px; font-weight: 900; color: var(--pcx-accent);
	text-decoration: none; margin-top: 8px;
}
.pcx-hero__scroll span { animation: pcxBounce 1.4s infinite; }
@keyframes pcxBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

/* ティザーブロック */
.pcx-blocks { display: flex; flex-direction: column; gap: 22px; margin: 34px 0 0; }
.pcx-block {
	display: grid; grid-template-columns: 1fr; gap: 14px;
	background: #fff; border: 2px solid var(--pcx-ink);
	border-radius: 16px; padding: 22px;
}
.pcx-block__no {
	font-family: "Archivo Black", "Zen Kaku Gothic New", sans-serif;
	font-size: 34px; color: var(--pcx-accent); line-height: 1;
	display: block; margin-bottom: 4px;
	-webkit-text-stroke: 0;
}
.pcx-block__h {
	font-size: 20px; font-weight: 900; color: var(--pcx-ink);
	line-height: 1.5; margin: 0 0 10px;
}
.pcx-block__p { font-size: 15px; line-height: 1.95; color: #444; margin: 0; }
.pcx-block__media {
	margin: 0; border-radius: 12px; overflow: hidden;
	aspect-ratio: 16 / 10;
	border: 2px solid var(--pcx-ink); background: var(--pcx-soft);
}
.pcx-block__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 誘導ゾーン（ボタン） */
.pcx-go {
	margin: 36px 0 0; text-align: center;
	background: var(--pcx-soft);
	border: 2px solid var(--pcx-ink);
	border-radius: 20px; padding: 32px 22px 28px;
}
.pcx-go__bridge {
	font-size: 15.5px; font-weight: 700; line-height: 1.9; color: var(--pcx-ink);
	margin: 0 auto 18px; max-width: 480px;
	text-wrap: balance; word-break: auto-phrase;
}
/* 安心チップ（摩擦を下げる） */
.pcx-go__chips {
	list-style: none; margin: 0 auto 16px; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
}
.pcx-go__chips li {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 12.5px; font-weight: 800; color: var(--pcx-ink);
	background: #fff; border: 2px solid var(--pcx-ink); border-radius: 999px;
	padding: 5px 13px;
}
.pcx-go__chk { color: var(--pcx-accent); font-weight: 900; }
/* 指差しポインター */
.pcx-go__point {
	display: block; font-size: 27px; line-height: 1; margin: 0 0 2px;
	animation: pcxPoint 1s ease-in-out infinite;
}
@keyframes pcxPoint { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
/* 一番大事なCTA：2段・グラデ・やさしいパルスで訴求力を最大化（影は使わない） */
.pcx-go__btn {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
	width: 100%; max-width: 480px; margin: 0 auto; padding: 18px 24px 16px;
	background: linear-gradient(180deg, #ef6a8b, var(--pcx-accent-dark));
	color: #fff; text-decoration: none;
	border: 2px solid var(--pcx-ink); border-radius: 18px;
}
/* 文字をぼかさないよう、ボタンは拡大せず周囲にパルスのリングだけ広げる */
.pcx-go__btn::after {
	content: ""; position: absolute; inset: -1px; border-radius: 18px;
	border: 2px solid var(--pcx-accent); pointer-events: none;
	animation: pcxRing 1.8s ease-out infinite;
}
.pcx-go__btn:hover { filter: brightness(1.07); }
.pcx-go__btn:hover::after { animation: none; opacity: 0; }
@keyframes pcxRing { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.13); opacity: 0; } }
.pcx-go__btn-main {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 21px; font-weight: 900; line-height: 1.3; text-wrap: balance;
}
.pcx-go__btn-sub { font-size: 12px; font-weight: 700; opacity: .9; letter-spacing: .02em; }
.pcx-go__btn-arrow { font-size: 22px; flex: 0 0 auto; animation: pcxArrow 1s ease-in-out infinite; }
@keyframes pcxArrow { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
.pcx-go__note { font-size: 12px; color: var(--pcx-muted); margin: 14px 0 0; }
.pcx-go__warn {
	font-size: 13px; color: var(--pcx-accent-dark); background: #fff;
	border: 2px dashed var(--pcx-accent); border-radius: 10px; padding: 12px 16px; margin: 0; font-weight: 700;
}

/* 画像プレースホルダー（編集者のみ） */
.pcx-media--ph {
	display: flex; align-items: center; justify-content: center;
	color: var(--pcx-accent-dark); font-size: 12px; font-weight: 700;
	border: 2px dashed var(--pcx-accent) !important;
	background:
		repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(217,74,106,.06) 8px, rgba(217,74,106,.06) 16px),
		var(--pcx-soft) !important;
}

/* 副CTA */
.pcx-sub-cta {
	margin: 32px 0 0; text-align: center; padding: 24px 0 0;
	border-top: 2px dashed var(--pcx-ink);
}
.pcx-sub-cta__h { font-size: 18px; font-weight: 900; color: var(--pcx-ink); margin: 0 0 6px; }
.pcx-sub-cta__p { font-size: 13px; color: var(--pcx-muted); margin: 0 0 16px; }

/* PC：画像があるブロックは左右2カラム（交互） */
@media (min-width: 769px) {
	.pcx-block:has(.pcx-block__media) { grid-template-columns: 1fr 280px; align-items: center; gap: 22px; }
	.pcx-block--rev:has(.pcx-block__media) { grid-template-columns: 280px 1fr; }
	.pcx-block--rev:has(.pcx-block__media) .pcx-block__body { order: 2; }
	.pcx-block--rev:has(.pcx-block__media) .pcx-block__media { order: 1; }
}

@media (max-width: 768px) {
	.pcx-hero__title { font-size: 26px; }
	.pcx-hero__lead { font-size: 14.5px; line-height: 1.9; }
	.pcx-block { padding: 18px; }
	.pcx-block__h { font-size: 18px; }
	.pcx-go { padding: 26px 16px; }
	.pcx-go__btn { font-size: 18px; padding: 20px 18px; }
	.pcx-stat { padding: 18px 6px 14px; }
	.pcx-stat__n { font-size: 31px; }
	.pcx-stat__l { font-size: 10.5px; }
}

/* =====================================================================
   ピックアップ一覧：雑誌風ディスカバリー（.pu-*）2026-06
   2カラム（メイン＋サイドバー）／検索・テーマピル・並び替え／表紙16:10グリッド
   影なし・四角ベース・アースカラー。既存 .pa-card__cover--c* / .pa-tag--* 等を再利用。
   ===================================================================== */
.pu-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 20px 10px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 34px;
	align-items: start;
}
.pu-main { min-width: 0; }

/* ── ツールバー（検索＋並び替え） ── */
.pu-toolbar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap; margin-bottom: 22px;
}
/* 「タブに戻る」ボタンでここへスクロールした時、固定ヘッダーの下に隠れないよう余白を確保 */
#pu-tabs { scroll-margin-top: 90px; }
/* 検索なし（タブのみ）：中央寄せ */
.pu-toolbar--tabsonly { justify-content: center; }
.pu-toolbar--tabsonly .pu-views { flex: 0 0 auto; }
.pu-search { display: flex; gap: 8px; flex: 0 0 auto; width: 320px; max-width: 100%; }
.pu-search__input {
	flex: 1; min-width: 0; padding: 11px 14px; font-size: 14px;
	border: 2px solid var(--ink); border-radius: 10px; background: #fff; color: var(--ink);
}
.pu-search__btn {
	padding: 11px 20px; font-size: 14px; font-weight: bold; cursor: pointer;
	border: 2px solid var(--ink); border-radius: 10px; background: var(--ink); color: var(--paper);
	white-space: nowrap;
}
.pu-search__btn:hover { background: #3a372f; }
.pu-sort { display: inline-flex; border: 2px solid var(--ink); border-radius: 999px; overflow: hidden; background: #fff; }
.pu-sort__tab { padding: 9px 18px; font-size: 13px; color: var(--ink2); text-decoration: none; font-weight: bold; }
.pu-sort__tab + .pu-sort__tab { border-left: 2px solid var(--ink); }
.pu-sort__tab.is-active { background: var(--accent); color: #fff; }

/* ── PC：テーマピル ── */
/* ビュー切替タブ（ALL/注目案件/ランキング/新着）— こだわりピル＋先頭ドット */
/* ビュー切替＝セグメント型タブバー（連結・角丸）。カテゴリーの丸ピルと別物に見せる＆スマホで1行に収める */
.pu-views { display: inline-flex; flex-wrap: nowrap; margin: 0; border: 2px solid var(--ink); border-radius: 11px; overflow: hidden; background: #fff; }
.pu-view {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	padding: 11px 22px; font-size: 14px; font-weight: 800; letter-spacing: .02em; white-space: nowrap;
	color: var(--ink2); text-decoration: none; line-height: 1; background: #fff;
	transition: background .15s, color .15s;
}
.pu-view + .pu-view { border-left: 2px solid var(--ink); }
.pu-view:hover { background: var(--paper3); color: var(--ink); }
.pu-view.is-active { background: var(--ink); color: #fff; }

/* ランキング表示：カードの順位メダル */
.pu-card__rank {
	position: absolute; top: 8px; left: 8px; z-index: 2;
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 46px; height: 26px; padding: 0 9px;
	font-size: 13px; font-weight: 900; color: var(--ink);
	border: 2px solid var(--ink); border-radius: 7px; background: #fff;
}
.pu-card__rank--r1 { background: linear-gradient(135deg, #FFF3BE 0%, #FFD24D 46%, #E5A200 100%); color: #5a4500; }
.pu-card__rank--r2 { background: linear-gradient(135deg, #FBFCFE 0%, #D6DBE2 46%, #A7AFB9 100%); color: #2f343b; }
.pu-card__rank--r3 { background: linear-gradient(135deg, #F8DBB7 0%, #D89C66 46%, #AF6932 100%); color: #4a2a12; }

/* ── スマホ：テーマ横スクロールピル（PCでは隠す） ── */
.pu-cat-pillbar { display: none; }

/* ── 絞り込み結果ヘッダー ── */
.pu-result {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 2px 0 18px; padding: 10px 14px; background: var(--paper2); border-radius: 10px;
}
.pu-result__txt { margin: 0; font-size: 13px; color: var(--ink); }
.pu-result__txt b { color: var(--accent2); font-size: 16px; margin: 0 2px; }
.pu-result__reset { font-size: 12px; color: var(--red); text-decoration: none; white-space: nowrap; }
.pu-result__reset:hover { text-decoration: underline; }

/* ── ヒーロー（おすすめ・絞り込みなし時の1件大） ── */
.pu-hero {
	display: grid; grid-template-columns: 1.1fr 1fr;
	border: 2.5px solid var(--ink); border-radius: 14px; overflow: hidden;
	background: #fff; text-decoration: none; color: var(--ink);
	margin-bottom: 26px; transition: transform .15s;
}
.pu-hero:hover { transform: translateY(-2px); }
.pu-hero__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: block; }
.pu-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-hero__pick {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	background: var(--red); color: #fff; font-size: 12px; font-weight: bold;
	padding: 6px 14px; border-radius: 8px; border: 2px solid var(--ink);
}
.pu-hero__body { padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.pu-hero__title { font-size: 22px; font-weight: 800; line-height: 1.45; margin: 0; color: var(--ink); }
.pu-hero__lead { font-size: 14px; line-height: 1.85; color: var(--ink2); margin: 0; }
.pu-hero__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.pu-hero__more { font-size: 13px; font-weight: bold; color: var(--accent2); }

/* ── テーマタグ（カード内） ── */
.pu-card__cats { display: flex; flex-wrap: wrap; gap: 6px; }
.pu-card__cat {
	font-size: 11px; font-weight: bold; color: var(--ink);
	background: var(--paper3); padding: 3px 9px; border-radius: 999px;
}

/* ── グリッド ── */
/* 表紙＋タイトル主役の見やすいグリッド（PC=3列／タブレット2列／スマホ2列） */
.pu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pu-card {
	display: flex; flex-direction: column; overflow: hidden;
	border: 2px solid var(--ink); border-radius: 0; background: #fff;
	box-shadow: none;
	text-decoration: none; color: var(--ink); transition: transform .15s;
}
.pu-card:hover { transform: translateY(-4px); }
.pu-card:hover, .pu-card:active, .pu-card:focus, .pu-card:focus-within { text-decoration: none; }
.pu-card__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: block; border-bottom: 2px solid var(--ink); }
.pu-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.pu-card:hover .pu-card__img { transform: scale(1.06); }
.pu-card__badge {
	position: absolute; top: 10px; left: 10px; z-index: 2;
	font-size: 11px; font-weight: bold; padding: 4px 10px; border-radius: 6px; color: #fff;
}
.pu-card__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.pu-card__title {
	font-size: 16.5px; font-weight: 800; line-height: 1.55; margin: 0; color: var(--ink);
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.pu-card__area { font-size: 11.5px; font-weight: bold; color: var(--ink3); margin-top: auto; padding-top: 2px; }

/* ── 結果なし ── */
.pu-empty { text-align: center; padding: 56px 20px; color: var(--ink2); }
.pu-empty__icon { font-size: 40px; margin: 0 0 10px; }
.pu-empty__txt { font-size: 15px; margin: 0 0 16px; }

/* =========================== サイドバー =========================== */
.pu-side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 88px; align-self: start; }
.pu-scard { background: #fff; border: 2px solid var(--ink); border-radius: 12px; padding: 16px; }
.pu-scard__h {
	display: flex; align-items: center; gap: 7px; margin: 0 0 12px; padding-bottom: 9px;
	font-size: 14px; font-weight: 800; color: var(--ink); border-bottom: 2px dashed var(--line-2);
}
.pu-scard__ico { font-size: 16px; }

/* 注目TOP3 */
.pu-rank { display: flex; flex-direction: column; gap: 12px; }
.pu-rank__item { display: grid; grid-template-columns: 26px 76px 1fr; gap: 10px; align-items: center; text-decoration: none; color: var(--ink); }
.pu-rank__no { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 14px; font-weight: 800; color: #fff; }
.pu-rank__no--1 { color: #5a4500; background: linear-gradient(135deg, #FFF3BE 0%, #FFD24D 46%, #E5A200 100%); }
.pu-rank__no--2 { color: #2f343b; background: linear-gradient(135deg, #FBFCFE 0%, #D6DBE2 46%, #A7AFB9 100%); }
.pu-rank__no--3 { color: #4a2a12; background: linear-gradient(135deg, #F8DBB7 0%, #D89C66 46%, #AF6932 100%); }
.pu-rank__cover { aspect-ratio: 16 / 10; width: 76px; border-radius: 6px; overflow: hidden; display: block; }
.pu-rank__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-rank__ttl { font-size: 12.5px; font-weight: bold; line-height: 1.4; color: var(--ink); }
.pu-rank__item:hover .pu-rank__ttl { color: var(--accent2); }

/* テーマ一覧 */
.pu-side-cats { display: flex; flex-direction: column; gap: 2px; }
.pu-side-cat { display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border-radius: 8px; text-decoration: none; color: var(--ink); font-size: 13px; }
.pu-side-cat:hover { background: var(--paper2); }
.pu-side-cat.is-active { background: var(--accent); color: #fff; }
.pu-side-cat .cnt { font-size: 11px; color: var(--ink3); background: var(--paper3); border-radius: 999px; padding: 1px 8px; }
.pu-side-cat.is-active .cnt { color: #fff; background: rgba(255,255,255,.25); }

/* 新着 */
.pu-newlist { display: flex; flex-direction: column; gap: 12px; }
.pu-new__item { display: grid; grid-template-columns: 84px 1fr; gap: 10px; align-items: center; text-decoration: none; color: var(--ink); }
.pu-new__cover { aspect-ratio: 16 / 10; border-radius: 6px; overflow: hidden; display: block; }
.pu-new__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-new__meta { display: flex; flex-direction: column; gap: 3px; }
.pu-new__date { font-size: 10.5px; color: var(--ink3); }
.pu-new__ttl { font-size: 12.5px; font-weight: bold; line-height: 1.4; }
.pu-new__item:hover .pu-new__ttl { color: var(--accent2); }

/* サイドCTA */
.pu-scta { background: var(--paper2); border: 2.5px solid var(--ink); border-radius: 12px; padding: 18px; text-align: center; }
.pu-scta__h { font-size: 16px; font-weight: 800; color: var(--ink); margin: 0 0 8px; line-height: 1.5; }
.pu-scta__p { font-size: 12px; color: var(--ink2); margin: 0 0 14px; line-height: 1.6; }
.pu-scta__btns { display: flex; flex-direction: column; gap: 9px; }

/* =========================== レスポンシブ =========================== */
@media (max-width: 900px) {
	.pu-wrap { grid-template-columns: 1fr; gap: 26px; padding: 6px 14px 8px; }
	.pu-side { position: static; top: auto; }
	.pu-cats { display: none; }
	.pu-hero { grid-template-columns: 1fr; }
	.pu-toolbar { gap: 10px; }
	.pu-hero__title { font-size: 19px; }
	/* タブレット・スマホは 2 列（2×2） */
	.pu-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
	.pu-grid { gap: 12px; }
	.pu-card__body { padding: 11px 12px 13px; gap: 5px; }
	.pu-card__title { font-size: 14px; line-height: 1.5; }
}

/* =====================================================================
   ピックアップ一覧：特集マガジン型（2026-06 改）
   ① イントロ（表紙スライダー＋説明） ② 注目3件を大きく1件ずつ ③ 全幅グリッド
   サイドバー廃止・全幅。影なし・四角・アースカラー。
   ===================================================================== */
.pu-shell { max-width: 1200px; margin: 0 auto; padding: 4px 20px 10px; }

/* ① イントロ */
.pu-intro {
	position: relative;
	max-width: 1200px; margin: 10px auto 8px; padding: 0 20px;
	display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: center;
}
/* 背景の薄いロゴ（CONCEPT のウォーターマーク風） */
.pu-intro__wm {
	position: absolute; top: -16px; right: 12px; z-index: 0; pointer-events: none;
	font-size: clamp(64px, 11vw, 150px); font-weight: 900; letter-spacing: .04em; line-height: 1;
	color: var(--paper3); opacity: .55; white-space: nowrap; transform: rotate(-3deg);
}
.pu-intro__visual, .pu-intro__text { position: relative; z-index: 1; }
/* 左ビジュアル（スライダー＋重ね2枚目＋ラベル＋手書き） */
.pu-intro__visual { padding: 4px 6px 24px 0; }
.pu-intro__brand { position: relative; display: inline-flex; flex-direction: column; gap: 1px; padding: 7px 24px; margin-bottom: 16px; }
.pu-intro__brand::before, .pu-intro__brand::after { content: ""; position: absolute; top: 0; width: 11px; height: 100%; border: 2.5px solid var(--ink); }
.pu-intro__brand::before { left: 0; border-right: 0; }
.pu-intro__brand::after { right: 0; border-left: 0; }
.pu-intro__brand-en { font-size: 24px; font-weight: 900; letter-spacing: .12em; color: var(--ink); line-height: 1.1; }
.pu-intro__brand-jp { font-size: 11px; font-weight: bold; color: var(--ink); letter-spacing: .02em; }
.pu-intro__sub {
	position: absolute; right: -12px; bottom: 6px; width: 44%; aspect-ratio: 16 / 10;
	overflow: hidden; border: 3px solid #fff; outline: 2px solid var(--ink); background: var(--paper2);
}
.pu-intro__sub img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-intro__hand {
	position: absolute; left: 2px; bottom: -10px; z-index: 2;
	font-family: "Yusei Magic", sans-serif; font-size: 18px; color: var(--accent2); transform: rotate(-5deg);
	text-shadow: 1px 1px 0 var(--paper), -1px 1px 0 var(--paper), 1px -1px 0 var(--paper), -1px -1px 0 var(--paper);
}
.pu-intro__slider {
	position: relative; aspect-ratio: 16 / 10; overflow: hidden;
	border: 2.5px solid var(--ink); border-radius: 0; background: var(--paper2);
}
.pu-intro__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; display: grid; place-items: center; }
.pu-intro__slide.is-active { opacity: 1; }
.pu-intro__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-intro__tag {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	background: var(--ink); color: var(--paper); font-size: 12px; font-weight: 800;
	letter-spacing: .08em; padding: 6px 14px; border-radius: 8px;
}
.pu-intro__text { padding: 6px 0; }
.pu-intro__en { display: block; font-size: 13px; font-weight: 800; letter-spacing: .14em; color: var(--accent2); margin-bottom: 8px; }
.pu-intro__h { font-size: 28px; font-weight: 800; line-height: 1.45; margin: 0 0 16px; color: var(--ink); }
.pu-intro__lead { font-size: 15px; line-height: 2; color: var(--ink); margin: 0 0 18px; }
.pu-intro__themes { display: flex; flex-wrap: wrap; gap: 8px; }
.pu-intro__theme { font-size: 12.5px; color: var(--ink); text-decoration: none; padding: 5px 12px; border: 1.5px solid var(--ink); border-radius: 999px; background: #fff; }
.pu-intro__theme:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.pu-intro__theme.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ② 注目の案件：参考(01/02/03)風 全幅カラー帯＋上部マーキー（全件同サイズ・表紙16:10） */
.pu-feats { display: flex; flex-direction: column; gap: 22px; margin: 16px 0 34px; }
.pu-feat { position: relative; overflow: hidden; border: 2.5px solid var(--ink); border-radius: 0; }
.pu-feat--t1 { background: #A7BE7E; }   /* green（参考 01.ORDER）  */
.pu-feat--t2 { background: #E08A3C; }   /* orange（参考 02.SEMI-ORDER） */
.pu-feat--t3 { background: #71B8AF; }   /* teal（参考 03.DWELLING）  */
.pu-feat--tn { background: var(--paper3); }   /* 4位以降＝デザインに馴染むニュートラル */

/* 上部マーキー（こんな人におすすめ：横スクロール） */
.pu-feat__marquee { display: flex; align-items: stretch; background: transparent; color: var(--ink); font-size: 13px; font-weight: 800; border-bottom: 0; }
.pu-feat__marquee-label { position: relative; flex: 0 0 auto; display: flex; align-items: center; padding: 5px 18px 5px 44px; white-space: nowrap; background: var(--ink); color: var(--paper); }
.pu-feat__marquee-label::before {
	content: ""; position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
	width: 19px; height: 19px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD24D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.5.5 1 1.4 1 2.5h6c0-1.1.5-2 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.pu-feat__marquee-win { flex: 1 1 auto; min-width: 0; overflow: hidden; display: flex; align-items: center; padding-left: 16px; }
.pu-feat__marquee-track { display: inline-flex; white-space: nowrap; animation: pu-marq 24s linear infinite; }
.pu-feat__marquee-item { padding: 4px 0; }
.pu-feat__marquee-item::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 22px; background: currentColor; opacity: .45; transform: rotate(45deg); vertical-align: middle; }
@keyframes pu-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 本文（左・カラー帯）＋ 表紙画像（右・16:10・右端まで） */
.pu-feat__row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; }
.pu-feat__body {
	display: flex; flex-direction: column; justify-content: center; gap: 12px;
	padding: 40px 40px;
}
/* タイトル右上の EN 見出し＋［ ］リード（参考 01.ORDER 風・黒一色にしない） */
.pu-feat__head { text-align: left; margin: 0 0 8px; }
.pu-feat__en { display: flex; align-items: center; justify-content: flex-start; gap: 9px; flex-wrap: wrap; font-size: 22px; font-weight: 900; letter-spacing: .05em; line-height: 1.1; color: var(--ink); }
.pu-feat__en-label { color: var(--ink); }
/* No.◯ メダル風バッジ（No.1=金＋王冠＋キラッ、No.2=銀、No.3=銅） */
.pu-feat__rankbadge {
	position: relative; overflow: hidden; display: inline-flex; align-items: center;
	padding: 4px 14px; border: 2px solid var(--ink); border-radius: 9px;
	font-size: 25px; font-weight: 900; line-height: 1.1; color: var(--ink); background: #fff;
}
.pu-feat__rankbadge--r1 { background: linear-gradient(135deg, #FFF3BE 0%, #FFD24D 46%, #E5A200 100%); color: #5a4500; animation: pu-rank-pop 1.9s ease-in-out infinite; }
.pu-feat__rankbadge--r2 { background: linear-gradient(135deg, #FBFCFE 0%, #D6DBE2 46%, #A7AFB9 100%); color: #2f343b; }
.pu-feat__rankbadge--r3 { background: linear-gradient(135deg, #F8DBB7 0%, #D89C66 46%, #AF6932 100%); color: #4a2a12; }
.pu-feat__rankbadge--r1::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 45%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.85), transparent);
	transform: skewX(-20deg); animation: pu-rank-shine 2.8s ease-in-out infinite;
}
.pu-feat__crown { display: inline-block; width: 19px; height: 16px; margin-right: 6px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='%235a4500'%3E%3Cpath d='M2 5 6 9 12 2 18 9 22 5 20 17 4 17Z'/%3E%3C/svg%3E") no-repeat center / contain; }
@keyframes pu-rank-shine { 0% { left: -70%; } 55%, 100% { left: 130%; } }
@keyframes pu-rank-pop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@media (prefers-reduced-motion: reduce) {
	.pu-feat__rankbadge--r1 { animation: none; }
	.pu-feat__rankbadge--r1::after { display: none; }
}
.pu-feat__tagline { margin-top: 5px; font-size: 12.5px; font-weight: bold; color: var(--ink); letter-spacing: .01em; }
.pu-feat__title { margin: 2px 0 0; line-height: 1.75; }
.pu-feat__title-hl {
	font-size: 26px; font-weight: 800; color: var(--ink); line-height: 1.85;
	background: #fff; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 4px 10px;
}
.pu-feat__lead { font-size: 14.5px; font-weight: 700; line-height: 1.9; color: var(--ink); margin: 6px 0 0; max-width: 30em; }
.pu-feat .pa-stats { max-width: 30em; }
.pu-feat__foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.pu-feat__metaline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pu-feat__area { font-size: 14px; font-weight: 800; color: var(--ink); }
.pu-feat__tag { font-size: 11.5px; font-weight: bold; color: var(--ink); background: rgba(255,255,255,.85); padding: 4px 11px; border-radius: 999px; }
.pu-feat__btn { width: 100%; text-align: center; box-shadow: none; }
.pu-feat__btn:hover, .pu-feat__btn:active { box-shadow: none; transform: none; background: #3a362e; color: var(--paper); }
.pu-feat__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: block; align-self: center; background: rgba(0,0,0,.06); }
.pu-feat__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pu-feat__cover .pa-ph-icon { position: absolute; inset: 0; display: grid; place-items: center; }

/* ③ セクション見出し */
.pu-sec-h { display: flex; align-items: baseline; gap: 12px; font-size: 20px; font-weight: 800; color: var(--ink); margin: 8px 0 16px; }
.pu-sec-h__en { font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--accent2); }

/* レスポンシブ */
@media (max-width: 900px) {
	.pu-intro { grid-template-columns: 1fr; gap: 18px; margin: 6px auto 4px; padding: 0 14px; }
	.pu-intro__h { font-size: 22px; }
	.pu-intro__lead { font-size: 14px; line-height: 1.9; }
	.pu-intro__visual { padding: 4px 0 28px; }
	.pu-intro__sub { width: 40%; right: 0; bottom: -8px; }
	.pu-intro__wm { font-size: 64px; top: -8px; right: 8px; }
	.pu-intro__brand-en { font-size: 21px; }
	.pu-shell { padding: 4px 14px 8px; }
	.pu-feat__row { grid-template-columns: minmax(0, 1fr); }
	.pu-feat__cover { order: -1; width: 100%; min-width: 0; }
	.pu-feat__body { padding: 22px 18px; padding-left: 18px; justify-content: flex-start; }
	.pu-feat__title-hl { font-size: 20px; line-height: 1.7; }
	.pu-feat__head { text-align: left; }
	.pu-feat__en { justify-content: flex-start; font-size: 20px; }
	.pu-feat__rankbadge { font-size: 22px; padding: 3px 12px; }
	/* サブコピーは1行に（折り返さない） */
	.pu-feat__tagline { white-space: nowrap; font-size: 11px; letter-spacing: -.01em; }
	/* 数字3つ → エリア/ボタンの隙間を詰める */
	.pu-feat .pa-stats { margin-bottom: 6px; }
	.pu-feat__foot { justify-content: flex-start; margin-top: 6px; }
	.pu-feat__btn { width: 100%; text-align: center; }
	.pu-feat__marquee { font-size: 12px; }
	.pu-feat__marquee-label { padding: 4px 14px 4px 38px; }
	.pu-feat__marquee-label::before { left: 12px; width: 17px; height: 17px; }
}

/* 全幅特集のはみ出し対策 */
.pickup-archive--mag { overflow-x: clip; }

/* =====================================================================
   スマホ：注目案件(大特集)とグリッド(ランキング/新着)を 1枚ずつスライド
   （HOME 求人特集スライダーと同じ「中央＋隣チラ見せ」スクロールスナップ）
   ===================================================================== */
/* ALL：表紙だけのグリッド（PC・スマホ両方で表紙を大きく見せる） */
.pu-grid--covers .pu-card__body { display: none; }
/* 本文を隠すと表紙の border-bottom がカード枠と二重になり太い線に見えるため消す */
.pu-grid--covers .pu-card__cover { border-bottom: 0; }
/* ALL は表紙だけ：イチオシ等のバッジは出さない */
.pu-grid--covers .pu-card__badge { display: none; }

@media (max-width: 760px) {
	/* ── ランキング/新着のみ：1枚送りスライダー（添付2＝HOME求人特集と同じ操作感） ──
	   ※ 注目案件（.pu-feats）はスライダーにせず、積み上げのまま */
	.pu-mslider { position: relative; margin: 0 -14px; }
	.pu-mslider__vp { position: relative; }
	.pu-grid--slider {
		display: flex; flex-direction: row; flex-wrap: nowrap;
		grid-template-columns: none;              /* グリッド指定を打ち消す */
		overflow-x: auto; overflow-y: visible;
		scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
		gap: 14px; margin: 0; padding: 4px 30px 14px;
		scroll-padding: 0 30px; scrollbar-width: none;
	}
	.pu-grid--slider::-webkit-scrollbar { display: none; }
	.pu-grid--slider > .pu-card { flex: 0 0 86%; scroll-snap-align: center; }
	.pu-grid--slider > .pu-card .pu-card__body { padding: 16px 18px 18px; gap: 8px; }
	.pu-grid--slider > .pu-card .pu-card__title { font-size: 17.5px; -webkit-line-clamp: 3; line-height: 1.5; }
	.pu-grid--slider > .pu-card .pu-card__area { font-size: 12.5px; }

	/* 左右の丸い矢印（表紙の中央あたりに重ねる） */
	.pu-mslider__arrow {
		position: absolute; top: 38%; transform: translateY(-50%);
		width: 38px; height: 38px; border-radius: 50%;
		border: 2px solid var(--ink); background: var(--paper);
		color: var(--ink); font-size: 22px; line-height: 1;
		display: flex; align-items: center; justify-content: center;
		cursor: pointer; z-index: 4; padding: 0;
	}
	.pu-mslider__arrow--prev { left: 2px; }
	.pu-mslider__arrow--next { right: 2px; }

	/* 下：現在地インジケーター（1 / N ・ 案件名） */
	.pu-mslider__bar {
		display: flex; align-items: center; justify-content: center;
		gap: 6px; margin: 4px 14px 4px; font-size: 13px; color: var(--ink);
	}
	.pu-mslider__pos { font-weight: 800; }
	.pu-mslider__sep { opacity: .5; }
	.pu-mslider__name { max-width: 58%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }

	/* ドット */
	.pu-sdots {
		display: flex; justify-content: center; align-items: center;
		gap: 8px; margin: 0 0 26px; padding: 0;
	}
	.pu-sdot {
		width: 8px; height: 8px; border-radius: 50%;
		border: 0; padding: 0; cursor: pointer;
		background: rgba(0, 0, 0, .18);
		transition: width .2s ease, background .2s ease;
		-webkit-appearance: none; appearance: none;
	}
	.pu-sdot.is-active { width: 22px; border-radius: 5px; background: var(--accent); }
}

/* ランキング感アップ：順位メダルを大きく＋上位3は枠を強調 */
.pu-card__rank { top: 10px; left: 10px; min-width: 52px; height: 30px; font-size: 15px; border-radius: 8px; }
.pu-card__rank-no { letter-spacing: .01em; }
.pu-card:has(.pu-card__rank--r1) { border-color: #E5A200; }
.pu-card:has(.pu-card__rank--r2) { border-color: #9AA3AD; }
.pu-card:has(.pu-card__rank--r3) { border-color: #C08344; }


/* =====================================================================
   ランキング/新着：HOME 求人特集スライダー（.feat-slider）と全く同じデザイン。
   front.css はピックアップ一覧では読み込まれないためスタイルを移植。
   ===================================================================== */
.feat-slider {
	max-width: 1280px;
	margin: 0 auto;
}

/* ━━━ タブナビ（上の小サムネ列）─ 雑誌の目次ふう ━━━ */
.feat-slider__tabs {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.feat-slider__tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	width: 96px;
	transition: opacity .2s;
	opacity: .55;
}
.feat-slider__tab:hover { opacity: .85; }
.feat-slider__tab.is-current { opacity: 1; }
.feat-slider__tab-thumb {
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--paper2);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ink2);
	transition: border-color .15s, transform .15s;
}
.feat-slider__tab-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feat-slider__tab.is-current .feat-slider__tab-thumb {
	border: 2px solid var(--accent);
	transform: translateY(-2px);
}
.feat-slider__tab-ph { font-size: 16px; opacity: .35; }
.feat-slider__tab-num {
	font-family: var(--font-display);
	font-size: 10.5px;
	font-weight: bold;
	color: var(--ink);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.feat-slider__tab.is-current .feat-slider__tab-num {
	color: var(--accent);
	border-bottom: 1.5px solid var(--accent);
	padding-bottom: 1px;
}

/* ━━━ ステージ（前後ピーク付き scroll-snap スライダー） ━━━ */
.feat-slider__stage {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0;
}
.feat-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	background: var(--paper);
	color: var(--ink);
	border: 1.5px solid var(--ink);
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s, color .15s;
}
.feat-slider__arrow:hover {
	background: var(--ink);
	color: var(--paper);
}
.feat-slider__arrow span { display: block; margin-top: -2px; }
.feat-slider__arrow--prev { left: 8px; }
.feat-slider__arrow--next { right: 8px; }

.feat-slider__viewport {
	flex: 1;
	min-width: 0;
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	gap: 24px;
	padding: 4px 8%;             /* 左右パディングで前後スライドのピークが見える */
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}
.feat-slider__viewport::-webkit-scrollbar { display: none; }

.feat-slider__track {
	display: contents;            /* flex 親としては .feat-slider__viewport 側を使う */
}

.feat-slider__slide {
	flex: 0 0 84%;                /* 中央スライドが約84%、左右 8% ずつピーク */
	scroll-snap-align: center;
	scroll-snap-stop: always;
	transition: opacity .35s ease, transform .35s ease;
	opacity: .35;                  /* 非アクティブはうっすら */
	transform: scale(.96);
}
.feat-slider__slide.is-current {
	opacity: 1;
	transform: scale(1);
}

.feat-slider__slide-link {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	color: var(--ink);
	text-decoration: none;
	background: var(--paper);
	/* 枠線は他カードと統一（太い黒線・わずかに角丸）。影は雑誌セクションの落ち着いた雰囲気のためなし */
	border: var(--bd-w-thick) solid var(--ink);
	border-radius: 4px;
	overflow: hidden;
	transition: transform .15s;
}
.feat-slider__slide-link:hover {
	color: var(--ink);
	text-decoration: none;
	transform: translate(-2px, -2px);
}
.feat-slider__slide-image {
	aspect-ratio: 16 / 10;
	background: var(--paper2);
	overflow: hidden;
}
.feat-slider__slide-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.feat-slider__slide-ph {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	opacity: .35;
}
.feat-slider__slide-info {
	padding: 36px 40px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	justify-content: center;
	background: #fff;
}
/* タグは "FEATURE 01" 風の英数字＋アンダーラインで雑誌見出しふう */
.feat-slider__slide-tag {
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: bold;
	color: var(--accent);
	background: transparent;
	padding: 0 0 6px;
	border-bottom: 1.5px solid var(--accent);
	letter-spacing: .15em;
	align-self: flex-start;
	text-transform: uppercase;
	border-radius: 0;
}
.feat-slider__slide-title {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0;
	color: var(--ink);
	letter-spacing: .01em;
	/* タイトルが長い時のみ2行まで（短い場合は自然な高さでOK）*/
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	overflow: hidden;
}
.feat-slider__slide-sub {
	font-family: var(--font-display);
	font-size: 13.5px;
	line-height: 1.8;
	margin: 0;
	color: var(--ink2);
	/* 2行固定でカード高さを統一（足りない場合は空白、超える場合は末尾省略）*/
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.8em * 2);
}
.feat-slider__slide-cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: bold;
	color: var(--ink);
	background: transparent;
	border: none;
	border-bottom: 1.5px solid var(--ink);
	padding: 4px 0 4px;
	border-radius: 0;
	letter-spacing: .1em;
	margin-top: 6px;
	transition: color .15s, border-color .15s, transform .15s;
}
.feat-slider__slide-link:hover .feat-slider__slide-cta {
	color: var(--accent);
	border-bottom-color: var(--accent);
	transform: translateX(4px);
}

/* ━━━ インジケーター（下の◯/◯）─ シンプルなテキスト型 ━━━ */
.feat-slider__indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
	font-family: var(--font-display);
	font-size: 12px;
	color: var(--ink2);
	letter-spacing: .04em;
}
.feat-slider__indicator-pos {
	background: transparent;
	color: var(--ink);
	padding: 0;
	border-radius: 0;
	font-weight: bold;
	letter-spacing: .15em;
}
.feat-slider__indicator-pos [data-feat-cur] {
	color: var(--accent);
	font-size: 18px;
}
.feat-slider__indicator-sep { color: var(--ink2); }
.feat-slider__indicator-name {
	color: var(--ink);
	font-weight: 600;
	font-size: 13px;
}

@media (max-width: 768px) {
	.feat-slider__tabs {
		gap: 8px;
		margin-bottom: 20px;
		padding: 0 14px;
		/* 最大5枚なので画面幅に収めて中央寄せ。折り返さない */
		flex-wrap: nowrap;
		justify-content: center;
	}
	.feat-slider__tab {
		/* 5枚均等：(画面幅 - パディング28px - gap×4) / 5。
		   1fr で配分すれば計算不要だが、最大幅を制限して大きくなりすぎない */
		flex: 1 1 0;
		max-width: 72px;
		min-width: 0;
	}
	.feat-slider__tab-num { font-size: 9.5px; letter-spacing: .05em; }

	/* 矢印：ピークを隠さないよう小さく＆半透明に */
	.feat-slider__arrow {
		width: 28px; height: 28px;
		font-size: 14px;
		background: rgba(255, 255, 255, 0.85);
		border-width: 1px;
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}
	.feat-slider__arrow--prev { left: 2px; }
	.feat-slider__arrow--next { right: 2px; }

	/* 中央スナップを完璧にするための計算：
	   slide 幅 82vw → 両側 padding 9vw で 1枚目/最後もぴたり中央＋左右にピーク 9vw ぶん見える */
	.feat-slider__viewport {
		padding: 4px 9vw;
		gap: 12px;
		scroll-padding-inline: 9vw;
	}
	.feat-slider__slide { flex: 0 0 82vw; }
	/* スマホは非アクティブもくっきり見せる（ぼかしすぎない）*/
	.feat-slider__slide { opacity: .55; transform: scale(.98); }
	.feat-slider__slide.is-current { opacity: 1; transform: scale(1); }

	/* リンクは縦並び（画像→本文の上下） */
	.feat-slider__slide-link { grid-template-columns: 1fr; }

	/* バナーは詳細ページ（.fd-keyvisual__img）と同じ 16:10 に統一 */
	.feat-slider__slide-image { aspect-ratio: 16 / 10; }

	.feat-slider__slide-info { padding: 16px 18px 20px; gap: 8px; }
	.feat-slider__slide-tag { font-size: 10px; padding: 0 0 4px; letter-spacing: .12em; }
	.feat-slider__slide-title {
		font-size: 17px;
		line-height: 1.4;
	}
	.feat-slider__slide-sub {
		font-size: 12.5px;
		line-height: 1.7;
		/* SP も2行固定 */
		min-height: calc(1.7em * 2);
	}
	.feat-slider__slide-cta { font-size: 11px; letter-spacing: .08em; }

	.feat-slider__indicator { font-size: 11px; gap: 10px; margin-top: 20px; padding: 0 14px; }
	.feat-slider__indicator-pos [data-feat-cur] { font-size: 18px; }
	.feat-slider__indicator-name { font-size: 12.5px; }
	/* タブが多い時の保険：はみ出しは横スクロールに（見た目は5〜6枚まで HOME と同じ） */
	.feat-slider__tabs { overflow-x: auto; scrollbar-width: none; }
	.feat-slider__tabs::-webkit-scrollbar { display: none; }
}

/* ランキング/新着スライダー（PC・2カラム）：情報が画像より高い時に
   左の画像下へ余白が出るのを防ぐ。画像をセル高さいっぱいに伸ばして左右の高さを揃える。
   ※ スマホ(≤768px)は画像→情報の縦積みなので対象外（16:10 のまま） */
@media (min-width: 769px) {
	.feat-slider__slide-image { height: 100%; }
}

/* =====================================================================
   ランキング（注目案件ランキング）：表紙を主役にした受賞台（ポディウム）型
   - 1位＝チャンピオン枠（大きい表紙＋金枠＋王冠＋月収特大）
   - 2・3位＝表彰台カード（大きい表紙＋銀/銅）／4位以降＝サムネ大きめの順位リスト
   - 影なし・四角・16:10 のルール順守
   ===================================================================== */
.pu-rank2 { margin: 6px 0 34px; }

/* ── 第1位：チャンピオン ── */
.pu-champ {
	display: grid; grid-template-columns: 1.25fr 1fr; align-items: stretch;
	background: #fff; border: 3px solid #E5A200; border-radius: 0; overflow: hidden;
	text-decoration: none; color: var(--ink); margin-bottom: 16px; transition: transform .15s;
}
.pu-champ:hover, .pu-champ:focus { transform: translateY(-3px); color: var(--ink); text-decoration: none; }
.pu-champ__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper2); border-right: 3px solid #E5A200; }
.pu-champ__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pu-champ:hover .pu-champ__cover img { transform: scale(1.05); }
.pu-champ__rank {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
	padding: 7px 16px 8px; background: linear-gradient(135deg, #FFF3BE 0%, #FFD24D 46%, #E5A200 100%);
	color: #5a4500; font-family: var(--font-display); font-weight: 900; line-height: 1;
}
.pu-champ__crown { display: inline-block; width: 23px; height: 19px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='%235a4500'%3E%3Cpath d='M2 5 6 9 12 2 18 9 22 5 20 17 4 17Z'/%3E%3C/svg%3E") no-repeat center / contain; }
.pu-champ__rank-no { font-size: 15px; letter-spacing: .06em; }
.pu-champ__rank-no b { font-size: 26px; margin-left: 3px; }
.pu-champ__body { padding: 26px 32px; display: flex; flex-direction: column; justify-content: center; gap: 11px; min-width: 0; }
.pu-champ__kicker { font-family: var(--font-display); font-size: 12.5px; font-weight: bold; letter-spacing: .14em; color: #C8920C; }
.pu-champ__title { font-size: 23px; font-weight: 800; line-height: 1.5; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pu-champ__lead { font-size: 13.5px; font-weight: 700; line-height: 1.8; color: var(--ink2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pu-champ__stat { display: inline-flex; align-items: baseline; gap: 6px; margin-top: 2px; }
.pu-champ__stat small { font-size: 12px; font-weight: bold; color: var(--ink2); }
.pu-champ__stat b { font-size: 33px; font-weight: 900; color: var(--accent2); line-height: 1; letter-spacing: .01em; }
.pu-champ__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 5px; }
.pu-champ__area { font-size: 13px; font-weight: bold; color: var(--ink3); }
.pu-champ__cta { font-family: var(--font-display); font-size: 13px; font-weight: bold; color: var(--ink); border-bottom: 2px solid var(--ink); padding-bottom: 3px; white-space: nowrap; }

/* ── 第2・3位：表彰台カード ── */
.pu-pod { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.pu-pod__card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 2px solid var(--ink); border-radius: 0; text-decoration: none; color: var(--ink); transition: transform .15s; }
.pu-pod__card:hover, .pu-pod__card:focus { transform: translateY(-3px); color: var(--ink); text-decoration: none; }
.pu-pod__card--r2 { border-color: #9AA3AD; }
.pu-pod__card--r3 { border-color: #C08344; }
.pu-pod__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper2); border-bottom: 2px solid var(--ink); }
.pu-pod__card--r2 .pu-pod__cover { border-bottom-color: #9AA3AD; }
.pu-pod__card--r3 .pu-pod__cover { border-bottom-color: #C08344; }
.pu-pod__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pu-pod__card:hover .pu-pod__cover img { transform: scale(1.05); }
.pu-pod__rank { align-self: flex-start; padding: 5px 14px; font-family: var(--font-display); font-size: 17px; font-weight: 900; line-height: 1; color: #fff; }
.pu-pod__card--r2 .pu-pod__rank { background: linear-gradient(135deg, #C2C8D0 0%, #9AA3AD 60%, #7C8591 100%); color: #2c3038; }
.pu-pod__card--r3 .pu-pod__rank { background: linear-gradient(135deg, #E0B084 0%, #C08344 60%, #9c6228 100%); color: #fff; }
.pu-pod__body { padding: 14px 17px 16px; display: flex; flex-direction: column; gap: 9px; }
.pu-pod__title { font-size: 16.5px; font-weight: 800; line-height: 1.5; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pu-pod__meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.pu-pod__stat { font-size: 12px; font-weight: bold; color: var(--ink2); }
.pu-pod__stat b { font-size: 22px; font-weight: 900; color: var(--accent2); line-height: 1; margin-right: 1px; }
.pu-pod__area { font-size: 12px; font-weight: bold; color: var(--ink3); }

/* ── 第4位以降：表紙が大きいカードグリッド（番号バッジつき） ── */
.pu-rkgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pu-rkg__card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 2px solid var(--ink); border-radius: 0; text-decoration: none; color: var(--ink); transition: transform .15s; }
.pu-rkg__card:hover, .pu-rkg__card:focus { transform: translateY(-4px); color: var(--ink); text-decoration: none; }
.pu-rkg__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper2); border-bottom: 2px solid var(--ink); }
.pu-rkg__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pu-rkg__card:hover .pu-rkg__cover img { transform: scale(1.05); }
.pu-rkg__rank { align-self: flex-start; padding: 5px 12px; font-family: var(--font-display); font-size: 15px; font-weight: 900; line-height: 1; color: var(--paper); background: var(--ink); }
.pu-rkg__body { padding: 12px 15px 15px; display: flex; flex-direction: column; gap: 8px; }
.pu-rkg__title { font-size: 15.5px; font-weight: 800; line-height: 1.5; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pu-rkg__meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.pu-rkg__stat { font-size: 12px; font-weight: bold; color: var(--ink2); }
.pu-rkg__stat b { font-size: 20px; font-weight: 900; color: var(--accent2); line-height: 1; margin-right: 1px; }
.pu-rkg__area { font-size: 12px; font-weight: bold; color: var(--ink3); }
@media (max-width: 900px) { .pu-rkgrid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }

@media (max-width: 760px) {
	.pu-champ { grid-template-columns: 1fr; }
	.pu-champ__cover { border-right: 0; border-bottom: 3px solid #E5A200; }
	.pu-champ__body { padding: 18px 16px; gap: 9px; }
	.pu-champ__title { font-size: 19px; -webkit-line-clamp: 3; }
	.pu-champ__lead { -webkit-line-clamp: 2; }
	.pu-champ__stat b { font-size: 28px; }
	.pu-champ__rank { padding: 7px 15px 8px; }
	.pu-champ__rank-no b { font-size: 22px; }
	.pu-pod { grid-template-columns: 1fr; gap: 12px; }
	.pu-pod__title { font-size: 15.5px; }
	.pu-rkgrid { gap: 12px; }
	.pu-rkg__body { padding: 10px 12px 12px; }
	.pu-rkg__title { font-size: 14px; }
	.pu-rkg__rank { font-size: 14px; padding: 5px 11px; }
	.pu-rkg__stat b { font-size: 18px; }
}

/* =====================================================================
   新着（新着の案件）：新着順カードグリッド＋NEWバッジ＋日付
   ===================================================================== */
.pu-new-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 4px 0 32px; }
.pu-nc { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 2px solid var(--ink); border-radius: 0; text-decoration: none; color: var(--ink); transition: transform .15s; }
.pu-nc:hover, .pu-nc:focus { transform: translateY(-4px); text-decoration: none; color: var(--ink); }
.pu-nc__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 2px solid var(--ink); }
.pu-nc__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.pu-nc:hover .pu-nc__cover img { transform: scale(1.06); }
/* NEW バッジ：左上・赤・四角・影なし */
.pu-nc__new {
	position: absolute; top: 0; left: 0; z-index: 2;
	font-family: var(--font-display); font-size: 12px; font-weight: 900; letter-spacing: .1em;
	color: #fff; background: #E5352B; padding: 5px 13px;
}
.pu-nc__body { padding: 12px 15px 15px; display: flex; flex-direction: column; gap: 6px; }
.pu-nc__date { font-family: var(--font-display); font-size: 12px; font-weight: bold; color: var(--accent2); letter-spacing: .05em; }
.pu-nc__title { font-size: 15.5px; font-weight: 800; line-height: 1.55; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

@media (max-width: 900px) { .pu-new-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 760px) {
	.pu-new-grid { gap: 12px; }
	.pu-nc__body { padding: 10px 12px 12px; }
	.pu-nc__title { font-size: 14px; }
	.pu-nc__new { font-size: 11px; padding: 4px 10px; }
}

/* =====================================================================
   カテゴリー（pu_view=category）：ピル（カテゴリ切替）＋表紙大きめカード
   - リサーチ反映：カテゴリUI＝ピル/タブ＋タイル(大きい画像)グリッド
   - 表紙を大きく＋タイトル＋ボタンが見やすい。影なし/四角/16:10 順守
   ===================================================================== */
/* カテゴリーはプルダウン（増えても省スペースで崩れない） */
.pu-catbar { display: flex; align-items: center; gap: 12px; margin: 2px 0 24px; flex-wrap: wrap; }
.pu-catbar__label { font-family: var(--font-display); font-size: 13px; font-weight: bold; letter-spacing: .08em; color: var(--ink2); flex: 0 0 auto; }
.pu-catselect { position: relative; flex: 0 1 auto; }
.pu-catselect::after {
	content: ""; position: absolute; right: 17px; top: 50%; width: 9px; height: 9px;
	border-right: 2.5px solid var(--ink); border-bottom: 2.5px solid var(--ink);
	transform: translateY(-65%) rotate(45deg); pointer-events: none;
}
.pu-cat-select {
	appearance: none; -webkit-appearance: none;
	min-width: 260px; max-width: 100%; padding: 13px 46px 13px 18px;
	font-family: inherit; font-size: 15px; font-weight: 800; color: var(--ink); line-height: 1.2;
	background: #fff; border: 2px solid var(--ink); border-radius: 11px; cursor: pointer;
}
.pu-cat-select:hover { background: var(--paper3); }
.pu-cat-select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.pu-catgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; margin: 0 0 32px; }
.pu-cc { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 2px solid var(--ink); border-radius: 0; text-decoration: none; color: var(--ink); transition: transform .15s; }
.pu-cc:hover, .pu-cc:focus { transform: translateY(-4px); color: var(--ink); text-decoration: none; }
.pu-cc__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper2); border-bottom: 2px solid var(--ink); }
.pu-cc__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pu-cc:hover .pu-cc__cover img { transform: scale(1.05); }
.pu-cc__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pu-cc__title { font-size: 19px; font-weight: 800; line-height: 1.5; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pu-cc__area { font-size: 13px; font-weight: bold; color: var(--ink3); margin-top: -3px; }
.pu-cc__btn { margin-top: auto; text-align: center; padding: 12px; font-family: var(--font-display); font-size: 14px; font-weight: bold; color: var(--paper); background: var(--ink); letter-spacing: .04em; }
.pu-cc:hover .pu-cc__btn { background: #3a362e; }

@media (max-width: 900px) { .pu-catgrid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
/* スマホは1カラム＝表紙を大きく見やすく */
@media (max-width: 600px) { .pu-catgrid { grid-template-columns: 1fr; gap: 14px; } }
@media (max-width: 760px) {
	/* ビュータブ：スマホは全幅セグメント（4等分・1行に収める） */
	.pu-toolbar--tabsonly .pu-views { width: 100%; }
	.pu-view { flex: 1 1 0; padding: 11px 4px; font-size: 12.5px; letter-spacing: 0; }

	/* カテゴリーピル：増えても崩れないよう横スクロール1行（スワイプ）。PCは折返し */
	/* カテゴリーのプルダウン：スマホはラベル＋全幅セレクト */
	.pu-catbar { gap: 9px; margin-bottom: 18px; }
	.pu-catselect { flex: 1 1 auto; }
	.pu-cat-select { min-width: 0; width: 100%; padding: 12px 42px 12px 15px; font-size: 14.5px; }

	.pu-catgrid { gap: 12px; }
	.pu-cc__body { padding: 11px 12px 12px; gap: 8px; }
	.pu-cc__title { font-size: 14px; }
	.pu-cc__btn { padding: 9px; font-size: 12px; }
}

/* =====================================================================
   ページ送り（番号 1 2 3 …）：カテゴリー / ALL の一覧グリッド（1ページ12件）
   ===================================================================== */
.pu-pager { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; margin: 6px 0 36px; }
.pu-pager__num, .pu-pager__nav {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 12px;
	font-family: var(--font-display); font-size: 15px; font-weight: 800; line-height: 1;
	color: var(--ink); background: #fff; border: 2px solid var(--ink); border-radius: 10px;
	text-decoration: none; cursor: pointer; transition: background .15s, color .15s, transform .12s;
}
.pu-pager__num:hover, .pu-pager__nav:hover { background: var(--paper3); color: var(--ink); text-decoration: none; transform: translateY(-1px); }
.pu-pager__num.is-current { background: var(--ink); color: var(--paper); cursor: default; }
.pu-pager__gap { padding: 0 2px; color: var(--ink2); font-weight: bold; }
@media (max-width: 600px) {
	.pu-pager { gap: 6px; }
	.pu-pager__num, .pu-pager__nav { min-width: 40px; height: 40px; font-size: 14px; }
}

/* =====================================================================
   最後の案件の下：表示の切り替えタブへ戻るボタン（影なし・枠線ピル）
   ===================================================================== */
.pu-backtop { display: flex; justify-content: center; margin: 30px 0 8px; }
.pu-backtop__btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 13px 26px;
	font-family: var(--font-display); font-size: 14px; font-weight: 800; line-height: 1;
	color: var(--ink); background: #fff; border: 2px solid var(--ink); border-radius: 999px;
	cursor: pointer; transition: background .15s, color .15s, transform .12s;
}
.pu-backtop__btn:hover { background: var(--ink); color: var(--paper); transform: translateY(-1px); }
.pu-backtop__arrow { font-size: 15px; font-weight: 800; line-height: 1; }
@media (max-width: 600px) {
	.pu-backtop { margin: 24px 0 6px; }
	.pu-backtop__btn { padding: 12px 22px; font-size: 13px; }
}

/* 追従バー（#pal-cta）で飛んだとき、固定ヘッダーの下に隠れないよう余白を取る。
   求人詳細の #jd-apply と同じ扱い */
#pal-cta { scroll-margin-top: 90px; }
body.admin-bar #pal-cta { scroll-margin-top: 122px; }


/* FV スペック枠の直下に出す金額の注釈（2026-07-29 追加）。
   スペック枠が持っていた下余白（34px）はこちらへ移している。 */
.pd-fv__note {
	margin: 0 0 34px;
	font-family: var(--font-display);
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--ink3);
	text-align: center;
}
@media (max-width: 640px) {
	.pd-fv__note { font-size: 10.5px; margin-bottom: 28px; }
}

/* 本文中の金額表（[mk_compare]）の直下に置く注釈（2026-07-29 追加）。
   表のすぐ下に小さく添えて、表内の金額すべてに掛かるようにする。 */
.pal-amount-note {
	margin: -8px 0 1.8em;
	font-family: var(--font-display, "Yusei Magic", sans-serif);
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--ink3, #9C927E);
	text-align: right;
}
@media (max-width: 640px) {
	.pal-amount-note { font-size: 10.5px; margin-bottom: 1.5em; }
}
