.ttl-shared {
    background: url("../img/shared/deco_ttl.png") no-repeat center top/20vw auto;
    padding: 4vw 0;
    text-align: center;
    font-size: 5.87vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .15em
}

@media screen and (min-width: 768px) {
    .ttl-shared {
        background-size: 108px auto;
        padding: 28px 0 15px;
        font-size: 28px
    }
}

.name-price {
    display: flex;
    justify-content: space-between;
    margin-top: 5vw;
    padding: 4vw 2vw;
    font-size: 5.07vw;
    line-height: 1.5
}

.name-price dt small {
    font-size: 4.13vw
}

.name-price dd small {
    font-size: 4.53vw
}

@media screen and (min-width: 768px) {
    .name-price {
        margin-top: 0;
        padding: 20px 3px 18px;
        font-size: 22px
    }

    .name-price dt small {
        font-size: 15px
    }

    .name-price dd small {
        font-size: 18px
    }
}

#sec1 {
    position: relative;
    background: url("../img/takeout/sec1_deco.png") no-repeat right top/80%, url("../img/takeout/sec1_bg_deco.png") no-repeat center top/250%;
    padding: 15vw 0
}

#sec1 .set1 h2 {
    text-align: center;
    font-size: 5.5vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .15em
}

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

#sec1 .set1 .bg {
    margin: -15vw -10% 0 -8%
}

#sec1 .set2 {
    position: relative;
    z-index: 1;
    margin-top: -3vw;
    background: url("../img/shared/bg2.jpg") repeat center;
    border: 3px solid rgba(255, 255, 255, .05);
    padding: 10vw 5%
}

#sec1 .set2 h3 {
    text-align: center;
    font-size: 5.33vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em
}

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

#sec1 .set2 .group-tel {
    margin-top: 10vw
}

#sec1 .set2 .group-tel dl dt {
    text-align: center;
    width: 60%;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, .6);
    font-size: 16px;
    line-height: 26px;
    font-weight: 500;
    letter-spacing: .2em
}

#sec1 .set2 .group-tel dl dt small {
    font-size: 12px;
    letter-spacing: .2em
}

#sec1 .set2 .group-tel dl dd {
    text-align: center;
    margin-top: 3vw;
    font-size: 32px;
    line-height: 1;
    letter-spacing: .025em
}

#sec1 .set2 .group-tel dl dd img {
    width: 20px;
    margin: -6px 6px 0 0
}

#sec1 .set2 .group-tel dl+dl {
    margin-top: 7vw
}

@media screen and (min-width: 768px) {
    #sec1 {
        position: relative;
        /* background-position: right top, center bottom; */
        background-size: auto, 100%;
        padding: 144px 0 0
    }

    #sec1::before {
        content: "";
        position: absolute;
        background: url("../img/takeout/sec1_deco2.png") no-repeat;
        width: 708px;
        height: 739px;
        bottom: -205px;
        right: 0;
        z-index: 2
    }

    #sec1 .wrap {
        position: unset;
        max-width: 1200px;
        padding: 0 20px
    }

    #sec1 .set1 h2 {
        font-size: 30px
    }

    #sec1 .set1 .txt {
        text-align: center;
        width: 678px;
        margin: 107px auto 0
    }

    #sec1 .set1 .bg {
        position: absolute;
        top: 246px;
        left: 0;
        margin: 0
    }

    #sec1 .set2 {
        max-width: 1140px;
        margin: 245px auto 0;
        border-width: 6px;
        padding: 76px 0 66px
    }

    #sec1 .set2 h3 {
        font-size: 24px
    }

    #sec1 .set2 .txt {
        text-align: center;
        margin-top: 58px;
        line-height: 38px
    }

    #sec1 .set2 .group-tel {
        width: -moz-fit-content;
        width: fit-content;
        margin: 56px auto 0
    }

    #sec1 .set2 .group-tel dl {
        display: flex
    }

    #sec1 .set2 .group-tel dl dt {
        width: 200px;
        height: -moz-fit-content;
        height: fit-content;
        margin: 0 44px 0 0;
        padding-left: 6px;
        font-size: 20px;
        line-height: 28px
    }

    #sec1 .set2 .group-tel dl dt small {
        font-size: 16px
    }

    #sec1 .set2 .group-tel dl dd {
        text-align: left;
        margin-top: -2px;
        font-size: 40px
    }

    #sec1 .set2 .group-tel dl dd img {
        width: 23px;
        margin: -6px 6px 0 0
    }

    #sec1 .set2 .group-tel dl+dl {
        margin-top: 32px
    }
}

#sec2 {
    background: url("../img/takeout/sec2_deco1.png") no-repeat right top 80vw/40%, url("../img/takeout/sec2_deco2.png") no-repeat left top 197vw/40%;
    padding-top: 10vw
}

#sec2 .set1 h2 {
    text-align: center;
    font-size: 6.13vw;
    line-height: 2;
    letter-spacing: .15em
}

