@charset "UTF-8";

/* ---------------------------------------------------------
全画面共通ボディ
----------------------------------------------------------*/

html {
    font-size: 62.5%;
}

body {

    font-size: 1.6rem;
    background-color: #FFFFFF;
    font-family: Meiryo, "游ゴシック体";
    height: 100%;
    overflow: visible;
    overflow-y: visible;
}

.fs_outline-large {
    margin: 2vh 1vw 2vh 1vw;
    padding: 2vh 1vw 2vh 1vw;
    flex-grow: 1;
}

.fs_scroll-overlap {
	z-index:500;
}

/* ---------------------------------------------------------
開発中表示
----------------------------------------------------------*/

li .fs_dev {
    color: #8d8d99 !important;
}

div .fs_dev-alert {
    margin-top: 10px;
}

.fs_dev-alert p {
    padding-top: 5px;
}


/* ---------------------------------------------------------
各種フォントサイズ指定
----------------------------------------------------------*/

@media (min-width: 1500px) and (max-width: 2500px) {

    .h5 {
        font-size: 1.8rem;
    }

    span {
        font-size: 1.4rem;
    }

    li {
        font-size: 1.4rem;
    }

    th {
        font-size: 1.6rem;
    }

    td {
        font-size: 1.4rem;
    }

    .form-control {
        font-size: 1.4rem;
    }
}


@media (min-width: 600px) and (max-width: 1500px) {

    .h5 {
        font-size: 1.6rem;
    }

    span {
        font-size: 1.2rem;
    }

    li {
        font-size: 1.2rem;
    }

    th {
        font-size: 1.2rem;
    }

    td {
        font-size: 1.2rem;
    }

    .form-control {
        font-size: 1.2rem;
    }
}


@media screen and (max-width: 599px) {
    .h5 {
        font-size: 1.6rem;
    }

    span {
        font-size: 1.2rem;
    }

    li {
        font-size: 1.2rem;
    }

    th {
        font-size: 1.2rem;
    }

    td {
        font-size: 1rem;
    }

    .form-control {
        font-size: 1.2rem;
    }

}

.fs_midium-text{
    font-size:1.4rem;
    margin-top:5px;
}

.fs-left-space{
    margin-left: 10px;
}

.fs_midium{
    margin-top:5px;
}

.fs_large{
    margin-top:15px;
}


.fs_bold-text{
    font-weight: 900;
}

.fs_color_red{
    color: #dc3545;
}

/* ---------------------------------------------------------
フォームサイズ
----------------------------------------------------------*/
@media (min-width: 1500px) and (max-width: 2500px) {

    .fs_control-mid{
        width:200px;
    }
}

@media(min-width: 600px) and (max-width: 1500px)  {

    .fs_control-mid{
        width:150px;
    }
}


/* ---------------------------------------------------------
アイコン
----------------------------------------------------------*/
.fs_down-icon {
    font-size: 1.5em;
    color: #198754;
}

.fs_up-icon {
    font-size: 1.5em;
    color: #dc3545;
}

/* ---------------------------------------------------------
各種フォント
----------------------------------------------------------*/

.fs_superscript {
    color: #dc3545;
}

.fs_text-right {
    display: block;
    text-align: center;
}

.fs_text-left {
    display: block;
    text-align: left;
}

.fs_gray-font {
    color: #4d4b4b;
}

.fs_min-font {
    font-size: 1.2rem;
}

.fs_mid-font {
    font-size: 1.4rem;
}

.fs_lag-font {
    font-size: 1.6rem;
}

.fs_font-color-red{
    color: red;
}
/* ---------------------------------------------------------
画面タイトル
----------------------------------------------------------*/

.h5 {
    vertical-align: middle;
    padding: 11px;
    margin-bottom: 0;
}

.fs_page-title {
    width: 100%;
    background-color: #dfeffb;
    border-color: #b6d4fe;
    border-radius: 10px;
    display: flex;
    margin-bottom: 3vh;
}

/* ---------------------------------------------------------
スライダー
----------------------------------------------------------*/

@media (min-width: 1500px) and (max-width: 2500px) {
    span .fs-4 {
        font-size: 1.6rem;
    }
}

@media (min-width: 600px) and (max-width: 1500px) {
    span .fs-4 {
        font-size: 1.4rem;
    }
}

