/*
 * お気に入り・閲覧履歴・近くのお店・地区と現在地の絞り込み・ランキング・イベント（トップとイベントページ共通）。
 * 色は Apple 風（青 #0071e3・灰色の文字）。テーマの見出し・リストの飾りは打ち消す。
 */

/* 幅・高さは余白込みで計算する（トップページ以外ではテーマの既定のまま content-box になるため） */
.mn-event,
.mn-evpage *,
.mn-evpage *::before,
.mn-evpage *::after,
.mn-mypage *,
.mn-recent *,
.mn-rank *,
.mn-near *,
.mn-favbar *,
.mn-areabar *,
.mn-card__dist,
.mn-toast {
	box-sizing: border-box;
}

/* 八戸のイベント（市のイベントカレンダーから）：日付を大きく出す角丸カード */
.mn-events__track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.mn-event {
	display: flex;
	gap: 16px;
	height: 100%;
	padding: 18px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .07);
	color: inherit;
	text-decoration: none;
	transition: transform .35s cubic-bezier(.32, .72, 0, 1), box-shadow .35s ease;
}
.mn-event:hover {
	transform: translateY(-3px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 16px 36px rgba(0, 0, 0, .12);
	color: inherit;
	text-decoration: none;
}
.mn-event__date {
	display: flex;
	flex: 0 0 60px;
	flex-direction: column;
	align-items: center;
	align-self: flex-start;
	padding: 8px 0 9px;
	border-radius: 16px;
	background: var(--mn-fill, #f5f5f7);
	line-height: 1;
}
.mn-event__month {
	color: #0071e3;
	font-size: 12px;
	font-weight: 700;
}
.mn-event__day {
	margin: 5px 0 4px;
	color: var(--mn-ink, #1d1d1f);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.mn-event__week {
	color: var(--mn-sub, #6e6e73);
	font-size: 12px;
	font-weight: 700;
}
.mn-event__date.is-sat .mn-event__week {
	color: #0071e3;
}
.mn-event__date.is-sun .mn-event__week {
	color: #e3324a;
}
.mn-event__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.mn-event__badge {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(0, 113, 227, .1);
	color: #0071e3;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}
.mn-event__title {
	display: -webkit-box;
	overflow: hidden;
	color: var(--mn-ink, #1d1d1f);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.mn-event__place {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	margin-top: auto;
	color: var(--mn-sub, #6e6e73);
	font-size: 12.5px;
	line-height: 1.5;
}
.mn-event__place svg {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-top: 2px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}
.mn-events__more,
.mn-home .mn-events__more {
	margin-top: 22px;
	text-align: center;
}
.mn-events__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 11px 22px;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}
.mn-events__btn:hover {
	background: #0077ed;
	color: #fff;
	text-decoration: none;
}
.mn-events__btn:active {
	transform: scale(.97);
}
.mn-events__btn svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ---------- 共通：iOS 風のセグメント・小さなカプセル ---------- */
.mn-mypage .mn-seg {
	display: inline-flex;
	margin: 0;
	gap: 2px;
	padding: 3px;
	border-radius: 999px;
	background: #f0f0f3;
}
.mn-seg__btn {
	padding: 8px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #1d1d1f;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color .25s ease, box-shadow .25s ease, color .25s ease;
}
.mn-seg__btn.is-active {
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 1px rgba(0, 0, 0, .04);
}
.mn-seg__btn span {
	color: #0071e3;
	font-size: 12px;
}
.mn-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 999px;
	background: #f0f0f3;
	color: #1d1d1f;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.mn-pill:hover {
	background: #e8e8ed;
	color: #1d1d1f;
	text-decoration: none;
}
.mn-textbtn {
	padding: 6px 4px;
	border: 0;
	background: none;
	color: #0071e3;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}
.mn-textbtn:hover {
	text-decoration: underline;
}

/* ---------- 画面下のお知らせ（すりガラスのカプセル） ---------- */
.mn-toast {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 100000;
	max-width: calc(100% - 32px);
	padding: 12px 20px;
	border-radius: 999px;
	background: rgba(29, 29, 31, .82);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 12px);
	transition: opacity .3s ease, transform .4s cubic-bezier(.32, .72, 0, 1);
}
.mn-toast.is-show {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}
.mn-toast a {
	margin-left: 8px;
	color: #6cb4ff;
	font-weight: 700;
	text-decoration: none;
}

/* ---------- 店舗ページ：お気に入りボタン ---------- */
.mn-favbar {
	margin: 10px 0 4px;
}
.mn-fav {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px 8px 13px;
	border: 1px solid #d2d2d7;
	border-radius: 999px;
	background: #fff;
	color: #1d1d1f;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.mn-fav:hover {
	border-color: #86868b;
}
.mn-fav:active {
	transform: scale(.96);
}
.mn-fav svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linejoin: round;
}
.mn-fav.is-on {
	border-color: transparent;
	background: rgba(255, 45, 85, .1);
	color: #e3264a;
}
.mn-fav.is-on svg {
	fill: currentColor;
}
.mn-fav.is-pop svg {
	animation: mn-heart .45s cubic-bezier(.32, .72, 0, 1);
}
@keyframes mn-heart {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

/* ---------- 店舗ページ：近くのお店 ---------- */
.mn-near {
	margin: 0 0 40px;
}
.mn-near__title {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	background: none;
	color: #1d1d1f;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}
.mn-near__title::before,
.mn-near__title::after {
	content: none;
}
.mn-near__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-near__list li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-near__list li::before {
	content: none;
}
.mn-near__card {
	display: flex;
	gap: 12px;
	align-items: center;
	height: 100%;
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 18px rgba(0, 0, 0, .07);
	color: inherit;
	text-decoration: none;
	transition: transform .3s cubic-bezier(.32, .72, 0, 1), box-shadow .3s ease;
}
.mn-near__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 12px 28px rgba(0, 0, 0, .11);
	color: inherit;
	text-decoration: none;
}
.mn-near__media {
	position: relative;
	flex: 0 0 76px;
	height: 76px;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f5f7;
}
.mn-near__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}
.mn-near__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.mn-near__dist {
	align-self: flex-start;
	padding: 2px 9px;
	border-radius: 999px;
	background: rgba(0, 113, 227, .1);
	color: #0071e3;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}
.mn-near__name {
	overflow: hidden;
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mn-near__label {
	color: #6e6e73;
	font-size: 12.5px;
	line-height: 1.4;
}

/* ---------- 店舗一覧：地区・現在地 ---------- */
.mn-areabar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.mn-select {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	width: auto;
	margin: 0;
	padding: 0;
}
.mn-select svg {
	position: absolute;
	left: 13px;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: #6e6e73;
	stroke-width: 2;
	pointer-events: none;
}
.mn-select select {
	box-sizing: border-box;
	width: auto;
	min-width: 168px;
	max-width: none;
	height: 44px;
	margin: 0;
	padding: 0 36px 0 36px;
	border: 1px solid #d2d2d7;
	border-radius: 999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%236e6e73' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 16px;
	color: #1d1d1f;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.mn-select select:focus {
	border-color: #0071e3;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(0, 113, 227, .15);
}
.mn-near-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 44px;
	margin: 0;
	padding: 0 18px 0 14px;
	border: 1px solid #0071e3;
	border-radius: 999px;
	background: #fff;
	color: #0071e3;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.mn-near-btn:active {
	transform: scale(.97);
}
.mn-near-btn svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
	stroke: none;
}
.mn-near-btn.is-on {
	background: #0071e3;
	color: #fff;
}
.mn-near-btn.is-busy {
	opacity: .65;
	pointer-events: none;
}
.mn-card__media {
	position: relative;
}
.mn-card__dist {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	color: #0071e3;
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.3;
}
.mn-card__dist[hidden],
.mn-cards__item[hidden],
.mn-events__item[hidden] {
	display: none !important;
}

/* ---------- 最近見たお店・お気に入りページの小さなカード ---------- */
.mn-mini {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-mini::before {
	content: none;
}
.mn-mini__card {
	display: flex;
	gap: 12px;
	align-items: center;
	height: 100%;
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 18px rgba(0, 0, 0, .07);
	color: inherit;
	text-decoration: none;
	transition: transform .3s cubic-bezier(.32, .72, 0, 1), box-shadow .3s ease;
}
.mn-mini__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 12px 28px rgba(0, 0, 0, .11);
	color: inherit;
	text-decoration: none;
}
.mn-mini__media {
	position: relative;
	flex: 0 0 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f5f7;
}
.mn-mini__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}
.mn-mini__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	padding-right: 8px;
}
.mn-mini__name {
	overflow: hidden;
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mn-mini__sub {
	color: #6e6e73;
	font-size: 12.5px;
	line-height: 1.4;
}
.mn-mini__catch {
	overflow: hidden;
	color: #6e6e73;
	font-size: 12px;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mn-mini__remove {
	position: absolute;
	top: 50%;
	right: 10px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f0f0f3;
	color: #6e6e73;
	cursor: pointer;
	transform: translateY(-50%);
}
.mn-mini__remove:hover {
	background: #e8e8ed;
	color: #1d1d1f;
}
.mn-mini__remove svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
}
.mn-mypage .mn-mini__body {
	padding-right: 40px;
}

/* トップページ：最近見たお店 */
.mn-recent {
	max-width: 1180px;
	margin: 64px auto 0;
}
.mn-recent[hidden] {
	display: none;
}
.mn-recent__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* お気に入りページ */
.mn-mypage {
	max-width: 960px;
	margin: 0 auto 60px;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.mn-mypage__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
.mn-mypage__empty {
	margin: 24px 0 0;
	padding: 28px 20px;
	border-radius: 18px;
	background: #f5f5f7;
	color: #6e6e73;
	font-size: 14px;
	line-height: 1.7;
	text-align: center;
}
.mn-mypage__empty[hidden],
.mn-textbtn[hidden] {
	display: none;
}
.mn-mypage__note {
	margin: 22px 0 0;
	color: #86868b;
	font-size: 12.5px;
	line-height: 1.7;
}
.mn-mypage__clear {
	margin: 6px 0 0;
}

/* ---------- トップページ：よく見られているお店 ---------- */
.mn-rank {
	max-width: 1180px;
	margin: 64px auto 0;
}
.mn-rank__note {
	color: #6e6e73;
	font-size: 13px;
}
.mn-rank__list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
.mn-rank__list li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-rank__item {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .07);
	color: inherit;
	text-decoration: none;
	transition: transform .35s cubic-bezier(.32, .72, 0, 1), box-shadow .35s ease;
}
.mn-rank__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 16px 36px rgba(0, 0, 0, .12);
	color: inherit;
	text-decoration: none;
}
.mn-rank__no {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .8);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 800;
}
.mn-rank__no.is-top {
	background: #0071e3;
	color: #fff;
}
.mn-rank__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f5f5f7;
}
.mn-rank__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}
.mn-rank__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 14px 14px;
}
.mn-rank__name {
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}
.mn-rank__sub {
	color: #6e6e73;
	font-size: 12.5px;
}

