body {
    background-color: rgb(238, 238, 238);
    background-image: url(images/bg.png);
    
    margin: 0; 
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 5;
}

div.container{
    background-color: white;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    color: #666666;
    border-top: blue inset 5px;
    /* padding: 3%; */
    box-shadow: 0px 0px 10px rgb(0 0 0 /20%);

}

/* ページ右下に常に出てくるトップへのリンク */

p.nav-fix-pos-pagetop a{
    color: #fff;
    /* font-size: 24px; */
    text-decoration: none;
    text-align: center;
    width: 50px;
    line-height: 50px;
    background: rgba(0, 0, 0, 0.6);
    z-index: 100;   /* めっちゃ全面に持ってくる */
    display: block;
    border: 1px solid #fff;
    position: fixed;
    bottom: 100px;
    right: 3%;
}

header {
    /* background-color: white; */
    margin: 0 auto;
    /* padding: 0 20px; */
}

div.contents {
    padding: 3%;
}

/* ナビゲーション */
nav.globalnavi {
    border-top: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
}

nav.globalnavi ul{
    text-align: center;
    list-style: none;
    /* text-align: justify; */
    margin: 0;
    padding: 0;  
}
nav.globalnavi li {
    display: inline-block;
    border-left: #d2d2d2 solid 1px;
    line-height: 1;
    padding: 12px 0;
    width: 16.2%;
    transition: 0.5s;
    margin: 0;
    position: relative;
}

/* 当該ページは色付きにする */
nav.globalnavi li.current {
    background-color: #e6ebfa;
}

nav.globalnavi li.current::before {
    content: "";
    position: absolute;
    left: 5px;
    width: 3px;
    height: 40px;
    background: linear-gradient(#1244ff, #0e36ca);
}
nav.globalnavi li:hover {
    background-color: #e6ebfa;
    color: #0e36ca;
}

/* グローバルナビ左の縦線 */
nav.globalnavi li:hover::before {
    content: "";
    position: absolute;
    left: 5px;
    width: 3px;
    height: 40px;
    background: linear-gradient(#1244ff, #0e36ca);
}

nav.globalnavi li span {
    color: #bababa;
    font-size: 9px;
    letter-spacing: 0.2em;
}

nav.globalnavi a {
    text-decoration: none;
    color: #666666;
    margin: 0;
}




/* 見出し h2 */
h2 {
    /* background-color: #1139CA; */
    background: linear-gradient(#1140ef, #0e36ca);
    border-radius: 5px;
    color: white;
    font-weight: normal;
    font-size: 18px;
    line-height: 2;
    margin-bottom: 20px;
    box-shadow: 1px 2px 5px #ccc;
    padding: 5px 20px;
}

/* 見出しh2の左の縦線 */
main h2::first-letter {
    border-left: 3px solid rgba(255, 255, 255, 0.5);
    padding-left: 20px;
}

/* 見出し h3 */
h3 {
    background-color: gray;
    border-radius: 5px;
    /* color: white; */
    font-weight: normal;
    font-size: 18px;
    line-height: 2;
    /* margin: 5px 5px 5px 15px; */
    margin-bottom: 20px;
    background: linear-gradient(#fff, #eee);
    padding: 6px 20px;
    border: 1px solid #ccc;
}

main {
    background-color: white;
    margin: 0;
    float: left;
    width: 72%;
}

main ul {
    line-height: 2;
}

/* お知らせの日付 */
span.date {
    margin: 0 20px 0 0;
    color: #0e36ca;
}

/* お知らせ欄のリスト */
main ul li {
    list-style: none;
    border-bottom: 1px solid #666666;
    margin: 0 10px 0 0;
    font-size: 15px;
    line-height: 2;
}

/* NEWアイコン */
span.newicon {
    background-color: #F00;
    color: #FFF;
    font-size: 70%;
    line-height: 1.5;
    padding: 2px 5px;
    border-radius: 2px;
    margin: 0px 5px;
    vertical-align: text-top;
}

strong.color1 {
    font-weight: bold;
    color: #F00;
}

a.mainlink {
    color: #666;
}

a.mainlink:hover {
    text-decoration: none;
    color: #0e36ca;
}

/* サイドメニュー */
aside {
    float: right;
    width: 24%;
    /* background-color: green; */
}

/* サイドメニューの見出し */
h2.sidemenu {
    padding: 15px 10px;
    color: #666666;
    background: #eee;
    border-radius: 0;
    border-top: #0e36ca 5px solid;
    border-bottom: #d2d2d2 1px solid;
    margin: 0;
    font-size: 15px;
    /* text-align: left; */
}

/* サイドメニューの箇条書き */
nav.box {
    border: 1px solid #d2d2d2;
    background: linear-gradient(#fff, #eaeaea);
    padding: 10px;
    margin-bottom: 20px;
}

nav.box a {
    text-decoration: none;
    color: #666666;
    margin: 0;
    transition: 0.5s;
}

nav.box a:hover {
    color: #0e36ca;
    background-color: #fff;
}

nav.box ul {
    margin: 0;
    padding: 0;

}

nav.box ul li {
    list-style: none;
    line-height: 2;
    border-bottom:  1px solid #d2d2d2;
    padding: 5px 10px;
    transition: 0.5s;
}

nav.box ul li:hover {
    background-color: #fff;
}

nav.sidelist {
    /* border: 1px solid #d2d2d2; */
    /* background: linear-gradient(#fff, #eaeaea); */
    /* padding: 10px; */
    margin-bottom: 20px;
}

nav.sidelist a {
    text-decoration: none;
    color: #666666;
    margin: 0;
    transition: 0.5s;
}

nav.sidelist a:hover {
    color: #0e36ca;
    background-color: #fff;
}

nav.sidelist ul {
    margin: 0;
    padding: 0;

}

nav.sidelist ul li {
    list-style: none;
    line-height: 2;
    border-bottom:  1px solid #d2d2d2;
    padding: 5px 10px;
    transition: 0.5s;
}

nav.sidelist p {
    margin: 0;
}

nav div.list a {
    display: block;
    overflow: hidden;
    padding: 10px;
    border-bottom: 1px solid #d2d2d2;
}

nav.box p {
    text-align: center;
    font-size: 11px;
    margin: 0;
}

nav.box p.left {
    text-align: left;
}

figure {
    margin: 0;
}

figure img {
    float: left;
    width: 20%;
    margin-right: 5px;
}

div.list {
    font-size: 11px;
    line-height: 1.2;
}

h4 {
    margin: 0;
    padding: 0;
    font-size: 100%;
}

div p {
    font-size: 100%;
}

span.sidetitle {
    font-size: 15px;
    font-weight: bold;
}



aside::after {
    clear: both;
}

/* フッター */

footer {
    background-color: #1139CA;
    color: white;
    font-size: 12px;
    font-weight: normal;
    line-height: 2;
    text-align: center;
    clear: both;
    padding: 10px 0;
}
footer a {
    text-decoration: none;
    color: white;
    transition: 0.3s;
}

footer p {
    font-size: 12.5px;
}

footer a:hover {
    color: #1139CA;
}

img.logo {
    max-width: 300px;
    margin: 36px 35px;
}

img.topimage {
    max-width: 100%;
}

main p {
    margin-left: 30px;
    font-size: 15px;
    line-height: 2;
}

/* 過去ログリンク */
p.pastlog {
    text-align: right;
}

/* 会社概要のテーブル */
.ta1 {
    border-collapse: collapse;
    width: 100%;
}

table th, table td {
    border: solid 1px black;
}