.price_section {
  width: 100%;
}

.price_title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  color: #333;
  font-size: 1.2rem;
}

.price-table td {
  padding: 6px;
  vertical-align: middle;
}

/* 左・中央・右の整列 */
.price-table .menu-name {
  text-align: left;
  white-space: nowrap;
}

.price-table .menu-time {
  text-align: left;
  white-space: nowrap;
}

.price-table .menu-price {
  text-align: center;
  white-space: nowrap;
}

/* 税込の部分は少しだけ抑えめ */
.price-table .tax {
  font-size: 0.85rem;
  opacity: 0.9;
}

.item-list {
  margin: 0;
  padding: 0;
  color: #333;
  font-size: 0.8rem;
}

.item-list dt {
  float: left;
  width: 3em; /* この幅で“：の左側”の揃えが決まる */
}

.item-list dd {
  margin-left: 3em; /* dt の幅と合わせる */
  margin-bottom: 0.3em;
  line-height: 1.2;
}

.accent {
  font-weight: bold;
}

/* PC：3列 */
.grid_price_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0;
}

/* 1280px以下：2列＋レディースデー中央寄せ */
@media (max-width: 1280px) {
  .grid_price_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }


}

/* 900px以下：2列のまま、レディースデー少し細く */
@media (max-width: 900px) {
  .grid_price_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid_price_wrapper .price:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 400px;
    margin: 0 auto;
  }
}

/* 768px以下：1列レイアウト */
@media screen and (max-width: 768px) {
  .grid_price_wrapper {
    grid-template-columns: 1fr;
  }

  .grid_price_wrapper .price:nth-child(3) {
    max-width: none;
    margin: 0;
  }

  .price-table {
    font-size: 1.2rem;
    width: 100%;
  }

  .price_section p {
    font-size: 0.8rem;
  }

  .item-list {
    font-size: 0.8rem;
  }
}