@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/

/* secIndex */
.secIndex{
    padding: calc(var(--contentsPaddingTopPc) - 17px) 0 var(--contentsPaddingBottomPc);
}
@media only screen and (max-width:767px){
    .secIndex{
        padding: var(--contentsPaddingTopSp) 0 var(--contentsPaddingBottomSp);
    }
    .secIndex .secCmnFormTit{
        margin-top: 0;
    }
}

/* secReserveHero */
.secReserveHero{
    margin-top: 17px;
    text-align: center;
}
.secReserveHero img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
@media only screen and (max-width:767px){
    .secReserveHero{
        margin-top: 0;
    }
}

/* secShopInfo */
.secShopInfo{
    margin-top: 78px;
}
.secShopInfo .secCmnFormTit{
    margin-top: 0;
}
.secShopInfo .secShopInfoBody{
    margin-top: 40px;
}
.secShopInfo .secShopInfoBody .secTableTit{
    border-top: 1px solid var(--bdrColor01);
    border-radius: 3px 3px 0 0;
    background: #fff;
}
.secShopInfo .secShopInfoBody .secTableTit,
.secShopInfo .secShopInfoBody dt,
.secShopInfo .secShopInfoBody dd{
    padding: 20px;
    border-left: 1px solid var(--bdrColor01);
    border-right: 1px solid var(--bdrColor01);
    border-bottom: 1px solid var(--bdrColor01);
    font-size: 16px;
    color: #222;
    line-height: var(--pcMpTableLineHeight);
    position: relative;
}
.secShopInfo .secShopInfoBody .secTableTit{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
}
.secShopInfo .secShopInfoBody .secTableTit .boxImg{
    width: 135px;
    margin-right: 15px;
    display: flex;
    align-items: center;
}
.secShopInfo .secShopInfoBody .secTableTit .boxImg img{
    vertical-align: baseline;
}
.secShopInfo .secShopInfoBody dt{
    background: #f7f7f7;
    color: var(--mainColor);
}
.secShopInfo .secShopInfoBody dd{
    background: #fff;
    color: #222;
}
.secShopInfo .secShopInfoBody dl:last-child dd{
    border-radius: 0 0 3px 3px;
    border-bottom: 1px solid var(--bdrColor02);
    box-shadow: 0 2px rgb(4 0 0 / 20%);
}
.secShopInfo .secShopInfoBody dd.ddMap iframe{
    width: 100%;
}
@media only screen and (max-width:767px){
    .secShopInfo{
        margin-top: 50px;
    }
    .secShopInfo .secCmnFormTit{
        margin: 0;
    }
    .secShopInfo .secShopInfoBody{
        margin: 0;
        width: 100%;
    }
    .secShopInfo .secShopInfoBody .secTableTit,
    .secShopInfo .secShopInfoBody dt,
    .secShopInfo .secShopInfoBody dd{
        padding: 8px 25px;
        line-height: var(--spMpTableLineHeight);
        font-size: 14px;
        border-left: none;
        border-right: none;
    }
    .secShopInfo .secShopInfoBody .secTableTit{
        /* padding: 14px; */
    }
    .secShopInfo .secShopInfoBody .secTableTit .boxImg{
        width: 120px;
        margin-right: 15px;
    }
    .secShopInfo .secShopInfoBody dd.ddMap{
        padding: 14px;
    }
    .secShopInfo .secShopInfoBody dl:last-child dd{
        border-radius: 0;
        border-bottom: none;
        box-shadow: none;
        padding: 14px 14px 30px;
    }
    .secShopInfo .secShopInfoBody dd.ddMap iframe{
        height: 280px;
        vertical-align: middle;
    }
}


/* secCmnForm */
.secCmnForm{
    margin-top: 165px;
}
.secCmnForm .secCmnFormTit{
    margin-top: 0;
}

@media only screen and (max-width:767px){
    .secCmnForm{
        margin-top: 65px;
    }
}

