/* common.css */
html {
  font-size: 62.5%; /* 10px */
}

body {
  font-family: 'Helvetica Neue',
  Arial,
  'Hiragino Kaku Gothic ProN',
  'Hiragino Sans',
  Meiryo,
  sans-serif;  font-size: 1.6rem; /* 16px */  color: #333;
}

p {
  font-size: 1.6rem;
}

a:hover {
  cursor: pointer;  opacity: .7;
}

h1 {
  line-height: 40px;
}

label.require:after {
  font-size: 20px;  content: '*';  color: #dc3545;
}

.word_break_all {
  word-break: break-all;
}

.card-body {
  padding: 2rem;
}

.card-body > .table {
  margin-bottom: 1.6rem;
}

table,
.table {
  margin-bottom: 1.6rem;  background: #fff;
}


table a {
  color: #333;  border-bottom: solid 1px #333;
}

table.table thead tr th {
  padding: 1.2rem;
}

table.table thead.l-listHeader tr th {
  font-size: 13px;  line-height: 1.3;  padding-top: .7rem;  padding-bottom: .7rem;
}

table.table tbody tr td {
  font-size: 14px;  min-height: 50px;  padding: 1.2rem;
}

table.table {
  border: solid 1px #dee2e6;
}

table.table tbody tr td p {
  font-size: 14px;
}

table.table tbody tr td p a {
  color: #333;
}

table.table tbody tr td p a span {
  padding-left: 4px;
}

table.table.l-tableInline tr th {
  font-size: 14px;  width: 84px;  padding: 4px 8px;  text-align: center;  background-color: #c1b0a0;
}

table.table.l-tableInline tr td {
  font-size: 14px;  min-width: 84px;  max-width: 100px;  padding: 4px 8px;  text-align: center;
}

.blank_line::after {
  display: block;  min-height: 1em;  content: '';
}

.modal-open .modal {
  cursor: pointer;
}

.modal.show .modal-dialog {
  cursor: auto;
}

.text-dark {
  color: #333 !important;
}

.layout-boxed .wrapper,
.layout-boxed .wrapper::before {
  width: 100%;  max-width: 1336px;
}

.navbar {
  padding: .8rem .5rem;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background: transparent;
}

.nav-pills .nav-link.active:hover,
.nav-pills .show > .nav-link:hover,
.nav-pills .nav-link:not(.active):hover {
  opacity: .7;  color: #fff;
}

.nav-pills .nav-link {
  color: #fff;
}

.nav-sidebar .menu-open > .nav-link i.right {
  /* -webkit-transform: rotate(0deg);
    transform: rotate(0deg); */
}

/* sidebar */
.main-sidebar {
  background: #068080;
}

.main-sidebar.yoshida {
  background: #065680;
}

.main-sidebar a {
  color: #fff;
}

.main-sidebar .brand-link {
  padding: 8px 12px;  border-bottom: solid 1px #75a2a2;
}

.main-sidebar .brand-link div {
  display: flex;  align-items: end;
}

.main-sidebar .brand-link div img {
  width: 50%;  margin: 0 4px 0 0;
}

.main-sidebar .brand-text {
  font-size: 1.3rem;
}

.main-sidebar .nav-sidebar li {
  border-bottom: solid 1px #75a2a2;
}

.main-sidebar .nav-sidebar li:first-child {
  padding-bottom: 6px;
}

.main-sidebar .nav-sidebar li:nth-child(5) {
  margin-top: 40px;

  border-top: solid 1px #75a2a2;
}

.main-sidebar .nav-sidebar li .nav-link {
  padding: .8rem 1rem;
}

.main-sidebar .nav-sidebar li.service-description {
  padding: .8rem 1rem;  color: #fff;  border-bottom: none;
}

/* head_nav */
.main-header {
  /*background: #1d5757;*/
  background: #5f9ea0;
}

.main-header.yoshida {
  background: #1d3357;
}

.main-header .navbar-nav .nav-item .head_name_wrapper {
  color: #fff;
}

.main-header .navbar-nav .nav-item .head_name_wrapper p {
  font-size: 1.4rem;  display: flex;  align-items: center;
}

.main-header .navbar-nav .nav-item .head_name_wrapper p span {
  margin: 0 8px 0 0;
}

.main-header .navbar-nav .nav-item .head_name_wrapper p span:last-child {
  margin: 0;
}

.border-2{
  border-width:2px !important;
}

.border-3{
  border-width:3px !important;
}

.border-4{
  border-width:4px !important;
}

.border-5{
  border-width:5px !important;
}

/* footer */
.main-footer {
  font-size: 1.4rem;  margin-left: 250px;  text-align: center;  color: #fff;  background: #646464;
}

/* main area */
.title01 {
  font-size: 2.4rem !important;
}

.title02 {
  font-size: 2.0rem;
}

.p16 {
  font-size: 1.6rem;
}

.p14 {
  font-size: 1.4rem;
}

/* button */
.sample_btn .btn_wrapper {
  margin: 0 0 12px 0;
}

.btn {
  font-size: 1.4rem;  padding: 8px 20px;  transition: none;  border: none;
}

.btn:hover {
  cursor: pointer;  opacity: .7;  border: none;
}

.btn_g {
  color: #fff !important;  background: #239191;
}

.btn-default {
  color: #333;  border: none;  background: #e2e2e2;
}

