@media only screen and (max-width: 767px) {
  .txt {
    margin: 0 3%;
  }
}
#lead {
  background: url('../img/menu/lead_bg_sp.jpg') no-repeat center top/100% auto;
  padding-top: 15vw;
  padding-bottom: 15vw;
}
#lead h2 {
  margin: 10vw 0;
  width: 80%;
}
#lead .lead-txt p {
  margin-bottom: 1.5em;
}
@media only screen and (min-width: 768px) {
  #lead {
    background: url('../img/menu/lead_bg.jpg') no-repeat center top;
    padding: 156px 50px 137px;
    margin-top: -50px;
  }
  #lead .lead-img {
    width: 52.4%;
    order: 2;
    margin-right: -30px;
  }
  #lead .lead-info {
    width: 39.4%;
    margin-left: 3.75%;
  }
  #lead h2 {
    margin: 49px 0 92px;
    width: 301px;
  }
  #lead .lead-txt {
    margin-left: 10px;
  }
  #lead .lead-txt p {
    margin-bottom: 39px;
  }
}

#sozai {
  height: calc(100vh - 20vw);
  position: relative;
  color: #fff;
  overflow: hidden;
  background: url('../img/menu/sozai_bg.jpg') no-repeat center/cover;
}
#sozai .sozai-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  opacity: 0;
}
#sozai .sozai-bg img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#sozai .sozai-scroll {
  transform: translateY(0);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  will-change: transform;
}
#sozai h2 {
  position: relative;
  margin: 0 0 10vw auto;
  width: 85%;
}

#sozai .sozai-item {
  margin-bottom: 15vw;
}
#sozai .sozai-item h3 {
  font-size: 7vw;
  position: relative;
  margin-bottom: 5vw;
}
#sozai .sozai-item h3:before {
  content: '';
  position: absolute;
  width: calc(100% - 25vw);
  height: 1px;
  background-color: #fff;
  top: 50%;
  left: 25vw;
}
#sozai .sozai-item .sozai-info {
  margin-top: 7vw;
}
#sozai .sozai-item .sozai-txt1 {
  font-size: 120%;
  margin-bottom: 3vw;
}
@media only screen and (min-width: 768px) {
  #sozai {
    height: 100vh;
  }
  #sozai .sozai-scroll {
    padding: 0 50px;
  }
  #sozai .sozai-scroll .wrap {
    padding-left: 50px;
  }
  #sozai h2 {
    margin-bottom: 160px;
    width: 431px;
  }
  #sozai h2:before {
    content: '';
    position: absolute;
    width: 200%;
    height: 1px;
    background-color: #fff;
    top: 52px;
    left: 114px;
  }
  #sozai .sozai-item {
    margin-bottom: 107px;
    position: relative;
    justify-content: flex-start;
    padding-top: 30px;
  }
  #sozai .sozai-item h3 {
    font-size: 40px;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    right: 0;
  }
  #sozai .sozai-item h3:before {
    width: 1px;
    height: 270px;
    top: 110px;
    left: 50%;
  }
  #sozai .sozai-item .sozai-img {
    width: 396px;
  }
  #sozai .sozai-item .sozai-info {
    margin: 100px 0 0 82px;
    width: 470px;
    line-height: 40px;
  }
  #sozai .sozai-item .sozai-txt1 {
    font-size: 24px;
    margin-bottom: 50px;
  }
  #sozai .sozai-item:nth-child(3) h3:before {
    top: 140px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1150px) {
  #sozai .sozai-scroll .wrap {
    padding-left: 0;
  }
  #sozai .sozai-item h3 {
    right: 20px;
  }
  #sozai .sozai-item .sozai-info {
    margin-left: 50px;
    width: 440px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1080px) {
  #sozai .sozai-item h3:before {
    height: 230px;
  }
  #sozai .sozai-item .sozai-img {
    width: 330px;
  }
  #sozai .sozai-item .sozai-info {
    margin-top: 45px;
    width: 400px;
  }
}

