@charset "UTF-8";

/* =========================================================
   エリア・都道府県 / フッター
   CLEAN CSS / 2026-09-19
========================================================= */

/* =========================================================
   LOCATION PAGE COMMON ORDER
   AREA / PREFECTURE
   1) LOCAL HALL OF FAME
   2) OTHER AREAS HALL OF FAME
   3) LOCAL FREE LISTING
========================================================= */
.tax-area .tkz-location-shop-groups,
.tax-prefecture .tkz-location-shop-groups {
	display: block;
}
.tax-area .tkz-location-shop-group,
.tax-prefecture .tkz-location-shop-group {
	margin: 0 0 18px;
	padding: 36px 38px 38px;
	background: #f4f1ea;
	border: 1px solid rgba(126,111,81,.22);
	box-sizing: border-box;
}
.tax-area .tkz-location-shop-group-head,
.tax-prefecture .tkz-location-shop-group-head {
	margin: 0 0 24px;
	padding: 0 0 17px;
	border-bottom: 1px solid rgba(126,111,81,.25);
}
.tax-area .tkz-location-shop-group-head > span,
.tax-prefecture .tkz-location-shop-group-head > span {
	display: block;
	margin: 0 0 8px;
	color: #9d8148;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .22em;
}
.tax-area .tkz-location-shop-group-head h2,
.tax-prefecture .tkz-location-shop-group-head h2 {
	margin: 0 0 9px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #29261f !important;
	font-size: 27px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: .02em !important;
}
.tax-area .tkz-location-shop-group-head h2::before,
.tax-area .tkz-location-shop-group-head h2::after,
.tax-prefecture .tkz-location-shop-group-head h2::before,
.tax-prefecture .tkz-location-shop-group-head h2::after {
	content: none !important;
	display: none !important;
}
.tax-area .tkz-location-shop-group-head p,
.tax-prefecture .tkz-location-shop-group-head p {
	margin: 0;
	color: #7b756c;
	font-size: 16px;
	line-height: 1.8;
}
.tax-area .tkz-location-paid-list,
.tax-prefecture .tkz-location-paid-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.tax-prefecture .tkz-location-paid-list {
	grid-template-columns: 1fr;
}
.tax-area .tkz-location-free-list,
.tax-prefecture .tkz-location-free-list {
	display: block;
}
.tax-area .tkz-location-free-list .tkz-free-shop-row + .tkz-free-shop-row,
.tax-prefecture .tkz-location-free-list .tkz-free-shop-row + .tkz-free-shop-row {
	margin-top: 8px;
}
.tax-area .tkz-location-empty,
.tax-prefecture .tkz-location-empty {
	padding: 18px 0 2px;
	border-top: 1px solid #d8d0c2;
	color: #777067;
}
.tax-area .tkz-location-empty p,
.tax-prefecture .tkz-location-empty p {
	margin: 0;
	font-size: 18px;
	line-height: 1.8;
}
/* 外部エリアは少しだけ背景差を付け、順序を視覚的にも明確に */
.tax-area .tkz-location-shop-group--outside-paid,
.tax-prefecture .tkz-location-shop-group--outside-paid {
	background: #f0ece3;
}
/* 無料掲載は薄型データ行を維持 */
.tax-area .tkz-location-shop-group--free,
.tax-prefecture .tkz-location-shop-group--free {
	background: #f7f4ed;
}
@media (max-width: 768px) {
	.tax-area .tkz-location-shop-group,
	.tax-prefecture .tkz-location-shop-group {
		margin: 0 0 10px;
		padding: 27px 16px 29px;
		border-left: 0;
		border-right: 0;
	}
	.tax-area .tkz-location-shop-group-head,
	.tax-prefecture .tkz-location-shop-group-head {
		margin-bottom: 19px;
		padding-bottom: 14px;
	}
	.tax-area .tkz-location-shop-group-head > span,
	.tax-prefecture .tkz-location-shop-group-head > span {
		font-size: 13px;
	}
	.tax-area .tkz-location-shop-group-head h2,
	.tax-prefecture .tkz-location-shop-group-head h2 {
		font-size: 21px !important;
	}
	.tax-area .tkz-location-shop-group-head p,
	.tax-prefecture .tkz-location-shop-group-head p {
		font-size: 15px;
	}
	.tax-area .tkz-location-paid-list,
	.tax-prefecture .tkz-location-paid-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.tax-area .tkz-location-empty,
	.tax-prefecture .tkz-location-empty {
		padding-top: 15px;
	}
	.tax-area .tkz-location-empty p,
	.tax-prefecture .tkz-location-empty p {
		font-size: 16px;
	}
}
/* =========================================================
   HOME / 達人写真 3:4 - PC
   スマホは既存の3:4指定を維持
========================================================= */
@media (min-width: 769px) {
	.tkz-pro-page.home .tkz-home-master-photo {
		width: 100% !important;
		aspect-ratio: 3 / 4 !important;
		overflow: hidden !important;
		background: #111 !important;
	}
	.tkz-pro-page.home .tkz-home-master-photo img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center 34% !important;
	}
}
/* =========================================================
   共通フッターナビゲーション
   MAIN MENU / INFORMATION
========================================================= */
.site-footer {
	background: #0d0d0f !important;
	border-top: 1px solid #57482f;
}
.tkz-footer-navigation {
	background: #0d0d0f;
	color: #a8a39a;
}
.tkz-footer-navigation-inner {
	width: min(1100px, calc(100% - 40px));
	margin: 0 auto;
	padding: 34px 0 27px;
}
.tkz-footer-navigation-group + .tkz-footer-navigation-group {
	margin-top: 25px;
	padding-top: 22px;
	border-top: 1px solid #2d2923;
}
.tkz-footer-navigation-label {
	margin-bottom: 12px;
	color: #8f856f;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .18em;
	line-height: 1.4;
}
.tkz-footer-navigation-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 28px;
}
.tkz-footer-navigation-links a {
	color: #d8c28d !important;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: .025em;
	line-height: 1.8;
	text-decoration: none !important;
	transition: color .2s ease;
}
.tkz-footer-navigation-links a:hover,
.tkz-footer-navigation-links a:focus {
	color: #f0dfb6 !important;
}
.tkz-footer-navigation-links--info a {
	color: #aaa49a !important;
	font-size: 15px;
}
.tkz-footer-navigation-links--info a:hover,
.tkz-footer-navigation-links--info a:focus {
	color: #d8c28d !important;
}
/* 旧メニューウィジェットが残っていても二重表示しない */
.footer-widgets .widget_nav_menu {
	display: none;
}
/* 新ナビの上で既存フッターに二重の上線を出さない */
.site-footer .footer-widgets {
	border-top: 0 !important;
}
@media (max-width: 768px) {
	.tkz-footer-navigation-inner {
		width: 100%;
		padding: 27px 17px 23px;
		box-sizing: border-box;
	}
	.tkz-footer-navigation-group + .tkz-footer-navigation-group {
		margin-top: 22px;
		padding-top: 19px;
	}
	.tkz-footer-navigation-label {
		margin-bottom: 10px;
		font-size: 13px;
	}
	.tkz-footer-navigation-links {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		border-top: 1px solid #26231e;
		border-left: 1px solid #26231e;
	}
	.tkz-footer-navigation-links a {
		display: flex;
		align-items: center;
		min-height: 45px;
		padding: 8px 11px;
		border-right: 1px solid #26231e;
		border-bottom: 1px solid #26231e;
		box-sizing: border-box;
		font-size: 16px;
		line-height: 1.45;
	}
	.tkz-footer-navigation-links--info a {
		font-size: 14px;
	}
}
