body {
    position: relative;
    font-family: 'Noto Serif JP', serif;
    overflow-x: hidden;
}

html {
    scroll-padding-top: 88px;
}

@media (min-width: 1025px) {
    html {
        scroll-padding-top: 120px;
    }
}

.max-w {
    position: relative;
}

.header__nav ul li a,
.header__btn p {
    color: #a1a1a1;
    text-indent: .1em;
    text-align: center;
    letter-spacing: .1em;
    transition: opacity .2s;
}

.header__nav ul li a:hover,
.header__btn p:hover {
    opacity: .6;
}

.header__nav ul li img {
    height: 32px;
    margin: 0 auto 5px;
}

.header__btn {
    position: relative;
    text-align: center;
    overflow: hidden;
    cursor: pointer;
}

.header__btn span {
    display: block;
    height: 2px;
    background: #a1a1a1;
    transition: transform .4s;
}

.openMenu {
    position: fixed;
    top: 0;
    left: 100%;
    background: #fff;
    border-left: 2px solid #ddd;
    z-index: 9999;
}

.openMenu-wrap>a:not(:last-child) {
    border-bottom: 1px solid #ddd;

}

.openMenu-wrap>a img {
    margin-right: 20px;
}

.openMenu-wrap {
    position: relative;
    height: 100vh;
    overflow: scroll;
}

main,
header,
footer,
.openMenu {
    transition: .4s;
}

.openMenu a {
    color: #a1a1a1;
}

.footer-txt__ul li a {
    transition: opacity .3s;
}

.footer-txt__ul li a:hover {
    opacity: .6;
}

.openMenu-sub a:nth-child(n + 2) {
    margin-top: 10px;
}

@media screen and (max-width: 1024px) {
    .pc-img {
        display: none;
    }

    .sec {
        padding: 10% 0;
    }

    footer {
        margin-top: 10%;
    }

    .max-w {
        margin: 0 5%;
    }

    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 15px;
        background: #fff;
        -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .1);
        box-shadow: 0 0 4px rgba(0, 0, 0, .1);
        z-index: 9999;
    }

    .header__btn span {
        width: 30px;
        margin: 5px;
    }

    body.navOpen .header__btn span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    body.navOpen .header__btn span:nth-child(2) {
        transform: translateX(201%);
    }

    body.navOpen .header__btn span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .header__btn p {
        font-size: 10px;
    }

    .openMenu-wrap {
        width: 250px;
        padding: 0 20px;
    }

    .openMenu-wrap>a {
        padding: 15px 0;
        font-size: 14px;
    }

    .img-wrap {
        display: flex;
        align-items: center;
        height: 42px;
    }

    .openMenu-wrap>a img {
        width: 30px;
    }

    body.navOpen main,
    body.navOpen header,
    body.navOpen footer,
    body.navOpen .openMenu {
        transform: translateX(-250px);
    }

    .openMenu-sub {
        padding: 15px;
    }

    .openMenu-sub a {
        font-size: 14px;
    }
}

@media screen and (min-width: 1025px) {
    header {
        display: flex;
        position: fixed;
        justify-content: flex-end;
        top: 0;
        left: 0;
        width: 100%;
        padding: 30px;
        background: #fff;
        z-index: 9999;
    }

    body.scrollOn header {
        -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .1);
        box-shadow: 0 0 4px rgba(0, 0, 0, .1);
    }

    .sp-img {
        opacity: 0;
        visibility: hidden;
    }

    body.scrollOn .sp-img {
        opacity: 1;
        visibility: visible;
        transition: 1s;
    }

    .sec {
        padding: 4% 0;
    }

    body:not(#opencampus) .mv {
        margin-bottom: 4%;
    }

    .mv {
        padding-top: 120px;
        box-sizing: content-box;
    }

    footer {
        margin-top: 4%;
    }

    .pc-img {
        position: absolute;
        top: 30px;
        left: 50px;
        z-index: 9999;
    }

    .pc-img__logo {
        max-width: 172px;
    }

    body.scrollOn .pc-img {
        z-index: 9998;
    }

    .header__nav ul li {
        margin-left: 30px;
        font-size: 12px;
        text-align: center;
    }

    @media (min-width: 1201px) {
        .header__nav ul li {
            font-size: 14px;
        }
    }

    @media (min-width: 1401px) {
        .header__nav ul li {
            margin-left: 50px;
            font-size: 16px;
        }
    }

    .header__btn span {
        width: 40px;
        margin: 8px;
    }

    body.navOpen .header__btn span:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    body.navOpen .header__btn span:nth-child(2) {
        transform: translateX(201%);
    }

    body.navOpen .header__btn span:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    .header__btn p {
        font-size: 12px;
    }

    .openMenu-wrap {
        width: 350px;
        padding: 0 20px;
    }

    .openMenu-wrap>a {
        padding: 20px;
    }

    .img-wrap {
        display: flex;
        align-items: center;
        height: 62px;
    }

    .openMenu-wrap>a img {
        width: 45px;
    }

    .img-wrap {
        display: flex;
        align-items: center;
        height: 42px;
    }

    body.navOpen main,
    body.navOpen header,
    body.navOpen footer,
    body.navOpen .openMenu {
        transform: translateX(-350px);
    }

    .openMenu-sub {
        padding: 20px;
    }

    /*body.scrollOn.navOpen header {
        left: -350px;
    }*/
}

.corona-banner {
    position: absolute;
    z-index: 2;
}


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

    .corona-banner {
        position: absolute;
        top: 1%;
        right: 1%;
        width: 33vw;
    }

}

@media screen and (min-width: 769px) {

    .corona-banner {
        position: absolute;
        top: 30px;
        right: 30px;
        width: 200px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1420px) {
    .max-w {
        margin-left: 12%;
        margin-right: 12%;
    }
}

@media screen and (min-width: 1421px) {
    .max-w {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

    .home #open {
        margin-left: 12%;
    }
}

/***********************************************/

.morebtn {
    position: relative;
    width: 250px;
    margin: 50px auto 0;
    padding: 15px;
    color: #8fabd0;
    text-align: center;
    text-indent: .1em;
    letter-spacing: .1em;
}

.morebtn::after,
.morebtn-3::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 10%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\f054";
    font-weight: bold;
    font-family: "Font Awesome 5 Free";
    transition: .3s;
}

.morebtn-2 {
    margin-top: 30px;
    color: #8fabd0;
    font-size: 14px;
}

.morebtn-3 {
    position: relative;
    margin-top: 60px;
    color: #fff;
    background: #d4b66e;
    text-align: center;
}

.morebtn:hover::after {
    transform: translateY(-50%) translateX(10px);
}

.morebtn-3 span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 2px solid #fff;
}

.morebtn-3 span::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border: 1px solid #fff;
    transition: .3s;
}

.morebtn.w,
.morebtn-2.w {
    color: #fff;
}

.morebtn-2::after {
    display: inline;
    content: "\f054";
    margin-left: .8em;
    font-weight: bold;
    font-family: "Font Awesome 5 Free";
}

.morebtn.border {
    border: 1px solid #8fabd0;
}

.morebtn.w {
    color: #5084CC;
    background: rgba(255, 255, 255, .9);
}

h2 {
    color: #5084CC;
    font-weight: 400;
    line-height: 1.3em;
}

h2.w {
    color: #fff;
}


h2.sub-before::before {
    display: block;
    color: #737373;
    font-weight: 600;
}

h2::after {
    display: block;
    color: #737373;
    font-weight: 600;
}

#educational-greeting h2.sub-before::before {
    content: "学校長あいさつ"
}

#educational-words h2::after {
    content: "学校長からのお便り"
}

#educational-education h2::after {
    content: "英語教育のトピックス"
}

#schoollife #news h2::after {
    content: "生徒会からのお知らせ"
}


#info h2::after {
    content: "お知らせ"
}

#edu h2::after {
    content: "教育の特色"
}

#school h2::after {
    content: "スクールライフ"
}

#open h2::after {
    content: "オープンキャンパス"
}

@media screen and (max-width: 1024px) {
    h2 {
        margin-bottom: 5%;
        font-size: 24px;
    }

    h2.btm {
        margin-top: 5%;
    }

    h2::before,
    h2::before,
    h2::after {
        font-size: 14px;
    }

    .morebtn-3 {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        padding: 20px 0;
        font-size: 14px;
    }

    .morebtn-3:last-child {
        margin-top: 15px;
    }

    .morebtn-3::after {
        display: none;
    }
}

@media screen and (min-width: 1025px) {
    h2 {
        margin-bottom: 30px;
        font-size: 32px;
    }

    h2::before,
    h2::after {
        font-size: 18px;
    }

    .morebtn-3 {
        width: 400px;
        margin-left: auto;
        margin-right: auto;
        padding: 30px 0;
    }

    .sp-a {
        display: none;
    }
}

/***********************************************/
.mv {
    position: relative;
}

/**********************下層ページトップ画像*************************/
#educational .mv__slide {
    background: url(../img/edu.webp) no-repeat center;
    background-size: cover;
}

#opencampus .mv__slide {
    background: url(../img/opencampus.webp) no-repeat center;
    background-size: cover;
}

#personal .mv__slide,
#recruit .mv__slide,
#inquiry .mv__slide {
    background: url(../img/contact.webp) no-repeat center;
    background-size: cover;
}

#access .mv__slide {
    background: url(../img/access.webp) no-repeat center;
    background-size: cover;
}

#information .mv__slide,
#information-words .mv__slide,
#information-guardians .mv__slide,
#information-education .mv__slide,
#information-schoollife .mv__slide,
#information-enrollment .mv__slide,
.single .mv__slide {
    background: url(../img/info.webp) no-repeat center;
    background-size: cover;
}

#profile .mv__slide {
    background: url(../img/profile.webp) no-repeat center;
    background-size: cover;
}

#courses .mv__slide {
    background: url(../img/courses.webp) no-repeat center;
    background-size: cover;
}

#schoollife .mv__slide {
    background: url(../img/schoollife.webp) no-repeat center;
    background-size: cover;
}

#college .mv__slide {
    background: url(../img/college.webp) no-repeat center;
    background-size: cover;
}

#guardians .mv__slide {
    background: url(../img/guardians.webp) no-repeat center;
    background-size: cover;
}

#enrollment .mv__slide {
    background: url(../img/enrollment.webp) no-repeat center;
    background-size: cover;
}

#madonna .mv__slide {
    background: url(../img/madonna.webp) no-repeat center;
    background-size: cover;
}



.mv__catch {
    line-height: 1.8em;
}

.mv__catch span {
    display: block;
}

