@charset "UTF-8";

html {
    font-size: 62.5%;
}
body {
    background-image: url("/static/img/bg/concrete_wall_3.jpg");
    background-repeat: repeat;
    color: #555;
    font-size: 1.4rem;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",
        "BIZ UDPGothic", Meiryo, sans-serif;
}
a {
    text-decoration: none;
    color: #555;
}
a:hover {
    color: #555;
}
img {
    max-width: 100%;
}
li {
    list-style: none;
}
.flex {
    display: flex;
}
.hide {
    display: none;
}

/*----------------------------------------------------------------
コンテンツ幅を設定するための共通クラス
----------------------------------------------------------------*/
#container {
    display: flex;
    margin-top: 30px;
    margin-bottom: 60px;
}
.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}
.tume {
    font-feature-settings: "palt";
}
.table-wrap {
    width: 100%;
    margin-top: 20px;
}

/*----------------------------------------------------------------
header
----------------------------------------------------------------*/
#header {
    width: 100%;
}
#header-upper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 10px 30px 12px 30px;
}
#header-bottom {
    background-color: #555;
    box-shadow: 0 1px 1px black;
    background-image: url("/static/img/bg/diagonal-noise.jpg");
    background-blend-mode: multiply;
    background-repeat: repeat;
    margin-bottom: 2px;
}
#header .site-title {
    width: 65px;
    line-height: 1px;
}
#header .site-title a {
    display: inline-block;
    width: 65px;
}
#header #login-user {
    font-weight: bold;
    font-size: 1.2rem;
    text-align: right;
}
#header #login-user span {
    font-weight: normal;
}
#navi {
    font-size: 1.3rem;
    display: flex;
    justify-content: space-between;
}
#navi a {
    color: #fff;
    text-shadow: 1px 1px 1px black;
}
#navi a:hover {
    text-decoration: underline;
    color: #eee;
    text-shadow: -1px -1px 1px black;
}
#navi ul {
    display: flex;
}
#navi li {
    padding: 5px 0px 4px 0px;
}
#navi .navi-l {
    display: block;
    text-align: center;
    width: 115px;
    border-left: solid #888;
}
#navi .navi-large {
    display: block;
    text-align: center;
    width: 135px;
    border-left: solid #888;
}
#navi .navi-pre_last {
    display: block;
    text-align: center;
    width: 120px;
    border-left: solid #888;
}
#navi .navi-last {
    display: block;
    text-align: center;
    width: 121.5px;
    border-left: solid #888;
    border-right: solid #888;
}
.line {
    border-right: solid #888;
}

/*----------------------------------------------------------------
共通クラス
----------------------------------------------------------------*/
.contents_block {
    width: 100%;
}

/* table */
table {
    border-collapse: collapse;
    font-size: 1.2rem;
    color: #555;
    width: 100%;
    white-space: nowrap;
}
th {
    border: solid 1px #ccc;
    padding: 5px;
    background-color: #ddd;
}
td {
    border: solid 1px #ccc;
    padding: 4px 8px;
}
.td-center {
    text-align: center;
}
/* 青い枠付きのボックス */
.main-space {
    background-color: #f9f9f9;
    padding: 40px 30px 30px 30px;
    border-radius: 6px;
    box-shadow: 2px 2px 10px #488a9e;
    border: solid #4eb4c2 1.5px;
    position: relative;
}
/* 青い枠付きのボックスのタイトル */
.form-title {
    color: #555;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    border-bottom: 2px solid #4eb4c2;
    padding-bottom: 8px;
    margin-bottom: 30px;
}
/* ボックス枠いっぱいのボタン */
.form-button {
    width: 100%;
    background-color: #444;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    border-radius: 4px;
    margin-top: 20px;
}
.form-button:hover {
    background-color: #4eb4c2;
    box-shadow: 1px 1px 3px #488a9e;
    text-shadow: 1px 1px 1px #666;
}
/* クローズボタン */
.close-button {
    display: block;
    position: absolute;
    background-color: #444;
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    right: 20px;
    top: 20px;
    font-size: 1.5em;
}
.close-button:hover {
    color: #fff;
    background-color: #4eb4c2;
    box-shadow: 1px 1px 3px #488a9e;
}
/* フォームのインプット */
.form-elemental {
    width: 100%;
    padding: 7px 7px 7px 14px;
    border: 1px solid #888;
    border-radius: 3px;
    color: #495057;
    font-size: 1.5rem;
    box-sizing: border-box;
    box-shadow: 0 1px 0 #ccc inset;
    background-color: #fff;
    margin-bottom: 10px;
}
.form-elemental::placeholder {
    color: #ccc;
}
.form-elemental:focus {
    border: 1px solid #4eb4c2;
    box-shadow: 0 0 3px #4eb4c2;
}
.spacer {
    width: 100%;
}
.start-message {
    border: 1px solid #ccc;
    background-color: #f3f3f3;
    padding: 15px 20px 18px;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 1.4rem;
    text-align: center;
}

