@charset "UTF-8";
body {
  padding-top: 89px;
  color: #4F4A46; }

.action-btn {
  background-color: #3FB253;
  color: white; }

.normal-btn {
  background-color: white;
  color: #4F4A46;
  border-color: #4F4A46; }

.notice {
  color: #CF3E3E; }

table {
  border: solid 1px #dee2e6; }

table.table td {
  background-color: white;
  vertical-align: middle; }

.tr-notice, .row-notice {
  background-color: #F6F8E4; }

.tr-notice td {
  background-color: inherit !important; }

.row-normal {
  background-color: #f2f2f2; }

thead, tbody th {
  background-color: #E8F5E9; }

.table td.row-caution {
  color: #CF3E3E;
  font-weight: bold;
  background-color: #FCE8E8; }

.navbar {
  background-color: #E8F5E9 !important;
  border-bottom: solid 5px #B5E476; }

.drawer-toggle {
  line-height: 1.2em; }
  .drawer-toggle .btn-label-text-below {
    font-size: .6rem; }

.drawer-hamburger {
  padding-bottom: 15px;
  top: 7px; }
  .drawer-hamburger:focus {
    outline: none; }

.drawer--left.drawer-open .drawer-hamburger {
  left: 0; }

.drawer-nav {
  padding-top: 89px;
  color: #4F4A46;
  background-color: #F6F8E4; }
  .drawer-nav a {
    color: #3FB253; }

.dropdown-divider {
  border-top-color: #BFBFBF;
  margin-right: .75em;
  margin-left: .75em; }

@media (min-width: 768px) {
  .drawer-open .drawer-overlay {
    display: none; }
  .drawer--left .drawer-nav,
  .drawer--left .drawer-navbar .drawer-hamburger {
    left: 0; }
  .drawer-hamburger {
    display: none; }
  .navbar-brand img {
    margin-left: 0 !important; }
  .main-area {
    margin-left: 260px; } }

.page-title h2 {
  text-align: center;
  font-size: 1.5rem;
  padding: 1em 0;
  border-bottom: solid 1px #B5E476;
  margin-bottom: 1em; }

.section-divider {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: solid 1px; }
  .section-divider.sd-large {
    border-bottom-color: #3FB253; }
  .section-divider.sd-small {
    border-bottom-color: #BFBFBF; }

.section-target {
  padding-top: 89px;
  margin-top: -89px; }

.top-message {
  background-color: #FCE8E8;
  border: none;
  border-radius: 0;
  text-align: center; }
  .top-message a {
    color: #CF3E3E; }

.error-message {
  padding: 1em 0;
  font-size: 1.25rem; }

.index-menu-btn-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.index-menu-btn {
  padding: 1em;
  font-size: 1.2em;
  flex-basis: calc(( 100% - 6em ) / 3);
  margin: 1em;
  border-radius: 15px; }
  @media (max-width: 767px) {
    .index-menu-btn {
      flex-basis: 40%; } }
  .index-menu-btn img {
    height: 6em;
    margin-bottom: 1em; }

.index-news .card-header {
  background-color: #C8E6C9;
  text-align: center;
  font-size: 1.2em; }

.form-section-header {
  background-color: #C8E6C9; }
  .form-section-header button, .form-section-header a {
    color: #4F4A46; }

.form-question {
  background-color: #F6F8E4;
  color: #4F4A46; }

.form-question, .form-answer {
  padding: 0.75rem calc(15px + 2rem); }

.question-required {
  display: inline-block;
  color: white;
  background-color: #CF3E3E;
  padding: 0 1em;
  border-radius: 100em;
  margin-right: 0.5em;
  font-size: .9em; }

.form-section-header h2 {
  margin-left: 32px; }

.form-section-check {
  min-height: 32px;
  min-width: 32px;
  float: left;
  background-image: url("../img/circle_unchecked.png"); }
  .form-section-check.checked {
    background-image: url("../img/circle_checked.png"); }

.form-section-header h2 {
  position: relative; }

[data-toggle="collapse"]:after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  color: #3FB253; }

[data-toggle="collapse"].collapsed:after {
  content: '▼'; }

[data-toggle="collapse"]:not(.collapsed):after {
  content: '▲'; }

.kaito-close-link [data-toggle="collapse"]:after {
  content: ''; }

.calendar-tbl th.weekend {
  background-color: #FCE8E8; }

.calendar-tbl .calendar-date {
  background-color: #f2f2f2; }
  .calendar-tbl .calendar-date .text {
    font-size: 1.5em;
    font-weight: bold;
    color: #BFBFBF; }
  .calendar-tbl .calendar-date .availability {
    display: inline-block;
    content: '';
    min-width: 32px;
    min-height: 32px;
    background-size: contain;
    background-image: url("../img/unavailable.png"); }
  .calendar-tbl .calendar-date.available {
    background-color: white; }
    .calendar-tbl .calendar-date.available .text {
      color: #4F4A46; }
    .calendar-tbl .calendar-date.available .availability {
      background-image: url("../img/available.png"); }
  .calendar-tbl .calendar-date .calendar-date-link {
    display: block;
    width: calc( 100% + 1.5rem);
    height: calc( 100% + 1.5rem);
    padding: 0.75rem;
    margin: -0.75rem; }

.calendar-tbl .calendar-blank {
  background-color: #f2f2f2; }

.time-tbl {
  text-align: center; }
  .time-tbl th, .time-tbl td {
    padding: 0.25rem;
    vertical-align: middle; }
  .time-tbl thead tr th {
    background-color: #E8F5E9; }
  .time-tbl thead tr:first-child th {
    background-color: #C8E6C9; }
    .time-tbl thead tr:first-child th:first-child {
      background-color: white;
      border-bottom: none; }
  .time-tbl tbody tr:not(.available) td {
    background-color: #f2f2f2; }
  .time-tbl tbody tr.available td:not(.unavailable) {
    font-weight: bold; }
    .time-tbl tbody tr.available td:not(.unavailable).vacancy, .time-tbl tbody tr.available td:not(.unavailable).option {
      color: #3FB253; }
  .time-tbl tbody tr.available td.unavailable {
    background-color: #f2f2f2; }

.stress-description {
  background-color: #E8F5E9;
  border-radius: 10px;
  padding: 15px 30px; }
  .stress-description .stress-date {
    border-bottom: solid 2px #B5E476; }
  .stress-description .stress-abstract {
    padding-left: 128px; }
    .stress-description .stress-abstract:before {
      position: absolute;
      left: 15px;
      content: '';
      background-image: url("../img/advice.jpg");
      background-size: cover;
      min-width: 96px;
      min-height: 96px;
      border-radius: 50%; }
    .stress-description .stress-abstract h3 {
      font-size: 1.25rem; }
  .stress-description .stress-description-divider {
    border-bottom: solid 2px #B5E476;
    margin-bottom: 15px; }
  .stress-description .card {
    border-radius: 15px; }
  .stress-description table {
    border: none; }
    .stress-description table .stress-table-data {
      font-weight: bold; }
    .stress-description table .stress-table-sum td {
      background-color: #F6F8E4; }
    .stress-description table td:nth-child(3) {
      padding-left: 1.3rem; }
  .stress-description .stress-column {
    background-color: white;
    border-radius: 15px;
    padding: 15px; }
    .stress-description .stress-column h4 {
      font-size: 1.10rem;
      padding-bottom: 15px;
      text-align: center;
      border-bottom: solid 2px #B5E476; }
      .stress-description .stress-column h4 .subtitle {
        font-size: 1rem; }
  .stress-description .stress-factor .stress-chart {
    max-width: 100%;
    max-height: 100%; }
  .stress-description .stress-chart-legend {
    border-bottom: solid 2px #B5E476; }
    .stress-description .stress-chart-legend span {
      display: inline-block; }
      .stress-description .stress-chart-legend span:before {
        display: inline-block;
        content: '';
        min-width: 1em;
        min-height: 1em;
        margin-right: .25em; }
      .stress-description .stress-chart-legend span.stress-chart-legend1:before {
        background-color: #3FB253; }
      .stress-description .stress-chart-legend span.stress-chart-legend2:before {
        background-color: #FF5722; }
      .stress-description .stress-chart-legend span:nth-child(2) {
        margin-left: 1em; }
  .stress-description .stress-caution {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: solid 2px #B5E476; }
  .stress-description .stress-help h5 {
    font-size: 1.2rem; }
  .stress-description .stress-help div {
    margin-bottom: 1em; }

.kenshin-kekka .hantei-legend {
  border-radius: 5px;
  border: solid 1px #3FB253;
  font-size: 1rem;
  padding: .5em 1em;
  font-weight: normal; }
  .kenshin-kekka .hantei-legend .legend-block {
    display: inline-block;
    margin-right: 1em; }
    .kenshin-kekka .hantei-legend .legend-block:last-child {
      margin-right: 0; }

.kenshin-kekka .navigation-links {
  display: inline-block; }

.kenshin-kekka h3 {
  font-size: 1.5rem; }

.kenshin-kekka h4 {
  font-size: 1.25rem; }

.kenshin-kekka .table td.standard {
  background-color: #E8F5E9; }

.kenshin-kekka .table td.bad {
  background-color: #FCE8E8;
  color: #CF3E3E; }

.kenshin-kekka .table td.good {
  background-color: #E1F5FE;
  color: #2196F3; }

.modal-close{
  margin-right: 10px;
  margin-top: 5px;
}

body.login {
  padding-top: 0; }
  body.login .logo {
    width: 250px;
    max-width: 100%; }
  body.login .navbar {
    border-bottom: none; }
  body.login .title-area {
    background-color: #E8F5E9 !important;
    border-bottom: solid 5px #B5E476;
    text-align: center;
    padding: 50px 0px 30px 0; }
  body.login .main-area {
    max-width: 600px;
    margin: 30px auto; }

body.login .main-area,
.temp-login,
.main-area .change-password {
  background-color: #F6F8E4;
  border-radius: 10px;
  padding: 15px 30px; }
  body.login .main-area form div.row,

  .change-password form div.row,
  .temp-login form div.row,
  .main-area .change-password form div.row {
    margin-bottom: 2em; }
    body.login .main-area form div.row:last-child,
    .temp-login form div.row:last-child,
    .main-area .change-password form div.row:last-child {
      margin-bottom: 1em; }
  body.login .main-area .show-hide-btn,
  .temp-login .show-hide-btn,
  .main-area .change-password .show-hide-btn {
    color: #495057;
    background-color: white;
    border-color: #ced4da;
    border-left: none; }
    body.login .main-area .show-hide-btn:hover,
    .temp-login .show-hide-btn:hover,
    .main-area .change-password .show-hide-btn:hover {
      color: #6c757d; }
  body.login .main-area .form-control[readonly].form-control-plaintext,
  .temp-login .form-control[readonly].form-control-plaintext,
  .main-area .change-password .form-control[readonly].form-control-plaintext {
    background-color: transparent; }
