@charset "UTF-8";
/* CSS Document */

/* -------------------------------- PC版のスタイルここから ------------------------------------*/

@media print, screen and (min-width: 751px) {
    .dinning-txt-wrap{
        background: url("../img/dinning/dinning-txt-bg.png") no-repeat center right;
        background-size: 50%;
        margin: 0;
        padding: 0 0 80px 0;
        position: relative;
    }

    article+.dinning-txt-wrap{
        margin-top: 80px;
    }
    
     .dinning-txt-wrap:before{
         position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 130px;
    background: -webkit-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: -o-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    -pie-background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
        content: '';
        z-index: 1;
         transform: rotateX(180deg);
    }
    
    .dinning-txt-wrap > aside{
        position: relative;
        z-index: 2;
    }
    
    .dinning-txt-wrap > section{
        position: relative;
        z-index: 2;
    }
    
    .dinning-txt-wrap+article{
        margin-top: 0;
    }
    
    .dinning-txt-wrap h3{
        text-align: center;
        font-weight: bold;
        font-size: 24px;
        line-height: 1.6em;
    }
    
    .dinning-txt-wrap p{
        text-align: center;
        font-size: 16px;
        line-height: 1.6em;
        margin: 16px 0 120px 0;
    }
    
    
/* 営業時間一覧　*/
    
    .op-hour-list h3{
        font-weight: bold;
        font-size: 24px;
        line-height: 1em;
        margin-bottom: 40px;
    }
    
    .op-hour-list+.op-hour-list{
        margin-top: 80px;
    }
    
    .op-hour-list ul{
        padding: 0;
        margin-bottom: 0;
    }
    
    .op-hour-list ul+h4{
        margin-top: 40px;
    }
    
    .op-hour-list ul li:first-child{
        padding-top: 0;
    }
    
    .op-hour-list ul li{
        width: 100%;
        display: flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        align-items: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: flex-start;
        border-bottom: 1px solid #CCCCCC;
        padding: 16px 24px;
    }
    
    .op-hour-list ul li .img-box{
        width: 25%;
    }
    
    .op-hour-list ul li .img-box img{
        width: 100%;
    }
    
    .op-hour-list ul li .info-box{
        width: 72%;
        margin-left: 3%;
        overflow: hidden;
    }
    
    .op-hour-list ul li .info-box h5{
        float: left;
        font-weight: bold;
        font-size: 20px;
        line-height: 1.4em;
        margin-bottom: 0;
    }
    
    .op-hour-list ul li .info-box h5 a:hover{
        color: #1D315A;
    }
    
    .op-hour-list ul li .info-box h5 b{
        display: block;
        font-size: 14px;
        color: #898989;
        font-weight: normal;
    }
    
    .op-hour-list ul li .info-box .btn-entry{
        float: right;
        min-width: 300px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap{
        clear: both;
        padding-top: 32px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table{
        width: 100%;
        margin-bottom: 0;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th{
        font-weight: bold;
        font-size: 16px;
        text-align: center;
        position: relative;
        padding: 8px 0;
        width: 16.6%;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child{
        width: 17%;
        font-weight: normal;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child span{
        display: block;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child:after{
        display: none;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table .open-icon:before{
        content: '';
        width: 30px;
        height: 30px;
        border: 4px solid #EBC34A;
        border-radius: 50%;
        display: inline-block;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table .close-icon:before{
        content: '';
        width: 30px;
        height: 4px;
        background: #898989;
        display: inline-block;
        border-radius: 5px;
        position: relative;
        top: -5px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table td{
        font-size: 16px;
        text-align: center;
        padding: 8px 0;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:after{
        content: '';
        width: 80%;
        height: 1px;
        background: #898989;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table td span{
        display: block;
    }
    
}


/* -------------------------------- SP版のスタイルここから ------------------------------------*/

@media screen and (max-width: 750px) {
    .dinning-txt-wrap{
        background: url("../img/dinning/dinning-txt-bg.png") no-repeat center right;
        background-size: 120%;
        margin: 0;
        padding: 0;
        position: relative;
    }

    article+.dinning-txt-wrap{
        margin-top: 40px;
    }
    
    .dinning-txt-wrap:before{
         position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 130px;
    background: -webkit-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: -o-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    -pie-background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
        content: '';
        z-index: 1;
         transform: rotateX(180deg);
    }
    
    .dinning-txt-wrap:after{
         position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100px;
    background: -webkit-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: -o-linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
    -pie-background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.9) 70%, #fff 100%);
        content: '';
        z-index: 1;
    }
    
    .dinning-txt-wrap > section,
    .dinning-txt-wrap > aside{
        position: relative;
        z-index: 2;
    }
    
    .dinning-txt-wrap+article{
        margin-top: 0;
    }
    
    .dinning-txt-wrap h3{
        text-align: left;
        font-weight: bold;
        font-size: 18px;
        line-height:  1.6em;
        padding: 0 16px;
    }
    
    .dinning-txt-wrap p{
        text-align: left;
        font-size: 14px;
        line-height: 26px;
        margin: 16px 0 40px 0;
        padding: 0 16px;
    }
    
/* 営業時間一覧　*/
    
    .op-hour-list h3{
        font-weight: bold;
        font-size: 20px;
        line-height: 1em;
        margin-bottom: 26px;
    }
    
    .op-hour-list+.op-hour-list{
        margin-top: 64px;
    }
    
    .op-hour-list ul{
        padding: 0;
        margin-bottom: 0;
    }
    
    .op-hour-list ul li:first-child{
        padding-top: 0;
    }
    
    .op-hour-list ul li{
        border-bottom: 1px solid #CCCCCC;
        padding: 16px 0;
    }
    
    .op-hour-list ul li .img-box{
        width: 100%;
        margin-bottom: 16px;
    }
    
    .op-hour-list ul li .img-box img{
        width: 100%;
    }
    
    .op-hour-list ul li .info-box{
        width: 100%;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .op-hour-list ul li .info-box h5{
        width: 100%;
        font-weight: bold;
        font-size: 18px;
        line-height: 1.4em;
        margin-bottom: 0;
        order: 0;
    }
    
    .op-hour-list ul li .info-box h5 a:hover{
        color: #333;
    }
    
    .op-hour-list ul li .info-box h5 b{
        display: block;
        font-size: 14px;
        color: #898989;
        font-weight: normal;
    }
    
    .op-hour-list ul li .info-box .btn-entry{
        width: 100%;
        margin-top: 8px;
        margin-left: auto;
        margin-right: auto;
        order: 2;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap{
        margin-top: 0;
        overflow-x: scroll;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table,
    .op-hour-list ul li .info-box .calender-table-wrap tbody{
        width: 700px;
        margin-bottom: 0;
        position: relative;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th{
        font-weight: bold;
        font-size: 14px;
        text-align: center;
        position: relative;
        padding: 8px 24px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table td{
        font-size: 14px;
        text-align: center;
        padding: 8px 4px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:after{
        content: '';
        width: 90%;
        height: 1px;
        background: #898989;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child{
        font-weight: normal;
        padding: 8px;
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        z-index: 1;
        background: #fff;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table  th:first-child:before{
        content: '';
        background: #CCCCCC;
        width: 1px;
        height: 100%;
        position: absolute;
        right: 1px;
        top: 0;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child span{
        display: block;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table th:first-child:after{
        display: none;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table .open-icon:before{
        content: '';
        width: 30px;
        height: 30px;
        border: 4px solid #EBC34A;
        border-radius: 50%;
        display: inline-block;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table .close-icon:before{
        content: '';
        width: 30px;
        height: 4px;
        background: #898989;
        display: inline-block;
        border-radius: 5px;
        position: relative;
        top: -5px;
    }
    
    .op-hour-list ul li .info-box .calender-table-wrap table td span{
        display: block;
    }
}

