/* BASIC */
body,html {
    width: 100%;
    overflow-x: hidden;
}

/* HEADER */
.header .sub-menu-body.friendly {
    display: none;
}

/* INDEX */
.page-home .kv-4 .banner-text p {
    white-space: nowrap;
}

.page-home .section2 .en-marquee1 {
    white-space: inherit;
}

.en-marquee3 {
    bottom: -10px;
}

@media (max-width: 1024px) {
    .marquee-text, .marquee-text.is-special {
        font-size: 38px;
        line-height: 54px;
    }

    .en-marquee3 {
        bottom: 10px;
    }
}

@media (max-width: 576px) {
    .page-home .section1 .jp-title,
    .page-home .section1 .jp-text {
        padding-left: 30px;
        white-space: nowrap;
    }

    .page-home .section1 .kv-4 .banner-text {
        padding-right: 40px;
        width: 320px;
    }

    .page-home .section2 .marquee-text,
    .page-home .marquee-text {
        font-size: 24px;
    }

    .page-home .jp-slide {
        height: fit-content;
    }

    .page-home .swiper-score .swiper-slide:nth-child(2) .slide-img {
        max-width: 150px;
        transform: translate(70px, 80px);
    }

    .page-home .swiper-score .swiper-slide:nth-child(4) .slide-img {
        max-width: 140px;
        transform: translate(72px, 87px);
    }

    .marquee1 {
        top: 30px;
    }
}

@media (max-width: 360px) {
    .page-home .end-slide div p:nth-child(3) {
        font-size: 22px;
    }
}



/* ABOUT */
.page-about .jp-circle-title {
    font-size: 18px;
    margin-bottom: 2px;
    letter-spacing: 1px;
}

@media (max-width: 1024px) {
    .page-about .jp-circle-text {
        font-size: 14px;
    }

    .page-about .circle-card {
        width: 280px;
        height: 280px;
    }
}

@media (max-width: 820px) {
    .page-about .jp-circle-text {
        font-size: 16px;
    }

    .page-about .circle-card {
        width: 303px;
        height: 303px;
    }
}

@media (max-width: 360px) {
    .page-about .en-title {
        font-size: 2rem;
    }
}

/* SUBPAGE */
@media (min-width: 1025px) {
    .page-subpage .se3.wecan {
        padding: 200px 0 100px;
    }
}

/* CSR */
.page-csr .csr-title {
    font-size: 70px;
}

@media (max-width: 1024px) {
    .page-csr .csr-title {
        font-size: 48px;
    }
}

@media (max-width: 360px) {
    .page-csr .csr-title {
        font-size: 36px;
    }
}

/* FOOTER */
@media (max-width: 576px) {
    footer a.btn-solid p {
        font-size: 14px;
        white-space: nowrap;
    }

    footer a.btn-solid svg {
        width: 30px;
    }
}