@charset "UTF-8";

/*交信記録*/
.timeline.timeline-sm .timeline-item .timeline-item-marker .timeline-item-marker-text {
    width: 7rem;
}


table td input {
	position:relative;
}

table td select {
	position:relative;
}


/*ユーザーページカラー*/
.user_side_bg {
	background-color:#054FBE !important;
}

.dtp:disabled, .dtp[readonly] {
	background-color:#FFF;
}

/*フォーム・テーブル汎用*/

form select.form-control {
  font-size:16px;
  height: calc(1em + 1.75rem + 2px);
  padding: 0.2rem 1.125rem;
}

form input.form-control {
  font-size:16px;
}

form textarea.form-control {
  font-size:16px;
}

form input.fileup {
  height: calc(1em + 1.75rem);
}

.tr_hidden {
  background:#CCC;
}

.tr_hidden2 {
  background:#EEE;
}

.tr_none {
  display:none;
}

.of_biko{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 0;
}

#footer-menu-bar {
  position: fixed;
  z-index: 10;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#footer-menu-bar a {
	text-decoration:none;
}

#footer-menu-bar.js_hide {
    transform: translateY(100%);
}

/*customtable1*/

table.customtable1 {
	
}

table.customtable1 th {
	vertical-align:middle;
	text-align:center;
	background:#808080;
	font-size:13px;
	color:#FFF;
	padding:8px;
}

table.customtable1 td {
	padding:3px;
	vertical-align:middle;
}

table.customtable1 td input {
	position:relative;
	font-size:13px;
	height: 1.6rem;
	padding: 0.3rem;
}

table.customtable1 td select {
	position:relative;
	font-size:13px;
	height: 1.6rem;
	padding: 0.1rem;
}

table.customtable1 td div.custom-file {
	font-size:13px;
	height: 1.6rem;
	padding: 0.2rem 0.1rem 0.1rem 0.1rem;
	margin:0;
}

table.customtable1 td div.custom-file .custom-file-input {
	margin:0 !important;
}

table.customtable1 td div.custom-file .custom-file-label {
	font-size:13px;
	height: 1.6rem;
	padding: 0.3rem;
	margin:0;
}

table.customtable1 td div.custom-file .custom-file-label::after  {
	font-size:13px;
	height: 100%;
	padding: 0.3rem;
}


.td_tit_zen {
	text-align:center;
	background:#790b00;
	color:#FFF;
	font-weight:bold;
}

.td_tit_bumon {
	text-align:center;
	background:#7f5400;
	color:#FFF;
	font-weight:bold;
}

.tr_ng {
	background:#FBB;
	font-weight:bold;
	color:#F00;
}

.tr_alert {
	background:#FF0;
}

.tr_tit_zen td,.tr_tit_bumon td{
	font-size:13px;
}

.td_tit {
	text-align:center;
	background:#A0A0A0;
	color:#FFF;
	font-weight:bold;
}

.td_sub {
	background:#F2F2F2;
	font-size:14px;
}

.td_tot {
	background:#D9D9D9;
	font-weight:bold;
	font-size:14px;
}

.td_tot2 {
	background:#D9D9D9;
	font-weight:bold;
	font-size:14px;
}

.td_tot2 input {
	background:#F1F1F1;
}


.td_sub2 {
	background:#F2F2F2;
	font-size:15px;
	font-weight:bold;
}

.td_sub3 {
	background:#FFF;
	font-size:15px;
}

.tr_tot {
	background:#D9D9D9;
	font-weight:bold;
	font-size:14px;
}

.tr_tot input {
	background:#F1F1F1;
}

/*viewtable1*/

table.viewtable1 {
	
}

table.viewtable1 th {
	vertical-align:middle;
	text-align:center;
	background:#808080;
	font-size:11px;
	color:#FFF;
	padding:2px;
}

table.viewtable1 td {
	padding:3px;
	vertical-align:middle;
	font-size:12px;
}

.k_txt {
	font-size:13px;
}

.k_file {
	font-size:12px;
	display:flex;
	flex-wrap: wrap;
}

.k_file a {
	padding:3px 8px;
	border:solid 1px #CCC;
	margin:10px 10px 0 0;
}

tr.check_row td {
	padding:7px;
	vertical-align:middle;
	text-align:center;
	font-size:14px;
	font-weight:bold;
	color: #0061f2;
}

table.viewtable2 {
	
}