/* link */
.link_btn {
  font-size: 1.4rem;  padding: 0 0 2px 0;  border-bottom: solid 1px;
}

.link_btn i {
  margin: 0 4px 0 0;
}

/*icon index*/
.icon_index a {
  margin: 0 12px 0 0;
}

/*  color */
.grn_da {
  background: #1d5757;
}

.grn_mi {
  background: #068080;
}

.grn_pa {
  background: #d4e0e0;
}

.gry_mi {
  background: #646464;
}

.gry_pa {
  background: #f5f6f9;
}

.red_da {
  background: #d63333;
}

.red_mi {
  background: #ed7255;
}

.red_pa {
  background: #c1b0a0;
}

.blu_da {
  background: #1d3357;
}

.blu_mi {
  background: #065680;
}

.blu_pa {
  background: #d4d8e0;
}

h2,
h3 {
  margin: 0;  padding: 0;
}

h2 {
  font-size: 24px;
}

h3 {
  font-size: 20px;
}

p {
  margin: 0;
}

ul {
  margin: 0;  padding: 0;  list-style: none;
}

.container {
  max-width: 1980px;  padding: 0;
}

.icheck-success > input:first-child:not(:checked):not(:disabled):hover + input[type=hidden] + label::before,
.icheck-success > input:first-child:not(:checked):not(:disabled):hover + label::before,
.icheck-success > input:first-child:not(:checked):not(:disabled):hover + input[type=hidden] + label::after,
.icheck-success > input:first-child:not(:checked):not(:disabled):hover + label::after {
  border-color: #068080;
}

.icheck-success > input:first-child:checked + input[type=hidden] + label::before,
.icheck-success > input:first-child:checked + label::before {
  border-color: #068080;  background-color: #fff;
}

[class*=icheck-] > input:first-child:checked + input[type=hidden] + label::after,
[class*=icheck-] > input:first-child:checked + label::after {
      -ms-transform: translate(7.75px, 4.5px) rotate(45deg);          transform: translate(7.75px, 4.5px) rotate(45deg);  border: 2px solid #068080;  border-top: none;  border-left: none;
}

[class*=icheck-] > input:first-child + input[type=hidden] + label::before,
[class*=icheck-] > input:first-child + label::before {
  border-radius: 4px;
}


.delate {
  font-size: 14px;
}

.delate i,
.delate span {
  color: #f45d48;
}

.form-group {
  margin-bottom: 0;
}

.group_content table.table tbody tr td p a.is_not_role,
.groupUser_content table.table tbody tr td p a.is_not_role,
.facility_content table.table tbody tr td p a.is_not_role {
  pointer-events: none;  color: #a9a9a9;  border-bottom: solid 1px #a9a9a9;
}

.content-header .btn.is_not_role {
  pointer-events: none;  color: #a9a9a9 !important;  background: #e2e2e2;
}

/* custom radio */
input[type='radio'] {
  display: none;
}

input[type='radio'] + span {
  position: relative;  display: inline-block;  margin-right: 8px;  padding: 3px 3px 3px 20px;  cursor: pointer;
}

input[type='radio'].noLabel + span {
  padding-left: 13px;
}

input[type='radio'] + span:before,
input[type='radio'] + span:after {
  position: absolute;  top: 50%;  content: '';          -webkit-transition: all .2s;             -moz-transition: all .2s;              -ms-transition: all .2s;               -o-transition: all .2s;                  transition: all .2s;          -webkit-border-radius: 100%;             -moz-border-radius: 100%;                  border-radius: 100%;              -ms-border-radius: 100%;               -o-border-radius: 100%;
}

input[type='radio'] + span:before {
  left: -2px;  width: 18px;  height: 18px;  margin-top: -9px;  border: 1px solid #068080;  background: #fff;
}

input[type='radio'] + span:hover:before {
  background: #fff;
}

input[type='radio'] + span:after {
  left: 1px;  width: 12px;  height: 12px;  margin-top: -6px;          -webkit-transform: scale(2);             -moz-transform: scale(2);              -ms-transform: scale(2);               -o-transform: scale(2);                  transform: scale(2);  opacity: 0;  background: #068080;
}

input[type='radio']:checked + span:before {
  border: 1px solid #068080;  background: #fff;
}

input[type='radio']:checked + span:after {
          -webkit-transform: scale(1);             -moz-transform: scale(1);              -ms-transform: scale(1);               -o-transform: scale(1);                  transform: scale(1);  opacity: 1;
}

input[type='radio']:disabled + span {
  cursor: auto;
}

input[type='radio']:disabled + span:before {
  border: 1px solid #bfbfbf !important;  background: #e4e4e4 !important;
}

input[type='radio']:disabled + span:after {
  background: #bfbfbf !important;
}

.form-control {
  font-size: 16px;  height: auto;  padding: 4px 12px;
}

.form-control.inputted-at {
  font-size: 13px;  height: auto;  padding: 4px 12px;  border: none;  outline: none;  background-color: #fff;
}

.inputted-at-group,
#patient_updated_input_at {
  border: 1px solid #ced4da;
}

.inputted-at-group .update_inputted_at_btn,
.inputted-at-group .restore_inputted_at_btn {
  padding-right: 6px;  padding-left: 6px;  border: none;  border-left: 1px solid #ced4da;
}

.inputted-at-group .input-group-append {
  cursor: pointer;
}

label {
  margin-bottom: 0;
}

