﻿@charset "UTF-8";
/* 凡例用 */
.legend-area {
    display: flex;
    margin: auto;
    gap: 30px;
}

.legend-item {
    height: 30px;
    width: 150px;
    font-size: 24px;
    text-align: center;
}

.legend-red {
    background-color: #FF0000;
    color: #fff;
}

.legend-blue {
    background-color: #416CE5;
    color: #fff;
}

.legend-green {
    background-color: #00B050;
    color: #fff;
}

.legend-black {
    background-color: #3B3838;
    color: #fff;
}

.legend-orange {
    background-color: #ee7800;
    color: #fff;
}

.legend-block {
    border-spacing: 5px 1rem;
}

.legend-sub-row {
    height: 20px;
}

.legend-main-row {
}

    .legend-main-row img {
        height: 35px;
    }

    .legend-main-row td {
        padding-left: 10px;
        font-weight: bold;
    }

.store-panel {
    background-color: #E8E8E8;
    border: 2px solid #A4BDCC;
    width: 330px;
    margin: 0 auto;
    padding-top: 0;
    border-radius: 0.25rem;
}

    .store-panel.error {
        background-color: #FFCCCC;
        border: 2px solid #C28E8E;
    }

    .store-panel .store-header {
        color: #111111;
    }

        .store-panel .store-header .main-header {
            display: flex;
            font-weight: bold;
            color: #FFF;
            background-color: #005A8F;
            border-top-left-radius: 0.12rem;
            border-top-right-radius: 0.12rem;
            padding: 2px 8px;
        }

    .store-panel.error .store-header .main-header {
        background-color: #D25A5A;
    }

    .store-panel .store-header .sub-header {
        display: flex;
        font-weight: bold;
        color: #035B8F;
        background-color: #C7DDE9;
        padding: 2px 8px;
        text-align: left;
        min-height: 23px;
    }

    .store-panel.error .store-header .sub-header {
        background-color: #F19090;
    }

    .store-panel .store-header .store-info-area .store-info-detail {
        width: 50%;
    }

.store-info-area {
    display: flex;
    gap: 2px;
    margin: 2px;
}

    .store-info-area .store-info-detail {
        background: #FFF;
        width: 100%;
    }

        .store-info-area .store-info-detail .info-item {
            display: grid;
            grid-template-columns: 25px auto;
        }

            .store-info-area .store-info-detail .info-item > svg,
            .store-info-area .store-info-detail .info-item > i {
                margin: auto;
                color: #9CBED3;
            }

            .store-info-area .store-info-detail .info-item .info-title {
                font-weight: bold;
                display: flex;
            }

            .store-info-area .store-info-detail .info-item .info-content {
                display: grid;
                grid-template-columns: auto 35px;
            }

                .store-info-area .store-info-detail .info-item .info-content .info-content-val {
                    color: #035B8F;
                    font-weight: bold;
                    font-size: 20px;
                    display: flex;
                }

                .store-info-area .store-info-detail .info-item .info-content .info-content-unit {
                    color: #9A9A9A;
                    font-size: 10px;
                    text-align: right;
                    margin-top: auto;
                    margin-right: 5px;
                }

                .store-info-area .store-info-detail .info-item .info-content .info-content-link {
                    color: #9A9A9A;
                    font-size: 10px;
                    display: flex;
                }

.store-panel .store-header .store-status-area {
    display: flex;
    grid-template-columns: 95px auto;
    font-weight: bold;
    padding: 2px;
}

    .store-panel .store-header .store-status-area .store-status {
        padding-top: 3px;
        font-size: 14px;
        font-weight: bold;
        width: 60px;
        height: 25px;
        text-align: center;
        border-width: 1px;
    }

.store-panel.error .store-header .store-status-area .store-status {
    background-color: #FFE2E2;
    border: 1px solid #D25C5C;
    color: #D31515;
}

.store-header .store-status-area .store-button-area {
    display: flex;
    gap: 5px;
    /*margin: 2px;*/
    /*text-align: left;*/
    margin: 0 0 0 auto;
}

