:root {
    --color-purple: #6f42c1;
    --color-purple-rgb: 112.520718,44.062154,249.437846;
    --color-pink: #d63384;
    --color-yellow: #ffc107;
    --color-red: #dc3545;
    --color-orenge: #fd7e14;
    --color-green: #198754;
    --color-teal: #20c997;
    --color-cyan: #0dcaf0;
    --color-blue: #0d6efd;
    --sidebar-link-bg: rgba(var(--color-purple-rgb), .2);

    --header-space: 4.5em;
}
[data-bs-theme="dark"] {
    --sidebar-link-bg: #6f42c1;
}
/*構成*/
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
header {
    margin-bottom: var(--header-space);
}
#contents {
display: grid;
grid-template-columns: auto 1fr;
grid-template-rows: auto;
grid-template-areas: "side main";
}
aside {
grid-area: side;
position: sticky;
top: var(--header-space);
height: calc(100vh - 5em); 	/* スクロールバー表示に必要 */
overflow-y: auto;
}
main {
grid-area: main;
overflow-y: auto;
}
footer {
    height: 300px;
}

/*画面幅lg(992px)未満ではasideは非表示にする*/
@media (max-width: 992px) {
    #contents {
        grid-template-columns: 1fr;
        grid-template-areas: "main";
    }
    aside {
        display: none;
    }
    /* .modal-xl {
        max-width: 90vw;
    } */
}
/*ダークモード切り替え*/
.bi {
    vertical-align: -.125em;
    fill: currentColor;
}
.btn-bd-primary {
    --bd-violet-bg: #712cf9;
    --bd-violet-rgb: 112.520718, 44.062154, 249.437846;
    --bs-btn-font-weight: 600;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bd-violet-bg);
    --bs-btn-border-color: var(--bd-violet-bg);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #6528e0;
    --bs-btn-hover-border-color: #6528e0;
    --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: #5a23c8;
    --bs-btn-active-border-color: #5a23c8;
}
.bd-mode-toggle {
    z-index: 1500;
}
/*サイドメニューのトグル*/
.btn-toggle {
    padding: .25rem .5rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
    background-color: transparent;
}
.btn-toggle:hover,
.btn-toggle:focus {
    color: rgba(var(--bs-emphasis-color-rgb), .85);
    background-color: var(--bs-tertiary-bg);
}
.btn-toggle::after {
    width: 1.25em;
    line-height: 0;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%280,0,0,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
    transition: transform .35s ease;
    transform-origin: .5em 50%;
    margin-left: .25em;
}
[data-bs-theme="dark"] .btn-toggle::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28255,255,255,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
}
.btn-toggle[aria-expanded="true"] {
    color: rgba(var(--bs-emphasis-color-rgb), .85);
}
.btn-toggle[aria-expanded="true"]::after {
    transform: rotate(90deg);
}
.btn-toggle-nav a {
    padding: .1875rem .5rem;
    margin-top: .125rem;
    margin-left: 1.25rem;
}
.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
    background-color: var(--bs-tertiary-bg);
}
.btn-toggle-nav a.active {
/*    background-color: var(--color-purple);*/
    color: var(--bs-emphasis-color);
    background-color: var(--sidebar-link-bg);

}
#navbarNav a.active {
    background-color: var(--color-purple);
}
h5.card-title a:hover {
    background-color: var(--bs-secondary-bg);
}
/*カレンダー 土日の色*/
.date-container-days div.dow {
    /*color: #000 !important;*/
    font-weight: bold;
}
.date-container-days div.dow:first-child {
    color: #f00 !important;
}
.date-container-days div.dow:nth-child(7) {
    color: #77f !important;
}
.date-container-days div.day.weekend {
    color: #f00;
}
.date-container-days div.day:nth-child(7n) {
    color: #77f;
}
.date-container-days div.day.old.weekend,
.date-container-days div.day.new.weekend {
    color: #00000060;
}
/*カレンダー サイズ*/
/* 変更前は19rem */
.tempus-dominus-widget.dark, .tempus-dominus-widget.light {
	width: 16rem;
}
/* 変更前は40px */
.tempus-dominus-widget .date-container-days {
	grid-auto-rows: 28px !important;
}
/* 変更前は6px */
.tempus-dominus-widget .date-container-days div:not(.no-highlight).today:before {
	bottom: 6px !important;
	right: 6px !important;
}
.tempus-dominus-widget {
    margin-top: 10px; /* 上の余白を10pxに設定 */
}

.tempus-dominus-widget {
    padding-top: 10px; /* 内部余白を設定 */
}
/*.date-container-days div.day {
    background-color: var(--td-dark-active-bg);
}*/
.date-container-days div.day {
    background-color: var(--td-active-bg);
}
.scroll-container {
    transition: opacity .5s ease-in-out; /* フェードイン・フェードアウトのアニメーション */
}
.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.noto-sans-jp-900 {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
}