/* @font-face {
  font-family: 'Hiragino-Sans';
  src: url('../fonts/Hiragino-Sans-W3/Hiragino_Sans_GB_W3.eot') format('embedded-opentype'),
      url('../fonts/Hiragino-Sans-W3/Hiragino_Sans_GB_W3.ttf') format('ttf'),
      url('../fonts/Hiragino-Sans-W3/Hiragino_Sans_GB_W3.woff') format('woff'),
      url('../fonts/Hiragino-Sans-W3/Hiragino_Sans_GB_W3.woff2') format('woff2');
} */

* {
	margin: 0px;
	padding: 0px;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif !important;
}

body, html {
  height: 100%;
  background: #f5dee9;
  color: #606060;
  font-size: 20px;
}

a {
	line-height: 1.7;
	color: #272727;
	margin: 0px;
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  -moz-transition: all 0.4s;
}

a:focus {
	outline: none !important;
}

a:hover {
	text-decoration: none;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0px;
}

p {
	line-height: 1.7;
	color: #606060;
	margin: 0px;
}

ul, li {
	margin: 0px;
	list-style-type: none;
}

input, select {
	outline: none;
  border: none;
  border: 2px solid #e0dede;
  border-radius: 7px;
  width: 300px;
  height: 45px;
  background: transparent;
}

input[type=radio] {
  width: 50px;
  height: 15px;
}

input[type=checkbox] {
  width: 30px;
  height: 30px;
}

textarea {
  outline: none;
  border: none;
  border: 1px solid #e0dede;
  border-radius: 7px;
  background: transparent;
  width: 100%;
  height: 100px;
}

textarea:focus, input:focus {
  border-color: transparent !important;
}

