#sec1 .wrap {
    padding: 0
}

#sec1 .group-txt {
    margin: 5vw 4% 0
}

#sec1 .group-txt h2 span {
    display: block;
    text-align: center;
    line-height: 1
}

#sec1 .group-txt h2 span.en {
    color: #6e3919;
    font-size: 12.53vw;
    font-weight: 400;
    letter-spacing: .11em
}

#sec1 .group-txt h2 span.jp {
    color: #000;
    margin-top: 2vw;
    font-size: 5.06vw;
    font-weight: 300;
    letter-spacing: .1em
}

#sec1 .group-txt .txt {
    margin-top: 5vw;
    letter-spacing: .06em
}

@media screen and (min-width: 768px) {
    #sec1 {
        padding: 72px 30px 0
    }

    #sec1 .wrap {
        max-width: 1266px;
        padding: 0
    }

    #sec1 .bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 881px
    }

    #sec1 .group-txt {
        position: relative;
        z-index: 1;
        max-width: 1060px;
        margin: 0 auto;
        padding: 115px 30px 0
    }

    #sec1 .group-txt h2 span {
        text-align: left
    }

    #sec1 .group-txt h2 span.en {
        color: #fff;
        font-size: 79px
    }

    #sec1 .group-txt h2 span.jp {
        color: #fff;
        margin-top: 21px;
        font-size: 26px
    }

    #sec1 .group-txt .txt {
        max-width: 541px;
        color: #fff;
        margin-top: 56px
    }
}

#sec2 {
    position: relative;
    padding: 15vw 0
}

#sec2::before {
    content: "";
    position: absolute;
    background: url("../img/shared/bg2.jpg") repeat center;
    width: 30%;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1
}

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

#sec2 .group-txt h3 {
    color: #000;
    text-align: center;
    font-size: 5.87vw;
    font-weight: 300;
    line-height: 1.8965517241;
    letter-spacing: .15em
}

#sec2 .group-txt .txt {
    margin-top: 3vw
}

#sec2 .set1 .photo {
    position: relative;
    z-index: 1;
    margin: 0 5% 7vw
}

#sec2 .set1 .photo::before {
    content: "";
    position: absolute;
    border: 1px solid #b1a996;
    inset: 15vw 15vw -4vw -4vw;
    z-index: -1
}

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

@media screen and (min-width: 768px) {
    #sec2 {
        padding: 132px 0 165px
    }

    #sec2::before {
        width: 306px
    }

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

    #sec2 .group-txt {
        margin-top: 0
    }

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

    #sec2 .group-txt .txt {
        margin-top: 0
    }

    #sec2 .set1 {
        display: flex;
        justify-content: space-between;
        max-width: 977px;
        margin: 0 auto
    }

    #sec2 .set1 .photo {
        order: 2;
        margin: 0
    }

    #sec2 .set1 .photo::before {
        inset: 166px 128px -23px -23px
    }

    #sec2 .set1 .group-txt {
        order: 1;
        margin: 40px 0 0 47px
    }

    #sec2 .set1 .group-txt .txt {
        height: 350px;
        margin: 31px 21px 0 0
    }

    #sec2 .set2 {
        display: flex;
        justify-content: space-between;
        margin-top: 98px;
        padding: 0 21px 0 34px
    }

    #sec2 .set2 .group-txt {
        margin-top: 66px
    }

    #sec2 .set2 .group-txt .txt {
        margin-top: 24px;
        letter-spacing: .06em
    }
}

#sec3 {
    position: relative
}

#sec3 .deco {
    position: absolute;
    top: -30vw;
    left: 0;
    right: -65%;
    z-index: -2
}

#sec3 .wrap::before {
    content: "";
    position: absolute;
    background: rgba(103, 90, 58, .5);
    width: 100vw;
    height: 1px;
    top: 26vw;
    left: 58%;
    transform: rotate(-25.5deg);
    transform-origin: left;
    z-index: 1
}

#sec3 .title h2 {
    margin: 0 auto;
    color: #000;
    font-size: 6.4vw;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .15em
}

#sec3 .photo1 {
    margin: 10vw 0 0 20%
}

#sec3 .photo2 {
    margin: -5vw 50% 0 0
}

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