table.viewtable2 th {
	vertical-align:middle;
	text-align:center;
	background:#808080;
	font-size:12px;
	color:#FFF;
	padding:5px;
}

table.viewtable2 td {
	padding:5px;
	vertical-align:middle;
	font-size:13px;
}

/*交信*/

div.admin_tl {
	border-bottom: solid 1px #CCC;
	padding-bottom: 1rem;
}

div.admin_tl:last-child  {
	border-bottom: none;
	margin-bottom:0;
}


div.admin_tl .timeline-item .timeline-item-content {
    padding-bottom: 1rem;
}

div.admin_tl .timeline-item .timeline-item-marker .timeline-item-marker-text {
    width: 8rem;
	display: flex;
	flex-direction: column;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/*ローダー*/

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(255,255,255,0.8);
  z-index: 2000;
  display:none;

}

#loader {
  height:auto;
  text-align: center;
  color: #af9b65;
  margin-top:-50px;
  font-size: 18px;
  font-weight: 700;
}

/*ロック用オーバーレイ*/

#overlay-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(255,255,255,0.8);
  z-index: 4000;

}

#overlay {
  height:auto;
  text-align: center;
  margin-top:-50px;
  font-size: 18px;
  font-weight: 700;
}


/*common*/

.fw-b {
 font-weight: bold;
}
.fw-n {
 font-weight: normal;
}

.card .card-header:first-child {
 font-weight: bold;
}


.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(1){
  color: #dc3545;
}

.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(7){
  color: #007bff;
}

/*calendar*/

