@charset "UTF-8";

/* リセット */
* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    background: transparent;
}

body {
    margin: 0;
}

main {
    margin: 1em;
}


/* フォント指定 */
body {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic", "ヒラギノ角ゴシック W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

header {
    text-align: center;
    color: #ffffff;
    background-color: #3c6;
    margin: 0 0 1em 0;
    padding: 0.5em;
    height: 1rem;
}

footer {
    text-align: center;
    color: #ffffff;
    background-color: #3c6;
    margin: 1em 0 0 0;
    padding: 0.5em;
}

em {
    font-weight: bold;
}

strong {
    font-weight: bold;
    color: #FF0000;
}


/* ボタン装飾 */
button, input[type="submit"] {
    display: inline-block;
    font-size: 100%;
    padding: 0.3em 1em;
    border-radius: 0.7em;
    border-width: 0;
    text-decoration: none;
    color: #FFF;
    background-image: -webkit-linear-gradient(45deg, #3c6 0%, #3c6 100%);
    background-image: linear-gradient(45deg, #3c6 0%, #3c6 100%);
    transition: .4s;
    cursor: pointer;
    height: 2em;
    margin: 0.5em;
}

button:hover, input[type="submit"]:hover {
    background-image: -webkit-linear-gradient(45deg, #2b5 0%, #2b5 100%);
    background-image: linear-gradient(45deg, #2b5 0%, #2b5 100%);
}

button:disabled, input[type="submit"]:disabled {
    color: #999999;
    cursor: not-allowed;
    background-image: -webkit-linear-gradient(45deg, #777777 0%, #777777 100%);
    background-image: linear-gradient(45deg, #777777 0%, #777777 100%);
}

button:focus {
    outline: none;
}


/* input要素 */
input,
select {
    font-size: 100%;
    box-sizing: content-box;
    border-style: solid;
    border-width: 0.1rem;
    border-radius: 0.5rem;
    border-color: #3c6;
    padding: 0.2em;
    margin: 0.3em;
    height: 1.4em;
    line-height: 1.4em;
}

textarea {
    font-size: 100%;
    border-style: solid;
    border-width: 0.1rem;
    border-radius: 0.5rem;
    border-color: #3c6;
    padding: 0.2em;
    margin: 0.3em;
}

select {
    height: 1.7em;
    line-height: 1.7em;
}

input:disabled,
input:read-only,
textarea:disabled,
textarea:read-only {
    background-color: #CCCCCC;
}


/* error 表示 */
.error {
    color: red;
    font-weight: bold;
}


/* 各種GUIコントロール */
.controlText,
.controlMessage {
    vertical-align: top;
}

.controlText {
    display: inline-block;
    margin: 0.8em 0.3em 0.3em 0.3em;
    height: 1.4em;
    max-width: 100%;
}

.controlMessage {
    margin: 0.3em 0.3em 0.3em 0.3em;
}

.controlInput {
    display: inline-block;
    margin: 0.1em;
    width: 21em;
    max-width: 100%;
}

.controlInput > input[type="text"],
.controlInput > input[type="password"],
.controlInput > textarea,
.controlInput > p {
    width: 20em;
    max-width: 95%;
}

.controlInput > p {
    height: 1.4em;
    vertical-align: middle;
    margin: 0.8em 0.3em 0.3em 0.3em;
}

.controlInput > input[type="date"] {
    width: 11em;
    max-width: 100%;
}

.controlInput input[type="checkbox"] {
    margin: 0 0.3em 0 0.3em;
    height: auto;
    line-height: normal;
}

.controlInput > label {
    display: inline-block;
    margin-top: 0.7em;
}

.controlInput > textarea {
    height: 6em;
}

.controlAdditionalControl > button {
    margin: 0.3em;
}


/* 和暦入力フォーム*/
.controlInput .JpDateEraBox,
.controlInput .JpDateYearBox,
.controlInput .JpDateMonthBox,
.controlInput .JpDateDayBox {
    width: 4em;
}


/* 自治体入力フォーム */
.controlInput .MuniInputPrefBox {
    width: 6em;
}

.controlInput .MuniInputMuniBox {
    width: 12em;
}


/* ログインフォーム */
#loginForm div#loginIdControl,
#loginForm div#passwordControl,
#onetimeCodeVerificationForm div,
#loginForm div#keepMeLoggedInControl {
    width: 22em;
    max-width: 100%;
    margin: 0 auto;
}

#loginForm div#keepMeLoggedInControl .controlText {
    display: none;
}

#loginForm div#keepMeLoggedInControl .controlInput {
    text-align: center;
}

#loginForm .controlText,
#onetimeCodeVerificationForm .controlText {
    width: 21em;
    max-width: 100%;
    text-align: center;
}

#loginForm .controlLabel {
    display: inline-block;
    width: 21em;
    max-width: 100%;
    text-align: center;
}

#loginForm button,
#onetimeCodeVerificationForm button {
    display: block;
    margin: 1em auto;
}

#loginForm p.error,
#onetimeCodeVerificationForm p.error {
    text-align: center;
}

