body {
    /*font-size: 12px;*/
    font-size: 1rem;
}

h1 {
    font-size: 26px;
    margin-bottom: 2px;
}

h3 {
    font-size: 18px;
}

label {
    margin-bottom: 0px;
}

th,
td {
    white-space: nowrap;
}

th {
    text-align: center;
}

/* スピンボタンを解除する（西本さんからの要望により） */
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* 数値は右寄せにする（ミーティングより） */
input[type=number]{
    text-align: right;
}

/* 画面サイズ追加 */
@media (min-width: 1550px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1350px;
    }
}

@media (min-width: 1800px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1520px;
    }
}

@media (min-width: 992px) {
    .modal-xl2 {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    .modal-xl2 {
        max-width: 1140px;
    }
}

@media (min-width: 1550px) {
    .modal-xl2 {
      max-width: 1350px;
    }
}

/* 上書き */
.btn-sm {
    font-size: 12px;
    padding: 1px 5px 1px 5px;
}

.form-check-input {
    margin-top: 2.5px;
    margin-left: 0px;
}

.form-check-label {
    margin-left: 20px;
}

.form-control {
    border: 1px solid #98d8ea;
}

.form-control:focus {
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
    background-color: #c0ffe0;
}

.form-control::placeholder {
    color: #98d8ea;
}

/*
.form-control:focus::placeholder {
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
    color: #a0e0c0;
}
*/

.form-group {
    margin-bottom: 2px;
}

.form-row {
    margin-left: 0;
}

.card {
    border: 1px solid #60d0f0;
}

.input-group-sm>.form-control,
.dropdown .form-control {
    font-size: 11px;
    padding: 0 0;
    border-radius: 4px;
}

.input-group-sm>.form-control:not(textarea),
.dropdown .form-control:not(textarea) {
    height: 18px;
}

.input-group-sm>.input-group-append>.btn {
    font-size: 10.5px;
    padding: 0 4px 0 4px;
    margin-right: -5px;
}

/*摘要登録のボタン*/
/* 摘要登録用コントロールとの兼ね合いのため、保留 */
/*.input-group > .form-control {font-size: 15px; padding: 0 0; border-radius: 5px;}*/
/* ここで  width: 100%; 指定をすると、摘要参照部のレイアウトが崩れる */
/*.input-group > .form-control:not(textarea) {height: 22px;}*/
.navbar {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand {
    font-size: 16px;
    padding-top: 1px;
    padding-bottom: 1px;
}

.nav-link {
    padding-top: 0;
    padding-bottom: 0;
}

.nav-tabs {
    border-bottom: 1px solid #60d0f0;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    border-color: #60d0f0 #60d0f0 #fff;
}

.p-3 {
    padding: 4px !important;
    margin-bottom: 5px;
}

.table {
    margin-bottom: 2px;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #b0d2e8 !important;
}

.table-sm {
    font-size: 0.8rem;
}

.table td,
.table th {
    padding: 8px;
    vertical-align: middle;
}

.table-sm td,
.table-sm th {
    padding: 1px;
    vertical-align: middle;
}

.table table {
    font-size: 0.8rem;
}

.table thead th {
    vertical-align: middle;
}

.bg-light {
    /*background-color: #f8f9fa !important;*/
    /*background-color: #f8fcff !important;*/
    background-color: #f4f8fc !important;
}

.dropdown-menu {
    border: 1px solid #c0e0f0;
}

/* hiddenにより項目を絞る方式であるため、tr + trを利用する方法は使えない */
.dropdown-menu td {
    border: none;
    padding: 0 10px 0 10px;
}

.dropdown-menu tr {
    border-bottom: 1px solid #a0d0e0;
}

.dropdown-menu table {
    display: block;
    overflow-y: auto;
    max-height: 450px;
}

.dropdown-menu tbody tr:hover {
    color: #fff;
    background-color: #1e90ff;
}

/* ナビ用のドロップダウンがセレクトボックス代わりのドロップダウンよりも前に表示されるようにする */
.main-nav .dropdown-menu {
    z-index: 1001;
}

.dropdown-divider {
    border-top: 1px solid #c0e0f0;
    margin: 2 0 2 0;
}

.login .float-right {
    font-size: 16px;
}

.login .form-cell-label {
    font-size: 16px;
    border-radius: 3px;
}

.login .input-group-sm>.form-control {
    font-size: 15px;
    padding: 0 0;
    border-radius: 5px;
}

.login .input-group-sm>.form-control:not(textarea) {
    height: 22px;
}

/* マウスオーバーで開くようにする */
.main-nav .dropdown:hover>.dropdown-menu {
    display: block;
}

.dropdown-item {
    font-size: 14px;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #80f0ff;
}

/* トップ画面のボタン用 */
.btn-outline-primary {
    color: #804000;
    border-color: #d09880;
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show>.btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #e0a080;
    border-color: #d09880;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(192, 117, 54, 0.5);
    color: #807440;
    background-color: #ffe080;
}

.btn-outline-primary:not(:disabled):not(.disabled):not(:hover) {
    background-color: #ffe8e0;
}

.btn-outline-secondary {
    color: #5c80c0;
    border-color: #5c80c0;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show>.btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #60b0e0;
    border-color: #5c80c0;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(54, 117, 192, 0.5);
    color: #4080e0;
    background-color: #80e0ff;
}

.btn-outline-secondary:not(:disabled):not(.disabled):not(:hover) {
    background-color: #f0f8ff;
}

.table .thead-light th {
    background-color: #e0f0ff;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 128, 255, 0.25);
}

.table-hover tbody th {
    background-color: #e0f0ff;
}

/* 子テーブルへの影響を含まない用 */
.table-hover2 > tbody > tr:hover {
    color: #212529;
    background-color: rgba(0, 128, 255, 0.25);
}

.table-hover2 > tbody > th {
    background-color: #e0f0ff;
}

/* モーダルのタイトル行の文字を左寄せにする */
.modal th {
    text-align: left;
}

/* ==== 以下、新規クラス ==== */

.form-cell-label {
    text-align: center;
    font-size: 12px;
    background-color: #c8e0f8;
    font-weight: bold;
    border-radius: 2px;
}

.underline-text {
    border-bottom: solid 1px #555;
    font-size: 11px;
}

.font-warning {
    color: red;
}

.list-area {
    border: 1px solid #60d0f0;
    padding: 4px;
    border-radius: 0.25rem;
}

.mode-text {
    margin-left: 10px;
    padding: 0 6px 0 6px;
    font-size: 14px;
    border: 1px solid #6be;
    background-color: #eff;
    border-radius: 4px;
}

.touroku-card {
    border-top: none !important;
    border-radius: 0 0 5px 5px;
}

/* 拡張ドロップダウンのボタン用 */
.ex-dropdown-button {
    border: 1px solid #98d8ea;
    background-color: white;
    color: #406080;
    font-size: 11px;
    padding: 0 4px 0 4px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-left: none;
}

/* 拡張ドロップダウンのボタン：無効時 */
.ex-dropdown-button:disabled {
    background-color: lightgray;
}

/* 拡張ドロップダウンのフォーカス時用 */
.ex-dropdown-focus {
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
    background-color: #c0ffe0 !important;
}

.touroku-tab .nav-link.active,
.touroku-tab .nav-item.show .nav-link {
    border-color: #60d0f0 #60d0f0 #f8fcff;
    background-color: #f8fcff;
}

.selected-row {
    background-color: rgba(0, 192, 255, 0.125);
}

/* 一覧で、選択された行 */
.dropdown .selected-row {
    background-color: rgba(0, 128, 255, 0.25);
}

/* 一覧で、選択不可の行 */
.dropdown .disabled-row {
    color: rgba(0, 128, 255, 0.25);
}

/* 一覧で、選択された行 */

/* タイトル行固定テーブル */
.table-sticky {
    display: block;
    overflow-y: auto;
    /*max-height: 450px;*/
    border-collapse: separate;
    border-spacing: 0;
}

/* max-heightを%で指定すると、スクロールしない場合のテーブルの高さを含めたものに対する比を出してしまい、高さが一定とならないため、pxで指定する */
.table-sticky thead {
    position: sticky;
    z-index: 1;
    top: 0;
}
/*
.table-sticky thead th {
    position: sticky;
    z-index: 1;
}

.table-sticky thead tr:nth-child(1) th {
    top: 0;
}

.table-sticky thead tr:nth-child(2) th {
    top: 22px;
}

.table-sticky thead tr:nth-child(3) th {
    top: 44px;
}

.table-sticky thead tr:nth-child(4) th {
    top: 66px;
}
*/

/* ドロップダウン用無効テキストボックスの背景色設定 */
.ex-dropdown-display:not(:disabled) {
    background-color: white;
}

/* ドロップダウン用無効テキストボックスの背景色：無効時 */
/*
.ex-dropdown-display-disabled:disabled {
    background-color: lightgray;
}
*/

/* ローディングレイヤー用 */
#loading-layer {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 125, 255, 0.4);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.sk-fading-circle {
    width: 120px;
    height: 120px;
    margin: 40vh auto;
    position: relative;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
}

.sk-fading-circle .sk-circle {
    width: 80%;
    height: 80%;
    position: absolute;
    left: 10%;
    top: 10%;
}

.sk-fading-circle .sk-circle:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #0080ff;
    border-radius: 100%;
    -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
    animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}

