﻿body {
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
}

/*@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop, body {
        font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
}

@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
        font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
    }
}*/

/*.content-wrapper {
    min-height: calc(100vh - 100px);*/ /* ヘッダー+フッター高さ分を引く */
/*}*/

/*h1 { font-size: 2em; }
h2 { font-size: 1.6em; }
h3 { font-size: 1.4em; }
h1,h2,h3 {
    vertical-align:middle;
}

  h1>.badge, h2>.badge, h3>.badge {
    vertical-align:middle;
    margin-top: -0.5em;
}*/

/*
 * 戻る
 * ---------------
 */
#pageBack {
    position: fixed;
    bottom: 70px;
    left: 270px;
    display: normal;
}

    #pageBack > a {
        font-family: fontAwesome;
        font-size: 25px;
    }

        #pageBack > a:before {
            content: "\f0a8";
        }

        #pageBack > a:hover {
            color: #dedede;
        }

.main-header .pageBack {
    float: left;
    padding: 7px 5px;
    font-family: fontAwesome;
    font-size: 25px;
    color: #fff;
}

    .main-header .pageBack:before {
        content: "\f0a8";
    }

    .main-header .pageBack:hover {
        color: #dedede;
    }


/*
 * 必須ラベル
 * ---------------
 */
label .required {
    float: right;
    margin-top: 2px;
    margin-left: 5px;
    color: #fff !important;
    background-color: #dd4b39 !important;
    padding-top: 4px;
    padding-bottom: 2px;
}

label.required {
}

    label.required::after {
        color: red;
        content: "*";
    }



/*
 * インフォメーション
 * -------------------
 */
.infolist a {
    text-decoration: none;
}

    .infolist a:hover,
    .infolist a:active,
    .infolist a:focus {
        text-decoration: underline;
    }

/*
 * 検証
 * -------------------
 */
.field-validation-error {
    color: #ff0000;
}

.field-validation-valid {
    display: none;
}

.input-validation-error {
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

.validation-summary-errors {
    font-weight: bold;
    color: #ff0000;
}

.validation-summary-valid {
    display: none;
}

.display-none {
    display: none;
}

.thread-menu {
    min-width: 64px !important;
}

/*
 * AdminLTE box-header
 * カスタマイズ
 * ----------------------
 */
.box-header a {
    color: #444444;
    text-decoration: none;
}

.box-header > .badge {
    margin-bottom: 3px !important;
    margin-right: 3px !important;
}

/*
 * モーダル表示
 * ----------------------
 */
/*.modal-dialog-center {
    position: fixed;
    top: 30%;
    left: 30%;
}*/

.modal.modal-dialog-center .modal-dialog {
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
    position: relative;
}

/*
 * 改行を含む表示
 * ----------------------
 */
.prewrap {
    white-space: pre-wrap;
}

/*
 * 回答
 * ----------------------
 */
.answer {
    margin-left: 12px;
    vertical-align: text-top;
}

textarea.answer-area {
    margin-bottom: 10px;
    /*display: none;*/
}

.answer-edit-menu {
    float: right !important;
    padding-right: 5px;
}

.answer-edit-btns {
    float: right !important;
    padding: 10px;
    /*display: none;*/
}

/*
 * ページローディング
 * ----------------------
 */
.pageloading {
    padding: 15px;
    position: fixed;
    top: 50%;
    left: 50%;
    opacity: 0.85;
    display: none;
    z-index: 99;
}

/*
 * エラー表示
 * ----------------------
 */
.ajax-display-error {
    color: #a94442;
}

    .ajax-display-error:before {
        content: "\f071";
        font-family: fontAwesome;
    }

/*
 * 会社情報
 * ----------------------
 */
.company-block {
    color: #666;
    margin-bottom: 5px;
}

    .company-block > a {
        color: #666;
    }

        .company-block > a:hover {
            color: #999;
        }

    .company-block .icon,
    .company-block .glyphicon {
        font-size: 24px;
        line-height: 24px;
        width: 24px;
        float: left;
        margin-right: 6px;
        text-align: center;
    }

    .company-block .title {
        display: block;
        font-size: 20px;
        font-weight: 600;
        line-height: 24px;
        margin: 0 5px 0 5px;
    }

.nav-stacked {
    line-height: 14px !important;
}


    .nav-stacked > li > ul.nav-stacked {
        margin-left: 14px;
    }

    .nav-stacked > li.header {
        padding: 5px 0px !important;
    }

        .nav-stacked > li.header > a {
            color: #777;
            padding: 5px 15px 5px 2px;
        }

.progress-link > a {
    color: #444;
}

    .progress-link > a:hover {
        color: #666;
    }

/*
 * DropDownList
 * ----------------------
 */
.mini-select {
    height: auto;
    min-height: 18px !important;
    padding-top: 0px;
    padding-bottom: 0px;
}

/*
 * AdminLTE btn-app
 * カスタマイズ
 * ----------------------
 */
.btn-app.menu {
    width: 120px;
    background-color: #fff !important;
}

/*
 * bootstrap checkbox-inline
 * カスタマイズ
 * ----------------------
 */
.checkbox-inline label {
    font-weight: normal;
}

/*
 * 縦書き
 * ----------------------
 */
.vertical-rl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto;
    white-space: nowrap;
    width: 1em; /* firefox対策 */
    line-height: 1em; /* firefox対策 */
    text-orientation: upright;
}

