﻿body {
    background-color: #f8fbff !important;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    padding-bottom: 0;
}

.card-border-custom {
    border-color: #234378 !important;
}

.btn-custom-color {
    --bs-btn-bg: #004DA1;
    --bs-btn-border-color: #004DA1;
    --bs-btn-hover-bg: #006aa6;
    --bs-btn-hover-border-color: #006aa6;
    --bs-btn-active-bg: #005f96;
    --bs-btn-active-border-color: #005f96;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
}


/* セル内スクロール（スマホでもスワイプしやすく） */
.detail-table {
    table-layout: fixed;
    width: 100%;
}

.cell-xscroll {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap; /* 折り返さず横スクロール */
    -webkit-overflow-scrolling: touch;
}

.btn-custom-clear {
    /*background-color: #ededed;
    color: #333;
    border-radius: 0;*/
    font-size: 14px;
    background-color: #cbcbcb;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    border-radius: 8px;
    border: 1px solid #cbcbcb;
}

    .btn-custom-clear:hover {
        background-color: #d5d5d5;
        color: #333;
    }

    .btn-custom-clear:active,
    .btn-custom-clear.active,
    .btn-custom-clear:focus:active,
    .btn-custom-clear:focus-visible {
        background: #d5d5d5 !important;
        transform: translateY(1px);
        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
        border: 1px solid #ddd;
    }

.btn-download {
    margin-left: 0px;
    border: 1px solid #004da1;
    color: #004da1;
    background: #fff;
}

    .btn-download:hover {
        background: #004da1;
        color: #fff;
    }

    .btn-download:active,
    .btn-download.active,
    .btn-download:focus:active,
    .btn-download:focus-visible {
        background: #004da1 !important;
        transform: translateY(1px);
        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
        color: #fff !important;
    }

/* 最上部・最下部へ移動するボタン */
.to-top-btn {
    position: fixed;
    right: 40px;
    bottom: 130px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #333;
    background-color: #fff;
    color: #333;
    font-size: 20px;
    cursor: pointer;
    /* 初期状態 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    /* ヒュッと表示 */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    z-index: 1000;
}
    /* 表示状態 */
    .to-top-btn.show {
        opacity: 0.6;
        visibility: visible;
        transform: translateY(0);
    }
    .to-top-btn.show:hover {
        opacity: 1;
    }
@media (max-width: 576px) {
    .to-top-btn {
        right: 12px;
        bottom: 120px;
        padding: 8px 10px;
        font-size: 14px;
    }
}
/* ここまで */

input {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.input-group-text {
    width: 80px;
    justify-content: center;
}

.mordal-item-custom.active {
    background-color: #fff3cd;
    border: 1px solid #e9ecef;
    color: #333;
}

.btn-outline-custom {
    color: #004DA1;
    border: 1px solid #004DA1;
}

    .btn-outline-custom:hover {
        background-color: #004DA1;
        color: #fff;
        border: 1px solid #004DA1;
    }
    .btn-outline-custom:active,
    .btn-outline-custom.active,
    .btn-outline-custom:focus:active,
    .btn-outline-custom:focus-visible {
        background: #004DA1 !important;
        color: #fff;
        border: 1px solid #004DA1;
        transform: translateY(1px);
        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    }

.font-color {
    color: #004DA1;
}

.site-footer {
    padding: 12px 16px;
}
    .site-footer small {
        color: #6c757d;
        font-size: 12px;
        margin-bottom: 0px !important;
        line-height: 1.4;
    }