#keyvisual .item img {
	object-position: 43% 0;
}


#sec1 {
    background: url("../img/houraiken_chimaki/sec1_deco1.png") no-repeat right top/80%, url("../img/houraiken_chimaki/sec1_deco2.png") no-repeat right bottom 29vw/100%;
    padding: 20vw 0
}

#sec1 .row h2 {
    margin: 0 auto;
    font-size: 6.13vw;
    font-weight: 500;
    line-height: 2.1666666667;
    letter-spacing: .2em
}

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

#sec1 .row .photo1 {
    margin: 10vw 40% 0 0;
}

#sec1 .row .come{
    opacity: .8;
    font-size: 12px;
    line-height: 1.8;
    display: inline-block;
}

#sec1 .photo2 {
    margin: 15vw 0 0 40%
}

@media screen and (min-width: 768px) {
    #sec1 {
        background-size: auto;
        background-position: right top, right bottom;
        padding: 149px 0 114px
    }

    #sec1 .row {
        display: flex;
        justify-content: space-between
    }

    #sec1 .row h2 {
        order: 3;
        margin: 0 66px 0 0;
        font-size: 30px
    }
    #sec1 .row .come{
        line-height: 1.8;
        display: inline-block;
        font-size: 15px;
    }

    #sec1 .row .txt {
        order: 2;
        margin-top: 128px;
        line-height: 45px
    }

    #sec1 .row .photo1 {
        order: 1;
        margin: 128px 46px 0 -124px
    }

    #sec1 .photo2 {
        margin: 85px 0 0 160px
    }
}

@media screen and (min-width: 768px)and (max-width: 1250px) {
    #sec1 .row h2 {
        margin-right: 30px
    }

    #sec1 .row .photo1 {
        margin-left: calc(-50vw + 50% + 20px)
    }
}

#sec2 {
    background: url("../img/houraiken_chimaki/sec2_bg.jpg") no-repeat center/cover;
    padding: 20vw 0
}

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

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

#sec2 .row .photo {
    margin: 10vw 10%
}

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

    #sec2 h2 {
        text-align: left;
        margin-left: 82px;
        font-size: 30px
    }

    #sec2 .row {
        display: flex;
        justify-content: flex-end
    }

    #sec2 .row .txt {
        width: 385px;
        margin: 82px 80px 0 0
    }

    #sec2 .row .photo {
        margin: -53px -119px 0 0
    }
}

@media screen and (min-width: 768px)and (max-width: 1300px) {
    #sec2 .row .photo {
        margin-right: calc(-50vw + 50% + 30px)
    }
}

#sec3 {
    position: relative;
    padding-top: 20vw
}

#sec3::before {
    content: "";
    position: absolute;
    background: url("../img/houraiken_chimaki/sec3_deco1.png") no-repeat left top/60%, url("../img/houraiken_chimaki/sec3_deco2.png") no-repeat right bottom/60%;
    top: 0;
    bottom: -45vw;
    left: 0;
    right: 0;
    z-index: -1
}

#sec3 .group-txt .sub-ttl {
    width: -moz-fit-content;
    width: fit-content;
    margin: 10vw auto 0;
    padding: 1.5vw;
    border: 1px solid rgba(255, 255, 255, .6);
    font-size: 4.53vw;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .15em
}

#sec3 .group-txt .name-price {
    text-align: center;
    margin-top: 2vw;
    line-height: 2
}

#sec3 .group-txt .name-price * {
    letter-spacing: .1em
}

#sec3 .group-txt .name-price dt {
    font-size: 5.86vw
}

#sec3 .group-txt .name-price dd {
    font-size: 5.06vw
}

#sec3 .group-txt .name-price dd small {
    font-size: 4.53vw
}

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

#sec3 .note {
    margin-top: 5vw
}

#sec3 .note li {
    display: flex;
    opacity: .8;
    font-size: 12px;
    font-weight: 200;
    letter-spacing: .15em
}