#reco {
  padding-top: 18vw;
  position: relative;
  z-index: 0;
}
#reco .reco-deco {
  position: absolute;
  top: -5vw;
  right: -11%;
  z-index: -1;
  width: 60%;
}
#reco h2 {
  position: relative;
  margin: 0 auto 10vw;
  width: 70%;
}
#reco h2:before {
  content: '';
  position: absolute;
  width: 200%;
  height: 1px;
  background-color: #000;
  top: 8vw;
  right: 0;
}
#reco .reco-txt2 {
  font-size: 80%;
  margin-top: 5vw;
  display: block;
  margin-bottom: 15vw;
}
#reco .reco-item {
  margin-bottom: 17vw;
}
#reco .reco-info {
  position: relative;
  margin-top: 5vw;
}
#reco .reco-info .reco-label {
  margin: 0 -5% 0 auto;
  width: 56%;
}
#reco .reco-info dl {
  justify-content: flex-start;
  align-items: center;
  font-size: 6vw;
  margin: -12vw 0 5vw;
}
#reco .reco-info dl dt {
  margin-right: 5vw;
}
#reco .reco-info dl dd {
  font-weight: 700;
  font-size: 87%;
}
#reco .reco-img2 {
  margin-top: 10vw;
}
@media only screen and (min-width: 768px) {
  #reco {
    padding: 97px 50px 0;
  }
  #reco .reco-deco {
    top: 0;
    right: auto;
    left: calc(50% - 35px);
    width: 738px;
  }
  #reco h2 {
    position: relative;
    margin: 0 0 50px 34px;
    width: 420px;
  }
  #reco h2:before {
    top: 45px;
  }
  #reco .reco-txt1 {
    max-width: 730px;
    margin-left: 50px;
  }
  #reco .reco-txt2 {
    font-size: 14px;
    margin: 42px 0 65px 52px;
  }
  #reco .reco-item {
    margin-bottom: 140px;
    position: relative;
  }
  #reco .reco-img1 {
    width: 55.3%;
  }
  #reco .reco-info {
    width: 430px;
    margin-top: 175px;
    position: relative;
  }
  #reco .reco-info .reco-label {
    margin: 0;
    position: absolute;
  }
  #reco .reco-info dl {
    font-size: 30px;
    margin: 0 0 58px;
    font-weight: 400;
  }
  #reco .reco-info dl dt {
    margin-right: 45px;
    letter-spacing: 2px;
  }
  #reco .reco-info dl dd {
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 3px;
  }
  #reco .reco-info .reco-txt3 {
    margin-right: 10px;
    min-height: 170px;
  }
  #reco .reco-img2 {
    margin-top: 43px;
  }
  #reco .reco1 .reco-label {
    width: 314px;
    top: -270px;
    right: -30px;
  }
  #reco .reco1 .reco-img1 {
    margin-right: 50px;
  }
  #reco .reco2 .reco-info {
    margin-top: 188px;
  }
  #reco .reco2 .reco-img1 {
    order: 2;
    margin-left: 50px;
  }
  #reco .reco2 .reco-label {
    width: 372px;
    top: -220px;
    right: -143px;
  }
  #reco .reco3 .reco-img1 {
    margin-right: 50px;
  }
  #reco .reco3 .reco-label {
    width: 333px;
    top: -270px;
    right: -50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1150px) {
  #reco .reco-info .reco-txt3 {
    min-height: 130px;
  }
  #reco .reco1 {
    margin-right: 30px;
  }
  #reco .reco1 .reco-label {
    width: 230px;
    top: -210px;
  }
  #reco .reco1 .reco-info {
    margin-top: 115px;
  }
  #reco .reco2 {
    margin-left: 20px;
  }
  #reco .reco2 .reco-label {
    width: 280px;
    top: -170px;
    right: -100px;
  }
  #reco .reco2 .reco-info {
    margin-top: 115px;
  }
  #reco .reco3 {
    margin-right: 30px;
  }
  #reco .reco3 .reco-label {
    width: 230px;
    top: -210px;
  }
  #reco .reco3 .reco-info {
    margin-top: 115px;
  }
}

