@charset "utf-8";

/*--------------------
全ページ共通変更箇所
--------------------*/
:root {
  /* ベース背景色・文字色 */
  --BODY_BG_COLOR: #fff;/*背景色*/
  --BODY_TEXT_COLOR: #000;/*文字色*/

  /* ボタン背景色・文字色 */
  --BTN01_BG_COLOR: #b52b04;/*背景色*/
  --BTN01_TEXT_COLOR: #fff;/*文字色*/

  /* ヘッダー背景色・文字色 */
  --HEADER_BG_COLOR: #b52b04;/*背景色*/
  --HEADER_TEXT_COLOR: #fff;/*文字色*/

  /* フッターマップ　上下ボーダー色 */
  --FOOTER_MAP_BORDER_COLOR: rgba(181, 43, 4, .3);
}

/*--------------------
トップページ変更箇所
--------------------*/
:root {
  /* セクション共通 背景色02（「お品書き」「当店のこだわり」セクションの背景色） */
  --TOP_SEC_BG_COLOR02: #f7ede5;

  /* セクション共通 背景画像見出し文字色（「お品書き」「当店のこだわり」部分） */
  --TOP_SEC_HEADING_COLOR: #fff;/*文字色*/
  --TOP_SEC_HEADING_SHADOW_COLOR: #000;/*文字影色*/

  /* 本文見出し強調文字色 */
  --TOP_STRONG_HEADING_COLOR: #b52b04;

  /* MV 文字色 */
  --TOP_MV_TEXT_COLOR: #fff;/*文字色*/
  --TOP_MV_TEXT_SHADOW_COLOR: #000;/*文字影色*/

  /* メニュー（お品書き）セクション ボックス背景色・文字色 */
  --TOP_MENU_ITEM_BG_COLOR: #5c2819;/*背景色*/
  --TOP_MENU_ITEM_TEXT_COLOR: #fff;/*文字色*/

  /* 店舗情報セクション（「TEL」「営業時間」部分） 背景色・文字色 */
  --TOP_INFO_BG_COLOR: #b52b04;
  --TOP_INFO_TEXT_COLOR: #fff;
}

/*--------------------
メニュー、メニュー詳細ページ変更箇所
--------------------*/
:root {
  /* カテゴリーボタン 背景色・枠線色・文字色 */
  --MENU_CAT_BTN_BG_COLOR: #fff;
  --MENU_CAT_BTN_TEXT_COLOR: #b52b04;

  /* メニューリスト　タイトル背景色 */
  --MENU_LIST_TTL_BG_COLOR: #f7ede5;

  /* メニュー　値段文字色 */
  --MENU_PRICE_TEXT_COLOR: #b52b04;
}

/*--------------------
店舗情報ページ変更箇所
--------------------*/
:root {
  /* カレンダー ボタン（「today」「<」「>」部分）背景色・文字色 */
  --SHOP_CLNDR_BTN_BG_COLOR: #2C3E50;/*背景色*/
  --SHOP_CLNDR_BTN_TEXT_COLOR: #fff;/*文字色*/

  /* カレンダー 曜日 背景色・文字色 */
  --SHOP_CLNDR_WEEK_BG_COLOR: #e1b87f;/*背景色*/
  --SHOP_CLNDR_WEEK_TEXT_COLOR: #000;/*文字色*/

  /* カレンダー 枠線色 */
  --SHOP_CLNDR_BORDER_COLOR: #ddd;
}

/*--------------------
ご予約ページ変更箇所
--------------------*/
:root {
  /* フォーム 項目タイトル背景色・文字色 */
  --CONTACT_FORM_TBL_TTL_BG_COLOR: #f7ede5;/*背景色*/
  --CONTACT_FORM_TBL_TTL_TEXT_COLOR: #000;/*文字色*/

  /* フォーム 枠線色 */
  --CONTACT_FORM_TBL_BORDER_COLOR: #ded6d0;

  /* フォーム 「必須」背景色・文字色 */
  --CONTACT_FORM_HISSU_BG_COLOR: #931212;/*背景色*/
  --CONTACT_FORM_HISSU_TEXT_COLOR: #fff;/*文字色*/
}

/*--------------------
お知らせ一覧、ブログ一覧ページ変更箇所
--------------------*/
:root {
  /* ページネーション　背景色・文字色・枠線色 */
  --BLOG_PAGENATION_BG_COLOR: #fff;/*背景色*/
  --BLOG_PAGENATION_TEXT_COLOR: #000;/*文字色*/
  --BLOG_PAGENATION_BORDER_COLOR: #eecdc4;/*枠線色*/

  /* ページネーション　ホバー時 背景色・文字色・枠線色 */
  --BLOG_PAGENATION_HOVER_BG_COLOR: #f7ede5;/*背景色*/
  --BLOG_PAGENATION_HOVER_TEXT_COLOR: #000;/*文字色*/
  --BLOG_PAGENATION_HOVER_BORDER_COLOR: #eecdc4;/*枠線色*/
}


/*--------------------
common
--------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

body {
  font-family: 'Noto Sans JP', 'Noto Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.125;
  background: var(--BODY_BG_COLOR);
  color: var(--BODY_TEXT_COLOR);
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
  body.sp_gNav_open {
    overflow: hidden;
  }
}

img {
  width: 100%;
  height: auto;
}

a {
  transition: .2s;
}
a:hover {
  opacity: .8;
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }  
}

.main_content {
  margin-top: 86px;
  padding-top: 90px;
}
@media screen and (max-width: 767px) {
  .main_content {
    margin-top: 56px;
    padding-top: 44px;
  }
}

.inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: content-box;
}

.font__roboto {
  font-family: "Roboto", sans-serif;
}
.font__gothic {
  font-family: "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", YuGothic, "Yu Gothic Medium", "Yu Gothic",-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

.txt__red {
  color: #b52b04;
}

/*--- txt_caution ---*/
.txt_caution {
  font-size: 14px;
  line-height: 1.25;
  text-align: right;
}
.txt_caution:before {
  content: "※";
}
@media screen and (max-width: 767px) {
  .txt_caution {
    font-size: 12px;
    text-align: center;
  }  
}

/*--- ttl_01 ---*/
.ttl_01 {
  font-size: 60px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .ttl_01 {
    font-size: 34px;
    margin-bottom: 44px;
  }  
}

/*--- ttl_02 ---*/
.ttl_02 {
  color: var(--TOP_SEC_HEADING_COLOR);
  font-size: 60px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 4px var(--TOP_SEC_HEADING_SHADOW_COLOR);
}
.ttl_02__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 600px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .ttl_02 {
    font-size: 28px;
  }
  .ttl_02__wrap {
    height: 300px;
  }  
}

/*--- ttl_03 ---*/
.ttl_03 {
  font-size: 46px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 23px;
}
@media screen and (max-width: 767px) {
  .ttl_03 {
    font-size: 28px;
    line-height: 1.36;
    margin-bottom: 20px;
  }  
}

/*--- ttl_04 ---*/
.ttl_04 {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 30px;
  text-align: center;
}

/*--- btn_01 ---*/
.btn_01 {
  display: block;
  max-width: 100%;
  width: 310px;
  margin: 0 auto;
  padding: 15px 30px;
  border-radius: 5px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  position: relative;
  color: var(--BTN01_TEXT_COLOR);
  background: var(--BTN01_BG_COLOR);
}
.btn_01:hover {
  color: var(--BTN01_TEXT_COLOR);
}
.btn_01:not(.__submit):after,
.btn_01__submitWrap:after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--BTN01_TEXT_COLOR);
  border-right: 2px solid var(--BTN01_TEXT_COLOR);
  transform: rotate(45deg) translate(-50%,-50%);
  position: absolute;
  top: calc(50% + 3px);
  right: 13px;
  pointer-events: none;
}
.btn_01.__back:after {
  transform: rotate(-135deg) translate(50%,50%);
  right: unset;
  left: 13px;
}
.btn_01__wrap {
  display: flex;
  gap: 10px;
}
.btn_01__submitWrap {
  max-width: 100%;
  width: 310px;
  margin: 0 auto;
  position: relative;
  transition: .2s;
}
.btn_01__submitWrap:hover {
  opacity: .8;
}
.btn_01.__submit {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_01 {
    width: 225px;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 16px;
  }
  .btn_01:not(.__submit):after,
  .btn_01__submitWrap:after {
    width: 7px;
    height: 7px;
    border-top: 1px solid var(--BTN01_TEXT_COLOR);
    border-right: 1px solid var(--BTN01_TEXT_COLOR);
    top: calc(50% + 2px);
    right: 9px;
  }
  .btn_01.__back:after {
    right: unset;
    left: 9px;
  }  
  .btn_01__wrap {
    gap: 13px;
  }
  .btn_01__submitWrap {
    width: 225px;
  }
}

/*--- img_list__2clmn ---*/
.img_list__2clmn {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .img_list__2clmn {
    gap: 7px;
  }  
}


/*--------------------
header
--------------------*/
#header {
  background: var(--HEADER_BG_COLOR);
  padding: 27px 0;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
