@charset "utf-8";

.press {
    position: relative;
}
.press_list {
    margin-inline: auto;
}
.press_item_link {
    position: relative;
    display: block;
    color:#fff;
    text-decoration: none;
}
.press_item_set {
    display: flex;
}
.press_item_set_thumb_wrap {
    position:relative;
    overflow: hidden;
}
.press_item_set_detail_wrap {
    display: flex;
    align-items: center;
}
.view_more {
    position: absolute;
    bottom: 0;
    right: 0;
    color: #FFF;
    font-weight: 500;
}
.view_more::before {
    content:"";
    display: inline-block;
    width: 1em;
    height:1em;
    margin-right: 1em;
    background: url(../images/icon_view_more.svg) no-repeat 50% 50% / contain;
}
.press_item_set_detail_box {
    font-weight: 500;
}
.press_item_set_detail_box_date {
    color:  #6C6C6C;
}
.press_item_set_detail_box_ttl {
    color: #FFF;
}
.press_item_set_detail_box_txt {
    color: #FFF;
}
@media (min-width: 769px) {
    .press {
        padding: 30px 30px 0px;
    }
    .press_list {
        margin-top: 120px;
        max-width: 1200px;
    }
    .press_list > li + li {
        margin-top: 120px;
    }
    .press_item_set {
        /* 23px→80px */
        gap: clamp(23px,  calc(23px + (80 - 23) * ((100vw - 769px) / (1440 - 769))), 80px);
    }
    .press_item_set_thumb {
        /* 423px→600px */
        width: clamp(423px,calc(423px + (600 - 423) * ((100vw - 769px) / (1440 - 769))),600px);
    }
    .press_item_set_detail_wrap {
        flex: 1;
        padding-bottom: 30px;
    }
    .view_more {
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0.3em;
    }
    .press_item_set_detail_box_date {
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .press_item_set_detail_box_ttl {
        font-size: 16px;
        line-height: 3;
        letter-spacing: 0.1em;
        margin-top: 8px;
    }
    .press_item_set_detail_box_txt {
        font-size: 14px;
        line-height: 3;
        letter-spacing: 0.1em;
        margin-top: 8px;
    }
    @media(hover: hover){
        .press_item_set_thumb_wrap {
            position: relative;
        }
        .press_item_set_thumb_wrap::after {
            content:"";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            background:rgba(0,0,0,0.4);
            transition: opacity 0.8s;
        }
        .press_item_link:hover .press_item_set_thumb_wrap::after {
            opacity: 0;
        }
    }
}
@media (max-width: 768px) {
    .press {
        padding: 30rem 30rem 80rem;
    }
    .press_list {
        margin-top: 80rem;
    }
    .press_list > li + li {
        margin-top: 80rem;
    }
    .press_item_set {
        flex-direction: column;
        gap: 38rem;
    }
    .press_item_set_thumb {
        width: 100%;
    }
    .press_item_set_detail_wrap {
        padding-bottom: 40rem;
    }
    .view_more {
        font-size: 10rem;
        line-height: 1;
        letter-spacing: 0.3em;
    }
    .press_item_set_detail_box_date {
        font-size: 10rem;
        line-height: 1;
        letter-spacing: 0.1em;
    }
    .press_item_set_detail_box_ttl {
        font-size: 14rem;
        line-height: 3;
        letter-spacing: 0.1em;
        margin-top: 9rem;
    }
    .press_item_set_detail_box_txt {
        font-size: 12rem;
        line-height: 3;
        letter-spacing: 0.1em;
        margin-top: 8rem;
    }
}

/* animation */
.animation_ready .press_list > li .press_item_set_thumb {
    transition: scale 1.6s;
}
.animation_loaded .press_list > li.is_animated .press_item_set_thumb {
    scale: 1;
}
.animation_ready .press_list > li .press_item_set_detail_wrap,
.animation_ready .press_list > li .view_more {
    opacity: 0;
    filter: blur(10px);
    transition: opacity 1.6s, filter 1.6s;
}
.animation_loaded .press_list > li.is_animated .press_item_set_detail_wrap,
.animation_loaded .press_list > li.is_animated .view_more {
    opacity: 1;
    filter: blur(0px);
}
@media (min-width: 769px) {
    .animation_ready .press_list > li .press_item_set_thumb {
        scale: 1.05;
    }
}
@media (max-width: 768px) {
    .animation_ready .press_list > li .press_item_set_thumb {
        scale: 1.1;
    }
}