/*ログイン画面*/
.login-header {
  position: relative;  display: flex;  flex-basis: 100%;  height: 224px;
}

.login_header_bg {
  flex-basis: 100%;  opacity: .5;  background: center / cover no-repeat;
}

.login-header .service-title {
  position: absolute;  top: 50%;  left: 50%;  display: flex;  width: 400px;  margin: auto;  transform: translate(-50%, -50%);
}

.login-header .service-title .icon-block {
  display: block;  flex-shrink: 0;  width: 80px;
}

.login-header .service-title .icon-block .logo {
  display: block;  width: 100%;  border-radius: 16px;
}

.login-header .service-title .text-block {
  display: flex;  flex-wrap: wrap;  margin-left: 8px;
}

.login-header .service-title .text-block .title {
  font-size: 24px;  font-weight: bold;  line-height: 1em;  align-self: flex-end;  margin-top: 24px;
}

.login-header .service-title .text-block .catchphrase {
  font-size: 14px;  font-weight: bold;  align-self: flex-end;
}

.g_about {
  padding: 16px;
}

.login_form {
  position: relative;  height: 50%;  min-height: 274px;  text-align: center;
}

.login_form .form-group {
  margin-bottom: 20px;
}

.login_form .form-group label a {
  text-decoration: underline;  color: #239191;
}

.login_form_wrap {
  position: absolute;  top: 50%;  left: 50%;  width: 100%;  transform: translate(-50%,-50%);
}

.g_login {
  padding-bottom: 24px;
}

.g_login img {
  width: 90px;  height: 11px;
}

.g_login h2 {
  padding-top: 8px;  padding-bottom: 24px;
}

label:not(.form-check-label):not(.custom-file-label) {
  font-weight: normal;
}

.g_login .btn_wrapper {
  margin-bottom: 20px;
}

.g_login > a {
  text-decoration: underline;  color: #068080;
}

.g_login > p {
  font-size: 14px;  margin-top: 32px;  text-align: left;
}

/*dashboard*/
.dashboard .box_area,
.dashboard .box_area .box_content {
  display: flex;
}

.dashboard .box_area .box_content {
  display: flex;  align-items: center;  justify-content: flex-start;  width: 33.33%;  margin-right: 18px;  padding: 8px;  background-color: #fff;
}

.dashboard .yoshidaAdmin .box_area .box_content {
  display: flex;  align-items: center;  justify-content: flex-start;  width: 25%;  margin-right: 18px;  padding: 8px;  background-color: #fff;
}

.dashboard .box_area .box_content:last-child {
  margin-right: 0;
}

.dashboard .box_content .box_icon {
  padding: 24px;  background-color: #c1b0a0;
}

.dashboard .box_content i {
  font-size: 37px;  color: #fff;
}

.dashboard .box_content img {
  width: 37px;  height: 37px;  color: #fff;
}

.dashboard .box_content .box_text {
  padding-left: 20px;
}


.dashboard .box_content .box_text p span:last-child {
  font-size: 20px;
}

.dashboard h3 {
  margin: 24px 0 16px 0;
}

.dashboard .info_box {
  padding: 0 16px;  background-color: #fff;
}

.dashboard .info_box li {
  padding: 16px 0;  border-bottom: 1px solid #f8f5f2;
}

.dashboard .info_box li::after {
  display: block;  clear: both;  content: '';
}

.dashboard .info_box span {
  float: left;
}

.dashboard .info_box span:last-child {
  margin-left: 12px;
}


.dashboard .info_box li a {
  color: #333;
}

.dashboard .content .white_box_wrapper {
  padding: 16px;  background-color: #fff;
}

.dashboard .content .white_box_wrapper p {
  font-size: 14px;
}

.dashboard .stepBox {
  display: flex;  align-items: center;  justify-content: center;  padding-top: 16px;
}

.dashboard .stepBox .stepBoxDetail {
  width: 24%;
}

.dashboard .stepTriangle {
  margin: 0 8px;
}

.dashboard .stepNumber {
  padding: 8px;  text-align: center;  color: #fff;  background-color: #c1b0a0;
}

.dashboard .stepContent {
  min-height: 95px;  padding: 16px;  text-align: center;  background-color: #f8f5f2;
}

.dashboard .stepContent .content_inner {
  width: 90%;  text-align: left;
}

.dashboard .stepTriangle {
  width: 9px;  height: 17px;  border-top: 9px solid transparent;  border-bottom: 9px solid transparent;  border-left: 9px solid #068080;
}

.dashboard .content:last-child {
  margin-bottom: 15px;
}

.dashboard .presentation-card .card-header {
  background: #c1b0a0;
}

.dashboard .presentation-card .card-header .title {
  margin: 8px 0;
}

/*ユーザー情報編集*/

.user_information_edit .form-control {
  width: 100%;
}

.user_information_edit .btn {
  padding: 8px 32px;
}

/*facility_list facility_edit */

.content-header p {
  font-size: 12px;  margin-bottom: 8px;
}

.content-header p a {
  color: #475d5d;
}

.facility_list .title::after {
  display: block;  clear: both;  content: '';
}

.facility_list h1 {
  line-height: 40px;  float: left;
}

.facility_list .balloon {
  font-size: 14px;  position: relative;  top: 2px;  float: left;  box-sizing: border-box;  margin-left: 20px;  padding: 4px 20px;  color: #333;  border: solid 3px #e2e2e2;  background: #e2e2e2;
}

