@charset "UTF-8";
/*
メニュー用
*/
/*
============================================== */
img {
  transition: .5s;
  height: auto;
  min-height: 0%;
}
a:hover img {
  opacity: .8;
}

/* メニュートップ */
@media (min-width: 768px){
  .menuSelectContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .menuSelect {
    width: 49%;
    margin-bottom: 4%;
  }
}
@media (max-width: 767px){
  .menuSelectContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .menuSelect {
    width: 49%;
    margin-bottom: 6%;
  }
}
.menuSelect_imgWrap {
  position: relative;
  display: block;
}
.menuSelect_badge {
  position: absolute;
  top: -5%;
  right: -5%;
  width: auto;
  height: 33.6%;
  max-height: 96px;
  object-fit: contain;
  pointer-events: none;
  transform: scale(1.2);
  transform-origin: top right;
}
@media (max-width: 767px) {
  .menuSelect_badge {
    height: 34%;
    max-height: 80px;
    top: -3%;
    right: -3%;
  }
}
.menuSelectTtl {
  font-size: 2rem;
  font-weight: 500;
  margin: 1.8% 0;
}
@media (max-width: 767px) {
  .menuSelectTtl {
    font-size: 1.7rem;
  }
}

/* サブカテゴリ見出し（メニュートップ） */
.menuSelectCategoryTtl {
  width: 100%;
  font-size: 3.6rem;
  font-weight: 700;
  margin: 2rem 0 2.5rem;
  padding-bottom: 0;
  border: none;
  text-align: center;
}
.menuSelectCategoryTtl:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .menuSelectCategoryTtl {
    font-size: 2.4rem;
    margin: 1.5rem 0 2rem;
  }
}

.pageLead {
  margin-top: -5rem;
  margin-bottom: 6%;
  padding-top: .5em;
  padding-bottom: .5em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 2.5rem;
  font-weight: 500;
}
@media (max-width: 767px){
  .pageLead {
    margin-top: -4%;
    font-size: 1.6rem;
  }
}
.course_note {
  max-width: 700px;
  margin: 0 auto 8rem;
  padding: 2%;
  border: 4px solid #cc3333;
  font-weight: 400;
  font-size: 1.5rem;
}
@media (max-width: 767px) {
  .course_note {
    padding: 4% 6%;
    font-size: 1.4rem;
    margin-bottom: 10%;
  }
}

/*メニュー
============================================== */
/*menu枠あり2カラム
-----------------------*/
.container2 {
  position: relative;
  width: 47%;
  max-width: 522px;
  margin-bottom: 10%;
  background-color: #fff;
  border: 1px solid #A5A5A5;
  box-sizing: border-box;
}
@media (max-width: 767px){
  .container2 {
    width:100%;
    margin: auto auto 13.5%;
  }
}

/* メニュー詳細(枠なし2カラム)
-----------------------*/
.container {
  width: 47%;
  margin-bottom: 6%;
}
@media (max-width: 767px){
  .container {
    width: 100%;
  }
}

/*単品一覧
----------------------------------*/
.container3 {
  width: 30%;
  max-width: 500px;
  margin-bottom: 4%;
}
@media (min-width: 560px) and (max-width: 979px) {
  .container3 {
    width: 48%;
  }
  .container3:nth-child(odd) {
    margin-right: 2%;
    margin-left: auto;
  }
  .container3:nth-child(even) {
    margin-right: auto;
    margin-left: 2%;
  }
}
@media (max-width: 559px){
  .container3 {
    width: 100%;
    margin: 0  auto 8%;
  }
}
.container3 > h2 {
  margin: .4em 0 .2em;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px){
  .container3 > h2 {
    font-size: 1.8rem;
  }
}

.has_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* メニュー説明 */
.item_description {
  padding: 2% 4% 3%;
  text-align: left;
}
.item_description .f-small {
  font-size: 1.6rem;
}
.item_ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: .3em;
}
.item_txt + .item_txt {
  margin-top: 1rem;
}
.item_txt + .item_ttl {
  margin-top: 1.2rem;
}
.item_note {
  font-size: 1.6rem;
}
@media (max-width: 767px){
  .item_description .f-small {
    font-size: 1.3rem;
  }
  .item_ttl {
    font-size: 1.7rem;
  }
  .item_note {
    font-size: 1.2rem;
  }
}