.vertical-lr {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    margin: 0 auto;
    white-space: nowrap;
    width: 1em; /* firefox対策 */
    line-height: 1em; /* firefox対策 */
    text-orientation: upright;
}

    .vertical-rl.text-bottom,
    .vertical-lr.text-bottom {
        text-align: right;
    }



/*
 * ページ内移動
 * ----------------------
 */
#pageTop {
    /* スクロールしても移動しない */
    position: fixed;
    /* 下端からの配置位置 */
    bottom: 20px;
    /* 右端からの配置位置 */
    right: 20px;
}

    #pageTop a,
    #pageBottom a {
        /* ブロックボックス */
        display: block;
        /* 重なり順を指定 大きいほど上に重なる */
        z-index: 0;
        /* 余白 */
        padding: 8px 0 0 8px;
        /* 角丸 */
        border-radius: 50px;
        /* 幅 */
        width: 45px;
        /* 高さ */
        height: 37px;
        /* 背面色 */
        background-color: #9FD6D2;
        color: #fff;
        /* フォントの太さ */
        font-weight: bold;
        /* 均等割付 */
        text-align: justify;
    }

        #pageTop a:hover,
        #pageBottom a:hover {
            /* 透明度 1.0不透明 */
            opacity: 0.7;
        }

#pageBottom {
    /* スクロールしても移動しない */
    position: fixed;
    /* 上からの配置位置 */
    top: 100px;
    /* 右端からの配置位置 */
    right: 20px;
}

/*
 * ヘッダーブロック
 * ----------------------
 */
.box-header .header-block {
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    vertical-align: middle;
}

    .box-header .header-block .icon,
    .box-header .header-block .glyphicon {
        vertical-align: middle;
        font-size: 24px;
        margin-bottom: 3px;
        margin-right: 12px;
    }

    .box-header .header-block .title {
        vertical-align: middle;
    }

/*
 * DataTable 詳細表示
 * ----------------------
 */
tr.row-link {
    cursor: pointer;
}

    tr.row-link .link-disabled {
        cursor: default;
    }

tr.row-cancel {
}

    tr.row-cancel td:not(.cancel) {
        text-decoration: line-through;
        color: gray;
    }

tr.row-disabled {
    cursor: not-allowed;
    background-color: lightgray;
    color: GrayText;
}

.table-details td.details-control {
    cursor: pointer;
}

    .table-details td.details-control:before {
        content: "\f103";
        font-family: FontAwesome;
    }

