html,body{
    height: 100%;
    min-height: 650px;
    width: 100%;
}
body{
    /* background: #eee; */
    font-family: 'メイリオ', 'Meiryo',sans-serif,'ヒラギノUD角ゴF Std', 'ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック';
	padding: 0;
	margin: 0;
	font-size: 16px;
}

.wh10px{
    width: 10px !important;
    height: 10px !important;
}
.wh20px{
    width: 20px !important;
    height: 20px !important;
}
.wh25px{
    width: 25px !important;
    height: 25px !important;
}
.wh30px{
    width: 30px !important;
    height: 30px !important;
}
.wh40px{
    width: 40px !important;
    height: 40px !important;
}
.wh50px{
    width: 50px !important;
    height: 50px !important;
}
.wh75px{
    width: 75px !important;
    height: 75px !important;
}
.wh100px{
    width: 100px !important;
    height: 100px !important;
}
.h100{
    height: 100% !important;
}
.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

.min_w50px{ min-width: 50px !important; }
.min_w75px{ min-width: 75px !important; }
.min_w100px{ min-width: 100px !important; }
.min_w150px{ min-width: 150px !important; }
.min_w200px{ min-width: 200px !important; }
.min_w300px{ min-width: 300px !important; }

span.svg-wrap {
	display: inline-block;
	width: 15px;
	margin-right: 10px;
}
span.svg-wrap svg {
	aspect-ratio: 1;
}
.svg-wrap > svg {
    fill: currentColor;
}
.svg-bulk > svg {
    fill: currentColor;
}

/**
ルート変数設定
*/
:root{
    --idb_font-color: #3c6a8b;
    --idb_font-color-light: #9dc7e5;
    --idb_font-color-sub: #808080;
    --idb_sidemenu-width: 230px;
    --idb_sidemenu-width_sm: 180px;
}

textarea.no_resize{
    resize: none;
}

.form-control,
.form-select{
    border-color: #999;
}
.form-control:hover:not(:disabled),
.form-select:hover:not(:disabled),
.form-control:focus:not(:disabled),
.form-select:focus:not(:disabled),
.form-control:active:not(:disabled),
.form-select:active:not(:disabled){
    /* border: 3px solid #97c0dd; */
    box-shadow: 0 0 3px 2px var(--idb_font-color-light);
    background: #effdff;
    cursor: pointer;
}
/* ▼IE10・IE11用 */
input.form-control:-ms-input-placeholder {
    color: #aaa;
 }
 
/* ▼Chrome・Safari・Opera用(※1：Edgeでも有効) */
input.form-control::-webkit-input-placeholder {
    color: #aaa;
}
 
/* ▼Firefox18以前用(※2) */
input.form-control:-moz-placeholder {
    color: #aaa;
}
/* ▼Firefox19以上用(※3) */
input.form-control::-moz-placeholder {
    color: #aaa;
    opacity: 1;
}

/* ▼CSS4標準(予定)の記述 */
input.form-control::placeholder {
    color: #aaa;
}
.form-check > input[type=radio],
.form-check > label{
    cursor: pointer;
}

.input-group .hasDatepicker + .input-group .dtp_trigger{
    background: #fff;
}


.ibdeliv_btn_style,
.ibdeliv_normal_btn_style{
    border-radius: 5px;
    text-align: center;
    width: 100%;
    border: none;
    letter-spacing: 2px;
    box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
}

.modalsearch_btn{
    box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
    height: 32px;
    font-size: 0.75em;
    width: auto;
    max-width: 70px;
    min-width: 40px;
}
.modalsearch_btn:hover,
.modalsearch_btn:focus,
.modalsearch_btn:active
{
    background: rgba(52, 58, 65, 1);
}

.ibdeliv_btn_style{
    color: #fff;
    font-size: 1em;
    height: 50px;
}

.ibdeliv_btn_style:hover:not(:disabled),
.ibdeliv_btn_style:focus:not(:disabled),
.ibdeliv_btn_style:active:not(:disabled){
    text-decoration: underline;
    border: none;
    outline: none;
}

.ibdeliv_btn_style:disabled{
    opacity: 0.7;
}
.ibdeliv_normal_btn_style:disabled{
    opacity: 0.7;
}