.mv__sns {
    color: #5084CC;
    line-height: 1em;
}

.mv__sns::before {
    display: inline-block;
    content: "";
    width: .8em;
    height: .8em;
    margin-right: .4em;
}

.mv__sns.face::before {
    background: url(../img/facebook.webp) no-repeat center;
    background-size: cover;
}

.mv__sns.insta::before {
    background: url(../img/instagram.webp) no-repeat center;
    background-size: cover;
}

.scroll-nav {
    color: #5084CC;
    font-size: 12px;
    white-space: nowrap;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

.scroll-nav span {
    display: block;
    position: relative;
    height: 1px;
    margin-left: 1em;
    background: #5084CC;
}

.scroll-nav span::before,
.scroll-nav span::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 25%;
    height: 1px;
    background: #5084CC;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

.scroll-nav span::before {
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
}

.scroll-nav span::after {
    -webkit-transform: rotate(-25deg);
    transform: rotate(-25deg);
}

.mv__img {
    display: none;
}

@media screen and (max-width: 1024px) {
    .mv {
        margin-top: 88px;
    }

    .mv__slide {
        position: relative;
    }

    .home .mv__slide {
        padding-bottom: 75%;
    }

    body:not(.home) .mv__slide {
        height: 25vh;
    }

    .mv__img {
        position: absolute;
        bottom: 30px;
        right: 5%;
        width: 90%;
    }

    .mv__img img:first-child {
        width: 85%;
        margin-left: auto;
    }

    .mv__img img:last-child {
        width: 73%;
        margin-left: auto;
    }

    .mv-txt {
        position: relative;
        padding-bottom: 0;
    }

    .mv__catch {
        font-size: 22px;
    }

    .scroll-nav {
        position: relative;
        -webkit-transform-origin: left center;
        transform-origin: left center;
        -webkit-transform: translateX(90%) rotate(90deg);
        transform: translateX(90%) rotate(90deg);
    }

    .scroll-nav span {
        width: 30px;
    }

    .mv__link {
        margin-top: 30px;
    }

    .mv__link a {
        width: 20px;
        margin-right: 10px;
    }

    .mv-txt__banner {
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 9999;
    }

    .mv-txt__banner img {
        height: 115px;
    }

    .openMenu .mv__sns {
        margin-top: 20px;
        text-align: center;
    }
}

@media screen and (min-width: 1025px) {
    .home .mv {
        height: calc(100vh - 120px);
        min-height: 630px;
        max-height: 50vw;
    }

    body:not(.home) .mv {
        height: 60vh;
        min-height: 500px;
    }

    .mv__slide {
        height: calc(100% - 80px);
        width: 80%;
        margin-left: auto;
    }

    .home .mv__slide {
        height: calc(100% - 80px);
    }

    body:not(.home) .mv__slide {
        height: 100%;
    }


    .mv__txt {
        position: absolute;
        top: 50%;
        left: 12%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 85%;
        margin-left: auto;
    }

    .mv__catch {
        font-size: 35px;
        white-space: nowrap;
    }

    .mv__link {
        position: absolute;
        right: 0;
        bottom: -80px;
    }

    .mv__sns {
        letter-spacing: .1em;
    }

    .mv .mv__sns {
        -webkit-transform: translateY(50%);
        transform: translateY(50%);
        margin-right: 40px;
        margin-bottom: 40px;
    }

    .mv .mv__sns.insta {
        margin-right: 320px;
    }

    .openMenu .mv__sns {
        margin-top: 30px;
    }

    .scroll-nav {
        position: absolute;
        left: 12%;
        bottom: 80px;
        -webkit-transform-origin: right center;
        transform-origin: right center;
        -webkit-transform: translateX(-100%) rotate(90deg);
        transform: translateX(-100%) rotate(90deg);
    }

    .scroll-nav span {
        width: 50px;
    }

    .mv-banner {
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 9999;
    }
}

@media screen and (max-height: 800px) and (min-width: 1025px) {
    .mv__catch {
        transform: translateY(50px);
    }

    .scroll-nav {
        transform: translateX(-100%) rotate(90deg) translateX(70px);
    }
}

@media screen and (min-width: 1025px) and (max-height: 800px) {
    .mv__catch {
        font-size: 30px;
    }
}

/***********************************************/
#information #info {
    border-bottom: 1px solid #ddd;
}

.info__tab a {
    text-align: center;
    border: none;
    cursor: pointer;
}

.info__tab a.active {
    color: #fff;
    background: #5084cd;
}

.info-wrap {
    position: relative;
}

.home .info-ul:not(.active) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}

.info-li {
    position: relative;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}

.info-li:hover {
    opacity: .7;
}

.home .info-ul:not(.active) .info-li {
    opacity: 0;
    transform: translateY(70px);
}

.info-li__img {
    position: relative;
    padding-bottom: 66.66%;
}

.info-li__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit:cover';
}

.home .info-li__img img,
#information .info-li__img img,
#information-words .info-li__img img,
#information-guardians .info-li__img img,
#information-education .info-li__img img,
#information-schoollife .info-li__img img,
#information-enrollment .info-li__img img {
    width: 95%;
}

.info-li__tab {
    color: #fff;
    text-align: center;
    text-indent: .1em;
    letter-spacing: .1em;
    background: #5084cc;
}

.info-li__tab.words {
    background: #ac84c3;
}

.info-li__tab.guardians {
    background: #89bd72;
}

.info-li__tab.schoollife {
    background: #ea8a98;
}

.info-li__tab.education {
    background: #4bac9b;
}

.info-li__tab.enrollment {
    background: #c2972f;
}

.info-li__tab {
    margin: 0 15px;
}



.info-li__txt h2, .info-li__txt h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    color: #000;
    margin: 0;
    font-weight: bold;
}

.info-li__txt h2::after,
.info-li__txt h3::after {
    display: none;
}


.info-li__txt p {
    margin-top: 5px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: .8em;
    opacity: .6;
    overflow: hidden;
}

.info-li time {
    display: block;
    color: #5084CC;
    font-size: 14px;
    letter-spacing: .1em;
}

@media screen and (max-width: 1024px) {
    .info__tab a {
        width: calc(100% / 3);
        padding: 10px 0;
        font-size: 14px;
        border-left: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }


    .info__tab a:nth-child(1),
    .info__tab a:nth-child(2),
    .info__tab a:nth-child(3) {
        border-top: 1px solid #ccc;
    }

    .info__tab a:nth-child(3n) {
        border-right: 1px solid #ccc;
    }

    .info__tab a:not(:nth-child(3n)):last-child {
        border-right: 1px solid #ccc;
    }

    .info-li__tab {
        width: 90px;
        padding: 4px;
        font-size: 12px;
        white-space: nowrap;
    }

    .info-li__txt h2, .info-li__txt h3 {
        margin-top: 10px;
        font-size: 15px;
    }

    .info-li time {
        padding: 5px 0;
    }
}

@media screen and (min-width: 1025px) {
    .info__tab a {
        width: calc(100% / 6);
        padding: 20px 0;
        color: #ccc;
        border-top: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

    .info__tab a:first-child {
        border-left: 1px solid #ccc;
    }


    .info-li__tab {
        width: 100px;
        padding: 6px;
        font-size: 13px;
    }

    .info-li__txt h2, .info-li__txt h3 {
        font-size: 16px;
    }

    .info-li time {
        padding: 10px 0;
    }
}

/***********************************************/
.edu-li {
    position: relative;
    text-align: center;
    overflow: hidden;
}

.edu-li h3 {
    color: #fff;
}

.edu-li p {
    color: #fff;
    font-size: 14px;
    opacity: .8;
}

.edu-li::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform .3s;
    z-index: -1;
}

.edu-li:nth-child(1)::after {
    background: url(../img/edu-1.webp) no-repeat center;
    background-size: cover;
}

.edu-li:nth-child(2)::after {
    background: url(../img/edu-2.webp) no-repeat center;
    background-size: cover;
}

.edu-li:nth-child(3)::after {
    background: url(../img/edu-3.webp) no-repeat center;
    background-size: cover;
}

.edu-li:hover::after {
    transform: scale(1.1);
}

.edu-li h3::before {
    display: block;
    font-size: 35px;
    font-style: italic;
    line-height: 1em;
}

.edu-li:nth-child(1) h3::before {
    content: "01"
}

.edu-li:nth-child(2) h3::before {
    content: "02"
}

.edu-li:nth-child(3) h3::before {
    content: "03"
}

@media screen and (max-width: 1024px) {
    .edu__img {
        width: 100%;
    }

    .edu-head {
        text-align: center;
    }

    .edu-li {
        margin-top: 5%;
        padding: 5%;
    }

    .edu-li h3 {
        margin-bottom: 10px;
        font-size: 24px;
    }
}

@media screen and (min-width: 1025px) {
    .home #edu {
        margin-top: 4%;
    }

    .edu__img {
        position: absolute;
        top: 0;
        left: 0;
        width: 70%;
    }

    .edu-head {
        width: 38%;
        margin-left: auto;
    }

    .edu-li {
        width: calc(76vw / 3 - 20px);
        height: calc((76vw / 3 - 20px) * 1.5);
        margin-top: 50px;
        padding: 30px;
    }

    .edu-li:nth-child(2) {
        margin-left: 30px;
        margin-right: 30px;
    }

    .edu-li h3 {
        margin-bottom: 12px;
        font-size: 30px;
        font-weight: 200;
    }

    @media screen and (min-width: 1400px) {
        .edu-li {
            height: calc(76vw / 3 - 20px);
        }
    }
}

/***********************************************/
.school-li {
    position: relative;
    text-align: center;
    overflow: hidden;
}

.school-li h3 {
    color: #fff;
}

.school-li p {
    color: #fff;
}

.school-li::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    transition: .4s;
}

.school-li:nth-child(1)::before {
    background: url(../img/school-1.webp) no-repeat center;
    background-size: cover;
}

.school-li:nth-child(2)::before {
    background: url(../img/school-2.webp) no-repeat center;
    background-size: cover;
}

.school-li:nth-child(3)::before {
    background: url(../img/school-3.webp) no-repeat center;
    background-size: cover;
}

.school-li:nth-child(4)::before {
    background: url(../img/school-4.webp) no-repeat center;
    background-size: cover;
}

.school-li:nth-child(5)::before {
    background: url(../img/school-5.webp) no-repeat center;
    background-size: cover;
}

.school-li:hover::before {
    transform: scale(1.05);
}

.school-li::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: .8;
    transition: .4s;
}

.school-li:nth-child(1)::after {
    background: #C39730;
}