.show-button {
    background-color: #1f6bff;
    padding-top: 5px;
    color: #FFFF;
    font-size: 12px;
    text-align: center;
    height: 25px;
    border-radius: 5px;
    font-weight: bold;
}

    .show-button:hover {
        cursor: pointer;
    }

.store-header .store-status-area .store-button-area .show-button {
    width: 85px;
}

.store-header .store-status-area .store-button-area .accordion-button, .accordions {
    background-color: transparent;
    font-size: 25px;
    width: 30px;
    text-align: center;
    box-shadow: none;
    margin-top: -4px;
    height: 30px;
}

    .store-header .store-status-area .store-button-area .accordion-button:hover, .accordions:hover {
        cursor: pointer;
    }

    .store-header .store-status-area .store-button-area .accordion-button i, .accordions i {
        margin-top: 0px;
        background: white;
        border-radius: 15px;
        margin-right: 10px;
    }

    .store-header .store-status-area .store-button-area .accordion-button[aria-expanded=false] i, .accordions[aria-expanded=false] i {
        font-family: "Font Awesome 6 Pro";
        content: '\f144';
        font-weight: 400;
        color: #0c63e4;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        transition-duration: 0.3s;
    }

    .store-header .store-status-area .store-button-area .accordion-button[aria-expanded=true] i, .accordions[aria-expanded=true] i {
        font-family: "Font Awesome 6 Pro";
        content: '\f144';
        font-weight: 900;
        color: #0c63e4;
        -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        transform: rotate(270deg);
        transition-duration: 0.3s;
    }

.store-header .store-status-area .store-button-area .modal-button {
    background-color: transparent;
    font-size: 22px;
    width: 24px;
    text-align: center;
    box-shadow: none;
    margin-top: -1px;
    margin-left: -5px;
    height: 24px;
}

    .store-header .store-status-area .store-button-area .modal-button:hover {
        cursor: pointer;
    }

    .store-header .store-status-area .store-button-area .modal-button i {
        margin-top: 0px;
        background: white;
        border-radius: 15px;
        margin-right: 10px;
        color: #0c63e4;
    }

.store-status-area .info-title-sub {
    margin-left: 135px;
}

.store-panel .store-header .system-panel-type-button-area {
    display: block;
    grid-template-columns: 95px auto;
    font-weight: bold;
    padding: 2px;
}

    .store-panel .store-header .system-panel-type-button-area .store-status {
        padding-top: 3.5px;
        font-size: 14px;
        font-weight: bold;
        width: 60px;
        height: 25px;
        text-align: center;
        border-width: 1px;
    }

.store-panel.error .store-header .system-panel-type-button-area .store-status {
    background-color: #FFE2E2;
    border: 1px solid #D25C5C;
    color: #D31515;
}

.store-header .system-panel-type-button-area .store-button-area {
    display: flex;
    gap: 5px;
    margin: 2px;
    text-align: left;
}

    .store-header .system-panel-type-button-area .store-button-area .show-button {
        width: 85px;
    }

    .store-header .system-panel-type-button-area .store-button-area .accordion-button {
        background-color: transparent;
        font-size: 25px;
        width: 30px;
        text-align: center;
        box-shadow: none;
        margin-top: -4px;
        height: 30px;
    }

        .store-header .system-panel-type-button-area .store-button-area .accordion-button:hover {
            cursor: pointer;
        }

        .store-header .system-panel-type-button-area .store-button-area .accordion-button i {
            margin-top: 0px;
            background: white;
            border-radius: 15px;
            margin-right: 10px;
        }

        .store-header .system-panel-type-button-area .store-button-area .accordion-button[aria-expanded=false] i {
            font-family: "Font Awesome 6 Pro";
            content: '\f144';
            font-weight: 400;
            color: #0c63e4;
            -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            transform: rotate(90deg);
            transition-duration: 0.3s;
        }

        .store-header .system-panel-type-button-area .store-button-area .accordion-button[aria-expanded=true] i {
            font-family: "Font Awesome 6 Pro";
            content: '\f144';
            font-weight: 900;
            color: #0c63e4;
            -webkit-transform: rotate(270deg);
            -ms-transform: rotate(270deg);
            transform: rotate(270deg);
            transition-duration: 0.3s;
        }

