.remodal-close:before {
    content: "\00d7";
}
.d-flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.ob img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bnr__shared.popup a::after {
    background: url("../img/lunch/icon_add.png") no-repeat;
    background-size: 100%;
}
.bnr__shared a.style-1 {
    font-size: 20px;
    padding: 18px 0;
}
.bnr__shared a.style-1::after {
    width: 20px;
    height: 20px;
}
/* kv */
#kv {
    background: url("../img/takeout/key.jpg") no-repeat center;
    background-size: cover;
    min-height: 120vw;
}
@media screen and (min-width: 768px) {
    img {
        width: auto
    }
    .bnr__shared {
        width: 467px;
    }
    .bnr__shared a.style-1 {
        font-size: 22px;
        padding: 20px;
        letter-spacing: 3px;
    }
    .bnr__shared a.style-1::before {
        width: 29px;
    }
    .bnr__shared a.style-1::after {
        width: 28px;
        height: 28px;
        top: 28px;
        right: 36px;
    }
    #kv {
        min-height: 900px;
    }
}

/* sec1 */
#sec1 .set1 {
    background: url("../img/lunch/sec1_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 19vw 0 15vw;
    color: #fff;
}
#sec1 .set1 h2 {
    text-align: center;
    margin-bottom: 6vw;
    margin-left: -4vw;
    margin-right: -4vw;
}
#sec1 .set1 h2 > span {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10vw;
}
#sec1 .set1 h2 > span::before {
    content: "";
    background: url("../img/lunch/sec1_deco2.png") no-repeat;
    width: 17vw;
    height: 13vw;
    background-size: 100%;
    position: absolute;
    top: 23vw;
    left: -5vw;
}
#sec1 .set1 h2 > span::after {
    content: "";
    background: url("../img/lunch/sec1_deco3.png") no-repeat;
    width: 17vw;
    height: 13vw;
    background-size: 100%;
    position: absolute;
    top: 23vw;
    right: -5vw;
}
#sec1 .set1 h2 > span span:nth-child(2) {
    margin-top: -10vw;
}
#sec1 .set1 h2 > span span {
    font-size: 7.7vw;
    color: #fff;
    width: 34%;
    background: url("../img/lunch/sec1_deco1.png") no-repeat;
    background-size: 100%;
    text-align: center;
    padding: 10vw 0 7vw;
}
#sec1 .set1 .txt {
    margin-bottom: 5vw;
}
#sec1 .set2 {
    position: relative;
    padding: 15vw 0 15vw;
}
#sec1 .set2 .g-btn {
    justify-content: space-between;
}
#sec1 .set2 .g-btn .btn {
    width: 48%;
    position: relative;
}
#sec1 .set2 .g-btn .btn::after {
    content: "";
    background: url("../img/lunch/sec2_btn1_icon1.png") no-repeat;
    position: absolute;
    bottom: -8vw;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 20px;
    height: 20px;
    background-size: 100%;
}
#sec1 .set2 .g-btn .btn:nth-child(2)::after {
    background: url("../img/lunch/sec2_btn1_icon2.png") no-repeat;
    background-size: 100%;
}
@media screen and (min-width: 768px) {
    #sec1 .set1 {
        padding: 244px 0 143px;
    }
    #sec1 .set1 h2 {
        margin-bottom: 20px;
        width: 780px;
        margin: 0 auto 30px;
    }
    #sec1 .set1 h2 > span {
        font-size: 80px;
        margin: 0 -160px 30px -130px;
        justify-content: center;
    }
    #sec1 .set1 h2 > span::before {
        top: 201px;
        width: 205px;
        height: 151px;
        left: -32px;
    }
    #sec1 .set1 h2 > span::after {
        top: 200px;
        width: 205px;
        height: 151px;
        right: -20px;
    }
    #sec1 .set1 h2 > span span:nth-child(1) {
        padding-left: 25px;
    }
    #sec1 .set1 h2 > span span:nth-child(2) {
        margin-top: -121px;
    }
    #sec1 .set1 h2 > span span:nth-child(3) {
        margin-right: -30px;
        margin-left: 27px;
        margin-top: -10px;
        padding-top: 118px;
    }
    #sec1 .set1 h2 > span span {
        font-size: 80px;
        padding: 128px 1px 113px;
        background-size: 277px;
        padding-left: 48px;
        letter-spacing: 3px;
        width: 257px;
    }
    #sec1 .set1 .txt {
        margin-bottom: 20px;
        text-align: center;
    }
    #sec1 .set2 {
        padding: 140px 0 20px;
    }
    #sec1 .set2 .g-btn {
        justify-content: center;
        margin-bottom: 230px;
    }
    #sec1 .set2 .g-btn .btn {
        width: auto;
        margin: 0 45px;
    }
    #sec1 .set2 .g-btn .btn::after {
        width: 51px;
        height: 52px;
        bottom: -69px;
    }
    #sec1 .set2 .g-btn .btn:nth-child(2)::after {
        width: 51px;
        height: 52px;
    }
}


