@charset "UTF-8";
:root {
    --break-point-hamburger: 1280px;
    /* color */
    --font-color: #444;
    --font-color-light: #8b8c92;
    --font-color-active: ;
    --font-color-disabled: #9c9c9c;
    --font-color-muted: #97a3ae;
    --font-color-placeholder: #d5d6d6;
    --font-color-detail-th: #41526d;
    --font-color-box-light: #a9b6c8;
    --border-color: #d5d6d6;
    --border-color-light: #E6EEF5;
    --border-color-box-light: #c7d3e3;
    --border-color-form-control: #ced4da;
    --border-color-table-cell: #dee2e6;
    --background-color: #f7f7f7//#F2F7FB;
    --background-color-light: #f4f5f6;
    --background-color-dark: #344760;
    --background-color-muted: #f7f7f7;
    --background-color-primary-light: #d9e4f7;
    --background-color-danger: #f8d7da;
    --background-color-danger-hover: #f2bdc2;
    --background-color-detail-th: #ecf1f7;
    --side-background-color: #fff;
    /* text */
    --font-size: 15px;
    --icon-font-size: 1.15em;
    --line-height: 16px;
    /* size */
    --window-height: 100vh;
    --header-height: 54px;
    --sidenav-width: 84vw;
    --main-header-height: 3.65rem;
    --main-visible-height: 100vh;
    /* form */
    --form-hover-border-color: #86b7fe;
    /* overwrite bootstrap */
    --bs-primary: #194a9e;
    --bs-primary-hover: #3565aa;
    --bs-danger: #d13c4a;
    --bs-danger-font-color:#842029;
    --bs-warning: #f59501;
    --bs-info: #3fa4f0;
    --bs-secondary: var( --font-color-light );
    --bs-gray: #9ba6b1;
    --scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: var(--scroll-behavior);
    }
}
@media (prefers-reduced-motion: reduce) {
    :root {
        scroll-behavior: "auto" !important;
    }
}
@media (min-width: 576px) {
    :root {
        --header-height: 67px;
        --sidenav-width: 28rem;
    }
}
@media (min-width: 768px) {
    :root {
        /* text */
        --font-size: 14px;
        /* size */
        --sidenav-width: 26rem;
        --main-header-height: 3.85rem;
    }
}
@media (min-width: 1280px) {
    :root {
        /* text */
        --font-size: 14px;
        --header-height: 71px;
    }
}
@font-face {
    font-family: "fm-icons";
    src: url("../fonts/fm-icons/fm-icons.eot?5w53ea");
    src: url("../fonts/fm-icons/fm-icons.eot?5w53ea#iefix") format("embedded-opentype"), url("../fonts/fm-icons/fm-icons.ttf?5w53ea") format("truetype"), url("../fonts/fm-icons/fm-icons.woff?5w53ea") format("woff"), url("../fonts/fm-icons/fm-icons.svg?5w53ea#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
html {
    scroll-padding-top: var(--header-height);
    font-size: 13px;
}

@media (min-width: 768px) {
    html {
        font-size: 13px;
    }
}
body {
    background: var(--background-color-light);
    color: var(--font-color);
    font-size: var(--font-size);
    line-height: 1.5;
}

:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none !important;
}

img {
    max-width: 100%;
    height: auto;
}

iframe {
    transition: height 0.08s ease-out 0s;
}

.navvar {
    min-height: var(--main-header-height);
}

.navbar-brand {
    /* サイドメニューのアイコンボタンと揃える */
    width: var(--main-header-height);
    text-align: center;
}
.navbar-brand img {
    width: 60%;
    height: auto;
    margin: 0 auto;
}

.navbar-title {
    font-size: 14px;
    font-weight: bold;
    margin-right: auto;
}

.user-contents .btn.rounded-circle.position-relative .badge.rounded-pill.position-absolute.end-0:not(.bottom-0) {
    transform: translate(20%, -5%);
}

.user-info .dropdown-toggle::after {
    margin-left: 0.25em;
}

.btn-user-info {
    padding: 0.75em;
}
.btn-user-info .fa {
    font-size: 1.4rem;
}
.btn-user-info:not(:hover) {
    background-color: #a3adbd;
    color: #fff !important;
}

.btn-user-info-admin {
    position: relative;
}
.btn-user-info-admin .fa.fa-lock {
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    right: -0.2rem;
    padding: 0.2rem;
    border-radius: 100%;
    background-color: var(--bs-primary);
    box-sizing: content-box;
    transition: color 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;
}
.btn-user-info-admin {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}
.btn-user-info-admin:hover {
    background-color: var(--bs-primary-hover) !important;
}
.btn-user-info-admin:hover .fa.fa-lock {
    background-color: var(--bs-primary-hover);
}

@media (min-width: 576px) {
    .navbar-brand {
        width: 110px;
    }
    .navbar-brand img {
        width: 100%;
    }
}
.navbar-brand-guest {
    width: 100px;
}
.navbar-brand-guest img {
    width: 100%;
}

@media (min-width: 1280px) {
    body > header.navbar {
        /* ドロップシャドウをsidenavに被せるためにsidenavよりひとつ上にする */
        z-index: 1022;
    }

    .navbar-brand {
        width: 110px;
        height: auto;
        box-sizing: content-box;
    }
    .navbar-brand img {
        width: 100%;
        height: auto;
    }

    .navbar-title {
        font-size: 20px;
        margin-right: 0;
        /*縦が中央からずれるので調整*/
        padding-bottom: 0.15em;
    }

    .btn-user-info {
        padding: 0.8em;
    }
    .btn-user-info .fa {
        font-size: 1.6rem;
    }
}
.dropdown-header {
    font-size: var(--font-size);
    font-weight: normal;
    width: max-content;
    max-width: 80vw;
    white-space: normal;
}

.dropdown-item {
    font-size: var(--font-size);
}

.sidenav {
    height: var(--main-visible-height);
    /* スマホ表示のときの閉じるボタンが隠れてしまうので、stickyより前にする */
    z-index: 1021;
}
.sidenav .offcanvas-start {
    top: 0;
    width: auto;
    background: var(--side-background-color) !important;
    border-right-color: var(--border-color);
    /*モーダルの黒背景より後ろにする*/
    z-index: 1039;
}
.sidenav-side {
    z-index: 1;
    width: var(--main-header-height);
    background: #3162B1;
    flex: 0 0 auto;
}
.sidenav-side a {
    color: #fff;
}
.sidenav-side .fa {
    font-size: 1.15em;
}
.sidenav-group-btn.active {
    background: var(--side-background-color);
    color: #3162B1;
}
.sidenav-menu {
    background: var(--side-background-color);
    position: relative;
    margin-left: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: none;
    width: calc(var(--sidenav-width) - var(--main-header-height));
    flex: 0 0 auto;
}
.sidenav-menu a {
    color: #3E546A;
}
.sidenav-menu.slide {
    margin-left: calc(-1 * (var(--sidenav-width) - var(--main-header-height)));
    transition: margin-left 0.1s ease-in-out 0s, transform 0.1s ease-in-out 0s;
}
.sidenav-menu.slide.show {
    transform: translateX(100%);
}
.sidenav-group {
    width: 100%;
    top: 0;
    right: 0;
    position: absolute;
    transform: translateX(-100%);
    transition: transform 0.05s ease-in-out 0s;
    padding: 1rem 0;
}
.sidenav-group.show {
    position: static;
    transform: translateX(0%);
}
.sidenav-group .nav {
    font-size: var(--font-size);
    padding: 0 0.75rem;
}
.sidenav-group .nav-link {
    border-radius: 0.2rem;
}
.sidenav-group hr {
    margin: 1rem 0.75rem;
    background-color: #8898ac;
}
.sidenav-group .nav > .nav-item > .nav-link {
    padding: 0.75rem 0;
    padding-left: 2.5rem;
    position: relative;
}
.sidenav-group .nav > .nav-item > .nav-link[data-bs-toggle=collapse] {
    padding-right: 2rem;
}
.sidenav-group .nav > .nav-item > .nav-link > .fa {
    position: absolute;
    left: 1.4em;
    top: 50%;
    transform: translate(-50%, -50%);
}
.sidenav-group .nav-item .nav-item .nav-link {
    padding: 0.75rem 1.25rem;
    padding-right: 0;
    padding-left: 1rem;
}
.sidenav-group .nav-item .nav-item:first-child .nav-link {
    margin-top: 0.5rem;
}
.sidenav-group .nav-item .nav-item:last-child .nav-link {
    margin-bottom: 0.5rem;
}
.sidenav-toggle-btn {
    display: none;
    appearance: none;
    border: none;
    padding: 0;
    background: transparent;
    color: #fff;
}
.sidenav-toggle-btn .fa {
    transition: transform 0.1s ease-in-out 0s;
}
.sidenav-toggle-btn.active .fa {
    transform: rotate(180deg);
}
.btn-sidenav-open {
    background: #3162B1;
    color: #fff;
    font-size: 16px !important;
    width: var(--main-header-height);
    -webkit-aspect-ratio: 1;
    aspect-ratio: 1;
}
.btn-sidenav-open .fa {
    font-size: 1.15em;
}
.btn-sidenav-open:hover {
    color: #fff !important;
}

.btn-sidenav-close {
    transform: translateX(100%);
    background-color: #3162B1;
    color: #fff;
    font-size: 1.15em;
    width: var(--main-header-height);
    height: auto;
    -webkit-aspect-ratio: 1;
    aspect-ratio: 1;
    opacity: 1;
}
.btn-sidenav-close .fa {
    font-size: 1.15em;
}

#sidebarMenu .collapse {
    position: relative;
}

.btn-sidenav-close {
    display: none;
}

.show .btn-sidenav-close {
    display: block;
}

@media (min-width: 1280px) {
    .sidenav {
        font-size: 16px;
        position: sticky;
        top: 0;
        width: var(--sidenav-width);
        transition: width 0.3s ease-in-out;
    }
    .sidenav.hide {
        width: 0;
    }
    .enabled-sidenav-offcanvas .sidenav {
        z-index: 1024;
    }
    .sidenav .offcanvas-start .offcanvas-body {
        justify-content: flex-end;
    }
    body:not(.enabled-sidenav-offcanvas) .sidenav .offcanvas-start {
        position: static;
        top: auto;
        height: 100%;
        transform: translateX(0);
        visibility: visible !important;
    }
    body:not(.enabled-sidenav-offcanvas) .btn-sidenav-open {
        display: none;
    }
    body:not(.enabled-sidenav-offcanvas) .btn-sidenav-close {
        display: none;
    }
    .sidenav-toggle-btn {
        display: block;
    }
    body.enabled-sidenav-offcanvas .sidenav-toggle-btn .fa {
        rotate: 180deg;
    }
}
.main {
    min-height: calc(var(--window-height) - var(--header-height));
    /* flexアイテム（.main）がはみ出さないようにする */
    min-width: 0;
}

.main-col {
    min-height: calc(var(--window-height) - var(--header-height) - var(--main-header-height));
    max-width: 100%;
}

.right-col {
    width: 35%;
    flex-shrink: 0;
}

.right-col-inner {
    position: sticky;
    top: var(--main-header-height);
    height: calc(var(--main-visible-height) - var(--main-header-height));
    overflow-y: auto;
    overscroll-behavior: none;
}

.main-header {
    background: #354660;
    color: #fff;
    min-height: var(--main-header-height);
    /* headerのドロップダウンの後ろ */
    z-index: 999;
}
.main-header h1 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*
----------------------------- sideMenu -----------------------------
*/
.alert-primary {
    color: #375970;
    background-color: #deeaf9;
}
.alert-primary .dashboard-alert-icon > .fa {
    opacity: 0.9;
}

.alert-info {
    background-color: #d1f2f9;
}
.alert-info .link-info:focus, .alert-info .link-info:hover {
    color: #0dbcde;
}

.card {
    border-color: var(--border-color);
}

.card-header {
    /* .borderと揃える */
    border-bottom: 1px solid #dee2e6;
}

.card-body + .card-body {
    border-top: 1px solid #dee2e6;
}

.card-index-header-col-bottom:empty {
    display: none;
}

.card-score-repot-graph {
    padding: 6% 5% 7%;
    max-width: 1200px;
}

.badge {
    -webkit-font-smoothing: antialiased;
}

.badge-xs {
    /* 文字が縦中央に来ないので調整 */
    padding-top: 0.45em;
    padding-bottom: 0.25em;
}

.badge-circle {
    padding-left: 0.49em;
    padding-right: 0.49em;
}

.badge.rounded-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    line-height: 1;
    padding: 0;
    width: 2em;
}
.badge.rounded-circle.badge-sm {
    padding: 0;
    width: 1.8em;
}
.badge.rounded-circle .fa-exclamation-triangle {
    position: relative;
    top: -0.05em;
}

.box {
    border-color: var(--background-color-dark);
    border-radius: 0.25rem !important;
}

.box-header {
    background-color: var(--background-color-dark);
    color: #fff;
    padding-top: 1rem;
    padding-bottom: 1rem;
    /* ボタンがあってもなくても高さを同じにする */
    min-height: 3.4rem;
}

/* 上記の指定でflexboxにしたために、縮んでしまうので広げる */
.box-header.d-flex > div:only-child {
    flex-grow: 1;
}

.box-light {
    border-color: var(--border-color-box-light);
    border-width: 2px;
}

@media (min-width: 576px) {
    .box-header {
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
    }
}
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-primary:hover {
    background-color: var(--bs-primary-hover);
}

.btn-outline-primary {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
}

.btn-primary.disabled,
.btn-primary:disabled,
.btn-primary.is-disabled {
    background-color: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
}

.btn-secondary {
    background-color: #eaecef;
    border-color: #cdcdcd;
    color: #484d52;
}
.btn-secondary:hover {
    color: #fff;
    background-color: #788391;
    border-color: #788391;
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    opacity: 1;
    background-color: #e9ecef;
    border-color: #d3d3d3;
    color: #d1d1d1;
}

