#top.article .txt-gr .ttl {
    top: 60vw;
    font-size: 7vw;
    margin: 0 auto;
    left: 4vw
}

#top.article .txt-gr .ttl span {
    display: block
}

#top.article .txt-gr .ttl span:nth-child(2) {
    margin-top: 4vw
}

#top.article .txt-gr .ttl span:nth-child(3) {
    margin-top: 12vw
}

@media(min-width: 1000px) {
    #top.article {
        margin-top: 100px;
        background: #000;
        height: 1010px
    }

    #top.article .top-left {
        background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../img/shared/bg_deco.jpg") repeat top center
    }

    #top.article .txt-gr {
        background: rgba(0, 0, 0, 0);
        padding: 0;
        position: absolute;
        left: 547px;
        bottom: 58px;
        max-width: 579px
    }

    #top.article .txt-gr .ttl {
        top: 0;
        font-size: 34px;
        margin: 0 0 0 59px;
        letter-spacing: .2em;
        position: relative;
        top: 0;
        left: 0
    }

    #top.article .txt-gr .ttl span {
        margin-right: 42px
    }

    #top.article .txt-gr .ttl span:nth-child(1) {
        margin-top: -27px
    }

    #top.article .txt-gr .ttl span:nth-child(2) {
        margin-top: 4px
    }

    #top.article .txt-gr .ttl span:nth-child(3) {
        margin-top: 50px
    }
}

@media screen and (min-width: 1000px)and (min-width: 1000px)and (max-width: 1200px) {
    #top.article .txt-gr {
        left: 500px
    }

    #top.article .txt-gr .txt {
        padding-right: 30px
    }
}

.slick-dots {
    justify-content: flex-end
}

.slick-dots li {
    width: 14px;
    height: 14px;
    background: #262626 !important
}

.slick-dots li button {
    background: #262626 !important;
    width: 100% !important;
    height: 100% !important
}

.slick-dots li button::before {
    display: none
}

.slick-dots .slick-active button {
    background: #c93126 !important
}

@media screen and (min-width: 1000px) {
    .slick-dots li {
        width: 12px !important;
        height: 12px !important
    }

    .slick-dots li button:hover {
        background: #c93126
    }
}

#sec1 {
    position: relative
}

#sec1::before {
    position: absolute;
    content: "";
    background: #000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 25%
}

#sec1 h2 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    left: 20%
}

#sec1 .photo {
    position: absolute;
    top: 0;
    left: 0;
    right: 15%
}

#sec1 h3 {
    position: relative;
    z-index: 1;
    color: #fff;
    display: block;
    font-size: 4.5vw;
    letter-spacing: .3em;
    padding: 7vw 0 0 76vw
}

#sec1 h3 span {
    color: #000;
    letter-spacing: .3em;
    display: block;
    position: relative;
    z-index: 1;
    margin-top: 9vw
}

#sec1 h3 span::before {
    content: "";
    position: absolute;
    background: #fff;
    top: 0;
    left: -1vw;
    right: 2vw;
    bottom: 0;
    z-index: -1
}

@media screen and (min-width: 1000px) {
    #sec1 {
        z-index: 1
    }

    #sec1::before {
        bottom: 128px
    }

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

    #sec1 h2 {
        left: calc(20% - 4px);
        top: 14px
    }

    #sec1 h2 img {
        width: 100%;
        height: auto
    }

    #sec1 .photo {
        right: calc(50% - 250px);
        height: 745px
    }

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

    #sec1 h3 {
        font-size: 41px;
        line-height: 80px;
        padding: 63px 0 0 calc(50% + 224px);
        height: 765px
    }

    #sec1 h3 span {
        margin: 88px 9px 0 -9px;
        padding-top: 19px
    }

    #sec1 h3 span::before {
        left: -22px;
        right: 20px
    }
}

#sec2 {
    padding-bottom: 20vw;
    position: relative
}

