@charset "utf-8";
/* CSS Document */

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.content-wrapper {
	background-color: #F4F4F0;
}
.bg-navy {
	background: rgba(0, 52, 94, 1) !important;
	color: #fff;
}
.text-navy {
	color: rgba(0, 52, 94, 1) !important;
}
.gnav {
	flex-direction: column;
}
.navbar-nav {
	justify-content: left;
	white-space: nowrap;
}
.navbar-light .navbar-nav .nav-link, .navbar-light span.navbar-nav {
	color: rgba(0, 52, 94, 1);
}
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active {
	background-color: rgba(0, 52, 94, .5);
	top: calc(-.5rem);
	height: calc(100% + 1rem);
	padding-top: 1rem;
	padding-bottom: 0;
	color: #fff;
}
header h1 {
	font-weight: bold;
}
.main-header {
	box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
}
.card {
	box-shadow: none;
	border-radius: 2rem;
}
.card-header {
	padding: 1rem;
	text-align: center;
	color: rgba(0, 52, 94, 1);
	font-size: 1.8rem;
}

.card-body h2, .mainbox h2 {
	padding: 1rem 1rem 1rem 2.5rem;
	position: relative;
	color: rgba(0, 52, 94, 1);
	font-size: 1.5rem;
	font-weight:bolder;
}
.card-body h2:before, .mainbox h2:before {
	position: absolute;
	top: 20%;
	left: 20px;
	width: 6px;
	height: 60%;
	content: '';
	border-radius: 3px;
	background: #00345E;
}
.card-body h2 .badge {
	font-size: 50%;
	vertical-align: top;
	margin-top: .25em;
}

.card-body h3 {
	padding: 1rem 1rem 1rem 2.5rem;
	position: relative;
	color: rgba(0, 52, 94, 1);
	font-size: 1.2rem;
	font-weight:bolder;
}
.card-body h3:before {
	position: absolute;
	top: 20%;
	left: 20px;
	width: 6px;
	height: 60%;
	content: '';
	border-radius: 3px;
	background: #00345E;
}

.bd-form {
	position:relative;
	padding:1.5rem;
	margin:1rem;
	box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
	border-radius:.5rem;
}
.bd-form .col-form-label {
	color: rgba(0, 52, 94, 1);
}
.bd-form button {
	vertical-align: middle;
}
.btn-res {
	width: 2em;
	height:2em;
}
.my-table1 thead th, .my-table1 td {
	vertical-align: middle;
}
.color-picker input {
	display: none;
}
.color-picker {
	list-style: none;
	margin: 0;
	padding: 0;
}
.color-picker > ul {
	margin-bottom: 15px;
}
.color-picker > li {
	float: left;
	font-size: 40px;
	line-height: 40px;
	margin-right: 10px;
	width: 40px;
	display: inline-block;
}
.color-picker input:checked + label i, .color-picker input:checked + label span {
	border: 2px solid red;
	line-height: 36px;
}
.color-picker i {
	text-align: center;
	vertical-align: middle;
	display: table-cell;
}
.color-picker i.status {
	font-size: 20px;
	line-height: 40px;
	width: 40px;
	display: inline-block;
}
.color-picker span {
	text-align: center;
	font-weight: normal;
	font-size: 20px;
	line-height: 40px;
	width: 40px;
	display: inline-block;
}