/* 価格 */
.item_price {
  position: relative;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: right;
}
.item_txt + .item_price {
  margin-top: .3em;
}
.item_price._add {
  margin-top: 0;
  font-size: 1.6rem;
}
.item_price .tax {
  margin-left: .2em;
  font-size: 1.6rem;
}
.item_price .cat {
  font-size: 2.5rem;
}
.item_price .num {
  position: absolute;
  top: 50%;
  right: 11em;
  transform: translateY(-40%);
  width: 5em;
  font-size: 1.8rem;
  text-align: center;
}
@media (max-width: 767px){
  .item_price {
    font-size: 2.2rem;
  }
  .item_price._add,
  .item_price .cat {
    font-size: 1.5rem;
  }
  .item_price .tax {
    font-size: 1.2rem;
  }
  .item_price .num {
    font-size: 1.4rem;
  }
}
.item_bar {
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(100% - 220px);
  background-color: #A33335;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  border-radius: 50px;
  transform: translateY(-45%);
  padding-bottom: .1em;
}
@media (min-width: 768px) and (max-width: 859px) {
  .item_bar {
    position: relative;
    width: 200px;
    transform: none;
  }
}
@media (max-width: 767px){
  .item_bar {
    width: calc(100% - 180px);
    max-width: 200px;
    font-size: 1.25rem;
  }
}
@media (max-width: 350px){
  .item_bar {
    position: relative;
    width: 120px;
    transform: none;
  }
}
.item_list {
  margin-top: 1.5rem;
  list-style-type: none;
}
.item_list li {
  padding-left: 1em;
  text-indent: -1em;
}
.item_list li::before {
  content: "●";
  margin-right: .4em;
  font-size: .8em;
  color: #A33335;
  list-style-type: none;
}
.item_list .small {
  font-size: 1.4rem;
}
@media (max-width: 767px){
  .item_list .small {
    font-size: 1.2rem;
  }
}

/* ドリンクメニュー用 */
.item_separate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;

  font-size: 2rem;
}
.item_separate > div {
  line-height: 1.2;
}
.item_separate > div:nth-child(1) {
  -ms-flex-preferred-size: calc(100% - 150px);
  flex-basis: calc(100% - 150px);
}
.item_separate > div:nth-child(2) {
  -ms-flex-preferred-size: 150px;
  flex-basis: 150px;
  text-align: right;
}
.item_separate:nth-child(n + 2) {
  margin-top: .5em;
}
.item_separate:last-child {
  margin-bottom: .5em;
}
.item_separate .tax {
  margin-left: .2em;
  font-size: 1.4rem;
}
.item_separate .small {
  font-size: 1.4rem;
}
@media (max-width: 767px){
  .item_separate > div:nth-child(1) {
    -ms-flex-preferred-size: calc(100% - 120px);
    flex-basis: calc(100% - 120px);
  }
  .item_separate > div:nth-child(2) {
    -ms-flex-preferred-size: 120px;
    flex-basis: 120px;
  }
  .item_separate {
    font-size: 1.6rem;
  }
  .item_separate .tax {
    font-size: 1rem;
  }
  .item_separate .small {
    font-size: 1rem;
  }
}

/* 単品メニュー お好み焼：上下に積んで価格ブロックを右寄せ、フル/ハーフの文字だけ小さく */
.item_separate--stack {
  flex-direction: column;
  align-items: flex-start;
}
.item_separate--stack > div:nth-child(1),
.item_separate--stack > div:nth-child(2) {
  flex: 0 0 auto !important;
  -ms-flex-preferred-size: auto !important;
  flex-basis: auto !important;
  max-width: none;
}
.item_separate--stack > div:nth-child(1) {
  align-self: flex-start;
}
.item_separate--stack > div:nth-child(2) {
  align-self: flex-end;
  text-align: right;
}
.item_price-stack {
  align-items: flex-end;
}
.item_price-stack .item_price-label {
  font-size: 0.85em;
}