.facility_list .balloon:before {
  position: absolute;  z-index: 1;  top: 50%;  left: -19px;  margin-top: -8px;  content: '';  border: 8px solid transparent;  border-right: 8px solid #e2e2e2;
}

.facility_list .pagination-sm .page-link {
  font-size: 12px;  padding: 8px;
}

.facility_list .page-link {
  color: #333;
}

.facility_edit .form-control {
  width: 50%;
}

.facility_edit .btn {
  padding: 8px 32px;
}

/*patient_list*/
.patient_list .facilityInfo {
  font-size: 14px;  padding: 12px;  background-color: #fff;
}

.patient_list .title::after {
  display: block;  clear: both;  content: '';
}

.patient_list h1 {
  line-height: 40px;  float: left;
}


.patient_list .balloon {
  font-size: 14px;  position: relative;  top: 2px;  float: left;  box-sizing: border-box;  margin-left: 15px;  padding: 4px 20px;  color: #333;  border: solid 3px #e2e2e2;  background: #e2e2e2;
}

.patient_list .balloon:before {
  position: absolute;  z-index: 1;  top: 50%;  left: -19px;  margin-top: -8px;  content: '';  border: 8px solid transparent;  border-right: 8px solid #e2e2e2;
}

.patient_list .patientSelect {
  padding: 12px 20px;  background-color: #d4e0e0;
}

.patient_list .patientSelect {
  padding: 20px;  background-color: #d4e0e0;
}

.patient_list .patientSelect span {
  font-size: 14px;
}

.patient_list .tab-header {
  margin: 12px 0;
}

.patient_list .tav_content {
  margin-bottom: 12px;
}

.patient_list .nav {
  display: -ms-flexbox;  display: flex;  align-items: center;      -ms-flex-wrap: wrap;          flex-wrap: wrap;  justify-content: flex-end;  margin-bottom: 0;  padding-left: 0;  list-style: none;
}

.patient_list .nav li {
  font-size: 12px; max-width: 120px; width: 100%; margin-left: 2px; margin-bottom: 4px;  text-align: center;
}

.patient_list .nav li.ohat_graph_btn {
  width: 160px;
}

.patient_list .nav li a {
  padding: 8px 8px;  transition: .3s;
}

.patient_list .nav li a:hover {
  opacity: .7!important;  color: #333!important;
}


.patient_list .nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;  background-color: #1d5757;
}


.patient_list .nav-pills .nav-link.active:hover,
.patient_list .nav-pills .show > .nav-link:hover,
.patient_list .nav-pills .nav-link:not(.active):hover {
  cursor: pointer;  opacity: 1;
}

.patient_list .nav-pills .nav-link {
  border-radius: .25rem;
}

.patient_list .nav-link {
  display: block;  padding: .5rem 1rem;
}

.patient_list .nav-pills .nav-link {
  color: #333;  background-color: #d4e0e0;
}

.patient_list .pagination-sm .page-link {
  font-size: 12px;  padding: 8px;
}

.patient_list .page-link {
  color: #333;
}

.patient_list.approach {
  min-height: 95px;  margin: 12px 0;
}

.patient_list .approach_header {
  font-size: 14px;  padding: 8px 20px;  text-align: center;  color: #fff;  background-color: #c1b0a0;
}

.patient_list .approach_content {
  font-size: 16px;  padding: 20px;  background-color: #fff;
}

/*patient_tab 蜈ｱ騾�*/
.patient_tab .title::after {
  display: block;  clear: both;  content: '';
}

.patient_tab .patient_info {
  padding: 32px 20px 32px;  background-color: #fff;
}

.patient_tab .patient_info .patient_name {
  /*padding: 16px;*/
}

.patient_tab .patient_info .patient_name p:first-child {
  font-size: 14px;
}

.patient_tab .patient_info .patient_name p:last-child {
  font-size: 30px;
}

.patient_tab .patient_info .table {
  height: 100%;  margin-bottom: 0;
}

.not_allowed_update .basic_info .form-control,
.not_allowed_update .basic_info button,
.not_allowed_update .basic_info input[type='radio'] + span:before,
.not_allowed_update .basic_info .icheck-success > input:first-child:checked + label::before {
  background-color: #e9ecef;
}

.not_allowed_update .basic_info button[type='submit'] {
  color: #333!important;
}

.not_allowed_update .basic_info form {
  pointer-events: none;
}

.patient_tab .tab_area {
  font-size: 14px;  line-height: 1.6;  width: auto;  margin: 30px 0;  color: #333;
}

.patient_tab .tab_list {
  display: table;  zoom: 1;  table-layout: fixed;  border-spacing: 0;
}

.patient_tab .tab_item {
  font-size: 12px;  font-weight: bold;  display: table-cell;  text-align: center;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;
}

.patient_tab .tab_item a {
  font-size: 16px;  position: relative;  display: block;  overflow: hidden;  min-width: 124px;  margin-right: 2px;  padding: 8px 12px;  text-decoration: none;  color: #333;  border: 1px solid #ccc;  border-radius: 3px 3px 0 0;  background-color: #fff;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;
}

.patient_tab .tab_item a:hover {
  background-color: #eee;
}

.patient_tab .tab_area.basic_tab .tab_item:first-child a {
  color: #fff;  border: 1px solid #f39800;  background-color: #f39800;
}

