/* カスタムプロパティ */
:root {
    --color-01: #ffc440;
}

/* レイアウト変更に伴う上書き */
.news_list.blog_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    gap: 1em;
}

.news_list.blog_list li {
    width: calc((100% - 1em * 2) / 3);
}

.news_list.blog_list li a {
    display: block;
    padding-top: 0 !important;
    padding-right: 0 !important;
}

.news_list.blog_list .news_item .news_ttl {
    width: 100%;
    margin-top: 1em;
    padding: 0 60px 0 0;

    line-clamp: 2;
    -webkit-line-clamp: 2;
}

@media (max-width: 599px) {
    .news_list.blog_list li {
        width: 100%;
    }

    .news_list.blog_list li+li {
        margin-top: 1em;
    }
}

/* サムネイル画像追加に伴う上書き */
.thumbnail-wrap .thumbnail {
    width: 100%;
    display: block;
    position: relative;
}

.thumbnail-wrap .thumbnail::after {
    content: "";
    display: block;
    padding-top: 70%;
}

.thumbnail-wrap .thumbnail img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.thumbnail-wrap .date {
    padding: 0.25em 1em;
    color: var(--color-01) !important;
    line-height: 1.2 !important;
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.cnt_box .news_list.blog_list .news_item a::before,
.cnt_box .news_list.blog_list .news_item a::after {
    bottom: 1.5em !important;
}

/* トップページ用 */
main.contents .contents_in {
    padding: 3em 0;
}

.title_ptn02 {
    color: white;
}

.cnt_box {
    padding: 80px 20px;
    border-radius: 10px;
    background: #fff;
}

.news_list .news_item a::before {
    content: "";
    width: 17px;
    height: 17px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1.5px solid #f6c65b;
    border-radius: 50%;
    position: absolute;
    bottom: 11px;
    right: 0;
}

.news_list .news_item a::after {
    content: "";
    width: 29.5px;
    height: 1.5px;
    display: block;
    border-radius: 5px;
    background: #f6c65b;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: absolute;
    bottom: 19px;
    right: 8px;
}

.news_list .news_item .news_ttl {
    padding: 1em;
}

.cnt_box .news_list .news_item a::before,
.cnt_box .news_list .news_item a::after {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    bottom: 50%;
}

.cnt_box .news_list .news_item a::before {
    -webkit-transform: translate(0, 40%);
    transform: translate(0, 40%);
}

/* ページネーション */
.pager {
    width: 100%;
    display: block;
    margin: 80px 0;
}

.pager-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 0;
}

.pager-list.-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.pager-list.-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.pager-list li {
    width: 2.5em;
    height: 2.5em;
    margin: 0 0.5em;
}

.pager-list li a,
.pager-list li .now {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.25em;
    font-size: 1em;
    color: white;
    line-height: 1;
    border: 2px solid var(--color-01);
    border-radius: 0.1em;
    background-color: var(--color-01);
    position: relative;
}

.pager-list li a a:hover,
.pager-list li .now a:hover {
    color: var(--color-text_01);
    background-color: white;
    opacity: 1;
}

.pager-list li a:focus,
.pager-list li .now:focus {
    outline: none;
}

.pager-list li a:hover,
.pager-list li .now {
    color: var(--color-01);
    border: 2px solid var(--color-01);
    background-color: white;
    opacity: 1;
}

.pager-list .arrow a::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-top: 2px solid white;
    border-right: 2px solid white;
}

.pager-list .arrow a:hover {
    color: white;
}

.pager-list .arrow a:hover::before {
    border-top: 2px solid var(--color-01);
    border-right: 2px solid var(--color-01);
}

.pager-list .arrow.-prev a::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.pager-list .arrow.-next a::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pager.-circle-list li a,
.pager.-circle-list li .now {
    border-radius: 100%;
}

.pager.-deformation-list li a,
.pager.-deformation-list li .now {
    border-radius: 0.5em 0;
}

@media (max-width: 1024px) {
    .pager-list.-left\@tb {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .pager-list.-right\@tb {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .pager-list li {
        margin: 0 0.25em;
    }
}

@media (max-width: 599px) {
    .pager-list.-left\@sp {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .pager-list.-right\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

/* 見たまま編集 */
[data-element-id] .news_list.blog_list>div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    gap: 1em;
}
