@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 {
    min-width: 47.6%;
}
.ui-blog-img span {
    position: absolute;
    left    : 8px;
    bottom  : 8px;
}
.ui-blog-title {
    font-weight: bold;
    line-height: 1.35;
}
.blog-list__link .ui-blog-title {
    margin: 4px 0 0;
    overflow-wrap: break-word;
}
.ui-blog-update time {
    font-size: 12px;
    color    : var(--gray-text);
}
.ui-blog-category {
    display: flex; /*三点リーダー付与するため*/
}
    .ui-category {
        padding: 1px 6px;
        color    : var(--gray-text);
        font-size: 12px;
        background-color: var(--bg-light-gray);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .blog-slider__bottom .ui-category {
        color: #fff;
        background-color: var(--dark-color);
    }




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

.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);
    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    : var(--gray-text);
    }
    .blog__tags {
        margin: 10px 8px 0 0;
    }
.blog-top-link {
    margin-block: 14px 0;
    font-size: 13px;
    text-align: center;
}
.blog__article .ui-fit-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background-color: var(--bg-light-gray);
}

/* 筆者プロフィール
--------------------------- */
.author-profile {
    margin: 0 0 24px 0;
    padding: 10px;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: var(--box-shadow);
}
    .author-profile__contents {
        margin-bottom: 6px;
        display: flex;
        align-items: center;
    }
        .author-profile__img {
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 100vw;
            overflow: hidden;
            border: 1px solid var(--border-color);
        }
            .author-profile__img img {
                width: 100%;
            }
        .author-profile__detail {
            margin-left: 10px;
        }
            .author-profile__label {
                padding: 1px 5px 0px;
                font-size: 13px;
                background-color: var(--bg-light-gray);
            }
            .author-profile__career {
                margin-top: 3px;
                color: var(--gray-text);
                font-size: 13px;
            }

/* 記事内
--------------------------- */
.blog__contents p {
    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;
}
.clearfix {
    display: block;
}
.clearfix:after {
    content: url(/images/clearfix.gif);
    display: block;
    clear: both;
    height: 0;
}
.blog__contents a {
    color: #07519A;
}

/* 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: flex;
    gap: 20px 16px;
    flex-wrap: wrap;
    margin-block: 0 14px;
}
    .blog-list__panel {
        width: calc(50% - 8px);
    }
.blog__contents h2:not(:first-child),
.blog__contents h3:not(:first-child){
    margin-top: 40px;
}
.select-category {
    display: flex;
    justify-content: flex-end;
    margin-bottom: -5px;
}
#selectCategoryForm {
    position: relative;
    right: 0;
    top: -25px;
}
select.ui-right {
    appearance: none;
    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: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
}
.ui-select {
    position: relative;
}

/* タグリスト
--------------------------- */
.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;
}
