body {
    -webkit-touch-callout: none; /* リンク長押しのポップアップを無効化 */
    -webkit-user-select: none; /* テキスト長押しの選択ボックスを無効化 */
}

.wrap {
    overflow: hidden;
}

.selector-for-some-widget {
    box-sizing: content-box;
}

.ItemList .col-2.col-3.col-4.col-5.col-6 {
    padding: 0px 1px 0px 1px;
}

.ItemList .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6 {
    padding: 0px 1px 0px 1px;
    font-size: 1em;
}

.control-label {
    background: whitesmoke;
}

.container {
    padding-right: 10px;
    padding-left: 10px;
    margin-right: auto;
    margin-left: auto;
}

.form-control {
    padding: 0 3px;
}

.DivLink {
    position: relative;
    /*    width:280px;
    height:96px;
*/ /*background-color:seashell;*/
    /*border:1px solid #ff6a00;*/
}

    .DivLink .Link {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /*background-color: #fffbb6;*/
        /*border:1px solid #ff6a00;*/
        /*color: white*/
    }



/* 'Open Sans' font from Google Fonts */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);

.card {
    border: 1px solid gray;
    border-radius: 10px;
    margin: 20px 40px;
    padding: 10px;
    height: 120px;
    width: calc(100% - 80px);
}

div.error {
    background-color: #FFEFEF;
    margin: 0 0 1em 0;
    padding: 10px;
    color: #C25338;
    border: 1px solid #D4440D;
    line-height: 1.5;
    clear: both;
    background-repeat: no-repeat;
    background-position: 5px 5px;
}

    div.error:empty {
        display: none;
    }

div.supermessage {
    background-color: #FFEFEF;
    color: #C25338;
    margin: 0.5em 1.5em 0.5em 1.5em;
    padding: 4px;
    border: 1px solid #D4440D;
    line-height: 1.5;
    clear: both;
    background-repeat: no-repeat;
    background-position: 5px 5px;
    text-align: center;
}

    div.supermessage:empty {
        display: none;
    }

body {
    font-family: 'Open Sans', sans-serif;
}

.titlelogo {
    font-size: 36px;
    color: darkgrey;
    /*コレ*/ display: flex;
    /*コレ*/ align-items: center;
}

.login {
    width: 400px;
    margin: 16px auto;
    font-size: 18px;
}

.moba {
    /*margin: 10px auto;*/
    font-size: 18px;
    padding-bottom: 60px; /* ボタンの高さに応じて調整 */
}

/* Reset top and bottom margins from certain elements */
.moba-header,
.moba-header-keihi,
.login p {
    margin-top: 0;
    margin-bottom: 3px;
}

/* The triangle form is achieved by a CSS hack */
.login-triangle {
    width: 0;
    margin-right: auto;
    margin-left: auto;
    border: 12px solid transparent;
    border-bottom-color: #28d;
}

.moba-header-keihi {
    background: #38a437;
    padding: 10px;
    font-size: 1.4em;
    font-weight: normal;
    text-align: center;
    color: #fff;
}

.moba-header {
    background: #1d3e5faa;
    padding: 10px;
    font-size: 1.4em;
    font-weight: normal;
    text-align: center;
    color: #fff;
}

.moba-header-end {
    background: #53d948;
    padding: 10px;
    font-size: 1.4em;
    font-weight: normal;
    text-align: center;
    color: #fff;
}

.moba-container {
    padding: 8px;
}

.doc-search-container {
    padding: 2px 12px 2px 12px;
}

/* Every row inside .login-container is defined with p tags */
.moba p {
    padding: 5px;
}

.moba input {
    box-sizing: border-box;
    /*display: block;*/
    /*width: 95%;*/
    border-radius: 4px;
    border-width: 1px;
    border-style: solid;
    padding: 2px 2px 2px 6px;
    ;
    outline: 0;
    font-family: inherit;
    font-size: 18px;
    margin: 2px;
}

    .moba input[type="select"],
    .moba input[type="number"],
    .moba input[type="text"],
    .moba input[type="date"],
    .moba input[type="time"],
    .moba input[type="tel"],
    .moba input[type="email"],
    .moba input[type="password"] {
        background: #fff;
        border-color: #bbb;
        color: #555;
    }

    .moba input[type="file"] {
        background: #fff;
        border-color: #bbb;
        color: #555;
        padding: 5px;
        color: #fff;
        cursor: pointer;
    }

    .moba input[readonly] {
        background-color: whitesmoke;
    }

    .moba input[disabled] {
        background-color: whitesmoke;
    }

    .moba input[type="date"]::-webkit-date-and-time-value {
        text-align: left;
    }

    .moba input[type="time"]::-webkit-date-and-time-value {
        text-align: left;
    }
/*
*/
.moba select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    color: #333;
    background-color: whitesmoke;
    border-color: #bbb;
    border-radius: 4px;
    padding-left: 6px;
    margin: 2px;
    height: 42px;
    position: relative;
    background-image: url(../img/down_arrow.svg);
    background-repeat: no-repeat;
    background-size: 14px 20px;
    background-position: right 10px center;
}

