#key {
    background: url("../img/menu/kv.jpg") no-repeat center top/cover
}

#sec1 {
    padding: 10vw 0 15vw;
    position: relative
}

#sec1::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    top: 120vw;
    z-index: -1;
    background: url("../img/shared/bg_deco1.png") repeat left top/22vw;
    left: calc(50% - 10vw);
    opacity: .8
}

#sec1 .ttl {
    width: 25vw;
    margin: 0 auto
}

#sec1 .photo {
    margin: 0 -7vw 0 calc(50% - 50vw)
}

#sec1 .txt {
    margin: 5vw 0 0
}

#sec1 .list {
    display: flex;
    justify-content: center;
    gap: 2vw;
    margin: 5vw 0 0
}

#sec1 .txt2 {
    margin: 4vw 0 0;
    text-align: center
}

#sec2 {
    padding: 10vw 0 0;
    position: relative;
    z-index: 2
}

#sec2 .ttl {
    position: relative;
    z-index: 2;
    padding: 0 3vw 0
}

#sec2 .photo1 {
    margin: -8vw 0 0;
    border: 5px solid #111
}

#sec2 .photo2 {
    width: 40vw;
    margin: -20vw -3vw 0 auto
}

#sec2 .txt {
    margin: 5vw 0 0
}

#sec3 {
    padding: 15vw 0 15vw;
    position: relative;
    z-index: 1
}

#sec3::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    background: url("../img/menu/sec2_bg.jpg") no-repeat center bottom/100%;
    z-index: -1;
    width: 150vw;
    height: 300vw
}

#sec3 .ttl {
    width: 70vw;
    margin: 0 auto
}

#sec3 .txt {
    margin: 5vw 0 0
}

#sec3 .photo {
    margin: 3vw 0 0
}

#sec4 {
    padding: 15vw 0 10vw;
    position: relative;
    z-index: 1
}

#sec4::before {
    content: "";
    position: absolute;
    bottom: 10vw;
    right: -10vw;
    z-index: -1;
    background: url("../img/shared/deco_round.png") no-repeat center top/100%;
    width: 60vw;
    height: 60vw
}

#sec4::after {
    content: "";
    position: absolute;
    bottom: -20vw;
    left: -20vw;
    width: 40vw;
    height: 40vw;
    z-index: -1;
    background: url("../img/shared/deco_round.png") no-repeat center top/100%
}

#sec4 .set1 .ttl {
    width: auto;
    margin: 0 auto
}

#sec4 .set1 .txt {
    margin: 5vw 0 0
}

#sec4 .set1 .img-gr {
    position: relative;
    z-index: 1;
    margin: 5vw 0 0
}

#sec4 .set1 .photo {
    position: relative;
    z-index: 1
}

#sec4 .set1 .photo::before {
    content: "";
    position: absolute;
    top: 3vw;
    right: -3vw;
    background: var(--bg2);
    width: 100%;
    height: 100%;
    z-index: -1
}

#sec4 .set1 .price {
    position: absolute;
    bottom: 3vw;
    right: 3vw;
    z-index: 2;
    width: 60vw;
    color: #fff;
    text-align: right;
    line-height: 1.6
}

#sec4 .set2 {
    margin: 10vw 0 0
}

#sec4 .set2 .gr {
    margin: 5vw 0 0
}

#sec5 {
    padding: 10vw 0 10vw;
    position: relative;
    z-index: 1;
    --sec5-bg: linear-gradient(rgba(19, 19, 19, 0.05), rgba(19, 19, 19, 0.05)), var(--bg-bd);
    background: var(--sec5-bg)
}

#sec5::before {
    content: "";
    position: absolute;
    bottom: -40vw;
    right: -30vw;
    background: url("../img/shared/deco_round.png") no-repeat center bottom/100%;
    width: 100vw;
    height: 100vw;
    z-index: -1
}