#sec2 .set1 .note {
    margin-top: 5vw;
    text-align: center;
    opacity: .8;
    font-size: 12px;
    font-weight: 300
}

#sec2 .set1 .group-link {
    margin-top: 15vw
}

#sec2 .set1 .group-link li a {
    position: relative;
    background: url("../img/shared/bg4.jpg") repeat center;
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 55px;
    letter-spacing: .1em
}

#sec2 .set1 .group-link li a::before {
    content: "";
    position: absolute;
    background: #fff;
    top: 50%;
    right: 19px;
    transform: translateY(-50%)
}

#sec2 .set1 .group-link li:nth-child(1) a::before {
    width: 14px;
    height: 9px;
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}

#sec2 .set1 .group-link li:nth-child(2) {
    margin-top: 5vw
}

#sec2 .set1 .group-link li:nth-child(2) a::before {
    width: 9px;
    height: 14px;
    -webkit-clip-path: polygon(0 100%, 0 0, 100% 50%);
    clip-path: polygon(0 100%, 0 0, 100% 50%)
}

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

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

#sec2 .set2 .row .group-txt .lead {
    padding: 4vw 2vw;
    font-weight: 500
}

#sec2 .set2 .row .group-txt .lead * {
    letter-spacing: .1em
}

#sec2 .set2 .row .group-txt .lead .name-price {
    padding: 0
}

#sec2 .set2 .row .group-txt .lead .note {
    text-align: left;
    margin-top: 1vw;
    font-size: 3.8vw
}

#sec2 .set2 .row .group-txt .lead .note small {
    font-size: 3.66vw
}

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

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

#sec2 .set2 .row2 {
    margin-top: 15vw
}

@media screen and (min-width: 768px) {
    #sec2 {
        background-position: left top 825px, right top 421px;
        background-size: auto;
        padding-top: 150px
    }

    #sec2 .wrap {
        max-width: 1200px;
        padding: 0 30px
    }

    #sec2 .set1 h2 {
        font-size: 30px
    }

    #sec2 .set1 .note {
        margin-top: 15px;
        font-size: 15px
    }

    #sec2 .set1 .group-link {
        display: flex;
        justify-content: space-between;
        -moz-column-gap: 30px;
        column-gap: 30px;
        max-width: 916px;
        margin: 70px auto 0
    }

    #sec2 .set1 .group-link li {
        width: 410px
    }

    #sec2 .set1 .group-link li a {
        font-size: 18px;
        line-height: 60px
    }

    #sec2 .set1 .group-link li a:hover {
        opacity: .7
    }

    #sec2 .set1 .group-link li:nth-child(2) {
        margin-top: 0
    }

    #sec2 .set2 {
        margin-top: 115px
    }

    #sec2 .set2 .row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        -moz-column-gap: 30px;
        column-gap: 30px
    }

    #sec2 .set2 .row .photo {
        flex: 1;
        max-width: 690px;
        height: 500px
    }

    #sec2 .set2 .row .group-txt {
        width: 394px;
        margin-top: 0
    }

    #sec2 .set2 .row .group-txt .lead {
        padding: 18px 27px 7px 18px
    }

    #sec2 .set2 .row .group-txt .lead .note {
        margin: 0 -20px 0 0;
        font-size: 18px
    }

    #sec2 .set2 .row .group-txt .lead .note small {
        font-size: 16px
    }

    #sec2 .set2 .row .group-txt .txt {
        margin: 36px 0 0 12px
    }

    #sec2 .set2 .row1 {
        margin-top: 65px
    }

    #sec2 .set2 .row1 .photo {
        margin-left: -17px
    }

    #sec2 .set2 .row2 {
        margin-top: 63px
    }

    #sec2 .set2 .row2 .photo {
        order: 2;
        margin-right: -17px
    }

    #sec2 .set2 .row2 .group-txt {
        order: 1
    }
}

#sec3 {
    background: url("../img/takeout/sec3_deco.png") no-repeat left top 30vw/50%;
    margin-top: 15vw;
}

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

#sec3 .row {
    margin-top: 10vw
}

#sec3 .row .col+.col {
    margin-top: 10vw
}

@media screen and (min-width: 768px) {
    #sec3 {
        background-size: auto;
        background-position: left top 109px;
        padding-top: 115px
    }

    #sec3 .wrap {
        max-width: 1200px;
        padding: 0 30px
    }

    #sec3 .txt {
        text-align: center;
        margin-top: 27px
    }

    #sec3 .row {
        display: flex;
        justify-content: space-between;
        margin-top: 55px
    }

    #sec3 .row .col {
        width: 31.5789473684%
    }

    #sec3 .row .col .name-price {
        margin: 46px 5px 0
    }

    #sec3 .row .col+.col {
        margin-top: 0
    }
}

