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

body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media (min-width: 1500px) {
#frame .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1500px;
  }
}
.content-wrapper {
	background-color: #F4F4F0;
}
.bg-dgreen {
	background: rgba(17, 110, 123, 1) !important;
	color: #fff;
}
.bg-lgreen {
	background: rgba(57, 156, 170, 1) !important;
	color: #fff;
}
.bg-lblue {
	background: rgba(220, 233, 241, 1) !important;
}
.text-dgreen {
	color: rgba(0, 52, 94, 1) !important;
}
.text-lgreen {
	color: rgba(57, 156, 170, 1) !important;
}
.text-dgray {
  color: #212529 !important;
}

.pl-8, .px-8 {
  padding-left: 8rem !important;
}
.pr-8, .px-8 {
  padding-right: 8rem !important;
}
.table-weekend {
	background: #bababa;
    border-bottom: 2px solid #a6a6a6; /* 太線 */
}
.navbar-nav {
	justify-content: left;
	white-space: nowrap;
}
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active {
	background-color: rgba(57, 156, 170, 1);
	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;
	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: #399caa;
}
.card-body h2 .badge {
	font-size: 50%;
	vertical-align: top;
	margin-top: .25em;
}
.table-availability {
	border-color: #a6a6a6;
}
.table-availability thead th {
	background: #399caa;
	color: #fff;
	text-align: center;
	background-clip: padding-box;
}
.table-availability tbody td {
	padding: .25rem;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}
.table-availability tbody td.today {
	background: #f8e18f;
}
.table-availability tbody td.am, .table-availability tbody td.pm {
	background: #f7f5ed;
}
.table-availability tbody td.full {
	background: #fdd6d6;
}
.table-availability .form-control {
	height: calc(1.25rem + 2px);
	padding: 0;
	text-align: center;
	width: 90%;
	margin: auto;
}
.table-availability td.line1, .table-availability tr.line1 td {
    border-bottom: 2px solid #a6a6a6; /* 太線 */
}
.table-availability td.line2, .table-availability tr.line2 td {
    border-bottom: 2px dashed #a6a6a6; /* 点線 */
}
  

.table-availability-user {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #62a3c3;
}
.table-availability-user th, .table-availability-user td {
	text-align: center;
	vertical-align: middle;
	border: 1px solid #62a3c3;
}
.table-availability-user th {
	background: #e7ebf6;
	color: #62a3c3;
	background-clip: padding-box;
}
.table-availability-user tr th {
    border-bottom: 2px solid #62a3c3; /* 太線 */
}
.table-availability-user tbody td {
	padding: .1rem;
	color: #282b7c;
	white-space: nowrap;
	height: 40px;
}
.table-availability-user tbody th.today {
	background: #f8e18f;
}
.table-availability-user tbody td.am, .table-availability-user tbody td.pm {
	background: #fefdf8;
	color: #62a3c3;
}
.table-availability-user tbody tr.weekend, .table-availability-user tbody tr.weekend th {
	background: #F5E5EF;
	padding: .1rem;
    border-bottom: 2px solid #62a3c3; /* 太線 */
}
.table-availability-user tbody tr.weekend td {
	color: #62a3c3;
}
.table-availability-user tbody td.full {
	background: #cdcdd7;
}
.table-availability-user tbody td.afew {
	background: #FDEDD6;
}
.table-availability-user .form-control {
	height: calc(1.25rem + 2px);
	padding: 0;
	text-align: center;
	width: 90%;
	margin: auto;
}
td.line1, th.line1, tr.line1 td {
    border-bottom: 2px solid #62a3c3; /* 太線 */
}
td.line2, tr.line2 td {
    border-bottom: 2px dashed #62a3c3; /* 点線 */
}

.th-sticky_wrap {
	height: 300px;
	overflow-y: scroll;
}
.clearLeft {
	clear: left;
}
.datepicker {
	padding: 10px;
}
.calendar2 {
	padding: 0 30px 30px 30px;
}
table.calendar2 {
	width: 80%;
	margin: auto;
}
table.calendar2 th, table.calendar2 td {
	text-align: center;
	padding: 10px;
}
table.calendar2 th {
	color: #6c757d;
}
table.calendar2 td {
	font-weight: bold;
}
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);
}
input[type="checkbox"] {
	transform: scale(1.5);
}
.font-small {
	font-size: 1rem;
}
.font-large {
	font-size: 2rem;
}
.font-larger {
	font-size: 1.5rem;
}
.bg-category {
	background: linear-gradient(135deg, #0f1044, #595dd0);
	color: #fff;
}
.category-nav {
	background-color: #e7ebf6;
	position: relative;
	margin-bottom: 1rem;
	border-radius: 10rem;
}
.category-menu {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	color: #282b7c;
}
.category-menu li {
	margin: 0;
	padding: .75rem 2rem;
	border-radius: 10rem;
}
@media (max-width:992px){
.category-nav {
	border-radius: 0;
}
.category-menu{
	display: block;
}
.category-menu li {
	border-radius: 0;
}
}
.btn-arrow, .btn-arrow:hover {
	color: #fff;
	background: #0f1044;
	border-color: #0f1044;
	box-shadow: none;
}
