@charset "utf-8";

/*------------------  top.css  ------------------*/


/*------------  slider  ------------*/
.slider { margin: 0 auto 70px; background: #f6e3b1; }
.slider .pc { display: block; }
.slider .sp { display: none; }
.slider a:hover { opacity: 1; }
.slick-loading .slick-list {}
/* Arrows */
.prev-arrow { position: absolute; top: 50%; left: 2%; transform: translateY(-50%); width: 60px; height: 60px; opacity: 1; transition: all .3s; cursor: pointer; z-index: 2; }
.next-arrow { position: absolute; top: 50%; right: 2%; transform: translateY(-50%); width: 60px; height: 60px; opacity: 1; transition: all .3s; cursor: pointer; z-index: 2; }
.prev-arrow:hover, .prev-arrow:focus,.next-arrow:hover, .next-arrow:focus { opacity: .5; }
/* Dots */
.slick-dots { position: absolute; bottom: 20px; display: block; width: 100%; padding: 0; margin: 0; text-align: center; }
.slick-dots li { position: relative; display: inline-block; margin: 0 7px; padding: 0; width: 10px; height: 10px; cursor: pointer; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 10px; height: 10px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover,
.slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: .4; }
.slick-dots li button:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 10px; height: 10px; opacity: .6; background: #23211f; border-radius: 50%; }
.slick-dots li.slick-active button:before { opacity: 1; background: #e6002d; }


/*------------  nav  ------------*/
#nav { margin: 0 auto 70px; }
#nav .nav_inner { display: flex; justify-content: center; align-items: center; padding: 11px 0; background: #fff; }
#nav .nav_inner .nav { position: relative; flex-basis: 16%; }
#nav .nav_inner .nav::after { content: ''; position: absolute; top: 50%; right: 0; width: 1px; height: 90%; background: #cfcac5; transform: translate(0,-50%) rotate(18deg); }
#nav .nav_inner .nav:last-child::after { display: none; }
#nav .nav_inner .nav a { display: block; height: 80px; text-indent: -9999px; overflow: hidden; }
#nav .nav_inner .nav01 a { background: url('/images/nav01.png') no-repeat center; background-size: 80px 80px; }
#nav .nav_inner .nav02 a { background: url('/images/nav02.png') no-repeat center; background-size: 80px 80px; }
#nav .nav_inner .nav03 a { background: url('/images/nav03.png') no-repeat center; background-size: 80px 80px; }
#nav .nav_inner .nav04 a { background: url('/images/nav04.png') no-repeat center; background-size: 80px 80px; }
#nav .nav_inner .nav05 a { background: url('/images/nav05.png') no-repeat center; background-size: 80px 80px; }
#nav .nav_inner .logo { 
/*
flex-basis: 22%;
*/
    flex-basis: 20%;
}
#nav .nav_inner .logo h1 { margin: 0 auto; max-width: 108px; }
#nav .nav_inner .nav05 a {
    background: url('/images/nav05.png') no-repeat center;
        background-size: auto;
    background-size: 80px 80px;
}

/*------------  important  ------------*/
#important { display: flex; align-items: center; box-sizing: border-box; margin: 0 auto 40px; max-width: 1040px; padding: 20px 3.2%; background: #fff; border: 1px solid #e6002d; }
#important .title { padding-right: 3.2%; font-size: 1.6rem; color: #e6002d; white-space: nowrap; }
#important .post { line-height: 1.8; }
#important .post a { color: #e6002d; text-decoration: underline; }

/*------------  banner  ------------*/
#banner { margin: 0 auto 40px; max-width: 800px;}
#banner .delivery { display: flex; justify-content: space-between;}
#banner .delivery .btn { width: calc(100% / 2 - 20px); }

/*------------  delivery  ------------*/
#delivery { margin: 0 auto 60px; max-width: 1040px; }
#delivery .delivery_inner { display: block; background: #fff; font-size: 16px; padding: 15px;}
#delivery .title { font-size: 150%; display: block; text-align: center; margin: 10px auto;}
#delivery .delivery_block { padding: 5px; line-height: 1.5em;}
#delivery .delivery_block a { color: #331a0c; text-decoration: underline; }
#delivery .delivery_block .post { display: flex; padding: 7px 0; line-height: 1.5; }
#delivery .delivery_block .date { width: 8em; }
#delivery .delivery_block .item { width: auto; }