/* ---------- イベントページ（日ごとの一覧＋月のカレンダー）。パソコンは右にカレンダー、スマホは日付の帯と「月で見る」のシート ---------- */
.mn-evpage {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 0 48px;
	align-items: start;
	max-width: 1180px;
	margin: 0 auto 60px;
	color: #1d1d1f;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.mn-evpage > .mn-evpost {
	grid-column: 1 / -1;
}
.mn-evpage ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-evpage li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-evpage li::before {
	content: none;
}
.mn-evpage button {
	margin: 0;
	border: 0;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* 上の行：すべて／今週末 と「月で見る」 */
.mn-evbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.mn-evbar__chips {
	display: flex;
	gap: 8px;
}
.mn-evchip {
	padding: 8px 18px;
	border-radius: 999px;
	background: #f5f5f7;
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	transition: background-color .2s ease, color .2s ease;
}
.mn-evchip:hover {
	background: #e8e8ed;
}
.mn-evchip.is-active {
	background: #1d1d1f;
	color: #fff;
}
.mn-evbar__cal {
	display: none;
	align-items: center;
	gap: 6px;
	padding: 8px 4px;
	background: none;
	color: #0071e3;
	font-size: 14px;
	font-weight: 700;
}
.mn-evbar__cal svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

/* 日付の帯（スマホだけ） */
.mn-strip {
	display: none;
	gap: 4px;
	margin: 14px -16px 0;
	padding: 2px 16px 6px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scroll-padding: 0 16px;
	scrollbar-width: none;
}
.mn-strip::-webkit-scrollbar {
	display: none;
}
.mn-strip__day {
	display: flex;
	flex: 0 0 48px;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 8px 0 7px;
	border-radius: 14px;
	background: none;
	color: #1d1d1f;
	scroll-snap-align: start;
	transition: background-color .2s ease;
}
.mn-strip__w {
	color: #6e6e73;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}
.mn-strip__day.is-sat .mn-strip__w {
	color: #0071e3;
}
.mn-strip__day.is-sun .mn-strip__w {
	color: #e3324a;
}
.mn-strip__d {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}
.mn-strip__day.is-today .mn-strip__d,
.mn-strip__day.is-today .mn-strip__w {
	color: #0071e3;
}
.mn-strip__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #0071e3;
}
.mn-strip__dot.is-none {
	background: transparent;
}
.mn-strip__day.is-active {
	background: #0071e3;
}
.mn-strip__day.is-active .mn-strip__w,
.mn-strip__day.is-active .mn-strip__d {
	color: #fff;
}
.mn-strip__day.is-active .mn-strip__dot:not(.is-none) {
	background: #fff;
}

/* 見出し（これからのイベント／11月14日（土）） */
.mn-evpage__head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 26px 0 4px;
}
.mn-evpage .mn-evpage__label {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #1d1d1f;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.3;
}
.mn-evpage .mn-evpage__label::before,
.mn-evpage .mn-evpage__label::after,
.mn-evpage .mn-evday__head::before,
.mn-evpage .mn-evday__head::after {
	content: none;
}
.mn-evpage .mn-evpage__count {
	margin: 0;
	color: #6e6e73;
	font-size: 14px;
}