.school-li:nth-child(2)::after {
    background: #EA8A99;
}

.school-li:nth-child(3)::after {
    background: #5084CC;
}

.school-li:nth-child(4)::after {
    background: #88BE6E;
}

.school-li:nth-child(5)::after {
    background: #AC84C4;
}

.school-li:hover::after {
    transform: translateY(101%);
}

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

    .school-ul {
        margin-top: 5%;
    }

    .school-li {
        position: relative;
        height: 300px;
        padding: 10px;
    }

    .school-li:nth-child(1),
    .school-li:nth-child(2),
    .school-li:nth-child(3) {
        width: calc((100% / 3) - (2px / 3));
    }


    .school-li:nth-child(4),
    .school-li:nth-child(5) {
        width: calc(100% / 2 - .5px);
    }

    .school-li:nth-child(2) {
        margin-left: 1px;
        margin-right: 1px;
    }

    .school-li:nth-child(4) {
        margin-right: 1px;
    }

    .school-li h3 {
        height: 40px;
        font-size: 20px;
    }

    .school-li p:nth-child(2) {
        height: 110px;
        font-size: 14px;
    }

    .school-li p:nth-child(3) {
        font-size: 12px;
    }

    .school-li p.morebtn-2 {
        margin-top: 0;
    }
}

@media screen and (min-width: 1025px) {
    .school-ul {
        margin: 40px 0 60px;
    }

    .school-li {
        position: relative;
        width: calc(100% / 5 - .8px);
        height: 500px;
        padding: 60px 30px 30px;
    }

    .school-li:nth-child(2),
    .school-li:nth-child(4) {
        top: 60px;
    }

    .school-li:nth-child(3) {
        top: 30px;
    }

    .school-li:not(:last-child) {
        margin-right: 1px;
    }

    .school-li h3 {
        margin-bottom: 20px;
        font-size: 30px;
    }

    .school-li .morebtn-2 {
        position: absolute;
        left: 50%;
        bottom: 30px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

/***********************************************/
.home #open {
    margin: 4% 0;
    background: url(../img/open.webp) no-repeat center;
    background-size: cover;
}

.open-li__img {
    position: relative;
}

.open-li time {
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transform: translate(-10px, 10px);
    transform: translate(-10px, 10px);
    padding: 10px;
    background: #5184CC;
}

.open-li time p,
.open-li time span {
    color: #fff;
    text-align: center;
}

.open-li time p:first-child {
    font-size: 12px;
}

.open-li time p:last-child {
    font-size: 20px;
}

.open-li__ocrock {
    color: #5084CC;
}

.open-li__txt {
    color: rgba(115, 115, 115, .8);
    font-size: 15px;
}

@media screen and (max-width: 1024px) {
    .open-ul {
        margin: 0 5%;
    }

    .open-li {
        margin-top: 5%;
    }

    .open-li__img {
        width: 45%;
    }

    .open-li time p:first-child {
        font-size: 11px;
    }

    .open-li time p:last-child {
        font-size: 14px;
    }

    .open-li__head {
        width: 55%;
        padding: 5% 5% 0;
        background: #fff;
    }

    .open-li__head h3 {
        font-size: 14px;
    }

    .open-li__ocrock {
        margin-top: 5%;
    }

    .open-li__txt {
        width: 100%;
        padding: 5%;
        font-size: 14px;
        background: #fff;
    }

    .home #open {
        background: url(../img/open-sp.webp) no-repeat top center;
    }
}

@media screen and (min-width: 1025px) {
    .home #open {
        padding: 10%;
    }

    .open-li {
        width: calc((100% / 3) - (60px / 3));
    }

    .open-li__img {
        padding-right: 10%;
    }

    .open-li__img::after {
        display: block;
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 10%;
        height: 50%;
        background: #fff;
    }

    .open-li time p:first-child {
        font-size: 12px;
    }

    .open-li time p:last-child {
        font-size: 20px;
    }

    .open-li__head,
    .open-li__txt {
        margin-left: 10%;
        background: #fff;
    }

    .open-li__head {
        padding: 20px 20px 0;
    }

    .open-li__ocrock {
        margin-top: 5px;
    }

    .open-li__txt {
        padding: 10px 20px 20px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1420px) {

    .home #open {
        margin-left: 12%;
    }
}

@media screen and (min-width: 1421px) {
    .max-w {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

    .home #open {
        margin-left: calc(50vw - 600px);
    }
}

/***********************************************/
.aside-grid img {
    width: calc(100% / 3);
}

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

    .aside-face img,
    .aside-insta img {
        width: 100%;
    }
}

@media screen and (min-width: 1025px) {
    .aside-face {
        position: relative;
        width: 20%;
        background: #4167AA;
    }

    .aside-face img {
        width: 80%;
    }

    .aside-insta {
        position: relative;
        width: calc(20% - 20px);
        margin-left: 20px;
        background: url(../img/instagram-bg.webp) no-repeat center;
        background-size: cover;
    }

    .aside-txt {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    .aside-grid {
        width: 60%;
    }
}

/***********************************************/
footer {
    background: #eff4fa;
}


.copyright {
    display: block;
    text-align: center;
    background: #fff;
}

.footer-txt__address a {
    color: #5084CC;
    opacity: .8;
}

.to-top {
    background: #5084CC;
    transition: opacity .3s;
    opacity: 0;
}

.to-top.active {
    opacity: 1;
}

.to-top div {
    color: #fff;
    text-align: center;
}

.to-top img {
    width: 10px;
    margin: 0 auto 5px;
}

.page .to-top,
.single .to-top {
    position: fixed;
    right: 0;
    bottom: 0;
}

.home .to-top {
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (max-width: 1024px) {
    .footer__logo {
        width: 33%;
        margin: 0 auto;
    }

    .footer-txt__ul {
        margin: 10% 0;
    }

    .footer-txt__ul li {
        width: 50%;
        margin-top: 5%;
        padding: 0 5%;
    }

    .footer-txt__address {
        text-align: center;
        line-height: 1.8em;
    }

    .copyright {
        padding: 5% 0 130px;
    }

    .to-top {
        width: 60px;
        height: 60px;
    }

    .to-top div {
        font-size: 12px;
    }
}

@media screen and (min-width: 1025px) {
    .footer-txt {
        margin-left: 10%;
        font-size: 14px;
    }

    .footer-txt__ul {
        gap: 0 5px;
    }

    .footer-txt__ul li {
        width: calc(25% - 3.75px);
        margin-bottom: 10px;
    }

    .footer-txt__address {
        margin-top: 25px;
    }

    .copyright {
        padding: 4% 0;
    }

    .to-top {
        width: 80px;
        height: 80px;
    }

    .to-top div {
        font-size: 13px;
    }
}

@media screen and (min-width: 1401px) {
    .footer-txt {
        font-size: 16px;
    }
}

/***********************************************/
.clm-li {
    position: relative;
}

.clm-li__img {
    position: relative;
}

.educational-cnt .clm-li__img img {
    padding-top: 3%;
}

.clm-li--1 .clm-li__img img {
    margin-left: 3%;
}

.clm-li__tab {
    position: absolute;
    color: #fff;
    font-weight: 600;
    font-style: italic;
    text-indent: .1em;
    letter-spacing: .1em;
    background: #5084CC;
}

#educational-cnt--1 .clm-li__tab,
#educational-cnt--3 .clm-li__tab {
    top: 0;
    right: 0;
}

#educational-cnt--2 .clm-li__tab {
    top: 0;
    left: 0;
}

.clm-li__txt h3 {
    overflow: hidden;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis
}

.clm-li__txt h4 {
    margin-bottom: 5px;
}


.clm-ul--parent .clm-li__txt p {
    margin-top: 5px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: .9em;
    opacity: .9;
    overflow: hidden;
}

.clm-li time {
    display: block;
    color: #5084CC;
    font-size: 14px;
    letter-spacing: .1em;
}

.txt-h {
    display: block;
    margin-top: 10px;
    color: #5084CC;
}

@media screen and (max-width: 1024px) {
    .clm-ul:not(.flexbox):not(.flexbox-a):not(.flexbox-sp) {
        margin-top: 10%;
    }

    .clm-li {
        margin-top: 10%;
    }

    .clm-li--sp2 {
        width: calc(50% - 2.5vw);
    }

    .clm-li:not(.clm-li--1):not(.clm-li--2):nth-child(2n) {
        margin-left: 5vw;
    }

    #educational-words .clm-li:nth-child(3) {
        display: none;
    }

    .clm-li--1 .clm-li__img img {
        width: 40%;
    }

    .clm-li--1 .clm-li__img p.h3 {
        width: 55%;
        color: #5084CC;
        font-size: 18px;
    }

    .clm-li--1 .clm-li__txt {
        margin-top: 5%;
    }

    .clm-li__tab {
        padding: 10px;
    }

    .clm-li__txt h3 {
        font-size: 15px;
    }

    .clm-li time {
        padding: 5px 0;
    }
}

@media screen and (min-width: 1025px) {
    .clm-li--2 {
        width: calc(50% - 15px);
    }

    .clm-li--3 {
        width: calc(100% / 3 - 20px);
    }


    .clm-li--2:nth-child(2n) {
        margin-left: 30px;
    }

    .clm-li--2:nth-child(n + 3) {
        margin-top: 50px;
    }

    .clm-li--3:nth-child(2),
    .clm-li--3:nth-child(5),
    .clm-li--3:nth-child(8) {
        margin-left: 30px;
        margin-right: 30px;
    }

    .clm-li--3:nth-child(n + 4) {
        margin-top: 50px;
    }

    .clm-li--1 {
        padding-bottom: 50px;
        border-bottom: 1px solid #ddd;
    }

    .clm-li--1:not(:first-child) {
        padding-top: 50px;
    }

    .clm-li--1 .clm-li__img {
        width: 37%;
    }

    .clm-li--1 .clm-li__txt {
        width: 60%;
    }

    .clm-li__tab {
        padding: 10px;
        font-size: 24px;
    }

    .clm-li__txt h3 {
        font-size: 16px;
    }

    .clm-li time {
        padding: 10px 0;
    }
}

/***********************************************/
.mv__head {
    background: #5084cc;
}

.mv__head .title,
.mv__head h1 {
    color: #fff;
    font-weight: 300;
    line-height: 1.6;
}

.mv__head .title::after,
.mv__head h1::after {
    display: block;
}

#educational .mv__head h1::after {
    content: "Educational Features";
}

#opencampus .mv__head h1::after {
    content: "Open campus";
}

#inquiry .mv__head h1::after {
    content: "Inquiry";
}

#access .mv__head h1::after {
    content: "Access";
}

