@charset "UTF-8";
/* Scss Document
*****************************************************************/
/* mixin
*********************************************************************/
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* 1280 */
/* フルワイド */
/* フルワイド */
/* RESTAURANT
*****************************************************************/
.black {
  background-color: #000;
  color: #FFF;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.block_ttl h2 {
  font-size: 2.4rem;
  line-height: 1.8em;
  letter-spacing: 0.1em;
  padding: 16px 0 0;
}
@media all and (max-width: 896px) {
  .block_ttl h2 {
    font-size: 1.9rem;
  }
}
@media all and (max-width: 480px) {
  .block_ttl h2 {
    text-align: center;
    font-size: 1.8rem;
  }
}

.block_img {
  padding: 6vw 0 0;
}
.block_img img {
  width: 100%;
  height: auto;
}

.area_megumi {
  background-color: #000;
  color: #FFF;
  padding: 3vw 0;
  display: grid;
  grid-template-columns: 34% 32% 34%;
}
@media all and (max-width: 480px) {
  .area_megumi {
    padding: 30px 20px;
    grid-template-columns: 1fr;
  }
}
.area_megumi .side_img {
  overflow: hidden;
  height: 700px;
}
@media all and (max-width: 896px) {
  .area_megumi .side_img {
    height: 300px;
  }
}
@media all and (max-width: 480px) {
  .area_megumi .side_img {
    height: auto;
    aspect-ratio: 16/9;
  }
}
.area_megumi .side_img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.area_megumi .side_txt {
  text-align: center;
  box-sizing: border-box;
  padding: 0 10px;
  background-image: url(../images/bg_megumi.jpg);
  background-size: cover;
  position: relative;
}
@media all and (max-width: 480px) {
  .area_megumi .side_txt {
    height: auto;
    aspect-ratio: 16/9;
  }
}
.area_megumi .side_txt h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  writing-mode: vertical-rl;
  font-size: clamp(1.8rem, 2vw, 2.6rem);
  text-align: left;
  line-height: 1.8em;
  letter-spacing: 0.2em;
  display: inline-block;
  margin: auto;
  white-space: nowrap;
}
@media all and (max-width: 480px) {
  .area_megumi .side_txt h2 {
    writing-mode: horizontal-tb;
    text-align: center;
  }
}

.area_omotenashis {
  text-align: center;
  background-color: #000;
  color: #FFF;
}
.area_omotenashis .block_txt {
  padding: 0 20px;
}
.area_omotenashis .block_txt h2 {
  padding: 4vw 0 0;
  font-size: 1.5rem;
  line-height: 2.4em;
}
@media all and (max-width: 480px) {
  .area_omotenashis .block_txt h2 {
    padding: 0px 0 0;
    font-size: 1.4rem;
    text-align: justify;
  }
}
.area_omotenashis .block_imgs {
  padding: 0px 0px;
}
.area_omotenashis .block_imgs img {
  width: 100%;
  height: auto;
}

