@charset "utf-8";

body {
   width: calc(100vw - 15px);
}

main {
   min-height: calc(100vh - 120px);
   padding-top: 65px;
}
footer {
   text-align: center;
}

.error_msg {
   color: #dd3427;
}

.nav-tabs li {
   /*width:150px;*/
   text-align: center;
}

a.error {
   background: url("/img/icon_error.png") no-repeat right center;
   padding-right: 25px;
}

.top-box {
   padding: 20px 0 0 20px;
   border: 1px solid #bebec5;
   border-radius: 5px;
   margin-bottom: 50px;
}

.changed {
   background: #ffff99;
}

.inputError {
   padding-right: 25px;
   background: #ffdfe0;
}

.panel-body {
   padding-top: 20px;
}

.col-lg-offset-2 {
   margin-left: 5%;
}

.col-lg-8 {
   width: 90%;
}

input[type="checkbox"] {
   margin: 0 10px;
}

.checkbox-label {
   font-weight: normal;
}

#gnavi > ul > li.current > a {
   color: #dd3427;
   font-weight: bold;
}
/*
.leftPanel {
    float: left;
    width: 250px;
}

.rightPanel {

    float: left;
    width: calc(100% - 260px);
}
*/

.leftPanel {
   float: left;
   width: 250px;
   display: none;
   background-color: #efefef;
}

#menuPanel {
   float: left;
   width: 20px;
   height: 100px;
   margin: 20px 5px 0 0;
   padding: 40px 0 0 5px;
   background-color: #efefef;
   cursor: pointer;
}

#menuDummy {
   float: left;
   width: 20px;
   height: 100px;
   margin: 20px 5px 0 0;
   padding: 40px 0 0 5px;
}

.rightPanel {
   float: left;
   width: calc(100% - 35px);
}

.calenderPanel {
   float: left;
   width: 50%;
   height: calc(100vh - 190px);
   border-right: 2px solid #3d90b2;
}

.calenderPanel_sp {
   width: 100%;
   border-right: none;
}

.reservePanel {
   float: left;
   width: 50%;
   height: calc(100vh - 190px);
   padding-left: 5px;
   text-align: left;
   display: none;

   animation-duration: 0.2s;
   animation-fill-mode: both;
}

.reservePanel_sp {
   width: 100%;
   display: none;
}

.modal-dialog {
   width: 800px;
}

.modal-wide {
   width: 1200px;
}

.modal-middle {
   width: 1000px;
}

.modal-small {
   width: 600px;
}

.required:after {
   font-size: 11px;
   color: red;
   content: "（必須）";
}

.rest-number {
   text-align: right;
}

.col-lg-10-left {
   width: 10%;
   float: left;
}

.col-lg-15-left {
   width: 15%;
   float: left;
}

.col-lg-35-left {
   width: 35%;
   float: left;
}

.col-lg-33-left {
   width: 33%;
   float: left;
}

.col-lg-40-left {
   width: 40%;
   float: left;
}

.col-lg-45-left {
   width: 45%;
   float: left;
}

.col-lg-55-left {
   width: 55%;
   float: left;
}

.col-lg-65-left {
   width: 65%;
   float: left;
}

.col-lg-75-left {
   width: 75%;
   float: left;
}

.col-lg-25-left {
   width: 25%;
   float: left;
}

.col-lg-25-right {
   width: 25%;
   float: right;
}

.col-lg-75-left {
   width: 75%;
   float: left;
}

.col-lg-85-left {
   width: 85%;
   float: left;
}

.col-lg-75-right {
   width: 75%;
   float: right;
}

.col-lg-half-left {
   width: 50%;
   float: left;
}

.col-lg-half-right {
   width: 50%;
   float: right;
}

.form-control-checkbox {
   width: 32px;
   height: 32px;
   padding-top: 5px;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   margin: auto;
}

.form-control-radio {
   padding-top: 5px;
}

.vertical-align-middle-label {
   display: block;
   position: relative;
   padding-left: 50px;
   line-height: 2.3em;
   margin-right: 30px;
}

.float-left {
   float: left;
}

.datepicker {
   width: 190px;
}

.header-pulldown {
   height: 30px;
   margin-top: 10px;
}

.accounting_contents {
   margin-left: 20px;
}

.accounting_header {
   width: 100%;
}
.accounting_search_textbox {
   width: 120px;
   display: inline;
   margin: 0 10px;
}

.accounting_hr {
   border-top: 2px solid #3d90b2;
}

#accounting_main {
   /* height: calc(100vh - 280px);
  overflow: hidden; */
}

.account_new {
   margin-right: 40px;
   margin-left: -80px;
}

.accounting_edit_contents {
   margin: 20px;
}

#table-payments th {
   background-color: #efefef;
   padding: 5px;
}

#table-payments td {
   background-color: white;
   padding: 5px;
   height: 5px;
}

.table-payments-active > td {
   background-color: rgb(236, 251, 255) !important;
}

.btn-delete {
   margin-right: 20px;
}