@media (min-width: 1500px) and (max-width: 2500px) {

    .nav-item {
        cursor: pointer;
    }

    .nav-link {
        font-size: 1.6rem;
        margin: 0.2vh 0.2vw 0.2vh 0.2vw;
    }

    .sub-link {
        font-size: 1.4rem;
        margin: 0.2vh 0.2vw 0.2vh 0.2vw;
    }

    .fs_split-right {
        width: 85%;
        height: 100%;
        align-items: center;
    }

    .fs_split-left_inner {
        height: 100%;
        position: fixed;
        width: 80%;
    }

    .fs_split-right_inner {
        height: 100%;
        padding-bottom: 2vh;
    }

    .fs_structure {
        width: 250px;
    }

    .fs_split-right {
        width: 85vw;
    }

    .fs_mark-close {
        margin-left: 110px;
        font-size: calc(1.275rem + .3vw) !important;
    }
}

@media (min-width: 600px) and (max-width: 1500px) {

    .nav-item {
        cursor: pointer;
    }

    .nav-link {
        font-size: 1.4rem;
        margin: 0.1vh 0.1vw 0.1vh 0.1vw;
    }

    .sub-link {
        font-size: 1.2rem;
        margin: 0.1vh 0.1vw 0.1vh 0.1vw;
    }

    .fs_split-right {
        width: 85%;
        height: 100%;
        align-items: center;
    }

    .fs_split-left_inner {
        height: 100%;
        position: fixed;
        width: 80%;
    }

    .fs_split-right_inner {
        height: 100%;
        padding-bottom: 2vh;
    }

    .fs_structure {
        width: 200px;
    }

    .fs_split-right {
        width: 83vw;
    }

    .fs_mark-close {
        margin-left: 70px;
        font-size: calc(1.275rem + .3vw) !important;
    }

}


.fs_img-icon {
    box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1) inset;
    margin-right: 5px;
}

.fs_img-sys {
    border-radius: 3px;
    margin-right: 10px;
}

.fs_split {
    display: table;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
}

.fs_split-item {
    display: table-cell;
}

.fs_split-left {
    position: relative;
    height: 100%;
}


.fs_main-slider {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    position: fixed;
    z-index: 2201;
    /*height: 100vh !important;
  height: -webkit-fill-available;
  max-height: 100vh;*/
    overflow-x: auto;
    overflow-y: hidden;
}

.fs_user {
    padding-left: 1vw;
}


/*使っているクラスがなかった*/
.main-contens {
    display: flex;
}

.dropdown-toggle {
    outline: 0;
}

.nav-flush .nav-link {
    border-radius: 0;
}

.btn-toggle {
    display: inline-flex;
    align-items: center;
    padding: .25rem .5rem;
    font-weight: 600;
    color: rgba(0, 0, 0, .65);
    background-color: transparent;
    border: 0;
}

.btn-toggle:hover,
.btn-toggle:focus {
    color: rgba(0, 0, 0, .85);
    background-color: #d2f4ea;
}

.btn-toggle::before {
    width: 1.25em;
    line-height: 0;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%280,0,0,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
    transition: transform .35s ease;
    transform-origin: .5em 50%;
}

.btn-toggle[aria-expanded="true"] {
    color: rgba(0, 0, 0, .85);
}

.btn-toggle[aria-expanded="true"]::before {
    transform: rotate(90deg);
}

.btn-toggle-nav a {
    display: inline-flex;
    padding: .1875rem .5rem;
    margin-top: .125rem;
    margin-left: 1.25rem;
    text-decoration: none;
}

.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
    background-color: #474750;
    border-radius: 3px;
}

.fs_icon {
    font-size: 20px;
}


/*スマホ対応用※未実装※*/
@media screen and (max-width: 599px) {
    .fs_structure {
        width: 100vw;
    }

    .fs_split-right {
        width: 80%;
    }
}

#fs_menuControl {
    margin-left: calc(4rem + .9vw) !important;
}

#fs_menu-open {
    display: table-cell;
    padding: 11px;
    cursor: pointer;
}

#fs_btn-open {
    font-size: 1.8rem;
    box-shadow: 0 3px 5px 0 rgb(0 0 0 / 10%);
    border-radius: 40px;
    margin-bottom: 0;
}



.fs_display-none {
    display: none;
}

.fs_display-none-baiya {
    display: none;
}

/* ---------------------------------------------------------
モーダルサイズ
----------------------------------------------------------*/