#sec3 .group-txt h3 {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #000;
    border-bottom: 1px solid rgba(103, 90, 58, .5);
    font-size: 5.33vw;
    line-height: 1.5;
    letter-spacing: .15em
}

#sec3 .group-txt .txt {
    margin-top: 7vw
}

#sec3 .group-txt .txt li+li {
    margin-top: 5vw
}

#sec3 .photo3 {
    margin: 10vw 15% 0
}

@media screen and (max-width: 768px) {
    #sec3 .photo3 {
        margin: 10vw 0 0 auto;
        width: 63%;
    }
}

@media screen and (min-width: 768px) {
    #sec3 .deco {
        top: -720px;
        left: 0;
        right: auto
    }

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

    #sec3 .wrap::before {
        top: 162px;
        left: calc(50% - 289px)
    }

    #sec3 .title {
        width: calc(50% - 96px);
        padding: 109px 0 126px 117px
    }

    #sec3 .title h2 {
        font-size: 33px
    }

    #sec3 .photo1 {
        top: 0;
        left: calc(50% - 96px);
        right: calc(-50vw + 50%);
        height: 501px;
        margin: 0;
        z-index: 1
    }

    #sec3 .flex {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 30px;
        max-width: 1315px;
        margin: 0 0 0 auto
    }

    #sec3 .photo2 {
        width: 28.9733840304%;
        margin: -43px 0 0
    }

    #sec3 .group-txt {
        margin: 156px 8px 0 0;
        padding: 0
    }

    #sec3 .group-txt h3 {
        width: auto;
        height: -moz-fit-content;
        height: fit-content;
        margin: 0;
        border-right: 1px solid rgba(103, 90, 58, .5);
        border-bottom: none;
        font-size: 25px;
        line-height: 46px
    }

    #sec3 .group-txt .txt {
        margin: 24px 33px 0 0
    }

    #sec3 .group-txt .txt li {
        height: 389px
    }

    #sec3 .group-txt .txt li+li {
        margin: 51px 28px 0 0
    }

    #sec3 .photo3 {
        width: 25.7034220532%;
        margin: 153px 0 0
    }
}

@media screen and (min-width: 768px)and (max-width: 1500px) {
    #sec3 .photo3 {
        right: calc(-50vw + 50%)
    }
}

@media screen and (min-width: 768px)and (max-width: 1200px) {
    #sec3 .title {
        padding-left: 0
    }
}

#sec4 .js-scroll {
    position: relative;
    height: 100vh
}

#sec4 .js-scroll .item {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .5s ease;
    opacity: 0;
    width: 56vw;
    height: 43vw
}

#sec4 .js-scroll .item:nth-child(1) {
    opacity: 1
}

#sec4 .js-scroll .item.active {
    opacity: 1
}

#sec4 .js-scroll .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#sec4 .block {
    position: relative;
    z-index: 1;
    margin-top: -10vw;
    padding-bottom: 15vw
}

#sec4 .block::before {
    content: "";
    position: absolute;
    background: url("../img/shared/bg2.jpg") repeat center;
    inset: 10vw 0 0;
    z-index: -1
}

#sec4 .block .group-photo {
    display: flex;
    justify-content: space-between;
    gap: 5%
}

#sec4 .block .group-photo li:nth-child(1) {
    margin-top: 20vw
}

#sec4 .block .group-txt {
    padding-top: 10vw
}

#sec4 .block .group-txt h2 {
    text-align: center;
    color: #000;
    font-size: 6vw;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: .06em
}

#sec4 .block .group-txt .txt {
    margin-top: 5vw;
    letter-spacing: .06em
}

#sec4 .block .group-txt .group-link {
    margin: 7vw 4% 0
}

#sec4 .block .group-txt .group-link li+li {
    margin-top: 5vw
}

