/*
0.0:メインイメージ
*/
.top-image {
    margin:174px 0 20px;
    width:100%;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    height:600px;
}
/*
1.0:コンテンツ全体の設定
*/
article .main-contents {
    width:100%;
}
/*
1.1:メインとサイドバーの位置
*/
article .main-contents .main-contents-table {
    display:table;
    width:100%;
}
article .main-contents .main-contents-table .main-contents-left {
    display:table-cell;
    vertical-align:top;
    width:723px;
}
article .main-contents .main-contents-table .main-contents-sidebar {
    display:table-cell;
    vertical-align:top;
    width:257px;
}
/*
2.0:メインコンテンツ
*/
.main-contents-top {
}
/*
2.1:コンテンツのブロックは二つずつ横並び
*/
.main-contents-table {
    display:table;
    width:100%;
    margin-bottom:20px;
}
.main-contents-table .main-contents-table-left {
    display:table-cell;
    width:373px;
}
.main-contents-table .main-contents-table-left section.contents-block {
    width:350px;
    margin:0 23px 0 0;
}
.main-contents-table .main-contents-table-right {
    display:table-cell;
    width:350px;
}
.main-contents-table .main-contents-table-right section.contents-block {
    width:350px;
    margin:0;
}
/*
2.2:内側に罫線を置くことで余分な横幅を増やさないようにする
*/
section.contents-block .contents-block-inner {
    border-bottom:1px solid #000;
    border-left:1px solid #000;
    border-right:1px solid #000;
}
/*
2.3:各ブロックの見出し
*/
section.contents-block h1 {
    margin:0 0 1px;
    padding:0.3em 0.5em;
    color:#FFF;
    background-color:#039;
    border-top:2px solid #C00;
}
section.contents-block h1 a {
    color:#FFF;
}
/*
2.4:各ブロックの内容
*/
section.contents-block .contents-mini-table {
    display:table;
    width:100%;
}
section.contents-block .contents-mini-table .contents-image {
    width:105px;
    display:table-cell;
    vertical-align:top;
}
section.contents-block .contents-mini-table .contents-image img {
    vertical-align:bottom;
}
section.contents-block .contents-mini-table .contents-exp {
    display:tablee-cell;
    vertical-align:middle;
    background-color:#EEECED;
    height:105px;
}
section.contents-block .contents-mini-table .contents-exp .contents-exp-inner {
    padding:0.5em;
    display:table-cell;
    vertical-align:middle;
    height:calc(105px - 1em);
}
section.contents-block .contents-mini-table .contents-exp p {
    margin:0;
    padding:0;
    font-size:100%;
    line-height:1.3em;
}
/*
3.0:更新履歴
*/
section.main-contents-bottom {
    width:100%;
}
section.main-contents-bottom h1 {
    margin:0;
    padding:0.3em 0.5em;
    color:#FFF;
    background-color:#039;
    border-top:2px solid #C00;
}
section.main-contents-bottom .history {
    background-color:#EEECED;
}
section.main-contents-bottom .history ul {
    margin:0;
    padding:0;
}
section.main-contents-bottom .history ul li {
    list-style:none;
    border-bottom:1px dashed #000;
}
section.main-contents-bottom .history ul li:last-child {
    border-bottom:none;
}
section.main-contents-bottom .history ul li .list-inner {
    padding:0.5em 1em;
}
section.main-contents-bottom .history ul li .list-table {
    width:100%;
    display:table;
}
section.main-contents-bottom .history ul li .list-table .list-table-left {
    display:table-cell;
    vertical-align:middle;
    width:200px;
}
section.main-contents-bottom .history ul li .list-table .list-table-left p {
    margin:0;
    font-size:100%;
}
section.main-contents-bottom .history ul li .list-table .list-table-right {
    display:table-cell;
    vertical-align:middle;
}
section.main-contents-bottom .history ul li .list-table .list-table-right p {
    margin:0;
    font-size:100%;
}
/*
3.4:サイドバー
*/
article .main-contents-sidebar-inner {
    width:234px;
    margin:0 0 0 23px;
}
article .main-contents-sidebar-inner ul {
    margin:0;
    padding:0;
}
article .main-contents-sidebar-inner ul li {
    list-style:none;
    margin-bottom:20px;
}
article .main-contents-sidebar-inner ul li:last-child {
    margin-bottom:0;
}
article .main-contents-sidebar-inner ul li a img {
    vertical-align:bottom;
}

