/* html tags update */
body {
    background-color: #ffffff;
}
section {
    margin-bottom: 2rem;
}
label {
    margin-bottom: 0.05rem;
}


/* bootstrap class update */
.card {
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #c7c4b8;
}
.card-body {
    padding: 0.8rem;
}
.custom-control-label {
    cursor: pointer;
}
.form-control, .input-group-text{
    padding: 0.2vw 0.3vw;
    height: calc(1.8rem + 2px);
}
.form-control[readonly] {
    background-color: #f8f9fa;
    /*opacity: 1;*/
}
.nav-tabs {
    border:none;
}
.navbar {
    padding: 0;
}
.navbar-brand {
    padding-top: 0rem;
    padding-bottom: 0rem;
}


/*　original　colors　*/
.bg-contents {
    background-color: #faf9f8;
}
.bg-contents-dark {
    background-color: #e2e1db;
}
.bg-light {
    background-color: #faf9f8;
}
.bg-process-warning {
    background-color: #fcc8b1;
}
.og-color-light {
    color:#b7b3a4;
}
.text-muted-light {
    color:  #AFBECB!important
}


/*　original　font-size　*/
/* 見出しサイズ（やや大きい） */
.admin_panel__title {
    font-size: 1.15rem !important;
}
/* スマホ用指定は別で設定 */
.schedule_input_form, .schedule_input_form input,
.list-table th, .list-table td,.receipt-table th, .receipt-table td,
.master_input_form, .master_input_form input, .master_input_form select, .master_input_form textarea,
.schedule_input_form,
.task_input_form, .task_input_form input, .task_input_form select, .task_input_form textarea {
    font-size: 0.9vw;
}


/*　original　class　*/
.header__wrap{
    width: 100%;
    background-color: #53b9bf;
    color: #f9f9fa;
}
.header__logo {
    color: #f9f9fa;
    font-size: 1.5rem;
}

.navi__menu {
    position: relative;
    padding: 0.2rem 0.6rem;
    background-color: #f5c500;
    border: none;
    color:#333;
}
.navi__menu:hover {
    text-decoration: none;
    color:#004461;
    background-color: #f7d033;
}
.navi__menu-active {
    background-color: #fff;
    font-weight: bold;
    color: #716c58;
}


.home-menu__block {
    background-color: #f3f2f0;
    margin-bottom: 1rem;
    border-radius: 0.2rem;
    padding: 1rem;
    margin-right: 2rem;
    font-size: 1.4rem;
}
.home-menu__disabled {
    background-color: #fff;
    margin-bottom: 1rem;
    border-radius: 0.2rem;
    padding: 1rem;
    margin-right: 2rem;
    font-size: 1.4rem;
    color: #999;
}
.home-menu__block:hover {
    text-decoration: none;
    background-color: #f2fbff;
}
.home-menu__btn {
    border-radius: 0.2rem;
    background-color: #fff;
    padding: 0.25rem 0.5rem;
    font-size: 0.9rem;
    border: 1px solid #8f8971;
}
.home-menu__btn:hover {
    background-color: #f2fbff;
    color: #3490dc;
    text-decoration: none;
}
.home-menu__btn-active {
    background-color: #716c58;
    color: #fff;
}
.title__contents_menu {
    color:#616e75;
    font-weight: bold;
    font-size: 0.9rem;
}
.input__required {
    background-color: #e3342f;
    color: #fff;
    padding: 0.2rem;
    font-size: 0.7rem;
    font-weight: normal;
    border-radius: 0.2rem;
    margin: 0 0.4rem;
}
.list-table {
    border: 1px solid #c7c4b8;
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
}
.list-table th, .list-table td{
    padding: 0.3rem 0.7rem;
}
.list-table th{
    /*font-size: 0.8rem; 共通化*/
    background-color: #d8fa89;
    color: #836900;
}
.list-table__memo {
    font-size: 0.8rem;
    color:#716c58;
    width: 11rem;
    height: 1.2rem;
    overflow: hidden;
}
.receipt-table {
    border: 1px solid #c7c4b8;
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
}
.receipt-table th, .receipt-table td{
    padding: 0.3rem 0.7rem;
}
.receipt-table th{
    /*font-size: 0.8rem; 共通化*/
    background-color: #d8fa89;
    color: #836900;
}
.clickable-row {
    cursor: pointer;
}
.clickable-row:hover{
    background-color: #f2fbff;
    color: #3490dc;
}

