html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", sans-serif;
    font-size: 18px;
    max-width: 500px;
}

header {
    background-color: #c3e5fc;
    height: 50px;
    line-height: 50px;
    display: flex;
    justify-content: space-between;
}

    header div.title {
        font-weight: bold;
        margin: 0 0.5em;
        width: 100%;
    }

    header div.login_user {
        margin: 0 0.5em;
        font-size: 14px;
        white-space: nowrap;
    }

    header button {
        width: auto;
        height: 100%;
        font-size: 12px;
        white-space: nowrap;
        border: solid 1px #212529;
        border-radius: 10px;
    }

main div.row_block2 {
    display: flex;
    width: 100%;
    height: 30px;
    justify-content: flex-end;
}

    main div.row_block2 #frm_home {
        display: inline-block;
    }

        main div.row_block2 #frm_home label.back-line {
            font-size: 18px;
            white-space: nowrap;
            cursor: pointer;
        }

main #frm_home label.back-line:hover {
    text-decoration: underline;
}

footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #c3e5fc;
    padding: 0;
}

    footer div.btn_container {
        margin: 0;
        padding: 8px;
    }

        footer div.btn_container button {
            min-width: 110px;
        }

dialog {
    max-width: 95%;
    padding: 10px;
    text-align: center;
    border: none;
}

    dialog p.message {
        margin: 10px;
        font-size: 24px;
        font-weight: bold;
        color: red;
    }

    dialog p.detail {
        margin: 10px;
        font-size: 20px;
        font-weight: bold;
        color: black;
    }

    dialog div {
        margin: 10px;
    }

    dialog::backdrop {
        background: rgba(0,0,0,0.5);
    }

div.template {
    display: none;
}

div.btn_container {
    margin: 10px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

button {
    width: 200px;
    height: 60px;
    border: none;
    border-radius: 15px;
    font-size: 20px;
}

    button.proceed {
        background-color: #006cbe;
        color: #ffffff;
    }

    button.back {
        background-color: #028763;
        color: #ffffff;
    }

    button.attention {
        background-color: #d90f00;
        color: #ffffff;
    }

    button:disabled {
        background-color: gray;
        color: #ffffff;
    }

input {
    height: 44px;
    padding: 0 8px;
}

    input[type="radio"] {
        margin-right: 0.3em;
        transform: scale(1.3);
    }

    input:read-only,
    textarea:read-only {
        background-color: #efefef;
    }

select {
    padding: 8px;
}

input[type="radio"],
input[type="checkbox"] {
    display: none;
}

label:has(input[type="radio"]),
label:has(input[type="checkbox"]) {
    padding: 0 1em;
    background-color: #ffffff;
    color: #333333;
    align-items: center;
    border: 1px solid #006cbe;
    border-radius: 5px;
    line-height: 44px;
}

/*    label:has(input[type="radio"]):not(:first-child),
    label:has(input[type="checkbox"]):not(:first-child) {
        margin-left: 0.3em;
    }*/

label:has(input[type="radio"]:checked),
label:has(input[type="checkbox"]:checked) {
    background-color: #c3e5fc;
    color: #333333;
}

.SalesManagerWeb000 {
    margin: 3em auto;
    width: max-content;
    max-width: 90%;
}

    .SalesManagerWeb000 h1 {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
    }

    .SalesManagerWeb000 .row_block {
        display: flex;
        justify-content: space-around;
        width: 100%;
        margin: 1em 0;
        flex-direction: column;
    }

        .SalesManagerWeb000 .row_block .user_id_number,
        .SalesManagerWeb000 .row_block .user_pw_number {
            width: 295px;
        }

    .SalesManagerWeb000 .row_button {
        display: flex;
        justify-content: space-around;
        width: 100%;
        margin: 2em 0;
        text-align: center;
    }

.FrmAppList {
    margin: 1.5em auto 1em auto;
    text-align: center;
}

    .FrmAppList .conditions {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 340px;
        margin: auto;
    }

        .FrmAppList .conditions .row_input {
            text-align: left;
        }

            .FrmAppList .conditions .row_input .title {
                min-width: 5em;
            }

        .FrmAppList .conditions .row_button {
            display: flex;
            gap: 20px;
            justify-content: center;
        }

            .FrmAppList .conditions .row_button button {
                width: 200px;
                height: 60px;
                border-radius: 15px;
                margin: 0.7em auto;
                font-size: 20px;
            }

    .FrmAppList .list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 340px;
        margin: auto;
    }

        .FrmAppList .list button {
            width: 100%;
            height: auto;
            padding: 8px;
            font-size: 16px;
            text-align: left;
            border: solid 1px #212529;
        }

            .FrmAppList .list button .row_view {
                display: flex;
                align-items: center;
            }

                .FrmAppList .list button .row_view .title {
                    width: 6em;
                    white-space: nowrap;
                }

.FrmAppEntry {
    margin: 1.5em auto 1em auto;
    text-align: center;
}

    .FrmAppEntry .detail {
        padding: 20px;
        text-align: left;
    }

        .FrmAppEntry .detail .row_view {
            display: flex;
            align-items: start;
            margin: 8px 0;
        }

            .FrmAppEntry .detail .row_view div {
                min-width: 0;
                overflow-wrap: break-word;
            }

            .FrmAppEntry .detail .row_view .title {
                min-width: 7em;
            }

        .FrmAppEntry .detail .row_block .file_list {
            margin-left: 10px;
        }

        .FrmAppEntry .detail .file_open {
            color: blue;
            cursor: pointer;
        }

            .FrmAppEntry .detail .file_open:hover {
                text-decoration: underline;
            }

    .FrmAppEntry .row_button {
        display: flex;
        gap: 8px;
        justify-content: space-around;
        padding: 20px;
    }

        .FrmAppEntry .row_button button {
            width: 80px;
            height: 44px;
            font-size: 16px;
        }


.SfmAppRjcEntry {
    margin: 1.5em auto 1em auto;
    text-align: center;
}

    .SfmAppRjcEntry .row_input {
        padding: 1em;
        text-align: left;
    }

        .SfmAppRjcEntry .row_input .chk_group {
            display: flex;
            justify-content: start;
            gap: 8px;
            flex-wrap: wrap;
        }

            .SfmAppRjcEntry .row_input .chk_group label {
                width: 8em;
                text-align: center;
            }

        .SfmAppRjcEntry .row_input textarea {
            width: 100%;
        }

    .SfmAppRjcEntry .row_block .check_group .check_item #text_area {
        width: 90%;
        height: 200px;
        text-align: left;
        font-size: 12px;
        resize: none;
    }

    .SfmAppRjcEntry .row_button {
        display: flex;
        gap: 8px;
        justify-content: space-around;
        padding: 20px;
    }

        .SfmAppRjcEntry .row_button button {
            width: 80px;
            height: 44px;
            font-size: 16px;
        }