@media screen and (max-width: 768px) {
  #delivery .delivery_block a { display: inline-block; padding: 1rem; }
}


/*------------  news  ------------*/
#news { margin: 0 auto 60px; max-width: 1040px; }
#news .news_inner { display: flex; background: #fff; }
#news .title { margin: 0 4% 1.5% 3%; width: 112px; }
#news .news_block { padding: 20px 5% 20px 0;}
#news .news_scrll {
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100%;
    height: 300px;
}
#news .news_block a { color: #331a0c; text-decoration: underline; }
#news .news_block .post { display: flex; padding: 7px 0; line-height: 1.5; }
#news .news_block .date { width: 8em; }
#news .news_block .item { width: auto; }

#news .to_news { display: flex; justify-content: center; margin: 0 3%; padding: 40px 0; }
#news .to_news .btn { display: flex; justify-content: center; align-items: center; width: 280px; height: 48px; background: #23211f; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-weight: 500; color: #fff; border-radius: 24px; }
#news .to_news .btn .label { position: relative; display: inline-block; padding: 0 1px 0 20px; }
#news .to_news .btn .label:after { content:""; position: absolute; top: 50%; left: 0; transform: translate(0,-50%); width: 14px; height: 14px; background: url('/images/icon_to.png') no-repeat; background-size: contain; }


/*------------  visual_nav  ------------*/
#visual_nav { margin-bottom: 60px }
#visual_nav .visual_nav_inner { margin: 0 8.1%;}
#visual_nav .visual_nav_block { display: flex; flex-wrap: wrap; justify-content: space-around; }
#visual_nav .visual_nav_block .box { margin: 0 0 20px; padding: 8px; height: 510px; width: 510px; overflow: hidden; }
#visual_nav .visual_nav_block .box_inner { height: 100%; }
#visual_nav .visual_nav_block .nav01 { background: #fff; }
#visual_nav .visual_nav_block .nav02 { background: #fff; }
#visual_nav .visual_nav_block .nav03 { background: #fff; }
#visual_nav .visual_nav_block .nav04 { background: #fff; }
#visual_nav .visual_nav_block .nav01 .box_inner { background: url('/images/concept_title_bg.jpg') no-repeat top #fff; background-size: auto 100%; background-position: left -320px center; }
#visual_nav .visual_nav_block .nav02 .box_inner { background: url('/images/menu_title_bg.jpg') no-repeat top #fff; background-size: auto 100%; background-position: left -8px center; }
#visual_nav .visual_nav_block .nav03 .box_inner { background: url('/images/shop_title_bg.jpg') no-repeat top #fff; background-size: auto 115%; background-position: right -100px top; }
#visual_nav .visual_nav_block .nav04 .box_inner { background: url('/images/takeout_title_bg.jpg') no-repeat top #fff; background-size: auto 100%; }
#visual_nav .visual_nav_block .ttl { margin: 0 auto; width: 208px; }
#visual_nav .visual_nav_block .nav04 .ttl { margin: 0 auto; width: 294px; }
#visual_nav .visual_nav_block .txt { font-size: 1.4rem; line-height: 1.6; }


/*------------  concept  ------------*/
#concept { margin-bottom: 60px; padding: 8px; background: #fff; }
#concept .title_block { height: 460px; background: url('/images/concept_title_bg.jpg') no-repeat center; background-size: cover; }
#concept .title_block .title { margin: 0 auto; width: 208px; }
#concept .concept_inner { padding: 0 6% 60px; background: url('/images/concept_decoration.png') no-repeat top #fff6d8; background-size: contain; }
#concept .lead_block { padding: 40px 0; }
#concept .lead_block .lead { font-family: 'Noto Sans JP', sans-serif; font-size: 1.8rem; font-weight: 700; line-height: 2.0; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; letter-spacing: .06em; text-align: center; }
#concept .concept_block { display: flex; justify-content: center; }
#concept .concept_block .box { margin: 0 1.5%; padding: 70px 4% 45px; width: 400px; border-radius: 200px 200px 0 0 / 200px 200px 0 0; overflow: hidden; }
#concept .concept_block .point01 { background: url('/images/concept_point01_bg.png') no-repeat top #fff; background-size: contain; }
#concept .concept_block .point02 { background: url('/images/concept_point02_bg.png') no-repeat top #fff; background-size: contain; }
#concept .concept_block .point03 { background: url('/images/concept_point03_bg.png') no-repeat top #fff; background-size: contain; }
#concept .concept_block .point { margin: 0 auto; width: 50px; }
#concept .concept_block .ttl { padding: 25px 0; font-family: 'Noto Sans JP', sans-serif; font-size: 2rem; font-weight: 700; line-height: 1.4; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; letter-spacing: .05em; text-align: center; }
#concept .concept_block .txt { font-size: 1.4rem; line-height: 1.6; }


