/*!
 * フォント
 */

body {
    font-family: Meiryo,"Helvetica Neue",Helvetica,Arial,sans-serif;
}

/*!
 * 色
 */

:root {
    --bg-customdark: #433663;
    --bg-custom: #6356a3;
    --bg-custompale: #9386d3;
    --bg-customlight: #b3a6f3;
    --bg-customsmoke: #c3b6f3;
    --bc-customdark: #231643;
    --bc-custom: #332673;
    --bc-custompale: #7366b3;
    --bc-customlight: #a39dc3;
    --bc-customsmoke: #b3a6e3;
    --fc-default: #66afe9;
    --fo-default: #333;
}

/*!
 * コンテナ
 */

.container-xl {
    padding-left: 0;
    padding-right: 0;
    margin-left: unset;
    margin-right: auto;
    width: 100%;
}

/*
 * flex
 */
.flexwrap-card {
    width: calc(100% / 5);
}

@media (min-width: 768px) {
    .container-xl {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .container-xl {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .container-xl {
        width: 100%;
    }
}

@media (min-width: 1420px) {
    .flexwrap-card {
        width: calc(100% / 7);
    }
}

@media (min-width: 1600px) {
    .container-xl {
        width: 1300px;
    }
}

@media (min-width: 1920px) {
    .container-xl {
        width: 1300px;
    }
}

/*!
 * 配置系
 */

.page-content {
    min-height: calc(100vh - 350px);
}

.pad-sm-harf {
    margin-left: 0;
}

@media (min-width: 1200px) {
    .pad-sm-harf {
        margin-left: 4.16666666%;
    }
}

.content {
    padding: 15px 25px;
}

.form-header {
    margin-bottom: 20px;
}

#page-wrapper-member {
    padding-top: 30px;
    background-color: #fff;
    min-height: 100vh;
}

.col-auto {
    padding-left: 0;
    padding-right: 0;
    float: left;
    position: relative;
    min-height: 1px;
    width: auto;
}

.row > .col-auto:first-child {
    padding-left: 15px;
}

.col-auto > .form-control {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 1420px) {
    .col-xl-12 {
        width: 100%
    }

    .col-xl-11 {
        width: 91.66666667%
    }

    .col-xl-10 {
        width: 83.33333333%
    }

    .col-xl-9 {
        width: 75%
    }

    .col-xl-8 {
        width: 66.66666667%
    }

    .col-xl-7 {
        width: 58.33333333%
    }

    .col-xl-6 {
        width: 50%
    }

    .col-xl-5 {
        width: 41.66666667%
    }

    .col-xl-4 {
        width: 33.33333333%
    }

    .col-xl-3 {
        width: 25%
    }

    .col-xl-2 {
        width: 16.66666667%
    }

    .col-xl-1 {
        width: 8.33333333%
    }
}

@media (max-width: 1400px) {
    .col-sm-2.col-sm-2-w {
        width: 19%;
    }
}


/*!
 * ログイン、ロゴ
 */
.login-title {
    font-size: 45px;
    padding: 0 10px;
    margin: 0;
    display: inline-block;
    width: 100%;
}

.login-subtitle {
    padding: 0 10px;
    margin: 0;
    display: inline-block;
    width: 100%;
}

.logo {
    margin-top: 5vh;
    margin-bottom: 2vh;
    overflow: hidden;
    text-align: center;
}

.logo > img.img-thumbnail {
    border: none;
    background-color: inherit;
}

.sidebar-nav > .logo {
    background-image: url(../images/logo.jpg);
    background-size: 260px;
    background-repeat: no-repeat;
    background-color: rgba(255,255,255,0.9);
    background-blend-mode: lighten;
}

.sidebar-nav > .logo.logo-rev {
    background-image: url(../images/logo_reverse.jpg);
}

.sidebar-nav.collapse.in > .logo {
    background-size: 490px;
}

/*!
 * ページヘッダ系
 */

.navbar-inverse {
    background-color: var(--bg-custom);
    border-color: #080808;
}

.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-text {
    color: white;
}

.navbar-top-links > li > a {
    color: white;
}

.navbar-top-links > li > a:hover,
.navbar-top-links > li > a:focus,
.navbar-top-links > .open > a,
.navbar-top-links > .open > a:hover,
.navbar-top-links > .open > a:focus {
    color: white;
    background-color: var(--bg-customdark);
}

.navber-logout-member {
    float: right!important;
}

.navber-logout-member > .navbar-brand {
    font-size: 14px;
    padding-right: 15px;
}

.navber-logout-member > a > span {
    font-size: 0;    
}

.navber-logout-member:hover,
.navber-logout-member:focus {
    background-color: var(--bg-customdark);
}

.sidebar {
    z-index: 100;
}

.sidebar-nav.navbar-collapse {
    padding-bottom: 30px;
}

.sidebar-nav.navbar-collapse.in {
    min-height: 0;
}

@media (min-width: 768px) {
    .sidebar-nav.navbar-collapse.in {
        min-height: calc(100vh - 50px);
    }

    .sidebar {
        height: 100vh;
        border-right: 1px solid #e7e7e7;
    }

    #page-wrapper {
        border-left: none;
    }

    #page-wrapper-member {
        position: inherit;        
    }

    .navber-logout-member > a > span {
        font-size: 14px;
    }
}

