@charset "utf-8";
/* =========================================================
   トップページ 追加セクション（子テーマ）
   ・最近更新された店舗一覧（横型カード5枚）
   ・最新更新店舗一覧（テキスト20件）
   配色：金色 #C9B8AA をアクセント／ベース #F5EFEA／文字 #3a342e
        ※ ピンク（#C57D86）は使用しない
   ========================================================= */

/* ---- 共通：セクション余白 ---- */
.recentShops,
.latestShops {
	padding-top: 52px;
	padding-bottom: 52px;
}
@media (max-width: 768px) {
	.recentShops,
	.latestShops {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/* ---- 共通：見出し（テキスト見出し＋金の下線） ---- */
.recentShops__heading,
.latestShops__heading {
	text-align: center;
	margin-bottom: 28px;
}
.recentShops__title,
.latestShops__title {
	display: inline-block;
	position: relative;
	margin: 0;
	padding-bottom: 12px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: #3a342e;
	line-height: 1.4;
}
.recentShops__title::after,
.latestShops__title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 48px;
	height: 2px;
	background: #C9B8AA;
}
@media (max-width: 768px) {
	.recentShops__title,
	.latestShops__title {
		font-size: 1.25rem;
	}
}

/* =========================================================
   ① 最近更新された店舗一覧（横型カード5枚）
   ========================================================= */
.recentShops {
	background: #ffffff;
}
.recentShops .recentCards {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.recentCard {
	background: #ffffff;
	border: 1px solid #ece5dd;
	border-radius: 12px;
	box-shadow: 0 6px 18px -12px rgba(58, 52, 46, .28);
	padding: 22px 26px 20px;
	transition: box-shadow .25s ease, transform .25s ease;
}
.recentCard:hover {
	box-shadow: 0 12px 26px -14px rgba(58, 52, 46, .38);
	transform: translateY(-2px);
}
/* タイトル（投稿タイトルを使用） */
.recentCard__title {
	margin: 0 0 18px;
	padding-bottom: 12px;
	text-align: center;
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
	border-bottom: 1px solid #f0eae2;
}
.recentCard__title a {
	color: #3a342e;
	text-decoration: none;
	transition: color .2s ease;
}
.recentCard__title a:hover {
	color: #a6864f;
}
/* 本文：画像左＋テーブル右 */
.recentCard__body {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}
.recentCard__img {
	flex: 0 0 240px;
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	line-height: 0;
}
.recentCard__img img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}
.recentCard__table {
	flex: 1 1 auto;
	border-collapse: collapse;
	width: 100%;
	font-size: .95rem;
}
.recentCard__table th,
.recentCard__table td {
	text-align: left;
	vertical-align: top;
	padding: 7px 0;
	border-bottom: 1px dashed #eee4d8;
	line-height: 1.6;
}
.recentCard__table tr:last-child th,
.recentCard__table tr:last-child td {
	border-bottom: none;
}
.recentCard__table th {
	width: 6.5em;
	font-weight: 700;
	color: #a6864f;
	white-space: nowrap;
}
.recentCard__table td {
	color: #3a342e;
	padding-left: 14px;
}
/* 抜粋 */
.recentCard__excerpt {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #f0eae2;
	font-size: .92rem;
	line-height: 1.8;
	color: #5b5349;
}
.recentCard__excerpt p {
	margin: 0;
}
/* もっと見る */
.recentCard__more {
	margin-top: 16px;
	text-align: right;
}
.recentCard__moreBtn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 22px;
	border: 1px solid #C9B8AA;
	border-radius: 999px;
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: #a6864f;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.recentCard__moreBtn:hover {
	background: #C9B8AA;
	color: #ffffff;
}
.recentCard__moreArrow {
	transition: transform .2s ease;
}
.recentCard__moreBtn:hover .recentCard__moreArrow {
	transform: translateX(3px);
}
/* スマホ：画像を上、テーブルを下に */
@media (max-width: 768px) {
	.recentCard {
		padding: 18px 16px 16px;
	}
	.recentCard__body {
		flex-direction: column;
		gap: 16px;
	}
	.recentCard__img {
		flex-basis: auto;
		width: 100%;
	}
	.recentCard__img img {
		height: 200px;
	}
}

/* =========================================================
   ② 最新更新店舗一覧（テキスト20件）
   ========================================================= */
.latestShops {
	background: #F5EFEA;
}
/* ボックスを中央寄せ（中の文字は左揃えのまま）。
   specificity を .latestShops で底上げし、明示的に左右 auto マージン */