.ibdeliv-gradient {
    background-image: linear-gradient(90deg, rgba(0, 167, 219, 1) 25%, rgba(42, 63, 126, 1) 75%);
}
.ibdeliv-gradient:hover:not(:disabled),
.ibdeliv-gradient:focus:not(:disabled),
.ibdeliv-gradient:active:not(:disabled) {
    background-image: linear-gradient(90deg, rgb(21, 193, 246) 25%, rgb(43, 76, 176) 75%);
}

.ibdeliv_normal_btn_style{
    background: #fff;
    color: #333;
    font-size: 1em;
    height: 50px;
}

.ibdeliv_normal_btn_style:hover:not(:disabled),
.ibdeliv_normal_btn_style:focus:not(:disabled),
.ibdeliv_normal_btn_style:active:not(:disabled){
    /* background: #fcfcfc; */
    background: #e5f2f4;
    color: #333;
    text-decoration: underline;
}

.ibdeliv_btn_style.ibdeliv_btn_sm,
.ibdeliv_normal_btn_style.ibdeliv_btn_sm{
    height: 35px;
    font-size: 0.8em;
    min-width: 100px;
    width: 100%;
    max-width: 200px;
}
.ibdeliv_btn_style .spinner-border{
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
    --bs-spinner-vertical-align: -.125em;
    --bs-spinner-border-width: 0.15em;
    --bs-spinner-animation-speed: 1.5s;
}
a.ibdeliv_btn_style,
a.ibdeliv_normal_btn_style{
    cursor: pointer;
    text-decoration: none;
}

.footer_style{
    text-align: center;
    background-color: #333333;
    color: #808080;
}
.footer_style .app_name{
    font-size: 1.6em;
}

.flex-parent-box {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 100%;
}

.flex_content-fixed {
    height: 120px;
    max-width: 100%;
}

.flex_content {
    height: 100%;
    background-color: #f0f0f0;
    max-width: 100%;
}

.form_wrap{
    max-width: 400px;
    width: 100%;
    margin-top: 7vh;
    padding-top: 40px;
    padding-bottom: 60px;
    background-color: #fafafa;
    box-shadow: 0px 3px 6px rgba(0,0,0,0.2);
}
.form-check-input{
    width: 1.2em;
    height: 1.2em;
}
.form-check-input + .form-check-label{
    color: var(--idb_font-color-sub);
}
.form-check-input:checked{
    background-color: var(--idb_font-color);
    border-color: var(--idb_font-color);
    border-width: 3px;
}
.form-check-input:checked + .form-check-label{
    color: var(--idb_font-color);
    font-weight: bold;
}

select.no-arrows {
    -webkit-appearance: none;
    appearance: none;
}


/* 
.custom-switch .custom-control-label::after{
    width: calc(1.6rem);
    height: calc(1.6rem);
    border-radius: 0.8rem;
    top: calc(0.15rem);
    left: calc(-2rem);
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.custom-switch .custom-control-label::before{
    left: -2em;
    height: calc(1.4rem);
    border-radius: 0.7rem;
    width: 3rem;
}
.con_disable .custom-switch .custom-control-label::before{
	background: #ccc;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after{
    transform: translateX(1.75rem);
    -webkit-transform: translateX(1.75rem);
} */


table.datatable,
.modal-body table.datatable_modal{
    background: #fff;
    color: #333333;
    line-height: 1.3em;
    font-size: 0.9em;
}
table.datatable thead,
.modal-body table.datatable_modal thead{
    background: #3c6a8b;
    color: #fff;
}
table.datatable thead tr th,
.modal-body table.datatable_modal thead tr th{
    text-align: left;
    background: transparent;
    color: #fff;
    width: auto;
}

table.datatable thead tr th,
table.datatable tbody tr td{
    border-right: 1px solid rgba(255,255,255,.3);
}

table.datatable tbody tr,
.modal-body table.datatable_modal tbody tr{
    cursor: pointer;
}
table.datatable tbody tr:hover,
.modal-body table.datatable_modal tbody tr:hover{
    box-shadow: inset 0 0 0 9999px rgba(9,160,212, 0.1);
}
table.datatable.no-select tbody tr,
.modal-body table.datatable_modal.no-select tbody tr{
    cursor: inherit;
}

table.datatable tbody tr td,
.modal-body table.datatable_modal tbody tr td{
    background: transparent;
}