input::placeholder {color: #aaaaaa;}
input::-webkit-input-placeholder { color: #aaaaaa;}
input:-moz-placeholder { color: #aaaaaa;}
input::-moz-placeholder { color: #aaaaaa;}
input:-ms-input-placeholder { color: #aaaaaa;}

textarea::placeholder {color: #aaaaaa;}
textarea::-webkit-input-placeholder { color: #aaaaaa;}
textarea:-moz-placeholder { color: #aaaaaa;}
textarea::-moz-placeholder { color: #aaaaaa;}
textarea:-ms-input-placeholder { color: #aaaaaa;}

button {
	outline: none !important;
	border: none;
	background: transparent;
}

button:hover {
	cursor: pointer;
}

iframe {
	border: none !important;
}

img {
  width: 100%;
}


.form input[type="submit"]:hover,
.form input[type="submit"]:active,
.form input[type="submit"]:focus {
  background: #5e84f7;
}

.form .message {
  margin: 15px 0 0;
  color: #b3b3b3;
  font-size: 15px;
}

.form .message a {
  color: #5e84f7;
  text-decoration: none;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1240px;
  }
}

/************************* login page ******************************/
.login-content {
  width: 450px;
  padding: 20vh 0 0;
  margin: auto;
}

.login-logo {
  margin-bottom: 20px;
}

.login-content .form {
  position: relative;
  z-index: 1;
  background: #f6f6f6;
  max-width: 500px;
  margin: 0 auto 100px;
  padding: 50px;
  text-align: center;
  border: 2px solid #e0dede;
}

.login-content .form input {
  outline: 0;
  background: #ffffff;
  width: 100%;
  border-radius: 5px;
  margin: 0 0 15px;
  padding: 15px;
  box-sizing: border-box;
  font-size: 20px;
  border: 1px solid #e0dede;
}

.login-content .form input[type="submit"] {
  background: #e08cb2;
  width: 100%;
  border-radius: 5px;
  padding: 15px;
  color: #FFFFFF;
  font-size: 24px;
  -webkit-transition: all 0.3 ease;
  transition: all 0.3 ease;
  cursor: pointer;
  font-weight: bold;
  height: auto;
}

.login-content .form .register-form {
  display: none;
}


/************************************ Home page *********************/
.header-bar {
  display: inline-block;
  width: 100%;
  padding: 10px 0 0 0;
}

.user-info {
  color: #909090;
  display: flex;
  float: left;
}

.user-info p {
  color: #909090;
  margin-right: 20px;
}

.logout {
  float: right;
}

.main-logo img {
  height: 60px;
  width: auto;
}

.tabs {
  width: 100%;
  margin: 0 auto 45px;
  padding: 0;
}

#tab-button {
  table-layout: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

#tab-button li {
  display: table-cell;
  vertical-align: bottom;
}

#tab-button li a {
  display: block;
  color: #888888;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: 800;
  background: #f6f6f6;
  border: 1px solid #e0dede;
  text-align: center;
  text-decoration: none;
  height: 70px;
  width: 160px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  position: relative;
}

#tab-button li a .tab-title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 10px 20px;
}

#tab-button li:not(:first-child) a {
  border-left: none;
}

#tab-button li a:hover,
#tab-button .is-active a {
  border-bottom-color: transparent;
  color: #e08cb2;
  height: 80px;
}

.tab-content {
  padding: 3em;
  border: 1px solid #e0dede;
  background: #f6f6f6;
  margin-top: -1px;
}

.tab-button-outer {
  display: none;
}

.tab-contents {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .tab-button-outer {
    position: relative;
    z-index: 2;
    display: block;
  }
  .tab-select-outer {
    display: none;
  }
  .tab-contents {
    position: relative;
    top: -1px;
    margin-top: 0;
  }
}

.table-top {
  width: 100%;
  display: inline-block;
}

/********* ホーム tab ************/

.information-content {
	width: 100%;
	margin: 0px 0px 30px 0px;
	overflow-y: scroll;
    border: 1px solid #e0dede;
	background: #FFF
}

.information-button {
	margin: 10px 10px;
}

.information-item {
	margin: 10px 10px;
	color: #ff0000;
}


.tab-contents p {
  font-weight: bold;
  font-size: 18px;
  margin-top: 25px;
}

.count {
  display: flex;
  float: left;
}

.count p {
  margin-top: 0;
  font-size: 18px;
}

.add-new {
  float: right;
  background: #dddddd;
  padding: 5px 10px;
  border-radius: 5px;
  margin-bottom: 20px;
}

.add-new a:before {
  content: url(../images/add.png);
  vertical-align: sub;
  margin-right: 5px;
}

.add-guest {
  float: right;
  background: #dddddd;
  padding: 5px 20px;
  border-radius: 5px;
}

.add-guest a:before {
  vertical-align: sub;
  margin-right: 5px;
}

.download {
  float: right;
  background: #dddddd;
  padding: 5px 10px;
  border-radius: 5px;
}

.download a:before {
  content: url(../images/download.png);
  vertical-align: sub;
  margin-right: 5px;
}

.leaving {
  float: right;
  background: #eeeeee;
  padding: 5px 10px;
  border-radius: 5px;
  margin-right: 20px;
}

.leaving a:before {
  vertical-align: sub;
  margin-right: 5px;
}

.information-name {
  font-weight: bold;
}

.information-time-area {
  margin: 0px 10px 0px 30px;
}

.information-time {
  margin: 0px 5px;
}

.information-time-alert {
  margin: 0px 5px;
  color: #ff0000;
  font-weight: bold;
}

#tab01 table {
  width: 100%;
  /*height: 50vh;*/
  overflow-y: scroll;
  border: 1px solid #e0dede;
}

#tab01 table tbody {
  display: block;
  overflow-y: scroll;
  height: 100%;
  width: 100%;
}

#tab01 table tr {
  width: 100%;
  display: inline-block;
}

#tab01 table tr:nth-child(even) {background: #f6f6f6}
#tab01 table tr:nth-child(odd) {background: #FFF}

#tab01 table tr td {
  padding: 15px 20px;
  display: flex;
}

#tab01 table tr td:first-child {
  float: left;
}

#tab01 table tr td:last-child {
  float: right;
}

#tab01 table tr td a {
  border-radius: 50px;
  padding: 7px 15px;
  margin-left: 20px;
  color: #ffffff;
}

#tab01 table tr td a.detail-btn {
  background: #5e84f7;
}

#tab01 table tr td a.input-btn {
  background: #f3ab3d;
}

/*********** バイタル情報一覧 tab ***************/
#tab02 .table-top,
#tab03 .table-top {
  font-weight: 700;
  font-size: 20px;
}

.tab-contents form.date-form {
  text-align: center;
  margin: 10px 0;
}

/* #tab02 form input:after {
  content: "\f073";
} */

.tab-contents form.date-form input {
  background: transparent;
  font-size: 18px;
  font-weight: bold;
  width: 180px;
  color: #606060;
  background: url(../images/calendar.png) no-repeat;
  background-size: contain;
  background-position: right;
  border: none;
  height: auto;
}

.tab-contents form a#tab2_previous_day,
.tab-contents form a#tab3_previous_day {
  float: left;
}

.tab-contents form a#tab2_next_day,
.tab-contents form a#tab3_next_day {
  float: right;
}