/* sec2 */
#sec2 {
    position: relative;
    padding: 5vw 0 15vw;
}
#sec2 h2 {
    position: absolute;
    left: 2%;
    top: 28vw;
    font-size: 7vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    z-index: 7;
}
#sec2 h2 span {
    font-size: 10vw;
    display: inline-block;
    border-right: 2px solid #000;
}
#sec2 h2 span:last-of-type {
    margin-top: 12vw;
}
#sec2 h2 small {
    font-size: 7vw;
}
#sec2 .time {
    color: #fff;
    background: url("../img/lunch/sec2_deco2.png") no-repeat;
    background-size: 100%;
    padding: 5vw 12% 20vw;
    margin-bottom: 24vw;
    font-size: 6vw;
    margin-left: 26%;
    margin-right: -31%;
}
#sec2 .photo {
    margin-bottom: -1vw;
    margin-left: -35%;
    position: relative;
    z-index: 5;
    margin-right: -5%;
}
#sec2 .note {
    margin-bottom: 0vw;
}
#sec2 .deco {
    position: absolute;
    top: 33vw;
    right: -3%;
    width: 50%;
}
#sec2 .price {
    margin-bottom: 4vw;
}
#sec2 .price dt {
    font-size: 7.9vw;
    margin-bottom: 2vw;
    position: relative;
    letter-spacing: 0.1em;
}
#sec2 .price dt span {
    position: relative;
    display: inline-block;
    z-index: 0;
}
#sec2 .price dt span::after {
    content: "";
    background: #d03030;
    position: absolute;
    bottom: 15%;
    left: 0;
    height: 10px;
    right: 0;
    z-index: -1;
}
#sec2 .price dd {
    font-size: 6.3vw;
    letter-spacing: 0.05em;
}
#sec2 .txt {
    margin-bottom: 6vw;
}
@media screen and (min-width: 768px) {
    #sec2 {
        padding: 165px 0 20px;
    }
    #sec2::before {
        content: "";
        background: url("../img/lunch/sec2_deco3.png") no-repeat;
        position: absolute;
        top: -686px;
        left: 0;
        width: 327px;
        bottom: 0;
        background-size: 100%;
        z-index: -1;
    }
    #sec2::after {
        content: "";
        background: url("../img/lunch/bg2.jpg") repeat;
        position: absolute;
        top: -720px;
        right: 0;
        width: calc(50% + -280px);
        bottom: 525px;
        background-size: auto;
        z-index: -1;
    }
    #sec2 h2 {
        top: -202px;
        font-size: 52px;
        right: 15px;
        width: 270px;
        left: auto;
        white-space: nowrap;
    }
    #sec2 h2 span {
        font-size: 82px;
        border-width: 3px;
        padding: 50px 0 0;
        line-height: 117px;
    }
    #sec2 h2 span:last-of-type {
        margin-top: 142px;
        padding: 40px 0 0;
    }
    #sec2 h2 small {
        font-size: 52px;
    }
    #sec2 .time {
        width: 496px;
        height: 251px;
        padding: 58px 43px 20px;
        margin-bottom: -256px;
        font-size: 65px;
        margin-right: 0;
        margin-left: 360px;
        position: relative;
        z-index: 6;
    }
    #sec2 .photo {
        margin-bottom: -70px;
        margin-left: 0px;
    }
    #sec2 .note {
        width: 281px;
        margin-left: auto;
        position: absolute;
        right: -16px;
        top: 510px;
    }
    #sec2 .deco {
        top: -60px;
        width: 471px;
        left: -114px;
        right: auto;
    }
    #sec2 .price {
        margin-bottom: 31px;
        margin-left: 103px;
    }
    #sec2 .price dt {
        font-size: 52px;
        margin-bottom: 30px;
    }
    #sec2 .price dt span::after {
        height: 14px;
        bottom: -14px;
        right: 16px;
    }
    #sec2 .price dd {
        font-size: 32px;
    }
    #sec2 .price dd small {
        font-size: 22px;
    }
    #sec2 .txt {
        margin-bottom: -72px;
        margin-left: 100px;
        width: 510px;
    }
    #sec2 .bnr__shared {
        margin-left: 657px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    #sec2 .time {
        margin-left: 300px;
    }
    #sec2 .photo {
        margin-left: -80px;
    }
    #sec2 .bnr__shared {
        margin-left: 600px;
    }
}


