@charset "UTF-8";
input[type="submit"],
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/* Color
-----------------------------------------------------*/

html {
  scroll-behavior: smooth;
}

body,
a {
    color: #404042;
}

.btn-primary {
    background-color: #037fca;
    border-color: #037fca;
}

.btn-primary:hover {
    background-color: #0490e5;
    border-color: #0490e5;
}

.pointer {
    cursor: pointer;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    background-color: #037fca;
    border-color: #037fca;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(3, 127, 202, 0.2);
    box-shadow: 0 0 0 0.2rem rgba(3, 127, 202, 0.2);
}

.btn-primary:focus,
.btn-primary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(3, 127, 202, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(3, 127, 202, 0.5);
}

.btn-success {
    background-color: #01ac73;
    border-color: #01ac73;
}

.btn-success:hover {
    background-color: #01c986;
    border-color: #01c986;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show>.btn-success.dropdown-toggle {
    background-color: #01ac73;
    border-color: #01ac73;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(1, 172, 115, 0.2);
    box-shadow: 0 0 0 0.2rem rgba(1, 172, 115, 0.2);
}

.btn-success:focus,
.btn-success.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(1, 172, 115, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(1, 172, 115, 0.5);
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-dark,
.left-sidenav-menu li.mm-active>a,
.btn-blue,
.btn-pink {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.btn-danger {
    background-color: #f65462;
    border-color: #f65462;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.btn-danger:hover {
    background-color: #f76b76;
    border-color: #f76b76;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show>.btn-danger.dropdown-toggle {
    background-color: #f65462;
    border-color: #f65462;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(246, 84, 98, 0.2);
    box-shadow: 0 0 0 0.2rem rgba(246, 84, 98, 0.2);
}

.btn-danger:focus,
.btn-danger.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(246, 84, 98, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(246, 84, 98, 0.5);
}

.badge-danger {
    background-color: #f65462;
}

.nav-pills .nav-item.show .nav-link,
.nav-pills .nav-link.active {
    background: #d0de32;
    color: #404042;
}

.left-sidenav-menu li.mm-active>a,
.left-sidenav-menu li.mm-active .mm-active>a
{
    background: #141618;
    box-shadow: none;
}

.breadcrumb-item a {
    color: #f19b83;
}

.modal-content {
    text-align: center;
}

@media (min-width: 500px) {
    .modal-dialog.modal-file {
        max-width: 90%;
        display: inline-block;
    }
}

.modal-open .modal {
    text-align: center;
}


/*-----------------------------------------------------*/

.logo-img {
    height: 30px;
}

.account-body.accountbg {
    background: -webkit-gradient( linear, left bottom, left top, from(#f7f7f7), color-stop(55%, #eeeeee));
    background: linear-gradient(0deg, #f7f7f7 0%, #eeeeee 55%);
    width: 100%;
    height: 100vh;
}

.account-body .auth-logo {
    text-align: center;
}

.account-body .auth-logo img {
    width: 100%;
    max-width: 250px;
}

.account-body .no-account-link a {
    color: #1761fd;
}
.account-body .no-account-link a:hover, .account-body .no-account-link a:focus {
    color: #0241c6;
}

.navbar-custom {
    background: #212527;
}

.navbar-custom .topbar-nav li.show .nav-link {
    background: #141618;
    color: #d0de32;
}

.navbar-custom.mp-navbar-custom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.navbar-custom.mp-navbar-custom .mp-topbar-nav {
    display: flex;
    align-items: center;
}




.button-menu-mobile {
    color: #d0de32 !important;
}

.enlarge-menu .topbar .topbar-left,
.topbar .topbar-left {
    background-color: #141618;
}

@media (max-width: 1024px) {
    .topbar .topbar-left {
        width: 270px;
    }
}

.notification-list .noti-icon-badge {
    display: block;
/*
    top: 18px;
    width: 16px;
    height: 16px;
*/
    top: 0;
    left: 10px;
    width: 10px;
    height: 10px;
}

.left-sidenav {
    background-color: #212527;
}

.left-sidenav-menu li>a {
    padding: 12px 8px;
    color: #acacac;
}

.left-sidenav-menu li>a i {
    margin-right: 0;
    color: #d0de32;
}

.left-sidenav-menu li>a:hover,
.left-sidenav-menu li>a:hover i,
.left-sidenav-menu .text-muted {
    color: #037fca !important;
}

.left-sidenav-menu li>a span i {
    color: #acacac;
}

.notification-list .noti-icon {
    color: #d0de32;
}

.navbar-custom .nav-link {
    color: #acacac;
    line-height: 1;
}

.left-sidenav-menu li ul li>a {
    padding: 10px 12px;
    color: #acacac;
}

.left-sidenav-menu li ul li>a:hover {
    color: #037fca;
}

.breadcrumb-item a {
    color: #1761fd;
}

.breadcrumb-item.active {
    color: #303e67;
}

.nav-pills .nav-link {
    height: 100%;
}

.nav-justified .nav-item {
    font-size: 13px;
}

.navbar-custom .topbar-nav .text-muted {
    color: #d0de32 !important;
}

.dropdown-menu {
    background-color: #212527;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: inherit;
    color: #037fca;
}

.dropdown-menu .text-muted {
    color: #d0de32;
}

.dropdown-menu .dropdown-item-text {
    color: #acacac;
}

.dropdown-menu .dropdown-item .media h6 {
    color: #acacac;
}

.dropdown-menu .dropdown-item:hover .media h6 {
    color: #037fca;
}

.dropdown-item {
    color: #acacac;
}

.navbar-custom .topbar-nav .dropdown-item:hover i {
    color: #037fca !important;
}

.dropdown-divider {
    border-top: 1px solid #454545;
}


/* フォーム
 ------------------------------------------------------*/

.form-wrapper {
    max-width: 700px;
    margin: 0 auto;
    padding: 0;
}

@media (min-width: 768px) {
    .form-wrapper {
        padding: 0 40px;
    }
}

label {
    font-weight: 600;
    color: #3a3a3a;
}

label .badge {
    margin-left: 5px;
}

.checkbox-label {
    cursor: pointer;
}

.custom-control-label {
    font-weight: normal;
    cursor: pointer;
}

.preview {
    max-height: 150px;
    object-fit: cover;
    margin-bottom: 10px;
}

.button-items form {
    display: inline-block;
}

/* サブスクリプション
 ------------------------------------------------------*/
.account-body .auth-page.subsc-page {
    max-width: 640px;
}

.card-subscription .price-info {
    text-align: center;
}
    .card-subscription .price-info .tit {
        margin-bottom: 0;
        font-size: 14px;
    }
    .card-subscription .price-info .price {
        margin-bottom: 0;
        font-size: 32px;
        font-weight: bold;
    }
        .card-subscription .price-info .price span {
            font-size: 16px;
        }


/* クリニックアカウント
 * ドクター管理
 ------------------------------------------------------*/

.btn-wrapper {
    display: flex;
}

.btn-wrapper .btn-btn {
    margin-right: 20px;
}

.btn-comment {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.dr-list td p {
    margin-bottom: 0;
}

.dr-list .color,
.dr-list .status,
.dr-list .valid {
    text-align: center;
}

.dr-list .color span {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.dr-list .name {
    font-weight: normal;
}

.dr-list .kana {
    font-size: 0.8rem;
}

.clinic-dr-detail th {
    background-color: #f1f5fa;
    width: 30%;
    min-width: 200px;
}


/* 治療費・矯正費登録 */

.handle_treatment_price,
.handle_reform_price {
    padding-bottom: 10px;
}

.handle {
    padding-bottom: 6px;
}

.clinic_treatment .col-form-label label,
.clinic_goods .col-form-label label {
    display: block;
    cursor: pointer;
}


/* 一般ドクターアカウント
 ------------------------------------------------------*/

.side-clinic-point {
    margin-top: 50px;
}

.side-clinic-point table {
    border: none;
    border: 1px solid #454545;
}

.side-clinic-point .table.table-bordered thead {
    background-color: inherit;
}

.side-clinic-point table thead tr th {
    padding: 1rem 1rem 0;
    text-align: center;
    color: #acacac;
    border: none;
}

.side-clinic-point table tbody tr td {
    padding: 0 1rem 1rem;
    color: #cb962e;
    text-align: center;
    border: none;
}


/* 入金管理 */

.deposit_status .price {
    display: flex;
    justify-content: space-between;
}


/* カルテ詳細 */
.isGenie .patient-detail-card {
    border-top: 5px solid #FF5550;
}
.met-pro-bg {
    background-image: none;
    /*background-color: #141618;*/
    background-color: #fff;
}

.met-profile-main-pic img {
    width: 128px;
    height: 128px;
    object-fit: contain;
}
.met-profile .met-profile-main .met-profile_user-detail .met-user-name-post {
    color: #222 !important;
}
.met-profile .met-profile-main .met-profile_user-detail .met-user-name {
    color: #222;
}
.met-profile .met-profile-main .met-profile_user-detail .label_icon {
    display: inline-block;
    margin-top: 5px;
    padding: 0 10px;
    color: #fff; /* ユーザ指定できるようになったら削除 */
    text-align: center;
    line-height: 1.6;
}
.met-profile .personal-detail li {
    color: #222;
}


.btn-external {
    line-height: 1.2;
}
.btn-external span {
    font-size: 10px;
}

.header-title {
    font-weight: 700;
}

.card-treatment-header {
    display: flex;
    justify-content: space-between;
}

.card-treatment-status {
    font-weight: bold;
    margin-bottom: 1em;
}

.card-treatment-record {
    background: #f0f0f0;
    padding: 1em;
    margin-bottom: 1em;
}

.card-treatment-comment {
    margin-bottom: 1em;
}

.today-total {
    padding-top: 1em;
    border-top: solid 1px #eee;
    margin-bottom: 1em;
    border-bottom: solid 1px #eee;
    padding-bottom: 0.5em;
}

.detail-profile th {
    min-width: 85px;
}

.detail-memo .cb {
    width: 20px;
    text-align: center;
}
.detail-memo .meta {
    width: 100px;
}
.detail-memo .comment {

}
.detail-memo .ctl {
    width: 120px;
}



.detail-related-files .file-thumb img {
    cursor: pointer;
}

.detail-related-files .filename {
    margin-bottom: 8px;
    font-size: 11px;
}

.detail-related-files .modal-img-footer {
    padding-top: 1rem;
    text-align: center;
}

.detail-aligner .current {
    background-color: #f1f5fa;
    margin-bottom: 15px;
    font-size: 16px;
    text-align: center;
}

.detail-aligner .current span {
    margin: 0 15px;
    font-size: 36px;
}

.detail-aligner .next {
    text-align: center;
}

.detail-caseroom .file-thumb img {
    cursor: pointer;
}

.detail-caseroom .date {
    margin-bottom: 8px;
    font-size: 11px;
    text-align: center;
}

.met-profile .met-profile-main .met-profile_user-detail .met-user-name-post {
    color: #acacac;
}

.met-profile .text-info {
    color: #d0de32 !important;
}

@media (max-width: 1200px) {
    .detail-profile .birth span {
        display: block;
    }
}

.detail-profile .archive div {
    margin: 5px 0;
}

.detail-profile .archive span {
    display: block;
}

.p-derail-btn .btn {
    margin-bottom: 5px;
}


/* カルテ新規登録・変更 */

.form-table-app {
    width: 100%;
}

.form-table-app tr td:nth-child(1) {
    width: 170px;
}

.form-table-app tr td:nth-child(3) {
    width: 160px;
}

.form-table-app tr td:nth-child(4) {
    width: 35px;
    text-align: center;
}


.patient-detail-edit-card .badge.badge-soft-danger {
    display: none;
}
.isGenie .patient-detail-edit-card .badge.badge-soft-danger {
    display: inline-block;
}

/* アライナー交換スケジュール */

.aligner-schedule .edit {
    margin-top: 10px;
    text-align: right;
}

.aligner-schedule .edit a {
    display: inline-block;
    padding-left: 1em;
    position: relative;
}

.aligner-schedule .edit a:before {
    content: ">";
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
}

.aligner-schedule .edit .note {
    font-size: 0.85em;
    color: #767676;
}


/* アライナー交換日計算ツール */

.result-area {
    width: 90%;
    margin: 20px auto;
    padding: 20px;
    background-color: white;
    border-radius: 10px;
}

.result-area ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.result-area li {
    padding: 0 0 5px;
    margin: 0 0 5px;
    border-bottom: 1px solid #efefef;
}


/* 矯正メニュー */

.reform-menu-group {
    margin: 1rem auto;
}

.reform-menu-group .reform-checkbox {
    margin-bottom: 10px;
}

.reform-menu-group .reform-checkbox input[type="checkbox"] {
    display: none;
}

.reform-menu-group .reform-checkbox .reform-label {
    display: flex;
    justify-content: space-between;
    border: 1px solid #e8ebf3;
    border-radius: 5px;
    margin: 0;
    padding: 10px 20px;
    width: 100%;
    font-weight: normal;
}

.reform-menu-group .reform-checkbox .reform-label::after {
    display: none;
}

.reform-menu-group .reform-checkbox input[type="checkbox"]:checked+.reform-label {
    border: 2px solid #037fca;
}

.reform-menu-group .reform-checkbox .reform-label .menu {}

.reform-menu-group .reform-checkbox .reform-label .price {
    min-width: 100px;
    text-align: right;
}

/* 治療計画書 */
.plan-insert-history-header {
    padding: 1.25rem 1.25rem .75rem;
}
.plan-insert-history-header h4 span {
    font-size: 14px;
    font-weight: normal;
}
.plan-insert-history-header .memo {
    font-size: 12px;
}
.plan-insert-history .list-group-item {
    padding: 7px 15px;
}
.plan-insert-history .name {
    color: #0dc8de;
    font-size: 14px;
    cursor: pointer;
}
.plan-insert-history .date {
    color: #333;
    font-size: 12px;
}


/* 症例相談 */
.counsel-breadcrumb {
    height: 80px;
}
.progressbar {
    margin: 0;
    padding: 0;
    counter-reset: step;
    z-index: 0;
    position: relative;
}
.progressbar li {
    list-style-type: none;
    width: 20%;
    float: left;
    font-size: 12px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    color: #9ba7ca;
}
.progressbar li:before {
    width: 40px;
    height: 40px;
    content: counter(step);
    counter-increment: step;
    line-height: 40px;
    display: block;
    text-align: center;
    margin: 0 auto 10px auto;
    border-radius: 50%;
    -webkit-box-shadow: 0 6px 5px 0 rgba(173, 181, 189, 0.4);
    box-shadow: 0 6px 5px 0 rgba(173, 181, 189, 0.4);
    background-color: #f1f5fa;
}
.progressbar li:after {
    width: 100%;
    height: 6px;
    content: "";
    position: absolute;
    top: 17px;
    left: -50%;
    z-index: -1;
    -webkit-box-shadow: 0 6px 5px 0 rgba(173, 181, 189, 0.4);
    box-shadow: 0 6px 5px 0 rgba(173, 181, 189, 0.4);
    background-color: #f1f5fa;
}
.progressbar li:first-child:after {
    content: none;
}
.progressbar li.active {
    color: #0dc8de;
}
.progressbar li.active:before {
    background-color: #0dc8de;
    color: #fff;
}
.progressbar li.active+li:after {
    background-color: #0dc8de;
}

.counsel-attention {
    background-color: #f2dede;
    border-radius: 4px;
    margin: 30px auto;
    padding: 25px 30px;
    width: 100%;
}
    .counsel-attention ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
        .counsel-attention ul li {
            margin-left: 20px;
            color: #b04442;
            font-size: 14px;
        }
        .counsel-attention ul li:not(:first-child) {
            margin-top: 10px;
        }
            .counsel-attention ul li:before {
                content: "\f06a";
                margin-left: -20px;
                margin-right: 8px;
                font-family: "Font Awesome 5 Free";
                font-weight: 900;
            }

.c-doctor {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 20px 20px 20px 40px;
}

.select_docter label {
    width: 100%;
    font-weight: normal;
    cursor: pointer;
}

.select_docter .docter_name {
    font-weight: bold;
}

.select_docter .docter .menu .menu_point,
.select_menu .menu .menu_point,
.counsel-confirmation .menu .point {
    color: #fd3c97;
}

.counsel-confirmation {
    margin: 0 auto;
    max-width: 700px;
}

.counsel-confirmation a {
    color: #1761fd;
}

.counsel-confirmation .doctor_name span {
    margin-left: 10px;
}

.counsel-start dt {
    background-color: #f1f5fa;
    padding: 10px;
}

.counsel-start dd {
    padding: 15px 10px;
}


.counsel-term-area, .subsc-term-area {
    border: 1px solid #ddd;
    background-color: #eee;
    padding: 20px;
    width: 100%;
    height: 250px;
    font-size: 10px;
    overflow-y: scroll;
}
.subsc-term-area {
    height: 220px;
}
.counsel-term-area::-webkit-scrollbar,
.subsc-term-area::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}
.counsel-term-area::-webkit-scrollbar-thumb,
.subsc-term-area::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,.5);
    box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.counsel-terms__inner *,
.subsc-terms__inner * {
    font-size: 10px;
}
.counsel-terms__inner .title,
.subsc-terms__inner .title {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: bold;
}
.counsel-terms__inner dd,
.subsc-terms__inner dd {
    margin-top: 5px;
}
.counsel-terms__inner ul,
.subsc-terms__inner ul {
    padding-left: 15px;
}
.counsel-terms__inner ol,
.subsc-terms__inner ol {
    margin-top: 5px;
    padding-left: 15px;
}



    /*
    .counsel-msg-timeline {
        height: 600px;
        overflow: scroll;
    }
     */

.counsel-msg-timeline .counsel-msg {
    margin-bottom: 20px;
    max-width: 80%;
}

.counsel-msg-timeline .counsel-msg .inner {
    display: inline-block;
}

.counsel-msg-timeline .counsel-msg.send {
    margin-left: auto;
    text-align: right;
}

.counsel-msg-timeline .counsel-msg .meta {
    color: #a4abc5;
    font-size: 11px;
}

.counsel-msg-timeline .counsel-msg .meta .date {
    margin-left: 15px;
}

.counsel-msg-timeline .counsel-msg .message {
    display: inline-block;
    border-radius: 15px;
    background-color: #f1f5fa;
    padding: 14px;
    color: #303e67;
    text-align: left;
    position: relative;
}

.counsel-msg-timeline .counsel-msg.receive .message {
    /*
    background-color: #1c63a9;
    color: #fff;
    */
    background-color: #d0de32;
    color: #303e67;
}


/*
.counsel-msg-timeline .counsel-msg.send .message:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 3px;
    right: -19px;
    border: 8px solid transparent;
    border-left: 18px solid #f1f5fa;
    -webkit-transform: rotate(-35deg);
    transform: rotate(-35deg);
}
.counsel-msg-timeline .counsel-msg.receive .message:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 3px;
    left: -19px;
    border: 8px solid transparent;
    border-right: 18px solid #1c63a9;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
 */

.counsel-msg-timeline .counsel-msg.send .file .row {
    -webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.close_request label {
    font-weight: 400;
}

.counsel-start {
  word-break: break-all;
}


/* CaseRoom */

.caseroom .template-group .template-choice {
    margin-bottom: 15px;
    text-align: center;
}

.caseroom .template-group .template-choice input[type="radio"] {
    display: none;
}

.caseroom .template-group .template-choice label img {
    border: 2px solid #ffffff;
}

.caseroom .template-group .template-choice input[type="radio"]:checked+label img {
    border-color: #037fca;
}

.caseroom .file-upload-group .file-upload-area {
    margin-bottom: 15px;
}

.caseroom .file-upload-group .file-upload-area .dropify-wrapper {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: calc((100vw - 2.5rem) / 3);
    max-height: 160px;
}

.caseroom .file-upload-group .file-upload-area .dropify-wrapper:hover {
    animation: none;
    -webkit-animation: none;
    background-color: rgba(0, 0, 0, 0.15);
}

.caseroom .file-upload-group .file-upload-area.face_left .dropify-wrapper {
    background-image: url("../../images/face_left.png");
}

.caseroom .file-upload-group .file-upload-area.face_right .dropify-wrapper {
    background-image: url("../../images/face_right.png");
}

.caseroom .file-upload-group .file-upload-area.face_right45 .dropify-wrapper {
    background-image: url("../../images/face_right45.png");
}

.caseroom .file-upload-group .file-upload-area.face_front .dropify-wrapper {
    background-image: url("../../images/face_front.png");
}

.caseroom .file-upload-group .file-upload-area.face_front_fine .dropify-wrapper {
    background-image: url("../../images/face_front_fine.png");
}

.caseroom .file-upload-group .file-upload-area.mouth_up .dropify-wrapper {
    background-image: url("../../images/mouth_up.png");
}

.caseroom .file-upload-group .file-upload-area.mouth_down .dropify-wrapper {
    background-image: url("../../images/mouth_down.png");
}

.caseroom .file-upload-group .file-upload-area.mouth_right .dropify-wrapper {
    background-image: url("../../images/mouth_right.png");
}

.caseroom .file-upload-group .file-upload-area.mouth_front .dropify-wrapper {
    background-image: url("../../images/mouth_front.png");
}

.caseroom .file-upload-group .file-upload-area.mouth_left .dropify-wrapper {
    background-image: url("../../images/mouth_left.png");
}

.caseroom .file-upload-group .file-upload-area .dropify-wrapper .dropify-wrapper .dropify-message p {
    font-size: 12px;
}


/* custom.cssより転記
     ------------------------------------------------------*/

table.table-borderless thead {
    border-bottom: 1px solid #ccc;
}

table.table-borderless thead th {}

img {
    max-width: 100%;
}

.handle i {
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.clear {
    clear: both;
}

.preview {
    max-height: 150px;
    object-fit: cover;
    margin-bottom: 10px;
}
/*
.topbar .topbar-left .logo .logo-lg {
    height: 21px;
}
 */
.topbar .topbar-left {
    padding: 15px 10px;
}
.topbar .topbar-left form {
    width: 100%;
}

span.required {
    color: #c00;
}

.margin-1rem {
    margin-bottom: 1rem;
}


/* カルテ管理 */

.table th label {
    color: #303e67;
    font-weight: 500;
    vertical-align: middle;
    margin-bottom: 0;
    cursor: pointer;
    font-size: 1em;
}


/**
* マイページ
*/
/* 一時対応ここから */
.mypage-temp-sup-outer {
    position: relative;
}
.mypage-temp-sup-outer .mypage-temp-sup {
    background-color: rgba(0,0,0,0.6);
    padding: 5px 10px;
    color: #fff;
    position: absolute;
    top: 4px;
    left: 50px;
}
/* 一時対応ここまで */
.mypage-date-toolbar {
    display: flex;
}
    .mypage-date-toolbar .date-today,
    .mypage-date-toolbar .date-pn-group {
        margin-right: 10px;
    }
    .mypage-date-toolbar .input-group {
        width: auto;
    }
/*
.mypage_patient_table {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
}
*/
.mypage_patient_table thead th {
    padding: 5px;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    vertical-align: middle;
}

.mypage_patient_table tbody tr.isGenie {
    border-left: 3px solid #FF5550;
}

.mypage_patient_table tbody td {
    padding: 10px 0;
}
.mypage_patient_table .pointer {
    color: #037fca;
    text-decoration: underline;
    cursor: pointer;
}
    .mypage_patient_table .pointer:focus,
    .mypage_patient_table .pointer:hover {
        color: #f14b4b;
        text-decoration: none;
    }

.mypage_patient_table .td_treatmented_at {
    text-align: center;
}

.mypage_patient_table .td_reserve {
    width: 80px;
    text-align: center;
}
    .mypage_patient_table .td_reserve .time {
        font-size: 22px;
    }
    .mypage_patient_table .td_reserve .visit {
        margin-top: 5px;
        line-height: 1 !important;
        cursor: pointer;
    }
@media (max-width: 768px) {
    .mypage_patient_table .td_reserve {
        width: 66px;
    }
    .mypage_patient_table .td_reserve .time {
        font-size: 20px;
    }
    .mypage_patient_table .td_reserve .badge {
        white-space: pre-wrap;
    }
}

.mypage_patient_table .td_p_image {
    width: 95px;
}
    .mypage_patient_table .td_p_image .profile_image_in_list {
        text-align: center;
    }
        .mypage_patient_table .td_p_image .profile_image_in_list img {
            max-width: 75px;
            max-height: 75px;
            object-fit: cover;
        }
@media (max-width: 768px) {
    .mypage_patient_table .td_p_image {
        width: 60px;
    }
}

.mypage_patient_table .td_p_basic {
    padding: 10px 5px;
    min-width: 160px;
}
    .mypage_patient_table .td_p_basic .number {
        font-size: 10px;
    }
    .mypage_patient_table .td_p_basic .name_kana {
        font-size: 10px;
    }
    .mypage_patient_table .td_p_basic .name {
        font-size: 24px;
        /*white-space: nowrap;*/
    }
    .mypage_patient_table .td_p_basic .aligner {
    }
        .mypage_patient_table .td_p_basic .aligner span {
            font-size: 18px;
        }
@media (max-width: 768px) {
    .mypage_patient_table .td_p_basic .name {
        font-size: 18px;
    }
}
.mypage_patient_table .td_p_today_ctl {
    padding: 5px 0;
    width: 80px;
    text-align: center;
}
    .mypage_patient_table .td_p_today_ctl .t_btn_outer {
        display: block;
    }
    .mypage_patient_table .td_p_today_ctl .t_btn_outer:not(:last-child) {
        margin-bottom: 8px;
    }
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .btn {
            /*
            display: block;
            border-radius: 4px;
            padding: 10px 0;
             */
            padding: .375rem .5rem;
            font-size: 12px;
        }
        /*
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .btn:hover,
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .btn:focus,
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .btn:active {
            background-color: #f14b4b;
            color: #fff;
        }
        */
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .t_btn_record { background-color: #dedede; color: #000; }
        .mypage_patient_table .td_p_today_ctl .t_btn_outer .t_btn_accounting { background-color: #212527; color: #d0de32;  }
@media (max-width: 768px) {
    .mypage_patient_table .td_p_today_ctl {
        width: 70px;
    }
}
.mypage_patient_table .td_dr_icon {
    width: 60px;
    text-align: center;
}
    .mypage_patient_table .td_dr_icon .dr_icon {
        display: inline-block;
        width: 30px;
        height: 30px;
        line-height: 30px;
        color: #fff;
        border-radius: 50%;
        text-align: center;
    }
@media (max-width: 768px) {
    .mypage_patient_table .td_dr_icon {
        width: 40px;
    }
}

.mypage_patient_table .td_status {
    vertical-align: middle;
}
    .mypage_patient_table .td_status .status_list {
        list-style: none;
        margin: 0;
        padding-left: 0;
    }
        .mypage_patient_table .td_status .status_list li {
            white-space: nowrap;
        }
        .mypage_patient_table .td_status .status_list li i {
            margin-right: 5px;
        }
    .mypage_patient_table .td_status .status {
        margin-top: 5px;
    }
.mypage_patient_table .td_deposit {
    width: 145px;
    font-size: 22px;
    text-align: right;
    vertical-align: middle;
}
    .mypage_patient_table .td_deposit .badge {
        margin-right: 5px;
    }
    .mypage_patient_table .td_deposit .unit {
        font-size: 13px;
    }
    .mypage_patient_table .td_deposit .deposit_plan {
        display: inline-block;
        border-top: 1px solid #eaf0f7;
        margin-top: 5px;
        padding-top: 5px;
        width: 100%;
    }

.mypage_patient_table .td_p_ctl {
    text-align: center;
}
    .mypage_patient_table .td_p_ctl .dropdown-menu {
        background-color: #fff;
        box-shadow: 0 3px 12px #d6e4f1;
    }
        .mypage_patient_table .td_p_ctl .dropdown-menu .dropdown-item {
            color: #000;
            cursor: pointer;
        }
            .mypage_patient_table .td_p_ctl .dropdown-menu .dropdown-item i {
                margin-left: 5px;
            }
            .mypage_patient_table .td_p_ctl .dropdown-menu .dropdown-item span {
                margin-left: 2px;
                font-size: 10px;
            }
.mypage-pct .cb {
    width: 40px;
    text-align: center;
}
.mypage-pct .meta {
    color: #01ac73;
}
.mypage-pct .comment {
    margin-top: 5px;
}
.mypage-pct .ctl {
    width: 80px;
    text-align: right;
}

/* カルテ管理　絞り込み検索 */
.patient-search-form .card-body {
    padding: 2.5rem 2.5rem 1rem;
}
.patient-search-form label {
    font-weight: normal;
}
.patient-search-form .search-item {
    font-size: 15px;
    font-weight: bold;
}
.patient-search-form .search-itembody {
    margin-left: -40px;
}
.patient-search-form .search-choices {
    display: flex;
    flex-wrap: wrap;
    margin-left: -40px;
}
.patient-search-form .search-choices label {
    padding-left: 20px;
    width: 25%;
}
.patient-search-form .form-group-reform .search-choices label {
    width: 33.33333%;
}
.patient-search-form .search-choices label input[type=checkbox] {
    margin-left: -18px;
    margin-right: 5px;
    position: relative;
    top: 2px;
}
#search_more_button {
    padding: 10px 40px;
    cursor: pointer;
}
#search_more_button:hover {
    background-color: #f8f8fc;
    color: #f65462;
}

@media (max-width: 650px) {
    .patient-search-form .search-itembody,
    .patient-search-form .search-choices {
        margin-left: 0;
    }
    .patient-search-form .search-choices label {
        width: 50%;
    }
    .patient-search-form .form-group-reform .search-choices label {
        width: 100%;
    }
}
@media (min-width: 651px) and (max-width: 768px) {
    .patient-search-form .search-itembody,
    .patient-search-form .search-choices {
        margin-left: 0;
    }
    .patient-search-form .search-choices label {
        width: 33.33333%;
    }
    .patient-search-form .form-group-reform .search-choices label {
        width: 100%;
    }
}
@media (min-width: 769px) and (max-width: 1200px) {
    .patient-search-form .search-itembody,
    .patient-search-form .search-choices {
        margin-left: -20px;
    }
    .patient-search-form .search-choices label {
        width: 33.33333%;
    }
    .patient-search-form .form-group-reform .search-choices label {
        width: 50%;
    }
}


/* DatePicker */
.dtp div.dtp-actual-month {
    font-size: 24px;
    line-height: 1;
}
.dtp div.dtp-actual-num {
    font-size: 60px;
}
.dtp div.dtp-actual-year {
    font-size: 24px;
    line-height: 1;
}
.dtp .dtp-date div.left, .dtp .dtp-date div.right {
    padding-top: 7px;
}
.dtp div.dtp-picker-month {
    padding-bottom: 10px!important;
}


table.patient_table thead th {
    padding: 5px;
    font-size: 11px;
    vertical-align: middle;
}
table.patient_table tbody tr.isGenie {
    border-left: 3px solid #FF5550;
}
table.patient_table .profile_image_in_list {
    text-align: center;
}
table.patient_table .profile_image_in_list img {
    max-width: 75px;
    max-height: 75px;
    object-fit: cover;
}
table.patient_table .number {
    font-size: 13px;
}
table.patient_table .name {
    font-size: 18px;
}
table.patient_table .name_kana {
    font-size: 13px;
}
table.patient_table .td_dr_icon {
    width: 60px;
    text-align: center;
}
table.patient_table .dr_icon {
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    margin: 0 auto;
}
table.patient_table .td_plan {
    width: 58px;
    text-align: center;
}
table.patient_table .td_counsel {
    width: 58px;
    text-align: center;
}
table.patient_table .treatmented_at {
    font-size: 13px;
}
table.patient_table .status {
    font-size: 13px;
}
table.patient_table .deposit {
    font-size: 13px;
}
table.patient_table .td_label_icon {
    text-align: center;
}
table.patient_table .td_label_icon .label_icon {
    padding: 3px 0;
    color: #fff;
    text-align: center;
    line-height: 1;
    cursor: pointer;
}
table.patient_table .td_label_icon .label_icon:hover {
    opacity: .8;
}
table.patient_table .td_label_icon .label_icon + .label_icon {
    margin-top: 3px;
}
table.patient_table .td_label_icon .btn {
    box-shadow: none;
}

#patient .btn-area {
    display: flex;
    flex-wrap: wrap;
}
#patient .btn-area .btn {
    margin: 5px;
    width: 140px;
}
#patient .btn-area .ctl-link {
    margin: 5px;
    padding-top: 12px;
    color: #1761fd;
    font-size: 12px;
    text-decoration: underline;
}




/**
*
* 患者
*
*/

.patient_box {
    border-bottom: 1px solid #000;
    margin: 0 0 30px;
    padding: 0;
}

.patient_box .left {
    float: left;
    width: 150px;
}

.patient_box .right {
    float: right;
    width: 640px;
}

.patient_box .profile_image_in_list {
    text-align: center;
}

.patient_box .profile_image_in_list img {
    max-width: 75px;
    max-height: 75px;
    object-fit: cover;
}

.patient_box .profile_image {
    text-align: center;
}

.patient_box .profile_image img {
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
}

.patient_box .left .status {
    height: 22px;
    border: 1px solid #000;
    text-align: center;
    font-size: 11px;
    line-height: 22px;
}

.patient_box .right .table th,
.table td {
    padding: 0.2rem;
    font-size: 13px;
}

.patient_aligner {
    border: 1px solid #000;
    padding: 15px 20px;
}

.patient_aligner .count {
    float: left;
    width: 304px;
    line-height: 38px;
}

.patient_aligner .date {
    float: left;
    width: 260px;
    margin: 0 20px;
    line-height: 38px;
}

.patient_aligner .link {
    float: right;
    width: 160px;
}

.patient_aligner .count .item1 {
    float: left;
    width: 100px;
    font-size: 16px;
}

.patient_aligner .count .item2 {
    float: left;
    width: 40px;
}

.patient_aligner .count .item3 {
    float: left;
    width: 60px;
    font-size: 20px;
}

.patient_aligner .count .item4 {
    float: left;
    width: 60px;
}

.patient_aligner .date .item1 {
    float: left;
    width: 120px;
}

.patient_aligner .date .item2 {
    float: left;
    width: 120px;
}

.patient_deposit {}

.patient_deposit .detail {
    float: left;
    width: 603px;
}

.patient_deposit .link {
    float: right;
    width: 183px;
}

.patient_deposit .detail .price {}

.patient_deposit .detail .price .item1 {
    float: left;
    width: 50%;
}

.patient_deposit .detail .price .item2 {
    float: right;
    width: 50%;
    text-align: right;
}

.patient_deposit .detail .bar {
    margin: 5px 0;
}

.patient_deposit .detail .date {
    font-size: 13px;
}

.patient_deposit .detail .date .item1 {
    float: left;
    width: 50%;
}

.patient_deposit .detail .date .item2 {
    float: right;
    width: 50%;
    text-align: right;
}

.patient_profile {
    border: 1px solid #000;
    padding: 15px 20px;
}

.patient_profile .image {
    float: left;
    width: 100px;
}

.patient_profile .detail {
    float: right;
    width: 650px;
}

.patient_profile .detail .name {
    font-size: 20px;
}

.deposit_status {}

.deposit_status .price {}

.deposit_status .price .item1 {
    float: left;
    width: 50%;
}

.deposit_status .price .item2 {
    float: right;
    width: 50%;
    text-align: right;
}

.deposit_status .bar {
    margin: 5px 0;
}


/*
開閉
 */

.grad-wrap {
    text-align: center;
}

.grad-btn::before {
    content: "▶︎６件目以降を表示";
}

.grad-item {
    text-align: left;
    position: relative;
    overflow: hidden;
    height: 0px;
    /*隠した状態の高さ*/
}

.grad-trigger {
    display: none;
    /*チェックボックスは常に非表示*/
}

.grad-trigger:checked~.grad-btn::before {
    content: "▼６件目以降を閉じる";
    /*チェックされていたら、文言を変更する*/
}

.grad-trigger:checked~.grad-item {
    height: auto;
    /*チェックされていたら、高さを戻す*/
    overflow: hidden;
}

.grad-trigger:checked~.grad-item::before {
    display: none;
    /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

/*
 * ツールチップ
 */
.ui-widget.ui-widget-content.ui-tooltip {
    background-color: #212527;
    padding: 4px 6px;
    color: #d0de32;
}

.table tr.unread td {
    font-weight: bold;
}

#patients_list {
    border: 1px solid #ddd;
    padding: 10px;
    height: 300px;
    overflow: auto;
}


/*
 * サイドバー
 */

ul.left-sidenav-menu {
    position: sticky;
    top: 94px;
}

.dr_counsel_list_table th {
    padding: .75rem .2rem;
}

.counsel-detail-ctl .answer_dr_reply {
    display: inline-block;
    margin-left: 10px;
}
.counsel-detail-ctl .answerer_label {
    display: inline-block;
    margin-left: 10px;
}

/* ラベル管理 */
.table-clinic-label-list .color-chip {
    display: inline-block;
    margin-right: 5px;
    width: 1rem;
    height: 1rem;
    vertical-align: sub;
}

/* クリンチェック表示 */
.btn-cc-red {
  background-color: #FC7676;
  color: #fff;
}
.btn-cc-blue {
  background-color: #85C5FF;
  color: #fff;
}
.btn-cc-black {
  background-color: #000;
  color: #fff;
}
.btn-cc-gray {
  background-color: #B1B1B1;
  color: #fff;
}
.btn-cc-orange {
  background-color: #FF9900;
  color: #fff;
}
.patient-cc-status {
  border-left: solid 2px #000;
  padding: 1px 0 1px 10px;
  color: #000;
  margin-top: 1px;
  margin-bottom: 4px;
}
.patient-cc-status-red {
  border-color: #FC7676;
  color: #FC7676;
}
.patient-cc-status-blue {
  border-color: #85C5FF;
  color: #85C5FF;
}
.patient-cc-status-black {
  border-color: #000;
  color: #000;
}
.patient-cc-status-gray {
  border-color: #B1B1B1;
  color: #B1B1B1;
}
.patient-cc-status-orange {
  border-color: #FF9900;
  color: #FF9900;
}

.patient-cc-update-date {
  font-size: 11px;
  color: #999;
}


@media (max-width: 1041px) {
  .only-pc {
    display: none;
  }
}

/* dr/patient/footer */
@media (min-width: 1042px) {
  #carte-footer {
    position: fixed;
    bottom: 0;
    margin: 0;
    padding: 10px;
    background: #fff;
    z-index: 10000;
    left: auto;
    right: 0;
    min-width: 400px;
    box-shadow: -3px -1px 4px rgba(0, 0, 0, 0.2);
  }
  .carte-footer-btns {
    display: none;
  }
}
@media (max-width: 1041px) {
  #carte-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 10px;
    width: 100%;
    background: #edf0f5;
    color: #fff;
    z-index: 10000;
    border: solid 1px #326693;
    border-width: 10px 0 10px;
  }
  .carte-footer-btns {
    line-height: 43px;
    padding-bottom: 10px;
  }
}

#carte-footer .page_header_sticky {
  padding: 20px 0;
  text-align: center;
}
.carte-footer-patientinfo {
  font-size: 16px;
  color: #000;
  margin-right: 40px;
}


.carte-footer-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
}
.menu_much {
  margin-top: -200px;
  padding-top: 100px;
}

.modal_re {
  position: fixed; /* 要素の位置を固定する */
  z-index: 999999;
}


.status-wrap {
    display: flex;
}
.js-status-initial, .js-status-ext {
    width: 50%;
}