body.offme-new-front {
	margin: 0;
	color: #313131;
	font-size: 14px;
}

@media screen and (max-width: 480px) {
	body.offme-new-front #area-nav {
		display: none !important;
	}
}

body.offme-new-front *,
body.offme-new-front *::before,
body.offme-new-front *::after {
	box-sizing: border-box;
}

.offme-hall-main a {
	color: #1b65a8;
	text-decoration: none;
}

.offme-hall-main a:hover,
.offme-hall-main a:focus-visible {
	text-decoration: underline;
}

.offme-hall-main img {
	max-width: 100%;
	height: auto;
}

.offme-skip {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 10000;
	transform: translateY(-150%);
	padding: 8px 14px;
	border-radius: 3px;
	background: #fff;
	color: #111;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}

.offme-skip:focus {
	transform: translateY(0);
}

.site-header .offme-legacy-logo {
	width: 158px;
	height: 68px;
	position: absolute;
	top: 15px;
	left: 25px;
	z-index: 9999;
}

.site-header .offme-legacy-logo img.logo {
	width: 100%;
	height: auto;
}

.offme-site-header {
	position: relative;
	height: 110px;
	background: linear-gradient(135deg, #ffe935 0 42%, #fff68b 42% 58%, #ffc807 58% 100%);
	border-top: 4px solid #ed1960;
}

.offme-header-inner {
	position: relative;
	width: min(1120px, 100%);
	height: 100%;
	margin: 0 auto;
}

.offme-logo {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	padding: 7px 15px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.offme-logo img {
	display: block;
	width: auto;
	height: 52px;
}

.offme-area {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 13px;
	border: 3px solid rgba(95, 91, 0, .65);
	border-radius: 3px;
	background: rgba(255, 249, 0, .62);
	color: #353000;
	font-size: 12px;
	font-weight: 700;
}

.offme-area select {
	padding: 3px 5px;
	border: 1px solid #8a8300;
	background: #fff;
	font: inherit;
}

.offme-global-nav {
	display: flex;
	width: 100%;
	border-bottom: 1px solid #e2e2e2;
	background: #fff;
}

.offme-global-nav a {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 10px 4px 9px;
	border-right: 1px solid #eee;
	color: #313131;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

.offme-global-nav a:last-child {
	border-right: 0;
}

.offme-global-nav i {
	margin-bottom: 4px;
	font-size: 20px;
}

.offme-global-nav a:nth-child(1) i { color: #e21d5d; }
.offme-global-nav a:nth-child(2) i { color: #6b43a5; }
.offme-global-nav a:nth-child(3) i { color: #168ac1; }
.offme-global-nav a:nth-child(4) i { color: #14835c; }
.offme-global-nav a:nth-child(5) i { color: #db7800; }

.offme-hall-main {
	width: min(820px, calc(100% - 32px));
	margin: 22px auto 34px;
	padding: 25px 30px 38px;
	background: #fff;
	box-shadow: 0 2px 13px rgba(0, 0, 0, .08);
	line-height: 1.7;
}

.offme-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	margin: -5px 0 19px;
	color: #888;
	font-size: 11px;
}

.offme-breadcrumbs a {
	color: #777;
}

.offme-hall-hero {
	width: auto;
	height: auto;
	margin: 0;
	background: none;
	overflow: visible;
	position: relative;
}

.offme-hall-hero h1 {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	color: #10132b;
	font-size: clamp(24px, 4vw, 34px);
	font-weight: 900;
	line-height: 1.35;
	overflow-wrap: anywhere;
	text-wrap: wrap;
	word-break: keep-all;
}

.offme-hall-location {
	margin: 3px 0 0;
	color: #777;
	font-size: 12px;
}

.offme-rainbow-line {
	height: 8px;
	margin: 10px 0 14px;
	background: repeating-linear-gradient(90deg, #e5225f 0 36px, #ee8b1d 36px 70px, #f4db13 70px 105px, #44aa5d 105px 140px, #378ffc 140px 175px, #7d4ca1 175px 210px);
}

.offme-share {
	display: flex;
	gap: 6px;
	margin-bottom: 16px;
}

.offme-share a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 27px;
	border-radius: 3px;
	color: #fff;
	font-size: 13px;
}

.offme-share .facebook { background: #31559a; }
.offme-share .twitter { background: #222; }
.offme-share .line { background: #16b93d; }

.offme-hall-photo {
	margin: 0 0 14px;
	border-radius: 4px;
	background: #f4f4f4;
	text-align: center;
}

.offme-hall-photo img {
	display: block;
	width: 100%;
	max-height: 460px;
	border-radius: 4px;
	object-fit: cover;
}

.offme-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 6px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

.offme-stat {
	padding: 10px 4px 8px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #fff;
	text-align: center;
}

.offme-stat strong {
	display: block;
	color: #10132b;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.1;
}

.offme-stat strong small,
.offme-stat > span {
	color: #777;
	font-size: 11px;
	font-weight: 400;
	white-space: nowrap;
}

.offme-stat strong small {
	margin-left: 1px;
}

.offme-stat-wide {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #fdf0f6;
}

.offme-stat-wide strong,
.offme-stat-wide > span {
	display: inline;
	color: #c2185b;
	font-size: 19px;
	font-weight: 800;
}

.offme-stat-wide > span {
	font-size: 12.5px;
}

.offme-summary {
	margin: 16px 0 4px;
	padding: 14px 16px;
	border: 1px solid #f0e6a0;
	border-radius: 4px;
	background: #fffde7;
	font-size: 14.5px;
}

.offme-layer {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 34px 0 -14px;
	font-size: 12.5px;
	font-weight: 700;
}

.offme-layer strong {
	padding: 3px 14px;
	border-radius: 2px;
	background: #0f7a5c;
	color: #fff;
}

.offme-layer span {
	color: #777;
	font-size: 11px;
	font-weight: 400;
}

.offme-layer-editorial strong {
	background: #ec6ba2;
}

.offme-section h2 {
	margin: 30px 0 16px;
	padding: 13px 8px;
	background: #333;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.offme-section h2 small {
	font-size: .75em;
	font-weight: 400;
}

.offme-section .hall-heading {
	padding: .6em .8em;
	line-height: 1.4;
	text-wrap: balance;
}

.hall-heading .store {
	display: inline-block;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.hall-heading .label {
	display: inline-block;
	white-space: nowrap;
}

.offme-section .hall-heading.len-s { font-size: 1.3rem; }
.offme-section .hall-heading.len-m { font-size: 1.15rem; }
.offme-section .hall-heading.len-l { font-size: 1rem; }

.offme-verified,
.offme-frozen {
	display: table;
	margin: -8px 0 8px auto;
	padding: 3px 12px;
	border: 1px solid #cbe5d9;
	border-radius: 99px;
	background: #eef7f2;
	color: #0f7a5c;
	font-size: 12px;
	font-weight: 700;
}

.offme-frozen {
	border-color: #ddd5cc;
	background: #f1eeea;
	color: #8a8178;
}

.offme-info-table {
	width: 100%;
	border-collapse: collapse;
}

.offme-info-table th,
.offme-info-table td {
	padding: 11px 12px;
	border: 1px solid #d8d8d8;
	vertical-align: top;
}

.offme-info-table th {
	width: 26%;
	background: #f3f3f3;
	font-size: 13px;
	text-align: left;
}

.offme-map {
	overflow: hidden;
	margin-top: 12px;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
}

.offme-map iframe {
	display: block;
	width: 100%;
	height: 280px;
	border: 0;
}

.offme-recommended {
	margin-top: -2px;
	padding: 18px;
	border: 3px solid #ffc403;
	border-radius: 6px;
	background: #fffbea;
}

.offme-recommended + .offme-recommended {
	margin-top: 12px;
}

.offme-period {
	display: inline-block;
	margin: 0 0 10px;
	padding: 3px 12px;
	border-radius: 2px;
	background: #e62117;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.offme-recommended ul,
.offme-new-machines,
.offme-event-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.offme-recommended li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px dotted #e8d98a;
}

.offme-recommended li:last-child {
	border-bottom: 0;
}

.offme-type {
	flex: 0 0 auto;
	padding: 2px 10px;
	border-radius: 2px;
	background: #c2185b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.offme-type.pachi { background: #1c74d0; }

.offme-recommended li strong {
	color: #c2185b;
	font-size: 19px;
	font-weight: 900;
}

.offme-recommended li strong.pachi { color: #1c74d0; }

.offme-disclaimer {
	margin: 10px 0 0;
	color: #999;
	font-size: 11px;
}

.offme-new-machines li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	padding: 9px 2px;
	border-bottom: 1px dotted #ccc;
}

.offme-new-machines li > span {
	padding: 1px 9px;
	border-radius: 2px;
	background: #e62117;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.offme-new-machines li small {
	margin-left: auto;
	color: #777;
}

.offme-new-machines li strong a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.offme-machine-source {
	margin: 10px 0 0;
	color: #777;
	font-size: 12px;
	text-align: right;
}

.offme-facilities {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 8px;
}

.offme-facilities > div {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	background: #f4f4f4;
	font-size: 13px;
}

.offme-facilities i {
	width: 18px;
	color: #924a94;
	text-align: center;
}

.offme-faq {
	border-top: 1px solid #ddd;
}

.offme-faq:last-child {
	border-bottom: 1px solid #ddd;
}

.offme-faq summary {
	position: relative;
	cursor: pointer;
	padding: 13px 36px 13px 39px;
	font-weight: 700;
	list-style: none;
}

.offme-faq summary::-webkit-details-marker { display: none; }

.offme-faq summary::before {
	position: absolute;
	left: 11px;
	color: #c2185b;
	font-size: 18px;
	content: "Q";
}

.offme-faq summary::after {
	position: absolute;
	top: 13px;
	right: 12px;
	color: #777;
	content: "+";
}

.offme-faq[open] summary::after { content: "−"; }

.offme-faq p {
	position: relative;
	margin: 0;
	padding: 0 38px 15px;
	color: #555;
}

.offme-faq p::before {
	position: absolute;
	left: 11px;
	color: #555;
	font-size: 17px;
	font-weight: 700;
	content: "A";
}

.offme-event-list {
	display: grid;
	gap: 8px;
}

.offme-event-list li {
	display: grid;
	grid-template-columns: 62px 112px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 67px;
	padding: 7px 9px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.offme-date-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-height: 54px;
	border-radius: 3px;
	background: linear-gradient(145deg, var(--tile-start, #ec6ba2), var(--tile-end, #378ffc));
	color: #fff;
	line-height: 1.2;
}

.offme-date-tile.offme-day {
	position: relative;
	width: auto;
	height: auto;
	box-shadow: none;
}

.offme-custom-event-style .offme-date-tile.offme-day {
	background: linear-gradient(145deg, var(--tile-start, #ec6ba2), var(--tile-end, #378ffc)) !important;
}

.offme-date-tile strong {
	font-size: 18px;
}

.offme-date-tile span {
	font-size: 10px;
}

.offme-event-tag {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 2px;
	background: var(--event-tag, #ec6ba2);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.offme-event-tag.offme-category {
	margin: 0;
	line-height: 1.35;
}

.offme-custom-event-style .offme-event-tag.offme-category {
	background: var(--event-tag, #ec6ba2) !important;
}

.offme-event-list a {
	min-width: 0;
	line-height: 1.5;
}

.offme-empty {
	padding: 14px 16px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #f8f8f8;
	color: #777;
}

.offme-sub-links,
.offme-nearby,
.offme-external-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.offme-sub-links a,
.offme-nearby a,
.offme-external-links a {
	display: flex;
	min-width: 0;
	min-height: 62px;
	flex-direction: column;
	justify-content: center;
	padding: 11px 13px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
}

.offme-sub-links a {
	position: relative;
	padding-right: 32px;
}

.offme-sub-links a::after {
	position: absolute;
	top: 50%;
	right: 13px;
	transform: translateY(-50%);
	color: #aaa;
	font-size: 20px;
	content: "›";
}

.offme-sub-links a.external::after { content: "↗"; font-size: 13px; }

.offme-sub-links strong {
	color: #333;
}

.offme-sub-links span,
.offme-nearby small {
	display: block;
	margin-top: 2px;
	color: #777;
	font-size: 11px;
}

.offme-nearby a {
	color: #333;
	font-weight: 700;
}

.offme-external-links a {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	min-height: 49px;
	color: #333;
	font-weight: 700;
}

.offme-external-links i {
	width: 21px;
	color: #777;
	font-size: 17px;
	text-align: center;
}

.offme-site-footer {
	padding: 30px 16px 24px;
	background: #272727;
	color: #ccc;
	text-align: center;
}

.offme-site-footer nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px 20px;
	margin-bottom: 20px;
}

.offme-site-footer nav a {
	color: #eee;
	font-size: 12px;
}

.offme-site-footer img {
	width: 130px;
	filter: brightness(0) invert(1);
}

.offme-site-footer p {
	margin: 8px 0 0;
	font-size: 10px;
}

@media (max-width: 640px) {

	.offme-site-header {
		height: 78px;
	}

	.offme-logo {
		left: 10px;
		padding: 5px 9px;
	}

	.offme-logo img {
		height: 39px;
	}

	.offme-area {
		top: 14px;
		right: 9px;
		padding: 5px;
		border-width: 2px;
	}

	.offme-area label {
		display: none;
	}

	.offme-area select {
		max-width: 38vw;
		font-size: 11px;
	}

	.offme-global-nav a {
		padding: 8px 1px 7px;
		font-size: 9.5px;
	}

	.offme-global-nav i {
		font-size: 17px;
	}

	.offme-hall-main {
		width: 100%;
		margin: 0;
		padding: 20px 15px 30px;
		box-shadow: none;
	}

	.offme-breadcrumbs {
		overflow-x: auto;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.offme-hall-hero h1 {
		font-size: clamp(18px, 5.4vw, 21px);
	}

	.offme-hall-location {
		font-size: 11px;
	}

	.offme-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.offme-stat-wide {
		grid-column: 1 / -1;
	}

	.offme-section h2 {
		font-size: 16px;
	}

	.offme-section .hall-heading.len-m {
		font-size: 1.05rem;
	}

	.offme-info-table,
	.offme-info-table tbody,
	.offme-info-table tr,
	.offme-info-table th,
	.offme-info-table td {
		display: block;
		width: 100%;
	}

	.offme-info-table td {
		border-top: 0;
	}

	.offme-info-table tr + tr th {
		border-top: 0;
	}

	.offme-map iframe {
		height: 220px;
	}

	.offme-recommended {
		padding: 14px;
	}

	.offme-recommended li strong {
		font-size: 16px;
	}

	.offme-event-list li {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 8px;
	}

	.offme-event-tag {
		text-align: left;
	}

	.offme-event-list a {
		grid-column: 2;
	}

	.offme-sub-links,
	.offme-nearby,
	.offme-external-links {
		grid-template-columns: 1fr;
	}

	.offme-layer {
		align-items: flex-start;
	}
}
.offme-more { display: table; margin: 12px 0 0 auto; font-size: 12px; font-weight: 700; }

@media (max-width: 480px) {
	.site-header .offme-legacy-logo {
		left: 10px;
	}

	.site-header .offme-legacy-logo img.logo {
		width: 50%;
	}

	.header-change .offme-legacy-sticky-logo {
		width: 200px;
		height: 25px;
		text-align: center;
	}

	.header-change .offme-legacy-sticky-logo img {
		width: auto;
		height: 100%;
	}
}
