.pattern_text {
    background-color: #f5f4f3;
    padding: 20px 0;
    border-top: #00000022 1px dashed;
}

/* Heading ------------------------------------------------ */
.pattern_text h2 {
    color: #e72322;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 4.125rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    margin: 0;
}

/* Slider Wrapper (Slick) --------------------------------- */
.pattern_text__slider {
    margin-top: 32px;
}

/* Individual slide card */
.pattern_text__slide {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
    overflow: hidden;
    display: flex;
    margin: 0 8px;
}

/* Clickable item link */
.pattern_text__item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #222;
}

/* Multiple thumbs layout --------------------------------- */
.pattern_text__thumbs {
    display: flex;
    gap: 4px;
    width: 100%;
}

/* Thumbnail area (default single) */
.pattern_text__thumb {
    width: 50%;
    aspect-ratio: 9/13;
    object-fit: cover;
}


/* Non-initialized (pre-slick) layout --------------------- */
.pattern_text__slider:not(.slick-initialized) {
    display: flex;
    gap: 24px;
}
.pattern_text__slider:not(.slick-initialized) .pattern_text__slide {
    flex: 1 1 calc(33.333% - 16px);
}

/* Text content ------------------------------------------- */
.pattern_text__itemTitle {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0.5rem;
    text-align: right;
    background-color: #3F3B3A;
    color: white;
}

/* Placeholder slide (when not enough posts) -------------- */
.pattern_text__slide--empty {
    justify-content: center;
    align-items: center;
    min-height: 180px;
}

.pattern_text__more {
    display: block;
    margin: 3rem 0;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: 0.4rem;
    color: #222;
    position: relative;
}

/* くの字形（＞風）矢印を末尾に */
.pattern_text__more::after {
    content: '';
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    margin-left: 0.3em;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    vertical-align: middle;
    transition: transform .25s;
}

.pattern_text__more:hover::after,
.pattern_text__more:focus::after {
    transform: rotate(45deg) translate(2px,-2px);
}

/* ========================= Responsive =================== */
@media (max-width: 1024px) {
    .pattern_text__slider:not(.slick-initialized) .pattern_text__slide {
        flex: 1 1 calc(50% - 12px);
    }
}

@media (max-width: 767px) {
    .pattern_text__slider:not(.slick-initialized) .pattern_text__slide {
        flex: 1 1 100%;
    }
}

@media (max-width: 768px) {
    .pattern_text h2 {
        font-size: 2.2rem; /* 36px */
        line-height: 1.2;
    }
    .pattern_text__itemTitle {
        font-size: 16px;
    }
}
