/* **************************
  common
************************** */
/* Common */
html { height: 100%; }
*, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
body {  
	font-family: 'Noto Sans Japanese',   sans-serif;
	font-weight: 400;
}
a {
    color: #555;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}

.gray {
    background-color:#f0f0f0;
}

.light-pink {
    background-color:#ffb6c130 !important;
}

.report-hover {
    background-color: #f5f5f5 !important;
}
.danger.report-hover {
    background-color: #ebcccc !important;
}
.success.report-hover {
    background-color: #d0e9c6 !important;
}
.info.report-hover {
    background-color: #c4e3f3 !important;
}
.warning.report-hover {
    background-color: #faf2cc !important;
}

.text-middle {
    vertical-align: middle !important;
}

.no-ime {
    ime-mode: disabled;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance:textfield;
}

.custom-pointer {
    cursor: pointer;
}

.custom-not-allowed {
    cursor: not-allowed !important;
}

.daily-report {
    margin-left: auto;
    margin-right: auto;
}

.order-label {
    vertical-align: middle !important;
}

.order-input {
    text-align: center;
}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.input-cal {
    width: 120px !important;
}

.menu-date-cell-ellipsis {
    width: 64px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    font-size: 8px;
}

/* **************************
  header
************************** */

header {
    margin-top: 10px;
    margin-bottom: 10px;
    max-width: 1280px;
    margin: auto;
    position: relative;
}

/* logo */
header h1 {
    text-align: center;
    width: 14%;
    display: inline-block;
    position: relative;
    top: 5px;
    margin: 0;
}
header h1 a {
    line-height: 1.5;
    display: block;
}
header h1 img {
    max-width: 160px;
}
header h1 strong {
    font-size: 14px;
    display: block;
    font-weight: normal;
}

/* menu */
header .menu {
    width: 60%;
    display: inline-block;
}
header .menu li {
    list-style-type: none;
    float: left;
}
header .menu li a {
    font-size: 13px;
    position: relative;
    letter-spacing: 1px;
    padding: 10px;
    display: block;
    border-right: 1px solid #fff;
}
header .menu li a:after { 
    position:absolute; 
    bottom:15px; 
    left:0; 
    width:0; 
    display:block; 
    height:1px;/*2px*/
    content:""; 
    -webkit-transition: all 0.3s ease; 
    -moz-transition: all 0.3s ease; 
    -o-transition: all 0.3s ease; 
    transition: all 0.3s ease; 
    margin-bottom: -10px;
}
header .menu li a:hover:after { 
    position: absolute;
    right: 0;
    width: 95%;
    display: block;
    border: #80dadd 2px solid;
    content: "";
    margin-bottom: -10px;
}
header .menu .drawer-menu {}

header .menu .drawer-menu li {
    position: relative;
}
header .menu .drawer-menu li p {
    font-size: 13px;
    position: relative;
    letter-spacing: 1px;
    padding: 10px;
    display: block;
    border-right: 1px solid #fff;
    margin: 0;
}
header .menu .drawer-menu li p span:after {
    content: '\f3d0';
    font-family: 'IonIcons';
    color: #535353;
    display: inline-block;
    text-align: center;
    position: absolute;
    font-size: 14px;
    top: 9px;
    right: -5px;
}
header .menu .drawer-menu li p span.open:after {
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
header .menu .drawer-menu ul {
    display: none;
    position: absolute;
    background-color: #f6f6f6;
    z-index: 4;
}
header .menu .drawer-menu ul li {
    font-size: 13px;
    float: none;
    line-height: 2;
    color: #555;
    width: 200px;
}
header .menu .drawer-menu ul li a {
    letter-spacing: 0;
    padding: 5px;
    border-right: 0;
}
header .menu .drawer-menu ul li a:hover:after {
    content: none;
}

/* clock,font-size */
header .inner_block {
    display: inline-block;
}
header .inner_block time {
    margin-top: 10px;
    font-size: 13px;
    color: #555;
}
header .inner_block time:before {
    content: '';
    background-image: url(../images/time.png);
    width: 15px;
    height: 15px;
    display: inline-block;
    background-size: contain;
    vertical-align: sub;
    margin-right: 3px;
}
header .inner_block .font_size p {
    font-size: 13px;
    display: inline;
    color: #555;
    line-height: 2;
}
header .inner_block .font_size ul {
    display: inline;
}
header .inner_block .font_size li {
    list-style-type: none;
    display: inline;
    text-align: center;
    padding: 5px;
    background-color: #ededed;
    color: #fff;
    border-radius: 3px;
}
header .inner_block .font_size li.active {
    background-color: #80dadd;
}

span.btn-cal {
    padding: 6px 12px;
}

/* calendar-data */
.custom-header h3 .cal-data {
    float: left;
    margin-right: 16px;
    margin-top: 10px;
}

.custom-header h3 .menu-data {
    margin-top: 10px;
}

/* select-box */
.custom-header h3 .select-wrap {
    float: left;
    line-height: 1;
    margin-left: 5px;
}
.custom-header h3 .select-wrap select {
    width: 200px;
}

.custom-header h3 select.select-menu {
    width: 150px;
}

.customers-wrap {
    margin-top: 10px !important;
}

.customers {
    width: 525px !important;
}

.custom-header h3 .select-wrap {
    position: relative;
}
.custom-header h3 .select-wrap:before {
    z-index: 1;
    position: absolute;
    right: 5px;
    top: 0;
    content: "\f3d0";
    font-family: "IonIcons";
    line-height: 32px;
    color: #555;
    pointer-events: none;
}
.custom-header h3 .select-wrap select{
    outline:none;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 30px;
    padding-left: 12px;
    font-size: 14px;
    border:1px solid #555;
    color:#555;
    border-radius:3px;
}
.custom-header h3 .select-wrap select option{
  background-color: #fff;
  color: #333;
}
.custom-header h3 .select-wrap select::-ms-expand {
  display: none;
}
.custom-header h3 .select-wrap select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}

/* check-box */
.custom-header h3 .label-checkbox .lever {
    font-size: 14px;
}
.custom-header h3 .label-checkbox input[type="checkbox"]{
    display: none;
}
.custom-header h3 .label-checkbox{
    cursor: pointer;
    color: #555;
    padding-left: 5px;
    font-weight: normal;
    line-height: 1;
    display: inline;
}
.custom-header h3 .label-checkbox .lever:before{
    content:"\f372";
    font-family: "IonIcons";
    margin-right: 3px;
    color: #555;
    font-size: 18px;
    position: relative;
    top: 2px;
}
.custom-header h3 .label-checkbox input[type="checkbox"]:checked + .lever{
    color: #80dadd;
}
.custom-header h3 .label-checkbox input[type="checkbox"]:checked + .lever:before{
    content:"\f373";
    font-family: "IonIcons";
    color: #80dadd;
}

.custom-header .custom-month-year {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 3%;
}

/* toggle Menu */
.drawer-nav {
    overflow: auto !important;
}

.drawer-nav .drawer-menu {
    margin-top: 30px;
}

.drawer-nav .drawer-menu .drawer-menu-label {
    font-weight: bold;
}

.drawer-nav .drawer-menu .drawer-menu-label > p {
    cursor: default;
}

.drawer-nav .drawer-menu > li p {
    position: relative;
    padding: 10px;
    font-size: 13px;
    margin: 0;
    cursor: pointer;
}
.drawer-nav .drawer-menu > li p span:after {
    content: '\f3d0';
    font-family: 'IonIcons';
    color: #535353;
    display: inline-block;
    text-align: center;
    position: absolute;
    right: 0;
    font-size: 20px;
    top: 5px;
    right: 10px;
}
.drawer-nav .drawer-menu > li p span.open:after {
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.drawer-nav .drawer-menu > li p + ul {
    display: none;
    background-color: #f6f6f6;
}
.drawer-nav .drawer-menu > li p + ul li {}
.drawer-nav .drawer-menu li a {
    padding: 10px;
    display: block;
    font-size: 13px;
}

.drawer-nav .mypage {
    padding: 10px;
}
.drawer-nav .mypage .name {
    text-align: center;
    font-size: 13px;
}
.drawer-nav .mypage .name:before {
    content: '\f213';
    font-family: 'IonIcons';
}
.drawer-nav .mypage .log a.logout {
    border: 1px solid #4b4b4b;
    display: block;
    padding: 3px;
    text-align: center;
    border-radius: 20px;
    max-width: 80%;
    margin: 10px auto;
    font-size: 13px;
}
.drawer-nav .mypage .log a.logout:before {
    content: '\f29f';
    font-family: 'IonIcons';
}
.drawer-nav .mypage .log a.login:before {
    content: '\f29e';
    font-family: 'IonIcons';
}

/* **************************
  fotter
************************** */
footer {
    clear: both;
    max-width: 1280px;
    margin: 12px auto auto auto;
}
footer section {
    display: table;
    float: right;
    position: relative;
    right: 15px;
}
footer section nav {
    display: table-cell;
    vertical-align: middle;
}
footer section nav ul li {
    display: inline-block;
    padding: 10px;
}
footer section nav ul li a {
    font-size: 13px;
    position: relative;
    letter-spacing: 1px;
}
footer section li a:after { 
    position:absolute; 
    bottom:0; 
    left:0; 
    width:0; 
    display:block; 
    height:1px;/*2px*/
    border:#fefefe 1px solid; 
    content:""; 
    -webkit-transition: all 0.3s ease; 
    -moz-transition: all 0.3s ease; 
    -o-transition: all 0.3s ease; 
    transition: all 0.3s ease; 
    margin-bottom: -10px;
}
footer section li a:hover:after { 
    position: absolute;
    right: 0;
    width: 95%;
    display: block;
    border: #80dadd 2px solid;
    content: "";
    margin-bottom: -10px;
}
footer section .logo {}
footer section .logo a img {
    max-width: 80px;
}
footer p.copy {
    text-align: center;
    font-size: 12px;
    padding: 10px;
    clear: both;
}


div.legend-holiday {
    background-color: #fcf8e3;
}

div.legend-no-order {
    background-color: #f0f0f0;
}

div.legend-today {
    background-color: #dff0d8;
}

div.legend-saturday {
    background-color: #d9edf7;
}

div.legend-sunday {
    background-color: #f2dede;
}

.legend-table {
    margin-left: 16px;
    border-collapse: separate;
    border-spacing: 2px;
}

.legend-td {
    border: solid 1px grey;
}

.week-margin {
    margin-right: 8px;
}

.text-gray {
    color: #d2d6de !important;
}

.reserve-footer {
    text-align: center;
}

.reserve-btn {
    width: 120px;
    height: 50px;
    margin-left: 16px;
    margin-right: 16px;
}

.report-table {
    table-layout: fixed;
}

.report-table .report-table-col {
    white-space: normal;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu-notice {
    position: fixed;
    display: inline-block;
    top: 50px;
    right: 0;
    margin: 1.5em 0;
    padding: 7px 10px;
    max-width: 60%;
    color: #555;
    font-size: 12px;
    background: #e0edff;
    border-radius: 15px;
    z-index: 10;
}

.menu-notice:before{
    content: "";
    position: absolute;
    top: -12px;
    left: 90%;
    margin-left: -12px;
    border: 6px solid transparent;
    border-bottom: 6px solid #e0edff;
}

.menu-notice:before{
    content: "";
    position: absolute;
    top: -16px;
    left: 90%;
    margin-left: -12px;
    border: 8px solid transparent;
    border-bottom: 12px solid #e0edff;
}

.menu-notice p {
    margin: 0;
    padding: 0;
}

input,
select,
textarea {
    font-size: 16px !important;
}

/* ***********************************
   1025px 以上のブラウザサイズで適用
*********************************** */

@media screen and (min-width: 1024px) {
    header .inner_block {
        position: relative;
    }
    header .font_size {
        display: none;
    }
}

/* ***********************************
  768px以上 1024px 以下のブラウザサイズで適用
*********************************** */

@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* ヘッダー */
    header h1 {
        width: 100%;
    }
    header .menu {
        width: 100%;
        background-color: #f3f3f3;
        margin-top: 10px;
        display: none;
    }  
    header .menu li {
        width: 25%;
        text-align: center;
    }
    header .menu .drawer-menu li p span:after {
        right: 10px;
    }
    header .inner_block {
        display: inline-block;
        width: 100%;
        text-align: center;
    }
    header .inner_block time {
        font-size: 12px;
        width: 48%;
        margin-top: 10px;
        display: inline-block;
    }
    header .font_size {
        display: none;
    }

    .custom-header nav {
        position: absolute;
        right: 5%;
        top: 13px;
    }

    .custom-header h3 select.select-menu {
        width: 200px !important;
    }
}

/* ***********************************
  766px 以下のブラウザサイズで適用
*********************************** */

@media screen and (max-width: 767px) {
    /* ヘッダー */
    header h1 {
        width: 100%;
    }
    header .menu {
        width: 100%;
        background-color: #f3f3f3;
        margin-top: 10px;
        display: none;
    }  
    header .menu li {
        width: 50%;
        border-bottom: 1px solid #fff;
    }
    header .menu .drawer-menu li p span:after {
        right: 10px;
    }
    header .inner_block {
        display: inline-block;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }

    header .inner_block time {
        font-size: 12px;
        margin-top: 10px;
        width: 48%;
        display: inline-block;
    }

    header .inner_block div.font_size {
        display: inline-block;
        width: 48%;
        top: 16px;
        right: 60px;
    }

    header .font_size p {
        font-size: 11px;
    }
    header .font_size li {
        font-size: 12px;
    }

    /* カレンダーヘッダー */
    .custom-header h3 {
        padding-right: 0;   
    }
    .custom-header h3 .cal-data {
        width: 90%;
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .custom-header h3 .cal-data .custom-month-year-date {
        width: auto;
        width: -webkit-calc(100% - 135px);
        width: calc(100% - 135px);
    }

    .custom-header h3 .menu-data {
        font-size: 14px;
        margin-left: 20px;
        width: 90%;
        margin-top: 16px;
        display: table;
    }

    .custom-header h3 .menu-data-child {
        display: table-cell;
        white-space: nowrap;
    }

    .custom-header h3 .select-wrap {
        width: 50%;
        max-width: 130px;
    }

    .custom-header h3 .select-wrap select {
        width: 300px;
    }

    .custom-header h3 select.select-menu {
        width: 100%;
    }

    .custom-header h3 .customers-wrap {
        margin-top: 16px !important;
        margin-left: 20px !important;
        width: 90%;
    }

    .customers {
        width: 100% !important;
        margin-right: 20px;
    }

    .custom-header h3 .label-checkbox {
        padding-left: 10px;
        float: left;
        line-height: 1.6em;
    }
    .custom-header h3 .label-checkbox .lever {
        font-size: 13px;   
    }
    .custom-header h3 nav {
        clear: both;
        float: right;
        margin-top: 10px;   
    }

    .custom-header .custom-month-year {
        padding-left: 0;
    }

    footer {
        margin: auto auto auto auto;
    }

    /* フッター */
    footer section {
        margin-left: 10px;
        padding-left: 10px;
        position: inherit;
        right: auto;
    }
    footer section nav ul li {
        padding: 5px;
    }
    footer p.copy {
        font-size: 10px;    
    }
    span.btn-cal {
        padding: 6px 6px;
    }

    .input-cal {
        width: 100% !important;
    }
}

@media screen and (max-width: 400px) {
    header div.font_size p {
        display: none !important;
    }
}

input[type="search"] {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button;
}

input[type="search"]::-webkit-search-decoration {
    display: none;
}