@charset "UTF-8";
/* top layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* padding margin */
/* 縦書き */
/* 内径 */
/* 文字 */
/* intr
---------------------------------------------------------------------------*/
.pg-intr {
  background-image: url(../img/cuisine/intr-bg.jpg); }

/* anchor
---------------------------------------------------------------------------*/
.lay-anchor {
  margin-bottom: 120px; }
  @media screen and (max-width: 1500px) {
    .lay-anchor {
      margin-bottom: 8vw; } }
  @media screen and (max-width: 480px) {
    .lay-anchor {
      margin-bottom: 16vw; } }

/* dinner
---------------------------------------------------------------------------*/
.dinner-wrap {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1500px) {
    .dinner-wrap {
      width: 80vw; } }
  @media screen and (max-width: 480px) {
    .dinner-wrap {
      width: 89.3333333333vw;
      /* 余白40 */ } }
.dinner-ttl {
  margin-bottom: 66px; }
  @media screen and (max-width: 1500px) {
    .dinner-ttl {
      margin-bottom: 4.4vw; } }
  @media screen and (max-width: 480px) {
    .dinner-ttl {
      margin-bottom: 10.6666666667vw; } }
.dinner-list-img {
  position: relative; }
  .dinner-list-img-inner {
    position: relative;
    width: 345px;
    margin: 0 0 0 auto;
    z-index: 10; }
    @media screen and (max-width: 1500px) {
      .dinner-list-img-inner {
        width: 23vw; } }
    @media screen and (max-width: 480px) {
      .dinner-list-img-inner {
        width: 100%; } }
  .dinner-list-img::after {
    position: absolute;
    content: "";
    width: 345px;
    height: 100%;
    left: -5px;
    top: 10px;
    background-color: #55162D; }
    @media screen and (max-width: 1500px) {
      .dinner-list-img::after {
        width: 23vw;
        left: -0.3333333333vw;
        top: 0.6666666667vw; } }
    @media screen and (max-width: 480px) {
      .dinner-list-img::after {
        width: 100%;
        left: -2.6666666667vw;
        top: 2.6666666667vw; } }
  .dinner-list-img-num {
    position: absolute;
    width: 64px;
    height: 64px;
    z-index: 100;
    color: #ffffff;
    font-size: 36px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    left: -28px;
    bottom: -32px; }
    @media screen and (max-width: 1500px) {
      .dinner-list-img-num {
        font-size: 2.4vw; } }
    @media screen and (max-width: 480px) {
      .dinner-list-img-num {
        font-size: 8.4vw; } }
    @media screen and (max-width: 1500px) {
      .dinner-list-img-num {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
        left: -1.8666666667vw;
        bottom: -2.1333333333vw; } }
    @media screen and (max-width: 480px) {
      .dinner-list-img-num {
        width: 17.0666666667vw;
        height: 17.0666666667vw;
        left: -2vw;
        bottom: -10vw; } }
    .dinner-list-img-num span {
      display: block;
      width: 100%;
      white-space: nowrap;
      text-align: center;
      line-height: 1.1; }
    .dinner-list-img-num::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      background-color: #55162D;
      transform: rotate(45deg);
      z-index: -1; }
.dinner-list-tx-name {
  font-size: 20px;
  text-align: center;
  color: #55162D;
  margin-bottom: 16px;
  margin-top: 24px; }
  @media screen and (max-width: 1500px) {
    .dinner-list-tx-name {
      font-size: 1.3333333333vw; } }
  @media screen and (max-width: 480px) {
    .dinner-list-tx-name {
      font-size: 4.6666666667vw; } }
  @media screen and (max-width: 1500px) {
    .dinner-list-tx-name {
      margin-bottom: 1.0666666667vw;
      margin-top: 1.6vw; } }
  @media screen and (max-width: 480px) {
    .dinner-list-tx-name {
      margin-bottom: 4.2666666667vw;
      margin-top: 6.4vw; } }

