/* ↓↓ 共通スタイル設定 ================================================================== ↓ */
@page {
    size: auto!important;
}
h1,
.app_page_title{
    background-image: linear-gradient(90deg, #ffffff, var(--main-color-light));
    border-bottom: 2px solid var(--main-color-dark);
}
.main-header.navbar.navbar-expand .app_top_nav_title{
    font-size: 1.5rem;
    flex-grow: 1;
}

/* ページスクロールのためのCSS ================================================================== */
/*body:not(.sidebar-closed){*/
/*    !* 基本はコンテンツ単位でスクロールさせるため、ページ全体のスクロールを禁止する *!*/
/*    overflow-y: hidden;*/
/*}*/
.content-wrapper {
    display: flex;
    flex-direction: column;
}
.content-wrapper>.content{
    flex-grow: 1;
    overflow: auto;
    padding-bottom: 1rem;
}
/*.content-wrapper>.content>div{*/
/*    width: fit-content;*/
/*}*/
/* == */

/* かっこよくするためのcss ================================================================== */
.content-header>*,
.content>*{
    background-color: white;
}
.content>div{
    padding-top: .5rem;
    padding-bottom: .5rem;
}
#app{
    background-color: rgba(255, 255, 255, 0.85); /* 半透明の白色 */
    /*background-image: url(../../logo.png);*/
    background-blend-mode: lighten;
    /*background-size: auto 97%; !* 幅は自動で高さを100%に設定 *!*/
    /*background-position: center center; !* 画像を中央に配置 *!*/
    /*background-repeat: no-repeat; !* 画像の繰り返しを防止 *!*/
}
/* == */

/* 共通フォント設定 ================================================================== */
h2{
    font-size: 1.5rem;
}
h3{
    font-size: 1.25rem;
}
h4{
    font-size: 1.15rem;
}
footer{
    text-align: right;
}
label{
    margin-bottom: .25rem;
}
.fs_1{
    font-size: 1em !important;
}
/* == */

/* ↓↓ 個別スタイル設定 ================================================================== ↓ */
.w_nendo{
    width: 6em;
}
.w_zip{
    width: 8em !important;
}
.w_pref{
    width: 8em !important;
}
.w_city_with_zip_pref{
    flex-grow: 1;
}
input[type=date]{
    width: 12em;
}
.w_sessions_count{
    width: 6em;
}
.btn-area-start-end{
    display: flex;
    justify-content: space-between;
}
span.select2.select2-container{
    min-width: 100%;
    max-width: 100%;
}
.w_ellipsis{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 20em;
}
.not_last_margin_1>*:not(:last-child){
    margin-right: .25em;
}
#app_list_table th,
#app_list_table td{
    white-space: nowrap;
}
#app_list_table td{
    padding-left: 1em;
    padding-right: 1em;
}
#app_list_table th:not(:last-child),
#app_list_table td:not(:last-child){
    width: 1% !important;
}
/* == */

/* 強制スタイル設定 ================================================================== */
.w_1{
    width: 1% !important;
    white-space: nowrap !important;
}
.w_c_fit{
    width: fit-content !important;
}
.c_pointer{
    cursor: pointer;
}
[class^="mgc_"]:before,
[class*=" mgc_"]:before{
    color: inherit !important;
}
.bg-main{
    background-color: var(--main-color) !important;
}
.bg-main-fore{
    color: var(--main-color-fore) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button{
    padding: .25rem;
}
.bg-main-dark{
    background-color: var(--main-color-dark) !important;
}
.parent_th{
    background-color: var(--main-color-dark) !important;
}
.flex-grow-1{
    flex-grow: 1;
}
/* == */


/* マウスオーバーするまでコンテンツを隠す ================================================================== */
.hover_mask{
    color: transparent;
    background: black;
}
.hover_mask:hover{
    color: black;
    background-color: transparent;
}
/* == */