.patient_tab .tab_area.ohat_tab .tab_item:nth-child(2) a {
  color: #fff;  border: 1px solid #87cefa;  background-color: #87cefa;
}

.patient_tab .tab_area.mealround_tab .tab_item:nth-child(3) a {
  color: #fff;  border: 1px solid #deb887;  background-color: #deb887;
}

.patient_tab .tab_area.cra_tab .tab_item:nth-child(4) a {
  color: #fff;  border: 1px solid #4169e1;  background-color: #4169e1;
}

.patient_tab .tab_area.prevent_tab .tab_item:nth-child(5) a {
  color: #fff;  border: 1px solid #ec7284;  background-color: #ec7284;
}

.patient_tab .tab_area.media_tab .tab_item:nth-child(6) a {
  color: #fff;  border: 1px solid #9489bf;  background-color: #9489bf;
}

.patient_tab .tab_area.document_tab .tab_item:nth-child(7) a {
  color: #fff;  border: 1px solid #3d9970;  background-color: #3d9970;
}

.patient_tab .tab_inner {
  margin-top: -1px;  border: 1px solid #ccc;
}

.patient_tab .tab_inner .basic_info {
  padding: 24px;  border: 1px solid #f39800;  background-color: #fff;
}

.patient_tab .tab_inner .cra {
  padding: 24px;  border: 1px solid #4169e1;  background-color: #fff;
}

.patient_tab .tab_inner .prevent {
  padding: 24px;  border: 1px solid #ec7284;  background-color: #fff;
}

.patient_tab .tab_inner .media {
  padding: 24px;  border: 1px solid #9489bf;  background-color: #fff;
}

.patient_tab .tab_inner .ohat {
  padding: 24px;  border: 1px solid #87cefa;  background-color: #fff;
}

.patient_tab .tab_inner .mealround {
  padding: 24px;  border: 1px solid #deb887;  background-color: #fff;
}

.patient_tab .tab_inner .document {
  padding: 24px;  border: 1px solid #3d9970;  background-color: #fff;
}

.patient_tab h3 {
  padding: 10px 0 20px 0;
}

.patient_info .face_img {
  width: 92px;  height: 92px;  margin-right: 16px;
}

.patient_info img {
  width: 100%;  height: 100%;  cursor: pointer;
}

.patient_info_detail {
  margin-left: auto;
}

.patients_index_ohat_icon {
  width: 16px;  height: 16px;
}

.patients_show_fisical_number {
  width: 160px;
}

.patients_show_meal_middle_title {
  width: 72px;
}

.patients_show_meal_textbox {
  width: 296px;
}

.patients_show_mouth_textbox {
  width: 160px;
}

.patients_show_mouth_number {
  width: 88px;
}

/*patient_edit*/
.patient_tab .top_control {
  padding-top: 19px;  vertical-align: top;
}

.patient_tab .basic_info .whatFood {
  font-size: 12px;
}

.patient_tab .basic_info .definition {
  margin-top: 0;  margin-bottom: 0;
}

.patient_tab .basic_info .definition_name {
  font-weight: normal;  float: left;
}

.patient_tab .basic_info .definition_content {
  display: block;  margin-right: 0;  margin-left: 140px;
}

.patient_tab .basic_info .dd_item {
  display: inline-block;
}

.patient_tab .bmi {
  margin-left: 140px;
}

.patient_tab .ohatScore .danger {
  background-color: #ffe6e0;
}

.patient_tab .ohatScore .pathologic {
  background-color: #fbe5c1;
}

.patient_tab .ohatScore .bad {
  background-color: #c8dbff;
}

/* mealround */
.patient_tab .meal .past {
  padding-bottom: 14px;
}

.patient_tab .meal .past a {
  color: #333;  border-bottom: solid 1px #333;
}

.patient_tab .meal .past a span {
  margin-left: 4px;
}

.patient_tab .meal .past .date {
  width: 200px;
}

/* patient_media */

.media_modal {
  margin: 5% auto;
}

.modal-content {
  padding: 2.4rem;
}

.media_modal .modal-body {
  text-align: center;
}

.media_modal .modal-body img {
  max-width: 100%;
}

.media_modal .modal-img_footer {
  text-align: center;
}

.mediaContent {
  position: relative;  width: 220px;  height: 220px;  margin-right: 12px;  margin-bottom: 36px;  transition: .3s;  background: center / cover no-repeat;
}

.mediaContent:nth-child(4n) {
  margin-right: 0;
}

.mediaContent video {
  width: 220px;  height: 220px;
}

.mediaContent .media-detetime {
  position: absolute;  bottom: -24px;  left: 0;
}

.showModal_btn {
  font-size: 1.8rem;  line-height: 1.3;  position: absolute;  z-index: 10;  top: 8px;  right: 32px;  cursor: pointer;  text-shadow: 0 0 1px #fff;
}

.deleteModal_btn {
  font-size: 1.8rem;  line-height: 1.3;  position: absolute;  z-index: 10;  top: 8px;  right: 8px;  cursor: pointer;  text-shadow: 0 0 1px #fff;
}

.list_deleteModal_btn {
  font-size: 1.8rem;  line-height: 1.3;  z-index: 10;  top: 8px;  right: 8px;  display: flex;  justify-content: flex-end;  cursor: pointer;  text-shadow: 0 0 1px #fff;
}

.modal_closeBtn:hover,
.deleteModal_btn:hover {
  opacity: .8;
}

