#sec1 {
    padding-top: 15vw
}

#sec1 h2 {
    font-size: 6.6vw;
    line-height: 1.5;
    letter-spacing: .2em
}

#sec1 h2 span {
    margin-bottom: 6vw;
    display: block;
    font-size: 4vw;
    line-height: 1;
    color: #b8b054;
    letter-spacing: .1em
}

#sec1 .txt {
    margin-top: 10vw
}

@media screen and (min-width: 1000px) {
    #sec1 {
        padding-top: 146px
    }

    #sec1 .wrap {
        max-width: 1200px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 34px 0 50px
    }

    #sec1 h2 {
        font-size: 34px;
        line-height: 64.5px;
        margin-top: 13px;
        letter-spacing: .05em
    }

    #sec1 h2 span {
        margin: 0 0 21px 3px;
        font-size: 16px
    }

    #sec1 .txt {
        margin-top: 0;
        letter-spacing: .05em
    }
}

@media screen and (min-width: 1000px)and (max-width: 1130px) {
    #sec1 .wrap {
        padding: 0 20px 0
    }

    #sec1 .txt {
        flex: 1;
        margin-left: 30px
    }
}

#sec2 {
    padding-top: 20vw
}

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

#sec2 .txt {
    margin-top: 9vw
}

@media screen and (min-width: 1000px) {
    #sec2 {
        padding-top: 189px
    }

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

    #sec2 h2 {
        margin: 0 97px 0 auto;
        padding-top: 130px
    }

    #sec2 .photo {
        margin-top: 0;
        height: 533px;
        top: 0;
        left: calc(-50vw + 50%);
        right: calc(50% - 149px)
    }

    #sec2 .txt {
        text-align: center;
        margin-top: 229px;
        letter-spacing: .05em
    }
}

#sec3 {
    margin-left: 10%;
    padding-top: 25vw
}

#sec3 .wrap {
    padding: 14vw 0 25vw 5%;
}

#sec3 h2 {
    font-size: 4.5vw;
    color: #fff;
    text-shadow: 2px 2px 10px #000;
    line-height: 2.3;
    letter-spacing: .2em
}

#sec3 .bg-img {
    position: absolute;
    inset: 0 calc(-50vw + 50%) 0 0;
    z-index: -1
}

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

@media screen and (min-width: 1000px) {
    #sec3 {
        margin-left: 280px;
        padding-top: 237px
    }

    #sec3 .wrap {
        max-width: 1200px;
        padding: 100px 0 261px 68px
    }

    #sec3 h2 {
        font-size: 24px;
        line-height: 50px
    }
}

#sec4 {
    padding-top: 20vw
}

#sec4 .gr-txt h2 {
    font-size: 5.7vw;
    line-height: 1.5;
    letter-spacing: .2em
}

#sec4 .gr-txt .txt {
    margin-top: 7vw
}

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

#sec4 .btn-shared-1 {
    margin-top: 10vw
}

@media screen and (min-width: 1000px) {
    #sec4 {
        padding-top: 189px
    }

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

    #sec4 .gr-txt {
        margin-left: auto;
        padding: 71px 28px 0 0;
        width: -moz-fit-content;
        width: fit-content
    }

    #sec4 .gr-txt h2 {
        font-size: 28px;
        line-height: 48px;
        letter-spacing: .14em
    }

    #sec4 .gr-txt .txt {
        margin-top: 26px;
        letter-spacing: .1em
    }

    #sec4 .photo {
        margin-top: 0;
        top: 0;
        left: -40px;
        right: 566px;
        height: 517px
    }

    #sec4 .btn-shared-1 {
        margin-top: 185px;
        position: relative;
        left: -35px
    }

    #sec4 .btn-shared-1 span {
        padding-right: 40px
    }
}

#sec5 {
    padding-top: 30vw
}

#sec5 h2 {
    padding: 26vw 0 0;
    line-height: 2.1
}

#sec5 h2::before {
    width: 1px;
    height: 20vw;
    left: 50%;
    top: 0;
    transform: translateX(-50%)
}

#sec5 .txt {
    margin-top: 12vw
}

@media screen and (min-width: 1000px) {
    #sec5 {
        padding-top: 173px
    }

    #sec5 h2 {
        padding-top: 123px
    }

    #sec5 h2::before {
        height: 86px
    }

    #sec5 .txt {
        margin-top: 80px;
        text-align: center;
        letter-spacing: .095em
    }
}