.store-header .header-row {
    display: flex;
    align-items: flex-end;
    font-weight: bold;
}

    .store-header .header-row.separate_row {
        display: grid;
        grid-template-columns: 50% 50%;
    }

    .store-header .header-row .store-name {
        font-size: 18px;
        font-weight: bold;
        width: 100%;
        text-align: left;
    }

    .store-header .header-row .store-headquarter-name {
        font-size: 18px;
        font-weight: bold;
        width: 100%;
        text-align: left;
    }

.store-panel.error .store-header .header-row .store-status {
    margin-top: 5px;
    padding-top: 3.5px;
    background-color: #FFFF;
    color: #ff0000;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
    width: 60px;
    height: 25px;
    vertical-align: central;
    text-align: center;
    border: solid;
    border-width: 1px;
}

.store-detail .info-area {
    font-weight: 500;
}

    .store-detail .info-area.error {
        font-weight: 500;
    }

.store-detail .info-title-sub {
    color: #035B8F;
    text-align: right;
    padding-right: 2px;
    font-weight: bold;
}

.store-detail .info-title-demand {
    color: #035B8F;
    text-align: right;
    margin: 2px;
    padding: 2px;
    font-weight: bold;
    border: 1px solid;
    background: #C7DDE9
}

.error #ev-time-area.store-time-area,
.error #wind-time-area.store-time-area {
    background: #FF9C8F;
}

#ev-time-area.store-time-area,
#wind-time-area.store-time-area {
    background: #EBF6F7;
}

#sub-time-area.store-time-area {
    background: #C7DDE9;
}

.store-time-area .store-detail {
    display: flex;
}

    .store-time-area .store-detail .info-title-sub {
        margin: 2px 7px;
    }

.store-detail .info-time-title {
    color: #035B8F;
    text-align: right;
    font-weight: bold;
    margin-left: auto;
    padding: 2px 8px;
}

.store-panel .store-detail .info-area > .info-title {
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    background-color: #D4D4D4;
    color: #035B8F;
    padding: 2px 8px;
}

.store-panel.error .store-detail .info-area > .info-title {
    background-color: #F2ABAB;
}

.store-detail .info-area .store-info-area {
    display: grid;
    grid-template-columns: 50% 50%;
}



.store_detail_table {
    width: 700px;
}

.info-detail > div {
    margin-top: -5px;
    text-align: left;
}

.store-detail .info-area .info-detail-area .info-detail {
    border-top: 2px solid lightgray;
    padding: 5px;
    text-align: left;
    padding-bottom: 0;
}

    .store-detail .info-area .info-detail-area .info-detail.left-detail {
        border-right: 2px solid lightgray;
    }

    .store-detail .info-area .info-detail-area .info-detail .info-detail-title {
        height: 20px;
        font-size: 14px;
        font-weight: 500;
    }

    .store-detail .info-area .info-detail-area .info-detail .info-detail-main {
        color: #2857E1;
        font-size: 22px;
        font-weight: bold;
        text-align: left;
    }

    .store-detail .info-area .info-detail-area .info-detail .info-detail-sub {
        color: #ff0000;
        font-size: 11px;
        height: 20px;
        text-align: left;
    }

.info-detail-link {
    text-align: left;
    padding: 5px;
    font-size: 20px;
}

.store-info tr th i.fa-solid {
    width: 20px;
}

.info-detail-title i.fa-solid {
    width: 15px;
}

.store-panel .info-header-area {
    display: flex;
    text-align: left;
    padding-left: 5px;
    gap: 5px;
}

    .store-panel .info-header-area .info-detail {
        width: 100%;
    }

    .store-panel .info-header-area .header-info {
        color: #2857E1;
        font-size: 15px;
        font-weight: bold;
    }