.tab-contents form a#tab2_previous_day:before,
.tab-contents form a#tab3_previous_day:before {
  content: "≪";
}

.tab-contents form a#tab2_next_day:after,
.tab-contents form a#tab3_next_day:after {
  content: "≫";
}

/************ 排泄情報一覧 tab *****************/
div.dataTables_wrapper {
  width: 100%;
  margin: 0 auto;
}

.dataTables_scrollHeadInner,
.cell-border {
  width: 100% !important;
}

#tab02 table tr,
#tab03 table tr {
  background: #f6f6f6;

}

#tab02 table tbody tr:nth-child(even) {background: #f6f6f6}
#tab02 table tbody tr:nth-child(odd) {background: #FFF}

#tab03 table tbody tr:nth-child(even) {background: #f6f6f6}
#tab03 table tbody tr:nth-child(odd) {background: #FFF}

#tab02 table,
#tab03 table {
  border-left: 1px solid #e0dede;
  border-top: 1px solid #e0dede;
  border-right: 1px solid #e0dede;
  text-align: center;
}

#tab02 table thead th,
#tab03 table thead th {
  height: 100%;
}

#tab02 table thead tr th,
#tab03 table thead tr th {
  height: 100%;
  text-align: center;
  border-right: 1px solid #e0dede;
}

table.dataTable thead th, table.dataTable thead td {
  border-bottom: 1px solid #e0dede;
}

#tab02 table thead tr:last-child th,
#tab03 table thead tr th {
  border-bottom: 1px solid #e0dede;
}

#tab02 table tbody tr td:first-child,
#tab03 table tbody tr td:first-child {
  border-right: 1px solid #e0dede;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 1px solid #e0dede;
}

/********** input vital (tab04) *******/
a.back-btn:before {
  content: "≪";
}

.radio-group {
  width: 250px;
  display: table;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: separate;
}

.radio-group__label {
  display: table-cell;
  height: 28px;
  padding: 5px;
  vertical-align: middle;
  text-align: center;
  position: relative;
  border: 1px solid #616161;
  border-style: solid none solid solid;
  border-radius: 5px 0 0 5px;
  -moz-transition: border 250ms, color 250ms;
  -o-transition: border 250ms, color 250ms;
  -webkit-transition: border 250ms, color 250ms;
  transition: border 250ms, color 250ms;
  cursor: pointer;
}

.radio-group__label + input + .radio-group__label {
  border-radius: 0 5px 5px 0;
  border-style: solid solid solid none;
}

/* .radio-group__label + input + .radio-group__label:before {
  content: " ";
  display: block;
  position: absolute;
  top: -1px;
  width: 100%;
  height: 100%;
  border-radius: 5px 0 0 5px;
  transform: translate3d(-103%, 0, 0);
  transition: all 250ms;
  background: #616161;
  color: #fff;
} */

.radio-group__label + input:checked + .radio-group__label:before {
  border-radius: 0 5px 5px 0;
  transform: translate3d(-6px, 0, 0);
}

.radio-group__option:checked + label {
  color: #fff;
  background: #616161;
}

.radio-group__option {
  display: none;
}

.tab-contents p.tab-title {
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0;
}

.name-field, .hurigana-name-field, .select-field {
  display: flex;
  flex-wrap:  wrap;
}

.first-name, .first-select {
  margin-right: 20px;
}

.small-label {
  margin-top: 15px;
}

.checkbox-field input,
.checkbox-field select{
  vertical-align:middle;
}

.checkbox-field label {
  padding: 0px 30px 0px 0px
}

.submit-field {
  margin: 50px 0 30px;
  width: 100%;
  text-align: center
}

.submit-field input[type="submit"] {
  background: #e08cb2;
  color: #fff;
  font-weight: bold;
  letter-spacing: 5px;
  font-size: 20px;
  cursor: pointer;
}

#tab05 p span {
  font-size: 14px;
  padding: 2px 10px;
  border: 1px solid #e0dede;
  margin-left: 20px;
  border-radius: 5px;
}

#tab05 table tr td {
  padding: 5px 0 5px 10px;
}

.canvas-container {
  padding: 20px;
}

canvas {
  background: #fff;
}

#tab-select {
  background: #fff;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .tab-content {
    padding: 1em;
  }

  #tab01 table tr td a {
    font-size: 14px;
  }

  #tab01 table tr td {
    padding: 10px;
  }

  .login-content {
    width: 100%;
  }
}

.download-link p{
  margin: 0 0 10px 0;
  font-size: 14px;
}