.table .tr .td {
	display: table-cell;
	background-color: white;
	width: 100%;
}

.table .tr .td-edit {
	display: table-cell;
	background-color: white;
	width: 100%;
	border-left: 1px solid #ccc;
}


.input_err {
	color: #f30;
	padding:0px 0 0;
	margin:0px 0 0;
}

.label-danger {
	padding: 3px 3px;
	margin-left: 5px;
}

.input_confirm_col {
	margin:0;
	padding:6px 3px;
	//line-height:22px;
}

.year {
		display:inline !important;
		width: 70px;
}
.month,.day {
/*		display:inline !important;*/
		width: 40px;
}

.next {
		display: inline-block;
		margin-right: 5px;
}

.next-right-end {
		display: inline-block;
}

.birthday-input-box span {
		margin:0px !important;
}

button.next,
button.next-right-end
 {
		background: #fff;
		-webkit-box-shadow: none;
		box-shadow: none;
		outline: none;
		border: none;
		padding: 3px 15px;
		font-size: 1.2rem !important;
		border-radius: 3px;
		border: 1px solid #ccc;
}

button.this-page {
		background: #eee;
		-webkit-box-shadow: none;
		box-shadow: none;
		outline: none;
		border: none;
		padding: 3px 15px;
		font-size: 1.2rem !important;
		border-radius: 3px;
		border: 1px solid #ccc;
		
}

.this-page-middle {
	margin-right: 5px;
}

.checkbox_text_170{
	width:170px;
}

.cp_tooltip {
	position: relative;
	display: inline-block;
	cursor: pointer;
/* 	background: linear-gradient(transparent 60%, #f19ec2 60%); */
}
.cp_tooltip .cp_tooltiptext {
	position: absolute;
	z-index: 1;
	bottom: 210%;
	left: -71px;
	visibility: hidden;
	width: auto;
	white-space: nowrap;
	padding: 0.3em 0.5em;
	transition: opacity 1s;
	text-align: center;
	opacity: 0;
	color: #ffffff;
	border-radius: 6px;
	background-color: #da3c41;
}
.cp_tooltip .cp_tooltiptext::after {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	content: ' ';
	border: 5px solid transparent;
	border-top-color: #da3c41;
}
.cp_tooltip:hover .cp_tooltiptext {
	visibility: visible;
	opacity: 1;
}

.sunday{
	color:#eac5bb;
}

.saturday{
	color:#bbd9ea;
}

.td-calendar {
	position: relative;
	font-size: 12px;
}

.dt {
	position: absolute;
	top: 2px;
	left: 3px;
	background-color: #fff;
	width: 35px;
	height: 25.5px;
	border-radius: 7px;
	border: 1px solid #ececec;
	font-size: 10px;
	padding: 4px;
	margin: 0;
}

.table_area {
	table-layout: fixed; 
	width:100%; 
	margin:0 auto 0px;
	//border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.table_area tr th {
	padding:1px 3px;
	background-color:#f0f0f0;
	color:#333;
}
.table_area tr td {
	padding:3px;
	text-align:left;
	line-height:15px;
	vertical-align:top;
}
.table_area tbody tr:last-child th, .table_area tbody tr:last-child td {
	border-bottom: 1px solid #ccc;
}

.report_reviewer_user {
	font-size: 12px;
	width: 120px;
	height:17px;
	line-heght: 23px;
	overflow:hidden;
	margin:0px 00px 0 0;
	float:left;
}
.report_reviewer_user::before {
	content: "\f007";
	font-family: FontAwesome;
}


.sticky_table thead th {
	/* 縦スクロール時に固定する */
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
	/* tbody内のセルより手前に表示する */
	z-index: 1;
}
.sticky_table thead tr th {
	padding:0;
	border-left:none;
}
.sticky_table thead tr th .val {
	padding: 10px 10px;
	margin: 0px;
	border-left:1px solid #ccc;
}