#sec5 .set1 .photo {
    margin: 0 -5vw 0 calc(50% - 50vw);
    position: relative;
    z-index: 1;
    background: var(--sec5-bg);
    overflow: hidden
}

#sec5 .set1 .photo::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -10vw;
    width: 80%;
    height: 200vw;
    background: url("../img/menu/sec5_img_smoke.png") no-repeat center top/100%;
    z-index: 2;
    mix-blend-mode: screen
}

#sec5 .set1 .ttl {
    width: 70vw;
    margin: -5vw auto 0;
    position: relative;
    z-index: 2
}

#sec5 .set1 .txt {
    margin: 5vw 0 0
}

#sec5 .set2 {
    margin: 10vw 0 0
}

#sec5 .set2 .gr-img {
    display: flex;
    align-items: flex-start;
    margin: 8vw 0 0
}

#sec5 .set2 .gr-img li:nth-child(1) {
    margin: 29vw -12vw 0 0
}

.sec6-bg {
    position: relative;
    z-index: 2
}

#sec6 {
    position: relative;
    z-index: 2;
    padding: 10vw 0 0
}

#sec6 .ttl {
    width: 80vw;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

#sec6 .ttl::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 80vw;
    height: 80vw;
    background: url("../img/shared/deco_round.png") no-repeat center top/100%;
    z-index: -1
}

#sec6 .sec6-list {
    margin: 6vw 0 0;
    gap: 12vw;
    display: flex;
    flex-direction: column
}

#sec6 .item-ttl {
    margin: 0 0 0 auto;
    padding: 5vw 3vw 0 0;
    height: 50vw;
    text-align: right
}

#sec6 .item-ttl img {
    height: 100%;
    width: auto
}

#sec6 .thumb-gr {
    position: relative;
    z-index: 1;
    padding: 0 0 10vw;
    margin: 0 calc(50% - 50vw)
}

#sec6 .thumb-gr .slick-list,
#sec6 .thumb-gr .slick-track,
#sec6 .thumb-gr .slick-slide>div {
    height: 100%;
}

#sec6 .sec6-slider {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1
}

#sec6 .sec6-slider .item {
    height: 100%;
}

#sec6 .price-gr {
    min-width: 170px;
    display: inline-block
}

#sec6 .price-gr dl {
    box-sizing: border-box;
    display: flex;
    border-bottom: 1px solid currentColor;
    padding: 10px 5px 10px 30px;
    gap: 10px;
    justify-content: space-between;
    line-height: 1.375
}

#sec6 .price-gr dl dd {
    min-width: 80px;
    text-align: right;
    align-self: flex-end
}

#sec6 .txt {
    margin-top: 5vw
}

#sec7 {
    padding: 10vw 0 15vw
}

#sec7 .item {
    padding: 0 1vw;
    box-sizing: border-box;
    --scale: 1
}

#sec7 .price {
    display: flex;
    gap: 2vw;
    justify-content: flex-end;
    line-height: 1.2;
    white-space: nowrap;
    margin-top: 2vw
}

#sec7 .btn-shared {
    margin: 10vw var(--padding-wrap) 0
}

#sec8 {
    padding: 10vw 0 0;
    position: relative;
    z-index: 2
}

#sec8::before {
    content: "";
    position: absolute;
    top: 20vw;
    left: -20vw;
    background: url("../img/shared/deco_round.png") no-repeat center top/100%;
    width: 70vw;
    height: 70vw;
    z-index: -1
}

#sec8 .ttl {
    width: 80vw;
    margin: 0 auto
}

#sec8 .photo1 {
    margin: 0 calc(50% - 50vw) 0 40vw
}

#sec9 {
    padding: 10vw 0 15vw;
    margin: 10vw 0 0;
    background: rgba(19, 19, 19, .05);
    position: relative;
    z-index: 1
}

#sec9 .photo {
    position: relative;
    z-index: 1
}

#sec9 .photo::before {
    content: "";
    position: absolute;
    top: 3vw;
    left: -3vw;
    width: 100%;
    height: 100%;
    background: var(--bg2);
    z-index: -1
}