/*------------  menu  ------------*/
#menu { margin-bottom: 60px; padding: 8px; background: #fff; }
#menu .title_block { height: 460px; background: url('/images/menu_title_bg.jpg') no-repeat center; background-size: cover; }
#menu .title_block .title { margin: 0 auto; width: 208px; }
#menu .menu_inner { padding: 0 0 10px; background: #fff6d8; }

#menu .tab_block {}
#menu .tab_block .tab_btn { display: flex; justify-content :center; flex-wrap: wrap; padding: 8px 6%; background: #23211f; z-index: 10; }
#menu .tab_block .tab_btn.fixed {}
#menu .tab_block .tab_btn.fixed ~ .tab_btn_instead { height: 0; }
#menu .tab_block .tab_btn .btn { display: flex; justify-content: center; align-items: center; position: relative; padding: 0 5%; height: 58px; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-weight: 700; line-height: 1.3; color: #fff; text-align: center; white-space: nowrap; cursor: pointer; transition: all .3s; }
#menu .tab_block .tab_btn .btn::after { content: ''; position: absolute; top: 50%; right: 0; width: 1px; height: 80%; background: #575451; transform: translate(0,-50%) rotate(18deg); }
#menu .tab_block .tab_btn .btn:last-child::after { display: none; }
#menu .tab_block .tab_btn .btn:hover { color: #27eade; }
#menu .tab_block .tab_btn .btn.select { color: #27eade; }
/*#menu #tab02 { display:none; }
#menu #tab03 { display:none; }
#menu #tab04 { display:none; }
#menu #tab05 { display:none; }
#menu #tab06 { display:none; }
#menu #tab07 { display:none; }
#menu #tab08 { display:none; }
#menu #tab09 { display:none; }
#menu #tab10 { display:none; }
#menu #tab11 { display:none; }*/
#menu .tab_block .tab_btn .btn a:link, #menu .tab_block .tab_btn .btn a:visited { color: #fff; }
#menu .tab_block .tab_btn .btn:hover a { color: #27eade; }
#menu .tab_block .tab_btn .btn.select a { color: #27eade; }

#menu .tab_contents { padding: 32px 3% 40px; background: url('/images/menu_decoration.png') no-repeat top #fff6d8; background-size: contain; }
#menu .tab_contents .tab_title_block { padding: 0 0 32px; border-bottom: 1px solid #23211f; }
#menu .tab_contents .tab_title { margin: 0 auto; width: 320px; }
#menu .tab_contents .note { padding: 28px .5% 0; font-size: 1.4rem; line-height: 1.5; }
#menu .tab_contents .note .txt { position: relative; padding: 0 0 4px 1.4rem; }
#menu .tab_contents .note .txt::after { content: '・'; position: absolute; top: 0; left: 0; }
#menu .tab_contents .menu_block { display: flex; flex-wrap: wrap; margin: 0 auto;}
/* #menu #tab01 .menu_block { justify-content: center; } */
#menu .tab_contents .menu_block .box { flex-basis: 20%; font-family: 'Noto Sans JP', sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
#menu .tab_contents .menu_block .box .pic { position: relative; }
#menu .tab_contents .menu_block .box .takeout { position: absolute; bottom: 4%; right: 5%; display: block; width: 38px; }
#menu .tab_contents .menu_block .box .name { padding: .8rem 8% .2rem; }
#menu .tab_contents .menu_block .box .name .sub { font-size: 1.2rem; }
#menu .tab_contents .menu_block .box .note { color: #e6002d; }
#menu .tab_contents .menu_block .box .price .yen { font-size: 1.8rem; }
#menu .tab_contents .menu_block .box .price { padding: 0 8%; font-size: 2rem; }
#menu .tab_contents .menu_block .box .price .tax { font-size: 1.3rem; }
#menu .tab_contents .menu_block .drinkbar { font-size: 1.4rem; }
#menu .tab_contents .menu_block .drinkbar .price .yen { font-size: 1.6rem; }
#menu .tab_contents .menu_block .drinkbar .price { font-size: 1.8rem; }
#menu .tab_contents .menu_block .drinkbar .price .free { font-size: 1.5rem; }
#menu .tab_contents .tab_txt { margin: 0 auto; display: flex; justify-content: center; padding-top: 18px; }