#sec6 {
    padding-top: 20vw
}

#sec6 .set {
    position: relative
}

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

#sec6 .set .gr-txt h2 {
    font-size: 5.7vw;
    line-height: 1.5;
    letter-spacing: .2em
}

#sec6 .set .gr-txt .price {
    margin-top: 2vw;
    font-size: 3.7vw;
}

#sec6 .set .gr-txt .price span {
    font-size: 4.5vw;
    letter-spacing: .2em
}

#sec6 .set .gr-txt .txt {
    margin-top: 6vw
}

#sec6 .set2 {
    margin-top: 15vw
}

#sec6 .btn-shared-1 {
    margin-top: 15vw
}

@media screen and (min-width: 1000px) {
    #sec6 {
        padding-top: 106px
    }

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

    #sec6 .set {
        display: flex;
        align-items: center
    }

    #sec6 .set .photo {
        flex: 1
    }

    #sec6 .set .photo img {
        width: 100%
    }

    #sec6 .set .gr-txt h2 {
        font-size: 28px;
        line-height: 49px;
        letter-spacing: .05em
    }

    #sec6 .set .gr-txt .price {
        margin-top: 0;
        font-size: 18px;
    }

    #sec6 .set .gr-txt .price span {
        font-size: 24px
    }

    #sec6 .set .gr-txt .txt {
        margin-top: 27px;
        letter-spacing: .09em
    }

    #sec6 .set1 .photo {
        margin-left: 20px
    }

    #sec6 .set1 .gr-txt {
        margin: 5px 23px 0 73px
    }

    #sec6 .set2 {
        margin-top: 101px
    }

    #sec6 .set2 .gr-txt {
        order: 1;
        margin: 0 77px 0 83px
    }

    #sec6 .set2 .gr-txt h2 {
        letter-spacing: .08em
    }

    #sec6 .set2 .photo {
        order: 2;
        margin-right: 59px
    }

    #sec6 .btn-shared-1 {
        margin-top: 133px;
        position: relative;
        left: -36px
    }

    #sec6 .btn-shared-1 span {
        padding-right: 40px
    }
}

#sec7 {
    padding: 40vw 0 30vw;
}

#sec7 h2 {
    font-size: 6.6vw;
    line-height: 1.8;
    letter-spacing: .2em
}

#sec7 h2.tt1 {
    margin: 0 auto
}

#sec7 h2.tt1 span {
    display: inline-block;
    margin: 0 5% 0
}

#sec7 h2.tt2 {
    text-align: center
}

#sec7 .wrap {
    background: #eae7e4;
    margin: 15vw 5% 0;
    padding: 15vw 5%
}

#sec7 .txt {
    margin-top: 10vw
}

#sec7 .tel {
    margin-top: 10vw
}

#sec7 .tel span {
    text-align: center;
    display: block
}

#sec7 .tel span.t1 {
    letter-spacing: .2em
}

#sec7 .tel span.t2 {
    margin-top: 3vw;
    font-size: 32px;
    letter-spacing: 0
}

#sec7 .tel span.t2 img {
    width: 16px;
    margin: -4px 4px 0 0
}

#sec7 .btn-shared-2 {
    width: 70%;
    margin-top: 5vw
}

@media screen and (min-width: 1000px) {
    #sec7 {
        padding: 259px 0 212px
    }

    #sec7 h2 {
        font-size: 34px;
        line-height: 64.5px
    }

    #sec7 h2.tt1 {
        position: relative;
        left: -6px
    }

    #sec7 h2.tt1 span {
        margin: 0 32.5px 0
    }

    #sec7 .wrap {
        margin: 95px auto 0;
        padding: 92px 0 110px
    }

    #sec7 .txt {
        margin-top: 37px;
        font-size: 16px;
        line-height: 40px;
        text-align: center
    }

    #sec7 .tel {
        margin-top: 33px
    }

    #sec7 .tel span.t1 {
        letter-spacing: .2em
    }

    #sec7 .tel span.t2 {
        margin-top: 8px;
        font-size: 41.5px
    }

    #sec7 .tel span.t2 img {
        width: 22px;
        margin: 2px 6px 0 0
    }

    #sec7 .btn-shared-2 {
        width: 262px;
        margin-top: 24px
    }

    #sec7 .btn-shared-2 a {
        padding: 19px 0 24px;
        font-size: 19px
    }
}