@charset "utf-8";

/* ##### 共通 ##### */
.mainimg {
    position: relative;
}

.logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.logo a:before {
    content: '';
    display: inline-block;
    width: 60px;
    height: 60px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-leaf.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    margin-right: 10px;
}

.half-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 25px;
}

.half-list li {
    width: calc(100% / 3 - 10px);
    max-width: 200px;
    margin: 0 5px;
}

.half-list li div {
    padding: 2px 5px 2px 32px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.half-list li div a:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 5px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.icon-tel-w a:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-phone-white.png);
}

.icon-mail-w a:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-mail-white.png);
}

.icon-class-w a:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-class-white.png);
}

.half-list li a {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: 120%;
    padding: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.half-list .icon-tel-w a {
    font-size: 19px;
    padding: 0;
}

.upper-tel {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}

.under-tel {
    display: block;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.half-blue {
    background: linear-gradient(-40deg, #0085b2 0%, #0085b2 35%, #00468c 35%, #00468c 100%);
}

.half-red {
    background: linear-gradient(-40deg, #ff7373 0%, #ff7373 35%, #f00 35%, #f00 100%);
}

.half-green {
    background: linear-gradient(-40deg, #aaca5f 0%, #aaca5f 35%, #8aa642 35%, #8aa642 100%);
}

.half-orange {
    background: linear-gradient(-40deg, #f89a54 0%, #f89a54 35%, #fd7109 35%, #fd7109 100%);
}

.half-blue+.under-tel {
    color: #00468c;
}

.half-red+.under-tel {
    color: #f00;
}

.icon:before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.icon_001:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_001.png);
}

.icon_002:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_002.png);
}

.icon_003:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_003.png);
}

.icon_004:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_004.png);
}

.icon_005:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_005.png);
}

.icon_006:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_006.png);
}

.icon_007:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_007.png);
}

.icon_008:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_008.png);
}

.icon_009:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_009.png);
}

.icon_010:before {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon_010.png);
}

.bk-mesh {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/bk_001.png);
    background-size: 108px 95px;
    background-repeat: repeat;
    background-position: center center;
}

.bk-green {
    background-color: #f3ffe8;
}

.bk-gray {
    background-color: #eee;
}

.bk-blue {
    background-color: #e8faff;
}

.bk-pink {
    background-color: #fef4f5;
}

.bk-lightgreen {
    background-color: #f4fef7;
}

.gray-line {
    border: 1px solid #bbbbbc;
}

.filter-white {
    position: relative;
}

.filter-white::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.filter-white .inner {
    z-index: 1;
    position: relative;
}

.loud-text {
    font-size: 16px;
    line-height: 200%;
}

.leaf-box {
    position: relative;
}

.leaf-box:after {
    content: '';
    display: inline-block;
    width: 55px;
    height: 55px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-leaf.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: -25px;
    right: 0;
    z-index: 1;
}

.rev-box-outer .rev-box:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.num-box .rev-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

.check-list-box {
    margin: 30px 0;
    padding: 30px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.check-list li {
    font-size: 16px;
    line-height: 200%;
    position: relative;
    margin-bottom: 16px;
    padding-left: 35px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.check-list li:last-of-type {
    margin-bottom: 0;
}

.check-list li:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-check.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
}

.red {
    color: #f20505;
}

@media (max-width: 1024px) {
    .half-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 74%;
        margin: 0 auto;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
    }

    .half-list li {
        width: calc(100% / 2 - 20px);
        max-width: 230px;
        margin: 5px 10px;
    }

    .rev-box-outer .rev-box:nth-of-type(odd) .inner-rev-box-text {
        padding-right: 15px;
    }

    .rev-box-outer .rev-box:nth-of-type(even) .inner-rev-box-text {
        padding-left: 15px;
    }

    .loud-text {
        line-height: 180%;
    }
}

@media (max-width: 599px) {
    .logo {
        width: 60%;
    }

    .half-list {
        width: 70%;
        min-width: 310px;
    }

    .half-list li {
        width: calc(100% / 2 - 4px);
        max-width: 160px;
        margin: 0 2px 5px 2px;
    }

    .half-list li a {
        font-size: 10px;
    }

    .half-list .icon-tel-w a {
        font-size: 13px;
    }

    .half-list li div {
        padding: 2px 5px 2px 30px;
    }

    .half-list li div:before {
        width: 22px;
        height: 22px;
    }

    .upper-tel {
        line-height: 150%;
    }

    .under-tel {
        font-size: 10px;
        line-height: 130%;
    }

    .loud-text {
        line-height: 160%;
    }
}

@media (max-width: 599px) {
    .inner-rev-box {
        margin: 0;
    }

    .inner-rev-box .ofimg:before {
        padding-top: 80%;
    }
}

/* button */
.more-btn {
    margin: 15px 0;
}

.more-btn a {
    position: relative;
}

.more-btn a:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-top: 1px solid #000;
    position: absolute;
    bottom: 0;
    left: 0;
}

.more-btn-green {
    width: 220px;
    max-width: 90%;
    margin: 50px auto 0 auto;
}

.more-btn-green a,
.more-btn-green button {
    width: 100%;
    display: block;
    padding: 20px 10px;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #59b200;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border-radius: 3px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: relative;
}

.more-btn-green button {
    padding: 10px;
}

.more-btn-green a:after {
    content: "\f138";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: 15px;
}

.back-btn a:after {
    display: none
}

.back-btn a:before {
    content: "\f137";
    font-family: FontAwesome;
    display: inline-block;
    margin-right: 15px;
}

.more-btn-green button:hover {
    cursor: pointer;
    opacity: 0.6;
}

@media (max-width: 1024px) {

    .more-btn-green a,
    .more-btn-green button {
        padding: 10px 10px;
    }
}

/* button end */

/* 見出し */
.deco-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    position: relative;
    margin-bottom: 50px;
}

.deco-heading:before,
.deco-heading:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 40px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/deco_001.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}

.deco-blue:before,
.deco-blue:after {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/deco_001_blue.png);
}

.deco-pink:before,
.deco-pink:after {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/deco_001_pink.png);
}

.deco-green:before,
.deco-green:after {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/deco_001_green.png);
}

.deco-leaf:before,
.deco-leaf:after {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-leaf.png);
    width: 45px;
    height: 45px;
}

