#header #keyvisual h2 {
    border: 2px solid #fff;
    background: #fff;
    color:#252222;
}


#lead .wrap {
    padding: 0
}

#lead h2 {
    position: relative;
    z-index: 1;
    margin: 0 auto -23vw;
    padding-top: 6vw
}

#lead h2 span {
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    background: #fff;
    padding: 4vw 0;
    font-size: 5.33vw;
    line-height: calc(28 / 20);
    font-weight: 500;
    letter-spacing: .25em
}

#lead h2 span+span {
    margin-right: 3vw
}

#lead h2 span:nth-child(3) i {
    margin: -3vw 0;
}

#lead .lead-js {
    pointer-events: none;
}

#lead .lead-js .slick-slide {
    width: 48vw;
    margin: 0 2vw;
}

#lead .txt {
    margin: 11vw 8.5% 0
}

#lead .txt li+li {
    margin-top: 8vw
}

@media screen and (min-width: 768px) {
    #lead {
        position: relative;
        padding-bottom:100px;
    }

    #lead .wrap {
        position: unset;
        max-width: 1240px;
        padding: 0 20px
    }

    #lead h2 {
        margin: -197px 0 0 auto;
        padding-top: 0
    }

    #lead h2 span {
        padding: 10px 0 17px;
        font-size: 36px;
        line-height: 48px
    }

    #lead h2 span+span {
        margin-right: 22px
    }

    #lead h2 span:nth-child(3) i {
        margin: -16px 0 -11px
    }

    #lead .lead-js {
        position: absolute;
        top: 315px;
        left: calc(50% - 65px);
        right: 0
    }

    #lead .lead-js .slick-slide {
        width: auto;
        margin: 0 7px;
    }

    #lead .txt {
        width: 378px;
        margin: -10px 0 0 42px;
        letter-spacing: 0
    }

    #lead .txt li {
        letter-spacing: 0
    }

    #lead .txt li+li {
        margin-top: 40px
    }
}

@media screen and (min-width: 768px)and (max-width: 1150px) {
    #lead .infiniteslide_wrap {
        left: 502px
    }
}

#link {
    padding: 15vw 0
}

#link .group-link li {
    position: relative
}

#link .group-link li::before {
    content: "";
    position: absolute;
    background: #b79a71;
    width: 3vw;
    height: 1.5vw;
    bottom: -3vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}

#link .group-link li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 4px solid #b79a71;
    padding: 0 3vw
}

#link .group-link li a span {
    display: block;
    line-height: 1
}

#link .group-link li a span.en {
    color: #b79a71;
    font-size: 4.2vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .05em
}

#link .group-link li a span.photo img {
    width: auto;
    height: 20vw
}

#link .group-link li a span.jp {
    font-size: 3.13vw;
    line-height: 1;
    letter-spacing: .05em
}

#link .group-link li+li {
    margin-top: 7vw
}
#takeout .set4 h4{
    text-align: center;
    font-size:4vw;
    padding-top:10%;
}
@media screen and (max-width: 768px) {
#takeout .set4 .group:last-child .item:nth-child(1) {
	width:48%;
	
	}
}
@media screen and (min-width: 768px) {
    #link {
        padding: 100px 0 177px
    }

    #link .wrap {
        max-width: 1110px;
        padding: 0 20px
    }

    #link .group-link {
        display: flex;
        justify-content: space-between;
        -moz-column-gap: 20px;
        column-gap: 20px
    }

    #link .group-link li {
        max-width: 504px;
        width: 100%
    }

    #link .group-link li::before {
        width: 17px;
        height: 11px;
        bottom: -28px
    }

    #link .group-link li a {
        transform: perspective(1px) translateZ(0);
        overflow: hidden;
        transition-property: color;
        transition-duration: .3s;
        padding: 0 35px 0 22px
    }

    #link .group-link li a::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #b79a71;
        border-radius: 100%;
        transform: scale(0);
        transition-property: transform;
        transition-duration: .3s;
        transition-timing-function: ease-out
    }

    #link .group-link li a span.en {
        font-size: 24px
    }

    #link .group-link li a span.photo img {
        height: auto
    }

    #link .group-link li a span.jp {
        font-size: 16px
    }

    #link .group-link li a:hover span {
        color: #fff !important
    }

    #link .group-link li a:hover::before {
        transform: scale(2)
    }

    #link .group-link li+li {
        margin-top: 0
    }
    #takeout .set4 {
        margin-top: 294px;
    }
    #takeout .set4 h4{
    font-size:18px;
    padding-top:20px;
}
    #takeout .set4 .group .item:nth-child(1) {
        display: block;
        width: 30%
    }

    #takeout .set4 .group .item:nth-child(1) .photo {
        width: auto
    }

    #takeout .set4 .group .item:nth-child(1) .name-price {
        width: auto;
        margin-top: 32px
    }

}