#other {
  margin-bottom: 15vw;
}
#other h2 {
  align-items: center;
  justify-content: flex-start;
  line-height: 1;
  font-size: 5.5vw;
  margin-bottom: 8vw;
}
#other h2 span {
  display: block;
  width: 5vw;
  margin-right: 2vw;
}
#other h2 i {
  width: 54vw;
  margin-left: 2vw;
}
#other .other-txt1 {
  text-align: center;
  margin-bottom: 5vw;
}
#other .food-list li {
  margin-bottom: 5vw;
}
#other .food-list a {
  display: block;
  position: relative;
}
#other .food-list a span {
  display: block;
  position: absolute;
  color: #fff;
  z-index: 1;
  left: 5%;
  bottom: 3vw;
  font-size: 110%;
}
#other .food-list a span.note {
  font-size: 60%;
  left: 65vw;
  letter-spacing: 0;
}
#other .btn-link {
  margin-top: 15vw;
}




#other1 {
  margin-bottom: 15vw;
}
#other1 h2 {
  align-items: center;
  justify-content: flex-start;
  line-height: 1;
  font-size: 5.5vw;
  margin-bottom: 8vw;
}
#other1 h2 span {
  display: block;
  width: 5vw;
  margin-right: 2vw;
}
#other1 h2 i {
  width: 54vw;
  margin-left: 2vw;
}
#other1 .other-txt1 {
  text-align: center;
  margin-bottom: 5vw;
}
#other1 .food-list li {
  margin-bottom: 5vw;
}
#other1 .food-list a {
  display: block;
  position: relative;
}
#other1 .btn-link {
  margin-top: 15vw;
}
#other1 .ttl1 {
    font-size: 20px;
  }
@media only screen and (min-width: 768px) {
  #other {
    padding: 0 80px;
    margin-bottom: 120px;
  }
  #other .wrap {
    align-items: flex-start;
  }
  #other h2 {
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 30px;
    letter-spacing: 5px;
    margin-bottom: 0;
  }
  #other h2 span {
    width: 31px;
    margin: 0 0 11px;
  }
  #other h2 i {
    width: 2px;
    margin: 1px 0 0 16px;
  }
  #other .other-inner {
    width: calc(100% - 200px);
    margin-right: 100px;
  }
  #other .other-txt1 {
    text-align: right;
    margin: 28px 18px 25px 0;
    letter-spacing: 0.5px;
  }
  #other .food-list {
    flex-wrap: wrap;
    gap: 30px;
  }
  #other .food-list li {
    margin-bottom: 0;
    width: calc(50% - 15px);
  }
  #other .food-list a span {
    left: 28px;
    bottom: 23px;
    font-size: 24px;
  }
  #other .food-list a span.note {
    left: 300px;
    bottom: 10px;
  }
  #other .btn-link {
    margin-top: 96px;
  }
	
	
	#other1 {
    padding: 0 80px;
    margin-bottom: 120px;
  }
  #other1 .wrap {
    align-items: flex-start;
  }
  #other1 h2 {
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 30px;
    letter-spacing: 5px;
    margin-bottom: 0;
  }
  #other1 h2 span {
    width: 31px;
    margin: 0 0 11px;
  }
  #other1 h2 i {
    width: 2px;
    margin: 1px 0 0 16px;
  }
  #other1 .other-inner {
    width: calc(100% - 200px);
    margin-right: 100px;
  }
  #other1 .other-txt1 {
    text-align: right;
    margin: 28px 18px 25px 0;
    letter-spacing: 0.5px;
  }
  #other1 .food-list {
    flex-wrap: wrap;
    gap: 30px;
  }
  #other1 .food-list li {
    margin-bottom: 0;
    width: calc(50% - 15px);
  }
  #other1 .btn-link {
    margin-top: 96px;
  }
	#other1 .ttl1 {
    font-size: 25px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #other .other-inner {
    width: calc(100% - 150px);
    margin-right: 50px;
  }
	
	#other1 .other-inner {
    width: calc(100% - 150px);
    margin-right: 50px;
  }
}

