@charset "utf-8";

/*-------------------------------------------------------------------------
LAYOUT
-------------------------------------------------------------------------*/

.l-blog--detail {
    margin: -20px 0 0;
}
.blog__article {
    padding: 0 20px 96px;
}

/*-------------------------------------------------------------------------
UI
-------------------------------------------------------------------------*/
.ui-title--left {
    margin: 0 0 30px;
}
.ui-blog-img {
    height: 24vw;
    position: relative;
}
.blog-next .ui-blog-img {
    width: 47.6%;
}
.ui-blog-img span {
    position: absolute;
    left    : 8px;
    bottom  : 8px;
}
.ui-category {
    background-color: #263238e6;
    padding: 4px;
    font-size: 12px;
    color    : #fff;
    line-height: 1;
}
.ui-blog-title {
    font-weight: bold;
    line-height: 1.35;
}
.blog-list__link .ui-blog-title {
    margin: 4px 0 0;
}
.ui-blog-update time {
    font-size: 12px;
    color    : #78909C;
}

/*-------------------------------------------------------------------------
一覧
-------------------------------------------------------------------------*/

.blog-slider {
    margin-block: 0 24px;
}
    .blog-slider__items {
        border-radius: 8px;
        height: 50vw;
        position: relative;
    }
        .blog-slider__time {
            position: absolute;
            top     : 6px;
            right   : 6px;
        }
            .blog-slider__time time {
                font-size: 12px;
            }
        .blog-slider__bottom {
            padding: 10px;
            position: absolute;
            bottom  : 0;
            left    : 0;
            width: 100%;
        }
            .blog-slider__title {
                margin: 6px 0 0;
                text-align: justify;
                word-break: break-all;
            }
                .blog-slider__title span {
                    background: linear-gradient(transparent 0, #fff 0);
                    font-size  : 16px;
                    font-weight: bold;
                    line-height: calc(1em + 8px);
                    padding: 2px 4px 2px 0;
                }
.blog-category {
    display        : flex;
    gap            : 6px;
    flex-wrap      : wrap;
    justify-content: center;
}
    .blog-category__link {
        padding: 0 12px;
    }

/*-------------------------------------------------------------------------
ARTCILE
-------------------------------------------------------------------------*/

.blog__mv {
    width: calc(100% + 40px);
    max-height: 66vw;
    margin: 0 0 10px -20px;
}
.blog__headline {
    margin: 20px 0 4px;
    font-size  : 24px;
    font-weight: bold;
    line-height: 1.25;
}
.blog__note {
    margin: 0 0 32px;
}
    .blog__note .blog__info {
        display    : flex;
        gap        : 8px;
        align-items: center;
    }
    .blog__note time {
        font-size: 12px;
        color    : #78909C;
    }
    .blog__tags {
        margin: 10px 8px 0 0;
    }
.blog-top-link {
    margin-block: 14px 0;
    font-size: 13px;
    text-align: center;
}

/* 記事内
--------------------------- */
.blog__contents p {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.87;
    text-align: justify;
    word-break: break-all;
}
.blog__contents h2 {
    margin-bottom: 16px;
    font-size  : 20px;
    font-weight: bold;
}
.blog__contents p + h2 {
    margin-top: 48px;
}
.blog__contents h3 {
    border-left: 3px solid #455A64;    
    margin-bottom: 16px;
    padding: 0 0 0 10px;
    font-size  : 18px;
    font-weight: bold;
    color      : #455A64;
}
.blog__contents p + h3 {
    margin-top: 40px;
}

/* NEXT
--------------------------- */
.blog__ttl {
    margin: 0 0 4px;
    font-size  : 16px;
    font-weight: bold;
    text-align: center;
}
.blog-next {
    display    : flex;
    gap        : 13px;
    align-items: center;
}
    .blog-next__ttl {
        overflow          : hidden;
        display           : -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

/* 一覧
--------------------------- */
.blog-list {
    display              : grid;
    gap                  : 20px 16px;
    grid-template-columns: 1fr 1fr;
    margin-block: 0 14px;
}
.blog__contents h2:not(:first-child),
.blog__contents h3:not(:first-child){
    margin-top: 40px;
}
.select-category {
    height: 24px;
}
#selectCategoryForm {
    position: relative;
    right: 0;
    top: -25px;
}
select.ui-right {
    appearance: none;
    position: absolute;
    right: 0;
    top: 0;
    max-width: 200px;
    height: 36px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 0 25px 0 10px;
}
svg.select-arrow {
    width: 7px;
    height: 7px;
    position: absolute;
    top: 16px;
    bottom: 0;
    right: 10px;
    margin: auto;
}

/* タグリスト
--------------------------- */
.recommend-tagCategory-section {
    margin: 48px 20px;
}
.md-category {
    display        : flex;
    gap            : 6px;
    align-items    : center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 30px 0;
}
.md-category__items {
    padding: 7px 12px 5px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-size: 13px;
}

/* 埋め込み記事
--------------------------- */
div:has(p.history_blog-img) {
    display: block !important;
}
.history_blog-img img {
    max-width: unset;
}