.item_btn {
  margin: auto 4% 4%;
  padding-top: 2%;
}
.item_btn > .btn {
  width: 100%;
}
.item_btn-lunch-2{
  margin-bottom: 2%;
  padding-top: 2%;
  max-width: 522px;
  margin-inline: auto;
}
.item_btn-lunch-2 > .btn {
  width: min(450px , 100%);
}

/*ラベル
----------------------------------*/
.label{
  width: calc(10.7rem * 1.25);
  max-width: 133px;
  height: calc(10.7rem * 1.25);
  max-height: 133px;
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -5.3rem;
  left: -6%;
  z-index: 1;
  text-align: center;
}
.itemImage{
  position: relative;
}

@media (max-width: 1100px){
  .label{
    width: calc(9.5rem * 1.25);
    height: calc(9.5rem * 1.25);
    top: -4.6rem;
    left: -5.7%;
    font-size: 1.8rem;
  }
}
@media (max-width: 880px){
  .label{
    width: calc(8.5rem * 1.25);
    height: calc(8.5rem * 1.25);
  }
}
@media (max-width: 767px){
  .label{
    top: -4.2rem;
    left: -5%;
  }
}
@media (max-width: 500px){
  .label{
    width: calc(7rem * 1.25);
    height: calc(7rem * 1.25);
    font-size: 1.35rem;
    left: -3.5%;
    top: -3.5rem;
  }
}

/*各種コース
----------------------------------*/
@media (max-width: 767px) {
  .pageTitle {
    font-weight: 700;   
  }
}

.course {
  margin-bottom: 8rem;
}
@media (max-width: 767px){
  .course {
    margin-bottom: 10%;
  }
}
.course1 {
  background-color: #3AB34A;
}
.course2 {
  background-color: #231815;
  color:#fff;
}
.course3 {
  background-color: #E3010F;
  color: #fff;
}
.course2 .courseTxt,
.course2 .courseTxt .border {
  border-color: #fff;
}
.lunch {
  /* background-color: #968555; */
  background-color: #E95613;
  color: #fff;
}
.lunch-2{
  background-color: #381100;
  color: #fff;
}
.lunch .courseTxt.courseTxt-lunch-2 {
  border-top: none;
  padding: 0;

}
.lunch .courseTxt,
.lunch .courseTxt .border {
  border-color: #fff;
}
.lunch .item_description {
  color: #000;
}
.item_img-lunch-2{
  margin-top: -4.6%;
}
.party {
  background-color: #BFB597;
  background-size: cover;
}
.party__mv{
  margin-inline: auto;
}
.party__mv img {
  /* width: min(100%, 1280px); */
  width: min(100%, 750px);
}
.drink {
  background-color: #BFB597;
}
.drink .courseTxt,
.party .courseTxt {
  border-bottom: 1px solid #000;
}

