/* ------------------------------
   menu
---------------------------------*/
.menu {
  overflow: hidden;
  width: 100%;
}
/* intro */
.menu__intro {
  width: 75%;
  margin: min(6.07vw, 8.5rem) auto 0;
  font-size: min(1.28vw, 1.8rem);
  line-height: 2.39;
  display: flex;
  justify-content: center;
  text-align: center;
}
/* menu__content */
.menu__content {
  background-image: url(/wp-content/themes/osoujibro/imgs/1top/back_02.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: min(10vw, 14rem);
}
.menu__content--1 {
  margin-top: min(4.29vw, 6rem);
}
.menu__content--2 {
  margin-top: min(5.71vw, 8rem);
}
.menu__inner {
  width: 78.6%;
  margin: auto;
  max-width: calc(90rem + 14.3%);
}
.menu__content-tit {
  font-size: min(2.07vw, 2.9rem);
  line-height: 1.4;
  font-weight: bold;
  color: #fff;
  background-color: #fe9927;
  border-radius: 1.1rem;
  position: relative;
  padding: min(1vw, 1rem) 0;
  display: flex;
  justify-content: center;
}
.menu__content-tit_2 {
  font-size: min(2.07vw, 2.9rem);
  line-height: 1.4;
  font-weight: bold;
  color: #fff;
  background-color: #2ea7e0;
  border-radius: 1.1rem;
  position: relative;
  padding: min(1vw, 1rem) 0;
  display: flex;
  justify-content: center;
}
.menu__content-tit-pic {
  position: absolute;
  bottom: 0;
  left: 7%;
  width: min(17.5%, 15rem);
}
/* menu__list */
.menu__content-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.86vw, 4rem);
  margin-top: min(2.14vw, 3rem);
}
.menu__content-item {
  display: flex;
  flex-direction: column;
  gap: min(1vw, 1rem);
  width: calc(100% / 2 - min(1.43vw, 2rem));
}
.menu__item-pic {
  position: relative;
  overflow: hidden;
  flex: 1;
}
.menu__item-pic_2 {
  position: relative;
  overflow: hidden;
  flex: 1;
}
.menu__item-pic::before {
  content: "";
  display: block;
  padding-top: 70%;
}
.menu__item-img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  transition: 0.5s all;
}
.menu__item-img_2 {
  position: relative;
  width: 100%;
  max-height: 256px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  transition: 0.5s all;
}
.menu__item-info_1 {
  flex: 0.9;
  display: flex;
  flex-direction: column;
  gap: min(1vw, 1rem);
  margin: -1.0em 0px;
}
.menu__item-tit_1 {
  font-size: min(1.43vw, 2rem);
  line-height: 1.5;
  font-weight: bold;
  border-bottom: 1px solid #ed6c00;
  color: #ed6c00;
  background-color: #ffed61;
  padding: min(1vw, 1rem);
}
.menu__item-tit_1 span {
  font-size: 1.275rem;
  color: #000000;
}
.menu__item-text_1 {
  font-size: min(1.14vw, 1.6rem);
  line-height: 1.9;
}
.menu__item-price_1 {
  margin: auto 0 0 auto;
  font-size: min(2.5vw, 3.5rem);
  line-height: 1.46;
  color: #fe9927;
  font-weight: bold;
}
.menu__item-price_1 span {
  font-size: min(1.07vw, 1.5rem);
}
.f-tit {
  text-align: center;
  background-color: #2ea7e0;
  color: #ffffff;
  height: 40px;
  padding: min(1vw, 1rem);
  font-size: 1.275vw;
  font-weight: bold;
  font-size: min(1.43vw, 2rem);
}
.menu__item-info_2 {
  flex: 0.9;
  display: flex;
  flex-direction: column;
  gap: min(1vw, 1rem);
  margin: -1.0em 0px;
}
.menu__item-tit_2 {
  font-size: min(1.43vw, 2rem);
  line-height: 1.5;
  font-weight: bold;
  border-bottom: 1px solid #258ec6;
  color: #258ec6;
  background-color: #dfeaf8;
  padding: min(1vw, 1rem);
}
.menu__item-tit_2 span {
  font-size: 1.275rem;
  color: #000000;
}
.menu__item-text_2 {
  font-size: min(1.14vw, 1.6rem);
  line-height: 1.9;
}
.menu__item-price_2 {
  margin: auto 0 0 auto;
  font-size: min(2.5vw, 3.5rem);
  line-height: 1.46;
  color: #2ea7e0;
  font-weight: bold;
}
.menu__item-price_2 span {
  font-size: min(1.07vw, 1.5rem);
}
.menu__campaign {
  margin-top: min(4.29vw, 6rem);
}
.menu__campaign > a, .menu__campaign > picture {
  display: block;
}
.menu__campaign a:hover picture {
  opacity: 0.8;
  transition: 0.3s;
}
.menu__campaign > a:nth-child(2) {
  margin-top: min(1.43vw, 2rem);
}
.menu__campaign > a:nth-child(3) {
  margin-top: min(2.86vw, 4rem);
}
/*--------------------------------
    TB用
----------------------------------- */
@media all and (max-width: 960px) {
  /* -----------------------------
    menu 
  -------------------------------*/
  .menu__intro {
    width: 90%;
  }
  .menu__inner {
    width: 90%;
  }
}
/*--------------------------------
    SP用
----------------------------------- */
@media all and (max-width: 530px) {
  /* -----------------------------
    menu
  -------------------------------*/
  .menu__intro {
    margin-top: min(8vw, 3rem);
    font-size: min(4.27vw, 1.6rem);
    width: 100%;
    padding: 0 2.7%;
  }
  .menu__inner {
    width: 100%;
  }
  .menu__content {
    padding-top: min(14.67vw, 5.5rem);
  }
  .menu__content--1 {
    margin-top: min(10.67vw, 4rem);
  }
  .menu__content--2 {
    margin-top: min(16vw, 6rem);
  }
  .menu__content-list {
    gap: min(8vw, 3rem);
    margin-top: min(5.33vw, 2rem);
  }
  /* menu__list */
  .menu__content-tit {
    font-size: min(5.87vw, 2.2rem);
    padding: min(2.4vw, 0.9rem) 0;
  }
  .menu__content-tit_2 {
    font-size: min(5.87vw, 2.2rem);
    padding: min(2.4vw, 0.9rem) 0;
  }
  .menu__content-tit-pic {
    left: 2%;
    width: min(24.25%, 8.6rem);
  }
  .menu__content-item {
    gap: min(2.67vw, 1rem);
    width: 85%;
    margin: 0 auto;
  }
  .menu__content-item:last-child {
    display: none;
  }
  .f-tit {
    font-size: min(4.8vw, 1.8rem);
    padding-bottom: min(2.67vw, 1rem);
  }
  .menu__item-info_1 {
    gap: min(2.67vw, 1rem);
  }
  .menu__item-tit_1 {
    font-size: min(4.8vw, 1.8rem);
    padding-bottom: min(2.67vw, 1rem);
  }
  .menu__item-text_1 {
    font-size: min(3.73vw, 1.4rem);
  }
  .menu__item-price_1 {
    font-size: min(9.33vw, 3.5rem);
  }
  .menu__item-price_1 span {
    font-size: min(4vw, 1.5rem);
  }
  .menu__item-info_2 {
    gap: min(2.67vw, 1rem);
  }
  .menu__item-tit_2 {
    font-size: min(4.8vw, 1.8rem);
    padding-bottom: min(2.67vw, 1rem);
  }
  .menu__item-text_2 {
    font-size: min(3.73vw, 1.4rem);
  }
  .menu__item-price_2 {
    font-size: min(9.33vw, 3.5rem);
  }
  .menu__item-price_2 span {
    font-size: min(4vw, 1.5rem);
  }
  /* menu__campaign */
  .menu__campaign {
    margin-top: min(8vw, 3rem);
  }
  .menu__campaign > picture:nth-child(1) {
    margin: 0 auto;
    width: 85%;
  }
  .menu__campaign > a:nth-child(2) {
    margin-top: min(2.67vw, 1rem);
  }
  .menu__campaign > a:nth-child(3) {
    margin-top: min(2.67vw, 1rem);
  }
  /* contact_buner */
  .menu .contact_buner {
    margin: min(8vw, 3rem) auto 0;
  }
}