@media screen and (min-width: 768px) {
    #sec3 {
        padding-top: 181px
    }

    #sec3::before {
        background-size: auto;
        bottom: -253px
    }

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

    #sec3 .photo {
        top: -46px;
        left: 11px;
        right: 589px;
        height: 430px
    }

    #sec3 .group-txt {
        width: 480px;
        margin: 0 25px 0 auto
    }

    #sec3 .group-txt .sub-ttl {
        margin: 0;
        padding: 4px 14px 6px 15px;
        font-size: 18px
    }

    #sec3 .group-txt .name-price {
        display: flex;
        justify-content: space-between;
        text-align: left;
        margin-top: 0
    }

    #sec3 .group-txt .name-price dt {
        font-size: 28px
    }

    #sec3 .group-txt .name-price dd {
        margin-top: 7px;
        font-size: 22px
    }

    #sec3 .group-txt .name-price dd small {
        font-size: 18px
    }

    #sec3 .group-txt .txt {
        width: 444px;
        margin-top: 40px
    }

    #sec3 .note {
        margin: 105px 0 0 10px
    }

    #sec3 .note li {
        font-size: 15px;
        line-height: 35px
    }
}

#sec4 {
    padding: 20vw 0
}

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

#sec4 .row {
    margin-top: 10vw
}
#sec4 .row .come{
    opacity: .8;
    font-size: 12px;
    line-height: 1.8;
    display: inline-block;

}

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

#sec4 .row .group-txt .item h3 {
    background: url("../img/shared/deco_ttl.png") no-repeat center top/25vw auto;
    text-align: center;
    padding: 4vw 0 5vw;
    font-size: 8.8vw;
    line-height: 1.2;
    letter-spacing: .15em
}

#sec4 .row .group-txt .item .content {
    margin-top: 5vw
}

#sec4 .row .group-txt .item .content .sub-ttl {
    margin-bottom: 3vw;
    font-size: 5.06vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: .15em
}

#sec4 .row .group-txt .item+.item {
    margin-top: 3vw;
}

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

@media screen and (min-width: 768px) {
    #sec4 {
        padding: 115px 0 140px
    }

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

    #sec4 h2 {
        font-size: 30px
    }

    #sec4 .row {
        display: flex;
        justify-content: flex-end;
        -moz-column-gap: 85px;
        column-gap: 85px;
        margin-top: 77px
    }
    #sec4 .row .come{
        line-height: 1.8;
        display: inline-block;
        font-size: 15px;
    }
    
    #sec4 .row .photo {
        flex: 1;
        max-width: 440px;
        height: 550px
    }

    #sec4 .row .group-txt {
        margin-top: 0
    }

    #sec4 .row .group-txt .item h3 {
        background-size: 108px auto;
        width: 108px;
        padding: 10px 0 15px;
        font-size: 50px
    }

    #sec4 .row .group-txt .item .content {
        margin-top: 0
    }

    #sec4 .row .group-txt .item .content .sub-ttl {
        margin: 0 0 14px -10px;
        font-size: 22px
    }

    #sec4 .row .group-txt .item .content .txt {
        line-height: 35px
    }

    #sec4 .row .group-txt .item .content+.content {
        margin-top: 32px
    }

    #sec4 .row .group-txt .item+.item {
        margin-top: 57px
    }

    #sec4 .btn-shop {
        margin: 121px auto 0
    }
}

#sec5 {
    position: relative;
    padding-top: 17vw
}

#sec5::before {
    content: "";
    position: absolute;
    background: url("../img/houraiken_chimaki/sec5_deco1.png") no-repeat left top/150%;
    top: -35vw;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1
}

#sec5:after {
    content: "";
    position: absolute;
    background: url("../img/houraiken_chimaki/sec5_bg_deco.png") no-repeat center bottom/cover, url("../img/houraiken_chimaki/sec5_deco2.png") no-repeat right top/100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: -30vw;
    z-index: -1
}

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