#menu .to { display: flex; justify-content: center; align-items: center; margin: 0 3%; padding: 5px 0 20px; }
#menu .to .icon { flex-basis: 46px; flex-shrink: 0; }
#menu .to .txt { flex-basis: auto; padding: 8px 0 0 16px; font-size: 1.3rem; line-height: 1.5; }

#menu .to_menu { display: flex; justify-content: center; margin: 0 3%; padding: 0 0 40px; }
#menu .to_menu .btn { display: flex; justify-content: center; align-items: center; width: 280px; height: 48px; background: #23211f; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-weight: 500; color: #fff; border-radius: 24px; }
#menu .to_menu .btn .label { position: relative; display: inline-block; padding: 0 1px 0 20px; }
#menu .to_menu .btn .label:after { content:""; position: absolute; top: 50%; left: 0; transform: translate(0,-50%); width: 14px; height: 14px; background: url('/images/icon_to.png') no-repeat; background-size: contain; }

#menu .morning { margin: 0 3%; padding: 32px 0; border-top: 1px solid #d0c199; }
#menu .morning .btn { margin: 0 auto; max-width: 680px; }
/* #menu .lunch { margin: 0 3%; padding: 32px 0; border-top: 1px solid #d0c199; } */
#menu .lunch { margin: 0 3%; padding: 32px 0; display: flex; gap: 30px;}
#menu .lunch .btn { margin: 0 auto; max-width: 680px; width: calc((100% / 2.5) - 15px);}

 #menu .allergen { display: flex; justify-content: center; padding: 20px 0; } 
#menu .allergen .btn { display: flex; justify-content: center; align-items: center; width: 350px; height: 48px; background: #23211f; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-weight: 500; color: #fff; border-radius: 24px; }
#menu .allergen .btn .label { position: relative; display: inline-block; padding: 0 1px 0 25px; }
#menu .allergen .btn .label:after { content:""; position: absolute; top: 50%; left: 0; transform: translate(0,-50%); width: 14px; height: 14px; background: url('/images/icon_doc.png') no-repeat; background-size: contain; }
#menu .allergen-txt { display: flex; justify-content: center; text-align: center; letter-spacing: 0.1em; line-height: 1.5; margin: 0 3%; padding: 36px 0px 0px; }


/*------------  shop  ------------*/
#shop { margin-bottom: 60px; padding: 8px; background: #fff; }
#shop .title_block { height: 460px; background: url('/images/shop_title_bg.jpg') no-repeat center; background-size: cover; }
#shop .title_block .title { margin: 0 auto; width: 208px; }
#shop .shop_inner { padding: 50px 6% 60px; background: url('/images/shop_decoration.png') no-repeat top #fff6d8; background-size: contain; }

#shop .payment { margin: 0 auto; padding: 12px 2.5%; max-width: 980px; background-color: #f7e6b9;}
#shop .payment .lead { padding: 0 0 15px; font-size: 1.4rem; line-height: 1.4; font-weight: bold; }
#shop .payment .type { display: flex; flex-wrap: wrap; padding: 0 0 8px; margin: 0 12px;}
#shop .payment .type .box { flex-basis: 84px; padding: 0 0 8px; text-align: center; line-height: 1.3; }
#shop .payment .type .box span { display: block; margin: 0 auto; }
#shop .payment .type .box .icon { width: 50px; background: #009a53; border-radius: 3px; overflow: hidden; }
#shop .payment .type .box .name { padding: 5px 0 0; width: 100%; font-size: 1.1rem; }
#shop .payment .cat { padding: 0 10px 10px; font-size: 1.3rem; line-height: 1.4; font-weight: normal; }
#shop .payment .e-money { display: flex; flex-wrap: wrap; }
#shop .payment .e-money .box { flex-basis: 80px; padding: 0 0 8px; text-align: center; line-height: 1.3; }
#shop .payment .e-money .box span { display: block; margin: 0 auto; }
#shop .payment .e-money .icon { padding: 1px; width: 48px; background: #fff; border-radius: 3px; overflow: hidden; }
#shop .payment .e-money .name { padding: 5px 0 0; width: 100%; font-size: 1.1rem; white-space: nowrap; }