#floor {
    padding-bottom: 15vw
}

#floor .box-parallax {
    height: 100vw
}

#floor .group-photo {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 3vw;
    column-gap: 3vw;
    margin: -5vw -7% 0
}

#floor .group-photo li:nth-child(1) {
    margin-top: 12vw
}

#floor .group-txt {
    margin-top: 10vw
}

#floor .group-txt h3 {
    text-align: center;
    font-size: 6vw;
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: .1em
}

#floor .group-txt .txt {
    margin-top: 5vw
}

@media screen and (min-width: 768px) {
    #floor {
        padding-bottom: 156px
    }

    #floor .wrap {
        max-width: 1274px;
        padding: 0 20px
    }

    #floor .box-parallax {
        height: 700px
    }

    #floor .group-photo {
        margin: -65px 0 0
    }

    #floor .group-photo li:nth-child(1) {
        margin-top: 200px;
        left: calc(-50vw + 50%);
        right: 597px;
    }

    #floor .group-photo li:nth-child(2) {
        text-align: right;
    }

    #floor .group-txt {
        width: 408px;
        margin: -160px 66px 0 auto
    }

    #floor .group-txt h3 {
        text-align: left;
        font-size: 30px
    }

    #floor .group-txt .txt {
        margin-top: 46px
    }
}

#eatin {
    background: #f5f0ee;
    padding: 15vw 0
}

#eatin .ttl-shared span.cate {
    border: 2px solid #993f9a;
    color: #993f9a;
}

#eatin .note {
    text-align: center;
    margin-top: 10vw;
    font-size: 12px
}

#eatin .name-price {
    margin-top: 10vw;
    text-align: center;
    line-height: 1;
    font-weight: 500
}

#eatin .name-price dt {
    border-bottom: 1px solid #000;
    margin-bottom: 4vw;
    padding-bottom: 3vw;
    color: #241d18;
    font-size: 8.4vw;
    letter-spacing: .2em
}

#eatin .name-price dd {
    font-size: 6vw;
    letter-spacing: .05em;
    line-height:150%;
}

#eatin .name-price dd small {
    font-size: 5.2vw
}

#eatin .photo {
    margin-top: 10vw
}

#eatin .box {
    border: 3px solid #000;
    background: #fff;
    margin-top: 10vw;
    padding: 4vw
}

#eatin .box ul {
    display: flex;
    justify-content: center
}

#eatin .box ul li {
    display: flex;
    align-items: center;
}

#eatin .box ul li span {
    display: block;
    font-size: 3.5vw;
    line-height: 1
}

#eatin .box ul li span.icon {
    margin: 0 1vw;
    font-weight: 900;
    letter-spacing: 0
}

#eatin .box ul li span.text {
    background: #b79a71;
    color: #fff;
    padding: 2vw 3vw;
    letter-spacing: .1px;
    line-height:140%;
}

#eatin .box ul:nth-child(2) {
    margin-top: 2vw
}
#eatin .txt2 {
    margin-top: 5vw;
    text-align: center;
    font-size:2.8vw;
}
#eatin .txt {
    margin-top: 10vw
}

@media screen and (min-width: 768px) {
    #eatin {
        padding: 86px 0 86px
    }

    #eatin .wrap {
        max-width: 1240px;
        padding: 0 20px
    }

    #eatin .note {
        margin-top: 28px;
        font-size: 14px
    }

    #eatin .name-price {
        margin-top: 94px
    }

    #eatin .name-price dt {
        margin-bottom: 27px;
        padding-bottom: 19px;
        font-size: 48px
    }

    #eatin .name-price dd {
        font-size: 30px;
    }

    #eatin .name-price dd small {
        font-size: 24px
    }

    #eatin .photo {
        text-align: center;
        margin-top: 83px
    }

    #eatin .box {
        display: flex;
        justify-content: center;
        max-width: 880px;
        margin: 72px auto 0;
        padding: 41px 0 43px
    }

    #eatin .box ul {
        justify-content: flex-start
    }

    #eatin .box ul li span {
        font-size: 18px;
    }

    #eatin .box ul li span.icon {
        margin: 0 8px
    }

    #eatin .box ul li span.text {
        padding: 13px 15px 14px 22px;
        letter-spacing: .13em
    }

    #eatin .box ul:nth-child(2) {
        margin-top: 0
    }
    #eatin .txt2 {
        text-align: center;
        margin-top: 20px;
        font-size:14px;
    }
    #eatin .txt {
        text-align: center;
        margin-top: 74px;
    }
}

#option {
    background: url("../img/shared/bg3.jpg") repeat center;
    color: #fff;
    padding: 20vw 0 15vw
}

#option .wrap {
    padding: 0
}

