@charset "UTF-8";

/* hubspot修正 */

@media (min-width: 320px) {
.container-fluid {
    padding-right: 0;
    padding-left: 0;
}
}


@media (min-width: 768px) {
.container-fluid {
    padding-right: 0;
    padding-left: 0;
}
}
@media (min-width: 320px) {
    main .menu {
        background: url(../images/common/bg_pattern_01.png)center center / cover no-repeat;
        background-position: top;

    }

    .menu #h1_area {
        background: url(../images/menu/h1_bg_menu.jpg)center center / cover no-repeat;
        background-position: top;
        padding: 8vw 0;
        color: #FFF;
        height: 60vh;
        display: flex;
        align-items: center;
    }
}


@media (min-width: 768px) {
    main .menu {
        background: url(../images/common/bg_pattern_01.png);
        background-position: top;
    }

    .menu #h1_area {

        padding: 8vw 0;
        height: auto;
    }
}



.menu #h1_area h1 {
    font-family: "Yuji Syuku", serif;
    writing-mode: vertical-rl;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.40);
}

@media (min-width: 320px) {
    .menu #h1_area h1 {
        font-size: 3.4rem;
        letter-spacing: 3px;
        margin: auto;
        padding-top: calc(16rem - 2vh);
    }

}


@media (min-width: 768px) {
    .menu #h1_area h1 {
        font-size: 4.4rem;
        letter-spacing: 5px;
        margin: auto;
        padding-top: 10vh;
    }
}


@media (min-width: 320px) {

    .menu #first {
        text-align: center;
        padding: 4rem 0;
    }

    .menu #first p {
        font-size: 1.6rem;
        letter-spacing: 2px;
        line-height: 1.7;
        width: 100%;
    }
    .menu #first .container{
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
    }
}

@media (min-width: 768px) {

    .menu #first {
        text-align: center;
        padding: 14rem 0;
    }

    .menu #first p {
        font-size: 2rem;
        letter-spacing: 3.4px;
        line-height: 2;
        width: auto;
    }
    .menu #first .container{
        display: flex;
        flex-wrap: nowrap;
        gap: 4rem;
    }
}

@media (min-width: 320px) {
    .menu #first .container .illust{
     max-width: 12rem;
    }
    .menu #first .container .illust:nth-of-type(1){
        margin-right: auto;
    }
    .menu #first .container .illust:nth-of-type(2){
        margin-left: auto;
    }

}

@media (min-width: 768px) {
.menu #first .container .illust{
 max-width: 16rem;
}
}


/* メニュースクロールリンク */
.menu_link li{
    transition:.3s;
}

.menu_link li.active{
    background:#173f5f;
}

.menu_link li.active a{
    color:#fff;
}
#dinner,
#lunch,
#course,
#drink {
    scroll-margin-top: 140px;
}

#menu_area {
    position: relative;
}

.menu .menu_link {
    position: sticky;
    z-index: 998;
    top: 8rem;
    display: flex;
    justify-content: center;
    background: rgba(252, 247, 246, 0.95);
    height: 6rem;
    display: flex;
    align-items: center;
    padding-top: 5px;
    margin-bottom: 0;
}
@media (min-width: 320px) {
.menu .menu_link li {
    padding: 0 1rem;
    font-size: 1.3rem;
}
.menu .menu_link li a{
    font-family: "Shippori Mincho", serif;
  font-weight: 600;
    font-size: 1.3rem;
}
}
@media (min-width: 768px) {
    .menu .menu_link li {
        padding: 0 1.5rem;
    }
    .menu .menu_link li a{
        font-size: 1.5rem;
    }
    }
    
@media (min-width: 320px) {
    .menu_noren_bg {
      height: 34vw;
        max-height: 220px;
        width: 100vw;
        z-index: 4;
        position: relative;
    }
    
    }
    
    
    @media (min-width: 768px) {
      .menu_noren_bg{
        height: 14vw;
          max-height: 220px;
      }
      
      }