#information .mv__head h1::after,
#information-words .mv__head h1::after,
#information-guardians .mv__head h1::after,
#information-education .mv__head h1::after,
#information-enrollment .mv__head h1::after,
.single .mv__head .title::after {
    content: "Information";
}

#profile .mv__head h1::after {
    content: "Profile";
}

#courses .mv__head h1::after {
    content: "Courses";
}

#schoollife .mv__head h1::after {
    content: "School life";
}

#college .mv__head h1::after {
    content: "College & Career";
}

#guardians .mv__head h1::after {
    content: "For guardians";
}

#enrollment .mv__head h1::after {
    content: "Enrollment examination";
}

#madonna .mv__head h1::after {
    content: "Madonna";
}


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

    .mv__head {
        padding: 7%;
        text-align: center;
    }

    .mv__head .title,
    .mv__head h1 {
        font-size: 20px;
    }

    .mv__head .title::after,
    .mv__head h1::after {
        font-size: 12px;
    }
}

@media screen and (min-width: 1025px) {
    .mv__head {
        position: absolute;
        left: 0;
        bottom: 70px;
        padding: 60px 60px 60px 12%;
    }

    .mv__head .title,
    .mv__head h1 {
        font-size: 30px;
    }

    .mv__head .title::after,
    .mv__head h1::after {
        font-size: 14px;
    }
}

/***********************************************/

.educational-greeting__txt {
    background: #eff4fa;
}

.educational-greeting__txt .txt-name img {
    margin-left: 20px;
}

.top-banner {
    padding: 10% 0;
    text-align: center;
}

#educational-cnt--1 .top-banner {
    background: url(../img/educational-cnt--1.webp) no-repeat center;
    background-size: cover;
}

#educational-cnt--2 .top-banner {
    background: url(../img/educational-cnt--2.webp) no-repeat center;
    background-size: cover;
}

#educational-cnt--3 .top-banner {
    background: url(../img/educational-cnt--3.webp) no-repeat center;
    background-size: cover;
}

.top-intro h3 {
    text-align: center;
}

.educational-cnt .clm-li__txt h3 {
    color: #5084CC;
    font-weight: 300;
}

.edu-table {
    min-width: 450px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.edu-table .thead {
    background: #eff4fa;
}

.edu-table .thead th {
    color: #5084CC;
}

.edu-table .tleft {
    background: #eee;
}

.edu-table th,
.edu-table td {
    font-size: 14px;
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
}

.edu-table td {
    text-align: center;
}

.edu-table--2 th {
    width: 40%;
    background: #eff4fa;
}

.edu-table--2 td {
    width: 10%;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    #courses .table-wrap::before {
        display: block;
        content: "スライドしてご覧ください→";
        margin-bottom: 10px;
        color: #F34520;
        font-size: 13px;
    }

    .sec-tab__li {
        position: relative;
        padding: 15px 0;
        font-size: 14px;
        text-align: center;
        border-top: 1px solid #ddd;
        border-left: 1px solid #ddd;
    }

    .table-wrap {
        position: relative;
        overflow: scroll;
    }

    .edu-table {
        min-width: 450px;
    }

    .sec-tab--4 .sec-tab__li {
        width: 50%;
    }

    .sec-tab--4 .sec-tab__li:nth-child(2n) {
        border-right: 1px solid #ddd;
    }

    .sec-tab--4 .sec-tab__li:nth-child(n + 3) {
        border-bottom: 1px solid #ddd;
    }

    .sec-tab--3 .sec-tab__li {
        border-right: 1px solid #ddd;
    }

    .sec-tab--3 .sec-tab__li:nth-child(1) {
        width: 100%;
    }

    .sec-tab--3 .sec-tab__li:nth-child(n + 2) {
        width: 50%;
        border-bottom: 1px solid #ddd;
    }


    .sec-tab__li::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 10%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        content: "\f078";
        font-size: .8em;
        font-weight: bold;
        font-family: "Font Awesome 5 Free";
    }

    .educational-greeting__img {
        width: 90%;
    }

    .educational-greeting__txt {
        position: relative;
        padding: 7% 5% 5%;
    }

    .educational-greeting__txt::after {
        display: block;
        content: "";
        position: absolute;
        left: 95%;
        bottom: 0;
        width: 10%;
        height: calc(100% + 100px);
        background: #eff4fa;
    }

    .educational-cnt .clm-li__txt h3 {
        font-size: 20px;
        margin: 5% 0;
    }

    .txt-name {
        margin-top: 10%;
    }

    .top-intro {
        margin: 7% 5% 5%;
    }

    .top-intro h3 {
        margin-bottom: 5%;
        font-size: 16px;
    }

    .edu-mt {
        margin-top: 10%;
    }

    .edu-table th,
    .edu-table td {
        padding: 5px;
    }

    #educational .table-wrap::after {
        display: block;
        content: "スライドしてご覧ください→";
        width: 100%;
        margin-top: 10px;
        color: #F34520;
        font-size: 13px;
    }

}

@media screen and (min-width: 1025px) {
    #educational-greeting {
        margin-top: 4%;
    }

    .sec-tab__li {
        padding: 15px 0;
        color: #fff;
        text-align: center;
        background: #5084CC;
    }

    .sec-tab--4 .sec-tab__li {
        width: calc(25% - (3px / 4));
    }

    .sec-tab--3 .sec-tab__li {
        width: calc((100% / 3) - (2px / 3));
    }

    .educational-greeting__img {
        position: absolute;
        top: 0;
        left: 0;
        width: 50%;
        z-index: 1;
    }

    .educational-greeting__txt {
        width: 55%;
        margin-left: auto;
        padding: 50px 50px 50px calc(5% + 50px);
    }

    .educational-cnt .clm-li__txt h3 {
        font-size: 23px;
        margin: 10px 0;
    }

    .txt-name {
        margin-top: 50px;
    }

    .top-intro {
        margin: 50px 20%;
    }

    .top-intro h3 {
        margin-bottom: 20px;
        font-size: 24px;
    }

    .edu-mt {
        margin-top: 30px;
    }

    .edu-table th,
    .edu-table td {
        padding: 10px;
    }
}

/***********************************************/
.open-intro {
    position: relative;
    background: linear-gradient(-45deg, #719bd5, #4265b6);
}

.open-intro h2 {
    color: #fff;
    text-align: center;
    line-height: 1em;
}

.open-intro h2::after {
    display: block;
    content: "オープンキャンパス";
    color: #fff;
    font-weight: 300;
}

.open-intro p {
    color: #fff;
    text-align: center;
}

.open-intro__li {
    position: relative;
}

.open-intro__li__txt {
    background: #fff;
}

.open-intro__li__txt p {
    color: #5084CC;
    font-style: italic;
}

.open-intro__li__txt h3 {
    font-weight: 300;
    letter-spacing: .1em;
}

.open-intro__li__txt h3::after {
    display: block;
    content: "";
    color: #5084CC;
    letter-spacing: 0;
}


.open-intro__li:nth-child(1) h3::after {
    content: "Orientation";
}

.open-intro__li:nth-child(2) h3::after {
    content: "School Visit";
}

.open-intro__li:nth-child(3) h3::after {
    content: "Orientation in your city";
}

.open-intro__li:nth-child(4) h3::after {
    content: "Scholarship";
}

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

    .open-intro__img img.sp:nth-child(2) {
        position: absolute;
        top: 0;
        left: 0;
        width: 30%;
    }

    .open-intro__img img.sp:nth-child(3) {
        position: absolute;
        top: 0vw;
        right: 0;
        width: 20%;
        max-width: 120px;
    }

    .open-intro__li {
        margin-top: 10%;
        padding-bottom: calc(87.75px / 2);
    }

    .open-intro__li img {
        width: 100%;
    }

    .open-intro h2 {
        font-size: 24px;
    }

    .open-intro h2::after {
        font-size: 12px;
    }

    .open-intro__li__txt {
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 90%;
        padding: 5%;
    }

    .open-intro__li__txt p {
        margin-right: 5%;
        font-size: 30px;
        font-weight: 600;
    }

    .open-intro__li__txt h3 {
        font-size: 16px;
    }

    .open-intro__li__txt h3::after {
        font-size: 12px;
    }
}

@media screen and (min-width: 1025px) {
    #opencampus h1 img {
        position: absolute;
        top: 100%;
        left: 0;
        width: 130%;
        z-index: 1;
    }

    .open-intro__img img.pc {
        position: absolute;
        top: 0;
        right: 10%;
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%);
        width: 20%;
    }

    .open-intro__li {
        width: calc(50% - 25px);
        margin-top: 50px;
    }

    .open-intro__li:nth-child(2n) {
        margin-left: 50px;
    }

    .open-intro__li img {
        width: 95%;
    }

    .open-intro h2 {
        font-size: 60px;
    }

    .open-intro__li__txt {
        position: absolute;
        right: 0;
        bottom: 20px;
        padding: 30px;
    }

    .open-intro__li__txt p {
        margin-right: 20px;
        font-size: 50px;
        font-weight: 600;
    }

    .open-intro__li__txt h3 {
        font-size: 20px;
    }

    .open-intro__li__txt h3::after {
        font-size: 14px;
    }
}

/***********************************************/
#opencampus section:not(#openaside) {
    border-bottom: 1px solid #ddd;
}

.opentable h3 {
    font-weight: 300;
}

.opentable-box h4 {
    margin-bottom: 10px;
    color: #5084CC;
    font-weight: 300;
}

.opentable-ul {
    border: 1px solid #ddd;
}

.opentable-li:not(:last-child),
.openfooter-li:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.opentable-li .time {
    width: 300px;
    color: #5084CC;
}

.opentable-li:nth-child(odd) {
    background: #eff4fa;
}

p.opentable-box__comment {
    font-size: 14px;
}

.opentable-box__comment a {
    color: #5084CC;
}

.openfooter-wrap {
    border: 1px solid #ddd;
}

#openfooter h2 {
    margin: auto;
    color: #fff;
    background: #85a9db;
}

.openfooter-li .time {
    margin-bottom: 5px;
    color: #5084CC;
    font-weight: bold;
}

#openaside h4 {
    margin-bottom: 20px;
    color: #5084CC;
    text-align: center;
    border: 1px solid #5084cc;
}

.openaside-li__txt {
    margin-top: 10px;
}

.openaside-li__txt span {
    color: #5084CC;
    font-weight: 600;
}

.openaside-li__txt p {
    margin-top: 15px;
}