.sk-fading-circle .sk-circle2 {
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}

.sk-fading-circle .sk-circle3 {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}

.sk-fading-circle .sk-circle4 {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sk-fading-circle .sk-circle5 {
    -webkit-transform: rotate(120deg);
    -ms-transform: rotate(120deg);
    transform: rotate(120deg);
}

.sk-fading-circle .sk-circle6 {
    -webkit-transform: rotate(150deg);
    -ms-transform: rotate(150deg);
    transform: rotate(150deg);
}

.sk-fading-circle .sk-circle7 {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.sk-fading-circle .sk-circle8 {
    -webkit-transform: rotate(210deg);
    -ms-transform: rotate(210deg);
    transform: rotate(210deg);
}

.sk-fading-circle .sk-circle9 {
    -webkit-transform: rotate(240deg);
    -ms-transform: rotate(240deg);
    transform: rotate(240deg);
}

.sk-fading-circle .sk-circle10 {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
}

.sk-fading-circle .sk-circle11 {
    -webkit-transform: rotate(300deg);
    -ms-transform: rotate(300deg);
    transform: rotate(300deg);
}

.sk-fading-circle .sk-circle12 {
    -webkit-transform: rotate(330deg);
    -ms-transform: rotate(330deg);
    transform: rotate(330deg);
}

.sk-fading-circle .sk-circle2:before {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.sk-fading-circle .sk-circle3:before {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}

.sk-fading-circle .sk-circle4:before {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.sk-fading-circle .sk-circle5:before {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

.sk-fading-circle .sk-circle6:before {
    -webkit-animation-delay: -0.7s;
    animation-delay: -0.7s;
}

.sk-fading-circle .sk-circle7:before {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.sk-fading-circle .sk-circle8:before {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.sk-fading-circle .sk-circle9:before {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.sk-fading-circle .sk-circle10:before {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

.sk-fading-circle .sk-circle11:before {
    -webkit-animation-delay: -0.2s;
    animation-delay: -0.2s;
}

.sk-fading-circle .sk-circle12:before {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {

    0%,
    39%,
    100% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }
}

@keyframes sk-circleFadeDelay {

    0%,
    39%,
    100% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }
}

.tenkai-back {
    background-color: #fff080;
    border: 1px solid #c0bc60;
}

/* テキスト日付欄 */
.text-date{
    background-color: #fff0d0;
}

.text-date:not(:focus):not(:disabled)::placeholder{
  color: #f0c0a0;
  /*color: #e09070;*/
}

.text-date-wareki{
    background-color: #ffe0e0;
    border-radius: 4px;
    width: 100%;
}

/* ヘルプボタン */
.button-standard-help {
    background-color: #bb7777;
}

.button-customize-help {
    background-color: #9999ee;
}

/* 無効ボタン */
.btn.disabled, .btn:disabled {
  opacity: 0.5;
}