@charset 'utf-8';

body{
    background: url(img/body-bottom-bg.webp) no-repeat center bottom / 1920px, url(img/bg.png) no-repeat center center / cover;
}
.mv{
    height: 1080px;
    background: url(img/mv-img.webp) no-repeat center bottom / cover;
    position: relative;
    z-index: 0;
}
.mv-text{
    position: absolute;
    top: 0;
    left: calc((100vw - 1200px)/2 - 360px);
    width: 256px;
    z-index: -1;
}
.mv-box{
    position: absolute;
    top: 100px;
    right: calc((100vw - 1240px)/2);
}
.mv-box__lead{
    margin-top: 50px;
}
.concept-sec{
    margin-top: -85px;
    padding-bottom: 190px;
    background: url(img/concept-bg-top.webp) no-repeat center 85px / 1920px, url(img/concept-bg-bottom.webp) no-repeat center bottom / 1920px;
}
.concept-sec__cont:not(:last-child){
    margin-bottom: 180px;
}
.concept-sec__cont-ttl{
    text-align: center;
    position: relative;
    margin-bottom: 80px;
}
.concept-sec__cont-ttl__balloon{
    position: absolute;
    top: -122px;
    right: 0;
}
.concept-sec__cont-grid{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px 70px;
}
.concept-sec__cont-grid__box-ttl{
    margin-bottom: 30px;
}
.concept-sec__cont-grid__box-text{
    font-size: 22px;
    font-weight: 900;
    line-height: 2;
}
.concept-sec__cont-grid__box.order2{
    order: 2;
}
.concept-sec__cont-grid__img.order1{
    order: 1;
}
.specialist-sec{
    padding: 80px 0 165px;
    position: relative;
    background: var(--red) url(img/specialist-bg.webp) no-repeat center top / 2825px;
}
.specialist-sec__ttl{
    text-align: center;
}
.specialist-sec__box-ttl{
    font-size: 34px;
    font-weight: 900;
    line-height: 1.529;
    margin: 65px 0;
}
.specialist-sec__box-ttl span{
    text-decoration: underline;
    text-decoration-thickness: 21px;
    text-decoration-color: #F8E900;
    text-underline-offset: -18px;
    text-decoration-skip-ink: none;
}
.specialist-sec__box-list{
    width: 100%;
    max-width: 690px;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 5px 10px;
    position: relative;
}
.specialist-sec__box-list__balloon{
    position: absolute;
    top: 0;
    right: -60px;
}
.specialist-sec__box-list ul li{
    border: 2px solid var(--base-color);
    background-color: var(--red);
    border-radius: 18px;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.6;
    padding-left: 30px;
    margin-bottom: 5px;
}
.specialist-sec__box-list ul li:last-child{
    margin-bottom: 0;
}
.specialist-sec__label{
    position: absolute;
    bottom: 0;
    right: 0;
}
.event-bnr{
    margin-top: 160px;
}
.event-bnr__link{
    text-align: center;
    margin-top: -40px;
    position: relative;
    z-index: 1;
    transform: translate(150px);
}