.cal{background:#fff;}

@media (max-width: 768px) {
  .cal{
	  margin-left:-10px;
	  margin-right:-10px;
  }
}

.cal_header{
	width:100%;
	padding:15px 13px;
	border-bottom:1px solid #ddd;
	display:flex;
	justify-content: space-between;
	align-items: center;
	border-bottom:none;
}

.cal_header div{
	width:10%;
}

.cal_header div a{
	display:block;
	padding:0 7px;
	border: solid 1px #CCC;
	background-color:#F3F3F3;
}

.cal_header strong{display:block;text-align:center;font-size:1.1rem;line-height:19px;}

.cal_prev{float:left;cursor:pointer;}
.cal_next{float:right;cursor:pointer;}

.cal_body{
	padding:0;
	text-align:center;
	border-top:solid 1px #CCC; 
	border-left:solid 1px #CCC;
}

.week{
	width:100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: space-between;
}

.week div{
	width: 14.28%;
	text-align:center;
	padding:10px;
	border-right:solid 1px #CCC;
	border-bottom:solid 1px #CCC;
}

.week button{
	width: 14.28%;
	border:none;
	background:#FFF;
	border-right:solid 1px #CCC;
	border-bottom:solid 1px #CCC;
}

.week button.available{
	background:#FFFFD7;
	color:#666;
	font-weight:bold;
}

.week button.unavailable{
	background:#FFF;
	color:#666;
}

.week button.pass{
	background:#F0F0F0;
	color:#666;
}

.week button.available:hover{
	background:#FF9;
}

.week button:focus, .week button:active {
  outline: none !important;
  box-shadow: none !important;
}

.sat{color: #397bbe;}
.sun{color: #ff7171;}

.week button.today{ background:#FFF0FF }

.cal_day{
	display:block;
	padding:8px 3px;
	white-space: nowrap;
	text-align:center;
}

@media (max-width: 768px) {
	.cal_day{
		padding:5px 0;
	}
}

.cal_day span{
	display:block;
	margin-top:0;
}

.cal_day .date_num{
	
}

.cal_day .date_state {
    background: #FFF;
    border: solid #F3F3F3 1px;
	font-size:12px;
}

.cal_day .date_holi{
	font-size:10px;
	margin-left:3px;
	color:#F00;
}

.cal_day .date_close{
	margin-left:5px;
	font-size:10px;
	color:#06C;
}

/*timetable*/

.scrollbar {
  width: 100%;
  height: 17px;
  overflow-x: scroll;
  overflow-y: hidden;
}
.scrollbar .inner {
  width: 100%;
  height: 1px;
}

/* スクロールバーのスタイル */
/*.scrollbar::-webkit-scrollbar,
.timetable::-webkit-scrollbar {
  height: 20px;
}
.scrollbar::-webkit-scrollbar-track,
.timetable::-webkit-scrollbar-track {
  border-radius: 5px;
}
.scrollbar::-webkit-scrollbar-thumb,
.timetable::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: #F90;
}*/

.timetable{
	width:100%;
	display:flex;
	justify-content: space-between;
	overflow-x: scroll;
	overflow-y: hidden;
}

.timetable .block{
	width: calc(100% / 7);
	display:flex;
	flex-wrap: wrap;
	border: solid 1px #CCC;
}

.timetable .block_type{
	width: 100%;
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:12px;
	padding:5px;
	font-weight:bold;
	border-bottom:solid 1px #CCC;
	background:#ECECEC;
}

.timetable .block_type_yobi{
	width: 100%;
	height:25px;
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:12px;
	padding:5px 0 0;
	font-weight:bold;
	background:#ECECEC;
}


.timetable .block_type .date_input{
	min-width: 80px;
	border:#CCC;
}


.timetable .block_room{
	width:  calc(100% / 3);
	display:flex;
	flex-flow: column;
}

.timetable .block_room_name{
	width: 100%;
	text-align:center;
	font-size:10px;
	padding:3px;
	font-weight:bold;
	color:#FFF;
	background-color:#888;
}

.timetable .block_room_name select{
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
	appearance: none; /* 標準のスタイルを無効にする */
	width: 100% !important;
	display:block;
	margin:0;
	padding:0;
	font-size:10px;
	text-align:center;
	border:none;
	border-bottom: solid 1px #ccc;
}


.timetable .block_gen{
	width: 100%;
	margin:0;
	padding:0 0 20px;
	display:flex;
	flex-flow: column;
	list-style:none;
	border-bottom:solid 1px #CCC;
	border-right:solid 1px #CCC;
}

.timetable .block_gen li.block_gen_name{
	width: 100%;
	text-align:center;
	font-size:11px;
	margin:0;
	padding:2px;
	background-color:#D5EAFF;
}

.timetable .block_gen li{
	width: 100%;
	margin:0;
	padding:0;
}

.timetable .block_gen li select{
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
	appearance: none; /* 標準のスタイルを無効にする */
	width: 100% !important;
	display:block;
	margin:0;
	padding:0;
	font-size:10px;
	text-align:center;
	border:none;
	border-bottom: solid 1px #ccc;
	background-color:#FFFFD9;
}

.is-empty{
  color: #06C;
  background:#FFF !important;
}

.timetable .block_gen li input{
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
	appearance: none; /* 標準のスタイルを無効にする */
	width: 100% !important;
	display:block;
	margin:0;
	padding:0;
	font-size:11px;
	text-align:center;
	border: solid 1px #eee;
}


/*master*/

.master_table{
	width: 100%;
	margin:0;
	padding:0;
	font-size:14px;
}

.master_table th,.master_table td{
	padding:6px;
	vertical-align:middle;
}

.master_table th{
	text-align:center;
	background-color:#999; 
	color:#FFF;
	font-size:14px;
}

.master_table input{
	font-size:14px !important;
	height:auto;
	padding:6px 10px;
}

.master_table select{
	font-size:14px !important;
	height:auto !important;
	padding:7px 10px !important;
}

.master_table tr.hidden_tr{
	background-color:#CCC !important;
}


.master_table tr.hidden_tr input{
	background-color:#E8E8E8 !important;
}

.master_table tr.hidden_tr select{
	background-color:#E8E8E8 !important;
}

/*非表示*/
.timetable_none{
	display:none; !important;
}

.timetable .gen_none{
	display:none; !important;
}

/*input[type="time"]::-webkit-calendar-picker-indicator {
    background: none;
	display:none;
}*/

/*radio*/
.radio-inline__input {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}

.radio-inline__label {
    display: inline-block;
    padding: 0px;
	margin:0;
    margin-right: 5px;
    border-radius: 3px;
    transition: all .2s;
	border: solid 1px #CCC;
	background:#FFF;
	font-size: 0.5rem;
	font-weight:normal;
	color:#333;
}

.radio-inline__input:checked + .radio-inline__label {
    background: #B54A4A;
    color: #fff;
    text-shadow: 0 0 1px rgba(0,0,0,.7);
}

.radio-inline__input:focus + .radio-inline__label {
    outline-color: #4D90FE;
    outline-offset: -2px;
    outline-style: auto;
    outline-width: 5px;
}

/*p*/
.ta-l {
 text-align: left;
}
.ta-c {
 text-align: center;
}
.ta-r {
 text-align: right;
}
.ta-j {
 text-align: justify;
}