/*----------------------------------------------------------------
メッセージ、Bootstrapカラー
----------------------------------------------------------------*/
.alert {
    padding: 12px 0;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 20px;
}
.alert-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}
.alert-warning {
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
}
.alert-success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
}
.alert-info {
    background-color: #d1ecf1;
    border: 1px solid #bee5eb;
}

input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
}

/*----------------------------------------------------------------
Aside
----------------------------------------------------------------*/
.aside {
    width: 30%;
    max-width: 210px;
    margin-right: 30px;
}
.aside h2 {
    display: block;
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    background-color: #555;
    color: #f9f9f9;
    margin: 0 0 15px;
    padding: 5px 15px;
    border-radius: 3px;
}
.aside ul {
    padding: 0;
}
.aside li {
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    padding-bottom: 2px;
}
.aside a {
    margin-left: 7px;
}
.aside a:hover {
    color: #4eb4c2;
}

/*----------------------------------------------------------------
resident共通カラー
----------------------------------------------------------------*/
.resident-househead-title {
    background-color: #89acdb;
}
.resident-househead-title-harf {
    background-color: #afcaec;
}
.resident-househead {
    background-color: #d0e3fc;
}
.resident-househead-name {
    background-color: #d2d2d2;
}
.resident-housemate-title {
    background-color: #d497dc;
}
.resident-housemate {
    background-color: #f0d4f4;
}
.resident-emargency-title {
    background-color: #dfb491;
}
.resident-emargency {
    background-color: #f0e2d6;
}
.resident-owner-title {
    background-color: #a7d698;
}
.resident-owner-title-harf {
    background-color: #caf0bf;
}
.resident-owner {
    background-color: #deebda;
}
.resident-owner-name {
    background-color: #d2d2d2;
}

.info-sta {
    padding: 2px 3px;
    border-radius: 2px;
    color: #fff;
}
.sta1 {
    background-color: firebrick;
}
.sta2 {
    background-color: palevioletred;
}
.sta3 {
    background-color: darkorange;
}
.sta4 {
    background-color: olivedrab;
}

/*----------------------------------------------------------------
Pagination
----------------------------------------------------------------*/

.Pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.Pagination-Item {
    margin-bottom: 5px;
}
.Pagination-Item-Link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 25px;
    height: 25px;
    background: #fff;
    border: solid 1.5px #666;
    font-size: 1.2rem;
    color: #666;
    font-weight: bold;
    transition: all 0.15s linear;
}
.Pagination-Item-Link-Icon {
    width: 20px;
}
.Pagination-Item-Link.isActive {
    background: #666;
    color: #fff;
    pointer-events: none;
}
.Pagination-Item-Link:not(.isActive):hover {
    background: #4eb4c2;
    border: solid 1.5px #4eb4c2;
    color: #fff;
}
.Pagination-Item-Link {
    margin-right: 5px;
}