.header__cnt {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__logoImg {
  display: flex;
  align-items: center;
  width: 220px;
  height: 50px;
}
.header__logoImg img {
  object-fit: contain;
  object-position: left;
  width: 100%;
  height: 100%;
}
.header__logoTxt {
  display: block;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  color: var(--HEADER_TEXT_COLOR);
}
.header__logo a:hover .header__logoTxt {
  color: var(--HEADER_TEXT_COLOR);
}
.header__navList {
  display: flex;
  gap: 40px;
}
.header__navItem {
  font-size: 18px;
  line-height: 1;
  position: relative;
}
.header__navItem a,
.header__navItem a:hover {
  color: var(--HEADER_TEXT_COLOR);
}
.header__navItem.__current:after {
  content: "";
  display: block;
  border-top: 9px solid var(--HEADER_TEXT_COLOR);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
}
.header__humbrgr,
.header__navOverlay {
  display: none;
}
@media screen and (max-width: 900px) {
  .header__navList {
    gap: 20px;
  }  
}
@media screen and (max-width: 767px) {
  #header {
    width: 100%;
    padding: 7px 0;
  }
  #header .inner {
    padding: 0 13px;
  }
  .header__logoImg {
    width: 180px;
    height: 40px;
  }
  .header__logoTxt {
    font-size: 20px;
  }  
  .header__nav {
    background: var(--HEADER_BG_COLOR);
    width: 100%;
    max-height: calc(100vh - 56px);
    padding: 60px 13px;
    overflow-y: auto;
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateX(100%);
    transition: .3s;
  }
  body.sp_gNav_open .header__nav {
    transform: translateX(0);
  }
  .header__navList {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .header__navItem.__current:after {
    border-left: 9px solid var(--HEADER_TEXT_COLOR);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: none;
    top: calc(50% + 2px);
    left: calc(100% + 18px);
    transform: translateY(-50%);
  }
  .header__humbrgr {
    display: block;
    width: 54px;
    height: 42px;
    position: relative;
    border: 2px solid var(--HEADER_BG_COLOR);
    border-radius: 4px;
  }
  body.sp_gNav_open .header__humbrgr {
    border-color: var(--HEADER_TEXT_COLOR);
  }
  .header__humbrgr span {
    display: block;
    width: 55.5%;
    height: 2px;
    background: var(--HEADER_TEXT_COLOR);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .header__humbrgr span:nth-child(1) {
    top: 9px
  }
  .header__humbrgr span:nth-child(2) {
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .header__humbrgr span:nth-child(3) {
    bottom: 9px
  }
  .header__navOverlay {
    width: 100%;
    height: calc(100vh - 56px);
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
  }
}

/*--------------------
footer
--------------------*/
/*--- footer__info ---*/
.footer__info {
  background: var(--TOP_INFO_BG_COLOR);
  color: var(--TOP_INFO_TEXT_COLOR);
  padding: 70px 0 60px;
}
.footer__infoCnt {
  display: flex;
  justify-content: center;
  gap: 18.5%;
}
.footer__infoTtl {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 22px;
}
.footer__infoTxt {
  font-size: 18px;
  font-weight: normal;
  line-height: 1.78;
}
@media screen and (max-width: 767px) {
  .footer__info {
    padding: 60px 0 80px;
  }
  .footer__infoCnt {
    flex-direction: column;
    align-items: center;
    gap: 45px;
    text-align: center;
  }
  .footer__infoTtl {
    font-size: 16px;
    margin-bottom: 17px;
  }
  .footer__infoTxt {
    font-size: 14px;
  }  
}

/*--- footer__sns ---*/
.footer__sns {
  padding: 70px 0 76px;
}
.footer__snsTtl {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 45px;
}
.footer__snsList {
  display: flex;
  justify-content: center;
  gap: 45px;
}
.footer__snsList__item {
  width: 80px;
}
@media screen and (max-width: 767px) {
  .footer__sns {
    padding: 36px 0 46px;
  }
  .footer__snsTtl {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .footer__snsList {
    gap: 8.2%;
  }
  .footer__snsList__item {
    width: 48px;
  }  
}

/*--- footer__map ---*/
.footer__map {
  height: 752px;
}
.footer__map iframe {
  width: 100%;
  height: 100%;
  border-top: 1px solid var(--FOOTER_MAP_BORDER_COLOR)!important;
  border-bottom: 1px solid var(--FOOTER_MAP_BORDER_COLOR)!important;
}
@media screen and (max-width: 767px) {
  .footer__map {
    height: 442px;
  }  
}

/*--- footer__copyright ---*/
.footer__copyright {
  padding: 25px 0;
}
.footer__copyrightTxt {
  text-align: center;
  font-size: 12px;
  line-height: 1.25;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    padding: 20px 0;
  }
}

/*--------------------
トップページ index.html
--------------------*/
#top .main_content {
  padding: 0;
}
#top .top_sec_cnt {
  padding: 130px 0;
}
#top .section:nth-of-type(even) .top_sec_cnt {
  background: var(--TOP_SEC_BG_COLOR02);
}
#top .top_sec_txt:not(:last-child) {
  margin-bottom: 50px;
}
#top .top_sec_txtLead {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.85;
  color: var(--TOP_STRONG_HEADING_COLOR);
}
#top .top_sec_txtLead:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  #top .top_sec_cnt {
    padding: 50px 0 60px;
  }
  #top .top_sec_txt:not(:last-child) {
    margin-bottom: 40px;
  }
  #top .top_sec_txtLead {
    font-size: 18px;
  }
  #top .top_sec_txtLead:not(:last-child) {
    margin-bottom: 15px;
  }  
}