#sec5 .set1 .photo {
    margin-top: 10vw
}

#sec5 .set1 .name-price {
    text-align: center;
    margin-top: 10vw;
    padding: 5vw 2vw;
    font-size: 5.07vw;
    font-weight: 500;
    line-height: 1.5
}

#sec5 .set1 .name-price dt {
    letter-spacing: .15em
}

#sec5 .set1 .name-price dd {
    margin-top: 3vw;
    letter-spacing: .1em
}

#sec5 .set1 .name-price dd small {
    font-size: 4.53vw;
    letter-spacing: .1em
}

#sec5 .set1 .note {
    text-align: right;
    margin-top: 3vw;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .1em
}

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

#sec5 .set2 .box h3 {
    text-align: center;
    margin-top: 5vw;
    font-size: 5.06vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .15em
}

#sec5 .set2 .box .txt {
    margin: 3.5vw 7% 0
}

#sec5 .set2 .box+.box {
    margin-top: 15vw
}

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

    #sec5::before {
        background-size: auto;
        top: -226px
    }

    #sec5:after {
        background-size: 100%, auto;
        bottom: -315px
    }

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

    #sec5 .set1 .photo {
        margin-top: 73px
    }

    #sec5 .set1 .name-price {
        display: flex;
        justify-content: space-between;
        text-align: left;
        max-width: 707px;
        margin: 43px auto 0;
        padding: 27px 24px 27px 27px;
        font-size: 22px
    }

    #sec5 .set1 .name-price dd {
        margin-top: 0
    }

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

    #sec5 .set1 .note {
        max-width: 707px;
        padding-right: 25px;
        margin: 0 auto;
        font-size: 18px
    }

    #sec5 .set2 {
        display: flex;
        justify-content: space-between;
        -moz-column-gap: 20px;
        column-gap: 20px;
        max-width: 980px;
        padding: 0 20px;
        margin: 68px auto 0
    }

    #sec5 .set2 .box {
        max-width: 410px;
        width: 100%
    }

    #sec5 .set2 .box h3 {
        margin-top: 25px;
        font-size: 22px
    }

    #sec5 .set2 .box .txt {
        max-width: 335px;
        margin: 14px auto 0
    }

    #sec5 .set2 .box+.box {
        margin-top: 0
    }
}

#sec6 {
    padding: 20vw 0
}

#sec6 .wrap {
    background: url("../img/houraiken_chimaki/sec6_bg.jpg") no-repeat center/cover;
    border: 1px solid #716451;
    padding: 10vw 4vw;
    margin: 0 4vw 0
}

#sec6 .deco1 {
    position: absolute;
    top: -20vw;
    right: -4vw;
    width: 60%
}

#sec6 .deco2 {
    position: absolute;
    bottom: -20vw;
    left: -4vw;
    width: 60%
}

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

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

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

#sec6 .group-txt .btn-shop {
    margin-top: 7vw
}

@media screen and (min-width: 768px) {
    #sec6 {
        padding: 112px 20px 186px
    }

    #sec6 .wrap {
        max-width: 1238px;
        padding: 95px 20px 90px;
        margin: 0 auto
    }

    #sec6 .deco1 {
        top: -178px;
        right: -132px;
        width: auto
    }

    #sec6 .deco2 {
        bottom: -88px;
        left: -132px;
        width: auto
    }

    #sec6 .inner {
        display: flex;
        justify-content: flex-end;
        -moz-column-gap: 76px;
        column-gap: 76px;
        max-width: 1050px;
        margin: 0 auto
    }

    #sec6 .photo {
        order: 2
    }

    #sec6 .group-txt {
        order: 1;
        margin: 19px 0 0 46px
    }

    #sec6 .group-txt h2 {
        text-align: left;
        font-size: 30px
    }

    #sec6 .group-txt .txt {
        width: 413px;
        margin-top: 23px
    }

    #sec6 .group-txt .btn-shop {
        margin-top: 49px
    }
}

