.title {
  background-image: url("../images/food/title.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.subtitle {
  width: 200px;
  margin: 0 auto; }
  .subtitle h3 {
    padding-bottom: 20px;
    border-bottom: solid #707070 2px; }

.flex {
  display: flex;
  justify-content: space-between;
  gap: 20px; }

.cutting {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto 100px; }
  .cutting p {
    margin-bottom: 70px; }
  .cutting .cutting__group {
    background-color: #F8F7F2;
    padding: 45px;
    box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.2);
    list-style: none;
    margin-bottom: 50px; }
    .cutting .cutting__group h4 {
      margin-bottom: 30px;
      font-size: 2.0rem;
      font-weight: 600; }
    .cutting .cutting__group p {
      text-align: left;
      margin-bottom: 40px; }
    .cutting .cutting__group img {
      width: 100%;
      max-width: none;
      display: block;
      margin: 24px 0; }

.preparation {
  padding-bottom: 100px; }
  .preparation p {
    margin-bottom: 70px;
    max-width: 1000px;
    width: 90%;
    margin: 0 auto 35px; }
  .preparation .flex {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    gap: 20px; }
  .preparation img {
    max-width: 480px;
    width: 100%; }

.menu-caption {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 32px 0 12px 0;
  color: #333;
  border-bottom: 2px solid #707070; /* 下線を追加 */
  display: inline-block;
  padding-bottom: 8px;              /* 下線との間隔を調整 */ }

.topping-box {
  border: 1px solid #bba86c;
  border-radius: 0;         /* ← ここを0に */
  padding: 24px 16px;
  margin: 32px 0;
  box-shadow: 0 2px 8px rgba(187,168,108,0.08); }
  .topping-box h5 {
    margin-top: 0;
    margin-bottom: 16px;
    font-size: 1.6rem;
    text-align: center; }
  .topping-box .flex {
    justify-content: center;
    gap: 24px; }

.order-tel {
  display: inline-block;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 24px auto;
  letter-spacing: 0.05em;
  background: #ffe9bb;
  color: #b48a00;
  padding: 12px 32px;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(187,168,108,0.08);
  border: 2px solid #bba86c; }

.shop-info-table {
  margin: 32px auto;
  border-collapse: collapse;
  min-width: 320px;
  max-width: 480px;
  width: 100%; }
.shop-info-table th,
.shop-info-table td {
  border: 1px solid #bba86c;
  padding: 10px 16px;
  text-align: left;
  font-size: 1.4rem;
  background: none; }
.shop-info-table th {
  width: 100px;
  font-weight: bold; }

@media (max-width: 850px) {
  .title {
    background-image: url("../images/food/title-sp.jpg"); }

  p {
    font-size: 1.4rem;
    text-align: left; }

  .flex {
    display: block; }

  .br {
    display: none; }

  .subtitle {
    width: 150px; }
    .subtitle h3 {
      padding-bottom: 5px; }

  .cutting .cutting__group {
    padding: 40px 20px;
    margin-bottom: 50px; }
    .cutting .cutting__group h4 {
      margin-bottom: 20px;
      font-size: 1.8rem; }
    .cutting .cutting__group p {
      text-align: left;
      margin-bottom: 30px; }
    .cutting .cutting__group img {
      max-width: 440px;
      width: 100%; } }