/*--- mv ---*/
#top #mv {
  background: url(../img/mv_top.jpg) no-repeat center/cover;
}
#top #mv .mv__ttlWrap {
  height: 870px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}
#top #mv .mv__ttl {
  font-size: 60px;
  font-weight: bold;
  line-height: 1.5;
  color: var(--TOP_MV_TEXT_COLOR);
  text-shadow: 0 0 5px var(--TOP_MV_TEXT_SHADOW_COLOR);
}
#top #mv .mv__ttlSub {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  color: var(--TOP_MV_TEXT_COLOR);
  text-shadow: 0 0 5px var(--TOP_MV_TEXT_SHADOW_COLOR);
}
@media screen and (max-width: 767px) {
  #top #mv {
    background: url(../img/mv_top_sp.jpg) no-repeat center/cover;
  }
  #top #mv .mv__ttlWrap {
    height: 540px;
    gap: 24px;
  }
  #top #mv .mv__ttl {
    font-size: 34px;
    text-shadow: 0 0 5px #000;
  }
  #top #mv .mv__ttlSub {
    font-size: 14px;
    text-shadow: 0 0 5px #000;
  }  
}

/*--- sec_intro ---*/
#top #sec_intro .sec_intro__cnt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top #sec_intro .sec_intro__cntLeft  {
  width: 49.5%;
}
#top #sec_intro .sec_intro__cntRight {
  width: 47.2%;
}
#top #sec_intro .sec_intro__txt {
  max-width: 420px;
}
#top #sec_intro .btn_01__wrap {
  max-width: 470px;
}
@media screen and (max-width: 767px) {
  #top #sec_intro .sec_intro__cnt {
    display: block;
  }
  #top #sec_intro .sec_intro__cntLeft  {
    width: 100%;
    margin-bottom: 60px;
  }
  #top #sec_intro .sec_intro__cntRight {
    width: 100%;
  }
  #top #sec_intro .btn_01__wrap {
    max-width: 100%;
  }  
}

/*--- sec_menu ---*/
#top #sec_menu .ttl_02__wrap {
  background-image: url(../img/bg_top_sec_menu_ttl.jpg);
}
#top #sec_menu .top_sec_cnt {
  padding: 80px 0 110px;
}
#top #sec_menu .sec_menu__list {
  display: flex;
  gap: 7px;
  margin-bottom: 15px;
}
#top #sec_menu .sec_menu__listItem {
  width: calc((100% - 7px * 3) / 4);
  color: var(--TOP_MENU_ITEM_TEXT_COLOR);
  background: var(--TOP_MENU_ITEM_BG_COLOR);
  padding: 8px;
  text-align: center;
}
#top #sec_menu .sec_menu__listTxtWrap {
  padding: 23px 0 16px;
}
#top #sec_menu .sec_menu__listTtl {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 15px;
}
#top #sec_menu .sec_menu__listPrice {
  font-size: 18px;
  line-height: 1.5;
  font-weight: normal;
}
#top #sec_menu .sec_menu__listPrice .txt__s {
  font-size: 14px;
}
#top #sec_menu .btn_01__wrap {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  #top #sec_menu .ttl_02__wrap {
    background-image: url(../img/bg_top_sec_menu_ttl_sp.jpg);
  }
  #top #sec_menu .top_sec_cnt {
    padding: 50px 0 100px;
  }
  #top #sec_menu .sec_menu__list {
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 12px;
  }
  #top #sec_menu .sec_menu__listItem {
    width: calc((100% - 5px) / 2);
    padding: 5px;
  }
  #top #sec_menu .sec_menu__listTxtWrap {
    padding: 14px 0;
  }
  #top #sec_menu .sec_menu__listTtl {
    font-size: 18px;
    margin-bottom: 7px;
  }
  #top #sec_menu .sec_menu__listPrice {
    font-size: 14px;
  }
  #top #sec_menu .sec_menu__listPrice .txt__s {
    font-size: 12px;
  }
}

