.top_img {
    max-width: 1054px;
    margin: 20px auto 0;
    position: relative;
}

.top_illust {
    max-width: 600px;
    width: 90%;
    margin: 0 auto;
}

.con_lead {
    text-align: center;
    font-size: clamp(20px,3vw,30px);
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}

.con_txt {
    text-align: center;
    line-height: 2.3;
    margin: 40px 0 0;
    font-size: clamp(13px,1.5vw,17px);
}

.container01 {
    margin-top: 40px;
}

.container01 .img01 {
    max-width: 1054px;
    width: 90%;
    margin: 50px auto 0;
}


.container02 {
    margin-top: 80px;
}

.container02 .img02 {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
}

.imaoshi_ttl {
    max-width: 550px;
    width: 80%;
    margin: 80px auto 50px;
}

.container02 .con_lead {
    text-align: center;
    font-size: clamp(17px,2vw,27px);
}

.container02 .con_lead .large {
    display: block;
    color: #00b0ad;
    font-size: clamp(28px,3vw,35px);
}

.homepage_bnr {
    max-width: 480px;
    width: 80%;
    margin: 40px auto 0;
}

.homepage_bnr .btn a {
    max-width: 350px;
    width: 100%;
    display: block;
    background-color: #00b0ad;
    color: #fff;
    padding: 13px 0 15px;
    border-radius: 25px;
    font-size: clamp(18px,2vw,25px);
    text-align: center;
    margin: 25px auto 0;
    position: relative;
}

.homepage_bnr .btn a span::after {
    position: absolute;
    translate: 0 -50%;
    right: 5%;
    top: 50%;
    vertical-align: sub;
    content: '';
    width: 0.8em;
    height: 1.2em;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
}

.container03 {
    max-width: 1054px;
    width: 90%;
    margin: 80px auto 0;
}

.container03 .con_ttl {
    background-color: #717071;
    color: #fff;
    text-align: center;
    font-size: clamp(15px,1.6vw,18px);
    padding: 8px 0;
}

.container03 .movie_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    gap: 30px;
}



.back_btn a {
    max-width: 280px;
    width: 100%;
    display: block;
    background-color: #00b0ad;
    color: #fff;
    padding: 13px 0 15px;
    border-radius: 25px;
    font-size: clamp(20px,2vw,25px);
    text-align: center;
    margin: 100px auto 0;
    position: relative;
}

.back_btn a span::after {
    position: absolute;
    translate: 0 -50%;
    right: 5%;
    top: 50%;
    vertical-align: sub;
    content: '';
    width: 0.8em;
    height: 1.2em;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
}

.bottom_note {
    text-align: center;
}

footer {
    margin-top: 50px;
}

/* sp調整 */
@media screen and (max-width:730px) {
    .top_img {
        margin-top: 15px;
    }

    .con_lead {
        margin-bottom: 20px;
    }

    .container01 .img01 {
        margin-top: 30px;
    }

    .container02 .img02 {
        width: 98%;
    }

    .imaoshi_ttl {
        margin: 50px auto 30px;
    }

    .homepage_bnr {
        margin-top: 30px;
    }

    .container03 .movie_wrap {
        flex-direction: column;
        gap: 20px 0;
        margin-top: 20px;
    }

    .back_btn a {
        margin-top: 100px;
    }

    .bottom_note {
        text-align: justify;
    }

    footer {
        margin-top: 30px;
    }
}