/* 顔写真登録モーダル */
.face-image-modal .custom-file {
  height: auto;
}

.face-image-modal .custom-file-label {
  height: auto;
}
.face-image-modal .custom-file-label::after {
  height: auto;
}

.face-image-modal .cropped-canvas-block {
  display: flex;  justify-content: center;  min-height: 120px;  padding: 16px;
}

.face-image-modal .source-canvas-block {
  padding: 0;
}

/*device_list*/

.device_list .title::after {
  display: block;  clear: both;  content: '';
}

.device_list h1 {
  line-height: 40px;  float: left;
}

.device_list .balloon {
  font-size: 14px;  position: relative;  top: 2px;  float: left;  box-sizing: border-box;  margin-left: 20px;  padding: 4px 20px;  color: #333;  border: solid 3px #e2e2e2;  background: #e2e2e2;
}

.device_list .balloon:before {
  position: absolute;  z-index: 1;  top: 50%;  left: -19px;  margin-top: -8px;  content: '';  border: 8px solid transparent;  border-right: 8px solid #e2e2e2;
}

.device_list .explanation {
  font-size: 12px;  line-height: 40px;
}

/*contact*/
.contact .contact_edit {
  margin: 16px 0 28px 0;  padding: 20px;  background-color: #fff;
}

.contact .contact_edit textarea {
  font-size: 16px;  padding: 16px 12px;
}

/*yoshidaAdmin*/
.searchArea {
  padding: 20px;  background-color: #d4d8e0;
}

.searchArea .form-control.nameLength_cus {
  width: 303px;  height: initial;
}

.searchArea .form-control.selectBox {
  font-size: 16px;  width: 250px;  height: initial;  padding: 11px 12px;
}

.searchArea .form-control.nameLength_pay {
  width: 243px;  height: initial;
}

.searchArea .form-control.period {
  width: 110px;  height: initial;
}

@media all and (-ms-high-contrast: none) {
  .searchArea .form-control.nameLength_cus {
    width: 303px;  height: auto;
  }

  .searchArea .form-control.selectBox {
    width: 250px;  height: auto;
  }

  .searchArea .form-control.nameLength_pay {
    width: 243px;  height: auto;
  }

  .searchArea .form-control.period {
    width: 110px;  height: auto;
  }
}

.btn_b {
  color: #fff;  background-color: #065680;
}

.yoshidaAdmin_list .name {
  padding: 10px 8px 10px 0;
}

.yoshidaAdmin_list .pagination-sm .page-link {
  font-size: 12px;  padding: 8px;
}

.yoshidaAdmin_list .page-link {
  color: #333;
}

.content-wrapper {
  /*1336px - 250px */
  padding: 0 24px 24px;
}

.content-header {
  padding: 16px 0;
}

@media screen and (max-width: 991.98px) {
  body:not(.sidebar-mini-md) .content-wrapper,
  body:not(.sidebar-mini-md) .content-wrapper::before,
  body:not(.sidebar-mini-md) .main-footer,
  body:not(.sidebar-mini-md) .main-footer::before,
  body:not(.sidebar-mini-md) .main-header,
  body:not(.sidebar-mini-md) .main-header::before {
    margin-left: 250px;
  }
}

.tooltip_item_wrapper .tooltip_item_inner {
  display: flex;  align-items: center;  justify-content: space-between;  padding-top: 20px;  padding-bottom: 20px;
}

.tooltip_item_wrapper .update {
  background: #d4e0e0;
}

.tooltip_item_inner p {
  display: flex;  align-items: center;  justify-content: space-between;
}

.tooltip_item_inner p button {
  border: none;  background: transparent;
}

.list_wrapper .tab-header {
  margin: 12px 0;
}

.list_wrapper .nav {
  display: -ms-flexbox;  display: flex;  align-items: center;      -ms-flex-wrap: wrap;          flex-wrap: wrap;  justify-content: flex-end;  margin-bottom: 0;  padding-left: 0;  list-style: none;
}

.list_wrapper .nav li:first-child {
  font-size: 16px;  padding-right: 12px;
}

.list_wrapper .nav li {
  font-size: 14px;  width: 125px;  text-align: center;
}

.list_wrapper .nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;  background-color: #1d5757;
}

.list_wrapper .nav-pills .nav-link {
  color: #333;  background-color: #d4e0e0;
}

.list_wrapper .nav li a {
  padding: 8px 20px;
}

.list_wrapper .page-link {
  color: #333;
}

.list_wrapper .pagination-sm .page-link {
  font-size: 12px;  padding: 8px;
}

.b_about {
  padding: 32px;  background-color: #f4f6f9;
}

.yoshida_login .login_form {
  margin: 40px auto;
}

textarea.form-control {
  font-size: 16px !important;
}

.txt_box {
  margin-bottom: 40px;
}

.txt_box h2 {
  font-size: 2.0rem;  margin-bottom: 12px;  padding-bottom: 4px;  border-bottom: solid 1px;
}

.num_list li {
  margin: 0 0 20px 0;
}

.inquiry_complete_container {
  margin-top: 150px;
}

.newContact_btn:hover,
.sending_btn:hover,
.inquiry_btn:hover {
  color: #fff;
}

.closeGraph_btn:hover {
  opacity: .7;
}

.graph_wrapper {
  padding: 24px 16px;
}

.modal_graph {
  padding: 24px;
}

.loginContent {
  width: 100%;  min-width: 1528px;  height: 100VH;  min-height: 718px;  background: #f8f5f2;
}

