/*--------------------------------------------------------------
共通定義
--------------------------------------------------------------*/
body {
  font-family: 'Kosugi Maru', sans-serif;
}
body.login, html.login {
  font-family: 'Kosugi Maru', sans-serif;
	height: 100%;
	background-color: #d9e1f2;
}
h4.login,
h4.info,
h4.systemCtrl {
	color: #2f5597;
	font-weight: 700;
	text-align: center;
  padding-bottom: 20px;
}
.container {
  max-width: 95%;
	padding-top: 10px;
	padding-bottom: 10px;
}
.card-container.card {
	max-width: 500px;
	padding: 40px 20px;
}
.card-container.card.info,
.card-container.card.systemCtrl {
	max-width: 100%;
}
#calendar .card-container.card {
	max-width: 100%;
}
.btn {
	font-weight: 700;
	height: 36px;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	cursor: default;
}
.card {
	color: #2f5597;
	background-color: #f5f5f5;
	/* just in case there no content*/
	padding: 20px 25px 30px;
	margin: 20px auto 20px;
	/* shadows and rounded borders */
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
}
.profile-img-card {
	width: 100%;
	margin: 0 auto 10px;
	display: block;
}
.reauth {
	display: block;
	color: #ff6b53;
	line-height: 2;
	margin-bottom: 10px;
	font-size: 14px;
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-login .inputID,
.form-login .inputPassword,
.form-systemCtrl .inputData,
.form-systemCtrl .inputPassword,
.form-systemCtrl .input1st,
.form-systemCtrl .input2nd,
.form-systemCtrl .inputRegOnly,
.form-systemCtrl .inputDisabled {
	direction: ltr;
	height: 44px;
	font-size: 16px;
}
.form-login input[type=text],
.form-login input[type=password],
.form-login input[type=date],
.form-login button,
.form-systemCtrl input[type=text],
.form-systemCtrl input[type=password],
.form-systemCtrl input[type=date],
.form-systemCtrl input[type=time],
.form-systemCtrl input[type=datetime-local],
.form-systemCtrl select,
.form-systemCtrl button {
  background-color: #fff;
	width: 100%;
	display: block;
	margin-bottom: 10px;
	z-index: 1;
	position: relative;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-login .form-control:focus,
.form-systemCtrl .form-control:focus {
	border-color: #2f5597;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
}
.form-systemCtrl .form-select:focus {
	border-color: #2f5597;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
}
.form-search {
  margin-bottom: 30px;
}
.form-search select{
  height: 30px;
	font-size: 16px;
  margin: 5px 0px;
}
.form-search select:focus {
  border-color: #2f5597;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2f5597;
}
.form-search .search-results,
.form-search .search-links {
  margin-top: 5px;
}
.form-error {
  color: red;
  font-size: smaller;
}
.btn.btn-login,
.btn.btn-systemCtrl {
	background-color: #7093D2;
	padding: 0px;
	font-weight: 700;
	font-size: 16px;
	height: 44px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	border: none;
	-o-transition: all 0.218s;
	-moz-transition: all 0.218s;
	-webkit-transition: all 0.218s;
	transition: all 0.218s;
}
.btn.btn-login:hover,
.btn.btn-login:active,
.btn.btn-login:focus,
.btn.btn-systemCtrl:hover,
.btn.btn-systemCtrl:active,
.btn.btn-systemCtrl:focus {
	background-color: #2f5597;
}
.btn.btn-absent,
.btn.btn-resch,
.btn.btn-cancel {
	padding: 0px;
	font-weight: 700;
	font-size: 16px;
	height: 44px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	border: none;
	-o-transition: all 0.218s;
	-moz-transition: all 0.218s;
	-webkit-transition: all 0.218s;
	transition: all 0.218s;
}
@media screen and (max-width: 1024px) {
  #calendar .card-container.card {
  	padding: 20px 10px 10px 10px;
  }
}

/*--------------------------------------------------------------
トップメニュー
--------------------------------------------------------------*/
.topnav_fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}
.topnav {
  overflow: hidden;
  background-color: #7093D2;
}
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
.top-dropdown {
  float: left;
  overflow: hidden;
}
.top-dropdown .top-dropbtn {
  font-size: 17px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}
.topnav a:hover, .top-dropdown:hover .top-dropbtn {
  background-color: #2f5597;
  color: white;
}
.topnav a.active {
  background-color: #2f5597;
  color: white;
}
.topnav a.logo {
  padding: 5px 16px 0px;
}
.topnav a.logo:hover {
  background-color: #7093D2;
  color: white;
}
.topnav .icon {
  display: none;
}
.topnav .logout {
  float: right;
}
.topnav.offline {
  height: 53.5px;
}
.top-dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
.top-dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}
.top-dropdown-content a:hover {
  background-color: #dfdfdf;
  color: black;
}
.top-dropdown:hover .top-dropdown-content {
  display: block;
}
@media screen and (max-width: 1280px) {
  .topnav a:not(:first-child), .top-dropdown .top-dropbtn {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
  }
}
@media screen and (max-width: 1280px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  .topnav.responsive .top-dropdown {float: none;}
  .topnav.responsive .top-dropdown-content {position: relative;}
  .topnav.responsive .top-dropdown .top-dropbtn {
    display: block;
    width: 100%;
    text-align: left;
  }
}
/*--------------------------------------------------------------
トップ画面カレンダー表示
--------------------------------------------------------------*/
#calendar table {
  table-layout: fixed;
}
#calendar th {
    height: 30px;
    text-align: center;
}
#calendar td {
    padding: 5px 8px;
}
#calendar .today {
    background: peachpuff !important;
}
#calendar .holiday {
    color: red;
}
#calendar th:nth-of-type(6),
#calendar td:nth-of-type(6) {
    color: blue;
}
#calendar th:nth-of-type(7),
#calendar td:nth-of-type(7) {
    color: red;
}
#calendar .btn-text {
  width: 50px;
  font-size: 0.85em;
}
@media screen and (max-width: 1024px) {
  #calendar td {
      padding: 5px 3px;
  }
}
@media screen and (max-width: 600px) {
  #calendar td {
      padding: 5px 1px;
  }
}
/*--------------------------------------------------------------
共通
--------------------------------------------------------------*/
.pd-t1 { padding-top: 1em; }
.pd-t2 { padding-top: 2em; }
input:-webkit-autofill {
    transition: background-color 5000s ease-in-out 0s !important;
}
input[type=date]::-webkit-date-and-time-value,
input[type=time]::-webkit-date-and-time-value {
    text-align: left;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #ddd;
}
thead.thead-extend {
  --bs-table-bg: #d9e1f2;
  color: #000;
  text-align: center;
  white-space: nowrap;
  padding: 8px;
}
th.th-extend {
  border-style: none;
  padding: 14px 8px;
}
td {
  color: #000;
  text-align: center;
  white-space: nowrap;
  padding: 8px;
}
.indent-1 {
	padding-left: 1em;
	text-indent: -1em;
}
.indent-2 {
	padding-left: 2em;
	text-indent: -2em;
}
.indent-3 {
	padding-left: 3em;
	text-indent: -3em;
}
.member {
  text-align: right;
  padding: 60px 16px 0px 0px;
}
.member .dispname {
  font-size: 1.2rem;
  font-weight: bold;
}
.message {
  color: #ff6b53;
  text-align: center;
}
.errmessage {
  color: red;
  background: linear-gradient(transparent 0%, #ffff66 0%);
  text-align: center;
  font-weight: bold;
}
span.week {
  display: inline-block;
  width: 8.5em;
  text-align: left;
  padding-left: 10px;
}
