.approx {
    margin-left: 6px;
    letter-spacing: 0.03em;
}
#sec1 {
    background:
        url(../img/scene/sec1_bg.jpg) no-repeat center top/200% auto,
        url(../img/shared/bg2.jpg);
    padding: 1px 0 0;
}
#sec1 .catch {
    margin: -6vw 0 6vw 35%;
}
#sec1 h2 {
    font-size: 6.5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
}
#sec1 h2 span {
    letter-spacing: 0.1em;
    display: inline-block;
    position: relative;
    margin: 5vw 0 0 17vw;
}
#sec1 h2 span::after {
    content: "";
    border-top: 1px solid #b2b0ac;
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    right: -1000px;
}
#sec1 .item1 .sub {
    margin: 10vw auto 7vw;
    width: 30%;
}
#sec1 .item1 .sub img:first-child {
    margin-bottom: 8px;
}
#sec2 {
    padding: 15vw 0 20vw;
    position: relative;
    background: url(../img/scene/sec2_bg.png) repeat-x left top/150% auto;
}
#sec2::before {
    content: "";
    background: url(../img/scene/sec2_deco.png) no-repeat right bottom/100% auto;
    position: absolute;
    top: 0;
    right: 5%;
    bottom: 8vw;
    width: 40%;
    z-index: -1;
}
#sec2 .item1 {
    margin-bottom: 10vw;
}
#sec2 .item1 .gr-txt h2 {
    font-weight: 500;
}
#sec2 .item1 .gr-txt h2 .t1 {
    font-size: 9.5vw;
    letter-spacing: 0.03em;
}
#sec2 .item1 .gr-txt h2 .t2 {
    font-size: 6vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin-top: 2vw;
    display: inline-block;
}
#sec2 .item1 .gr-txt .gr-pt {
    position: relative;
    margin: 8vw 0 6vw;
}
#sec2 .item1 .gr-txt .gr-pt h3 {
    position: absolute;
    top: 3vw;
    left: 4%;
    white-space: nowrap;
    font-size: 4.5vw;
    color: #fff;
    font-weight: 500;
}
#sec2 .item1 .gr-txt .gr-pt h3 span {
    letter-spacing: 0.1em;
    display: inline-block;
}
#sec2 .item1 .gr-txt .gr-pt h3 .t2 {
    margin-top: 7vw;
}
#sec2 .item1 .gr-txt .gr-pt h3 .t3 {
    margin-top: 15vw;
}
#sec2 .item2 .catch {
    margin: -11vw 0 0 auto;
    width: 60%;
}
#sec3 {
    padding-bottom: 20vw;
}
#sec3 .set1 {
    padding-bottom: 10vw;
}
#sec3 .set1 .gr-txt h2 {
    font-weight: 500;
}
#sec3 .set1 .gr-txt h2 span {
    letter-spacing: 0.1em;
}
#sec3 .set1 .gr-txt h2 .t1 .big {
    font-size: 9.5vw;
    letter-spacing: 0.03em;
}
#sec3 .set1 .gr-txt h2 .t1 .line {
    font-size: 5vw;
    display: inline-block;
    position: relative;
    margin-top: 3vw;
}
#sec3 .set1 .gr-txt h2 .t1 .line::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    top: 53%;
    left: calc(100% + 10px);
    width: 12vw;
}
#sec3 .set1 .gr-txt h2 .t2 {
    font-size: 7vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
    display: inline-block;
    margin-top: 3vw;
}
#sec3 .set1 .gr-txt .gr-pt {
    position: relative;
    margin: 8vw 0 6vw;
}
#sec3 .set1 .gr-txt .gr-pt h3 {
    position: absolute;
    left: 4%;
    bottom: 4vw;
    font-size: 4.5vw;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.7;
}
#sec3 .set2 .item1 .gr-txt h3 {
    font-size: 7vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 5vw;
}
#sec3 .set2 .item1 .photo {
    margin-top: 10vw;
}
#sec3 .set2 .item2 {
    position: relative;
    padding: 10vw 5% 40vw;
    margin-bottom: 25vw;
}
#sec3 .set2 .item2::before {
    content: "";
    background: url(../img/shared/bg2.jpg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}