/* sec3 */
#sec3 .set1 {
    position: relative;
    padding: 2vw 0 0;
}
#sec3 .set1 h2 {
    font-size: 7vw;
    line-height: 1.4;
    margin-bottom: 12vw;
    letter-spacing: 0.05em;
}
#sec3 .set1 h2 > span {
    font-size: 9vw;
    display: inline-block;
    border-bottom: 2px solid #000;
}
#sec3 .set1 h2 > span span {
    font-size: 10vw;
}
#sec3 .set1 h2 small {
    font-size: 6vw;
}
#sec3 .set1 .time {
    color: #fff;
    background: url("../img/lunch/sec3_deco3.png") no-repeat;
    background-size: 100%;
    padding: 5vw 12% 21vw;
    margin-bottom: -13vw;
    font-size: 6vw;
    margin-left: -8%;
    margin-right: 0;
    width: 68%;
}
#sec3 .set1 .photo-wrap {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
#sec3 .set1 .photo-zoom {
    position: relative;
    width: 47%;
    height: 36%;
}
#sec3 .set1 .photo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    display: inline-block;
}
#sec3 .set1 .photo::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    z-index: 5;
    transition: all 0.5s;
}
#sec3 .set1 .photo.active::before {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s;
}
#sec3 .set1 .note {
    margin-bottom: 5vw;
}
#sec3 .set1 .deco {
    position: absolute;
    top: 112vw;
    right: -8%;
    width: 47%;
}
#sec3 .set1 .price dt {
    font-size: 6.9vw;
    margin-bottom: 2vw;
    position: relative;
}
#sec3 .set1 .price dt span {
    position: relative;
    display: inline-block;
    z-index: 0;
}
#sec3 .set1 .price dt span::after {
    content: "";
    background: #d03030;
    position: absolute;
    bottom: 15%;
    left: 0;
    height: 10px;
    right: 0;
    z-index: -1;
}
#sec3 .set1 .price dd {
    font-size: 4.3vw;
}
#sec3 .set1 .txt {
    margin-bottom: 0vw;
}
#sec3 .set1 .row3 {
    padding: 0 6%;
    position: absolute;
    bottom: 35vh;
    left: 0;
    right: 0;
    margin: 0 auto;
}
#sec3 .set1 .row3 h3 {
    margin-bottom: 5vw;
    text-align: center;
}
#sec3 .set1 .row3 .txt {
    color: #fff;
}
#sec3 .set2 {
    min-height: 51vh;
}
#sec3 .set3 {
    position: relative;
    padding: 0vw 0 18vw;
}
#sec3 .set3::before {
    content: "";
    background: url("../img/lunch/sec3_deco6.png") no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 40%;
    height: 30vw;
    background-size: 100%;
}
#sec3 .set3::after {
    content: "";
    background: url("../img/lunch/sec3_deco7.png") no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 40%;
    height: 30vw;
    background-size: 100%;
}
#sec3 .set3 .group {
    position: relative;
    background: url(../img/lunch/bg2.jpg) repeat;
    padding: 8vw 0 29vw;
    margin-bottom: -25vw;
}
#sec3 .set3 .group h2 {
    font-size: 8vw;
    text-align: center;
    margin-bottom: 0vw;
}
#sec3 .set3 .group h2 > span span {
    position: relative;
    display: inline-block;
    z-index: 0;
}
#sec3 .set3 .group h2 > span span::after {
    content: "";
    background: #d03030;
    position: absolute;
    bottom: 16%;
    left: 0;
    height: 10px;
    right: 0;
    z-index: -1;
}
#sec3 .set3 .group .deco {
    width: 16%;
    margin: 0 auto -3vw;
}
#sec3 .set3 .group h3 {
    font-size: 7vw;
    text-align: center;
    margin-bottom: 6vw;
}
#sec3 .set3 .group h3 > span {
    position: relative;
    display: inline-block;
    z-index: 0;
}
#sec3 .set3 .group h3 > span::after {
    content: "";
    background: #d03030;
    position: absolute;
    bottom: 15%;
    left: 0;
    height: 10px;
    right: 0;
    z-index: -1;
}
#sec3 .set3 .group h3 small {
    font-size: 4vw;
    display: block;
}
#sec3 .set3 .group .catch {
    position: absolute;
    right: 2%;
    top: 90vw;
    width: 31%;
}
#sec3 .set3 .sec4-thumb {
    padding: 0 5%;
    font-size: 4vw;
    margin-bottom: 4vw;
}
#sec3 .set3 .sec4-thumb .thumb {
    position: relative;
    padding-left: 26px;
}
#sec3 .set3 .sec4-thumb .thumb::before {
    content: "";
    background: url("../img/lunch/sec3_icon2.png") no-repeat;
    width: 23px;
    height: 30px;
    background-size: 100%;
    top: 7%;
    left: 0;
    position: absolute;
}
#sec3 .set3 .sec4-thumb .thumb.active::before {
    background: url("../img/lunch/sec3_icon1.png") no-repeat;
    background-size: 100%;
}
#sec3 .set3 .js {
    position: relative;
    margin-bottom: 5vw;
}
#sec3 .set3 .js .sec4-js {
    position: absolute;
    width: 50%;
    right: 0;
    bottom: -4vw;
}
#sec3 .set3 .ttl {
    width: 50%;
    margin: 0 auto 6vw;
    position: relative;
}
#sec3 .set3 .ttl::before {
    content: "";
    background: url("../img/lunch/sec3_deco4.png") no-repeat;
    position: absolute;
    top: -5vw;
    left: -36%;
    width: 18vw;
    background-size: 100%;
    height: 30vw;
}
#sec3 .set3 .ttl::after {
    content: "";
    background: url("../img/lunch/sec3_deco5.png") no-repeat;
    position: absolute;
    top: -5vw;
    right: -36%;
    width: 18vw;
    background-size: 100%;
    height: 30vw;
}
#sec3 .set3 .bnr__shared {
    margin: 0 auto;
}
@media screen and (min-width: 768px) {
    #sec3 .set1 {
        padding: 154px 0 0;
        margin-bottom: 31px;
    }
    #sec3 .set1::before {
        content: "";
        background: url("../img/lunch/bg2.jpg") repeat;
        position: absolute;
        top: -377px;
        left: 0;
        width: 50%;
        bottom: 0;
        z-index: -1;
    }
    #sec3 .set1::after {
        content: "";
        background: url("../img/lunch/sec3_deco2.png") repeat;
        position: absolute;
        top: -416px;
        right: 0;
        width: 368px;
        bottom: 0;
        background-size: 100%;
        z-index: -1;
        height: 1893px;
    }
    #sec3 .set1 .row1 {
        flex-direction: column-reverse;
        display: flex;
    }
	
    #sec3 .set1 h2 {
        font-size: 52px;
        margin-bottom: 30px;
        order: 1;
        display: flex;
        flex-direction: column;
        align-self: flex-start;
    }
    #sec3 .set1 h2 > span {
        font-size: 72px;
        padding-left: 31px;
        letter-spacing: 1px;
        border-width: 3px;
        align-self: self-start;
        margin-bottom: 12px;
        padding-right: 9px;
    }
    #sec3 .set1 h2 > span:nth-child(2) {
        margin-left: 172px;
        letter-spacing: 6px;
        padding-bottom: 5px;
        padding-right: 21px;
    }
    #sec3 .set1 h2 > span span {
        font-size: 82px;
    }
    #sec3 .set1 h2 small {
        font-size: 52px;
    }
    #sec3 .set1 .time {
        padding: 63px 71px 100px;
        margin-bottom: -297px;
        font-size: 65px;
        width: 423px;
        margin-left: 0;
        position: relative;
        z-index: 5;
    }
    #sec3 .set1 .photo-zoom {
        position: relative;
     height: 58%;
    width: 53%;
    }
    #sec3 .set1 .photo {
        margin-bottom: 20px;
    }
    #sec3 .set1 .note {
        margin-bottom: 20px;
    }
    #sec3 .set1 .deco {
        top: -30px;
        right: -211px;
        width: auto;
    }
    #sec3 .set1 .txt {
        width: 700px;
        margin-left: 99px;
        text-align: left;
        margin-bottom: 21px;
		position: relative;
		z-index: 6;
    }
	#sec3 .set1 .row3 h3 {
		margin-bottom: 51px;
	}
    #sec3 .set2 {
        min-height: 900px;
    }
    #sec3 .set2 .row {
        padding: 228px 0;
        align-items: center;
    }
    #sec3 .set2 .row h3 {
        margin-bottom: 50px;
    }
    #sec3 .set2 .row .txt {
        text-align: center;
    }
    #sec3 .set3 {
        padding: 0px 0 209px;
    }
    #sec3 .set3::before {
        width: 508px;
        height: 571px;
        bottom: -140px;
        z-index: 5;
    }
    #sec3 .set3::after {
        background-size: 100%;
        width: 680px;
        height: 794px;
        bottom: -310px;
    }
    #sec3 .set3 .group {
        padding: 159px 0;
        width: 1200px;
        margin: 0 auto -150px;
        display: flex;
    }
    #sec3 .set3 .group h2 {
        font-size: 52px;
        line-height: 70px;
        margin-left: 77px;
        letter-spacing: 2px;
    }
    #sec3 .set3 .group h2 > span span::after {
        height: 15px;
        bottom: 4px;
    }
    #sec3 .set3 .group .deco {
        margin: initial;
        width: auto;
        margin-top: 40px;
        margin-left: -10px;
    }
    #sec3 .set3 .group .col {
        margin-left: 30px;
    }
    #sec3 .set3 .group h3 {
        font-size: 52px;
        margin-bottom: 20px;
        line-height: 51px;
    }
    #sec3 .set3 .group h3 > span::after {
        height: 15px;
        bottom: -5px;
        left: 11px;
        right: 9px;
    }
    #sec3 .set3 .group h3 small {
        font-size: 22px;
    }
    #sec3 .set3 .group .catch {
        top: 281px;
        right: -30px;
        width: auto;
        z-index: 5;
    }
    #sec3 .set3 .sec4-thumb {
        font-size: 22px;
        margin-bottom: 20px;
        width: 330px;
        padding: 0;
    }
    #sec3 .set3 .sec4-thumb .thumb {
        padding-left: 55px;
        letter-spacing: 2px;
        margin-bottom: 10px;
        cursor: pointer;
    }
    #sec3 .set3 .sec4-thumb .thumb:hover {
        opacity: 0.8;
    }
    #sec3 .set3 .sec4-thumb .thumb::before {
        width: 32px;
        height: 34px;
        left: 11px;
    }
    #sec3 .set3 .js {
        margin-bottom: 83px;
    }
    #sec3 .set3 .js .photo {
        text-align: center;
    }
    #sec3 .set3 .js .sec4-js {
        width: 700px;
        bottom: -20px;
        left: calc(50% + 0px);
        right: auto;
    }
    #sec3 .set3 .ttl {
        text-align: center;
        width: auto;
        margin-bottom: 110px;
    }
    #sec3 .set3 .ttl::before {
        top: -80px;
        left: calc(50% - 480px);
        width: 211px;
        height: 169px;
    }
    #sec3 .set3 .ttl::after {
        top: -81px;
        right: calc(50% - 489px);
        width: 211px;
        height: 169px;
    }
    #sec3 .set1 .row3 .txt {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (min-width: 1600px) and (max-width: 1799px) {
	#sec3 .set1 .photo-zoom  {
		width: 60%;
	}
}