/*--- sec_point01 ---*/
#top #sec_point01 .ttl_02__wrap {
  background-image: url(../img/bg_top_sec_point01_ttl.jpg);
}
#top #sec_point01 .top_sec_cnt {
  padding: 90px 0 100px;
}
#top #sec_point01 .sec_point01__cnt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top #sec_point01 .sec_point01__cntLeft {
  width: 50.9%;
}
#top #sec_point01 .sec_point01__cntRight {
  width: 37%;
}
#top #sec_point01 .sec_point01__txt {
  max-width: 390px;
}
@media screen and (max-width: 767px) {
  #top #sec_point01 .ttl_02__wrap {
    background-image: url(../img/bg_top_sec_point01_ttl_sp.jpg);
  }
  #top #sec_point01 .top_sec_cnt {
    padding: 50px 0 97px;
  }
  #top #sec_point01 .sec_point01__cnt {
    display: block;
  }
  #top #sec_point01 .sec_point01__cntLeft {
    width: 100%;
    margin-bottom: 40px;
  }
  #top #sec_point01 .sec_point01__cntRight {
    width: unset;
    max-width: 260px;
    margin: 0 auto;
  }
  #top #sec_point01 .sec_point01__txt {
    max-width: 390px;
  }  
}

/*--- sec_point02 ---*/
#top #sec_point02 .ttl_02__wrap {
  background-image: url(../img/bg_top_sec_point02_ttl.jpg);
}
#top #sec_point02 .sec_point02__cnt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top #sec_point02 .sec_point02__cntLeft  {
  width: 49.5%;
}
#top #sec_point02 .sec_point02__cntRight {
  width: 47.2%;
}
@media screen and (max-width: 767px) {
  #top #sec_point02 .ttl_02__wrap {
    background-image: url(../img/bg_top_sec_point02_ttl_sp.jpg);
  }
  #top #sec_point02 .top_sec_cnt {
    padding-bottom: 105px;
  }
  #top #sec_point02 .sec_point02__cnt {
    display: block;
  }
  #top #sec_point02 .sec_point02__cntLeft  {
    width: 100%;
    margin-bottom: 40px;
  }
  #top #sec_point02 .sec_point02__cntRight {
    width: 100%;
  }  
}

/*--------------------
メニューページ menu
--------------------*/
#menu .main_content {
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  #menu .main_content {
    padding-bottom: 60px;
  }  
}

/*--- menu_list__btnList ---*/
#menu .menu_list__btnList {
  display: flex;
  flex-wrap: wrap;
  justify-items: stretch;
  gap: 20px;
  margin-bottom: 80px;
}
#menu .menu_list__btnWrap {
  width: calc((100% - 20px * 4) / 5)
}
#menu .menu_list__btn {
  display: block;
  width: 100%;
  padding: 8px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  color: var(--MENU_CAT_BTN_TEXT_COLOR);
  border: 4px solid var(--MENU_CAT_BTN_TEXT_COLOR);
  background: var(--MENU_CAT_BTN_BG_COLOR);
  transition: .2s;
}
#menu .menu_list__btn.__active {
  color: var(--MENU_CAT_BTN_BG_COLOR);
  background: var(--MENU_CAT_BTN_TEXT_COLOR);
}
#menu .menu_list__btn:hover {
  opacity: .8;
}
@media screen and (max-width: 1127px) {
  #menu .menu_list__btnWrap {
    width: calc((100% - 20px * 3) / 4);
  }  
}
@media screen and (max-width: 908px) {
  #menu .menu_list__btnWrap {
    width: calc((100% - 20px * 2) / 3);
  }  
}
@media screen and (max-width: 767px) {
  #menu .menu_list__btnList {
    gap: 7px;
    margin-bottom: 34px;
  }
  #menu .menu_list__btnWrap {
    width: calc((100% - 7px) / 2);
  }
  #menu .menu_list__btn {
    padding: 7px;
    font-size: 14px;
  }
}

