:root {
  --bs-thead-heading-color: #dce5e6;
  --bs-btn-bg-color: linear-gradient(to top, rgb(229, 229, 229) 0%, rgb(255, 255, 255) 100%);
  --bs-btn-bg-color-submit: linear-gradient(to top, rgb(0, 0, 0) 0%, rgb(163, 163, 163) 100%);
}

body {
  background-color: #fff;
  font-family: 'Noto Sans JP', 'IBM Plex Sans JP', sans-serif;

  a {
    color: #30336b;
  }

  h1,
  h2,
  h3,
  h4,
  h5 {
    color: #3f4246;
  }

  h3 {
    font-size: 1rem;
  }

  img {
    max-width: 100%;
    height: auto;
  }

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

  select,
  input {
    border-color: #dee2e6;
    border-radius: 5px;
  }

  select {
    padding: 5px 10px;
  }

  .m-l-15 {
    margin-left: 15px
  }

  .ml-auto {
    margin-left: auto;
  }

  /*  buttons  */
  .btn {
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #d0d9d9;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    background-image: var(--bs-btn-bg-color);
  }

  .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #686de0;
    --bs-btn-border-color: #d0d9d9;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #686de0;
    --bs-btn-disabled-border-color: #686de0;
  }

  .btn-circle {
    border-radius: 100%;
    width: 40px;
    height: 40px;
    padding: 10px
  }

  .btn-circle.btn-sm,
  .btn-group-sm>.btn-circle.btn {
    width: 35px;
    height: 35px;
    padding: 8px 10px;
    font-size: 14px
  }

  .btn-circle.btn-lg,
  .btn-group-lg>.btn-circle.btn {
    width: 50px;
    height: 50px;
    padding: 14px 15px;
    font-size: 18px;
    line-height: 23px
  }

  .btn-circle.btn-xl {
    width: 70px;
    height: 70px;
    padding: 14px 15px;
    font-size: 24px
  }

  .btn-xs {
    padding: .25rem .5rem;
    font-size: 10px
  }

  .btn-rounded {
    border-radius: 60px;
    padding: 7px 18px
  }

  .btn-group-lg>.btn-rounded.btn,
  .btn-rounded.btn-lg {
    padding: .75rem 1.5rem
  }

  .btn-group-sm>.btn-rounded.btn,
  .btn-rounded.btn-sm {
    padding: .25rem .5rem;
    font-size: 12px
  }

  .btn-rounded.btn-xs {
    padding: .25rem .5rem;
    font-size: 10px
  }

  .btn-rounded.btn-md {
    padding: 12px 35px;
    font-size: 16px
  }

  .btn-outline-primary:hover,
  .btn-outline-warning:hover,
  .btn-primary,
  .btn-warning {
    color: #fff
  }

  .btn-outline-primary:hover:hover,
  .btn-outline-warning:hover:hover,
  .btn-primary:hover,
  .btn-warning:hover {
    color: #fff
  }

  .btn-primary:hover,
  .btn-add:hover {
    color: #000;
    border-color: #000;
  }

  .label {
    margin: 0;
  }

  .btn-secondary {
    color: #000;
    background-color: #f8f9fa;
  }

  .btn-add,
  .btn-import {
    color: #424242;
    padding: 5px 15px 5px;
  }

  .btn.btn-secondary svg {
    fill: #6d7e7a;
  }

  .btn-success {
    color: #000;
    background-color: #00c292;
    border-color: #00c292
  }

  .btn-success:hover {
    color: #000;
    background-color: #26cba2;
    border-color: #1ac89d
  }


  .btn-outline-secondary {
    color: #212529;
    background: #fff;
    border-color: #dee2e6
  }

  .btn-outline-secondary:hover {
    border-color: #ced4da
  }

  .btn-facebook {
    color: #fff;
    background-color: #3b5998
  }

  .btn-facebook:hover {
    color: #fff
  }

  .btn-twitter {
    color: #fff;
    background-color: #55acee
  }

  .btn-twitter:hover {
    color: #fff
  }

  .btn-linkedin {
    color: #fff;
    background-color: #007bb6
  }

  .btn-linkedin:hover {
    color: #fff
  }

  .btn-dribbble {
    color: #fff;
    background-color: #ea4c89
  }

  .btn-dribbble:hover {
    color: #fff
  }

  .btn-googleplus {
    color: #fff;
    background-color: #dd4b39
  }

  .btn-googleplus:hover {
    color: #fff
  }

  .btn-instagram {
    color: #fff;
    background-color: #3f729b
  }

  .btn-pinterest {
    color: #fff;
    background-color: #cb2027
  }

  .btn-dropbox {
    color: #fff;
    background-color: #007ee5
  }

  .btn-flickr {
    color: #fff;
    background-color: #ff0084
  }

  .btn-tumblr {
    color: #fff;
    background-color: #32506d
  }

  .btn-skype {
    color: #fff;
    background-color: #00aff0
  }

  .btn-youtube {
    color: #fff;
    background-color: #b00
  }

  .btn-github {
    color: #fff;
    background-color: #171515
  }

  .button-group .btn {
    margin-bottom: 5px;
    margin-right: 5px
  }

  .no-button-group .btn {
    margin-bottom: 5px;
    margin-right: 0
  }

  .btn .text-active {
    display: none
  }

  .btn.active .text-active {
    display: inline-block
  }

  .btn.active .text {
    display: none
  }

  .btn-danger,
  .btn-info,
  .btn-outline-danger:hover,
  .btn-outline-info:hover,
  .btn-outline-success:hover,
  .btn-success {
    color: #fff
  }


  .admin .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-right: 0;
    margin-left: 0;
  }

  .admin .row .col-12 {
    margin-bottom: 30px;
  }

  header {
    background-color: #fff;
    max-width: 100vw;
  }

  header.row {
    margin: 0;
  }

  .header_logo {
    display: none;
  }

  .header_logo a {
    height: 100%;
    font-family: "Poppins", sans-serif;
  }


  .header_collapse .counts {
    position: relative;
  }

  .hidden_link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  #glbalMenu {
    padding: 0;
  }

  #glbalMenu::-webkit-scrollbar {
    display: none
  }

  .nav_toggle {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: flex-start;
    padding: 3px 0;
    position: relative;
  }

  .nav_toggle>span {
    width: 40px;
    height: 1px;
    background-color: #000;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
  }

  .nav_toggle>span:nth-child(1) {
    top: 30%;
  }

  .nav_toggle>span:nth-child(2) {
    top: 50%;
  }

  .nav_toggle>span:nth-child(3) {
    top: 70%;
  }

  .btn-toggle {
    display: flex;
    justify-content: flex-start;
    padding: 8px 16px;
  }

  .btn-toggle::before {
    display: none;
  }

  .btn-toggle .chevron {
    margin-left: auto;
  }

  .btn-toggle:hover,
  .btn-toggle:focus {
    background-color: rgba(255, 255, 255, .1);
    color: #000;
  }

  .btn-toggle:hover .chevron {
    transform: rotate(180deg);
  }

  .nav-pills .nav-link {
    border-radius: 0;
    padding: 10px 15px 10px 20px;
    color: #4c4c4c;
    font-weight: 500;
    display: flex;
    align-items: center;
  }

  .nav-pills .btn-toggle-nav .nav-link {
    padding-left: 46px;
    margin-left: 0;
    width: 100%;
  }

  .btn-toggle-nav a:hover {
    background-color: #ffeae4;
  }

  .nav-pills .nav-link.active {
    color: #24a13e;
    background-color: transparent;
  }

  .btn.btn-toggle.nav-link[aria-expanded="true"] svg {
    transform: rotate(180deg);
    fill: #24a13e;
  }

  .nav-pills .nav-link:hover,
  .nav-pills .nav-link[aria-expanded="true"] {
    color: #24a13e;
  }

  .nav-pills .btn-toggle:hover svg {
    fill: #24a13e;
  }

  .row>main {
    padding: 0;
  }
  
  .container {
    max-width: 100vw;
    margin: 0;
    padding: 0;
  }

  .row>main .page_search {
    background: #fff;
    padding: 5px;
    margin: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  @media (min-width: 800px) {
    .row>main .page_search {
      padding-right: 15px;
    }
  }

  .admin .row .page_search .row .col-12 {
    margin-bottom: 0;
    padding-right: 20px;
  }

  .row>main .page_search .col-2.text-end {
    padding-right: 0;
    margin-left: auto;
  }

  .page_titles {
    border-bottom: 1px solid #ccc;
    padding: 5px 15px;
  }


  .modal_caution svg {
    fill: #F3A188;
    margin-bottom: 10px;
  }

  .modal_caution .modal-header {
    flex-flow: column;
  }

  .modal_caution .modal-title {
    font-size: 24px;
  }

  .modal_caution .modal-body p {
    text-align: center;
  }

  @media (min-width: 900px) {
    .row>main {
      padding: 0 0 30px 0;
    }

    .admin .row .col-12 {
      flex-flow: wrap;
      padding: 0;
    }

    .table-responsive table {
      min-width: 900px;
    }
  }

  .form-control.search {
    border-radius: 60px;
  }

  .form-control.search_field {
    min-height: 38px;
  }

  .search_field::placeholder {
    font-size: 14px;
  }

  .modal .belongcl .row-checkbox label.input_error {
    color: #ff3c00;
  }

  .input_error,
  .row-checkbox .input_error {
    border-color: #ff3c00;
    color: #ff3c00;
  }

  .row-checkbox .input_error input[type="checkbox"] {
    accent-color: #ff3c00;
    color: #ff3c00;
  }

  .form-select {
    font-size: .875rem;
  }

  .page_titles h1 {
    margin-bottom: 0;
    font-size: 15px;
  }

  .card {
    padding: 30px;
    border: none;
  }

  .card+.card {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .card h2 {
    font-size: 16px;
    margin-bottom: 30px;
  }

  .bg-info {
    background-color: #01c0c8 !important;
  }


  .applicant_count .card-body {
    display: flex;
    flex-flow: wrap;
    justify-content: space-around;
    align-items: center;
  }

  .applicant_count .type {
    font-size: 16px;
    color: #888;
  }

  .status {
    padding: 3px 10px;
    line-height: 13px;
    color: #fff;
    font-weight: 600;
    font-size: 75%;
    background-color: #e46a76;
  }

  .btn:hover {
    opacity: .8;
  }

  .btn svg {
    fill: #424242;
  }

  .btn.nav-link svg {
    fill: #8d97ad;
  }

  .btn.nav-link.active svg {
    fill: #fb9679;
  }

  .btn.btn_delete svg {
    fill: #a9aaad;
    height: 20px;
    width: 20px;
  }

  .btn_cancel {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
  }

  .btn_save {
    min-width: 320px;
  }

  .btn_group .btn {
    margin: 0 auto;
    max-width: 320px;
  }

  .btn_group .btn_save {
    margin-bottom: 1rem;
  }

  .form-group .btn_delete {
    padding: 1rem 0;
    color: #212529;
    font-weight: 400;
  }

  .status_entry {
    background-color: #e46a76;
  }

  .status_done {
    background-color: #AFD4DD;
    color: #16819C;
  }

  .status_closed {
    background-color: #91a6a1;
  }

  .status_ng {
    background-color: #FFDBDC;
    color: #BA1E21;
  }

  .status_near {
    background-color: transparent;
    color: #6A6B0F;
    background-color: #EDEDCA;
  }

  .status_manual {
    background-color: #C5DAD0;
    color: #066836;
  }

  .mm_active {
    background-color: #03a9f3;
  }

  .mm_inactive {
    background-color: #91a6a1;
  }

  .btn_detail {
    font-size: 14px;
    border-radius: 50rem;
    background-color: #00c292;
    color: #fff;
    padding: 3px 15px;
  }

  .div_button {
    margin-bottom: 30px;
  }

  .div_button .align-right {
    margin-left: auto;
  }

  .btn-info {
    position: relative;
    font-weight: 600;
    background-color: #03a9f3;
    border-color: #03a9f3;
  }

  .btn-info svg {
    position: absolute;
    right: 5px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .btn_download {
    background-color: #03a9f3;
    border-color: #03a9f3;
    display: flex;
    align-items: center;
  }

  .btn_edit,
  .btn_delete {
    background-color: #fff;
    border: 1px solid #BABABA;
    color: #4E4E4E;
  }

  .form-switch .form-check-input:checked {
    background-color: #01c0c8;
    border-color: #01c0c8;
  }

  .div_button+.table-responsive>.table {
    border-top: 1px solid rgb(222, 226, 230);
  }

  .table>:not(caption)>*>* {
    padding: 1rem;
  }

  .pagination {
    display: flex;
    justify-content: center;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
  }

  .page-link {
    position: relative;
    display: block;
    color: #a9aaad;
    text-decoration: none;
    background-color: #fff;
    border: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
  }

  .page-link.active {
    color: #fb9678;
  }

  @media (prefers-reduced-motion:reduce) {
    .page-link {
      transition: none
    }
  }

  .page-link:hover {
    z-index: 2;
    color: #c97860;
    background-color: #e9ecef;
    border-color: #dee2e6
  }

  .page-link:focus {
    z-index: 3;
    color: #c97860;
    background-color: #e9ecef;
    outline: 0;
    box-shadow: transparent
  }

  .page-item:not(:first-child) .page-link {
    margin-left: -1px
  }

  .page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #fb9678;
    border-color: #fb9678
  }

  .page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6
  }

  .page-link {
    padding: .375rem .75rem;
    text-align: center;
  }

  .page-item:first-child .page-link {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem
  }

  .page-item:last-child .page-link {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem
  }

  .page-item:first-child .page-link::after,
  .page-item:last-child .page-link::after {
    display: block;
    font-size: 11px;
  }

  .page-item:first-child .page-link::after {
    content: '最初';
  }

  .page-item:last-child .page-link::after {
    content: '最後';
  }

  .pagination-lg .page-link {
    padding: .75rem 1.5rem;
    font-size: 1.09375rem
  }

  .pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: .3rem;
    border-bottom-left-radius: .3rem
  }

  .pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: .3rem;
    border-bottom-right-radius: .3rem
  }

  .pagination-sm .page-link {
    padding: .25rem .5rem;
    font-size: .76563rem
  }

  .pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: .2rem;
    border-bottom-left-radius: .2rem
  }

  .pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: .2rem;
    border-bottom-right-radius: .2rem
  }

  .alert p {
    margin-bottom: 0;
  }

  .alert .btn-close {
    margin-left: auto;
  }

  .alert-rounded {
    border-radius: 60px;
  }

  .table-search-form {
    padding: 20px;
  }

  .search_field {
    border-radius: 0;
    border-color: #a9aaad;
  }

  .btn_submit_select,
  .btn_submit_search {
    border: none;
    color: #fff;
    background-image: var(--bs-btn-bg-color-submit);
  }

  .btn_submit_select {
    width: auto;
    margin-left: 10px;
  }

  .btn_submit_search svg {
    fill: #fff;
    margin-right: 3px;
  }

  header .dropdown-menu {
    top: 2.1rem;
    border: none;
  }

  .row-checkbox {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-flow: wrap;
  }

  .page_titles form>.col-7 {
    align-items: center;
  }

  .row-checkbox label {
    margin-right: 10px;
    display: flex;
    align-items: center;
    width: 35%;
    max-width: 100px;
  }

  .page_search .btn_submit_search {
    width: 20%;
    max-width: 60px;
  }

  input[type="checkbox"],
  .row-checkbox input[type="checkbox"] {
    margin-right: 5px;
    min-height: 17px;
    width: 17px;
    height: 17px;
    border-radius: 3px;
    padding: 0;
  }

  .row-checkbox input[type="checkbox"]:checked {
    appearance: auto;
    accent-color: #505050;
  }

  .row>main .page_titles {
    align-items: center;
  }

  @media (min-width: 900px) {
    .card {
      padding: 30px;
    }

    .admin header {
      display: flex;
      position: relative;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 10;
    }

    .header_logo {
      display: flex;
      width: 150px;
      flex-shrink: 0;
      background-color: #fff;
      padding: 0;
    }

    .header_logo a {
      padding: 0 15px;
      height: 100%;
      justify-content: flex-start;
    }

    .header_logo svg {
      width: 24px;
    }

    header .dropdown-toggle .user_name {
      display: inline-block;
      margin-right: 10px;
    }

    header .dropdown-toggle::after {
      display: none;
    }

    header .dropdown-toggle .user_name::after {
      display: inline-block;
      margin-left: 0.255em;
      vertical-align: 0.255em;
      content: "";
      border-top: 0.3em solid;
      border-right: 0.3em solid transparent;
      border-bottom: 0;
      border-left: 0.3em solid transparent;
    }

    .header_collapse {
      width: calc(100% - 160px);
      display: flex;
      flex-basis: auto;
      justify-content: flex-end;
      align-items: center;
      padding: 5px;
    }

    .header_collapse .counts {
      margin-right: auto;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      width: calc(100% - 230px);
    }

    .header_collapse .counts ul {
      list-style: none;
      display: flex;
      justify-content: space-evenly;
      align-items: center;
      background: transparent;
      margin: 0;
      padding: 0;
      min-width: 260px;
    }


    .header_collapse .counts ul li {
      position: relative;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 14px;
    }

    .header_collapse .counts #glbalMenu ul {
      flex-flow: row;
      justify-content: center;
      max-width: 1300px;
      margin: 0 auto;
    }

    .header_collapse .counts #glbalMenu ul li {
      padding: 0;
    }

    .nav-pills .nav-link {
      padding: 10px 15px 10px 20px;
    }

    .count_new {
      background-color: #fb9678;
      color: #fff;
      border-radius: 10px 0 0 10px;
    }

    .count_new span {
      font-weight: 600;
      margin-left: 5px;
      font-size: 15px;
    }

    .count_notdone {
      background-color: #00c292;
      color: #fff;
      border-radius: 0 10px 10px 0;
    }

    .count_notdone span {
      font-weight: 600;
      margin-left: 5px;
      font-size: 15px;
    }

    .count_hdr .date {
      margin-right: 15px;
    }

    .header_collapse .select_clinic {
      width: 230px;
    }

    .header_collapse .select_clinic select {
      width: 100%;
    }

    .header_collapse .badge_appli {
      color: #fff;
      width: 20px;
      height: 20px;
      position: relative;
      margin-right: 20px;
    }

    .header_collapse svg {
      opacity: .8;
    }

    .comnay_name {
      font-size: 15px;
      font-weight: 700;
    }

    .admin .container {
      margin: 0;
      max-width: 100%;
    }

    #glbalMenu {
      width: 100%;
      background-color: transparent;
      position: static;
      display: flex;
    }

    .row>main .page_titles {
      background: #fff;
      padding: 7px 15px;
      border-bottom: 1px solid #ccc;
      margin: 0;
    }

    .ttl_page_h1 {
      padding: 0 0 0 2px;
    }

    .row>main .page_titles .col-10 form {
      display: flex;
      max-width: 200px;
    }

    .text_label {
      font-weight: 400;
      margin: 0;
      padding-right: 20px;
    }

    .page_titles h1 {
      font-size: 18px;
      font-weight: 700;
      color: #3f4246;
    }

    .main_content {
      margin: 30px;
      background-color: #fff;
    }

    .dashboard_top_list {
      display: flex;
      align-items: stretch;
      justify-content: flex-start;
      flex-flow: wrap;
      margin: 30px 0;
    }

    .dashboard_top_list .col-3:not(:last-child),
    .dashboard_top_list .col-8:not(:last-child),
    .dashboard_top_list .col:not(:last-child) {
      margin-right: 30px;
    }

    .dashboard_top_list .sub .counts {
      width: calc(50% - 10px);
      min-width: 130px;
      align-items: center;
      flex-flow: wrap;
    }

    .dashboard_top_list .sub .counts:not(:last-child) {
      margin-right: 20px;
      padding-right: 20px;
      border-right: 1px solid #cccc;
    }


    .applicant_count:not(:last-child) {
      margin-right: 20px;
    }

    .dashboard_top_list .col-lg-6 {
      width: calc(50% - 10px);
      margin-top: 0;
      margin-bottom: 0;
    }

    .counts_list {
      display: flex;
      align-items: stretch;
      justify-content: flex-start;
      flex-flow: wrap;
      padding-top: 20px;
    }

  }

  @media (max-width: 767px) {
    .card {
      padding: 15px;
    }

    .flex-wrap {
      flex-flow: column;
    }

    .col-6,
    .col-5 {
      width: 100%;
    }

    .needs-validation .col-5 {
      margin-left: auto;
    }

    .box_media {
      margin-bottom: 1rem;
    }

  }

  #return_top {
    position: fixed;
    right: 5px;
    bottom: 15px;
  }

  #return_top .btn-primary {
    background-color: #fcfeff;
    border-color: #95afc0;
    color: #95afc0;
  }


  /* For tablet */
  @media (hover: none) and (pointer: coarse) {
    .row>main .page_titles {
      padding-right: 15px;
    }

    .header_collapse {
      display: none !important;
      flex-flow: wrap;
    }

    .nav_logo {
      padding: 10px;
    }

    .header_collapse.active {
      display: block !important;
      position: absolute;
      z-index: 99;
      right: 0;
      width: 300px;
      height: 100vh;
      background-color: #fff;
    }

    .header_collapse.active>div {
      width: 100%;
    }

    .nav_toggle.active {
      z-index: 100;
      margin-top: 5px;
    }

    .nav_toggle>span {
      transition-duration: 300ms;
    }

    .nav_toggle.active>span:nth-child(1) {
      top: 50%;
      transform: rotate(-45deg);
    }

    .nav_toggle.active>span:nth-child(2) {
      transform: rotate(45deg);
    }

    .nav_toggle.active>span:nth-child(3) {
      display: none;
    }

    .header_logo {
      display: flex;
      width: calc(100% - 60px);
    }

    #glbalMenu ul {
      display: flex;
      flex-flow: column;
    }

    #glbalMenu ul li .nav-link {
      border-top: 1px #d3d3d3 solid;
      padding: 15px 0 15px 20px;
    }

    .nav_bg {
      background-color: rgb(0 0 0 / 70%);
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      z-index: 98;
    }

    .select_clinic {
      padding: 15px 20px 15px 20px;
      border-top: 1px #d3d3d3 solid;
      border-bottom: 1px #d3d3d3 solid;
    }

    .select_clinic select {
      width: 100%;
    }


    .btn {
      border-radius: 3px;
      min-height: 34px;
    }

    .page_titles h1 {
      font-size: 17px;
      font-weight: 600;
    }
    .modal.patient_detail_view.show .modal-dialog{
      max-width: 90vw;
    }

    @media (min-width: 768px) {
      .row>main .page_search .col-2.text-end {
        width: auto;
      }
    }
  }

  /* For PC */