.sidebar-nav.navbar-collapse {
    max-height: calc(100vh - 50px);
    overflow-y: auto;
}

.breadcrumb {
    margin-bottom: 0;
}

.breadcrumb > li {
    display: table-cell;
}

.page-header > .page-title {
    position: relative;
    overflow: hidden;
    padding: 10px 2rem 5px 30px;
    border-top: 2px solid gainsboro;
    display: block;
}

.page-header > .page-title:before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 115px;
    height: 300%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: gainsboro;
}

.page-header > .page-title span {
    font-size: 4rem;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    padding-top: 3px;
    padding-left: 16px;
    color: white;
}

.page-header > .page-subtitle {
    padding-left: 30px;
    opacity: 0.7;
    display: block;
}

.sidebar ul.nav > li > a.menu-collapse::after {
    font-family: FontAwesome;
    content: '\f104';
    width: 5px;
    display: inline-block;
    float: right;
}

.sidebar ul.nav > li.active > a.menu-collapse::after {
    content: '\f107';
}

.sidebar a.menu-icon::before {
    font-family: FontAwesome;
    width: 1.4em;
    display: inline-block;
}

.sidebar li.active > ul.collapse {
    display: block;
    visibility: visible;
}

.breadcrumb > li:last-child {
    color: #777;
}

/*!
 * ページフッタ
 */

.page-footer {
    margin-top: 70px;
}

.navbar.navbar-fixed-bottom.fixed-footer {
    z-index: 50;
    left: 0;
    padding-left: 30px;
    padding-right: 30px;
    background-color: whitesmoke;
    border-color: gainsboro;
}

@media (min-width: 768px) {
    .navbar.navbar-fixed-bottom.fixed-footer {
        left: 250px;
    }
}

.navbar.navbar-fixed-bottom.fixed-footer .btn,
.navbar.navbar-fixed-bottom.fixed-footer .form-control {
    margin-top: 8px;
    margin-bottom: 8px;
    display: inline-block;
    vertical-align: middle;
}

.navbar.navbar-fixed-bottom.fixed-footer .footer-col-4 {
    width: 33.33333333%;
}

.navbar.navbar-fixed-bottom.fixed-footer .alert {
    margin-bottom: 0;
    margin-top: 0;
}

.navbar.navbar-fixed-bottom.fixed-footer .alert:first-child {
    margin-top: 7px;
}

/*!
 * アラート
 */

span.alert {
    display: block;
}

.alert.alert-sm {
    padding: 5px;
    margin-bottom: 15px;
}

.alert-custom {
    color: white;
    background-color: var(--bc-customsmoke);
    border-color: var(--bg-custompale);
}

.alert-link {
    cursor: pointer;
}

