/*----- index -----*/
.blog-index-content {
    padding-bottom: 69px;
}
.subpage-header--blog {
    background: url(../img/blog/img_header_sp.webp) no-repeat left calc(50% + 52px) bottom 7px/237px auto,
                url(../img/blog/bg_header.webp) repeat-x left calc(50% + 112px) bottom/1000px auto;
}
.breadcrumb {
    margin-bottom: 21px;
}
.blog-index-content-inner {
    width: 90.67%;
}
.blog-index__txt {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.67;
    margin: 0 11px 21px;
}
.blog-narrow-down-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-inline: 11px;
}
.blog-category-list {
    margin-bottom: 8px;
}
.blog-year-list {
    margin-bottom: 19px;
}
.blog-narrow-down-list__items {
    width: 72px;
}
.blog-narrow-down-list__btn {
    display: block;
    width: 100%;
    border-radius: 10vh;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: .3s;
    &:hover {
        opacity: .5;
    }
}
.blog-category-list__btn {
    background: #2DA7F4;
    border: 0;
    color: #fff;
    padding-bottom: 3px;
}
.blog-year-list__btn {
    background: #fff;
    color: #2DA7F4;
    border: 1px solid #2DA7F4;
    padding-bottom: 2px;
}
.blog__list {
    display: grid;
    gap: 15px;
    margin-bottom: 43px;
    container-name: blog__list;
    container-type: inline-size;
}
.blog__list__items__link {
    display: grid;
    padding: 15px 14px 11px;
    grid-template-columns: 44.03% 52.04%;
    justify-content: space-between;
    background: #BDE3FC;
    border-radius: 8px;
    text-decoration: none;
    transition: .3s;
    &:hover {
        opacity: .5;
    }
}
.blog__list__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 8/5;
    object-fit: cover;
}
.blog__list__category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 9px;
}
.blog__list__category {
    width: fit-content;
    background: #2EA7F4;
    padding-inline: 12px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 10vh;
}
.blog__list__ttl {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}
.blog__list__txt {
    grid-area: 2/1/3/3;
    color: #000;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    display: -webkit-box;             
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    margin-block: 9px 12px;
}
.blog__list__date {
    grid-area: 3/1/4/3;
    color: #000;
    font-size: 10px;
    font-weight: 500;
    text-align: right;
}
.nav-links {
    display: flex;
    justify-content: center;
    gap: 31px;
}
.page-numbers {
    color: #707070;
    font-size: 15px;
    text-decoration: none;
    background: none;
    padding: 0;
    border: 0;
    &.current {
        color: #000;
        font-weight: 700;
    }
}
.next,.prev {
    display: block;
    width: 5px;
    height: 9px;
    position: relative;
    &::after {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border-top: 1px solid #B6AF9C;
        border-left: 1px solid #B6AF9C;
        rotate: -45deg;
        position: absolute;
        top: 100%;
    }
}
.next {
    scale: -1 1;
}

/*----- detail -----*/
.blog-article-content {
    padding-bottom: 85px;
}
.blog-article {
    margin-bottom: 26px;
}
.blog-article__header {
    margin-bottom: 12px;
}
.blog-article__header__col {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 9px;
}
.blog-article__header__category,.blog-article__header__year {
    min-width: 64px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    border-radius: 10vh;
    border: 1px solid #2DA7F4;
}
.blog-article__header__category {
    color: #fff;
    background: #2DA7F4;
}
.blog-article__header__year {
    color: #2DA7F4;
    background: #fff;
}
.blog-article__header__ttl {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.29;
    margin-bottom: 6px;
}
.blog-article__header__date {
    display: block;
    font-size: 10px;
    font-weight: 500;
}
.blog-article__content__eyecatch {
    margin-bottom: 18px;
}
.blog-article__content {
    *+* {
        margin-top: 22px;
    }
    p {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.54;
    }
}
.blog-article__btn {
    background: #2DA7F4;
    &::before {
        background: #79C9EF;
    }
}

@media(min-width:751px) {
    /*----- index -----*/
    .blog-index-content {
        padding-bottom: 84px;
    }
    .subpage-header--blog {
        background: url(../img/blog/img_header_pc.webp) no-repeat left calc(50% + 115px) bottom 12px/853px auto,
                    url(../img/blog/bg_header.webp) repeat-x center bottom/2000px auto;
    }
    .breadcrumb {
        margin-bottom: 71px;
    }
    .blog-index__txt {
        font-size: 14px;
        line-height: 1.86;
        margin: 0 4px 35px;
    }
    .blog-narrow-down-list {
        margin-inline: 4px;
    }
    .blog-category-list {
        margin-bottom: 16px;
    }
    .blog-year-list {
        margin-bottom: 38px;
    }
    .blog-narrow-down-list__items {
        width: 102px;
    }
    .blog-narrow-down-list__btn {
        font-size: 14px;
    }
    .blog-category-list__btn {
        padding-block: 1px 3px;
    }
    .blog-year-list__btn {
        padding-bottom: 2px;
    }
    .blog__list {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 37px;
        margin-bottom: 38px;
    }
    .blog__list__items__link {
        display: grid;
        height: 100%;
        padding: 19px 18px 24px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr auto;
        border-radius: 16px;
    }
    .blog__list__img {
        grid-area: 1/1/2/2;
        margin-bottom: 17px;
    }
    .blog__list__items__dtl {
        grid-area: 2/1/3/2;
    }
    .blog__list__category-list {
        gap: 8px;
        margin-bottom: 10px;
    }
    .blog__list__category {
        padding: 2px 24px;
        font-size: 14px;
    }
    .blog__list__ttl {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
    }
    .blog__list__txt {
        grid-area: 3/1/4/2;
        height: fit-content;
        font-size: 14px;
        line-height: 1.64;
        letter-spacing: .08em;
        -webkit-line-clamp: 4;
        margin-block: 15px 9px;
    }
    .blog__list__date {
        grid-area: 4/1/5/2;
        font-size: 14px;
    }
    .nav-links {
        gap: 40px;
    }
    .page-numbers {
        font-size: 20px;
        background: none;
        padding: 0;
        border: 0;
        &.current {
            font-weight: 700;
        }
    }
    .next,.prev {
        display: block;
        width: 9px;
        height: 14px;
        position: relative;
        &::after {
            width: 10px;
            height: 10px;
            border-width: 2px;
            top: 80%;
        }
    }

    /*----- detail -----*/
    .blog-article-content {
        padding-bottom: 66px;
    }
    .blog-article {
        margin-bottom: 50px;
    }
    .blog-article__header {
        margin-bottom: 30px;
    }
    .blog-article__header__col {
        gap: 10px;
        margin-bottom: 8px;
    }
    .blog-article__header__category,.blog-article__header__year {
        min-width: 102px;
        font-size: 14px;
        line-height: 1.43;
        padding-bottom: 2px;
    }
    .blog-article__header__ttl {
        font-size: 24px;
        line-height: 1.45;
        margin-bottom: 10px;
    }
    .blog-article__header__date {
        font-size: 14px;
    }
    .blog-article__content__eyecatch {
        margin-bottom: 32px;
    }
    .blog-article__content {
        *+* {
            margin-top: 28px;
        }
        p {
            font-size: 16px;
            line-height: 1.625;
        }
    }
}

@container blog__list (680px<width<832px) {
    .blog__list__category {
        font-size: 12px;
        padding-inline: 12px;
    }
}