#option .option-js .slick-slide {
    width: 80vw;
    margin: 0 3vw
}

#option .option-js .slick-arrow {
    position: absolute;
    top: -15vw
}

#option .option-js .slick-prev {
    right: 17vw
}

#option .option-js .slick-next {
    right: 5vw
}

#option .option-js .item .inner .group-txt {
    margin-top: 7vw
}

#option .option-js .item .inner .group-txt h3 {
    font-size: 6vw;
    line-height: 2;
    letter-spacing: 0.5px
}

#option .option-js .item .inner .group-txt h3 small.fs1 {
    display: block
}

#option .option-js .item .inner .group-txt h3 small.fs1 {
    font-size: 4.7vw
}

#option .option-js .item .inner .group-txt h3 small.fs2 {
    font-size: 3vw
}

#option .option-js .item .inner .group-txt .txt {
    margin-top: 3vw;
    font-size: 14px;
    line-height: 28px
}

#option .option-js .item3 .inner .group-txt h3 {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (min-width: 768px) {
    #option {
        padding: 150px 0 108px
    }

    #option .wrap {
        max-width: 1240px;
        padding: 0 20px
    }

    #option .option-js .slick-list {
        margin: 0 calc(-50vw + 50%)
    }

    #option .option-js .slick-slide {
        max-width: 1000px;
        width: 100%;
        margin: 0
    }

    #option .option-js .slick-arrow {
        top: -99px
    }

    #option .option-js .slick-prev {
        right: 71px
    }

    #option .option-js .slick-next {
        right: 0
    }

    #option .option-js .item .inner {
        display: flex;
        align-items: center;
        -moz-column-gap: 70px;
        column-gap: 70px
    }

    #option .option-js .item .inner .photo {
        flex: 1;
        max-width: 484px;
        height: 324px
    }

    #option .option-js .item .inner .group-txt {
        margin-top: 0
    }

    #option .option-js .item .inner .group-txt h3 {
        font-size: 24px;
        line-height: 48px;
        letter-spacing: 0.5px;
    }

    #option .option-js .item .inner .group-txt h3 small.fs1 {
        font-size: 20px
    }

    #option .option-js .item .inner .group-txt h3 small.fs2 {
        font-size: 16px
    }

    #option .option-js .item .inner .group-txt .txt {
        margin-top: 24px;
        font-size: 15px;
        line-height: 36px;
        letter-spacing: 0
    }

    #option .option-js .item1 .inner .group-txt {
        width: 360px
    }

    #option .option-js .item2 .inner .group-txt {
        width: 285px
    }

    #option .option-js .item3 .inner .group-txt {
        width: 316px
    }
}

#choice {
    background: #f5f0ee;
    padding: 15vw 0
}
#choice2 {
    background: #f5f0ee;
    padding: 15vw 0 15vw
}
#choice .wrap,#choice2 .wrap {
    padding: 0 4%
}

#choice h2,#choice2 h2 {
    position: relative
}

#choice h2::before,#choice2 h2::before {
    content: "";
    position: absolute;
    border: 2px solid #000;
    border-left: none;
    border-right: none;
    top: 50%;
    height: 1vw;
    left: 0;
    right: 0;
    transform: translateY(-50%)
}

#choice h2 span,#choice2 h2 span {
    position: relative;
    z-index: 1;
    display: block;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    background: #f5f0ee;
    padding: 0 1.5vw 0 3vw;
    margin: 0 auto;
    font-size: 7vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em
}

#choice h4,#choice2 h4 {
    margin-top: 7vw;
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
    letter-spacing: .1em
}
#choice h4,#choice2 h4 span{
    font-size:80%;
}
#choice .note,#choice2 .note {
    text-align: center;
    margin-top: 5vw;
    font-size: 12px
}
#choice .price_col{
    border:2px solid #000;
    padding:5%;
    margin:10% 0 10% 0;
}
#choice .price_col h5{
    font-size:4vw;
    text-align: center;
    text-decoration: underline;
    margin-bottom:5%;
}
#choice .price_col dl{
    margin:0 0 5% 10%;
}
#choice .price_col dd{
    margin:0 0 0 10%;
}
#choice .set {
    position: relative;
    background: #fff;
    margin-top: 10vw;
    padding: 10vw 5vw;
    border-radius: 18px
}

#choice .set::before,
#choice .set:after {
    content: "";
    position: absolute;
    background: #000;
    width: 3px;
    top: 5vw;
    bottom: 5vw
}

#choice .set::before {
    left: 2.5vw
}

#choice .set:after {
    right: 2.5vw
}

#choice .set h3 span {
    display: block;
    line-height: 1
}

#choice .set h3 span.jp {
    margin: 0 auto;
    font-size: 10.5vw;
    font-weight: 500;
    letter-spacing: .2em
}

