@charset "utf-8";
/* =================================
cafemenu
================================== */

.section--cafemenu{
  margin-bottom: 15rem;
}

.topic--cafemenu{
  margin-top: 5rem; 
}

/* =================================
oshokuzimenu
dessert
drink
================================== */
.oshokuzimenu__content,
.dessert__content,
.drink__content{
  margin-top: 5rem;
}
.section h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  gap: 1rem;   
}

.section h3 img {
  display: inline-block;
  vertical-align: middle;  /* 文字との高さを揃える */
}

.oshokuzi_box,
.dessert_box,
.drink_box{
  padding-left: 12.67%;
  padding-right: 12.67%;
}

.oshokuzi__item,
.dessert__item,
.drink__item {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 4rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  overflow: hidden;
  text-align: center;
  box-sizing: border-box;
}

.oshokuzi_img img,
.dessert_img img,
.drink_img img {
  margin: 0 auto;
  height: auto;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.oshokuzi__menu li,
.dessert__menu li,
.drink__menu li{
  margin-top: 5rem;
}

.oshokuzi__text,
.dessert__text,
.drink__text{
  display: flex;
  justify-content: space-evenly;
  align-items: center; /* 縦方向の中央揃え */
  width: 100%;
  margin: 0.5rem auto 0; /* 全体を中央寄せ */
  text-align: center;
  background-color: #f5f5f5;
  box-sizing: border-box;
  padding: 1.5rem 1rem;
}

.oshokuzi_title,
.dessert_title {
  font-size: 1.6rem;
}

.menu-letterS{
  font-size: 1.4rem;
}

.oshokuzi_price,
.dessert_price {
  font-size: 1.6rem;
}

.oshokuzi__bubble {
  display: block;      /* 画像をブロック要素に */
  margin-left: auto;   /* 左余白を自動で広げ、右寄せに */
  margin-right: 0;     /* 念のため右は0 */
  max-width: 50%;      /* 必要に応じてサイズ調整 */
  height: auto;
}

.dessert_img--parfait {
  position: relative;
}

.dessert_img--parfait .dessert__caption {
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.2rem 0.5rem;
  font-size: 1.2rem;
  color: #333;
  border-radius: 4px;
}

/* pc */
@media (min-width: 1024px) {
    .oshokuzimenu__content,
    .dessert__content,
    .drink__content{
      margin-bottom: 10rem;

    }
  
    .oshokuzi_box {
      display: flex;
      flex-direction: column;
      padding-left: 1%;
      padding-right: 1%;
    }

    /* 各段 */
    .oshokuzi__menu {
      display: flex;
      justify-content: center;
      gap: 3rem;
      list-style: none;
    }

    /* カード全体 */
    .oshokuzi__item {
      background-color: #fff;
      border-radius: 0.5rem;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
      overflow: hidden;
      width: 42%;
      max-width: 420px;
      text-align: center;
      position: relative;
      transition: transform 0.3s ease;
    }

    .oshokuzi__item:hover {
      transform: translateY(-4px);
    }

    /* 吹き出し位置調整 */
    .oshokuzi__bubble {
      position: absolute;
      top: 0;
      right: -1px;
      width: 128px;
      display: block;
    }

    /* 画像 */
    .oshokuzi_img img {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: block;
    }

    /* テキスト部分 */
    .oshokuzi__text {
      background-color: #f5f5f5;
      padding: 2rem 1rem;
    }

    .oshokuzi_title,
    .dessert_title,
    .drink_title {
      font-size: 2rem;
      font-weight: 600;
    }

    .oshokuzi_price,
    .dessert_price,
    .drink_price {
      font-size: 2rem;
      color: #5A4739;
    }

    .menu-letterS {
      font-size: 1.6rem;
      color: #5A4739;
    }

    /* 段の余白 */
    .oshokuzi__menu.lower {
      margin-top: 1rem;
    }

  /* デザートリスト全体 */
  .dessert_box{
    padding-left: 1%;
    padding-right: 1%;
  }
  .dessert__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    padding: 0;
    list-style: none;
  }

  /* 各カード */
  .dessert__item {
    background-color: #fdfbf7; /* ナチュラルな生成り色 */
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    flex: 1 1 calc(33.333% - 2rem);
    max-width: 320px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .dessert__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  }

  /* 画像部分 */
  .dessert_img picture,
  .dessert_img img {
    width: 100%;
    height: auto;
    display: block;
    border-bottom: 1px solid #eee;
  }

  /* テキスト部分 */
  .dessert__text {
    text-align: center;
  }
  
  .dessert_img--parfait .dessert__caption {
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.2rem 0.5rem;
  font-size: 1.2rem;
  color: #333;
  border-radius: 4px;
  }

  /* リスト全体 */
  .drink__menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  /* 各ドリンクカード */
  .drink__item {
    background-color: #f5f5f5; /* ナチュラルな生成り色 */
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    flex: 1 1 calc(25% - 2rem); /* 今後アイテムが増えても対応 */
    max-width: 320px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .drink__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  }

  /* 画像部分 */
  .drink_img picture,
  .drink_img img {
    width: 100%;
    height: auto;
    display: block;
    border-bottom: 1px solid #eee;
  }
}
/* 1024px */

/* 768px〜1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .dessert_img--parfait .dessert__caption {
    position: absolute;
    bottom: 0.5rem;
    right: 8rem;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0.2rem 0.5rem;
    font-size: 1.2rem;
    color: #333;
    border-radius: 4px;
}

  /* デザートカード全体 */
  .dessert__item,
  .drink__item {
    width: 90%;
    max-width: 600px;
    margin: 0 auto 4rem;
    background-color: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
  }

  /* 画像部分 */
  .dessert_img img,
  .drink_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }

  /* テキスト部分（背景と幅の統一） */
  .dessert__text,
  .drink__text {
    width: 100%;
    background-color: #f5f5f5;
    padding: 1.5rem;
    text-align: center;
    box-sizing: border-box;
  }

  /* タイトル文字 */
  .dessert_title,
  .drink_title {
    font-size: 1.8rem;
    font-weight: 600;
    color: #333;
  }

  /* 短文など小さい文字 */
  .menu-letterS {
    font-size: 1.4rem;
    color: #5A4739;
  }
}
/* 768px〜1023px */
