/* 全てのページに適用される設定　*/
html {
    font-size: 16px;
    font-family: sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0 0 0 0;
}

p, li, td {
    line-height: 1.7;
    white-space: pre-wrap;
}

a:link {
    color: #0000EE;
    text-decoration: none;
}
a:visited {
    color: #551A8B;
    text-decoration: none;
}
a:hover {
    color: #0033CC;
    text-decoration: underline;
}
a:active {
    color: #FF0000;
    text-decoration: underline;
}

img {
    max-width: 100%;
}

/* 全てのページに適用される設定　ヘッダー　*/
.logonavi {
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}

.nav ul {    
    display: flex;
    margin: 0 15px 0 0;
    gap: 3rem;
    list-style-type: none;
    font-size: 1.7rem;
    flex-wrap: nowrap;
}

.nav a:link {
    color: #253958;
}

.nav a:visited {
    color: #253958;
}

.nav a:hover {
    text-decoration: none;
}

.nav a:active {
    text-decoration: none;
}

/*　すべてのページに適用　－　ヒーロー　*/

.hero {
    background-position: center;
    background-size: cover;
    color: white;
    text-align: center;
    margin: 0;
}

.hero.const {
    padding: 143px 0;
    background-color: lightblue;
}

.hero.civ {
    padding: 143px 0;
    background-color: lightgreen;
}

.hero.crim {
    padding: 143px 0;
    background-color: lightcoral;
}

.hero.crimproc {
    padding: 143px 0;
    background-color: lightslategray;
}

.hero.civproc {
    padding: 143px 0;
    background-color: darkmagenta;
}

.hero.co {
    padding: 143px 0;
    background-color: lightsalmon;
}

.hero.admin {
    padding: 143px 0;
    background-color: lightseagreen;
}

/* 全てのページに適用される設定　メイン　*/
main {
    margin: 0 auto 0 auto;
    max-width: 1000px;
}

main h2 {
    margin: 60px 0 20px 0;
    border-bottom: 2px solid #253958;
    padding: 0 0 5px 0;
    color: #253958;
    font-size: 1.3rem;
}

table {
    border-collapse: collapse;
    border: 2px solid #DBDBDB;
    margin: 0 auto 0 auto;
}

th, td {
    border: 1px solid #DBDBDB;
    padding: 20px;
}


/*　全てのページに適用される設定　フッター　*/

.site-info {
    display: flex;
    list-style-type: none;
    justify-content: space-around;
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: black;
    font-size: 1.3em;
    margin: 40px 0 0 0;
}

.copyright {
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #253958;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
}

.site-info a:link {
    color: #FFFFFF;
    text-decoration: none;
}
.site-info a:visited {
    color: #FFFFFF;
    text-decoration: none;
}
.site-info a:hover {
    color: #FFFFFF;
    text-decoration: underline;
}
.site-info a:active {
    color: #FFFFFF;
    text-decoration: underline;
}

/* 個別のスタイル設定　*/

.update-history {
    height: 400px;
    overflow-y: scroll;
    padding: 40px;
    }

/* レスポンシブデザイン　*/
@media (max-width: 480px) {
    .logonavi {
    flex-direction: column;
    height: 120px;
    }

    .nav ul {    
    margin: 0 15px 0 0;
    font-size: 1.2rem;
    }

    main {
        padding: 0 4%;
    }
}

