body{
    font-size: 14px;
}
a[title],input[title],button[title],textarea[title]{
    cursor: help !important;
}
.font-initial {
    font-size: initial;
}
/* soft-ui調整 */
.navbar-vertical.navbar-expand-xs .navbar-collapse{
    overflow: unset;
}
.navbar-vertical.navbar-expand-xs{
    overflow: unset;
}
.navbar-vertical .navbar-nav .nav-link{
    justify-content: start;
}
.g-sidenav-hidden .navbar-vertical .nav-item .nav-link .nav-link-text, .g-sidenav-hidden .navbar-vertical .nav-item .nav-link .sidenav-normal{
    white-space: nowrap;
}
.g-sidenav-show .sidenav .nav-link-text{
    white-space: nowrap;
}
.g-sidenav-hidden .navbar-vertical .navbar-nav .nav-link{
    overflow: hidden !important;
}
.navbar-vertical .navbar-nav .nav-item .collapse .nav .nav-item .nav-link:before,
.navbar-vertical .navbar-nav .nav-item .collapsing .nav .nav-item .nav-link:before{
    height: 0.57rem;
    width: 0.57rem;
    border-radius: 50%;
    top: 51%;
}
.navbar-vertical .navbar-nav .nav-item .collapse .nav .nav-item .nav-link.active:before,
.navbar-vertical .navbar-nav .nav-item .collapsing .nav .nav-item .nav-link.active:before{
    height: 0.57rem;
    width: 0.57rem;
    border-radius: 50%;
}
/* 共通 */
.list_base th,
.list_base td{
    font-size: 0.8rem !important;
}
.list_base .btn-sm{
    padding: 0.4em 0.6em;
    font-size: 0.7rem;
    font-weight: normal;
}
.page-item .page-link, .page-item span {
    width: 30px;
    height: 30px;
}
li.page-item.disabled .page-link {
    background: #f3f3f3;
    border: solid 1px #f3f3f3;
}
a.page-link:hover{
    background-color: #ffe5f9;
}
.navbar-vertical.navbar-expand-xs{
    max-width: 13.625rem!important;
}
.g-sidenav-show .navbar-vertical.navbar-expand-xs .navbar-nav .nav-link{
    margin: 0 0.6rem 0 0.3rem;
}
.navbar-vertical .navbar-brand{
    padding: 1.5rem 0.5rem;
    text-align: center;
}
.g-sidenav-show:not(.g-sidenav-hidden):not(.g-sidenav-pinned) .navbar-vertical .navbar-nav .nav-link{
    padding: 0.5rem;
}
.bg_odd_soft{
    background-color: #f2f2f2 !important;
}
.bg_accordion {
    background: #e0e0e0 !important;
}
.bg-info-soft {
    background: rgba(33, 82, 255, 0.03) !important;
}
.table-striped-columns>:not(caption)>tr>:nth-child(2n), .table-striped>tbody>tr:nth-of-type(odd)>*{
    white-space: unset;
    color: #344767;
    opacity: 1;
}
/* サムネイル画像（縦長・横長の場合はトリミング） */
.thumbnail_image {
    width: 85px;
    height: 127px;
    object-fit: contain;
}
/* CKEditorのサイズ調整 */
.ck.ck-icon {
    font-size: .6em !important;
}
.ck-editor__main p{
    font-size: 13px;
}
.ck-content{
    min-height: 250px;
}
.ck-content p{
    margin-bottom: 0.25rem;
}

/* フォームフォーカス時のボーダー色 */
.form_focus_color{
    border-color: #e293d3;
}

/* 拡張版のフォームエラー */
.is-invalid-ex {
    border-color: #fb5c70;
    border-right: solid 1px #fb5c70 !important;
}

/* 各検索項目のtitleのwidth */
.add_field .input_title{
    width: 6rem;
}
/* soft-uiバグによる修正 */
.form-check:not(.form-switch) .form-check-input.is-invalid,
.form-check .form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
    border-color: #fd5c70;
}

