@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css2?family=Kosugi&display=swap);
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: thin;
    font-weight: 100;
    src: url("/fonts/NotoSansCJKjp-Thin.eot");
    src: url("/fonts/NotoSansCJKjp-Thin.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Thin.woff") format("woff"), url("/fonts/NotoSansCJKjp-Thin.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Thin.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url("/fonts/NotoSansCJKjp-Regular.eot");
    src: url("/fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("/fonts/NotoSansCJKjp-Regular.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: bold;
    font-weight: 700;
    src: url("/fonts/NotoSansCJKjp-Bold.eot");
    src: url("/fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("/fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("/fonts/NotoSansCJKjp-Bold.ttf") format("truetype"), url("/fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}

html,

/* 半角円記号対策のため、GoogleFontsのKosugiをつかう */
body {
    /*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 'Noto Sans Japanese', sans-serif;*/
    /*font-family: "BIZ UDPゴシック","游ゴシック Medium", "Yu Gothic Medium", 'Noto Sans Japanese', sans-serif;*/
    font-family: 'Kosugi','Noto Sans Japanese', sans-serif;
    font-size: 13px;
    /*font-size: 1rem;*/
}
select {
    font-family: 'FontAwesome', 'Noto Sans Japanese', sans-serif;
}

/* クリックすると選択されるケースがあるためselectを無効にする */
label {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

/* 削除時のパスフレーズ用 */
pre.passphrase {
    display: block;
    margin: 0;
    padding: 5px;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    text-align: center;
    border: 1px;
    border-radius: 5px;
    font-size: 16px;
    background-color: white;
}
pre.delete-passphrase {
    background-color: pink;
}


.content-header h1 {
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 700;
}
.brand-text {
    font-family: 'Noto Sans Japanese', sans-serif;
}

.btn-primary {
    color: #fff !important;
    background-color: #00887E !important;
    border-color: #00887E !important;
}

.card-title {
    font-weight: 600;
}

.badge {
    font-weight: 400;
}
.badge.badge-category {
    color: #6c757d;
    background-color: #eee;
    border: 1px solid #6c757d;
}

/* サイドバーの開閉時のちらつきがうざいので対策 */
.sidebar-collapse .nav-header {
    display: block !important;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.sidebar .nav-item i.fa,
.sidebar .nav-item i.fas {
    font-size: 20px;
}
.nav-sidebar .nav-link p {
    white-space: nowrap !important;
}


.nav-bottom {
    width: 100%;
    height: 5px;
    margin-bottom: 5px;
    background-color: white;
    border-left: 1px solid #DFE2E6;
    border-right: 1px solid #DFE2E6;
    border-bottom: 1px solid #DFE2E6;
}

aside.main-sidebar {
    font-size: 1.25rem !important;
}
aside.main-sidebar .brand-link {
    font-size: 1.5rem !important;
    padding: 0.6rem 0.5rem !important;
}
aside.main-sidebar .brand-link .brand-image {
    margin-left: 0.5rem !important;
}

/** Sizing Utility **/
.width-150 {
    width: 150px;
    max-width: 150px;
    min-width: 150px;
}
.width-200 {
    width: 200px;
    max-width: 200px;
    min-width: 200px;
}
.width-250 {
    width: 250px;
    max-width: 250px;
    min-width: 250px;
}


/**********************************************************************************************************************/

/*スクロールバー*/

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    /*border-radius: 10px;*/
    box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
}
::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 50, .5);
    /*border-radius: 10px;*/
    box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}

/**********************************************************************************************************************/

.rm5 {
    margin-right: 5px;
}
.rm10 {
    margin-right: 10px;
}

.col-no-padding {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.category-nav {
    width: 100%;
}

.schedule-wrapper {
    width: 100%;
    display: flex;
}
.col-worker-side {
    max-width: 210px;
    min-width: 210px;
    /*margin-top: 10px;*/
    margin-right: 5px;
    overflow-y: auto;
}
.col-worker-side table {
    border: 1px solid #ddd;
}
.col-worker-side table thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #fff;
    border-bottom: 1px #eee;
}

.col-worker-side table th {
    padding: 2px 2px;
    text-align: center;
}
.col-worker-side table td {
    padding: 3px 3px;
}

.col-schedule-side {
    width: 100%;
    flex: 1;
    /*margin-top: 10px;*/
    overflow: scroll;
}
th.worker-cell,
td.worker-cell {
    width: auto;
    vertical-align: middle;
}
th.worker-cell span.worker-name,
td.worker-cell span.worker-name {
    display: block;
    width: 87px;
    max-width: 87px;
    min-width: 87px;
    vertical-align: middle;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
th.worker-select-cell,
td.worker-select-cell {
    width: 35px;
    max-width: 35px;
}

div.card-worker {
    height: 30px;
    padding: 5px 5px;
    text-align: center;
    vertical-align: middle;
    background: #eee;
    border-radius: 5px;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    cursor: pointer;
}
div.card-worker.card-worker-select {
    width: 30px;
    min-width: 30px;
    color: transparent;
}
div.card-worker.worker-assign {
    width: 80px;
    min-width: 80px;
    padding: 5px 1px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
div.card-worker.worker-assign.worker-assigned {
    /*background-color: peachpuff;*/
    cursor: pointer;
}
div.card-worker.worker-assign.worker-unassigned {
    color: #ccc;
    background-color: #eee;
    border: 2px dashed #ccc;
    padding: 3px;
}
div.card-worker.worker-available {
    /*background-color: peachpuff;*/
    color: black;
    cursor: pointer;
}
div.card-worker.worker-selected {
    line-height: 1.1;
    border: 3px solid rgba(255,0,0,0);
    animation: blink 0.5s ease-in-out infinite alternate;
}
@keyframes blink {
    0% {border: 3px solid rgba(255,0,0,0);}
    100% {border: 3px solid rgba(255,0,0,0.8);}
}
div.card-worker.worker-selected.select-am {
    background-color: #fd7e14 !important;
}
div.card-worker.worker-selected.select-pm {
    background-color: #28a745 !important;
}
div.card-worker.worker-selected.select-final {
    background-color: #008db7 !important;
}
div.card-worker.worker-already-assigned {
    opacity: 0.3 !important;
}
div.card-worker span.card-worker-name {
    width: 100%;
    margin: 0;
    text-align: center;
    /*transform: scaleX(0.8);*/
    white-space: nowrap;
}
input[type=radio].worker-select {
    display: none;
}
label.worker-select {
    font-weight: normal !important;
}

.tip {
    padding: 5px 5px;
    text-align: center;
    vertical-align: middle;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px 0 rgba(60, 64, 67, 0.16);
}


table.table-detail th {
    width: 200px;
    background-color: #eee;
}
table.table-detail th:nth-child(1) th,
table.table-detail th:nth-child(1) td {
    border-top: 1px solid #dee2e6;
}
table.table-detail td,
table.table-detail th {
    padding: .75rem;
    vertical-align: top;
    border-bottom: 1px solid #dee2e6;
}

table.table-customer-unit-price {

}
table.table-customer-unit-price.input-unit-price th,
table.table-customer-unit-price.input-unit-price td {
    padding: 0;
}
table.table-customer-unit-price td.title {
    width: 50%;
}
table.table-customer-unit-price td.unit_price,
table.table-customer-unit-price td.payment {
    width: 25%;
    text-align: right;
}
table.table-customer-unit-price td input {
    border-top: none !important;
    border-radius: 0 !important;
}
table.table-customer-unit-price td input.title {
}
table.table-customer-unit-price td input.unit_price,
table.table-customer-unit-price td input.payment {
    text-align: right;
}

/* worker table */
.table.worker-table {
    /*display: table;*/
    background-color: #fff;
    /*width: 100%;*/
    /*overflow: hidden;*/
    /*table-layout: fixed;*/
    border: 1px solid #ddd;
    /*border-radius: 6px;*/
    /*-webkit-border-radius: 6px;*/
    /*-moz-border-radius: 6px;*/
    border-collapse: separate;
    border-spacing: 0;
}
.table.worker-table .card-worker {
    /*background-color: peachpuff;*/
}

.select-am {
    background-color: #EAAC6E !important;
}
.select-pm {
    background-color: #9DC68A !important;
}
.select-final {
    background-color: #99B5D3 !important;
}
.table.worker-table thead th {
    border: none;
}
.table.worker-table th,
.table.worker-table td {
    border-bottom: 1px solid #ddd;
}

/* schedule table */
.vue-list-table-wrapper {
    /*margin-left: 160px;*/
    /*height: 100vh;*/
    /*overflow-x: scroll;*/
    /*overflow-y: scroll;*/
    /*overflow: scroll;*/
}
.table.vue-list-table {
    display: table;
    background-color: #fff;
    /*width: auto;*/
    /*overflow: hidden;*/
    /*overflow: scroll;*/
    table-layout: fixed;
    /*border: 1px solid #ddd;*/
    /*border-radius: 6px;*/
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-collapse: separate;
    border-spacing: 0;
}
.vue-list-table__default {
    width: 100%;
}
.vue-list-table__scrollable {
    width: auto;
}
.vue-list-table .grip,
.vue-list-table .grip-disabled {
    font-size: 1.1rem;
    color: #ddd;
    width: 20px;
    min-width: 20px;
    vertical-align: middle!important;
    background-color: #fff;
}
.vue-list-table td.grip {
    cursor: grab;
}
.vue-list-table td.grip:hover {
    color: black;
}
.vue-list-table .id {
    width: 20px;
    min-width: 20px;
    text-align: right;
    vertical-align: middle!important;
}
.vue-list-table .check,
.vue-list-table .estimate,
.vue-list-table .report {
    width: 45px;
    min-width: 45px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .check .far,
.vue-list-table .estimate .fas,
.vue-list-table .report .fas {
    font-size: 1.4rem!important;
    color: #ddd !important;
}
.vue-list-table .check .far.active,
.vue-list-table .estimate .fas.active,
.vue-list-table .report .fas.active {
    font-size: 1.4rem!important;
    color: #ff0000 !important;
}
.vue-list-table .category {
    width: 100px;
    min-width: 100px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .number {
    width: 20px;
    min-width: 20px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .times {
    width: 50px;
    min-width: 50px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .times .badge {
    font-size: 1.1rem;
}
.vue-list-table .map {
    width: 32px;
    min-width: 32px;
    text-align: center;
}
.vue-list-table .indicator {
    width: 75px;
    min-width: 75px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .indicator .fas {
    font-size: 1.4rem!important;
    color: #ddd !important;
}
.vue-list-table .indicator .fas.file--attached {
    cursor: pointer !important;
}
.vue-list-table .indicator .fas.file_maps--attached {
    color: red !important;
}
.vue-list-table .indicator .fas.file_ngchart--attached {
    color: green !important;
}
.vue-list-table .indicator .fas.file_etcdocs--attached {
    color: blue !important;
}

.vue-list-table .indicator .fa-map-marked-alt.active {
    color: dodgerblue!important;
}
.vue-list-table .indicator .fa-file-signature.active {
    color: red!important;
}
.vue-list-table td.indicator {
    letter-spacing: 2px!important;
}
.vue-list-table td.indicator i {
    width: auto!important;
}
.vue-list-table th.flexible {
    width: 100%;
}
.vue-list-table td.flexible {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.vue-list-table .flexible div.flex__zip_cd,
.vue-list-table .flexible div.flex__address {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vue-list-table .max-line-2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.vue-list-table .send {
    width: 40px;
    min-width: 40px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .send span.badge {
    width: 30px;
}
.vue-list-table .am,
.vue-list-table .pm,
.vue-list-table .final {
    width: 85px;
    min-width: 85px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .am .card-worker {
    /*background-color: palegoldenrod;*/
}
.vue-list-table .pm .card-worker {
    /*background-color: palegreen;*/
}
.vue-list-table .final .card-worker {
    /*background-color: paleturquoise;*/
}
.vue-list-table .date {
    width: 80px;
    min-width: 80px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .time {
    width: 45px;
    min-width: 45px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .contractor,
.vue-list-table .client {
    width: 250px;
    min-width: 250px;
    text-align: left;
}
.vue-list-table .name,
.vue-list-table .company_name {
    width: 150px;
    min-width: 150px;
    text-align: left;
}
.vue-list-table .company {
    width: 300px;
    min-width: 300px;
    text-align: left;
}
.vue-list-table th.address {
    width: 400px;
    min-width: 400px;
    text-align: left;
}
.vue-list-table td.address {
    width: 400px;
    min-width: 400px;
    text-align: left;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.vue-list-table .tel {
    width: 110px;
    min-width: 110px;
    text-align: left;
}
.vue-list-table .email {
    width: 200px;
    min-width: 200px;
    text-align: left;
}
.vue-list-table .notes,
.vue-list-table .memo,
.vue-list-table .contents,
.vue-list-table .operation_time,
.vue-list-table .message,
.vue-list-table .expenses,
.vue-list-table .am_detail,
.vue-list-table .pm_detail,
.vue-list-table .final_detail,
.vue-list-table .update,
.vue-list-table .create {
    width: 150px;
    min-width: 150px;
    text-align: left;
}
.vue-list-table .cutoff,
.vue-list-table .tax_type {
    width: 45px;
    min-width: 45px;
    text-align: center;
    vertical-align: middle!important;
}
.vue-list-table .menu {
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}
.vue-list-table .menu__single {
    width: 45px;
    min-width: 45px;
}
.vue-list-table .menu__double {
    width: 90px;
    min-width: 90px;
}
.vue-list-table .menu__triple {
    width: 135px;
    min-width: 135px;
}
.vue-list-table .menu__quadruple {
    width: 180px;
    min-width: 180px;
}
.vue-list-table .worker-name,
.vue-list-table .worker-email {
    width: 300px;
    min-width: 300px;
    text-align: left;
}
.vue-list-table .worker-category {
    width: 100%;
    text-align: left;
}

.table.vue-list-table td div.cell-container-half {
    height: 20px;
    max-height: 20px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.table.vue-list-table td div.cell-container {
    height: 40px;
    max-height: 40px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.table.vue-list-table thead,
.table.vue-list-table tbody {
    display: block;
}
.table.vue-list-table thead {
    border-spacing: 0;
    /*border-bottom: 1px solid #ddd;*/
    border: 1px solid #ddd;
    background-color: #fff;
    /*border-radius: 6px 6px 0 0;*/
    /*-webkit-border-radius: 6px 6px 0 0;*/
    /*-moz-border-radius: 6px 6px 0 0;*/
    border-collapse: separate;
    position: sticky;
    top: 0;
    z-index: 3;
}

.table.vue-list-table tbody {
    /*border-spacing: 0px 5px;*/
    /*overflow-x: scroll;*/
    /*overflow-y: hidden;*/
}
.table.vue-list-table thead tr,
.table.vue-list-table tbody tr {
    /*background-color: #fff;*/
    /*border: 1px solid #ddd;*/
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.table.vue-list-table tbody tr {
    border: 1px solid #ddd;
    /*border-radius: 5px;*/
    /*box-shadow: 0px 2px 5px 0px rgba(60, 64, 67, 0.16);*/
}
.table.vue-list-table tbody tr.schedule-data:hover {
    background-color: #fcfade;
}
.table.vue-list-table th {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    border: none;
}

.table.vue-list-table thead th {
    /*position: sticky;*/
    /*position: -webkit-sticky;*/
    /*top: 0;*/
    /*z-index: 1;*/
}
/*.table.vue-list-table th:first-child {*/
/*    !* 横スクロール時に固定する *!*/
/*    position: -webkit-sticky;*/
/*    position: sticky;*/
/*    left: 0;*/
/*}*/
/*.table.vue-list-table thead th:first-child {*/
/*    !* ヘッダー行内の他のセルより手前に表示する *!*/
/*    z-index: 2;*/
/*}*/

/*.table.vue-list-table thead th:first-child {*/
/*    position: sticky;*/
/*    position: -webkit-sticky;*/
/*    top: 0;*/
/*    left: 0;*/
/*    z-index: 2;*/
/*}*/
.table.vue-list-table tbody td:first-child {
    position: sticky;
    position: -webkit-sticky;
    left: 0;
    z-index: 2;
}
.table.vue-list-table tfoot td:first-child {
    position: sticky;
    position: -webkit-sticky;
    left: 0;
    bottom: 0;
    z-index: 2;
}
.table.vue-list-table th,
.table.vue-list-table td {
    padding: 2px;
    /*border: 1px solid #ddd;*/
}

/*セル間の罫線*/
.table.vue-list-table th {
    border-top: none;
    border-bottom: none;
    border-left: none;
    border-right: 1px solid #eee;
    -o-border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
       border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
    border-image-slice: 1;
}
.table.vue-list-table th.time,
.table.vue-list-table th.update {
    border-left: 1px solid #eee;
    -o-border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
       border-image: linear-gradient(to bottom, #fff 0%, #fff 10%, #ccc 50%, #fff 90%, #fff 100%);
    border-image-slice: 1;
}
.table.vue-list-table th.grip,
.table.vue-list-table th.assign-user,
.table.vue-list-table th.assign-time,
.table.vue-list-table th.final,
.table.vue-list-table th.assign-final {
    border-right: none;
}
.table.vue-list-table th:last-child {
    border:none;
}

.table.vue-list-table tbody td i {
    width: 16px;
    color: #aaa;
    text-align: center;
}
.table.vue-list-table tbody tr.added {
    background-color: #ffffff;
    animation: change-color-anim 3s linear;
}
@keyframes change-color-anim {
    0%{
        background-color: #ffddbc;
    }
    100%{
        background-color: #ffffff;
    }
}
.table.vue-list-table tbody tr.context_select {
    background-color: #d6ffd6;
}

.table.vue-list-table th.assign-time {
    /*-webkit-box-sizing: border-box;*/
    /*-moz-box-sizing: border-box;*/
    /*-o-box-sizing: border-box;*/
    /*-ms-box-sizing: border-box;*/
    /*box-sizing: border-box;*/
    /*width: 390px !important;*/
}
.table.vue-list-table th.assign-am,
.table.vue-list-table th.assign-noon,
.table.vue-list-table th.assign-pm,
.table.vue-list-table th.assign-dusk,
.table.vue-list-table th.assign-final {
    padding-left: 0px !important;
    padding-right: 0px !important;;
    /*border-top: none;*/
    /*border-bottom: none;*/
    /*border-right: 1px solid #eee;*/
    /*border-left: 1px solid #eee;*/
    /*border-image: linear-gradient(to bottom, #fff 0%, #eee 25%, #eee 75%, #fff 100%);*/
    /*border-image-slice: 1;*/
}
.table.vue-list-table td.assign-am,
.table.vue-list-table td.assign-noon,
.table.vue-list-table td.assign-pm,
.table.vue-list-table td.assign-dusk,
.table.vue-list-table td.assign-final {
    white-space: nowrap;
    vertical-align: middle;
    padding-left: 0px !important;
    padding-right: 0px !important;;
}
.table.vue-list-table th.assign-am,
.table.vue-list-table td.assign-am {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    width: 90px;
}
.table.vue-list-table th.assign-pm,
.table.vue-list-table td.assign-pm,
.table.vue-list-table th.assign-final,
.table.vue-list-table td.assign-final {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    width: 120px;
}
.table.vue-list-table th.assign-noon,
.table.vue-list-table td.assign-noon,
.table.vue-list-table th.assign-dusk,
.table.vue-list-table td.assign-dusk {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    width: 30px;
}

.table.vue-list-table tfoot tr {
    padding: 5px;
    background-color: #fff;
    border: 1px solid #eee;
}
.table.vue-list-table tfoot td.bottom-menu {
    padding: 10px;
    background-color: #fff;
}


.assign-cell-header-wrapper,
.assign-cell-wrapper {
    padding: 0;
    height: 20px;
}
.assign-cell-header {
    font-size: 8pt;
    color: #aaa;
    width: 30px;
    height: 20px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    border: 1px solid #ddd;
}
.assign-cell {
    width: 15px;
    height: 20px;
    display: inline-block;
    border: 1px solid #ddd;
    cursor: pointer;
}
.assign-cell.assigned {
    cursor: pointer;
}
.assign-am .assign-cell.assigned {
    background-color: #EAAC6E;
}
.assign-noon .assign-cell.assigned {
    background-color: #EAAC6E;
}
.assign-pm .assign-cell.assigned {
    background-color: #9DC68A;
}
.assign-dusk .assign-cell.assigned {
    background-color: #9DC68A;
}
.assign-final .assign-cell.assigned {
    background-color: #99B5D3;
}
.assign-cell.active {
    cursor: pointer;
}
.assign-cell.inactive {
    width: 15px;
    height: 20px;
    background: #eee;
    background-image: linear-gradient(to left top, transparent 50%, #ccc 50%, #ccc calc(50% + 1px), transparent calc(50% + 1px));
    cursor: not-allowed;
}

/* schedule card */
.schedule-card {
    width: 100%;
}

/* temporary */
.add-category {
    color: green;
}
.add-category i {
    font-size: 1.2rem;
}

.content-header h1 {
    display: inline-block;
}

.alert {
    width: 100%;
}
.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}
.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}
#map-canvas {
    width: 100%;
    height: 80vh;
}

input.editable_input,
textarea.editable_input {
    width: 100%;
    border: none!important;
}
input.editable_input:focus,
textarea.editable_input:focus {
    /*outline: none;*/
    outline: 1px dashed red;
    border-radius: 2px;
}




.required::after {
    content: "必須";
    color: #ffffff;
    background: #cc0000;
    font-size: 0.4em;
    padding: 0.2em 1em 0.5em;
    border-radius: 0.5em;
    margin-left: 0.5em;
}

.date-navi {
    /*margin-left: 10px;*/
    /*margin-bottom: 10px;*/
    margin-top: 2px;
}

/*.content {*/
/*    overflow: hidden;*/
/*    position: relative;*/
/*}*/
#loader {
    position: fixed;
    /*position: absolute;*/
    left: 0;
    top: 0;
    z-index: 2000;
    display: none;
}
#loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background: rgba(200,200,200,0.8);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2001;
}
.loading{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    height: 40px;
    display: flex;
    align-items: center;
    z-index: 2002;
}
.obj{
    width: 5px;
    height: 40px;
    background: #699E92;
    margin: 0 3px;
    border-radius: 10px;
    animation: loading 0.8s infinite;
    z-index: 2003;
}
.obj:nth-child(2){animation-delay: 0.1s;}
.obj:nth-child(3){animation-delay: 0.2s;}
.obj:nth-child(4){animation-delay: 0.3s;}
.obj:nth-child(5){animation-delay: 0.4s;}
.obj:nth-child(6){animation-delay: 0.5s;}
.obj:nth-child(7){animation-delay: 0.6s;}
.obj:nth-child(8){animation-delay: 0.7s;}
@keyframes loading{
    0%{height: 0;}
    50%{height: 40px;}
    100%{height: 0;}
}


/* datepicker */
.datepicker-days th.dow:first-child,
.datepicker-days td:first-child {
    color: #f00;
}
.datepicker-days th.dow:last-child,
.datepicker-days td:last-child {
    color: #00f;
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover {
    background-color: #337ab7;
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.bootstrap-datetimepicker-widget table td span.active,
.bootstrap-datetimepicker-widget table td i.active {
    background-color: #337ab7;
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

/* schedules */
div.message_schedule_empty {
    margin: 10px;
}

/* vue.draggable.next ghost class */
.ghost {
    opacity: 0.75;
    background: #c8ebfb;
}

/* vue v-cloak */
[v-cloak] {
    opacity: 0;
}


/* fullcalendar */
td.fc-day-other {
    background-color: #eeeeee;
}
td.fc-day-mon a.fc-daygrid-day-number,
td.fc-day-tue a.fc-daygrid-day-number,
td.fc-day-wed a.fc-daygrid-day-number,
td.fc-day-thu a.fc-daygrid-day-number,
td.fc-day-fri a.fc-daygrid-day-number {
    color: black;
}
td.fc-day-sat {
    background-color: #eaf4ff;
}
td.fc-day-sat a.fc-daygrid-day-number {
    color: blue;
}
td.fc-day-sun {
    background-color: #ffeaea;
}
td.fc-day-sun a.fc-daygrid-day-number {
    color: red;
}

/* horizontal calendar */
div.card-body-horizontal-calendar {
    padding: 0;
}
small.company-name {
    margin-left: 5px;
    color: #6c757d;
}
table.horizontal-calendar {
    /*display: table;*/
    /*background-color: #fff;*/
    /*width: 100%;*/
    /*overflow: hidden;*/
    /*table-layout: fixed;*/
    /*border: 1px solid #ddd;*/
    /*border-radius: 6px;*/
    /*-webkit-border-radius: 6px;*/
    /*-moz-border-radius: 6px;*/
    /*border-collapse: separate;*/
    /*border-spacing: 0;*/
    border: none;
}
table.horizontal-calendar tr {
    border: none;
}
table.horizontal-calendar th {
    background-color: #eee;
}
table.horizontal-calendar th:first-child {
    background-color: #ddd;
}
table.horizontal-calendar th.table-header:first-child {
    border-left: none;
    border-right: 1px solid #DFE2E6;
}
table.horizontal-calendar th.table-header:last-child {
    border-right: none;
}
table.horizontal-calendar th.row-header {
    border-left: none;
    border-right: 1px solid #DFE2E6;
}
table.horizontal-calendar th.weekday-sat {
    color: #1A0FFC;
    background-color: #EDF4FF;
}
table.horizontal-calendar th.weekday-sun {
    color: #D70702;
    background-color: #F9EAEA;
}
table.horizontal-calendar th,
table.horizontal-calendar td {
    font-size: 13px;
    width: 32px;
    height: 32px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    /*border: none;*/
}
table.horizontal-calendar td {
    cursor: pointer;
}
/*table.horizontal-calendar td {*/
/*    border-right: 1px solid #DFE2E6;*/
/*}*/
table.horizontal-calendar td:last-child {
    border-right: none;
}
table.horizontal-calendar td.worker-available {
    color: #375623;
    background-color: #E2EFDA;
}

.nav-sidebar-custom-menu-quickadd,
.nav-sidebar-custom-menu-todayschedule {
    /*background-color: #5B8881;*/
    border: 1px solid #56606a;
    color: #fff;
    border-radius: 0.25rem;
}
.nav-sidebar-custom-menu-quickadd a,
.nav-sidebar-custom-menu-todayschedule a {
    margin-bottom: 0 !important;
}

/**
Context Menu
 */
.context-menu {
    position: absolute;
    width: auto;
    padding: 5px 0;
    background-color: rgb(255, 255, 255);
    /*border: 1px solid rgb(238, 238, 238);*/
    border-radius: 5px;
    box-shadow: 0 0 8px gray;
    z-index: 9999;
}
.context-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.context-menu ul li {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    height: 24px;
    line-height: 24px;
    padding: 2px 20px 2px 20px;
    vertical-align: middle;
    cursor: pointer;
}
.context-menu ul li span.context_icon {
    display: inline-block;
    width: 20px;
}
.context-menu ul li span.context_title {
    min-width: 65px;
    display: inline-block;
}
.context-menu ul li span.context_description {
    display: inline-block;
    float: right;
    font-size: 0.8rem;
    color: #666;
    text-align: right;
    vertical-align: middle;
}
.context-menu ul li:hover {
    background-color: #ddd;
}
.context-menu hr {
    margin: 2px 0;
}

/** Dropzone --------------------------------------------------------------------------------------------------------**/
/*.dropzone {*/
/*    width: 100%;*/
/*    cursor: pointer;*/
/*    overflow: hidden;*/
/*    position: relative;*/
/*    box-sizing: border-box;*/
/*    min-height: 250px;*/
/*    border: dashed rgba(0, 0, 0, 0.12);*/
/*    border-radius: 4px;*/
/*    background-color: #eee;*/
/*}*/
.dropzone {
    border-radius: 4px;
    border: 2px dashed #0087f7 !important;
    width: 100%px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
}

.dz-success-mark {
    background-color: rgb( 102, 187, 106, .8 )!important;
}

.dz-success-mark svg {
    font-size: 54px;
    fill: #fff !important;
}

.dz-error-mark {
    background-color: rgba( 239, 83, 80, .8 ) !important;
}

.dz-error-mark svg {
    font-size: 54px;
    fill: #fff !important;
}

.dz-clickable {
    height: 200px;
    width: 100%;
    margin: 30px 0 20px;
    border-style: dashed;
    border-width: 2px;
    text-align: center;
    cursor: pointer;
}

/* TinyMCE */
.tox-tinymce {
    border: 1px solid #D0D4D9 !important;
    border-radius: 5px !important;
}
/*.tox-icon.tox-tbtn__icon-wrap svg {*/
/*    width: 20px !important;*/
/*    height: 20px !important;*/
/*}*/

/* OpenLayers Map */
.ol-popup {
    position: absolute;
    background-color: white;
    filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #cccccc;
    bottom: 30px;
    left: -50px;
    min-width: 250px;
    font-size: 0.8em;
}
.ol-popup:after, .ol-popup:before {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.ol-popup:after {
    border-top-color: white;
    border-width: 10px;
    left: 48px;
    margin-left: -10px;
}
.ol-popup:before {
    border-top-color: #cccccc;
    border-width: 11px;
    left: 48px;
    margin-left: -11px;
}

/*ポップアップ閉じるボタン*/
.ol-popup-closer {
    text-decoration: none;
    position: absolute;
    top: 2px;
    right: 8px;
}
.ol-popup-closer:after {
    content: "✖";
}

.map {
    width:100%;
    height:480px;
}
.map.placeholder {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #eee;
}
.map.placeholder .message {
    text-align: center;
    font-size: 24px;
    color: #ddd;
}

