@charset "UTF-8";
/*
 * style-blog.css
 * ------------------------------------------------------------
 * ブログカード形式リスト 汎用コンポーネント
 * カテゴリ別・最新記事などのカード一覧表示に利用。
 * 呼び出し側(functions.php)で、必要なテンプレートにのみ
 * enqueueすること(サイト全体には配信しない)。
 *
 * 2026.08.01 create school.b-cafe.net向けに新規作成
 *   (shunsukeoyama.com の .top-card 相当を .blog-card として
 *    汎用化・複数サイト展開を想定して切り出し)
 * 2026.08.03 add 外部要因で太字になっていた部分を調整
 * ------------------------------------------------------------
 */

.blog-card {
    margin: 1em 3% 4em;
}
.blog-card a:hover {
    text-decoration-line: none;
}
.blog-card ul {
    text-align: center;
    margin-top: 1.5em;
}
.blog-card li {
    border-bottom: solid 1px #cdcdcd;
}
.blog-card li a {
    display: block;
    width: 100%;
    height: 100%;
}
.blog-card li:nth-child(3) {
    display: none;
}
.blog-card li a:hover {
    opacity: 0.75;
}
.blog-card li:after {
    content: '';
    clear: both;
    display: block;
}
.blog-card li p.blog-card-img {
    float: left;
    width: 30%;
    margin: 0.5em 0.5em 0.5em 0;
}
.blog-card .blog-card-header-title {
    text-align: center;
    font-size: 1.2em;
    font-family: sans-serif;
    color: #333;
    padding: 10px 3% 0;
    border-bottom: solid 1px #333;
}
.blog-card .blog-card-date {
    font-size: 0.8em;
    line-height: 3em;
    text-align: left;
    margin-bottom: 0;
    font-weight: normal;/* 2026.08.03 add */
}
.blog-card .blog-card-title {
    font-size: 0.8em;
    line-height: 1.4em;
    text-align: left;
    color: #000;
    display: grid;
    margin-top: 0;
    font-weight: normal;
}
.blog-card .blog-card-more {
    margin: 2em auto;
    text-align: center;
    border: 1px solid #707070;
    width: 80%;
    max-width: 320px;
}
.blog-card .blog-card-more:hover {
    background-color: #4f96f6;
    border: 1px solid #4f96f6;
}
.blog-card .blog-card-more a {
    display: block;
    color: #333;
    text-transform: none;/* 2026.08.03 add*/
    font-weight: normal;/* 2026.08.03 add*/
}
.blog-card .blog-card-more a:hover {
    color: #fff;
}

/* このサイズから3つずつカードタイプで表示 */
@media only screen and (min-width: 769px) {
    .blog-card {
        height: 380px;
        margin: 20px 0;
    }
    .blog-card.sort-left ul {
        text-align: left;
        margin-left: 3%;
    }
    .blog-card li {
        border-bottom: none; /* SP用を打ち消し */
        display: inline-block;
        width: 30%;
        height: 250px;
        overflow: hidden;
        list-style-type: none;
        list-style-position: outside;
        margin-right: 15px;
    }
    .blog-card li:nth-child(3) {
        display: inline-block;
    }
    .blog-card li:last-child {
        margin-right: 0;
    }
    .blog-card li p.blog-card-img {
        float: none;
        width: 100%;
        margin: 0;
    }
    .blog-card p {
        margin: 0;
    }
    .blog-card .blog-card-header-title {
        text-align: left;
        font-size: 20px;
    }
    .blog-card .blog-card-date {
        padding: 0 5px;
    }
    .blog-card .blog-card-title {
        padding: 0 5px;
    }
    .blog-card .blog-card-more {
        text-align: right;
        margin: 0 auto;
        padding-right: 5%;
        border: 0;
        width: 100%;
        max-width: none;
    }
    .blog-card .blog-card-more:hover {
        background-color: #fff;
        border: none;
    }
    .blog-card .blog-card-more a,
    .blog-card .blog-card-more a:hover {
        display: inline;
        color: #4f96f6;
    }
    .blog-card .blog-card-more a:after {
        content: ' >>';
    }
}