/*--- menu_list ---*/
#menu .menu_list__wrap {
  margin-bottom: 50px;
}
#menu .menu_list__item {
  margin-bottom: 20px;
}
#menu .menu_list__item a {
  display: flex;
  justify-content: space-between;
}
#menu .menu_list__itemLeft {
  width: 37%;
}
#menu .menu_list__itemRight {
  width: 58.2%;
  position: relative;
  padding-bottom: 135px;
}
#menu .menu_list__ttl {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.25;
  padding: 12px 25px;
  background: var(--MENU_LIST_TTL_BG_COLOR);
  margin-bottom: 15px;
}
#menu .menu_list__txt {
  padding: 0 30px;
}
#menu .menu_list__price {
  padding: 0 30px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  color: var(--MENU_PRICE_TEXT_COLOR);
  position: absolute;
  right: 0;
  bottom: 75px;
}
#menu .menu_list__price .txt__s {
  font-size: 16px;
  color: var(--BODY_TEXT_COLOR);
}
@media screen and (max-width: 767px) {
  #menu .menu_list__wrap {
    margin-bottom: 60px;
  }
  #menu .menu_list__item {
    margin-bottom: 40px;
  }
  #menu .menu_list__item a {
    display: block;
  }
  #menu .menu_list__itemLeft {
    width: 100%;
    margin-bottom: 17px;
  }
  #menu .menu_list__itemRight {
    width: 100%;
    padding-bottom: 65px;
  }
  #menu .menu_list__ttl {
    font-size: 22px;
    padding: 15px 17px;
    margin-bottom: 20px;
  }
  #menu .menu_list__txt {
    padding: 0 16px;
  }
  #menu .menu_list__price {
    padding: 0 16px;
    font-size: 28px;
    bottom: 0;
  }
  #menu .menu_list__price .txt__s {
    font-size: 14px;
  }  
}


/*--------------------
メニュー詳細ページ menu_detail
--------------------*/
#menu_detail .main_content {
  padding-bottom: 93px;
}
#menu_detail .main_content .inner {
  max-width: 700px;
}
#menu_detail .menu_detail__imgWrap {
  margin-bottom: 40px;
}
#menu_detail .menu_detail__ttl {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  margin-bottom: 20px;
}
#menu_detail .menu_detail__price {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: var(--MENU_PRICE_TEXT_COLOR);
  margin-bottom: 20px;
}
#menu_detail .menu_detail__price .txt__s {
  font-size: 16px;
  color: var(--BODY_TEXT_COLOR);
}
#menu_detail .menu_detail__txtWrap {
  max-width: 578px;
  margin: 0 auto 7px;
}
#menu_detail .menu_detail__txt:not(:last-child) {
  margin-bottom: 20px;
}
#menu_detail .main_content .txt_caution {
  max-width: 578px;
  margin: 0 auto;
}
#menu_detail .main_content .btn_01__wrap {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  #menu_detail .main_content {
    padding-bottom: 67px;
  }
  #menu_detail .main_content .inner {
    max-width: 100%;
  }
  #menu_detail .menu_detail__imgWrap {
    margin-bottom: 20px;
  }
  #menu_detail .menu_detail__ttl {
    font-size: 24px;
    text-align: left;
  }
  #menu_detail .menu_detail__price {
    font-size: 28px;
    margin-bottom: 25px;
    text-align: left;
  }
  #menu_detail .menu_detail__price .txt__s {
    font-size: 14px;
  }
  #menu_detail .menu_detail__txtWrap {
    max-width: 100%;
    margin-bottom: 12px;
  }
  #menu_detail .main_content .txt_caution {
    max-width: 100%;
    text-align: left;
  }
  #menu_detail .main_content .btn_01__wrap {
    margin-top: 40px;
  }  
}


/*--------------------
店舗情報ページ shop.html
--------------------*/
/*--- sec_info ---*/
#shop #sec_info {
  padding-bottom: 100px;
}
#shop #sec_info .sec_info__cnt {
  display: flex;
  justify-content: space-between;
}
#shop #sec_info .sec_info__cntLeft {
  width: 37%;
}
#shop #sec_info .sec_info__cntRight {
  width: 56.9%;
  padding-top: 25px;
}
#shop #sec_info .sec_info__dl {
  display: flex;
}
#shop #sec_info .sec_info__dl:not(:last-of-type) {
  margin-bottom: 15px;
}
#shop #sec_info .sec_info__dt {
  width: 145px;
  font-size: 16px;
  line-height: 1.55;
}
#shop #sec_info .sec_info__dd {
  width: calc(100% - 145px);
  font-size: 16px;
  line-height: 1.55;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  #shop #sec_info {
    padding-bottom: 85px;
  }
  #shop #sec_info .sec_info__cnt {
    display: block;
  }
  #shop #sec_info .sec_info__cntLeft {
    width: 100%;
  }
  #shop #sec_info .sec_info__cntRight {
    width: 100%;
    padding-top: 30px;
  }
  #shop #sec_info .sec_info__dl {
    display: block;
  }
  #shop #sec_info .sec_info__dl:not(:last-of-type) {
    margin-bottom: 20px;
  }
  #shop #sec_info .sec_info__dt {
    width: 100%;
  }
  #shop #sec_info .sec_info__dd {
    width: 100%;
  }  
}

/*--- sec_calendar ---*/
#shop #sec_calendar {
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  #shop #sec_calendar {
    padding-bottom: 140px;
  }  
}

