body,
body input,
body table,
body label,
.radio-green label {
    font-size: 0.8vw;
}

.task_bar {
    padding: 2px 0px;
    float: top;
}

.task_bar ul {
    display: flex;
    list-style: none;
    justify-content: space-around;
    padding-left: 0px;
    margin: 0 1px;
}

.task_bar li {
    flex: 1;
    margin: 0 1px;
    background: #005000;
    border-radius: 5px;
}

.task_bar a,
.task_bar a:visited {
    display: block;
    color: #fff;
}

body {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    background: #cccccc;
}

section,
header,
.task_bar {
    background: #fff;
}

a,
a:visited {
    text-decoration: none;
}

table {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

header {
    display: flex;
    margin: -8px 0 0 0;
}

section {
    padding: 10px 0;
}

section h1,
.nav h1 {
    background: #005000;
    color: #fff;
    padding: 5px 0;
    font-size: 1.2vw;
}

section h2 {
    background: #008000;
    color: #fff;
    text-align: left;
    padding: 0 20px;
}


.header-cont1,
.header-cont1 a:visited {
    color: #00a000;
    font-family: 'Parisienne', cursive;
}

.header-cont2 {
    margin-left: auto;
    margin-top: auto;
    margin-bottom: auto;
}

.lefter {
    text-align: left;
}

.righter {
    text-align: right;
}

/* tbl-common */
.tbl-common th {
    background: #00dd00;
    padding: 0.2vw;
}

.tbl-common td,
.tbl-common td input[type="text"] {
    background: #fffacd;
}

.tbl-common td,
.tbl-common td input[type="text"] {
    padding: 0.2vw;
}

.space {
    background: #ffffff !important;
}

/* tbl-boarder */
.tbl-boarder,
.tbl-boarder td,
.tbl-boarder th {
    border-collapse: separate;
    border-spacing: 0;
}

.tbl-boarder td,
.tbl-boarder th {
    border: 0.5px #000 solid;
}

.tbl-boarder {
    border: 2px #000 solid;
}

/* buttons */
.btn-green,
.btn-blue,
.btn-red {
    border-radius: 10px;
    cursor: pointer;
    color: #fff;
    -webkit-appearance: none;
}

.btn-green {
    background: #008000;
}

.btn-blue {
    background: #3333ff;
}

.btn-red {
    background: #dd0000;
}

/* チェックボックスとラジオボタン */
.radio-green {
    font-size: 0;
}

.radio-green input[type="radio"],
.radio-green input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    overflow: hidden;
    padding: 0;
    clip: rect(0, 0, 0, 0);
}

.radio-green label {
    display: inline-block;
    cursor: pointer;
    margin: 0;
    padding: 2px 7px;
    border-style: solid;
    border-width: 3px;
    text-align: center;
}

.radio-green label,
.ui-autocomplete li {
    border-color: #bdc3c7;
    background: #bdc3c7;
    color: #869198;
}

.ui-autocomplete li {
    text-align: left;
}

.radio-green input[type="radio"]:checked+label,
.radio-green input[type="checkbox"]:checked+label,
.ui-widget-content .ui-state-active {
    border-style: solid;
    border-color: #a1b91d;
    background-color: #a1b91d;
    color: #fff;
}

.fcs-blue input[type="text"]:focus,
.fcs-blue input[type="submit"]:focus {
    outline: 5px #00bfff solid;
}

.on-fcs-blue {
    border-color: #00bfff !important;
}

.tbl-data th {
    background: #b0ffff;
}

.tbl-data th,
.tbl-data td:not(.a-edit):not(.a-check) {
    padding: 0 5px;
}

/* 編集ボタン */
.a-edit,
.a-edit input[type="button"] {
    background: #ffffc0;
    border-radius: 5px;
}

.a-edit a {
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
}

.a-edit input[type="button"] {
    height: 100%;
    width: 100%;
    border: black;
}

/* successメッセージ */
#result_message {
    position: fixed;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: red;
    background: white;
    font-size: 700%;
    padding: 5% 10%;
    border-radius: 30px;
    border: 1px solid black;
}

.tbl-buttons {
    margin-top: 0.5vw;
}

.tbl-buttons td {
    padding-left: 0.3vw;
    padding-right: 0.3vw;
}

.tr-income {
    background: #9f9;
}

.tr-outgo {
    background: #f68;
}

.tbl-summary th,
.tbl-summary td {
    font-size: 120%;
    padding: 0 0.2vw;
}

.summary-count {
    background: #00bfff;
}

.summary-income {
    background: #44ff44;
}

.summary-outgo {
    background: #ff0033;
}

/* Login form input fields */
#id_username,
#id_password {
    width: 700px;
    max-width: 90%;
}

/* スマホ */
@media screen and (max-width: 980px) {

    body,
    body input,
    body table,
    body label,
    .radio-green label {
        font-size: 2.5vw;
    }

    body {
        width: 100%;
    }

    .tbl-data {
        font-size: 2.5vw;
    }

    #is_pc {
        visibility: hidden;
    }
}