.latestShops .latestShops__list {
	list-style: none;
	width: 100%;
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #ece5dd;
	border-radius: 10px;
	overflow: hidden;
}
.latestShops__item + .latestShops__item {
	border-top: 1px solid #efe9e2;
}
.latestShops__link {
	display: flex;
	align-items: baseline;
	gap: 8px 16px;
	flex-wrap: wrap;
	padding: 13px 22px;
	text-decoration: none;
	color: #3a342e;
	transition: background-color .2s ease;
}
.latestShops__link:hover {
	background: #faf7f3;
}
.latestShops__date {
	flex: 0 0 auto;
	font-size: .82rem;
	color: #b0a596;
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}
.latestShops__name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: .98rem;
	font-weight: 600;
	border-bottom: 1px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.latestShops__link:hover .latestShops__name {
	color: #a6864f;
	border-bottom-color: #C9B8AA;
}
.latestShops__meta {
	flex: 0 0 auto;
	font-size: .8rem;
	color: #8a8178;
}
@media (max-width: 600px) {
	.latestShops__link {
		padding: 12px 16px;
		gap: 4px 12px;
	}
	.latestShops__name {
		flex-basis: 100%;
		order: 2;
	}
	.latestShops__date {
		order: 1;
	}
	.latestShops__meta {
		order: 3;
	}
}

/* =========================================================
   トップ共通：「すべての店舗を見る」ボタン
   ========================================================= */
.shopsAllBtnBox {
	margin-top: 26px;
	text-align: center;
}
.shopsAllBtn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 34px;
	border: 1px solid #C9B8AA;
	border-radius: 999px;
	background: #ffffff;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: #a6864f;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.shopsAllBtn:hover {
	background: #C9B8AA;
	color: #ffffff;
}
.shopsAllBtn .shopsAllBtn__arrow {
	transition: transform .2s ease;
}
.shopsAllBtn:hover .shopsAllBtn__arrow {
	transform: translateX(3px);
}

/* =========================================================
   店舗一覧ページ（page-shops.php）
   ========================================================= */
.shopsIndex > .inner {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1em;
	padding-right: 1em;
}
/* 導入文 */
.shopsIndex__intro {
	margin-bottom: 40px;
	font-size: .98rem;
	line-height: 2;
	color: #5b5349;
}
.shopsIndex__intro p + p {
	margin-top: 1em;
}
/* エリアセクション */
.shopsIndex__area {
	margin-bottom: 48px;
}
.shopsIndex__areaTitle {
	position: relative;
	margin: 0 0 18px;
	padding-bottom: 10px;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: #3a342e;
	border-bottom: 1px solid #ece5dd;
}
.shopsIndex__areaTitle::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64px;
	height: 2px;
	background: #C9B8AA;
}
/* 行リスト */
.shopsIndex__list {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #ffffff;
	border: 1px solid #ece5dd;
	border-radius: 10px;
	overflow: hidden;
}
.shopsRow + .shopsRow {
	border-top: 1px solid #efe9e2;
}
.shopsRow__link {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 18px;
	text-decoration: none;
	color: #3a342e;
	transition: background-color .2s ease;
}
.shopsRow__link:hover {
	background: #faf7f3;
}
.shopsRow__img {
	flex: 0 0 96px;
	margin: 0;
	border-radius: 6px;
	overflow: hidden;
	line-height: 0;
}
.shopsRow__img img {
	width: 96px;
	height: 64px;
	object-fit: cover;
	display: block;
}
.shopsRow__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.shopsRow__title {
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.5;
	transition: color .2s ease;
}
.shopsRow__link:hover .shopsRow__title {
	color: #a6864f;
}
.shopsRow__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	font-size: .82rem;
	color: #8a8178;
}
.shopsRow__salary {
	color: #a6864f;
	font-weight: 700;
}
.shopsRow__arrow {
	flex: 0 0 auto;
	color: #C9B8AA;
	font-weight: 700;
	transition: transform .2s ease;
}
.shopsRow__link:hover .shopsRow__arrow {
	transform: translateX(3px);
}
/* セクション末尾のタクソノミー送客リンク */
.shopsIndex__moreLink {
	margin-top: 14px;
	text-align: right;
}
.shopsIndex__moreLink a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .9rem;
	font-weight: 700;
	color: #a6864f;
	text-decoration: none;
	border-bottom: 1px solid #C9B8AA;
	padding-bottom: 2px;
	transition: opacity .2s ease;
}
.shopsIndex__moreLink a:hover {
	opacity: .7;
}
/* 業態別リンク */
.shopsIndex__jobs {
	margin-top: 8px;
	padding-top: 32px;
	border-top: 1px solid #ece5dd;
}
.shopsIndex__jobsTitle {
	margin: 0 0 16px;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: #3a342e;
}
.shopsIndex__jobList {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.shopsIndex__jobList a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid #C9B8AA;
	border-radius: 999px;
	font-size: .88rem;
	font-weight: 700;
	color: #a6864f;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.shopsIndex__jobList a:hover {
	background: #C9B8AA;
	color: #ffffff;
}
/* スマホ調整 */
@media (max-width: 600px) {
	.shopsRow__link {
		padding: 10px 12px;
		gap: 12px;
	}
	.shopsRow__img {
		flex-basis: 80px;
	}
	.shopsRow__img img {
		width: 80px;
		height: 56px;
	}
	.shopsRow__arrow {
		display: none;
	}
	.shopsIndex__areaTitle {
		font-size: 1.15rem;
	}
}
