.title_yoto {
  font-size: 24px;
  color: #fff;
  background-color: #4f1b12;
  padding: 8px;
  margin-top: 10px;
}

.slider_mbq {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  position: relative; /* ページネーションの基準にするため */
}

.slide-number { display: none; }
.main-delivery-text { line-height: 1.6rem; }

/* --- 共通・フォント設定 --- */
.title_yoto {
  font-size: 24px;
  color: #fff;
  background-color: #4f1b12;
  padding: 8px;
  margin-top: 10px;
}

.slider_mbq {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  position: relative;
}

/* --- 1. Swiper本体：PC版の高さ --- */
.swiper {
  padding: 0;
  margin: 0;
  height: 340px; 
}

/* --- 2. スライドとドットの配置設定 --- */
.slider_mbq .swiper-wrapper {
  display: flex;
  align-items: stretch;
  /* スライドの下にドットが入り込むスペースを確保 */
  padding-bottom: 35px; 
  box-sizing: border-box;
}

.slider_mbq .swiper-pagination {
  bottom: 5px !important; /* 切れないように少し上に配置 */
}

.slider_mbq .swiper-slide {
  height: auto;
  display: flex;
  width: 100%;
  padding: 0 8px;
}

/* --- 3. コンテナ（色が入るエリア） --- */
.omakase-case {
  display: flex;
  flex: 1;
  align-items: center; 
  padding: 20px;
  gap: 20px;
  background-color: #fdfaf7;
  border: 1px solid #eee;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 8px;
}

/* --- 4. 画像エリア（PC） --- */
.omakase-images {
  flex: 0 0 45%;
  display: flex;
  gap: 10px;
}

.omakase-images a {
  flex: 1;
}

.omakase-images img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

/* --- 5. テキストエリア --- */
.omakase-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.omakase-info h3 {
  margin: 0 0 10px 0;
  font-size: 1.25rem;
  color: #333;
}

.omakase-info p {
  margin: 0 0 10px 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #555;
}

.omakase-meta {
  padding-top: 8px;
  border-top: 1px solid #ddd;
  font-size: 0.8rem;
}

/* --- スマホ用の調整（お気に入りいただいたスタイル） --- */
@media (max-width: 767px) {
  .swiper {
    /* フレーム(500px)内でドットが消えないように、高さを400pxに固定 */
    height: 400px !important;
    min-height: 0;
  }

  .slider_mbq .swiper-slide {
  height: auto;
  display: flex;
  width: 100%;
  padding: 0 8px;
}

  .omakase-case {
    flex-direction: column;
    padding: 10px;          /* 画像の角丸が見える程度の余白 */
    gap: 15px;              /* 画像とテキストの間の隙間 */
    background-color: #fdfaf7;
    border-radius: 10px;
  }

  /* 画像エリア：2枚を横並びにして隙間をあける */
  .omakase-images {
    width: 100%;
    flex: none;
    display: flex;
    gap: 10px;              /* 画像同士の隙間 */
  }

  .omakase-images a {
    flex: 1;
  }

  .omakase-images img {
    height: 160px;          /* 画像の高さ */
    border-radius: 8px;     /* 四隅を丸く */
    width: 100%;
    display: block;
  }

  /* テキストエリア */
  .omakase-info {
    width: 100%;
    flex: none;
    padding: 0 5px 5px 5px;
    box-sizing: border-box;
    justify-content: flex-start;
  }

  .omakase-info h3 {
    font-size: 1.1rem;
    margin-bottom: 8px;
  }

  .omakase-info p {
    font-size: 0.85rem;
    line-height: 1.4;
    margin-bottom: 8px;
    /* はみ出し防止（3行でカット） */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .omakase-meta {
    padding-top: 5px;
    font-size: 0.75rem;
  }
}