.btn-info {
    color: #fff;
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-info:hover {
    background-color: #0b9aff;
    border-color: #0b9aff;
    color: #fff;
}

.btn-check:active + .btn-info,
.btn-check:checked + .btn-info,
.btn-info.active,
.btn-info:active, .show > .btn-info.dropdown-toggle {
    background-color: #0b9aff;
    border-color: #0b9aff;
}

.btn-check:focus + .btn-info, .btn-info:focus {
    color: #fff;
    background-color: #0b9aff;
    border-color: #0b9aff;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-check:active + .btn-info:focus,
.btn-check:checked + .btn-info:focus,
.btn-info.active:focus,
.btn-info:active:focus,
.show > .btn-info.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-icon-inline-information {
    width: 1.4em;
    height: 1.4em;
    border: 1px solid #cdcdcd;
    color: inherit;
    background-color: inherit;
}

.btn-icon-inline-information:hover {
    background-color: #788391;
    color: #fff;
}

.icon-information {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    line-height: 1 !important;
    border-radius: 100%;
    width: 1em;
    height: 1em;
    background: var(--bs-primary);
    color: #fff;
    transform: scale(1.08);
}
.icon-information .fa {
    transform: scale(0.7);
    pointer-events: none;
}
*:hover > .icon-information {
    background: var(--bs-primary-hover);
}

.btn-outline-danger {
    color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-outline-muted {
    color: var(--font-color-muted);
    border-color: var(--font-color-muted);
}

.btn-outline-muted:hover {
    color: #fff;
    background-color: var(--font-color-muted);
}

.btn-delete.rounded-circle {
    font-size: var(--icon-font-size);
}

.btn-delete.rounded-circle.btn-outline-danger:not(:hover):not(:focus) {
    color: var(--bs-gray);
    border-color: var(--bs-gray);
}

.btn-delete:not(.rounded-circle) .fa {
    font-size: var(--icon-font-size);
}

.btn-others.rounded-circle {
    font-size: 1.3em;
}
.btn-others.rounded-circle .fa {
    position: relative;
    top: 0.04em;
}

.btn-others.rounded-circle.btn-outline-secondary:not(:hover):not(:focus) {
    color: var(--bs-gray);
    border-color: var(--bs-gray);
}

.btn-table-search {
    border-color: #cdcdcd;
    color: var(--font-color);
}
.btn-table-search .fa {
    color: var(--font-color-light);
}
.btn-table-search:hover .fa {
    color: #fff;
}

.btn-sort {
    color: var(--font-color);
    position: relative;
    text-align: center;
    cursor: pointer;
    padding: 0 0.75rem;
    display: inline-block;
    float: right;
}
.btn-sort::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
}
.table-dark .btn-sort {
    color: var(--font-color);
}

:not(.table-sm) .btn-sort {
    margin-right: -0.75rem;
    /* ヒットエリアを広げる */
}
:not(.table-sm) .btn-sort::before {
    top: -0.5rem;
    bottom: -0.5rem;
    right: -0.5em;
}

.table-cell-fit .btn-sort {
    float: none;
}

.btn-sort .fa-sort-asc {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.btn-sort.desc .fa-sort-desc {
    opacity: 1;
}
.btn-sort.desc .fa-sort-asc {
    opacity: 0.15;
}
.btn-sort.asc .fa-sort-desc {
    opacity: 0.15;
}
.btn-sort.asc .fa-sort-asc {
    opacity: 1;
}
.btn-sort:hover .fa-sort-desc {
    color: var(--bs-primary);
    opacity: 1;
}
.btn-sort:hover .fa-sort-asc {
    color: var(--bs-primary);
    opacity: 1;
}
.btn-sort.disabled, .btn-sort:disabled, .btn-sort[tabindex="-1"] {
    pointer-events: none;
}
.btn-sort.disabled .fa-sort-desc, .btn-sort:disabled .fa-sort-desc, .btn-sort[tabindex="-1"] .fa-sort-desc {
    opacity: 0.15;
}
.btn-sort.disabled .fa-sort-asc, .btn-sort:disabled .fa-sort-asc, .btn-sort[tabindex="-1"] .fa-sort-asc {
    opacity: 0.15;
}

.btn-bookmark:hover {
    color: var(--bs-yellow);
}

.btn-bookmark.active:not(:hover) {
    color: var(--bs-yellow);
    background-color: transparent;
    border-color: #8795a3;
}

.btn-reset.rounded-circle {
    font-size: var(--icon-font-size);
}

.btn-reset.rounded-circle.btn-outline-secondary:not(:hover):not(:focus) {
    color: var(--bs-gray);
    border-color: var(--bs-gray);
}

.btn-dark {
    color: #fff;
    background-color: #344760;
    border-color: #344760;
}

.btn-dark:hover {
    color: #fff;
    background-color: #3f5d84;
    border-color: #3f5d84;
}

.btn-style-none {
    appearance: none;
    background: transparent;
    box-shadow: none;
    font-weight: inherit;
    padding: 0;
    border: none;
    text-decoration: none;
    color: inherit;
}

.btn-contents-menu:not(:hover):not(:focus) {
    color: var(--bs-gray);
    border-color: var(--bs-gray);
}

.btn-toolbar {
    gap: 0.5rem;
    align-items: center;
}

.btn {
    font-size: var(--font-size);
}

.btn-lg {
    font-size: calc(var(--font-size) + 2px);
}

.btn.rounded-circle {
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    /* アイコンにマウスオーバーするとツールチップが閉じちゃうのでマウスイベントを無効にする */
}
.btn.rounded-circle .fa {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    pointer-events: none;
}

.btn-sm.rounded-circle {
    width: 2rem;
    height: 2rem;
}

@media (min-width: 768px) {
    .btn-sm.rounded-circle {
        width: 1.7rem;
        height: 1.7rem;
    }
}
/* 丸ボタンにバッジ */
.btn.rounded-circle.position-relative .badge.rounded-pill.position-absolute.end-0:not(.bottom-0) {
    transform: translate(30%, -20%);
}

.btn-w-xs,
.btn-w-sm,
.btn-w-md,
.btn-w-lg,
.btn-w-xl {
    max-width: 100%;
}

.btn-w-xs::after,
.btn-w-sm::after,
.btn-w-md::after,
.btn-w-lg::after,
.btn-w-xl::after {
    content: "";
    display: block;
    max-width: 100%;
}

.btn-w-xs::after {
    width: 2.5rem;
}

.btn-w-sm::after {
    width: 5rem;
}

.btn-w-md::after {
    width: 7rem;
}

.btn-w-lg::after {
    width: 8.9rem;
}

.btn-w-xl::after {
    width: 12rem;
}

.btn-sanit-event-edit:hover {
    color: var(--bs-primary-hover);
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .score-repot-header {
        position: relative;
        padding-right: 8rem !important;
    }

    .btn-change-score-report {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0%, -50%);
    }
}
@media (min-width: 768px) {
    .btn-change-score-report {
        display: none;
    }

    .score-report-left {
        top: calc(var(--main-header-height) + 1rem);
    }
}
.btn-edit-note:focus:not(:fous-visible) {
    outline: none;
    box-shadow: none;
}

.dropdown-toggle::after {
    margin-left: 0.5em;
}

.dropdown-toggle.dropdown-toggle-split::after {
    margin-left: 0;
}

.dropdown-scrollable-conetnts::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}
.dropdown-scrollable-conetnts::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

.data-folder-icon {
    position: relative;
    top: 0.08em;
}

.data-file-icon {
    position: relative;
    top: 0.05em;
}

@media (max-width: 767.98px) {
    .data-folder-icon {
        font-size: 2rem;
        top: 0em;
    }

    .data-file-icon {
        top: -0.05em;
        font-size: 2rem;
    }
}
.form-control {
    font-size: var(--font-size);
}

.input-password-container {
    position: relative;
}

.input-password-container:after {
    font-family: "FontAwesome";
    content: "";
    position: absolute;
    right: 0.8rem;
    top: 50%;
    transform: translate(0, -50%);
    opacity: 0.3;
}

.form-check-label {
    font-size: var(--font-size);
}

.form-check-input:disabled {
    background-color: #b1b1b1;
    opacity: 0.3;
}

[type=radio][data-bs-toggle=collapse]:checked,
[type=radio][data-bs-toggle=collapse]:checked + label {
    pointer-events: none;
}

/* フォームレイアウト用 */
.form-label {
    font-size: calc(var(--font-size) - 1px);
    /*.fs-7と同じ*/
    font-weight: bold;
    color: var(--font-color-light) !important;
    -webkit-font-smoothing: antialiased;
    margin-bottom: 0.75rem;
}

.stretch-label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

label,
.form-control-inline,
.form-select-inline,
.form-check-inline {
    display: inline-block;
    width: auto;
    max-width: 100%;
}

.form-select {
    font-size: var(--font-size);
    /* 矢印分の余白 */
    padding-right: 2.5em;
}

.stepwizard {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 1em;
    row-gap: 1em;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
}

.stepwizard li {
    display: flex;
    align-items: center;
}

.stepwizard li:before {
    border-top: 0.18em solid var(--border-color-box-light);
    border-color: #cdd8e6;
    content: "";
    display: block;
    width: 4em;
    z-index: 1;
}

.stepwizard li:first-child:before {
    content: none;
}

.stepwizard li:last-child:after {
    content: none;
}

.stepwizard li .stepwizard-step {
    background: var(--border-color-box-light);
    color: #fff;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    font-size: 0.9em;
    width: 2.5em;
    font-weight: 700;
    line-height: 1;
    border-radius: 50%;
    text-align: center;
    position: relative;
    z-index: 2;
}

.stepwizard li.complete .stepwizard-step {
    background: #0aa66e;
    padding: 1px 6px;
    border: 3px solid #55606E;
}

.stepwizard li.active .stepwizard-step, .stepwizard li.active.complete .stepwizard-step {
    background: var(--background-color-dark);
    color: #fff;
}

.stepwizard li.complete .stepwizard-name, .stepwizard li.active .stepwizard-name {
    color: var(--background-color-dark);
}

.stepwizard li .stepwizard-name {
    display: block;
    color: var(--font-color-box-light);
    margin-left: 0.75em;
}

@media (max-width: 767.98px) {
    .stepwizard li:before {
        width: 2em;
    }

    .stepwizard li:first-child {
        max-width: calc( 45% - .5rem );
    }

    .stepwizard li:not(:first-child) {
        max-width: calc( 50% - .5rem );
    }
}
.form-switch {
    padding-left: 45px;
}

.form-switch .form-check-input {
    font-size: 18px;
    margin-top: 0;
}

.form-switch .form-check-label {
    margin-top: 0.12em;
}

.form-switch .form-check-input:not(:disabled):not(:read-only) + .form-check-label {
    cursor: pointer;
}

.form-switch .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

@media (min-width: 768px) {
    .form-switch .form-check-label {
        margin-top: 0;
    }
}
.form-control.is-valid, .was-validated .form-control:valid {
    border-color: #ced4da;
    padding-right: 0.75rem;
    background-image: none;
}

.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
    border-color: #ced4da;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-select.is-valid, .was-validated .form-select:valid {
    border-color: #ced4da;
}

.form-select.is-valid:focus, .was-validated .form-select:valid:focus {
    border-color: #ced4da;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
    padding-right: 2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.form-check-input.is-valid, .was-validated .form-check-input:valid {
    border-color: #ced4da;
}

.form-check-input.is-valid:checked, .was-validated .form-check-input:valid:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {
    color: inherit;
}

.form-check-input.is-valid:focus, .was-validated .form-check-input:valid:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control.flatpickr.is-valid,
.form-control.flatpickr-input.is-valid,
.was-validated .form-control.flatpickr:valid,
.was-validated .form-control.flatpickr-input:valid,
.form-control.form-item-date.is-valid,
.form-control.form-item-date.is-valid,
.was-validated .form-control.form-item-date:valid,
.was-validated .form-control.form-item-date:valid {
    background-image: url(../img/icons/calendar.svg);
}

.flatpickr-input {
    background: #fff url(../img/icons/calendar.svg) right 0.5rem center/auto 60% no-repeat;
    padding-right: 2.5rem;
}

.form-item-date {
    background: #fff url(../img/icons/calendar.svg) right 0.5rem center/auto 60% no-repeat;
}

label > .form-item-date {
    width: 11em;
    display: block;
}

label > .form-item-time {
    width: 7.5em;
    display: block;
}

.flatpickr-input:not(:disabled):hover {
    border-color: var(--form-hover-border-color);
}

.flatpickr-calendar {
    font-size: 13px;
}

label.position-relative.overflow-hidden > .form-item-date[type=date]::-webkit-calendar-picker-indicator {
    background: transparent;
    color: transparent;
    cursor: pointer;
    height: auto;
    width: 100%;
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
}

input.form-item-date[type=date]::-webkit-calendar-picker-indicator {
    background: transparent;
    color: transparent;
    cursor: pointer;
    height: auto;
    width: 100%;
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
}

input::-webkit-date-and-time-value {
    text-align: left;
}

.datepicker-score-report {
    width: 280px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.input-search-group {
    position: relative;
}

.input-search-group::after {
    content: "";
    font-family: fontawesome;
    color: var(--font-color-placeholder);
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translate(0, -50%);
    font-size: 1.1rem;
    z-index: 3;
}

.input-search-group .form-control {
    padding-left: 2.25rem;
}

.input-search-group .form-control:not(:focus) {
    width: 10em;
}

@media (max-width: 767.98px) {
    .input-search-group .form-control:not(:focus) {
        width: 9em;
    }
}
/* フォームレイアウト用 */
.table-search [class^=form-group-w-],
.table-search [class*=" form-group-w-"] {
    flex-shrink: 1;
}
.table-search .form-group-w-xs {
    flex-grow: 0.5;
    min-width: 8em;
    flex-basis: 8em;
}
.table-search .form-group-w-sm {
    flex-grow: 0.8;
    min-width: 13em;
    flex-basis: 13em;
}
.table-search .form-group-w-md {
    flex-grow: 1;
    min-width: 16em;
    flex-basis: 16em;
}
.table-search .form-group-w-lg {
    flex-grow: 1.25;
    min-width: 20em;
    flex-basis: 20em;
}
.table-search .form-group-w-xl {
    flex-grow: 1.63;
    min-width: 26em;
    flex-basis: 26em;
}
.table-search .form-group-w-xxl {
    flex-grow: 2;
    min-width: 32em;
    flex-basis: 32em;
}
.table-search .form-group-w-fit {
    flex: 0 0 auto;
    min-width: 0;
}
.table-search .form-group-w-auto {
    flex-grow: 1;
}

.form-item-w-xxs {
    max-width: 5em;
    width: 100%;
}

.form-item-w-xs {
    max-width: 8em;
    width: 100%;
}

.form-item-w-sm {
    max-width: 11em;
    width: 100%;
}

.form-item-w-md {
    max-width: 15em;
    width: 100%;
}

.form-item-w-lg {
    max-width: 20em;
    width: 100%;
}

.form-item-w-xl {
    max-width: 30em;
    width: 100%;
}

.form-item-w-xxl {
    max-width: 40em;
    width: 100%;
}

.form-item-w-date {
    max-width: 11em;
    width: 100%;
}

.form-item-w-date.for-view {
    max-width: 12rem;
}

.form-item-w-time {
    max-width: 7em;
    width: 100%;
}

/*<input type="number">の上下矢印が、Chromeなどのブラウザではマウスオーバーしたときにしか表示されない。
選択をするつもりが間違って矢印を押してしまうことが頻発するため、常に表示するように変更。*/
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    opacity: 1;
}

::placeholder {
    color: var(--font-color-placeholder) !important;
}

[type=checkbox]:not(:disabled):not([readonly]),
[type=radio]:not(:disabled):not([readonly]) {
    cursor: pointer;
}

[type=checkbox]:not(:disabled):not([readonly]) + label,
[type=radio]:not(:disabled):not([readonly]) + label {
    cursor: pointer;
}

select:not(:disabled):not([readonly]) {
    cursor: pointer;
}

.form-control:not(:disabled):not([readonly]):hover,
.form-select:not(:disabled):not([readonly]):hover {
    border-color: var(--form-hover-border-color);
}

/* checkbox用readonly （checkboxにはreadonlyがない） */
[data-fm-readonly],
[data-fm-readonly] + label {
    pointer-events: none;
    opacity: 0.5;
}

.form-control[readonly]:focus {
    box-shadow: none !important;
}

.form-control:disabled {
    color: var(--font-color-disabled);
}

.form-select:disabled {
    color: var(--font-color-disabled);
}

.form-control-plaintext:disabled, .form-control-plaintext[readonly] {
    background: transparent;
    pointer-events: none;
}

hr.border {
    border: none !important;
    opacity: 1;
    background-color: #dee2e6;
}

.icon-circle {
    display: inline-flex;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    width: 1.7rem;
    height: 1.7rem;
    line-height: 1;
    border-radius: 100%;
    font-size: 0.9em;
    color: #fff;
    /* tooltipがマウスアウトしてしまうので。 */
}
.icon-circle .fa {
    pointer-events: none;
}

.icon-circle-xxs {
    width: 1.4em;
    height: 1.4em;
    font-size: 1em;
}

.icon-circle-xs {
    width: 2em;
    height: 2em;
    font-size: 0.8em;
}

.icon-circle-sm {
    width: 1.3rem;
    height: 1.3rem;
    font-size: 0.8em;
}

@media (max-width: 767.98px) {
    .icon-circle-xs {
        font-size: 0.6em;
    }
}
.innerbox {
    background: #eef2f6;
    border: 1px solid #eaecef !important;
}

.modal-backdrop.show {
    opacity: 0.2;
}

/* 備考を読みやすく */
#modal-note .modal-body {
    line-height: 1.8;
}