#food .food-top {
  background: url('../img/menu/food_bg.png') repeat-x center top/auto 105%;
  position: relative;
  z-index: 0;
  color: #fff;
  padding-bottom: 15vw;
  padding-top: 10vw;
}
#food .food-top .food-img_sp {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 50%;
  opacity: 0.7;
}
#food .food-top h2 {
  margin: 0 auto 5vw;
  width: 75%;
  position: relative;
}
#food .food-top h2:before {
  content: '';
  position: absolute;
  bottom: 1.5vw;
  right: -6%;
  width: 200%;
  height: 1px;
  background-color: #fff;
}
#food .food-slide {
  position: relative;
}
#food .js-menu {
  background: rgba(255, 255, 255, 0.22);
  box-shadow: 0 19px 27px 0 rgba(0, 0, 0, 0.2);
  position: relative;
  box-sizing: border-box;
  padding: 10vw 5%;
}
#food .js-menu:before,
#food .js-menu:after {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  height: 2px;
  background-color: #aa9977;
}
#food .js-menu:before {
  top: 10px;
}
#food .js-menu:after {
  bottom: 10px;
}
#food .js-menu .food-img {
  margin-bottom: 33vw;
}
#food .js-menu h3 {
  font-size: 6vw;
  line-height: 1;
  margin-bottom: 3vw;
}
#food .js-menu .price {
  text-align: right;
  font-weight: 700;
  font-size: 5vw;
  margin-bottom: 3vw;
}
#food .js-thumb {
  position: absolute;
  top: 75vw;
  left: 3.5vw;
  z-index: 2;
  width: 86vw;
}
#food .js-thumb .slide-thumb {
  width: 28.5vw !important;
  padding: 0 2px;
  box-izing: border-box;
  transition: ease 0.3s;
}
#food .js-thumb .slide-thumb img {
  filter: grayscale(100%);
  transition: ease 0.3s;
}
#food .js-thumb .slick-current .slide-thumb img {
  filter: grayscale(0);
}
#food .btn-link {
  margin: 15vw auto;
}
@media only screen and (min-width: 768px) {
  #food {
    background: url('../img/menu/food_bg2.jpg') no-repeat center top;
    padding: 0 50px;
  }
  #food .food-top {
    background: none;
    padding-bottom: 0;
    padding-top: 75px;
    min-height: 477px;
    box-sizing: border-box;
  }
  #food .food-top h2 {
    margin: 0 13px 40px auto;
    width: 342px;
  }
  #food .food-top h2:before {
    bottom: 10px;
    right: -55px;
    width: 625px;
  }
  #food .food-top .food-txt1 {
    margin-left: auto;
    width: 577px;
    line-height: 36px;
  }
  #food .food-slide {
    margin: 0 auto;
    max-width: 1160px;
  }
  #food .js-menu {
    padding: 80px 50px;
  }
  #food .js-menu:before,
  #food .js-menu:after {
    left: 14px;
    right: 14px;
  }
  #food .js-menu:before {
    top: 14px;
  }
  #food .js-menu:after {
    bottom: 14px;
  }
  #food .js-menu .food-item {
    margin: 0 auto;
    max-width: 1000px;
  }
  #food .js-menu .food-img {
    margin-bottom: 0;
    width: 60.4%;
  }
  #food .js-menu .food-info {
    width: 304px;
    margin: 73px 10px 0 30px;
  }
  #food .js-menu h3 {
    font-size: 30px;
    margin-bottom: 34px;
  }
  #food .js-menu .price {
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 44px;
  }
  #food .js-menu .food-txt2 {
    line-height: 36px;
    letter-spacing: -0.5px;
  }
  #food .js-thumb {
    position: static;
    width: 100%;
    max-width: 940px;
    margin: 63px auto 0;
  }
  #food .js-thumb .slide-thumb {
    width: 188px !important;
    padding: 0 5px;
    cursor: pointer;
  }
  #food .js-thumb .slide-thumb:hover {
    opacity: 0.7;
  }
  #food .btn-link {
    margin: 99px auto 123px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1100px) {
  #food .js-menu {
    padding: 40px 30px;
  }
  #food .js-menu .food-info {
    margin-top: 30px;
  }
  #food .js-menu h3,
  #food .js-menu .price {
    margin-bottom: 20px;
  }
  #food .js-thumb .slide-thumb {
    width: 180px !important;
  }
}