/* カレンダー */
#shop #sec_calendar #source-calendar {
  max-width: 800px;
  margin: 0 auto;
}
#shop #sec_calendar .fc-toolbar.fc-header-toolbar {
  margin-bottom: 5px!important;
  padding: 5px;
}
#shop #sec_calendar th.fc-day-header.fc-widget-header {
  background: var(--SHOP_CLNDR_WEEK_BG_COLOR);
  color: var(--SHOP_CLNDR_WEEK_TEXT_COLOR);
  font-size: 18px;
  padding: 5px 0;
}
#shop #sec_calendar #source-calendar h2 {
  font-size: 30px;
}
#shop .fc-button-primary,
#shop .fc-button-primary:disabled {
  color: var(--SHOP_CLNDR_BTN_TEXT_COLOR);
  background-color: var(--SHOP_CLNDR_BTN_BG_COLOR);
  border-color: var(--SHOP_CLNDR_BTN_BG_COLOR);
}
#shop .fc-unthemed th,
#shop .fc-unthemed td,
#shop .fc-unthemed thead,
#shop .fc-unthemed tbody,
#shop .fc-unthemed .fc-divider,
#shop .fc-unthemed .fc-row,
#shop .fc-unthemed .fc-content,
#shop .fc-unthemed .fc-popover,
#shop .fc-unthemed .fc-list-view,
#shop .fc-unthemed .fc-list-heading td {
  border-color: var(--SHOP_CLNDR_BORDER_COLOR);
}
@media screen and (max-width: 767px) {
  #shop #sec_calendar #source-calendar h2 {
    font-size: 20px;
  }  
}

/*--------------------
ご予約ページ contact.html
--------------------*/
#contact .contact__ttl {
  font-size: 28px;
  font-weight: normal;
  line-height: 1.55;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #contact .contact__ttl {
    font-size: 22px;
    margin-bottom: 25px;
  }  
}

/*--- sec_tel ---*/
#contact #sec_tel {
  text-align: center;
  padding-bottom: 90px;
}
#contact #sec_tel .sec_tel__no {
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 30px;
  color: #b52b04;
  display: flex;
  justify-content: center;
  align-items: center;
}
#contact #sec_tel .sec_tel__no:before {
  content: "";
  display: block;
  width: 25px;
  height: 39px;
  background: url(../img/ico_tel_red.png) no-repeat center/contain;
  margin: 0 16px -6px 0;
}
#contact #sec_tel .sec_tel__time {
  font-size: 18px;
  font-weight: normal;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  #contact #sec_tel {
    padding-bottom: 65px;
  }
  #contact #sec_tel .sec_tel__no {
    font-size: min(10vw,40px);
    margin-bottom: 25px;
  }
  #contact #sec_tel .sec_tel__no:before {
    width: min(5.3vw,20px);
    height: min(8.5vw,32px);
    margin: 0 0 -6px 0;
    margin-right: min(3.2vw,12px);
  }
  #contact #sec_tel .sec_tel__time {
    font-size: 14px;
  }  
}

/*--- sec_form ---*/
#contact #sec_form {
  padding-bottom: 90px;
}
#contact #sec_form .contact__ttl {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #contact #sec_form {
    padding-bottom: 67px;
  }
  #contact #sec_form .contact__ttl {
    margin-bottom: 30px;
  }  
}