/* modal-lgにiframeを入れたとき、iframeのviewportがスマホより（768より）大きくなるようにする */
@media (min-width: 768px) {
    .modal-lg {
        width: 90vw;
        max-width: 820px;
    }
}
@media (min-width: 992px) {
    .modal-lg {
        max-width: 820px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .modal-xl {
        max-width: 820px;
    }
}
@media (min-width: 1000px) and (max-width: 1199.98px) {
    .modal-xl {
        max-width: 900px;
    }
}
@media (max-width: 767.98px) {
    .modal-header:not([class^=p-]):not([class*=" p-"]):not([class^=py-]):not([class*=" py-"]) {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}
.tooltip .popover-body {
    max-width: 200px;
    padding: 0.25rem 0.5rem;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 0.25rem;
}

.tooltip.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after,
.tooltip.bs-popover-top > .popover-arrow::after {
    border-top-color: #000;
}

.tooltip.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after,
.tooltip.bs-popover-bottom > .popover-arrow::after {
    border-top-color: #000;
}

.tooltip.bs-popover-auto[data-popper-placement^=left] > .popover-arrow:after,
.tooltip.bs-popover-start > .popover-arrow:after {
    border-right-color: #000;
}

.tooltip.bs-popover-auto[data-popper-placement^=right] > .popover-arrow:after,
.tooltip.bs-popover-end > .popover-arrow:after {
    border-right-color: #000;
}

.popover-contents-menu {
    font-size: var(--font-size);
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
}
.popover-contents-menu .popover-body {
    min-width: 12em;
    padding: 0;
}
.popover-contents-menu .popover-arrow {
    position: absolute;
    left: -0.25rem !important;
    top: calc(-0.5rem - 1px);
}
.popover-contents-menu .popover-arrow::before, .popover-contents-menu .popover-arrow::after {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
}
.popover-contents-menu .popover-arrow::before {
    top: 0;
    border-width: 0 0.5rem 0.5rem 0.5rem;
    border-bottom-color: rgba(0, 0, 0, 0.25);
}
.popover-contents-menu .popover-arrow::after {
    top: 1px;
    border-width: 0 0.5rem 0.5rem 0.5rem;
    border-bottom-color: #fff;
}

.edit-rec-item.popover {
    font-size: calc(var(--font-size) - 2px);
    max-width: 30em !important;
    line-height: 1.7;
}

@media (min-width: 768px) {
    .edit-rec-item.popover {
        font-size: calc(var(--font-size) - 1px);
    }
}
.table {
    --bs-table-bg: #fff;
    --bs-table-striped-color: var(--font-color);
    --bs-table-striped-bg: transparent;
    --bs-table-active-color: var(--font-color);
    --bs-table-hover-color: var(--font-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.035);
    --table-cell-background-color: #fff;
    --table-cell-padding-x: 1rem;
    --table-cell-padding-y: .5rem;
    color: inherit;
    width: 100%;
    word-break: break-all;
    /* fixedにはしない、するときは.table-cell-fit（文字数に幅がフィットする）を見直す */
    table-layout: auto !important;
}
@media (min-width: 768px) {
    .table {
        --table-cell-padding-x: 1.25rem;
    }
}

.table > :not(caption) > * > * {
    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
}

.table tbody {
    background: #fff;
}

.table.bg-transparent {
    --bs-table-bg: transparent;
}
.table.bg-transparent tbody {
    background-color: var(--bs-table-bg);
}

.table-dark {
    --bs-table-bg: #eef1f5;
    color: var(--font-color);
    border-color: #bbc4ce;
}

/* tbodyを複数使い、かつ間に余白を開けるとき */
.table:not(.table-multi-column) tbody + tbody.mt-3 {
    margin-top: 0 !important;
}

.table:not(.table-multi-column) tbody + tbody.mt-3::before {
    content: "";
    display: block;
    height: 1rem;
    background-color: #fff;
}

/* tr.table-primary */
.table-primary {
    --bs-table-bg: #edf4ff;
    --bs-table-accent-bg: transparent;
}

.table-striped > tbody > tr.table-primary {
    --bs-table-accent-bg: transparent;
}

.table tr {
    padding: 0 !important;
}

.th-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.table-cell-actions .th-inner {
    justify-content: center;
}

/* 左にthがあるとき */
@media (min-width: 576px) {
    tbody .th:only-of-type:not([rowspan]):not([colspan]) {
        width: 16em;
    }

    tbody .th:only-of-type[colspan="2"] {
        width: 8em;
    }

    tbody .th:only-of-type[colspan="3"] {
        width: 6em;
    }
}
/* utility */
.th-w-xs {
    width: 8em !important;
    min-width: 8em !important;
}

.th-w-sm {
    width: 12em !important;
    min-width: 12em !important;
}

.th-w-md {
    width: 16em !important;
    min-width: 16em !important;
}

.th-w-lg {
    width: 20em !important;
    min-width: 20em !important;
}

.th-w-xl {
    width: 24em !important;
    min-width: 24em !important;
}

@media (max-width: 767.98px) {
    .th-w-xs {
        min-width: 0 !important;
    }

    .th-w-sm {
        min-width: 0 !important;
    }

    .th-w-md {
        min-width: 0 !important;
    }

    .th-w-lg {
        min-width: 0 !important;
    }

    .th-w-xl {
        min-width: 0 !important;
    }
}
/* その他全てのセルで幅が指定できたときだけ使用できます */
.table-cell-fill {
    width: 96%;
}

.table-cell-fit {
    width: 1%;
    white-space: nowrap !important;
}

.table-cell-actions {
    width: 5.75em;
    white-space: nowrap !important;
    text-align: center;
}

.table-cell-name {
    width: 10em;
}

.table-cell-tel {
    width: 11em;
    white-space: nowrap !important;
}

.table-cell-datetime {
    width: 13em;
}

.table-cell-date {
    width: 12em;
}

.table-cell-time {
    width: 6em;
}

.table-cell-note {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 10em;
}

.table-cell-w-xs {
    width: 6em !important;
}

.table-cell-w-sm {
    width: 8em !important;
}

.table-cell-w-md {
    width: 10em !important;
}

.table-cell-w-lg {
    width: 14em !important;
}

.table-cell-w-xl {
    width: 18em !important;
}

.table-cell-w-xxl {
    width: 22em !important;
}

.table-cell-min-w-xs {
    min-width: 6em !important;
}

.table-cell-min-w-sm {
    min-min-width: 8em !important;
}

.table-cell-min-w-md {
    min-width: 10em !important;
}

.table-cell-min-w-lg {
    min-width: 14em !important;
}

.table-cell-min-w-xl {
    min-width: 18em !important;
}

.table-cell-min-w-xxl {
    min-width: 22em !important;
}

.table-cell-empty-md:empty {
    width: 10em !important;
}

@media (min-width: 1000px) {
    .table-cell-datetime {
        width: 16em;
    }

    .table-cell-datetime-icon-circle {
        width: 17.5em;
    }
}
.table-responsive {
    /* スクロールバーを上に配置
    transform: rotateX(180deg);
    overflow-x: auto;

    table {
        transform: rotateX(180deg);
        width: max-content;
        min-width: 100%;
    }
     */
}

.table-rounded {
    border-radius: 0.3rem;
    border-style: solid;
    border-width: 1px;
    border-spacing: 0;
    border-collapse: separate;
    overflow: hidden;
}
.card-body.p-0 .table-rounded {
    border-right-width: 0;
    border-left-width: 0;
    border-bottom-width: 0;
}

.table-rounded.table-bordered > :not(caption) > * > * {
    border-bottom-width: 1px;
    border-right-width: 1px;
    border-top-width: 0;
    border-left-width: 0;
}
.table-rounded.table-bordered > :not(caption) > * > *:last-child {
    border-right-width: 0;
}
.table-rounded.table-bordered > tbody > tr:last-child > * {
    border-bottom-width: 0;
}

.table-rounded-top {
    border-top-left-radius: 0.3rem !important;
    border-top-right-radius: 0.3rem !important;
    border-style: solid;
    border-width: 1px;
    border-spacing: 0;
    border-collapse: separate;
    overflow: hidden;
}
.card-body.p-0 .table-rounded-top {
    border-right-width: 0;
    border-left-width: 0;
    border-bottom-width: 0;
}

.table-rounded-top.table-bordered > :not(caption) > * > * {
    border-bottom-width: 1px;
    border-right-width: 1px;
    border-top-width: 0;
    border-left-width: 0;
}
.table-rounded-top.table-bordered > :not(caption) > * > *:last-child {
    border-right-width: 0;
}
.table-rounded-top.table-bordered > tbody > tr:last-child > * {
    border-bottom-width: 0;
}

.table-rounded-bottom {
    border-bottom-left-radius: 0.3rem !important;
    border-bottom-right-radius: 0.3rem !important;
    border-style: solid;
    border-width: 1px;
    border-spacing: 0;
    border-collapse: separate;
    overflow: hidden;
}
.card-body.p-0 .table-rounded-bottom {
    border-right-width: 0;
    border-left-width: 0;
    border-bottom-width: 0;
}

.table-rounded-bottom.table-bordered > :not(caption) > * > * {
    border-bottom-width: 1px;
    border-right-width: 1px;
    border-top-width: 0;
    border-left-width: 0;
}
.table-rounded-bottom.table-bordered > :not(caption) > * > *:last-child {
    border-right-width: 0;
}
.table-rounded-bottom.table-bordered > tbody > tr:last-child > * {
    border-bottom-width: 0;
}

@media (min-width: 1066px) and (max-width: 1199.98px) {
    .table-multi-column {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        column-gap: 1rem;
        margin-top: 1px;
    }
    .table-multi-column tbody {
        flex: 1 1 30em;
        display: table;
        border-spacing: 0;
        border-collapse: separate;
        min-width: calc((100% - 1rem) / 2);
        margin-top: -1px;
    }
}
@media (min-width: 1366px) {
    .table-multi-column {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        column-gap: 1rem;
        margin-top: 1px;
    }
    .table-multi-column tbody {
        flex: 1 1 30em;
        display: table;
        border-spacing: 0;
        border-collapse: separate;
        min-width: calc((100% - 1rem) / 2);
        margin-top: -1px;
    }
}
@media (max-width: 1065.98px) {
    .table-detail.table-multi-column > tbody + tbody > tr:first-child > * {
        border-top-width: 0;
    }
}
@media (min-width: 1200px) and (max-width: 1365.98px) {
    .table-detail.table-multi-column > tbody + tbody > tr:first-child > * {
        border-top-width: 0;
    }
}
.datatable {
    /* stickyの起点 */
    position: relative;
}

.table-index.table-bordered {
    border-style: solid;
    border-width: 1px;
    border-spacing: 0;
    border-collapse: separate;
}
.table-index.table-bordered.table-bordered > :not(caption) > * > * {
    border-bottom-width: 1px;
    border-right-width: 1px;
    border-top-width: 0;
    border-left-width: 0;
}
.table-index.table-bordered.table-bordered > :not(caption) > * > *:last-child {
    border-right-width: 0;
}
.table-index.table-bordered.table-bordered > tbody > tr:last-child > * {
    border-bottom-width: 0;
}

@media (min-width: 768px) {
    .table-index.table-rec-items {
        border-left-style: none;
    }
    .table-index.table-rec-items.table-bordered > :not(caption) > * > * {
        border-right-width: 0;
        border-left-width: 1px;
    }
}
.table-index > thead:not(:last-child) > :last-child > * {
    border-bottom-width: 2px;
    border-bottom-color: #d8dee4;
}

.table-index.table-bordered > :not(:last-child) > :last-child > * {
    border-bottom-width: 2px;
    border-bottom-color: #d8dee4;
}

.table-index > :not(caption) > * > * {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.table-index th,
.table-index td {
    vertical-align: middle;
    /* ボタンがあるものとないものの高さを揃える */
    height: 2.8em;
}

.table-index th {
    white-space: nowrap;
    line-height: 1.2;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.table-index td {
    white-space: nowrap;
}

/* 1行だけだと寂しいので、若干高さを持たせる */
.table-index > thead:first-of-type + tbody:last-of-type > tr:only-child > th,
.table-index > thead:first-of-type + tbody:last-of-type > tr:only-child > td,
.table-index > tbody:only-child > tr:only-child > th,
.table-index > tbody:only-child > tr:only-child > td {
    height: 3.25rem;
}

/* 一番右のセルをstickyにしたとき */
.table-index.table-bordered .position-sticky.end-0 {
    border-left-width: 1px;
}

@media (max-width: 767.98px) {
    .table-index th,
    .table-index td {
        height: 3em;
    }
}
.table-detail {
    --table-cell-padding-y: .75rem;
    /* セルごとのborderを調整するためにseparateにする */
    border-spacing: 0;
    border-collapse: separate;
    border-width: 0;
}
.table-detail > :not(caption) > tr {
    border-width: 0;
}
.table-detail > :not(caption) > * > * {
    border-width: 0;
    border-bottom-width: 1px;
}
.table-detail > tbody > tr:first-child > * {
    border-top-width: 1px;
}
.table-detail > :not(:last-child) > :last-child > * {
    border-bottom-color: inherit;
}
.table-detail > :not(caption) > * > th {
    border-left-width: 1px;
}
.table-detail > :not(caption) > * > td {
    border-right-width: 1px;
}

.table-detail > :not(caption) > * > * {
    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
}

.table-detail tbody th {
    background: var(--background-color-detail-th);
    color: var(--font-color-detail-th);
    -webkit-font-smoothing: antialiased;
}

/* table-detailだったら、trをhoverしたとき背景色を変更しない */
.table-detail > tbody > tr:hover,
.table-detail > tbody > tr:hover:nth-child(odd),
.table-detail > tbody > tr:hover:nth-child(even),
.table-detail > tbody > tr:nth-of-type(odd):hover {
    background-color: var(--table-cell-background-color) !important;
}

.table-detail tbody tr:hover th {
    background: var(--background-color-detail-th);
}

.table-detail tbody tr:hover td {
    background-color: var(--table-cell-background-color) !important;
}

@media (max-width: 767.98px) {
    .table-detail {
        display: block;
        border-top: 1px solid var(--border-color);
    }

    .table-detail thead:not([class^=d-]):not([class*=" d-"]),
    .table-detail tbody:not([class^=d-]):not([class*=" d-"]),
    .table-detail tfoot:not([class^=d-]):not([class*=" d-"]),
    .table-detail tr:not([class^=d-]):not([class*=" d-"]),
    .table-detail th:not([class^=d-]):not([class*=" d-"]),
    .table-detail td:not([class^=d-]):not([class*=" d-"]) {
        display: block !important;
        width: auto !important;
    }
    .table-detail th {
        border-right-width: 1px;
        min-height: 3em;
    }
    .table-detail td {
        border-left-width: 1px;
        min-height: 3em;
    }
    .table-detail .th-inner,
    .table-detail .td-inner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
.table-detail-info {
    --table-cell-padding-x: 1rem;
    --table-cell-padding-y: .5rem;
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--border-color-table-cell);
    border-right: none;
    border-bottom: none;
}
@media (min-width: 768px) {
    .table-detail-info {
        --table-cell-padding-x: 1.25rem;
    }
}
.table-detail-info dt,
.table-detail-info dd {
    border: 1px solid var(--border-color-table-cell);
    border-left: none;
    border-top: none;
    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
    min-height: 2.8em;
}
.table-detail-info > dt, .table-detail-info > dd {
    width: 100%;
}
.table-detail-info dt {
    background-color: var(--bs-table-bg);
    border-bottom: 2px solid #d8dee4;
    display: flex;
    align-items: center;
}
.table-detail-info dd {
    display: flex;
    align-items: center;
}

@media (max-width: 767.98px) {
    .table-detail-info {
        display: block;
    }
    .table-detail-info > div {
        width: auto !important;
    }
}
.table-new-input,
.table-update-input {
    /* thの見出しを横のtdのテキストボックスの縦中央と揃える */
}
.table-new-input tbody th,
.table-update-input tbody th {
    background: var(--background-color-detail-th);
    color: var(--font-color-detail-th);
    -webkit-font-smoothing: antialiased;
}
.table-new-input .th-inner,
.table-new-input .td-inner,
.table-update-input .th-inner,
.table-update-input .td-inner {
    margin-top: calc( .375rem + 1px ) !important;
    margin-bottom: calc( .375rem + 1px ) !important;
}

.table-new-input thead,
.table-new-input tbody,
.table-new-input tfoot,
.table-update-input thead,
.table-update-input tbody,
.table-update-input tfoot {
    width: 100%;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
}

.table-new-input tbody tr,
.table-update-input tbody tr {
    border-width: 0;
    border-color: transparent;
}

.table-new-input tbody tr th,
.table-new-input tbody tr td,
.table-update-input tbody tr th,
.table-update-input tbody tr td {
    padding: 1rem 1.25rem;
    border-top-width: 1px;
    border-bottom-width: 0;
    border-color: var(--border-color-table-cell);
    vertical-align: top;
}

.table-new-input tbody:last-child tr:last-child th,
.table-new-input tbody:last-child tr:last-child td {
    border-bottom-width: 1px;
}

.table-new-input tbody tr th:first-child,
.table-update-input tbody tr th:first-child {
    border-left-width: 1px;
}

.table-new-input tbody tr td:last-child,
.table-update-input tbody tr td:last-child {
    border-right-width: 1px;
}

.table-new-input tbody tr th[rowspan],
.table-update-input tbody tr th[rowspan] {
    border-right-width: 1px;
}

.card-body .table-new-input > tbody:first-child tr:first-child > *,
.card-body .table-update-input > tbody:first-child tr:first-child > * {
    border-top-width: 0;
}
.card-body .table-new-input tbody:last-child tr:last-child > *,
.card-body .table-update-input tbody:last-child tr:last-child > * {
    border-bottom-width: 0;
}
.card-body .table-new-input tbody tr > *:first-child,
.card-body .table-update-input tbody tr > *:first-child {
    border-left-width: 0;
}
.card-body .table-new-input tbody tr > *:last-child,
.card-body .table-update-input tbody tr > *:last-child {
    border-right-width: 0;
}

.right-col .table-new-input,
.right-col .table-update-input {
    display: block !important;
    width: 100% !important;
    border-style: solid;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
}
.right-col .table-new-input thead,
.right-col .table-new-input tbody:not(.d-none),
.right-col .table-new-input tfoot,
.right-col .table-new-input tr,
.right-col .table-update-input thead,
.right-col .table-update-input tbody:not(.d-none),
.right-col .table-update-input tfoot,
.right-col .table-update-input tr {
    display: block !important;
    width: auto !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
    padding: 0 !important;
}
.right-col .table-new-input th,
.right-col .table-new-input td,
.right-col .table-update-input th,
.right-col .table-update-input td {
    display: block;
    width: auto !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    border-left-width: 1px !important;
    border-right-width: 1px !important;
}
.right-col .table-new-input .th-inner,
.right-col .table-update-input .th-inner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 991.98px) {
    .modal-lg .table-new-input,
    .modal-lg .table-update-input {
        display: block;
    }
    .modal-lg .table-new-input thead,
    .modal-lg .table-new-input tbody,
    .modal-lg .table-new-input tfoot,
    .modal-lg .table-new-input tr,
    .modal-lg .table-new-input th,
    .modal-lg .table-new-input td,
    .modal-lg .table-update-input thead,
    .modal-lg .table-update-input tbody,
    .modal-lg .table-update-input tfoot,
    .modal-lg .table-update-input tr,
    .modal-lg .table-update-input th,
    .modal-lg .table-update-input td {
        display: block !important;
        width: auto !important;
    }
    .modal-lg .table-new-input th,
    .modal-lg .table-update-input th {
        border-right: 1px solid var(--border-color-table-cell);
    }
    .modal-lg .table-new-input td,
    .modal-lg .table-update-input td {
        min-height: 2.8em;
        border-left: 1px solid var(--border-color-table-cell);
    }
    .modal-lg .table-new-input .th-inner,
    .modal-lg .table-new-input .td-inner,
    .modal-lg .table-update-input .th-inner,
    .modal-lg .table-update-input .td-inner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .modal-lg .table-new-input th[aria-hidden=true]:empty,
    .modal-lg .table-update-input th[aria-hidden=true]:empty {
        padding: 0;
    }
}
@media (max-width: 767.98px) {
    .table-new-input:not(.d-table),
    .table-update-input:not(.d-table) {
        display: block;
    }

    .table-new-input:not(.d-table) thead:not([class^=d-]):not([class*=" d-"]),
    .table-new-input:not(.d-table) tbody:not([class^=d-]):not([class*=" d-"]),
    .table-new-input:not(.d-table) tfoot:not([class^=d-]):not([class*=" d-"]),
    .table-new-input:not(.d-table) tr:not([class^=d-]):not([class*=" d-"]),
    .table-new-input:not(.d-table) th:not([class^=d-]):not([class*=" d-"]),
    .table-new-input:not(.d-table) td:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) thead:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) tbody:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) tfoot:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) tr:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) th:not([class^=d-]):not([class*=" d-"]),
    .table-update-input:not(.d-table) td:not([class^=d-]):not([class*=" d-"]) {
        display: block !important;
        width: auto !important;
    }
    .table-new-input:not(.d-table) td,
    .table-update-input:not(.d-table) td {
        min-height: 2.8em;
    }
    .table-new-input:not(.d-table) td.p-0:has(.collapse-fm),
    .table-update-input:not(.d-table) td.p-0:has(.collapse-fm) {
        min-height: 0;
    }
    .table-new-input:not(.d-table) td.p-0.table-cell-collapse-fm-container,
    .table-update-input:not(.d-table) td.p-0.table-cell-collapse-fm-container {
        min-height: 0;
    }
    .table-new-input:not(.d-table) .th-inner,
    .table-new-input:not(.d-table) .td-inner,
    .table-update-input:not(.d-table) .th-inner,
    .table-update-input:not(.d-table) .td-inner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .table-new-input:not(.d-table) th[aria-hidden=true]:empty,
    .table-update-input:not(.d-table) th[aria-hidden=true]:empty {
        padding: 0;
    }
}
.check-list {
    background: #fff;
}

@media (min-width: 992px) {
    .check-list-title.check-list-title {
        min-width: calc(50% - 16rem) !important;
        max-width: calc(50% - 18rem) !important;
        min-height: 6.5rem;
    }
}
.check-list-contents {
    overflow: scroll;
    scroll-behavior: smooth;
    top: 1.75rem;
    left: 1.75rem;
    right: 1.75rem;
    bottom: 1.75rem;
    border-top: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
}

.check-list-contents.for-view {
    top: 6rem;
}

.table-check-list-style > :not(:last-child) > :last-child > * {
    border-bottom-color: var(--border-color);
}

.table-check-list-style {
    --th-date-width: calc( 6em + ( var(--table-cell-padding-x) * 2 ) );
    table-layout: auto !important;
    border-collapse: separate;
    border-spacing: 0;
    width: auto;
}
.table-check-list-style th,
.table-check-list-style td {
    border: 1px solid var(--border-color);
    border-top: none;
    border-left: none;
}
.table-check-list-style th {
    background-color: var(--bs-table-bg);
}
.table-check-list-style tbody th {
    background-color: #eef1f5;
}
.table-check-list-style .combo-units-start th,
.table-check-list-style .combo-units-start td {
    border-top: 2px solid var(--border-color);
}
.table-check-list-style .combo-units-start th.th-border-end.time::before {
    content: '';
    display: inline-block;
    width: .9em;
    height: .9em;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--border-color);
    position: absolute;
    top: -1.5px;
    left: 2px;
    translate: -100% -50%;
    transition: clip-path .4s ease-in-out;
} 
.table-check-list-style .combo-units-start:hover th.th-border-end.time::before,
.table-check-list-style tr:hover + .combo-units-start th.th-border-end.time::before {
    content: '体制切替';
    width: auto;
    height: auto;
    clip-path: polygon(0% 0%, calc(100% - 1em) 0%, 100% 50%, calc(100% - 1em) 100%, 0% 100%);
    font-size: 10px;
    padding: .5em 1.5em .5em 1em;
    border-radius: 3px;
    color: var(--font-color-light);
}

.table-check-list-style .combo-units-start th.date {
    border-top: 0px solid var(--border-color);
}

.table-check-list-style .td {
    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
}
.table-check-list-style .th-border-bottom {
    border-bottom-width: 3px;
}
.table-check-list-style .th-border-end {
    border-right-width: 3px;
}
.table-check-list-style .check-list-category th {
    font-weight: normal;
    border-bottom: none !important;
    padding-bottom: 0.25rem;
    vertical-align: bottom;
}
.table-check-list-style .check-list-category.pc-grids th {
    font-size: 15px !important;
    text-align: center;
}
.table-check-list-style .check-list-category.pc-column th {
    font-size: 13px !important;
    text-align: left;
}
.table-check-list-style .check-list-item th {
    padding-top: 0;
    vertical-align: top;
}
.table-check-list-style .check-list-item th > p.record-item-note {
    font-size: 13px;
    font-weight: normal;
    margin-bottom: 0;
    padding-bottom: 0;
}
.table-check-list-style .date,
.table-check-list-style .time {
    font-size: 13px;
    text-align: center;
    white-space: nowrap;
    padding-top: 1rem;
}
.table-check-list-style .date {
    min-width: var(--th-date-width);
    box-shadow: none;
}
.table-check-list-style .time {
    min-width: 0;
}
.table-check-list-style .btn-checklist-edit-wrapper button,
.table-check-list-style .btn-checklist-diff-wrapper button,
.table-check-list-style .btn-checklist-note-wrapper button,
.table-check-list-style .btn-checklist-edit,
.table-check-list-style .btn-checklist-diff,
.table-check-list-style .btn-checklist-note {
    appearance: none;
    border: none;
    background: none;
    box-shadow: none;
    padding: 0.5em 0.75em;
}
.table-check-list-style .btn-checklist-edit-wrapper button,
.table-check-list-style .btn-checklist-diff-wrapper button,
.table-check-list-style .btn-checklist-edit,
.table-check-list-style .btn-checklist-diff {
    padding: 0.5em 0.75em;
}
.table-check-list-style .btn-checklist-edit-wrapper button::after,
.table-check-list-style .btn-checklist-edit::after {
    font-family: "FontAwesome";
    content: "\f040";
    position: relative;
}
.table-check-list-style .has-note .checklist-previous.btn-checklist-edit::after {
    content: "";
}
.table-check-list-style .btn-checklist-diff-wrapper button::after,
.table-check-list-style .btn-checklist-diff::after {
    font-family: "FontAwesome";
    content: "\f013";
    position: relative;
}
.table-check-list-style .btn-checklist-edit-wrapper,
.table-check-list-style .btn-checklist-diff-wrapper,
.table-check-list-style .btn-checklist-edit,
.table-check-list-style .btn-checklist-diff {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
}
.table-check-list-style .btn-checklist-edit-wrapper .btn-checklist-edit,
.table-check-list-style .btn-checklist-diff-wrapper .btn-checklist-diff {
    position: static;
    transform: none;
}
.table-check-list-style .has-note .btn-checklist-edit-wrapper button,
.table-check-list-style .has-note .btn-checklist-diff-wrapper button,
.table-check-list-style .has-note .btn-checklist-edit,
.table-check-list-style .has-note .btn-checklist-diff {
    margin: 0.15em 0 0;
}
.table-check-list-style .has-note .btn-checklist-edit-wrapper button::before,
.table-check-list-style .has-note .btn-checklist-diff-wrapper button::before,
.table-check-list-style .has-note .btn-checklist-edit::before,
.table-check-list-style .has-note .btn-checklist-diff::before {
    font-family: "FontAwesome";
    content: "\f0f6";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-0.75em, -1em);
    opacity: 0.8;
}
.table-check-list-style .has-note .btn-checklist-edit.checklist-previous::before {
    transform: translate(-0.75em, -0.85em);
}
.table-check-list-style .btn-checklist-note-wrapper {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
}
.table-check-list-style .btn-checklist-note-wrapper button {
    padding: 0.5em 0.75em;
}
.table-check-list-style .btn-checklist-note-wrapper button::before {
    font-family: "FontAwesome";
    content: "";
    position: relative;
}
.table-check-list-style .btn-checklist-note-wrapper-processed {
    transform: translate(-0.15em, -1.5em);
}
.table-check-list-style .btn-checklist-note-wrapper-processed button::after {
    font-family: "FontAwesome";
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(0.01em, -0.2em);
}
.table-check-list-style .btn-toggle-history {
    position: absolute;
    left: 0;
    top: 52%;
    transform: translate(0, -50%);
}
.table-check-list-style .btn-checklist-detail-danger {
    appearance: none;
    border: none;
    background: none;
    box-shadow: none;
    text-align: right;
    width: 100%;
    height: 100%;
    padding: var(--table-cell-padding-y) var(--tbody-cell-padding-x);
}
.table-check-list-style.table-input-check-list-row.sp .btn-checklist-detail-danger {
    padding-right: 0;
}
.table-check-list-style.table-check-list-sp .btn-checklist-detail-danger {
    padding-top: var(--table-cell-padding-y);
    padding-bottom: var(--table-cell-padding-y);
    padding-left: 1.8rem;
    padding-right: 0;
}
.table-check-list-style td > .history-collapse {
    text-align: left;
    padding: 0.5rem 0.1rem;
    overflow-x: scroll;
}