@media only screen and (min-width: 1500px) and (max-width: 1599px) {
	#sec3 .set1 .photo-zoom  {
		width: 66%;
	}
}

@media only screen and (min-width: 1400px) and (max-width: 1499px) {
	#sec3 .set1 .photo-zoom  {
		width: 56%;
	}
}


@media only screen and (min-width: 1300px) and (max-width: 1399px) {
	#sec3 .set1 .photo-zoom  {
		width: 76%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1299px) {
	#sec3 .set1 .photo-zoom  {
		width: 82%;
	}
}


@media only screen and (min-width: 768px) and (max-width: 1300px) {
	
    #sec3 .set1 .deco {
        right: -141px;
    }
    #sec3 .set3 .group h2 {
        margin-left: 30px;
    }
    #sec3 .set3 .group .catch {
        right: 65px;
        max-width: 13%;
    }
    #sec3 .set3 .group .deco {
        margin-left: -40px;
    }
}


/* sec4 */
#sec4 .set1 {
    position: relative;
    padding: 0;
    background: url(../img/lunch/bg2.jpg) repeat;
}
#sec4 .set1 h2 {
    position: absolute;
    left: 3%;
    top: 10vw;
    z-index: 5;
    width: 60%;
}
#sec4 .set1 .photo {
    margin: 0 -8.6% 0 39%;
}
#sec4 .txt {
    margin-bottom: 5vw;
    background: #f6f0e1;
    padding: 8%;
    margin: 0 -7% 8vw;
}
#sec4 .course {
    flex-direction: column;
}
#sec4 .course .box {
    background: #f6f0e1;
    padding: 5% 5% 10%;
    border: 1px solid #000;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
    margin-bottom: 6vw;
}
#sec4 .course .box .img {
    margin-bottom: 5vw;
}
#sec4 .course .box .price {
    margin-bottom: 2vw;
}
#sec4 .course .box .price dt {
    font-size: 7.9vw;
    margin-bottom: 0vw;
    position: relative;
}
#sec4 .course .box .price dt span {
    position: relative;
    display: inline-block;
    z-index: 0;
}
#sec4 .course .box .price dt span::after {
    content: "";
    background: #d03030;
    position: absolute;
    bottom: 15%;
    left: 0;
    height: 10px;
    right: 0;
    z-index: -1;
}
#sec4 .course .box .price dd {
    font-size: 5.3vw;
    letter-spacing: 0.05em;
}
#sec4 .other {
    position: relative;
    padding: 15vw 0 15vw;
}
#sec4 .other h3 {
    text-align: center;
    font-size: 5vw;
    line-height: 1.5;
    margin-bottom: 14vw;
    position: relative;
}
#sec4 .other h3::before {
    content: "";
    background: url("../img/lunch/sec4_ttl_deco1.png") no-repeat;
    position: absolute;
    top: 19vw;
    left: -15%;
    width: 18vw;
    background-size: 100%;
    height: 30vw;
}
#sec4 .other h3::after {
    content: "";
    background: url("../img/lunch/sec4_ttl_deco2.png") no-repeat;
    position: absolute;
    top: 19vw;
    right: -15%;
    width: 18vw;
    background-size: 100%;
    height: 30vw;
}
#sec4 .other h3 small {
    font-size: 4vw;
}
#sec4 .other .list dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #000;
    padding: 5px 0;
	align-items: flex-end;
}
#sec4 .other .list dl dt {
    width: 75%;
}
#sec4 .other .list dl dd {
    width: 20%;
    text-align: right;
}
#sec4 .surprise {
     padding: 7% 0% 0%;
}