.deco-leaf:before {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.deco-heading.deco-leaf:after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.deco-heading:before {
    margin-right: 15px;
}

.deco-heading:after {
    margin-left: 15px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.leaf-heading {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    margin-bottom: 30px;
    padding: 20px 75px 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.leaf-heading:before {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background-color: #59b200;
    position: absolute;
    bottom: 0;
    left: 0;
}

.leaf-heading:after {
    content: '';
    display: inline-block;
    width: 55px;
    height: 55px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-leaf.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: 0 auto 0 15px;
}

.num-heading {
    width: 100%;
    min-height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 22px;
    font-weight: bold;
    line-height: 120%;
    margin-bottom: 30px;
    padding: 15px 15px 15px 95px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 3px solid #fff;
    position: relative;
}

.num-heading .num {
    display: inline-block;
    width: 65px;
    height: 65px;
    font-size: 48px;
    font-weight: bold;
    line-height: 65px;
    text-align: center;
    background-color: #fff;
    border-radius: 50%;
    margin-right: 30px;
    color: #fff;
    position: absolute;
    top: 15px;
    left: 15px;
    margin: auto;
}

.num-heading-green {
    border: 3px solid #59b200;
}

.num-heading-green .num {
    background-color: #59b200;
}

.num-heading-pink {
    border: 3px solid #f47690;
}

.num-heading-pink .num {
    background-color: #f47690;
}

.num-heading-blue {
    border: 3px solid #2d97d3;
}

.num-heading-blue .num {
    background-color: #2d97d3;
}

@media (max-width: 1024px) {
    .deco-heading {
        font-size: 22px;
        margin-bottom: 30px;
    }

    .deco-heading:before,
    .deco-heading:after {
        width: 16px;
        height: 36px;
    }

    .deco-heading:before {
        margin-right: 5px;
    }

    .deco-heading:after {
        margin-left: 5px;
    }

    .num-heading {
        margin-bottom: 10px;
        padding: 10px 10px 10px 70px;
    }

    .num-heading .num {
        width: 55px;
        height: 55px;
        font-size: 36px;
        line-height: 55px;
        left: 5px;
    }
}

@media (max-width: 599px) {
    .leaf-heading {
        font-size: 22px;
        padding-right: 50px;
    }

    .leaf-heading:after {
        width: 45px;
        height: 45px;
    }

    .num-heading {
        min-height: 70px;
        margin-bottom: 10px;
        padding: 10px 10px 10px 65px;
    }

    .num-heading .num {
        width: 45px;
        height: 45px;
        font-size: 34px;
        line-height: 45px;
        top: 10px;
        left: 5px;
    }
}

/* 見出し end */

/* ##### 共通 end ##### */

/* ##### header ##### */
header h1 {
    color: #fff;
    font-size: 13px;
    background-color: #00661a;
    padding: 5px calc(50% - 500px) 5px calc(50% - 500px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.inner-header {
    width: 100%;
    max-width: 1200px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 1024px) {
    header h1 {
        padding: 5px 10px;
    }

    .inner-header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .fixed-logo .logo a:before {
        width: 30px;
        height: 30px;
        margin-right: 5px;
    }

    .fixed-logo .logo {
        width: 30%;
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 9;
    }

    .fixed-logo .logo a {
        padding: 5px 10px;
    }
}

@media (max-width: 599px) {
    .inner-header {
        padding: 5px;
    }

    .fixed-logo .logo {
        width: 45%;
    }
}

/* ##### header end ##### */

/* ##### nav ##### */
.sp-only {
    display: none;
}

.sp-only[data-element-id] {
    display: block;
    border: 1px solid #ff8c00;
    position: relative;
}

.sp-only[data-element-id]:before {
    content: "スマホ用ナビ";
    display: block;
    width: 100%;
    height: auto;
    padding: 1px;
    font-size: 10px;
    line-height: 110%;
    background-color: #ff8c00;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

nav .logo {
    display: none;
}

nav {
    width: 100%;
    background-color: #fff;
    z-index: 3;
}

nav .inner {
    width: 100%;
}

nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
}

nav.fixed[data-element-id] {
    position: static;
}

.nav-list {
    width: 100%;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 15px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.nav-list[data-element-id] {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.nav-list li {
    width: calc(100% / 8);
    border-right: 2px dotted #000;
}

.nav-list li:first-of-type {
    border-left: 2px dotted #000;
}

.nav-list li a,
.nav-list li>span {
    display: block;
    width: 100%;
    text-align: center;
    font-weight: bold;
    padding: 25px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.nav-list li a:after,
.nav-list li>span:after {
    content: "\f107";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 26px;
    color: #00661a;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.nav-list .on {
    position: relative;
}

.nav-list .on span:hover {
    cursor: pointer;
    opacity: 0.6;
}

.nav-list .on ul {
    display: block;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 10px;
    position: absolute;
    top: 100px;
    width: 300px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
    visibility: visible;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.nav-list .on ul:before {
    display: block;
    position: absolute;
    content: "";
    border-top: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #fff;
    border-left: 10px solid transparent;
    top: -20px;
    left: 50%;
}

.nav-list .on ul:after {
    content: '';
    display: block;
    background-color: transparent;
    width: 100%;
    height: 30px;
    position: absolute;
    top: -30px;
    left: 0;
}

.dropmenu li {
    width: 100%;
    border-right: none;
    border-left: none;
    border-bottom: 2px dotted #000;
}

.nav-list li .dropmenu li:first-of-type {
    border-left: none;
}

.dropmenu li:last-of-type {
    border-bottom: none;
}

.dropmenu li a:after {
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 26px;
    color: #00661a;
    position: absolute;
    top: 50%;
    left: auto;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.nav-list .on ul[data-element-id] {
    opacity: 1;
    height: auto;
}

.nav-list .on ul[data-element-id] {
    right: -430%;
}

.dropmenu-wrap {
    *zoom: 1;
}

.dropmenu-wrap .dropmenu {
    position: relative;
}

.dropmenu-wrap .dropmenu ul {
    position: absolute;
    z-index: 9999;
    opacity: 0;
    height: 0;
}

#dropmenu .dropmenu ul li {
    overflow: hidden;
    width: 100%;
    height: 0;
    -webkit-transition-property: all;
    -webkit-transition: 0.3s linear;
    transition-property: all;
    transition: 0.3s linear;
}

#dropmenu .dropmenu:hover ul {
    opacity: 1;
    height: auto;
}

#dropmenu .dropmenu:hover ul li {
    overflow: visible;
    height: 70px;
    border-left: none;
}

#dropmenu .dropmenu[data-element-id] ul li {
    overflow: visible;
    height: 70px;
    border-left: none;
}

@media (max-width: 1024px) {
    .sp-only {
        display: block;
    }

    .hamburger {
        -webkit-transition: 0.3s linear;
        transition: 0.3s linear;
    }

    .fixed-logo .hamburger {
        top: 5px;
    }

    nav,
    nav.fixed {
        width: 350px;
        height: 100vh;
        position: fixed;
        top: 0;
        left: initial;
        right: 0;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        -webkit-transform: translate(350px);
        transform: translate(350px);
        z-index: 10;
        padding: 0;
    }

    .active nav {
        -webkit-transform: translate(0);
        transform: translate(0);
        -webkit-box-shadow: -3px 0px 13px -3px #808080;
        box-shadow: -3px 0px 13px -3px #808080;
    }

    nav .logo {
        display: block;
        width: 60%;
        margin: 10px auto;
    }

    .fixed-logo nav .logo {
        position: static;
        width: 60%;
    }

    nav .logo a:before {
        margin-right: 5px;
    }

    nav .inner {
        height: 100%;
        padding-bottom: 150px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0) !important;
    }

    .nav-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0;
    }

    .nav-list li {
        width: 96%;
        margin: 0 2%;
        border-right: none;
        border-bottom: 2px dotted #000;
    }

    .nav-list li:first-of-type {
        border-left: none;
    }

    .nav-list li a,
    .nav-list li>span {
        padding: 15px 50px;
        text-align: left;
    }

    .nav-list li.sp-only a:before {
        content: "\f138";
        font-family: FontAwesome;
        font-size: 20px;
        color: #59b200;
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 15px;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        margin: auto;
    }

    .nav-list li a .icon:before,
    .nav-list li>span.icon:before {
        top: 50%;
        left: 10px;
        right: auto;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    .nav-list li a:after,
    .nav-list li>span:after {
        bottom: auto;
        left: auto;
        right: 10px;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .nav-list .on>span:after {
        display: none;
    }

    .nav-list .on ul {
        display: block;
        width: 100%;
        padding: 0;
        position: static;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .nav-list li>span:after {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    .dropmenu li a:after {
        -webkit-transform: translate(0, -50%) rotate(0deg);
        transform: translate(0, -50%) rotate(0deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
    }

    #dropmenu .dropmenu ul {
        opacity: 1;
        height: auto;
    }

    #dropmenu .dropmenu ul li {
        overflow: visible;
        height: auto;
    }
}

@media (max-width: 599px) {

    nav,
    nav.fixed {
        width: 250px;
    }

    nav .logo {
        width: 70%;
    }

    .fixed-logo nav .logo {
        width: 70%;
    }

    .nav-list li a,
    .nav-list li>span {
        font-size: 14px;
        padding: 15px 20px 15px 30px;
    }

    .nav-list li a .icon:before,
    .nav-list li.on>span.icon:before {
        width: 25px;
        height: 25px;
    }

    .nav-list li a .icon:before,
    .nav-list li.sp-only a:before,
    .nav-list li.on>span:before {
        left: 2px;
    }

    .nav-list li a:after {
        right: 2px;
    }
}

/* ##### nav end ##### */

/* ##### footer ##### */
.floating-btn {
    display: none;
}

.floating-btn[data-element-id] {
    display: block;
}

.footer-link-wrap {
    padding: 50px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.footer-link-list {
    width: 98%;
    max-width: 1300px;
    margin: 0 auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer-link-list li {
    width: calc(25% - 10px);
    border: 1px solid #bcbcbc;
}

.footer-link-list li a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-link-list li a .ofimg {
    width: 55%;
    height: 100%;
}

.footer-link-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    width: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.footer-flow .footer-link-box {
    background-size: auto auto;
    background-color: rgba(84, 171, 219, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(39, 148, 210, 1) 2px, rgba(39, 148, 210, 1) 4px);
}

.footer-result .footer-link-box {
    background-size: auto auto;
    background-color: rgba(245, 132, 156, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(244, 118, 144, 1) 2px, rgba(244, 118, 144, 1) 4px);
}

.footer-faq .footer-link-box {
    background-size: auto auto;
    background-color: rgba(54, 191, 151, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(2, 175, 124, 1) 2px, rgba(2, 175, 124, 1) 4px);
}

.footer-price .footer-link-box {
    background-size: auto auto;
    background-color: rgba(255, 136, 15, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(255, 142, 30, 1) 2px, rgba(255, 142, 30, 1) 4px);
}

.footer-link-box:after {
    color: #fff;
    font-size: 24px;
    content: "\f138";
    font-family: FontAwesome;
    display: inline-block;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.footer-link-box .text {
    font-size: 22px;
    font-weight: bold;
    color: #fff;
}

.footer-bnr {
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.footer-bnr a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.bnr-cont {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
    z-index: 1;
}

.footer-bnr-heading {
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    text-shadow:
        white 2px 0px 2px,
        white -2px 0px 2px,
        white 0px -2px 2px,
        white -2px 0px 2px,
        white 2px 2px 2px,
        white -2px 2px 2px,
        white 2px -2px 2px,
        white -2px -2px 2px,
        white 1px 2px 2px,
        white -1px 2px 2px,
        white 1px -2px 2px,
        white -1px -2px 2px,
        white 2px 1px 2px,
        white -2px 1px 2px,
        white 2px -1px 2px,
        white -2px -1px 2px,
        white 1px 1px 2px,
        white -1px 1px 2px,
        white 1px -1px 2px,
        white -1px -1px 2px;
}

.mosgreen {
    color: #467418;
}

.footer-bnr-heading-sub {
    display: block;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    text-shadow:
        white 1px 1px 10px,
        white -1px 1px 10px,
        white 1px -1px 10px,
        white -1px -1px 10px;
}

.footer-bnr .ofimg {
    height: 100%;
}

.inner-footer {
    padding: 50px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #e9e9e9;
}

.footer-half-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 15px 0;
}

.footer-half-list li {
    width: calc(45% - 20px);
    max-width: 200px;
    margin: 10px;
}

footer .footer-class-list li {
    width: 92%;
    margin-bottom: 2%;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

footer .class-box-text {
    padding-bottom: 0;
}

footer .class-box-cont {
    position: relative;
    padding-bottom: 7%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

footer .class-box-cont .map {
    height: 100%;
}

footer .class-box-cont .more-btn {
    position: absolute;
    bottom: -3%;
    right: 0;
}

.footer-nav-list {
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
}

.footer-nav-list li {
    margin-bottom: 15px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.footer-nav-list li:before {
    content: "\f138";
    font-family: FontAwesome;
    color: #59b200;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
}

.footer-nav-list li a {
    font-size: 15px;
    font-weight: 500;
}

.copy {
    color: #fff;
    text-align: center;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #00661a;
}

@media (max-width: 1024px) {
    .floating-btn {
        width: 200px;
        display: block;
        position: fixed;
        bottom: 10px;
        right: 0;
        z-index: 9;
    }

    .floating-btn .half-list {
        width: 100%;
        margin: 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .floating-btn .half-list li {
        width: 100%;
        max-width: 100%;
        margin: 0 0 5px 0;
        -webkit-box-shadow: 0px 0px 6px -1px rgba(0, 0, 0, 0.2);
        box-shadow: 0px 0px 6px -1px rgba(0, 0, 0, 0.2);
    }

    .floating-btn .half-list li div {
        border-radius: 0;
    }

    .footer-bnr {
        padding: 50px 0;
    }

    .bnr-box:before {
        padding-top: 35%;
    }

    .bnr-cont {
        top: auto;
        bottom: 10px;
        left: auto;
        right: 10px;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .footer-bnr-heading {
        font-size: 32px;
    }

    .footer-bnr-heading-sub {
        font-size: 18px;
    }

    .footer-bnr .ofimg img {
        -o-object-position: center left;
        object-position: center left;
        font-family: 'object-fit: cover; object-position: center left;';
    }

    .footer-link-list li {
        width: calc(50% - 10px);
        margin-bottom: 20px;
    }

    footer .half-list {
        width: 100%;
    }

    .footer-box .footer-info-box,
    .footer-box .footer-nav-box {
        width: 100%;
    }

    .footer-box .footer-nav-box {
        margin-top: 15px;
        padding: 15px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    footer .footer-class-list li {
        width: 100%;
        margin: 0 0 2% 0;
    }
}

@media (max-width: 599px) {
    .floating-btn {
        width: 100%;
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 9;
        -webkit-box-shadow: 0px -4px 6px -4px rgba(0, 0, 0, 0.2);
        box-shadow: 0px -4px 6px -4px rgba(0, 0, 0, 0.2);
    }

    .footer-link-box .text {
        padding: 5px 15px;
    }

    .floating-btn .half-list {
        width: 100%;
        margin: 0;
    }

    .floating-btn .half-list li {
        width: 50%;
        max-width: 50%;
        margin: 0;
    }

    .floating-btn .half-list li div {
        width: 100%;
        margin: auto;
        padding-bottom: 5px;
        border-radius: 0;
    }

    .floating-btn .half-list li a {
        font-size: 16px;
    }

    footer .inner {
        width: 96%;
    }

    .footer-link-list li {
        width: 94%;
        margin: 0 3% 20px 3%;
    }

    .footer-bnr-heading {
        font-size: 18px;
    }

    .footer-bnr-heading-sub {
        font-size: 14px;
    }

    .footer-half-list li {
        width: calc(50% - 10px);
        max-width: calc(50% - 10px);
        margin: 5px;
    }

    .footer-half-list li a {
        height: 20px;
        padding: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .footer-info-box .footer-half-list li a {
        height: 40px;
    }

    footer .footer-class-list li {
        width: 96%;
        margin: 0 2% 2% 2%;
    }

    footer .footer-class-list li {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    footer .class-box-cont {
        padding-bottom: 12%;
    }

    .footer-box .footer-nav-box {
        margin-top: 10px;
        padding: 5px;
    }

    .footer-nav-list li {
        margin-bottom: 10px;
        position: relative;
    }

    .copy {
        padding-bottom: 55px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/* ##### footer end ##### */

/* ##### 下層共通 ##### */
.under-mainimg-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 450px;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
    z-index: 1;
}

.under-heading {
    min-width: 350px;
    font-size: 46px;
    font-weight: bold;
    line-height: 110%;
    margin-left: 50px;
    position: relative;
}

.under-heading::first-letter {
    font-size: 70px;
    color: #59b200;
}

.under-heading:before,
.under-heading:after {
    content: '';
    display: block;
    width: 1000px;
    height: 1000px;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    z-index: -1;
    position: absolute;
    top: 50%;
    right: 900px;
    -webkit-transform: translate(0, -50%);
    transform: translate(100%, -50%);
    margin: auto;
}

.under-heading:before {
    border: 1px solid #00661a;
}

.under-heading:after {
    width: 1010px;
    height: 1010px;
    background-color: rgba(255, 255, 255, 0.6);
}

.under main section {
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.step-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.step-inner-img,
.step-inner-text {
    width: 60%;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.step-inner-text {
    margin-left: -20%;
    z-index: 1;
}

.step-inner-text h3 {
    font-size: 22px;
    font-weight: bold;
}

.step-inner-text .leaf-box {
    background-color: rgba(255, 255, 255, 0.6);
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 15px;
}

/* pagenav */
.pagenav {
    margin: 100px auto;
}

.pagenav ul li {
    margin: 0 5px
}

.pagenav ul li a,
.pagenav ul li .now {
    width: 45px;
    height: 45px;
    display: block;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 30px;
    font-weight: bold;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 50%;
}

.pagenav ul li .now,
.pagenav ul li a:hover {
    opacity: 1;
    background-color: #59b200;
    color: #fff;
}

.pagenav ul li a:focus {
    outline: none;
}

@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    .pagenav ul li a,
    .pagenav ul li .now {
        padding-top: 5px;
    }
}

.pagenav ul li a:hover {
    opacity: 1;
}

.pagenav ul .prev,
.pagenav ul .next {
    position: relative;
}

.pagenav ul .prev-arrow:before {
    content: "\f104";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 30px;
}

.pagenav ul .next-arrow:before {
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 30px;
}

.pagenav ul .prev a:hover .prev-arrow:before,
.pagenav ul .next a:hover .next-arrow:before {
    color: #fff;
}

/* pagenav end */

@media (max-width: 1024px) {
    .under-mainimg-box:before {
        padding-top: 30%;
    }

    .under-mainimg-text {
        width: 300px;
    }

    .under-heading {
        min-width: 180px;
        font-size: 28px;
        margin-left: 15px;
    }

    .under-heading::first-letter {
        font-size: 40px;
    }

    .under-heading:before,
    .under-heading:after {
        width: 720px;
        height: 720px;
        right: 680px;
    }

    .under-heading:after {
        width: 730px;
        height: 730px;
    }
}

@media (max-width: 599px) {
    .under main section {
        padding: 50px 0;
    }

    .under-mainimg-box:before {
        padding-top: 40%;
    }

    .under-mainimg-text {
        width: 200px;
    }

    .under-heading:before,
    .under-heading:after {
        width: 500px;
        height: 500px;
        right: 480px;
    }

    .under-heading:after {
        width: 510px;
        height: 510px;
    }

    .under-heading {
        font-size: 24px;
    }

    .under-heading::first-letter {
        font-size: 32px;
    }

    .pagenav {
        margin: 50px auto;
    }

    .pagenav ul li a,
    .pagenav ul li .now {
        width: 25px;
        height: 25px;
        font-size: 16px;
    }


    .pagenav ul .prev-arrow:before,
    .pagenav ul .next-arrow:before {
        font-size: 16px;
    }
}

/* ##### 下層共通 end ##### */

/* ##### top ##### */
/* mainimg */
.top-mainimg-box {
    width: 100%;
}

.top-mainimg-text {
    width: 540px;
    height: 540px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
    z-index: 1;
}

.top-mainimg-text-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.7);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid #7d9990;
}

.top-mainimg-text-inner .arc {
    width: 100%;
    font-size: 54px;
    font-weight: bold;
    -ms-flex-item-align: start;
    align-self: flex-start;
    text-align: center;
    padding-top: 30px;
}

.top-mainimg-text-inner .text {
    font-size: 74px;
    font-weight: bold;
    letter-spacing: -10px;
    line-height: 120%;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top-mainimg-text-inner .big-lightgreen {
    font-size: 140px;
    color: #59b200;
}

.top-mainimg-text-inner .big-deepgreen {
    font-size: 140px;
    color: #00661a;
}

.top-mainimg-text-inner .top-mainimg-texts {
    text-align: left;
    line-height: 80%;
}

.top-mainimg-text-inner .texts2 {
    -webkit-transform: translate(0, -35%);
    transform: translate(0, -35%);
}

@media (max-width: 1024px) {
    .top-mainimg-box:before {
        padding-top: 70%;
    }

    .top-mainimg-text {
        -webkit-transform: translate(0, -50%) scale(0.6);
        transform: translate(0, -50%) scale(0.6);
    }

    .step-inner-img,
    .step-inner-text {
        width: 80%;
    }

    .step-inner-text {
        margin-left: -60%;
    }
}

@media (max-width: 599px) {
    .top-mainimg-box:before {
        padding-top: 130%;
    }

    .top-mainimg-text {
        width: 320px;
        height: 320px;
        -webkit-transform: translate(0, -50%) scale(0.9);
        transform: translate(0, -50%) scale(0.9);
    }

    .top-mainimg-text-inner .arc {
        font-size: 28px;
        padding-top: 15px;
    }

    .top-mainimg-text-inner .text {
        font-size: 46px;
        letter-spacing: -8px;
    }

    .top-mainimg-text-inner .big-lightgreen,
    .top-mainimg-text-inner .big-deepgreen {
        font-size: 80px;
    }

    .step-inner-img,
    .step-inner-text {
        margin: 15px auto !important;
    }

    .step-inner-text {
        width: 100%;
        margin-left: auto;
        margin-top: 0;
    }

    .step-inner-text .leaf-box {
        padding-top: 30px;
    }

    .step-inner-text h3 {
        font-size: 18px;
    }

    .about-reason-inner {
        width: 100%;
    }

    .about-reason-inner h3 {
        font-size: 20px;
    }
}

/* mainimg end */

/* top-info */
.top-info {
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.info-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.info-box-inner {
    position: relative;
}

.info-box .more-btn {
    position: absolute;
    top: 0;
    right: 0;
}

.top-info-list {
    width: 100%;
    padding: 30px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 2px solid #888;
    border-bottom: 2px solid #888;
}

.top-info-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 2px dotted #888;
}

.top-info-list li.お知らせ .category {
    background-color: #f59cb0;
}

.top-info-list li.休校情報 .category {
    background-color: #15ca98;
}

.top-info-list li.勉強コラム .category {
    background-color: #26c9ff;
}

.top-info-list li.塾の日常 .category {
    background-color: #008000;
}

.category {
    display: inline-block;
    margin-right: 10px;
    padding: 5px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
}

.date {
    display: inline-block;
    margin-right: 10px;
    font-weight: 500;
}

.top-info-list li a {
    width: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* top-info end */

/* top-bnr */
.top-bnr {
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.bnr-box {
    border: 1px solid #bcbcbc;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.bnr-box:before {
    content: "";
    display: block;
    padding-top: 17.5%;
}

.inner-bnr-box {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.bnr-box a {
    display: block;
}

.bnr-heading {
    position: relative;
    z-index: 2;
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    letter-spacing: -5px;
    margin-top: 10px;
    text-shadow:
        white 1px 1px 2px,
        white -1px 1px 2px,
        white 1px -1px 2px,
        white -1px -1px 2px;
}

.bnr-heading-sub {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 2;
    margin-top: -20px;
    text-shadow:
        white 1px 1px 2px,
        white -1px 1px 2px,
        white 1px -1px 2px,
        white -1px -1px 2px;
}

.bnr-img1 {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100%;
}

.bnr-img2 {
    position: absolute;
    bottom: 0;
    left: 50%;
    right: 50%;
    width: 40%;
    height: auto;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 1;
}

.bnr-img3 {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
}

/* top-bnr end */

/* top-course */
.top-course {
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.course-list li {
    width: calc(100% / 3 - 30px);
    margin: 15px;
    text-align: center;
}

.course-list li .ofimg {
    border-radius: 50%;
}

.course-heading {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 30px 0;
    padding: 2px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 3px solid #2d97d3;
}

.course-heading-middle {
    border: 3px solid #f47690;
}

.course-heading-elementary {
    border: 3px solid #0ab180;
}

.course-list li .text {
    text-align: left;
}

/* top-course end */

/* top-class */
.top-class {
    padding: 50px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.class-list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.class-list li {
    width: 48%;
    min-height: 80px;
    margin: 1%;
    background-color: #fff;
    border: 3px solid #59b200;
    border-radius: 5px;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.class-list li h3 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 10px;
}

.class-box-cont {
    width: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.class-box-text {
    width: 60%;
    margin-right: 10px;
    padding: 0 0 80px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.class-box-text .more-btn-green {
    position: absolute;
    bottom: 0;
    left: 50%;
    right: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    margin: auto;
}

.class-list li .contel a {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 34px;
    font-weight: bold;
}

.class-list li .contel a:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-phone.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    margin-right: 10px;
}

.class-info-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.class-info-list dt:after {
    content: '：';
    display: inline-block;
}

.class-info-list dd {
    width: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.class-list-under {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: -2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.class-list-under .icon {
    display: block;
    position: relative;
    padding-left: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.class-list-under .icon:before {
    position: absolute;
    top: 4px;
    left: 0;
    right: auto;
    margin: auto;
}

/* top-about */
.top-about .inner-rev-box-text {
    padding: 50px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.top-about .rev-box:nth-of-type(odd) .inner-rev-box-text {
    padding-right: calc(50% - 500px);
}

.top-about .rev-box:nth-of-type(even) .inner-rev-box-text {
    padding-left: calc(50% - 500px);
}

.inner-rev-box .ofimg {
    height: 100%;
}

/* top-about end */

/* top-class end */

@media (max-width: 1024px) {
    .top-info {
        padding: 50px 0;
    }

    .info-box .more-btn {
        position: static;
        text-align: right;
    }

    .top-info-list li {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .top-info-list li a {
        width: 100%;
        margin-top: 5px;
    }

    .category {
        font-size: 14px;
        padding: 2px 10px;
        margin-bottom: 5px;
    }

    .top-bnr {
        padding: 50px 0;
    }

    .bnr-box:before {
        padding-top: 30%;
    }

    .bnr-heading {
        font-size: 36px;
    }

    .bnr-heading img {
        width: 110px;
    }

    .bnr-img1 {
        left: -20%;
    }

    .bnr-img2 {
        width: 50%;
    }

    .bnr-img3 {
        right: -25%;
    }

    .bnr-heading-sub {
        margin-top: -10px;
    }

    .top-course {
        padding: 50px 0;
    }

    .course-list li {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 80px;
    }

    .course-list li:last-of-type {
        margin-bottom: 0;
    }

    .course-list li .ofimg {
        width: 35%;
        margin-right: 30px;
        margin-bottom: 10px;
    }

    .course-list li .text {
        height: auto !important;
    }

    .course-list li .more-btn-green {
        margin-top: 10px;
    }

    .class-list li {
        width: 98%;
    }
}

@media (max-width: 599px) {
    .bnr-box:before {
        padding-top: 40%;
    }

    .bnr-heading img {
        width: 70px;
    }

    .bnr-heading {
        font-size: 26px;
        letter-spacing: -2px;
    }

    .bnr-heading-sub {
        font-size: 13px;
        margin-top: 0;
    }

    .bnr-img1 {
        /*display: none;*/
        width: 50%;
        left: 0%;
    }

    .bnr-img2 {
        width: 80%;
    }

    .bnr-img3 {
        width: 50%;
        right: 0%;
    }

    .course-list li .ofimg {
        width: 70%;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .course-heading {
        margin: 10px 0;
    }

    .class-box-text {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
        padding: 0 0 60px 0;
    }

    .top-about .rev-box:nth-of-type(odd),
    .top-about .rev-box:nth-of-type(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    
    .kou01 {
      display: none;
    }
}

/* ##### top end ##### */

/* ##### about ##### */
.about-img {
    margin: 30px 0;
}

.about-reason-inner {
    width: 90%;
    margin: 30px auto;
}

.about-reason-inner h3 {
    font-size: 22px;
    font-weight: bold;
    color: #59b200;
    margin-bottom: 30px;
}

.greeting-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.greeting-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.sign-wrap {
    position: relative;
    padding-bottom: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sign {
    font-size: 22px;
    position: absolute;
    bottom: 0;
    right: 0;
}

.about .table-wrap {
    width: 900px;
}

.access-table {
    width: 100%;
    border: 2px solid #59b200;
    border-collapse: collapse;
}

.access-table tr th,
.access-table tr td {
    padding: 10px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.access-table tr th {
    width: 20%;
}

.access-table tr td {
    width: 80%;
}

.access-table tr th {
    color: #fff;
    background-color: #59b200;
    font-weight: bold;
}

.access-table tr td {
    font-weight: 500;
    border-bottom: 2px solid #59b200;
    background-color: #f3ffe8;
}

.access-table tr:first-of-type th {
    border-bottom: 2px solid #fff;
}

.access-table tr:nth-of-type(n + 2) th {
    border-bottom: 2px solid #fff;
}

.access-table tr:last-of-type th {
    border-bottom: 2px solid #59b200;
}

.about .about-class .map {
    width: 900px;
    margin: 30px auto 0 auto;
}

.about .about-class .map:after {
    padding-top: 30%;
}

@media (max-width: 1024px) {
    .under main .about-greeting {
        padding-bottom: 0;
    }

    .about .table-wrap {
        width: 96%;
    }

    .access-table tr th {
        width: 30%;
    }

    .about .about-class .map {
        width: 96%;
    }

    .about .about-class .map:after {
        padding-top: 50%;
    }
}

@media (max-width: 599px) {
    .about-reason-inner {
        width: 100%;
    }

    .about-reason-inner h3 {
        font-size: 20px;
    }

    .about .about-class .map:after {
        padding-top: 80%;
    }
}

/* ##### about end ##### */

/* ##### reason ##### */
.under main .reason-intro {
    padding-bottom: 0;
}

.reason-intro .text {
    text-align: center;
}

/* ##### reason end ##### */

/* ##### english ##### */
.english-about-box {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.english-about-cont {
    width: 45%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.english-about-img {
    width: 25%;
    border-radius: 50%;
}

.ai1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.ai2 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.merit-list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

.merit-cont .text {
    line-height: 200%;
}

.merit-heading {
    min-height: 35px;
    font-size: 16px;
    font-weight: bold;
    padding-left: 45px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.english-num {
    display: inline-block;
    width: 35px;
    height: 35px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    line-height: 35px;
    background-color: #59b200;
    border-radius: 5px;
    margin-right: 10px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, -10%);
    transform: translate(0, -10%);
}

.merit-img .ofimg {
    overflow: visible;
}

.under main .english-price {
    padding-bottom: 0;
    position: relative;
    overflow: hidden;
}

.under main .english-price:before {
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    background: linear-gradient(65deg, #eee 0%, #eee 60%, transparent 60%, transparent 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.english-price-box {
    position: relative;
}

.price-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 30px 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 3px solid #59b200;
    border-radius: 20px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.price-img {
    width: 60%;
    margin-left: auto;
}

.price-list {
    width: 100%;
    margin-bottom: 30px;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.price-list:last-of-type {
    margin-bottom: 0;
}

.price-list dt {
    width: 50%;
    min-width: 150px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.price-list dd {
    width: 50%;
    min-width: 150px;
    font-size: 18px;
    text-align: center;
}

@media (max-width: 1024px) {
    .english-about-box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .english-about-cont {
        width: 80%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-bottom: 30px;
    }

    .english-about-img {
        width: 40%;
        margin: 2%;
    }

    .ai1 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .ai2 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
}

@media (max-width: 599px) {
    .english-about-cont {
        width: 100%;
    }

    .english-about-img {
        width: 60%;
    }

    .ai1 {
        margin-right: auto;
    }

    .ai2 {
        margin-left: auto;
    }

    .price-box {
        position: static;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        margin-bottom: 30px;
        padding: 15px 40px;
    }

    .price-list dt,
    .price-list dd {
        min-width: 100px;
    }

    .under main .english-price:before {
        width: 60%;
        background: linear-gradient(75deg, #eee 0%, #eee 60%, transparent 60%, transparent 100%);
    }

    .price-img {
        width: 80%;
    }
}

/* ##### english end ##### */

/* ##### high,middle,elementary(course) ##### */
.course-intro-box {
    width: 800px;
    max-width: 90%;
    margin: auto;
}

.course-intro-box .ofimg {
    margin: 30px 0;
}

.course-intro-box .text .big {
    font-weight: bold;
}

.course .step-box {
    margin-bottom: 50px;
}

.table-wrap {
    width: 700px;
    max-width: 100%;
    margin: auto;
}

.under main .course-time {
    padding-bottom: 0;
}

.course-table {
    width: 100%;
    border-collapse: collapse;
}

.course-table tr th,
.course-table tr td {
    width: 50%;
    padding: 10px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.course-table tr th {
    color: #fff;
    font-weight: bold;
}

.course-table tr td {
    font-weight: 500;
}

.course-table tr:first-of-type th {
    border-bottom: 2px solid #fff;
}

.course-table tr:nth-of-type(n + 2) th {
    border-bottom: 2px solid #fff;
}

.course-notice {
    display: inline-block;
    margin: 15px 0;
}

/* high */
.high .course-title {
    color: #2d97d3;
}

.high .course-table {
    border: 2px solid #2d97d3;
}

.high .course-table tr th {
    background-color: #2d97d3;
}

.high .course-table tr td {
    border-bottom: 2px solid #2d97d3;
    background-color: #e8faff;
}

.high .course-table tr:last-of-type th {
    border-bottom: 2px solid #2d97d3;
}

/* high end */

/* middle */
.middle .course-title {
    color: #f47690;
}

.middle .course-table {
    border: 2px solid #f47690;
}

.middle .course-table tr th {
    background-color: #f47690;
}

.middle .course-table tr td {
    border-bottom: 2px solid #f47690;
    background-color: #fef4f5;
}

.middle .course-table tr:last-of-type th {
    border-bottom: 2px solid #f47690;
}

/* middle end */

/* elementary */
.rec-box {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 10px solid #0ab180;
    border-bottom: 10px solid #0ab180;
    border-left: 5px solid #0ab180;
    border-right: 5px solid #0ab180;
    background-color: #fff;
    padding: 40px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.rec-heading {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 130%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 350px;
    max-width: 90%;
    height: 60px;
    background-color: #fff;
    border: 5px solid #0ab180;
    border-radius: 10px;
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
    -webkit-transform: translate(-50%, calc(-50% - 5px));
    transform: translate(-50%, calc(-50% - 5px));
    margin: auto;
    z-index: 1;
}

.rec-text {
    min-width: 460px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.rec-text h3 {
    font-size: 26px;
    letter-spacing: -1px;
    font-weight: bold;
    line-height: 140%;
}

.rec-text .text {
    margin: 10px 0;
    line-height: 200%;
}

.underline {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fff100));
    background: linear-gradient(transparent 70%, #fff100 70%);
}

.orange {
    font-size: 34px;
    color: #fd7109;
}

.rec-img {
    max-width: 80%;
    margin: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.elementary .course-title {
    color: #0ab180;
}

.elementary .course-table {
    border: 2px solid #0ab180;
}

.elementary .course-table tr th {
    background-color: #0ab180;
}

.elementary .course-table tr td {
    border-bottom: 2px solid #0ab180;
    background-color: #f4fef7;
}

.elementary .course-table tr:last-of-type th {
    border-bottom: 2px solid #0ab180;
}

/* elementary end */

@media (max-width: 599px) {

    .course-table tr th,
    .course-table tr td {
        padding: 10px;
    }

    .rec-text {
        min-width: 100%;
    }
}

/* ##### high,middle,elementary(course) end ##### */

/* ##### result ##### */
.result-list-box {
    background-image: url(/import/tenant_1/133.167.79.183/html/images/result/result_002.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.result-list-box .deco-heading {
    margin-bottom: 100px;
}

.result-box {
    width: 840px;
    max-width: 90%;
    margin: 0 auto 80px auto;
    padding: 50px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #eee;
    position: relative;
}

.result-title {
    display: inline-block;
    padding: 5px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background-color: #f20505;
    border-radius: 15px;
    position: absolute;
    top: -25px;
    left: 30px;
}

.result-title .big {
    font-size: 150%;
}

.result-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 50px;
}

.result-list:last-of-type {
    margin-bottom: 0;
}

.result-list dt {
    font-size: 28px;
    font-weight: bold;
    line-height: 140%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.result-list dd {
    font-size: 28px;
    font-weight: bold;
    width: 35%;
    text-align: right;
}

.result-list dd .big {
    font-size: 200%;
}

.breakdown {
    display: block;
    font-size: 16px;
    line-height: 100%;
}

.bf-box {
    width: 840px;
    max-width: 90%;
    margin: auto;
    padding: 25px 50px 50px 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #eee;
    position: relative;
}

.bf-title {
    display: inline-block;
    height: 55px;
    padding: 5px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #59b200;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: -1px;
    color: #fff;
    position: relative;
    -webkit-transform: translate(-76px, -40px);
    transform: translate(-76px, -40px);
}

.bf-title:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 26px 15px 0;
    border-color: transparent #4d8d2b transparent transparent;
    position: absolute;
    bottom: -15px;
    left: 0;
}

.bf-title:after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 27.5px 0 27.5px 18px;
    border-color: transparent transparent transparent #59b200;
    position: absolute;
    top: 0;
    right: -18px;
}

.bf-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 2px solid #e7e5e5;
    margin-bottom: 10px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.bf-list:last-of-type {
    margin-bottom: 0;
}

.bf-list dt {
    font-size: 24px;
    font-weight: bold;
    width: 40%;
}

.bf-list dd {
    text-align: right;
    font-size: 24px;
    font-weight: bold;
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.bf-list dd .point {
    display: block;
    font-size: 150%;
    margin-left: 30px;
}

@media (max-width: 1024px) {
    .result-list-box .deco-heading {
        margin-bottom: 80px;
    }

    .result-list dd {
        width: 40%;
        min-width: 230px;
    }

    .bf-list dt .small {
        display: block;
        line-height: 100%;
    }

    .bf-list dd .point {
        display: block;
    }
}

@media (max-width: 599px) {
    .result-box {
        padding: 45px 15px 35px 15px;
    }

    .result-list-box .deco-heading {
        margin-bottom: 50px;
    }

    .result-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .result-list dt,
    .result-list dd {
        font-size: 24px;
        width: 100%;
    }

    .result-list dt {
        margin-bottom: 10px;
    }

    .bf-box {
        padding: 15px 20px 50px 20px;
    }

    .bf-title {
        display: block;
        height: 45px;
        width: 190px;
        font-size: 20px;
        -webkit-transform: translate(-30px, -35px);
        transform: translate(-30px, -35px);
    }

    .bf-title:before {
        border-width: 0 10px 10px 0;
        bottom: -10px;
    }

    .bf-title:after {
        border-width: 22.5px 0 22.5px 12px;
        right: -12px;
    }

    .bf-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .bf-list dt,
    .bf-list dd {
        width: 100%;
    }

    .bf-list dt {
        font-size: 20px;
        margin-bottom: 10px;
    }
}

/* ##### result end ##### */

/* ##### flow ##### */
.flow-intro .loud-text {
    width: 80%;
    max-width: 100%;
    margin: 30px auto;
}

.flow-class-list li {
    width: 455px;
    padding: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.flow-class-list li h3 {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #59b200;
}

.flow-class-list li .contel a {
    font-size: 31px;
}

.flow-intro-box {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flow-intro-box span {
    display: inline-block;
    margin: 5px;
    -ms-flex-negative: 1;
    flex-shrink: 1;
}

.flow-list {
    counter-reset: number;
    list-style: none;
}

.flow-list li {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

.flow-list li .flow-num {
    width: 70px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.flow-list li .flow-num:before {
    counter-increment: number;
    content: counter(number);
    position: absolute;
    top: 5px;
    left: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 60px;
    height: 60px;
    background-color: #59b200;
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    line-height: 100%;
    border-radius: 50%;
}

.flow-list li .flow-num:after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 21.7px 12.5px 0 12.5px;
    border-color: #515252 transparent transparent transparent;
    position: absolute;
    bottom: 25%;
    left: 0;
    right: 0;
    margin: auto;
}

.flow-list li:last-of-type .flow-num:after {
    display: none;
}

.flow-cont {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 15px;
}

.flow-cont h3 {
    font-size: 22px;
    font-weight: bold;
    margin: 15px 0;
}

.flow-img {
    width: 30%;
}

@media (max-width: 1024px) {
    .flow-class-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .flow-class-list li {
        width: 80%;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
    }

    .flow-img {
        width: 35%;
    }

    .flow-list li .flow-num {
        width: 60px;
    }

    .flow-list li .flow-num:before {
        width: 50px;
        height: 50px;
        font-size: 36px;
    }

    .flow-cont h3 {
        margin: 10px 0;
    }

    .flow-list li .flow-num:after {
        border-width: 17.3px 10px 0 10px;
        bottom: 5%;
    }
}

@media (max-width: 599px) {
    .flow-intro-box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .flow-class-list li {
        width: 100%;
    }

    .flow-list li {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 80px;
        position: relative;
    }

    .flow-list li:after {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 21.7px 12.5px 0 12.5px;
        border-color: #515252 transparent transparent transparent;
        position: absolute;
        bottom: -40px;
        left: 0;
        right: 0;
        margin: auto;
    }

    .flow-list li:last-of-type:after {
        display: none;
    }

    .flow-list li .flow-num {
        width: 50px;
    }

    .flow-list li .flow-num:before {
        width: 40px;
        height: 40px;
        font-size: 30px;
    }

    .flow-list li .flow-num:after {
        display: none;
    }

    .flow-cont {
        margin: 0;
        margin-bottom: 10px;
    }

    .flow-cont h3 {
        font-size: 20px;
        margin: 10px 5px;
    }

    .flow-img {
        width: 80%;
    }
}

/* ##### flow end ##### */

/* ##### summer,winter,faq ##### */
.special-point-box .rev-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.faq-list {
    margin-bottom: 50px;
}

.faq-list:last-of-type {
    margin-bottom: 0;
}

.faq-list dt {
    min-height: 35px;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    position: relative;
    padding-top: 5px;
    padding-left: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.faq-list dt:before {
    content: 'Q';
    width: 35px;
    height: 35px;
    background-color: #59b200;
    border: 2px solid #59b200;
    border-radius: 5px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
}

.faq-list dd {
    font-size: 16px;
    position: relative;
    padding-top: 5px;
    padding-left: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.faq-list dd:before {
    content: 'A';
    width: 35px;
    height: 35px;
    background-color: #fff;
    border: 2px solid #59b200;
    border-radius: 5px;
    color: 59b200;
    font-size: 22px;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
}

/* ##### summer,winter,faq end ##### */

/* ##### voice ##### */
.voice-course-list li {
    margin-bottom: 50px;
}

.voice-course-list .voice-name {
    font-size: 18px;
    text-align: center;
    padding: 0 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.voice-course-list .more-btn-green {
    margin-top: 30px;
}

.voice-course-list li.中学生コース .course-heading {
    border: 3px solid #f47690;
}

.voice-course-list li.小学生コース .course-heading {
    border: 3px solid #0ab180;
}

.voice_detail-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.vd-img .ofimg {
    border-radius: 50%;
}

.vd-text .voice-name {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 30px 0;
}

.voice .cc-side {
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.voice .cc-side-box {
    width: 48%;
    background-color: #fff;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.voice_detail .cc-side {
    margin-top: 50px;
}

@media (max-width: 1024px) {
    .course-list li .ofimg {
        width: 25%;
    }

    .voice-course-list .voice-name {
        width: 30%;
        margin: 10px 0;
    }

    .voice-course-list .voice-name {
        height: auto !important;
    }

    .voice-course-list li .more-btn-green {
        margin-top: 0;
    }

    .voice .cc-side-box {
        padding: 20px;
    }

    .voice_detail .cc-side {
        margin-top: 30px;
    }
}

@media (max-width: 599px) {
    .course-list li .ofimg {
        width: 70%;
    }

    .voice-course-list .voice-name {
        width: 100%;
    }

    .vd-img {
        width: 80%;
        margin: 30px auto;
    }

    .voice .cc-side-box {
        width: 96%;
        padding: 15px;
    }

    .voice .cc-side-box:first-of-type {
        margin-bottom: 30px;
    }
}

/* ##### voice end ##### */



/* ##### column,news ##### */
.cc-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.cc-list li {
    background-color: #fff;
    margin-bottom: 30px;
}

.cc-list li .ofimg {
    height: 100%;
}

.cc-cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cc-img {
    margin: 0;
}

.cc-btn {
    -ms-flex-item-align: end;
    align-self: flex-end;
    width: 200px;
    margin: 0;
    margin-left: auto;
}

.cc-btn a {
    padding: 7px 10px;
}

.cc-info-box span {
    display: inline-block;
    margin: 5px;
}

.cc-category {
    font-weight: bold;
    color: #59b200;
}

.cc-cont {
    margin: 0;
}

.cc-cont a {
    display: block;
}

.cc-cont h2 {
    font-size: 20px;
    font-weight: bold;
}

.cc-side {
    background-color: #fff;
    padding: 15px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cc-side-box {
    margin-bottom: 50px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cc-side-title {
    font-size: 18px;
    font-weight: bold;
    color: #59b200;
    position: relative;
    margin-bottom: 30px;
}

.cc-side-title:after {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(/import/tenant_1/133.167.79.183/html/images/common/icon-leaf.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    float: right;
}

.cc-side-title:before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #59b200;
    position: absolute;
    bottom: -10px;
    left: 0;
}

.cc-side-list {
    padding-left: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cc-side-list li {
    list-style: disc;
    list-style-position: outside;
    margin-bottom: 10px;
}

.cc-side-list li a {
    font-size: 16px;
}

.inner-detail-box {
    background-color: #fff;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cc-detail-title {
    font-size: 18px;
    font-weight: bold;
    margin: 15px 0 50px 0;
    position: relative;
}

.cc-detail-title:after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #59b200;
    position: absolute;
    bottom: -10px;
    left: 0;
}

.detail-info-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.recommend-box {
    margin-top: 50px;
}

.news .more-btn-green {
    margin-top: 15px;
}

@media (max-width: 1024px) {

    .cc-box,
    .cc-side {
        width: 100%;
    }

    .cc-cont h2 {
        font-size: 18px;
    }

    .cc-side {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .cc-side-box {
        width: 48%;
        margin: 1%;
    }
}

@media (max-width: 599px) {
    .cc-list li {
        margin-bottom: 15px;
    }

    .cc-img {
        width: 40%;
    }

    .cc-cont {
        width: 60%;
        padding: 10px;
    }

    .cc-info-box span {
        margin: 0px;
    }

    .cc-cont h2 {
        font-size: 14px;
    }

    .cc-btn {
        width: 140px;
    }

    .cc-btn a {
        padding: 0;
        font-size: 12px;
    }

    .cc-btn a span {
        font-size: 14px;
    }

    .cc-side-box {
        width: 100%;
    }

    .detail-info-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .news .cc-cont {
        width: 100%;
    }
}

/* ##### column,news end ##### */

/* ##### contact ##### */
.contact-wrap .inner {
    padding: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
}

.form-box {
    width: 760px;
    margin: auto;
}

.contact-item {
    margin-bottom: 30px;
}

.contact-item dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 240px;
    margin-right: 50px;
    font-size: 16px;
    font-weight: bold;
}

.contact-item .textarea-title {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.must {
    font-size: 12px;
    color: #fff;
    line-height: 100%;
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #59b200;
    border-radius: 5px;
}

.contact-item dd {
    width: 100px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.contact-item dd input,
.contact-item dd select,
.contact-item dd textarea {
    width: 100%;
    margin: 0;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f3ffe8;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
}

.contact-item dd textarea {
    min-height: 200px;
}

.contact .more-btn-green {
    margin: 30px;
}

.contact-thanks .more-btn-green {
    margin: inherit;
    margin-top: 50px;
}

@media (max-width: 1024px) {
    .form-box {
        width: 70%;
    }

    .contact-item dt,
    .contact-item dd {
        width: 100%;
    }

    .contact-item dt {
        margin-bottom: 10px;
        margin-right: 0;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .must {
        margin-left: 15px;
    }

    .contact .more-btn-green {
        width: 130px;
        margin: 15px;
    }
}

@media (max-width: 599px) {
    .contact-wrap .inner {
        padding: 50px 15px;
    }

    .form-box {
        width: 100%;
    }

    .contact .more-btn-green {
        width: 160px;
    }
}

/* ##### contact end ##### */

/* ##### recruit ##### */
.recruit-intro-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

.recruit-intro-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.recruit .table-wrap {
    width: 900px;
}

.recruit-table {
    width: 100%;
    border: 2px solid #59b200;
    border-collapse: collapse;
}

.recruit-table tr th,
.recruit-table tr td {
    padding: 10px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.recruit-table tr th {
    width: 20%;
}

.recruit-table tr td {
    width: 80%;
}

.recruit-table tr th {
    color: #fff;
    background-color: #59b200;
    font-weight: bold;
}

.recruit-table tr td {
    font-weight: 500;
    border-bottom: 2px solid #59b200;
    background-color: #f3ffe8;
}

.recruit-table tr:first-of-type th {
    border-bottom: 2px solid #fff;
}

.recruit-table tr:nth-of-type(n + 2) th {
    border-bottom: 2px solid #fff;
}

.recruit-table tr:last-of-type th {
    border-bottom: 2px solid #59b200;
}

@media (max-width: 1024px) {
    .recruit .table-wrap {
        width: 96%;
    }

    .recruit-table tr th {
        width: 30%;
    }
}

@media (max-width: 599px) {
    .recruit-table {
        border: none;
    }

    .recruit-table tr {
        display: block;
        margin-bottom: 10px;
        border-left: 2px solid #59b200;
        border-right: 2px solid #59b200;
    }

    .recruit-table tr th,
    .recruit-table tr td {
        display: block;
        width: 100%;
    }
}

/* ##### recruit end ##### */

/*2020/01/23追加*/

.w100 {
  width: 100%;
}

/* 05/27 追記 */

.top-course-list .heightLine-txt{
  margin-bottom: 30px;
}

.top-course-list .mb-15{
  margin-bottom: 15px;
}


@media only screen and (min-width: 1025px){
.jc-c{
  justify-content: center;
}


.top-course-list li:first-of-type{
  margin-right: 100px;
}

}

@media only screen and (max-width: 599px){
  .sp-h-auto{
    height: auto !important;
  }
  
  .top-about .rev-box:nth-of-type(even) .inner-rev-box-text {
     padding-left: 15px;
}

  .top-about .rev-box:nth-of-type(odd) .inner-rev-box-text {
     padding-right: 15px;
}
}

/* 05/31  */

.fw-b{
  font-weight: bold;
}

.insta-btn{
  background: linear-gradient(to top right, #7d2ace, #d43eaf, #e0525e, #e6a666);
}

.insta-btn a:before{
  background-image: url(/upload/tenant_1/9885bb7e8614973f23436fd42f2cd48c.png);
}


.half-list li.insta-btn div {
    padding: 2px 5px 2px 32px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.half-list li.insta-btn {
    width: calc(100% / 3 - 10px);
    max-width: 200px;
    margin: 0 5px;
    line-height: inherit;
    height: 53px;
    display: flex;
    align-items: center;
    border-radius: 10px;
    justify-content: center;
}

footer .insta-btn{
    width: 200px !important;
    margin-top: 5px !important;
    height: 55px;
}

@media only screen and (min-width: 600px) and (max-width: 1024px) {
.header-half-list .insta-btn{
  width: 200px !important;
    margin-top: 3px !important;
}
}

@media only screen and (max-width: 599px){
.half-list li.insta-btn div {
    padding: 2px 5px 2px 25px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.half-list li.insta-btn{
    width: 145px !important;
    height: 47px;
    padding: 2px 1px 2px 0px;
}

footer .insta-btn{
    width: 190px !important;
    justify-content: flex-start !important;
    display: flex;
}

.footer-info-box .insta-btn a{
  margin-left: 8px;
}
}
/* 06/22  top*/
.insta-btn{
    position: relative;
}
@media only screen and (min-width: 1025px){
.under-icon{
  position: absolute;
    font-size: 13px;
    bottom: -22px;
    color: #d6429f;
    font-weight: bold;
    right: 25%;
    display: block;
    width: 100%;
    transform: translateX(50%);
}
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
.under-icon{
  position: absolute;
    font-size: 14px;
    bottom: -22px;
    color: #d6429f;
    font-weight: bold;
    right: 30%;
    display: block;
    width: 100%;
    transform: translateX(50%);
}
}
@media only screen and (max-width: 599px){
  .half-list li.insta-btn {
    width: 145px !important;
    height: 47px;
    padding: 2px 1px 2px 0px;
}
  
  
    .half-list li.insta-btn span {
 position: absolute;
    font-size: 10px;
    bottom: -20px;
    color: #d6429f;
    font-weight: bold;
    right: 42%;
    display: block;
    width: 100%;
    transform: translateX(50%);
  }
}
/* 06/22  footer*/
.half-list li.insta-btn {
    position: relative;
}
@media only screen and (max-width: 599px){
  .half-list li.insta-btn span {
    position: absolute;
    font-size: 10px;
    bottom: -20px;
    color: #d6429f;
    font-weight: bold;
    right: 42%;
    display: block;
    width: 100%;
    transform: translateX(50%);
    
}
.position{
      margin-top: 5px !important;
    height: 45px !important;
    padding-left: 5px;
}
.half-list li.insta-btn {
    width: 145px !important;
    height: 47px;
    padding: 2px 1px 2px 0px;
}

footer .half-list {
    width: 100%;
    margin-bottom: 30px !important;
}

}
.f14s{
  font-size: 14px;
}


/* 0622 追記 */

@media only screen and (max-width: 599px){
  .half-list li.insta-btn a{
    white-space: nowrap;
}  
}

@media only screen and (min-width: 1025px){
  .insta-btn .under-icon {
    right: 35% !important;
}

footer .insta-btn{
  margin-top: 10px !important;
}
}

@media only screen and (min-width: 600px) and (max-width: 1024px) {
.half-list li.insta-btn {
    position: relative;
    max-width: none;
    width: 235px !important;
}

footer .insta-btn{
  margin-top: 10px !important;
}
}

/* 2024/06.04 追記 */

.c-emerald{
    color: #0baf51;
}

.c-red{
    color: #ff0000;
}

.c-green{
  color: #274e13;
}

.c-blue{
  color: #0000ff;
}

.fw-b{
  font-weight: bold;
}

.cc-cont.w-100{
  width: 100%;
}

.news .cc-info-box.flex{
  width: 100%;
}

.column .cc-info-box.flex{
  width: 100%;
}

.column .cc-cont a {
    display: block;
    width: 100%;
}
