@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : story.css
Description :
===================================================================== */

/* =====================================================================
*    story
* =================================================================== */
.story {
}

.story_date_txt {
    width: calc(400 / 630 * 100%);
    margin: calc(90 / 630 * 100%) auto 0;
    padding: 0.92em 0;
    background-color: #000;
    color: #ffeb0d;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
}

.story_date_box {
    padding: 0 0 calc(150 / 630 * 100%);
}

.story_date_box::before {
    content: "";
    display: block;
    width: calc(750 / 630 * 100%);
    height: 100%;
    margin: calc(162 / 630 * 100%) 0 0 calc(-60 / 630 * 100%);
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
}

.story .story_txt {
    padding: calc(38 / 630 * 100%) 0 0;
    font-size: 2.8rem;
    line-height: 1.714;
}

.story .story_txt p:not(:last-child) {
    margin: 0 0 1.8em;
}

.story_date_list {
    margin: calc(70 / 630 * 100%) 0 0;
}

.story_date_list li:not(:last-child) {
    margin: 0 0 calc(20 / 630 * 100%);
}

.story .story_box_photo {
    margin: 0;
}

.story_date_list li:nth-child(even) .story_box_photo::before {
    display: none;
}

.story_date_list li:nth-child(4n-3) .story_box_photo::before {
    right: auto;
    left: 0;
    margin: calc(127 / 630 * 100%) 0 0 calc(-20 / 630 * 100%);
}

@media screen and (min-width: 768px) {
    .story::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        position: absolute;
        top: 0;
        left: 0;
        margin: calc(720 / 1280 * 100%) 0 0;
    }
    
    .story .inner {
        z-index: 2;
    }
    
    .story_date_txt {
        width: calc(385 / 980 * 100%);
        margin: calc(50 / 980 * 100%) auto 0;
        padding: 1.12em 0;
        font-size: 1.6rem;
    }
    
    .story_date_box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding: 0 0 calc(90 / 980 * 100%);
    }
    
    .story_date_box::before {
        display: none;
    }
    
    .story_date_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: calc(20 / 980 * 100%) 0 0;
    }
    
    .story_date_list li,
    .story_date_list li:not(:last-child) {
        width: calc(480 / 980 * 100%);
        margin: 0 calc(19 / 980 * 100%) calc(20 / 980 * 100%) 0;
    }
    
    .story_date_list li:nth-child(even),
    .story_date_list li:last-child {
        margin-right: 0;
    }
    
    .story .story_box_photo {
        width: 100%;
    }
    
    .story .story_box_photo::before {
        width: calc(40 / 480 * 100%);
        padding-top: calc(200 / 480 * 100%);
        background-image: repeating-linear-gradient(0deg, transparent, transparent calc(6 / 200 * 100%), rgba(240, 52, 84, 1) calc(7 / 200 * 100%), rgba(240, 52, 84, 1) calc(10 / 200 * 100%), transparent calc(11 / 200 * 100%));
        margin: calc(54 / 480 * 100%) calc(-20 / 480 * 100%) 0 0;
    }
    
    .story_date_list li:nth-child(4n-3) .story_box_photo::before {
        margin: calc(54 / 480 * 100%) 0 0 calc(-20 / 480 * 100%);
    }
    
    .story_date_list li:nth-child(3) .story_box_photo::before {
        display: none;
    }
    
    .story_date_list li:nth-child(4) .story_box_photo::before {
        display: block;
    }
    
    .story .story_txt {
        width: calc(780 / 980 * 100%);
        margin: 0 auto;
        padding: calc(20 / 980 * 100%) 0 0;
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 1280px) {
    .story::after {
        margin: 720px 0 0;
    }
}
