* {
    font-family: "YakuHanJP", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
        "Noto Sans JP", "Meiryo", "sans-serif";
}
*:focus {
    outline: unset;
}
.base .form-control,
.base .form-select {
    border-color: var(--grey-border);
}
.form-control:focus,
.form-select:focus,
.page-link:focus {
    box-shadow: 0 0 0 0.15rem rgba(109, 215, 178, 1);
}
body {
    word-break: break-all;
}
/*処理中を示すレイヤー*/
#progress {
    display: none;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.1);
}

.err-msg,
.note {
    color: red;
    font-weight: bold;
}

.loading {
    position: fixed;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
}

.loading div {
    width: 6px;
    height: 6px;
    position: absolute;
    border-radius: 50%;
    background-color: #ffffff;
    animation: progress 1s linear infinite;
}

.loading div:nth-child(1) {
    top: 37px;
    left: 66px;
    animation-delay: 0s;
}

.loading div:nth-child(2) {
    top: 22px;
    left: 62px;
    animation-delay: -0.1s;
}

.loading div:nth-child(3) {
    top: 11px;
    left: 52px;
    animation-delay: -0.2s;
}

.loading div:nth-child(4) {
    top: 7px;
    left: 37px;
    animation-delay: -0.3s;
}

.loading div:nth-child(5) {
    top: 11px;
    left: 22px;
    animation-delay: -0.4s;
}

.loading div:nth-child(6) {
    top: 22px;
    left: 11px;
    animation-delay: -0.5s;
}

.loading div:nth-child(7) {
    top: 37px;
    left: 7px;
    animation-delay: -0.6s;
}

.loading div:nth-child(8) {
    top: 52px;
    left: 11px;
    animation-delay: -0.7s;
}

.loading div:nth-child(9) {
    top: 62px;
    left: 22px;
    animation-delay: -0.8s;
}

.loading div:nth-child(10) {
    top: 66px;
    left: 37px;
    animation-delay: -0.9s;
}

.loading div:nth-child(11) {
    top: 62px;
    left: 52px;
    animation-delay: -1s;
}

.loading div:nth-child(12) {
    top: 52px;
    left: 62px;
    animation-delay: -1.1s;
}