@media screen and (min-width: 768px) {
    #sec4 .js-scroll .item {
        width: 440px;
        height: 320px
    }

    #sec4 .block {
        padding-bottom: 122px
    }

    #sec4 .block::before {
        inset: 0
    }

    #sec4 .block .wrap {
        max-width: 1300px;
        padding: 0 30px
    }

    #sec4 .block .group-photo {
        display: block;
        gap: 0
    }

    #sec4 .block .group-photo li {
        width: calc(50% - 325px)
    }

    #sec4 .block .group-photo li:nth-child(1) {
        position: absolute;
        top: 208px;
        left: 30px;
        margin-top: 0
    }

    #sec4 .block .group-photo li:nth-child(2) {
        position: absolute;
        top: -57px;
        right: 30px
    }

    #sec4 .block .group-txt {
        padding-top: 178px
    }

    #sec4 .block .group-txt h2 {
        font-size: 34px;
        letter-spacing: .06em
    }

    #sec4 .block .group-txt .txt {
        text-align: center;
        margin-top: 39px
    }

    #sec4 .block .group-txt .group-link {
        margin: 51px 0 0
    }

    #sec4 .block .group-txt .group-link li {
        margin: 0 auto
    }

    #sec4 .block .group-txt .group-link li+li {
        margin-top: 15px
    }
}

#sec5 {
    position: relative;
    padding-bottom: 15vw
}

#sec5::before {
    content: "";
    position: absolute;
    background: rgba(103, 90, 58, .5);
    width: 100vw;
    height: 1px;
    bottom: 25vw;
    right: 0;
    z-index: -1;
    transform: rotate(-30deg);
    transform-origin: right
}

#sec5 .sec5-js {
    padding: 4vw 4vw 0
}

#sec5 .sec5-js .slick-dots {
    position: absolute;
    bottom: 4vw;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: row;
    gap: 9px
}

#sec5 .sec5-js .slick-dots li {
    width: 50px;
    height: 3px
}

#sec5 .sec5-js .slick-dots button {
    background: #fff;
    opacity: .5
}

#sec5 .sec5-js .slick-dots .slick-active button {
    opacity: 1
}

#sec5 .group-txt {
    position: relative;
    padding: 10vw 8vw
}

#sec5 .group-txt::before {
    content: "";
    position: absolute;
    border: 1px solid rgba(103, 90, 58, .5);
    inset: 4vw 4vw 0
}

#sec5 .group-txt h2 {
    text-align: center;
    color: #000;
    font-size: 6.53vw;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: .06em
}

#sec5 .group-txt h3 {
    width: -moz-fit-content;
    width: fit-content;
    margin: 7vw auto 0;
    border-bottom: 1px solid rgba(103, 90, 58, .5);
    color: #000;
    font-size: 5.33vw;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: .06em
}

#sec5 .group-txt .txt {
    margin-top: 7vw;
    letter-spacing: .06em
}

#sec5 .group-txt .btn-shared {
    margin-top: 7vw
}

@media screen and (min-width: 768px) {
    #sec5 {
        position: relative;
        display: flex;
        padding-bottom: 87px
    }

    #sec5::before {
        width: 50vw;
        bottom: 219px;
        transform: rotate(-41.5deg)
    }

    #sec5 .sec5-js {
        position: absolute;
        top: 0;
        left: 0;
        width: 50%;
        padding: 20px 0 0 20px
    }

    #sec5 .sec5-js .slick-dots {
        bottom: 25px
    }

    #sec5 .sec5-js .item {
        height: 654px
    }

    #sec5 .group-txt {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        margin-left: auto;
        width: 50%;
        min-height: 673px;
        padding: 22px 40px 0
    }

    #sec5 .group-txt::before {
        inset: 20px 20px 0
    }

    #sec5 .group-txt h2 {
        font-size: 34px
    }

    #sec5 .group-txt h3 {
        margin-top: 52px;
        font-size: 25px
    }

    #sec5 .group-txt .txt {
        max-width: 493px;
        margin: 38px auto 0
    }

    #sec5 .group-txt .btn-shared {
        margin: 47px auto 0
    }
}

#sec6 {
    position: relative;
    padding-bottom: 15vw
}

#sec6::before {
    content: "";
    position: absolute;
    background: rgba(103, 90, 58, .5);
    width: 120vw;
    height: 1px;
    bottom: 30vw;
    left: 0;
    transform: rotate(32deg);
    transform-origin: left
}

#sec6 .lead {
    position: relative
}

#sec6 .lead h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1
}

#sec6 .lead h2 span {
    display: block;
    text-align: center;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 10px #000
}

#sec6 .lead h2 span.en {
    font-size: 12.53vw;
    font-weight: 400;
    letter-spacing: .11em
}