#sec2::before {
    content: "";
    position: absolute;
    background: url("../img/grill/bg01.jpg") repeat center;
    top: -11vw;
    right: 0;
    left: 20%;
    bottom: 0
}

#sec2 .wrap .photo {
    margin: -10vw 0 10vw
}

#sec2 .wrap h2 {
    font-size: 6.5vw;
    font-weight: 600;
    line-height: 2;
    color: #202020;
    letter-spacing: .26em;
    text-align: center;
    white-space: nowrap
}

#sec2 .wrap h2 .tt1 {
    color: #c72a1e;
    font-size: 4.5vw;
    display: block;
    letter-spacing: .36em;
    background: url("../img/grill/sec2_deco_h2.png") no-repeat center bottom/100% auto;
    padding: 0 0 7vw 2vw;
    margin: 0 15% 0;
    transform: rotate(-4deg)
}

#sec2 .wrap .bot .txt {
    padding: 7vw 0 10vw
}

#sec2 .wrap .bot .txt span {
    display: block;
    margin-top: 5vw
}

@media screen and (min-width: 999px) {
    #sec2 {
        padding-bottom: 95px
    }

    #sec2::before {
        top: -140px;
        left: 31%
    }

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

    #sec2 .wrap .photo {
        margin: 0;
        position: absolute;
        top: -71px;
        left: calc(50% - 100px);
        right: 0;
        height: 569px
    }

    #sec2 .wrap h2 {
        font-size: 32px;
        line-height: 58px;
        width: 450px;
        padding: 83px 0 0 10%;
        text-align: left
    }

    #sec2 .wrap h2 .tt1 {
        font-size: 22px;
        padding: 0 0 27px 93px;
        background-size: 346px auto;
        margin: 0 0 17px 0;
        transform: rotate(-4deg);
        letter-spacing: .39em
    }

    #sec2 .wrap h2 .tt2 {
        margin-left: 44px;
        letter-spacing: .27em
    }

    #sec2 .wrap .bot {
        position: relative
    }

    #sec2 .wrap .bot .txt {
        position: absolute;
        padding: 0;
        top: 152px;
        left: calc(50% - 61px);
        width: 557px
    }

    #sec2 .wrap .bot .txt span {
        margin-top: 32px
    }

    #sec2 .wrap .bot .sec2-js {
        text-align: right;
        margin: 134px calc(50% + 100px) 0 100px
    }

    #sec2 .wrap .bot .sec2-js .slick-slide {
        height: 419px
    }

    #sec2 .wrap .bot .sec2-js .slick-slide li {
        height: 419px
    }

    #sec2 .wrap .bot .sec2-js .slick-slide li img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

@media screen and (min-width: 999px)and (max-width: 1400px) {
    #sec2 .wrap h2 {
        padding-left: 5%
    }

    #sec2 .wrap .photo {
        left: 50%
    }

    #sec2 .wrap .bot .txt {
        left: calc(50% + 25px)
    }

    #sec2 .wrap .bot .sec2-js {
        margin-right: 50%
    }
}

#sec3 {
    background: url("../img/grill/bg01.jpg") repeat center;
    margin-top: 3vw
}

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

#sec3 .wrap .right h2 {
    position: absolute;
    top: 2vw;
    left: 10vw;
    right: 10vw;
    z-index: -1
}

#sec3 .wrap .right .food {
    text-align: center;
    line-height: 1.5;
    font-weight: 600
}

#sec3 .wrap .right .food dt {
    font-size: 6vw;
    letter-spacing: .26em
}

#sec3 .wrap .right .food dt span {
    display: block;
    color: #c72a1e;
    letter-spacing: .26em;
    margin-bottom: 3vw
}

#sec3 .wrap .right .food dd {
    font-size: 5vw;
    letter-spacing: .26em
}

#sec3 .wrap .right .food dd span {
    font-size: 4vw
}

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