#floor .floor_top {
  position: relative;
}
#floor .floor_top h2 {
  position: absolute;
  z-index: 1;
  left: 3%;
  bottom: 3vw;
  width: 58%;
}
#floor .floor-img {
  margin: 10vw 0 5vw;
}
#floor .btn-link {
  margin-top: 10vw;
}
@media only screen and (min-width: 768px) {
  #floor .floor_top {
    margin-left: 75px;
    height: 700px;
  }
  #floor .floor_top .bg_parallax {
    height: 700px;
  }
  #floor .floor_top .bg_parallax:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/menu/shadow.png') no-repeat top left;
  }
  #floor .floor_top h2 {
    left: 89px;
    bottom: 75px;
    width: 376px;
  }
  #floor .df-pc {
    margin: 70px 56px 0;
    align-items: flex-end;
  }
  #floor .floor-img {
    margin: 0;
    width: 55%;
  }
  #floor .floor-info {
    width: 36.3%;
    margin-left: 30px;
  }
  #floor .floor-txt {
    min-height: 220px;
    margin-bottom: 20px;
  }
  #floor .btn-link {
    margin-top: 0;
    width: 100%;
  }
}

#reserv {
  background: var(--violet) url('../img/menu/reserv_bg.jpg') no-repeat top center;
  color: #fff;
  padding: 10px 10px 10vw;
  margin: 15vw 0;
}
#reserv .df {
  align-items: center;
}
#reserv .reserv_img {
  width: 64%;
}
#reserv .reserv_logo {
  width: 25%;
  margin-right: 5%;
}
#reserv .tel {
  text-align: center;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
  position: relative;
  margin: 9vw auto 0;
  max-width: 330px;
}
#reserv .tel:before {
  content: '';
  position: absolute;
  top: 0;
  left: 3px;
  right: 3px;
  height: 100%;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
#reserv .tel small {
  display: block;
  letter-spacing: 0;
  margin-top: 10px;
}
@media only screen and (min-width: 768px) {
  #reserv {
    background: url('../img/menu/reserv_bg.jpg') no-repeat center/cover;
    padding: 6px;
    margin: 150px auto 145px;
    max-width: 1200px;
    box-sizing: border-box;
  }
  #reserv .df-pc {
    align-items: center;
    justify-content: flex-start;
  }
  #reserv .df {
    align-items: center;
  }
  #reserv .reserv_img {
    width: 458px;
  }
  #reserv .reserv_logo {
    width: 145px;
    margin: 0 55px 0 50px;
  }
  #reserv .tel {
    max-width: inherit;
    width: 412px;
    margin: 0;
    font-size: 16px;
    padding-top: 9px;
  }
  #reserv .tel .df {
    font-size: 49px;
    margin-top: 11px;
  }
  #reserv .tel .df i {
    width: 22px;
  }
  #reserv .tel small {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 2px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1220px) {
  #reserv {
    margin: 150px 50px 145px;
  }
  #reserv .reserv_img {
    width: 410px;
  }
  #reserv .reserv_logo {
    margin: 0 25px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1150px) {
  #reserv .tel {
    width: 365px;
  }
  #reserv .tel .df {
    font-size: 40px;
  }
  #reserv .tel small {
    font-size: 12px;
  }
  #reserv .reserv_logo {
    width: 120px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1090px) {
  #reserv .reserv_img {
    width: 313px;
  }
}