#sec6 .lead h2 span.jp {
    margin-top: 2vw;
    font-size: 5.06vw;
    font-weight: 300;
    letter-spacing: .1em
}

#sec6 .lead .bg {
    height: 80vw
}

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

#sec6 .txt {
    margin-top: 10vw;
    letter-spacing: .06em
}

#sec6 .floor-map {
    margin: 10vw 10% 0
}

#sec6 .group-photo {
    display: flex;
    justify-content: space-between;
    margin-top: 5vw;
    gap: 5%
}

#sec6 .group-photo li:nth-child(1) {
    position: relative;
    z-index: 1
}

#sec6 .group-photo li:nth-child(1)::before {
    content: "";
    position: absolute;
    border: 1px solid rgba(103, 90, 58, .5);
    width: 24vw;
    height: 20vw;
    bottom: -3vw;
    right: -3vw;
    z-index: -1
}

#sec6 .group-photo li:nth-child(2) {
    margin-top: 5vw
}

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

    #sec6::before {
        left: 50%;
        bottom: 0;
        right: 0;
        transform: rotate(-146deg);
        transform-origin: left
    }

    #sec6 .lead {
        max-width: 1322px;
        margin: 0 auto
    }

    #sec6 .lead h2 span.en {
        font-size: 79px
    }

    #sec6 .lead h2 span.jp {
        margin-top: 10px;
        font-size: 23px
    }

    #sec6 .lead .bg {
        height: 628px
    }

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

    #sec6 .txt {
        text-align: center;
        margin-top: 61px
    }

    #sec6 .group {
        position: relative;
        margin-top: 68px
    }

    #sec6 .floor-map {
        text-align: right;
        width: 41.2962962963%;
        margin: 0 59px 0 auto
    }

    #sec6 .group-photo {
        display: block;
        margin-top: 0;
        gap: 0
    }

    #sec6 .group-photo li:nth-child(1) {
        position: absolute;
        top: 71px;
        left: 21px;
        width: 39.0740740741%
    }

    #sec6 .group-photo li:nth-child(1)::before {
        width: 281px;
        height: 232px;
        bottom: -23px;
        right: -23px
    }

    #sec6 .group-photo li:nth-child(2) {
        width: 52.5%;
        margin: 46px 0 0 auto
    }
}

#sec7 {
    position: relative;
    z-index: 1;
    background: url("../img/scene/sec7_bg.jpg") no-repeat center/cover;
    padding: 15vw 0
}

#sec7 h2 span {
    display: block;
    text-align: center;
    line-height: 1
}

#sec7 h2 span.en {
    color: #6e3919;
    font-size: 12.53vw;
    font-weight: 400;
    letter-spacing: .11em
}

#sec7 h2 span.jp {
    color: #000;
    margin-top: 2vw;
    font-size: 5.06vw;
    font-weight: 300;
    letter-spacing: .1em
}

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

#sec7 .group-txt .item {
    border-bottom: 1px solid rgba(103, 90, 58, .5);
    padding: 5vw 0
}

#sec7 .group-txt .item>* {
    display: flex;
    align-items: flex-start
}

#sec7 .group-txt .item p:nth-child(1) {
    font-size: 20px;
    margin: -9px 5px 0 0
}

#sec7 .group-txt .item p:nth-child(2) {
    flex: 1
}

#sec7 .group-txt .item dt p:nth-child(1) {
    color: #000
}

#sec7 .group-txt .item dd {
    display: flex
}

#sec7 .group-txt .item dd p:nth-child(1) {
    color: #774830
}

@media screen and (min-width: 768px) {
    #sec7 {
        padding: 130px 0 147px
    }

    #sec7 h2 span.en {
        font-size: 75px
    }

    #sec7 h2 span.jp {
        margin-top: 9px;
        font-size: 22px
    }

    #sec7 .group-txt {
        margin-top: 54px
    }

    #sec7 .group-txt .item {
        padding: 29px 0 24px
    }

    #sec7 .group-txt .item p {
        line-height: 30px
    }

    #sec7 .group-txt .item p:nth-child(1) {
        font-size: 25px;
        margin: -4px 6px 0 0
    }

    #sec7 .group-txt .item dd {
        margin-top: 5px
    }

    #sec7 .group-txt .item dd p:nth-child(1) {
        margin-top: 0px
    }
}