body.offme-new-area-hub .container {
	margin-right: auto;
	margin-left: auto;
}

body.offme-new-area-hub .offme-area-main {
	width: min(960px, calc(100% - 32px));
	max-width: 960px;
	margin: 12px auto 60px;
	padding: 26px 28px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	color: #313131;
}

.offme-area-main a {
	text-underline-offset: 0.18em;
}

.offme-area-prefectures,
.offme-area-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.offme-area-prefectures a,
.offme-area-link-grid a {
	display: block;
	min-width: 0;
	padding: 11px 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	text-decoration: none;
}

.offme-area-prefectures a:hover,
.offme-area-prefectures a:focus-visible,
.offme-area-link-grid a:hover,
.offme-area-link-grid a:focus-visible {
	border-color: #ec6ba2;
	background: #fdf0f6;
}

.offme-area-prefectures strong,
.offme-area-link-grid strong {
	display: block;
	color: #10132b;
	font-size: 14px;
	font-weight: 900;
}

.offme-area-prefectures strong::after,
.offme-area-link-grid strong::after {
	float: right;
	color: #ec6ba2;
	content: "›";
}

.offme-area-prefectures span,
.offme-area-link-grid span {
	display: block;
	margin-top: 2px;
	color: #777;
	font-size: 11px;
	line-height: 1.5;
}

.offme-area-link-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.offme-area-more-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	justify-content: flex-end;
	margin-top: 12px;
}

.offme-area-more-links a {
	font-size: 12.5px;
	font-weight: 700;
}

.offme-area-feature-grid {
	gap: 14px;
}

.offme-area-feature-grid a {
	display: block;
	height: 100%;
	overflow: hidden;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #10132b;
	text-decoration: none;
}

.offme-area-feature-grid a:hover,
.offme-area-feature-grid a:focus-visible {
	border-color: #ec6ba2;
	background: #fdf0f6;
}

.offme-area-feature-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-bottom: 1px solid #ddd;
	background: #f4f4f4;
	object-fit: contain;
}

.offme-area-feature-grid strong {
	display: block;
	padding: 11px 13px;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.offme-area-main .offme-empty {
	margin: 0;
	padding: 18px 16px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f7f7f7;
	color: #666;
	text-align: center;
}

@media (max-width: 640px) {
	body.offme-new-area-hub .offme-area-main {
		width: 100%;
		margin-top: 0;
		padding: 16px 12px;
		border-radius: 0;
		box-shadow: none;
	}

	.offme-area-prefectures,
	.offme-area-link-grid,
	.offme-area-feature-grid {
		grid-template-columns: 1fr;
	}

	.offme-area-more-links {
		justify-content: flex-start;
	}
}