#choice .set h3 span.en {
    text-align: center;
    margin-top: 2vw;
    color: #996f25;
    font-size: 4.13vw;
    font-weight: 600;
    letter-spacing: .3em
}

#choice .set .name-price {
    text-align: center;
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.8;
}
#choice .set .name-price .mark{
    font-size: 4vw;
    padding:1px 5px;
    border: 2px solid #993f9a;
    color: #993f9a;
    position:relative;
    top:5px;
}
#choice .set .lead {
    margin-top: 10vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 5vw;
    align-items: flex-start;
}
#choice .set .lead .item {
    width: 80%;
    margin:auto;
}


#choice .set .lead .photo2 {
    margin: 5vw 10% 0;
    font-size:3vw;
    text-align: center;
}

#choice .set .group {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 10vw;
    row-gap: 5vw;
}

#choice .set .group .item {
    width: 48%
}

#choice .set2 {
    margin-top: 10vw
}

@media screen and (min-width: 768px) {
    #choice {
        padding: 60px 0 160px
    }
    #choice2 {
        padding: 160px 0 160px;
    }
    #choice .wrap {
        max-width: 1152px;
        padding: 0
    }

    #choice h2, #choice2 h2 {
        margin: 0 15px
    }

    #choice h2::before,#choice2 h2::before {
        box-sizing: border-box;
        height: 8px
    }

    #choice h2 span,#choice2 h2 span {
        width: 404px;
        padding: 0;
        font-size: 44px
    }

    #choice h4,#choice2 h4 {
        margin-top: 48px;
        font-size: 24px
    }

    #choice .note,#choice2 .note {
        margin-top: 17px;
        font-size: 14px
    }
    #choice .price_col{
    width:96%;
    padding:20px 20px;
    margin:20px auto;
    }
    #choice .price_col h5{
    font-size:24px;
    margin-bottom:30px;
    }
    #choice .price_col div{
      display: flex;
     -webkit-box-pack:justify;
     -ms-flex-pack:justify;
     justify-content: space-between;
    flex-wrap: wrap;
        width:80%;
        margin:0 auto 0 auto;
    }
    #choice .price_col dl{
        margin:0 30px 20px 0;
        
    }
    #choice .price_col dd{
    margin:0 0 0 10px;
        font-size:15px;
        line-height:180%;
    }
    #choice .set {
        margin-top: 73px;
        padding: 0 0 90px
    }

    #choice .set::before,
    #choice .set:after {
        top: 13px;
        bottom: 13px
    }

    #choice .set::before {
        left: 17px
    }

    #choice .set:after {
        right: 17px
    }

    #choice .set .inner {
        position: relative;
        max-width: 1000px;
        margin: 0 auto;
        padding: 105px 0 0 19px
    }

    #choice .set h3 {
        position: absolute;
        top: 530px;
        left: 57px
    }

    #choice .set h3 span.jp {
        font-size: 78px
    }
    #choice .set2 h3 {
        left: 40px;
    }

    #choice .set h3 span.en {
        margin-top: 13px;
        font-size: 16px
    }

    #choice .set .name-price {
        margin-top: 24px;
        font-size: 16px
    }
    #choice .set .name-price .mark{
         font-size: 18px;
    }
    #choice .set .lead {
        margin-top: 0;
        width:100%;
    }

    #choice .set .lead .item{
        width:30%;
        margin-bottom:50px;
    }
    #choice .set .lead .item img{
        width:100%;
    }
    #choice .set .lead .item .photo1 {
        margin: 0
    }



    #choice .set .group {
        justify-content: flex-start;
        margin-top: 0;
        gap: 0;
        
    }

    #choice .set .group .item {
        width: auto;
        margin-bottom:50px;
    }

    #choice .set .group .item+.item {
        margin-left: 10px
            
    }
    #choice .set .group .item:nth-child(1) {
        margin-left: 230px
    }
    #choice .set .group .item:nth-child(4) {
        width: 0px
    }

    #choice .set .group .item:nth-child(4) .name-price {
        width: 181px
    }

    #choice .set .group .item:nth-child(n+5) {
        margin-top: 0px
    }

    #choice .set .group .item:nth-child(5) {
        margin-left: 30px
    }

    #choice .set .group .item:nth-child(n+8) {
        margin-top: 0px
    }

    #choice .set .group .item:nth-child(8) {
        margin-left:10px
    }

    #choice .set2 {
        margin-top: 92px
    }
}

#parallax {
    height: 100vw;
}

@media screen and (min-width: 768px) {
    #parallax {
        height: 700px;
    }
}

#takeout .set3 .photo {
    margin-top: 10vw
}

@media screen and (min-width: 768px) {
    #takeout .set3 {
        margin-top: 173px
    }

    #takeout .set3 .photo {
        text-align: center;
        margin-top: 87px
    }
}