/* ==================================================
   メニューセクション専用スタイル（Bootstrap併用）
   ブランドカラー:
     dark #2A1F17 / gold #E5A823 / lightGold #F1C40F / bg #FAF8F5
   ================================================== */

#mensmenu,
#ladysmenu {
	scroll-margin-top: 70px; /* 固定ナビにアンカーが被らないように */
}

.menu-wrap {
	max-width: 720px;
	margin: 0 auto;
	padding: 40px 0 16px;
}

/* ---------- メンズ/レディース アンカーボタン ---------- */
.menu-nav {
	display: flex;
	justify-content: center;
	gap: 12px;
	max-width: 576px;
	margin: 0 auto;
}
.menu-nav__icon {
	width: 1.15em;
	height: 1.15em;
	flex-shrink: 0;
}
.menu-nav__btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 13px 16px;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 700;
	color: #2A1F17;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
	transition: background-color .15s ease;
	white-space: nowrap;
}
.menu-nav__btn--gold { background: #F1C40F; }
.menu-nav__btn--gold:hover,
.menu-nav__btn--gold:focus { background: #eab308; color: #2A1F17; }
.menu-nav__btn--white { background: #fff; border: 1px solid #e7e5e4; }
.menu-nav__btn--white:hover,
.menu-nav__btn--white:focus { background: #f5f5f4; color: #2A1F17; }

/* ---------- メンズ/レディース アンカーボタン帯 ---------- */
.menu-strip {
	background: #212529;
	padding: 24px 16px;
	margin: 0 0 50px;
}
/* メンズセクションでは帯を最上部にくっつけるため、上の余白を消す */
#mensmenu .menu-wrap { padding-top: 0; }
#mensmenu { padding-top: 0; } /* style.cssの section{padding:40px 0} を打ち消し */

/* ---------- セクション見出し ---------- */
.menu-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-bottom: 8px;
	margin-bottom: 24px;
	border-bottom: 2px solid #2A1F17;
}
.menu-head--ladys { border-bottom-color: #F1C40F; }

.menu-head__title {
	display: flex;
	align-items: center;
	gap: 8px;
}
.menu-head__title h2 {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: #2A1F17;
	letter-spacing: .05em;
}
.menu-head__bar { width: 12px; height: 28px; border-radius: 4px; }
.menu-head__bar--gold { background: #F1C40F; }
.menu-head__bar--dark { background: #2A1F17; }
.menu-head__note { font-size: .75rem; color: #78716c; font-weight: 500; text-align: right; }

/* ---------- メニューカード ---------- */
.menu-card {
	background: #fff;
	border: 1px solid #e7e5e4;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
	overflow: hidden;
	margin-bottom: 24px;
}
.menu-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
}
.menu-card__header--dark { background: #2A1F17; }
.menu-card__header--gold { background: #F1C40F; }
.menu-card__header h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #F1C40F;
}
.menu-card__header--gold h3 { color: #2A1F17; }
.menu-card__badge {
	font-size: 10px;
	background: #44403c;
	color: #e7e5e4;
	padding: 2px 8px;
	border-radius: 4px;
	white-space: nowrap;
}

/* ---------- 料金行（メンズ） ---------- */
.menu-card__body { padding: 4px 20px 12px; }

.menu-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
}
.menu-row + .menu-row { border-top: 1px solid #f5f5f4; }

.menu-row__name-main { display: block; font-weight: 700; color: #292524; font-size: 1.05rem; }
.menu-row__name-sub { font-size: .75rem; color: #78716c; }
/* メニュー名とサブ表記を同じ行に並べる場合 */
.menu-row__name--inline .menu-row__name-main,
.menu-row__name--inline .menu-row__name-sub { display: inline; }
.menu-row__name--inline .menu-row__name-sub { margin-left: 4px; }
.menu-row__name-note { font-size: .7rem; color: #b45309; font-weight: 500; }
.menu-row__price {
	font-weight: 700;
	font-size: 1.2rem;
	color: #2A1F17;
	white-space: nowrap;
}
.menu-row__price small { font-size: .7rem; font-weight: 400; }
.menu-row__ask {
	font-size: .75rem;
	background: #f5f5f4;
	color: #57534e;
	padding: 4px 10px;
	border-radius: 6px;
	font-weight: 500;
	white-space: nowrap;
}

/* ---------- コースブロック（レディース） ---------- */
.menu-course { padding: 16px 0; }
.menu-course + .menu-course { border-top: 1px solid #f5f5f4; }

.menu-course__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
.menu-course__head h4 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #1c1917;
}
.menu-course__time { font-size: .75rem; font-weight: 400; color: #78716c; }
.menu-course__desc { margin: 6px 0 0; font-size: .85rem; color: #57534e; line-height: 1.6; }

.menu-course__content {
	margin-top: 8px;
	padding: 10px;
	background: #fafaf9;
	border: 1px solid #e7e5e4;
	border-radius: 8px;
	font-size: .75rem;
	color: #57534e;
	font-weight: 500;
	line-height: 1.6;
}
.menu-course__content strong { color: #2A1F17; }

.menu-course__caution {
	margin-top: 8px;
	padding: 12px;
	background: #fff1f2;
	border: 1px solid #fecdd3;
	border-radius: 8px;
	font-size: .7rem;
	color: #9f1239;
	line-height: 1.6;
}

.menu-course__limited {
	display: inline-block;
	background: #e11d48;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	vertical-align: middle;
}
.menu-course__sub { display: block; margin-top: 2px; font-size: .75rem; color: #78716c; font-weight: 400; }

/* ---------- メンズ注記ボックス ---------- */
.menu-note {
	margin-top: 4px;
	padding: 16px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 12px;
	font-size: .85rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.menu-note__title {
	margin: 0 0 4px;
	font-weight: 700;
	color: #2A1F17;
	font-size: .9rem;
	display: flex;
	align-items: center;
	gap: 6px;
}
.menu-note__icon {
	width: 1.15em;
	height: 1.15em;
	flex-shrink: 0;
}
.menu-note__text { margin: 0; padding-left: 20px; color: #a16207; }
.menu-note__discount { color: #dc2626; text-decoration: underline; }

/* ---------- モバイル ---------- */
@media (max-width: 575px) {
	.menu-wrap { padding: 24px 0 8px; }
	.menu-card__header {
		flex-wrap: wrap;  /* 入りきらない場合のみ折り返し */
		gap: 4px 8px;
		padding: 10px 16px;
	}
	.menu-card__body { padding: 4px 16px 12px; }
	.menu-row { padding: 10px 0; }
	.menu-row__price { font-size: 1.05rem; }
	.menu-head__title h2 { font-size: 1.25rem; }
}
