/* CSS Document */

#menu .cts_area {
  line-height: 170%;
}

/* 料金表 **************************************************/
.price_list {
  margin-bottom: 64px;
}

#menu .tax {
  font-size: 0.9em;
  color: #933;
}

#menu .price_list h3 {
  border-bottom: 4px solid #933;
  text-align: left !important;
  margin: 12px 0 4px 0;
  padding: 0;
}

.price_list table {
  border-collapse: collapse;
  box-sizing: border-box; /* 余白やボーダーも含めた幅指定 */
  width: 100%;
  margin-bottom: 48px;
}

.price_list table th {
  box-sizing: border-box; /* 余白やボーダーも含めた幅指定 */
  width: 60%;
  border: 1px solid #ccc;
  background: #f0e5e1;
  padding: 2px 8px;
}
.price_list table td {
  box-sizing: border-box; /* 余白やボーダーも含めた幅指定 */
  width: 40%;
  border: 1px solid #ccc;
  padding: 2px 8px;
}
.price_list table td.menu {
  background: #f9f9f9;
}
.price_list table td.price {
  text-align: right;
}

/* メニュー紹介への誘導 ************************************/
.menu_item {
  margin-bottom: 48px;
}

/* 大メニュー */
#menu .menu_item h2 {
  display: block;
  text-align: left !important;
  margin: 12px 0 0 0;
  padding: 0;
}

.menu_img {
  width: 240px;
  margin: 32px auto;
}
.menu_img img {
  width: 240px;
  height: 240px;
}

/* メニュー紹介 ********************************************/
.mnu {
  margin-bottom: 64px;
}
/* 商品カテゴリ */
.mnu_ctg {
  display: inline;
  font-size: 0.8em;
  color: #fff;
  background: #d6bf8d;
  border-radius: 3px;
  padding: 4px 16px 2px 16px;
}

/* 商品名 */
#menu .mnu h2 {
  display: block;
  white-space: normal !important;
  text-align: left !important;
  margin: 12px 0 0 0;
  padding: 0;
}

.mnu_subname {
  font-size: 0.85em;
  margin-bottom: 24px;
}

.mnu h3 {
  font-size: 1em;
  margin: 0 0 8px 0;
}

.mnu h4 {
  font-size: 0.9em;
  background: #f0e5e1;
  padding: 2px 8px;
  margin: 0;
}

/* 商品イメージ */
.mnu_img {
  border-top: 2px solid #f0e5e1;
  border-bottom: 2px solid #f0e5e1;
  margin: 24px 0;
  text-align: center;
}
@media (min-width: 960px) {
  /* PC表示時は中央寄せ */
  .mnu_img img {
    max-width: 718px;
    margin: 0 auto;
  }
}

.hahoniko-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  padding: 2em 0;
}

.hahoniko-flexItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 375px;
}

.hahoniko-flexItem .image {
  max-width: 240px;
}

.hahoniko-flexItem .image img {
  width: 100%;
}

.hahoniko-flexItem h4 {
  text-align: center;
  background-color: transparent;
  font-size: 14px;
}

.hahoniko-flexItem p {
  max-width: 240px;
  font-size: 12px;
  color: #797979;
  line-height: 170%;
  margin: 0;
}

.hahoniko h3 {
  font-size: 1.17em !important;
  border-bottom: 4px solid #933;
  text-align: left !important;
  margin: 12px 0 4px 0;
  padding: 0;
  color: #c4a560;
}

.hahoniko-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  padding: 2em 0;
}

.hahoniko-gallery figure {
  margin: 0;
}
.hahoniko-gallery figure figcaption {
  text-align: center;
  font-weight: 700;
}
.hahoniko-galleryItem {
  max-width: 350px;
}

.hahoniko-galleryItem-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

.p-in-image img {
  width: 100%;
}

/* 写真 */
@media (max-width: 959px) {
  /* スマホ */
  .mnu_photo {
    width: 240px;
    margin: 32px auto;
  }
  .mnu_photo img.sq {
    width: 240px;
    height: 240px;
  }
  .img_l,
  .img_r {
    max-width: 360px;
    margin: 0 auto 32px auto;
    text-align: center;
  }
}
@media (min-width: 960px) {
  /* PC表示時は少し大きく */
  .mnu_photo {
    width: 340px;
    margin: 32px auto;
  }
  .mnu_photo img.sq {
    width: 340px;
    height: 340px;
  }
  .img_l {
    float: left;
    width: 360px;
    margin-bottom: 32px;
    border: 4px solid #e6e6e6;
    border-radius: 2px;
  }
  .img_r {
    float: right;
    width: 360px;
    margin-bottom: 32px;
    border: 4px solid #e6e6e6;
    border-radius: 2px;
  }
}

/* カード */
#card,
#fig_mid_acid {
  text-align: center;
  font-size: 0.9em;
  margin-bottom: 40px;
}
@media (max-width: 959px) {
  /* スマホ */
  #card img,
  #fig_mid_acid img {
    width: 300px;
    height: 44px;
  }
}
@media (min-width: 960px) {
  /* PC */
  #card img,
  #fig_mid_acid img {
    width: 600px;
    height: 88px;
  }
}

/* 卒業式 **********************************************/
.fig_grad {
  text-align: center;
  margin: 0 auto;
  max-width: 400px;
}

.fig240 {
  max-width: 240px;
}
.fig300 {
  max-width: 300px;
}
.fig400 {
  max-width: 400px;
}

.fig_grad img {
  border-radius: 4px;
}