/* 日ごとのまとまり */
.mn-evday {
	margin-top: 22px;
}
.mn-evpage .mn-evday__head {
	position: sticky;
	top: 52px;
	z-index: 2;
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 10px 2px 8px;
	border: 0;
	background: rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: saturate(180%) blur(16px);
	backdrop-filter: saturate(180%) blur(16px);
	color: #1d1d1f;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}
.mn-evday__rel {
	color: #0071e3;
}
.mn-evday__date.is-sat {
	color: #0071e3;
}
.mn-evday__date.is-sun {
	color: #e3324a;
}
.mn-evday__list {
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .04);
	overflow: hidden;
}
.mn-evrow + .mn-evrow a {
	border-top: 1px solid #ececf0;
}
.mn-evpage .mn-evrow a {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: 18px;
	padding: 14px 16px 14px 0;
	color: #1d1d1f;
	text-decoration: none;
}
.mn-evrow:hover {
	background: #f5f5f7;
}
.mn-evrow__body {
	flex: 1;
	min-width: 0;
}
.mn-evrow__title {
	display: block;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.5;
}
.mn-evrow__note {
	display: -webkit-box;
	margin-top: 3px;
	overflow: hidden;
	color: #424245;
	font-size: 13.5px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.mn-evrow__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 14px;
	margin-top: 6px;
	color: #6e6e73;
	font-size: 13px;
	line-height: 1.5;
}
.mn-evrow__when,
.mn-evrow__where {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.mn-evrow__when {
	color: #1d1d1f;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.mn-evrow__meta svg {
	flex: none;
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}
.mn-evrow__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}
.mn-evtag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 9px;
	border-radius: 999px;
	background: #f0f0f3;
	color: #424245;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}