#onetimeCodeVerificationForm .controlMessage {
    display: none;
}

#noTotpRequiredForNextLoginControl .controlText {
    display: none;
}

#noTotpRequiredForNextLoginControl .controlInput {
    text-align: center;
}


/* 検索結果 */
.search .result table {
    width: 100%;
    padding: 0 5vw 0 5vw;
}

.search .result thead {
    display: flex;
    float: left;
    color: #ffffff;
    background-color: #3c6;
}

.search .result tbody {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
}

.search .result thead tr {
    width: 100%;
}

.search .result tbody tr {
    display: flex;
    flex-direction: column;
}

.search .result th {
    display: block;
    width: auto;
    height: 2em;
    line-height: 2em;
    text-align: left;
}

.search .result td {
    display: block;
    height: 2em;
    line-height: 2em;
}

.search .result button {
    margin: 0;
}

.search .result th {
    border-style: groove;
    border-width: 1px;
}

.search .result td {
    border-style: groove;
    border-width: 1px;
}

.search .result td.notFound {
    border: none !important;
    overflow: visible !important;
}

.search .result .sortButton {
    display: block;
    float: right;
    font-size: smaller;
    text-align: right;
    width: 2em;
}

.search .result .sort {
    cursor: pointer;
}

.search .result .pageOptions,
.search .result .pageNavi {
    display: inline-block;
    margin-left: 1.5rem;
}

.search .result .pageNaviButton {
    display: inline-block;
}


/* photoSelector */
.photoSelectorImage {
    display: block;
}

.photoSelectorClearButton {
    display: inline-block;
    height: 2rem;
    width: 5rem;

    margin: 0 0.25rem;
}

.photoSelectorFile {
    display: none;
}

.photoSelectorFile + label {
    display: inline-block;

    height: 2rem;
    width: 7rem;

    box-sizing: border-box;
    vertical-align: top;
    text-align: center;
    line-height: 1.4em;

    padding: 0.3em 1em;
    border-radius: 0.7em;
    border-width: 0;
    text-decoration: none;
    color: #FFF;
    background-image: -webkit-linear-gradient(45deg, #3c6 0%, #3c6 100%);
    background-image: linear-gradient(45deg, #3c6 0%, #3c6 100%);
    transition: .4s;
    cursor: pointer;

    margin: 0 0.25rem;
}

.photoSelectorFile + label:hover {
    background-image: -webkit-linear-gradient(45deg, #2b5 0%, #2b5 100%);
    background-image: linear-gradient(45deg, #2b5 0%, #2b5 100%);
}

.photoSelectorFile + label:disabled {
    color: #999999;
    cursor: not-allowed;
    background-image: -webkit-linear-gradient(45deg, #777777 0%, #777777 100%);
    background-image: linear-gradient(45deg, #777777 0%, #777777 100%);
}

.photoSelectorFile + label:focus {
    outline: none;
}

p.photoSelectorFileInfo {
    display: inline-block;
    width: 7rem;
    height: 2rem;

    margin: 0;
    vertical-align: top;
    line-height: 2rem;

    font-size: 70%;
    font-weight: normal;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}