*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.bottom_5 {
    margin-bottom: 20px!important;
}

.bottom_10 {
    margin-bottom: 20px!important;
}

.bottom_20 {
    margin-bottom: 20px!important;
}

.bottom_30 {
    margin-bottom: 20px!important;
}

.bottom_40 {
    margin-bottom: 20px!important;
}

body {
    font-size: 16px;
    line-height: 2.0;
}

h1,
h2,
h3,
h4 {
    font-weight: bold;
}

strong,
b {
    font-weight: bold;
}

section {
    clear: both;
}

time {
    display: block;
    clear: both;
}

@media only screen and (max-width: 767px) {
    .spHide {
        display: none;
    }
}

@media only screen and (min-width: 768px) {
    .pcHide {
        display: none;
    }
}


/*-- #header --*/

#header {
    width: 100%;
    background-color: #fff;
    position: relative;
    z-index: 3;
    padding-bottom: .02px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

#header .header-top {
    width: 1000px;
    margin: 0 auto;
    padding: 20px 0 15px;
}

#header .header-top .header-logo {
    width: 260px;
    padding-top: 4px;
    -webkit-transition: all 0.18s cubic-bezier(0.77, 0, 0.175, 1) 0s;
    transition: all 0.18s cubic-bezier(0.77, 0, 0.175, 1) 0s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#header .header-top .header-logo img {
    width: 198px;
    height: auto;
}

#header .header-top .gnav-toggle {
    display: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#header .gnav {
    width: 100%;
    background-color: #1993d6;
}

#header .gnav .gnav-inner {
    width: 1000px;
    min-height: 47px;
    margin: 0 auto;
    padding: 6px 0;
    line-height: 1.6;
}

#header .gnav .gnav-inner .nav {
    float: left;
}

#header .gnav .gnav-inner .nav>li {
    display: inline-block;
}

#header .gnav .gnav-inner .nav>li a {
    display: block;
    padding: 5px 20px;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    font-size: 1.6rem;
    border-radius: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all .14s ease-out 0s;
    transition: all .14s ease-out 0s;
    cursor: pointer;
}

#header .gnav .gnav-inner .nav>li.current a,
#header .gnav .gnav-inner .nav>li a:hover {
    background-color: #ccedff;
    text-decoration: none;
    color: #1993d6;
}

#header .gnav .gnav-inner p {
    padding: 8px 0 5px 175px;
    font-size: 14px;
    font-size: 1.4rem;
    float: left;
}

#header .gnav .gnav-inner p+p {
    padding-left: 20px;
}

#header .gnav .gnav-inner p a {
    color: #fff;
}

@media only screen and (max-width: 767px) {
    #header .header-top {
        width: auto;
        padding: 10px 10px;
        border-bottom: 4px solid #1993d6;
    }
    #header .header-top .gnav-toggle {
        display: block;
        background: #1993d6 url(../images/ico_menu.png) 0 0 no-repeat;
        background-size: 40px 40px;
        width: 40px;
        height: 40px;
        text-indent: -999px;
        overflow: hidden;
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 10;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: pointer;
    }
    #header .header-top .gnav-toggle.open {
        background: #1993d6 url(../images/ico_close.png) 0 0 no-repeat;
        background-size: 40px 40px;
    }
    #header .gnav {
        display: none;
        width: 100%;
        background-color: rgba(25, 147, 214, 0.9);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 9;
    }
    #header .gnav .gnav-inner {
        width: auto;
        min-height: 47px;
        padding: 90px 25px 30px;
    }
    #header .gnav .gnav-inner .nav {
        margin-bottom: 30px;
        float: none;
    }
    #header .gnav .gnav-inner .nav>li {
        border-top: 1px solid #fff;
        display: block;
    }
    #header .gnav .gnav-inner .nav>li:first-child {
        border-top: none;
    }
    #header .gnav .gnav-inner .nav>li a {
        background: url(../images/ico_arrow_right.png) 98% 50% no-repeat;
        background-size: auto 20px;
        padding: 8px 20px;
    }
    #header .gnav .gnav-inner .nav>li.current a,
    #header .gnav .gnav-inner .nav>li a:hover {
        background-color: transparent;
        text-decoration: none;
        color: #fff;
    }
    #header .gnav .gnav-inner p {
        border: 1px solid #fff;
        padding: 8px 10px;
        float: none;
    }
    #header .gnav .gnav-inner p+p {
        padding-left: 10px;
        border-top: none;
    }
    #header .gnav .gnav-inner p a {
        display: block;
    }
}


/*-- #content --*/

#content {
    clear: left;
}

#content #content-inner {
    width: 100%;
    min-height: 600px;
    margin: 0 auto;
    padding-top: 16px;
    position: relative;
}

#main {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 40px;
}

#main h1 {
    margin-bottom: 24px;
    padding-bottom: .5em;
    font-size: 200%;
    line-height: 1.2;
    border-bottom: 4px solid #eee;
    position: relative;
}

#main h1::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 12%;
    min-width: 120px;
    height: 4px;
    background-color: #0087d2;
}

#main h1 span {
    background-repeat: no-repeat;
    background-position: 0 18px;
    background-size: 40px 40px;
    padding: 20px 0 0 0;
    display: inline-block;
}

#main h2 {
    margin-bottom: 20px;
    padding-top: .5em;
    font-size: 150%;
    line-height: 1.4;
    border-top: 4px solid #eee;
    position: relative;
}