.store-panel .accordion-button, .accordions {
    display: block;
    padding: inherit;
}

    .store-panel .accordion-button::after, .accordions::after {
        background-image: unset;
    }

.btn-flat-blue {
    background-color: #1f6bff;
    color: #FFFF;
}

.btn-flat-green {
    background-color: #A0B801;
    color: #FFFF;
}

.btn-flat-marineblue {
    background-color: #026EAA;
    color: #FFFF;
}

.btn-flat-gray {
    background-color: #808080;
    color: #FFFF;
}

.header-content {
    font-size: 14px;
}

.button-area {
    gap: 10px;
    display: flex;
    margin-left: 10px;
}

.status-area {
    display: flex;
    margin: 0 0 0 auto;
}

    .status-area .status-title {
        color: #111;
        line-height: 27px;
        height: 40px;
        padding-top: 8px;
        min-width: 55px;
    }

    .status-area .status-content {
        width: 100px;
    }

        .status-area .status-content .status-info {
            color: #111;
            background-color: rgb(78, 185, 253);
            margin-left: 20px;
            text-align: center;
            font-size: 18px;
            width: 80px;
            border: 1px solid #000;
            height: 100%;
            padding-top: 5px;
        }

        .status-area .status-content .status-info-error {
            color: #D31515;
            background-color: #FFE2E2;
            margin-left: 20px;
            text-align: center;
            font-size: 18px;
            width: 80px;
            border: 1px solid #D25C5C;
            height: 100%;
            padding-top: 5px;
        }


/* demand_status */
#demand-status {
    /*margin-top: 25px;*/
}

    #demand-status .title .left {
        display: flex;
        align-items: center;
    }

    #demand-status .title .date_time {
        font-size: 18px;
    }

        #demand-status .title .date_time span {
        }

    #demand-status .shadow-frame {
        margin: 15px auto 0;
        background-color: #fff;
        /*box-shadow: 0 0 20px rgba(162,196,251,0.3);*/
        box-shadow: 0 0 20px #6ecaf3;
        border-radius: 6px;
        padding: 15px;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        gap: 15px 15px;
    }

    #demand-status .row {
        display: flex;
        width: 100%;
        gap: 15px 15px;
    }

    #demand-status .panel-block {
        display: flex;
        justify-content: center;
        align-items: stretch;
        flex-wrap: nowrap;
        width: 100%;
        padding: 15px;
    }

    #demand-status .panel-group {
        flex-grow: 1;
        flex-wrap: unset;
        display: flex;
        width: 100%;
        text-align: center;
        gap: 15px 15px;
    }

    #demand-status .panel {
        flex-grow: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        padding: 10px 10px;
        background-color: #f1f6ff;
        border-radius: 10px;
        text-align: center;
    }

    #demand-status .box {
        justify-content: center;
        align-items: stretch;
        flex-wrap: nowrap;
        width: 100%;
        padding: 15px;
    }

        #demand-status .box > * {
            flex-grow: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            padding: 15px 30px;
            background-color: #f1f6ff;
            border-radius: 10px;
            text-align: center;
        }

            #demand-status .box > *:first-child {
                margin-right: 15px;
            }

    #demand-status .demand_title {
        font-size: 18px;
        font-weight: bold;
    }

    #demand-status .value {
        color: #1f6bff;
        font-size: 22px;
        font-weight: bold;
    }

        #demand-status .value span {
            font-size: 30px;
        }

    #demand-status .timed {
    }

        #demand-status .timed .value {
            font-size: 30px;
            line-height: 1;
        }

        #demand-status .timed .remaining_time {
            color: #ed172c;
            font-size: 16px;
            font-weight: bold;
        }

            #demand-status .timed .remaining_time img {
                width: 17px;
                margin-right: 5px;
            }

    #demand-status .currents {
        display: flex;
        margin-right: 20px;
        border-right: 1px solid #d3d6de;
        padding-right: 20px;
    }

    #demand-status .current_target_power {
        position: relative;
    }

    #demand-status .current_power {
    }

    #demand-status .rate {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 0px 25px;
    }

        #demand-status .rate img {
            width: 60px;
        }

        #demand-status .rate > span {
            font-size: 36px;
        }

        #demand-status .rate .demand_title {
            position: relative;
        }

        #demand-status .rate.blue .demand_title,
        #demand-status .rate.blue .value {
            color: #1d74ff;
        }

            #demand-status .rate.blue .demand_title::before,
            #demand-status .rate.blue .demand_title::after {
                background-color: #1d74ff;
            }

        #demand-status .rate.orange .demand_title,
        #demand-status .rate.orange .value {
            color: #ff7300;
        }

            #demand-status .rate.orange .demand_title::before,
            #demand-status .rate.orange .demand_title::after {
                background-color: #ff7300;
            }

        #demand-status .rate.red .demand_title,
        #demand-status .rate.red .value {
            color: #ed172c;
        }

            #demand-status .rate.red .demand_title::before,
            #demand-status .rate.red .demand_title::after {
                background-color: #ed172c;
            }

    #demand-status .progress-bar {
        min-width: 60%;
        color: #111;
        background-color: #f1f6ff;
    }