@media (hover: hover) and (pointer: fine) {
  .nav_toggle {
    display: none;
  }

    @media (min-width: 768px) {
      .nav_logo {
        display: none;
      }
    }
  }

}

/* Clinic switch overlay (global) */
#clinic-switch-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  cursor: wait;
}

.is-clinic-switching #clinic-switch-overlay {
  display: flex;
}

.clinic-switch-loader {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 16px 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-weight: 600;
}

.clinic-switch-spinner {
  width: 32px;
  height: 32px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: clinic-switch-spin 1s linear infinite;
}

@keyframes clinic-switch-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.div_msg {
  margin: 0 auto;
  padding: 20px 20px 10px;
}

.div_msg p {
  margin-bottom: 10px;
  border: 1px solid #dedede;
  border-radius: 50px;
  padding: 5px 15px;
  font-weight: 600;
}

.modal .modal-body .msg_error {
  margin-bottom: 0;
}

.modal-header+.div_msg {
  width: 100%;
  margin: 0 auto;
  padding: 15px 15px 0;
}

.div_msg p svg,
.msg_error svg {
  width: 16px;
  height: 16px;
  margin-right: 5px;
}

.msg_succeed,
.div_msg .msg_succeed {
  color: #066836;
  border-color: #066836;
}

.msg_error,
.div_msg .msg_error {
  color: #ff3c00;
  border-color: #ff3c00;
  font-weight: 600;
}

.msg_succeed svg {
  fill: #066836;
}

.msg_error svg,
.input_error+svg {
  fill: #ff3c00;
}

table td .msg_error {
  margin-bottom: 0;
}

.pt_address :not(.inactive)+.msg_error {
  display: none;
}

.pt_address .inactive+.msg_error {
  display: inline-flex;
}
