.topMessage {
    padding: 104px 5% 132px;
    background-color: var(--white);
}

.topMessage .emphasis {
    color: var(--accent-color);
}

.topMessage .content--title {
    font-size: 5rem;
    white-space: normal;
    line-height: 1.5;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; 
}

.topMessage .content--textBox {
    margin-top: 40px;
}

.topMessage .content--text {
    font-size: 1.8rem;
    font-weight: bold;
}

@media screen and (max-width: 1024px) {
    /* max-witdhの1024pxまでの幅の場合に適応される */

    .topMessage {
        padding-top: 32px;
        padding-bottom: 56px;
    }
    
    .topMessage .content--title {
        font-size: 3.6rem;
    }

    .topMessage .content--textBox {
        margin-top: 32px;
    }

}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    
    .topMessage .content--title {
        font-size: 2.8rem;
    }

    .topMessage .content--text {
        margin-top: 1.6rem;
    }
}

.slideSeparator {
    background-color: var(--backgroud-color-lightgrey);
}

.slideSeparator .splide__slide .slideImage {
    width: 100%;
    height: auto;
}

.paintingBooth {
    position: relative;
    padding: 64px 5%;
    background-color: var(--white);
    z-index: 1;
}

.paintingBooth .sliderBox {
    width: 100%;
    max-width: 1000px;
}

.paintingBooth .content--title {
    font-size: 3.2rem;
    text-align: center;
    white-space: normal;
}

.paintingBooth .content--textBox {
    margin-top: 40px;
}

.paintingBooth .content--text {
    font-size: 1.8rem;
    text-align: center;
}

.paintingBooth .sliderBox {
    margin-top: 40px;
}

.paintingBooth .slideImage {
    width: 85%;
    height: auto;
    transform: translateX(9%);
}

.paintingBooth .splide__pagination {
    margin-top: 24px;
    position: static;
}

.paintingBooth .splide__pagination__page {
    background-color: var(--background-color-black);
}

.paintingBooth .splide__arrow {
    background-color: transparent;
}

.paintingBooth .splide__arrow svg {
    fill: var(--secondary-bland-color);
    width: 2em;
    height: 2em;
}

.paintingBooth .splide__pagination__page.is-active {
    border: 1.5px solid var(--background-color-black);
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */

    .paintingBooth .content--text {
        font-size: 1.8rem;
    }

    .paintingBooth .splide__pagination {
        margin-top: 16px;
    }

    .paintingBooth .slideImage {
        width: 75%;
        height: auto;
        transform: translateX(16.5%);
    }
}


.facility {
    position: relative;
    padding: 64px 5% 64px;
    background-image: url(/img/factory-facility_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.facility .mediaBox {
    background-color: var(--white);
    margin-top: 40px;
    padding: 60px;
}

.facility .mediaBox:first-of-type {
    margin-top: 0px;
}

.facility .media--titleBox {
    padding-right: 8px;
}

.facility .media--title {
    font-size: 2.2rem;
    line-height: 1.6;
    text-align: right;
}

.facility .media--hrWithDot {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: var(--secondary-bland-color);
    margin-top: 8px;
}

.facility .media--hrWithDot::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: auto;
    right: 0;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--secondary-bland-color);
}

.facility .media--textBox {
    margin-top: 32px;
    padding-left: 32px;
}

.facility .media--text {
    font-size: 1.5rem;
    line-height: 2;
}

.facility .arrowBtn {
    margin-top: 40px;
}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */
    
    .facility .mediaBox {
        padding: 32px;
    }

    .facility .mediaBox--line {
        height: 2px;
    }
    
    .facility .mediaBox--line::before {
        height: 2px;
    }

    .facility .media--body {
        max-width: 100%;
    }

    .facility .media--textBox {
        margin-top: 16px;
    }

    .facility .arrowBtn {
        margin-top: 24px;
    }

    .facility .media--imgBox {
        width: 100%;
        max-width: 100%;
    }

    .facility .media--img {
        width: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    

    .facility {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .facility .media {
        flex-direction: column-reverse;
        row-gap: 16px;
    }

    .facility .media--title {
        font-size: 1.8rem;
        text-align: left;
    }

    .facility .media--textBox {
        padding-left: 0;
    }

    .facility .media--text {
        font-size: 1.4rem;
        line-height: 1.6;
    }

    .facility .arrowBtn {
        font-size: 1.4rem;
    }

    .facility .arrowBtn::after {
        width: 20px;
        height: 16px;
    }
}

.movie {
    padding: 64px 5%;
    background-color: var(--primary-bland-color);
}

.movie .media {
    width: 100%;
    column-gap: 32px;
}

.movie .media--body {
    flex: 1 0;
}

.movie .media--title {
    font-size: 3.2rem;
}

.movie .media--textBox {
    margin-top: 24px;
}

.movie .media--text {
    font-size: 1.6rem;
}

.movie .media--youtubeBox {
    position: relative;
    width: 560px;
    aspect-ratio: 16 / 9;
    /* padding-top: 56%; */
}

.movie .media--youtube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 1024px) {
    /* 1024pxまでの幅の場合に適応される */

    .movie {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .movie .media--title {
        font-size: 2.6rem;
    }

    .movie .media--youtubeBox {
        position: relative;
        width: 350px;
        aspect-ratio: 16 / 9;
    }
}

@media screen and (max-width: 599px) {
    /* 599pxまでの幅の場合に適応される */
    .movie {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .movie .media {
        flex-direction: column;
        row-gap: 16px;
    }

    .movie .youtubeBox {
        width: 100%;
    }
}