@media screen and (min-width: 999px) {
    #sec3 {
        margin-top: 11px
    }

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

    #sec3 .wrap .photo {
        position: absolute;
        top: 0;
        left: 0;
        right: calc(50% + 2px);
        height: 700px
    }

    #sec3 .wrap .right {
        padding: 216px 0px 92px;
        margin-left: calc(57% - 1px)
    }

    #sec3 .wrap .right h2 {
        top: -17px;
        left: -11px;
        right: auto
    }

    #sec3 .wrap .right .food {
        text-align: left;
        line-height: 49px
    }

    #sec3 .wrap .right .food dt {
        font-size: 30px
    }

    #sec3 .wrap .right .food dt span {
        margin-bottom: 29px
    }

    #sec3 .wrap .right .food dd {
        font-size: 25px;
        margin: -2px 0 0 -3px
    }

    #sec3 .wrap .right .food dd span {
        font-size: 20px
    }

    #sec3 .wrap .right .txt {
        margin-top: 24px;
        width: 513px
    }
}

@media screen and (min-width: 999px)and (max-width: 1190px) {
    #sec3 .wrap .right {
        margin-left: 50%
    }

    #sec3 .wrap .photo {
        right: 53%
    }
}

#sec4 .wrap {
    padding: 0
}

#sec4 .box {
    background: url("../img/grill/bg01.jpg") repeat center;
    padding: 0 4vw 15vw;
    margin-top: 4vw
}

#sec4 .box .food {
    text-align: center;
    color: #202020;
    font-weight: 600;
    line-height: 1.5;
    padding: 8vw 0
}

#sec4 .box .food dt {
    font-size: 6vw;
    letter-spacing: .26em
}

#sec4 .box .food dd {
    font-size: 5vw;
    letter-spacing: .26em
}

#sec4 .box .food dd span {
    font-size: 4.5vw;
    letter-spacing: .26em
}

@media screen and (min-width: 1000px) {
    #sec4 .wrap {
        max-width: 1500px;
        display: flex;
        justify-content: space-between
    }

    #sec4 .box {
        padding: 0 0 84px;
        margin-top: 10px;
        width: 49.6%;
        box-sizing: border-box
    }

    #sec4 .box .photo img {
        width: 100%;
        height: auto
    }

    #sec4 .box .food {
        text-align: left;
        line-height: 49px;
        padding: 20px 0 24px 171px
    }

    #sec4 .box .food dt {
        font-size: 30px
    }

    #sec4 .box .food dd {
        font-size: 25px
    }

    #sec4 .box .food dd span {
        font-size: 20px
    }

    #sec4 .box .txt {
        max-width: 439px;
        padding-left: 173px
    }

    #sec4 .box.box1 {
        padding-left: 5px
    }

    #sec4 .box.box2 {
        padding-right: 5px
    }

    #sec4 .box.box2 .food {
        padding-left: 83px
    }

    #sec4 .box.box2 .txt {
        padding-left: 85px
    }
}

@media screen and (min-width: 1000px)and (max-width: 1350px) {
    #sec4 .box .food {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    #sec4 .box .txt {
        padding-left: 40px !important;
        padding-right: 40px !important
    }
}

#sec5 .wrap {
    padding: 0
}

#sec5 .wrap h2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 70%
}

#sec5 .wrap .photo {
    position: absolute;
    top: 0;
    height: 106vw
}

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

#sec5 .wrap h3 {
    position: relative;
    z-index: 1;
    font-size: 7vw;
    color: #fff;
    font-weight: 500;
    letter-spacing: .28em;
    line-height: 1.5;
    padding: 35vw 0 0 10vw;
    white-space: nowrap
}

#sec5 .wrap h3 span {
    display: block;
    letter-spacing: .28em
}

#sec5 .wrap h3 span:nth-child(1) {
    padding-top: 16vw
}

#sec5 .wrap h3 span:nth-child(2) {
    padding-top: 78vw
}