.mn-evtag--now {
	background: rgba(0, 113, 227, .1);
	color: #0071e3;
}
.mn-evtag--free {
	background: rgba(36, 138, 61, .11);
	color: #1b7a34;
}
.mn-evtag--park b {
	display: inline-grid;
	place-items: center;
	width: 15px;
	height: 15px;
	border-radius: 4px;
	background: #0071e3;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
}
.mn-evtag--park.is-none b {
	background: #aeaeb2;
}
.mn-evrow__org {
	color: #86868b;
	font-size: 12px;
}
.mn-evrow__go {
	flex: none;
	color: #c7c7cc;
}
.mn-evrow__go svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.mn-evpage__empty {
	margin: 18px 0 0;
	padding: 28px 20px;
	border-radius: 18px;
	background: #f5f5f7;
	color: #6e6e73;
	font-size: 14px;
	line-height: 1.8;
	text-align: center;
}
.mn-evpage__empty[hidden] {
	display: none;
}
.mn-evpage__note {
	margin: 28px 0 0;
	color: #86868b;
	font-size: 12.5px;
	line-height: 1.7;
}
.mn-evpage .mn-events__more {
	margin: 18px 0 0;
	text-align: left;
}

/* 月のカレンダー */
.mn-evpage__side {
	position: sticky;
	top: 76px;
}
.mn-cal {
	padding: 18px 18px 14px;
	border-radius: 22px;
	background: #f5f5f7;
}
.mn-cal__month[hidden] {
	display: none;
}
.mn-cal__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 2px 10px 6px;
}
.mn-evpage .mn-cal__title {
	margin: 0;
	color: #1d1d1f;
	font-size: 17px;
	font-weight: 700;
}
.mn-cal__nav {
	display: flex;
	gap: 2px;
}
.mn-evpage .mn-cal__arrow {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: none;
	color: #0071e3;
}
.mn-cal__arrow:hover:not([disabled]) {
	background: rgba(0, 113, 227, .1);
}
.mn-evpage .mn-cal__arrow[disabled] {
	color: #c7c7cc;
	cursor: default;
}
.mn-cal__arrow svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.mn-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	row-gap: 2px;
	text-align: center;
}
.mn-cal__wd {
	padding: 4px 0 6px;
	color: #86868b;
	font-size: 11px;
	font-weight: 700;
}
.mn-cal__wd.is-sun {
	color: #e3324a;
}
.mn-cal__wd.is-sat {
	color: #0071e3;
}
.mn-evpage .mn-cal__day {
	position: relative;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin: 0 auto;
	padding: 0 0 4px;
	border-radius: 50%;
	background: none;
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	transition: background-color .15s ease;
}
.mn-cal__day.is-sun {
	color: #e3324a;
}
.mn-cal__day.is-sat {
	color: #0071e3;
}
.mn-cal__day.has-ev::after {
	content: "";
	position: absolute;
	bottom: 5px;
	left: 50%;
	width: 4px;
	height: 4px;
	margin-left: -2px;
	border-radius: 50%;
	background: #0071e3;
}
.mn-evpage .mn-cal__day.is-past {
	color: #c7c7cc;
	cursor: default;
}
.mn-cal__day.is-past::after {
	content: none;
}
button.mn-cal__day:hover {
	background: rgba(0, 0, 0, .05);
}
.mn-evpage .mn-cal__day.is-today {
	color: #0071e3;
	font-weight: 800;
}
.mn-evpage .mn-cal__day.is-active {
	background: #0071e3;
	color: #fff;
	font-weight: 700;
}
.mn-cal__day.is-active::after {
	background: #fff;
}
.mn-evpage .mn-cal__legend {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 10px 6px 0;
	color: #86868b;
	font-size: 12px;
}
.mn-cal__legend span {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #0071e3;
}
.mn-calsheet .mn-cal {
	margin: 0 16px 20px;
	padding: 6px 4px 8px;
	background: none;
}

@media screen and (max-width: 900px) {
	.mn-evpage {
		grid-template-columns: minmax(0, 1fr);
	}
	.mn-evpage__side {
		display: none;
	}
	.mn-evbar__cal {
		display: inline-flex;
	}
	.mn-strip {
		display: flex;
	}
}
@media screen and (max-width: 768px) {
	.mn-evpage .mn-evday__head {
		top: 0;
	}
	.mn-evpage .mn-evpage__label {
		font-size: 21px;
	}
}

