body.category-column .page-child .fv__kage {
    position: absolute;
    top: -100px;
    right: -15px;
    z-index: 2;
}

body.category-column .fv__kage img {
    border-radius: 0 20px 0 0;
    max-width: 350px;
}

body.category-column .page-child .section {
    padding-top: 100px;
}

/* =========================
   コラム
========================= */

body.category-column .column {
    margin: 0 15px 50px;
    position: relative;
}

body.category-column .column__inner {
    margin: 0 auto;
    padding: 0 0 28px;
}

/* style.css に勝たせる */
body.category-column .section-title {
    margin: 0 0 50px;
    position: relative;
}

body.category-column .column__head .arrow-link {
    margin-top: 18px;
}

body.category-column .column__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

body.category-column .column__card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    padding: 9px;
    text-decoration: none;
    color: inherit;
}

/* =========================
   ★カードの大きさをページ1/2で揃える（ここが本体）
   img じゃなく「枠」で比率固定する
========================= */

body.category-column .column__thumb {
    width: 100%;
    aspect-ratio: 8 / 9;
    overflow: hidden;
    margin-bottom: 16px;
}

body.category-column .column__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 旧：img に aspect-ratio を当てるのは不安定なので削除 */
/*
body.category-column .column__card img {
    width: 100%;
    aspect-ratio: 8 / 9;
    object-fit: cover;
    margin-bottom: 16px;
}
*/

body.category-column .column__card time {
    font-size: 12px;
    margin-bottom: 10px;
    display: block;
}

body.category-column .column__card p {
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 25px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.category-column .column__card .arrow-link {
    border: none;
    left: 155px;
}

body.category-column .column__arrow {
    position: absolute;
    right: 0px;
    bottom: 15px;
}

body.category-column .column__card .arrow-link::after {
    background-color: #4B452C;
}

body.category-column .column__card .arrow-link::before {
    border-top: 1px solid #4B452C;
    border-right: 1px solid #4B452C;
}

/* =========================
   ページネーション
========================= */

body.category-column .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 80px;
}

body.category-column .page-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #8A9B6E;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #8A9B6E;
    font-size: 16px;
    transition: 0.3s;
    position: relative;
}

body.category-column .page-btn.is-current {
    background: #8A9B6E;
    color: #fff;
}

body.category-column .page-next::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #8A9B6E;
    border-right: 1px solid #8A9B6E;
    transform: translate(-20%, 0%) rotate(45deg);
    position: absolute;
}

body.category-column .page-prev::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #8A9B6E;
    border-left: 1px solid #8A9B6E;
    transform: translate(20%, 0%) rotate(-45deg);
    position: absolute;
}

/* =========================
   PC
========================= */

@media (min-width: 1301px) {

    body.category-column .sp-menu-btn,
    body.category-column .sp-nav,
    body.category-column .sp-cv {
        display: none;
    }
}

/* =========================
   SP
========================= */

@media (max-width: 1300px) {

    body.category-column .pc-nav,
    body.category-column .nav__wrapper,
    body.category-column .fv__cta {
        display: none;
    }

    body.category-column {
        padding-bottom: 64px;
    }

    /* ★top/left を効かせるために position を追加 */
    body.category-column .header {
        position: fixed;
        top: 20px;
        left: 20px;
        z-index: 3002;
    }

    body.category-column .logo {
        transform: none;
    }

    body.category-column .logo__text p {
        font-size: 10px;
        margin-top: 18px;
    }

    body.category-column .logo-open {
        display: none;
    }
}

@media (max-width: 528px) {

    body.category-column .section {
        width: 100%;
        margin: 0 auto;
    }

    body.category-column .column__list {
        gap: 10px;
        margin-bottom: 30px;
    }

    body.category-column .column__card .arrow-link {
        left: 0;
    }

    body.category-column .column__arrow {
        margin: 0 0 0 160px;
        padding: 0;
    }
}