#sec4 .set2 {
    position: relative;
    padding-bottom: 3vw;
}
#sec4 .set2::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 114vw;
    background: url("../img/lunch/bg2.jpg") repeat;
    top: 0;
}
@media screen and (min-width: 768px) {
    #sec4 .set1 {
        margin-bottom: 0px;
    }
    #sec4 .set1 h2 {
        left: -59px;
        top: 120px;
    }
    #sec4 .set1 .photo {
        margin: 0;
        margin-right: calc(50% - 50vw);
        width: auto;
        margin-left: 440px;
        height: 850px;
    }
	#sec4 .set1 .photo img{
		object-position: left;
	}
    #sec4 .txt {
        width: 501px;
        padding: 33px 12px;
        margin: 0;
        margin-top: -173px;
        margin-left: 80px;
        position: relative;
        z-index: 0;
        margin-bottom: 108px;
    }
    #sec4 .txt::before {
        content: "";
        position: absolute;
        left: calc(50% - 50vw);
        bottom: 0;
        right: 0;
        background: #f6f0e1;
        top: 0;
        z-index: -1;
    }
    #sec4 .course {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: row;
        margin: 0 -38px 80px 11px;
        justify-content: space-between;
    }
    #sec4 .course .box {
        padding: 20px 20px 50px;
        margin: 0 30px 0;
        width: 547px;
        box-sizing: border-box;
    }
    #sec4 .course .box .img {
        margin-bottom: 57px;
    }
    #sec4 .course .box .inner {
        padding: 0 38px;
    }
    #sec4 .course .box .price {
        margin-bottom: 34px;
    }
    #sec4 .course .box .price dt {
        font-size: 42px;
        letter-spacing: 0px;
        margin-bottom: 34px;
    }
    #sec4 .course .box .price dt span::after {
        height: 15px;
        bottom: -9px;
        left: 10px;
        right: 13px;
    }
    #sec4 .course .box .price dd {
        font-size: 32px;
        letter-spacing: 4px;
    }
    #sec4 .course .box .price dd small {
        font-size: 22px;
    }
    #sec4 .other {
        padding: 20px 0 20px;
        margin-bottom: 128px;
    }
    #sec4 .other h3 {
        font-size: 26px;
        margin-bottom: 30px;
        line-height: 45px;
    }
    #sec4 .other h3::before {
        top: 0;
        left: 166px;
        width: 82px;
        height: 161px;
    }
    #sec4 .other h3::after {
        top: 0;
        right: 170px;
        width: 82px;
        height: 161px;
    }
    #sec4 .other h3 small {
        font-size: 20px;
    }
    #sec4 .other .list {
        width: 570px;
        margin: 0 auto 0;
    }
    #sec4 .other .list dl {
        padding: 10px 9px;
        line-height: 20px;
		
    }
    #sec4 .other .list dl dt {
        width: auto;
                letter-spacing: 0px;
    }
    #sec4 .other .list dl dd {
        width: 100px;
    }
    #sec4 .surprise {
        padding: 38px 0px 64px;
        margin-left: -5px;
        margin-right: -5px;
    }

    #sec4 .set2 {
        padding-bottom: 4px;
        padding-top: 1px;
    }
    #sec4 .set2::before {
        width: calc(50% + 460px);
        bottom: 530px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1400px) {
    #sec3 .set3 .js .sec4-js {
        max-width: 48%;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    #sec4 .set1 h2 {
        left: 0;
    }
    #sec4 .course {
        margin: 0 -6px 80px 11px;
    }
	 #sec4 .surprise {
        margin: 0 20px;
    }
}