@media screen and (min-width: 1025px) and (max-width:1500px) {
    #opencampus h1 img {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {
    .opentable h3 {
        margin-bottom: 30px;
        font-size: 20px;
    }

    .opentable-box {
        margin-top: 10%;
    }

    .opentable-box h4 {
        font-size: 18px;
    }

    .opentable-li {
        padding: 5%;
    }

    .opentable-li .time {
        margin-bottom: 5px;
    }

    .opentable-box__comment {
        margin-top: 5%;
    }

    .opentable-box__comment__head {
        margin-bottom: 10px;
    }

    .opentable-box__comment__head img {
        width: 30%;
    }

    .opentable-box__comment__head p {
        width: 65%;
        color: #5084CC;
    }

    .openfooter-ul {
        padding: 0 5%;
    }

    .openfooter-li {
        padding: 5% 0;
    }

    #openfooter h2 {
        padding: 5%;
        font-size: 20px;
    }

    #openaside h4 {
        padding: 10px;
    }

    .openaside-li:nth-child(2) {
        margin-top: 10%;
    }
}

@media screen and (min-width: 1025px) {

    .opentable h3 {
        margin-bottom: 5%;
        font-size: 28px;
    }

    .opentable-box {
        margin-top: 50px;
    }

    .opentable-box h4 {
        font-size: 20px;
    }

    .opentable-li {
        padding: 15px;
    }

    .opentable-box__comment {
        margin-top: 30px;
    }

    .opentable-box__comment__head img {
        margin-right: 30px;
    }

    .opentable-box__comment h5 {
        margin-bottom: 10px;
        color: #5084CC;
        font-size: 20px;
        font-weight: 300;
    }

    #openfooter h2 {
        display: inline-block;
        padding: 15px;
        font-size: 24px;
    }

    .openfooter-ul {
        padding: 15px 30px 30px;
    }

    .openfooter-li {
        padding: 15px 0;
    }

    #openaside h4 {
        padding: 15px;
    }

    .openaside-li {
        width: calc(50% - 15px);
    }
}

/***********************************************/
.inquiry-intro {
    position: relative;
    text-align: center;
    background: #edf2fa;
}

.inquiry-intro::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #edf2fa;
    z-index: -1;
}

.inquiry-intro h2 {
    color: #737373;
    font-weight: 300;
    text-align: center;
}

.inquiry-table {
    text-align: center;
    background: #edf2fa;
    text-align: center;
}

.inquiry-tr:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.req {
    color: #fff;
    font-size: 12px;
    background: #e7637f;
}

.any {
    color: #fff;
    font-size: 12px;
    background: #5084cc;
}

.inquiry-table input::-webkit-input-placeholder,
.inquiry-table textarea::-webkit-input-placeholder {
    opacity: .5;
}

.inquiry-table input:-ms-input-placeholder,
.inquiry-table textarea:-ms-input-placeholder {
    opacity: .5;
}

.inquiry-table input::placeholder,
.inquiry-table textarea::placeholder {
    opacity: .5;
}

.postbtn {
    color: #fff;
    font-size: 14px;
    text-align: center;
    background: #5084cc;
}

.inquiry-td__select {
    position: relative;
}

.inquiry-td--y span {
    width: 90px;
    margin-right: 10px;
}

.inquiry-td input {
    width: 100%;
}

.inquiry-td--clm3.addr input {
    margin-left: 10px;
}

#inquiry .morebtn {
    display: block;
    background: #fff;
}

#inquiry .wpcf7-spinner {
    display: block;
    margin: 10px auto 0;
}

.backbtn input {
    display: block;
}

#inquiry .wpcf7 form .wpcf7-response-output {
    margin: 10px auto 0;
}

.backbtn input:nth-child(2) {
    margin-top: 20px;
}

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

    .inquiry-table {
        margin-top: 10%;
    }

    .inquiry-table {
        padding: 5%;
    }

    .req,
    .any {
        padding: 2px 8px;
    }

    .inquiry-table h2 {
        font-size: 20px;
    }

    .inquiry-table .inquiry-td:not(.inquiry-td--y):not(.inquiry-td--clm2):not(.inquiry-td--clm3) input,
    .inquiry-table select,
    .inquiry-table textarea {
        width: 100%;
    }

    .inquiry-tr {
        padding: 5% 0;
        text-align: left;
    }

    .inquiry-th {
        margin-bottom: 10px;
        font-size: 13px;
    }

    .inquiry-th span {
        margin-right: 10px;
    }


    .inquiry-th {
        padding: 10px 0;
    }

    .inquiry-td input,
    .inquiry-td select {
        position: relative;
        padding: 10px;
    }

    .inquiry-td--clm3 span {
        width: 30%;
    }

    .inquiry-td--clm2 span {
        width: calc(50% - 2.5%);
    }

    .inquiry-td--select span::after {
        display: block;
        content: "\f107";
        position: absolute;
        top: 7px;
        right: 10px;
        font-weight: bold;
        font-family: "Font Awesome 5 Free";
        line-height: 1em;
        pointer-events: none;
    }
}

@media screen and (min-width: 1025px) {
    .inquiry-intro {
        padding: 30px;
    }

    .req,
    .any {
        padding: 4px 8px;
    }

    .inquiry-intro p.head,
    .inquiry-table h2 {
        font-size: 24px;
    }

    .inquiry-intro p.call {
        font-size: 36px;
    }

    .inquiry-intro p.sub {
        margin-top: 20px;
    }

    .inquiry-table {
        margin-top: 4%;
        padding: 50px 50px 16px;
    }

    .inquiry-tr {
        padding: 20px 0;
    }

    .inquiry-th {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
        flex-flow: row-reverse;
        width: 25%;
        height: 45.5px;
    }

    .inquiry-td {
        width: calc(75% - 30px);
    }

    .inquiry-td input {
        padding: 15px;
    }

    .inquiry-td--clm2 span {
        width: calc(50% - 15px);
    }

    .inquiry-td--100 input,
    .inquiry-td--100 textarea {
        width: 100%;
        padding: 15px;
    }

    .inquiry-td__select {
        width: 40%;
    }

    .inquiry-td select {
        display: block;
        width: 100%;
        padding: 15px;
    }

    .inquiry-td--select span {
        width: 50%;
    }

    option::hidden {
        opacity: .6;
    }

    .inquiry-td--100 input:not(:first-child) {
        margin-top: 15px;
    }

    .postbtn {
        width: 30%;
        padding: 12.5px;
    }

    .inquiry-td--clm3 {
        margin-bottom: 15px;
    }

    .inquiry-td--clm3 span {
        width: 30%;
    }

    .inquiry-td--clm3 input {
        padding: 15px;
    }

    .inquiry-td--y input {
        display: block;
    }

    .inquiry-td--select span::after {
        display: block;
        content: "\f107";
        position: absolute;
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-weight: bold;
        font-family: "Font Awesome 5 Free";
        line-height: 1em;
        pointer-events: none;
    }
}

/***********************************************/
.ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 1024px) {
    .access-cnt {
        margin-top: 5%;
    }

    .access-cnt__box h3 {
        margin: 10% 0 5px;
    }
}

@media screen and (min-width: 1025px) {
    .access-cnt {
        margin-top: 50px;
    }

    .access-cnt__img {
        width: 40%;
    }

    .access-cnt__txt {
        width: 55%;
    }


    .access-cnt__box h3 {
        margin-bottom: 10px;
        font-size: 20px;
    }

    .access-cnt__txt .flexbox {
        margin-top: 30px;
    }

    .flexbox>.access-cnt__box {
        width: 50%;
    }
}

/***********************************************/
.access-cnt__box h3 {
    color: #5084cc;
}

.accesstime-ul {
    border: 1px solid #ddd;
}

.accesstime-ul h3,
.accesstime-ul h3 small {
    color: #fff;
}

.accesstime-ul--1 h3,
.accesstime-ul--7 h3 {
    background: #3173bf;
}

.accesstime-ul--2 h3 {
    background: #1b956c;
}

.accesstime-ul--3 h3 {
    background: #e49a4f;
}

.accesstime-ul--4 h3 {
    background: #e49a4f;
}

.accesstime-ul--6 h3 {
    background: #e49a4f;
}

.accesstime-ul--8 h3 {
    background: #51aaca;
}

.accesstime-ul--9 h3 {
    background: #e86380;
}

.accesstime-ul--10 h3 {
    background: #7bba52;
}

.accesstime-ul--11 h3 {
    background: #bc6fb3;
}

.accesstime-ul--12 h3 {
    background: #bc6fb3;
}

.accesstime-li span {
    width: 40px;
    font-size: 13px;
    font-weight: 600;
}

.accesstime-li p {
    font-size: 13px;
}


@media screen and (max-width: 1024px) {
    .accesstime-ul {
        position: relative;
    }

    .accesstime-ul h3 {
        position: relative;
        padding: 10px;
        color: #fff;
        font-size: 16px;
    }

    .accesstime-ul h3::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        content: "\f078";
        color: #fff;
        font-weight: bold;
        font-family: "Font Awesome 5 Free";
        transition: .2s;
    }

    .accesstime-ul.open h3::after {
        -webkit-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg);
    }

    .accesstime-li {
        margin: 5% 0;
        padding: 0 5%;
    }

    .accesstime-wrap {
        position: relative;
        overflow: hidden;
        max-height: 0;
        transition: .4s ease;
    }

    .accesstime-ul.open .accesstime-wrap {
        max-height: 9999px;
    }
}

@media screen and (min-width: 1025px) {
    .accesstime-box {
        width: calc(25% - 90px / 4);
    }

    .accesstime-box:not(:first-child) {
        margin-left: 30px;
    }

    .accesstime-ul:not(:first-child) {
        margin-top: 30px;
    }

    .accesstime-ul h3 {
        padding: 15px;
        color: #fff;
    }

    .accesstime-li {
        padding: 10px 15px 0;
    }

    .accesstime-li:last-child {
        padding-bottom: 15px;
    }
}

/***********************************************/
.single-cnt {
    border: 1px solid #ddd;
}

.single-cnt time {
    margin-right: 20px;
}

.single-cnt h1, .single-cnt h2 {
    margin-top: 15px;
    color: #737372;
}

.single-cnt p {
    margin-top: 2em;
}

.single-cnt a {
    display: inline;
}

.single .morebtn-2 {
    margin-top: 50px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .single-cnt {
        padding: 5%;
    }

    .single-cnt h1, .single-cnt h2 {
        font-size: 16px;
    }

    .single-cnt img {
        margin: 5% 0;
    }
}

@media screen and (min-width: 1025px) {
    .single-cnt {
        padding: 50px;
    }

    .single-cnt h1, .single-cnt h2 {
        font-size: 20px;
    }

    .single-cnt img {
        margin: 30px 0;
    }
}