/* secMerit */
.secMerit{
    margin-top: 98px;
}
.secMerit .boxTit{
    text-align: center;
}
.secMerit .boxTit .tit{
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 3px;
}
.secMerit .boxTit .tit .txtAttn{
    /* color: var(--reservationColor); */
    color: var(--brandColor);
}
.secMerit .boxTit .subTit{
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.3px;
    margin-top: 16px;
}
.secMerit .meritList{
    margin-top: 28px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.secMerit .meritList .meritItem{
    margin-left: 66px;
    display: inline-block;
    text-align: center;
}
.secMerit .meritList .meritItem:first-child{
    margin-left: 0;
}
.secMerit .meritList .meritItem .boxImg{
    display: inline-block;
    border-radius: 50%;
    overflow: hidden;
    max-width: 248px;
}
.secMerit .meritList .meritItem .txt{
    margin-top: 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.888;
}
@media only screen and (max-width:767px){
    .secMerit{
        margin-top: 40px;
        width: 90%;
    }
    .secMerit .boxTit .tit{
        font-size: 20px;
        letter-spacing: 1px;
    }
    .secMerit .boxTit .subTit{
        font-size: 11px;
        letter-spacing: 1px;
        margin-top: 9px;
    }
    .secMerit .meritList{
        margin-top: 19px;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .secMerit .meritList .meritItem{
        margin-left: 0;
        width: 50%;
    }
    .secMerit .meritList .meritItem:first-child{
        margin-left: 0;
    }
    .secMerit .meritList .meritItem:last-child{
        margin-left: 0;
        margin-top: 17px;
        width: 60%;
    }
    .secMerit .meritList .meritItem .boxImg{
        max-width: 151px;
    }
    .secMerit .meritList .meritItem .txt{
        margin-top: 9px;
        font-size: 13px;
        line-height: 1.538;
    }
}

/* secMsg */
.secMsg{
    margin-top: 61px;
    text-align: center;
}
.secMsg .txt{
    font-size: 22px;
    font-weight: 700;
    line-height: 1.909;
    letter-spacing: 1px;
    color: var(--txtAttnColor);
    text-align: center;
    display: inline-block;
    position: relative;
}
.secMsg .txt::before,
.secMsg .txt::after{
    content: "";
    width: 19px;
    height: 39px;
    position: absolute;
    bottom: -34px;
    z-index: 10;
}
.secMsg .txt::before{
    background: url(../img/reservation/imgBar01.png) center / contain no-repeat;
    left: 122px;
}
.secMsg .txt::after{
    background: url(../img/reservation/imgBar02.png) center / contain no-repeat;
    right: 123px;
}
.secMsg .boxImg{
    display: block;
    position: relative;
    left: -52px;
    margin-top: 42px;
}
@media only screen and (max-width:767px){
    .secMsg{
        margin-top: 41px;
    }
    .secMsg .txt{
        font-size: 13px;
        line-height: 1.846;
        letter-spacing: 0;
    }
    .secMsg .txt::before,
    .secMsg .txt::after{
        width: 15px;
        height: 31px;
        bottom: -31px;
    }
    .secMsg .txt::before{
        left: 70px;
    }
    .secMsg .txt::after{
        right: 70px;
    }
    .secMsg .boxImg{
        left: -30px;
        margin: 20px auto 0;
        width: 145px;
    }
}

/* .secMsg02 */
.secMsg02{
    margin-top: 60px;
    text-align: center;
    border: 1px solid var(--subColor);
    background: var(--subTxtColor);
    position: relative;
    padding: 40px 0;
}
.secMsg02 .txt{
    font-size: 22px;
    font-weight: 700;
    line-height: 1.909;
}
.secMsg02 .boxImg{
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
}
@media only screen and (max-width:767px){
    .secMsg02{
        margin-top: 25px;
        text-align: left;
        padding: 20px 15px;
    }
    .secMsg02 .txt{
        font-size: 12px;
    }
    .secMsg02 .boxImg{
        right: 0;
        width: 70px;
    }
}
@media only screen and (max-width:350px){
    .secMsg02 .boxImg{
        right: -10px;
        width: 50px;
    }
}

/*-----------------------------------------------
    details
-----------------------------------------------*/
/* secDetails */
.secDetails{
    margin-top: var(--contentsPaddingTopPc);
    padding-bottom: var(--contentsPaddingBottomPc);
}
@media only screen and (max-width:767px){
    .secDetails{
        margin-top: var(--contentsPaddingTopSp);
        padding-bottom: var(--contentsPaddingBottomSp);
        padding-top: 12px;
        border-top: 1px solid #dcdcdc;
        background: #fff;
    }
    .secDetails.co{
        padding-top: 0;
        border-top: none;
    }
}

/* .secCmnFormTit */
.secDetails .secCmnFormTit .txt {
    margin-top: 50px;
}
@media only screen and (max-width: 767px){
    .secDetails .secCmnFormTit .txt {
        margin-top: 25px;
    }
}

/* secDetailsBack */
.secDetailsBack{
    margin-top: 90px;
}
@media only screen and (max-width:767px){
    .secDetailsBack{
        margin-top: 44px;
    }
}

/* secFormSelectBox */
.secFormSelectBox{
    margin-top: 60px;
}
.secFormSelectBox .list{
    display: flex;
    justify-content: center;
}
.secFormSelectBox .item{
    width: 500px;
    height: auto;
}
.secFormSelectBox .item:nth-child(2){
    margin-left: 60px;
}
.secFormSelectBox .inner{
    display: block;
    text-decoration: none;
    color: var(--mainColor);
}
.secFormSelectBox .tit{
    font-size: 24px;
    letter-spacing: 2px;
    font-weight: bold;
    text-align: center;
    margin-top: 40px;
}
.secFormSelectBox .mapBox{
    margin-top: 30px;
    text-align: center;
}
.secFormSelectBox .mapInner{
    display: inline-block;
    text-decoration: none;
    color: var(--mainColor);
}
.secFormSelectBox .mapTit{
    font-size: 15px;
}
.secFormSelectBox .mapTit span{
    font-size: 12px;
    margin-left: 10px;
    display: inline-block;
    border: solid 1px var(--mainColor);
    padding: 3.5px 11px;
    border-radius: 10.5px;
    background: var(--mainTxtColor);
}
.secFormSelectBox .btnBox{
    width: 240px;
    margin: 37px auto 0;
}
.secFormSelectBox .btnInner{
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 3px;
    color: var(--mainColor);
    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1), inset 0px -2px 0px 0px rgba(4, 0, 0, 0.2);
    background: var(--reservationColor);
}
@media only screen and (max-width:767px){
    .secFormSelectBox{
        margin: 30px auto 0;
        width: 94.667%;
    }
    .secFormSelectBox .list{
        display: block;
    }
    .secFormSelectBox .item{
        width: 100%;
    }
    .secFormSelectBox .item:nth-child(2){
        margin: 62px auto 0;
    }
    .secFormSelectBox .tit{
        font-size: 18px;
        letter-spacing: 1.5px;
        margin-top: 23px;
    }
    .secFormSelectBox .mapBox{
        margin-top: 15px;
    }
    .secFormSelectBox .mapTit{
        font-size: 13px;
    }
    .secFormSelectBox .btnBox{
        margin: 21px auto 0;
    }
    .secFormSelectBox .btnInner{
        height: 50px;
        font-size: 13px;
    }
}

.secCmnFormTable .boxAreaList{
    display: flex;
    margin-top: 10px;
}
.secCmnFormTable .boxAreaList .item{
    width: auto;
}
.secCmnFormTable .boxAreaList .item:nth-child(2n){
    margin: 0 0 0 37px;
}
.secCmnFormTable .boxAreaList .labelRadio{
    position: relative;
    display: inline-block;
    font-size: 15px;
    line-height: 20px;
}
.secCmnFormTable .boxAreaList input[type="radio"]{
    width: 20px;
    height: 20px;
    margin: 0 3px 0 0;
    visibility: hidden;
    position: absolute;
}
.secCmnFormTable .boxAreaList .innerRadio{
    display: inline-flex;
}
.secCmnFormTable .boxAreaList .innerRadio::before{
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--mainTxtColor);
    border: solid 1px var(--mainColor);
    margin: 0 8px 0 0;
    position: relative;
    top: 0;
    flex-shrink: 0;
}
.secCmnFormTable .boxAreaList input[type="radio"]:checked + .innerRadio::before{
    background: var(--formRequiredColor);
}
.secCmnFormTable .boxAreaList input[type="radio"]:checked + .innerRadio::after{
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--mainColor);
    position: absolute;
    top: 4px;
    left: 4px;
}
.secCmnFormTable{
    margin-top: 45px;
}
@media only screen and (max-width:767px){
    .secCmnFormTable .boxAreaList{
        display: block;
        margin-top: 2px;
    }
    .secCmnFormTable .boxAreaList .item{
        width: 100%;
    }
    .secCmnFormTable .boxAreaList .item:nth-child(2n){
        margin: 10px 0 0;
    }
    .secCmnFormTable .boxAreaList .labelRadio{
        position: relative;
        display: inline-block;
        font-size: 13px;
        line-height: 18px;
    }
    .secCmnFormTable .boxAreaList input[type="radio"]{
        width: 18px;
        height: 18px;
    }
    .secCmnFormTable .boxAreaList .innerRadio::before{
        width: 18px;
        height: 18px;
        margin: 0 6px 0 0;
    }
    .secCmnFormTable .boxAreaList input[type="radio"]:checked + .innerRadio::after{
        top: 3px;
        left: 3px;
    }
    .secCmnFormTable{
        margin-top: 28px;
    }
}
