@charset "utf-8";
.l-pgTtl {
  background-image: url("../image/pgttl_shop.jpg?v=2");
}
@media print, screen and (min-width:1101px) {
  .l-pgTtl {
    background-position: center -60px;
  }
}

/*----------------------------------------------------------------------------------------------------

  料理
  
----------------------------------------------------------------------------------------------------*/
.sec-ryori {
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  padding-top: var(--block-space-l);
  padding-bottom: var(--block-space-max);
  position: relative;
}
.sec-ryori:before {
  content: "";
  height: 100%;
  background: url("../image/bg3.jpg") repeat left top;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.ryori {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  display: flex;
}
.ryori .body {
  flex: 1;
}
.ryori .lead {
  color: var(--color-red);
  font-family: var(--ff-min);
  font-weight: 600;
  font-size: var(--fs-4l);
  padding-bottom: 4rem;
}
@media print, screen and (min-width:1101px) {
  .sec-ryori:before {
    width: calc(50% - 360px);
  }
  .sec-ryori:after {
    content: "";
    width: calc(50% - 720px);
    height: 600px;
    background: url("../image/bg3.jpg") repeat left top;
    position: absolute;
    left: 0;
    top: calc(-1* var(--block-space-m) * 3);
    z-index: -1;
  }
  .ryori .body {
    padding-right: 60px;
  }
}
@media screen and (max-width:1100px) {
  .sec-ryori:before {
    width: 15%;
  }
  .ryori .body {
    padding-right: calc(40 / 1100 * 100vw);
  }
}
@media print, screen and (min-width:901px) {
  .ryori .photo {
    width: 35%;
  }
  .ryori .body {
    align-self: center;
  }
  .ryori .lead {
    margin-top: -4em;
    position: relative;
  }
}
@media screen and (max-width:900px) {
  .sec-ryori:before {
    width: calc(var(--side-space) * 2);
  }
  .ryori .photo {
    display: none;
  }
}
@media screen and (max-width:900px) {
  .ryori .lead {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width:640px) {
  .sec-ryori:before {
    display: none;
  }
}

/*--------------------------------------------------------------------------------
  gallery
--------------------------------------------------------------------------------*/
.ryori-gallery {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.ryori-gallery .item {
  width: calc((100% / 4) - (20px / 1.333));
  line-height: 1;
}
@media print, screen and (min-width:901px) {
  .ryori-gallery {
    padding-top: var(--block-space-m);
  }
  .ryori-gallery .photo {
    display: none;
  }
}
@media screen and (max-width:1100px) {
  .ryori-gallery {
    gap: 10px;
  }
  .ryori-gallery .item {
    width: calc((100% / 4) - (10px / 1.333));
  }
}
@media screen and (max-width:900px) {
  .ryori-gallery {
    padding-top: var(--block-space-l);
  }
  .ryori-gallery .item {
    width: calc((100% / 2) - (10px / 2));
  }
  .ryori-gallery .item:nth-of-type(n+3) {
    width: calc((100% / 3) - (10px / 1.5));
  }
}
@media screen and (max-width:640px) {
  .ryori-gallery {
    gap: calc(10 / 640 * 100vw) 2%;
  }
  .ryori-gallery .item {
    width: calc((100% / 2) - (2% / 2));
  }
  .ryori-gallery .item:nth-of-type(n+3) {
    width: calc((100% / 3) - (2% / 1.5));
  }
}

/*----------------------------------------------------------------------------------------------------

  お酒
  
----------------------------------------------------------------------------------------------------*/
.sec-sake {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.sec-sake .inner {
  background: url("../image/sake_bg.jpg") no-repeat center center;
  background-color: var(--color-brown);
}
.sake {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.sake .lead {
  font-family: var(--ff-min);
  font-weight: 600;
  font-size: var(--fs-4l);
  padding-bottom: 4rem;
}
@media print, screen and (min-width:1241px) {
  .sec-sake .inner {
    background-size: contain;
  }
  .sake {
    padding-left: 520px;
  }
}
@media screen and (max-width:1240px) {
  .sec-sake .inner {
    background-size: cover;
  }
  .sake {
    padding-left: calc(520 / 1240 * 100vw);
  }
}
@media print, screen and (min-width:901px) {
  .sec-sake:before {
    content: "";
    width: calc(50% - 90px);
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: var(--block-space-s);
    background: url("../image/sake.jpg") no-repeat right center;
    background-size: cover;
    opacity: 0;
  }
  .sec-sake.is-scroll:before {
    animation: fadeBlock_fadeIn 1s forwards;
  }
  .sec-sake .inner {
    margin-left: var(--side-space);
    padding-top: var(--block-space-l);
    padding-bottom: var(--block-space-l);
  }
  .sake .lead {
    padding-top: 1em;
  }
}
@media screen and (max-width:900px) {
  .sec-sake .inner {
    padding-top: var(--block-space-max);
    text-align: left;
  }
  .sake {
    padding-left: var(--side-space);
    padding-right: var(--side-space);
  }
  .sec-sake .inner:after {
    content: "";
    width: calc(100% - var(--side-space));
    height: calc(300 / 800 * 100vw);
    min-height: 150px;
    display: inline-block;
    background: url("../image/sake.jpg") no-repeat center center;
    background-size: cover;
    vertical-align: bottom;
    margin-top: var(--block-space-l);
    margin-bottom: calc(-1 * var(--block-space-m));
    opacity: 0;
  }
  .sec-sake.is-scroll .inner:after {
    animation: fadeBlock_fadeIn 1s forwards;
  }
}
@media screen and (max-width:640px) {
  .sake .lead {
    padding-bottom: 3rem;
  }
}

/*----------------------------------------------------------------------------------------------------

  宴会
  
----------------------------------------------------------------------------------------------------*/
.sec-enkai {
  padding-top: calc(var(--block-space-l) * 2);
  position: relative;
}
.sec-enkai:after {
  content: "";
  height: 100%;
  background: url("../image/bg3.jpg") repeat left top;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.enkai {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.enkai .lead {
  font-family: var(--ff-min);
  font-weight: 600;
  font-size: var(--fs-4l);
  color: var(--color-red);
  padding-bottom: 4rem;
}
@media print, screen and (min-width:1241px) {
  .enkai {
    padding-right: 520px;
  }
}
@media screen and (max-width:1240px) {
  .enkai {
    padding-right: calc(520 / 1240 * 100vw);
  }
}
@media print, screen and (min-width:1101px) {
  .sec-enkai:after {
    width: calc(50% - 360px);
  }
  .enkai {
    min-height: 400px;
  }
  .enkai:before {
    width: calc(50% - 90px);
  }
}
@media screen and (max-width:1100px) {
  .sec-enkai:after {
    width: 15%;
  }
  .enkai {
    min-height: 350px;
  }
  .enkai:before {
    width: calc(50% - (90 / 1100 * 100vw));
  }
}
@media print, screen and (min-width:901px) {
  .sec-enkai .inner {
    padding-left: var(--side-space);
    padding-right: var(--side-space);
  }
  .enkai:before {
    content: "";
    width: calc(50% - 90px);
    height: calc(100% - (var(--block-space-m) * 2));
    display: block;
    position: absolute;
    right: 0;
    top: calc(var(--block-space-m) * 2);
    background: url("../image/enkai.jpg") no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width:900px) {
  .enkai {
    min-height: inherit;
    padding-left: var(--side-space);
    padding-right: 0;
  }
  .enkai:after {
    content: "";
    width: 75%;
    height: calc(300 / 800 * 100vw);
    min-height: 150px;
    display: block;
    background: url("../image/enkai.jpg") no-repeat center center;
    background-size: cover;
    margin-top: var(--block-space-l);
  }
  .enkai .lead,
  .enkai p {
    padding-right: calc(var(--side-space) * 3);
  }
}
@media screen and (max-width:640px) {
  .sec-enkai:after {
    display: none;
  }
  .enkai {
    padding-right: var(--side-space);
  }
  .enkai:after {
    width: 100%;
  }
  .enkai .lead,
  .enkai p {
    padding-right: 0;
  }
  .enkai .lead {
    padding-bottom: 3rem;
  }
}

/*----------------------------------------------------------------------------------------------------

  gallery
  
----------------------------------------------------------------------------------------------------*/
.sec-gallery {
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  padding-top: var(--block-space-l);
  padding-bottom: var(--block-space-max);
  position: relative;
}
.sec-gallery:before {
  content: "";
  height: 100%;
  background: url("../image/bg3.jpg") repeat left top;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.gallery {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.gallery .item {
  line-height: 1;
}
@media print, screen and (min-width:1101px) {
  .sec-gallery:before {
    width: calc(50% - 360px);
  }
  .gallery .item:nth-last-of-type(-n+2) {
    width: calc((100% / 2) - (20px / 2));
  }
  .gallery .item:nth-last-of-type(2) {
    text-align: right;
  }
  .gallery .item:last-of-type {
    text-align: left;
  }
  .gallery .item {
    width: calc((100% / 3) - (20px / 1.5));
  }
  .gallery .item.p-fadeBlock:nth-of-type(3n+2) {
    animation-delay: 0.2s;
  }
  .gallery .item.p-fadeBlock:nth-of-type(3n+2) .blur img {
    transition-delay: 0.2s;
  }
  .gallery .item.p-fadeBlock:nth-of-type(3n+3) {
    animation-delay: 0.4s;
  }
  .gallery .item.p-fadeBlock:nth-of-type(3n+3) .blur img {
    transition-delay: 0.4s;
  }
}
@media screen and (max-width:1100px) {
  .sec-gallery:before {
    width: 15%;
  }
  .gallery {
    gap: 15px;
  }
  .gallery .item {
    width: calc((100% / 2) - (15px / 2));
  }
  .gallery .item.p-fadeBlock:nth-of-type(even) {
    animation-delay: 0.2s;
  }
  .gallery .item.p-fadeBlock:nth-of-type(even) .blur img {
    transition-delay: 0.2s;
  }
}
@media screen and (max-width:900px) {
  .gallery {
    gap: 10px;
  }
  .gallery .item {
    width: calc((100% / 2) - (10px / 2));
  }
}
@media screen and (max-width:640px) {
  .sec-gallery:before {
    display: none;
  }
  .gallery {
    gap: calc(10 / 640 * 100vw) 2%;
  }
  .gallery .item {
    width: calc((100% / 2) - (2% / 2));
  }
}