.edit-col,
.edit-row {
    text-align: center;
    vertical-align: middle;
}

.date.date {
    box-shadow: none;
}

.table-check-list {
    --table-cell-height: 4rem;
    --thead-cell-height: 3.75rem;
}
.table-check-list th {
    height: var(--thead-cell-height);
    white-space: nowrap;
}
.table-check-list td {
    height: var(--table-cell-height);
}
.table-check-list thead tr th {
    z-index: 2;
}
.table-check-list thead tr:nth-child(1) th {
    position: sticky;
    top: 0;
}
.table-check-list thead tr:nth-child(2) th {
    position: sticky;
    top: var(--thead-cell-height);
}
.table-check-list thead tr th:nth-child(1) {
    position: sticky;
    left: 0;
    z-index: 3;
}
.table-check-list thead tr:nth-child(3) th:nth-child(1), .table-check-list thead tr:nth-child(4) th:nth-child(1) {
    position: sticky;
    z-index: 2;
}
.table-check-list .date {
    position: sticky;
    z-index: 1;
    left: 0;
    top: calc(var(--thead-cell-height) * 2);
}
.table-check-list .time {
    position: sticky;
    z-index: 1;
    left: var(--th-date-width);
}

.table-check-list,
.table-check-list-sp {
    --table-cell-padding-y: 1rem;
}
.table-check-list .date,
.table-check-list .time,
.table-check-list-sp .date,
.table-check-list-sp .time {
    padding-top: 1.25rem;
}
.table-check-list thead th,
.table-check-list-sp thead th {
    --table-cell-padding-x: 1.75rem;
}
.table-check-list td,
.table-check-list-sp td {
    --tbody-cell-padding-x: 2.75rem;
    position: relative;
    white-space: nowrap;
    max-width: 16em;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
    vertical-align: middle;
}
.table-input-check-list-row.sp td {
    --tbody-cell-padding-x: 2.75rem;
}
.table-check-list td,
.table-check-list-sp td .sp-td-inner,
.table-input-check-list-row.sp td .sp-td-inner {
    padding-right: var(--tbody-cell-padding-x);
    padding-left: var(--tbody-cell-padding-x);
}
.table-check-list-sp td {
    padding-right: 0;
    padding-left: 0;
}
.table-check-list-sp td .sp-td-inner,
.table-input-check-list-row.sp td .sp-td-inner {
    position: relative;
}
.table-input-check-list-row.sp td .sp-td-inner {
    padding: 0.75rem var(--tbody-cell-padding-x);
    width: calc(100% - 9.5rem);
}
.table-input-check-list-row.sp > tbody > tr > td {
    height: inherit !important;
}
.table-input-check-list-row.sp .btn-toggle-memo-td {
    width: 9.5rem;
    padding-right: 0;
}
.table-check-list td.is-auto .btn-checklist-edit-wrapper, .table-check-list td.is-maint .btn-checklist-edit-wrapper,
.table-check-list td.is-auto .btn-checklist-diff-wrapper, .table-check-list td.is-maint .btn-checklist-diff-wrapper,
.table-check-list-sp td.is-auto .btn-checklist-edit-wrapper,
.table-check-list-sp td.is-auto .btn-checklist-diff-wrapper,
.table-check-list-sp td.is-maint .btn-checklist-edit-wrapper,
.table-check-list-sp td.is-maint .btn-checklist-diff-wrapper {
    padding: 0.5em 0.75em;
    top: 50%;
    transform: translate(0, -50%);
    color: var(--font-color-placeholder);
}
.table-check-list td .is-auto-text,
.table-check-list td .is-maint-text,
.table-check-list-sp td .is-auto-text,
.table-check-list-sp td .is-maint-text {
    color: var(--font-color-placeholder);
}
.table-check-list td.table-danger,
.table-check-list-sp td.table-danger {
    background-color: var(--background-color-danger);
}
.table-check-list td.is-alert,
.table-check-list-sp td.is-alert {
    padding: 0;
    position: relative;
}
.table-check-list td.is-alert button.btn-checklist-detail-danger::before,
.table-check-list-sp td.is-alert > .sp-td-inner > .btn-checklist-detail-danger ::before,
.table-input-check-list-row.sp td.is-alert > div > .sp-td-inner > div > .btn-checklist-detail-danger ::before {
    font-family: "FontAwesome";
    content: "";
    color: var(--bs-danger-font-color);
    display: block;
    position: absolute;
    top: 52%;
    transform: translate(0, -50%);
    pointer-events: none;
}
.table-check-list td.is-alert ::before {
    left: 0.75em;
}
.table-check-list td.is-alert .btn-checklist-edit-wrapper::before,
.table-check-list td.is-alert:not(.has-note) .btn-checklist-edit::before {
    content: "";
}
.table-check-list-sp td.is-alert > .sp-td-inner > .btn-checklist-detail-danger ::before,
.table-input-check-list-row.sp td.is-alert > div > .sp-td-inner > div > .btn-checklist-detail-danger ::before {
    left: 3rem;
}
.table-check-list td.is-alert:hover,
.table-check-list-sp td.is-alert:hover {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color);
}
.table-check-list td.table-dark,
.table-check-list-sp td.table-dark {
    background-image: linear-gradient(23deg, transparent 49%, var(--border-color) 49%, var(--border-color) 50%, transparent 20%, transparent);
    background-color: #fff !important;
}
.table-check-list td.table-dark button,
.table-check-list-sp td.table-dark button {
    display: none !important;
}
.table-check-list td:target:not(.table-dark):not(.table-danger),
.table-check-list-sp td:target:not(.table-dark):not(.table-danger) {
    animation: blinkingBackground 3s;
}
.table-check-list td:target.table-danger,
.table-check-list-sp td:target.table-danger {
    animation: blinkingBackgroundDanger 3s;
}
.table-check-list td:target[tabindex="0"]:focus-visible,
.table-check-list-sp td:target[tabindex="0"]:focus-visible {
    outline: none;
}
.show-cell-history-container {
    word-break: normal;
    white-space: nowrap;
    height: 115px;
    overflow-y: hidden;
    overflow-x: scroll;
}
.show-cell-history-container-item {
    margin: 0.2rem;
}
.table-check-list-sp thead th {
    font-weight: normal;
}
.table-check-list-sp tbody th {
    width: 16rem;
    max-width: 40%;
}
.table-check-list-sp td {
    --tbody-cell-padding-x: 3rem;
    position: relative;
}

.table-input-check-list-col {
    --thead-cell-height: 3rem;
}
.table-input-check-list-col thead th {
    --table-cell-padding-x: 1.75rem;
    height: var(--thead-cell-height);
}
.table-input-check-list-col td:last-child {
    width: 90%;
}

.table-input-check-list-row > thead > tr > th,
.table-input-check-list-row > tbody > tr > th {
    height: 4.5rem;
    vertical-align: middle;
}
.table-input-check-list-row.sp > thead > tr > th,
.table-input-check-list-row.sp > tbody > tr > th {
    height: inherit;
    
}
.table-input-check-list-row > tbody > tr > td {
    height: 5rem;
    vertical-align: middle;
}
.table-input-check-list-row > tbody > tr > th {
    width: 16rem;
}
.table-input-check-list-row .td {
    min-height: 5rem;
    vertical-align: middle;
}

.table-input-check-list-note {
    --table-cell-padding-x: 1.25rem;
    --table-cell-padding-y: 1.25rem;
    border-top: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
}
.table-input-check-list-row .td.record-item-note {
    width: 25%;
    font-size: 13px;
}
.table-input-check-list.table-input-check-list-col > thead > tr > th.record-item-note {
    padding-top: 0.5rem;
    vertical-align: top;
    font-size: 13px;
    border-bottom: 3px solid var(--border-color) !important;
}

