@charset "utf-8";

/* secCmnTit */
.secCmnTit{
    background-image: url(../img/reservation/bgCmnTit.jpg);
}
@media only screen and (max-width:1215px){
    .secCmnTit{
        background-image: url(../img/reservation/bgCmnTit_sp.jpg);
    }
}

/* secTop */
.secTop{
    margin-top: 9rem;
}
.secTop .tit{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_42);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: 700;
    text-align: center;
}
.secTop .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_38);
    margin-top: 2.5rem;
    text-align: center;
}
.secTop .boxMerit{
    margin-top: 4.6rem;
}
.secTop .titMerit{
    font-size: var(--pcFontSize20);
    font-weight: 700;
    text-align: center;
    background: var(--bgColor02);
    padding: 3.4rem 0;
}
.secTop .titMerit span{
    color: var(--colorMember);
}
.secTop .list{
    display: flex;
    margin-top: 6rem;
}
.secTop .item{
    width: calc(100% / 3);
    border-left: solid 1px var(--cmnTitblackColor_10);
    padding: 3rem 0;
}
.secTop .item:last-child{
    border-right: solid 1px var(--cmnTitblackColor_10);
}
.secTop .img{
    width: 22rem;
    margin: 0 auto;
}
.secTop .itemTxt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_36);
    text-align: center;
    margin-top: 2.5rem;
    font-weight: 700;
}
.secTop .itemSubTxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    margin-top: 0.8rem;
    text-align: center;
}
.secTop .iconMerit{
    width: 7.6rem;
    height: 3.2rem;
    background: var(--colorMember);
    font-size: var(--pcFontSize13);
    font-weight: 700;
    color: var(--whiteColor);
    margin: 1.5rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secTop .underBox{
    margin-top: 5.3rem;
    display: flex;
}
.secTop .underTxt{
    font-size: var(--pcFontSize16);
    height: 9rem;
    width: calc(50% - 2rem);
    margin-right: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 0.1rem var(--cmnTitblackColor_10);
    border-radius: 0.5rem;
    padding-left: 1rem;
}
.secTop .underTxt:last-child{
    margin-right: 0;
}
.secTop .icon{
    position: relative;
    padding-left: 6.5rem;
}
.secTop .icon::before{
    position: absolute;
    content: "";
    width: 4.4rem;
    height: 2.8rem;
    left: 0;
    top: calc(50% - 1.4rem);
}
.secTop .icon.lazyloaded::before{
    background: url(../img/reservation/icon01.png) center center / cover;
}
.secTop .underTxt:nth-child(2) .icon{
    padding-left: 4.3rem;
}
.secTop .underTxt:nth-child(2) .icon::before{
    width: 2.4rem;
    top: calc(50% - 1.4rem);
}
.secTop .underTxt:nth-child(2) .icon.lazyloaded::before{
    background: url(../img/reservation/icon02.png) center center / cover;
}
@media only screen and (max-width:1215px){
    .secTop{
        margin-top: 3.5rem;
    }
    .secTop .tit{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_26);
        letter-spacing: var(--spLetterSpacing0);
    }
    .secTop .txt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_26);
        margin-top: 1.8rem;
    }
    .secTop .boxMerit{
        margin-top: 2.2rem;
    }
    .secTop .titMerit{
        font-size: var(--spFontSize13);
        padding: 2rem 0;
    }
    .secTop .list{
        display: block;
        margin-top: 3rem;
    }
    .secTop .item{
        width: 100%;
        border-left: none;
        padding: 0;
        display: flex;
    }
    .secTop .item:nth-child(n+2){
        margin-top: 3rem;
    }
    .secTop .item:last-child{
        border-right: none;
    }
    .secTop .img{
        width: 11rem;
        margin: 0;
        text-align: center;
    }
    .secTop .itemTxt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_22);
        margin-top: 1rem;
        text-align: left;
        order: 2;
    }
    .secTop .itemSubTxt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_22);
        margin-top: 0.4rem;
        text-align: left;
        order: 3;
    }
    .secTop .txtBox{
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
        width: calc(100% - 12.5rem);
        margin-left: 1.5rem;
        padding-top: 2rem;
    }
    .secTop .iconMerit{
        width: auto;
        height: auto;
        background: none;
        font-size: var(--spFontSize11);
        color: var(--colorMember);
        margin: 0;
        display: block;
        position: relative;
        order: 1;
    }
    .secTop .iconMerit::after{
        position: absolute;
        content: "";
        width: 2rem;
        height: 0.1rem;
        top: calc(50% - 0.05rem);
        left: 5.2rem;
        background: var(--colorMember);
    }
    .secTop .underBox{
        margin-top: 4rem;
    }
    .secTop .underTxt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        height: auto;
        padding: 6.3rem 0 2rem;
        width: calc(50% - 0.25rem);
        margin-right: 0.5rem;
        display: block;
        font-weight: 700;
        text-align: center;
    }
    .secTop .icon,.secTop .underTxt:nth-child(2) .icon{
        padding-left: 0;
        display: block;
    }
    .secTop .icon::before{
        left: calc(50% - 2.2rem);
        top: -4rem;
    }
    .secTop .underTxt:nth-child(2) .icon::before{
        left: calc(50% - 1.2rem);
        top: -4rem;
    }
}
@media only screen and (max-width:374px){
    .secTop .itemTxt{
        font-size: var(--spFontSize12);
    }
}
@media only screen and (max-width:359px){
    .secTop .txtBox{
        width: calc(100% - 14.5rem);
        margin-left: 1.5rem;
    }
}