#shop .area { margin: 0 auto; padding: 20px 0 0; max-width: 980px; }
#shop .ont { position: relative; margin: 40px auto 0; padding: 20px 0 0; }
#shop .ont::before { content: ''; position: absolute; top: 0; left: 50%; transform: translate(-50%,0); width: 40px; border-top: 1px solid #23211f; }

#shop .acd_check { display: none; }
#shop .acd_label { position: relative; display: block; padding: 15px 0 15px; border-bottom: 1px solid #d0c199; font-family: 'Noto Sans JP', sans-serif; font-size: 2rem; font-weight: 700; line-height: 1.3; text-align: center; }
#shop .acd_label .note { padding: 4px 0 0; font-size: 1.3rem; }

#shop .item { display: flex; align-items: center; position: relative; padding: 1.2rem 3%; border-bottom: 1px solid #d0c199; font-size: 1.4rem; line-height: 1.6; }
#shop .item .shop_name { flex-basis: 23%; font-weight: bold; }
#shop .item .data { display: flex; flex-wrap: wrap; align-items: center; flex-basis: 64%; }
#shop .item .add { flex-basis: 56%; }
#shop .item .time { flex-basis: 44%; }
#shop .item .note { color: #e6002d; }
#shop .item .btn_map { margin: 0 0 0 auto; width: 76px; }
#shop .item .btn_map .btn { display: flex; justify-content: center; align-items: center; height: 34px; background: #23211f; font-family: 'Noto Sans JP', sans-serif; font-size: 1.2rem; font-weight: 500; color: #fff; border-radius: 4px; }
#shop .item .btn_map .label { position: relative; display: inline-block; padding: 0 1px 0 16px; }
#shop .item .btn_map .label:after { content:""; position: absolute; top: 50%; left: 0; transform: translate(0,-50%); width: 12px; height: 16px; background: url('/images/icon_map.png') no-repeat; background-size: contain; }
#shop .btn_block { display: flex; justify-content: center; padding: 30px 0 0; }
#shop .btn_block .btn { padding: 0 2%; }
#shop .btn_block .btn a { display: flex; justify-content: center; align-items: center; width: 240px; height: 48px; background: #23211f; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-weight: 500; color: #fff; border-radius: 24px; }
#shop .btn_block .btn a .label { position: relative; display: inline-block; padding: 0 2px 0 21px; }
#shop .btn_block .btn a .label:after { content:""; position: absolute; top: 50%; left: 0; transform: translate(0,-50%); width: 14px; height: 14px; background: url('/images/icon_doc.png') no-repeat; background-size: contain; }





@media screen and (max-width: 1200px) {
  #menu .tab_contents .menu_block .box { flex-basis: 25%; }
}





@media screen and (max-width: 960px) {

  #nav .nav_inner .nav a { height: 70px; }
  #nav .nav_inner .nav01 a { background-size: 70px 70px; }
  #nav .nav_inner .nav02 a { background-size: 70px 70px; }
  #nav .nav_inner .nav03 a { background-size: 70px 70px; }
  #nav .nav_inner .nav04 a { background-size: 70px 70px; }
  #nav .nav_inner .logo h1 { max-width: 94px; }

  #important .title { font-size: 1.5rem; }
  #important .post { font-size: 1.3rem; }
	
  /*------------  banner  ------------*/
  /* #banner .delivery .btn { max-width: 600px; } */
  /* #banner .takeout .btn { max-width: 600px; } */

  #news .title { width: 98px; }
  #news .news_block .post { font-size: 1.3rem; }

  #concept .title_block { height: 380px; }
  #concept .title_block .title { width: 180px; }
  #concept .concept_inner { padding: 0 3% 50px; }
  #concept .lead_block .lead { font-size: 1.6rem; }
  #concept .lead_block { padding: 35px 0; }
  #concept .concept_block .box { margin: 0 1%; padding: 65px 3% 40px; }
  #concept .concept_block .point { width: 42px; }
  #concept .concept_block .ttl { padding: 22px 0; font-size: 1.8rem; }

  #menu .title_block { height: 380px; }
  #menu .title_block .title { width: 180px; }
  #menu .tab_block .tab_btn .btn { padding: 0 4%; height: 56px; font-size: 1.3rem; }
  #menu .tab_contents .tab_title { width: 280px; }
  #menu .tab_contents .menu_block .box { flex-basis: 25%; font-size: 1.4rem; }
  #menu .tab_contents .menu_block .box .price .yen { font-size: 1.6rem; }
  #menu .tab_contents .menu_block .box .price { font-size: 1.8rem; }
  #menu .tab_contents .menu_block .drinkbar { font-size: 1.4rem; }
  #menu .tab_contents .menu_block .drinkbar .price .yen { font-size: 1.5rem; }
  #menu .tab_contents .menu_block .drinkbar .price { font-size: 1.7rem; }
  #menu .tab_contents .menu_block .drinkbar .price .free { font-size: 1.4rem; }
  #menu .lunch .btn { max-width: 600px; width: 100%; text-align: center;}
  #menu .lunch .btn a img { max-height: 120px;}
  #menu .morning .btn { max-width: 600px; }
  #shop .title_block { height: 380px; }
  #shop .title_block .title { width: 180px; }
  #shop .acd_label { font-size: 1.8rem; }
  #shop .item .shop_name { flex-basis: 32%; }
  #shop .item .data { flex-basis: 52%; }
  #shop .item .add { padding: 0; flex-basis: 100%; }
  #shop .item .time { padding: 0; flex-basis: 100%; }

}