#sec9 .gr {
    margin: 10vw 0 0
}

#sec9 .ttl {
    width: 80vw;
    margin: 0 auto
}

#sec9 .txt {
    margin-top: 5vw
}

#sec9 .btn-shared {
    margin-top: 5vw
}

#sec9 .btn-shared a {
    line-height: 1.6363636364;
    text-align: left
}

@media(min-width: 768px) {
    #sec1 {
        padding: 0 20px 88px
    }

    #sec1::before {
        top: 300px;
        z-index: -1;
        left: calc(50% - 130px);
        background: url("../img/shared/bg_deco1.png") repeat left top/160px
    }

    #sec1 .wrap {
        max-width: 1180px
    }

    #sec1 .ttl {
        width: auto;
        margin: 0;
        position: absolute;
        top: -329px;
        right: 0;
        z-index: 999999999999
    }

    #sec1 .photo {
        margin: 0 0 0 0;
        position: absolute;
        top: 14px;
        left: calc(50% - 50vw);
        height: 724px;
        right: calc(50% - 382px)
    }

    #sec1 .photo img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: right top;
        object-position: right top
    }

    #sec1 .txt {
        margin: 0 0 0 auto;
        max-width: 470px;
        padding: 515px 0 0 0
    }

    #sec1 .list {
        display: flex;
        justify-content: center;
        gap: 71px;
        margin: 42px 0 0
    }

    #sec1 .txt2 {
        margin: 20px 0 0;
        text-align: center
    }

    .navOpen #sec1 .ttl {
        z-index: 2
    }

    #sec2 {
        padding: 53px 0 0
    }

    #sec2 .ttl {
        position: relative;
        z-index: 2;
        padding: 0 20px 0;
        text-align: center
    }

    #sec2 .ttl img {
        max-width: 100%;
        height: auto
    }

    #sec2 .wrap {
        max-width: 1032px
    }

    #sec2 .photo1 {
        margin: -111px 0 0;
        border: 16px solid #111;
        box-sizing: border-box
    }

    #sec2 .photo2 {
        width: auto;
        margin: 0;
        position: absolute;
        bottom: -122px;
        right: -121px
    }

    #sec2 .txt {
        margin: 0px 0 0 31px
    }

    #sec3 {
        padding: 26px 0 120px
    }

    #sec3::before {
        bottom: 0;
        background: url("../img/menu/sec2_bg.jpg") no-repeat center bottom/100%;
        z-index: -1;
        width: 100vw;
        height: 300vw
    }

    #sec3 .gr-top {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end
    }

    #sec3 .gr1 {
        margin: 44px 0 0 -36px
    }

    #sec3 .ttl {
        width: auto;
        margin: 0
    }

    #sec3 .txt {
        margin: 13px 0 0 4px
    }

    #sec3 .photo {
        margin: 0 0 0 -95px
    }

    #sec3 .gr2 {
        display: flex;
        gap: 58px;
        justify-content: center;
        max-width: 678px;
        margin: -6px auto 0
    }

    #sec3 .gr2 .item {
        flex: 1
    }

    #sec4 {
        padding: 110px 20px 82px
    }

    #sec4::before {
        bottom: 120px;
        right: -73px;
        z-index: -1;
        width: 389px;
        height: 389px
    }

    #sec4::after {
        bottom: -150px;
        left: -110px;
        width: 389px;
        height: 389px
    }

    #sec4 .set1 .wrap {
        max-width: 1104px
    }

    #sec4 .set1 .inner {
        display: flex
    }

    #sec4 .set1 .gr {
        width: 463px;
        margin: 54px 0 0
    }

    #sec4 .set1 .ttl {
        width: auto;
        margin: 0 0 0 -13px
    }

    #sec4 .set1 .txt {
        margin: 20px 0 0
    }

    #sec4 .set1 .img-gr {
        margin: 0 0 0
    }

    #sec4 .set1 .photo {
        margin: 0 0 0 20px;
        height: 518px
    }

    #sec4 .set1 .photo img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    #sec4 .set1 .photo::before {
        top: 20px;
        right: -20px;
        background: var(--bg2);
        width: 100%;
        height: 100%;
        z-index: -1
    }

    #sec4 .set1 .price {
        bottom: 11px;
        right: 15px;
        z-index: 2;
        width: auto
    }

    #sec4 .set2 {
        margin: 80px 0 0
    }

    #sec4 .set2 .wrap {
        max-width: 798px
    }

    #sec4 .set2 .inner {
        display: flex;
        justify-content: flex-end
    }

    #sec4 .set2 .gr {
        margin: 85px 0 0 64px;
        width: 310px
    }

    #sec5 {
        padding: 40px 0 94px
    }

    #sec5::before {
        content: "";
        position: absolute;
        bottom: -40vw;
        right: -30vw;
        background: url("../img/shared/deco_round.png") no-repeat center bottom/100%;
        width: 389px;
        height: 389px;
        z-index: -1
    }

    #sec5 .set1 .wrap {
        max-width: 1319px
    }

    #sec5 .set1 .photo {
        margin: 0;
        position: absolute;
        top: 0;
        left: -90px;
        z-index: -1;
        right: 400px
    }

    #sec5 .set1 .photo img {
        max-width: 100%;
        height: auto
    }

    #sec5 .set1 .gr {
        padding: 30px 0 0 50%
    }

    #sec5 .set1 .ttl {
        width: auto;
        margin: 0 0 0 0
    }

    #sec5 .set1 .txt {
        margin: 30px 0 0 auto;
        max-width: 500px
    }

    #sec5 .set2 {
        margin: 80px 20px 0
    }

    #sec5 .set2 .inner {
        display: flex
    }

    #sec5 .set2 .gr-price {
        width: 309px;
        margin: 180px 0 0 0;
        flex-shrink: 0
    }

    #sec5 .set2 .gr-img {
        display: flex;
        align-items: flex-start;
        margin: 0 0 0 90px
    }

    #sec5 .set2 .gr-img li:nth-child(1) {
        margin: 220px -88px 0 0
    }

    .sec6-bg {
        position: relative;
        z-index: 2
    }

    #sec6 {
        position: relative;
        z-index: 2;
        padding: 42px 0 0
    }

    #sec6 .wrap {
        max-width: 1500px
    }

    #sec6 .ttl {
        text-align: center;
        width: auto
    }

    #sec6 .ttl::before {
        width: 560px;
        height: 560px
    }

    #sec6 .sec6-list {
        margin: 54px 0 0;
        gap: 0;
        display: flex;
        flex-direction: row
    }

    #sec6 .item {
        width: 50%
    }

    #sec6 .item-ttl {
        margin: 0 0 0 auto;
        padding: 25px 23px 0;
        height: auto;
        text-align: right
    }

    #sec6 .item-ttl img {
        height: auto;
        width: auto
    }

    #sec6 .thumb-gr {
        position: relative;
        z-index: 1;
        padding: 0 0 100px;
        margin: 0 0;
        height: 630px;
        box-sizing: border-box
    }

    #sec6 .price-gr {
        min-width: 210px;
        margin: 0 0 0;
        position: absolute;
        bottom: 40px;
        left: 0
    }

    #sec6 .price-gr dl {
        box-sizing: border-box;
        display: flex;
        border-bottom: 1px solid currentColor;
        padding: 12px 5px 12px 70px;
        gap: 10px;
        justify-content: space-between;
        line-height: 1.375
    }

    #sec6 .price-gr dl dd {
        min-width: 80px;
        text-align: right;
        align-self: flex-end
    }

    #sec6 .txt {
        margin: 22px 0 0 30px;
        max-width: 470px
    }

    #sec7 {
        padding: 107px 0 104px
    }

    #sec7 .item {
        padding: 0 10px
    }

    #sec7 .item img {
        width: 100%;
        height: auto
    }

    #sec7 .price {
        display: flex;
        gap: 12px;
        margin-top: 10px
    }

    #sec7 .btn-shared {
        margin: 65px 0 0
    }

    #sec8 {
        padding: 50px 0 0
    }

    #sec8::before {
        top: 160px;
        left: -70px;
        background: url("../img/shared/deco_round.png") no-repeat center top/100%;
        width: 389px;
        height: 389px;
        z-index: -1
    }

    #sec8 .wrap {
        max-width: 1167px
    }

    #sec8 .ttl {
        width: auto;
        margin: 0 0 0 75px
    }

    #sec8 .photo1 {
        margin: 0 0;
        position: absolute;
        top: -180px;
        right: calc(50% - 50vw)
    }

    #sec8 .photo2 {
        position: absolute;
        top: 284px;
        left: calc(50% - 584px);
        right: 200px
    }

    #sec8 .photo2 img {
        max-width: 100%;
        height: auto
    }

    #sec8 .txt {
        margin: 295px 0 0 auto;
        max-width: 390px
    }

    #sec9 {
        padding: 114px 20px 150px;
        margin: 150px 0 0;
        position: relative
    }

    #sec9 .wrap {
        max-width: 1200px
    }

    #sec9 .inner {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end
    }

    #sec9 .photo {
        position: relative;
        z-index: 1;
        display: inline-block;
        margin: -14px 0 0
    }

    #sec9 .photo::before {
        top: 40px;
        left: -30px;
        z-index: -1
    }

    #sec9 .gr {
        margin: 20px 88px 0 0;
        max-width: 500px
    }

    #sec9 .ttl {
        width: auto;
        margin: 0 0 0 -13px
    }

    #sec9 .txt {
        margin-top: 20px;
        max-width: 373px
    }

    #sec9 .btn-shared {
        margin-top: 20px;
        margin: 50px 0 0 -47px
    }
}