.jsgrid-load-panel:before {
    content: url("../../assets/images/loading.gif");
    border: unset;
    border-right-color: unset;
    border-radius: unset;
    -webkit-animation: unset;
    animation: unset;
    top: -15px;
    left: 41%;
    transform: scale(0.2);
}

/*jqGrid*/
.ui-jqgrid tr.jqgrow.grid-master-account-row {
    font-size: 14px;
    height: 45px !important;
    background: #ececec;
}

.ui-jqgrid tr.jqgrow.grid-even-row {
    background: #f6f6f6;
}

.ui-jqgrid tr.jqgrow.grid-delete-row {
    background: #ff9191;
}

.ui-jqgrid tr.jqgrow.grid-cancel-row {
    background: #fff8a2;
}

.ui-jqgrid tr.jqgrow.grid-contract-row {
    background: #F1CCF5;
}

.ui-jqgrid tr.jqgrow.grid-selected-row {
    background-color: var(--search-card-color);
}

.menu-btn-frame {
    background-color: #D9E1F2;
    box-shadow: 0 0 20px var( --header-color);
    border-radius: 6px;
    padding: 15px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.menu-btn .status-valid {
    font-size: 18px;
    font-weight: normal;
    color: white;
    background-color: #00B050;
    align-items: normal;
    justify-content: right;
    text-align: center;
    margin: 0px 30px;
    padding: 0px 8px;
}

.menu-btn .status-invalid {
    font-size: 18px;
    font-weight: normal;
    color: white;
    background-color: #AEAAAA;
    align-items: normal;
    justify-content: right;
    text-align: center;
    margin: 0px 30px;
    padding: 0px 8px;
}

.form-prediction {
    font-weight: 400;
    line-height: normal;
    color: #fff;
    background-color: #004c80;
    display: inline-block;
    padding: 0.1em 1em;
    font-size: 75%;
    border-radius: 0.25rem;
    text-align: center;
    margin-left: 5px;
    vertical-align: top;
}

.form-optimal {
    font-weight: 400;
    line-height: normal;
    color: #fff;
    background-color: #0074b8;
    display: inline-block;
    padding: 0.1em 1em;
    font-size: 75%;
    border-radius: 0.25rem;
    text-align: center;
    margin-left: 5px;
    vertical-align: top;
}

.form-terminal {
    font-weight: 400;
    line-height: normal;
    color: #fff;
    background-color: #ff5e00;
    display: inline-block;
    padding: 0.1em 1em;
    font-size: 75%;
    border-radius: 0.25rem;
    text-align: center;
    margin-left: 5px;
    vertical-align: top;
}

/* 機能メニューモーダル */
.function-menu-modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0,0,0,50%);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
}

    .function-menu-modal-container:before {
        content: "";
        display: block;
        vertical-align: middle;
        height: 30%;
    }

    .function-menu-modal-container.active {
        opacity: 1;
        visibility: visible;
    }