/* secTopBox */
.secTopBox{
    margin-top: 8rem;
    background: var(--redColor);
    padding: 5rem 8rem 5rem 7rem;
    display: flex;
    align-items: center;
    height: 25.5rem;
}
.secTopBox .leftBox{
    color: var(--whiteColor);
    position: relative;
    padding-left: 13rem;
    width: calc(100% - 40rem);
}
.secTopBox .tit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_36);
}
.secTopBox .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_36);
    font-weight: bold;
}
.secTopBox .txt span{
    border-bottom: solid 0.1rem var(--whiteColor);
}
.secTopBox .img{
    position: absolute;
    left: 0;
    top: calc(50% - 5rem);
    width: 10rem;
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2.5rem;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
}
.secTopBox .btnBox{
    width: 40rem;
}
.secTopBox .btnInner{
    height: 7.5rem;
    border-radius: 3.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: var(--textColor);
    background: var(--whiteColor);
    font-size: var(--pcFontSize16);
    font-weight: bold;
}
.secTopBox .btnInner::after{
    position: absolute;
    content: "";
    width: 0.9rem;
    height: 0.9rem;
    left: 4rem;
    top: calc(50% - 0.45rem);
    background: var(--redColor);
    border-radius: 50%;
}
@media only screen and (max-width:1215px){
    .secTopBox{
        margin-top: 3.8rem;
        background: none;
        padding: 0;
        display: block;
        height: auto;
    }
    .secTopBox .leftBox{
        color: var(--textColor);
        padding-left: 0;
        width: 100%;
    }
    .secTopBox .tit{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        text-align: center;
    }
    .secTopBox .spFlex{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 0.5rem;
    }
    .secTopBox .txt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        color: var(--redColor);
        margin-left: 1.5rem;
    }
    .secTopBox .txt span{
        border-bottom: solid 0.1rem var(--redColor);
    }
    .secTopBox .img{
        position: static;
        width: 5.5rem;
        height: 5.5rem;
    }
    .secTopBox .btnBox{
        width: 100%;
        margin-top: 1.5rem;
    }
    .secTopBox .btnInner{
        height: 5.5rem;
        border-radius: 2.75rem;
        font-size: var(--spFontSize13);
        background: var(--redColor);
        color: var(--whiteColor);
    }
    .secTopBox .btnInner::after{
        width: 0.5rem;
        height: 0.5rem;
        left: 4rem;
        top: calc(50% - 0.25rem);
        background: var(--whiteColor);
        color: var(--whiteColor);
    }
}

/* secFlow */
.secFlow{
    margin-top: 11rem;
}
.secFlow .wrapper{
    margin: 0 auto;
    width: 140rem;
}
.secFlow .tit{
    font-size: var(--pcFontSize20);
    font-weight: 700;
    text-align: center;
}
.secFlow .list{
    margin-top: 5rem;
    display: flex;
    justify-content: center;
}
.secFlow .item{
    width: 20%;
    position: relative;
}
.secFlow .item::after{
    content: "";
    position: absolute;
    width: 10rem;
    height: 0.1rem;
    background-color: var(--borderColor01);
    right: -5rem;
    top: 6rem;
}
.secFlow .item:last-child{
    margin-right: 0;
    color: var(--redColor);
}
.secFlow .item:last-child::after{
    display: none;
}
.secFlow .itemTit{
    font-size: var(--pcFontSize16);
    font-weight: 700;
    margin-top: 2.8rem;
    text-align: center;
}
.secFlow .itemTxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
    margin-top: 1.3rem;
    text-align: center;
}
.secFlow .icon{
    width: 12rem;
    margin: 0 auto;
    max-width: 100%;
}
@media only screen and (max-width:1215px){
    .secFlow{
        margin-top: 5rem;
    }
    .secFlow .wrapper{
        width: 95%;
    }
    .secFlow .tit{
        font-size: var(--spFontSize13);
    }
    .secFlow .list{
        margin-top: 2.8rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .secFlow .item{
        width: calc(100% / 3);
        margin-right: 0;
    }
    .secFlow .item:nth-child(1),.secFlow .item:nth-child(3){
        width: calc(100% / 3 - 0.5rem);
    }
    .secFlow .item:nth-child(2){
        width: calc(100% / 3 + 1rem);
    }
    .secFlow .item:nth-child(n+4){
        margin-top: 2.5rem;
    }
    .secFlow .item:nth-child(3)::after{
        display: none;
    }
    .secFlow .item::after{
        width: 2.5rem;
        right: -1.25rem;
        top: 3.8rem;
    }
    .secFlow .item:nth-child(1)::after{
        right: -1.75rem;
    }
    .secFlow .item:nth-child(2)::after{
        right: -0.75rem;
    }
    .secFlow .itemTit{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
        margin-top: 1.8rem;
    }
    .secFlow .itemTxt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        margin-top: 0.6rem;
    }
    .secFlow .icon{
        width: 7.5rem;
        margin: 0 auto;
    }
}