.table-details tr.shown td.details-control:before {
    content: "\f102";
    font-family: FontAwesome;
}

.table-details tr.group,
.table-details tr.group:hover {
    background-color: #ddd !important;
}


.table-bordered-bs > thead > tr > th,
.table-bordered-bs > tbody > tr > th,
.table-bordered-bs > tfoot > tr > th,
.table-bordered-bs > thead > tr > td,
.table-bordered-bs > tbody > tr > td,
.table-bordered-bs > tfoot > tr > td {
    border: 1px solid #ddd !important;
}


.new-badge {
    display: inline-block;
    min-width: 10px;
    padding: 2px 7px;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #777;
    border-radius: 10px;
    -webkit-animation: blink 0.5s ease-in-out infinite alternate;
    -moz-animation: blink 0.5s ease-in-out infinite alternate;
    animation: blink 0.5s ease-in-out infinite alternate;
}

/* 点滅 */
.blinking {
    -webkit-animation: blink 0.5s ease-in-out infinite alternate;
    -moz-animation: blink 0.5s 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;
    }
}



#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 1000;
}

    #page-top a {
        background: #2C438A;
        text-decoration: none;
        color: #fff;
        width: 80px;
        padding: 10px;
        text-align: center;
        display: block;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%;
        border: 2px solid #fff;
    }

        #page-top a:hover {
            text-decoration: none;
            background: #FCAF62;
        }


.loadingWrap {
    width: 100vw;
    height: 100%;
    /*background: #fff;*/
    position: fixed;
    /*top: 0;
    left: 0;*/
    z-index: 9999;
}

    .loadingWrap .img-box {
        width: 300px;
        height: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -100px !important;
        margin-left: -300px !important;
        z-index: 9999;
        text-align: center;
    }

@media (max-width: 767px) {
    .loadingWrap .img-box {
        width: 300px;
        height: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -100px !important;
        margin-left: -150px !important;
        z-index: 9999;
        text-align: center;
        /*visibility: hidden;*/
        /*display:none;*/
    }
}

.maintenance-box {
    width: 80%;
    margin: 100px auto;
    text-align: center;
}

.maintenance-box {
    margin: 50px auto;
    text-align: center;
}

    .maintenance-box .message {
        line-height: 32px;
        font-size: 18px;
        text-align: center;
        padding: 12px 12px 12px 12px;
    }


.loadingSnake:before {
    content: url(../images/ajax-loader-snake.gif);
}

input[type=file] {
    visibility: hidden;
    width: 1px;
    height: 1px;
}

.attachment-list {
    list-style: none;
    padding-left: 10px;
}

    .attachment-list li {
        line-height: 24px;
    }

.attachment-filename {
    font-weight: bold;
    color: #666;
}

.attachment-filesize {
    color: #999;
    font-size: 12px;
    margin-left: 5px;
    margin-right: 5px;
}