#sec7 {
    background: url("../img/shared/bg1.png") repeat center, url("../img/houraiken_chimaki/sec7_deco.png") no-repeat left top/100%;
    padding: 15vw 0 20vw
}

#sec7 .wrap {
    padding: 0 4%
}

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

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

#sec7 .set {
    position: relative;
    margin-top: 10vw;
    padding-bottom: 10vw
}

#sec7 .set::before {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .5);
    border-top: none;
    top: calc(5vw + 1px);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1
}

#sec7 .set h3 {
    position: relative
}

#sec7 .set h3 span {
    display: flex;
    align-items: center;
    -moz-column-gap: 2vw;
    column-gap: 2vw;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 5.6vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .15em
}

#sec7 .set h3 span img {
    width: 10vw
}

#sec7 .set h3::before,
#sec7 .set h3:after {
    content: "";
    position: absolute;
    background: rgba(255, 255, 255, .5);
    top: 5vw;
    width: 9%;
    height: 1px
}

#sec7 .set h3::before {
    left: 0
}

#sec7 .set h3:after {
    right: 0
}

#sec7 .set1 .txt {
    text-align: center;
    margin-top: 6vw
}

#sec7 .set1 .btn-shop {
    margin: 6vw 5% 0
}

#sec7 .set1 .btn-shop a {
    border: 3px solid rgba(255, 255, 255, .05)
}

#sec7 .set2 .btn-tel {
    margin-top: 6vw;
    text-align: center;
    line-height: 1
}

#sec7 .set2 .btn-tel dl dt {
    width: -moz-fit-content;
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, .5);
    margin: 0 auto;
    padding: 0 10px;
    line-height: 28px;
    font-weight: 500;
    letter-spacing: .2em
}

#sec7 .set2 .btn-tel dl dd {
    margin: 10px 0 6px;
    font-size: 40px;
    letter-spacing: .025em;
}

#sec7 .set2 .btn-tel dl dd img {
    width: 25px;
    margin: -6px 6px 0 0
}

#sec7 .set2 .inner {
    margin: 8vw 5% 0
}

#sec7 .set2 .inner .item .sub-ttl {
    display: flex;
    align-items: center;
    -moz-column-gap: 3vw;
    column-gap: 3vw;
    line-height: 1;
    font-weight: 500
}

#sec7 .set2 .inner .item .sub-ttl * {
    letter-spacing: .15em
}

#sec7 .set2 .inner .item .sub-ttl dt {
    background: url("../img/shared/deco_ttl.png") no-repeat center top/100%;
    text-align: center;
    padding: 3.5vw 0 4vw;
    width: 21vw;
    font-size: 8.8vw;
    font-weight: 500
}

#sec7 .set2 .inner .item .sub-ttl dd {
    font-size: 5.06vw
}

#sec7 .set2 .inner .item .txt {
    margin-top: 3vw
}

#sec7 .set2 .inner .item .list {
    margin-top: 2vw
}

#sec7 .set2 .inner .item+.item {
    margin-top: 7vw
}

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

#sec7 .set3 h3 {
    position: relative;
    font-size: 5.6vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .15em
}

#sec7 .set3 h3::before {
    content: "";
    position: absolute;
    background: rgba(255, 255, 255, .5);
    height: 1px;
    top: 50%;
    left: 47vw;
    right: 0;
    transform: translateY(-50%)
}

#sec7 .set3 .fs20 {
    display: block;
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .15em
}

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

#sec7 .set3 .item:nth-child(2) h3::before {
    left: 40vw
}

#sec7 .set3 .item:nth-child(2) p+p {
    margin-top: 5vw
}

#sec7 .set3 .item:nth-child(2) p+p span {
    margin-left: -9px
}

