h3 {
	font-weight: bold;
}

h4 {
	font-weight: bold;
}

.title {
	font-weight: bold;
}

.attention {
	color: red;
}

.profile  img {
	border-radius: 50%;  /* 角丸半径を50%にする(=円形にする) */
	width:  50px;       /* ※縦横を同値に */
	height: 50px;       /* ※縦横を同値に */
}

.navi {
	margin-bottom: 10px;
}

/* トップページの折りたたみパネル */
.panel-heading {
	cursor: pointer;
}
a[aria-expanded="false"]:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content:'\f107';
	float: right;
	color: inherit;
}
a[aria-expanded="true"]:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content:'\f106';
	float: right;
	color: inherit;
}

/* プログレスサークル */
#progress {
	text-align: center;
}
.p-circle {
	font-size: 24px;
}
.p-circle:before {
	content: "●";
}
.done {
	color: navy;
}
.undone {
	color: #ccc;
}

/* カレンダー */
#calendar table {
	table-layout: fixed;
}
/* for thead */

#calendar th,
#calendar td {
	padding: 10px;
}

#calendar td.no_accept {
	background-color: #eee;
}
#calendar td.accept {
	background-color: #fff;
	text-decoration: underline;
}
#calendar td.accept:hover {
	background-color: palegreen;
	text-decoration: underline;
}
#calendar th.sunday{
	background-color: red;
	color: #fff;
}
#calendar th.saturday {
	background-color: blue;
	color: #fff;
}
#calendar th.weekday {
	background-color: #777;
	color: #fff;
}
/* tbody */
#calendar td.holiday {
	background-color: #f0f0f0;
}
#calendar td.busy {
	background-color: #F7F1A0;
}
#calendar span.sunday {
	color: red;
}
#calendar span.saturday {
	color: blue;
}
#calendar span.today {
	font-weight: bold;
}
#calendar span.small {
	font-size: 80%;
}
#calendar span.red-circle {
	color: #fff;
	background-color:#FF0000;
	padding: 0;
	margin: 0;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.4em;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
}
#calendar h5 {
	font-weight: bold;
	font-size: 120%;
	text-align: center;
}
#calendar table {
	background-color: #fff;
}
.clickable {
	cursor: pointer;
}
.clickable-hover {
	background-color: palegreen;
}


/*---------- アイテム選択 ----------*/
.table-wrapper {
	border: solid 1px #ccc;
	margin: 10px 0;
	padding: 5px;
	position: relative;
	width: 100%;
}
.table-wrapper a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	text-indent: -999px;
}

.table-wrapper table {
	background-color: #fff;
}

.only-saturday table {
	background-color: lightblue;
}
.only-sunday table {
	background-color: lightsalmon;
}
.only-weekday table {
	background-color: gainsboro;
}
.only-holiday table {
	background-color: lightyellow;
}

.table-wrapper td {
	padding: 4px;
}
.table-wrapper td.col1 {
	width:35%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper td.col2 {
	width: 50%;
	vertical-align: top;
}
.table-wrapper td.col3 {
	width: 15%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper td.col02 {
	width: 85%;
	vertical-align: top;
}
.table-wrapper td.col03 {
	width: 15%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper h5 {
	font-weight: bold;
}

/* クリックできない */
.table-wrapper-non {
	border: solid 1px #ccc;
	margin: 10px 0;
	padding: 5px;
	position: relative;
	width: 100%;
}
.table-wrapper-non a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	text-indent: -999px;
}

.table-wrapper-non table {
	background-color: #fff;
}

.only-saturday table {
	background-color: lightblue;
}
.only-sunday table {
	background-color: lightsalmon;
}
.only-weekday table {
	background-color: gainsboro;
}
.only-holiday table {
	background-color: lightyellow;
}

.table-wrapper-non td {
	padding: 4px;
}
.table-wrapper-non td.col1 {
	width:35%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper-non td.col2 {
	width: 50%;
	vertical-align: top;
}
.table-wrapper-non td.col3 {
	width: 15%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper-non td.col02 {
	width: 85%;
	vertical-align: top;
}
.table-wrapper-non td.col03 {
	width: 15%;
	vertical-align: middle;
	text-align: center;
}
.table-wrapper-non h5 {
	font-weight: bold;
}


.select_list{
	margin-bottom:10px;
	border:solid 1px #ccc;
	padding:10px;
	position: relative;
	width: 100%;
	background-color: #fff;
}
.select_list a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	text-indent: -999px;
}
.select_list a:hover {
	background-color:#ccc;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
.nolink{
	margin-bottom:10px;
	border:solid 1px #ccc;
	padding:10px;
	position: relative;
	width: 100%;
	background-color: #fff;
}
.circle {
	color: #999;
	background-color:#eee;
	padding: 0;
	margin: 0;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
	border: solid 1px #ccc;
	z-index: -999;
}

.only-saturday {

}
.only-sunday {

}
.only_weekday {

}
.only_holiday {

}

.colored-back {
	background-color: #FDF5E6; /* oldlace*/
}

.confirm table {
	 background-color: #fff;
}
.confirm th {
	text-align: left;
}

/* 字間を詰める */
.fsPalt {
	font-feature-settings : "palt";
}
/*
改行しないwhite-space: nowrap
.ws-nowrap {
	white-space: nowrap;
}
 */
.footer {
	margin-top: 20px;
}
.footer p {
	font-size: 80%;
}

/* トップへ戻るボタン */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 77%;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}
/*----水平スクロール関連(slick)----*/
.calWap {
	padding: 0;
}
.slider-container {
  position: relative;
}
.slider {
  display: none;
  margin: 0 24px;
  overflow: hidden;
}
.slider.slick-initialized {
  display: block;
}
.slider-arrow {
  position: absolute;
  top: 50%;
  height: 36px;
  margin-top: -18px;  /* 高さの半分だけネガティブマージン */
  color: #bd77f2;
  line-height: 36px;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;  /* 重要 */
}
.slider-prev {
  left: 0;
}
.slider-next {
  right: 0;
}
.slick-slide {
  padding: 1.5em 0;
  text-align: center;
  font-size: 1.1em;
  outline: 0;
}

#loading {
  position: fix;/*absolute;*/
  text-align: center;
  font-size: 100%;
  width: 100vw;
  height: 100vh;
  background-color: #FFF;
  padding-top: 200px;
  z-index: 9000;
}

#loading .fas {
  font-size: 300%;
}

#loading .message {
	margin-top: 2em;
}