main {
  overflow: hidden;
}

.mv {
  height: 100vh;
  min-height: 510px;
  max-height: 768px;
}

.mv::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 106px;
  left: 50%;
  transform: translateX(-50%);
  width: min(394px, 95.2vw);
  height: 116px;
  background-image: url(../img/top/mv-dishes-sp.webp);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}

.mv-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mv__content {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

.mv__txt {
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  font-size: min(54px, 9.6vw);
  font-weight: 700;
  top: min(125px, max(100px, calc(125px + 50vh - 384px)));
  position: absolute;
  right: 0;
  left: 0;
  line-height: calc(45 / 36);
  z-index: 1000;
  text-shadow: 0px 0px 4px #000000;
}

.yuge {
  position: absolute;
  z-index: 100;
  bottom: calc(min(300px, 80vw) + 152px);
  transform: translateY(50%);
  max-width: 386px;
  margin: auto;
  left: -58px;
  right: 0;
}

.mv__slider__wrap {
  position: absolute;
  bottom: 144px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mv__slider__wrap.loaded {
  opacity: 1;
}

.mv__slider-item {
  display: flex !important;
  justify-content: center;
}

.mv__slider-item01>img {
  width: min(300px, 80vw) !important;
}

.mv__slider-item02>img {
  width: min(315px, 84vw) !important;
}

.mv__slider-item03>img {
  width: min(315px, 84vw) !important;
}

.fv__bg-pc {
  display: none;
}

/* about セクション */
.about {
  position: relative;
  background-color: #181818;
  color: #fff;
  overflow: hidden;
}

.about * {
  position: relative;
  z-index: 2;
}

.about::before {
  content: "";
  position: absolute;
  display: block;
  width: 365px;
  height: 342px;
  background-image: url(../img/top/top__bg01-sp.webp);
  background-size: cover;
  background-position: left top;
  filter: grayscale(1);
  left: 0px;
  top: 0;
  mix-blend-mode: luminosity;
  z-index: 1;
}

.about::after {
  content: "";
  position: absolute;
  display: block;
  width: 287px;
  height: 349px;
  background-image: url(../img/top/top__bg02-sp.webp);
  background-size: contain;
  z-index: 0;
  right: -2px;
  bottom: 36px;
  mix-blend-mode: screen;
}

.about__txt {
  margin: 40px auto;
  text-shadow: 0px 0px 3px #000000;
  padding-right: 5px;
  font-weight: 300;
}

.about__txt span {
  display: inline-block;
  max-width: 250px;
}

/* 共通クラス */
.content-wrapper {
  padding: 100px 20px;
}

.content03 {
  background-image: url(../img/common/so-white.webp);
  background-size: 400px 392px;
  background-repeat: repeat;
}

.product-container .product-item__title {
  font-size: 20px;
}

.products {
  padding-top: 150px;
  padding-bottom: 150px;
}

.news-list {
  margin: 40px auto 0;
}

.product-container .product-item__text {
  font-size: 14px;
  line-height: 28px;
}

/*  */
.product-item__category__wrap {
  text-align: center;
}

.product-item__category {
  min-width: 180px;
  max-width: 100%;
  text-align: center;
  padding: 6px;
  line-height: 1.4;
  background-color: #fff;
  border: 1px solid #1A1819;
  margin: 0 auto;
  margin-bottom: 30px;
  display: inline-block;
  font-weight: 600;

}

.product-item__wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 335px;
  gap: 60px 15px;
  margin: 0 auto;
  margin-bottom: 90px;
}

.product-item__wrap>.product-item {
  width: calc((100% - 15px)/2)
}

.products .common-button {
  margin-top: -30px;
}

.products .h__ttl {
  margin-bottom: 50px;
}

.product-container {
  margin-top: 0;
}

@media (min-width: 768px) {
  .mv {
    max-height: none;
  }

  @media (max-aspect-ratio: 1366 / 768) {
    .mv {
      height: auto;
      aspect-ratio: 829 / 576;
      width: calc(100vw - 210px);
    }
  }

  .mv::before {
    bottom: 62px;
    width: min(913px, 66.8vw);
    aspect-ratio: 913 / 240;
    height: auto;
    background-image: url(../img/top/mv-dishes-pc.webp);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
  }

  .mv__content {
    position: absolute;
    top: 0;
    width: 100%;
  }

  .mv-bg {
    width: 100%;
    height: calc(100% + 200px);
    object-fit: cover;
    object-position: center -100px;
  }

  .mv__txt {
    color: #fff;
    font-family: "Zen Old Mincho", serif;
    text-align: center;
    font-size: 3.95vw;
    top: 4.5%;
    position: absolute;
    right: 0;
    left: 0;
    line-height: calc(77 / 54);
    z-index: 1000;
  }

  .yuge {
    position: absolute;
    z-index: 100;
    top: auto;
    bottom: calc(min(566 / 1156 * 100vw, 556px) + 22px);
    transform: translateY(50%);
    width: 81%;
    max-width: 705px;
    left: 0;
    right: 0;
    margin: auto;
    right: calc(210px - 9%);
  }

  .mv__slider__wrap {
    bottom: 32px;
  }

  .mv__slider-item01>img {
    width: calc(528 / 1156 * 100vw) !important;
    max-width: 528px;
    margin: 0 auto;
  }

  .mv__slider-item02>img {
    width: calc(566 / 1156 * 100vw) !important;
    max-width: 566px;
    margin: 0 auto;
  }

  .mv__slider-item03>img {
    width: calc(527 / 1156 * 100vw) !important;
    max-width: 527px;
    margin: 0 auto;
  }

  .content-wrapper {
    padding: 150px 20px;
    max-width: 896px;
    margin: 0 auto;
    box-sizing: content-box;
  }

  .about::before {
    width: min(801px, max(365px, calc(801px + 100vw - 1366px)));
    height: min(751px, max(342px, calc(751px + 100vw - 1366px)));
    background-image: url(../img/top/top__bg01-pc.webp);
    background-size: 100% auto;
    background-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(to bottom,
        black 0%,
        black 75%,
        transparent 90%,
        transparent 100%);
    mask-image: linear-gradient(to bottom,
        black 0%,
        black 75%,
        transparent 90%,
        transparent 100%);
  }

  .about::after {
    /* width: 740px; */
    width: min(1034px, max(355px, calc(1074px + 100vw - 1366px)));
    height: 817px;
    background-image: url(../img/top/top__bg02-pc.webp);
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat;
    right: -354px;
    bottom: -170px;
    right: max(-276px, min(-200px, calc(-354px - 100vw + 1366px)));
    bottom: max(-88px, min(-50px, calc(-170px - 50vw + 683px)));
    z-index: 0;
    mix-blend-mode: screen;
  }

  .about__txt {
    margin: 70px auto;
    padding-right: 0px;
    max-width: 581px;
    text-align: center;
  }

  .about__txt span {
    max-width: none;
  }

  .about .common-button {
    margin-top: 67px;
  }

  .content03 .h__ttl {
    text-align: left;
  }

  .content03 .common-button {
    margin-top: 33px;
    margin-right: 0;
  }

  /*  */
  .product-item__category {
    min-width: 180px;
    max-width: 100%;
    text-align: center;
    padding: 6px;
    line-height: 1.4;
    background-color: #fff;
    border: 1px solid #1A1819;
    margin: 0 auto;
    margin-bottom: 50px;
    display: inline-block;
    font-weight: 600;

  }

  .product-item__wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: calc(240px*2 + 24px);
    gap: 68px 24px;
    margin: 0 auto;
    margin-bottom: 118px;
  }

  .product-item__wrap>.product-item {
    width: calc((100% - 24px)/2) !important;
  }

  .products .common-button {
    margin-top: -60px;
  }
}

@media (min-width: 1146px) {

  /*  */
  .product-item__wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: calc(270px*3 + 43px*2);
    gap: 68px 43px;
    margin: 0 auto;
    margin-bottom: 118px;
  }

  .product-item__wrap>.product-item {
    width: calc((100% - 43px*2)/3) !important;
  }
}