html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.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;
}

html {
  position: relative;
  min-height: 100%;
}

body {
    margin-bottom: 60px;
    color: var(--main-color-deep-dark) !important;
    /* Google Fontsから読み込んだ M PLUS 1p を指定します */
    font-family: 'Noto Sans JP', sans-serif !important;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}




/* 基本色 */

:root {
    --main-color: #807e7d;
    --main-color-dark: #595857;
    --main-color-deep-dark: #4d4c4b;
    --main-sub-color: #e6e3e1;
}






/*レイアウトメニュー部分*/

#sidebarMenu {
    /* 常に浮かせた状態にする */
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1050; /* メインコンテンツより手前 */
    /* 初期状態（閉じている時）の幅 */
    width: 72px;
    min-width: 72px;
    background-color: #292827; /*#212529 !important;*/
    /* アニメーション（幅だけを変化させる） */
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

    /* 2. 開いた時、サイドバー本体の幅を広げる（背景を被せる） */
    #sidebarMenu:not(.collapsed) {
        width: 260px;
        /* position: absolute; */ /* これでメイン画面の上に「被る」ようになります */
        /* height: 100vh; */
    }

/* 3. メインコンテンツは常に「アイコンの幅分」だけ余白を持つ */
main {
    /* サイドバーが浮いているので、アイコン分の余白だけを常に確保 */
    margin-left: 72px !important;
    /* 幅は常に「100% - アイコン幅」で固定されるため、カクつかなくなる */
    width: calc(100% - 72px);
    /* アニメーションをあえて外す（メインは動かさないため） */
    transition: none;
}

/* 4. メニュー項目の設定（はみ出しを許容する） */
.list-group-item-action {
    display: flex;
    align-items: center;
    height: 48px;
    border-radius: 12px !important;
    margin: 4px 2px !important; /* 左右に余白を作り、72pxの中央に配置 */
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s;
    /* 閉じている時の幅（ツールチップがアイコンのすぐ横に出るようにする） */
    width: 56px !important;
    padding: 0 !important;
    justify-content: center;
}

/* 5. テキストの表示制御 */
.menu-text {
    opacity: 0;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

#sidebarMenu:not(.collapsed) .menu-text {
    opacity: 1;
}
/* 開いた時の中身の幅（背景色を右へ伸ばす） */
#sidebarMenu:not(.collapsed) .list-group-item-action {
    width: 244px !important; /* (260px - 左右マージン16px) */
    padding-left: 12px !important;
    justify-content: flex-start;
}

/* ホバーした時 */
.list-group-item-action:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

/* 6. アクティブ（選択中）の見た目 */
.list-group-item-action.active {
    /*background-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;*/
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

/* --- 3. アイコンとテキストの微調整 --- */
.icon-wrapper {
    width: 32px;
    min-width: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 閉じている時はテキストを完全に消す */
#sidebarMenu.collapsed .menu-text {
    display: none;
}


/*#sidebarMenu {*/
    /* 常に浮かせた状態にする */
    /*position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1050;*/ /* メインコンテンツより手前 */
    /* 初期状態（閉じている時）の幅 */
    /*width: 72px;
    min-width: 72px;
    background-color: #212529 !important;*/
    /* アニメーション（幅だけを変化させる） */
    /*transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}*/

    /* 2. 開いた時、サイドバー本体の幅を広げる（背景を被せる） */
    /*#sidebarMenu:not(.collapsed) {
        width: 260px;*/
        /* position: absolute; */ /* これでメイン画面の上に「被る」ようになります */
        /* height: 100vh; */
    /*}*/

/* 3. メインコンテンツは常に「アイコンの幅分」だけ余白を持つ */
/*main {*/
    /* サイドバーが浮いているので、アイコン分の余白だけを常に確保 */
    /*margin-left: 72px !important;*/
    /* 幅は常に「100% - アイコン幅」で固定されるため、カクつかなくなる */
    /*width: calc(100% - 72px);*/
    /* アニメーションをあえて外す（メインは動かさないため） */
    /*transition: none;
}*/

/* 4. メニュー項目の設定（はみ出しを許容する） */
/*.list-group-item-action {
    width: 240px;*/ /* 広がった時のサイズ */
    /*white-space: nowrap;
    border: none !important;
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.8) !important;
}*/

/* 5. テキストの表示制御 */
/*.menu-text {
    opacity: 0;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

#sidebarMenu:not(.collapsed) .menu-text {
    opacity: 1;
}*/

/* ホバーした時 */
/*.list-group-item-action:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}*/

/* 6. アクティブ（選択中）の見た目 */
/*.list-group-item-action.active {*/
    /*background-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;*/
    /*background-color: #f8f9fa !important;
    color: #212529 !important;
}*/