@charset "utf-8";

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

.l-blog--detail {
    margin: -5.333vw 0 0;
}
.blog__article {
    padding: 0 5.333vw 25.6vw;
}

/*-------------------------------------------------------------------------
UI
-------------------------------------------------------------------------*/
.ui-title--left,
.ui-title--center {
    margin: 0 0 8vw;
}
.ui-blog-img {
    height: auto;
    aspect-ratio: 16 / 10;
    position: relative;
}
.blog-next .ui-blog-img {
    min-width: 47.6%;
    height: 24vw;
}
.ui-blog-img span {
    position: absolute;
    left    : 2.133vw;
    bottom  : 2.133vw;
}
.ui-blog-title {
    font-weight: bold;
    line-height: 1.35;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.blog-list__link .ui-blog-title {
    margin: 1.067vw 0 0;
    overflow-wrap: break-word;
}
.ui-blog-update {
    margin: 0 0 1.067vw;
    text-align: left;
}
.ui-blog-update time {
    font-size: 3.2vw;
    color    : var(--color-primary-grayscale-black);
}
.ui-blog-category {
    display: flex; /*三点リーダー付与するため*/
}
    .org-main .ui-category {
        padding: 0.267vw 1.6vw;
        color    : var(--color-primary-grayscale-white);
        font-size: 3.2vw;
        background-color: var(--color-primary-grayscale-black);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .blog-slider__bottom .ui-category {
        color: #fff;
        background-color: var(--color-primary-grayscale-black);
    }




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

.blog-slider {
    margin-block: 0 6.4vw;
}
    .blog-slider__items {
        height: auto;
        aspect-ratio: 16 / 10;
        position: relative;
    }
        .blog-slider__time {
            position: absolute;
            top     : 1.6vw;
            right   : 1.6vw;
        }
            .blog-slider__time time {
                font-size: 3.2vw;
            }
        .blog-slider__bottom {
            padding: 2.667vw;
            position: absolute;
            bottom  : 0;
            left    : 0;
            width: 100%;
        }
            .blog-slider__title {
                margin: 1.6vw 0 0;
                text-align: justify;
                word-break: break-all;
            }
                .blog-slider__title span {
                    display: block;
                    background: linear-gradient(transparent 0, #fff 0);
                    font-size  : 4.267vw;
                    font-weight: bold;
                    line-height: calc(1em + 8px);
                    padding: 0.533vw 7px 0.533vw;
                }
.l-blog--result .ui-title--left,
.l-blog--result .ui-title--center {
    font-size: var(--size-L);
    margin-bottom: 5.333vw;
}
.l-blog--result .recommend-blog-title {
    margin-bottom: 2.667vw;
}
.recommend-tagCategory-section .ui-title--center {
    font-size: var(--size-M);
    margin-bottom: 2.667vw;
}
.blog-category {
    display        : flex;
    gap            : 1.6vw;
    flex-wrap      : wrap;
    justify-content: center;
}
    .blog-category__link {
        padding: 0 3.2vw;
    }

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

.blog__mv {
    width: calc(100% + 10.667vw);
    height: 66vw;
    margin: 0 0 2.667vw -5.333vw;
}
.org-main .blog__headline {
    margin: 5.333vw 0 1.067vw;
    font-size  : 6.4vw;
    font-weight: bold;
    line-height: 1.25;
}
.blog__note {
    margin: 0 0 8.533vw;
}
    .blog__note .blog__info {
        display    : flex;
        gap        : 2.133vw;
        align-items: center;
    }
    .blog__note time {
        font-size: 3.2vw;
        color    : var(--gray-text);
    }
    .blog__tags {
        margin: 2.667vw 2.133vw 0 0;
    }
.blog-top-link {
    margin-block: 3.733vw 0;
    font-size: 3.467vw;
    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 6.4vw 0;
    padding: 2.667vw;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: var(--box-shadow);
}
    .author-profile__contents {
        margin-bottom: 1.6vw;
        display: flex;
        align-items: center;
    }
        .author-profile__img {
            width: 16vw;
            height: 16vw;
            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: 2.667vw;
        }
            .author-profile__label {
                padding: 0.267vw 1.333vw 0vw;
                font-size: 3.467vw;
                background-color: var(--bg-light-gray);
            }
            .author-profile__career {
                margin-top: 0.8vw;
                color: var(--gray-text);
                font-size: 3.467vw;
            }

/* 記事内
--------------------------- */
.blog__contents p {
    text-align: justify;
    word-break: break-all;
}
.blog__contents h2 {
    margin-bottom: 4.267vw;
    font-size  : 5.333vw;
    font-weight: bold;
}
.blog__contents p + h2 {
    margin-top: 12.8vw;
}
.blog__contents h3 {
    border-left: 3px solid #455A64;
    margin-bottom: 4.267vw;
    padding: 0 0 0 2.667vw;
    font-size  : 4.8vw;
    font-weight: bold;
    color      : #455A64;
}
.blog__contents p + h3 {
    margin-top: 10.667vw;
}
.clearfix {
    display: block;
}
.clearfix:after {
    content: url(/images/clearfix.gif);
    display: block;
    clear: both;
    height: 0;
}
.blog__contents a {
    color: #07519A;
}

/* NEXT
--------------------------- */
.org-main .blog__ttl {
    margin: 0 0 1.067vw;
    font-size  : 4.267vw;
    font-weight: bold;
    text-align: center;
}
.blog-next {
    display    : flex;
    gap        : 3.467vw;
    align-items: center;
}
    .blog-next__ttl {
        overflow          : hidden;
        display           : -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

/* 一覧
--------------------------- */
.blog-list {
    display: flex;
    gap: 5.333vw 4.267vw;
    flex-wrap: wrap;
    margin-block: 4vw 5.333vw;
}
    .blog-list__panel {
        width: calc(50% - 2.133vw);
    }
.blog__contents h2:not(:first-child),
.blog__contents h3:not(:first-child){
    margin-top: 10.667vw;
}
.select-category {
    display: flex;
    justify-content: flex-end;
}
#selectCategoryForm {
    position: relative;
    right: 0;
    top: 0;
}
select.ui-right {
    appearance: none;
    right: 0;
    top: 0;
    max-width: 53.333vw;
    height: 9.6vw;
    border: 1px solid var(--color-primary-grayscale-border-2);
    border-radius: 4px;
    padding: 0 6.667vw 0 2.667vw;
}
svg.select-arrow {
    width: 1.867vw;
    height: 1.867vw;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2.667vw;
    margin: auto;
}
.ui-select {
    position: relative;
}

/* タグリスト
--------------------------- */
.recommend-tagCategory-section {
    margin: 12.8vw 5.333vw;
}
.md-category {
    display        : flex;
    gap            : 2.133vw 1.6vw;
    align-items    : center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 8vw 0;
}
.md-category__items {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: 8vw;
    border-radius: 60px;
    border: 1px solid var(--color-primary-grayscale-border-light);
    padding: 0 3.467vw 0 3.2vw;
    font-size: 3.2vw;
    font-weight: 500;
    line-height: 1;
}

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

.recommend-blog-title {
    font-size: 4.8vw;
    margin-bottom: 0;
}