@keyframes progress {

    0%,
    20%,
    80%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.5);
    }
}
a {
    text-decoration: none;
}
.cursor-pointer {
    cursor: pointer;
}
.fs-14 {
    font-size: 14px;
}
:root {
    --red-dark: #ff1125;
    --red-light: #ff4f5d;
    --blue-dark: #6c63eb;
    --blue-light: #4046f8;
    --blue-deep-dark: #2e3192;
    --cyan-light: #6FD8B3;
    --grey-dark: #ddd;
    --grey-medium: #ededed;
    --grey-light: #f8f6f6;
    --grey-readonly: #f5f5f5;
    --grey-border: #d0d0d0;
    --yellow-dark: #ffc832;
    --green-dark:#00b400;
    --green-deep-dark:#1BB556;
}
input[type="checkbox"] {
    margin-top: 4px;
}
.btn-box-shadow {
    box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.2);
}
.btnY {
    width: 68px;
    color: #FFFFFF;
    font-weight: normal;
    text-align: center;
    border-radius: 4px;
}
.btnN {
    width: 68px;
    color: #000;
    font-weight: normal;
    text-align: center;
    border-radius: 4px;
}
.btnYes:hover {
    background-color: var(--green-dark) !important;
}
.btnNo:hover {
    background-color: var(--grey-dark) !important;
}
.bg-red-light {
    background-color: var(--red-light)!important;
}
div.page-tit {
    font-size: 20px;
    margin: 5px auto;
    background-color: #eee;
}
.menu .nav-link {
    color: var(--bs-dropdown-link-color);
}
.menu a.nav-link:hover,
.menu a.nav-link.active,
.menu a.nav-link:focus {
    color: var(--red-dark);
}
.menu a.nav-link.active {
    border-bottom: 2px solid var(--red-dark);
}
.menu .dropdown-menu {
    padding: 0;
    margin-top: 0;
    z-index: 1021;
    --bs-dropdown-min-width: 100%;
}
.menu .dropdown-menu li:not(:last-child) {
    margin-bottom: 2px;
}
.menu a.dropdown-item:hover,
.menu a.dropdown-item.active,
.menu a.dropdown-item:focus {
    color: var(--green-dark);
    background-color: var(--grey-medium);
}
.menu a.dropdown-item.active {
    border-left: 3px solid var(--green-dark);
    border-bottom: 1px dotted var(--green-dark);
}
.w-c-50 {
    width: 50px;
    min-width: 50px;
}
.mw-c-50 {
    min-width: 50px;
}
.w-c-100 {
    width: 100px;
    min-width: 100px;
}
.mw-c-100 {
    min-width: 100px;
}
.w-c-150 {
    width: 150px;
    min-width: 150px;
}
.mw-c-150 {
    min-width: 150px;
}
.w-c-200 {
    width: 200px;
    min-width: 200px;
}
.w-c-250 {
    width: 250px;
    min-width: 250px;
}.w-c-300 {
    width: 300px;
    min-width: 300px;
}
.mw-c-200 {
    min-width: 200px;
}
.mw-c-250 {
    min-width: 250px;
}
.mw-c-300 {
    min-width: 300px;
}
.mw-c-400 {
    min-width: 400px;
}
.w-day {
    width: 110px;
    min-width: 110px;
}
.w-fit-content {
    width: fit-content;
}
table td {
    padding: 5px;
}
table {
    width: 100%;
    white-space: nowrap;
    border-collapse: collapse;
}
.tr-head {
    background-color: var(--cyan-light);
}
.tr-bg tr:nth-child(even) {
    background-color: var(--grey-medium);
}
.tb-login {
    min-height: calc(100vh - 100px);
}
.border-radius-none {
    border-radius: unset;
}
.base input:not([type='checkbox'], [type='radio']):read-only,
.base input:not([type='checkbox'], [type='radio']):read-only:focus,
.base textarea:read-only {
    background-color: var(--grey-readonly);
}
.disable {
    pointer-events: none;
    background-color: gray;
    border-color: gray;
}
.btn-green {
    --bs-btn-color: #fff;
    --bs-btn-bg: #1BB556;
    --bs-btn-border-color: #1BB556;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1fc45e;
    --bs-btn-hover-border-color: #13a84c;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #13a84c;
    --bs-btn-active-border-color: #2cce6a;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #1BB556;
    --bs-btn-disabled-border-color: #1BB556;
}
.btn-outline-green {
    --bs-btn-color: #1BB556;
    --bs-btn-border-color: #1BB556;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1BB556;
    --bs-btn-hover-border-color: #1BB556;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1BB556;
    --bs-btn-active-border-color: #1BB556;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #1BB556;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #1BB556;
    --bs-gradient: none;
  }
.label-bg {
    background-color: var(--blue-deep-dark);
    color: #ffffff;
}
.label-bg:empty {
    background: var(--blue-deep-dark);
    height: 30px;
    width: 10px;
}
.border-blue {
    --bs-border-opacity: 1;
    --bs-green-dark: 27, 181, 86;
    border-color: rgba(var(--bs-green-dark), var(--bs-border-opacity)) !important;
}
.bg-green {
    --bs-bg-opacity: 1;
    --bs-green-dark: 27, 181, 86;
    background-color: rgba(var(--bs-green-dark), var(--bs-bg-opacity)) !important;
}
.select-disable {
    pointer-events: none;
    background-color: var(--grey-readonly);
}
.icon-green {
    color: var(--green-deep-dark);
}
.bg-title {
    background-color: var(--grey-medium);
    border: 1px solid var(--grey-border);
}
.logo {
    height: 50px;
}
.border-transparent {
    border-color: transparent !important;
}
.pointer-none {
    pointer-events: none;
}
.bg-grey-medium {
    background-color: var(--grey-medium) !important;
}
.bg-grey-light {
    background-color: var(--grey-light) !important;
}
.bg-cyan-light {
    background-color: var(--cyan-light) !important;
}
.border-top-3 {
    border-top-width: 3px !important;
}
.border-right-3 {
    border-right-width: 3px !important;
}
.top--1{
    top: -1px;
}
.sticky-left{
    left: -1px;
    z-index: 1019;
    position: sticky;
    position: -webkit-sticky;
}
.z-index-1020{
    z-index: 1020 !important;
}
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@media only screen and (max-width: 1439px) {
    .menu-con {
        flex-direction: column;
    }
}