/* utage
---------------------------------------------------------------------------*/
.utage {
  background-color: #55162D;
  color: #ffffff; }
  .utage-detail {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 78px 0; }
    @media screen and (max-width: 1500px) {
      .utage-detail {
        width: 80vw; } }
    @media screen and (max-width: 480px) {
      .utage-detail {
        width: 89.3333333333vw;
        /* 余白40 */ } }
    @media screen and (max-width: 1500px) {
      .utage-detail {
        padding: 5.2vw 0; } }
    @media screen and (max-width: 480px) {
      .utage-detail {
        padding: 10.6666666667vw 0; } }
    .utage-detail + .utage-detail {
      border-top: 1px solid rgba(255, 255, 255, 0.5); }
    .utage-detail-ttlbox {
      position: relative;
      padding-bottom: 28px;
      margin-bottom: 50px; }
      @media screen and (max-width: 1500px) {
        .utage-detail-ttlbox {
          padding-bottom: 1.8666666667vw;
          margin-bottom: 3.3333333333vw; } }
      @media screen and (max-width: 480px) {
        .utage-detail-ttlbox {
          padding-bottom: 7.4666666667vw;
          margin-bottom: 6.6666666667vw; } }
      .utage-detail-ttlbox::after {
        position: absolute;
        content: "";
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 21px;
        height: 21px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url(../img/cmn/lay-ttl-icn-white.png); }
        @media screen and (max-width: 1500px) {
          .utage-detail-ttlbox::after {
            width: 1.4vw;
            height: 1.4vw; } }
        @media screen and (max-width: 480px) {
          .utage-detail-ttlbox::after {
            width: 5.6vw;
            height: 5.6vw; } }
    .utage-detail-ttl {
      font-size: 38px;
      letter-spacing: .15em; }
      @media screen and (max-width: 1500px) {
        .utage-detail-ttl {
          font-size: 2.5333333333vw; } }
      @media screen and (max-width: 480px) {
        .utage-detail-ttl {
          font-size: 8.8666666667vw; } }
      @media screen and (max-width: 480px) {
        .utage-detail-ttl {
          font-size: 8vw;
          margin-bottom: 0.5em; } }
    .utage-detail-catch {
      letter-spacing: .15em; }
    .utage-detail-img-wide {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (max-width: 480px) {
        .utage-detail-img-wide {
          display: block; } }
      .utage-detail-img-wide .left {
        width: 75%;
        overflow: hidden; }
        @media screen and (max-width: 480px) {
          .utage-detail-img-wide .left {
            width: 100%; } }
        .utage-detail-img-wide .left img {
          width: 100%;
          height: 600px;
          object-fit: cover;
          object-position: center;
          font-family: "object-fit: cover; object-position: center;"; }
          @media screen and (max-width: 1500px) {
            .utage-detail-img-wide .left img {
              height: 40vw; } }
          @media screen and (max-width: 480px) {
            .utage-detail-img-wide .left img {
              height: 60vw; } }
      .utage-detail-img-wide .right {
        width: 25%;
        overflow: hidden; }
        @media screen and (max-width: 480px) {
          .utage-detail-img-wide .right {
            width: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            margin-top: -1px; }
            .utage-detail-img-wide .right > * {
              flex: 1; } }
        .utage-detail-img-wide .right img {
          width: 100%;
          height: 200px;
          object-fit: cover;
          object-position: center;
          font-family: "object-fit: cover; object-position: center;"; }
          @media screen and (max-width: 1500px) {
            .utage-detail-img-wide .right img {
              height: 13.3333333333vw; } }
          @media screen and (max-width: 480px) {
            .utage-detail-img-wide .right img {
              height: 20vw; } }
          .utage-detail-img-wide .right img.thumbs-four {
            height: 150px; }
            @media screen and (max-width: 1500px) {
              .utage-detail-img-wide .right img.thumbs-four {
                height: 10vw; } }
            @media screen and (max-width: 480px) {
              .utage-detail-img-wide .right img.thumbs-four {
                height: 20vw; } }
        .utage-detail-img-wide .right .swiper-wrapper {
          display: block; }
          @media screen and (max-width: 480px) {
            .utage-detail-img-wide .right .swiper-wrapper {
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex; } }
        .utage-detail-img-wide .right .swiper-slide {
          width: 100% !important; }
          @media screen and (max-width: 480px) {
            .utage-detail-img-wide .right .swiper-slide {
              width: auto !important;
              flex: 1; } }
    .utage-detail-img-min .left {
      width: 100%;
      height: 400px;
      overflow: hidden; }
      @media screen and (max-width: 1500px) {
        .utage-detail-img-min .left {
          height: 26.6666666667vw; } }
      @media screen and (max-width: 480px) {
        .utage-detail-img-min .left {
          height: 60vw; } }
    .utage-detail-img-min .right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      overflow: hidden; }
      @media screen and (max-width: 480px) {
        .utage-detail-img-min .right {
          margin-top: -1px; } }
      .utage-detail-img-min .right > * {
        flex: 1; }
      .utage-detail-img-min .right img {
        width: 100%;
        height: 134px;
        object-fit: cover;
        object-position: center;
        font-family: "object-fit: cover; object-position: center;"; }
        @media screen and (max-width: 1500px) {
          .utage-detail-img-min .right img {
            height: 8.9333333333vw; } }
        @media screen and (max-width: 480px) {
          .utage-detail-img-min .right img {
            height: 20vw; } }
    @media screen and (min-width: 481px) {
      .utage-detail .right img {
        transition-property: all;
        transition-duration: 0.3s;
        transition-timing-function: ease; }
        .utage-detail .right img:hover {
          cursor: pointer;
          opacity: 0.6; } }
    .utage-detail-desc {
      margin: 50px 0; }
      @media screen and (max-width: 1500px) {
        .utage-detail-desc {
          margin: 3.3333333333vw 0; } }
      @media screen and (max-width: 480px) {
        .utage-detail-desc {
          margin: 6.6666666667vw 0; } }
    .utage-detail .lay-imgtx-tx {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
    @media screen and (min-width: 481px) {
      .utage-detail .lay-imgtx-tx .utage-detail-desc {
        margin-top: 0; } }
    @media screen and (max-width: 480px) {
      .utage-detail .lay-imgtx-tx .utage-detail-desc {
        text-align: center; } }
    .utage-detail-btn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .utage-detail-btn .btn-def {
        width: 408px;
        height: 74px; }
        @media screen and (max-width: 1500px) {
          .utage-detail-btn .btn-def {
            width: 27.2vw;
            height: 4.9333333333vw; } }
        @media screen and (max-width: 480px) {
          .utage-detail-btn .btn-def {
            width: 80vw;
            height: 12.8vw; } }
      .utage-detail-btn + .utage-detail-btn {
        margin-top: 0.5em; }
    .utage-detail .imgright .utage-detail-btn {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; }
      @media screen and (max-width: 480px) {
        .utage-detail .imgright .utage-detail-btn {
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; } }
    .utage-detail .imgright .lay-imgtx-tx {
      margin: 0 45px 0 auto;
      text-align: right; }
      @media screen and (max-width: 1500px) {
        .utage-detail .imgright .lay-imgtx-tx {
          margin: 0 3vw 0 auto; } }
      @media screen and (max-width: 480px) {
        .utage-detail .imgright .lay-imgtx-tx {
          margin: 0;
          text-align: center; } }
    .utage-detail .imgleft .utage-detail-btn {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; }
      @media screen and (max-width: 480px) {
        .utage-detail .imgleft .utage-detail-btn {
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; } }
    .utage-detail .imgleft .lay-imgtx-tx {
      margin: 0 auto 0 45px;
      text-align: left; }
      @media screen and (max-width: 1500px) {
        .utage-detail .imgleft .lay-imgtx-tx {
          margin: 0 auto 0 3vw; } }
      @media screen and (max-width: 480px) {
        .utage-detail .imgleft .lay-imgtx-tx {
          margin: 0;
          text-align: center; } }

/* other
---------------------------------------------------------------------------*/
.other {
  background-image: url(../img/cuisine/other-bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #333333; }
  .other .utage-detail-ttl,
  .other .utage-detail-catch {
    color: #55162D; }
  .other .utage-detail-ttlbox::after {
    background-image: url(../img/cmn/lay-ttl-icn.png); }
  .other .utage-detail + .utage-detail {
    border-top: 1px solid rgba(0, 0, 0, 0.5); }

/* breakfast
---------------------------------------------------------------------------*/
.breakfast {
  background-color: #F1EADE;
  padding: 78px 0;
  text-align: center; }
  @media screen and (max-width: 1500px) {
    .breakfast {
      padding: 5.2vw 0; } }
  @media screen and (max-width: 480px) {
    .breakfast {
      padding: 10.6666666667vw 0; } }
  .breakfast-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breakfast-img > * {
      flex: 1; }
  .breakfast-wrap {
    width: 1448px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1500px) {
      .breakfast-wrap {
        width: 96.5333333333vw; } }
    @media screen and (max-width: 480px) {
      .breakfast-wrap {
        width: 89.3333333333vw;
        /* 余白40 */ } }
  .breakfast-imglist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .breakfast-imglist > * {
      width: 446px; }
      @media screen and (max-width: 1500px) {
        .breakfast-imglist > * {
          width: 29.7333333333vw; } }
      @media screen and (max-width: 480px) {
        .breakfast-imglist > * {
          width: auto;
          flex: 1; } }

/* restaurant
---------------------------------------------------------------------------*/
.restaurant {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../img/cuisine/restaurant-bg.jpg);
  padding: 78px 0;
  text-align: center; }
  @media screen and (max-width: 1500px) {
    .restaurant {
      padding: 5.2vw 0; } }
  @media screen and (max-width: 480px) {
    .restaurant {
      padding: 10.6666666667vw 0; } }
  .restaurant .lay-ttl-hd {
    color: #ffffff; }
    .restaurant .lay-ttl-hd::after {
      background-image: url(../img/cmn/lay-ttl-icn-white.png); }
  .restaurant-wrap {
    width: 1448px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1500px) {
      .restaurant-wrap {
        width: 96.5333333333vw; } }
    @media screen and (max-width: 480px) {
      .restaurant-wrap {
        width: 89.3333333333vw;
        /* 余白40 */ } }
  .restaurant-sl {
    background-color: #55162D;
    padding: 10px;
    margin-bottom: 80px; }
    @media screen and (max-width: 1500px) {
      .restaurant-sl {
        padding: 0.6666666667vw;
        margin-bottom: 5.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .restaurant-sl {
        padding: 2.6666666667vw;
        margin-bottom: 10.6666666667vw; } }
    .restaurant-sl-box {
      position: relative;
      overflow: hidden; }
      .restaurant-sl-box .restaurantsl-pagination {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        bottom: 20px;
        z-index: 10; }
        @media screen and (max-width: 1500px) {
          .restaurant-sl-box .restaurantsl-pagination {
            bottom: 1.3333333333vw; } }
        @media screen and (max-width: 480px) {
          .restaurant-sl-box .restaurantsl-pagination {
            bottom: 5.3333333333vw; } }
        .restaurant-sl-box .restaurantsl-pagination .swiper-pagination-bullet {
          width: 10px;
          height: 10px;
          margin: 0px 3px;
          background-color: #9F9F9F;
          opacity: 1; }
          @media screen and (max-width: 1500px) {
            .restaurant-sl-box .restaurantsl-pagination .swiper-pagination-bullet {
              width: 0.6666666667vw;
              height: 0.6666666667vw;
              margin: 0 0.2vw; } }
          @media screen and (max-width: 480px) {
            .restaurant-sl-box .restaurantsl-pagination .swiper-pagination-bullet {
              width: 2.6666666667vw;
              height: 2.6666666667vw;
              margin: 0 0.8vw; } }
        .restaurant-sl-box .restaurantsl-pagination .swiper-pagination-bullet-active {
          background-color: #ffffff; }
  .restaurant-detail {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    color: #ffffff;
    text-align: left; }
    @media screen and (max-width: 1500px) {
      .restaurant-detail {
        width: 80vw; } }
    @media screen and (max-width: 480px) {
      .restaurant-detail {
        width: 89.3333333333vw;
        /* 余白40 */ } }
    .restaurant-detail + .restaurant-detail {
      margin-top: 64px; }
      @media screen and (max-width: 1500px) {
        .restaurant-detail + .restaurant-detail {
          margin-top: 4.2666666667vw; } }
      @media screen and (max-width: 480px) {
        .restaurant-detail + .restaurant-detail {
          margin-top: 8.5333333333vw; } }
  .restaurant-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 80px; }
    @media screen and (max-width: 1500px) {
      .restaurant-btn {
        margin-top: 5.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .restaurant-btn {
        margin-top: 10.6666666667vw; } }
    .restaurant-btn .btn-def {
      width: 364px;
      height: 67px; }
      @media screen and (max-width: 1500px) {
        .restaurant-btn .btn-def {
          width: 24.2666666667vw;
          height: 4.4666666667vw; } }
      @media screen and (max-width: 480px) {
        .restaurant-btn .btn-def {
          width: 80vw;
          height: 12.8vw; } }
