@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kaisei+Opti&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat&family=Noto+Sans+JP&display=swap");

#topics::before {
    display: none !important;
}

.top_story {
    height: 490px;
}

.top_wrap.story-txt {
    top: 100px;
}

.ta_center {
    line-height: 3;
    font-size: 1.123em;
}

.top_concept01 {
    color: #fff;
    position: relative;
    padding: 0;
    background-size: auto;
    background-color: #000;
    padding-top: 5em;
    padding-bottom: 10rem;
    height: auto;
}

.top_concept02 {
    color: #fff;
    position: relative;
    padding: 0;
    background-size: auto;
    background-color: #000;
    padding-top: 5em;
    padding-bottom: 5em;
}

.row {
    margin: auto;
    max-width: 1200px;
}

.top_concept_wrap01 {
    padding: 7rem 0 10rem;
    width: 100%;
    top: 9rem;
}

.top_concept p:not(.topic5par) {
    position: relative;
    line-height: 2.5;
    top: 24rem;
    font-size: 1.7rem;
}

.scroll-bar01 p {
    font-size: 1.5em;
    position: relative;
    display: inline-block;
    top: auto;
    font-weight: normal;
    margin-top: 40px;
    letter-spacing: 3px;
}

.scroll-bar01::after {
    content: "";
    position: absolute;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 5rem;
    background-color: #fff;
}

/* Intoduction */