.moba option[selected][disabled] {
    display: none;
}

.buttonOk {
    background: #28d;
    border-color: transparent;
    color: #fff;
    /*cursor: pointer;*/
    height: 50px;
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[type="submit"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    height: 50px;
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[type="button"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    padding: 10px;
    height: 50px;
    font-family: inherit;
    font-size: 1.2em;
}

input[id="btnLogin"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    padding: 10px;
    height: 50px;
    font-family: inherit;
    font-size: 1.2em;
    width: 95%;
    margin: 10px;
}

/* category */


.wrapper {
    /*height: calc(100vh - 50px);*/
    max-height: calc(100vh); /* 80pxはフッターの高さ */
    // position: relative; /*←相対位置*/
    overflow-y: auto;
    // padding-bottom: 50px; /*←footerの高さ*/
    box-sizing: border-box; /*←全て含めてmin-height:100vhに*/
}
/*.wrapper {
    border: 2px solid red;*/ /* 視覚的に確認するために枠線を追加 */
    /*overflow-y: auto;*/ /* スクロールバーが動作するか確認 */
    /*max-height: calc(100vh - 80px);*/ /* 高さを再調整 */
/*}*/


#footer-fix {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px; /* フッターの高さ */
    background-color: #333; /* 背景色例 */
    color: #fff; /* 文字色例 */
    z-index: 10;
}
    #footer-fix #footer-fix-menu {
        text-align: center;
        padding: 0;
        display: table;
        width: 100%;
    }

        #footer-fix #footer-fix-menu li {
            display: table-cell;
            width: 25%;
            background: #28d;
            /*background: #1d3e5faa;*/
            color: gainsboro;
            padding: 0;
            margin: 0;
            height: 45px;
            position: relative;
            vertical-align: middle;
            border: 1px solid #ffffff;
            font-size: 13px;
        }

            #footer-fix #footer-fix-menu li:hover {
                opacity: 0.9;
            }

            #footer-fix #footer-fix-menu li a {
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 45px;
            }

/*
*/

.errorbox {
    padding: 0.1em 0.1em;
    margin: 0.3em 0;
    color: #ff7d6e;
    background: #ffebe9;
    border-top: solid 10px #ff7d6e;
}

.messagebox {
    padding: 0.5em 1em;
    margin: 1em 0;
    background-color: #fff2e4; /*背景色*/
    border-left: solid 10px #ffa500; /*左ライン*/
    color: #ff0000; /*文字色*/
}

    .messagebox p {
        margin: 0;
        padding: 0;
    }
        .messagebox p:empty {
            display: none;
        }

    .messagebox:empty {
        display: none;
    }

.line {
    margin-left: 5px;
    margin-right: 2px;
    /*    height: 30px;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
*/
}