#main h2::after {
    position: absolute;
    top: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 12%;
    min-width: 120px;
    height: 4px;
    background-color: #0087d2;
}

#main h3 {
    font-size: 120%;
}

#main h4 {
    font-size: 110%;
}

#main h1+h2,
#main h1+section>h2 {
    border-top: none;
}

#main h1+h2::after,
#main h1+section>h2::after {
    display: none;
}

#main .no-border h2 {
    margin: 0 0 1em;
    padding: 0;
    border-top: none;
}

#main .no-border h2::after {
    display: none;
}

#main.chumoku h1 span {
    background-image: url(../images/ico_chumoku.png);
    padding: 20px 0 0 54px;
}

#main.chumoku h1::after,
#main.chumoku h2::after {
    background-color: #00aae0;
}

#main.database h1 span {
    background-image: url(../images/ico_database.png);
    padding: 20px 0 0 54px;
}

#main.database h1::after,
#main.database h2::after {
    background-color: #32b16c;
}

#main.shijiritsu h1 span {
    background-image: url(../images/ico_shijiritsu.png);
    padding: 20px 0 0 54px;
}

#main.shijiritsu h1::after,
#main.shijiritsu h2::after {
    background-color: #5f52a0;
}

#main.chisiki h1 span {
    background-image: url(../images/ico_chisiki.png);
    padding: 20px 0 0 54px;
}

#main.chisiki h1::after,
#main.chisiki h2::after {
    background-color: #fc0;
}

#main.post h1 span {
    background-image: url(../images/ico_post.png);
    padding: 20px 0 0 54px;
}

#main.post h1::after,
#main.post h2::after {
    background-color: #c42929;
}

#main.sitemap h1 span {
    background-image: url(../images/ico_sitemap.png);
    padding: 20px 0 0 54px;
}

#main.about h1 span {
    background-image: url(../images/ico_about.png);
    padding: 20px 0 0 54px;
}

#main table {
    width: 100%;
}

#main table th,
#main table td {
    padding: 14px 12px;
    line-height: 1.6;
}

#main section {
    margin-bottom: 40px;
    padding: 0 20px;
}

#main .flLeft {
    width: 470px;
    float: left;
}

#main .flRight {
    width: 470px;
    float: right;
}

#main time {
    text-align: right;
    color: #999;
}

@media only screen and (max-width: 767px) {
    main.database .content-caption time {
        text-align: right;
        color: #999;
        margin: 0 5px -5px 0;
        font-size: 90%;
    }
}

@media only screen and (min-width: 768px) {
    main.database .thumb-area li {
        position: relative;
    }
    main.database .content-caption time {
        position: absolute;
        bottom: 5px;
        right: 5px;
        font-size: 90%
    }
}


/* サムネイルエリア（共通） */

#main .thumb-area li {
    background-color: #fff;
    border: 1px solid #ccc;
    width: 224px;
    min-height: 270px;
    margin: 0 0 20px 20px;
    padding-bottom: 12px;
    line-height: 1.6;
    position: relative;
    float: left;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all .14s ease-out 0s;
    transition: all .14s ease-out 0s;
    cursor: pointer;
}

#main .thumb-area li img {
    width: 100%;
    height: auto;
}

#main .thumb-area li a.text-hidden {
    background: url(../images/ico_arrow_thumb.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-indent: -999px;
    position: absolute;
    top: 0;
    left: 0;
}

#main .thumb-area li h3 {
    padding: 0 12px 0;
    font-size: 100%;
}

#main .thumb-area li p {
    padding: 0 12px 0;
    /*font-weight: bold;*/
}

#main .thumb-area li p.thumb-image {
    padding: 0 0 12px;
}

#main .thumb-area li:hover {
    opacity: 0.75;
}

@media only screen and (max-width: 767px) {
    #main {
        width: 100%;
        padding: 0 0 20px;
    }
    #main h1 {
        font-size: 150%;
    }
    #main h1 span {
        background-position: 15px 18px;
        background-size: 30px 30px;
        padding: 20px 0 5px 0;
    }
    #main.chumoku h1 span,
    #main.database h1 span,
    #main.shijiritsu h1 span,
    #main.chisiki h1 span,
    #main.post h1 span,
    #main.sitemap h1 span,
    #main.about h1 span {
        padding: 20px 0 5px 52px;
    }
    #main .flLeft {
        width: 100%;
        float: none;
    }
    #main .flRight {
        width: 100%;
        float: none;
    }
    #main .flLeft+.flRight {
        margin-top: 40px;
    }
    #main .thumb-area li {
        width: 100%;
        min-height: 210px;
        margin: 0 0 20px 0;
        float: none;
    }
    #main .thumb-area li:hover {
        opacity: 1;
    }
    #main section img {
        max-width: 100%;
        height: auto;
    }
}


/* トップページ */

#main.top {
    width: 100%;
    padding-bottom: 0;
}

#main.top h2 {
    border-top: none;
}

#main.top h2::after {
    display: none;
}

#main.top section {
    margin-bottom: 0;
    padding: 30px 0;
}

#main.top section:nth-of-type(even) {
    background-color: #eee;
}

#main.top section .section-inner {
    width: 960px;
    margin: 0 auto;
    position: relative;
}

#main.top section .section-inner .content-thumb {
    width: 48.95%;
    display: table-cell;
    vertical-align: top;
}

