@charset "UTF-8";

body {
    opacity: 0;
    animation: bodyAppear .3s .3s forwards;
}

@keyframes bodyAppear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


/*============================
	kv 
============================*/
.kv {
    height: 1000px;
    overflow: hidden;
}
.kv__bnr{
max-width:264px;
	width:calc((264/1366)*100%);
	transform:translate(-50%,-50%);
	top:60%;
	left:75%;
		z-index:9;
}
.kv__left {
    width: 72%;
    background-image: url(../img/top/kv_main.jpg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    background-attachment: fixed;
    padding: 450px 3% 50px;
}


.kv__swiper {
    width: 28%;
    height: 1000px;

    .swiper-wrapper {
        transition-timing-function: linear;
    }
}

.kv__img {
    height: calc(768px/3);

    & img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}

.kv__logo {
    max-width: 793px;
    width: calc((793/988)*100%);
    position: relative;

    .obj {
        position: absolute;
        max-width: 532px;
        width: calc((532/793)*100%);
        top: 50%;
        left: 10%;
        transform: translate(-50%, -50%);
    }
}

.kv__copy {
    white-space: nowrap;
    z-index: 99;
    color: #fff;
    font-weight: 500;
    opacity: 0;
    animation: copyAnime 1s 1s forwards;

    & span {
        display: block;

    }

    .txt01 {
        font-size: min(2.2rem, 1.6vw);
    }

    .txt02 {
        font-size: min(1.6rem, 1.2vw);
    }

    .txt03 {
        font-size: min(4.2rem, 3.6vw);
        margin-top: 3em;
    }
}


.kv__swiper {
    overflow: hidden;
}

.kv .slide-in-active,
.kv .slide-inner.active {
    animation-delay: .5s;
}


.kv__scroll {
    position: absolute;
    max-width: 12px;
    left: 5%;
    bottom: 0;
    transform: translate(-50%);
    z-index: 99;
}

@keyframes copyAnime {
    0% {
        opacity: 0;
        transform: translateY(20px);
        ;
    }

    100% {
        opacity: 1;
        transform: translateY(0);

    }
}

@keyframes copyAnime02 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* swiper */

/* .kv .swiper-slide-active.swiper-slide-visible .swiper__imgwrap img,
.kv .swiper-slide-duplicate-active .swiper__imgwrap img,
.kv .swiper-slide-prev .swiper__imgwrap img {
    animation: zoom-out 10s linear 0s 1 normal both;
} */

@keyframes zoom-out {
    0% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}


.kv .swiper-pagination {
    left: 50% !important;
    bottom: 5%;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    transform: translate(-50%);
}

.kv .swiper-pagination-bullet {
    display: block;
    width: 8px;
    height: 8px;
    z-index: 99;
    background: #fff;
    border-radius: 50% !important;
    margin: 0 10px !important;
    opacity: 1;

}

.kv .swiper-pagination-bullet-active {
    opacity: 1;
    background: #ff8fcc;
}

@media screen and (max-width:979px) {
    .kv__img {
        width: 200px;
        height: auto;
    }
}
@media screen and (max-width:1024px) {
    .kv {
        height: 880px;
        overflow: hidden;
    }

    .kv__left {
        width: 72%;
        
        /*padding: 450px 3% 40px;*/
        padding: 450px 3% 98px;
		background-position:85% center;
    }

    .kv__swiper {
        width: 28%;
        height: 880px;
    }
    /*
    .kv__img {
        height: calc(768px/3);
    }
    */
    
    .kv__logo {
        width: calc((793/988)*100%);

        .obj {
            width: calc((523/547)*100%);
            top: 50%;
            left: 10%;
        }
    }

    .kv__copy {
        width: fit-content;
        position: relative;



        .txt01 {
            font-size: min(2.2rem, 1.6vw);
        }

        .txt02 {
            font-size: min(1.6rem, 1.2vw);
        }

        .txt03 {
            font-size: min(4.2rem, 3.6vw);
            margin-top: 3em;
        }
    }
}
@media screen and (max-width:980px) {
    .kv__swiper {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width:767px) {
    .kv {
        height: auto;
        min-height: auto;
    }
.kv__bnr{
max-width:170px;
	width:calc((170/390)*100%);
	transform:none;
	top:70px;
	left:0;
}
    .kv__left {
        width: 100%;
        padding: 0;
        background: none;
    }
	.kv__img--sp{
width:100%;
		& img{
width:100%;}}
    

    .kv__img {
        width: 200px;
        height: auto;
    }

    .kv__logo {
        max-width: 340px;
        width: 90%;
        position: absolute;
        top: 80%;
        left: 50%;
        transform: translate(-50%, -50%);

        .obj {
            width: calc((523/547)*100%);
            top: 50%;
            left: 10%;
        }
    }

    .kv__copy {
        width: 100%;
        padding: 50px 5%;
        border-radius: 20px 20px 0 0;
        margin-top: -20px;
        background: url(../img/top/about_bg.png) no-repeat center center/cover, #fff;
        color: #000000;

        .txt01 {
            font-size: 2.2rem;
        }

        .txt02 {
            font-size: 1.6rem;
        }

        .txt03 {
            font-size: 3.2rem;
            margin-top: 1em;
        }
    }


}

/*============================
  news
============================*/
.bg-bg {
    &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 90%;
        background: url(../img/top/about_bg.png) no-repeat center bottom/cover, #fff;
        top: 0;
        left: 0;
        z-index: 1;
        border-radius: 20px 20px 0 0;
    }
}


.news {
    padding: 80px 0 0;

    margin-top: -20px;
    z-index: 99;
}


.news__ttlwrap {
    align-items: baseline;
}

.news__ttl {
    display: flex;
    align-items: baseline;

    .txt {
        margin-left: .5em;
    }
}

.news__btn {
    color: #7C98A2;
    font-weight: 500;
}

.news__items {
    display: flex;
    width: 102%;
    margin-left: -1%;
    position: relative;
    z-index: 1;
}

.news__atc {
    width: 24%;
    margin: 0 1%;

    & a {
        display: block;
        align-items: flex-start;
        width: 100%;
        height: 100%;
        padding: 30px 4%;
        background: #fff;
        border-radius: 5px;

    }

}

.news__atc--ttl {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin-bottom: 1em;
    line-height: 1.5;
    min-height: 3em;
}

.news__info {
    padding-top: 1em;
    border-top: solid 1px #CBCBCB;
}



@media screen and (max-width:1024px) {

    .news {
        padding: 60px 0 0;
    }


    .news__ttl {
        .txt {
            margin-left: .5em;
        }
    }

    .news__items {
        width: 102%;
        margin-left: -1%;
    }

    .news__atc {
        width: 24%;
        margin: 0 1%;

        & a {
            height: 100%;
            padding: 20px 4%;
        }

    }

    .news__atc--ttl {
        margin-bottom: 1em;
        line-height: 1.5;
        min-height: 3em;
    }

    .news__info {
        padding-top: 1em;
    }


}

@media screen and (max-width:767px) {
    .text-right-mobile{
        text-align:right !important;
    }

    .news {
        padding: 50px 0 0;
    }


    .news__ttl {
        display: block;
        margin-bottom: 20px;

        .txt {
            margin: .5em 0 0;
        }
    }

    .news__items {
        width: 100%;
        margin-left: 0;
        display: block;
    }

    .news__atc {
        width: 100%;
        margin: 0 auto 20px;

        & a {
            padding: 20px 5%;
        }

    }

    .news__atc--ttl {
        margin-bottom: 1em;
        min-height: auto;
    }

    .news__info {
        font-size: 1.4rem;
        padding-top: 1em;
        display: flex;
    }

    .news__data {
        margin-right: 1em;
    }

    .news__btn {
        width: fit-content;
        margin: 1em 0 0 auto;
    }


}

/*============================
 about
============================*/
.about {
    padding: 150px 0;
z-index: 9;
    .inner__large {
        padding: 0 0 0 1%;
    }
}

.about__flex {
    position: relative;
    align-items: flex-start;
}

.about__left {
    width: 50%;
    position: relative;
    z-index: 9;
}

.about__txtwrap {
    max-width: 540px;
    margin: 0 0 0 auto;
    padding: 0 5% 0 0;
}

.about__right {
    width: 50%;

}

.about__img:first-child {
    max-width: 460px;
    width: calc((460/680)*100%);
    margin: 0 5% 60px auto;

    .point {
        max-width: 210px;
        width: calc((210/460)*100%);
        top: 80%;
        left: 87%;
        transform: translate(-50%, -50%);
    }
}

.about__img:nth-child(2) {
    max-width: 323px;
    width: calc((323/680)*100%);
    position: absolute;
    top: 65%;
    left: -22%;
    transform: translate(0, -50%);

    .point {
        max-width: 210px;
        width: calc((323/460)*100%);
        top: 90%;
        left: 90%;
        transform: translate(-50%, -50%);
    }

}

.about__img:nth-child(3) {
    max-width: 470px;
    width: calc((470/680)*100%);
    margin: 0 0 0 auto;

    .point {
        max-width: 210px;
        width: calc((210/470)*100%);
        top: 85%;
        left: 20%;
        transform: translate(-50%, -50%);
    }

}

.about__h3 {
    white-space: nowrap;

}

.about__h4,
.about__txt {
    text-shadow: 1px 1px #fff;
}

.about__btn.sponly {
    display: none;
}

@media screen and (max-width:1024px) {
    .about {
        padding: 100px 0;

        .inner__large {
            padding: 0 0 0 3%;
        }
    }

    .about__left {
        width: 50%;
    }

    .about__txtwrap {
        margin: 0 0 0 auto;
        padding: 0 5% 0 0;
    }

    .about__right {
        width: 50%;
    }

    .about__img:first-child {
        width: calc((460/680)*100%);
        margin: 0 5% 40px auto;

        .point {
            width: calc((210/460)*100%);
            top: 80%;
            left: 87%;
        }
    }

    .about__img:nth-child(2) {
        width: calc((323/680)*100%);
        top: 65%;
        left: -24%;

        .point {
            width: calc((323/460)*100%);
            top: 90%;
            left: 90%;
        }

    }

    .about__img:nth-child(3) {
        width: calc((470/680)*100%);
        margin: 0 0 0 auto;

        .point {
            width: calc((210/470)*100%);
            top: 85%;
            left: 20%;
        }

    }

}

@media screen and (max-width:767px) {
    .about {
        padding: 100px 0;

        .inner__large {
            padding: 0 5%;
        }

    }

    .about__left {
        width: 100%;
    }

    .about__txtwrap {
        margin: 0 0 0 auto;
        padding: 0 5% 0 0;
    }

    .about__right {
        width: 100%;
    }

    .about__img .img {
        object-fit: cover;
        width: 100%;
        height: 430px;
        border-radius: 5px;
    }

    .about__img:first-child {
        width: 100%;
        max-width: none;
        margin: 0 auto 40px;

        .point {
            width: calc((140/344)*100%);
            top: 90%;
            left: 80%;
        }
    }

    .about__img:nth-child(2) {
        width: 100%;
        max-width: none;
        margin: 0 auto 50px;
        top: auto;
        left: auto;
        position: relative;
        transform: none;

        .point {
            width: calc((140/344)*100%);
            top: 90%;
            left: 80%;
        }

    }

    .about__img:nth-child(3) {
        width: 100%;
        max-width: none;
        margin: 0 auto;

        .point {
            width: calc((140/344)*100%);
            top: 90%;
            left: 80%;
        }

    }

    .about__btn.spnone {
        display: none;
    }

    .about__btn.sponly {
        display: flex;
        margin-top: 50px;
    }
}

/*============================
 guide
============================*/

.guide__ttl {
    display: flex;
    align-items: baseline;
    z-index: 99;
    max-width: 1080px;
    margin: 0 auto;

    .txt {
        margin-left: .5em;
    }
}

/* gsap */
.guide {
    .gsap-wrapper {
        width: 100%;
        height: 400vh;
    }

    .gsap-container {
        position: relative;
        width: 100%;
        margin: 0 auto;
        min-height: 100vh;
        /* display: flex;
        justify-content: center; */
        position: sticky;
        overflow: hidden;
        top: 0;
        padding: 100px 0 0;
    }

    .gsap-mask {
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    .guide__items {
        width: 1860px;
        position: absolute;
        top: 200px;
        left: 50%;
    }
}

.guide__atc {
    width: 520px;
    margin: 0 50px;
    position: relative;

    .sub-img {
        max-width: 185px;
        width: calc((185/520)*100%);
        top: 0;
        right: 0;
        position: absolute;
        z-index: -1;
    }

}

.guide__h3 {
    font-weight: 500;
}

.guide__txt {
    line-height: 1.5;
    margin-top: .5em;
    max-width: 22em;
    font-size: 1.6rem;
}

.guide__img {
    max-width: 350px;

}

.guide__btn {
    margin-top: 100px;
}

@media screen and (max-width:1024px) {

    .guide__ttl {
        margin: 0 auto;
        padding: 0 3%;

        .txt {
            margin-left: .5em;
        }
    }

    /* gsap */
    .guide {
        .gsap-wrapper {
            height: 400vh;
        }

        .gsap-container {
            min-height: calc(100vh - 100px);
            top: 0;
            padding: 100px 0 0;
        }


        .guide__items {
            width: 150%;
            top: 50%;
            left: 50%;
            transform: translate(0, -50%);
        }
    }

    .guide__atc {
        width: 28%;
        margin: 0 2%;

        .sub-img {
            width: calc((185/520)*100%);
            top: 0;
            right: 0;
        }

    }

    .guide__txt {
        margin-top: .5em;
        max-width: 22em;
        font-size: 1.4rem;
    }

    .guide__img {
        max-width: 350px;
        width: 85%;

    }

    .guide__btn {
        margin-top: 0;
    }
}

@media screen and (max-width:767px) {
    .guide {
        padding: 0;
    }

    .guide__ttl {
        display: block;
        padding: 0 5%;
        margin-bottom: 50px;

        .txt {
            margin: .5em 0 0;
        }
    }

    /* gsap */
    .guide {
        .gsap-wrapper {
            height: auto;
        }

        .gsap-container {
            min-height: auto;
            top: auto;
            padding: 0;
            position: relative;
        }


        .guide__items {
            display: block;
            width: 100%;
            top: auto;
            left: auto;
            transform: none;
            position: relative;
            padding: 0 5%;
        }
    }

    .guide__atc {
        width: 100%;
        margin: 0 auto 50px;

        .sub-img {
            width: calc((185/520)*100%);
            top: 0;
            right: 0;
        }

    }

    .guide__h3 {
        font-size: 2rem;
    }

    .guide__txt {
        margin-top: .5em;
        max-width: 22em;
        font-size: 1.4rem;
    }

    .guide__img {
        max-width: 350px;
        width: 85%;

    }

    .guide__btn {
        margin-top: 0;
    }
}



/*============================
 lesson
============================*/
.lesson {
    padding: 150px 0 0;
}

.lesson__ttl {
    display: flex;
    align-items: baseline;

    .txt {
        margin-left: .5em;
    }
}

.lesson__box {
    padding: 40px 5% 60px;
    border-radius: 5px;
    background: url(../img/top/plan_bg01.png) no-repeat center center/cover;
}

.lesson__h3 {
    width: fit-content;
    padding: 0 1em .5em;
    border-bottom: dotted 4px #464D83;
    margin: 0 auto 30px;

    & span {
        display: block;
    }
 
}

.lesson__atc {
    width: 50%;
    border-right: dotted 1.5px #464D83;
    padding: 0 1em 160px;
    position: relative;

    &:last-child {
        border: none;
    }

    .box-txt {
        width: fit-content;
        margin: 0 auto;
        padding: 0 1em;
        border-radius: 17px;
        border: solid 1px #464D83;
        margin-bottom: 1em;
        font-weight: 500;
    }
}

.lesson__atc--inner {
    width: fit-content;
    margin: 0 auto;
}

.lessonn__price {
    display: flex;
    justify-content: center;
    white-space: nowrap;
    align-items: self-end;
    margin-bottom: 1em;

    .fs-56 {
        font-size: 5.6rem;
        line-height: 1;
        font-weight: 500;
    }

    .fs-18 {
        padding-left: 1em;
        font-weight: 500;
    }

    .fs-10 {
        font-size: 1rem;
        line-height: 1;
        display: block;
        font-weight: 500;
    }
}

.lesson__btnwrap {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);

    .lesson__btn {
        width: 270px;
        height: 52px;
        margin-bottom: 20px;
        text-align: center;
        font-size: 1.4rem;
        justify-content: center;

        &:last-child {
            margin-bottom: 0;
            background: none;

            &:hover {
                background-color: #464D83;
            }
        }
    }
}

.lesson__items02 {
    .lesson__atc {
        width: 48%;
        background: url(../img/top/plan_bg02.png) no-repeat center center/cover;
        border-radius: 5px;
        padding: 40px 4% 220px;
        position: relative;
        border: none;
    }

    .lesson__h4 {
        width: fit-content;
        padding: 0 1em .25em;
        border-bottom: dotted 4px #464D83;
        margin: 0 auto 20px;

        & span {
            display: block;
        }
    }

    .lesson__btnwrap {
        bottom: 40px;
    }

}

.lesson__btnwrap02 {
    .lesson__btn {
        margin: 0 2%;
        max-width: 45%;
    }
}

@media screen and (max-width:1024px) {
    .lesson {
        padding: 100px 0 0;
    }


    .lesson__box {
        padding: 40px 5% 60px;
    }

    .lesson__h3 {
        padding: 0 1em .5em;
        border-bottom: dotted 3px #464D83;
        margin: 0 auto 30px;
    }

    .lesson__atc {
        width: 50%;
        border-right: dotted 1.5px #464D83;
        padding: 0 1em 160px;


        .box-txt {
            margin: 0 auto;
            border-radius: 15px;
            margin-bottom: 1em;
        }
    }

    .lessonn__price {
        margin-bottom: 1em;

        .fs-56 {
            font-size: 4rem;
        }

        .fs-18 {
            padding-left: 1em;
        }

        .fs-10 {
            font-size: 1rem;
        }
    }

    .lesson__btnwrap {
        bottom: 0;
        left: 50%;

        .lesson__btn {
            width: 230px;
            height: 45px;
            margin-bottom: 15px;
        }
    }

    .lesson__items02 {
        .lesson__atc {
            width: 48%;
            padding: 40px 3% 200px;
        }

        .lesson__h4 {
            padding: 0 1em .25em;
            border-bottom: dotted 3px #464D83;
            margin: 0 auto 20px;

        }

        .lesson__btnwrap {
            bottom: 30px;
        }

    }

    .lesson__btnwrap02 {
        .lesson__btn {
            margin: 0 2%;
            max-width: 45%;
        }
    }

}

@media screen and (max-width:767px) {
    .lesson {
        padding: 100px 0 0;
    }

    .lesson__ttl {
        display: block;

        .txt {
            margin: .5em 0 0;
        }
    }

    .lesson__box {
        padding: 40px 5% 10px;
    }

    .lesson__h3 {
        padding: 0 1em .5em;
        border-bottom: dotted 3px #464D83;
        margin: 0 auto 30px;

        .fs-34 {
            font-size: 2.9rem;
        }
    }
    .lesson__h4{
        font-size: 2.2rem;
    }
    

    
    
    .lesson__atc {
        width: 100%;
        border: none;
        border-bottom: dotted 1.5px #464D83;
        padding: 0 0 30px;
        margin-bottom: 30px;


        .box-txt {
            margin: 0 auto;
            border-radius: 15px;
            margin-bottom: 1em;
        }
    }

    .lessonn__price {
        margin-bottom: 1em;

        .fs-56 {
            font-size: 5rem;
        }

        .fs-18 {
            padding-left: 1em;
        }

        .fs-10 {
            font-size: 1rem;
        }
    }

    .lesson__btnwrap {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        margin-top: 30px;

        .lesson__btn {
            width: 230px;
            height: 45px;
            margin-bottom: 15px;
        }
    }

    .lesson__items02 {
        .lesson__atc {
            width: 100%;
            padding: 40px 5% 40px;
        }

        .lesson__h4 {
            padding: 0 1em .25em;
            border-bottom: dotted 3px #464D83;
            margin: 0 auto 20px;
            font-size: 2.8rem;
            white-space: nowrap;
            letter-spacing: 0;

        }

        .lesson__btnwrap {
            bottom: auto;

        }

    }

    .lesson__btnwrap02 {
        .lesson__btn {
            margin: 0 auto 30px;
            max-width: 100%;

            &:last-child {
                margin-bottom: 0;
            }
        }
    }
}

/*============================
 executive
============================*/
.executive {
    padding: 150px 0 0;
}

.exe__box {
    padding: 60px 4%;
    background: url(../img/top/excutive_bg.png) no-repeat center center/cover;
}

.exe__left {
    width: 47%;
}

.exe__img {
    width: 50%;
}

.exe__ttl {
    display: flex;
    align-items: baseline;

    .txt {
        margin-left: .5em;
    }
}

@media screen and (max-width:1024px) {
    .executive {
        padding: 100px 0 0;
    }

    .exe__box {
        padding: 40px 3%;
    }

    .exe__left {
        width: 46%;
    }

    .exe__img {
        width: 50%;
    }

}

@media screen and (max-width:767px) {
    .executive {
        padding: 100px 0 0;
    }

    .exe__box {
        padding: 40px 5%;
        display: flex;
        flex-direction: column-reverse;
    }

    .exe__left {
        width: 100%;
    }

    .exe__img {
        width: 100%;
        margin-bottom: 30px;
    }
}

/*============================
 facility
============================*/
.facility {
    padding: 200px 0;
    background: url(../img/top/facility_bg.png) no-repeat center bottom/cover;
}

.faci__ttl {
    display: flex;
    align-items: baseline;

    .txt {
        margin-left: .5em;
    }
}

.faci__ill {
    width: 48%;

    & figcaption {
        position: absolute;
        top: 0;
        left: 0;
    }

    & img {
        display: block;
        width: 100%;
        max-width: 494px;
        margin: 0 auto;
    }

    &:nth-child(2) {
        & img {
            max-width: 500px;
        }
    }
}

.faci__atc {
    width: 24%;

    &:nth-child(even) {
        margin-top: 100px;
    }
}

.faci__img {
    max-width: 200px;
    margin: 0 auto;
}

.faci__h3 {
    margin: 1em 0 .5em;
}

.faci__txt {
    text-align: center;
}

@media screen and (max-width:1024px) {
    .facility {
        padding: 100px 0;
    }

    .faci__ttl {
        display: flex;
        align-items: baseline;

        .txt {
            margin-left: .5em;
        }
    }

    .faci__ill {
        width: 48%;

        & figcaption {
            top: 0;
            left: 0;
        }

        & img {
            margin: 0 auto;
        }

    }

    .faci__atc {
        width: 24%;

        &:nth-child(even) {
            margin-top: 50px;
        }
    }

    .faci__img {
        max-width: 200px;
        width: 80%;
        margin: 0 auto;
    }

    .faci__h3 {
        margin: 1em 0 .5em;
    }

}

@media screen and (max-width:767px) {
    .facility {
        padding: 100px 0;
    }

    .faci__ttl {
        display: block;
        margin-bottom: 30px;

        .txt {
            margin: .5em 0 0;
        }
    }

    .faci__ill {
        width: 100%;
        margin: 0 auto 60px;
		& figcaption{
	font-size:2.8rem;
		}
		& img{
width:80%;
		margin:0 auto;}
    }

    .faci__atc {
        width: 100%;
        margin-bottom: 50px;
        display: flex;
        align-items: center;
        justify-content: space-between;

        &:nth-child(even) {
            margin-top: 0;
            flex-direction: row-reverse;

        }
    }

    .faci__img {
        max-width: 200px;
        width: 48%;
        margin: 0;
    }

    .faci__txtwrap {
        width: 48%;
    }

    .faci__h3 {
        text-align: left;
        margin: 0 0 .5em;
        font-size: 1.6rem;
    }

    .faci__txt {
        text-align: right;
        font-size: 1.4rem;
    }
}

/*============================
 instructor
============================*/
.inst__img {
    & img {
        object-fit: cover;
        width: 100%;
        height: 440px;
    }
}

.inst__main {
    &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: calc(100% + 240px);
        background: url(../img/top/instructor_bg.png) no-repeat center center/cover;
        top: 0;
        left: 0;
    }
}

