@charset "UTF-8";

/* reset */
#header .header_inner .header_logo{
    max-height: 90px;
}

/* common */
.sp-only{
    display: block;
}

.pc-only{
    display: none;
}

@media screen and (min-width: 769px){
    .pc-only{
        display: block;
    }

    .sp-only{
        display: none;
    }
}

/* main */
.article {
    background: #fff;
}

.main__catch{
    width: 231px;
    height: auto;
    aspect-ratio: 231 / 81;
    margin: 0 auto 0;
}

.main__image{
    padding-top: 0;
    margin: 0 auto 0;
}

.main__top_area{
    max-height: 460px;
    height: 112vw !important;
}

.main h1{
    margin: 0 auto 0;
}

.main__title>span{
    display: block;
    width: 88.75%;
    font-size: 14px;
    margin: 0 auto;
}

.main__top_area__inner{
    padding-bottom: 0;
}

.main .main__finish{
    color: #348372;
    font-size: 6.9333vw;
    font-weight: 700;
    line-height: 1.75;
    text-align: center;
}

.main__text{
    margin-top: 20px;
    font-size: 4.1vw;
    font-weight: 500;
    text-align: center;
}

.main__bottom_image{
    display: flex;
    flex-direction: column;
    gap: 3.2vw;
    margin: 8.5333vw auto 0;
    width: 100%;
}

.main__bottom_image li{
    width: 100%;
    height: auto;
    aspect-ratio: 360 / 218;
}

.point__header{
    margin: 14.6667vw auto 0;
    width: 88.2%;
    height: auto;
    aspect-ratio: 530 / 213;
}

@media screen and (min-width: 769px){
    .main__catch{
        width: 433px;
        height: 152px;
        margin: 0 auto 0;    
    }

    .main__image{
        margin: 0 auto 0;
    }

    .main__top_area{
        max-height: unset;
        height: 660px !important;
    }

    .main h1{
        margin: 0 auto 0;
    }

    .main__title>span{
        width: 355px;
        font-size: 16px;
    }

    .main .main__finish{
        font-size: 36px;
    }

    .main__text{
        font-size: 15px;
        margin-top: 18px;
    }

    .main__bottom_image{
        display: flex;
        gap: 28px;
        margin: 28px auto 0;
        max-width: 1136px;
        width: 90%;
        flex-direction: row;
    }

    .main__bottom_image li{
        max-width: 360px;
        width: calc(calc(100% - 56px) / 3);
        height: auto;
        aspect-ratio: 360 / 218;
    }

    .point__header{
        margin: 72px auto 0;
        width: 530px;
        height: 213px;
    }
}

/* point */

.point{
    padding: 0 15px 80px;
}

.img__point1{
    content: '';
    position: absolute;
    width: 42.6667vw;
    height: auto;
    aspect-ratio: 319 / 227;
    bottom: 61.3333vw;
    right: 38.6667vw;
}

.img__point2{
    content: '';
    position: absolute;
    width: 31.2vw;
    height: auto;
    aspect-ratio: 234 / 227;
    bottom: 64.3333vw;
    left: 6.6667vw;
}

.img__point3{
    content: '';
    position: absolute;
    width: 34.133vw;
    height: auto;
    aspect-ratio: 257 / 214;
    bottom: 58.3333vw;
    right: 48.6667vw;
}

@media screen and (min-width: 769px){
    .img__point1{
        width: 325px;
        height: 211px;
        bottom: -39px;
        right: 49px;
    }

    .img__point2{
        width: 258px;
        height: 197px;
        bottom: -48px;
        left: 367px;
    }

    .img__point3{
        width: 227px;
        height: 155px;
        bottom: -39px;
        right: 49px;
    }
}


/* related */

.related{
    background: #efe1b2;
    padding: 80px 0;
}

.related h2{
    background: #95233B;
    color: #fff;
    font-size: 4.8vw;
    font-weight: 700;
    text-align: center;
    width: 83.2%;
    height: 12.5333vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2.5vw;
    margin: 0 auto;
    position: relative;
}

.related h2::after{
    content: '';
    position: absolute;
    background: url('../img/finish/ico_title.svg') no-repeat;
    background-size: contain;
    width: 15px;
    height: 12px;
    right: 0;
    left: 0;
    bottom: -12px;
    margin: 0 auto;
}

.related ul{
    max-width: unset;
    width: 80%;
    margin: 40px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 32px;
}

.related li{
    width: 100%;
    height: 100%;
    background: #fff;
    position: relative;
}

.related li a{
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    position: relative;
}

.related li a::after{
    content: '';
    position: absolute;
    background: url('../img/finish/ico_arrow.svg') no-repeat;
    background-size: contain;
    width: 8vw;
    height: 8vw;
    right: 12vw;
    bottom: 13.4vw;
}

.related li a img{
    width: 100%;
    height: auto;
    object-fit: contain;
    aspect-ratio: 266 / 167;

}

.related li a p{
    font-size: 12px;
    font-weight: 500;
    padding: 10px 10px 20px;
}

.related li a p span{
    color: #95233B;
    display: block;
    font-size: 11px;
}


@media screen and (min-width: 769px){

    .related{
        background: #efe1b2;
        padding: 11.5384615385rem 0;
    }

    .related h2{
        font-size: 26px;
        width: 460px;
        height: 63px;
        border-radius: 15px;
    }

    .related ul{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        max-width: 880px;
        margin-top: 40px;
        gap: 32px;
    }

    .related li{
        width: 266px;
        height: 240px;
    }

    .related li a::after{
        content: '';
        position: absolute;
        background: url('../img/finish/ico_arrow.svg') no-repeat;
        background-size: contain;
        width: 30px;
        height: 30px;
        right: 45px;
        bottom: 60px;
    }

    .related li a p{
        font-size: 12px;
        font-weight: 500;
    }
}