#main.top section .section-inner .content-summary {
    padding-left: 18px;
    display: table-cell;
    vertical-align: top;
}

#main.top section .section-inner .content-summary h2 {
    margin-bottom: 10px;
    padding-top: 0;
}

#main.top section .section-inner .content-summary + a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-indent: -999px;
    overflow: hidden;
}

#main.top section .section-inner img {
    width: 100%;
}

#main.top .category-chumoku {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #00aae0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.top .category-chumoku span:before {
    content: "\25CF";
    color: #00aae0;
}

#main.top .category-database {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #32b16c;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.top .category-database span:before {
    content: "\25CF";
    color: #32b16c;
}

#main.top .category-shijiritsu {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #5f52a0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.top .category-shijiritsu span:before {
    content: "\25CF";
    color: #5f52a0;
}

#main.top .category-chisiki {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #fc0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.top .category-chisiki span:before {
    content: "\25CF";
    color: #fc0;
}

#main.top .category-news,
#main.shijiritsu .category-news {
    background-color: #c42929;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #fff;
}

#main.top .category-news span:before,
#main.shijiritsu .category-news span:before {
    content: "\25CF";
}

#main.top .category-closeup {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #c42929;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.top .category-closeup span:before {
    content: "\25CF";
    color: #c42929;
}

#main.top section .thumb-area {
    margin-left: -20px;
}

#main.top section .thumb-area .category-chumoku,
#main.top section .thumb-area .category-database,
#main.top section .thumb-area .category-shijiritsu,
#main.top section .thumb-area .category-chisiki,
#main.top section .thumb-area .category-news,
#main.top section .thumb-area .category-closeup {
    margin-left: 12px;
    line-height: 1;
}

#main.top section .link-about {
    background: #0087d2 url(../../images/bg_about.jpg) 0 5% no-repeat;
    background-size: 375px auto;
    min-height: 160px;
    padding: 24px 50px 0 42%;
    color: #fff;
    position: relative;
}

#main.top section .link-about h2 {
    background: url(../images/ico_about_w.png) 0 50% no-repeat;
    background-size: 30px 30px;
    min-height: 30px;
    margin-bottom: 14px;
    padding: 2px 0 0 40px;
}

#main.top section .link-about a {
    background: url(../images/ico_arrow_right.png) 98.5% 50% no-repeat;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: -999px;
    position: absolute;
    top: 0;
    left: 0;
}

#main .top-column-1 .thumb-area {
    margin-left: 0;
}

#main .top-column-1 ul.thumb-area li {
    width: 100%;
    padding-bottom: 0;
}

#main .top-column-1 ul.thumb-area li {
    border: none;
    display: table;
}

#main .top-column-1 ul.thumb-area li .thumb-image {
    padding-bottom: 0;
}

#main .top-column-1 ul.thumb-area li .content-caption > div {
    margin-left: 0;
}

#main .top-column-1 ul.thumb-area li .content-caption h3 {
    font-size: 150%;
    padding: 0;
    margin-bottom: 10px;
}

#main .top-column-1 ul.thumb-area li .content-caption p {
    padding: 0;
}

#main.top section.top-column-1:nth-child(even) ul.thumb-area li {
    background-color: #eee;
}

@media print,
screen and (min-width: 768px) {
    #main .top-column-1 .section-inner li {
        margin-bottom: 20px;
    }
    #main.top .top-column-2 .section-inner li,
    #main.top .top-column-3 .section-inner li,
    #main.top .top-column-4 .section-inner li {
        margin-top: 20px;
    }
    #main .top-column-1 .thumb-area li a.text-hidden {
        background: none;
    }
    #main .top-column-1 ul.thumb-area li {
        margin-left: 0;
    }
    #main .top-column-1 ul.thumb-area li .thumb-image {
        display: table-cell;
        width: 50%;
        vertical-align: top;
    }
    #main .top-column-1 ul.thumb-area li .content-caption {
        display: table-cell;
        padding-left: 18px;
        vertical-align: top;
        padding-top: 6px;
    }
    #main.top .top-column-2 h3 {
        font-size: 130%;
        margin-bottom: 10px;
    }
    #main.top .top-column-2 li {
        width: 470px;
        min-height: 424px;
        padding-bottom: 0;
    }
    #main.top .top-column-3 li {
        width: 306.66px;
        min-height: 320px;
    }
    #main.top h2 {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 767px) {
    #main .top-column-1 ul.thumb-area li .content-caption {
        margin-top: 20px;
    }
    #main.top section .section-inner {
        width: auto;
        padding: 0 25px;
    }
    #main.top section .section-inner .content-thumb {
        width: 100%;
        text-align: center;
        display: block;
    }
    #main.top section .section-inner .content-summary {
        padding: 20px 0 0;
        display: block;
    }
    #main.top section .thumb-area {
        margin-left: 0;
    }
    #main.top section .link-about {
        background: #0087d2 url(../../images/bg_about.png) 50% 0 no-repeat;
        background-size: cover;
        min-height: 160px;
        padding: 24px 40px 20px 20px;
    }
    #main.top section .link-about h2 {
        background: url(../images/ico_about_w.png) 0 50% no-repeat;
        background-size: 30px 30px;
        min-height: 30px;
        margin-bottom: 14px;
        padding: 2px 0 0 40px;
    }
    #main.top .top-column-3 li:last-child,
    #main.top .top-column-4 li:last-child {
        margin-bottom: 0;
    }
    #main.top h2 {
        padding-top: 0;
    }
}