.area_gallery {
  background-color: #000;
  color: #FFF;
}
.area_gallery .block_gallery {
  padding: 6vw 0 0;
  position: relative;
}
@media all and (max-width: 896px) {
  .area_gallery .block_gallery {
    padding: 40px 0 0;
  }
}
@media all and (max-width: 480px) {
  .area_gallery .block_gallery {
    padding: 40px 20px 0;
  }
}
.area_gallery .block_gallery .side_txt {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}
.area_gallery .block_gallery .side_txt .box_ttl {
  width: 25vw;
  margin: auto;
}
@media all and (max-width: 480px) {
  .area_gallery .block_gallery .side_txt .box_ttl {
    width: 50vw;
  }
}
.area_gallery .block_gallery .side_txt .box_ttl img {
  width: 100%;
  height: auto;
}
.area_gallery .block_gallery .side_img {
  width: 100%;
  padding: 30px 0 0;
}
@media all and (max-width: 480px) {
  .area_gallery .block_gallery .side_img {
    padding: 10px 0 0 0px;
  }
}
.area_gallery .block_gallery .side_img .set_btn {
  position: absolute;
  top: -32px;
}
.area_gallery .block_gallery .side_img .set_btn .inner {
  position: relative;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-next,
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-prev {
  --swiper-navigation-color: #FFF;
  margin-top: 0;
  top: 0px;
  align-items: start;
  justify-content: flex-start;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-next {
  left: 32px;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-prev {
  left: 0px;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-next:after, .area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-prev:after {
  font-size: 1.6rem;
  background-color: #333;
  width: 22px;
  height: 22px;
  box-sizing: border-box;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-next:after {
  padding: 3px 0 0 9px;
}
.area_gallery .block_gallery .side_img .set_btn .inner .swiper-button-prev:after {
  padding: 3px 0 0 7px;
}
.area_gallery .block_gallery .side_img .swiper-pagination-bullet {
  background-color: #666;
  opacity: 1;
}
.area_gallery .block_gallery .side_img .swiper-pagination-bullet-active {
  background-color: #ededed;
}
.area_gallery .block_gallery .side_img .swiper-horizontal > .swiper-pagination-bullets,
.area_gallery .block_gallery .side_img .swiper-pagination-bullets.swiper-pagination-horizontal,
.area_gallery .block_gallery .side_img .swiper-pagination-custom,
.area_gallery .block_gallery .side_img .swiper-pagination-fraction {
  bottom: -16px;
  left: 0;
  width: 100%;
  text-align: left;
  padding-left: 20vw;
  box-sizing: border-box;
}
@media all and (max-width: 480px) {
  .area_gallery .block_gallery .side_img .swiper-horizontal > .swiper-pagination-bullets,
.area_gallery .block_gallery .side_img .swiper-pagination-bullets.swiper-pagination-horizontal,
.area_gallery .block_gallery .side_img .swiper-pagination-custom,
.area_gallery .block_gallery .side_img .swiper-pagination-fraction {
    text-align: center;
    padding-left: 0vw;
  }
}

.swiper_top .swiper-wrapper {
  transition-timing-function: linear;
}

.swiper_bottom .swiper-wrapper {
  transition-timing-function: linear;
}

.box_img_item {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.box_img_item img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.area_morning {
  background-color: #000;
  color: #FFF;
  padding-bottom: 6vw;
}
.area_morning .block_imgm {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 40px 6vw 0;
}
@media all and (max-width: 896px) {
  .area_morning .block_imgm {
    padding: 20px 20px 0;
  }
}
.area_morning .block_imgm .item_imgm img {
  width: 100%;
  height: auto;
}

.block_amimoto {
  padding: 0 20px 8vw;
}

.column_amimoto {
  max-width: 1200px;
  margin: auto;
}
.column_amimoto img {
  width: 100%;
  height: auto;
}
.column_amimoto .single_img {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  line-height: 0em;
}
.column_amimoto ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding: 15px 0 0;
}
@media all and (max-width: 896px) {
  .column_amimoto ul {
    gap: 5px;
    padding: 5px 0 0;
  }
}
.column_amimoto ul li {
  line-height: 0em;
}

.area_chef {
  padding: 8vw 20px 0;
}

.block_chef {
  max-width: 1020px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  background: #000;
}
.block_chef .box_img {
  width: 34%;
  position: relative;
  overflow: hidden;
}
@media all and (max-width: 480px) {
  .block_chef .box_img {
    width: 100%;
  }
}
.block_chef .box_img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.block_chef .box_txt {
  width: 66%;
  background-image: url("../images/bg_chef.jpg");
  background-size: cover;
  box-sizing: border-box;
  padding: 30px 40px;
  color: #FFF;
}
@media all and (max-width: 480px) {
  .block_chef .box_txt {
    width: 100%;
  }
}
.block_chef .box_txt h3 {
  font-size: 2.6rem;
  line-height: 1.2em;
  padding: 0 0 16px;
}
.block_chef .box_txt h3 .span_small {
  font-size: 13px;
}
.block_chef .box_txt p {
  font-size: 1.5rem;
  line-height: 2em;
}
.block_chef .box_txt dl {
  padding: 20px 0 0;
}
.block_chef .box_txt dl dt {
  font-size: 2.4rem;
  line-height: 1.2em;
  border-bottom: #FFF solid 1px;
}
.block_chef .box_txt dl dd {
  font-size: 1.4rem;
  line-height: 1.8em;
  padding: 10px 0 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}