/***********************************************/
.profile-intro {
    position: relative;
}

.profile-intro__txt {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.profileclm__txt p span {
    color: #5084CC;
}

.profileclm-box {
    position: relative;
}

.profile-imgt h3,
.profileclm__txt h3,
.profileclm__txt h3 small {
    color: #5084CC;
}

.profile-imgt h3,
.profileclm__txt h3 small {
    font-size: .7em;
}


.profile-clm__cld h4 {
    margin-bottom: 10px;
}

.profileclm-box img.r {
    margin-left: auto;
}

@media screen and (max-width: 1024px) {
    .profile-intro {
        margin-top: 10%;
        padding-top: 20%;
    }

    .profile-intro__txt {
        top: 0;
        width: 80%;
    }

    .profileclm-box.b {
        margin-top: 15%;
    }

    .profileclm-box img {
        width: 85%;
    }

    .profile-imgt h3,
    .profileclm__txt h3 {
        position: absolute;
        top: 15%;
        font-size: 18px;
        z-index: 2;
    }

    .profileclm__txt.l h3 {
        left: 0;
    }

    .profile-imgt h3 {
        right: 0;
    }

    .profileclm__txt.r p {
        margin-top: 5%;
        font-size: 20px;
        letter-spacing: .2em;
    }

    .profile-clm__cld {
        margin-top: 10%;
    }
}

@media screen and (min-width: 1025px) {
    .profile-intro__txt {
        top: 12vw;
        width: 36%;
    }

    .profileclm-box.b {
        margin-top: 8%;
    }

    .profileclm-box img {
        width: 50%;
    }

    .profileclm__txt.l {
        width: 50%;
    }

    .profileclm__txt.r {
        position: absolute;
        top: 60%;
        right: 0;
        transform: translateY(-50%);
        width: calc(40% - 50px);
    }

    .profile-imgt h3,
    .profileclm__txt h3 {
        margin-bottom: 50px;
        font-size: 26px;
    }

    .profile-imgt h3 small {
        margin-left: 15px;
    }

    .profileclm__txt.r h3 {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
    }

    .profileclm__txt.r p {
        font-size: 28px;
        letter-spacing: .2em;
        white-space: nowrap;
    }

    .profile-clm__cld {
        margin-top: 30px;
    }

    .profile-clm__cld h4 {
        font-size: 20px;
    }

    .profileclm-box img.r {
        position: absolute;
        top: 50%;
        right: 0;
        width: 45%;
        transform: translateY(-50%);
    }
}

/***********************************************/
.profiletable-txt__tr {
    padding: 15px 0;
}

.profiletable-txt__tr:not(:nth-child(5)) {
    border-bottom: 1px solid #ddd;
}

.profiletable-txt__tr h3 {
    width: 150px;
    color: #5084cc;
    font-size: 16px;
}

.profiletable-txt p {
    margin-top: 2em;
}

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

    .profiletable-img img:not(:first-child) {
        margin-top: 5%;
    }

    .profiletable-txt {
        margin-top: 10%;
    }
}

@media screen and (min-width: 1025px) {
    .profiletable-img {
        width: 30%;
    }

    .profiletable-img img {
        margin-top: 30px;
    }

    .profiletable-txt {
        width: calc(70% - 50px);
    }
}

/***********************************************/
.profiletable-banner__btn img {
    width: 100px;
    height: 100px;
}

.profiletable-banner__btn {
    cursor: pointer;
}

.profiletable-banner__btn div {
    width: calc(100% - 100px);
    padding: 15px;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;

}

.profiletable-banner__btn p {
    font-size: 12px;
}

.profiletable-banner__btn p span {
    font-size: 14px;
}

.top-banner h2 {
    margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
    .profiletable-banner__btn:not(:first-child) {
        margin-top: 5%;
    }

    .profiletable-banner__btn div {
        justify-content: flex-start;
    }
}

@media screen and (min-width: 1025px) {
    .profiletable-banner__btn {
        width: calc(100% / 3 - 20px)
    }

    .profiletable-banner__btn div {
        height: 100px;
    }
}

/***********************************************/
#courses-cnt--1 .top-banner {
    background: url(../img/courses-1.webp) no-repeat center;
    background-size: cover;
}

#courses-cnt--2 .top-banner {
    background: url(../img/courses-3.webp) no-repeat center;
    background-size: cover;
}

#courses-cnt--3 .top-banner {
    background: url(../img/courses-5.webp) no-repeat center;
    background-size: cover;
}

.courses-table {
    min-width: 900px;
    border: 1px solid #ddd;
}

.courses-table--1 .thead {
    background: #5084CC;
}

.courses-table--2 .thead {
    background: #9473b3;
}

.courses-table--3 .thead {
    background: #E7637F;
}



.courses-table .thead th {
    color: #fff;
}

.courses-table td,
.courses-table th {
    padding: 15px;
    line-height: 1.8em;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
}

.courses-table td p {
    margin-top: 1.5em;
    color: #F34520;
}

.courses-table .l {
    font-weight: 600;
    text-align: center;
}

courses-table--1 .l {
    color: #5084cc;
    background: #eff4fa;
}

.courses-table--2 .l {
    color: #9473b3;
    background: #f4f1f8;
}

.courses-table--3 .l {
    color: #E7637F;
    background: #FDEFF2;
}

.top-intro.b {
    border-bottom: 1px solid #ddd;
}

.top-intro__c {
    margin-bottom: 10px;
    text-align: center;
}

#courses-cnt--3 .top-intro__c {
    color: #9473B3;
}

#courses-cnt--3 .top-intro__c {
    color: #E7637F;
}

.course-img {
    min-width: 800px;
}



@media screen and (max-width: 1024px) {
    #courses .table-wrap {
        margin: 10% 0;
    }

    .top-intro.b {
        padding-bottom: 5%;
        border-bottom: 1px solid #ddd;
    }

    .top-intro.bb {
        padding-top: 5%;
    }
}

@media screen and (min-width: 1025px) {
    #courses .table-wrap {
        margin: 8% 0;
    }

    .top-intro.b {
        padding-bottom: 50px;
    }

    .top-intro.bb {
        padding-top: 50px;
    }
}

/***********************************************/


.schoollife-intro {
    text-align: center;
}

.schoollife-intro h2 {
    font-size: 20px;
}

.year-li .month {
    margin-bottom: 10px;
    color: #5084cc;
}

.year-li .month small {
    color: #5084cc;
}

.year-li p::before {
    display: inline-block;
    content: "";
    width: .8em;
    height: .8em;
    margin-right: .2em;
    background: #5084cc;
    border-radius: 50%;
}


@media screen and (max-width: 1024px) {
    .schoollife-intro {
        margin-bottom: 10%;
    }

    .schoollife-intro p {
        text-align: left;
    }

    .schoollife-intro h2 {
        font-size: 20px;
    }

    .schoollife-intro .h {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .year-ul>.flexbox-a {
        border-bottom: 1px solid #ddd;
    }

    .year-li {
        width: 48%;
        padding: 10% 0;
    }

    .year-li .month {
        font-size: 30px;
        font-weight: 600;
    }

    .year-li .month small {
        font-size: 160x;
    }

    .year-li p {
        font-size: 13px;
    }
}

@media screen and (min-width: 1025px) {
    #schoollife .mv::after {
        display: none;
        content: "";
        position: absolute;
        top: 50%;
        left: 2%;
        width: 70%;
        height: 100%;
        background: #eff4fa;
        z-index: -1;
    }

    .schoollife-intro {
        margin-bottom: 4%;
    }

    .schoollife-intro h2 {
        font-size: 24px;
    }

    .schoollife-intro .h {
        margin-bottom: 10px;
        font-weight: bold;
        font-size: 24px;
    }

    .year-ul {
        padding: 30px 0;
        border-bottom: 1px solid #ddd;
    }

    .year-ul>.flexbox-a {
        width: 50%;
    }

    .year-li {
        width: 45%;
        margin: 0 2.5%;
    }

    .year-li .month {
        font-size: 60px;
        font-weight: 600;
    }

    .year-li .month small {
        font-size: 20px;
    }

    .year-li p {
        font-size: 15px;
    }
}

/***********************************************/
.club h3 {
    color: #5084cc;
}

.club-li {
    border-bottom: 1px solid #ddd;
}

.club-wrap--2 .club-li {
    width: calc(50% - 5px);
}

.club-li:nth-child(2n) {
    margin-left: 10px;
}

.club-w {
    background: #eff4fa;
}

.club-w h3 {
    color: #fff;
    background: #5084cc;
    font-weight: 300;
    text-align: center;
}

#uniform h3 {
    color: #5084cc;
    font-weight: 300;
}

.facility-show {
    position: relative;
}

.facility-show img:not(.active) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
}

.facility-btn div {
    position: relative;
    cursor: pointer;
}

.facility-btn div:not(.active)::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
}

.facility-btn div.active {
    pointer-events: none;
}

@media screen and (max-width: 1024px) {
    .club h3 {
        margin-top: 10%;
        font-size: 20px;
    }

    .club-li {
        padding: 10px 0;
        width: calc(50% - 5px);
        font-size: 14px;
    }

    .club-w {
        margin-top: 10%;
    }

    .club-w h3 {
        width: 120px;
        padding: 4px 20px;
        font-size: 16px;
    }

    .club-w__li {
        padding: 5%;
    }

    #uniform h3 {
        font-size: 16px;
        text-align: center;
    }

    .uniform-txt .b {
        font-size: 20px;
        text-align: center;
    }

    .uniform-txt p {
        margin-top: 5%;
    }

    .uniform-img {
        margin-top: 5%;
    }

    .facility-wrap {
        position: relative;
        overflow-x: scroll;
    }

    .facility-btn {
        position: relative;
        min-width: 600px;
        margin-top: 5%;
    }

    .facility-wrap::after {
        display: block;
        content: "スライドしてご覧ください→";
        width: 100%;
        margin-top: 10px;
        color: #F34520;
        font-size: 13px;
    }
}