/* ---------- 幅ごとの切り替え ---------- */
@media screen and (max-width: 1220px) {
	.mn-recent,
	.mn-rank {
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media screen and (max-width: 900px) {
	.mn-recent__list {
		grid-template-columns: repeat(2, 1fr);
	}
	.mn-rank__list {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 768px) {
	.mn-recent,
	.mn-rank {
		margin: 44px 16px 0;
	}
	.mn-recent__list {
		display: flex;
		margin: 0 -16px;
		padding: 4px 16px 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 16px;
		scrollbar-width: none;
	}
	.mn-recent__list::-webkit-scrollbar,
	.mn-rank__list::-webkit-scrollbar {
		display: none;
	}
	.mn-recent__list .mn-mini {
		flex: 0 0 78%;
		scroll-snap-align: start;
	}
	.mn-rank__list {
		display: flex;
		margin: 0 -16px;
		padding: 4px 16px 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 16px;
		scrollbar-width: none;
	}
	.mn-rank__list li {
		flex: 0 0 46%;
		scroll-snap-align: start;
	}
	.mn-near__list,
	.mn-mypage__list {
		grid-template-columns: 1fr;
	}
	.mn-mypage,
	.mn-evpage {
		margin-right: 16px;
		margin-left: 16px;
	}
}

/* ---------- クーポン（チケット型） ---------- */
.mn-coupons,
.mn-coupon,
.mn-coupon *,
.mn-couponpage *,
.mn-hcoupon *,
.mn-news *,
.mn-hnews *,
.mn-review * {
	box-sizing: border-box;
}
.mn-coupons {
	display: grid;
	gap: 14px;
	margin: 0 0 40px;
}
.mn-coupon {
	position: relative;
	display: flex;
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .08);
}
.mn-coupon__stub {
	position: relative;
	display: grid;
	flex: 0 0 54px;
	place-items: center;
	background: linear-gradient(160deg, #2b8cff, #0062cc);
	color: #fff;
}
.mn-coupon__stub span {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .2em;
	writing-mode: vertical-rl;
}
/* 切り取り線 */
.mn-coupon__stub::after {
	content: "";
	position: absolute;
	top: 10px;
	right: -1px;
	bottom: 10px;
	border-right: 2px dashed rgba(255, 255, 255, .7);
}
.mn-coupon__main {
	flex: 1;
	min-width: 0;
	padding: 16px 20px 14px;
}
.mn-coupon__shop {
	display: inline-block;
	margin-bottom: 4px;
	color: #0071e3;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}
.mn-coupon__title {
	margin: 0;
	color: #1d1d1f;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.45;
}
.mn-coupon__body {
	margin: 6px 0 0;
	color: #424245;
	font-size: 14px;
	line-height: 1.7;
}
.mn-coupon__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
	margin: 10px 0 0;
	padding-top: 10px;
	border-top: 1px solid #f0f0f3;
	color: #6e6e73;
	font-size: 12px;
	line-height: 1.6;
}
.mn-favbar {
	display: inline-block;
	vertical-align: middle;
}
.mn-coupon-jump {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 10px 0 4px 8px;
	padding: 8px 14px 8px 16px;
	border-radius: 999px;
	background: rgba(0, 113, 227, .1);
	color: #0071e3;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	vertical-align: middle;
}
.mn-coupon-jump:hover {
	background: rgba(0, 113, 227, .16);
	color: #0071e3;
	text-decoration: none;
}
.mn-coupon-jump svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.mn-card {
	position: relative;
}
.mn-card__coupon {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	margin: 0;
	padding: 4px 10px;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
}
.mn-couponpage {
	display: grid;
	gap: 14px;
	max-width: 760px;
	margin: 0 auto 60px;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.mn-couponpage__empty {
	margin: 0;
	padding: 28px 20px;
	border-radius: 18px;
	background: #f5f5f7;
	color: #6e6e73;
	font-size: 14px;
	text-align: center;
}
.mn-couponpage__note {
	margin: 0;
	color: #86868b;
	font-size: 12.5px;
	line-height: 1.7;
}
.mn-hcoupon {
	max-width: 1180px;
	margin: 64px auto 0;
}
.mn-hcoupon__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

/* ---------- お店の最新情報 ---------- */
.mn-news {
	margin: 0 0 40px;
	padding: 0;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .07);
	list-style: none;
}
.mn-news__item {
	margin: 0;
	padding: 18px 22px;
	list-style: none;
}
.mn-news__item::before {
	content: none;
}
.mn-news__item + .mn-news__item {
	border-top: 1px solid #f0f0f3;
}
.mn-news__date {
	margin: 0;
	color: #6e6e73;
	font-size: 12.5px;
	font-weight: 700;
}
.mn-news__title {
	margin: 4px 0 0;
	color: #1d1d1f;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.5;
}
.mn-news__body {
	margin: 6px 0 0;
	color: #424245;
	font-size: 14px;
	line-height: 1.8;
}
.mn-news__more {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-top: 8px;
	color: #0071e3;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.mn-news__more svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
}
.mn-hnews {
	max-width: 1180px;
	margin: 64px auto 0;
}
.mn-hnews__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-hnews__list li {
	margin: 0;
	list-style: none;
}
.mn-hnews__item {
	display: flex;
	gap: 14px;
	align-items: center;
	height: 100%;
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 18px rgba(0, 0, 0, .07);
	color: inherit;
	text-decoration: none;
	transition: transform .3s cubic-bezier(.32, .72, 0, 1), box-shadow .3s ease;
}
.mn-hnews__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 12px 28px rgba(0, 0, 0, .11);
	color: inherit;
	text-decoration: none;
}
.mn-hnews__media {
	position: relative;
	flex: 0 0 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f5f7;
}
.mn-hnews__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}
.mn-hnews__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.mn-hnews__meta {
	color: #6e6e73;
	font-size: 12.5px;
}
.mn-hnews__new {
	margin-right: 6px;
	padding: 1px 7px;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
}
.mn-hnews__title {
	display: -webkit-box;
	overflow: hidden;
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* ---------- クチコミ ---------- */
.mn-review {
	margin: 0 0 40px;
}
.mn-review__list {
	display: grid;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.mn-review__item {
	margin: 0;
	padding: 18px 20px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 18px rgba(0, 0, 0, .07);
	list-style: none;
}
.mn-review__item::before {
	content: none;
}
.mn-review__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0 0 8px;
}
.mn-review__avatar {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0, 113, 227, .1);
	color: #0071e3;
	font-size: 14px;
	font-weight: 800;
}
.mn-review__name {
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 700;
}
.mn-review__date {
	color: #86868b;
	font-size: 12.5px;
}
.mn-review__text {
	margin: 0;
	color: #1d1d1f;
	font-size: 14.5px;
	line-height: 1.85;
}
.mn-review__empty {
	margin: 0 0 14px;
	padding: 20px;
	border-radius: 18px;
	background: #f5f5f7;
	color: #6e6e73;
	font-size: 14px;
	line-height: 1.7;
}
.mn-review__open {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 11px 22px 11px 18px;
	border: 0;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease;
}
.mn-review__open:hover {
	background: #0077ed;
}
.mn-review__open:active {
	transform: scale(.97);
}
.mn-review__open svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linejoin: round;
}
.mn-review__form {
	display: grid;
	gap: 14px;
	margin-top: 16px;
	padding: 22px;
	border-radius: 20px;
	background: #f5f5f7;
}
.mn-review__form[hidden],
.mn-review__hp {
	display: none !important;
}
.mn-review__field {
	display: grid;
	gap: 6px;
	margin: 0;
}
.mn-review__field > span {
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 700;
}
.mn-review__field em {
	margin-left: 6px;
	color: #e3264a;
	font-size: 12px;
	font-style: normal;
}
.mn-review__field input,
.mn-review__field select,
.mn-review__field textarea {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid #d2d2d7;
	border-radius: 12px;
	background: #fff;
	color: #1d1d1f;
	font: inherit;
	font-size: 16px;
	line-height: 1.6;
}
.mn-review__field input,
.mn-review__field select {
	height: 48px;
	min-height: 48px;
}
.mn-review__field select {
	padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%236e6e73' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
	-webkit-appearance: none;
	appearance: none;
}
.mn-review__field textarea {
	height: auto;
	min-height: 140px;
}
.mn-review__field input:focus,
.mn-review__field select:focus,
.mn-review__field textarea:focus {
	border-color: #0071e3;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(0, 113, 227, .15);
}
.mn-review__rules {
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff;
	color: #424245;
	font-size: 13px;
	line-height: 1.7;
}
.mn-review__rules p {
	margin: 0;
}
.mn-review__rules ul {
	margin: 6px 0;
	padding-left: 1.3em;
}
.mn-review__rules li {
	list-style: disc;
}
.mn-review__agree {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #1d1d1f;
	font-size: 14px;
	font-weight: 700;
}
.mn-review__agree input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #0071e3;
}
.mn-review__msg {
	min-height: 1em;
	margin: 0;
	color: #e3264a;
	font-size: 13.5px;
}
.mn-review__send {
	justify-self: start;
	padding: 12px 34px;
	border: 0;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.mn-review__send:disabled {
	opacity: .5;
}
.mn-review__done {
	margin: 0;
	color: #1d1d1f;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 1220px) {
	.mn-hcoupon,
	.mn-hnews {
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media screen and (max-width: 768px) {
	.mn-hcoupon,
	.mn-hnews {
		margin: 44px 16px 0;
	}
	.mn-hcoupon__list,
	.mn-hnews__list {
		grid-template-columns: 1fr;
	}
	.mn-couponpage {
		margin-right: 16px;
		margin-left: 16px;
	}
	.mn-coupon-jump {
		margin-left: 6px;
	}
	.mn-review__form {
		padding: 18px 16px;
	}
}

/* ---------- イベントの詳細ページ ---------- */
.mn-evdetail,
.mn-evdetail *,
.mn-evpost,
.mn-evpost * {
	box-sizing: border-box;
}
.mn-evdetail {
	max-width: 760px;
	margin: 0 auto;
	padding: 36px 20px 80px;
	color: #1d1d1f;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
	-webkit-font-smoothing: antialiased;
}
.mn-evdetail__crumb {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
}
.mn-evdetail__crumb a,
.mn-evdetail__crumb a:link,
.mn-evdetail__crumb a:visited {
	color: #0071e3;
	text-decoration: none;
}
.mn-evdetail__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #1d1d1f;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.35;
}
.mn-evdetail__title::before,
.mn-evdetail__title::after {
	content: none;
}
.mn-evdetail__date {
	margin: 10px 0 0;
	color: #0071e3;
	font-size: 17px;
	font-weight: 700;
}
.mn-evdetail__image {
	margin: 24px 0 0;
	overflow: hidden;
	border-radius: 22px;
	background: #f5f5f7;
}
.mn-evdetail__image img {
	display: block;
	width: 100%;
	height: auto;
}
.mn-evdetail__body {
	margin-top: 24px;
	font-size: 15.5px;
	line-height: 1.95;
}
.mn-evdetail__body p {
	margin: 0 0 1em;
}
.mn-evdetail__info {
	margin: 28px 0 0;
	padding: 6px 22px;
	border-radius: 18px;
	background: #f5f5f7;
}
.mn-evdetail__info div {
	display: flex;
	gap: 18px;
	padding: 14px 0;
}
.mn-evdetail__info div + div {
	border-top: 1px solid #e5e5ea;
}
.mn-evdetail__info dt {
	flex: 0 0 72px;
	margin: 0;
	color: #6e6e73;
	font-size: 14px;
	font-weight: 700;
}
.mn-evdetail__info dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
}
.mn-evdetail__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 28px 0 0;
}
.mn-evdetail__note {
	margin: 22px 0 0;
	color: #86868b;
	font-size: 12.5px;
}

