html {
    width: 100%;
    min-height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    width: 100%;
    -webkit-text-size-adjust: 100%;
    color: rgb(0,0,0);
    color: rgba(0,0,0,0.8);
    font-family: "メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: 300;
}

h1, h2, h3, h4, h5, li, ol, ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

a:hover, a:link, a:visited {
    color: rgb(0,0,0);
    color: rgba(0,0,0,0.9);
    text-decoration: none;
    outline: none;
}

img.fit {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: cover; object-position: center center;";
}

img.fit2 {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: contain; object-position: center center;";
}

#article .owner-name {
    font-size: 0.9rem;
}
#article .owner-name a {
    color: #1d3994;
}
#article .owner-name a:hover {
    text-decoration: underline;
}

.ht90 {
    height: 90px;
}
.ht100 {
    height: 100px;
}
.ht250 {
    height: 250px;
}
.ht280 {
    height: 280px;
}

/*------------------------------------------
    ランキング
------------------------------------------*/
.ranking-photo {
    position: relative;
}

.ranking-photo div.rank {
    position: absolute;
    color: #fff;
    top: 2px;
    left: 2px;
    background-color: dimgray;
    opacity: 0.9;
    height: 20px;
    width: 24px;
    border: 1px solid #fff;
    border-radius: 25%;
    text-align: center;
    font-weight: bold;
    font-size: 0.8rem;
}

/*------------------------------------------
    ページネーション
------------------------------------------*/
.list-pagination {
    padding-top: 30px;
}
.list-pagination ul {
    text-align: center;
}
.list-pagination ul li {
    display: inline-block;
    margin: 0 3px;
    font-size: 14px;
    text-align: center;
}

.list-pagination ul li a {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    width: 50px;
    padding: 5px;
    margin-bottom: 6px;
    border: 1px solid #1d3994;
    -webkit-border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px;
    border-radius: 3px 3px 3px 3px;
    text-decoration: none;
    color: #1d3994;
}

.list-pagination ul li.now a {
    pointer-events: none;
    background: #1d3994;
    color: #fff;
}

.list-pagination ul li.navi a {
    width: 50px;
}

.list-pagination ul li.skipdot {
    margin-left: 10px;
    margin-right: 10px;
}

/*------------------------------------------
    表示制御
------------------------------------------*/
@media only screen and (min-width: 768px) {
    .disp-sp-only {
        display: none !important;
    }
}

@media only screen and (max-width: 575.98px) {
    .disp-sm {
        display: none !important;
    }
}

@media only screen and (max-width: 767.98px) {
    .disp-md {
        display: none !important;
    }
}

@media only screen and (max-width: 991.98px) {
    .disp-lg {
        display: none !important;
    }
}

@media only screen and (max-width: 1036px) {
    .disp-1036 {
        display: none !important;
    }
}

/*------------------------------------------
    広告表示設定
------------------------------------------*/
.ad-rectangle {
    width: 280px;
    height: 234px;
}
@media only screen and (min-width: 336px) {
    .ad-rectangle {
        width: 300px;
        height: 250px;
    }
}
@media only screen and (min-width: 366px) {
    .ad-rectangle {
        width: 336px;
        height: 280px;
    }
}

.ad-rectangle-sp {
    width: 280px;
    height: 234px;
}
@media only screen and (min-width: 300px) {
    .ad-rectangle-sp {
        width: 300px;
        height: 250px;
    }
}
@media only screen and (min-width: 336px) {
    .ad-rectangle-sp {
        width: 336px;
        height: 280px;
    }
}

.ad-header-sp {
    width: 320px;
    height: 100px;
}

/*------------------------------------------
    ガイドページ
------------------------------------------*/
#guide-title {
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #000;
    font-size: 2em;
}

#guide-body h3 {
    margin: 20px 0;
    font-size: 1.6em;
}

#guide-body ul {
    margin: 20px 0;
}

#guide-body ul li {
    margin: 5px 0;
}

#guide-body a {
    color: #1d3994;
}
#guide-body a:hover {
    text-decoration: underline;
}

/* メニュー */
#guide-menu li {
    margin:5px 0;
    border: none;
}

#guide-menu a.list-group-item {
    border: #1d3994 solid 1px;
}

#guide-menu a {
    transition:none;
    color: #1d3994;
}

#guide-menu a:hover {
    background-color: #f5f5f5;
}

#guide-menu a.active {
    background-color: #1d3994;
    color: #fff;
}

/* パンくず */
#guide-breadcrumb {
    margin: 10px 0 20px;
    background-color: #fff;
}

#guide-breadcrumb a {
    color: #1d3994;
}

/*------------------------------------------
    404
------------------------------------------*/
div.notfound {
    margin: 100px 0;
    text-align: center;
}

div.notfound h2 {
    margin-bottom: 20px;
}

div.notfound p {
    font-size: 1.2em;
    margin-bottom: 20px;
}

div.notfound a {
    color: #1d3994;
    text-decoration: underline;
}

div.notfound a:hover {
    color: #1d3994;
    text-decoration: none;
}

@media only screen and (max-width: 767.98px) {
    div.notfound {
        padding: 50px 0;
        margin: 0;
    }
    div.notfound h2 {
        font-size: 1.8rem;
    }
}


.font-color-default {
    color: #1d3994 !important;
}
.font-color-red {
    color: #E93940 !important;
}
.font-color-pink {
    color: #FA7DB5 !important;
}
.font-color-green {
    color: #1B7150 !important;
}
.font-color-blue {
    color: #1291D0 !important;
}
.font-color-orange {
    color: #F79440 !important;
}
.font-color-black {
    color: #505050 !important;
}

.bg-color-default {
    background-color: #1d3994 !important;
    color: #fff;
}
.bg-color-red {
    background-color: #E93940 !important;
    color: #fff;
}
.bg-color-pink {
    background-color: #FA7DB5 !important;
    color: #fff;
}
.bg-color-green {
    background-color: #1B7150 !important;
    color: #fff;
}
.bg-color-blue {
    background-color: #1291D0 !important;
    color: #fff;
}
.bg-color-orange {
    background-color: #F79440 !important;
    color: #fff;
}
.bg-color-black {
    background-color: #505050 !important;
    color: #fff;
}

.border-color-default {
    border-color: #1d3994 !important;
}
.border-color-red {
    border-color: #E93940 !important;
}
.border-color-pink {
    border-color: #FA7DB5 !important;
}
.border-color-green {
    border-color: #1B7150 !important;
}
.border-color-blue {
    border-color: #1291D0 !important;
}
.border-color-orange {
    border-color: #F79440 !important;
}
.border-color-black {
    border-color: #505050 !important;
}