@media screen and (min-width: 1025px) {
    .club h3 {
        margin-top: 50px;
        font-size: 20px;
    }

    .club-wrap--1 {
        width: 100%;
    }

    .club-wrap--2 {
        width: calc(50% - 5px);
    }

    .club-li {
        padding: 15px 0;
    }

    .club-wrap--1 .club-li {
        width: calc(25% - 30px / 4);
    }

    .club-wrap--1 .club-li:not(:nth-child(1)):not(:nth-child(5)):not(:nth-child(9)) {
        margin-left: 10px;
    }

    .club-w {
        margin-top: 50px;
        padding:
    }

    .club-wrap--box {
        padding: 50px;
    }

    .club-w h3 {
        width: 120px;
        padding: 8px 20px;
        font-size: 20px;
    }

    .club-w__li:last-child {
        margin-top: 30px;
    }

    .uniform-txt {
        width: 40%;
    }

    .uniform-img {
        width: calc(60% - 50px);
    }

    #uniform h3 {
        font-size: 24px;
    }

    .uniform-txt .b {
        font-size: 26px;
        white-space: nowrap;
        line-height: 1.8em;
    }

    .uniform-txt p {
        margin-top: 30px;
    }

    .facility-btn {
        margin-top: 30px;
    }
}

/***********************************************/

#college-intro .top-banner {
    background: url(../img/college-1.webp) no-repeat center;
    background-size: cover;
}

#college-cnt .top-banner {
    background: url(../img/college-2.webp) no-repeat center;
    background-size: cover;
}


.college-clm__txt h3 {
    color: #5084cc;
    font-weight: 300;
}

.college-clm__txt p {
    margin-top: 1em;
}

.college-clm__table table {
    border: 1px solid #ddd;
}

.college-clm__table tr {
    border-bottom: 1px solid #ddd;
}

.college-clm__table td,
.college-clm__table th {
    border-left: 1px solid #ddd;
}

.college-clm__table h3 {
    margin-bottom: 10px;
    font-weight: 300;
}

@media screen and (max-width: 1024px) {
    .college-clm {
        margin-top: 10%;
    }

    .college-clm__table td,
    .college-clm__table th {
        padding: 10px;
        font-size: 14px;
    }

    .college-clm__table {
        margin-top: 10%;
    }
}

@media screen and (min-width: 1025px) {
    .college-clm {
        margin-top: 50px;
    }

    .college-clm__txt {
        width: 48%;
    }

    .college-clm__txt h3 {
        font-size: 24px;
    }

    .college-clm__table td,
    .college-clm__table th {
        padding: 15px;
    }
}

/***********************************************/
.college-box h3 {
    color: #5084cc;
}

.college-box__head {
    margin-bottom: 10px;
    font-weight: bold;
}


#college-intro .college-box {
    border-top: 1px solid #ddd;
}


.college-li span {
    color: #5084cc;
}

.college-li--head {
    color: #5084cc;
    background: #edf2fa;
}

.college-li--head span {
    margin-left: 20px;
}

#college .top-intro {
    margin-top: 0;
}

@media screen and (max-width: 1024px) {
    #college-cnt .max-w {
        margin: 0;
    }

    .college-box__head {
        font-size: 18px;
    }

    .sp-box p {
        padding: 10px 5%;
    }

    .college-head {
        position: relative;
        padding: 15px;
        border-bottom: 1px solid #ddd;
    }

    .college-box:first-child .college-head {
        border-top: 1px solid #ddd;
    }

    .college-head::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        content: "\f078";
        color: #ddd;
        font-size: .8em;
        font-weight: bold;
        font-family: "Font Awesome 5 Free";
        transition: .3s;
    }

    #college-intro .college-box {
        padding-top: 10%;
    }

    .college-box h3 {
        font-size: 18px;
        font-weight: 300;
    }

    .college-box--intro p {
        margin: 5% 0 10%;
    }

    .college-li {
        padding: 10px;
        font-size: 14px;
    }

    .college-li:not(:last-child) {
        border-bottom: 1px solid #ddd;
    }

    #college-cnt .college-ul:last-child .college-li:last-child,
    .college-wrap>div:last-child .college-li:last-child {
        border-bottom: 1px solid #ddd;
    }

    .college-li:first-child {
        border-top: 1px solid #ddd;
    }

    .college-box--intro .college-wrap>div {
        width: 100%;
    }

    .college-box--intro .college-ul {
        width: 49%;
    }

    .college-box--intro .college-wrap>div:last-child {
        margin-left: auto;
    }

    .sp-box {
        position: relative;
        max-height: 0;
        overflow: hidden;
        transition: .3s;
    }

    .college-head.open+.sp-box {
        max-height: 9999px;
    }

    .college-head.open::after {
        transform: translateY(-50%) rotate(180deg);
    }



}

@media screen and (min-width: 1025px) {
    .college-box {
        margin-top: 8%;
    }

    .college-box__head {
        font-size: 20px;
    }

    #college-intro .college-box {
        padding-top: 4%;
    }

    .college-clm .college-box {
        border-bottom: 1px solid #ddd;
    }

    .college-head {
        margin-bottom: 20px;
    }

    .college-box h3 {
        font-size: 24px;
    }

    .college-head h3 {
        margin-right: 30px;
    }

    .college-box--intro p {
        margin: 10px 0 30px;
    }

    .college-wrap>div {
        width: 49.5%;
    }

    .college-wrap>div:last-child {
        margin-left: 1%;
    }

    .college-ul {
        width: 49%;
    }

    .college-ul:not(:first-child) {
        margin-left: calc(4% / 3);
    }

    .college-li {
        padding: 15px;
        border-bottom: 1px solid #ddd;
    }

    .college-li:first-child {
        border-top: 1px solid #ddd;
    }
}

/***********************************************/
h2.enroll::after {
    display: block;
    content: "入試に関する情報";

}

h2.madonna::after {
    display: block;
    content: "マドンナ会";

}

h2.madonna2::after {
    display: block;
    color: #5084cc;

}

#enrollment h2:not(.enroll) {
    padding-bottom: 15px;
    color: #737373;
}

.enrollment-table__head {
    margin-bottom: 10px;
}

.enrollment-table__head h3 {
    font-weight: 300;
}

.enrollment-comment {
    margin-top: 10px;
    font-size: 14px;
}

#enrollment h3.b {
    margin-bottom: 10px;
    color: #E7637F;
}

#enrollment h3.bb {
    margin-bottom: 10px;
    color: #5084cc;
}

.enrollment-cld img {
    max-width: 100%;
}

.enrollment-cld a {
    color: #5084CC;
    opacity: .8;
}

#enrollment-table--1 h2,
#enrollment-table--2 h2 {
    border-bottom: 1px solid #ddd;
}

.mv__slide {
    position: relative;
}

.slick {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat top center;
    background-size: cover;
    -webkit-transition: opacity 1.5s ease;
    transition: opacity 1.5s ease;
    opacity: 0;
    z-index: -1;
    overflow: hidden;
}

.slick img {
    width: 100%;
    height: auto;
    min-width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


.slick[show="1"] {
    opacity: 1;
    z-index: 0;
}

.dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
}

.blt {
    width: 100px;
    height: 3px;
    margin: 0 3px;
    background-color: #fff;
    cursor: pointer;
    opacity: .7;
}

.blt[active="1"] {
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .enrollment-table__head h3 {
        width: 50%;
        font-size: 18px;
    }

    #enrollment-news h2 {
        width: 60%;
        margin: 0;
        padding: 0;
    }

    #enrollment-news .morebtn-2 {}

    .enrollment-table__head p {
        margin-top: 5px;
    }

    #enrollment .table-wrap img {
        min-width: 900px;
    }

    #enrollment .table-wrap::before {
        display: block;
        content: "スライドしてご覧ください→";
        width: 100%;
        margin: 10px 0;
        color: #F34520;
        font-size: 13px;
    }

    .enrollment-clm {
        margin: 10% 0;
    }

    .enrollment-cld {
        margin-top: 10%;
    }

    #enrollment h3.b {
        font-size: 18px;
    }

    #enrollment .table-wrap.b {
        margin-top: 10%;
    }

    .slick img {
        width: 130%;
        min-width: 100%;
    }

    .dots {
        left: 50%;
        bottom: 15px;
        transform: translateX(-50%);
    }

    .blt {
        width: 50px;
        height: 2px;
    }
}

@media screen and (min-width: 1025px) {
    .enrollment-comment.t {
        margin-bottom: 10px;
    }

    .enrollment-table__head h3 {
        margin-right: 30px;
        font-size: 24px;
    }

    .enrollment-clm {
        margin: 8% 0 4%;
    }

    #enrollment h3.b {
        font-size: 24px;
    }

    #enrollment-table--1 .enrollment-cld:first-child {
        width: 70%;
    }

    #enrollment-table--1 .enrollment-cld:last-child {
        width: calc(30% - 50px);
    }

    #enrollment-table--2 .enrollment-cld:nth-child(n + 3) {
        margin-top: 30px;
    }

    #enrollment-table--2 .enrollment-cld {
        width: calc(50% - 25px);
    }

    #enrollment .table-wrap.b {
        margin-top: 4%;
    }

    .dots {
        left: 30px;
        bottom: 30px;
    }
}


/***********************************************/
.animation,
.parent>* {
    opacity: 0;
    transform: translateY(70px);
    transition: opacity .8s, transform 1s;
}

.school-ul.parent>*:nth-child(odd) {
    transform: translateY(-70px);
}

.animation.show {
    opacity: 1;
    transform: translateY(0);
}

.parent.show>*,
.school-ul.parent.show>*:nth-child(odd) {
    opacity: 1;
    transform: translateY(0);
}

.parent.show>*:nth-child(1) {
    transition-delay: 0s;
}

.parent.show>*:nth-child(2) {
    transition-delay: .2s;
}

.parent.show>*:nth-child(3) {
    transition-delay: .4s;
}

.parent.show>*:nth-child(4) {
    transition-delay: .6s;
}

.parent.show>*:nth-child(5) {
    transition-delay: .8s;
}

.parent.show>*:nth-child(6) {
    transition-delay: 1s;
}

.parent.show>*:nth-child(7) {
    transition-delay: 1.2s;
}

.parent.show>*:nth-child(8) {
    transition-delay: 1.4s;
}

.parent.show>*:nth-child(9) {
    transition-delay: 1.6s;
}

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

@media screen and (min-width: 1025px) {}

/***********************************************/
.profile-modal {
    position: fixed;
    left: 0;
    width: 100%;
    background: url(../img/modal-bg.webp);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s;
}

.profile-modal.active {
    opacity: 1;
    visibility: visible;
}

.profile-modal__head h2 {
    margin-bottom: 10px;
    color: #424242;
}

.profile-modal__box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.profile-modal__box::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -2;
}

.profile-modal__head {
    text-align: center;
}

.profile-modal__box p {
    font-size: 14px;
}

.profile-modal__txt p {
    margin-top: 30px;
    color: #424242;
    opacity: .95;
}

.txt-wrap {
    position: relative;
    overflow-y: scroll;
}