.footer_aggregate_row table th{
    background: #eee;
    /* background: #3c6a8b; */
    /* color: #fff; */
}
.footer_aggregate_row table td{
    min-width: 100px;
}

table.datatable tbody tr td::selection,
.modal-body table.datatable_modal tbody tr td::selection{
    background-color: transparent;
    /* color: transparent; */
}
table.datatable tbody tr td::selection,
table.datatable tbody tr td input::selection{
    background-color: var(--idb_font-color);
    color: #fff;
}

table.datatable tbody tr:nth-child(odd),
.modal-body table.datatable_modal tbody tr:nth-child(odd){
    background: #d8f2f0;
}
table.datatable tbody tr:nth-child(even),
.modal-body table.datatable_modal tbody tr:nth-child(even){
    background: #eaf8f7;
}
table.dataTable>tbody>tr.selected>*{
    box-shadow: inset 0 0 0 9999px rgba(9,160,212, 0.9);
    border-bottom: 1px solid #fff;
    color: #fff;
}
table.dataTable>thead>tr>th,
table.dataTable>tbody>tr>th,
table.dataTable>tbody>tr>td {
    padding: 6px 10px;
}

table.dataTable th.dt-empty,
table.dataTable td.dt-empty{
    height: 50px;
    vertical-align: middle;
    text-align: left;
}
table.dataTable>tfoot tr{
    background: #e8e8e8;
}
table.dataTable>tfoot td{
    text-align: right;
}

table.dataTable>tbody>tr>td.select-checkbox{
    text-align: center;
}
table.datatable .form-check-input[type=checkbox]{
    cursor: pointer;
}
table.datatable .dt-select-checkbox{
    cursor: pointer;
    background-color: var(--idb_font-color);
    border-color: var(--idb_font-color);
    width: 1.2em;
    height: 1.2em;
    /* -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; */
}

table.datatable.nowrap-cell>thead>tr>th,
table.datatable.nowrap-cell>thead>tr>td,
table.datatable.nowrap-cell>tbody>tr>th,
table.datatable.nowrap-cell>tbody>tr>td{
    
    white-space:nowrap;
    /* max-width: 300px; */
    /* white-space:pre-wrap; */
    /* text-overflow:ellipsis; */
}


div.dt-container .dt-processing{
}
div.dt-processing > div:last-child > div{
    background: var(--idb_font-color);
}
div.dt-processing > div {
    display: none;
}
div.dt-processing_custom{
    background: #fff;
    border-radius: 5px;
    color: var(--idb_font-color);
    box-shadow: 0px 5px 10px rgba(0,0,0,.1);
    padding-top: 20px;
    padding-bottom: 20px;
}

table.dataTable thead>tr>th span.dt-column-order{
    right: 7px !important;
}
table.dataTable thead>tr>th{
    padding-right: 24px !important;
}

/* モーダル背景ぼかし */
/* .modal {
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
} */
.modal-backdrop{
    background-color: #222;
    --bs-backdrop-opacity: 0.75;
}
.modal-content{
    border-radius: unset;
}
.modal-content .modal-header{
    color: #fff;
    border-radius: unset;
    background-image: linear-gradient(90deg, rgba(23, 111, 169, 1) 0%, rgba(42, 63, 126, 1) 60%);
}
.modal-content .modal-header button{
    color: #fff;
}
.modal-content .modal-body{
    background: #cccccc;
}

.nav-tabs .nav-link{
    border-radius: unset;
    background: #fff;
    color: #333333;
}
.keyboard .nav-tabs .nav-link.active,
.keyboard .nav-tabs .nav-item.show .nav-link{
    background: #333333;
    color: #fff;
}

button.ui-datepicker-trigger{
    border: none;
    width: 40px;
    color: #fff;
}
button.ui-datepicker-trigger svg path,
button.ui-datepicker-trigger svg polygon{
    fill: #fff;
}
.dtp_trigger{
    cursor: pointer;
    padding-left: .55em;
    padding-right: .55em;
}
.dtp_trigger span.svg-wrap{
    cursor: pointer;
    color: #999;
}
.dtp_trigger span.svg-wrap:hover,
.dtp_trigger span.svg-wrap:focus,
.dtp_trigger span.svg-wrap:active{
    color: var(--idb_font-color);
}
.dtp_trigger span.svg-wrap svg{
    vertical-align:top;
}


#Error{
    color: #666;
}