/* input type="number"にした場合の右端矢印を無効化 */
.no-spin::-webkit-inner-spin-button,
.no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance: textfield;
}
/* DIVに対してアコーディオンを定義した場合に使用 */
.accordion div[aria-expanded=false] .collapse-close {
    display: block;
}
.accordion div[aria-expanded=false] .collapse-open {
    display: none;
}
.accordion div[aria-expanded=true] .collapse-close {
    display: none;
}
.accordion div[aria-expanded=true] .collapse-open {
    display: block;
}
@media (max-width: 1199.98px){
    .g-sidenav-show.g-sidenav-pinned .navbar-vertical .navbar-nav .nav-item .collapse .nav {
        padding-left: 1.5rem !important;
        margin-left: 0 !important;
    }
    .g-sidenav-pinned .navbar-vertical .nav-item .nav-link span.sidenav-mini-icon {
        opacity: 0;
    }
    .g-sidenav-show.g-sidenav-pinned .navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav-link{
        padding-left: 1rem !important;
        margin-left: 1.5rem !important;
    }
    .navbar-vertical .navbar-nav .nav-item .collapse .nav .nav-item .nav-link:before, .navbar-vertical .navbar-nav .nav-item .collapsing .nav .nav-item .nav-link:before {
        left: 0;
    }
}
@media (min-width: 1200px){
    .g-sidenav-hidden .navbar-vertical:not(:hover) .nav-link-text{
        margin-left: 0 !important;
    }
    .g-sidenav-hidden .navbar-vertical .navbar-brand span{
        display: none;
    }
    .g-sidenav-hidden .navbar-vertical:hover{
        max-width: 13.625rem!important;
    }
    .sidenav.fixed-start~.main-content {
        margin-left: 15.125rem;
    }
    .g-sidenav-hidden .navbar-vertical {
        max-width: 6rem!important;
    }
    .g-sidenav-hidden .navbar-vertical:not(:hover) .nav-item .collapse .nav .nav-item .nav-link,
    .g-sidenav-hidden .navbar-vertical:not(:hover) .nav-item .collapsing .nav .nav-item .nav-link{
        margin-left: 0.3rem;
    }
    .g-sidenav-hidden .navbar-vertical{
        max-width: 4.5rem!important;
    }
    .g-sidenav-hidden .navbar-vertical:not(:hover) .nav-item .nav-link .icon{
        margin-right: 0 !important;
    }
    .g-sidenav-show:not(.g-sidenav-hidden) .navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav-link,
    .g-sidenav-show.g-sidenav-hidden .navbar-vertical:hover.navbar-expand-xs .navbar-nav .nav .nav-link{
        margin-left: 0.5rem !important;
    }
    .g-sidenav-show:not(.g-sidenav-hidden) .navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav .nav-link,
    .g-sidenav-show.g-sidenav-hidden .navbar-vertical:hover.navbar-expand-xs .navbar-nav .nav .nav .nav-link{
        padding-left: 0.5rem !important;
    }
    .g-sidenav-show:not(.g-sidenav-hidden) .navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav .nav-link::before,
    .g-sidenav-show.g-sidenav-hidden .navbar-vertical:hover.navbar-expand-xs .navbar-nav .nav .nav .nav-link::before{
        content: none !important;
    }
    .g-sidenav-hidden .navbar-vertical:not(:hover) .navbar-vertical .nav-item .nav-link .nav-link-text,
    .g-sidenav-hidden .navbar-vertical:not(:hover) .navbar-vertical .nav-item .nav-link .sidenav-normal{
        display: none;
    }
    .g-sidenav-hidden .navbar-vertical.fixed-start~.main-content {
        margin-left: 6rem;
    }
    .g-sidenav-hidden .navbar-vertical:hover.fixed-start~.main-content {
        margin-left: 15rem;
    }
    .navbar-vertical .navbar-nav .nav-item .collapse .nav .nav-item .nav-link:before,
    .navbar-vertical .navbar-nav .nav-item .collapsing .nav .nav-item .nav-link:before{
        left: 0;
    }
    .g-sidenav-show:not(.g-sidenav-hidden) .navbar-vertical .navbar-nav .nav-item .collapse .nav,
    .g-sidenav-show:not(.g-sidenav-hidden) .navbar-nav .nav-item .collapsing .nav,
    .g-sidenav-hidden .navbar-vertical:hover .nav-item .collapse .nav{
        padding-left: 1.5rem !important;
        margin-left: 0 !important;
    }
}
@media (min-width: 992px){
    .dropdown .dropdown-menu.dropdown-menu-end{
        top: 2rem;
    }
    .dropdown.dropdown-hover:hover>.dropdown-menu, .dropdown .dropdown-menu.show {
        transform: unset !important;
    }
    .dropdown.dropdown-hover .dropdown-menu, .dropdown .dropdown-menu {
        transform: unset !important;
    }
}
.main_information{
    max-height: 70vh;
    overflow-y: auto;
    list-style: none;
    padding-left: 0;
}
.disp_none{
    display: none;
}
.disp_inline_block{
    display: inline-block;
}
.disp_flex{
    display: flex;
}
.border_right_radius{
    border-top-right-radius: 0.5rem !important;
    border-bottom-right-radius: 0.5rem !important;
}
.navbar-vertical.navbar-expand-xs .navbar-collapse{
    height: calc(100vh - 8rem);
}
.navbar-vertical .navbar-nav>.nav-item .nav-link.active{
    background-color: var(--bs-gray-100);
}
.navbar-vertical .navbar-nav .nav-item .nav-link .icon i{
    color: #3A416F;
}
.navbar-vertical .navbar-nav .nav-item .nav-link.active .icon i{
    color: #FFF;
}
.dataTable-top>nav:first-child, .dataTable-top>div:first-child, .dataTable-bottom>nav:first-child, .dataTable-bottom>div:first-child{
    float: none;
}
.dataTable-top>nav:last-child, .dataTable-top>div:last-child, .dataTable-bottom>nav:last-child, .dataTable-bottom>div:last-child{
    float: none;
}
.page-link.active, .active>.page-link{
    color: #FFF;
}
.nav-tabs .nav-item a,
.nav-tabs .nav-item span {
    padding: 0.3rem 1rem;
    margin-right: 0.2rem;
    border: none;
}
.nav-tabs .nav-item a:not(.active):hover,
.nav-tabs .nav-item span:not(.active):hover {
    background-color: #f6f6f6;
    border-bottom: none;
}
.form_group_start_pad{
    padding-left: .75rem !important;
}
.form-label, label{
    font-size: unset;
}
input::placeholder{
    text-align: left;
}
.tooltip {
    --bs-tooltip-font-size: 0.7rem;
    --bs-tooltip-color: black;
    --bs-tooltip-bg: var(--bs-secondary);
}
.tooltip .tooltip-inner {
    text-align:left;
}
.table {
    border-collapse: collapse;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
}
.dataTable-wrapper .dataTable-container .table tr th{
    border-right: solid 1px;
    border-right-color: inherit;
}
.dataTable-wrapper .dataTable-container .table tr td{
    border-right: solid 1px;
    border-right-color: inherit;
}
.table thead th,
.table tbody td{
    vertical-align: middle;
}
/* チェックボックス・ラジオボタン修正 */
.form-check:not(.form-switch){
    min-height: unset;
    padding-left: 0;
    margin-bottom: 0;
}
.form-check:not(.form-switch) .form-check-input[type="checkbox"], .form-check:not(.form-switch) .form-check-input[type="radio"]{
    margin-top: 0.15rem;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]{
    margin: 0.2em;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked{
    padding: 0.28rem;
}
.form-check:not(.form-switch) .form-check-input{
    width: 16px;
    height: 16px;
    margin: 0;
}
.form-check:not(.form-switch) .form-check-input[type="checkbox"]:after{
    font-size: 10px;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked:after{
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:after{
    width: 8px;
    height: 8px;
}
.btn-sm, .btn-group-sm>.btn{
    --bs-btn-padding-y: 0.4rem;
    --bs-btn-padding-x: 0.8rem;
}
.dataTable-wrapper .dataTable-container .table thead tr th,
.dataTable-wrapper .dataTable-container .table tbody tr td{
    padding: 0.5rem;
}
.dataTable-wrapper .dataTable-container .table thead tr th{
    text-align: center;
    color: #344767;
    opacity: 1;
    background: #fcf2ff;
    text-transform: unset;
}
.dataTable-wrapper .dataTable-container .table tbody tr td{
    white-space: unset;
    color: #344767;
    opacity: 1;
}
/* table-borderedで一番下のセルの左線を消す処理が入っていたので上書きCSS */
.table tbody tr:last-child td{
    border-width: 1px;
}
/* 後ろに画像を付ける場合のinput-groupが壊れていたので修正CSS */
.input-group .form-control+.input-group-text{
    position: unset;
}
.input-group .form-control:not(:last-child){
    border-top-right-radius: unset !important;
    border-bottom-right-radius: unset !important;
}
.input-group .form-control ~ .input-group-text{
    border-right: 1px solid #d2d6da;
}
.input-group.focused .form-control:focus{
    border-right: none !important;
}
.table tr th{
    color: #344767;
    opacity: 1;
    background: #fcf2ff;
}
.table tr td{
    color: #344767;
    opacity: 1;
}
.edit_block{
    width: 100%;
    display: flex;
    align-items: center;
    border-bottom: solid 1px #e9ecef;
}
.edit_block .edit_title{
    width: 15%;
    min-width: 180px;
    font-weight: bold;
    font-size: 0.8rem;
    padding: 0.5rem;
    color: var(--bs-dark);
    box-sizing: border-box;
}
.edit_block .edit_item{
    width: 85%;
    padding: 0.5rem;
    box-sizing: border-box;
}
.search_frm label{
    margin-bottom: 0;
}
.search_frm input{
    margin-bottom: 0;
}
.width-auto{
    width: auto;
}
.accordion-header .border-radius-sm{
    border-radius: 0.25rem !important;
}
.accordion-button:after{
    content: none;
}
.flatpickr-calendar .flatpickr-day.today {
    background: #e6e6fa !important;
    border: none;
}
/* 編集画面のフッターボタン */
.footer_control{
    width: 100%;
    position: fixed;
    bottom: 0;
    background: rgb(42, 57, 84, .9);
    z-index: 1020;
    left: 0;
}
.sidenav.fixed-start~.main-content .footer_control > div{
    margin-left: 15.125rem;
    display: flex;
    justify-content: space-between;
}
.g-sidenav-hidden .sidenav:not(:hover).fixed-start~.main-content .footer_control > div{
    margin-left: 6rem;
}
.select.form-control.form-select-sm{
    appearance: auto;
}
/* スマホサイズ等調整 */
@media (max-width: 767px){
    /* card-bodyの幅調整 */
    .card .card-body{
        padding: 1rem;
    }
    .page-item .page-link,
    .page-item span{
        width: 26px;
        height: 26px;
        font-size: .8rem;
    }
}
@media (max-width: 575px) {
    .pagination{
        margin-top: .5rem;
        justify-content: center;
    }
}

/*モーダル用*/
.modal-header{
    background: #fcf2ff;
    padding: 10px;
}
.modal-dialog:not(.modal-fullscreen) .modal-body{
    max-height: 78vh;
    overflow-y: auto;
}
.modal-footer{
    border-top: 0;
}
.modal .btn{
    margin-bottom: 0;
}
.modal .btn-close{
    font-size: 24px;
    color: #000;
    height: auto;
}
.line_normal{
    line-height: normal;
}
.bg-soft {
    background-color: rgba(255, 255, 255, .7);
}
/* 商品カテゴリ設定用 */
#modal_category_list {
    height: 65vh;
}
#modal_category_list option {
    padding-top: 3px;
    padding-bottom: 5px;
    border-bottom: solid 1px #e1e1e1;
    font-size: 12px;
}
#modal_category_list option:last-child {
    border-bottom: none;
}
#modal_category_list option:disabled {
    color: #FFF;
}
.nest_0:disabled {
    background: #c90c9e;
}
.nest_1:disabled {
    background: #de63bf;
}
.nest_2:disabled {
    background: #efa1d3;
}
.nest_0 {
    padding-left: 0.5rem;
}
.nest_1 {
    padding-left: 1.5rem;
}
.nest_2 {
    padding-left: 3rem;
}
.nest_3 {
    padding-left: 4rem;
}
.nest_4 {
    padding-left: 5rem;
}
/* 点滅アニメーション */
.blinking{
    -webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink0.51s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@media screen and (max-width: 700px) {
    .edit_block {
        flex-wrap: wrap;
    }

    .edit_block .edit_title {
        width: 100%;
    }

    .edit_block .edit_item {
        width: 100%;
    }
}
