body {
    /* フォントの変更 */
    font-family: "メイリオ", Meiryo, "Noto Sans JP", "Open Sans", "Helvetica Neue", Helvetica, "Arial", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    /* フォントサイズの変更 */
    font-size: 14px;
    /* フォントカラーの変更 */
    color: #222222 !important;
}

[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link {
    color: #fff !important;
}
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active,
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:focus,
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:hover {
    background-color: rgba(255, 255, 255, .9);
    color: #343a40 !important;
}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background-color: #0095ff !important;
    color: #fff !important;
}
[class*=sidebar-dark-] .sidebar a {
    color: #fff !important;
}

label {
    font-weight: normal !important;
}

input {
    color: #222222 !important;
    margin-right: 0.15em !important;
}

.btn {
    /* フォントサイズの変更 */
    font-size: 14px !important;
}

.fas {
    margin-left: 1em;
}

.right-aligned {
    display: flex;
    justify-content: flex-end;
}

.sidebar-dark-primary {
    /* background-color: navy !important; */
    background-color: #4e73df !important;
}
[class*=sidebar-dark-] .sidebar a {
    color: #e9e9e9;
}
.brand-link:not([class*=navbar]) {
    background-color: #4e73df !important;
}

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

/*** サイズ関連 ***/
.wc-2 { width: 2em !important; }
.wc-3 { width: 3em !important; }
.wc-4 { width: 4em !important; }
.wc-5 { width: 5em !important; }
.wc-6 { width: 6em !important; }
.wc-7 { width: 7em !important; }
.wc-8 { width: 8em !important; }
.wc-9 { width: 9em !important; }
.wc-10 { width: 10em !important; }
.wc-12 { width: 12em !important; }
.wc-14 { width: 14em !important; }
.wc-15 { width: 15em !important; }
.wc-16 { width: 15em !important; }
.wc-18 { width: 18em !important; }
.wc-19 { width: 19em !important; }
.wc-20 { width: 20em !important; }
.wc-21 { width: 20em !important; }
.wc-22 { width: 22em !important; }
.wc-24 { width: 24em !important; }
.wc-25 { width: 26em !important; }
.wc-26 { width: 26em !important; }
.wc-27 { width: 26em !important; }
.wc-28 { width: 28em !important; }
.wc-29 { width: 29em !important; }
.wc-30 { width: 30em !important; }

.mt-05 { margin-top: .15rem !important; }
.mb-05 { margin-bottom: .15rem !important; }
.ml-05 { margin-left: .15rem !important; }
.mr-05 { margin-right: .15rem !important; }

.numeric-width {
    min-width: 80px;
}
.string-width {
    min-width: 120px;
}

/*** ***/
#masterData .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.3;
    border-radius: 0.2rem;
}

/*** ボタン関連 ***/
.btn-sm {
    height: calc(1.8125rem + 2px) !important;
}
.btn-light {
    background-color: #f8f9fa;
    border-color: #dae0e5;
}

.btn-dark {
    background-color: #ff7f50;
    border-color: #ff7f50;
    color: #fff;
}

.btn-custom-gray {
    background-color: #e2e3e5;
    color: #000;
    border-color: #d6d8db;
}
.btn-custom-gray:hover {
    background-color: #d6d8db;
    color: #000;
}

.btn-green-soft {
    background-color: #e9f7ef;
    color: #000;
    border: 1px solid #b0d9c9;
}

.btn-green-soft:hover {
    background-color: #c8e6d8;
    border-color: #9ecabc;
    color: #000;
}

/*** テーブル関連 ***/
td, th {
    white-space: nowrap;
}
th, tfoot {
    background-color: #f5f5f5;
}

/* 編集中の行の背景色を変更するスタイル */
.editing-row {
    background-color: #40E0D0; /* 薄い黄色 */
}

table[id^="input-table"] th,
table[id^="input-table"] td {
    vertical-align: middle !important;
    font-weight: normal !important;
}
#input-table-00 th,
#input-table-01 th {
    text-align: right;
}

table[id^="lists-table"] th,
table[id^="lists-table"] td {
    vertical-align: middle !important;
}
/* 2行1データの場合、2行ごとにグループ化してストライプ風に交互の背景色を付ける */
#lists-table tbody tr:nth-child(odd),
#lists-table-two tbody tr:nth-child(4n-3),
#lists-table-two tbody tr:nth-child(4n-2) {
    background-color: #ffffff !important;
}
#lists-table tbody tr:nth-child(even),
#lists-table-two tbody tr:nth-child(4n-1),
#lists-table-two tbody tr:nth-child(4n) {
    background-color: #e9f7ef !important;
}
/* ホバー時に背景色を強制的に上書き */
table[id^="lists-table"] tbody tr.hover-group {
    background-color: #d0e4ff !important;
}


/* 左右のパディングを無効化 */
.no-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.input-group-append .btn {
    height: calc(2.25rem + 2px); /* Adjust height to match input field */
    margin-left: .15rem;
}

/* 背景色 */
.bgc-lightblue {
    background-color: #e7f3fe;
}
.bgc-lightgray {
    background-color: #f5f5f5;
}
.bgc-lightyellow {
    background-color: #fff9c4;
}

/* サイドバー用のスタイルを追加 */
#searchFormSidebar {
    display: none; /* デフォルトでは非表示 */
    flex-direction: column;
    width: 320px; /* 幅を調整 */
    position: fixed;
}

/* サイドバーが表示されている場合のメインコンテンツの調整 */
.sidebar-visible #mainContent {
    margin-left: 330px; /* サイドバーの幅に合わせて調整 */
}

.custom-label {
    /* background-color: aliceblue; 背景色を設定 */
    background-color: #f5f5f5; /* 背景色を設定 */
    border: 1px solid #ccc; /* 枠線を設定 */
    padding: 4px 6px; /* パディングで余白を調整 */
    /* padding: 4px 5px 4px 20px; パディングで余白を調整 */
    border-radius: 3px; /* 角丸を追加（必要に応じて変更） */
    display: inline-block; /* ラベルのサイズをテキストに合わせる */
    text-align: right;
    margin-right: 0.15em;
}

.custom-panel {
    /*background-color: #e7f3fe; /* 背景色を設定 */
    border: 1px solid #ccc; /* 枠線を設定 */
    padding: 4px 6px; /* パディングで余白を調整 */
    /* padding: 4px 5px 4px 20px; パディングで余白を調整 */
    border-radius: 3px; /* 角丸を追加（必要に応じて変更） */
    display: inline-block; /* ラベルのサイズをテキストに合わせる */
    text-align: center;
    margin-right: 0.25em;
}

.modal-open-label {
    background-color: royalblue; /* 背景色を設定 */
    color: #fff;
    cursor: pointer;
}
.modal-open-label:hover {
    color: #CCFFFF;
    text-decoration: underline;
}
.modal-open-label-s {
    font-weight: 600 !important;
    color: royalblue;
    cursor: pointer;
}
.modal-open-label-s:hover {
    color: skyblue;
    text-decoration: underline;
}

.modal-open-button {
    padding: .25rem .25rem;
}

.modal-body {
    max-height: 85vh;  /* 画面の高さの85% */
    overflow-y: auto;   /* 縦スクロールを有効化 */
    overflow-x: hidden; /* 横スクロールを無効化 */
}

#masterData {
    width: 100%;  /* テーブルをモーダルの幅に合わせる */
    /*table-layout: fixed; /* 列幅を固定し、意図しない幅変更を防ぐ */
}

/*** Swal関連 ***/
/* 通常の印刷入力用ダイアログ */
.swal2-title-custom {
    font-size: 20px;
    font-weight: bold;
}
.swal2-text-custom {
    font-size: 16px;
}

/* ローディング用ダイアログ */
.swal2-title-loading {
    font-size: 18px;
    font-weight: normal;
}

/* エラー表示用ダイアログ */
.swal2-title-error {
    font-size: 20px;
    color: red;
}
.swal2-text-error {
    font-size: 16px;
    color: darkred;
}

/* モーダル内のiframeをレスポンシブ対応 */
#pdfPreview {
    width: 100%;
    min-height: 70vh;
}

/** 今は不要 **/
/* スマホ用対応（幅が768px以下の場合） */
/* @media (max-width: 768px) {
    #pdfGenerating {
        height: 50vh;
    }

    #pdfPreview {
        min-height: 50vh;
    }
} */