@media (min-width: 320px) {
    .menu_noren_bg.navy {

        background: url(../images/menu/noren_navy_sp.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        display: grid;
        align-content: center;
        justify-items: center;
        color: #FFF;
        width: auto;
    }
    
    .menu_noren_bg.white {
    
        background: url(../images/menu/noren_white_sp.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        display: grid;
        align-content: center;
        justify-items: center;
        color: inherit;
        width: auto
    }

}

@media (min-width: 768px) {
.menu_noren_bg.navy {

    background: url(../images/menu/noren_navy.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: grid;
    align-content: center;
    justify-items: center;
}

.menu_noren_bg.white {

    background: url(../images/menu/noren_white.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: grid;
    align-content: center;
    justify-items: center;
}
}


@media (min-width: 320px) {
.menu_noren_bg h2{
    font-family: "Shippori Mincho", serif;
  font-weight: 800;
    font-size: 2rem;
    letter-spacing: 2px;
}
}

@media (min-width: 768px) {
    .menu_noren_bg h2{
        font-size: 2.2rem;
        letter-spacing: 2.2px;
    }
    }
.menu_noren_bg img{
    height: 2.4rem;
margin-bottom: 0.75rem;
}


@media (min-width: 320px) {
    .menu_content {
        text-align: center;
        padding-bottom: 10rem;
    }

    .menu_content h3 {
        font-family: "Shippori Mincho", serif;
  font-weight: 800;
        border-radius: 79px;
        background: rgba(255, 223, 128, 0.50);
        box-shadow: 0 4px 30px 10px rgba(255, 223, 128, 0.60);
        color: rgba(227, 0, 0, 0.88);
        font-size: 2rem;
        letter-spacing: 2px;
        width: fit-content;
        margin: 5rem auto 3rem;
    }

    .menu_content .menu_list {
        display: grid;
        justify-content: center;
        text-align: left;
        overflow: hidden;
        border-radius: 7px;
        background: #FFF;
        box-shadow: 0 2px 22px 0 rgba(0, 0, 0, 0.08);
        padding: 2rem;
        gap: 2rem;
    }
  .menu_list .text-right{
  text-align: right;
  }
}

@media (min-width: 768px) {
    .menu_content {
        text-align: center;
        padding-bottom: 12rem;
    }

    .menu_content h3 {

        font-size: 2.4rem;
        letter-spacing: 2.4px;
        margin: 6rem auto 3rem;
    }

    .menu_content .menu_list {
        padding: 4rem;
        gap: 2rem;
    }
}


@media (min-width: 320px) {
    .menu_content .list_content {
        display: grid;
        flex-wrap: wrap;
        gap: 3rem;
    }

    .menu_content .list_box {
        width: 100%;
        border-bottom: 1px solid #CACACA;
        padding-bottom: 1rem;
    }
    .menu_list .list_content:last-child  .list_box:last-child{
        border-bottom: none;
    }
    .menu_content .list_box p{
        margin-bottom: 0.2rem;
    }
}

@media (min-width: 768px) {
    .menu_content .list_content {
        display: flex;
        flex-wrap: nowrap;
    }

    .menu_content .list_box {
        width: 50%;
    }
    .menu_list .list_content:last-child .list_box{
        border-bottom: none;
    }
}

@media (min-width: 320px) {
    .menu_content h4 {
        font-size: 1.8rem;
        letter-spacing: 1.8px;
        margin-bottom: 1rem;
    }

    .menu_content h5 {
        font-size: 2.2rem;
        letter-spacing: 2px;
        margin: 0 auto 1rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        position: relative;
    }
    .menu_content h5 span{
        z-index: 1;
    }
    .menu_content h5::after {
        content: '';
        background: url(../images/menu/title_line.png);
        position: absolute;
        width: 100%;
        background-size: contain;
        background-repeat: no-repeat;
        height: 10px;
        display: flex;
        justify-content: center;
        width: 180px;
        bottom: -2px;
    }

}

@media (min-width: 768px) {
    .menu_content h4 {
        font-size: 2rem;
        letter-spacing: 2px;
    }
    .menu_content h5 {
        font-size: 2.6rem;
        letter-spacing: 2px;
        margin-bottom: 1.5rem;
    }
}


@media (min-width: 320px) {
    .menu_box{
        display: grid;
        gap: 3rem;
    }
}

@media (min-width: 768px) {
    .menu_box{
        display: grid;
        gap: 4rem;
    }
}


@media (min-width: 320px) {
    .swiper-container2 {
        height: 30vw;
        position: relative;
    }
}

@media (min-width: 768px) {
    .swiper-container2 {
        height: 18vw;

    }
}

@media (min-width: 992px) {
    .swiper-container2 {
        height: 8vw;

    }
}

.image_content {
    max-width: 1070px;
    overflow: hidden;
    margin-bottom: 2rem;
}

.swiper-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