/* 注目選挙 */

#main .table01 {
    margin: 0 0 40px;
}

#main .table01 table {
    border-top: 4px solid #00aae0;
    border-left: 1px solid #ccc;
}

#main .table01 table th {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #f7f7f7;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
}

#main .table01 table td {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
    vertical-align: middle;
}

#main .table01 table td:nth-child(1) {
    border-right: none;
}

#main .table01 table td div:nth-child(2) {
    margin-top: 12px;
}

#main .resultBtn,
#main .infoBtn,
#main .articleBtn a {
    line-height: 1;
    font-size: 85%;
    /*position: absolute;
            top: 28%;
            right: 12px;*/
}

#main .resultBtn a,
#main .infoBtn a,
#main .articleBtn a {
    width: 8em;
    padding: 5px 0px;
    text-align: center;
    border-radius: 12px;
    display: block;
    color: #fff;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all .14s ease-out 0s;
    transition: all .14s ease-out 0s;
    cursor: pointer;
    margin: 0 auto;
}

#main .resultBtn a {
    background-color: #00aae0;
    border: 1px solid #00aae0;
}

#main .resultBtn a:hover {
    background-color: #fff;
    text-decoration: none;
    color: #00aae0;
}

#main .infoBtn a {
    background-color: #c42929;
    border: 1px solid #c42929;
}

#main .infoBtn a:hover {
    background-color: #fff;
    text-decoration: none;
    color: #c42929;
}

#main .articleBtn a {
    background-color: #fe7200;
    border: 1px solid #fe7200;
}

#main .articleBtn a:hover {
    background-color: #fff;
    text-decoration: none;
    color: #fe7200;
}

#main #pastResult ul {
    background-color: #eee;
    padding: 20px 20px 0;
    text-align: center;
}

#main #pastResult ul li {
    width: 49%;
    float: left;
}

#main #pastResult ul li:nth-of-type(even) {
    margin-left: 2%;
}

#main #pastResult a {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    width: 100%;
    padding-top: 30.33333%;
    line-height: 1;
    text-indent: -999px;
    overflow: hidden;
    display: block;
}

#main #pastResult .backimg2014 a {
    background-image: url(../../chumoku/images/bnr_shu2014.jpg);
}

#main #pastResult .backimg2016 a {
    background-image: url(../../chumoku/images/bnr_san2016.jpg);
}

#main .table01 tr.col2 td {
    border-right: 1px solid #ccc!important;
}

@media only screen and (max-width: 767px) {
    #main .table01 {
        font-size: 90%;
        /* overflow */
        width: 100%;
        overflow: hidden;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    #main .table01 table {
        min-width: 280px;
    }
    #main .resultBtn a,
    #main .infoBtn a,
    #main .articleBtn a {
        width: 7em;
    }
    #main .table01 th,
    #main .table01 td {
        padding: 10px 8px;
    }
    #main .table01 col:nth-child(1) {
        width: 40%;
    }
    #main .table01 tr th:nth-child(2),
    #main .table01 tr td:nth-child(3) {
        display: none;
    }
    #main .table01 tr th:nth-child(4),
    #main .table01 tr td:nth-child(5) {
        display: none;
    }
    #main .table01 tr td:nth-child(1) {
        padding-right: 5px;
    }
    #main .table01 tr td:nth-child(2) {
        padding-left: 0;
    }
    #main .table01 tr th:nth-child(3),
    #main .table01 tr td:nth-child(4) {
        padding-right: 0;
        padding-left: 0;
    }
    #main .table01 tr.col2 td:nth-child(2),
    #main .table01 tr.col2 td:nth-child(4) {
        display: none;
    }
    #main .table01 tr.col2 td:nth-child(3) {
        display: table-cell;
    }
    #main .resultBtn,
    #main .infoBtn,
    #main .articleBtn a {
        line-height: 1;
        font-size: 70%;
    }
    #main #pastResult ul li {
        width: 100%;
        float: none;
    }
    #main #pastResult ul li:nth-of-type(even) {
        margin-left: 0;
    }
}


/* 選挙データベース */

#main #database-list-tabs > ul,
#main #chisiki-list-tabs > ul {
    margin-left: 20px;
    margin-bottom: 24px;
}

#main #database-list-tabs > ul li,
#main #chisiki-list-tabs > ul li {
    margin-right: 8px;
    display: inline-block;
    position: relative;
}

#main #database-list-tabs > ul li a,
#main #chisiki-list-tabs > ul li a {
    min-width: 9em;
    padding: 8px 16px;
    text-align: center;
    border: 1px solid #ccc;
    display: block;
    color: #333;
    cursor: pointer;
}

#main #database-list-tabs > ul li a:hover,
#main #chisiki-list-tabs > ul li a:hover {
    background-color: #ccc;
    text-decoration: none;
}

#main #database-list-tabs > div,
#main #chisiki-list-tabs > div {
    clear: both;
}

#main.database #database-list-tabs > ul li a {
    border: 1px solid #32b16c;
}

#main.database #database-list-tabs > ul li a:hover,
#main.database #database-list-tabs > ul li.ui-tabs-active a {
    background-color: #32b16c;
    color: #fff;
}