.sales_details {
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #c7c4b8;
}
.sales_details th, .sales_details thead th {
    padding: 0.1rem 0.6rem;
    font-weight: normal;
    color: #836900;
    border-right: 1px solid #c7c4b8;
    border-bottom: 1px solid #c7c4b8;
    border-top: 1px solid #fff;
    background: #fceeb4;
}
.sales_details th, .sales_details td {
    padding: 0.5rem;
}
.sales_details input {
    padding: 0.3rem;
}

.sales_settings {
    border: 1px solid #c7c4b8;
    padding: 0.3rem 1rem;
    border-radius: .25rem;
    background-color: #faf9f8;
}
.sales__badge-primary {
    padding: 0.54rem;
    font-size: 0.8rem;
    font-weight: normal;
}
.sales__badge {
    color: #999;
    padding: 0.54rem;
    font-size: 0.8rem;
    font-weight: normal;
}
.input_readonly {

}

.input_width__sm {
    width: 4rem;
}
.input_width__md {
    width: 8rem;
}
    .input_width__order_price {
        width: 5.5rem;
    }
.input_width__lg {
    width: 18rem;
}

.nav-tabs .facility__tab_item {
    margin-bottom: -1px;
    z-index: 1;
}
.nav-tabs .facility__tab_item .nav-link {
    border-bottom: 1px solid #c7c4b8;
    background-color: #eeedea;
}

.nav-tabs .facility__tab_item.show .nav-link,
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
    border-left: 1px solid #b9b2a5;
    border-top: 1px solid #b9b2a5;
    border-right: 1px solid #b9b2a5;
    border-bottom: 1px solid #faf9f8;
    background-color: #faf9f8;
    font-weight: bold;
}
.todays_weekday {
    border-bottom:2px solid #ff0000;
}

.facility__item {
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
}
.facility__item a{
    background-color: #ffffff;
    border-radius: .25rem;
    border: 1px solid #fff;
    display: block;
    padding: 0.3rem 1rem;
}
.facility__item a:hover {
    background-color: #f2fbff;
    color: #3490dc;
    border: 1px solid #c7c4b8;
}
.facility__item-done a{
    background-color: #faf9f8;
    color: #c53b00;
    border: 1px solid #faf9f8;
}
.facility__item-done__badge{
    background-color: #c53b00;
    color: #fff;
}
table .process_detail__table {
    margin-bottom: 0rem;
}

table .process_detail__table th, table .process_detail__table td{
    padding-bottom: 0.2rem;
}

.sticky-top-2 {
    position: sticky;
    top: 1.9rem;
    z-index: 1010;
}

.sticky-top-3 {
    position: sticky;
    top: 5.3rem;
    z-index: 1010;
}

.toc-btn {
    font-size: 1.7rem;
    margin-right: 0.4rem;
    padding: 0rem 0.6rem;
}

.arrival-list td {
    font-size: 1.3rem;
}

.print_details {
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #c7c4b8;
}
.print_details th, .print_details thead th {
    padding: 0.1rem 0.6rem;
    font-weight: normal;
    color: #666;
    border-right: 1px solid #e2e1db;
    border-bottom: 1px solid #e2e1db;
    border-top: none;
    background: #e2e1db;
}
.print_details th, .print_details td {
    padding: 0.2rem 0.5rem;
}
.print_details input {
    padding: 0.3rem;
}
.print_details_page_break {
    page-break-before: always;
}
.print_logo {
    width: 3rem;
    image-rendering: -webkit-optimize-contrast;

}