.intro_text {
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.image-row img {
    margin: 0;
    max-height: 200px;
}

img.story-01-other-image-01 {
    width: 100%;
}

img.story-01-other-image-02 {
    width: 60%;
}

/* top story */

.div-right {
    width: 50%;
}

.div-left {
    width: 50%;
    height: 100%;
    padding: 1px 0;
}

.topics_wrap {
    display: flex;
    width: 100% !important;
    gap: 50px;
}

.ta_right {
    text-align: right !important;
}

.ta_left {
    text-align: left;
}

/* story 01 */

.story01-head {
    font-size: 3rem;
    font-family: "Noto Serif JP";
    letter-spacing: 10px;
}
.story01-No {
    font-size: 5rem;
    font-family: "Noto Serif JP";
    letter-spacing: 5px;
}

.story01-link {
    font-size: 2rem;
    font-weight: normal;
    letter-spacing: 0.3px;
    font-family: "Noto Serif JP";
    display: inline-block;
    border-bottom: 2px solid #fff;
    margin: 0 auto 2rem;
    letter-spacing: 5px;
}

.story01_img {
    background: url(../img/project_start.jpg) top center no-repeat;
    background-size: cover;
    height: auto;
    position: relative;
    text-align: center;
}

.story01_img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.image-column {
    white-space: nowrap;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.image-column img {
    margin-bottom: 10px;
}

/* story 02 */

.story02_img {
    background: url(../img/attractive.jpg) top center no-repeat;
    background-size: cover;
    height: auto;
    position: relative;
    text-align: center;
}

.story02_img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.image-story02 {
    position: absolute;
    left: 60%;
    transform: translateX(-10%);
    display: flex;
}

.image-story02 img {
    margin-top: 100px;
    height: 300px;
    width: 400px;
}

.topics2-image img {
    width: 520px;
    height: 454.33px;
    object-fit: cover;
}

.topics2-image {
    display: flex;
    justify-content: flex-end;
}

/* story 03 */

.story03_img {
    background: url(../img/thought.jpg) top center no-repeat;
    background-size: cover;
    height: auto;
    position: relative;
    text-align: center;
}

.story03_img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.image-story3 img {
    display: flex;
    flex-direction: column;
    width: 520px;
    height: 454.33px;
    object-fit: cover;
}

/* story 04 */

.story04_img {
    background: url(../img/favour.jpg) top center no-repeat;
    background-size: cover;
    background-position: center 50%;
    height: auto;
    position: relative;
    text-align: center;
}

.story04_img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

img.story-04-other-image-02 {
    width: 50%;
}

/* story 05 */

.story05_img {
    background: url(../img/quality.jpg) center no-repeat;
    background-size: cover;
    background-position: center 50%;
    height: auto;
    position: relative;
    text-align: center;
}

.story05_img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.image-story5 img {
    display: flex;
    flex-direction: column;
}

.story-detail {
    line-height: 2.5;
}

.story-more {
    margin: 3rem auto 0;
}

.topic5par {
    font-size: 1.123em;
    line-height: 3;
    align-items: first baseline;
}

.image-row img {
    width: 25%;
    height: 13.32vw;
    object-fit: cover;
}

img.story_1_handwriting_image {
    position: absolute;
    width: 15vw;
    top: 210px;
    left: 55vw;
}

img.story_2_handwriting_image {
    position: absolute;
    width: 15vw;
    top: 65px;
    left: 30vw;
}

img.story_3_handwriting_image {
    position: absolute;
    width: 12vw;
    top: 210px;
    left: 60vw;
}

img.story_4_handwriting_image {
    position: absolute;
    width: 10vw;
    top: 65px;
    left: 35vw;
}

img.story_5_handwriting_image {
    position: absolute;
    width: 12vw;
    top: 180px;
    left: 55vw;
}

.story-mobile {
    display: none;
}

@media (max-width: 768px) {
    .top_story {
        margin-top: 16vh;
    }

    .top_story {
        height: 82.57vw;
    }

    .scroll-bar01::after {
        top: 15%;
    }

    .top_concept_wrap01 {
        top: 11rem;
        padding-left: 10px;
        padding-right: 10px;
    }

    .scroll-bar01 p {
        font-size: 2rem;
    }

    .top_concept01 {
        padding-top: 3em;
        height: auto;
    }

    .topics_wrap {
        flex-direction: column;
    }

    .div-left {
        width: 100%;
        padding: 1px 0;
    }

    .topic5par {
        font-size: 3.2vw;
        line-height: 2.5;
        text-align: justify;
    }

    .top_concept_wrap01 {
        padding: 7rem 0 0rem;
        font-size: 3.5vw;
    }

    .image-column {
        position: sticky;
        transform: none;
        justify-content: flex-start;
        flex-direction: row;
        align-items: center;
        left: 15%;
    }

    .image-column img {
        width: 80vw;
        height: auto;
    }

    .div-right {
        width: 100%;
        padding: 1px 0;
    }

    .top_concept02 {
        padding-top: 3em;
        height: auto;
    }

    .image-story3 img {
        width: 70%;
        height: auto;
    }

    .image-row {
        margin-top: 5rem;
        gap: 0;
    }

    .image-row img {
        width: 40vw;
        height: 30vw;
    }

    .topics2-image {
        display: flex;
        justify-content: flex-end;
        flex-direction: row;
        align-items: center;
        left: 15%;
    }

    .topics2-image img {
        width: 53.27vw;
        height: 46.45vw;
        object-fit: cover;
    }

    .image-story3 {
        display: flex;
        justify-content: flex-start;
        flex-direction: row;
        align-items: center;
        left: 15%;
    }

    .image-story3 img {
        width: 53.3vw;
        height: 46.57vw;
        object-fit: cover;
    }

    .image-story4 {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        left: 15%;
        flex-wrap: wrap;
    }

    .image-story4 img {
        width: 80vw;
        height: auto;
    }

    .image-story5 {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        left: 15%;
        flex-wrap: wrap;
    }

    .image-story5 img {
        width: 80vw;
        height: auto;
    }

    .story-txt {
        top: 0px;
    }

    .top_wrap.story-txt {
        top: 30px;
    }

    .story01-link {
        letter-spacing: 1px;
    }

    .image-column {
        width: 100%;
    }

    .story-head {
        font-size: 1.6rem;
    }

    .story01-head {
        font-size: 2.3rem;
        letter-spacing: 6px;
    }

    .story01-No {
        font-size: 5rem;
        letter-spacing: 5px;
    }

    .story01-link {
        font-size: 1.4rem;
        letter-spacing: 4px;
    }

    img.story_1_handwriting_image {
        position: absolute;
        width: 45vw;
        top: 200px;
        left: 50vw;
    }

    img.story_2_handwriting_image {
        position: absolute;
        width: 40vw;
        top: -40px;
        left: 10vw;
    }

    img.story_3_handwriting_image {
        position: absolute;
        width: 40vw;
        top: 200px;
        left: 50vw;
    }

    img.story_4_handwriting_image {
        position: absolute;
        width: 30vw;
        top: 100px;
        left: 10vw;
    }

    img.story_5_handwriting_image {
        position: absolute;
        width: 40vw;
        top: 200px;
        left: 50vw;
    }

    .story-web {
        display: none;
    }

    .story-mobile {
        display: block;
    }

    .ta_center {
        line-height: 2.5;
        font-size: 3.23vw;
    }

    img.story-01-other-image-02 {
        width: 40vw;
    }

    .row {
        margin: auto;
        max-width: 81.31vw;
    }

    .topics_wrap.story-03-mobile {
        flex-direction: column-reverse;
    }

    .topics_wrap.story-04-mobile {
        flex-direction: column-reverse;
    }

    img.story-04-other-image-02 {
        width: 40vw;
    }

    .topics_wrap.story-05-mobile {
        flex-direction: column-reverse;
    }

    .image-story5 img {
        width: 53.33vw;
        height: 40.03vw;
        object-fit: cover;
    }

    p.ta_left.topic5par.story-03-text {
        font-size: 3.2vw;
    }

    p.ta_left.topic5par.story-04-text {
        font-size: 3.2vw;
    }

    p.ta_left.topic5par.story-02-text {
        font-size: 3.2vw;
    }
}