#main.database #database-list-tabs > ul li.ui-tabs-active a:after {
    content: "";
    width: 0;
    height: 0;
    border: 25px solid transparent;
    border-top: 12px solid #32b16c;
    position: absolute;
    top: 50px;
    left: 35%;
    bottom: 0;
}

#main.database .thumb-area li .category-database {
    background-color: #32b16c;
    margin: 0 0 10px 12px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #fff;
}

#main.database .thumb-area li .category-database span {
    text-shadow: 0px 0px 2px #04a04b;
}

#main.database .thumb-area li .category-database span:before {
    content: "\25CF";
}

#main.database .category-database2 {
    background-color: #fff;
    margin: 0 0 10px 12px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #32b16c;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.database .category-database2 span:before {
    content: "\25CF";
    color: #32b16c;
}


/* 選挙テータベース記事 */

#main.database.local h2 {
    margin-bottom: 0;
}

#main.database.local h2+h3 {
    margin-bottom: 1em;
    font-weight: normal;
    font-size: 100%;
    color: #999;
}

#main.database.local .data {
    background-color: #eee;
    margin-bottom: 20px;
    padding: 10px 20px;
}

#main.database.local .data dl {
    margin-left: 2em;
    display: inline-block;
}

#main.database.local .data dl:first-child {
    margin-left: 0;
}

#main.database.local .data dt {
    font-weight: bold;
    display: inline-block;
}

#main.database.local .data dd {
    display: inline-block;
}

#main.database.local .profile {
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    border-top: 5px solid #32b16c;
    position: relative;
}

#main.database.local .profile > div {
    float: left;
}

#main.database.local .profile .profile-photo {
    padding-left: 50px;
    position: relative;
}

#main.database.local .profile .profile-photo.elected:before {
    content: " ";
    width: 40px;
    height: 40px;
    margin: auto;
    background: url(../images/ico_elected.png) 0 0 no-repeat;
    background-size: 40px 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#main.database.local .profile .profile-name {
    min-width: 200px;
    padding: 0 20px;
}

#main.database.local .profile .profile-name h3 {
    font-size: 150%;
}

#main.database.local .profile .profile-name ruby {
    ruby-position: after;
}

#main.database.local .profile .profile-career {
    max-width: 330px;
}

#main.database.local .profile .profile-career dt {
    background-color: #eee;
    width: 6em;
    margin-bottom: .8em;
    padding: .2em;
    text-align: center;
    float: left;
    clear: left;
}

#main.database.local .profile .profile-career dd {
    min-height: 1em;
    margin-left: 6.5em;
    margin-bottom: .8em;
    padding: .2em;
}

#main.database.local .profile .profile-career dt+dd+dt+dd {
    margin-bottom: 0;
}

#main.database.local .profile .profile-data {
    text-align: right;
    width: 240px;
    position: absolute;
    right: 10px;
    bottom: 10px;
    float: none;
}

#main.database.local .profile .profile-data strong {
    font-weight: bold;
}

#main.database.local .profile .profile-data .graph-bar {
    background-color: #e7e7e7;
    width: 100%;
    height: 20px;
    line-height: 20px;
    position: relative;
}

#main.database.local .profile .profile-data .graph-bar span {
    background-color: #32b16c;
    height: 20px;
    position: absolute;
    top: 0;
    left: 0;
}

#main.database.local section.no-border h2 {
    margin-bottom: 1em;
}

#main.database.local section.no-border p,
#main.database.local section p {
    margin-bottom: 1em;
}

#main.database.local section.no-border .movie,
#main.database.local section.no-border .image {
    background-color: #eee;
    margin-bottom: 1em;
    text-align: center;
    vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
    #main #database-list-tabs > ul {
        margin-left: 15px;
    }
    #main #database-list-tabs > ul li {
        margin-right: 3px;
        margin-bottom: 10px;
        display: block;
        float: left;
    }
    #main #database-list-tabs > ul li a {
        min-width: 5em;
        padding: 3px 8px;
        font-size: 90%;
    }
    #main.database #database-list-tabs > ul li.ui-tabs-active a:after {
        display: none;
    }
    #main.database .thumb-area {
        padding: 0 15px;
    }
    #main.database.local .data dl {
        margin: 0;
        display: block;
    }
    #main.database.local .profile {
        padding: 10px 20px;
    }
    #main.database.local .profile > div {
        margin-bottom: 10px;
        float: none;
    }
    #main.database.local .profile .profile-photo {
        padding: 0;
        float: left;
    }
    #main.database.local .profile .profile-photo.elected {
        padding: 10px 0 0 0;
    }
    #main.database.local .profile .profile-photo.elected:before {
        top: 0;
        bottom: auto;
        left: -10px;
        z-index: 1;
    }
    #main.database.local .profile .profile-name {
        width: auto;
        min-width: 0;
        padding: 10px 0 0 15px;
        float: left;
    }
    #main.database.local .profile .profile-name h3 {
        font-size: 120%;
    }
    #main.database.local .profile .profile-career {
        max-width: none;
        clear: both;
    }
    #main.database.local .profile .profile-career dl {
        font-size: 90%;
    }
    #main.database.local .profile .profile-data {
        width: 100%;
        margin-bottom: 0;
        position: static;
    }
}

@media only screen and (max-width: 349px) {
    #main.database.local .profile {
        padding: 10px 10px;
    }
    #main.database.local .profile .profile-name {
        padding: 10px 0 0 5px;
    }
}