.alert-approval {
    height: 32px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.alert-approval-max {
    max-height: 45vh;
    overflow-y: scroll;
    white-space: pre;
}

.alert-container > .alert.alert-sm {
    margin-bottom: 5px;
}

.alert-container > .alert.alert-sm:last-child {
    margin-bottom: 15px;
}

/*!
 * プログレスバー
 */
.progress {
    margin-bottom: 0;
}

/*!
 * 見出し
 */

.caption-l {
    color: white;
    background-color: var(--bc-customsmoke);
    border: 1px solid transparent;
    padding: 8px;
    margin-bottom: 15px;
    width: 100%;
    font-size: 18px;
    padding-left: 24px;
}

.caption-ls {
    color: white;
    background-color: var(--bc-customsmoke);
    border: 1px solid transparent;
    padding: 3px 8px;
    margin-bottom: 5px;
    width: 100%;
    font-size: 16px;
    opacity: 0.8;
    height: 30px;
}

.caption-m {
    border-bottom: medium solid gainsboro;
    border-image: linear-gradient(to right, gainsboro 0%, white 100%);
    border-image-slice: 1;
    margin-bottom: 10px;
    width: 80%;
    font-size: 17px;
}

.caption-s {
    border-bottom: 1px dotted gainsboro;
    margin-bottom: 5px;
    width: 100%;
    font-size: 15.5px;
}

.caption-l.caption-wrap,
.caption-ls.caption-wrap,
.caption-m.caption-wrap,
.caption-s.caption-wrap {
    word-wrap: break-word;
}

@media (max-width: 768px) {
    .caption-m.caption-wrap {
        width: 100%;
    }
}

.form-label {
    width: 100%;
    position: relative;
    min-height: 1px;
    white-space: nowrap;
}

.form-label.form-label-wrap {
    white-space: normal;
}

.row > .form-label {
    padding-right: 15px;
    padding-left: 15px;
}

.form-label-inline {
    display: inline-block;
    padding: 6px 12px;
}

.toggle-header {
    cursor: pointer;
}

.toggle-header::before {
    font-family: FontAwesome;
    content: '\f107';
    width: 16px;
    display: inline-block;
}

.toggle-header.toggle-hide::before {
    content: '\f105';
}

.caption-l.toggle-header {
    padding-left: 8px;
}

.toggle-header.toggle-hide ~ * {
    display: none;
}

/*!
 * パネル
 */

.panel-custom {
    border-color: var(--bg-custompale);
}

.panel-custom > .panel-heading {
    color: white;
    background-color: var(--bg-customlight);
    border-color: var(--bg-custompale);
}

.panel-custom > .panel-footer {
    color: white;
    background-color: var(--bg-customlight);
    border-color: var(--bg-custompale);
}

.panel.panel-shadow {
    margin-bottom: 0px;
    box-shadow: 0 1px 1px rgb(0 0 0 / 5%);
}

.panel.panel-shadow > .panel-body {
    padding: 7px 15px 5px;
    border: none;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 10%);
}

.panel.panel-shadow > .panel-body > .checkbox-inline > label {
    margin-bottom: 0;
}

.panel-bracket {
    padding: 7px 15px 5px;
    box-shadow: none;
    border: 1px solid gainsboro;
    border-top: none;
    border-bottom: none;
    border-radius: 6px;
    display: inline-block;
    margin-right: 10px;
}

.panel-bracket .checkbox:first-child,
.panel-bracket .radio:first-child {
    margin-top: 0;
}

.panel-bracket .checkbox:last-child,
.panel-bracket .radio:last-of-type {
    margin-bottom: 0;
}

label.panel-heading {
    display: block;
    margin: 0;
}

/*!
 * ラベル系
 */
label {
    font-weight: normal;
}

.form-group span.form-control {
    border-color: whitesmoke;
}

.left-label .control-label {
    text-align: left;
    font-weight: inherit;
}

.no-gutter > span {
    padding-left: 0;
    padding-right: 0;
}

