﻿.head,
.errorArea,
.messageArea,
.pageTopLink,
.footerArea,
.contents {
    width: 940px;
    margin: 0 auto;
}
.messageArea {
    width: calc(940px - 1rem);
    border-radius: 8px;
    background-color: #DFF0D8;
    border-style: solid;
    border-width: 1px;
    border-color: #D6E9C6;
    color: #469597;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    position: relative; /* 追加 */
}
    .messageArea.error {
        background-color: #F2DEDE;
        border-color: #EED3D7;
        color: #BC5F5C;
    }
    .pageTopLink,
    .footerArea {
        margin-top: 1rem;
        text-align: right;
    }
    .pageTopLink a {
        font-size: 1rem;
        color: #469597;
        text-decoration:none;
    }
        .pageTopLink a:hover {
            text-decoration: underline;
        }
        table {
            border: 1px solid #A9A9A9;
            color: #000000;
            background-color: #ffffff;
            width: 100%;
            font-size: 14px;
            vertical-align: middle;
            border-collapse: collapse;
            border-spacing: 0;
        }
    table th {
        border: 1px solid #A9A9A9;
        background-color: #ebebeb;
        vertical-align: middle;
        text-align:left;
    }

    table td {
        border: 1px solid #A9A9A9;
        background-color: #ffffff;
        vertical-align: middle;
        word-break: break-all;
        vertical-align: middle;
    }

.data th{
    text-align:center;
}
.data th,.data td{
    padding:4px;
}
.data tr:nth-child(2n+1) td {
    background-color: #EEF7EA;
}
.openTh:hover {
    background-color: silver;
}
.title {
    border-style: solid;
    border-width: 0 0 0 4px;
    border-color: #A9A9A9;
    font-weight: bold;
    padding-left: 4px;
}
    .title .info{
        font-size:0.8rem;
        font-weight:normal;
    }
    .flex {
        display: flex;
    }
.tab {
    background-color: silver;
    border-radius: 10px 10px 0px 0px;
    margin-left: 4px;
    margin-right: 4px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    padding-left: 1rem;
    padding-right: 1rem;
    background-image: linear-gradient(180deg, white,40%, silver);
    text-decoration:none;
    color:#000000;
    width:200px;
    text-align:center;
}
    .tab:hover,
    .tab.active{
        color:white;
        background-image: linear-gradient(180deg, silver,80%, #222222);
    }

    .marginTop_s {
        margin-top: 4px;
    }

.marginTop_m {
    margin-top: 10px;
}


.marginTop_l {
    margin-top: 20px;
}

.buttons_center{
    text-align:center;
}
.btn {
    background-color: #3276b1;
    color: #FFFFFF;
    border-width: 0px;
    border-radius: 4px;
    padding: 2px 12px 4px 12px;
    text-decoration:none;
    cursor:pointer;
}
    .btn.green {
        color: white;
        background-color: #68BE68;
        border-color: #145404;
        border-width: 1px;
        border-style: solid;
    }
    .btn.red {
        color: white;
        background-color: #E18681;
        border-color: #9B0000;
        border-width: 1px;
        border-style: solid;
    }
    .headLink {
        color: #4E8FCA;
    }
.headLink:before {
    content: "●";
    background: linear-gradient(180deg, white, silver, gray);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.headLink:hover{
    text-decoration:underline;
    cursor:pointer;
}

input[type="text"],
input[type="number"],
input[type="date"],
select {
    border-width: 2px;
}

.fullWidth {
    box-sizing: border-box;
    width:100%;
}
.halfWidth {
    box-sizing: border-box;
    width:50%;
}
.req:after {
    content: "必須";
    font-size: 0.8rem;
    background-color: #9A334F;
    color: white;
    border-radius: 4px;
    padding:0;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    margin-left:8px;
}