/* 内閣支持率 */

#main.shijiritsu h1 span span {
    display: inline;
    font-size: 70%;
    background: none;
    padding: 0;
}

#main.shijiritsu section p {
    margin-bottom: 1em;
}

#main.shijiritsu .notice {
    background-color: #efedf5;
    padding: 20px;
}

#main.shijiritsu .notice p {
    margin-top: 1em;
    margin-bottom: 0;
}

#main.shijiritsu .scroll-area {
    width: 920px;
    min-height: 330px;
    overflow-x: scroll;
    float: left;
}

#main.shijiritsu .unit {
    margin-left: -6px;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: bold;
}

/* Mac */

#main.shijiritsu .scroll-area::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}

#main.shijiritsu .scroll-area::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0, 0, 0, .4);
    box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

#main.shijiritsu .scroll-area-left {
    max-width: 52px;
    max-height: 320px;
    float: left;
}

#main.shijiritsu .scroll-area-footer {
    padding-top: 10px;
    text-align: center;
    clear: both;
}

#main.shijiritsu .scroll-area-sp {
    display: none;
}

@media only screen and (max-width: 767px) {
    #main.shijiritsu section h2.period {
        font-size: 130%;
    }
    #main.shijiritsu .scroll-area-left {
        margin-top: -8px;
    }
}

@media only screen and (min-width: 768px) {
    #main.shijiritsu .scroll-area-left {
        margin-top: -9px;
    }
}

#main .table02 {
    margin: 0;
}

#main .table02 table {
    border-top: 1px solid #5f52a0;
    border-left: 1px solid #5f52a0;
}

#main .table02 table th,
#main .table02 table td {
    padding: 6px 12px;
    border-right: 1px solid #5f52a0;
    border-bottom: 1px solid #5f52a0;
}

#main .table02 table th {
    background-color: #5f52a0;
    border-right: 1px solid #efedf5;
    font-weight: bold;
    color: #fff;
}

#main .table02.red table {
    border-top: 1px solid #c42929;
    border-left: 1px solid #c42929;
}

#main .table02.red table th,
#main .table02.red table td {
    padding: 6px 12px;
    border-right: 1px solid #c42929;
    border-bottom: 1px solid #c42929;
}

#main .table02.red table th {
    background-color: #c42929;
    border-right: 1px solid #efedf5;
    font-weight: bold;
    color: #fff;
}

#main .table02.orange table {
    border-top: 1px solid #fe7200;
    border-left: 1px solid #fe7200;
}

#main .table02.orange table th,
#main .table02.orange table td {
    padding: 6px 12px;
    border-right: 1px solid #fe7200;
    border-bottom: 1px solid #fe7200;
}

#main .table02.orange table th {
    background-color: #fe7200;
    border-right: 1px solid #efedf5;
    font-weight: bold;
    color: #fff;
}

#main .table02.overgraph table th {
    border-bottom: 1px solid #efedf5;
    border-right: none;
}

#main .table02.overgraph table tr:last-child th {
    border-bottom: 1px solid #5f52a0;
}

#main .table02 table tr th:last-child {
    border-right: 1px solid #5f52a0;
}

#main .table02.red table tr th:last-child {
    border-right: 1px solid #c42929;
}

#main .table02.orange table tr th:last-child {
    border-right: 1px solid #fe7200;
}

#main .table02 table tr td:nth-of-type(even) {
    background-color: #efedf5;
}

#main .proportional .table02 table tr td:nth-of-type(3) {
    background-color: #ffe1e1;
}

#main .table02.red table tr td:nth-of-type(even) {
    background-color: #ffe1e1;
}

#main .table02.orange table tr td:nth-of-type(even) {
    background-color: #ffeee0;
}

#main .table02 table tr td p {
    margin-bottom: 0;
}

#main .table03 {
    margin: 0;
}

#main .table03 table {
    border-top: 1px solid #c42929;
    border-left: 1px solid #c42929;
}

#main .table03 table th,
#main .table03 table td {
    padding: 6px 12px;
    border-right: 1px solid #c42929;
    border-bottom: 1px solid #c42929;
}

#main .table03 table tr.subBlockTable td {
    border-bottom: 1px dashed #c42929;
}

#main .table03 table tr.subBlockTableBottom td {
    border-bottom: 1px solid #c42929;
}

#main .table03 table th {
    background-color: #c42929;
    border-right: 1px solid #efedf5;
    font-weight: bold;
    color: #fff;
}

#main .table03 table th:last-child {
    border-right: 1px solid #c42929;
}

#main .table03 table td.borderTopThere {
    border-top: 1px solid #c42929;
}

#main .table03 table td.borderBottomThere {
    border-bottom: 1px solid #c42929!important;
}

#main .table03 table tr.blockTable {
    background-color: #ffdada;
}

#main .table03 table tr.blockTable td:first-child {
    border-bottom: none;
}

#main .table03 table tr.subBlockTable td:first-child {
    border-bottom: none;
    background-color: #ffdada;
}

#main .table03 table tr.subBlockTableBottom td:first-child {
    background-color: #ffdada;
}

#main.post .smallDistrict table td a p {
    text-decoration: underline;
    color: #333;
}

#main.post .smallDistrict table td a p > span {
    display: block;
}

