@charset "utf-8";

/* ==========================================
SCHOOL01
========================================== */

.school01-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.school01-msg-box {
    width: 100%;
    margin: 4.5rem 0 0;
    position: relative;
}

.school01-text-box {
    margin: 5rem 0 0;
}

.school01-text-box .text01 {
    font-weight: 700;
    line-height: 2.35em;
}

.school01-illust {
    position: absolute;
    max-width: 22.1rem;
    width: 30%;
    height: 14.4rem;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.school01-img-box {
    max-width: 110rem;
    width: 100%;
    margin: 6rem auto 0;
    border-radius: 7rem;
    padding: 6.9rem 1.5rem 8rem;
    box-shadow: 0 .4rem 1rem rgba(0,0,0,.1);
}

/* ==========================================
school02
========================================== */

/*------IMG LOOP------*/

.loop-wrapper {
  display: flex;
  align-items: center;
  overflow: hidden;
  height: auto;
}

.loop-img-area {
  display: flex;
  animation: loop-slide 50s infinite linear 1s both;
}

.loop-img-box {
	width: 50.4rem;
    /*height: 0; /* 追加 */
	position: relative;
    padding: 31.6rem 0 0;
    margin: 0 1rem;
    overflow: hidden;
}

.loop-img-box > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

/*アニメーション*/
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
} 

/* ==========================================
school03
========================================== */

.school03-row {
    width: 100%;
    margin: 0 auto;
    justify-content: flex-start;
}

.school03-row:nth-of-type(2n) {
    justify-content: flex-start;
} 

.school03-left {
    width: 50%;
    margin: 0 10rem 0 0;
}

.school03-right {
    max-width: 68rem;
    width: 50%;
    padding: 0 1.5rem;
}

.school03-row:nth-of-type(2n) .school03-left {
    margin: 0 0 0 10rem;
}

.school03-right .school-text {
    margin: 4rem 0 0;
    font-weight: 700;
    line-height: 2em;
}

.school03-right .in-msg {
    margin: 1.5rem 0 0;
}

.sub-msg {
    font-size: 2.5rem;
    font-weight: 700;
}

/* ==========================================
school04
========================================== */

.school04.bg-fifth {
    background-color: var(--fifth);
}

.school04 {
    border-radius: 0 30rem 0 0;
}

.school04-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 7rem auto 0;
}

.school04-card {
    max-width: 50rem;
    width: 32.5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.school-title {
    font-family: var(--font-family01);
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}

.school04-card .school-title {
    margin: 2rem 0 0;
}

.school-title .has-inline-color {
    color: var(--primary) !important;
}

.school-text-box {
    max-width: 35rem;
    width: 100%;
    margin: 2.4rem auto 0;
}

.school-text-box .text01 {
    font-weight: 700;
    line-height: 1.85em;
}

/* ==========================================
school05
========================================== */

.school05 {
    padding: 15rem 0 0;
}

.school05-contents {
    max-width: 110rem;
    width: 100%;
    margin: 0 auto;
    border-radius: 7rem;
    padding: 6.9rem 1.5rem 3rem;
    box-shadow: 0 .4rem 1rem rgba(0, 0, 0, .1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.school05-contents.bg-white {
    background-color: var(--white);
}

.school05-grid-box {
    max-width: 94rem;
    width: 100%;
    margin: 6rem auto 0;
    position: relative;
}

.school05-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
}

.school05-item {
    max-width: 20.6rem;
    width: 100%;
    margin: 0 auto;
}

.school05-text {
    margin: .5rem 0 0;
    font-size: 1.8rem;
    font-weight: 700;
}

.remark-text {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: right;
    margin: 6rem 0 0;
    z-index: 1;
}

/* ==========================================
school06
========================================== */

.school06-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.faq {
    width: 100%;
    margin: 8rem 0 0;
}

.faq-block {
    border-bottom: .3rem dashed;
}

.faq-header {
    display: flex;
    align-items: center;
    padding: 0 0 2rem 0;
}

.faq-block:nth-child(n+2) .faq-header {
    padding: 2rem 0;
}

.faq-body {
    display: flex;
    align-items: baseline;
    letter-spacing: 0.05em;
    line-height: 1.6em;
    padding: .5rem 0 1rem 0;
    font-weight: 500;
}

.faq-body {
    padding: .5rem 0 1.5rem 0;
}

.faq-icon {
    max-width: 6rem;
    width: 100%;
    height: 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-size: 3rem;
    line-height: 1em;
    letter-spacing: 0;
    font-weight: 700;
}

.faq-icon-q {
    background-color: var(--primary);
}

.faq-text-box {
    flex-grow: 1;
    flex-basis: .1rem;
    margin: 0 0 0 2%;
}

.q-text {
    font-size: 1.8rem;
    font-weight: 700;
}

.faq-icon-a {
    background-color: #fff;
    border: 1px solid var(--primary);
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

    .sub-msg {
        font-size: 2.2rem;
        font-weight: 700;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {



    /* ==========================================
	school01
	========================================== */

    .school01-illust {
        width: 16%;
    }

    /* ==========================================
	school03
	========================================== */

    .school03-left {
        margin: 0 3rem 0 0;
    }

    .school03-row:nth-of-type(2n) .school03-left {
        margin: 0 0 0 3rem;
    }

    /* ==========================================
    school05
    ========================================== */

    .school05 {
        padding: 8rem 0 0;
    }



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

    /* ==========================================
    school03
    ========================================== */

    .school03-row {
        justify-content: center;
    }

    .school03-row:nth-of-type(2n) {
        justify-content: center;
        margin: 6rem auto 0;
    }

    .school03-left {
        width: 100%;
        margin: 0 auto;
        padding: 0 1.5rem;
    }

    .school03-right {
        width: 100%;
        margin: 3rem auto 0;
    }

    .school03-row:nth-of-type(2n) .school03-left {
        margin: 0;
    }

    .sub-msg {
        font-size: 2rem;
    }

    /* ==========================================
	school04
	========================================== */

    .school04 {
     	border-radius: 0 15rem 0 0;   
    }

    .school04-row {
        flex-direction: column;
        margin: 6rem auto 0;
    }

    .school04-card {
        width: 100%;
        margin: 0 auto;
    }

    .school04-card:nth-child(n+2) {
        margin: 4rem auto 0;
    }

    /* ==========================================
    school05
    ========================================== */

    .school05-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem;
    }

    .remark-text {
        font-size: 1.3rem;
        padding: 0 1.5rem 0 0;
    }


    /* ==========================================
    school06
    ========================================== */

    .faq-icon {
        max-width: 4rem;
        height: 4rem;
        font-size: 2rem;
    }

    .q-text {
        font-size: 1.6rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

    /* ==========================================
	school01
	========================================== */

    .school01-text-box .text01 {
        text-align: left;
    }

    .school01-text-box .text01 br {
        display: none;
    }



    /* ==========================================
	school04
	========================================== */

    .school04 {
     	border-radius: 0 10rem 0 0;   
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */