.slick-track {
    will-change: transform;
}

.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.ob img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn-circle a {
    display: block;
    position: relative;
    z-index: 1;
    text-align: center;
    transform: perspective(1px) translateZ(0);
    overflow: hidden;
    transition-property: color;
    transition-duration: 0.3s;
    border: 1px solid;
    border-radius: 50%;
    height: 57vw;
    width: 66%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-circle a::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #edece9;
    border-radius: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.btn-circle a span {
    position: relative;
    display: block;
    line-height: 30px;
    letter-spacing: 0.3em;
}

.btn-circle a span::before {
    content: "";
    position: absolute;
    background: #fff;
    top: 93px;
    right: 49%;
    height: 1px;
    width: 14.5px;
    margin-right: -3px;
    transform: rotate(90deg);
}

.btn-circle a span::after {
    content: "";
    position: absolute;
    background: #fff;
    width: 6px;
    height: 4px;
    top: 96px;
    right: 50%;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-right: -3px;
    transform: rotate(90deg);
}

.btn-circle a:hover {
    border-color: #edece9;
    color: #000;
}

.btn-circle a:hover::before {
    -webkit-transform: scale(2);
    transform: scale(2);
}

.btn-circle a:hover span::before,
.btn-circle a:hover span:after {
    background: #000;
}

@media screen and (min-width: 768px) {
    body {
        letter-spacing: 3px;
    }

    .btn-circle {
        width: 253px;
    }

    .btn-circle a {
        font-size: 17px;
        width: 100%;
        height: 253px;
        background: no-repeat;
    }

    .btn-circle a:hover {
        color: #fff;
        border: none;
    }

    .btn-circle a:hover span::before,
    .btn-circle a:hover span:after {
        background: #fff
    }

    .btn-circle a span {
        line-height: 30px;
    }

    .btn-circle a::before {
        background: #9d173f
    }
}


/* lead */
#lead {
    position: relative;
    padding: 15vw 0 15vw;
}

#lead::after {
    content: "";
    position: absolute;
    background: url("../img/lunch/bg2.jpg") repeat;
    top: 6vw;
    left: 0;
    width: 80%;
    height: 145vw;
    z-index: -1;
}

#lead .photo {
    margin-bottom: 12vw;
}

#lead h2 {
    font-size: 6vw;
    width: 23vw;
    height: 60vw;
    margin: 0 auto 2vw;
    letter-spacing: 0.2em;
    line-height: 2;
}

#lead .txt {
    margin-bottom: 10vw;
}

#lead .txt li {
    margin-bottom: 5vw
}

@media only screen and (min-width: 768px) {
    #lead {
        padding: 357px 0 20px;
    }

    #lead::after {
        width: calc(50% - -20px);
        height: 753px;
    }

    #lead .photo {
        margin-bottom: 20px;
        position: absolute;
        left: 230px;
        top: -208px;
    }

    #lead h2 {
        font-size: 30px;
        width: 100px;
        height: 300px;
        margin: 0;
        line-height: 70px;
        margin-left: 20px;
        letter-spacing: 9px;
        margin-bottom: 314px;
    }

    #lead .txt {
        margin-bottom: 20px;
        width: 740px;
    }

    #lead .txt li {
        margin-bottom: 43px;
    }

    #lead .btn-circle {
        position: absolute;
        bottom: 44px;
        right: -10px;
    }
}


/* lunch */
#lunch {
    position: relative;
    padding: 3vw 0 15vw;
}

#lunch::after {
    content: "";
    position: absolute;
    background: url("../img/lunch/bg2.jpg") repeat;
    top: 15vw;
    right: 0;
    width: 45%;
    height: 129vw;
    z-index: -1;
}

#lunch .note {
    margin-bottom: 8vw;
    text-align: center;
}

#lunch .group {
    position: relative;
    margin: 0 0 -12vw;
}

#lunch .group h2 {
    font-size: 6vw;
    width: 20vw;
    height: 61vw;
    position: absolute;
    right: -4%;
    top: 11%;
    z-index: 5;
}

#lunch .group .photo {
    height: 84vw;
    margin: 0 -8% 8vw;
}

#lunch .row {
    margin-bottom: 8vw;
    justify-content: space-between;
    align-items: center;
}

#lunch .row .price {
    width: 37%;
    text-align: center;
    position: relative;
    margin-top: 7vw;
}

#lunch .row .price::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100px;
    background: #fff;
    top: -105px;
    left: 50%;
}

#lunch .row .price dt {
    font-size: 23px;
    margin-bottom: 2vw;
}

#lunch .row .price dt span {
    background: #660002;
    color: #fff;
    padding: 5px 10px;
    font-size: 14px;
}

#lunch .row .price dd {
    font-size: 18px;
}

#lunch .row .photo2 {
    width: 61%;
}

#lunch .row2 {
    flex-direction: column;
    margin-bottom: 13vw;
}

#lunch .row2 .txt {
    margin-bottom: 6vw;
}

#lunch .group2 {
    flex-direction: column;
}

#lunch .group2 .col {
    margin-bottom: 10vw;
}

#lunch .group2 .col .photo4 {
    margin-bottom: 5vw;
}

#lunch .group2 .col .price2 {
    text-align: center;
    margin-bottom: 5vw;
}

#lunch .group2 .col .price2 dt {
    font-size: 23px;
    margin-bottom: 2vw;
}

#lunch .group2 .col .price2 dd {
    font-size: 18px;
}

#lunch .box {
    padding: 10vw 5%;
    background: url("../img/lunch/bg2.jpg") repeat;
    color: #fff;
}

#lunch .box h3 {
    font-size: 6vw;
    margin-bottom: 7vw;
    text-align: center;
}

#lunch .box .note {
    text-align: center;
    margin-bottom: 3vw;
}

#lunch .box .list .col dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #BDBDBB;
    padding: 5px 0;
    letter-spacing: 3px;
}

@media only screen and (min-width: 768px) {
    #lunch {
        padding: 168px 0 200px;
    }

    #lunch::after {
        top: 90px;
        width: calc(50% + -191px);
        height: 1350px;
    }

    #lunch .note {
        margin-bottom: 41px;
    }

    #lunch .group {
        margin: 0 auto -43px;
    }

    #lunch .group h2 {
        font-size: 30px;
        width: 100px;
        height: 329px;
        right: 9px;
        line-height: 70px;
        top: 201px;
        letter-spacing: 8px;
    }

    #lunch .group .photo {
        height: 730px;
        margin: 0 -99px;
    }

    #lunch .row {
        margin-bottom: 58px;
    }

    #lunch .row .price {
        width: 324px;
        margin-top: 85px;
        margin-left: 40px;
    }

    #lunch .row .price::before {
        height: 188px;
        top: -180px;
    }

    #lunch .row .price dt {
        font-size: 30px;
        margin-bottom: 11px;
        line-height: 57px;
    }

    #lunch .row .price dt span {
        font-size: 16px;
        padding: 5px 23px;
        margin-bottom: 10px;
    }

    #lunch .row .price dd {
        font-size: 20px;
        letter-spacing: 5px;
    }

    #lunch .row .photo2 {
        width: auto;
        margin-right: -11px;
    }

    #lunch .row2 {
        margin-bottom: 139px;
        flex-direction: row-reverse;
    }

    #lunch .row2 .txt {
        margin-bottom: 20px;
        margin-left: 81px;
        margin-top: 100px;
        width: 370px;
        margin-right: 40px;
    }

    #lunch .row2 .photo3 {
        margin-left: -74px;
    }

    #lunch .wrap.wrap2 {
        max-width: 1500px;
        padding: 0 20px;
    }

    #lunch .group2 {
        flex-direction: row;
        margin-bottom: 97px;
    }

    #lunch .group2 .col {
        margin: 0 20px 10px;
    }

    #lunch .group2 .col .photo4 {
        margin-bottom: 44px;
    }

    #lunch .group2 .col .price2 {
        margin-bottom: 38px;
        letter-spacing: 6px;
    }

    #lunch .group2 .col .price2 dt {
        font-size: 30px;
        margin-bottom: 20px;
    }

    #lunch .group2 .col .price2 dd {
        font-size: 20px;
    }

    #lunch .group2 .col .txt2 {
        text-align: center;
    }

    #lunch .box {
        padding: 100px 100px 78px;
        margin: 0 -100px;
    }

    #lunch .box h3 {
        font-size: 30px;
        margin-bottom: 50px;
        letter-spacing: 6px;
    }

    #lunch .box .note {
        margin-bottom: 30px;
    }

    #lunch .box .list {
        display: flex;
        justify-content: space-between;
    }

    #lunch .box .list .col {
        width: 471px;
        max-width: 48%;
    }

    #lunch .box .list .col dl {
        padding: 14px 0;
        line-height: 30px;
        letter-spacing: 4px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1300px) {
    #lunch .box {
        margin: 0 auto;
        padding-left: 50px;
        padding-right: 50px;
    }
}

/* course */
#course {
    position: relative;
    padding: 15vw 0 15vw;
    background: url("../img/lunch/bg3.jpg") repeat;
}

#course h2 {
    font-size: 6vw;
    text-align: center;
    margin-bottom: 7vw;
}

#course h2 span {
    font-size: 3vw;
}

#course .txt {
    margin-bottom: 10vw;
}

#course .group {
    flex-direction: column;
    margin: 0 7% 15vw;
}

#course .group .left {
    margin-bottom: 8vw;
}

#course .group .left .price {
    text-align: center;
    margin-bottom: 6vw;
}

#course .group .left .price dt {
    font-size: 23px;
    margin-bottom: 2vw;
}

#course .group .left .price dd {
    font-size: 18px;
}

#course .group .left .txt {
    margin-bottom: 6vw;
}

#course .group .left .box {
    border: 1px solid #B1AFAC;
    padding: 10vw 5vw 5vw;
    margin-bottom: 2vw;
}

#course .group .left .box .ttl {
    font-size: 20px;
    text-align: center;
    margin-bottom: 5vw;
}

#course .group .left .note {
    text-align: center;
}

#course .group .right .photo {
    position: relative;
}

#course .group .right .photo span {
    position: absolute;
    left: 5%;
    z-index: 5;
    bottom: 10px;
    font-size: 18px;
    text-shadow: 0px 0px 10px #000;
}

#course .group .right .slick-dots {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
}

#course  .bg  {
    background-color:#00000070;
    padding:8vw 5vw ;
}
#course  .bg .row  {
    padding:8vw 5vw ;
}
#course  .row .col {
    margin-bottom: 6vw;
}

#course  .row .col .price {
    margin-bottom: 6vw;
    text-align: center;
}

#course .row .col .price dt {
    font-size: 23px;
    /* max-height: 25vw; */
}

#course .row .col .price dt span{
    /* display:block; */
    font-size: 14px;
    background-color: #ffffff2b;
    line-height: 4.3;
    padding: 3vw;
}
#course .row .col .price dd {
    font-size: 18px;
}

#course .row .col2 .box {
    border: 1px solid #948D88;
    padding: 8vw 5% 5vw;
    margin-bottom: 3vw;
}

#course .row .col2 .box .ttl {
    text-align: center;
    font-size: 18px;
    margin-bottom: 5vw;
}

#course .row .col2 .box .list {
    flex-direction: column;
}

#course .row .col2 .note {
    font-size: 14px;
    text-align: right;
}

@media only screen and (min-width: 768px) {
    #course {
        padding: 136px 0 99px;
    }

    #course h2 {
        font-size: 30px;
        margin-bottom: 5px;
        line-height: 70px;
        letter-spacing: 5px;
    }

    #course h2 span {
        font-size: 14px;
        display: inline-block;
        vertical-align: top;
        margin-top: -25px;
    }

    #course .txt {
        margin-bottom: 80px;
        text-align: center;
        line-height: 35px;
    }

    #course .group {
        flex-flow: row;
        margin: 0 0 90px 0;
    }

    #course .group .left {
        margin-bottom: 20px;
        width: 46%;
        padding-top: 48px;
        padding-right: 20px;
        padding-left: 20px;
        align-self: flex-start;
        min-height: 100vh;
    }

    #course .group .left .price {
        margin-bottom: 40px;
    }

    #course .group .left .price dt {
        font-size: 30px;
        margin-bottom: 20px;
    }

    #course .group .left .price dd {
        font-size: 20px;
    }

    #course .group .left .txt {
        margin-bottom: 45px;
        line-height: 40px;
    }

    #course .group .left .box {
        padding: 50px 44px 65px;
        margin-bottom: 20px;
        max-width: 496px;
        margin: 0 auto 26px;
    }

    #course .group .left .box .ttl {
        margin-bottom: 26px;
    }

    #course .group .left .box .list {
        display: flex;
        justify-content: space-between;
    }

    #course .group .left .box .list ul {
        line-height: 35px;
    }

    #course .group .right {
        width: 54%;
        position: relative;
    }

    #course .group .right .img {
        margin-bottom: 50px;
    }

    #course .group .right .photo {
        height: 580px;
    }

    #course .group .right .photo span {
        letter-spacing: 5px;
        font-size: 25px;
        bottom: 31px;
        left: 39px;
        letter-spacing: 6px;
    }
    #course  .row .col {
        margin-bottom: 6vw;
    }
    #course .bg  {
     width: 1100px;
     margin: 0 auto;
     padding: 40px 0 0 0;
}
    #course .bg .row  {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        max-width: 1090px;
        margin: 0 auto 30px;
        padding: 30px 30px 50px 0;
}


    #course .row .col {
        margin-bottom: 20px;
        width: 435px;
        margin-top: 38px;
    }

    #course .row .col .price {
        margin-bottom: 41px;
        /* display: flex; */
        justify-content: space-between;
    }

    #course .row .col .price dt {
        font-size: 30px;
        letter-spacing: 4px;
        line-height: 2;
    }
    #course .row .col .price dt span{
    /* display:block; */
    font-size: 16px;
    background-color: #ffffff2b;
    line-height: 3;
    padding: 10px 20px;
}
#course .row .col .price dd {
        font-size: 20px;
    }

    #course .row .col2 {
        width: 580px;
        margin-top: -20px;
    }

    #course .row .col2 .box {
        padding: 30px 40px;
        margin-bottom: 20px;
    }

    #course .row .col2 .box .ttl {
        font-size: 20px;
        margin-bottom: 0px;
    }

    #course .row .col2 .box .list {
        flex-direction: row;
        line-height: 29px;
        justify-content: space-evenly;
        font-size: 14px;
    }

    #course .row .col2 .note {
        font-size: 15px;
    }


}

@media only screen and (min-width: 768px) and (max-height: 800px) {
    #course .group .left .price {
        margin-bottom: 10px;
    }

    #course .group .left .txt {
        margin-bottom: 15px;
    }

    #course .group .left .box {
        padding: 30px 44px 30px;
    }

    #course .group .left .box .ttl {
        margin-bottom: 15px;
    }

    #course .group .left .box {
        margin-bottom: 15px;
    }

}


/* course2 */
#couse2 {
    position: relative;
    padding: 15vw 0 0;
}

#couse2 .box-bg {
    padding: 10vw 5%;
    color: #fff;
    background: url("../img/lunch/couse2_bg.jpg") no-repeat center;
    background-size: cover;
}

#couse2 .box-bg h2 {
    text-align: center;
    font-size: 6vw;
    margin-bottom: 10vw;
}
#couse2 .box-bg .txt{
    margin-bottom:5vw;
}
#couse2 .box-bg h2 small {
    font-size: 4vw;
}

#couse2 .box-bg .row .col {
    margin-bottom: 6vw;
}

#couse2 .box-bg .row .col .price {
    margin-bottom: 6vw;
    text-align: center;
}

#couse2 .box-bg .row .col .price dt {
    font-size: 23px;
    /* max-height: 25vw; */
}

#couse2 .box-bg .row .col .price dt span{
    /* display:block; */
    font-size: 14px;
    background-color: #ffffff2b;
    line-height: 4.3;
    padding: 3vw;
}
#couse2 .box-bg .row .col .price dd {
    font-size: 18px;
}

#couse2 .box-bg .row .col2 .box {
    border: 1px solid #948D88;
    padding: 8vw 5% 5vw;
    margin-bottom: 16vw;
}

#couse2 .box-bg .row .col2 .box .ttl {
    text-align: center;
    font-size: 18px;
    margin-bottom: 5vw;
}

#couse2 .box-bg .row .col2 .box .list {
    flex-direction: column;
}

#couse2 .box-bg .row .col2 .note {
    font-size: 14px;
    text-align: right;
}

@media only screen and (min-width: 768px) {
    #couse2 {
        padding: 149px 0 0;
    }

    #couse2 .wrap {
        max-width: 1300px;
        padding: 0 20px;
    }

    #couse2 .box-bg {
        padding: 102px 0 71px;
    }

    #couse2 .box-bg h2 {
        font-size: 30px;
        margin-bottom: 50px;
        line-height: 70px;
        letter-spacing: 3px;
    }
#couse2 .box-bg .txt{
    text-align:center;
    margin-bottom:50px;
}
    #couse2 .box-bg h2 small {
        font-size: 25px;
    }

    #couse2 .box-bg .row {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        max-width: 970px;
        margin: 0 auto 30px;
    }

    #couse2 .box-bg .row .col {
        margin-bottom: 20px;
        width: 435px;
        margin-top: 38px;
    }

    #couse2 .box-bg .row .col .price {
        margin-bottom: 41px;
        /* display: flex; */
        justify-content: space-between;
    }

    #couse2 .box-bg .row .col .price dt {
        font-size: 30px;
        letter-spacing: 4px;
        line-height: 2;
    }
#couse2 .box-bg .row .col .price dt span{
    /* display:block; */
    font-size: 16px;
    background-color: #ffffff2b;
    line-height: 3;
    padding: 10px 20px;
}
    #couse2 .box-bg .row .col .price dd {
        font-size: 20px;
    }

    #couse2 .box-bg .row .col2 {
        width: 580px;
        margin-top: -20px;
    }

    #couse2 .box-bg .row .col2 .box {
        padding: 30px 40px;
        margin-bottom: 20px;
    }

    #couse2 .box-bg .row .col2 .box .ttl {
        font-size: 20px;
        margin-bottom: 0px;
    }

    #couse2 .box-bg .row .col2 .box .list {
        flex-direction: row;
        line-height: 29px;
        justify-content: space-evenly;
        font-size: 14px;
    }

    #couse2 .box-bg .row .col2 .note {
        font-size: 15px;
    }
}