/* ========================================
   MENU ページ固有スタイル
   ======================================== */

:root {
  --color-badge-menu: #dcb9a0;
}

/* --- ヘッダー上書き --- */
.p-menu-header {
  padding-bottom: 25px;
}

/* --- メインエリア --- */
.p-menu {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 120px 20px 60px;
  min-height: 100vh;
  background-color: var(--color-white);
  overflow: hidden;
}

/* --- 背景画像 --- */
.p-menu__bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 500px;
  pointer-events: none;
  z-index: -1;
}

.p-menu__bg img {
  width: 100%;
  height: 100%;
  object-fit:cover;
}

/* --- ページタイトル --- */
.p-menu__heading {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 30px;
}

.p-menu__title {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-32);
  font-weight: 500;
  letter-spacing: 0.16rem;
  line-height: 1;
  text-align: center;
}

.p-menu__title-line img {
  display: block;
}

/* --- カード群 --- */
.p-menu__cards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}

/* --- カード共通 --- */
.p-menu__card {
  background-color: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--color-gold-2);
  border-radius: 8px;
  padding: 20px 16px;
}

.p-menu__card-title {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-20);
  font-weight: 500;
  letter-spacing: 0.1rem;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 25px;
}

.p-menu__card-desc {
  font-family: var(--font-sans-jp);
  font-size: var(--font-size-13);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 25px;
}

/* --- メニュー項目 --- */
.p-menu__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.p-menu__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.p-menu__item-label {
  display: flex;
  align-items: center;
  gap: 4px;
}

.p-menu__item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}

.p-menu__item-sub {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-12);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.p-menu__item-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 5px;
  background-color: var(--color-badge-menu);
  border-radius: 11px;
  color: var(--color-white);
  font-family: var(--font-serif-jp);
  font-size: 1.036rem;
  font-weight: 600;
  letter-spacing: 0.052rem;
  line-height: 1.2;
}

.p-menu__item-badge small {
  font-size: 0.863rem;
}

.p-menu__item-name {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-15);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.p-menu__item-price {
  display: flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}

.p-menu__item-yen {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-20);
  font-weight: 400;
  line-height: 1;
}

.p-menu__item-amount {
  font-family: var(--font-en-serif);
  font-size: var(--font-size-20);
  font-style: normal;
  line-height: 1;
}

.p-menu__item-tax {
  font-family: var(--font-serif-jp);
  font-size: var(--font-size-12);
  font-weight: 500;
  letter-spacing: 0.06rem;
  line-height: 1;
}

.p-menu__divider {
  border: none;
  border-top: 0.5px solid var(--color-gold-1);
}

/* --- HOME ボタン --- */
.p-menu__action {
  position: relative;
  z-index: 1;
  margin-top: 40px;
}