#sec3 .set2 .item2 .content .col {
    text-align: center;
}
#sec3 .set2 .item2 .content .col .tit {
    font-size: 5.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 4vw;
}
#sec3 .set2 .item2 .content .col .tit dd {
    font-size: 5vw;
    letter-spacing: 0.1em;
    margin-top: 7px;
}
#sec3 .set2 .item2 .content .col .tit dd span {
    font-size: 4.1vw;
    letter-spacing: 0.1em;
}
#sec3 .set2 .item2 .content .col .txt {
    font-size: 16px;
}
#sec3 .set2 .item2 .content .col-r {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 2px solid #000;
}
#sec3 .set2 .item2 .deco {
    position: absolute;
    right: -13%;
    bottom: -20vw;
    width: 55%;
}
#sec4 .group {
    background: url(../img/scene/sec4_bg.jpg) no-repeat center top/cover;
    padding: 20vw 0;
    color: #fff;
}
#sec4 .group h2 {
    font-size: 5.5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
}
#sec4 .group .txt {
    margin: 6vw 0;
}
#sec4 .group .menu-card h3 {
    font-size: 5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 4vw;
}
#sec4 .group .menu-card .menu-group:not(:last-of-type) {
    margin-bottom: 20px;
}
#sec4 .group .menu-card .menu-group .menu-row {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin-bottom: 4px;
}
#sec4 .group .menu-card .menu-group .menu-row .menu-cell-name {
    margin-left: -5px;
}
#sec4 .group .menu-card .menu-group .menu-row .menu-cell-dots {
    flex: 1;
    border-top: 1px dotted #fff;
    margin: 0 5px;
}
#sec4 .group .menu-card .menu-group .menu-row .menu-cell-price span {
    font-size: 14px;
}
#sec4 .group .menu-card .menu-group .menu-note {
    font-size: 13px;
    line-height: 28px;
}
#sec5 {
    padding: 18vw 0;
}
#sec5 .gr-pt {
    position: relative;
}
#sec5 .gr-pt h3 {
    font-size: 4vw;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.1em;
    white-space: nowrap;
    position: absolute;
    top: 4vw;
    left: 5%;
}
#sec5 .gr-pt h3 .int {
    margin: -1vw 0 0 1vw;
}
#sec5 .gr-pt h3 .deco1 {
    margin-bottom: -2vw;
}
#sec5 .gr-pt h3 .deco2 {
    margin-top: -2vw;
}
#sec5 .set1 {
    padding-bottom: 10vw;
}
#sec5 .set1 .gr-txt h2 {
    font-weight: 500;
    margin-bottom: 5vw;
}
#sec5 .set1 .gr-txt h2 .t1 {
    font-size: 9.5vw;
    letter-spacing: 0.03em;
}
#sec5 .set1 .gr-txt h2 .t2 {
    font-size: 6vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin-top: 2vw;
    display: inline-block;
}
#sec5 .set1 .gr-pt {
    margin-top: 10vw;
}
#sec5 .set2 .item1 {
    position: relative;
    margin-bottom: 5vw;
}
#sec5 .set2 .item1::before {
    content: "";
    background: url(../img/scene/sec5_deco.png) no-repeat right bottom/100% auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 15vw;
    width: 43%;
}
#sec5 .set2 .item1 .gr-pt h3 {
    top: 4vw;
    left: 27%;
}
#sec5 .set2 .item1 .deco {
    width: 50%;
    margin: -30vw 0 0 -13vw;
}
#sec5 .set2 .item2 {
    position: relative;
}
#sec5 .set2 .item2 h3 {
    position: absolute;
    top: -8.5vw;
    left: 29%;
    font-size: 5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 30px;
    line-height: 1.7;
}
#sec5 .set2 .item2 h3::before {
    content: "";
    border-left: 1px solid #000;
    position: absolute;
    top: 0;
    left: 0;
    height: 50%;
}
#sec5 .set2 .item2 h3::after {
    content: "";
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 50%;
}
#sec5 .set2 .item2 h3 .color {
    color: #fff;
}
#sec5 .set2 .item2 h3 .t1::before {
    content: "";
    border-left: 1px solid #000;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}