#sec7 .set3 .item:nth-child(3) h3::before {
    left: 59vw
}

#sec7 .set3 .item+.item {
    margin-top: 7vw
}

#sec7 .btn-shared {
    margin: 10vw 7%
}

@media screen and (min-width: 768px) {
    #sec7 {
        background-size: auto;
        padding: 153px 0px 166px
    }

    #sec7 .wrap {
        max-width: 1040px;
        padding: 0 20px
    }

    #sec7 h2 {
        font-size: 30px
    }

    #sec7 .txt-lead {
        text-align: center;
        margin-top: 26px
    }

    #sec7 .set {
        margin-top: 91px;
        padding-bottom: 62px
    }

    #sec7 .set::before {
        top: 24px
    }

    #sec7 .set h3 span {
        justify-content: center;
        -moz-column-gap: 7px;
        column-gap: 7px;
        width: 330px;
        font-size: 26px
    }

    #sec7 .set h3 span img {
        width: auto
    }

    #sec7 .set h3::before,
    #sec7 .set h3:after {
        top: 23px;
        width: calc(50% - 164px)
    }

    #sec7 .set1 .txt {
        margin-top: 19px
    }

    #sec7 .set1 .btn-shop {
        margin: 36px auto 0
    }

    #sec7 .set1 .btn-shop a {
        border-width: 6px;
        line-height: 58px
    }

    #sec7 .set1 .btn-shop a:hover {
        border-color: rgba(0, 0, 0, 0)
    }

    #sec7 .set2 {
        margin-top: 76px
    }

    #sec7 .set2 .btn-tel {
        margin-top: 65px
    }

    #sec7 .set2 .btn-tel dl dt {
        padding: 0 25px
    }

    #sec7 .set2 .btn-tel dl dd {
        margin: 12px 0 7px;
        font-size: 50px
    }

    #sec7 .set2 .btn-tel dl dd img {
        width: 29px;
        margin: -8px 8px 0 0
    }

    #sec7 .set2 .inner {
        max-width: 783px;
        margin: 76px auto 0;
        padding: 0 20px
    }

    #sec7 .set2 .inner .item .sub-ttl {
        -moz-column-gap: 8px;
        column-gap: 8px
    }

    #sec7 .set2 .inner .item .sub-ttl dt {
        padding: 12px 0 21px 9px;
        width: 108px;
        height: 83px;
        font-size: 50px
    }

    #sec7 .set2 .inner .item .sub-ttl dd {
        margin-top: -6px;
        font-size: 22px
    }

    #sec7 .set2 .inner .item .txt {
        margin: -10px 0 0 113px
    }

    #sec7 .set2 .inner .item .list {
        margin: 2px 0 0 130px;
        padding-bottom: 18px;
        line-height: 35px
    }

    #sec7 .set2 .inner .item+.item {
        margin-top: 46px
    }

    #sec7 .set3 {
        margin-top: 101px
    }

    #sec7 .set3 h3 {
        font-size: 26px
    }

    #sec7 .set3 h3::before {
        left: 224px
    }

    #sec7 .set3 .fs20 {
        font-size: 20px
    }

    #sec7 .set3 .item .txt {
        margin: 28px 0 0 51px;
        line-height: 35px
    }

    #sec7 .set3 .item:nth-child(1) .txt p:nth-child(1) {
        margin-left: -21px
    }

    #sec7 .set3 .item:nth-child(2) h3::before {
        left: 190px
    }

    #sec7 .set3 .item:nth-child(2) p+p {
        margin-top: 36px
    }

    #sec7 .set3 .item:nth-child(2) p+p span {
        margin-left: -11px
    }

    #sec7 .set3 .item:nth-child(3) h3::before {
        left: 273px
    }

    #sec7 .set3 .item+.item {
        margin-top: 60px
    }

    #sec7 .btn-shared {
        width: 370px;
        margin: 99px auto 0
    }
}