.function-menu-modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 500px;
    width: 100%;
}

.function-menu-modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    top: -15px;
    right: -15px;
    width: 30px;
    height: 30px;
    font-size: 30px;
    color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 15px;
    background-color: #ff3a3a;
}

.function-menu-modal-content {
    background: #fff;
    text-align: left;
    padding: 5px;
}

    .function-menu-modal-content .title {
        text-align: center;
        font-weight: bold;
        font-size: 20px;
        margin-bottom: 10px;
        display: block;
    }

    .function-menu-modal-content .btn-area {
        display: flex;
        flex-flow: column;
        gap: 5px;
    }

/*fancytree*/
.favorite-store-tree ul {
    border: unset !important;
    user-select: none;
}

    .favorite-store-tree ul.fancytree-container {
        font-size: 20px !important;
    }

.favorite-store-tree .register-node {
    background-color: #b3ebc0;
}

.favorite-store-tree .fancytree-node > * {
    vertical-align: middle;
    height: auto;
    width: auto;
}

.favorite-store-tree .fancytree-expander {
    margin: 0 3px;
    padding: 0px;
    height: 1em;
}

.favorite-store-tree .fancytree-icon {
    margin: 0 5px;
    padding: 0px;
    height: 1em;
}

.favorite-store-tree .fancytree-checkbox {
    color: #0075ff;
    margin: 0 5px;
    padding: 0px;
    height: 1em;
}

.favorite-store-tree .auto-headquarter {
    background-color: #ffc90e;
    border-radius: 5px;
    font-weight: bold;
    padding: 0 5px;
}

.displayStoreArea {
    position: relative;
    margin-top: 5px;
    width: 320px;
    height: 35px;
}

    .displayStoreArea input[type="radio"] {
        display: none;
    }

    .displayStoreArea label {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        line-height: 35px;
        font-size: 11pt;
        font-weight: bold;
        border: 2px solid #ccc;
    }

    .displayStoreArea #mylistStoreDisplay + label {
        right: 50%;
        border-radius: 6px 0 0 6px;
        background: #eee;
        color: #666;
        border-right: none;
    }

    .displayStoreArea #mylistStoreDisplay:checked + label {
        background: #00b359;
        color: #fff;
    }

    .displayStoreArea #allStoreDisplay + label {
        left: 50%;
        border-radius: 0 6px 6px 0; /* 角丸(右側の上下)   */
        background: #eee;
        color: #666;
        border-left: none;
    }

    .displayStoreArea #allStoreDisplay:checked + label {
        background: #00b359;
        color: #fff;
    }

a.link-button {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    font-weight: bold;
    border: 2px solid #27acd9;
    color: #27acd9;
    transition: 0.5s;
}

    a.link-button:hover {
        color: #fff;
        background: #27acd9;
    }

#air-info-panel, #evEms-info-panel {
    margin: -2px;
}