.form-container-m {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.right-align-m {
    margin-left: auto; /* 検索ボタンの右側に配置 */
    white-space: nowrap; /* 件数が改行しないようにする */
    display: flex;
    align-items: center;
}

.w10 {
    width: 10px;
}

.w20 {
    width: 20px;
}

.w40 {
    width: 40px;
}

.w60 {
    width: 60px;
}

.w80 {
    width: 80px;
}

.w100 {
    width: 100px;
}

.w120 {
    width: 120px;
}

.w140 {
    width: 140px;
}

.w160 {
    width: 160px;
}
.w180 {
    width: 180px;
}
.w200 {
    width: 200px;
}

.wdate {
    width: 130px;
}


.line30 {
    width: 30px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line60 {
    width: 60px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line100 {
    width: 100px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line120 {
    width: 120px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line140 {
    width: 140px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line160 {
    width: 160px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.line220 {
    width: 220px;
    height: 30px;
    display: inline-block;
    font-size: 18px;
}

.output_check_w {
    width: 140px;
    height: 20px;
    display: inline-block;
    font-size: 18px;
}

.line100p {
    width: 100%;
    height: 30px;
    display: inline-block;
    font-size: 18px;
    padding: 2px;
}

.line70p {
    width: 70%;
    height: 30px;
    display: inline-block;
    font-size: 18px;
    padding: 2px;
}

.line20p {
    width: 20%;
    height: 30px;
    display: inline-block;
    font-size: 18px;
    padding: 2px;
}

.detailsfont {
    font-size: 20px;
}

.StartLeft {
    width: 90px;
    height: 35px;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
}

.StartRight {
    width: 250px;
    height: 35px;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
}

.StartCode {
    width: 90px;
    height: 35px;
    display: inline-block;
    font-size: 18px;
}

.StartName {
    width: 150px;
    height: 35px;
    display: inline-block;
    font-size: 18px;
}

.keikatime {
    color: #28d;
    text-align: center;
    padding: 1rem;
    width: 220px;
    height: 35px;
    display: inline-block;
    font-size: 18px;
}

.moba input[id="btnOk"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    padding-left: 10px;
    padding-right: 10px;
    /*height: 30px;*/
    /*width:200px;*/
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[id="btnOkMenu"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    margin-left: -0.5px;
    margin-Top: -1px;
    width: 100%;
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[id="btnCancel"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    padding-left: 10px;
    padding-right: 10px;
    /*height: 30px;*/
    /*width:200px;*/
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[id="btnCancelMenu"] {
    background: #28d;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    width:100%;
    font-family: inherit;
    font-size: 1.2em;
}

.moba input[id="btnDelete"] {
    background: #ff0000;
    border-color: transparent;
    color: #fff;
    cursor: pointer;
    padding-left: 10px;
    padding-right: 10px;
    /*height: 30px;*/
    /*width:200px;*/
    font-family: inherit;
    font-size: 1.2em;
}

.divright {
    display: inline-block;
    float: right;
    /*justify-content: flex-end;*/
}

.divleft {
    display: inline-block;
    float: left;
}

nav {
    display: none;
}

.nav-open {
    padding: 2px 4px 8px 4px;
    color: #fff;
    font-size: 18px;
    background: #2073c8;
    position: relative;
}

    .nav-open::before { /* 閉じている時 */
        content: "+";
        position: absolute;
        right: 20px;
    }

    .nav-open.active::before { /* 開いている時 */
        content: "-";
    }


/*　アコーディオンのサンプル　*/


/*ベース*/
.toggle {
    display: none;
}

.Label { /*タイトル*/
    padding: 0.3em;
    display: block;
    color: #fff;
    background: #019ac6;
}

    .Label::before { /*タイトル横の矢印*/
        content: "";
        width: 6px;
        height: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        position: absolute;
        top: calc( 50% - 3px );
        right: 20px;
        transform: rotate(135deg);
    }

.Label,
.content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    font-size: 18px;
    /*transition: all 0.3s;*/
}

.content { /*本文*/
    height: 0;
    margin-bottom: 1px;
    padding: 1px;
    overflow: hidden;
    background: #fff;
    /*background: #e0ffff;*/
    /*border-color:#e0ffff;*/
}

.toggle:checked + .Label + .content { /*開閉時*/
    height: auto;
    padding: 1px;
    /*transition: all .3s;*/
}

.toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
}

a.btn-style {
    display: inline-block;
    padding: 16px 20px;
    margin: 2px;
    text-decoration: none;
    text-align: center;
    border: 1px;
    width: 160px;
    font-size: 20px;
}

a.link {
    background: #f4a460;
    color: #fff;
}

.bgdarkgray {
    background: darkgray !important;
}

a.back {
    background: blue;
    color: #fff;
}

a.btn-left {
    display: inline-block;
    padding: 6px 4px;
    margin: 0 0 0 auto;
    text-decoration: none;
    border: 1px;
    background: #696969;
    color: #fff;
    font-size: 10pt;
    vertical-align: middle;
    float: left;
}

a.btn-logout {
    display: inline-block;
    padding: 6px 4px;
    margin: 0 0 0 auto;
    text-decoration: none;
    border: 1px;
    background: #696969;
    color: #fff;
    font-size: 10pt;
    vertical-align: middle;
    float: right;
}

a.btn-edit-link {
    display: inline-block;
    padding: 4px 6px;
    margin: 1px;
    text-decoration: none;
    border: 1px;
    background: #ffa500;
    color: #fff;
    font-size: 20px;
    border-radius: 4px;
}

.spinner_area input {
    // padding: 2px;
    border: 1px solid #ccc;
    border-radius: 4px;
    /*font-size: 18px;*/
    /*width: 40px;*/
    height: 30px;
    vertical-align: middle;
    /* デフォルトのスピナーを消す */
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

    .spinner_area input[type="button"] {
        cursor: pointer;
        height: 40px;
        width: 40px;
        font-size: 1.2em;
        margin-left: 2px;
        margin-top:2px;
        padding: 0px;
    }

    .spinner_area input[type="number"]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

.spinner_area .txtMeter {
    width: 83px;
    height: 40px;
    margin-right: 1px;
    margin-top: 2px;
}

.spinner_area .txtMeter2 {
    width: 35px;
    height: 40px;
    margin-left: 1px;
    margin-top: 2px;
}

.spinner_area .txtMeter3 {
    width: 137px;
    height: 40px;
    margin-left: 1px;
    margin-top: 2px;
}


.MeterLeft {
    width: 90px;
    height: 44px;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
    padding-top:5px;
}

.MeterRight {
    width: 250px;
    height: 44px;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
}
.hide-spin::-webkit-inner-spin-button,
.hide-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

input.counter1 {
    text-align: right;
    width: 100px;
}

.box1 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 3px #000000;
}

    .box1 p {
        margin: 0;
        padding: 0;
    }

.hidediv {
    display: none;
}

div.hide {
    display: none;
}

/* デフォルトの矢印を非表示にする */
.bootstrap-select.btn-group .dropdown-toggle .caret {
    display: none;
}
/* プルダウンの右端に▼を挿入する */
.bootstrap-select.btn-group .btn .filter-option:after {
    content: '▼';
    font-size: 20px;
    float: right;
}