@media screen and (max-width: 740px) {


  /*------------  slider  ------------*/
  .slider { margin: 0 auto 30px;}
  .slider .pc { display: none; }
  .slider .sp { display: block; }
  .prev-arrow { left: 5px; width: 40px; height: 40px; }
  .next-arrow { right: 5px; width: 40px; height: 40px; }
  .prev-arrow:hover, .prev-arrow:focus,.next-arrow:hover, .next-arrow:focus { opacity: 1; }
  .slick-dots { bottom: 4%; }
  .slick-dots li { margin: 0 5px; width: 8px; height: 8px; }
  .slick-dots li button { width: 8px; height: 8px; }
  .slick-dots li button:before { width: 8px; height: 8px; }


  /*------------  nav  ------------*/
  #nav { margin: 0 auto 30px; }
  #nav .nav_inner { flex-wrap: wrap; padding: 8px 0 8px; }
  #nav .nav_inner .nav {
/*
 flex-basis: 25%;
*/
 flex-basis: 20%;
 }
  #nav .nav_inner .nav::after { content: ''; position: absolute; top: 50%; right: 0; width: 1px; height: 94%; transform: translate(0,-50%) rotate(12deg); }
  #nav .nav_inner .nav a { height: 54px; text-indent: -9999px; overflow: hidden; }
  #nav .nav_inner .nav01 a { background-size: 54px 54px; }
  #nav .nav_inner .nav02 a { background-size: 54px 54px; }
  #nav .nav_inner .nav03 a { background-size: 54px 54px; }
  #nav .nav_inner .nav04 a { background-size: 54px 54px; }
  #nav .nav_inner .logo { flex-basis: 100%; padding: 0 0 10px; }
  #nav .nav_inner .logo::after { display: none; }
  #nav .nav_inner .logo h1 { max-width: 72px; }
  #nav .nav_inner .nav05 a {  background-size: 54px 54px;}

  /*------------  important  ------------*/
  #important { flex-wrap: wrap; margin-bottom: 20px; padding: 17px 5%; border-left: none; border-right: none; }
  #important .title { flex-basis: 100%; padding-bottom: 5px; font-size: 1.3rem; }
  #important .post { flex-basis: 100%; font-size: 1.2rem; line-height: 1.6; }

  /*------------  banner  ------------*/
  #banner .delivery { justify-content: space-evenly; }
  #banner .delivery .btn { width: inherit; }
  #banner .delivery .btn img { max-height: 77px; }
  
   /*------------  delivery  ------------*/
  #delivery { margin-bottom: 30px; }
  #delivery .delivery_inner { flex-direction: column; }
  #delivery .title {}
  #menu .menu_inner { padding: 0 0 5px; }
  #delivery .delivery_block { padding: 0 5% 16px;}
  #delivery .delivery_block a { color: #331a0c; text-decoration: underline; }
  #delivery .delivery_block a:hover { }
  #delivery .delivery_block .post { flex-direction: column; padding: 7px 0; font-size: 1.2rem; }
  #delivery .delivery_block .date { width: auto; }
  #delivery .delivery_block .item { width: auto; }

  /*------------  news  ------------*/
  #news { margin-bottom: 30px; }
  #news .news_inner { flex-direction: column; }
  #news .title { margin: 0 auto; width: 90px; }
  #menu .menu_inner { padding: 0 0 5px; }
  #news .news_block { padding: 0 5% 16px;}
  #news .#news .news_scrll { height: 250px;}
  #news .news_block a { color: #331a0c; text-decoration: underline; }
  #news .news_block a:hover { }
  #news .news_block .post { flex-direction: column; padding: 7px 0; font-size: 1.2rem; }
  #news .news_block .date { width: auto; }
  #news .news_block .item { width: auto; }

  #news .to_news { padding: 28px 0; }
  #news .to_news .btn { width: 240px; height: 40px; font-size: 1.2rem; border-radius: 20px; }