/*------------------------*/
/* 左サイドメニューページ関連 */
/*------------------------*/
.left-side-menu-page {
    display: flex;
    flex-flow: row;
    height: 100%;
}

    /* 左サイドメニュー */
    .left-side-menu-page .left-side-menu {
        display: flex;
        flex-flow: column;
        background: #e0e0e0;
        min-width: 300px;
        font-size: 15px;
        user-select: none;
        box-shadow: 1px 0px 10px 0px #838383;
        z-index: 100;
        position: relative;
    }

        .left-side-menu-page .left-side-menu .menu-title-area {
            display: flex;
            flex-direction: row;
            align-items: center;
        }

            .left-side-menu-page .left-side-menu .menu-title-area .expander {
                margin-left: auto;
                color: #ffffff;
                background-color: #00000099;
                position: absolute;
                left: 100%;
                top: 0;
            }

                .left-side-menu-page .left-side-menu .menu-title-area .expander i {
                    padding: 0 2px 5px 2px;
                    margin: 0;
                    font-size: 30px;
                }

                .left-side-menu-page .left-side-menu .menu-title-area .expander .expander-text {
                    height: 120px;
                    text-align: center;
                    font-size: 20px;
                }

        .left-side-menu-page .left-side-menu .menu-border {
            height: 1px;
            background-color: #9f9f9f;
            margin: 5px 10px;
        }

        .left-side-menu-page .left-side-menu .menu-nav {
            overflow-y: auto;
        }

        .left-side-menu-page .left-side-menu .menu-group {
            margin-bottom: 10px;
        }

        .left-side-menu-page .left-side-menu .menu-group-title {
            font-weight: bold;
        }

        .left-side-menu-page .left-side-menu .top-menu-item,
        .left-side-menu-page .left-side-menu .menu-title-area .menu-title,
        .left-side-menu-page .left-side-menu .menu-group-title,
        .left-side-menu-page .left-side-menu .sub-menu li {
            padding: 3px 0px 3px 10px;
            text-decoration: none;
        }

            .left-side-menu-page .left-side-menu .top-menu-item:hover,
            .left-side-menu-page .left-side-menu .menu-group-title:hover,
            .left-side-menu-page .left-side-menu .menu-group .sub-menu li:hover {
                color: #005eaf;
                background-color: #eeeeee;
            }

        .left-side-menu-page .left-side-menu .menu-group-title {
            display: flex;
        }

            .left-side-menu-page .left-side-menu .menu-group-title i.rotate {
                padding: 0 10px;
                margin: auto 0 auto auto;
                transition: all 0.2s ease-in-out;
            }

            .left-side-menu-page .left-side-menu .menu-group-title.active i.rotate {
                transition: all 0.2s ease-in-out;
                transform: rotate(180deg);
            }

        .left-side-menu-page .left-side-menu .menu-group .sub-menu li {
            padding-left: 36px;
        }

            .left-side-menu-page .left-side-menu li a,
            .left-side-menu-page .left-side-menu .menu-group .sub-menu li a {
                display: block;
                width: 100%;
                color: unset;
                text-decoration: none;
            }

    /* ページ内容 */
    .left-side-menu-page .page-context {
        flex: 1;
        display: flex;
        flex-flow: column;
        overflow-x: auto;
    }

        .left-side-menu-page .page-context > #message-notification {
            position: relative;
        }

        .left-side-menu-page .page-context footer {
            background-color: #ecebf4;
            width: 100%;
            padding: 0;
            z-index: 10;
            box-shadow: 0px -1px 10px 0px #838383
        }

            .left-side-menu-page .page-context footer .row {
                margin: 15px 10px;
            }

/*------------------------*/
/* 地点編集ページ関連 */
/*------------------------*/
.input-page-area.main-area {
    margin: 0;
    padding: 20px 20px 5px 20px;
    overflow: auto;
    flex: 1;
}

/* タイトル */
.input-page-area .title-label {
    align-items: center;
    display: flex;
    flex-flow: row;
    font-size: 20px;
    font-weight: bold;
    width: max-content;
}

    .input-page-area .title-label.blue {
        color: #1414a8;
    }

    .input-page-area .title-label .square {
        background-color: #1414a8;
        width: 25px;
        height: 40px;
        margin-right: 5px;
    }

/* 入力フォーム */
.input-page-area .form-group {
    display: flex;
    flex-flow: column;
    gap: 5px;
    padding: 20px;
    min-width: 800px;
    font-size: 16px;
}

    .input-page-area .form-group .explanation-label {
        padding: 10px 0 30px 0;
    }

.input-page-area .title-label.title-second-more {
    margin-top: 10px;
}