.inst__box {
    position: relative;
    top: -140px;
    background: #fff;
    padding: 60px 10%;
    margin-bottom: -140px;
}

.inst__ttl {
    .txt {
        margin-top: .5em;
    }
}

.inst__txtwarp {
    width: 55%;
}

@media screen and (max-width:1024px) {
    .inst__img {
        & img {
            height: 300px;
        }
    }

    .inst__main {
        &::before {
            height: calc(100% + 150px);
        }
    }

    .inst__box {
        top: -100px;
        padding: 40px 10%;
        margin-bottom: -100px;
    }


    .inst__txtwarp {
        width: 55%;
    }

}

@media screen and (max-width:767px) {
    .inst__img {
        & img {
            height: 280px;
        }
    }

    .inst__main {
        &::before {
            height: calc(100% + 150px);
        }
    }

    .inst__box {
        top: -100px;
        padding: 40px 10%;
        margin-bottom: -100px;
    }


    .inst__txtwarp {
        width: 100%;
    }
}

/*============================
 access
============================*/
.access {
    padding: 120px 0 0;
}

.acc__left {
    width: 40%;
}

.acc__img {
    width: 55%;
}

.acc__ttl {
    display: flex;
    align-items: baseline;

    .txt {
        margin-left: .5em;
    }
}

.acc__txt {
    & a {
        color: #7C98A2;
        text-decoration: underline;
    }
}

@media screen and (max-width:1024px) {
    .access {
        padding: 80px 0 0;
    }

    .acc__left {
        width: 40%;
    }

    .acc__img {
        width: 55%;
    }

}


@media screen and (max-width:767px) {
    .access {
        padding: 80px 0 0;
    }

    .acc__left {
        width: 100%;
    }

    .acc__img {
        width: 100%;
    }

    .acc__txt {
        margin: 1em 0 30px;
        font-size: 1.6rem;
    }

    .acc__pop {
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px;

        & img {
            display: block;
            width: 48%;
        }
    }
}