/* secModel */
.secModel{
    margin-top: 16rem;
}
.secModel .titEng{
    font-size: var(--pcFontSize80);
    letter-spacing: var(--pcLetterSpacing80_50);
    font-weight: 100;
    text-align: center;
}
.secModel .titJpn{
    font-size: var(--pcFontSize16);
    font-weight: 700;
    margin-top: 3rem;
    text-align: center;
}
.secModel .list{
    display: flex;
    flex-wrap: wrap;
    margin-top: 4.8rem;
}
.secModel .item{
    width: 30%;
    margin-right: 5%;
    text-align: center;
}
.secModel .item:nth-child(3n){
    margin-right: 0;
}
.secModel .item:nth-child(n+4){
    margin-top: 7rem;
}
.secModel .img{
    width: 100%;
    padding-top: 63.334%;
    display: block;
}
.secModel .tit{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_30);
    font-weight: 700;
    margin-top: 3rem;
    display: inline-block;
    text-decoration: none;
    color: var(--textColor);
}
.secModel .txtPlace{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_22);
    letter-spacing: var(--pcLetterSpacing14_50);
    color: var(--textColor);
    margin-top: 1.8rem;
}
.secModel .btn{
    width: 30rem;
    height: 6.5rem;
    margin: 2.1rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--redColor);
    background: var(--whiteColor);
    border: 0.1rem solid var(--redColor);
    border-radius: 3.25rem;
    font-size: var(--pcFontSize16);
    font-weight: 700;
    position: relative;
}
.secModel .btn::after{
    content: "";
    position: absolute;
    top: calc(50% - 0.35rem);
    left: 3rem;
    width: 0.7rem;
    height: 0.7rem;
    background: var(--redColor);
    border-radius: 50%;
}
.secModel .boxMore{
    display: flex;
    justify-content: center;
    margin-top: 3.3rem;
}
.secModel .link{
    font-size: var(--pcFontSize14);
    padding-left: 2.5rem;
    position: relative;
    color: var(--textColor);
    text-decoration: none;
}
.secModel .link:nth-child(2){
    margin-left: 3rem;
}
.secModel .link::after{
    content: "";
    position: absolute;
    top: calc(50% - 0.85rem);
    left: 0;
    width: 1.7rem;
    height: 1.7rem;
    background: var(--redColor);
    border-radius: 50%;
}
.secModel .link.lazyloaded::after{
    background: url(../img/reservation/iconArrow.png) center center / 0.7rem auto no-repeat var(--textColor);
}
@media only screen and (max-width:1215px){
    .secModel{
        margin-top: 7.2rem;
    }
    .secModel .titEng{
        font-size: var(--spFontSize34);
        letter-spacing: var(--spLetterSpacing34_50);
    }
    .secModel .titJpn{
        font-size: var(--spFontSize13);
        margin-top: 1.6rem;
    }
    .secModel .list{
        margin-top: 3rem;
    }
    .secModel .item{
        width: calc(50% - 0.25rem);
        margin-right: 0.5rem;
    }
    .secModel .item:nth-child(3n){
        margin-right: 0.5rem;
    }
    .secModel .item:nth-child(2n){
        margin-right: 0;
    }
    .secModel .item:nth-child(n+3){
        margin-top: 3.8rem;
    }
    .secModel .tit{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
        margin-top: 1.8rem;
        padding: 0 1rem;
    }
    .secModel .txtPlace{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        letter-spacing: var(--spLetterSpacing11_0);
        margin-top: 0.4rem;
        padding: 0 1rem;
    }
    .secModel .btn{
        width: 14.3rem;
        height: 4.5rem;
        margin: 1.2rem auto 0;
        border-radius: 2.25rem;
        font-size: var(--spFontSize13);
    }
    .secModel .btn::after{
        top: calc(50% - 0.25rem);
        left: 1.5rem;
        width: 0.5rem;
        height: 0.5rem;
    }
    .secModel .boxMore{
        margin-top: 1.8rem;
    }
    .secModel .link{
        font-size: var(--spFontSize11);
        padding-left: 0;
    }
    .secModel .link:nth-child(2){
        margin-left: 2.5rem;
    }
    .secModel .link:nth-child(2)::before{
        position: absolute;
        top: 0;
        left: -1.45rem;
        content: "|";
        color: var(--textColor);
        font-size: var(--spFontSize11);
    }
    .secModel .link::after{
        width: 100%;
        height: 0.1rem;
        background: var(--borderColor01);
        bottom: -0.1rem;
        left: 0;
        top: auto;
    }
}