@charset "UTF-8";

.johnsonville img {
    height: auto
}

.johnsonville {
    position: relative;
    min-width: 1200px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;
    background-color: #000;
    overflow: hidden;
}

.johnsonville__inner {
    position: relative;
    z-index: 1;
    margin: auto;
    /* padding-bottom: 187px; */
}

.johnsonville__haeder {
    position: relative;
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center top;
    height: 720px;
    text-indent: -9999px;
    background-image: url(../images/img-mv_pc.webp);
    background-size: contain;
}
.about {
    position: relative;
    background-image: url(../images/bg-dot01.png);
    background-repeat: repeat;
    padding-block: 67px;
}
.about-head {
    position: absolute;
    transform: translate(-50%, -100%);
    top: 0;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 23px;
    width: 271px;
    height: 37px;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    background-image: url(../images/bg-dot01.png);
    -webkit-clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
    clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
}
.about-head span {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #ffc600;
}
.about-wrap {
    background-color: #f6f3e3;
}
.about-inner {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding-block: 84px 60px;
}
.about-inner__logo {
    position: absolute;
    top: 5px;
    left: 0;
    display: inline-block;
    width: 525px;
    height: 88px;
}
.about-inner__logo img,
.movie-inner__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.about__thumb {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}
.about__thumb img {
    display: inline-block;
    width: 338px;
    height: 411px;
}
.about-point {
    display: flex;
    flex-flow: column;
    gap: 10px;
    width: 50%;
    padding-top: 40px;
    padding-left: 40px;
}
.item {
    display: flex;
    gap: 14px;
}
.item__point {
    display: inline-block;
    width: 39px;
    height: 44px;
}
.item-head__ttl {
    color: #ad2121;
    font-size: 24px;
    font-weight: 700;
}
.item-head__txt {
    font-size: 18px;
    font-weight: 500;
}
.movie {
    position: relative;
    background-image: url(../images/bg-dot02.png);
    background-repeat: repeat;
    padding-block: 42px 160px;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.7);
}
.movie-head {
    position: absolute;
    transform: translate(-50%, -100%);
    top: 0;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 23px;
    width: 271px;
    height: 37px;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    background-image: url(../images/bg-dot02.png);
    -webkit-clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
    clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
}
.movie-head span {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #ffc600;
}

.movie-inner {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding-block: 84px 60px;
}
.movie-inner__logo {
    position: absolute;
    top: 5px;
    left: 0;
    display: inline-block;
    width: 525px;
    height: 88px;
}
.movie__thumb {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 998px;
    height: auto;
    aspect-ratio: 998 / 562;
    overflow: hidden;
    margin-inline: auto;
}
/* .movie__thumb::before,
.movie__thumb::after {
    content: "";
    position: absolute;
    pointer-events: none;
}
.movie__thumb::before {
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
}
.movie__thumb::after {
    top: 50%;
    left: 50%;
    width: 74px;
    height: 74px;
    background: url(../images/icon-play.png) no-repeat center / contain;
    transform: translate(-50%, -50%);
} */
.movie__thumb img {
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.movie-point {
    display: flex;
    flex-flow: column;
    gap: 10px;
    width: 50%;
    padding-top: 40px;
    padding-left: 40px;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    font-size: 0;
    visibility: hidden
}

.clearfix {
    min-height: 1px
}

* html .clearfix {
    height: 1px
}

@media (max-width:768px) {
    .sp-hidden {
        display: none
    }

    .johnsonville {
        min-width: auto;
        padding-top: 0;
    }

    .johnsonville__inner {
        width: auto;
        /* padding-bottom: clamp(48px, 40vw, 80px); */
        padding-bottom: 0;
    }

    .johnsonville__haeder {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 1080 / 1220;
        background-image: url(../images/img-mv_sp.webp);
        background-size: contain;
        background-position: center top;
    }

    .about {
        padding-block: 12vw 18vw;
    }
    .movie {
        padding: 0;
    }
    .about-head,
    .movie-head {
        width: 48vw;
        height: 8.5vw;
        gap: 3.2vw;
        font-size: 3.6vw;
    }

    .about-head span,
    .movie-head span {
        width: 2.4vw;
        height: 2.4vw;
    }

    .about-inner {
        display: block;
        max-width: none;
        padding: 5vw 5.33333vw 8vw;
    }
    .movie-inner {
        display: block;
        max-width: none;
        padding: 5vw 5.33333vw 8vw;
    }

    .about-inner__logo,
    .movie-inner__logo {
        position: static;
        display: block;
        width: 70vw;
        height: auto;
        margin: 0 0 6vw;
    }
    .about-inner__logo img,
    .movie-inner__logo img {
        display: block;
        width: auto;
        max-width: 100%;
        height: 12vw;
        object-fit: contain;
    }
    .movie-inner__logo {
        text-align: left;
    }
    .movie-inner__logo img {
        margin-left: 0;
        margin-right: auto;
    }

    .about__thumb,
    .movie__thumb {
        width: 100%;
    }

    .about__thumb img {
        width: 62vw;
        height: auto;
    }

    .about-point {
        width: 100%;
        padding: 6vw 0 0;
        gap: 6vw;
    }

    .item {
        gap: 2.8vw;
    }

    .item__point {
        width: 9.2vw;
        height: 10.4vw;
        flex: 0 0 9.2vw;
    }
    .item__point img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .item-head {
        width: calc(100% - 12vw);
    }

    .item-head__ttl {
        font-size: 4.8vw;
        line-height: 1.3;
    }

    .item-head__txt {
        font-size: 3.6vw;
        line-height: 1.8;
    }
    .movie__thumb::after {
        width: 17vw;
        height: 17vw;
    }
}