@media (max-width: 767.98px) {
    .table-input-check-list-note {
        display: block !important;
    }
    .table-input-check-list-note thead,
    .table-input-check-list-note tbody,
    .table-input-check-list-note tfoot,
    .table-input-check-list-note tr,
    .table-input-check-list-note th,
    .table-input-check-list-note td {
        display: block !important;
        width: auto !important;
    }

    .btn-checklist-edit,
    .btn-checklist-diff,
    .btn-checklist-note-wrapper button {
        color: var(--font-color);
    }

    .btn-checklist-detail-danger {
        color: var(--font-color);
    }
}
@media (max-width: 575.98px) {
    .table-input-check-list-row {
        display: block;
    }
    .table-input-check-list-row > thead,
    .table-input-check-list-row > tbody,
    .table-input-check-list-row > tfoot,
    .table-input-check-list-row > thead > tr,
    .table-input-check-list-row > tbody > tr,
    .table-input-check-list-row > tfoot > tr,
    .table-input-check-list-row > thead > tr > th,
    .table-input-check-list-row > tbody > tr > th,
    .table-input-check-list-row > thead > tr > td,
    .table-input-check-list-row > tbody > tr > td,
    .table-input-check-list-row > tfoot > tr > td {
        display: block;
        width: auto;
        height: auto;
    }
    .table-input-check-list-row .td {
        height: auto;
    }
    .table-input-check-list-row > thead > tr > th {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}
/* スマホアプリ画面用 */
.btn-edit-note .has-note {
    position: relative;
}
.btn-edit-note .has-note:after {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    background-color: var(--bs-primary);
    position: absolute;
    bottom: -0.3rem;
    right: -0.3rem;
    border: 2px solid #fff;
    box-sizing: content-box;
}

/* 
スライド（collapse）するtableは、スライドする前はdisplay:noneになっているため
他のtableの列幅に影響しない。
他のtableにスライドさせるtableの列幅を反映させたいときは、
スライドさせるテーブルを空にし、.table-slide-layout-baseクラスを付与したテーブルを配置しておく。
 */
.table-slide-layout-base th,
.table-slide-layout-base td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.right-col .table-update-input tbody.table-slide-contents {
    border-color: #dee2e6;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
    margin: 0 1rem 1rem !important;
}
.right-col .table-update-input tbody.table-slide-contents th[rowspan] {
    display: none !important;
}

@media (max-width: 767.98px) {
    .table-slide-contents {
        display: block !important;
    }

    .table-slide-layout-base.table-slide-layout-base.table-slide-layout-base.table-slide-layout-base {
        display: none !important;
    }
}
.table-sanit-event {
    table-layout: fixed !important;
}
.table-sanit-event thead th {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.table-sanit-event thead th[rowspan]:first-child {
    padding-left: 1.75rem;
}
.table-sanit-event tbody th {
    padding: 1.7rem 1.75rem;
}
.table-sanit-event tbody td {
    padding: 1.5rem 1.75rem;
    height: 7rem;
    position: relative;
}
.table-sanit-event td.is-empty {
    vertical-align: middle;
}

.btn-sanit-event-wrapper {
    position: absolute;
    right: 0.25rem;
    bottom: 0.25rem;
}

.table-check-list-format td {
    min-width: 16rem !important;
}

.table-index.table-action {
    min-width: 64em;
}

.right-col .table-action {
    min-width: 0em;
}

.table-index.table-workflow {
    min-width: 48em;
}

/* 施設情報・機器情報一覧 */
.table-eqp thead th {
    white-space: nowrap;
}
.table-sanit-event {
    min-width: 60em;
}

.table-input-check-list-col {
    min-width: 40em;
}

@media (max-width: 767.98px) {
    .table-sanit-event {
        min-width: 54em;
    }

    .table-repeat-setting [rowspan] {
        display: none !important;
    }
}
/* 補正値の数式を折らずに表示 */
.table-unit-price {
    min-width: 62em;
}

.table-unit-price .form-control-plaintext:invalid {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.table-app > thead.has-sticky-top + tbody > tr:first-child {
    border-top: none !important;
}

.table-score-report-energy {
    min-width: 80em;
}

.table-score-report-sanit thead th {
    white-space: nowrap;
    padding: 1em;
}
.table-score-report-sanit thead tr + tr th {
    text-align: center !important;
}
.table-score-report-sanit tbody th {
    vertical-align: middle;
}
.table-score-report-sanit tbody td {
    text-align: center !important;
    font-size: 2em;
}

.table-score-report tbody td {
    text-align: right;
}

.table-score-report-energy-detail tbody th {
    white-space: nowrap;
}

.table-score-report-sanit-day {
    table-layout: fixed !important;
}
.table-score-report-sanit-day thead th {
    padding-top: 1em;
    padding-bottom: 1em;
}
.table-score-report-sanit-day td:not([colspan]) {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
}
.table-score-report-sanit-day td:not([colspan]) i.fa {
    font-size: 2em !important;
}

.table tr.added-new {
    --bs-table-bg: #edf4ff;
    animation: added-new-record 0.2s;
    animation-fill-mode: forwards;
    animation-delay: 3s;
}

@keyframes added-new-record {
    0% {
        --bs-table-bg: hsl(217, 100%, 96%);
    }
    25% {
        --bs-table-bg: hsl(217, 100%, 97%);
    }
    50% {
        --bs-table-bg: hsl(217, 100%, 98%);
    }
    75% {
        --bs-table-bg: hsl(217, 100%, 99%);
    }
    100% {
        --bs-table-bg: hsl(0, 0%, 100%);
    }
}
.table-score-report-sanit-day {
    min-width: 38em;
}

.table-score-report-bath {
    min-width: 38em;
}

.tooltip-plane {
    font-size: 11px;
}
.tooltip-plane .tooltip-arrow {
    display: none;
}

/* ツールチップにmouseoverしたとき、下の要素をmouseoutしないようにする */
.tooltip {
    pointer-events: none;
    font-size: var(--font-size);
}

.tooltip-lg {
    pointer-events: none;
    font-size: var(--font-size);
}
.tooltip-lg .tooltip-inner {
    padding: 0.5em 1em;
    text-align: left;
    max-width: 300px;
}

.bs-tooltip-end .tooltip-inner {
    text-align: left;
}

.transition-0 {
    transition: none !important;
}

.transition-duration-0 {
    transition-duration: 0s !important;
}

.scroll-behavior-auto {
    scroll-behavior: auto !important;
}

@keyframes blinkingBackground {
    0% {
        background-color: #edf4ff;
    }
    11.11% {
        background-color: transparent;
    }
    22.22% {
        background-color: #edf4ff;
    }
    33.33% {
        background-color: transparent;
    }
    44.44% {
        background-color: #edf4ff;
    }
    55.55% {
        background-color: transparent;
    }
    66.66% {
        background-color: #edf4ff;
    }
    77.77% {
        background-color: transparent;
    }
    88.88% {
        background-color: #edf4ff;
    }
    100% {
        background-color: transparent;
    }
}
@keyframes blinkingBackgroundDanger {
    0% {
        background-color: var(--bs-table-bg);
    }
    12.50% {
        background-color: transparent;
    }
    25.00% {
        background-color: var(--bs-table-bg);
    }
    37.50% {
        background-color: transparent;
    }
    50.00% {
        background-color: var(--bs-table-bg);
    }
    62.50% {
        background-color: transparent;
    }
    75.00% {
        background-color: var(--bs-table-bg);
    }
    87.50% {
        background-color: transparent;
    }
    100% {
        background-color: var(--bs-table-bg);
    }
}
/* --bs-primaryは暗いので、リンクは、.link-primaryを使用すること */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--font-color-light) !important;
}

.text-tertiary {
    color: var(--font-color-detail-th) !important;
}

.text-warning {
    color: #eaa600 !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-muted {
    color: var(--font-color-muted) !important;
}

.text-placeholder {
    color: var(--font-color-placeholder) !important;
}

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-primary-light {
    background-color: var(--background-color-primary-light) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-body {
    background-color: var(--background-color-light) !important;
}

.bg-light {
    background: var(--background-color-detail-th) !important;
}

.bg-dark {
    background-color: #354660 !important;
}

.bg-gray {
    background-color: #bdbdbd !important;
}

.bg-thead {
    background-color: #eef1f5 !important;
}

.btn-text-body {
    color: inherit;
}

.btn-text-secondary {
    color: var(--bs-secondary);
}

.btn-text-muted {
    color: var(--font-color-muted);
}

.btn-text-white {
    color: #fff;
}

.btn-text-inherit {
    color: inherit;
}

.btn-bg-white {
    background: #fff;
}

.border-bottom-2 {
    border-bottom-width: 2px !important;
}

.border-form-control {
    border-color: var(--border-color-form-control);
}

.border-table-cell {
    border-color: var(--border-color-table-cell);
}

/* 角丸打ち消し */
.rounded-top,
.rounded-top.rounded-1,
.rounded-top.rounded-2,
.rounded-top.rounded-3 {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.rounded-bottom,
.rounded-bottom.rounded-1,
.rounded-bottom.rounded-2,
.rounded-bottom.rounded-3 {
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

.rounded-end {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.h1 {
    font-size: calc(var(--font-size) + 7px) !important;
    font-weight: bold !important;
}

.h2 {
    font-size: calc(var(--font-size) + 5px) !important;
    font-weight: bold !important;
}

.h3 {
    font-size: calc(var(--font-size) + 3px) !important;
    font-weight: bold !important;
}

.h4 {
    font-size: calc(var(--font-size) + 2px) !important;
    font-weight: bold !important;
}

.h5 {
    font-size: calc(var(--font-size) + 1px) !important;
    font-weight: bold !important;
}

.h6 {
    font-size: var(--font-size) !important;
    font-weight: bold !important;
}

.fs-1 {
    font-size: calc(var(--font-size) + 7px) !important;
}

.fs-2 {
    font-size: calc(var(--font-size) + 5px) !important;
}

.fs-3 {
    font-size: calc(var(--font-size) + 3px) !important;
}

.fs-4 {
    font-size: calc(var(--font-size) + 2px) !important;
}

.fs-5 {
    font-size: calc(var(--font-size) + 1px) !important;
}

.fs-6 {
    font-size: var(--font-size) !important;
}

.fs-7 {
    font-size: calc(var(--font-size) - 1px) !important;
}

.fs-8 {
    font-size: calc(var(--font-size) - 2px) !important;
}

.fs-9 {
    font-size: calc(var(--font-size) - 4px) !important;
}

.fs-10 {
    font-size: calc(var(--font-size) - 6px) !important;
}

@media (min-width: 768px) {
    .h1 {
        font-weight: bold !important;
    }

    .h2 {
        font-size: 24px !important;
        font-weight: bold !important;
    }

    .h3 {
        font-size: 20px !important;
        font-weight: bold !important;
    }

    .h4 {
        font-size: 18px !important;
        font-weight: bold !important;
    }

    .h5 {
        font-size: 16px !important;
        font-weight: bold !important;
    }

    .h6 {
        font-size: 16px !important;
        font-weight: bold !important;
    }

    .fs-1 {
        font-size: 28px !important;
    }

    .fs-2 {
        font-size: 24px !important;
    }

    .fs-3 {
        font-size: 20px !important;
    }

    .fs-4 {
        font-size: 18px !important;
    }

    .fs-5 {
        font-size: 15px !important;
    }

    .fs-6 {
        font-size: var(--font-size) !important;
    }

    .fs-7 {
        font-size: calc(var(--font-size) - 1px) !important;
    }

    .fs-8 {
        font-size: calc(var(--font-size) - 2px) !important;
    }

    .fs-9 {
        font-size: calc(var(--font-size) - 4px) !important;
    }

    .fs-icon {
        font-size: var(--icon-font-size) !important;
    }
}

@media (min-width: 576px) {
    .fs-sm-1 {
        font-size: 28px !important;
    }

    .fs-sm-2 {
        font-size: 24px !important;
    }

    .fs-sm-3 {
        font-size: 20px !important;
    }

    .fs-sm-4 {
        font-size: 18px !important;
    }

    .fs-sm-5 {
        font-size: 15px !important;
    }

    .fs-sm-6 {
        font-size: var(--font-size) !important;
    }

    .fs-sm-7 {
        font-size: calc(var(--font-size) - 1px) !important;
    }

    .fs-sm-8 {
        font-size: calc(var(--font-size) - 2px) !important;
    }

    .fs-sm-9 {
        font-size: calc(var(--font-size) - 4px) !important;
    }
}

@media (min-width: 768px) {
    .fs-md-1 {
        font-size: 28px !important;
    }

    .fs-md-2 {
        font-size: 24px !important;
    }

    .fs-md-3 {
        font-size: 20px !important;
    }

    .fs-md-4 {
        font-size: 18px !important;
    }

    .fs-md-5 {
        font-size: 15px !important;
    }

    .fs-md-6 {
        font-size: var(--font-size) !important;
    }

    .fs-md-7 {
        font-size: calc(var(--font-size) - 1px) !important;
    }

    .fs-md-8 {
        font-size: calc(var(--font-size) - 2px) !important;
    }

    .fs-md-9 {
        font-size: calc(var(--font-size) - 4px) !important;
    }
}

.font-smooth {
    -webkit-font-smoothing: antialiased;
}

.font-palt {
    font-feature-settings: "palt";
}

.text-line-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.text-line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.text-break-all {
    word-break: break-all;
}

.letter-space-d2em {
    letter-spacing: 0.2em;
}

@media (min-width: 768px) {
    .text-md-nowrap {
        white-space: nowrap !important;
    }
}
.position-sticky-right {
    position: sticky !important;
}

@media (min-width: 768px) {
    .position-md-absolute {
        position: absolute;
    }
}
.m-4h {
    margin: 2rem !important;
}

.mx-4h {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
}

.my-4h {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.mt-4h {
    margin-top: 2rem !important;
}

.mb-4h {
    margin-bottom: 2rem !important;
}

.ms-4h {
    margin-left: 2rem !important;
}

.me-4h {
    margin-right: 2rem !important;
}

.p-4h {
    padding: 2rem !important;
}

.px-4h {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-4h {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.pt-4h {
    padding-top: 2rem !important;
}

.pb-4h {
    padding-bottom: 2rem !important;
}

.ps-4h {
    padding-left: 2rem !important;
}

.pe-4h {
    padding-right: 2rem !important;
}

.gap-4h {
    gap: 2rem !important;
}

.gx-4h {
    column-gap: 2rem !important;
}

.gy-4h {
    row-gap: 2rem !important;
}

@media (min-width: 576px) {
    .m-sm-4h {
        margin: 2rem !important;
    }

    .mx-sm-4h {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .my-sm-4h {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-sm-4h {
        margin-top: 2rem !important;
    }

    .mb-sm-4h {
        margin-bottom: 2rem !important;
    }

    .ms-sm-4h {
        margin-left: 2rem !important;
    }

    .me-sm-4h {
        margin-right: 2rem !important;
    }

    .p-sm-4h {
        padding: 2rem !important;
    }

    .px-sm-4h {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .py-sm-4h {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pt-sm-4h {
        padding-top: 2rem !important;
    }

    .pb-sm-4h {
        padding-bottom: 2rem !important;
    }

    .ps-sm-4h {
        padding-left: 2rem !important;
    }

    .pe-sm-4h {
        padding-right: 2rem !important;
    }
}
@media (min-width: 768px) {
    .m-md-4h {
        margin: 2rem !important;
    }

    .mx-md-4h {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .my-md-4h {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-md-4h {
        margin-top: 2rem !important;
    }

    .mb-md-4h {
        margin-bottom: 2rem !important;
    }

    .ms-md-4h {
        margin-left: 2rem !important;
    }

    .me-md-4h {
        margin-right: 2rem !important;
    }

    .p-md-4h {
        padding: 2rem !important;
    }

    .px-md-4h {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .py-md-4h {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pt-md-4h {
        padding-top: 2rem !important;
    }

    .pb-md-4h {
        padding-bottom: 2rem !important;
    }

    .ps-md-4h {
        padding-left: 2rem !important;
    }

    .pe-md-4h {
        padding-right: 2rem !important;
    }
}
@media (min-width: 992px) {
    .m-lg-4h {
        margin: 2rem !important;
    }

    .mx-lg-4h {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .my-lg-4h {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-lg-4h {
        margin-top: 2rem !important;
    }

    .mb-lg-4h {
        margin-bottom: 2rem !important;
    }

    .ms-lg-4h {
        margin-left: 2rem !important;
    }

    .me-lg-4h {
        margin-right: 2rem !important;
    }

    .p-lg-4h {
        padding: 2rem !important;
    }

    .px-lg-4h {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .py-lg-4h {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pt-lg-4h {
        padding-top: 2rem !important;
    }

    .pb-lg-4h {
        padding-bottom: 2rem !important;
    }

    .ps-lg-4h {
        padding-left: 2rem !important;
    }

    .pe-lg-4h {
        padding-right: 2rem !important;
    }
}
@media (min-width: 1200px) {
    .m-xl-4h {
        margin: 2rem !important;
    }

    .mx-xl-4h {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .my-xl-4h {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-xl-4h {
        margin-top: 2rem !important;
    }

    .mb-xl-4h {
        margin-bottom: 2rem !important;
    }

    .ms-xl-4h {
        margin-left: 2rem !important;
    }

    .me-xl-4h {
        margin-right: 2rem !important;
    }

    .p-xl-4h {
        padding: 2rem !important;
    }

    .px-xl-4h {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .py-xl-4h {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pt-xl-4h {
        padding-top: 2rem !important;
    }

    .pb-xl-4h {
        padding-bottom: 2rem !important;
    }

    .ps-xl-4h {
        padding-left: 2rem !important;
    }

    .pe-xl-4h {
        padding-right: 2rem !important;
    }
}
@media (min-width: 1400px) {
    .m-xxl-4h {
        margin: 2rem !important;
    }

    .mx-xxl-4h {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .my-xxl-4h {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-xxl-4h {
        margin-top: 2rem !important;
    }

    .mb-xxl-4h {
        margin-bottom: 2rem !important;
    }

    .ms-xxl-4h {
        margin-left: 2rem !important;
    }

    .me-xxl-4h {
        margin-right: 2rem !important;
    }

    .p-xxl-4h {
        padding: 2rem !important;
    }

    .px-xxl-4h {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .py-xxl-4h {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pt-xxl-4h {
        padding-top: 2rem !important;
    }

    .pb-xxl-4h {
        padding-bottom: 2rem !important;
    }

    .ps-xxl-4h {
        padding-left: 2rem !important;
    }

    .pe-xxl-4h {
        padding-right: 2rem !important;
    }
}
.m-2h {
    margin: 0.8rem !important;
}

.mx-2h {
    margin-left: 0.8rem !important;
    margin-right: 0.8rem !important;
}

.my-2h {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
}

.mt-2h {
    margin-top: 0.8rem !important;
}

.mb-2h {
    margin-bottom: 0.8rem !important;
}

.ms-2h {
    margin-left: 0.8rem !important;
}

.me-2h {
    margin-right: 0.8rem !important;
}

.p-2h {
    padding: 0.8rem !important;
}

.px-2h {
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
}

.py-2h {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
}

.pt-2h {
    padding-top: 0.8rem !important;
}

.pb-2h {
    padding-bottom: 0.8rem !important;
}

.ps-2h {
    padding-left: 0.8rem !important;
}

.pe-2h {
    padding-right: 0.8rem !important;
}

@media (min-width: 576px) {
    .m-sm-2h {
        margin: 0.8rem !important;
    }

    .mx-sm-2h {
        margin-left: 0.8rem !important;
        margin-right: 0.8rem !important;
    }

    .my-sm-2h {
        margin-top: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }

    .mt-sm-2h {
        margin-top: 0.8rem !important;
    }

    .mb-sm-2h {
        margin-bottom: 0.8rem !important;
    }

    .ms-sm-2h {
        margin-left: 0.8rem !important;
    }

    .me-sm-2h {
        margin-right: 0.8rem !important;
    }

    .p-sm-2h {
        padding: 0.8rem !important;
    }

    .px-sm-2h {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    .py-sm-2h {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    .pt-sm-2h {
        padding-top: 0.8rem !important;
    }

    .pb-sm-2h {
        padding-bottom: 0.8rem !important;
    }

    .ps-sm-2h {
        padding-left: 0.8rem !important;
    }

    .pe-sm-2h {
        padding-right: 0.8rem !important;
    }
}
@media (min-width: 768px) {
    .m-md-2h {
        margin: 0.8rem !important;
    }

    .mx-md-2h {
        margin-left: 0.8rem !important;
        margin-right: 0.8rem !important;
    }

    .my-md-2h {
        margin-top: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }

    .mt-md-2h {
        margin-top: 0.8rem !important;
    }

    .mb-md-2h {
        margin-bottom: 0.8rem !important;
    }

    .ms-md-2h {
        margin-left: 0.8rem !important;
    }

    .me-md-2h {
        margin-right: 0.8rem !important;
    }

    .p-md-2h {
        padding: 0.8rem !important;
    }

    .px-md-2h {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    .py-md-2h {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    .pt-md-2h {
        padding-top: 0.8rem !important;
    }

    .pb-md-2h {
        padding-bottom: 0.8rem !important;
    }

    .ps-md-2h {
        padding-left: 0.8rem !important;
    }

    .pe-md-2h {
        padding-right: 0.8rem !important;
    }
}
@media (min-width: 992px) {
    .m-lg-2h {
        margin: 0.8rem !important;
    }

    .mx-lg-2h {
        margin-left: 0.8rem !important;
        margin-right: 0.8rem !important;
    }

    .my-lg-2h {
        margin-top: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }

    .mt-lg-2h {
        margin-top: 0.8rem !important;
    }

    .mb-lg-2h {
        margin-bottom: 0.8rem !important;
    }

    .ms-lg-2h {
        margin-left: 0.8rem !important;
    }

    .me-lg-2h {
        margin-right: 0.8rem !important;
    }

    .p-lg-2h {
        padding: 0.8rem !important;
    }

    .px-lg-2h {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    .py-lg-2h {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    .pt-lg-2h {
        padding-top: 0.8rem !important;
    }

    .pb-lg-2h {
        padding-bottom: 0.8rem !important;
    }

    .ps-lg-2h {
        padding-left: 0.8rem !important;
    }

    .pe-lg-2h {
        padding-right: 0.8rem !important;
    }
}
@media (min-width: 1200px) {
    .m-xl-2h {
        margin: 0.8rem !important;
    }

    .mx-xl-2h {
        margin-left: 0.8rem !important;
        margin-right: 0.8rem !important;
    }

    .my-xl-2h {
        margin-top: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }

    .mt-xl-2h {
        margin-top: 0.8rem !important;
    }

    .mb-xl-2h {
        margin-bottom: 0.8rem !important;
    }

    .ms-xl-2h {
        margin-left: 0.8rem !important;
    }

    .me-xl-2h {
        margin-right: 0.8rem !important;
    }

    .p-xl-2h {
        padding: 0.8rem !important;
    }

    .px-xl-2h {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    .py-xl-2h {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    .pt-xl-2h {
        padding-top: 0.8rem !important;
    }

    .pb-xl-2h {
        padding-bottom: 0.8rem !important;
    }

    .ps-xl-2h {
        padding-left: 0.8rem !important;
    }

    .pe-xl-2h {
        padding-right: 0.8rem !important;
    }
}
@media (min-width: 1400px) {
    .m-xxl-2h {
        margin: 0.8rem !important;
    }

    .mx-xxl-2h {
        margin-left: 0.8rem !important;
        margin-right: 0.8rem !important;
    }

    .my-xxl-2h {
        margin-top: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }

    .mt-xxl-2h {
        margin-top: 0.8rem !important;
    }

    .mb-xxl-2h {
        margin-bottom: 0.8rem !important;
    }

    .ms-xxl-2h {
        margin-left: 0.8rem !important;
    }

    .me-xxl-2h {
        margin-right: 0.8rem !important;
    }

    .p-xxl-2h {
        padding: 0.8rem !important;
    }

    .px-xxl-2h {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    .py-xxl-2h {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    .pt-xxl-2h {
        padding-top: 0.8rem !important;
    }

    .pb-xxl-2h {
        padding-bottom: 0.8rem !important;
    }

    .ps-xxl-2h {
        padding-left: 0.8rem !important;
    }

    .pe-xxl-2h {
        padding-right: 0.8rem !important;
    }
}
.mx-n1 {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}

.ms-n1 {
    margin-left: -0.25rem;
}

.mt-n1 {
    margin-top: -0.25rem;
}

.mb-n1 {
    margin-bottom: -0.25rem;
}

.me-n1 {
    margin-right: -0.25rem;
}

.mt-n2 {
    margin-top: -0.5rem;
}

.me-n2 {
    margin-right: -0.5rem;
}

.m-n3 {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-top: -1rem;
    margin-bottom: -1rem;
}

.mx-n3h {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
}

.me-n4 {
    margin-right: -2rem;
}

.mx-n4 {
    margin-left: -2rem;
    margin-right: -2rem;
}

.mt-n1px {
    margin-top: -1px;
}

.ms-n1px {
    margin-left: -1px;
}

.me-n1px {
    margin-right: -1px;
}

.mb-n1px {
    margin-bottom: -1px;
}

.px-3h {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.shadow {
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1) !important;
}

.wid-1em {
    width: 1em;
}

.wid-2em {
    width: 2em;
}

.wid-4em {
    width: 4em;
}

.wid-5em {
    width: 5em;
}

.wid-6em {
    width: 6em;
}

.wid-1 {
    width: 8em;
}

.wid-2 {
    width: 12em;
}

.wid-3 {
    width: 16em;
}

.wid-4 {
    width: 20em;
}

.wid-5 {
    width: 24em;
}

.wid-6 {
    width: 28em;
}

.wid-7 {
    width: 32em;
}

.wid-conents {
    width: max-content;
}

.mwid-1 {
    max-width: 8em;
}

.mwid-2 {
    max-width: 12em;
}

.mwid-3 {
    max-width: 16em;
}

.mwid-4 {
    max-width: 20em;
}

.mwid-5 {
    max-width: 24em;
}

.mwid-6 {
    max-width: 28em;
}

.mwid-7 {
    max-width: 32em;
}

.mh-50 {
    max-height: 50vh;
}

.mh-10em {
    max-height: 10em;
}

.max-vw-75 {
    max-width: 75vw;
}

@media (min-width: 576px) {
    .w-sm-auto {
        width: auto !important;
    }
}
@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
    }
}
@media (min-width: 992px) {
    .w-lg-auto {
        width: auto !important;
    }
}
.scale-95 {
    transform: scale(0.95);
}

.scale-90 {
    transform: scale(0.9);
}

.scale-85 {
    transform: scale(0.85);
}

.scale-80 {
    transform: scale(0.8);
}

.opacity-100 {
    opacity: 1 !important;
}

.opacity-75 {
    opacity: 0.75 !important;
}

.opacity-50 {
    opacity: 0.5 !important;
}

.translate-b-10 {
    transform: translate(0, 10%);
}

.l-table {
    display: table;
    /* table-cell-w-fitを有効にするため */
    table-layout: auto;
}

.d-tr,
.l-tr {
    display: table-row;
}

.d-th,
.d-td,
.l-th,
.l-td {
    display: table-cell;
}

.l-th,
.l-td {
    padding: 0.5rem 1.5rem;
    padding-left: 0;
    padding-bottom: 0;
}

.l-th:last-of-type,
.l-td:last-of-type {
    padding-right: 0;
}

.l-tr:first-of-type .l-th,
.l-tr:first-of-type .l-td {
    padding-top: 0;
}

.lh-md {
    line-height: 1.5 !important;
}

.lh-lg {
    line-height: 1.8 !important;
}

.tabs-pagenav-wrapper {
    position: relative;
    border-bottom: 2px solid #eeeff0;
    top: -2px;
}

.tabs-responsive {
    overflow-x: auto;
    margin-bottom: -2px;
}

.tabs-pagenav-wrapper.is-overflow-left::before,
.tabs-pagenav-wrapper.is-overflow-right::after {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.8rem;
    font-size: 1.5rem;
    height: 100%;
    border: 2px solid #eeeff0;
    border-top: none;
    background: #fff;
    color: var(--bs-secondary);
    position: absolute;
    top: 2px;
    font-family: "FontAwesome";
    z-index: 1;
}

.tabs-pagenav-wrapper.is-overflow-left::before {
    content: "";
    left: 0;
    text-indent: -0.1em;
    border-left: none;
}

.tabs-pagenav-wrapper.is-overflow-right::after {
    content: "";
    right: 0;
    text-indent: 0.1em;
    border-right: none;
}

.tabs-pagenav {
    font-size: 13px;
    font-weight: bold;
    border-bottom: none;
    position: relative;
    flex-wrap: nowrap;
}
.tabs-pagenav .nav-link {
    font-weight: bold;
    border-width: 2px;
    border-bottom-width: 2px;
    margin-bottom: 0;
    margin-left: -2px;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem;
    color: #2662c2;
}
.tabs-pagenav .nav-link:hover {
    border-top-color: var(--background-color-light);
    border-left-color: #eeeff0;
    border-right-color: #eeeff0;
}
.tabs-pagenav .nav-link:hover:not(.active) {
    border-bottom-color: var(--background-color-light);
}
.tabs-pagenav .nav-item:first-child .nav-link {
    margin-left: -2px;
}
.tabs-pagenav .nav-item .nav-link.active {
    border-top-color: var(--background-color-light);
    border-right-color: #eeeff0;
    border-left-color: #eeeff0;
    color: var(--font-color);
}
.tabs-pagenav .nav-item:first-child .nav-link.active {
    border-top-color: var(--background-color-light);
    border-right-color: #eeeff0;
    border-left-color: var(--background-color-light);
}
.tabs-pagenav .nav-label {
    padding: 0.75rem 1.5rem;
    white-space: nowrap;
}

/*
@media (max-width: 767.98px) {

    //スクロールバーの幅と高さを設定する
    .tabs-pagenav-wrapper::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }
    //スクロールバーの形を設定する
    .tabs-pagenav-wrapper::-webkit-scrollbar-thumb {
        border-radius: 1rem;
    }
    //スクロールバーの色を設定する
    .tabs-pagenav-wrapper::-webkit-scrollbar-thumb {
        background-color: rgba(0,0,0,.4);
    }
}
*/
:root {
    --swiper-navigation-size: 20px !important;
    --swiper-navigation-color: var( --bs-primary ) !important;
}

.swiper-container {
    overflow: hidden;
}

.swiper-button-next,
.swiper-button-prev {
    box-sizing: content-box !important;
    padding: 1rem !important;
    margin-top: calc(0px - ( ( var(--swiper-navigation-size)/ 2 ) + 1rem )) !important;
}

.dashboard-header {
    background: #354660;
}

.dashboard-visiter {
    color: #bdc1c9 !important;
    display: flex;
    align-items: center;
    column-gap: 1.25rem;
    margin-right: 0.5rem;
}

.dashboard-visiter-contents-col {
    display: flex;
    align-items: center;
    column-gap: 1.5rem;
}

.btn-dashboard-visier-alert {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
}
.btn-dashboard-visier-alert:hover {
    color: var(--bs-danger);
}

.dashboard-visiter-number {
    font-size: 24px;
}

.icon-visiter {
    display: none;
    font-size: 24px;
    margin-right: 0.2em;
    transform: translate(0, -0.05em);
}
.icon-visiter .fa-child {
    font-size: 1.2em;
    margin-left: -0.6em;
    text-shadow: -1px 0px #354660, -1px 0px #354660, -1px 0px #354660, -1px 1px #354660, -1px 1px #354660, -1px 1px #354660, 0px 1px #354660, 0px 1px #354660, 0px 1px #354660;
}

@media (min-width: 576px) {
    .dashboard-visiter-number {
        font-size: calc(var(--font-size) + 5px);
    }
}
@media (min-width: 992px) {
    .dashboard-visiter-number {
        font-size: 24px;
    }
}
.dashboard-checklist-alert:empty {
    display: none !important;
}

.dashboard-checklist-alert:blank {
    display: none !important;
}

@media (max-width: 575.98px) {
    .dashboard-grid {
        display: flex;
        flex-direction: column;
        background: #fff;
    }

    .dashboard-grid-main {
        display: contents;
    }

    .dashboard-grid-main::before {
        content: "";
        display: block;
        margin-bottom: 1.5rem;
    }

    .dashboard-main-grid-col {
        display: contents;
    }

    .dashboard-checklist-alert {
        order: 1;
    }

    .dashboard-grid-right-top {
        order: 2;
    }

    .dashboard-grid-main > *:not(.dashboard-checklist-alert) {
        order: 3;
        background: #fff;
    }

    .dashboard-grid-right-bottom {
        order: 4;
    }

    .dashboard-grid-footer {
        order: 10 !important;
    }

    .dashboard-main-grid {
        display: flex;
        flex-direction: column;
        gap: 1.5rem !important;
    }

    .dashboard-checklist-alert {
        display: block;
    }

    .dashboard-checklist-alert:empty {
        display: none !important;
    }

    .dashboard-checklist-alert {
        display: block;
    }

    .dashboard-checklist-alert > .alert + .alert {
        margin-top: 1rem !important;
    }
}
@media (min-width: 576px) {
    .dashboard-grid {
        display: grid;
        grid-template-columns: 56% 44%;
        grid-template-rows: auto 1fr;
        grid-column-gap: 0;
        grid-row-gap: 0;
    }
    .dashboard-grid-main {
        grid-column: 1/2;
        grid-row: 1/3;
    }
    .dashboard-grid-right-top {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    .dashboard-grid-right-bottom {
        grid-column: 2/3;
        grid-row: 2/3;
    }

    .dashboard-main-grid {
        display: flex;
        flex-direction: column;
        gap: 1.5rem !important;
    }

    .dashboard-checklist-alert {
        margin-top: 1.5rem;
        display: flex;
        flex-direction: column;
        row-gap: 1rem;
    }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .dashboard-main-grid-col {
        display: flex;
        flex-direction: column;
        gap: 1.5rem !important;
    }
}
@media (min-width: 992px) {
    .dashboard-main-grid {
        display: flex;
        flex-direction: row;
        gap: 0;
    }

    .dashboard-main-grid-col {
        display: flex;
        flex-direction: column;
        flex-basis: 50%;
    }

    .dashboard-grid {
        grid-template-columns: 1fr 25rem;
    }
}
@media (min-width: 1280px) {
    .dashboard-grid {
        grid-template-columns: 1fr 22rem;
    }
}
@media (min-width: 1400px) {
    .dashboard-grid {
        grid-template-columns: 1fr 26rem;
    }
}
@media (min-width: 1700px) {
    .dashboard-grid {
        grid-template-columns: 1fr min(27rem, 33.33%);
    }

    .dashboard-main-grid {
        display: grid;
        grid-template-columns: 1fr 1fr min(30rem, 33.33%);
        grid-template-rows: auto auto;
        grid-column-gap: 0;
        grid-row-gap: 0;
    }

    .dashboard-main-grid-col {
        display: contents;
    }

    .dashboard-schedule-today {
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .dashboard-actions {
        grid-column: 2/3;
        grid-row: 1/2;
    }

    .dashboard-calendar {
        grid-column: 3/4;
        grid-row: 1/2;
    }

    .dashboard-sanit {
        grid-column: 1/4;
        grid-row: 2/3;
    }
}
.icon-group {
    white-space: nowrap;
}
.icon-group i {
    margin-left: -0.6em;
    text-shadow: -1px 0px #fff, -1px 0px #fff, -1px 0px #fff, -1px 1px #fff, -1px 1px #fff, -1px 1px #fff, 0px 1px #fff, 0px 1px #fff, 0px 1px #fff;
}
.icon-group i:first-of-type {
    margin-left: 0;
}

.dashboard-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 3.8rem;
    background-color: #eef1f5;
}

.dashboard-actions td {
    padding: 0;
}
.dashboard-actions td a {
    display: block;
    padding: 1rem 0.6rem;
    text-decoration: none;
}
.dashboard-actions td:first-child {
    white-space: nowrap;
}
.dashboard-actions td:first-child a {
    padding-left: 1rem;
}
.dashboard-actions td:last-of-type {
    width: 90%;
}
.dashboard-actions td:last-of-type a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 前日来館者未入力 */
.dashboard-sanit-notice {
    position: relative;
    border: 2px solid var(--border-color-box-light) !important;
    margin-bottom: 0.5rem;
}
.dashboard-sanit-notice img {
    position: absolute;
    width: 7rem;
    top: 0.25rem;
    left: 0.7rem;
}
.dashboard-sanit-notice-body {
    min-height: 7.5rem;
    padding-left: 8.25rem;
    line-height: 1.6;
}
.dashboard-sanit-notice-body > div:first-of-type {
    flex-grow: 1;
}
.dashboard-sanit-notice-contents {
    padding-right: 0.2rem;
}

/* カレンダー */
.dashboard-calendar .dhx_calendar {
    min-height: 258px;
    padding: 10px;
}
.dashboard-calendar .dhx_widget {
    font-size: 15px;
    line-height: calc( 20 / 14 * 1em );
}
.dashboard-calendar .dhx_calendar-weekday {
    font-size: calc( 12 / 14 * 1em );
    line-height: calc( 16 / 14 * 1em );
}
.dashboard-calendar .dhx_calendar__weekdays {
    margin: calc( 8 / 14 * 1em ) 0 calc( 8 / 14 * 1em );
}
.dashboard-calendar .dhx_calendar-day {
    margin-bottom: 0;
    font-size: calc( 14 / 14 * 1em );
    font-weight: 700;
    color: rgba(0, 0, 0, 0.4);
}
.dashboard-calendar .dhx_calendar-day span,
.dashboard-calendar .dhx_calendar-day a {
    display: block;
    width: 100%;
    height: 100%;
    padding-top: calc( 8 / 14 * 1em );
    padding-bottom: calc( 8 / 14 * 1em );
    position: relative;
    z-index: 3;
    text-decoration: none !important;
    color: inherit !important;
}
.dashboard-calendar .dhx_calendar-day a:not([href]),
.dashboard-calendar .dhx_calendar-day span {
    pointer-events: none;
}
.dashboard-calendar .dhx_calendar-day--hidden {
    height: 0;
    padding: 0;
    overflow: hidden;
}
.dashboard-calendar .dhx_calendar-day::before,
.dashboard-calendar .dhx_calendar-day::after {
    z-index: auto;
    pointer-events: none;
}
.dashboard-calendar .dhx_calendar-day:nth-child(7n-6).dhx_calendar-day--weekend {
    color: #d6515a;
}
.dashboard-calendar .dhx_calendar-day:nth-child(7n).dhx_calendar-day--weekend {
    color: #4a77be;
}
.dashboard-calendar .event:before {
    opacity: 1;
    background-color: #b6d4f8;
}
.dashboard-calendar .event:hover {
    color: #fff !important;
}
.dashboard-calendar .event:hover:before {
    background-color: #5c96dc;
}
.dashboard-calendar [class^=combo-] .icon-group,
.dashboard-calendar [class*=" combo-"] .icon-group {
    color: #9a9a9a;
}

.dhx_layout-cell--bordered .dhx_calendar-day {
    border: 1px solid var(--border-color);
    border-top: none;
    border-right: none;
}

.dhx_layout-cell--bordered .dhx_calendar-day:last-of-type {
    border-right: 1px solid var(--border-color);
}

.dhx_calendar-navigation__button {
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
}

.dhx_calendar-action__show-month {
    pointer-events: none;
}

/* /カレンダー */
/* 衛生状態 */
.dashboard-sanit-list .list-d-table-cell {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.dashboard-sanit-list .list-d-table-cell .fa {
    font-size: 32px;
}
.dashboard-sanit-list .list-d-table-cell:first-of-type {
    padding-left: 1rem;
    padding-right: 1.5rem;
}
.dashboard-sanit-list .list-d-table-cell:last-of-type {
    padding-left: 0;
}

.fa.fa-cloud {
    color: #8e9da2;
}

.fa.fa-umbrella {
    color: #3162b0;
}

.fa.fa-storm {
    font-family: "fm-icons";
    color: #29282c;
}

.fa.fa-storm:before {
    content: "";
}

/* /衛生状態 */
/* 未読 */
.dashboard-info-status .btn {
    border-color: #bdc1c9 !important;
}
.dashboard-info-status .fa-commenting-o {
    transform: translate(0, -6%);
}
.dashboard-info-status .fa-table {
    transform: translate(0, 6%);
}

/* /未読 */
/* アラート */
.dashboard-alert a {
    font-weight: normal;
    text-decoration: none;
    color: inherit;
}
.dashboard-alert-side {
    /* サブアイコンがあってもなくても幅は固定 */
    width: 3em;
}
.dashboard-alert-icon .badge {
    transform: translate(0, 60%);
    margin-left: -0.75em;
}
.dashboard-alert-icon .fa-commenting-o {
    transform: translate(0, -6%);
}
.dashboard-alert-contents {
    /* 1行でも隣のアイコンと縦で揃える */
    display: flex;
    align-items: center;
    min-height: 2.4em;
}
.dashboard-alert .btn-close {
    transform: translate(2%, -2%);
}
.dashboard-alert:not([class^=alert-]):not([class*=" alert-"]) {
    border: 1px solid var(--border-color);
}
.dashboard-alert:not([class^=alert-]):not([class*=" alert-"]) .dashboard-alert-icon > .fa {
    color: var(--font-color-muted);
}

.dashboard-notice-contents:empty::before {
    content: "通知はありません";
    display: block;
    border: 1px solid var(--border-color);
    border-radius: 0.3rem;
    padding: 1rem;
    text-align: center;
    color: var(--font-color-muted);
}

/* 風呂人から */
.dashboard-advice img {
    position: relative;
    left: -0.5rem;
    width: 6.8rem;
    margin-top: -2rem;
    margin-bottom: -1.2rem;
}

.swiper-slide a {
    display: block;
}

.combo-1,
.combo-bgcolor-1 {
    background-color: #fff2f7;
}

.combo-2,
.combo-bgcolor-2 {
    background-color: #feecd6;
}

.combo-3,
.combo-bgcolor-3 {
    background-color: #fdfdd8;
}

.combo-4,
.combo-bgcolor-4 {
    background-color: #eaf7de;
}

.combo-5,
.combo-bgcolor-5 {
    background-color: #e8f6f8;
}

.combo-6,
.combo-bgcolor-6 {
    background-color: #f1edf8;
}

.combo-7,
.combo-bgcolor-7 {
    background-color: #ededed;
}

:root {
    --combo-1: #7e0e39;
    --combo-2: #6f3d00;
    --combo-3: #868603;
    --combo-4: #375d13;
    --combo-5: #195662;
    --combo-6: #381f61;
    --combo-7: #3b3b3b;
}

.list-d-table {
    display: table;
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
    border-spacing: 0;
}
.list-d-table > li {
    display: table-row;
}
.list-d-table > li > a {
    display: contents;
}
.list-d-table-cell {
    display: table-cell;
    padding: 1rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.list-d-table-cell:first-of-type {
    padding-left: 1rem;
    white-space: nowrap;
}
.list-d-table-cell:last-of-type {
    padding-right: 1rem;
    vertical-align: middle;
}

.list-d-table > li:last-of-type .list-d-table-cell {
    border-bottom: none;
}

[class^=link-] a,
[class*=" link-"] a {
    color: inherit;
}

.link:not([class*=" link-"]) {
    color: inherit;
}
.link:not([class*=" link-"]):hover {
    color: var(--bs-primary-hover);
}
.link:not([class*=" link-"]) a {
    color: inherit;
}
.link:not([class*=" link-"]) a:hover {
    color: var(--bs-primary-hover);
}

.link-secondary {
    color: var(--bs-secondary);
}

.link-muted {
    color: var(--font-color-muted);
}

.link-muted:hover {
    color: #565e64;
}

.link-index-arrow {
    position: relative;
    padding-right: 3rem !important;
    color: inherit;
}

.link-index-arrow::after {
    font-family: "FontAwesome";
    content: "";
    color: var(--bs-primary);
    font-size: 2.1rem;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translate(-50%, -50%);
}

.action-detail-header-left {
    min-height: 2.5rem;
}

.message-body .mail-quote {
    border-left: 4px solid #e0e0e0;
    padding-left: 1em;
    color: #999;
    margin-top: 2em;
}

.dhx_cal_next_button {
    margin-right: 14px;
}

.dhx_cal_tab.dhx_cal_nav_button_custom {
    width: auto;
    min-width: 88px;
}

.dhx_cal_nav_button_custom_first {
    border-radius: 2px 0 0 2px !important;
}

.dhx_cal_nav_button_custom #download {
    padding-left: 1em;
    padding-right: 1em;
}

.dhx_cal_nav_button_custom_last {
    border-radius: 0 2px 2px 0 !important;
}

@media (max-width: 1023px) {
    .dhx_cal_next_button {
        margin-right: 2vw;
    }
}
/* month */
.dhx_month_head {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

.dhx_month_body {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

.dhx_before .dhx_month_head,
.dhx_before .dhx_month_body,
.dhx_after .dhx_month_head,
.dhx_after .dhx_month_body {
    background-color: rgba(255, 255, 255, 0.8) !important;
}

.dhx_month_head {
    padding-top: 4px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 13px !important;
}

.dhx_scheduler_month .dhx_scale_bar {
    padding-top: 6px !important;
    box-sizing: border-box;
}

/* week */
.dhx_scheduler_week .dhx_scale_bar {
    padding-top: 8px !important;
    box-sizing: border-box;
}

/* taisei */
.dhx_month_head .cal_taisei {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.dhx_scheduler_week .cal_taisei {
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
}

.dhx_scheduler_day .cal_taisei {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
    column-gap: 1em;
}

.dhx_month_head .cal_taisei .taisei_name {
    cursor: pointer;
    opacity: 0.6;
}

.dhx_month_head .cal_taisei .taisei_name:hover {
    opacity: 1;
    text-decoration: underline;
}

.combo-1:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-1);
}

.combo-2:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-2);
}

.combo-3:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-3);
}

.combo-4:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-4);
}

.combo-5:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-5);
}

.combo-6:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-6);
}

.combo-7:not(.dhx_before):not(.dhx_after) .dhx_month_head .cal_taisei .taisei_name {
    color: var(--combo-7);
}

.dhx_scheduler_week .cal_taisei .taisei_name {
    padding: 0.2em 1em;
    margin: 0 0.4em;
    border-radius: 10em;
    line-height: 1;
    cursor: pointer;
}

.dhx_scheduler_day .cal_taisei .taisei_name {
    padding: 0.2em 1.6em;
    margin: 0 0.4em;
    border-radius: 10em;
    line-height: 1;
    cursor: pointer;
}

/* event */
.dhx_scheduler_month .dhx_cal_event_clear:hover {
    text-decoration: underline;
}

.dhx_scheduler_month .dhx_cal_event_line:hover {
    opacity: 0.9;
}

.dhx_scheduler_month .dhx_cal_event_line {
    line-height: 19px !important;
    padding-bottom: 0 !important;
}

.dhx_scheduler_month .dhx_cal_event_line_start {
    border-radius: 10em;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.dhx_scheduler_month .dhx_cal_event_line_end {
    border-radius: 10em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.dhx_scheduler_month .dhx_cal_event_line_start.dhx_cal_event_line_end {
    border-radius: 10em;
}

.cal-tooltip-fm {
    box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.2) !important;
    padding: 0.25rem 0.5rem !important;
    color: #fff !important;
    background-color: #000 !important;
    border-radius: 0.25rem !important;
    font-weight: bold;
    font-size: 0.8em;
}

.fm_month_day {
    position: relative;
    z-index: 2;
    cursor: pointer;
    overflow: visible;
}

.fm_month_day::before {
    content: "";
    display: block;
    width: 1.8em;
    height: 1.8em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 100%;
}

.dhx_now .fm_month_day:not(:hover) {
    color: #fff;
}

.dhx_now .fm_month_day::before {
    background-color: #0288d1;
}

.fm_month_day:hover::before {
    background: rgba(0, 0, 0, 0.1);
}

.main-header + #message-area {
    position: sticky;
    top: var(--main-header-height);
    z-index: 1;
}

.main-header + #message-area .alert {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-bottom: 0;
    border-radius: 0 !important;
    min-height: calc(var(--main-header-height) + 2px);
    animation: message-slide-down 0.4s ease-out, message-slide-up 0.4s ease-out 10s;
    animation-fill-mode: forwards;
}

.main-header + #message-area .alert.alert-dismissible {
    animation: message-slide-down 0.4s ease-out;
}

.main-header + #message-area .alert.alert-dismissible .btn-close {
    top: 50%;
    transform: translate(0, -50%);
}

@keyframes message-slide-down {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes message-slide-up {
    0% {
        transform: translateY(0%);
    }
    100% {
        transform: translateY(-100%);
    }
}
.breadcrumb-container {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    margin-left: 1em;
    margin-right: 0.75em;
}

.breadcrumb {
    margin: 0;
}
.breadcrumb a {
    color: var(--font-color-muted);
    opacity: 0.4;
}
.breadcrumb a:hover {
    opacity: 1;
}
.breadcrumb .active {
    color: var(--font-color-muted);
}
.breadcrumb .active a {
    color: var(--font-color-muted);
    opacity: 1;
    pointer-events: none;
    text-decoration: none;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--font-color-muted);
}

@media (max-width: 767.98px) {
    .breadcrumb-container {
        display: none;
    }
}

.check-list.flex-fill.position-relative .preset-list {
    margin: 2.4rem 1.8rem 0;
    height: 5rem;
    background-color: #fff;
}

.preset-list .nav-link.active {
    z-index: 4;
    background-color: #eef1f5;
}

/*# sourceMappingURL=fm.css.map */