.overflow {
    width: 80%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.set-disabled {
}

input::-ms-clear {
    visibility: hidden;
}

.excel-button {
    background: #fff;
    margin-left: 5px !important;
}

    .excel-button:before {
        content: "\f1c3";
        font-family: FontAwesome;
        color: green;
        font-size: 1.33333333em;
        line-height: 0.75em;
        vertical-align: -15%;
        margin-right: 5px;
    }


.modal-loadingWrap {
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 10000;
    display: none;
}

    .modal-loadingWrap.show {
        display: inherit !important;
    }

    .modal-loadingWrap .img-box {
        height: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 9999;
        text-align: center;
        margin-left: -100px !important;
        margin-top: -150px !important;
    }

        .modal-loadingWrap .img-box p {
            margin-top: 10px;
        }

        .modal-loadingWrap .img-box img {
            width: 200px;
        }

.split-container {
    display: flex;
    height: 80vh;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.split-panel {
    height: 100%;
    max-height: 80vh;
}

.left-panel {
    flex-basis: 60%;
    min-width: 30%;
    position: relative;
}

.right-panel {
    flex-basis: 40%;
    min-width: 20%;

}

.pdf-panel {
    height: 100%;
}

    .pdf-panel .loader-spinner {
        position: absolute;
        top: calc(50% - 16px);
        left: calc(50% - 16px);
        width: 32px;
        height: 32px;
        border: 4px solid #ccc;
        border-top: 4px solid #333;
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
        margin: 0 auto;
    }

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

.pdf-object {
    position: relative;
    z-index: 2;
}



.image-panel {
    height: 100%;
    /*height: 800px;*/
    background-color: #e0e0e0;
    /*max-height: 80vh;*/
    /*height: 60vh !important;*/
    /*overflow: hidden;*/
}

.memo-panel {
    height: 800px;
    /*flex-basis: 40%;
    min-width: 20%;
    height: 20vh !important;*/
}

.resizer {
    width: 4px;
    background: #e0e0e0;
    cursor: col-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10;
    transition: background 0.2s;
}

    .resizer:hover {
        background: #d0d0d0;
    }

    .resizer i.fa {
        color: #555;
        font-size: 24px;
        opacity: 0.8;
        transition: opacity 0.2s;
    }

    .resizer:hover i.fa {
        opacity: 1.0;
        color: #555;
    }



.pdf-mask {
    position: absolute;
    display: none;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 10;
}

.carousel-inner {
    height: 100% !important;
}

    .carousel-inner .item {
        background-color: #fff;
        border-radius: 3%;
        margin: 36px 6px 6px 6px;
        padding: 16px;
        height: calc(100% - 96px) !important;
        /*max-height: 50vh !important;*/
    }

.carousel-img {
    /*max-height: 70vh !important;
    height: 50vh;*/
    height: calc(100% - 32px);
    overflow: auto;
    border-radius: 8px;
    margin-bottom: 8px;
}


    .carousel-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 8px;
    }

.carousel-control {
    top: 45%;
    transform: translateY(-50%);
    height: calc(100% - 144px);
    width: 10% !important;
}

.carousel-indicators {
    top: 10px;
    bottom: auto;
}

.attachment-menu {
    border-top: 1px solid #e0e0e0;
    padding: 5px;
}


.image-tools {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}


.no-image-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #666;
    font-size: 16px;
    text-align: center;
    width: 100%;
}

input[type=checkbox].toggle {
    --size: 20px;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    display: inline-block;
    position: relative;
    width: calc(var(--size) * 1.8);
    height: var(--size);
    border-radius: calc(var(--size) / 2);
    background-color: #d2d6de;
    vertical-align: middle;
    transition: background-color 0.2s;
    margin-right: 8px;
}

    input[type=checkbox].toggle::before {
        content: "";
        position: absolute;
        top: 2px;
        left: 2px;
        width: calc(var(--size) - 4px);
        height: calc(var(--size) - 4px);
        background-color: #fff;
        border-radius: 50%;
        transition: transform 0.2s;
    }

    /* 共通チェック時のスライド動作 */
    input[type=checkbox].toggle:checked::before {
        transform: translateX(calc(var(--size) * 0.8));
    }

/* カラーテーマ別 */
input[type=checkbox].toggle-success:checked {
    background-color: #00a65a; /* AdminLTE success */
}

input[type=checkbox].toggle-danger:checked {
    background-color: #dd4b39; /* AdminLTE danger */
}

input[type=checkbox].toggle-warning:checked {
    background-color: #f39c12; /* AdminLTE warning */
}

input[type=checkbox].toggle-info:checked {
    background-color: #00c0ef; /* AdminLTE info */
}

.switch-label input.toggle:checked + .text {
    font-weight: bold;
}

.switch-label .text {
    font-weight: normal;
    margin-left: 2px;
    vertical-align: middle;
    line-height: 1;
    display: inline-block;
    margin-top: 2px;
}