.buys_details {
    border-radius: .25rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #c7c4b8;
}
.buys_details th, .buys_details thead th {
    padding: 0.1rem 0.6rem;
    font-weight: normal;
    color: #836900;
    border-right: 1px solid #c7c4b8;
    border-bottom: 1px solid #c7c4b8;
    border-top: 1px solid #fff;
    background: #fceeb4;
}
.buys_details th, .buys_details td {
    padding: 0.5rem;
}
.buys_details input {
    padding: 0.3rem;
}

.buys_settings {
    border: 1px solid #c7c4b8;
    padding: 0.3rem 1rem;
    border-radius: .25rem;
    background-color: #faf9f8;
}
.buys__badge-primary {
    padding: 0.54rem;
    font-size: 0.8rem;
    font-weight: normal;
}
.buys__badge {
    color: #999;
    padding: 0.54rem;
    font-size: 0.8rem;
    font-weight: normal;
}

.admin_panel {
    margin-bottom: 1.5rem;
}
.admin_panel__title {
    display: block;
    font-weight: bold;
}

.schedule td, .schedule th {
    padding: 0.1rem;
}
tr.schedule_th, input.form-control, span.badge {
    font-size: 1.02vw;
}
.schedule_th {
    /*font-size: 0.7rem;*/
}
.schedule_th td{
    max-width: 5.4rem;
    white-space:nowrap;
}
.schedule_option_table {
    margin:0px;
    padding: 0.5rem;
    font-size: 0.7rem;
}
.schedule_option_table td {
    padding: 0.2rem 0.2rem;
    border: 1px solid #dee2e6;
    text-align: center;
    width: 3.3rem;
    min-width: 3.3rem;
    color: #AFB2B6;
}
.schedule_option_table .option_check {
    color: #333;
    background-color: #e2e1db;
    border: 1px solid #fff;
}
.schedule_company_list span {
    /*min-width: 5rem;*/
}
.schedule_phase_list span{
    /*font-size: 0.7rem;共通化*/
    writing-mode: vertical-rl;
    margin-right: 0rem;
    text-align:justify;
    min-height: 3rem;
}
.schedule_user_header_list span{
    /*font-size: 0.7rem; 共通化*/
    writing-mode: vertical-rl;
    margin-right: 0rem;
    text-align:justify;
    border-radius: unset; !important;
}
.schedule_user_list span{
    /*font-size: 0.7rem; 共通化*/
    writing-mode: vertical-rl;
    margin-right: 0rem;
    text-align:justify;
    min-height: 2rem;
    margin-top:0.8rem;
    margin-bottom:0.8rem;
    border-radius: unset; !important;
    background: #fff;
    color: #666;
    padding-top:0.5rem;
}
.schedule-user:hover, .schedule-process:hover{
    color:#fff;
    background-color:#227dc7;
}
.schedule-user.admin {
    cursor: not-allowed;
}
.schedule-user:not(.admin), .schedule-process {
    cursor: pointer;
}
.schedule_input_form {

}
.schedule_input_form .col-auto, .task_input_form .col-auto {
    padding-right: 5px; !important;
}
.schedule_input_form .form-control-lg, .task_input_form .form-control-lg {
    width: 12rem;
}
.schedule_input_form .form-control-md, .task_input_form .form-control-md {
    width: 9rem;
}
.schedule_input_form .form-control-sm, .task_input_form .form-control-sm {
    width: 6rem;
}
.schedule_input_form .form-control-xsm, .task_input_form .form-control-xsm {
    width: 3.1rem;
}
.schedule_input_form .form-control-ymd, .task_input_form .form-control-ymd {
    width: 7.5rem;
}
.schedule_input_form .form-control-time, .task_input_form .form-control-time {
    width: 5.5rem;
}
.schedule_input_form .form_label, .task_input_form .form_label {
    margin-right: 0.3rem;
    color: #1d68a7;
    font-weight: bold;
    /*font-size: 0.8rem; 共通化*/
    white-space: nowrap;
}
.schedule_input_form .form_label_user, .task_input_form .form_label_user {
    margin-right: 0.3rem;
    color: #1d68a7;
    font-weight: bold;
    /*font-size: 0.8rem; 共通化*/
    white-space: nowrap;
    min-width: 3.2rem;
    max-width: 3.2rem;
    text-align:justify;
    text-align: right;
    overflow: hidden;
}
.form-readonly {
    color: #777777;
    background-color: #faf9f8;
}
.master_input_form .form-object-xlg {
    width: 18rem;
}
.master_input_form .form-object-lg {
    width: 12rem;
}
.master_input_form .form-object-md {
    width: 9rem;
}
.master_input_form .form-object-sm {
    width: 6rem;
}
.master_input_form .form-object-xsm {
    width: 3.1rem;
}
.master_input_form .form-object-ymd {
    width: 7.5rem;
}
master_input_form .form-object-time {
    width: 5.5rem;
}