.input-page-area .input-item {
    display: flex;
    flex-wrap: wrap;
    /*flex-flow: row;*/
    /*align-items: stretch;*/
    gap: 10px;
}

    .input-page-area .input-item .input-title {
        display: flex;
        flex-flow: row;
        align-items: center;
        background-color: #ededed;
        padding: 0 5px;
        margin: 0;
        min-height: 36px;
        width: 300px;
        min-width: 300px;
        max-width: 300px;
    }

        .input-page-area .input-item .input-title label + span {
            margin-left: auto;
        }

        .input-page-area .input-item .input-title span {
            border-radius: 15px;
            padding: 0 5px;
            margin-left: 3px;
            font-size: 13px;
        }

        .input-page-area .input-item .input-title label + span {
            margin-left: auto;
        }

        .input-page-area .input-item .input-title .required {
            color: white;
            background-color: red;
            /*幅固定*/
            width: 37px;
            min-width: 37px;
            max-width: 37px;
        }

    .input-page-area .input-item .input-area {
        display: flex;
        flex-flow: column;
        min-height: 36px;
        width: 500px;
        min-width: 500px;
        max-width: 500px;
    }

        .input-page-area .input-item .input-area select {
            width: 100%;
        }

        .input-page-area .input-item .input-area .selectMultiple {
            width: 100%;
        }

        .input-page-area .input-item .input-area > .form-control {
            width: 100%;
        }

        .input-page-area .input-item .input-area .input-row-group {
            display: flex;
            gap: 5px;
        }

            .input-page-area .input-item .input-area .input-row-group select {
                width: 100%;
            }

            .input-page-area .input-item .input-area .input-row-group button {
                width: 150px;
            }

        .input-page-area .input-item .input-area label {
            margin-left: 10px;
        }

        .input-page-area .input-item .input-area .display-only-item {
            line-height: 36px;
        }

        /*.input-page-area .input-item .input-area:has(.separate-selecter) {
            width: 400px;
        }*/

        .input-page-area .input-item .input-area .separate-selecter {
            user-select: none;
            width: fit-content;
        }

    .input-page-area .input-item .input-remarks {
        display: flex;
        flex-flow: row;
        align-items: center;
        min-width: 100px;
        min-height: 36px;
    }

        .input-page-area .input-item .input-remarks .input-category-area {
            display: flex;
            gap: 5px;
            height: 100%;
        }

            .input-page-area .input-item .input-remarks .input-category-area .input-category {
                padding: 5px;
                margin-right: 5px;
                width: 75px;
                align-content: center;
                text-align: center;
            }

    .input-page-area .input-item .input-multi-select-area {
        flex-flow: row;
        gap: 5px;
    }

        .input-page-area .input-item .input-multi-select-area .input-row-group {
            width: 100%;
        }

        .input-page-area .input-item .input-multi-select-area button {
            height: 100%;
            min-width: 100px;
        }

.input-category.common {
    color: white;
    background-color: lightgray;
}

.input-category.red {
    color: white;
    background-color: red;
}

.input-category.demand-forecast {
    color: white;
    background-color: limegreen;
}

.input-category.optimal-calc {
    color: white;
    background-color: cornflowerblue;
}

.input-category.air-condition {
    color: white;
    background-color: lightskyblue;
}

.input-category.ev-ems {
    color: white;
    background-color: mediumpurple;
}

.input-category.other {
    color: white;
    background-color: brown;
}

.input-category.laplace {
    color: white;
    background-color: #F07800;
}

.input-category.denkan {
    color: white;
    background-color: #DF7474;
}

.input-category.kvips {
    color: white;
    background-color: #31B9BC;
}

.input-category.capacity-dr {
    color: white;
    background-color: #D9BB25;
}

.input-category.eco-dr {
    color: white;
    background-color: #3d734a;
}

.input-category.terminal {
    color: white;
    background-color: #b1e411;
}

.content-area {
    margin: 10px;
    padding-left: 22px;
}

.page-area {
    margin: 10px;
    padding-left: 22px;
}