#Login form label{
    color: #666;
    font-size: 1em;
}
#Login form input{
    font-size: 1.1em;
}

.login_app_info{
    text-align: center;
}
.login_app_info .app_name{
    font-size: 1.6em;
}
.login_app_info .app_version{
    font-size: 1em;
}

/* #Login .form_wrap{
    margin-top: 40px;
    margin-bottom: 40px;
} */
#LoginFooter .app_name{
    font-size: 1.3em;
}

#LoginFooter .copyright address{
    font-size: 0.8em;
}

#Wrap {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 100%;
    height: 100%;
}

#Wrap #SideMenu {
    /* width: 230px; */
    width: var(--idb_sidemenu-width);
    max-height: 100%;
    background-image: linear-gradient(180deg, rgba(23, 111, 169, 1) 0%, rgba(42, 63, 126, 1) 60%);
}

#Wrap .main_content {
    /* width: 100%; */
    width: calc(100% - var(--idb_sidemenu-width));
    background-color: #f0f0f0;

    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: auto;
    max-width: 100%;
    overflow: hidden;
}


#Wrap .main_content header,
#Wrap .main_content main,
#Wrap .main_content footer {
    max-width: 100%;
}

#Wrap .main_content header {
    height: 110px;
    background-color: #dcdcdc;
    color: #5d5d5d;
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    z-index: 1;
}
#Wrap .main_content header .header-wrap {
    height: 100%;
}
#Wrap .main_content header .header-wrap h2{
    letter-spacing: 3px;
}

#Wrap .main_content main {
    height: calc(100%);
    background-color: #f0f0f0;
    overflow-y: auto;
}
#Wrap .main_content main section{
    height: 100%;
    padding: 24px 48px;
}

#Wrap .main_content footer {
    height: 70px;
    text-align: left;
}
#Wrap .main_content footer address{
    font-size: 0.9em;
    margin: 0;
}

#Wrap #SideMenu .navi_logo{
    background-color: #fff;
}
#Wrap #SideMenu ul li{
    color: #fff;
}
#Wrap #SideMenu ul li:focus,
#Wrap #SideMenu ul li:hover,
#Wrap #SideMenu ul li:active,
#Wrap #SideMenu ul li.link_active
{
    background-color: rgba(0,0,0,0.3);
}
#Wrap #SideMenu ul li a{
    color: #fff;
    text-decoration: none;
    font-size: 1.1em;
    cursor: pointer;
}
#Wrap #SideMenu ul li a .sidemenu_link > span{
    height: 100%;
    line-height: 100%;
}

#UserInfo{
    background-color: #fff;
    border-radius: 100vh;
    height: 50px;
}
#UserInfo .username{
    font-size: 1em;
    margin-right: 0.8em;
}
#UserInfo .usercode{
    font-size: 0.8em;
    margin-right: 1em;
}
#UserInfo .usericon > div{
    background-color: #81adc7;
    color: #fff;
    border-radius: 100%;
}

main .dash_menu_box h4{
    font-size: 1.3em;
    color: var(--idb_font-color);
    letter-spacing: 2px;
}
main .dash_menu_box h4 span{
    height: 1em;
}

main .page-control-bar .active .ibdeliv_normal_btn_style{
    background: #666;
    color: #fff;
}

.page-header{
    background: #fff;
    border: 1px solid #ccc;
    padding-top: 16px;
    padding-bottom: 16px;
}

.page-header h3{
    border-left: 7px solid var(--idb_font-color);
    padding-left: 0.5em;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0;
    font-size: 1.4em;
    font-weight: bold;
    color: var(--idb_font-color);
    letter-spacing: 1px;
}

main .contents-wrap{
    background: #d3d3d3;
    padding: 10px;
}
.search_box{
    background: #eeeeee;
}
.search_box label{
    color: var(--idb_font-color-sub);
    height: 1.1em;
}
.search_box .form-block > label{
    font-weight: bold;
    color: var(--idb_font-color);
    /* text-decoration:underline; */
    /* border-left: 1px solid #666; */
}

.login_time_box .login_time_txt{
    height: 100%;
    line-height: 100%;
    font-size: 1.1em;
}

#Dashboard .dash_menu_wrap{
    display: flex;
    flex-flow: column wrap;
    height: 80vh;
}
#Dashboard .dash_menu_box{
    min-width: 0;
}
#Dashboard .dash_menu_box h4{
    font-weight: bold;
    margin-bottom: 16px;
    font-size: 1.4em;
}