@media screen and (min-width: 768px)and (max-width: 1250px) {
    #sec3 .row .col .name-price {
        margin: 3.68vw 0 0;
        padding: 1.6vw .8vw 1.44vw .24vw;
        font-size: 1.76vw
    }

    #sec3 .row .col .name-price dt small {
        font-size: 1.2vw
    }

    #sec3 .row .col .name-price dd small {
        font-size: 1.44vw
    }
}

#sec4 {
    background: url("../img/takeout/sec4_deco.png") no-repeat right top 30vw/50%;
    padding: 20vw 0
}

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

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

#sec4 .row1 .col+.col {
    margin-top: 15vw;
}

#sec4 .row2 {
    margin-top: 15vw;
}

@media screen and (min-width: 768px) {
    #sec4 {
        background-size: auto;
        background-position: right top 75px;
        padding: 104px 0 142px
    }

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

    #sec4 .txt {
        text-align: center;
        margin-top: 27px
    }

    #sec4 .row1 {
        display: flex;
        justify-content: space-between;
        max-width: 1000px;
        margin: 50px auto 0
    }

    #sec4 .row1 .col {
        width: 46%
    }

    #sec4 .row1 .col+.col {
        margin-top: 0
    }

    #sec4 .row1 .col .name-price {
        max-width: 356px;
        margin: 48px auto 0
    }

    #sec4 .row2 {
        display: flex;
        justify-content: space-between;
        margin-top: 71px
    }

    #sec4 .row2 .col {
        width: 31.5789473684%
    }

    #sec4 .row2 .col .name-price {
        margin: 46px 5px 0
    }

    #sec4 .row2 .col+.col {
        margin-top: 0
    }
}

@media screen and (min-width: 768px)and (max-width: 1200px) {
    #sec4 .row2 .col .name-price {
        margin: 3.68vw .4vw 0;
        padding: 1.6vw .8vw 1.44vw .24vw;
        font-size: 1.76vw
    }

    #sec4 .row2 .col .name-price dt small {
        font-size: 1.2vw
    }

    #sec4 .row2 .col .name-price dd small {
        font-size: 1.44vw
    }
}

#sec5 {
    background: url("../img/shared/bg1.png") repeat center, url("../img/takeout/sec5_deco.png") no-repeat right top/90%;
    padding: 20vw 0
}

#sec5 h2 {
    text-align: center;
    font-size: 6.13vw;
    line-height: 2;
    font-weight: 500;
    letter-spacing: .15em
}

#sec5 .txt {
    margin: 10vw 0
}

#sec5 .row .group-txt {
    margin-top: 5vw;
}

#sec5 .row .group-txt h3 {
    text-align: center;
    width: 50%;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, .6);
    font-size: 16px;
    line-height: 26px;
    font-weight: 500;
    letter-spacing: .2em
}

#sec5 .row .group-txt h3 small {
    font-size: 12px
}

#sec5 .row .group-txt .address {
    text-align: center;
    margin-top: 5vw
}

#sec5 .row .group-txt .address a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3px auto 0;
    font-weight: 200
}

#sec5 .row .group-txt .address a img {
    width: 10px;
    margin: -4px 6px 0 0
}

#sec5 .row .group-txt .address a span {
    text-decoration: underline;
    text-underline-offset: 6px
}

#sec5 .row .group-txt .btn-tel {
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, .3);
    margin-top: 5vw;
    padding-top: 4vw;
    font-size: 32px;
    line-height: 1;
    letter-spacing: .025em
}

#sec5 .row .group-txt .btn-tel img {
    width: 20px;
    margin: -6px 6px 0 0
}

#sec5 .row+.row {
    margin-top: 18vw;
}

@media screen and (min-width: 768px) {
    #sec5 {
        background-size: auto;
        padding: 140px 0 183px
    }

    #sec5 h2 {
        font-size: 30px
    }

    #sec5 .txt {
        text-align: center;
        margin: 52px 0 0
    }

    #sec5 .row {
        display: flex;
        justify-content: space-between;
        max-width: 796px;
        margin: 72px auto 0
    }

    #sec5 .row .group-txt {
        margin: 3px 30px 0 0
    }

    #sec5 .row .group-txt h3 {
        width: 200px;
        margin: 0;
        font-size: 20px;
        line-height: 28px
    }

    #sec5 .row .group-txt h3 small {
        font-size: 16px
    }

    #sec5 .row .group-txt .address {
        text-align: left;
        margin-top: 11px;
        line-height: 26px
    }

    #sec5 .row .group-txt .address a {
        margin: 14px 0 0 3px
    }

    #sec5 .row .group-txt .address a img {
        width: 12px;
        margin: -5px 6px 0 0
    }

    #sec5 .row .group-txt .address a:hover span {
        text-decoration: none
    }

    #sec5 .row .group-txt .btn-tel {
        text-align: left;
        margin-top: 39px;
        padding-top: 11px;
        font-size: 40px
    }

    #sec5 .row .group-txt .btn-tel img {
        width: 23px
    }

    #sec5 .row+.row {
        margin-top: 53px
    }
}