.sticky_table tbody td.sticky {
	/* 縦スクロール時に固定する */
	position: -webkit-sticky;
	position: sticky;
	left: 0px;
	/* tbody内のセルより手前に表示する */
	z-index: 0;
	
	background:transparent;
}
.sticky_table tbody td.sticky .val {
	background:#fff;
}
.sticky_table tbody tr td.hd {
	//background:#fff !important;
}


.table-cal-sp {
  padding: 0 0 0px 0;
  border: 1px solid #999;
  border-radius: 3px;
  margin: 10px 5px;
  font-size: 12px;
}

.table-cal-sp .tr {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px dotted #999;
  padding: 5px 3px;
  margin: 0 5px;
}

.table-cal-sp .tr .th, .table-cal-sp .tr .td {
  width: 100%;
}
.table-cal-sp .tr .th, .table-cal-sp .tr .td {
  border-left: 1px solid #ccc;
  text-align: center;
}
.table-cal-sp .tr {
  width: 100%;
  padding: 0;
  margin: 0;
  margin-bottom: 0px;
}

.table-cal-sp .tr:first-child {
	border-bottom: none;
	padding: 8px 5px 2px;
	background: #f0f0f0;
}
.table-cal-sp .tr:first-child .th {
//font-size:14px;
	font-weight: bold;
}

.table-cal-sp .tr .th {
  background: #f0f0f0;
  color: #666;
  padding: 0px 5px 5px;
//font-weight: bold;
	display: flex; /* 子要素をflexboxで揃える */
	flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
	justify-content: center; /* 子要素をflexboxにより中央に配置する */
	align-items: center;  /* 子要素をflexboxにより中央に配置する */
	border:none;
}
.table-cal-sp .tr .td {
	padding: 2px;
	display: flex; /* 子要素をflexboxで揃える */
//flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
//justify-content: left; /* 子要素をflexboxにより中央に配置する */
//align-items: left;  /* 子要素をflexboxにより中央に配置する */
}
.table-cal-sp .tr .td .cal-cell {
	text-align:left;
	font-size: 10px;
}
.table-cal-sp .tr .td span.num {
	font-size:12px;
	text-aling:left;
}
.table-cal-sp .tr .td span.num.today {
	background: #f0f0f0;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	padding: 0px 2px;
	font-weight: bold;
}
.table-cal-sp .tr .td .sch {
	display: block;
	line-height:12px;
	padding: 3px 2px 2px;
	margin: 3px 0;
	border-radius: 5%;
	-moz-border-radius: 5%;
	-webkit-border-radius: 5%;
}
.table-cal-sp .tr .td .sch.sts_fin {
	background: #6c757d;
	color: #fff;
}
.table-cal-sp .tr .td .sch.sts_none {
	background: #ed516f;
	color: #fff;
}
.table-cal-sp .tr .td .sch.sts_future {
	background: #5BA6E3;
	color: #fff;
}
.table-cal-sp .tr .td .sch.sts_back {
	background: #ffc107;
	color: #fff;
}

.table-cal-sp .tr:last-child {
  border-bottom: none;
}

.table-cal-sp .bdb {
  border-bottom: 2px solid #aaaaaa;
}
.table-cal-sp .tr .col_red {
	color: #c30;
}
.table-cal-sp .tr .col_blue {
	color: #03F;
}

.table-cal-sp span.text-icon-new {
  background: #ed516f;
  color: #fff;
  padding: 2px 3px;
  font-size: 11px;
  font-weight: bold;
  border-radius: 3px;
  margin: 0px 0px;
  display: inline-block;
}

.table-cal-sp span.text-icon-new:hover {
  text-decoration: none !important;
}

.table-cal-sp span.orange {
	background:#ffc107;
	white-space:nowrap;
}
.table-cal-sp span.dark {
	background:#6c757d;
	white-space:nowrap;
}