.loginContent_wrap {
  width: 100%;  height: 100%;
}

.loginContent .main_visual {
  position: relative;  height: 100%;  padding: 0;
}

.main_visual_img {
  width: 100%;  height: 100%;  object-fit: cover;
}

.powered_label {
  font-size: 14px;  position: absolute;  right: -50px;  bottom: 8px;  margin: 0;  padding: 0;  transform: translate(-50%,-50%);  color: #000;
}

.main_visual .top_title {
  font-size: 36px;  position: absolute;  top: 40%;  left: 50%;  margin: 0;  padding: 0;  transform: translate(-50%,-50%);  color: #fff;
}

.app_terms {
  margin-bottom: 24px;  background-color: #bed2c3;
}

.app_terms_text {
  margin-left: 16px;
}

.service_terms {
  background-color: #dcdcdc;
}

.app_terms,
.service_terms {
  padding: 16px;
}

.app_terms p,
.service_terms p {
  font-size: 1.3rem;
}

.app_terms h3,
.service_terms h3 {
  padding-top: 8px;  padding-bottom: 24px;  text-align: center;
}

.service_terms a {
  text-decoration-line: underline;
}

.selected_floor {
  font-size: 1.2rem;
}

.row {
  margin-right: 0;  margin-left: 0;
}

.l-breadcrumb {
  height: 24px;
}

[class*=icheck-] > label {
  /*padding-right: 8px;*/
  padding-left: 20px!important;
}


[class*=icheck-] > input:first-child + input[type=hidden] + label::before,
[class*=icheck-] > input:first-child + label::before {
  top: 3px;  left: 30px;  width: 18px;  height: 18px;  border: solid 1px #068080;
}

[class*=icheck-] > input:first-child:checked + input[type=hidden] + label::after,
[class*=icheck-] > input:first-child:checked + label::after {
  top: 2px;  left: 0;  width: 5px;
}

.pagination .page-item {
  min-width: 32px;  min-height: 32px;
}

.pagination .page-item .page-link {
  font-size: 14px;  padding: 4px 0;  text-align: center;
}

.pagination .page-item.active .page-link {
  background: #068080;
}

.dropdown-menu {
  font-size: 1.2rem;  border: none;
}

.error-page {
  width: 800px;  margin-top: 64px;
}

.error-page > .error-content {
  margin: 40px auto 0;
}

.error-page h1 {
  font-size: 4rem;  line-height: 5rem;  color: #ffc107;
}

body:not(.sidebar-mini-md) .content-wrapper,
body:not(.sidebar-mini-md) .main-footer {
  margin-left: 0;
}

body:not(.sidebar-mini-md) .main-sidebar ~ .content-wrapper,
body:not(.sidebar-mini-md) .main-sidebar ~ .main-footer {
  margin-left: 250px;
}

.alert {
  margin-bottom: 0;  opacity: .9;
}

.alert-error {
  color: #fff;  border-color: #d32535;  background: #dc3545;
}

.p-faceDeleteModal_btn {
  font-size: 1.8rem;  line-height: 1.3;  position: absolute;  top: 0;  right: 0;  cursor: pointer;  text-shadow: 0 0 1px #fff;
}

@media screen and (max-width:768px) {
  .main-sidebar {
    margin-left: 0!important;
  }
}

.btn_invalid {
  pointer-events: none;  color: #a9a9a9!important;  border-bottom: solid 1px #a9a9a9;
}

/*/////////////////////////////////////////////
   予防フォーム・予防管理
/////////////////////////////////////////////*/

.custom-switch {
  padding-left: 3.25rem;
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: #42d55a;  background-color: #42d55a;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(1.2rem);  background-color: #fff;
}

.custom-switch .custom-control-label::before {
  left: -3.25rem;  width: 3.25rem;  height: 2rem;  border-radius: 9999px;
}

.custom-switch .custom-control-label::after {
  left: calc(-3.25rem + 2px);  width: calc(2rem - 4px);  height: calc(2rem - 4px);  border-radius: 9999px;
}

table.table.cra-table {
  border: none;
}

table.table.cra-table tr {
  border: 1px solid #dee2e6;  border-top: none;
}

table.table.cra-table td {
  border: none;
}

table.table.cra-scoreBoard {
  border: none;
}

table.table.defensiveFactors-table thead th {
  border: solid 1px #4472c4;
}

.defensiveFactors-table th {
  color: white;  background: #4472c4;
}

table.table.riskFactors-table thead th {
  border: solid 1px #70ad47;
}

.riskFactors-table th {
  color: white;  background: #70ad47;
}

table.table.diseaseIndexs-table thead th {
  border: solid 1px #eb8253;
}

.diseaseIndexs-table th {
  color: white;  background: #eb8253;
}

table.cra-scoreBoard tr th {
  width: 5%;  color: #fff;  border-right: 2px solid #fff;  border-bottom: 4px solid #fff;
}

table.cra-scoreBoard tbody tr td {
  font-size: 16px;  font-weight: bold;
}

table.cra-scoreBoard tr th.br-none,
table.cra-scoreBoard tr td.br-none {
  border-right: none;
}

table.cra-scoreBoard tr th.red {
  font-size: 13px;
  background: #c00000;
}

table.cra-scoreBoard tr th.gray {
  font-size: 13px;
  background: #a5a5a5;
}