.status{
	display: flex;
	justify-content: space-around;
}
ul.status {
	width: 261px;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

ul.status li {
	float: left;
	width: 80px;
	margin-right: 5px;
	padding: 2px 0;
	text-align: center;
}
ul.status li span {
	border: .08em solid #eee;
	border-radius: .1em;
	padding: .2em .25em .15em;
	font-weight: 900;
	display: inline-block;
	width: 34px;
	height: 34px;
}

.timetable {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1rem;
}
/*.timetable-workout {
 background-color: #ee0c19;
}*/
/*.timetable-workout, .timetable.table>tbody>tr>td {
 color: #fff;
}*/
.timetable {
}
.timetable>thead>tr>th {
	width: 80px;
	vertical-align: middle;
	border-bottom: 1px solid #dee2e6;
	z-index: 10;
}
.timetable>tbody>tr>td {
	height: 60px;
	vertical-align: middle;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
}
.table thead th {
}
.timetable_day {
	padding: .75rem;
	margin-left: 8px;
	margin-right: 8px;
	color: #fff;
	background: rgba(0, 52, 94, 1);
	text-align: center;
	font-size: large;
	font-weight:bold;
}
table.timetable td a {
	color: #212529;
	display: block;
	padding: 0.2em;
}
/*.login-box form, .register-box form {
	padding: 20px 100px;
}*/
.register-box table {
	width: 80%;
	margin: auto;
	
}
.register-box table th {
	width: 160px;
	border-right: 1px solid #dee2e6;	
}
/*.login-box {
	width: 80%;
}*/
.register-box {
	width: 700px;
}
.guest .navbar .btn {
	border-radius: 0 0 10px 10px;
	position: relative;
	top: -.9rem;
}
.th-sticky_wrap {
	height: 300px;
	overflow-y: scroll;
}
.table_sticky {
	position: relative;
	border-collapse: collapse;
	table-layout: fixed;
}
.table_sticky thead th {
	position: sticky;
	top: 0;
	background: #fff;
	border: 1px solid #dee2e6;
	background-clip: padding-box;
}
.list_dia > li {
	position: relative;
	padding: 0px 0px 0px 1em;
	list-style: none;
}
.list_dia > li::before {
 position: absolute;
 top: 50%;
 left: 0px;
 transform: translateY(-50%) rotate(45deg);
 width: 0.3em;
 height: 0.3em;
 background-color: #fff;
 content: "";
}
ul.dia {
	list-style-type: '♢';
}
ul.kome {
	list-style-type: '※';
	padding-right: 2rem;
}
ol.underline li {
	line-height:2.0em;
	border-bottom: 1px solid #6c757d;
	list-style-position: inside;
	color: rgba(0, 52, 94, 1);
}

.guest .unavailable {
	background-color: #6c757d !important;
	border: 1px solid #6c757d;
}

.reserved {
	position: relative;
}
.reserved a {
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.reserved ul {
	width: 80px;
	margin: 0 0 5em 0;
	padding: 0;
	list-style-type: none;
}
.reserved ul li {
	float: left;
	width: 30px;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 2px 0;
	text-align: center;
}
.reserved ul li span {
	padding: 5px 7px;
	background-color: #212529;
	color: #fff;
}
.reserved span, .reserved p {
	text-align: left;
	font-size:small;
}
.clearLeft {
	clear: left;
}
.datepicker {
	padding: 10px;
}

.datatables-header .dataTables_info,
.datatables-footer .dataTables_info,
.datatables-header .dataTables_length,
.datatables-header .dataTables_filter {
}
.datatables-header .dataTables_paginate,
.datatables-footer .dataTables_paginate {
    float: right;
    margin-left: 1rem !important;
	margin-bottom: 5px !important;
}
.datatables-header .dataTables_info,
.datatables-footer .dataTables_info {
    float: right;
	text-align: right;
}
.datatables-footer .dataTables_paginate {
}

.sts {
    display: block;
    width: 100%;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: .25rem;
    padding: .25rem .5rem;
    font-size: .875rem;
    text-align: center;
    vertical-align: middle;
}
.sts-primary {
    color: var(--primary);
    border-color: var(--primary);
}
.sts-secondary {
    color: var(--secondary);
    border-color: var(--secondary);
}
.sts-success {
    color: var(--success);
    border-color: var(--success);
}
.sts-secondary {
    color: var(--secondary);
    border-color: var(--secondary);
}
.sts-warning {
    color: var(--warning);
    border-color: var(--warning);
}
.sts-info {
    color: var(--info);
    border-color: var(--info);
}
.sts-light {
    color: var(--light);
    border-color: var(--light);
}
.sts-dark {
    color: var(--dark);
    border-color: var(--dark);
}

.calendar-container {
  width: 500px;
  margin: 0 auto 50px;
  border-radius: 5px;
}
.calendar-container h3 {
  height: 80px;
  line-height: 80px;
  font-size: 24px;
  margin: 0;
}
.calendar-container a {
  height: 80px;
  line-height: 80px;
  font-size: 24px;
  margin: 0;
  color: #212529;
}
.calendar2 {
  padding: 0 30px 30px 30px;
}
table.calendar2 {
  width: 100%;
}
table.calendar2 th, table.calendar2 td {
  text-align: center;
  padding: 10px;
}
table.calendar2 th {
  color: #6c757d;
}
table.calendar2 td {
  font-weight: bold;
}
/*table.calendar .day *:first-child {
  color: #ff838b;
}
table.calendar .day *:last-child {
  color: #6fb5ff;
}*/
table.calendar2 td label {
	display: block;
	margin-bottom: 0;
}
table.calendar2 td.today {
	color: #004085;
    background-color: #cce5ff;
    background-clip: padding-box;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
#calendar1 .datepicker,
#calendar1 .table-condensed {
  width: 230px;
  margin-left: -5px;
}

.fab {
   width: 50px;
   height: 50px;
   background-color: red;
   border-radius: 50%;
   box-shadow: 0 6px 10px 0 #666;
   transition: all 0.1s ease-in-out;
 
   font-size: 20px;
   color: white;
   text-align: center;
   line-height: 50px;
 
   position: fixed;
   right: 30px;
   bottom: 100px;
   z-index: 5000;
}
 
.fab:hover {
   box-shadow: 0 6px 14px 0 #666;
   transform: scale(1.05);
}

.fas_button_update{
	border: none;
	width: 38px;
	height: 38px;
	border-radius: 25px;
	background: var(--warning);
	color: #fff;	
	cursor: pointer;
}
.fas_button_update:before{
	line-height: 38px;
	width: 38px;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f2f1';
}
.reservation_list {
    display: grid;
    grid-template-columns: repeat(17, 80px);
    grid-template-rows: repeat(10, 60px);
    border: 1px solid #dee2e6;
	overflow: auto;
}
.reservation_list .cell {
  padding: 4px;
  text-align: center;
  border: 1px solid #dee2e6;
}
.sticky {
	position: sticky;
	top: 0;
	z-index: 10;
	font-weight: bold;
}
/*.sticky {
  position: sticky;
  top: 0;
  left: 0;
  background: none;
  border-top: none;
  border-bottom: none;
}
.sticky:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
  z-index: -1;
}*/
.table4 {
	width: 100%;
	text-align: center;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #dee2e6;
}
.table4 tr:nth-child(2n+1) {
	border-bottom: 1px dashed #dee2e6;
}
.table4 tr:nth-child(2n) {
	border-bottom: 1px solid #dee2e6;
}
.table4 thead th {
	background: #fff;
    background-clip: padding-box;
	z-index: 10;
}
.table4 tr th {
	border-right: solid 1px #dee2e6;
	width: 50px;
	vertical-align: top;
	color: rgba(0, 52, 94, 1);
}
.table4 th:last-child {
	border-right: none;
}
.table4 td {
	padding: 10px;
	border-right: solid 1px #dee2e6; 
}
.table4 td:last-child {
 border-right: none;
}

input[type="checkbox"]{
  transform: scale(1.5);
}

ol.reservelist li {
	position:relative;
	line-height:2.0em;
	border-bottom: 2px solid #6c757d;
	list-style-position: inside;
	color: rgba(0, 52, 94, 1);
	font-weight: bold;
}

ol.reservelist li span {
	position: absolute;
	right: 0px;
}

ol.reservelist p {
	margin-left: 20px;
	margin-right: 20px;
	background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 50%,
      #ffff 50%,
      #ffff 50%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 97%,
      #999 97%,
      #999 100%
    );
	background-size:
      8px 100%,
      100% 2em;
	line-height:2;
}

.font-small {
  font-size: 1rem;
}

.font-large {
  font-size: 2rem;
}

.font-larger {
  font-size: 1.5rem;
}

body.guest{ 
  padding-top: 40px; 
}

.navbar-dark .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border: none;
  padding: 0px;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  position: relative;
}
.navbar-dark .navbar-toggler-icon {
  background-image:none;
  background-color: #fff;
  width: 30px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease .5s;
}
.navbar-toggler-icon:nth-of-type(1) {top:7px;}
.navbar-toggler-icon:nth-of-type(2) {top:14px;}
.navbar-toggler-icon:nth-of-type(3) {top:21px;}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:13px;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:13px;
transform: rotate(-45deg);
}

@media (max-width: 576px) {
.navbar-brand {
  font-size: 1rem;
  }
}