/* mobile */
@media screen and (max-width:480px) {

    .schedule_input_form, .schedule_input_form input,
    .list-table th, .list-table td, .receipt-table th, .receipt-table td,
    .master_input_form, .master_input_form input, .master_input_form select, .master_input_form textarea,
    .schedule_input_form,
    .task_input_form, .task_input_form input, .task_input_form select, .task_input_form textarea {
        font-size: 3vw;
    }

    .schedule_input_form .col-auto {
        margin-bottom: 0.8rem;
    }


    tr.schedule_th, input.form-control, span.badge {
        font-size: 2.7vw;
    }
    .home-menu .home-menu__block {
        margin-right:0;
        padding: 1rem 0.5rem;
    }
    .home-menu .h5 {
        font-size: 0.9rem;
    }
    .scroll_x_contents_for_mobile {
        width: 100%;
        overflow-x: scroll;
    }
    .table td {
        font-size: 0.8rem;
    }
    tr.schedule_th, input.form-control {
        font-size: 1rem !important;
    }
    .schedule_th{
        width: 3rem;;
    }
    .schedule_phase_list span.badge {
        font-size: 3.8vw !important;
    }
    .schedule_phase_list span{
        margin-right: 0.41rem;
        padding: 0.4rem 0.32rem;
    }
    .schedule_company_list span.badge {
        font-size: 2.5vw !important;
    }
    .schedule_user_header_list span.badge,.schedule_user_list span.badge {
        font-size: 1.5vw !important;
        padding: 0.08rem !important;
    }
    .schedule_user_list span{
        margin: 0;
    }
    .mb_schedule__title {
        font-size: 1rem;
        font-weight: bold;
    }
    .mb_schedule__title span{
        font-size: 2.5vw !important;
    }

}

.product__thumbnail {
    width: 40vw;
    height: 25vw;
    text-align: center;
}
.product__thumbnail img{
    width: 100%;
    height: 25vw;
    object-fit: contain;
}

.cart__thumbnail {
    width: 25vw;
    height: 15vw;
    text-align: center;
}
.cart__thumbnail img{
    display: block;
    height: 15vw;
    object-fit: cover;
    width: 100%;
}

.cart-delete-btn {
    font-size: 6.4vw;
}

.radio-inline__input {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}

.radio-inline__label {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin-right: 18px;
    cursor: pointer;
    background: #fff;
}

.radio-inline__input:checked + .radio-inline__label {
    background: #38c172;
    color: #fff;
    text-shadow: 0 0 1px rgba(0,0,0,.7);
}

.radio-inline__input:focus + .radio-inline__label {
    outline-color: #4D90FE;
    outline-offset: -2px;
    outline-style: auto;
    outline-width: 5px;
}