.txt-wrap::-webkit-scrollbar {
    width: 5px;
}


.txt-wrap::-webkit-scrollbar-track {
    border-radius: 10px;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
}

.txt-wrap::-webkit-scrollbar-thumb {
    background-color: #5084CC;
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
}

.modal-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.crose-img {
    position: absolute;
    cursor: pointer;
    transition: opacity .2s;
}

.crose-img:hover {
    opacity: .6;
}

.modal-th {
    position: relative;
    color: #5084CC;
    font-weight: 600;
}

.modal-th::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: calc(100% + 15px);
    transform: translate(50%, -50%);
    width: 8px;
    height: 8px;
    background: #5084CC;
    border-radius: 50%;
}

.modal-td {
    border-bottom: 2px solid #ddd;
}

.profile-modal--2 .profile-modal__txt {
    position: relative;
}

.profile-modal--2 .profile-modal__txt::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 15px;
    transform: translatex(-50%);
    width: 1px;
    height: 100%;
    background: #5084CC;
}

.otherschool-box {
    padding: 15px;
    border: 1px solid #ddd;
}

.otherschool h4 {
    color: #5084cc;
}

.otherschool a {
    color: #5084CC;
    font-size: 16px;
    opacity: .8;
}

@media screen and (max-width: 1024px) {
    .profile-modal {
        top: 88px;
        height: calc(100vh - 88px);
    }

    .profile-modal__head {
        margin-bottom: 30px;
    }

    .profile-modal__box {
        width: 90%;
        height: 90%;
        padding: 75px 15px;
    }

    .modal-img {
        width: 100%;
    }

    .txt-wrap {
        height: calc(100% - 100px);
    }

    .crose-img--1 {
        top: 15px;
        right: 15px;
        width: 30px;
    }

    .crose-img--2 {
        position: absolute;
        left: 50%;
        bottom: 25px;
        transform: translate(-50%, 50%);
    }

    .modal-tr {
        position: relative;
        padding-left: 30px;
    }

    .modal-th {
        margin-top: 15px;
        font-size: 14px;
    }

    .modal-td {
        padding: 5px 0 15px;
        font-size: 14px;
    }

    .otherschool {
        margin-top: 30px;
    }

    .otherschool h4 {
        margin-bottom: 5px;
    }

    .otherschool a {
        margin-top: 10px;
    }

    .otherschool .flexbox:first-child a:first-child {
        margin-top: 0;
    }

}

@media screen and (min-width: 1025px) {
    .profile-modal {
        top: 120px;
        height: calc(100vh - 120px);
    }

    .profile-modal__head {
        margin-bottom: 50px;
    }

    .profile-modal__box {
        width: 90%;
        height: 90%;
        padding: 50px 25px 50px 50px;
    }

    .profile-modal--1 .profile-modal__box {
        max-width: 900px;
    }

    .profile-modal--2 .profile-modal__box {
        max-width: 1200px;
    }

    .profile-modal--1 .profile-modal__txt div:first-child {
        width: 50%;
    }

    .txt-wrap {
        height: calc(100% - 156px);
        padding-right: 25px;
    }

    .modal-img {
        width: 100%;
    }

    .crose-img--1 {
        top: 25px;
        right: 25px;
    }

    .crose-img--2 {
        position: absolute;
        left: 50%;
        bottom: 40px;
        transform: translate(-50%, 50%);
    }

    .modal-tr {
        position: relative;
        padding-left: 30px;
    }

    .modal-th {
        width: 150px;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .modal-td {
        width: calc(100% - 200px);
        padding: 20px 0;
    }

    .otherschool {
        margin-top: 50px;
    }

    .otherschool h4 {
        margin-bottom: 5px;
        font-size: 20px;
    }

    .otherschool a:not(:nth-child(3n)) {
        margin-right: 30px;
    }

    .otherschool a:nth-child(n + 4) {
        margin-top: 30px;
    }

    .otherschool .b {
        margin-top: 10px;
    }

}

/***********************************************/
.page-numbers {
    margin: 0 5px;
    padding: 5px;
}

.page-numbers.current {
    color: #000;
    border-bottom: 1px solid #000;
}

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

@media screen and (min-width: 1025px) {}

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

@media screen and (min-width: 1025px) {}

/***********************************************/
.recruit__txt a {
    width: 50%;
    display: inline;
    color: #5084CC;
    opacity: .8;
}

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

@media screen and (min-width: 1025px) {
    .recruit__txt {}
}

/***********************************************/
.personal-li h3 {
    color: #5084CC;
}

@media screen and (max-width: 1024px) {
    .personal-li:not(:first-child) {
        margin-top: 30px;
    }

    .personal-li h3 {
        margin-bottom: 7px;
        font-size: 20px;
    }
}

@media screen and (min-width: 1025px) {
    .personal-li:not(:first-child) {
        margin-top: 50px;
    }

    .personal-li h3 {
        margin-bottom: 15px;
        font-size: 24px;
    }

}

/***********************************************/
@media screen and (max-width: 1024px) {
    .home .info-li:first-child {
        margin-top: 5%;
    }

    .banner {
        margin-bottom: 5vw;
    }

    .banner a {
        width: 100%;
        margin-top: 5vw;
    }

    .tomadonna {
        margin-top: 5vw;
    }
}

@media screen and (min-width: 1025px) {
    .home .info-li:first-child {
        margin-top: 4%;
    }

    .banner {
        margin-bottom: 40px;
    }

    .banner a {
        width: calc(33.3% - 40px / 3);
    }

    .banner a:nth-child(n + 2) {
        margin-left: 20px;
    }

    .tomadonna {
        width: calc(33.3% - 40px / 3);
        margin-top: 20px;
    }
}

/***********************************************/
.aside-grid .sb_instagram_header,
.aside-grid #sbi_load {
    display: none;
}

.aside-grid #sb_instagram #sbi_images .sbi_item,
.aside-grid #sb_instagram,
.aside-grid #sb_instagram .sb_instagram_header,
.aside-grid #sb_instagram #sbi_images {
    padding: 0 !important;
}

@media screen and (max-width: 1024px) {
    .aside-grid .sbi_item {
        width: 33.33% !important;
    }

    .aside-grid .sbi_item>* {
        width: 100% !important;
    }
}

@media screen and (min-width: 1025px) {
    .aside-grid .sbi_item:nth-child(9) {
        display: none !important;
    }
}

#inquiry .wpcf7-not-valid-tip {
    width: unset !important;
    margin-top: 5px;
    text-align: left;
    white-space: nowrap;
}

.horizontal-txt {
    line-height: 35.5px;
}

.inquiry-td--select {
    cursor: pointer;
}

.inquiry-td span {
    display: block;
}

/***********************************************/

@media screen and (max-width: 1024px) {
    #inquiry .wpcf7-not-valid-tip {
        font-size: 13px !important;
    }
}

@media screen and (min-width: 1025px) {
    .horizontal-txt {
        line-height: 45.5px;
    }

    .open-intro__li--2 {
        width: calc(33.33% - 33.33px);
    }

    .open-intro__li--2:nth-child(n + 2) {
        margin-left: 50px;
    }

    .open-intro__li--2 .open-intro__li__txt {
        width: 180px;
        right: -25px;
    }

    .open-intro__li--2 .open-intro__li__txt p {
        font-size: 30px;
        line-height: 1em;
        margin-bottom: 5px;
        text-align: left;
    }

    .open-intro__li--2 .open-intro__li__txt {
        padding: 15px;
    }

    .open-intro__li--2 .open-intro__li__txt h3 {
        font-size: 16px;
        white-space: nowrap;
    }

    .open-intro__li--2 .open-intro__li__txt h3::after {
        font-size: 13px;
        white-space: nowrap;
    }
}


/***********************************************/
.mli {
    padding: 20px 0;
    border-top: 1px solid #ddd;
}

.mli__l {
    color: #3173bf;
    font-weight: bold;
}

.mli__r {
    line-height: 2em;
}

.mli:last-child {
    border-bottom: 1px solid #ddd;
}

.mbtm__li img {
    width: 100%;
    transition: .2s;
}

.mbtm__li img:hover {
    opacity: .7;
}

.mbtm__li .sb_instagram_header.sbi_no_avatar {
    display: flex;
    justify-content: center;
}

.mbtm__li #sbi_load {
    display: none !important;
}

.mbtm__li #sbi_images {
    padding: 0 !important;
}

.mbtm__li .sbi_item.sbi_type_image {
    padding: 0 !important;
}

.mbtm__li .sbi_no_avatar .sbi_header_img {
    background: #fff !important;
    border: 2px solid #000 !important;
}

.mbtm__li .sbi_header_link {
    transition: .2s;
}

.mbtm__li .sbi_header_link:hover {
    opacity: .6;
}

.mbtm__li #sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio h3 {
    color: #3173bf !important;
}

.mbtm__li h3 {
    margin-bottom: 20px;
    color: #3173bf;
    font-size: 16px;
    text-align: center;
}

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

    .mli__l {
        margin-bottom: 10px;
    }

    .mbtm__li .sbi_item {
        width: 45vw !important;
        height: 45vw;
    }

    .mbtm__li .sbi_item:last-child {
        display: none !important;
    }

    .mbtm__li.pdf {
        margin: 60px 0;
    }

    .pc-in {
        display: none;
    }
}

@media screen and (min-width: 1025px) {
    .mli {
        padding: 30px 0;
    }

    .mli__l {
        width: 150px;
        line-height: 32px;
    }

    .mli__r {
        width: calc(100% - 150px);
    }

    .mbtm__li {
        width: calc(50% - 15px);
        margin-top: 30px;
    }

    .mbtm__li.pdf {
        width: 37%;
        margin-top: 50px;
        margin-right: 50px;
    }

    .mbtm__li.pdf h3 {
        margin-bottom: 15px;
    }

    .pc-in {
        display: inline-block;
    }

    .madonna-insta {
        transition: .2s;
    }

    .madonna-insta:hover {
        opacity: .7;
    }
}

.madonna-insta img {
    max-width: 200px;
    margin-bottom: 20px;
}

.error404-cnt {
    padding-top: 120px;
}

@media screen and (min-width: 1025px) {
    .error404-cnt {
        padding-top: 200px;
    }
}

.error404-cnt .head {
    text-align: center;
}

.error404-cnt h1 {
    margin-bottom: 10px;
    font-size: 18px;
}

@media screen and (min-width: 1025px) {
    .error404-cnt h1 {
        margin-bottom: 20px;
        font-size: 27px;
    }
}

@media screen and (min-width: 1025px) {
    .error404-cnt p {
        text-align: center;
    }
}