@media only screen and (max-width: 1439px) and (min-width: 768px) {
    .menu .dropdown:last-child .dropdown-menu {
        right: 0;
        left: unset;
    }
}

@media only screen and (min-width: 768px) {
    .tb-login table {
        width: 500px;
    }
    .logout-mb {
        display: none;
    }
    .menu .dropdown:hover>.dropdown-menu {
        display: block;
        animation: fadeIn 1s;
        -webkit-animation: fadeIn 1s;
    }
    .menu li.nav-item {
        width: 150px;
        text-align: center;
    }
        .menu li.nav-item:not(:last-child) {
            border-right: 1px dotted var(--red-dark);
        }
}
@media only screen and (max-width: 767px) {
    .logout-pc {
        display: none;
    }
    .menu .navbar-collapse {
        left: 1%;
        width: 98%;
        top: 90px;
        z-index: 1031;
        position: fixed;
        height: calc(100% - 90px);
    }
    .menu .navbar-nav{
        top: 20px;
        width: 100%;
        height: 100%;
        padding: 5px;
        position: absolute;
        background-color: #fafafa;
        border-radius: 4px;
        border: 1px solid #ddd;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 4px 8px 0 rgba(0, 0, 0, 0.19);
    }
    .menu li.nav-item {
        border-bottom: 1px dotted var(--red-dark);
    }
    .dropdown-menu.show {
        animation: fadeIn 1s;
        -webkit-animation: fadeIn 1s;
    }

    /* Remove border from toggler */
    .navbar-toggler {
        border: 0 !important;
        position: relative;
        z-index: 1031 !important;
    }

    .navbar-toggler:focus,
    .navbar-toggler:active,
    .navbar-toggler-icon:focus {
        outline: none !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    /* Lines of the Toggler */
    .toggler-icon{
        width: 30px;
        height: 3px;
        background-color: #00f900;
        display: block;
    }

    /* Adds Space between the lines */
    .middle-bar{
        margin: 5px auto;
    }

    /* State when navbar is opened (START) */
    .navbar-toggler .top-bar {
        transform: rotate(45deg);
        transform-origin: 15% 10%;
        position: fixed;
    }

    .navbar-toggler .middle-bar {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    .navbar-toggler .bottom-bar {
        transform: rotate(-45deg);
        transform-origin: 20% 90%;
        position: fixed;
    }

    /* State when navbar is collapsed (START) */
    .navbar-toggler.collapsed .top-bar {
        transform: rotate(0);
        position: static;
    }

    .navbar-toggler.collapsed .middle-bar {
        opacity: 1;
        filter: alpha(opacity=100);
    }

    .navbar-toggler.collapsed .bottom-bar {
        transform: rotate(0);
        position: static;
    }

    /* Color of Toggler when collapsed */
    .navbar-toggler.collapsed .toggler-icon {
        background-color: var(--green-dark);
    }

    .custom-backdrop {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: none;
        z-index: 1030 !important;
    }

    #navbarSupportedContent {
        transition: none 0s ease 0s;
    }
}
@media only screen and (max-width: 767px) and (min-width: 576px) {
    .menu .navbar-collapse {
        height: calc(100% - 40px);
        top: 40px;
    }
}

.icon-purple {
    color: #7B66FF;
}