/* =====================================================================
   multi-item2 — お店のご案内（store）／最後のひと押し（closing）
   ===================================================================== */

/* ---------- お店のご案内 ---------- */
.mi2 .mi2-store__body {
	display: flex;
	gap: 48px;
	align-items: stretch;
}
.mi2 .mi2-store__media {
	width: 560px;
	max-width: 47%;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.mi2 .mi2-store__photo {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--mi2-r-lg);
	background: var(--mi2-blob);
}
.mi2 .mi2-store__map {
	display: block;
	width: 100%;
	height: 180px;
	border: 0;
	border-radius: var(--mi2-r-lg);
	background: var(--mi2-blob);
}
/* 外観写真が無く地図だけのときは、地図を列の高さいっぱいに伸ばす（最低でもデザインの地図の高さ 180px） */
.mi2 .mi2-store__map:only-child {
	flex: 1 1 auto;
	height: auto;
	min-height: 180px;
}

.mi2 .mi2-store__card {
	flex: 1 1 auto;
	min-width: 0;
	padding: 44px;
	background: var(--mi2-white);
	border-radius: var(--mi2-r-lg);
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.mi2 .mi2-store__body--solo .mi2-store__card {
	max-width: 760px;
	margin-inline: auto;
}
.mi2 .mi2-store__name {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mi2 .mi2-store__brand {
	font-size: 17px;
	line-height: 1.5;
	color: var(--mi2-ink-3);
}
.mi2 .mi2-store__h3 {
	font-family: var(--mi2-display);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--mi2-ink);
}

.mi2 .mi2-store__table {
	display: flex;
	flex-direction: column;
	border-bottom: 1px solid var(--mi2-line);
}
.mi2 .mi2-store__row {
	padding: 20px 0;
	border-top: 1px solid var(--mi2-line);
	display: flex;
	align-items: baseline;
	gap: 24px;
	font-size: 19px;
	line-height: 1.7;
}
.mi2 .mi2-store__row dt {
	width: 110px;
	flex-shrink: 0;
	color: var(--mi2-ink-3);
}
.mi2 .mi2-store__row dd {
	min-width: 0;
	font-weight: 700;
	overflow-wrap: anywhere;
}
.mi2 .mi2-store__tel {
	font-family: var(--mi2-display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--mi2-accent);
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	min-height: 44px;          /* タップしやすい高さ */
}
.mi2 a.mi2-store__tel:hover { color: var(--mi2-accent-dk); }

.mi2 .mi2-store__btns {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;           /* 入りきらない幅では2段に逃がす */
	gap: 16px;
}
.mi2 .mi2-store__btn {
	flex: 1 1 auto;
	min-height: 64px;
	padding: 8px 12px;
	gap: 10px;
	font-size: 19px;
}
.mi2 .mi2-store__btn .mi2-tel-txt__note { font-size: .7em; }

/* ---------- 最後のひと押し ---------- */
.mi2 .mi2-closing__card {
	padding: 64px 72px;
	background: var(--mi2-white);
	border-radius: var(--mi2-r-xl);
	display: flex;
	align-items: center;
	gap: 56px;
}
.mi2 .mi2-closing__photo {
	width: 220px;
	height: 220px;
	flex-shrink: 0;
	object-fit: cover;
	object-position: 50% 25%;
	border-radius: 50%;
	background: var(--mi2-blob);
}
.mi2 .mi2-closing__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.mi2 .mi2-closing__h2 {
	font-family: var(--mi2-display);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--mi2-ink);
}
.mi2 .mi2-closing__nb { display: inline-block; }
.mi2 .mi2-closing__lead {
	font-size: 19px;
	line-height: 1.8;
	color: var(--mi2-ink-2);
}
.mi2 .mi2-closing__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.mi2 .mi2-closing__btn {
	min-height: 76px;
	padding: 8px 32px;
	gap: 12px;
	font-size: 21px;
}

/* ---------- 768〜1100px ---------- */
@media (max-width: 1100px) {
	.mi2 .mi2-store__body { gap: 28px; }
	.mi2 .mi2-store__media { width: 44%; max-width: none; gap: 16px; }
	.mi2 .mi2-store__map { height: 180px; }
	.mi2 .mi2-store__card { padding: 32px; gap: 20px; }
	.mi2 .mi2-store__brand { font-size: 15px; }
	.mi2 .mi2-store__h3 { font-size: 26px; }
	.mi2 .mi2-store__row { padding: 14px 0; gap: 16px; font-size: 17px; }
	.mi2 .mi2-store__row dt { width: 84px; }
	.mi2 .mi2-store__tel { font-size: 23px; }
	.mi2 .mi2-store__btn { min-height: 60px; font-size: 17px; }

	.mi2 .mi2-closing__card { padding: 48px; gap: 36px; border-radius: 32px; }
	.mi2 .mi2-closing__photo { width: 170px; height: 170px; }
	.mi2 .mi2-closing__body { gap: 16px; }
	.mi2 .mi2-closing__h2 { font-size: 29px; }
	.mi2 .mi2-closing__lead { font-size: 17px; }
	.mi2 .mi2-closing__btn { flex: 1 1 auto; min-height: 68px; padding: 8px 24px; font-size: 19px; }
}

/* ---------- 767px以下 ---------- */
@media (max-width: 767px) {
	.mi2 .mi2-store__body { flex-direction: column; gap: 16px; }
	.mi2 .mi2-store__media { width: 100%; gap: 16px; }
	.mi2 .mi2-store__photo { border-radius: var(--mi2-r-md); }
	.mi2 .mi2-store__map,
	.mi2 .mi2-store__map:only-child { flex: none; height: 180px; min-height: 0; border-radius: var(--mi2-r-md); }
	.mi2 .mi2-store__card { padding: 28px 20px; gap: 18px; border-radius: var(--mi2-r-md); }
	.mi2 .mi2-store__body--solo .mi2-store__card { max-width: none; }
	.mi2 .mi2-store__brand { font-size: 14px; }
	.mi2 .mi2-store__h3 { font-size: 24px; }
	.mi2 .mi2-store__row { padding: 14px 0; gap: 12px; font-size: 16px; }
	.mi2 .mi2-store__row dt { width: 72px; }
	.mi2 .mi2-store__tel { font-size: 22px; }
	.mi2 .mi2-store__btns { flex-direction: column; gap: 16px; }
	.mi2 .mi2-store__btn { width: 100%; min-height: 58px; font-size: 17px; }

	.mi2 .mi2-closing__card { flex-direction: column; text-align: center; padding: 40px 20px; gap: 24px; border-radius: 28px; }
	.mi2 .mi2-closing__photo { width: 160px; height: 160px; }
	.mi2 .mi2-closing__body { width: 100%; align-items: center; gap: 16px; }
	.mi2 .mi2-closing__h2 { font-size: min(26px, 6.6vw); line-height: 1.5; }
	.mi2 .mi2-closing__lead { font-size: 16px; }
	.mi2 .mi2-closing__btns { width: 100%; flex-direction: column; gap: 12px; }
	.mi2 .mi2-closing__btn { width: 100%; min-height: 64px; padding: 8px 14px; gap: 10px; font-size: 18px; }
	.mi2 .mi2-closing__btn .mi2-tel-txt__note { font-size: .7em; }   /* 360px幅でも備考が1行に収まるように */
}