#sec5 .set2 .item2 h3 .t2::before {
    content: "";
    border-top: 1px solid #000;
    border-bottom: 1px solid #fff;
    width: 20px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
}
#sec5 .set2 .item2 h3 .t2::after {
    content: "";
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    width: 20px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}
#sec5 .set2 .item2 .content .photo1 {
    width: 56%;
}
#sec5 .set2 .item2 .content .photo2 {
    margin: -16vw 0 0 49%;
}
#sec5 .set2 .item2 .btn-link {
    margin-top: 13vw;
}
#sec6 .contact-box {
    border-top: 2px solid;
    border-bottom: 2px solid;
    padding: 10vw 0;
}
#sec6 .contact-box h2 {
    font-family: "Zen Old Mincho";
    font-size: 6.4vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.45;
    margin-bottom: 6vw;
}
#sec6 .contact-box .contact-tel {
    font-size: 8vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
    margin-bottom: 6vw;
}
#sec6 .contact-box .contact-tel img {
    width: 4.8vw;
    margin: -1.2vw 1vw 0 0;
}
#sec6 .contact-box .contact-tel small {
    font-size: 3.4vw;
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 3vw;
}
#sec6 .contact-box .btn-web a {
    width: 85%;
    padding: 10px 20px;
}
#sec6 .contact-box .btn-web a img {
    width: 19px;
    margin: 0 9px 0 0;
}
#sec7 {
    padding: 20vw 0 18vw;
}
#sec7 .item1 {
    margin-bottom: 10vw;
}
#sec7 .item1 .gr-txt .catch {
    width: 29%;
    margin: 0 5% -3vw auto;
}
#sec7 .item1 .gr-txt h2 {
    font-weight: 500;
    margin-bottom: 10vw;
}
#sec7 .item1 .gr-txt h2 .t1 {
    font-size: 4.2vw;
    display: inline-block;
    border: 1px solid #000;
    padding: 10px 20px;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.2;
    margin-bottom: 3vw;
}
#sec7 .item1 .gr-txt h2 .t2 {
    font-size: 5.5vw;
    line-height: 1.6;
    letter-spacing: 0.1em;
    display: inline-block;
}
#sec7 .item1 .gr-txt h2 .t2 .big {
    font-family: "Zen Kaku Gothic New";
    font-size: 8.5vw;
    letter-spacing: 0.03em;
    margin-bottom: 1vw;
    display: inline-block;
}
#sec7 .item2 .txt {
    margin-top: 5vw;
}
#sec8 .set1 {
    background: url(../img/scene/sec8_bg.jpg) no-repeat center top/cover;
    height: 68vw;
    position: relative;
}
#sec8 .set1 h2 {
    position: absolute;
    top: 27vw;
    right: 5%;
    font-size: 5.5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #fff;
}
#sec8 .set1 .catch {
    position: absolute;
    right: 0;
    bottom: -12vw;
    width: 45%;
}
#sec8 .set2 {
    padding: 20vw 0 40vw;
    position: relative;
}
#sec8 .set2::before {
    content: "";
    background: url(../img/scene/sec8_deco.png) no-repeat right bottom/100% auto;
    position: absolute;
    top: 0;
    right: 5%;
    bottom: 13vw;
    width: 40%;
    z-index: -1;
}
#sec8 .set2 .gr-pt {
    position: relative;
}
#sec8 .set2 .gr-pt h3 {
    font-size: 4.5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #fff;
    white-space: nowrap;
    position: absolute;
    top: 5vw;
    right: 5%;
}
#sec8 .set2 .item1 {
    margin-bottom: 10vw;
}
#sec8 .set2 .item2 .gr-pt h3 {
    right: auto;
    left: 5%;
}
#sec8 .set2 .item2 .floormap {
    margin: 10vw 0 5vw;
}
#sec9 {
    padding-bottom: 22vw;
}
#sec9 .gr-bnr .bnr:not(:last-child) {
    margin-bottom: 10vw;
}
#sec9 .gr-bnr .bnr a {
    display: block;
    position: relative;
}
#sec9 .gr-bnr .bnr a::before {
    content: "";
    border: 1px solid #fff;
    position: absolute;
    top: 4px;
    right: 4px;
    bottom: 4px;
    left: 4px;
    z-index: 1;
}
#sec9 .gr-bnr .bnr a::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 25px;
    height: 25px;
    background: #fff;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