@media(min-width: 768px)and (max-width: 1500px) {
    #sec7 .price {
        font-size: 1.5vw
    }

    #sec7 .price .fz20 {
        font-size: 1.3vw
    }

    #sec8 {
        padding: 0 20px
    }

    #sec8 .ttl {
        margin: 0 320px 0 15px
    }

    #sec8 .ttl img {
        max-width: 100%;
        height: auto
    }
}

@media(min-width: 768px)and (max-width: 1200px) {
    #sec1 .photo {
        right: calc(50% - 262px)
    }

    #sec2 .photo1 img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    #sec2 .photo2 {
        right: -70px
    }

    #sec5 .set2 .gr-img {
        margin-left: 30px
    }

    #sec9 .gr {
        margin-right: 40px
    }

    #sec9 .photo img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}



@media(max-width: 768px) {
    #sec8 .photo1 {
        margin: 0 calc(32% - 38vw) 0 70vw;
        position: absolute;
        top: 180px;
    }

   
}

.remodal2 {
    background: url(../img/shared/bg_bd.jpg) repeat;
    color: #000;
    text-align: center;
  }
  .remodal2 .bg {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    margin: 5vw 10%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    gap: 6vw;
  }
  
  .remodal2 h3 {
    --scale: 1.4;
  }
  
  .remodal2 .txt-center {
    color: #241200;
    font-weight: 500;
  }
  
  @media screen and (min-width: 768px) {
    .remodal2 .remodal-close {
      width: 58px;
      height: 29px;
      top: 57px;
      right: 50px;
    }
    .remodal2 .bg {
      margin: 65px auto 75px;
      width: 698px;
      height: 245px;
      flex-direction: row;
      justify-content: center;
      gap: 100px;
      text-align: left;
      box-sizing: border-box;
      padding-top: 33px;
    }
    .remodal2 h3 {
      margin-bottom: 30px;
    }
  }