#main.post .smallDistrict table td .pdfIcon {
    background-color: #c42929;
    color: #fff;
    font-weight: bold;
    font-size: 10px;
    display: block;
    width: 3.5em;
    margin: 0 auto;
}

#main .smallDistrict .table02 table tr td:first-child {
    font-weight: bold;
}

@media only screen and (min-width: 768px) {
    #main.post .smallDistrict table td a:hover {
        text-decoration: none;
    }
    #main.post .smallDistrict table td .tableImage {
        float: left;
        width: 40%;
        padding-right: 12px;
    }
    #main.post .smallDistrict table td .tableImage img {
        width: 100%;
    }
    #main.post .smallDistrict table td .tableCaption {
        display: table-cell;
    }
}

@media only screen and (max-width: 767px) {
    #main .table02 {
        font-size: 90%;
        /* overflow */
        width: 100%;
        /*overflow: hidden;
    overflow-y: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;*/
    }
    /*#main .table02 table {
    min-width: 470px;
}*/
    #main .table02.overgraph {
        font-size: 90%;
        /* overflow */
        width: 100%;
        /*overflow: hidden;
                overflow-y: auto;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;*/
    }
    /*#main .table02.overgraph table {
                min-width: 470px;
            }*/
    #main .table02 th br {
        display: none;
    }
    #main.shijiritsu .scroll-area {
        width: 92%;
        margin-right: -52px;
    }
    #main.shijiritsu .scroll-area img {
        width: auto;
        max-width: none;
        height: 350px;
    }
    #main.shijiritsu .scroll-area-left img {
        width: auto;
        max-width: none;
        height: 350px;
    }
    #main.shijiritsu .scroll-area-sp {
        text-align: center;
        font-size: 80%;
        display: block;
    }
    #main.post .smallDistrict table td .tableImage {
        padding-bottom: 10px;
    }
    #main .smallDistrict .table02 table tr th:first-child {
        width: 28%;
    }
}


/* 選挙記事 */

#main.post {}

#main.post section h3 {
    margin-bottom: 0;
    padding-top: 1.8em;
}

#main.post section p {
    margin-bottom: 1em;
}

#main.post section .movie,
#main.post section .image {
    background-color: #eee;
    margin-bottom: 1em;
    text-align: center;
    vertical-align: bottom;
}

#main.post section .section-inner {
    width: 960px;
    margin: 0 auto;
    position: relative;
}

#main.post section .section-inner .content-thumb {
    width: 48.95%;
    display: table-cell;
    vertical-align: top;
}

#main.post section .section-inner .content-summary {
    padding-left: 18px;
    display: table-cell;
    vertical-align: top;
}

#main.post section .section-inner .content-summary h2 {
    margin-bottom: 10px;
    padding-top: 0;
}

#main.post section .section-inner .content-summary + a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-indent: -999px;
    overflow: hidden;
}

#main.post section .section-inner img {
    width: 100%;
}

#main.post .category-chumoku {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #00aae0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.post .category-chumoku span:before {
    content: "\25CF";
    color: #00aae0;
}

#main.post .category-database {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #32b16c;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.post .category-database span:before {
    content: "\25CF";
    color: #32b16c;
}

#main.post .category-shijiritsu {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #5f52a0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.post .category-shijiritsu span:before {
    content: "\25CF";
    color: #5f52a0;
}

#main.post .category-chisiki {
    background-color: #fff;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border: 1px solid #fc0;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #333;
}

#main.post .category-chisiki span:before {
    content: "\25CF";
    color: #fc0;
}

#main.post .category-news {
    background-color: #c42929;
    margin: 0 0 10px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #fff;
}

#main.post .category-news span:before {
    content: "\25CF";
}

#main.post section .thumb-area {
    margin-left: -20px;
}

#main.post section .thumb-area .category-chumoku,
#main.post section .thumb-area .category-database,
#main.post section .thumb-area .category-shijiritsu,
#main.post section .thumb-area .category-chisiki,
#main.post section .thumb-area .category-news {
    margin-left: 12px;
    line-height: 1;
}

#main.post .postLink h2 {
    border-top: none;
}

#main.post .postLink h2::after {
    display: none;
}

#main.post .postLink:hover img {
    opacity: 0.75;
}

#main.post .thumb-area li .category-database2 {
    background-color: #32b16c;
    margin: 0 0 10px 12px;
    padding: 5px 10px 4px 5px;
    text-align: center;
    border-radius: 12px;
    line-height: 1;
    font-size: 80%;
    display: inline-block;
    color: #fff;
}

#main.post .thumb-area li .category-database2 span {
    text-shadow: 0px 0px 2px #04a04b;
}

#main.post .thumb-area li .category-database2 span:before {
    content: "\25CF";
}

@media only screen and (max-width: 767px) {
    #main.post section .section-inner {
        width: auto;
        padding: 0 25px;
    }
    #main.post section .section-inner .content-thumb {
        width: 100%;
        text-align: center;
        display: block;
    }
    #main.post section .section-inner .content-summary {
        padding: 20px 0 0;
        display: block;
    }
    #main.post section .thumb-area {
        margin-left: 0;
    }
    #main.post .winning p span {
        display: block;
        margin-left: 1.7em;
    }
    #main.post .rejected p span {
        display: block;
    }
}


/* NHK選挙WEBについて */

#main.about h2 {
    letter-spacing: -0.5px;
}


/* サイトマップ */