table.cra-scoreBoard tr th.orange {
  font-size: 13px;
  background: #eb8253;
}

table.cra-scoreBoard tr th.green {
  font-size: 13px;
  background: #70ad47;
}

table.cra-scoreBoard tr th.blue {
  font-size: 13px;
  background: #4472c4;
}

table.cra-scoreBoard tr td {
  border-right: 2px solid #fff;
}

table.cra-scoreBoard tr td.red {
  background: #f0d2d8;
}

table.cra-scoreBoard tr td.gray {
  background: #e1e1e1;
}

table.cra-scoreBoard tr td.orange {
  background: #fbe5d6;
}

table.cra-scoreBoard tr td.green {
  background: #e2f0d9;
}

table.cra-scoreBoard tr td.blue {
  background: #deebf7;
}

.cra_description_body p {
  font-size: 1.5rem;
}

.cra_description_body .text-indent {
  margin-left: 1.5rem;  text-indent: -1.5rem;
}

.cra_description_body .level {
  font-size: 1.7rem;
}

.cra_description_body img {
  width: 100%;  max-width: 760px;
}

.cra_description_icon {
  font-size: 26px;  padding: 0;
}

/*/////////////////////////////////////////////
   予防管理 ここまで
/////////////////////////////////////////////*/

/*/////////////////////////////////////////////
   写真・動画 ここから
/////////////////////////////////////////////*/

.dropify-content {
  position: relative;  width: 220px;  height: 220px;  margin-right: 12px;  margin-bottom: 36px;  transition: .3s;  background: center / cover no-repeat;
}

.dropify-wrapper {
  width: 100%;  height: 100%;
}

#overlay,
#overlay_faceImage {
  position: absolute;  z-index: 999;  top: 0;  left: 0;  display: none;  width: 100%;  height: 100%;  background: rgba(0,0,0,.6);
}

.overlay_inner {
  position: absolute;  top: 50%;  left: 50%;  width: 100%;  transform: translateY(-50%) translateX(-50%);  text-align: center;
}

.spinner_wrap {
  display: inline-block;  align-items: center;  justify-content: center;  height: 100%;
}
.spinner {
  display: inline-block;  width: 80px;  height: 80px;  animation: sp-anime .8s infinite linear;  border: 4px #ddd solid;  border-top: 4px #999 solid;  border-radius: 50%;
}
.spinner_text {
  color: #fff;
}
@keyframes sp-anime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.is-hide {
  display: none;
}

/*/////////////////////////////////////////////
   写真・動画 ここまで
/////////////////////////////////////////////*/

/*/////////////////////////////////////////////
OHAT ここから
////////////////////////////////////////////*/

.ohat_index_table tr th.width-fixed {
  width: 64px;
}

.ohat_score_image {
  width: 120px;  height: 100px;
}

.ohat_report_btn {
  margin-top: -2px;  padding: 2px 8px;  background-color: #f0f0f0;
}

/*/////////////////////////////////////////////
OHAT ここまで
////////////////////////////////////////////*/

/*/////////////////////////////////////////////
患者書類 ここから
////////////////////////////////////////////*/

.document_btn_box {
  margin-bottom: 20px;  padding-bottom: 20px;  border-bottom: 1px solid #eee;
}

.document_btn_box a {
  display: inline-block;  margin-bottom: 8px;
}

/*/////////////////////////////////////////////
患者書類 ここまで
////////////////////////////////////////////*/

/*/////////////////////////////////////////////
規約・プライバシーポリシー ここから
////////////////////////////////////////////*/

.terms p,
.terms li {
  font-size: 14px;  line-height: 24px;
}

.terms-title {
  font-weight: bold;  margin-bottom: 32px;  text-align: center;
}

.terms-company {
  margin-bottom: 20px;  text-align: right;
}

.terms-list {
  margin-bottom: 20px;
}

.terms li {
  padding-left: 1.2em;  text-indent: -1.2em;
}

.terms p:nth-child(2) {
  padding-left: 1em;
}

.terms-description {
  margin-bottom: 20px;
}

.terms-article {
  font-weight: bold;
}

.terms-definition {
  padding-left: 1em;
}

.terms li p:nth-child(2) {
  padding-left: 1em;  text-indent: 0;
}


.terms table th,
.terms table td {
  border-collapse: collapse;  text-align: center;  border: 1px solid #333;
}

.terms table td.c-terms-tableDescription {
  text-align: left;
}

.terms-enactment {
  text-align: right;
}

/*/////////////////////////////////////////////
規約・プライバシーポリシー ここまで
////////////////////////////////////////////*/


/*/////////////////////////////////////////////
業務用書類 ここから
////////////////////////////////////////////*/
.document_table td {
  vertical-align: inherit;
}
.document_table .info_icon {
  position: relative;  width: 30px;  margin-right: 8px;  border: none;  border-radius: 50%;
}

.document_table .info_icon img {
  position: absolute;  top: 50%;  left: 50%;          -webkit-transform: translate(-50%, -50%);              -ms-transform: translate(-50%, -50%);                  transform: translate(-50%, -50%);
}

/*/////////////////////////////////////////////
業務用書類 ここまで
////////////////////////////////////////////*/

.patient_list .patientSelect .col-sm-1{
  padding-left: 0;
  padding-right: 6px;
}

@media screen and (max-width: 1024px) {
  .main-sidebar .brand-text {
    font-size: 1.2rem;
  }
}
