@charset "utf-8";

/*--------------------------------------------------------------
  タイトル
--------------------------------------------------------------*/

#academy-titlearea {
    margin: 0;
    padding: 0;
}

#academy-titlearea .titlearea {
    width: 80%;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
    margin: 0;
    padding: 0;
    margin-top: 120px;

    background-position: center 50%;
}


#academy-titlearea div.titlearea h1,
#academy-titlearea div.titlearea h1>* {
    font-size: clamp(2.0rem, 2.2vw, 3.2rem);
    line-height: 1.2;
    font-weight: 400;
    color: #fff;
    text-shadow: 2px 2px 10px rgb(var(--ronri-color) / 1.0),
        -2px 2px 10px rgb(var(--ronri-color) / 1.0),
        2px -2px 10px rgb(var(--ronri-color) / 1.0),
        -2px -2px 10px rgb(var(--ronri-color) / 1.0);
}

#academy-titlearea div.titlearea span.subtitle,
#academy-titlearea div.titlearea span.subtitle>* {
    margin: 0.5rem 0 0 0;
    font-size: clamp(1.0rem, 1.2vw, 2rem);
    line-height: 1.2;
    font-weight: 400;
    color: #fff;
    background-color: rgb(var(--ronri-color) / 1.0);
    border-radius: 1rem;
    padding: 0.2rem 1rem 0.2rem 1rem;
}


@media (max-width: 767.98px) {

    /* sm 以下の画面サイズの場合のスタイル */
    #academy-titlearea {
        margin: 0;
        padding: 0;
    }

    #academy-titlearea .titlearea {
        width: 100%;
        height: 30vh;
        border-radius: 0;
        margin-top: 100px;

        background-position: center 50%;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {

    /* md の画面サイズの場合のスタイル */
    #academy-titlearea {
        margin: 0;
        padding: 0;
    }

    #academy-titlearea .titlearea {
        width: 100%;
        height: 30vh;
        border-radius: 0;
        margin-top: 100px;

        background-position: center 50%;
    }
}

@media (min-width: 992px) {
    /* lg 以上の画面サイズの場合のスタイル */
}


/*--------------------------------------------------------------
    ブロック 論理アカデミー
  --------------------------------------------------------------*/

#aboutacademy-sec02 div.about {
    margin: 0;
    padding: 2rem;
}

#aboutacademy-sec02 div.about h2 {
    margin: 2rem 0 2rem 0;
}

/*--------------------------------------------------------------
    ブロック 3つの特徴
  --------------------------------------------------------------*/
#aboutacademy-sec03 div.feature {
    margin: 0;
    padding: 1rem;
}

#aboutacademy-sec03 div.feature h2 {
    margin: 2rem 0 2rem 0;
}

#aboutacademy-sec03 div.sec03-grid {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 1rem;
    row-gap: 1rem;
}

#aboutacademy-sec03 div.sec03-grid h5,
#aboutacademy-sec03 div.sec03-grid h5>* {
    font-size: 1.1rem;
}

#aboutacademy-sec03 div.sec03-grid img {
    width: 100%;
}


@media (max-width: 767.98px) {

    /* sm 以下の画面サイズの場合のスタイル */
    #aboutacademy-sec03 div.sec03-grid {
        grid-template-columns: 1fr;
    }

    @media (min-width: 768px) and (max-width: 991.98px) {

        /* md の画面サイズの場合のスタイル */
        #aboutacademy-sec03 div.sec03-grid {
            grid-template-columns: 1fr;
        }
    }

    @media (min-width: 992px) {
        /* lg 以上の画面サイズの場合のスタイル */
    }
}

/*--------------------------------------------------------------
    ブロック 3つの特徴
  --------------------------------------------------------------*/
#aboutacademy-sec04 h3 {
    margin: 3rem 0 2rem 0;
    padding: 0;
}

#aboutacademy-sec04 h3,
#aboutacademy-sec04 h3>* {
    font-size: clamp(1.8rem, 2.0vw, 3.0rem);
    line-height: 1.2;
    font-weight: 400;
}

#aboutacademy-sec04 h3>strong {
    margin: 0 1rem 0 0;
    padding: 0;
    display: inline-block;
}

#aboutacademy-sec04 h3>span.small {
    display: inline-block;
    font-size: clamp(1.6rem, 1.8vw, 2.8rem) !important;
    line-height: 1.2;
    font-weight: 400;
}

#aboutacademy-sec04 div.policy {
    margin: 0;
    padding: 1rem;
}

#aboutacademy-sec04 div.policy img {
    width: 50%;
}

#aboutacademy-sec04 div.policy img.left {
    float: left;
    margin: 0 2rem 2rem 0;
}

#aboutacademy-sec04 div.policy img.right {
    float: right;
    margin: 0 0 2rem 2rem;
}

@media (max-width: 767.98px) {

    /* sm 以下の画面サイズの場合のスタイル */
    #aboutacademy-sec04 div.policy img {
        width: 100%;
    }

    #aboutacademy-sec04 div.policy img.left {
        float: none;
        margin: 1rem 0 1rem 0;
    }

    #aboutacademy-sec04 div.policy img.right {
        float: none;
        margin: 1rem 0 1rem 0;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    /* md の画面サイズの場合のスタイル */
}

@media (min-width: 992px) {
    /* lg 以上の画面サイズの場合のスタイル */
}