@media (min-width : 600px) and (max-width: 1890px) {

    .fs_modal-medium-size {

        max-width: inherit;

    }

    .fs_modal-medium-size .fs_mdl-table-header {

        font-size: 1.4rem;

    }

    .fs_modal-medium-size tbody {

        font-size: 1.2rem;

    }

}




/* ---------------------------------------------------------
エラー画面
----------------------------------------------------------*/

.fs_err-msg {
    color: #dc3545;
    font-size: 1.2rem;
}

.fs_err-msg-bold {
    color: #dc3545;
    font-size: 1.2rem;
    font-weight:bold
}

.fs_error-page-title {
    width: 100%;
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
    border-radius: 10px;
}

/* ---------------------------------------------------------
フッター
----------------------------------------------------------*/
footer {
    /*left:250px !important;*/
    z-index: 0;
    width: 100%;
}

.fs_footer-contents {
    text-align: right;
}

/* ---------------------------------------------------------
ロード中表示
----------------------------------------------------------*/

#fs_loading {
    background: rgba(0, 0, 0, .3);
    z-index: 10000;
}

/* ---------------------------------------------------------
ボタン
----------------------------------------------------------*/

.btn {
    width: 100px;
    font-size: 1.4rem;
    box-shadow: 0 2px 4px rgb(0, 0, 0, 0.3);
    padding: 0.8vh 1vw 0.8vh 1vw;
    cursor: pointer;
}

.btn>a {
    text-decoration: none;
    color: #212529;
}

.btn>a:active {
    color: #000000;
}

.btn>a:focus {
    outline: none;
}

.fs_button-right {
    margin-right: 0;
    margin-left: auto;
}

.fs_delete-btn {

    font-size: 1.8rem;
    color: #dc3545;
}

.fs_delete-btn:hover {

    color: #e81e32;
}


.fs_saerch-button {
    box-shadow: 0 1px 1px 0 rgb(132 133 132 / 80%);
    border: solid 1px #c0f3e3;
    border-radius: 30px;
    padding: 3px 8px;
    background-color: #ddfdf3;
}

.fs_search-btn-icon {
    font-size: 1.6rem;
    color: #198754;
    margin-bottom: 2px;
    text-align: center;
    vertical-align: top;
}


/* ---------------------------------------------------------
その他
----------------------------------------------------------*/

@media (min-width : 768px) {

    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.form-control-dark {
    color: #fff;
    background-color: var(--bs-dark);
    border-color: var(--bs-gray);
}

.form-control-dark:focus {
    color: #fff;
    background-color: var(--bs-dark);
    border-color: #fff;
    box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .25);
}

.bi {
    vertical-align: -.125em;
    fill: currentColor;
}

.text-small {
    font-size: 85%;
}

.dropdown-toggle {
    outline: 0;
}

.fs_text001 {
    outline: solid 0px white;
}

@media (min-width:768px) {

    .btn {
        box-shadow: 0 2px 4px rgb(0, 0, 0, 0.3);
    }
}

/* ---------------------------------------------------------
宣伝追加
----------------------------------------------------------*/

/* td{
 align:center;
 valign:center;
} */

.fs_small {
    font-size: 1rem;
}
#msg_id{
    margin-left: 10px;
    color: blue;
    font-size: 1.4rem;
}
.valid_validation {
    border-color: #198754;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
  }


/* ---------------------------------------------------------
Loading
----------------------------------------------------------*/

#cover-spin {
    position:fixed;
    width:100%;
    left:0;right:0;top:0;bottom:0;
    background-color: rgba(172, 172, 172, 0.7);
    z-index:20000;
    display:block;
}

@-webkit-keyframes spin {
    from {-webkit-transform:rotate(0deg);}
    to {-webkit-transform:rotate(360deg);}
}

@keyframes spin {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

#loading-block {
    position: absolute;
    background-color: #FFFFFF;
    left: 50%;
    top: 50%;
    width: 360px;
    height: 120px;
    margin-left: -180px;
    margin-top: -60px;
}

#loading-text {
    position: absolute;
    bottom:0;
    margin-bottom: 25px;
    text-align: center;
    width: 100%;
}

#loading-spin {
    position: absolute;
    display:block;
    left:50%;
    top:50%;
    width:40px;
    height:40px;
    margin-left: -20px;
    margin-top: -35px;
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #000066;
    -webkit-animation: spin .8s linear infinite;
    animation: spin .8s linear infinite;
}