span.form-control.borderless {
    border-color: transparent;
    box-shadow: none;
}

.form-horizontal .control-label {
    font-weight: normal;
}

.validater {
    color: red;
    vertical-align: -webkit-baseline-middle;
}

.form-text {
    opacity: 0.7;
}

.form-group-l {
    margin-bottom: 20px;
}

.form-group-s {
    margin-bottom: 10px;
}

.form-group-xs {
    margin-bottom: 5px;
}

.text-bold {
    font-weight: bold;
}

.text-prewrap {
    white-space: pre-wrap;
}

.pre-member {
    white-space: pre-wrap;
    font-family: inherit !important;
    font-size: inherit !important;
    padding: 0px;
    margin: 0px;
    border: none !important;
    background-color: transparent !important;
}

/* インライン配置用 選択数ラベル用 */
@media (min-width: 768px) {
    .form-inline .input-group > .form-control.inline-selectedcountlabel {
        width: 10rem;
    }
}

/* バッジ */
/* bootstrapのbackground-colorを複写 */
.badge {
    vertical-align: middle;
    font-weight: normal;
    background-color: initial;
}

.label {
    vertical-align: middle;
    font-weight: normal;
    background-color: initial;
    padding-bottom: 0.2em;
}

.label-default {
    background-color: #777
}

.label-primary {
    background-color: #337ab7
}

.label-success {
    background-color: #5cb85c
}

.label-info {
    background-color: #5bc0de
}

.label-warning {
    background-color: #f0ad4e
}

.label-danger {
    background-color: #d9534f
}

.badge-required {
    margin-left: 5px;
}
/*!
 * インプット
 */
.checkbox, .radio {
    margin-top: 7px;
    margin-bottom: 7px;
}

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
    margin-top: 3px;
}

.checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline {
    margin-left: 0;
}

.checkbox-inline, .radio-inline {
    margin-right: 10px;
}

.checkbox-inline:last-of-type, .radio-inline:last-of-type {
    margin-right: 0;
}

input[type=checkbox], input[type=radio] {
    cursor: pointer;
}

.checkbox > label.disabled {
    cursor: not-allowed;
}


.checkbox .chk-link-smoke,
.checkbox-inline .chk-link-smoke {
    display: none;
}

.checkbox .chk-link-smoke ~ span,
.checkbox-inline .chk-link-smoke ~ span{
    opacity: 0.7;
}

.aspNetDisabled label.radio-inline {
    cursor: not-allowed;
    color: gray;
}

textarea {
    resize: none;
}

textarea.resize-vertical {
    resize: vertical;
    min-height:11.5rem;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance: textfield;
}

.form-control[readonly] {
    cursor: default;
    background-color: whitesmoke;
}

.input-group .form-control:first-child:last-child {
    border-radius: 4px;
}