#sec9 .gr-bnr .bnr .tit {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 5%;
    right: 5%;
    font-size: 5.3vw;
    color: #fff;
    font-weight: 500;
}
#sec9 .gr-bnr .bnr .tit .big {
    font-size: 6.7vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    position: relative;
    top: 0.5vw;
    margin-right: 2vw;
}
@media screen and (min-width: 768px) {
    #header {
        padding-bottom: 63px;
    }
    .approx {
        margin-left: 16px;
    }
    #sec1 {
        background:
            url(../img/scene/sec1_bg.jpg) no-repeat center top/100% auto,
            url(../img/shared/bg2.jpg);
        padding: 1px 0 0;
    }
    #sec1 .catch {
        margin: -55px -36px 14px auto;
        width: -moz-fit-content;
        width: fit-content;
    }
    #sec1 h2 {
        font-size: 40px;
        line-height: 58px;
        margin: 0 0 52px -7px;
    }
    #sec1 h2 span {
        margin: 24px 0 0 98px;
    }
    #sec1 h2 span::after {
        left: calc(100% + 30px);
        right: auto;
        width: 183px;
    }
    #sec1 .item1 {
        display: flex;
        align-items: flex-end;
    }
    #sec1 .item1 .sub {
        margin: 0 0 0 -127px;
        width: -moz-fit-content;
        width: fit-content;
        display: flex;
    }
    #sec1 .item1 .sub img:first-child {
        margin: 0 8px 0 0;
    }
    #sec1 .item1 .txt {
        margin: 0 -123px 46px 162px;
        flex: 1;
    }
    #sec2 {
        padding: 77px 0 85px;
        background: url(../img/scene/sec2_bg.png) repeat-x left top/100% auto;
    }
    #sec2::before {
        background: url(../img/scene/sec2_deco.png) no-repeat;
        height: 131px;
        top: auto;
        right: calc(50% - 681px);
        bottom: 59px;
        width: 365px;
    }
    #sec2 .wrap {
        max-width: 1240px;
        padding: 0 20px;
    }
    #sec2 .item1 {
        margin-bottom: 54px;
        position: relative;
        min-height: 479px;
    }
    #sec2 .item1 .gr-txt {
        padding-top: 38px;
        width: 484px;
    }
    #sec2 .item1 .gr-txt h2 {
        margin-bottom: 59px;
    }
    #sec2 .item1 .gr-txt h2 .t1 {
        font-size: 60px;
    }
    #sec2 .item1 .gr-txt h2 .t2 {
        font-size: 40px;
        line-height: 58px;
        margin-top: 19px;
    }
    #sec2 .item1 .gr-txt .gr-pt {
        position: absolute;
        margin: 0;
        top: 0;
        right: -150px;
        left: 50%;
    }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
    #sec2 .item1 .gr-txt .gr-pt {
        right: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item1 .gr-txt .gr-pt .photo {
        height: 606px;
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item1 .gr-txt .gr-pt h3 {
        top: 46px;
        left: 44px;
        font-size: 29px;
        line-height: 64px;
    }
    #sec2 .item1 .gr-txt .gr-pt h3 .t2 {
        margin-top: 52px;
    }
    #sec2 .item1 .gr-txt .gr-pt h3 .t3 {
        margin-top: 106px;
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item2 {
        position: relative;
    }
    #sec2 .item2 .catch {
        margin: 0;
        width: auto;
        position: absolute;
        top: -29px;
        left: -47px;
    }
    #sec2 .item2 .photo {
        margin-left: 306px;
    }
}
@media screen and (min-width: 768px) {
    #sec3 {
        padding-bottom: 129px;
    }
    #sec3 .set1 {
        padding-bottom: 108px;
        position: relative;
    }
    #sec3 .set1 .wrap {
        max-width: 1240px;
        padding: 0 20px;
    }
    #sec3 .set1 .gr-txt {
        padding-top: 55px;
        width: 484px;
        min-height: 610px;
    }
    #sec3 .set1 .gr-txt h2 {
        margin-bottom: 50px;
    }
    #sec3 .set1 .gr-txt h2 .t1 .big {
        font-size: 60px;
    }
    #sec3 .set1 .gr-txt h2 .t1 .line {
        font-size: 29px;
        margin: 35px 0 0 -7px;
    }
    #sec3 .set1 .gr-txt h2 .t1 .line::before {
        left: calc(100% + 14px);
        width: 70px;
    }
    #sec3 .set1 .gr-txt h2 .t2 {
        font-size: 40px;
        line-height: 58px;
        margin-top: 25px;
    }
    #sec3 .set1 .gr-txt .gr-pt {
        position: absolute;
        margin: 0;
        top: 0;
        right: -150px;
        left: 564px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
    #sec3 .set1 .gr-txt .gr-pt {
        right: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec3 .set1 .gr-txt .gr-pt h3 {
        left: 37px;
        bottom: 20px;
        font-size: 29px;
        line-height: 48px;
    }
}
@media screen and (min-width: 768px) {
    #sec3 .set2 .wrap {
        max-width: 1240px;
        padding: 0 20px;
    }
    #sec3 .set2 .item1 .gr-txt {
        position: absolute;
        top: -5px;
        right: 21px;
    }
    #sec3 .set2 .item1 .gr-txt h3 {
        font-size: 31px;
        line-height: 50px;
        white-space: nowrap;
        margin-bottom: 0;
    }
    #sec3 .set2 .item1 .gr-txt .txt {
        margin: 69px 45px 0 0;
        height: 310px;
    }
    #sec3 .set2 .item1 .photo {
        margin: 0 445px 0 -50px;
        height: 494px;
    }
    #sec3 .set2 .item2 {
        padding: 123px 0 79px;
        margin: -64px 0 78px;
    }
    #sec3 .set2 .item2 .content {
        width: 1000px;
        margin: 0 auto;
        display: flex;
    }
    #sec3 .set2 .item2 .content .col {
        width: 50%;
        padding: 15px 0 28px !important;
    }
    #sec3 .set2 .item2 .content .col .tit {
        font-size: 26px;
        margin-bottom: 21px;
    }
    #sec3 .set2 .item2 .content .col .tit dd {
        font-size: 22px;
        margin-top: 13px;
    }
    #sec3 .set2 .item2 .content .col .tit dd span {
        font-size: 18px;
    }
    #sec3 .set2 .item2 .content .col .txt {
        font-size: 20px;
        line-height: 34px;
    }
    #sec3 .set2 .item2 .content .col-l {
        position: relative;
        left: -30px;
    }
    #sec3 .set2 .item2 .content .col-r {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
        border-left: 2px solid #000;
    }
    #sec3 .set2 .item2 .deco {
        right: -224px;
        bottom: -265px;
        width: auto;
    }
}
@media screen and (min-width: 768px) {
    #sec4 .group {
        padding: 91px 0 53px;
        max-width: 1300px;
        margin: 0 auto;
    }
    #sec4 .group h2 {
        font-size: 29px;
    }
    #sec4 .group .txt {
        margin: 44px 0 25px;
        text-align: center;
    }
    #sec4 .group .menu-card {
        width: 510px;
        margin: 0 auto;
    }
    #sec4 .group .menu-card h3 {
        font-size: 22px;
        margin-bottom: 9px;
    }
    #sec4 .group .menu-card .menu-group:not(:last-of-type) {
        margin-bottom: 27px;
    }
    #sec4 .group .menu-card .menu-group .menu-row {
        font-size: 22px;
        line-height: 40px;
        margin-bottom: 3px;
    }
    #sec4 .group .menu-card .menu-group .menu-row .menu-cell-name {
        margin-left: -5px;
    }
    #sec4 .group .menu-card .menu-group .menu-row .menu-cell-dots {
        margin: 0 9px;
    }
    #sec4 .group .menu-card .menu-group .menu-row .menu-cell-price span {
        font-size: 18px;
    }
    #sec4 .group .menu-card .menu-group .menu-note {
        font-size: 16px;
        line-height: 38px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 {
        padding: 107px 0 144px;
    }
    #sec5 .gr-pt h3 {
        font-size: 29px;
        top: 95px;
        left: 59px;
    }
    #sec5 .gr-pt h3 .int {
        margin: -6px 0 -3px 0;
    }
    #sec5 .gr-pt h3 .deco1 {
        margin-bottom: -21px;
    }
    #sec5 .gr-pt h3 .deco2 {
        margin-top: -20px;
    }
    #sec5 .set1 {
        padding-bottom: 48px;
    }
    #sec5 .set1 .wrap {
        max-width: 1240px;
        padding: 0 20px;
        display: flex;
        align-items: flex-start;
    }
    #sec5 .set1 .gr-txt {
        width: 484px;
        margin-top: 33px;
    }
    #sec5 .set1 .gr-txt h2 {
        margin-bottom: 56px;
    }
    #sec5 .set1 .gr-txt h2 .t1 {
        font-size: 60px;
    }
    #sec5 .set1 .gr-txt h2 .t2 {
        font-size: 40px;
        line-height: 58px;
        margin-top: 19px;
    }
    #sec5 .set1 .gr-pt {
        flex: 1;
        margin: 0 -150px 0 116px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
    #sec5 .set1 .gr-pt {
        margin-right: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set1 .gr-pt .photo {
        height: 526px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item1 {
        margin-bottom: 0;
    }
    #sec5 .set2 .item1::before {
        background: url(../img/scene/sec5_deco.png) no-repeat;
        height: 111px;
        top: 45px;
        right: 20px;
        bottom: auto;
        width: 302px;
    }
    #sec5 .set2 .item1 .gr-pt {
        margin-left: 42px;
        width: 621px;
    }
    #sec5 .set2 .item1 .gr-pt h3 {
        top: 18px;
        left: 185px;
    }
    #sec5 .set2 .item1 .deco {
        width: auto;
        margin: 0;
        position: absolute;
        top: -93px;
        left: 0;
        left: -378px;
    }
    #sec5 .set2 .item2 h3 {
        top: -49px;
        left: auto;
        right: -51px;
        font-size: 29px;
        padding: 0 34px 0 41px;
        line-height: 46px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1299px) {
    #sec5 .set2 .item2 h3 {
        right: calc(-50vw + 50% + 105px);
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 h3::before {
        top: 9px;
        height: 40px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 h3::after {
        bottom: 6px;
        height: 37px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 h3 .color {
        color: #fff;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 h3 .t1::before {
        top: 9px;
        right: 0;
        bottom: 7px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 h3 .t2::before {
        width: 21px;
        top: 8px;
        bottom: 6px;
    }
    #sec5 .set2 .item2 h3 .t2::after {
        top: 9px;
        width: 21px;
        bottom: 6px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 .content {
        width: 630px;
        margin: -159px -202px 0 auto;
        display: flex;
    }
}
@media screen and (min-width: 768px) and (max-width: 1299px) {
    #sec5 .set2 .item2 .content {
        margin-right: calc(-50vw + 50% - 50px);
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 .content .photo1 {
        width: 346px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 .content .photo2 {
        margin: 153px 0 0 -31px;
        width: 312px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 .set2 .item2 .btn-link {
        margin-top: -89px;
    }
}
@media screen and (min-width: 768px) {
    #sec6 .contact-box {
        padding: 37px 0 56px;
        margin: 0 20px;
    }
    #sec6 .contact-box h2 {
        font-size: 30px;
        line-height: 58px;
        margin-bottom: 13px;
    }
    #sec6 .contact-box .contact-tel {
        font-size: 34px;
        margin: 0 0 33px 12px;
    }
    #sec6 .contact-box .contact-tel img {
        width: 21px;
        height: auto;
        margin: -8px 4px 0 0;
    }
    #sec6 .contact-box .contact-tel small {
        font-size: 15px;
        margin-top: 9px;
    }
    #sec6 .contact-box .btn-web a {
        width: 340px;
        font-size: 19px;
        padding: 16px 20px;
    }
    #sec6 .contact-box .btn-web a img {
        width: 22px;
        margin: 0 10px 0 0;
    }
}
@media screen and (min-width: 768px) {
    #sec7 {
        padding: 153px 0 123px;
    }
    #sec7 .wrap {
        max-width: 1240px;
        padding: 0 20px;
    }
    #sec7 .item1 {
        margin-bottom: -132px;
        display: flex;
        align-items: flex-start;
    }
    #sec7 .item1 .photo {
        flex: 1;
        margin-right: -150px;
        height: 595px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
    #sec7 .item1 .photo {
        margin-right: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec7 .item1 .gr-txt {
        width: 620px;
        margin: -49px -185px 0 0;
    }
    #sec7 .item1 .gr-txt .catch {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 176px -11px auto;
    }
    #sec7 .item1 .gr-txt h2 {
        position: relative;
        z-index: 2;
        margin-bottom: 50px;
    }
    #sec7 .item1 .gr-txt h2 .t1 {
        font-size: 26px;
        padding: 9px 34px;
        line-height: 38px;
        margin-bottom: 11px;
    }
    #sec7 .item1 .gr-txt h2 .t2 {
        font-size: 40px;
    }
    #sec7 .item1 .gr-txt h2 .t2 .big {
        font-size: 60px;
        margin-bottom: 6px;
    }
    #sec7 .item1 .gr-txt h2 .t2 .color {
        color: #fff;
    }
}
@media screen and (min-width: 768px) {
    #sec7 .item2 {
        display: flex;
        align-items: flex-start;
    }
    #sec7 .item2 .txt {
        margin: 179px 99px 0 123px;
        width: 500px;
    }
    #sec7 .item2 .photo {
        flex: 1;
        height: 373px;
    }
}
@media screen and (min-width: 768px) {
    #sec8 .set1 {
        height: 560px;
    }
    #sec8 .set1 h2 {
        top: 260px;
        right: 146px;
        font-size: 40px;
    }
    #sec8 .set1 .catch {
        bottom: -103px;
        width: auto;
    }
    #sec8 .set2 {
        padding: 76px 0 179px;
    }
    #sec8 .set2::before {
        background: url(../img/scene/sec8_deco.png) no-repeat;
        height: 152px;
        top: auto;
        right: calc(50% - 437px);
        bottom: 126px;
        width: 303px;
    }
    #sec8 .set2 .wrap {
        max-width: 1240px;
        padding: 0 20px;
    }
    #sec8 .set2 .gr-pt {
        flex: 1;
    }
    #sec8 .set2 .gr-pt h3 {
        font-size: 29px;
        top: 71px;
        right: 45px;
    }
    #sec8 .set2 .item1 {
        margin-bottom: -76px;
        display: flex;
        align-items: flex-start;
    }
    #sec8 .set2 .item1 .gr-pt .photo {
        height: 488px;
    }
    #sec8 .set2 .item1 .txt {
        width: 353px;
        margin: 54px 52px 0px 115px;
        text-align: justify;
    }
    #sec8 .set2 .item2 {
        display: flex;
        align-items: flex-start;
        flex-direction: row-reverse;
    }
    #sec8 .set2 .item2 .gr-pt h3 {
        right: auto;
        left: 47px;
        top: 58px;
    }
    #sec8 .set2 .item2 .gr-pt .photo {
        height: 402px;
    }
    #sec8 .set2 .item2 .floormap {
        margin: 217px 114px 0 66px;
    }
}
@media screen and (min-width: 768px) {
    #sec9 {
        padding-bottom: 161px;
    }
    #sec9 .wrap {
        max-width: 1200px;
        padding: 0 20px;
    }
    #sec9 .gr-bnr {
        display: flex;
        justify-content: space-between;
    }
    #sec9 .gr-bnr .bnr {
        width: 47.4137931034%;
    }
    #sec9 .gr-bnr .bnr:not(:last-child) {
        margin-bottom: 0;
    }
    #sec9 .gr-bnr .bnr a::before {
        top: 6px;
        right: 6px;
        bottom: 6px;
        left: 6px;
    }
    #sec9 .gr-bnr .bnr a::after {
        bottom: 6px;
        right: 6px;
        width: 46px;
        height: 46px;
    }
    #sec9 .gr-bnr .bnr .photo img {
        width: 100%;
        height: 300px;
        -o-object-fit: cover;
        object-fit: cover;
    }
    #sec9 .gr-bnr .bnr .tit {
        top: 49%;
        left: 53px;
        right: 53px;
        font-size: 30px;
        letter-spacing: 0.1em;
    }
    #sec9 .gr-bnr .bnr .tit .big {
        font-size: 46px;
        top: 7px;
        margin-right: 10px;
    }
}
@media screen and (max-width: 1330px) and (min-width: 768px) {
    #sec2 .item2 .catch {
        left: calc(-50vw + 50% + 20px);
    }
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
    #sec1 .item1 .txt {
        margin-right: calc(-50vw + 50% + 30px);
    }
    #sec1 .item1 .sub {
        margin-left: calc(-50vw + 50% + 30px);
    }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    #sec1 .item1 .txt {
        margin-left: 154px;
    }
    #sec5 .set2 .item2 h3 {
        white-space: nowrap;
    }
}

.pad_tax{
    display: block;
    margin: 8px 0 0 0;
}
@media screen and (min-width: 768px) {
.pad_tax{
    display: block;
    margin: 14px 0 0 0;
}
}