@media (max-width: 767px){
  .drink .courseTxt {
    border-color: #fff;
  }
}
.courseBox {
  max-width: 1080px;
  margin: 0 auto;
  padding: 5rem 0;
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .courseBox {
    padding: 4rem 4%;
  }
}
@media (max-width: 767px){
  .courseBox {
    padding: 3rem 8%;
  }
}
.courseTtl {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 500;
}
.courseSubTtl {
  font-size: 2.4rem;
  font-weight: 700;
}
.courseTtl .main {
  font-size: 3.6rem;
  font-weight: 700;
}
.courseTtl .full {
  margin-left: .5rem;
  font-size: 3.6rem;
  font-weight: 700;
}
.courseTtl .price {
  font-size: 3.6rem;
  font-weight: 700;
}
.courseTtl .tax {
  font-size: 1.8rem;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .courseTtl .main {
    font-size: 2.8rem;
  }
}
@media (max-width: 767px){
  .courseTtl {
    margin-bottom: 3%;
    font-size: 1.6rem;
  }
  .courseSubTtl {
    font-size: 2rem;
    margin-bottom: 1.8rem;
  }
  .courseTtl .main {
    font-size: 3rem;
  }
  .courseTtl .main-lunch-2{
    font-size: 2rem;
    margin-bottom: 6%;
  }
  .courseTtl .full {
    margin-right: .5rem;
    margin-left: .5rem;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .courseTtl .price {
    margin-left: 0;
    font-size: 3.3rem;
    line-height: .7;
  }
  .courseTtl .tax {
    font-size: 1.25rem;
  }
}
.courseTxt {
  margin-bottom: 3rem;
  padding: 1.5rem 0;
  font-size: 2rem;
  font-weight: 500;
  border-top: 1px solid #000;
}

.courseTxt .free {
  margin-right: .5rem;
  font-size: 2rem;
  font-weight: 700;
}
.courseTxt .time {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
}
.courseTxt .order {
  margin-right: 1rem;
  font-size: 1.4rem;
}
.courseTxt .border {
  display: none;
}
@media (max-width: 767px){
  .courseTxt {
    margin-bottom: 6%;
    padding: 3% 0;
    font-size: 1.5rem;
  }
  .courseTxt .free {
    font-size: 1.6rem;
  }
  .courseTxt .time {
    font-size: 3.3rem;
    line-height: 1;
  }
  .courseTxt .order {
    margin-right: 0;
    font-size: 1.25rem;
  }
  .courseTxt .border {
    display: block;
    margin-top: 3%;
    padding-top: 3%;
    border-top: 1px solid #000;
  }
}
.courseTop,
.courseBub {
  position: relative;
  display: inline-block;
  width: 500px;
  padding: .2em;
  background-color: #fff;
  color: #000;
  border-radius: 50px;
  font-size: 2rem;
  font-weight: 500;
}
.courseTop {
  width: 47%;
  max-width: 240px;
  margin-bottom: 2rem;
}
.courseBub::before {
  content: "";
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translate(-50%);
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 20px solid #fff;
  border-left: 12px solid transparent;
}
@media (max-width: 767px){
  .courseTop,
  .courseBub {
    width: 250px;
    margin-top: 1rem;
    font-size: 1.6rem;
  }
  .courseBub::before {
    top: -34px;
  }
}
.courseImg {
  max-width: 370px;
  margin-right: auto;
  margin-left: auto;
}
.course_sm{
  max-width: 250px;
}
@media (max-width: 767px){
  .courseImg {
    max-width: 300px;
  }
  .course_sm{
    max-width: 200px;
  }
}

.courseIcon_box{
  margin: 0 auto 8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
}
@media (max-width: 767px){
  .courseIcon_box{
    margin-bottom: 10%;
    align-items: flex-start;
  }
}
.courseIcon_box > .courseIcon{
  position:relative;
  padding-left:5.5rem;
}
.courseIcon_box > .courseIcon::before{
  position:absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .courseIcon_box > .courseIcon{
    padding-left:4rem;
  }
}
@media (max-width: 360px){
  .courseIcon_box > .courseIcon::before{
    top: 25%;
  }
}
.courseIcon_box--l-space{
  letter-spacing: -.8rem;
  margin: 0 0.7rem 0 -.5rem;
}
.courseIcon::before{
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  background-size: contain;
  vertical-align: sub;
}
.courseIcon-large::before{
  width: 5rem;
  height: 5rem;
}
@media (max-width: 767px){
  .courseIcon::before{
    width: 2rem;
    height: 2rem;
  }
  .courseIcon-large::before{
    width: 3.5rem;
    height: 3.5rem;
  }
}

.courseIcon.recommend::before{
  background: url(../img/menu/icon_recommend.svg) no-repeat;
}
.courseIcon.yakiage::before{
  background: url(../img/menu/icon_yakiage.svg) no-repeat;
}
.courseIcon.pork::before{
  background: url(../img/menu/icon_pork.svg) no-repeat;
}
.courseIcon.kiwami::before{
  background: url(../img/menu/icon_kiwami.svg) no-repeat;
}

.icon--chili::after{
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../img/menu/icon_chili.webp) no-repeat center / contain;
}

/* 注意 */
.attention {
  margin-top: -2rem;
  margin-bottom: 6rem;
  list-style-type: none;
}
.attention_txt {
  padding-left: 1em;
  text-indent: -1em;
}
@media (max-width: 767px){
  .attention {
    margin-top: 0;
    margin-bottom: 6%;
  }
}
.footerInfo {
  position: relative;
}
.footerInfo .btnContainer {
  padding-top: 2rem;
}
.allergyInfo {
  text-align: right;
}
.allergyInfo a {
  color: #AC000C;
  font-weight: 500;
}
.allergyInfo a::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 10px 2px 0;
  border-top: 2px solid #AC000C;
  border-right: 2px solid #AC000C;
  transform: rotate(45deg);
}
@media (max-width: 767px){
  .allergyInfo a::before {
    width: 7px;
    height: 7px;
    margin: 0 8px 2px 0;
  }
}