/* 店舗ページ：このお店のイベント */
.mn-shopev {
	grid-template-columns: repeat(2, 1fr);
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

/* ---------- イベントページ：投稿の案内とフォーム ---------- */
.mn-evpost {
	margin: 48px 0 0;
}
.mn-evpost__card {
	padding: 30px 28px;
	border-radius: 24px;
	background: linear-gradient(135deg, #eef6ff, #f5f5f7);
}
.mn-evpost__eyebrow {
	margin: 0;
	color: #0071e3;
	font-size: 13px;
	font-weight: 700;
}
.mn-evpost__title {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: #1d1d1f;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.4;
}
.mn-evpost__title::before,
.mn-evpost__title::after {
	content: none;
}
.mn-evpost__lead {
	margin: 10px 0 18px;
	color: #424245;
	font-size: 14.5px;
	line-height: 1.8;
}
.mn-evpost__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.mn-evpost__small {
	color: #86868b;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
	.mn-evdetail {
		padding: 24px 16px 110px;
	}
	.mn-evdetail__title {
		font-size: 26px;
	}
	.mn-shopev {
		grid-template-columns: 1fr;
	}
	.mn-evpost__card {
		padding: 24px 20px;
	}
	.mn-evpost__title {
		font-size: 21px;
	}
}

/* ---------- シートのフォーム（イベントの投稿・クチコミ）。土台は request.css の .mn-sheet / .mn-form ---------- */
.mn-sheet .mn-form__section {
	margin: 22px 4px 8px;
	color: #6e6e73;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
}
.mn-sheet .mn-form__section:first-of-type {
	margin-top: 4px;
}
.mn-sheet .mn-form__pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.mn-sheet .mn-field__note {
	display: block;
	margin-top: 6px;
	color: #86868b;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
}
.mn-sheet .mn-form__note {
	margin: 4px 4px 16px;
	color: #86868b;
	font-size: 12.5px;
	line-height: 1.7;
}
.mn-sheet input[type="date"].mn-input {
	min-height: 50px;
}
.mn-evpost__card .mn-rq-btn,
.mn-review > .mn-rq-btn {
	margin-top: 4px;
}
@media screen and (max-width: 480px) {
	.mn-sheet .mn-form__pair {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/* ---------- イベントの小窓（パソコンは真ん中、スマホは下から） ---------- */
html.mn-sheet-open {
	overflow: hidden;
}
.mn-quick {
	box-sizing: border-box;
	width: min(480px, calc(100vw - 32px));
	max-width: none;
	max-height: min(86vh, 760px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 22px;
	background: #fff;
	color: #1d1d1f;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
	overflow: auto;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.mn-quick *,
.mn-quick *::before,
.mn-quick *::after {
	box-sizing: border-box;
}
.mn-quick[open] {
	animation: mn-quick-in .3s cubic-bezier(.2, .8, .2, 1);
}
.mn-quick.is-closing {
	animation: mn-quick-out .2s ease forwards;
}
.mn-quick::backdrop {
	background: rgba(0, 0, 0, .32);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
@keyframes mn-quick-in {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
}
@keyframes mn-quick-out {
	to { opacity: 0; transform: translateY(8px) scale(.98); }
}
.mn-quick__panel {
	position: relative;
	padding: 30px 28px 24px;
}
.mn-quick [hidden] {
	display: none !important;
}
.mn-quick .mn-quick__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f0f0f3;
	color: #6e6e73;
	cursor: pointer;
}
.mn-quick__close svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
}
.mn-quick .mn-quick__when {
	margin: 0 44px 6px 0;
	color: #0071e3;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
.mn-quick .mn-quick__title {
	margin: 0 36px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: #1d1d1f;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.4;
}
.mn-quick .mn-quick__title::before,
.mn-quick .mn-quick__title::after {
	content: none;
}
.mn-quick__title:focus {
	outline: none;
}
.mn-quick .mn-quick__summary {
	margin: 12px 0 0;
	color: #424245;
	font-size: 14.5px;
	line-height: 1.75;
}
.mn-quick .mn-quick__facts {
	margin: 20px 0 0;
	padding: 2px 16px;
	border-radius: 16px;
	background: #f5f5f7;
}
.mn-quick__facts div {
	display: flex;
	gap: 16px;
	padding: 12px 0;
	font-size: 14.5px;
	line-height: 1.55;
}
.mn-quick__facts div + div {
	border-top: 1px solid rgba(0, 0, 0, .08);
}
.mn-quick .mn-quick__facts dt {
	flex: 0 0 5.5em;
	margin: 0;
	color: #6e6e73;
	font-weight: 500;
}
.mn-quick .mn-quick__facts dd {
	flex: 1;
	margin: 0;
	color: #1d1d1f;
	font-weight: 600;
	white-space: pre-line;
}
.mn-quick__facts dd.is-free {
	color: #1b7a34;
}
.mn-quick__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 22px;
}
.mn-quick .mn-quick__go,
.mn-quick .mn-quick__go:visited {
	display: block;
	padding: 14px 20px;
	border-radius: 999px;
	background: #0071e3;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s ease;
}
.mn-quick .mn-quick__go:hover {
	background: #0077ed;
}
.mn-quick .mn-quick__ics {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 113, 227, .08);
	color: #0071e3;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.mn-quick__ics svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}
.mn-quick .mn-quick__source {
	margin: 14px 0 0;
	color: #86868b;
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.mn-quick {
		width: 100vw;
		max-height: 88vh;
		margin: auto 0 0;
		border-radius: 22px 22px 0 0;
	}
	.mn-quick[open] {
		animation: mn-quick-up .34s cubic-bezier(.2, .8, .2, 1);
	}
	.mn-quick.is-closing {
		animation: mn-quick-down .2s ease forwards;
	}
	.mn-quick__panel {
		padding: 26px 20px calc(20px + env(safe-area-inset-bottom));
	}
	.mn-quick__panel::before {
		content: "";
		position: absolute;
		top: 8px;
		left: 50%;
		width: 36px;
		height: 5px;
		margin-left: -18px;
		border-radius: 3px;
		background: #d2d2d7;
	}
}
@keyframes mn-quick-up {
	from { transform: translateY(100%); }
}
@keyframes mn-quick-down {
	to { transform: translateY(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.mn-quick[open],
	.mn-quick.is-closing {
		animation: none;
	}
}

/* ---------- お店の日記（店舗ページ）。押すと開いて全文と大きな写真 ---------- */
.mn-diary,
.mn-diary * {
	box-sizing: border-box;
}
.mn-diary {
	margin: 0 0 40px;
}
.mn-diary .mn-diary__lead,
.mn-board .mn-board__lead {
	margin: 0 0 14px;
	color: #6e6e73;
	font-size: 14px;
	line-height: 1.7;
}
.mn-diary__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-diary__item {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mn-diary__item::before {
	content: none;
}
.mn-diary__item[hidden] {
	display: none;
}
.mn-diary__box {
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 18px rgba(0, 0, 0, .07);
	overflow: hidden;
}
.mn-diary__sum {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
}
.mn-diary__sum::-webkit-details-marker {
	display: none;
}
.mn-diary__sum::marker {
	content: "";
}
.mn-diary__thumb {
	flex: none;
	width: 88px;
	height: 88px;
	border-radius: 12px;
	object-fit: cover;
}
.mn-diary__head {
	display: block;
	flex: 1;
	min-width: 0;
}
.mn-diary__date {
	display: block;
	color: #6e6e73;
	font-size: 12.5px;
}
.mn-diary__title {
	display: block;
	margin-top: 2px;
	color: #1d1d1f;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}
.mn-diary__excerpt {
	display: block;
	margin-top: 4px;
	color: #424245;
	font-size: 14px;
	line-height: 1.7;
}
.mn-diary__box[open] .mn-diary__excerpt,
.mn-diary__box[open] .mn-diary__thumb {
	display: none;
}
.mn-diary__full {
	padding: 0 18px 18px;
}
.mn-diary .mn-diary__photo {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	margin: 0 0 14px;
	border-radius: 14px;
	object-fit: cover;
}
.mn-diary .mn-diary__text {
	margin: 0;
	color: #1d1d1f;
	font-size: 15px;
	line-height: 1.85;
}
.mn-diary .mn-diary__more {
	display: block;
	margin: 14px auto 0;
	padding: 10px 22px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 113, 227, .08);
	color: #0071e3;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

/* ---------- 掲示板（店舗ページ）。見た目はクチコミと同じで、お店からの返事を吹き出しで ---------- */
.mn-board__reply {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: #f5f5f7;
}
.mn-board .mn-board__reply-who {
	margin: 0 0 4px;
	color: #0071e3;
	font-size: 12.5px;
	font-weight: 700;
}
.mn-board .mn-board__reply-text {
	margin: 0;
	color: #1d1d1f;
	font-size: 14px;
	line-height: 1.75;
}
@media screen and (max-width: 480px) {
	.mn-diary__thumb {
		width: 72px;
		height: 72px;
	}
}