.input-group > .input-group-btn:not(:first-child) > .btn,
.input-group > .input-group:not(:first-child) > .input-group-btn:not(:first-child) > .btn {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .form-control:not(:first-child),
.input-group > *:not(:first-child) > .form-control:first-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > *:not(:last-child) > .form-control:first-child,
.input-group > *:not(:last-child) > .input-group-btn:not(:first-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .input-group-addon:not(:first-child) {
    border-left: none;
}

.input-group > .input-group-addon:not(:last-child) {
    border-right: none;
}

.table .checkbox-inline {
    position: relative;
}

.table-selectable th .checkbox {
    margin-top: 0;
    margin-bottom: 0;
}

.table-selectable td .checkbox {
    margin-top: 5px;
    margin-bottom: 0;
}

.modal-content .table-selectable td .checkbox {
    margin-top: 0;
}

.table-selectable .checkbox > label {
    padding-left: 25px;
    margin-bottom: -7px;
}

.table-selectable.table-hover td input[type=checkbox] {
    pointer-events: none;
}

.combobox .dropdown-menu.dropdown-menu-fixed {
    position: fixed;
    max-height: 200px;
    overflow-y: auto;
    top: 219px;
    left: 16px;
    right: 216px;
}
.combobox .dropdown-menu > li > input[type="submit"] {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
    text-align: left;
    width: 100%;
    background-color: inherit;
    border: inherit;
}
.combobox .dropdown-menu>li>input[type="submit"]:focus,
.combobox .dropdown-menu>li>input[type="submit"]:hover {
    color: #262626;
    text-decoration: none;
    background-color: #f5f5f5;
}

.ddl-placeholder {
    visibility: hidden;
    height: 0;
    padding-right: 24px;
}

/*!
 * フォーカス
 */

input[type=checkbox].form-control,
input[type=radio].form-control {
    width: inherit;
    height: inherit;
}

input[type=checkbox]:focus,
input[type=radio]:focus {
    outline: 1px solid var(--fc-default);
    outline-offset: -1px;
}

.btn:focus,
.btn:focus-visible {
    outline: 1px auto var(--fc-default);
    outline-offset: 0px;
}

a:focus {
    outline: 1px auto var(--fc-default);
    outline-offset: 0px;
}

/*!
 * テーブル
 */

.table > thead > tr > th,
.table > thead > tr > th > input {
    font-weight: normal;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
    white-space: nowrap;
}

.table.table-hover tbody > tr {
    cursor: pointer;
}

.table > tbody > tr.default,
.table > tfoot > tr.default,
.table > thead > tr.default,
.table > tbody > tr > td.default,
.table > tbody > tr > th.default,
.table > tfoot > tr > td.default,
.table > tfoot > tr > th.default,
.table > thead > tr > td.default,
.table > thead > tr > th.default {
    background-color: whitesmoke;
}

.table.table-hover > tbody > tr.default:hover,
.table.table-hover > tfoot > tr.default:hover,
.table.table-hover > thead > tr.default:hover,
.table.table-hover > tbody > tr:hover > td.default,
.table.table-hover > tbody > tr:hover > th.default,
.table.table-hover > tfoot > tr:hover > td.default,
.table.table-hover > tfoot > tr:hover > th.default,
.table.table-hover > thead > tr:hover > td.default,
.table.table-hover > thead > tr:hover > th.default {
    background-color: lightgray;
}

.table > tbody > tr.custom,
.table > tfoot > tr.custom,
.table > thead > tr.custom,
.table > tbody > tr > td.custom,
.table > tbody > tr > th.custom,
.table > tfoot > tr > td.custom,
.table > tfoot > tr > th.custom,
.table > thead > tr > td.custom,
.table > thead > tr > th.custom {
    background-color: var(--bg-customsmoke);
}

.table > tbody > tr.gray,
.table > tfoot > tr.gray,
.table > thead > tr.gray,
.table > tbody > tr > td.gray,
.table > tbody > tr > th.gray,
.table > tfoot > tr > td.gray,
.table > tfoot > tr > th.gray,
.table > thead > tr > td.gray,
.table > thead > tr > th.gray {
    background-color: lightgray;
}

.table > tbody.table-condensed > tr > td,
.table > tbody.table-condensed > tr > th,
.table > thead.table-condensed > tr > td,
.table > thead.table-condensed > tr > th {
    padding: 5px;
}

/* table-hoverを無効化 */
table.table-hover > tbody > tr.table-hover-disabled {
    background-color: initial;
    opacity: 0.6;
    cursor: not-allowed;
}

table.table-hover.table-striped > tbody > tr.table-hover-disabled:nth-of-type(odd) {
    background-color: #f9f9f9;
}

.sticky_table_wrapper {
    overflow-y: scroll;
    max-height: calc(100vh - 250px);
    min-height: 116px;
}

.modal-body .sticky_table_wrapper {
    max-height: 58vh;
}

.table.sticky_table {
    margin-bottom: 0;
}

.table.sticky_table > thead > tr {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    z-index: 10;
}

.sticky_table_wrapper.border-top {
    border-top: 1px solid #ddd;
}

.sticky_table.table-bordered {
    border-top: none;
}

.table > tbody > tr > td span.form-control {
    background-color: inherit;
    border-color: transparent;
    box-shadow: none;
}

.table-evenwidth {
    table-layout: fixed;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    color: white;
    background-color: var(--bg-custom);
    border-color: var(--bg-custom);
}

.btn-sort {
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding-left: 5px;
    padding-right: 5px;
    font-size: inherit;
}

.btn-sort:hover {
    background-color: var(--bc-customsmoke);
}

.btn-sort.sort-asc::after {
    font-family: FontAwesome;
    content: '\f062';
    font-size: small;
    margin-left: 5px;
}

.btn-sort.sort-desc::after {
    font-family: FontAwesome;
    content: '\f063';
    font-size: small;
    margin-left: 5px;
}

.table > thead > tr > th.sortable-header-column {
    vertical-align: top;
    font-weight: normal;
}

.table > thead > tr > th.sortable-header-column > span {
    display: inline-block;
    padding: 6px;
}

.table > thead > tr > th.sortable-header-column > select {
    min-width: fit-content;
}

.pager-custom > td {
    border: 1px solid transparent;
}

.pager-custom > td > table {
    margin-top: 10px;
    margin-bottom: 10px;
}

.pager-custom > td > table > tbody > tr:first-child > td {
    line-height: 34px;
}

.pager-custom > td > table > tbody > tr:first-child > td > * {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-left: none;
}

.pager-custom > td > table > tbody > tr:first-child > td:first-child > * {
    border-left: 1px solid #ddd;
    border-radius: 4px 0px 0px 4px;
}

.pager-custom > td > table > tbody > tr:first-child > td:last-child > * {
    border-radius: 0px 4px 4px 0px;
}

.pager-custom > td > table > tbody > tr:first-child > td > span {
    color: white;
    background-color: var(--bg-custom);
    border-color: var(--bg-custom);
    cursor: default;
}

.pager-custom > td > table > tbody > tr:first-child > td > a:hover {
    color: #23527c;
    background-color: #eee;
    border-color: #ddd;
    text-decoration: none;
}

/*!
 * ボタン
 */

.btn-light {
    color: var(--fo-default);
    background-color: whitesmoke;
    border-color: silver;
}

.btn-light.active,
.btn-light.focus,
.btn-light:active,
.btn-light:focus,
.btn-light:hover,
.open > .dropdown-toggle.btn-light {
    color: var(--fo-default);
    background-color: lightgray;
    border-color: gainsboro;
}

.btn-gray {
    color: white;
    background-color: darkgray;
    border-color: silver;
}

.btn-gray.active,
.btn-gray.focus,
.btn-gray:active,
.btn-gray:focus,
.btn-gray:hover,
.open > .dropdown-toggle.btn-gray {
    color: white;
    background-color: dimgray;
    border-color: gainsboro;
}

.btn-custom {
    color: white;
    background-color: var(--bg-custom);
    border-color: var(--bc-custom);
}

.btn-custom.active,
.btn-custom.focus,
.btn-custom:active,
.btn-custom:focus,
.btn-custom:hover,
.open > .dropdown-toggle.btn-custom {
    color: white;
    background-color: var(--bg-customdark);
    border-color: var(--bc-customdark);
}

.btn-customlight {
    color: white;
    background-color: var(--bg-customlight);
    border-color: var(--bc-customlight);
}

.btn-customlight.active,
.btn-customlight.focus,
.btn-customlight:active,
.btn-customlight:focus,
.btn-customlight:hover,
.open > .dropdown-toggle.btn-customlight {
    color: white;
    background-color: var(--bg-custompale);
    border-color: var(--bc-custompale);
}

td > .btn-sm , td > * > .btn-sm {
    margin: 2px;
}

.link-gray-pre + .btn-link {
    color: darkgray;
}

.link-gray-pre + .btn-link:hover {
    color: dimgray;
}

.btn-aligntop > .btn, .btn.btn-aligntop, .btn-aligntop > span {
    vertical-align: top;
}

.btn-alignbottom > .btn, .btn.btn-alignbottom, .btn-alignbottom > span {
    vertical-align: bottom;
}

.btn-customlinkbutton {
    background-color: transparent;
    border-color: transparent;
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
    width: 100%;
    text-align: left;
}
.btn-customlinkbutton:hover {
    color: #262626;
    text-decoration: none;
    background-color: #f5f5f5;
    border-radius: 0px;
}
.btn-customlinkbutton:active:focus {
    outline: none;
    box-shadow: none;
}

.btn-customlink {
    color: #337ab7;
    text-decoration: none;
    background-color: transparent;
    border: none;
}
.btn-customlink:hover {
    color: #23527c;
    text-decoration: underline;
    outline: 0;
    background-color: transparent;
    border: none;
}

/*!
 * リストボックス
 */

.list-group.list-box {
    overflow-y: auto;
    padding: 0;
    margin-bottom: 0;
    background-color: whitesmoke;
}

.list-group.list-box > option {
    position: relative;
    display: block;
    padding: 6px 15px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}

.list-group.list-box > option:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.list-group.list-box > option:last-child {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.list-group.list-box > option:hover, .list-group.list-box > option:focus {
    color: #555;
    text-decoration: none;
    background-color: #f5f5f5;
}

.list-group.list-box > option:checked {
    color: white;
    text-decoration: none;
    background-color: #3297FD;
}

ul.list-link-wrap > li > .btn-link {
    white-space: normal;
    word-wrap: break-word;
    text-align: left;
    vertical-align: middle;
}
/*!
 * 画像
 */

.img-fullwidth {
    max-width: 100%;
}

.img-nodrag {
    -webkit-user-drag: none;
}

/*!
 * モーダル
 */

@media (min-width:1115px) {
    .modal-xl {
        width: 1100px;
    }
    .modal-xxl {
        width: 1100px;
    }
    .modal-fullhd {
        width: 1100px;
    }
}

@media (min-width: 1420px) {
    .modal-fullhd {
        width: 1300px;
    }
}

@media (min-width: 1600px) {
    .modal-xxl {
        width: 1400px;
    }
    .modal-fullhd {
        width: 1400px;
    }
}

@media (min-width: 1900px) {
    .modal-fullhd {
        width: 1800px;
    }
}

.modal-header {
    background-color: var(--bc-customsmoke);
    border-radius: 4px 4px 0px 0px;
    color: white;
    cursor: move;
}

.modal-content > .modal-body {
    background-color: white;
    max-height: calc(100vh - 212px);
    overflow-y: auto;
}

.modal-header .close {
    margin-top: 3px;
}

.modal-footer {
    text-align: left;
}

.modal-open .modal {
    overflow: hidden;
}

.modal {
    pointer-events: none;
}

.modal.in {
    pointer-events: auto;
}

/*!
 * updateprogress
 */

.modal.in.allow-fullscreen .modal-dialog {
    -webkit-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

.progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: white;
    opacity: 0.7;
    z-index: 2000;
    padding: 50vh 30vw;
    text-align: center;
}

.progress-container-certscanner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgb(255,255,255,0.7);
    opacity: 1;
    z-index: 2000;
    padding: 50vh 30vw;
    text-align: center;
}

.progress-bar.progress-bar-completed {
    width: 100%;
}

/*!
 * pagetop
 */
.pagetop {
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    top: 60px;
    opacity: 0.6;
}

.pagetop a {
    position: relative;
    display: block;
    width: 90px;
    height: 90px;
    text-decoration: none;
    text-align: center;
}

.pagetop a::before {
    color: #3f98ef;
    position: absolute;
    width: 25px;
    height: 25px;
    inset: -40px 0 0 0;
    margin: auto;
    text-align: center;
}

.pagetop a::after {
    content: 'PAGE TOP';
    font-size: 13px;
    color: #fff;
    position: absolute;
    inset: 45px 0 0 0;
    margin: auto;
    text-align: center;
    color: #3f98ef;
}

/*!
 * タブ タスク切替表示用
 */

.tab-plane.ajax__tab_container .ajax__tab_header {
    display: none;
}

.tab-plane.ajax__tab_container .ajax__tab_body {
    font-family: inherit !important;
    font-size: inherit !important;
    border: none !important;
    border-top: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
}

/*!
 * ガントチャート風カレンダー
 */

.gantt.table-bordered > thead > tr:first-child > th {
    border-width: 0px;
}

.gantt.table-bordered > thead > tr > th:first-child {
    border-top: 0px;
    border-bottom: 0px;
}

.gantt.table-bordered > tbody > tr:first-child > td:first-child {
    border-top: 0px;
}

.gantt.table-bordered > thead > tr > th.border-left {
    border-left-width: 1px;
}

.gantt.table-bordered > tbody > tr > td,
.gantt.table-bordered > thead > tr > th {
    min-width: 20px;
    width: 20px;
    border-bottom-width: 1px;
    font-weight: normal;
}

.gantt.table-bordered > tbody > tr > td.gantt-col-center,
.gantt.table-bordered > thead > tr > th.gantt-col-center {
    vertical-align: bottom;
    text-align: center;
}

.gantt-col {
    color: white;
    border: 2px solid;
    border-radius: 6px;
    padding: 1px 5px;
    cursor: default;
}

.gantt-col.gantt-col-warning {
    background-color: #f0ad4e;
    border-color: #eea236;
}

.gantt-col.gantt-col-info {
    background-color: #5bc0de;
    border-color: #46b8da;
}

.gantt-col.gantt-col-done {
    background-color: silver;
    border-color: darkgray;
}

.gantt-col.gantt-col-inprogress {
    background-color: #5cb85c;
    border-color: #4cae4c;
}

td.gantt-col-today {
    background-color: lemonchiffon;
}

/*!
 * flex
 */
.flex {
    display: flex;
}

.flex.flex-alignbottom {
    align-items: flex-end;
}

.flex-width10 {
    width: 10%;
}

.flex-width15 {
    width: 15%;
}

.flex-width20 {
    width: 20%;
}

.flex-width25 {
    width: 25%;
}

.flex-width40 {
    width: 40%;
}

.flexwrap {
    display: flex;
    flex-wrap: wrap;
}

.flexwrap-card > .box {
    border: 1px solid #ddd;
    padding: 5px;
    margin-top: -1px;
    margin-left: -1px;
}

.flexwrap-card > .default {
    background-color: whitesmoke;
}
/*!
 * 余白
 */
.margin-l-0 {
    margin-left: 0px;
}

.margin-l-10 {
    margin-left: 10px;
}

.margin-l-20 {
    margin-left: 20px;
}

.margin-r-0 {
    margin-right: 0px;
}

.margin-r-5 {
    margin-right: 5px;
}

.margin-r-10 {
    margin-right: 10px;
}

.margin-r-20 {
    margin-right: 20px;
}

.margin-t-10 {
    margin-top: 10px;
}

.margin-t-20 {
    margin-top: 20px;
}

.margin-t-30 {
    margin-top: 30px;
}

.margin-b-0 {
    margin-bottom: 0;
}

.margin-b-5 {
    margin-bottom: 5px;
}

.margin-b-10 {
    margin-bottom: 10px;
}

.margin-b-20 {
    margin-bottom: 20px;
}

.margin-b-30 {
    margin-bottom: 30px;
}

.margin-b-calendar {
    margin-bottom: 150px;
}

.padding-l-10 {
    padding-left: 10px;
}

.padding-l-15 {
    padding-left: 15px;
}

.padding-r-0 {
    padding-right: 0px;
}

.padding-r-10 {
    padding-right: 10px;
}

.padding-r-15 {
    padding-right: 15px;
}

.padding-t-10 {
    padding-top: 10px;
}

.padding-b-0 {
    padding-bottom: 0;
}

.padding-b-10 {
    padding-bottom: 10px;
}

.padding-b-30 {
    padding-bottom: 30px;
}

.padding-b-60 {
    padding-bottom: 60px;
}

.width-fill {
    width: 100%;
}