@media screen and (max-width: 991px){
    body{
        padding-top: 60px;
    }

    /* INDEX */
    .mv{
        height: 78vw;
        background: url(img/mv-img-sp.webp) no-repeat center bottom / cover;
    }
    .mv-box{
        right: 20px;
    }
    .event-bnr__link{
        transform: initial;
        text-align: center;
        margin-top: 20px;
    }
    .mv-box__logo img{
        width: 320px;
    }
    .mv-box__lead img{
        width: 300px;
    }
    .concept-sec__cont-ttl__text img{
        width: auto;
        height: 160px;
    }
    .concept-sec__cont-ttl__balloon {
        top: -40px;
        width: 160px;
    }
    .concept-sec{
        margin-top: -30px;
        background: url(img/concept-bg-top.webp) no-repeat center 150px / 100%, url(img/concept-bg-bottom.webp) no-repeat center bottom / 100%;
        padding-bottom: 50px;
    }
    .concept-sec__cont-grid{
        grid-template-columns: repeat(1,1fr);
    }
    .concept-sec__cont-grid__box-ttl img{
        width: 390px;
    }
    .concept-sec__cont-grid__box-text{
        font-size: 18px;
    }
    .concept-sec__cont-grid__img img{
        width: 500px;
    }
    .concept-sec__cont-grid__img{
        text-align: center;
    }
    .concept-sec__cont:not(:last-child){
        margin-bottom: 80px;
    }
    .concept-sec__cont-grid__img.order1{
        order: 2;
    }
    .concept-sec__cont-grid__img.order2{
        order: 1;
    }
    .fadeinr{
        transform: translate(0, 50px);
    }
    .fadeinr.scrollin{
        transform: translate(0, 0);
    }
    .specialist-sec{
        padding: 80px 0 60px;
        background: var(--red) url(img/specialist-bg-sp.webp) no-repeat center top / 110%;
    }
    .specialist-sec__box{
        background-color: #fff;
        padding: 40px;
        border-radius: 10px;
    }
    .specialist-sec__box-ttl{
        font-size: 24px;
        margin: 0 0 30px;
    }
    .specialist-sec__box-ttl span {
        text-decoration-thickness: 15px;
        text-underline-offset: -10px;
    }
    .specialist-sec__ttl{
        margin-bottom: 30px;
    }
    .specialist-sec__ttl img{
        width: 600px;
    }
    .specialist-sec__box-list ul li{
        font-size: 18px;
        padding: 3px 0 3px 30px;
    }
    .specialist-sec__box-list__balloon {
        top: 30px;
        right: -30px;
        width: 90px;
    }
    .specialist-sec__label{
        width: auto;
        height: 60px;
    }
    .event-bnr{
        margin-top: 60px;
    }
}


@media screen and (max-width: 767px){
    body{
        padding-top: 50px;
        background: url(img/body-bottom-bg.webp) no-repeat center bottom / 100%, url(img/bg.webp) repeat center center / 170%;
    }

    /* INDEX */
    .mv-box__logo img{
        width: 40vw;
    }
    .mv-box__lead img{
        width: 43vw;
    }
    .mv-box__lead{
        margin-top: 20px;
    }
    .mv-box{
        top: 10vw;
        right: 15px;
    }
    .concept-sec__cont-ttl__text img{
        height: 24vw;
    }
    .concept-sec{
        margin-top: 20px;
        background: url(img/concept-bg-top.webp) no-repeat center 70px / 100%, url(img/concept-bg-bottom.webp) no-repeat center bottom / 100%;
    }
    .concept-sec__cont-ttl__balloon {
        top: -20vw;
        width: 33vw;
    }
    .concept-sec__cont-grid__box-ttl img{
        width: 60vw;
    }
    .concept-sec__cont-ttl{
        margin-bottom: 15px;
    }
    .concept-sec__cont-grid__box-ttl{
        margin-bottom: 10px;
    }
    .concept-sec__cont-grid__box-text{
        font-size: 14px;
        line-height: 1.8;
    }
    .specialist-sec{
        padding-bottom: 30px;
    }
    .specialist-sec__box{
        padding: 25px;
    }
    .specialist-sec__box-ttl{
        font-size: 18px;
    }
    .specialist-sec__box-ttl br{
        display: none;
    }
    .specialist-sec__box-ttl span {
        text-decoration-thickness: 10px;
        text-underline-offset: -5px;
    }
    .specialist-sec__box-list{
        grid-template-columns: repeat(1,1fr);
    }
    .specialist-sec__box-list ul li{
        font-size: 14px;
    }
    .specialist-sec__box-list__balloon{
        width: 70px;
    }
    .specialist-sec__label{
        height: 30px;
    }
    .event-bnr__link img{
        width: 250px;
    }
    .line-sec .wrap{
        padding: 0 20px;
    }
}