@font-face {
    font-family: 'LINE Seed JP';
    src: url('./WOFF2/LINESeedJP_OTF_Bd.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}
:root {
    --main-bg: #f0fdfa;
    --accent-color: #76c7c0;
    --text-color: #333;
    --heading-font: 'LINE Seed JP', 'Segoe UI Rounded', 'Yu Gothic UI', sans-serif;
    --body-font: 'LINE Seed JP', 'Hiragino Kaku Gothic ProN', sans-serif;
    --header-height: 56px;
    --left-sidebar-width: 300px;
}
html {
    position: relative;
    min-height: 100%;
    font-size: 0.9rem;
    background-color: #F1F0EC !important;
}
@media (min-width: 768px) {
    html {
        font-size: 1rem;
    }
}
body {
    padding-top: var(--header-height);
    margin-bottom: 60px;
    font-family: 'LINE Seed JP', 'sans-serif','Hiragino Kaku Gothic ProN';
    background-color: #F1F0EC;
}
.tabulator-cell {
    font-family:'sans-serif';
}
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}
input[type="text"]:read-only {
    background-color: lightslategray;
}
.cursor-pointer {
    cursor: pointer;
}
#main-content {
    flex: 1 1 auto;
    min-width: 0;
}
.card-focus {
    border: 1px solid #dc3545 !important;
    border-width: 3px !important;
    background-color:rgba(255,0,0,0.5);
}
#btn-back-to-top {
    position: fixed;
    bottom: 20px; /* 下からの余白 */
    right: 20px; /* 右からの余白 */
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 20px; /* 丸型 */
    background: rgba(0, 123, 255, 0.5);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 9999;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
#btn-back-to-top:hover {
    background: rgba(0, 123, 255, 0.8);
}
hr.thick-line {
    all: unset;
    display: block;
    border: none;
    height: 20px !important;
    background-color: #333;
    margin: 0 0;
    border-radius: 2px;
}
.divider-1 {
    height: 0.5px;
    background-color: #333;
    margin: 0 0;
    border-radius: 0px;
}
.divider-2 {
    height: 1px;
    background-color: #333;
    margin: 0 0;
    border-radius: 0px;
}
.divider-3 {
    height: 1.5px;
    background-color: #333;
    margin: 0 0;
    border-radius: 0px;
}
.ls-wide {
    letter-spacing: 0.2em;
}
.ls-tight {
    letter-spacing: -0.5px;
}
.search-box {
    display: flex;
    gap: 0.5rem;
}
.search-box input {
    flex: 1;
}
.search-box button {
}