/* form */
#contact #sec_form .sec_form__formWrap {
  max-width: 867px;
  padding: 0 24px;
  margin: 0 auto;
}
#contact #sec_form .sec_form__txt__top {
  padding-left: 30px;
  margin-bottom: 5px;
}
#contact #sec_form dl {
  display: flex;
  border: 1px solid var(--CONTACT_FORM_TBL_BORDER_COLOR);
  border-bottom: none;
}
#contact #sec_form dl.last {
  border-bottom: 1px solid var(--CONTACT_FORM_TBL_BORDER_COLOR);
  margin-bottom: 15px;
}
#contact #sec_form dt {
  font-weight: bold;
  position: relative;
  vertical-align: middle;
  width: 320px;
  background: var(--CONTACT_FORM_TBL_TTL_BG_COLOR);
  color: var(--CONTACT_FORM_TBL_TTL_TEXT_COLOR);
  padding: 0 30px;
  display: flex;
  align-items:center;
}
#contact #sec_form dt label {
  width: 100%;
  display: flex;
  justify-content: space-between;
  line-height: 1em;
  align-items: center;
}
#contact #sec_form dd {
  padding: 30px 30px;
  align-items:center;
  width: calc(100% - 320px);
  background: #fff;
}
#contact #sec_form input[type="text"], #contact #sec_form input[type="date"] {
  height: 40px;
  font-size: 16px;
  padding: 0 16px;
  -webkit-appearance: none;
  border: 1px solid var(--CONTACT_FORM_TBL_BORDER_COLOR);
  margin-right: 10px;
}
#contact #sec_form select {
  height: 40px;
  font-size: 16px;
  padding: 0 16px;
  -webkit-appearance: none;
  border: 1px solid var(--CONTACT_FORM_TBL_BORDER_COLOR);
  margin-right: 10px;
  display: block;
  margin-top: 15px;
}
#contact #sec_form textarea {
  border: 0px;
  width: 100%;
  height: 150px;
  padding: 10px;
  border: 1px solid var(--CONTACT_FORM_TBL_BORDER_COLOR);
}
#contact #sec_form .hissu {
  font-size: 12px;
  font-weight: bold;
  background-color: var(--CONTACT_FORM_HISSU_BG_COLOR);
  color: var(--CONTACT_FORM_HISSU_TEXT_COLOR);
  padding: 4px 9px;
  position: relative;
  top: -1px;
}
#contact #sec_form input.medium {
  width: 60%;
}
#contact #sec_form input.short {
  width: 35%;
}
#contact #sec_form .sec_form__txt {
  font-size: 14px;
}
#contact #sec_form .btn_01__wrap {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  #contact #sec_form .sec_form__formWrap {
    max-width: 100%;
    padding: 0;
  }
  #contact #sec_form .sec_form__txt__top {
    text-align: center;
    padding: 0 24px;
    margin-bottom: 15px;
  }  
  #contact #sec_form dt {
    font-size: 14px;
    width: 128px;
    padding: 0 25px;
  }
  #contact #sec_form dt label {
    line-height: 1.4em;
    display: block;
  }
  #contact #sec_form dd {
    width: calc(100% - 128px );
    padding: 30px 15px;
  }
  #contact #sec_form textarea {
    height: 180px;
  }
  #contact #sec_form .label {
    display: block;
    margin-bottom: 5px;
  }
  #contact #sec_form .hissu {
    padding: 2px 5px;
    margin-left: 0px;
  }
  #contact #sec_form input.medium {
    width: 100%;
  }
  #contact #sec_form input.short {
    width: 75%;
  }
  #contact #sec_form .sec_form__txt {
    font-size: 12px;
    padding: 0 24px;
  }
  #contact #sec_form .btn_01__wrap {
    padding: 0 24px;
    margin-top: 45px;
  }  
}

/* 20250707追記 */
:root {
  /* ベース背景色・文字色 */
  --BODY_BG_COLOR: #fff;/*背景色*/
  --BODY_TEXT_COLOR: #000;/*文字色*/

  /* ボタン背景色・文字色 */
  --BTN01_BG_COLOR: #b52b04;/*背景色*/
  --BTN01_TEXT_COLOR: #fff;/*文字色*/

  /* ヘッダー背景色・文字色 */
  --HEADER_BG_COLOR: #001056;/*背景色*/
  --HEADER_TEXT_COLOR: #fff;/*文字色*/

  /* フッターマップ　上下ボーダー色 */
  --FOOTER_MAP_BORDER_COLOR: rgba(181, 43, 4, .3);
}

:root {
  /* セクション共通 背景色02（「お品書き」「当店のこだわり」セクションの背景色） */
  --TOP_SEC_BG_COLOR02: #f7ede5;

  /* セクション共通 背景画像見出し文字色（「お品書き」「当店のこだわり」部分） */
  --TOP_SEC_HEADING_COLOR: #fff;/*文字色*/
  --TOP_SEC_HEADING_SHADOW_COLOR: #000;/*文字影色*/

  /* 本文見出し強調文字色 */
  --TOP_STRONG_HEADING_COLOR: #b52b04;

  /* MV 文字色 */
  --TOP_MV_TEXT_COLOR: #fff;/*文字色*/
  --TOP_MV_TEXT_SHADOW_COLOR: #000;/*文字影色*/

  /* メニュー（お品書き）セクション ボックス背景色・文字色 */
  --TOP_MENU_ITEM_BG_COLOR: #5c2819;/*背景色*/
  --TOP_MENU_ITEM_TEXT_COLOR: #fff;/*文字色*/

  /* 店舗情報セクション（「TEL」「営業時間」部分） 背景色・文字色 */
  --TOP_INFO_BG_COLOR: #001056;
  --TOP_INFO_TEXT_COLOR: #fff;
}
/* 20250709追記 */
#top #sec_intro .sec_intro__cntLeft  {
  width: 100%;
}
#top #sec_intro .sec_intro__cntRight {
  width: 47.2%;
}
#top #sec_intro .sec_intro__txt {
  max-width: none;
}