/* sec5 */
#sec5 {
    position: relative;
    padding: 15vw 0 39vw;
}
#sec5 .g-bnr .bnr {
    margin-bottom: 5vw;
    position: relative;
    box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.5);
}
#sec5 .g-bnr .bnr span {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 5vw;
    z-index: 5;
    transform: translateY(-50%);
    letter-spacing: 0.1em;
	text-shadow: 0px 0px 16px #000;
}
#sec5 .g-bnr .bnr span::after {
    content: "";
    background: url(../img/shared/icon_arow.png) no-repeat;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    width: 28px;
    height: 27px;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -13px;
    transition: all .4s ease;
}
@media screen and (min-width: 768px) {
    #sec5 {
        padding: 66px 0 176px;
    }
    
    #sec5 .bnr__group .bnr__row {
        gap: 90px;
    }
    #sec5 .g-bnr {
        display: flex;
        justify-content: center;
    }
    #sec5 .g-bnr .bnr {
        margin: 0 39px;
		overflow: hidden;
    }
	#sec5 .g-bnr .bnr::before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border: 4px solid #fff;
		z-index: 5;
	}
		#sec5 .g-bnr .bnr::before{
		content: "";
		position: absolute;
		top: 10px;
		left: 10px;
		right: 10px;
		bottom: 10px;
		border: 1px solid #9E9C9B;
		z-index: 5;
	}
    #sec5 .g-bnr .bnr span {
        font-size: 28px;
        width: 39px;
        height: 330px;
        margin: 0 auto;
        top: 220px;
        text-align: left;
        letter-spacing: 5px;
        line-height: 50px;
		cursor: pointer;
    }
    #sec5 .g-bnr .bnr + .bnr span {
        width: 110px;
        top: 241px;
    }
    #sec5 .g-bnr .bnr + .bnr span::after {
        bottom: 57px;
        right: 30px;
    }
	#sec5 .g-bnr .bnr img{
		transition: all 0.5s;
	}
	#sec5 .g-bnr .bnr:hover img{
		opacity: 1;
		transform: scale(1.2);
		transition: all 0.5s;
		filter: blur(2px);
	}
    #sec5 .g-bnr .bnr span::after {
        bottom: 35px;
        top: auto;
        width: 40px;
        height: 39px;
        background: url(../img/lunch/sec5_icon.png) no-repeat;
        left: -7px;
        right: auto;
    }
}