#lunch {
  margin-bottom: 15vw;
}
#lunch .lunch-top {
  background: url('../img/menu/lunch_bg_sp.png') repeat-x center top/auto 115%;
  position: relative;
  z-index: 0;
  color: #fff;
  padding-bottom: 10vw;
  padding-top: 23vw;
}
#lunch .lunch-top .lunch-img_sp {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 66%;
  opacity: 0.7;
}
#lunch .lunch-top h2 {
  margin: 0 auto 5vw;
  width: 75%;
  position: relative;
}
#lunch .lunch-top h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -2%;
  width: 200%;
  height: 1px;
  background-color: #fff;
}
#lunch h3 {
  position: relative;
  z-index: 0;
  margin-bottom: 5vw;
}
#lunch h3:before {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #aa9977;
  z-index: -1;
}
#lunch h3 span {
  display: inline-block;
  padding-right: 2vw;
  font-size: 6vw;
  background: url('../img/shared/bg.jpg') repeat center;
}
#lunch .lunch1 {
  margin: 10vw 0;
}
#lunch .lunch-item {
  margin-bottom: 15vw;
}
#lunch .lunch-item dl {
  margin: 5vw 0 1vw;
}
#lunch .lunch-item dl dt {
  font-size: 6vw;
}
#lunch .lunch-item dl dd {
  font-size: 5vw;
  font-weight: 700;
}
#lunch .lunch-item .txt p {
  line-height: 1.5;
}
#lunch .lunch-left {
  margin-bottom: 10vw;
}
#lunch .col dl {
  margin-bottom: 10px;
  line-height: 1.5;
  letter-spacing: 0;
  border-bottom: 1px dotted #a3a09f;
  padding-bottom: 10px;
  color: #000;
}
#lunch .col dl dt {
  font-family: 'Zen Old Mincho';
  text-align: left;
  width: calc(100% - 70px);
}
#lunch .col dl dd {
  text-align: right;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  #lunch {
    margin-bottom: 0;
    background: url('../img/menu/lunch_bg.jpg') no-repeat top center;
    padding: 0 50px;
  }
  #lunch .lunch-top {
    background: none;
    padding-bottom: 0;
    padding-top: 57px;
    min-height: 402px;
    box-sizing: border-box;
  }
  #lunch .lunch-top h2 {
    margin: 0 95px 31px auto;
    width: 297px;
  }
  #lunch .lunch-top h2:before {
    left: -11px;
    width: 536px;
  }
  #lunch .lunch-top .lunch-txt1 {
    margin-left: auto;
    width: 392px;
    line-height: 36px;
  }
  #lunch .lunch-txt2 {
    text-align: center;
    font-size: 14px;
    line-height: 30px;
    margin-bottom: 46px;
  }
  #lunch h3 {
    margin-bottom: 41px;
  }
  #lunch h3 span {
    padding-right: 13px;
    font-size: 24px;
  }
  #lunch .lunch1 {
    margin: 0 0 80px;
  }
  #lunch .lunch1 .df-pc {
    gap: 30px;
  }
  #lunch .lunch-item {
    margin-bottom: 0;
    width: calc((100% - 60px) / 3);
  }
  #lunch .lunch-item dl {
    margin: 21px 5px 6px;
  }
  #lunch .lunch-item dl dt {
    font-size: 20px;
    font-weight: 500;
  }
  #lunch .lunch-item dl dd {
    font-size: 16px;
    font-weight: 500;
  }
  #lunch .lunch-item .txt p {
    letter-spacing: -0.2px;
  }
  #lunch .lunch2 > .col {
    width: calc((100% - 30px) / 3);
  }
  #lunch .lunch-left {
    margin-bottom: 0;
    width: calc((100% - 30px) / 3 * 2);
  }
  #lunch .lunch-left .col {
    width: calc((100% - 30px) / 2);
  }
  #lunch .col dl {
    margin-left: 16px;
    margin-bottom: 10px;
    line-height: 1.5;
    letter-spacing: 0;
    border-bottom: 1px dotted #a3a09f;
    padding-bottom: 10px;
    color: #000;
  }
  #lunch .col dl dt {
    font-family: 'Zen Old Mincho';
    text-align: left;
    width: calc(100% - 70px);
  }
  #lunch .col dl dd {
    text-align: right;
    font-weight: 700;
  }
}

.remodal-overlay {
  background: rgba(0, 0, 0, 0.78);
}