.btn-close {
   margin-right: 20px;
}

.preview_value {
   color: #3d7db2;
   font-size: 13pt;
   padding-left: 20px;
}

#table_continer {
   overflow-x: hidden !important;
}

input[type="date"] {
   position: relative;
   height: 34px;

   font-size: 14px;
   color: #555;
   background-color: #fff;
   background-image: none;
   border: 1px solid #ccc;
   border-radius: 4px;
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
   -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
   transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

@media only screen and (min-width: 479px) and (max-width: 1181px) {
   input[type="date"] {
      top: -5px;
   }
}

.custom_radio {
   display: none; /* ラジオボタンを非表示にする */
}
.custom_radio:checked + label {
   background: #31a9ee; /* マウス選択時の背景色を指定する */
   color: #ffffff; /* マウス選択時のフォント色を指定する */
}

.custom_radio_label {
   margin: 5px; /* ラベル外側の余白を指定する */
   border: 1px solid #006dd9; /* ラベルの境界線を実線で指定する */
   width: 80px;
   height: 35px;
   font-weight: normal;
   text-align: center;
   padding-top: 8px;
   margin-right: 12px;
   border-radius: 4px;
   cursor: pointer;
}

.accounting_tab.active > a {
   background-color: #eef2fc !important;
}

#table_visited_products {
   width: 100%;
   margin-top: 20px;
}

#table_visited_products,
td {
   padding: 0 6px;
   height: 50px;
}

.calender_container {
   width: 100%;
   height: 100%;
}

.day-label-sunday {
   color: #dd3427;
}

.day-label-satday {
   color: #2785dd;
}

#table_calendar {
   width: 98%;
}

#table_calendar th {
   text-align: center;
   background-color: #efefef;
   width: calc(100vw / 7);
   border: 1px solid #bfd4dd;
}

.other-month {
   color: #9c9898;
   text-align: center;
}

.cur-month {
   font-weight: bold;
   text-align: center;
}

.calendar-day {
   height: calc((100vh - 240px) / 6);
   vertical-align: top;
   cursor: pointer;
   border: 1px solid #bfd4dd;
}

.calendar-day_label {
}

.reserves_hr {
   border-top: 2px solid #3d90b2;
   margin-top: 10px;
   margin-bottom: 10px;
}

.calender-not-active-text {
   text-align: center;
   width: 100%;
   color: rgb(196, 167, 167);
}

.calender-reserved-text {
   text-align: center;
   width: 100%;
}

.calender-not-active-day {
   background-color: #efefef;
   font-size: 9pt;
}

.calender-today {
   background-color: #e7fdff;
}

.active-day {
   border: 2px solid #c44a4a;
}

#table_timeschedule {
   width: 98%;
   height: calc(100vh - 220px);
}

#table_timeschedule th {
   text-align: center;
   background-color: #efefef;
   border: 1px solid #bfd4dd;
}

.daily-koma {
   vertical-align: top;
   cursor: pointer;
   border-left: 1px solid #bfd4dd;
   border-right: 1px solid #bfd4dd;
}

.daily-koma-half {
   border-top: 1px dashed #dbe4e7;
   border-bottom: 1px solid #bfd4dd;
}

.daily-koma-sei {
   border-top: 1px solid #bfd4dd;
}

.daily-time {
   vertical-align: top;
   padding-right: 5px;
   height: auto;
}

/* キャンセル */
.daily-koma-canceled {
   background-color: #f5f5f5;
   border: 2px solid #d3d3d3;
   color: #a3a3a3;
}

/* 初診 */
.daily-koma-10 {
   background-color: #ffd5d5;
   border: 2px solid #ff8989;
}
/* セット */
.daily-koma-50,
.daily-koma-55,
.daily-koma-65 {
   background-color: #fcc162;
   border: 2px solid #ffa200;
}

/* チェック */
.daily-koma-60 {
   background-color: #f9f7cd;
   border: 2px solid #ffce5c;
}

/* R */
.daily-koma-80 {
   background-color: #f1cdf9;
   border: 2px solid #a218fd;
}

/* その他 */
.daily-koma-20,
.daily-koma-30,
.daily-koma-40,
.daily-koma-67,
.daily-koma-70,
.daily-koma-90,
.daily-koma-95,
.daily-koma-96 {
   background-color: #c5dbff;
   border: 2px solid #3b42ff;
}

.day-reserve-text {
   font-size: 9pt;
   width: 100%;
}

#drag_panel {
   position: fixed;
   z-index: 999;
   display: none;
   border: 2px solid white;
   margin: 2px;
   padding: 2px;
}

.koma_hover {
   background-color: #ffd5d5;
   opacity: 0.6;
}

.editable-timeschedule-col {
   cursor: pointer;
   color: #000598;
   text-decoration: underline;
}

.nav > li {
   float: left;
   display: inline-block;
}
.navbar-nav {
   position: fixed;
   margin: 0 20px 0 0;
   right: 0px;
}

.handle {
   cursor: move;
   width: 20px;
}