@media screen and (min-width: 1000px) {
    #sec5 .wrap {
        max-width: 100%
    }

    #sec5 .wrap h2 {
        left: auto;
        right: 0;
        width: auto
    }

    #sec5 .wrap .photo {
        width: 100%;
        height: 767px
    }

    #sec5 .wrap h3 {
        font-size: 41px;
        line-height: 78px;
        padding: 348px 0 0 calc(50% - 516px);
        height: 690px
    }

    #sec5 .wrap h3 span:nth-child(1) {
        padding-top: 98px
    }

    #sec5 .wrap h3 span:nth-child(2) {
        padding-top: 463px
    }
}

#sec6 {
    color: #fff;
    margin-top: -43vw;
    position: relative
}

#sec6::before {
    content: "";
    position: absolute;
    background: #000;
    width: 100%;
    top: 0;
    bottom: 0
}

#sec6 .wrap .txt {
    padding: 44vw 0 10vw
}

#sec6 .sec6-js {
    position: relative;
    margin: 0 -5% 0
}

#sec6 .sec6-js dl {
    color: #fff;
    line-height: 1.7;
    font-weight: 600;
    margin-left: 20%;
    padding: 5vw 0 5vw 3%
}

#sec6 .sec6-js dl dt {
    font-size: 4.7vw;
    letter-spacing: .26em
}

#sec6 .sec6-js dl dd {
    font-size: 4vw;
    letter-spacing: .26em
}

#sec6 .sec6-js dl dd span {
    letter-spacing: .26em;
    font-size: 3.5vw
}

#sec6 .sec6-js .slick-dots {
    position: absolute;
    justify-content: flex-start;
    bottom: 18vw;
    left: 1vw
}

@media screen and (max-width: 999px) {
    #sec6 .sec6-js .slick-dots {
        position: absolute;
        top: 0vw;
        left: 1vw
    }

    #sec6 .sec6-js dl {
        margin-left: 0;
    }
}

#sec6 .sec6-js .slick-dots li {
    margin: 0 1vw 0 1vw
}

@media screen and (min-width: 999px) {
    #sec6 {
        margin-top: -271px;
        padding-bottom: 0
    }

    #sec6::before {
        width: 70%;
    }

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

    #sec6 .wrap .txt {
        padding: 0;
        position: absolute;
        top: 313px;
        left: 12.2%;
        width: 393px
    }

    #sec6 .sec6-js {
        margin: 0 0 0 calc(50% - 156px)
    }

    #sec6 .sec6-js .photo {
        height: 603px
    }

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

    #sec6 .sec6-js dl {
        line-height: 49px;
        margin-left: -2%;
    }

    #sec6 .sec6-js dl dt {
        font-size: 30px;
    }

    #sec6 .sec6-js dl dd {
        font-size: 25px;
    }

    #sec6 .sec6-js dl dd span {
        font-size: 20px;
    }

    #sec6 .sec6-js .slick-dots {
        bottom: 285px;
        left: 0;
    }

    #sec6 .sec6-js .slick-dots li {
        margin: 0 10px 0 0;
    }
}

@media screen and (min-width: 999px)and (max-width: 1450px) {
    #sec6 .wrap .txt {
        left: 30px
    }

    #sec6 .wrap .sec6-js {
        margin-left: 430px
    }

    #sec6 .wrap .sec6-js dl {
        padding-left: 20px
    }
}

#sec7 {
    padding: 15vw 0
}

#sec7 .bnr img {
    box-shadow: rgba(0, 0, 0, .16) 0px 10px 36px 0px, rgba(0, 0, 0, .06) 0px 0px 0px 1px
}

@media screen and (min-width: 999px) {
    #sec7 {
        padding: 80px 0 120px;
        text-align: center
    }
}

@media screen and (max-width: 999px) {
#top.article .logo {
    top: 40vw;
    width: 40vw;
    position: absolute;
    left: 0;
    z-index: 2;
}

#top.article .txt-gr .ttl {
    top: 80vw;
    font-size: 7vw;
    margin: 0 auto;
    left: 36vw;
}

#top.article .txt-gr {
    padding: 20vw 0 10vw;
}
}