.remodal-food {
  padding: 20px 50px 50px;
}
.remodal-food .remodal-close {
  position: absolute;
  width: 29px;
  right: 10px;
  top: -40px;
}
.remodal-food .food-nav {
  position: absolute;
  width: 18px;
  height: 36px;
  top: calc(50% - 18px);
  cursor: pointer;
  transition: ease 0.3s;
}
.remodal-food .food-nav:hover {
  opacity: 0.7;
}
.remodal-food .food-prev {
  background: url('../img/shared/prev_popup.png') no-repeat center/100% auto;
  left: 5px;
}
.remodal-food .food-next {
  background: url('../img/shared/next_popup.png') no-repeat center/100% auto;
  right: 5px;
}
.remodal-food .food-modal-items {
  position: relative;
}
.remodal-food .food-modal-item {
  display: none;
}
.remodal-food .food-modal-item.is-active {
  display: block;
}
.remodal-food .food-modal-name {
  margin-top: 8vw;
  font-size: 6vw;
  line-height: 1;
}
.remodal-food .food-modal-price {
  text-align: right;
  font-weight: 700;
  font-size: 5vw;
  margin-bottom: 3vw;
}
@media only screen and (min-width: 768px) {
  .remodal-food {
    padding: 90px 50px;
    max-width: 1000px;
  }
  .remodal-food .remodal-close {
    width: 46px;
    right: 20px;
    top: -80px;
  }
  .remodal-food .food-nav {
    width: 48px;
    height: 90px;
    top: calc(50% - 45px);
  }
  .remodal-food .food-prev {
    left: -78px;
  }
  .remodal-food .food-next {
    right: -78px;
  }
  .remodal-food .food-modal-item .df-pc {
    align-items: center;
  }
  .remodal-food .food-modal-image {
    width: 59.3%;
  }
  .remodal-food .food-modal-info {
    width: 250px;
    margin-right: 50px;
  }
  .remodal-food .food-modal-name {
    margin-top: 0;
    font-size: 30px;
  }
  .remodal-food .food-modal-price {
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 30px;
  }
  .remodal-food .food-modal-desc {
    font-size: 16px;
    line-height: 36px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1165px) {
  .remodal-food {
    max-width: 775px;
    padding: 70px 30px;
  }
  .remodal-food .food-modal-info {
    margin-right: 0;
  }
  .remodal-food .food-nav {
    width: 28px;
    height: 54px;
    top: calc(50% - 27px);
  }
  .remodal-food .food-prev {
    left: -50px;
  }
  .remodal-food .food-next {
    right: -50px;
  }
}

.remodal-menu {
  background: url('../img/shared/bg.jpg') repeat center;
  padding: 50px 10px;
}
.remodal-menu .remodal-close {
  mix-blend-mode: inherit;
  width: 30px;
  height: 100%;
  right: 10px;
  top: 10px;
  position: absolute;
}
.remodal-menu .remodal-close button {
  position: sticky;
  top: 10px;
}
.remodal-menu .wrap {
  background-color: #ffffff;
  box-sizing: border-box;
  padding: 50px 20px;
}
.remodal-menu .wrap .txt {
  font-size: 12px;
  font-weight: normal;
  margin: -5px 0 15px;
  line-height: 180%;
}
.remodal-menu h2 {
  font-size: 20px;
}
.remodal-menu .menu-ttl {
  font-size: 18px;
  position: relative;
  margin-bottom: 10px;
  z-index: 0;
}
.remodal-menu .menu-ttl:before {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background: #1f1f1f;
  z-index: -1;
}

.remodal-menu .menu-ttl span {
  display: inline-block;
  background-color: #fff;
  padding-right: 5px;
}
.remodal-menu .block {
  margin-bottom: 10vw;
}
.remodal-menu .col1 .block {
  margin-bottom: 0vw;
}

@media only screen and (min-width: 768px) {
  .remodal-menu {
    max-width: 1500px;
    padding: 150px 50px 100px;
  }
  .remodal-menu .remodal-close {
    top: 50px;
    width: 59px;
    right: auto;
    left: calc(50% + 525px);
  }
  .remodal-menu .wrap {
    max-width: 1200px;
  }
  .remodal-menu .col1 .menu-ttl:before {
    width: 210%;
  }
  .remodal-menu h2 {
    font-size: 30px;
    margin-bottom: 15px;
  }
  .remodal-menu .main {
    max-width: 1000px;
    margin: 0 auto;
  }
  .remodal-menu .block {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .remodal-menu {
    padding: 150px 30px 100px;
  }
  .remodal-menu .remodal-close {
    left: auto;
    right: 40px;
  }
  .remodal-menu .wrap {
    padding: 50px 30px;
  }
}

@media only screen and (max-width: 767px) and (max-height: 650px) {
  .remodal-food .remodal-close {
    top: 20px;
  }
}