#main.sitemap {}

#main.sitemap ul li li {
    padding-left: 20px;
    border-top: 1px solid #ccc;
}

#main.sitemap ul li a {
    background: url(../images/ico_list_arrow.png) 15px 50% no-repeat;
    background-size: 12px auto;
    padding: 15px 15px 15px 35px;
    display: block;
    color: #333;
}


/* SNS */

#content-inner .nhk-snsbtn {
    max-width: 960px;
    margin: 15px auto;
}

@media only screen and (max-width: 767px) {
    #content-inner .nhk-snsbtn {
        display: block;
        text-align: center;
    }
}


/* other */

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

.center {
    text-align: center !important;
}

.vCenter {
    vertical-align: middle !important;
}

.clear {
    clear: both !important;
}

.tagUrl {
    display: none;
}


/*高さ指定*/

@media print,
screen and (min-width: 768px) {
    .character3 li {
        height: 270px;
    }
    .character4 li {
        height: 285px;
    }
}


/*comment*/

.section-inner .comment,
.thumb-area .comment {
    font-weight: normal!important;
    display: block;
}


/*movie*/

.movie iframe {
    vertical-align: bottom;
}

@media print,
screen and (max-width: 767px) {
    .movie {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }
    .movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}


/*関連記事*/

#main.post section#related-article p {
    margin-bottom: 0;
}

#main.post section#related-article h3 {
    padding-top: 0;
}


/*メインビジュアル２カラム（区割り）*/

#main2col .content-caption h3 {
    padding-top: 0!important;
}

@media print,
screen and (min-width: 768px) {
    #main2col .image {
        float: left;
        width: 50%;
    }
    #main2col .image img {
        width: 100%;
    }
    #main2col .content-caption {
        padding-left: 20px;
        display: table-cell;
    }
}


/*関連リンク*/

#main .related-links .thumb-area {
    margin-top: 20px;
}

#main .related-links .thumb-area li {
    border: none;
    margin: 0;
    min-height: initial;
    min-height: auto;
    padding-bottom: 20px;
}

#main .related-links .thumb-area li .thumb-image {
    display: table-cell;
    vertical-align: top;
    padding-bottom: 0;
}

#main .related-links .thumb-area li .content-caption {
    display: table-cell;
    vertical-align: top;
}

#main.post .related-links .thumb-area {
    margin-left: 0;
}

#main.post .related-links .thumb-area li .content-caption h3 {
    padding-top: 0;
}

#main .related-links .thumb-area li .text-hidden {
    background: none;
}

@media print,
screen and (min-width: 768px) {
    #main .related-links .thumb-area li {
        width: 49%;
    }
    #main .related-links .thumb-area li:nth-child(even) {
        margin-left: 2%
    }
    #main .related-links .thumb-area li .thumb-image {
        width: 50%;
    }
    #main .related-links.oneRow .thumb-area li {
        width: 100%;
    }
    #main .related-links.oneRow .thumb-area li .thumb-image {
        width: 30%;
    }
}

@media print,
screen and (max-width: 767px) {
    #main .related-links .thumb-area {
        padding: 0;
    }
    #main .related-links .thumb-area li {
        width: 100%;
    }
    #main .related-links .thumb-area li .content-caption p {
        display: none;
    }
    #main .related-links .thumb-area li .thumb-image {
        width: 50%;
    }
    #main .related-links .section-inner {
        padding: 0!important;
    }
    #main .related-links.oneRow .thumb-area li .content-caption p {
        display: block;
    }
}


/*NEWアイコン*/

.newIcon {
    display: inline-block;
}

.newIcon span {
    color: #ff0000;
    font-weight: bold;
    font-size: 80%;
    padding-left: 5px;
}


/*アコーディオンボックス*/

#main.post .accordionBox h3 {
    background-color: #ffea00;
    padding: 10px 10px 10px 50px!important;
    cursor: pointer;
    margin-bottom: 2px!important;
    position: relative;
}

#main.post .accordionBox h3:before {
    position: absolute;
    left: 20px;
    content: '>';
    font-weight: bold;
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -moz-transition: all, 0.25s, linear;
    -o-transition: all, 0.25s, linear;
    -webkit-transition: all, 0.25s, linear;
    transition: all, 0.25s, linear;
}

#main.post .accordionBox h3.active:before {
    -moz-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

#main.post .accordionBox h3.active {
    margin-bottom: 0!important;
}

#main.post .accordionBox h3:hover {
    background-color: #e4d531;
}

#main.post .accordionBox p:last-child {
    margin-bottom: 0!important;
}

#main.post .accordionBox .accordionInline {
    border-right: 1px solid #ffea00;
    border-left: 1px solid #ffea00;
    border-bottom: 1px solid #ffea00;
    padding: 10px 20px;
}

@media print,
screen and (max-width: 767px) {
    #main .post.accordionBox h3 {
        font-size: 90%;
    }
}


/*当選アイコン*/

#main .winning h4 {
    margin-bottom: 1em;
}

#main .winning p:before {
    content: "\5F53";
    margin-right: 6px;
    background-color: #c42929;
    color: #fff;
    font-size: 12px;
    width: 20px;
    line-height: 1.7;
    display: inline-block;
    text-align: center;
    border-radius: 10px;
}

@media print,
screen and (min-width: 768px) {
    #main h2.togisenTitle {
        font-size: 200%;
    }
}