#Dashboard .dash_menu_box ul li{
    display: inline-block;
}

#Dashboard .dash_menu_box ul li a{
    display: inline-block;
    box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
}

#Dashboard .dash_menu_box ul li a:hover,
#Dashboard .dash_menu_box ul li a:focus,
#Dashboard .dash_menu_box ul li a:active{
    opacity: 0.75;
}

form .form-block{
    /* border-right: 1px solid #e6e6e6; */
}

form label{
    margin-bottom: 10px;
}

ul.sub_menu li a{
    display: block;
    padding: 12px 0.75em;
    background: #666;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    font-size: 1.2em;
}
ul.sub_menu li a:hover,
ul.sub_menu li a:focus,
ul.sub_menu li a:active
{
    background: #777;
    text-decoration: underline;
}


#HaisyaOrder .accordion-item{
    background-color: transparent;
    border: none;
}
#HaisyaOrder .accordion-item .accordion-body{
    background: #bbb;
}

#HaisyaOrder .haisou_sortable{
    overflow-x: scroll;
    display: flex;
    width: 100%;
}
#HaisyaOrder .haisou_sortable .haisou_list_body{
    flex-grow: 1;
    min-width: 180px;
    max-width: 250px;
}
#HaisyaOrder .ui-state-highlight{
    min-width: 180px;
    max-width: 250px;
    background-color: #a6bec4 !important;
}
#HaisyaOrder .haisou_list_header{
    background-color: #a6bec4;
}
#HaisyaOrder .haisou_list_body{
    background-color: #fff;
    /* width: 180px; */
    cursor: pointer;
}
#HaisyaOrder .haisou_list_body.selected{
    background-color: #d8f2f0;
    color: var(--idb_font-color);
}
#HaisyaOrder .haisou_list_body.moved_data{
    background-color: rgba(70, 148, 143, 0.2);
    box-shadow: 0 0 0 100% rgba(255,255,255,0.1) inset;
}
#HaisyaOrder .hl_cell{
    min-height: 2.2em;
}
#HaisyaOrder .haisou_list_header .hl_cell,
#HaisyaOrder .haisou_list_body .hl_cell{
    border: 1px solid #777;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
#HaisyaOrder .haisou_list_body .hl_cell.sitei_active{
    background: #ffe676;
}
#HaisyaOrder h2.accordion-header button{
    /* background: #3c6a8b;
    color: #fff; */
}
#HaisyaOrder .order_kuiki_header{
    background: #3c6a8b;
    color: #fff;
    font-size: 1.2em;
}
#HaisyaOrder .haisya_order_data.selected_chiku .order_kuiki_header{
    background: #258dd8;
}


@media (min-width: 1400px) and (max-width: 1700px) {

    /**
    ルート変数設定
    */
    :root{
        --idb_sidemenu-width: 210px;
    }

    body{
        font-size: 14px;
    }

    .form-control,.form-select{
        font-size: 0.95em;
    }
    #Wrap #SideMenu {
        width: var(--idb_sidemenu-width);
        font-size: 0.95em;
    }

    #Wrap .main_content {
        /* width: 100%; */
        width: calc(100% - var(--idb_sidemenu-width));
    }
}


@media (min-width: 1000px) and (max-width: 1400px) {
    /**
    ルート変数設定
    */
    :root{
        --idb_sidemenu-width: 180px;
    }

    body{
        font-size: 14px;
    }

    .form-control,.form-select{
        font-size: 0.95em;
    }

    #Wrap #SideMenu {
        width: var(--idb_sidemenu-width);
        font-size: 0.95em;
    }

    #Wrap .main_content {
        /* width: 100%; */
        width: calc(100% - var(--idb_sidemenu-width));
    }
}


@media (max-width: 1000px) {
    /**
    ルート変数設定
    */
    :root{
        --idb_sidemenu-width: 180px;
    }

    body{
        font-size: 13px;
    }

    .form-control,.form-select{
        font-size: 0.9em;
    }

    #Wrap #SideMenu {
        width: var(--idb_sidemenu-width_sm);
        font-size: 0.9em;
    }

    #Wrap .main_content {
        /* width: 100%; */
        width: calc(100% - var(--idb_sidemenu-width_sm));
    }
}