/* お手軽ランチ */
.choiceWrapper {
  margin-bottom: 5rem;
  border: 1px solid #A5A5A5;
}

/* pc横並び、sp枠あり */
@media (min-width: 768px) {
  .choiceWrapper .container {
    width: 49%;
    margin-bottom: 4%;
  }
  .choiceWrapper .item_ttl {
    font-size: 2.2rem;
  }
  .choiceWrapper .item_description {
    padding: 3% 5% 0 1%;
  }
}
@media (max-width: 767px) {
  .choiceWrapper .container:nth-child(1) {
    margin-bottom: 0;
  }
}
.choice {
  padding: 3rem;
  color: #fff;
}
.choice._main {
  margin-bottom: 4%;
  background-color: #000;
}
.choice._dessert {
  background-color: #900;
}

@media (max-width: 767px) {
  .choice {
    padding: 6% 4%;
  }
  .choice._main {
    margin-bottom: 0;
  }
}
.choiceLead {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  color: #BFB597;
  text-align: center;
}
@media (max-width: 767px) {
  .choiceLead {
    margin-bottom: 1rem;
    font-size: 1.3rem;
  }
}
.choiceTtl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 500;
}
.choiceTtl .small {
  margin-left: .5em;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .choiceTtl.half {
    margin-top: 3rem;
    margin-bottom: 2.5rem;
  }
}
@media (max-width: 819px) {
  .choiceTtl .small {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.25rem;
  }
}
.choiceTtl::before,
.choiceTtl::after {
  content: "";
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 1px;
  background: #fff;
}
.choiceTtl::before {
  margin-right: 1em;
}
.choiceTtl::after {
  margin-left: 1em;
}
@media (max-width: 767px) {
  .choiceTtl {
    font-size: 1.6rem;
  }
}
.choiceContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 2rem;
}
.choice._main .choiceContainer{
  justify-content: space-between;
}
.choice._main .choiceItem {
  -ms-flex-preferred-size: calc(96% / 2);
  flex-basis: calc(96% / 2);
}
/* .choice._main .choiceItem:not(:nth-child(2n)){
  margin-right: 4%;
}
.choice._main .choiceItem:nth-child(n + 3){
  margin-top: 4%;
} */

.choice._main .container {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .choice._main .container {
    width: 49%;
   }
   .choice._main .choiceItem {
    -ms-flex-preferred-size: calc(96% / 3);
    flex-basis: calc(96% / 3);
  }
  .choice._dessert .choiceItem {
    -ms-flex-preferred-size: calc(94% / 4);
    flex-basis: calc(94% / 4);
  }
  .choice._dessert .choiceItem:not(:nth-child(4n)){
    margin-right: 2%;
  }
  .choice._dessert .choiceItem:nth-child(n + 5){
    margin-top: 2%;
  }
}
/*@media (min-width: 481px) and (max-width: 767px) {
  .choiceItem {
    -ms-flex-preferred-size: calc(94% / 3);
    flex-basis: calc(94% / 3);
  }
  .choiceItem:not(:nth-child(3n)){
    margin-right: 3%;
  }
  .choiceItem:nth-child(n + 4){
    margin-top: 3%;
  }
}
*/@media (max-width: 767px) {
  .choice._dessert .choiceItem {
    -ms-flex-preferred-size: calc(96% / 2);
    flex-basis: calc(96% / 2);
  }
  .choice._dessert .choiceItem:not(:nth-child(2n)){
    margin-right: 4%;
  }
  /* .choice._dessert .choiceItem:nth-child(n + 3){
    margin-top: 4%;
  } */
}
.choiceItemName {
  margin-top: .5em;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
}
.choiceItemName .small {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .choiceItemName {
    font-size: 1.1rem;
  }
  .choiceItemName .small {
    font-size: 1rem;
  }
}