/*------------  visual_nav  ------------*/
#visual_nav { margin-bottom: 60px }
#visual_nav .visual_nav_inner { width: 100%; margin: 0 auto; }
#visual_nav .visual_nav_block { display: block; }
#visual_nav .visual_nav_block .box { margin: 0 0 20px; padding: 4px 0; height: 200px; width: 100%; overflow: hidden; }
#visual_nav .visual_nav_block .box_inner { height: 100%; }
#visual_nav .visual_nav_block .nav01 .box_inner { background: url('/images/concept_title_bg.jpg') no-repeat top #fff; background-size: cover; background-position: center; }
#visual_nav .visual_nav_block .nav02 .box_inner { background: url('/images/menu_title_bg.jpg') no-repeat top #fff; background-size: cover; background-position: center;}
#visual_nav .visual_nav_block .nav03 .box_inner { background: url('/images/shop_title_bg.jpg') no-repeat top #fff; background-size: cover; background-position: center; }
#visual_nav .visual_nav_block .nav04 .box_inner { background: url('/images/takeout_title_bg.jpg') no-repeat top #fff; background-size: 150% auto; background-position: center top; }
#visual_nav .visual_nav_block .ttl { margin: 0 auto; width: 136px; }
#visual_nav .visual_nav_block .nav04 .ttl { margin: 0 auto; padding: 25px 0; width: 180px; }
#visual_nav .visual_nav_block .txt { font-size: 1.4rem; line-height: 1.6; }


  /*------------  concept  ------------*/
  #concept { margin-bottom: 30px; padding: 4px 0; }
  #concept .title_block { height: 200px; }
  #concept .title_block .title { width: 136px; }
  #concept .concept_inner { padding: 0 8% 10px; }
  #concept .lead_block { padding: 28px 0; }
  #concept .lead_block .lead { font-size: 1.4rem; line-height: 1.7; }
  #concept .concept_block { flex-direction: column; align-items: center; padding: 0; }
  #concept .concept_block .box { margin: 0 auto 22px; padding: 45px 10% 35px; width: auto; max-width: 400px; }
  #concept .concept_block .point { width: 32px; }
  #concept .concept_block .ttl { padding: 18px 0; font-size: 1.6rem; font-weight: 700; }
  #concept .concept_block .txt { font-size: 1.3rem; }


  /*------------  menu  ------------*/
  #menu { margin-bottom: 30px; padding: 4px 0; }
  #menu .title_block { height: 200px; }
  #menu .title_block .title { width: 136px; }
  #menu .tab_block .tab_btn { padding: 3px 2%; }
  #menu .tab_block .tab_btn.fixed { position: fixed; top: 0; }
  #menu .tab_block .tab_btn.fixed ~ .tab_btn_instead { height: 136px; }
  #menu .tab_block .tab_btn .btn { padding: 0 5%; height: 40px; font-size: 1.1rem; }
  #menu .tab_block .tab_btn .btn::after { height: 80%; transform: translate(0,-50%) rotate(12deg); }

  #menu .tab_contents { padding: 15px 3% 20px; }
  #menu .tab_contents .tab_title_block { padding: 0 0 15px; }
  #menu .tab_contents .tab_title { width: 210px; }
  #menu .tab_contents .note { padding: 25px .5% 0; font-size: 1.3rem; }
  #menu .tab_contents .note .txt { padding: 0 0 3px 1.3rem; }
  #menu .tab_contents .menu_block { max-width: 560px; }
  #menu .tab_contents .menu_block .box { flex-basis: 50%; font-size: 1.3rem; }
  #menu .tab_contents .menu_block .box .takeout { bottom: 6%; right: 6%; width: 34px; }
  #menu .tab_contents .menu_block .box .name .sub { font-size: 1.1rem; }
  #menu .tab_contents .menu_block .box .price .yen { font-size: 1.5rem; }
  #menu .tab_contents .menu_block .box .price { font-size: 1.5rem; }
  #menu .tab_contents .menu_block .box .price .tax { font-size: 1.2rem; }
  #menu .tab_contents .menu_block .drinkbar { font-size: 1.3rem; }
  #menu .tab_contents .menu_block .drinkbar .price .yen { font-size: 1.5rem; }
  #menu .tab_contents .menu_block .drinkbar .price { font-size: 1.5rem; }
  #menu .tab_contents .menu_block .drinkbar .price .free { font-size: 1.3rem; }

  #menu .to { margin: 0 6%; padding: 8px 0 16px; }
  #menu .to .icon { flex-basis: 40px; }
  #menu .to .txt { padding: 0 0 0 12px; font-size: 1.2rem; line-height: 1.4; }
  #menu .to .txt br { display: none; }

  #menu .to_menu { padding: 0 0 28px; }
  #menu .to_menu .btn { width: 240px; height: 40px; font-size: 1.2rem; border-radius: 20px; }

  #menu .lunch { padding: 22px 0; flex-direction: column; gap: 40px;}

  #menu .allergen { padding: 22px 0; }
  #menu .allergen .btn { width: 300px; height: 40px; font-size: 1.2rem; border-radius: 20px; }


  /*------------  shop  ------------*/
  #shop { margin-bottom: 30px; padding: 4px 0; }
  #shop .title_block { height: 200px; }
  #shop .title_block .title { width: 136px; }
  #shop .shop_inner { padding: 34px 3% 30px; }
  #shop .payment { padding: 8px 2.5%; }
  #shop .payment .lead { padding: 0 0 8px; font-size: 1.3rem; }
  #shop .payment .type .box { flex-basis: 68px; padding: 0 0 5px; text-align: center; line-height: 1.3; }
  #shop .payment .type .box .icon { width: 44px; }
  #shop .payment .type .box .name { font-size: 1rem; }
  #shop .payment .cat { padding: 0 0 8px; font-size: 1.2rem; }
  #shop .payment .e-money .box { flex-basis: 60px; padding: 0 0 5px; }
  #shop .payment .e-money .icon { width: 40px; }
  #shop .payment .e-money .name { font-size: 1rem; }

  #shop .area { padding: 6px 0 0; }
  #shop .ont { position: relative; margin: 32px auto 0; padding: 12px 0 0; }

  #shop .acd_label { padding: 11px 2%; font-size: 1.6rem; text-align: left; }
  #shop .acd_label::after { content:''; position: absolute; top: 50%; right: 4%; width: 6px; height: 6px; transform: translate(0,-50%) rotate(-45deg); border-bottom: 2px solid #23211f; border-left: 2px solid #23211f; }
  #shop .acd_label .note { font-size: 1.1rem; }
  #shop .acd_content { height: 0; opacity: 0; transition: .5s; overflow: hidden; }
  #shop .acd_check:checked + .acd_label + .acd_content { height: auto; opacity: 1; }

  #shop .item { flex-direction: column; align-items: flex-start; padding: 1.1rem 2%; font-size: 1.3rem; }
  #shop .item .shop_name { flex-basis: 35%; }
  #shop .item .data { flex-basis: 50%; }
  #shop .item .btn_map { position: absolute; bottom: 1.5rem; right:2%; width: 68px; }
  #shop .item .btn_map .btn { height: 32px; font-size: 1.1rem; }
  #shop .btn_block { flex-direction: column; align-items: center; padding: 10px 0 0; }
  #shop .btn_block .btn { padding: 13px 0 0; }
  #shop .btn_block .btn a { width: 240px; height: 40px; font-size: 1.2rem; border-radius: 20px; }

}

@media screen and (max-width: 560px) {
  /*------------  banner  ------------*/
  #banner .delivery { display: block; }
  #banner .delivery .btn { display: flex; justify-content: center; }
  #banner .delivery .btn:not(:first-of-type) { margin-top: 20px; }
  #banner .delivery .btn a { display:inline-block; }
  #banner .delivery .btn img { display: block; margin: auto; }
}
