@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');
@media screen and (min-width: 768px),
print {
    [href*='tel:'] {
        pointer-events: none;
    }
    .sp {
        display: none !important;
    }
    body {
        font-family: 'Noto Sans JP', sans-serif;
        min-width: 138rem;
        margin-left: auto;
        margin-right: auto;
    }
    .sec_inner {
        width: 110rem;
        margin-left: auto;
        margin-right: auto;
    }
    .sec__ttl {
        color: #fff;
        text-align: center;
        font-size: 3.6rem;
        margin-bottom: 3rem;
    }
    .sec__ttl small {
        display: block;
        font-size: 1.8rem;
        margin-bottom: 1rem;
        font-weight: lighter;
    }
    .mv {
        background: url(../images/mv.jpg) center right;
        background-size: cover;
        padding: 9rem 0;
    }
    .mv h2 {
        width: 110rem;
        margin-left: auto;
        margin-right: auto;
        font-size: 4.2rem;
        color: #fff;
        text-shadow: 2px 7px 7px rgb(0 0 0 / 30%);
    }
    .mv h2 figure {
        display: grid;
    }
    .campaign {
        background: #F7F7F7;
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
    .campaign__ttl {
        text-align: center;
        font-size: 2.3rem;
        color: #0E8E46;
    }
    .campaign__ttl span {
        position: relative;
    }
    .campaign__ttl span::after,
    .campaign__ttl span::before {
        content: "";
        position: absolute;
        top: 50%;
        height: 4rem;
        width: 0.3rem;
        background: #0E8E46;
    }
    .campaign__ttl span::after {
        transform: translateY(-50%) translateX(2rem) rotate(40deg);
    }
    .campaign__ttl span::before {
        transform: translateY(-50%) translateX(-3rem) rotate(-40deg);
    }

    .c_banner {
    }

    .c_banner__ttl {
        text-align: center;
        font-size: 3rem;
        color: #0E8E46;
        margin-bottom: 2rem;
    }

    .c_banner__ttl span {
     position: relative;
    }
    .c_banner__ttl span::after, .c_banner__ttl span::before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 3.5rem;
        width: 0.2rem;
        background: #0E8E46;
    }

    .c_banner__ttl span::after {
        left: -2rem;
        transform: translateY(-50%) rotate(-45deg);
    }

    .c_banner__ttl span::before {
        right: -2rem;
        transform: translateY(-50%) rotate(45deg);
    }

    .c_banner figure {
      width: auto;
      margin: 0 1em;
    }

    .c_banner__wrap {
        display: flex;
        justify-content: center;
    }
    .c_banner__wrap img{
        height: 180px;
    }
    .c_banner__wrap figure figcaption{
        text-align: center;
        display: block;
        margin-top:.4em;
    }

    .campaign__bnr {
        width: 72rem;
        margin-top: 2rem;
        margin-left: auto;
        margin-right: auto;
    }
    .campaign__list {
        margin: 0 -1rem;
        margin-top: 3rem;
    }
    .campaign__list .slick-slide {
        margin: 0 1rem;
    }
    .campaign__list .slick-prev {
        left: -10px;
    }
    .campaign__list .slick-next {
        right: -10px;
        transform: translate(0, -50%) rotate(180deg);
    }
    .campaign__list .slick-prev,
    .campaign__list .slick-next {
        background: url(../images/arrow.svg) no-repeat;
        background-size: contain;
        width: 40px;
        height: 40px;
        z-index: 99;
    }
    .campaign__list .slick-prev::before,
    .campaign__list .slick-next::before {
        display: none !important;
    }
    .campaign__anchor {
        display: flex;
        justify-content: center;
        margin-top: 7.5rem;
    }
    .campaign__anchor li {
        width: calc((100% / 3) - 1.4rem);
    }
    .campaign__anchor li a {
        position: relative;
        display: block;
        padding: 1.5rem 0;
        border-bottom: .2rem solid #0E8E46;
        font-size: 1.8rem;
        color: #0E8E46;
        font-weight: bold;
    }
    .campaign__anchor li a::after {
        content: "";
        position: absolute;
        right: .5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        height: 0.5rem;
        width: 0.5rem;
        border-right: .2rem solid #0E8E46;
        border-bottom: .2rem solid #0E8E46;
    }
    .campaign__anchor li:nth-of-type(n+2) {
        margin-left: 2rem;
    }
    .about {
        background: linear-gradient(to right, #0B897B, #B4D0AA);
        padding: 5rem 0;
    }
    .about__ttl {
        color: #fff;
        text-align: center;
        font-size: 3.6rem;
        margin-bottom: 3rem;
    }
    .about__ttl small {
        display: block;
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }
    .about__subTtl {
        text-align: center;
        font-size: 3.2rem;
        color: #fff;
        margin-top: 4rem;
    }
    .about__txt {
        text-align: center;
        width: 57rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 3rem;
        color: #fff;
        font-size: 1.6rem;
        line-height: 2;
    }
    .about__cvArea {
        margin-top: 2rem;
        width: 80rem;
        margin-left: auto;
        margin-right: auto;
        border: .1rem solid #fff;
        border-radius: 1rem;
        padding: 3rem;
    }
    .cvArea {
        text-align: center;
    }
    .cvArea__ttl {
        font-size: 3.2rem;
        color: #fff;
    }
    .cvArea__txt {
        margin-top: 1rem;
        color: #fff;
        line-height: 2;
    }
    .cvArea__btn {
        margin-top: 3rem;
        display: flex;
        justify-content: center;
    }
    .cvArea__btn a {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        text-align: center;
        min-width: 22rem;
        height: 6rem;
        box-sizing: border-box;
        background: #fff;
        font-size: 1.8rem;
        padding: 0 3rem;
        border-radius: .3rem;
        color: #0E8E46;
        font-weight: bold;
    }
    .cvArea__btn a::after {
        content: "";
        position: absolute;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        height: 0.5rem;
        width: 0.5rem;
        border-top: .2rem solid #0E8E46;
        border-right: .2rem solid #0E8E46;
    }
    .cvArea__btn a:nth-of-type(n+2) {
        margin-left: 3rem;
    }
    .cvArea__btn a span {
        position: relative;
        display: inline-block;
    }
    .cvArea__btn a[href*="tel:"] {
        font-size: 2.4rem;
    }
    .cvArea__btn a[href*="tel:"] span {
        padding-left: 2.5rem;
    }
    .cvArea__btn a[href*="tel:"] span::before {
        position: absolute;
        content: "";
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 2rem;
        width: 1.5rem;
        background: url(../images/tel_icon_white.svg) no-repeat;
        background-size: contain;
    }
    .cvArea__btn a[href*="tel:"] {
        background: rgba(255, 255, 255, 0);
        border: .2rem solid #fff;
        color: #fff;
    }
    .cvArea__btn a[href*="tel:"]::after {
        display: none;
    }
    .school {
        background: #F7F7F7;
        margin: 0 .5rem;
        border-radius: 2.5rem;
        padding: 6rem;
        width: 138rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 6rem;
    }
    .school__wrap {
        width: 120rem;
        margin-left: auto;
        margin-right: auto;
        border: .2rem solid #229487;
        border-radius: 2.5rem;
        padding: 6rem 0;
        background: #fff;
    }
    .school__ttl {
        text-align: center;
    }
    .school__txt {
        text-align: center;
        margin-top: 3rem;
        font-size: 2.4rem;
        line-height: 2;
        font-weight: bold;
    }
    .school__list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 4rem;
    }
    .school__ele {
        position: relative;
        width: calc((100% / 2) - 1.5rem);
    }
    .school__ele:nth-of-type(n+3) {
        margin-top: 5rem;
    }
    .school__txtArea {
        position: relative;
        z-index: 1;
        background: #fff;
        margin: -18rem auto 0;
        width: calc(100% - (3.6rem * 2));
        border-radius: 3rem 3rem 0 0;
        padding: 2rem 5rem;
    }
    .school__txtArea h3 {
        text-align: center;
    }
    .school__txtArea h3 small {
        display: block;
    }
    .school__txtArea p {
        margin-top: 2rem;
        line-height: 1.8;
    }
    .school__txtArea::after {
        position: absolute;
        content: "";
        height: 6.4rem;
        width: 6.4rem;
    }
    .school__ele--dance .school__txtArea::after {
        background: url(../images/dance_deco.svg);
        background-size: contain;
        left: 9rem;
        top: 0;
    }
    .school__ele--swimming .school__txtArea::after {
        background: url(../images/swimming_deco.svg);
        background-size: contain;
        left: 4rem;
        top: 2rem;
    }
    .school__ele--karate .school__txtArea::after {
        background: url(../images/karate_deco.svg);
        background-size: contain;
        right: 3rem;
        top: 1rem;
    }
    .school__ele--ballet .school__txtArea::after {
        background: url(../images/ballet_deco.svg);
        background-size: contain;
        right: 8rem;
        top: 2rem;
    }
    .facility {
        background: #F7F7F7;
        margin: 0 .5rem;
        border-radius: 2.5rem;
        padding: 6rem;
        width: 138rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 6rem;
    }
    .facility__wrap {
        width: 120rem;
        margin-left: auto;
        margin-right: auto;
        border: .2rem solid #229487;
        border-radius: 2.5rem;
        padding: 6rem 0;
        background: #fff;
    }
    .facility__ttl {
        text-align: center;
    }
    .facility__txt {
        text-align: center;
        margin-top: 3rem;
        font-size: 2.4rem;
        line-height: 2;
        font-weight: bold;
    }
    .facility__bgList {
        display: flex;
        flex-wrap: wrap;
        margin-top: 4rem;
    }
    .facility__bgEle {
        padding: 6.5rem;
    }
    .facility__bgEle h3,
    .facility__bgEle p {
        color: #fff;
    }
    .facility__bgEle h3 {
        font-size: 2rem;
        line-height: 1.8;
    }
    .facility__bgEle p {
        font-size: 1.6rem;
        margin-top: 2rem;
        line-height: 1.8;
    }
    .facility__bgEle:nth-of-type(n+3) p {
        min-height: 14.3rem;
    }
    .facility__bgEle a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20rem;
        height: 6rem;
        margin-left: auto;
        margin-right: auto;
        border-radius: 9999px;
        text-align: center;
        font-size: 14px;
        background: #fff;
        font-weight: bold;
        color: #fff;
        margin-top: 2rem;
    }
    .facility__bgEle a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1rem;
        height: 1.4rem;
        width: 1.4rem;
        background: url(../images/arrow.png) no-repeat center center / contain;
    }
    .facility__bgEle a.blank::after {
        height: 1.4rem;
        width: 1.4rem;
        background: url(../images/blank.png) no-repeat center center / contain;
    }
    .facility__bgEle {
        width: 50%;
        background-size: cover;
    }
    .facility__bgEle h3,
    .facility__bgEle p {
        margin-left: auto;
        margin-right: auto;
    }
    .facility__bgEle:nth-of-type(1) {
        background: url(../images/facility_bg01_renew.jpg) no-repeat center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(2) {
        background: url(../images/facility_bg02_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(3) {
        background: url(../images/facility_bg03_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(4) {
        background: url(../images/facility_bg04_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bottom {
        margin-top: 4rem;
    }
    .facility__frameTtl {
        text-align: center;
        background: #229487;
        font-size: 2rem;
        font-weight: lighter;
        border-radius: 999rem;
        padding: .5rem;
        color: #fff;
        margin-bottom: 3rem;
    }
    .facility__imgList {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -.8rem;
    }
    .facility__imgEle {
        text-align: center;
        width: calc((100% / 4) - 1.6rem);
        margin-left: .8rem;
        margin-right: .8rem;
    }
    .facility__imgEle:nth-of-type(n+5) {
        margin-top: 2rem;
    }
    .facility__imgEle figcaption {
        margin-top: 1rem;
    }
    .about .cvArea {
        margin-top: 5rem;
    }
    .about__bottom .cvArea {
        margin-top: 0;
    }
    .information {
        padding: 8rem 0;
    }
    .information__ttl {
        color: #000;
        margin-bottom: 5rem;
    }
    .information__separate {
        display: flex;
        justify-content: space-between;
        margin: 0 10rem;
    }
    .information__ele {
        width: calc((100% / 2) - 2rem);
    }
    .information__subTtl {
        text-align: center;
        font-size: 2.8rem;
        border-bottom: .2rem solid #C3C3C3;
        padding-bottom: 1rem;
        margin-bottom: 2rem;
    }
    .information__itemEle a {
        display: flex;
    }
    .information__itemEle:nth-of-type(n+2) {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: .1rem solid #E0E0E0;
    }
    .information__itemEle figure {
        width: 9rem;
    }
    .information__itemEle div {
        width: calc(100% - 9rem);
        padding-left: 2.5rem;
    }
    .information__itemEle h3 {
        line-height: 1.7;
        font-weight: lighter;
    }
    .information__itemEle p {
        text-align: right;
        font-size: 1.2rem;
        color: #CBCBCB;
    }
    .information__more {
        margin-top: 5rem;
        text-align: center;
    }
    .information__more a {
        display: inline-block;
        position: relative;
        color: #0E8E46;
        border: .2rem solid #0E8E46;
        padding: 1.2rem 7rem;
    }
    .information__more a::after {
        content: "";
        position: absolute;
        height: 0.6rem;
        width: 0.6rem;
        border-top: .2rem solid #0E8E46;
        border-right: .2rem solid #0E8E46;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    .schedule {
        text-align: center;
        background: #F7F7F7;
        padding: 6rem 0;
    }
    .schedule__btn a {
        position: relative;
        display: inline-block;
        background: #0E8E46;
        padding: 3rem 8rem;
        border-radius: .3rem;
    }
    .schedule__btn a::after {
        content: "";
        position: absolute;
        height: 1.5rem;
        width: 1.5rem;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    .schedule__btn p {
        font-size: 2rem;
        color: #fff;
        margin-top: 1rem;
    }
    .implementation {
        padding: 8rem 0;
    }
    .implementation__ttl {
        color: #000;
    }
    .implementation__txt {
        text-align: center;
        font-size: 1.6rem;
    }
    .implementation__list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -.8rem;
        margin-top: 5rem;
    }
    .implementation__ele {
        width: calc((100% / 3) - 1.6rem);
        margin: 0 0.8rem;
    }
    .implementation__img {
        overflow: hidden;
        height: 207px;
    }
    .implementation__img img{
        height: 100%;
        object-fit: cover;
    }
    .implementation__img img,
    .implementation__ele a {
        transition: .3s;
    }
    .implementation__ele a {
        display: block;
    }
    .implementation__ele a:hover {
        opacity: .7;
    }
    .implementation__ele a:hover .implementation__img img {
        transform: scale(1.1);
    }
    .implementation__ele:nth-of-type(n+4) {
        margin-top: 3rem;
    }
    .implementation__ele p {
        position: relative;
        margin-top: 1rem;
        font-size: 2rem;
        transition: .3s;
    }
    .implementation__ele a:hover p {
        color: #0E8E46;
    }
    .implementation__ele p::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 2.2rem;
        width: 2.2rem;
        background: url(../images/arrow_green.svg);
    }
    .access {
        background: #F7F7F7;
        padding: 8rem 0;
    }
    .access__ttl {
        color: #000;
    }
    .access__map {
        width: 100%;
        height: 30rem;
    }
    .access__separate {
        display: flex;
        justify-content: center;
    }
    .access__left {
        width: 40rem;
        padding-right: 6rem;
    }
    .access__right {
        width: 40rem;
    }
    .access__separate {
        margin-top: 4rem;
    }
    .access__separate dl {
        display: flex;
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        border-top: 1px solid #CCCCCC;
    }
    .access__separate dt {
        width: 5.6rem;
    }
    .access__separate dd {
        width: calc(100% - 5.6rem);
        padding-left: 3rem;
    }
    .access__subTtl {
        font-size: 1.8rem;
        font-weight: bold;
    }
    .access__bottom {
        width: 80rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 4rem;
        background: #fff;
        padding: 1.2rem 5rem;
    }
    .access__bottom strong {
        display: block;
        text-align: center;
        margin-bottom: .8rem;
    }
    .beginner {
        padding: 8rem 0;
    }
    .beginner__txt {
        text-align: center;
        margin-top: 4rem;
        line-height: 2;
    }
    .beginner__btn {
        text-align: center;
        margin-top: 5rem;
        color: #fff;
    }
    .beginner__btn a {
        position: relative;
        display: inline-block;
        background: #0E8E46;
        padding: 2rem 11rem;
        font-size: 2rem;
        border-radius: .4rem;
    }
    .beginner__btn a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        right: 2.5rem;
        height: 1.5rem;
        width: 1.5rem;
        border-top: .1rem solid #fff;
        border-right: .1rem solid #fff;
    }
}

@media screen and (max-width: 767px),
print {
    body {
        font-family: 'Noto Sans JP', sans-serif;
    }
    main {
        overflow: hidden;
    }
    .sec_inner {
        padding: 0 1rem;
    }
    .sec__ttl {
        color: #fff;
        text-align: center;
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }
    .sec__ttl small {
        display: block;
        font-size: 1.2rem;
        margin-bottom: .5rem;
        font-weight: lighter;
    }
    .mv {
        background: url(../images/mv.jpg) center right;
        background-size: cover;
        padding: 6rem 1rem;
    }
    .mv h2 {
        margin-left: auto;
        margin-right: auto;
        font-size: 2rem;
        color: #fff;
    }
    .campaign {
        background: #F7F7F7;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .campaign__ttl {
        text-align: center;
        font-size: 1.8rem;
        color: #0E8E46;
        margin-bottom: 1rem;
    }
    .campaign__ttl span {
        position: relative;
    }
    .campaign__ttl span::after,
    .campaign__ttl span::before {
        content: "";
        position: absolute;
        top: 50%;
        height: 2.5rem;
        width: 0.2rem;
        background: #0E8E46;
    }
    .campaign__ttl span::after {
        transform: translateY(-50%) translateX(2rem) rotate(40deg);
    }
    .campaign__ttl span::before {
        transform: translateY(-50%) translateX(-3rem) rotate(-40deg);
    }


    .c_banner {
    }

    .c_banner__ttl {
        text-align: center;
        font-size: 1.8rem;
        color: #0E8E46;
        margin-bottom: 2rem;
    }

    .c_banner__ttl span {
     position: relative;
    }

    .c_banner__ttl span::after, .c_banner__ttl span::before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 2rem;
        width: 0.2rem;
        background: #0E8E46;
    }

    .c_banner__ttl span::after {
        left: -2rem;
        transform: translateY(-50%) rotate(-45deg);
    }

    .c_banner__ttl span::before {
        right: -2rem;
        transform: translateY(-50%) rotate(45deg);
    }

    .c_banner figure {
        width: 100%;
        text-align: center;
    }
    .c_banner figure + figure {
        margin-top: 20px;
    }
    .c_banner figure img{
        width: 100%;
    }
    .c_banner__wrap figure figcaption{
        text-align: center;
        display: block;
        margin-top:.4em;
    }

    .campaign__list {
        margin-top: 2rem;
    }
    .campaign__list .slick-slide {
        margin: 0 .5rem;
    }
    .campaign__list .slick-prev {
        left: -10px;
    }
    .campaign__list .slick-next {
        right: -10px;
        transform: translate(0, -50%) rotate(180deg);
    }
    .campaign__list .slick-prev,
    .campaign__list .slick-next {
        background: url(../images/arrow.svg) no-repeat;
        background-size: contain;
        width: 25px;
        height: 25px;
        z-index: 99;
    }
    .campaign__list .slick-prev::before,
    .campaign__list .slick-next::before {
        display: none !important;
    }
    .campaign__anchor {
        margin-top: 2.5rem;
    }
    .campaign__anchor li a {
        position: relative;
        display: block;
        padding: 1rem 0;
        border-bottom: .1rem solid #0E8E46;
        font-size: 1.4rem;
        color: #0E8E46;
        font-weight: bold;
    }
    .campaign__anchor li a::after {
        content: "";
        position: absolute;
        right: .5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        height: 0.5rem;
        width: 0.5rem;
        border-right: .2rem solid #0E8E46;
        border-bottom: .2rem solid #0E8E46;
    }
    .about {
        background: linear-gradient(to right, #0B897B, #B4D0AA);
        padding: 2rem 0;
    }
    .about__ttl {
        color: #fff;
        text-align: center;
        font-size: 2rem;
        margin-bottom: 2rem;
    }
    .about__ttl small {
        display: block;
        font-size: 1.4rem;
        margin-bottom: .5rem;
    }
    .about__subTtl {
        text-align: center;
        font-size: 1.8rem;
        color: #fff;
        margin-top: 2rem;
    }
    .about__txt {
        margin-left: auto;
        margin-right: auto;
        margin-top: 2rem;
        color: #fff;
        font-size: 1.4rem;
    }
    .about__cvArea {
        margin-top: 2rem;
        margin-left: auto;
        margin-right: auto;
        border: .1rem solid #fff;
        border-radius: 1rem;
        padding: 2rem;
    }
    .cvArea {
        text-align: center;
    }
    .cvArea__ttl {
        font-size: 1.8rem;
        color: #fff;
    }
    .cvArea__txt {
        margin-top: 1rem;
        color: #fff;
        font-size: 1.4rem;
    }
    .cvArea__btn {
        margin-top: 2rem;
    }
    .cvArea__btn a {
        display: inline-block;
        position: relative;
        text-align: center;
        min-width: 25rem;
        box-sizing: border-box;
        background: #fff;
        font-size: 1.4rem;
        padding: 1.5rem;
        padding-right: 1.5rem;
        padding-left: 1rem;
        border-radius: .3rem;
        color: #0E8E46;
        font-weight: bold;
    }
    .cvArea__btn a::after {
        content: "";
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        height: 0.5rem;
        width: 0.5rem;
        border-top: .2rem solid #0E8E46;
        border-right: .2rem solid #0E8E46;
    }
    .cvArea__btn a:nth-of-type(n+2) {
        margin-top: 1rem;
    }
    .cvArea__btn a span {
        position: relative;
        display: inline-block;
    }
    .cvArea__btn a:last-of-type {
        padding-left: 2rem;
    }
    .cvArea__btn a:last-of-type span::before {
        position: absolute;
        content: "";
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 2rem;
        width: 1.5rem;
        background: url(../images/tel_icon.svg) no-repeat;
        background-size: contain;
    }
    .school {
        background: #F7F7F7;
        width: calc(100% - 2rem);
        border-radius: 1.5rem;
        padding: 1rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 4rem;
    }
    .school__wrap {
        margin-left: auto;
        margin-right: auto;
        border: .2rem solid #229487;
        border-radius: 1.5rem;
        padding: 2rem 0;
        background: #fff;
    }
    .school__ttl {
        text-align: center;
    }
    .school__ttl img {
        height: 4rem;
    }
    .school__txt {
        text-align: left;
        margin-top: 1.5rem;
        font-size: 1.6rem;
        font-weight: bold;
    }
    .school__list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 4rem;
    }
    .school__ele {
        position: relative;
    }
    .school__ele:nth-of-type(n+3) {
        margin-top: 5rem;
    }
    .school__txtArea {
        position: relative;
        width: calc(100% - 2rem);
        margin-left: auto;
        margin-right: auto;
        background: #fff;
        border-radius: 1rem 1rem 0 0;
        padding: 2rem 1rem;
        margin-top: -5rem;
        z-index: 1;
    }
    .school__txtArea h3 {
        text-align: center;
    }
    .school__txtArea h3 img {
        height: 4.5rem;
    }
    .school__txtArea h3 small {
        display: block;
    }
    .school__txtArea p {
        margin-top: 2rem;
        line-height: 1.8;
        font-size: 1.4rem;
    }
    .school__txtArea::after {
        position: absolute;
        content: "";
        height: 5rem;
        width: 5rem;
        left: 1rem;
        top: 1rem;
    }
    .school__ele--dance .school__txtArea::after {
        background: url(../images/dance_deco.svg);
        background-size: contain;
    }
    .school__ele--swimming .school__txtArea::after {
        background: url(../images/swimming_deco.svg);
        background-size: contain;
    }
    .school__ele--karate .school__txtArea::after {
        background: url(../images/karate_deco.svg);
        background-size: contain;
    }
    .school__ele--ballet .school__txtArea::after {
        background: url(../images/ballet_deco.svg);
        background-size: contain;
    }
    .facility {
        background: #F7F7F7;
        width: calc(100% - 2rem);
        border-radius: 1.5rem;
        padding: 1rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 4rem;
    }
    .facility__wrap {
        margin-left: auto;
        margin-right: auto;
        border: .2rem solid #229487;
        border-radius: 1.5rem;
        padding: 2rem 0;
        background: #fff;
    }
    .facility__ttl {
        text-align: center;
    }
    .facility__ttl img {
        height: 4rem;
    }
    .facility__txt {
        text-align: center;
        margin-top: 1.5rem;
        font-size: 1.6rem;
        font-weight: bold;
    }
    .facility__bgList {
        margin-top: 4rem;
    }
    .facility__bgEle {
        padding: 2rem;
        width: 100% !important;
    }
    .facility__bgEle h3,
    .facility__bgEle p {
        color: #fff;
    }
    .facility__bgEle h3 {
        font-size: 1.6rem;
        width: auto !important;
        line-height: 1.8;
    }
    .facility__bgEle p {
        font-size: 1.2rem;
        width: auto !important;
        margin-top: 2rem;
        line-height: 1.8;
    }
    .facility__bgEle a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20rem;
        height: 6rem;
        margin-left: auto;
        margin-right: auto;
        border-radius: 9999px;
        text-align: center;
        font-size: 14px;
        background: #fff;
        font-weight: bold;
        color: #fff;
        margin-top: 2rem;
    }
    .facility__bgEle a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1rem;
        height: 1.4rem;
        width: 1.4rem;
        background: url(../images/arrow.png) no-repeat center center / contain;
    }
    .facility__bgEle a.blank::after {
        height: 1.4rem;
        width: 1.4rem;
        background: url(../images/blank.png) no-repeat center center / contain;
    }
    .facility__bgEle {
        width: 50%;
        background-size: cover;
    }
    .facility__bgEle h3,
    .facility__bgEle p {
        width: 37rem;
        margin-left: auto;
        margin-right: auto;
    }
    .facility__bgEle:nth-of-type(1) {
        background: url(../images/facility_bg01_renew.jpg) no-repeat center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(2) {
        background: url(../images/facility_bg02_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(3) {
        background: url(../images/facility_bg03_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bgEle:nth-of-type(4) {
        background: url(../images/facility_bg04_renew.jpg) center center;
        background-size: cover;
    }
    .facility__bottom {
        margin-top: 2rem;
    }
    .facility__frameTtl {
        text-align: center;
        background: #229487;
        font-size: 1.4rem;
        font-weight: lighter;
        border-radius: 999rem;
        padding: .5rem;
        color: #fff;
        margin-bottom: 3rem;
    }
    .facility__imgList {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -.5rem;
    }
    .facility__imgEle {
        text-align: center;
        width: calc((100% / 2) - 1rem);
        margin-left: .5rem;
        margin-right: .5rem;
    }
    .facility__imgEle:nth-of-type(n+3) {
        margin-top: 1.5rem;
    }
    .facility__imgEle figcaption {
        margin-top: .5rem;
        font-size: 1.2rem;
    }
    .about .cvArea {
        margin-top: 2rem;
    }
    .about__bottom .cvArea {
        margin-top: 0;
    }
    .information {
        padding: 3rem 0;
    }
    .information__ttl {
        color: #000;
        margin-bottom: 3rem;
    }
    .information__ele:nth-of-type(n+2) {
        margin-top: 5rem;
    }
    .information__subTtl {
        text-align: center;
        font-size: 2rem;
        border-bottom: .1rem solid #C3C3C3;
        padding-bottom: 1rem;
        margin-bottom: 2rem;
    }
    .information__itemEle a {
        display: flex;
    }
    .information__itemEle:nth-of-type(n+2) {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: .1rem solid #E0E0E0;
    }
    .information__itemEle figure {
        width: 9rem;
    }
    .information__itemEle div {
        width: calc(100% - 9rem);
        padding-left: 1rem;
    }
    .information__itemEle h3 {
        line-height: 1.7;
        font-weight: lighter;
        font-size: 1.4rem;
    }
    .information__itemEle p {
        text-align: right;
        font-size: 1rem;
        color: #CBCBCB;
    }
    .information__more {
        margin-top: 3rem;
        text-align: center;
    }
    .information__more a {
        display: inline-block;
        position: relative;
        color: #0E8E46;
        border: .2rem solid #0E8E46;
        padding: 1.2rem 7rem;
        font-size: 1.4rem;
    }
    .information__more a::after {
        content: "";
        position: absolute;
        height: 0.6rem;
        width: 0.6rem;
        border-top: .2rem solid #0E8E46;
        border-right: .2rem solid #0E8E46;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    .schedule {
        text-align: center;
        background: #F7F7F7;
        padding: 3rem 0;
    }
    .schedule__btn a {
        width: calc(100% - 2rem);
        margin-left: auto;
        margin-right: auto;
        display: block;
        position: relative;
        background: #0E8E46;
        padding: 1rem 2rem;
        border-radius: .3rem;
    }
    .schedule__btn a::after {
        content: "";
        position: absolute;
        height: 1.2rem;
        width: 1.2rem;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    .schedule__btn img {
        width: 2.5rem;
    }
    .schedule__btn p {
        font-size: 1.6rem;
        color: #fff;
        margin-top: .5rem;
    }
    .implementation {
        padding: 3rem 0;
    }
    .implementation__ttl {
        color: #000;
    }
    .implementation__txt {
        text-align: center;
    }
    .implementation__list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -.5rem;
        margin-top: 3rem;
    }
    .implementation__ele {
        width: calc((100% / 2) - 1rem);
        margin: 0 0.5rem;
    }
    .implementation__ele:nth-of-type(n+3) {
        margin-top: 1rem;
    }
    .implementation__ele p {
        position: relative;
        margin-top: 1rem;
        font-size: 1.4rem;
        padding-right: 2rem;
    }
    .implementation__ele p::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 1.6rem;
        width: 1.6rem;
        background: url(../images/arrow_green.svg) no-repeat;
        background-size: contain;
    }
    .access {
        background: #F7F7F7;
        padding: 3rem 0;
    }
    .access__ttl {
        color: #000;
    }
    .access__map {
        width: 100%;
        height: 25rem;
    }
    .access__left {
        margin-top: 1.5rem;
    }
    .access__separate {
        display: flex;
        flex-direction: column-reverse;
        margin-top: 4rem;
    }
    .access__separate dl {
        display: flex;
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid #CCCCCC;
        font-size: 1.4rem;
    }
    .access__separate dt {
        width: 5.6rem;
    }
    .access__separate dd {
        width: calc(100% - 5.6rem);
        padding-left: 2rem;
    }
    .access__subTtl {
        font-size: 1.8rem;
        font-weight: bold;
    }
    .access__bottom {
        margin-left: auto;
        margin-right: auto;
        margin-top: 4rem;
        background: #fff;
        padding: 1.2rem 1.5rem;
        font-size: 1.4rem;
    }
    .access__bottom strong {
        display: block;
        text-align: center;
        margin-bottom: .8rem;
    }
    .beginner {
        padding: 3rem 0;
    }
    .beginner__bnr {
        position: relative;
        height: 40vw;
    }
    .beginner__bnr img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        max-width: inherit;
    }
    .beginner__txt {
        text-align: center;
        margin-top: 2rem;
        line-height: 1.7;
        text-align: left;
        font-size: 1.4rem;
    }
    .beginner__btn {
        text-align: center;
        margin-top: 3rem;
        color: #fff;
    }
    .beginner__btn a {
        position: relative;
        display: block;
        background: #0E8E46;
        padding: 1.5rem 0;
        font-size: 1.4rem;
        border-radius: .4rem;
    }
    .beginner__btn a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        right: 2.5rem;
        height: 1rem;
        width: 1rem;
        border-top: .1rem solid #fff;
        border-right: .1rem solid #fff;
    }
    .implementation__img {
        overflow: hidden;
        height: 99px;
        width: 100%;
    }
    .implementation__img img{
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .school__txtArea h3.purogura img{
        height: 6.5rem;
    }
}