/*----------
   基本設定
------------*/

:root {
    --main-color: #ec7d36;
    --sub-color: #f25029;
    --point-color: #b1d375;
}

li {
    list-style: none;
}

html {
    font-family: source-han-sans-japanese, Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal;
}

body {
    color: #000;
    font-size: 16px;
    max-width: 100%;
    background-color: #fff0cd;
    font-family: 'genjyuugothic', Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
    box-sizing: border-box;
}

h1,
h2 {
    font-family: 'genjyuugothic', Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
    font-style: normal;
    font-weight: 300;
}

a {
    cursor: pointer;
}

section {
    display: block;
}

img {
    max-width: 100%;
    height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}



/*
#loading {
     画面一杯にローディング画面を広げる 
    height: 100vh;
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 100;
}

.loader_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    text-align: center;
}
*/

.top_border {
    width: 100%;
    height: 15px;
    background-image: url(../image/border_block.png);
    background-repeat: repeat-x;
    background-size: contain;
}

header {
    position: relative;
}

.header_inner {
    position: relative;
    margin-bottom: 20px;
}

.header_logo {
    width: 150px;
    height: 60px;
    margin: 0 auto;
}

.header_logo h1 {
    width: 100%;
    height: 100%;
    margin: 15px 0;
}

.header_logo h1 a {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../image/logo_sumrise.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 102%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

@media print,
screen and (min-width: 900px) {
    .header_logo {
        width: 260px;
        height: 130px;
    }

    header {
        position: relative;
    }

    header::after {
        width: 100%;
        height: 300px;
        background-size: contain;
        bottom: 100px;
        content: '';
        position: absolute;
        background-image: url(../image/texture_headerTop2.png);
        background-repeat: no-repeat;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 50%);
        z-index: -1;
    }

    .header_logo h1 {
        background-color: #fff0cd;
    }
}

@media screen and (max-width: 999px) {
    .header_inner {
        margin-bottom: 40px;
    }
}

/*----------
   SNSボタン
------------*/
.header_sns_list {
    width: 83px;
    position: absolute;
    top: 0px;
    left: 4%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 10px 0 0;
}

.header_sns_list li {
    width: 20px;
    height: 20px;
}

.header_sns_list a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.icon_twitter:hover,
.icon_facebook:hover,
.icon_instagram:hover {
    transform: scale(1.2, 1.2);
}

.icon_twitter {
    background-image: url(../image/sns_twitter.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.icon_facebook {
    background-image: url(../image/sns_facebook.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.icon_instagram {
    background-image: url(../image/sns_insta.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/*------------------
　ヘッダーのお問い合わせ
--------------------*/
@media print,
screen and (max-width: 899px) {
    .header_info {
        display: none;
    }
}


.header_info {
    color: var(--main-color);
    line-height: 1;
    position: absolute;
    top: 0px;
    right: 4%;
}

.header_contact {
    font-size: 0.9em;
    letter-spacing: 0.01em;
    text-indent: 2.3em;
}

.header_tel {
    font-size: 1.6em;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-family: 'ＭＳ Ｐゴシック', Arial, Helvetica, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
}

.header_tel a {
    color: var(--main-color);
    text-decoration: none;
}

.header_tel::before {
    content: '';
    display: inline-block;
    background: url(../image/tel.png) left center no-repeat;
    background-size: 30px;
    line-height: 1;
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

.header_tel a:hover {
    color: var(--point-color);
}

/*--------------
　ヘッダーメニュー
----------------*/
.header_nav {
    max-width: 1080px;

}

.header_nav_list a {
    text-decoration: none;
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    width: 100%;
    height: 100%;
}

.header_nav_list a:hover {
    color: var(--main-color);
    /*    text-shadow: 0 0 5px rgba(255,251,184,1), 0 0 10px rgba(255,252,105,1), 0 0 20px rgba(252,255,64,1);*/
    text-shadow: 0 0 1px rgba(255, 255, 255, 1), 0 0 4px rgba(255, 252, 194, 1), 0 0 8px rgba(255, 253, 150, 1), 0 0 10px rgba(255, 253, 120, 1), 0 0 14px rgba(255, 240, 125, 1), 0 0 20px rgba(255, 246, 79, 1), 0 0 23px rgba(251, 255, 0, 1), 0 0 28px rgba(255, 224, 46, 1), 0 0 32px rgba(255, 235, 13, 1);
}

.nav_list_en {
    font-size: 12px;
    color: #3e3e3e;
    font-family: 'TsukuARdGothicStd-E', 'TsukuARdGothic-bold', Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
    letter-spacing: 0.04em;
    display: block;
}

.nav_class {
    background-color: #fdac2c;
}

.nav_staff {
    background-color: #dc71b2;
}

.nav_kids {
    background-color: #97c037;
}

.nav_adult {
    background-color: #c9784d;
}

.nav_access {
    background-color: #eb7d80;
}

.nav_access a {
    font-size: 13px;
    padding: 10px 7px;
}

.nav_home {
    background-color: #7cc0e4;
}

.nav_member {
    background-color: #eddb7e;
}

@media print,
screen and (min-width: 900px) {
    .nav_wrap {
        margin-bottom: 60px;
        border-bottom: 1px solid var(--main-color);
    }

    .header_nav {
        margin: 0 auto;
		display: block !important;
    }

    .header_nav_list {
        width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }


    .header_nav_list li {
        width: 15%;
        border-radius: 6px 6px 0 0;
        margin: 0 2px;
        text-align: center;
    }

    .header_nav_list a {
        display: block;
        padding: 10px;
        text-align: center;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 899px) {
    .header_nav {
        /*        position: fixed;*/
        width: 100%;
        z-index: 100;
        top: 100px;
        display: none;
        position: absolute;
        top: 82px;
    }

    .header_nav_list a {
        width: 100%;
        padding: 16px 0px 16px 0px;
        display: block;
        width: 100%;
        font-size: 16px;
        position: relative;
    }

    .header_nav_list a::after {
        display: inline-block;
        font-family: "Font Awesome 5 Free";
        content: '\f105';
        font-weight: 900;
        padding-left: 10px;
        font-size: 1.2em;
        position: absolute;
        top: 50%;
        right: 35px;
        transform: translateY(-50%);
    }

    .header_nav_list span {
        padding-left: 38px;
    }

    .nav_list_ja {
        font-size: 15px;
    }

    .nav_list_en {
        margin-top: 8px;
    }
}

@media only screen and (min-width:900px) and (max-width:1055px) {
    .nav_list_access {
        letter-spacing: -0.06em;
        font-size: 11.5px;
        padding: 10px 0px;
    }
}

/*-------------
  メニューボタン
---------------*/
.Toggle {
    width: 40px;
    height: 20px;
    padding: 10px 0 0;
    position: absolute;
    top: 10px;
    right: 4%;
    cursor: pointer;
}


.btn_border {
    position: relative;
    margin: 0 auto;
}

.btn_border,
.btn_border::after,
.btn_border::before {
    display: block;
    width: 38px;
    height: 2px;
    border-radius: 3px;
    background: var(--main-color);
    -webkit-transition: .35s ease-in-out;
    /*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;
    /*変化の速度を指定*/
    transition: .35s ease-in-out;
}

.btn_border::before,
.btn_border::after {
    content: '';
    position: absolute;
    background: var(--sub-color);
}

.btn_border::before {
    top: -11px;
}

.btn_border::after {
    top: 11px;
}

.Toggle.close .btn_border {
    background-color: transparent;
}

.Toggle.close .btn_border::before,
.Toggle.close .btn_border::after {
    top: 0;
}

.Toggle.close .btn_border::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.Toggle.close .btn_border::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media print,
screen and (min-width: 900px) {
    .Toggle {
        display: none;
    }
}

/*----------ヘッダーここまで-------------*/


.main_image {
    position: relative;
    padding: 0 10px 10px;
}

.images_inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.imagesBox {
    position: relative;
    display: block;
    width: 90%;
    height: 0;
    padding-top: 50%;
    border-radius: 30px;
    overflow: hidden;
    z-index: 0;
    box-shadow: 0 0 0 18px var(--point-color);
    z-index: 2;
    margin: 0 auto;
}

.slider_top {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slider_top img {
    object-fit: cover;
}

/*-----------
  メッセージ
-------------*/
.seito_message {
    display: block;
    width: 100%;
    height: 100%;
}

.seito_message_bg {
    width: 100%;
    display: inline-block;
    background-image: url(../image/flag_left.png), url(../image/flag_right.png);
    background-repeat: no-repeat, no-repeat;
    background-size: 55%, 55%;
    background-position: -20% top, 120% top;
}


.message_box {
    position: relative;
    background-image: url(../image/texture_homes.png);
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: contain;
}

.message_box_inner {
    margin: 0 6%;
    padding-top: 50px;
    padding-bottom: 150px;
}

.message_title {
    position: relative;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 25px;
    padding: 14px;
}


.message_title span {
    display: inline-block;
    padding: 0 32px;
    background-image: url(../image/texture_mess_left.png), url(../image/texture_mess_right.png);
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    background-position: left center, right center;
}

.message_list ul {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap;
}

.orange_circle {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background-color: var(--main-color);
    position: relative;
}

.green_circle {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background-color: var(--point-color);
    position: relative;
}

.green_circle::after {
    width: 100%;
    content: '';
    background-image: url(../image/baloon_under.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center bottom;
    padding-top: 39%;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 93%);
}

.green_circle_small::after {
    width: 100%;
    content: '';
    background-image: url(../image/baloon_under.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center bottom;
    padding-top: 36%;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 96%);
}

.orange_circle::after {
    width: 100%;
    content: '';
    background-image: url(../image/baloon_under_or.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center bottom;
    padding-top: 39%;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 93%);
}

.orange_circle_small::after {
    width: 100%;
    content: '';
    background-image: url(../image/baloon_under_or.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center bottom;
    padding-top: 36%;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 96%);
}

.orange_circle_small {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-color: var(--main-color);
    position: relative;
}

.green_circle_small {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-color: var(--point-color);
    position: relative;
}

.voice_txt01 {
    text-align: center;
    color: #fff;
    line-height: 1.6;
    font-size: 2.5vmin;
    letter-spacing: 0.2em;
    font-weight: 700;
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

.case1,
.case8 {
    position: relative;
}

.case1::after {
    content: '';
    position: absolute;
    background-image: url(../image/bird_left.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
}

.case8::after {
    content: '';
    position: absolute;
    background-image: url(../image/bird_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
}


@media print,
screen and (min-width:360px) {
    .orange_circle {
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle {
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .orange_circle_small {
        width: 130px;
        height: 130px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle_small {
        width: 130px;
        height: 130px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .voice_txt01 {
        text-align: center;
        color: #fff;
        line-height: 1.7;
        /*        font-size: 1.9vmin;*/
        font-size: 11.5px;
        letter-spacing: 0.08em;
        font-weight: 700;
    }

    .voice1 {
        margin-bottom: 60px;
    }

    .voice_small {
        margin-bottom: 60px;
    }
}



@media print,
screen and (min-width:580px) and (max-width:899px) {

    .message_box_inner {
        padding-bottom: 230px;
    }


    .message_title {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
        padding: 50px 0;
    }

    .orange_circle {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .orange_circle_small {
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle_small {
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .voice_txt01 {
        text-align: center;
        color: #fff;
        line-height: 1.7;
        font-size: 1.9vmin;
        letter-spacing: 0.08em;
        font-weight: 700;
    }

    .voice1 {
        width: 27%;
        margin-bottom: 80px;
        margin-right: 8%;
    }

    .voice_small {
        width: 25%;
        margin-bottom: 60px;
    }

    .case1 {
        margin-top: -70px;
    }

    .case1::after {
        width: 80px;
        height: 80px;
        bottom: 0;
    }

    .case2 {
        margin-top: -10px;
    }

    .case3 {
        margin-top: -30px;
    }

    .case4 {
        margin-top: -60px;
    }

    .case5 {
        margin-top: 20px;
    }

    .case6 {
        margin-top: -40px;
    }

    .case7 {
        margin-top: -80px;
        margin-left: 60px;
    }

    .case8 {
        margin-top: -40px;
        margin-right: 50px;
    }

    .case8::after {
        width: 80px;
        height: 80px;
        top: -40px;
        right: -30px;
    }

}


@media screen and (max-width:579px) {
    .case5 {
        margin-top: 70px;
    }

    .case7 {
        margin-top: -40px;
        margin-left: 40px;
    }

    .case8 {
        margin-top: -40px;
        margin-right: 50px;
    }
}

@media screen and (max-width:526px) {
    .orange_circle {
        width: 180px;
        height: 180px;
    }

    .green_circle {
        width: 180px;
        height: 180px;
    }

    .orange_circle_small {
        width: 160px;
        height: 160px;
    }

    .green_circle_small {
        width: 160px;
        height: 160px;
    }

    .case1 {
        margin-top: -30px;
    }

    .case1::after {
        width: 80px;
        height: 80px;
        bottom: -40px;
    }

    .case2 {
        margin-top: 0px;
        padding-bottom: 30px;

    }

    .case3 {
        margin-top: -30px;

    }

    .case4 {
        margin-top: 0px;

    }

    .case5 {
        margin-top: 0px;

    }

    .case6 {
        margin-top: 20px;

    }

    .case7 {
        margin-top: 30px;
        margin-left: 0px;
    }

    .case8 {
        margin-top: 10px;
        margin-right: 0px;

    }

    .case8::after {
        width: 80px;
        height: 80px;
        top: -40px;
        right: -20px;
    }

    .voice_txt01 {
        text-align: center;
        color: #fff;
        line-height: 1.7;
        font-size: 12px;
        letter-spacing: 0.08em;
        font-weight: 700;
    }
}


@media screen and (max-width:401px) {
    .orange_circle {
        width: 175px;
        height: 175px;
    }

    .green_circle {
        width: 175px;
        height: 175px;
    }

    .orange_circle_small {
        width: 130px;
        height: 130px;
    }

    .green_circle_small {
        width: 140px;
        height: 140px;
    }

    .voice1 {
        margin-bottom: 60px;
    }

    .voice_small {
        margin-bottom: 60px;
    }
}

@media print,
screen and (min-width:900px) {
    .message_box {
        padding-bottom: 65px;
        background-size: 45%;
    }

    .message_box_inner {
        max-width: 1050px;
        margin: 0 auto;
        padding-top: 100px;
    }

    .message_title {
        font-size: 30px;
        font-weight: 700;
        line-height: 1.3;
        padding: 60px 0;
    }

    .message_title span {
        padding: 0 70px;
    }

    .orange_circle {
        width: 250px;
        height: 250px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle {
        width: 250px;
        height: 250px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .orange_circle_small {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background-color: var(--main-color);
        position: relative;
    }

    .green_circle_small {
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background-color: var(--point-color);
        position: relative;
    }

    .voice1 {
        width: 23%;
        margin-bottom: 80px;
    }

    .voice_small {
        width: 18%;
        margin-bottom: 60px;
    }

    .voice_txt01 {
        text-align: center;
        color: #fff;
        line-height: 1.7;
        font-size: 2.2vmin;
        letter-spacing: 0.08em;
        font-weight: 700;
    }

    .case1 {
        margin-top: -70px;
        margin-right: -10px;
    }

    .case1::after {
        width: 120px;
        height: 120px;
        bottom: 20px;
        left: -60px;
    }

    .case2 {
        margin-top: 20px;
    }

    .case3 {
        margin-top: -30px;
    }

    .case4 {
        margin-top: 30px;
    }

    .case5 {
        margin-top: -100px;
        margin-left: -10px;
    }

    .case6 {
        margin-top: 40px;
    }

    .case7 {
        margin-top: -60px;
    }

    .case8 {
        margin-top: 60px;
    }

    .case8::after {
        width: 120px;
        height: 120px;
        top: -70px;
        right: -50px;
    }

    .fuwafuwa {
        animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
        transition: 1.5s ease-in-out;
        display: inline-block;
    }


    @keyframes fuwafuwa {
        0% {
            transform: translate(0, 0) rotate(-7deg);
        }

        50% {
            transform: translate(0, -7px) rotate(0deg);
        }

        100% {
            transform: translate(0, 0) rotate(7deg);
        }
    }

    .fuwafuwa2 {
        animation: fuwafuwa2 3s infinite ease-in-out .8s alternate;
        transition: 1.5s ease-in-out;
        display: inline-block;
    }


    @keyframes fuwafuwa2 {
        0% {
            transform: translate(0, 0) rotate(7deg);
        }

        50% {
            transform: translate(7, 0px) rotate(0deg);
        }

        100% {
            transform: translate(0, 0) rotate(-7deg);
        }
    }
}



/*-----------
  教室の特徴
-------------*/
.school_concept {
    display: block;
    min-height: 100%;
    background-color: rgba(236, 125, 54, 0.80);
    padding-bottom: 50px;
}


.school_concept_inner {
    position: relative;
    max-width: 500px;
    padding: 0 6%;
    margin: 0 auto;
}

.s_concept_tit {
    padding: 40px 0 30px 0;
}

.s_concept_tit p {
    font-size: 1rem;
    text-align: center;
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: .08em;
}

.s_concept_tit span {
    font-size: 1.3rem;
}

.s_concept_figure {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    box-shadow: 0 0 0 8.5px var(--point-color);
    background-image: url(../image/IMG_5296.JPG);
    background-size: 200px;
    background-repeat: no-repeat;
    background-position: 50% 30%;
}


.s_concept_txt {
    padding: 1em 0;
}

.s_concept_txt p {
    text-align: center;
    font-family: 'TsukuARdGothicStd-E', 'TsukuARdGothic-bold', Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
    line-height: 1.8;
    padding-bottom: 1em;
}

.s_concept_figure2 {
    margin-left: auto;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    box-shadow: 0 0 0 8.5px var(--point-color);
    background-image: url(../image/top_door.jpg);
    background-size: 230px;
    background-repeat: no-repeat;
    background-position: center;
}


.s_concept_jaTxt {
    padding: 30px 0.5em;
    background-color: var(--point-color);
    margin-top: 1.5em;
    border-radius: 20px;
    box-shadow: 0 0 8px var(--point-color);
}

.s_concept_jaTxt p {
    text-align: center;
    /*    font-family: 'TsukuARdGothicStd-E' , 'TsukuARdGothic-bold';*/
    line-height: 2;
    padding-bottom: 1.5em;
    font-weight: bold;
    font-size: 14px;
}

.s_concept_jaTxt p:last-child {
    padding-bottom: 0;
}

.s_concept_btn {
    max-width: 340px;
    width: 100%;
    margin: 30px auto;
    line-height: 1;
}

.s_concept_btn a {
    text-decoration: none;
    margin: 0 auto;
}

.s_concept_btn span {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .06em;
    display: block;
    width: 80%;
    height: 100%;
    border-radius: 25px;
    text-align: center;
    font-weight: bold;
    position: relative;
    background-color: #fff0cd;
    color: var(--main-color);
    margin: 0 auto;
}

.s_concept_btn span::after {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    padding-left: 10px;
    font-size: 1.5em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.s_concept_btn a :hover {
    background-color: var(--point-color);
    color: #fff;
}

@media print,
screen and (min-width:900px) {

    .school_concept {
        padding-top: 40px;
    }

    .school_concept_inner {
        max-width: 1050px;
        position: relative;
    }

    .s_concept_tit p {
        font-size: 21px;
        line-height: 1.8;
    }

    .s_concept_tit span {
        font-size: 30px;
    }

    .s_concept_figure {
        border-radius: 30px;
        box-shadow: 0 0 0 6.5px var(--point-color);
        position: absolute;
        top: 80px;
        left: 0;
    }

    .s_concept_figure2 {
        border-radius: 30px;
        box-shadow: 0 0 0 6.5px var(--point-color);
        position: absolute;
        top: 180px;
        right: 0;
    }

    .s_concept_txt br {
        display: none;
    }

    .s_concept_txt p {
        max-width: 500px;
        margin: 0 auto;
        font-size: 18px;
        letter-spacing: 0.02em;
    }

    .s_concept_jaTxt br {
        display: none;
    }

    .s_concept_jaTxt {
        max-width: 700px;
        margin: 0 auto
    }

    .s_concept_jaTxt p {
        line-height: 1;
        padding-bottom: 1.2em;
        font-weight: bold;
        font-size: 14px;
    }

    .s_concept_jaTxt p:last-child {
        padding-bottom: 0;
    }
}


/*----------
   お知らせ
-------------*/

.sectionNews {
    padding: 30px 6% 60px 6%;
}

.news_inner {
    background-color: #fff;
    max-width: 500px;
    margin: 0 auto;
    box-shadow: 0 0 0 8px var(--point-color);
    border-radius: 30px;
    padding: 0 0 5px;
}

.news_inner h2 {
    color: var(--main-color);
    text-align: center;
    padding: 18px 10px 0 10px;
}

.news_inner h2::after {
    width: 100%;
    height: 5px;
    content: '';
    display: block;
    background-image: url(../image/texture_dots.png);
    background-repeat: repeat-x;
    background-size: 10px 3px;
    background-position: 0 15px;
    padding: 15px 0;

}

.news_title {
    font-size: 1.37rem;
    font-weight: bold;
    line-height: 1.5;
}

.news_subTitle {
    margin-top: .8em;
    font-size: .8em;
    font-family: 'TsukuARdGothicStd-E', 'TsukuARdGothic-bold', Arial, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
}

.news_list li {
    margin: 0 30px 0px;
    padding: 17px 0 17px;
    border-bottom: 1px solid var(--main-color);
}

.news_list li:last-child {
    border-bottom: none;
}

.news_date {
    display: block;
    font-weight: 700;
    line-height: 1;
    padding: 4px 0 4px 0px;
}

.news_date time {
    font-size: 13px;
    color: #939393;
    font-family: sans-serif;
}

.news_list_title {
    line-height: 2;
    font-size: 15px;
    font-weight: 600;
    color: var(--main-color);
    padding-bottom: 10px;
}

.news_contents {
    font-size: 14px;
    line-height: 1.6;
}

.news_list_btn {
    max-width: 340px;
    width: 100%;
    margin: 30px auto;
    line-height: 1;
}

.news_list_btn a {
    text-decoration: none;
    margin: 0 auto;
}

.news_list_btn span {
    padding: 16px 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .06em;
    display: block;
    width: 80%;
    height: 100%;
    border-radius: 25px;
    text-align: center;
    font-weight: bold;
    position: relative;
    background-color: #fff0cd;
    color: var(--main-color);
    margin: 0 auto;
}

.news_list_btn span::after {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    padding-left: 10px;
    font-size: 1.5em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.news_list_btn a :hover {
    background-color: var(--point-color);
    color: #fff;
}

.news_link {
    text-align: right;
}

.news_link > a {
    text-decoration: none;
    color: var(--main-color);
}

.news_link > a:hover {
    color: var(--sub-color) !important;
}



@media print,
screen and (min-width:900px) {
    .sectionNews {
        padding: 100px 6% 60px 6%;
    }

    .news_inner {
        max-width: 1050px;
        width: 100%;
    }

    .news_list li {
        margin: 0 80px 0;
        padding: 30px 0 30px;
    }

    .news_contents {
        font-size: 15px;
        line-height: 1.8;
    }

    .news_list_title {
        font-size: 16px;
    }

    .news_date time {
        font-size: 15px;
    }

    .news_list_btn {
        margin: 20px 10px 20px auto;

    }
}

/*---------
   フッター
-----------*/
footer {
    position: relative;
}

footer::before {
    width: 100%;
    height: 5px;
    content: '';
    display: block;
    background-image: url(../image/texture_dots.png);
    background-repeat: repeat-x;
    background-size: 10px 3px;
    background-position: 0 15px;
    padding: 15px 0;

}

footer::after {
    content: '';
    width: 100%;
    height: 15px;
    background-image: url(../image/border_block.png);
    background-repeat: repeat-x;
    background-size: contain;
    background-position: bottom;
    position: absolute;
}

.footer_wrap {
    padding: 30px 6%;
}

.footer_inner {
    max-width: 500px;
    padding: 0 15px;
    margin: 0 auto;
}

.footer_adress {
    text-align: center;
    margin-bottom: 21px;
}

.footer_logo {
    max-width: 342px;
    margin: 0 auto 11px;
}

.footer_logo span {
    display: block;
    width: 100%;
    height: 0;
    overflow: hidden;
    background-image: url(../image/logo_sumrise.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding-top: 28%;
}

.d_adress {
    font-size: 15px;
    margin-bottom: 12px;
}

.d_tel {
    font-size: 26px;
    font-weight: bold;
    color: var(--sub-color);
    display: inline-flex;
    align-items: center;
}

.d_tel a {
    color: var(--sub-color);
    text-decoration: none;
}



.d_tel::before {
    content: '';
    width: 1.2em;
    height: 1.2em;
    display: inline-block;
    background-image: url(../image/tel.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

.d_tel a:hover {
    color: var(--point-color);
}

.footer_nav {
    max-width: 342px;
    margin: 0 auto;
}

.footer_nav_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px auto;
    padding: 15px 0;
    text-decoration: none;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    width: 80%;
}

.access:hover {
    opacity: 0.8;
}

.contact {
    background-color: var(--main-color);
}

.contact::before {
    content: '';
    width: 1.2em;
    height: 1.2em;
    display: block;
    background-image: url(../image/mail.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

.contact:hover {
    opacity: 0.8;
}

.access {
    background-color: var(--sub-color);
}

.access::before {
    content: '';
    width: 1.2em;
    height: 1.2em;
    display: block;
    background-image: url(../image/bus.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

.lock {
    background-color: var(--main-color);
}

.lock::before {
    content: '';
    width: 1.2em;
    height: 1.2em;
    display: block;
    background-image: url(../image/lock.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

.lock:hover {
    opacity: 0.8;
}

.copyright {
    font-size: 10px;
    font-family: verdana, sans-serif;
    text-align: center;
    padding-bottom: 5px;
}

@media print,
screen and (min-width:900px) {
    .footer_inner {
        max-width: 1050px;
        margin: 0 auto;
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .footer_adress {
        text-align: left;
    }

    .footer_logo {
        margin: 0 20px 20px -40px;
        width: 400px;
    }

    .footer_nav {
        max-width: 100%;
        margin: 0;
    }

    .footer_nav_btn {
        display: flex;
        margin: 0 0 20px;
    }

    .footer_nav_btn a {
        width: 210px;
        margin-left: 20px;
    }
}

.pagetop {
    width: 90px;
    height: 60px;
    background-image: url(../image/pageTop.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: -28px;
    right: 30px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
    transition: transform .3s;
    z-index: 200;
    cursor: pointer;
}


/*========================
  お問い合わせページ　ここから
===========================*/

.contact_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 30px 50px 30px;
}

.contact_container h1 {
    font-size: 30px;
    color: var(--main-color);
    padding: 0 0 30px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
}

.contact_enText {
    display: block;
    font-size: 18px;
}

@media print,
screen and (max-width: 768px) {
    .contact_container h1 {
        font-size: 23px;
        margin-top: 60px;
    }

    .contact_enText {
        font-size: 16px;
    }
}

.cnt_page_inner h2 {
    color: #fff;
    background-color: #eb7d80;
    font-size: 21px;
    font-weight: bold;
    padding: 15px 0 15px 20px;
    margin: 15px 0px;
    border-radius: 5px;
}

.cnt_hissu span {
    content: '必須';
    display: inline-block;
    background-color: #eb7d80;
    color: #fff;
    padding: 4px 9px;
    margin-right: 3px;
    line-height: 1;
    border-radius: 20px;
    font-size: 13px;
}

.cnt_page_inner p {
    padding: 0px 1em;
}

.contact_page {
    max-width: 800px;
    background-color: #fff;
    margin: 30px auto;
    border-radius: 10px;
    box-shadow: 0px 0px 5px #999;
    padding: 1px 2% 60px 2%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea,
select {
    width: 100%;
    background-color: #f7f7f7;
    border: 1px solid #c3c3c3;
    border-radius: 25px;
}

.mdt_field::after {
    content: '必須';
    display: inline-block;
    /*    background-color: var(--main-color);*/
    background-color: #eb7d80;
    color: #fff;
    padding: 4px 9px;
    margin-left: 10px;
    line-height: 1;
    border-radius: 20px;
    font-size: 12px;
}

input::placeholder {
    color: #ccc;
}

.form_submit {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
}

.form_submit button {
    max-width: 340px;
    width: 100%;
    line-height: 1;
    background-color: var(--main-color);
    color: #fff;
    font-size: 18px;
    padding: 20px 100px;
    letter-spacing: .06em;
    border-radius: 30px;

    border: none;
    cursor: pointer;
}

.form_submit button:hover {
    opacity: 0.8;
}

/*チェックボックス*/
.checkbox_input {
    display: none;
}

.checkbox_parts {
    padding-left: 20px;
    position: relative;
    margin-right: 20px;
}

.checkbox_parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #999;
    border-radius: 4px;
}

.checkbox_input:checked + .checkbox_parts {
    color: var(--main-color);
    font-weight: bold;
}

.checkbox_input:checked + .checkbox_parts::after {
    content: "";
    display: block;
    position: absolute;
    top: -5px;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid var(--main-color);
    border-right: 3px solid var(--main-color);
}


.contact_form_check {
    text-align: center;
    margin-top: 60px;
}

.contact_form_check label {
    cursor: pointer;
}

.content_checkbox_txt {
    position: relative;
    padding-left: 30px;
}

.content_checkbox_txt::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-color: #f7f7f7;
    border: solid 1px #c3c3c3;
    border-radius: 5px;
    position: absolute;
    top: -2px;
    left: 0;
}

.checkbox_input:checked + .content_checkbox_txt a {
    color: var(--main-color);
    font-weight: bold;
}

.checkbox_input:checked + .content_checkbox_txt::after {
    content: "";
    display: block;
    position: absolute;
    top: -5px;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid var(--main-color);
    border-right: 3px solid var(--main-color);
}


@media screen and (max-width:899px) {
    .contact_container {
        max-width: 800px;
    }

    .inquiry_list {
        width: 100%;
    }

    .cnt_page_inner p {
        padding: 0px 0.4em;
    }

    .inquiry_list tr,
    .inquiry_list th,
    .inquiry_list td {
        display: block;
    }

    .inquiry_list tr {
        padding: 20px 26px;
    }

    .inquiry_list th {
        text-align: left;
        margin-bottom: 15px;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    textarea,
    select {
        width: 90%;
        max-width: 600px;
        padding: 14px 10px;
    }

    .checkbox_parts {
        line-height: 2.3;
    }
}

@media print,
screen and (min-width: 900px) {

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    textarea,
    select {
        font-size: 16px;
        padding: 16px 18px;
        width: 400px;
    }

    .inquiry_list tr,
    .inquiry_list th,
    .inquiry_list td {
        padding: 20px;
    }

    .inquiry_list th {
        width: 27%;
        text-align: right;
    }

    .inquiry_list td {
        width: 63%;
    }
}

/*-------------
    アクセス
---------------*/
.access_container {
    /*    background-color: var(--main-color);*/
}

.access_inner {
    max-width: 1080px;
    padding: 75px 0 80px;
    margin: 0 auto;
}

.access_inner h1 {
    font-size: 30px;
    color: var(--main-color);
    padding: 0 0 30px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
}

.access_inner span {
    display: block;
    font-size: 18px;
}

.access_wrap {
    display: flex;
    justify-content: center;
}

.access_left {
    width: 40%;
    /*    background-color: #fff;*/
    /*    min-height: 580px;*/
    padding: 4% 8% 8% 6%;
    box-sizing: border-box;
}

.access_left > div {
    line-height: 1.4;
}

.access_right {
    width: 53%;
    padding-top: 4%;
}


.a_tit {
    font-weight: bold;
    color: var(--main-color);
}

.a_text {
    margin-bottom: 30px;
}

.access_right a {
    position: relative;
    z-index: 10;
}

@media print,
screen and (max-width: 900px) {
    .access_wrap {
        flex-direction: column;
        padding: 0 15px;
    }

    .access_left {
        max-width: 600px;
        width: 100%;
        margin: 0 auto;

        /*    background-color: #fff;*/
        padding: 10% 0% 4%;
    }

    .access_right {
        width: 100%;
        padding-top: 0%;
        text-align: center;
        position: relative;
        height: 500px;
        margin: 0 0 10px;
        overflow: hidden;
    }

    ifram {
        max-width: 100%;
    }
}


/*========================
  子供クラスページ　ここから
===========================*/

.ForKids_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
}

.ForKids_container h1 {
    font-size: 28px;
    color: var(--sub-color);
    padding: 0 0 20px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
    font-weight: 700;
}

.K_infoText_block01 {
    margin-top: 50px;
}

.K_infoText_block01 p {
    text-align: center;
    font-size: 15px;
    line-height: 2.6;
    font-weight: 700;
    margin-bottom: 30px;
    letter-spacing: 0.08em;
}

.K_infoText_block02 {
    text-align: center;
    font-size: 15px;
    line-height: 2.6;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.K_infoText_block02 h4 {
    color: #ff0000;
    font-size: 16px;
    padding: 15px 0 20px 0;
}

.K_block_inner {
    text-align: center;
}

.K_infoText_block02 ul {
    text-align: left;
    display: inline-block;
}

@media print,
screen and (max-width: 768px) {
    .ForKids_container h1 {
        font-size: 21px;
        line-height: 1.6;
    }

    .K_infoText_block01 {
        margin-top: 30px;
    }

    .K_infoText_block01 p {
        font-size: 14px;
        margin-bottom: 30px;
        text-align: left;
    }

    .K_infoText_block01 p br {
        display: none;
    }

    .K_infoText_block02 h4 {
        font-size: 16px;
        padding: 5px 0 10px 0;
    }

    .K_infoText_block02 {
        font-size: 14px;
        line-height: 2.6;
        text-align: left;
    }

    .K_infoText_block02 p br {
        display: none;
    }

    .K_block_inner {
        text-align: left;
    }
}

@media print,
screen and (max-width: 330px) {
    .ForKids_container h1 {
        font-size: 18px;
        line-height: 1.6;
    }
}

@media print,
screen and (min-width: 769px) {
    .ForKids_container h1 br {
        display: none;
    }

    .little_class h2 br {
        display: none;
    }
}

/*-------------------
  各コース紹介のブロック
----------------------*/
.classBlock {
    max-width: 800px;
    border-radius: 2em;
    margin: 50px auto;
    padding: 23px 60px;
}

.classBlock h2 {
    text-align: center;
    color: #fff;
    padding: 12px 0 10px 0;
    font-size: 23px;
    border-radius: 4px;
    font-weight: 700;
}

.classBlock_txt {
    font-size: 14px;
    line-height: 1.7;
    margin: 1.5em 40px;
}

.class_detail {
    display: flex;
    justify-content: space-between;
}

.re_detail_class {
    flex-direction: row-reverse;
}

.oyako_detail,
.block_all_detail {
    width: 70%;
    border-collapse: separate;
    border-spacing: 15px 15px;
}

.block_all_detail th {
    font-size: 14px;
    width: 100px;
    color: #fff;
    padding: 8px 0;
    border-radius: 5px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}

.block_all_detail td {
    font-size: 15px;
}

.k_block_pic {
    width: 30%;
    align-self: center;
}

.k_block_pic img {
    width: 300px;
}

/*親子クラス*/

.mot_tod_class {
    background-color: #FEB2AB;
}

.mot_tod_class h2 {
    background-color: #E75579;
}

.oyako_detail th {
    background-color: #E75579;
}


/*リトルキッズクラス*/

.little_class {
    background-color: #C2E382;
}

.little_class h2 {
    background-color: #97BF34;
}

.little_class_detail th {
    background-color: #97BF34;
}


/*キッズクラス*/

.kids_class {
    background-color: #A2D6E8;
}

.kids_class h2 {
    background-color: #38A1DB;
}

.kids_class_detail th {
    background-color: #38A1DB;
}


/*中学生クラス*/
.juniorHigh_class {
    background-color: #FFEC6C;
}

.juniorHigh_class h2 {
    background-color: #F4B61C;
}

.juniorHigh_class_detail th {
    background-color: #F4B61C;
}


/*高校生クラス*/

.High_class {
    background-color: #D6B6D3;
}

.High_class h2 {
    background-color: #A875C9;
}

.High_class_detail th {
    background-color: #A875C9;
}

.ForKids_container .class_detail td br { display: block !important; }
.ForKids_container .class_detail td { line-height: 145%; }

@media print,
screen and (max-width: 835px) {
    .classBlock h2 {
        font-size: 20px;
    }
}

@media print,
screen and (max-width: 768px) {
    .classBlock {
        max-width: 600px;
        margin: 50px auto;
        padding: 20px 20px;
    }

    .classBlock h2 {
        font-size: 16px;
        padding: 12px 5px 10px 5px;
    }

    .classBlock_txt {
        font-size: 14px;
        line-height: 1.7;
        margin: 1.5em 0px;
    }

    .class_detail {
        flex-direction: column;
    }

    .oyako_detail,
    .block_all_detail {
        width: 100%;
        border-collapse: separate;
        border-spacing: 8px 15px;
    }

    .k_block_pic img {
        display: none;
    }

    .block_all_detail th {
        font-size: 13px;
        width: 75px;
        color: #fff;
        padding: 8px 0;
        border-radius: 5px;
        letter-spacing: 0.1em;
        margin-bottom: 10px;
    }

    .block_all_detail td {
        font-size: 14px;
    }
}


@media print,
screen and (min-width: 769px) {
    .class_detail td br {
        display: none;
    }
}

/*========================
  大人クラスページ　ここから
===========================*/

.ForAdults_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
}

.ForAdults_container h1 {
    font-size: 28px;
    color: var(--sub-color);
    padding: 0 0 20px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
    font-weight: 700;
}

.bg_num {
    font-size: 36px;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-shadow: 1px 1px 2px #ff0000;
}

/*アダルトクラス*/

.adults_class {
    background-color: #a5c3cf;
}

.adults_class h2 {
    background-color: #3f6e80;
}

.adults_detail th {
    background-color: #3f6e80;
}

.adults_pic_01 img {
    margin-left: -30px;
}

.adults_pic_01 {
    position: relative;
}

.adults_pic_01::before {
    margin-left: -30px;
}

/* プライベートクラス*/

.private_class {
    background-color: #e59d5c;
}

.private_class h2 {
    background-color: #8d7159;
}

.private_class_detail th {
    background-color: #8d7159;
}

/* セミプライベートクラス*/

.semi_class {
    background-color: #a99f3c;
}

.semi_class h2 {
    background-color: #717c50;
}

.semi_class_detail th {
    background-color: #717c50;
}


.adults_block_pic {
    width: 25%;
    align-self: center;
    margin-top: 45px;
    position: relative;
}

.adults_block_pic img {
    width: 260px;
    border: 10px solid #bcb0a4;
    border-radius: 10px;
}

.adults_block_pic::before {
    content: '';
    width: 100%;
    padding-bottom: 30%;
    background: url(../image/koruku_bord.png) no-repeat center top;
    background-size: auto 100%;
    position: absolute;
    left: 5%;
    top: -25%;
    /*    transform: translate(0.98%);*/
}

.ForAdults_container .class_detail td br { display: block !important; }
.ForAdults_container .class_detail td { line-height: 145%; }

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

    .adults_class h2 br,
    .private_class h2 br,
    .semi_class h2 br {
        display: none;
    }
}


@media print,
screen and (max-width: 768px) {
    .ForAdults_container h1 {
        font-size: 21px;
        line-height: 1.6;
    }


    .adults_block_pic {
        display: none;
    }



}

/*========================
  スタッフ紹介ページ　ここから
===========================*/
.staff_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
}

.staff_container h1 {
    font-size: 30px;
    color: var(--main-color);
    padding: 0 0 30px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
}

.staff_enText {
    display: block;
    font-size: 18px;
}

.staff_intr_text p {
    font-size: 27px;
    text-align: center;
    font-weight: bold;
    line-height: 1.8;
    margin-top: 40px;
    margin-bottom: 40px;
    color: #333;
}

.staff_list {
    max-width: 800px;
    background-color: var(--main-color);
    border-radius: 2em;
    padding: 18px 20px;
    margin: 55px auto;
    position: relative;
}

.staff_from01 {
    width: 100%;
    height: 140px;
    position: absolute;
    bottom: 5%;
    background-image: url(../image/flag_UK.png);
    background-repeat: no-repeat;
    background-position: 0 98%;
    background-size: 12%;
    z-index: 5;
}

.staff_from02 {
    width: 100%;
    height: 140px;
    position: absolute;
    bottom: 5%;
    background-image: url(../image/flag_USA.png);
    background-repeat: no-repeat;
    background-position: 96% 110%;
    background-size: 14%;
    z-index: 5;
}

.staff_from03 {
    width: 100%;
    height: 140px;
    position: absolute;
    bottom: 5%;
    background-image: url(../image/flag_JP.png);
    background-repeat: no-repeat;
    background-position: 96% 110%;
    background-size: 14%;
    z-index: 5;
}

.staff_from04 {
    width: 100%;
    height: 140px;
    position: absolute;
    bottom: 5%;
    background-image: url(../image/flag_USA.png);
    background-repeat: no-repeat;
    background-position: 0 98%;
    background-size: 12%;
    z-index: 5;
}

.staff_pro_wrap {
    width: 100%;
    display: flex;
}

.re_staff_pro {
    flex-direction: row-reverse;
}

.staff_image {
    max-width: 100%;
    text-align: center;
}

.staff_image {
    width: 245px;
    height: 245px;
    border-radius: 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.staff_profile {
    width: 60%;
    background-color: #fff0cd;
    border-radius: 2em;
    padding: 20px 30px;
    position: relative;
    display: inline-block;
}

.re_staff_profile {
    width: 60%;
    background-color: #fff0cd;
    border-radius: 2em;
    padding: 20px 30px;
    position: relative;
    display: inline-block;
}

.staff_profile h4 {
    font-size: 28px;
    color: var(--main-color);
    margin-bottom: 20px;
    text-align: center;
}

.staff_profile span {
    display: block;
    font-size: 14px;
}

.re_staff_profile h4 {
    font-size: 28px;
    color: var(--main-color);
    margin-bottom: 20px;
    text-align: center;
}

.re_staff_profile span {
    display: block;
    font-size: 14px;
}

.s_detail_profile dl {
    display: flex;
    line-height: 2;
    border-bottom: 1px solid var(--main-color);
}

.s_detail_profile dt {
    font-weight: bold;
    padding: 10px 5px;
    width: 100px;
    color: var(--main-color);
    text-align: center;
    font-size: 14px;
}

.s_detail_profile dd {
    padding: 10px 0 10px 10px;
    font-size: 16px;
}

.staff_word {
    padding: 15px 30px 0 30px;
    line-height: 1.7;
}

@media print,
screen and (min-width: 769px) {
    .staff_profile:before {
        content: '';
        position: absolute;
        top: 25%;
        left: -6%;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 43.3px 25px 0;
        border-color: transparent #fff0cd transparent transparent;
    }

    .re_staff_profile:before {
        content: '';
        position: absolute;
        top: 25%;
        right: -6%;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 0 25px 43.3px;
        border-color: transparent transparent transparent #fff0cd;
    }
}

@media print,
screen and (max-width: 768px) {
    .staff_container h1 {
        font-size: 23px;
    }

    .staff_enText {
        font-size: 16px;
    }

    .staff_profile h4,
    .re_staff_profile h4 {
        font-size: 24px;
    }

    .staff_intr_text p {
        font-size: 18px;
        line-height: 2;
    }

    .staff_pro_wrap {
        flex-direction: column;
		align-items: center;
    }

    .staff_profile {
        width: 100%;
        padding: 20px 0px;
        margin: 0 auto;
    }

    .s_detail_profile {
        padding: 0 10px;
    }

    .s_detail_profile dt {
        padding: 10px 5px;
        width: 60px;
        font-size: 14px;
    }

    .s_detail_profile dd {
        padding: 10px 0 10px 10px;
        font-size: 15px;
    }

    .re_staff_profile {
        width: 100%;
        padding: 20px 0px;
        margin: 0 auto;
    }

    .staff_image {
        margin-bottom: 40px;
        padding-right: 0;
        padding-left: 0;
    }

    .staff_word {
        padding: 15px 5px 0 5px;
        line-height: 1.7;
    }

    .staff_profile:before,
    .re_staff_profile:before {
        content: '';
        position: absolute;
        top: -5%;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 20px 20px 20px;
        border-color: transparent transparent #fff0cd transparent;
    }

    .staff_from01,
    .staff_from02,
    .staff_from03,
	.staff_from04
	{
        display: none;
    }
}

@media print,
screen and (max-width: 383px) {

    .staff_image {
        padding-right: 0px;
        padding-left: 0px;
    }

    .staff_image img {
        width: 200px;
        height: 200px;
    }

    .staff_profile:before,
    .re_staff_profile:before {
        content: '';
        position: absolute;
        top: -4%;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 20px 20px 20px;
        border-color: transparent transparent #fff0cd transparent;

    }
}



/*========================
   教室の特徴ページ　ここから
===========================*/

.p_class_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
}

.p_class_container h1 {
    font-size: 28px;
    color: var(--sub-color);
    padding: 0 0 20px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
    font-weight: 700;
}

.p_class_inner {
    max-width: 900px;
    margin: 0 auto;
}

.features_top {
    padding: 60px 0;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 8px;
    margin: 0 auto;
}

.features_top:last-child {
    background: none;
}

.f_class_inner {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.f_class_image {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    margin-right: 5%;
}



.f_pc01 {
    background-image: url(../image/P5060070.JPG);
    background-position: 70% 50%;
}

.f_pc02 {
    background-image: url(../image/OAWW3050.JPG);
    background-position: center;
    background-size: cover;
}

.f_pc03 {
    background-image: url(../image/P5060052.JPG);
    background-position: left;
}

.f_pc04 {
    background-image: url(../image/f_class04.jpg);
    background-position: center;
}

.f_pc05 {
    background-image: url(../image/4363511_s.jpg);
    background-position: left;
}

.f_pc06 {
    background-image: url(../image/f_class06.jpg);
    background-position: left;
}

.f_pc07 {
    background-image: url(../image/IMG_0530.jpg);
    background-position: left;
}

.f_pc08 {
    background-image: url(../image/top_door.jpg);
    background-position: center top;
}

.f_class_circle {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    position: relative;
    margin-left: 5%;
}

.f_Ctype01 {
    background-color: #FDAC2C;
}

.f_Ctype02 {
    background-color: #DC71B2;
}

.f_Ctype03 {
    background-color: #97C037;
}

.f_Ctype04 {
    background-color: #C9784D;
}

.f_Ctype05 {
    background-color: #EB7D80;
}

.f_Ctype06 {
    background-color: #7CC0E4;
}

.f_circle_text {
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    line-height: 1.7;
    /*    font-size: 2.5vmin;*/
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.2em;
    width: 90%;
}

.f_class_TextBlock {
    max-width: 600px;
    font-size: 16.5px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin: 0 auto;
    text-align: center;
    color: #333;
    font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "HIragino Kaku Gothic Pro W3", "HIragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}

.f_class_TextBlock p {
    text-align: left;
    display: inline-block;
}

@media print,
screen and (min-width: 769px) {
    .c_num {
        position: relative;

    }

    .c_num img {
        width: 75px;
    }

    .c_num span {
        position: absolute;
        top: 0%;
        left: 0;
        width: 75px;
        color: #fff;
        display: flex;
        font-weight: bold;
        font-size: 25px;
        align-items: center;
        justify-content: center;
        padding-top: 8%;
    }

    .c_sp_num {
        display: none;
    }
}



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

    .p_class_container h1 {
        font-size: 28px;
        font-size: 21px;
        line-height: 1.6;
        padding: 0 10px 10px 10px;
    }

    .p_class_container h1 br {
        display: none;
    }

    .features_top {
        padding: 30px 0;
    }

    .f_class_image {
        display: none;
    }

    .f_class_TextBlock {
        max-width: 500px;
    }

    .f_class_circle {
        position: relative;
        margin-left: 0;
    }

    .f_circle_text {
        padding-top: 1em;
    }

    .c_sp_num {
        color: #fff;
        font-size: 30px;
        font-weight: bold;
        position: absolute;
        top: 40px;
        left: 50%;
        transform: translate(-50%);
    }

}


/*========================
   お知らせページ　ここから
===========================*/

.p_news_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
}

.p_news_container h1 {
    font-size: 30px;
    color: var(--main-color);
    padding: 0 0 30px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
}

.p_news_enText {
    display: block;
    font-size: 18px;
}

.p_news_wrap {
    padding: 70px 0;
}


.p_news_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto;
    border-bottom: thin dotted var(--main-color);
    padding: 20px 15px;
}

.p_news_list dt {
    width: 35%;
    color: var(--main-color);
    font-weight: bold;
    font-size: 14px;
}

.p_news_list time {
    margin-right: 15px;
    font-size: 13px;
}

.p_news_icon {
    border-radius: 3px;
    display: inline-block;
    background-color: var(--main-color);
    text-align: center;
    color: #fff;
    font-size: 12px;
    width: 90px;
    padding: 0 .5em;
    line-height: 1.75;
    font-weight: normal;
}

.p_news_list a {
    color: #3366cc;
}

.new_mark::after {
    display: inline-block;
    content: "NEW";
    background: #f00;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    padding: 2px;
    margin-left: 5px;
}


@media screen and (max-width: 768px) {
    .p_news_wrap {
        padding: 30px 0;
    }

    .p_news_list {
        flex-direction: column;
    }

    .p_news_list dt {
        padding-bottom: 15px;
        font-size: 15px;
        width: 100%;
    }


}



/*-------------
 ページネーション
---------------*/

nav.pagination *,
nav.pagination *:after,
nav.pagination *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

nav.pagination a {
    text-decoration: none;
}

nav.pagination {
    margin: 2em 0;
    text-align: center;
}

.pagination .pagination_inner {
    display: inline-block;
    margin-top: 2em;
    padding: 0 0.5em;
}

.pagination .page_num {
    font-size: 1em;
    line-height: 50px;
    display: block;
    float: left;
    transition: 400ms ease;
    letter-spacing: 0.1em;
    color: #37474F;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin: auto .5em;
}

.pagination .page_num:hover,
.pagination .page_num.current {
    font-weight: bold;
    color: #ffffff;
    background-color: var(--main-color);
    border-radius: 50%;
}

.pagination .page_num.prev:hover,
.pagination .page_num.next:hover {
    color: var(--main-color);
    background-color: transparent;
    border-radius: 50%;
}

@media only screen and (max-width: 960px) {
    .pagination .pagination_inner {
        margin-top: 50px;
        padding: 0 10px;
    }

    .pagination .page_num {
        font-size: 0.8em;
        line-height: 25px;
        width: 45px;
        height: 25px;
        margin: auto .1em;
        border-radius: 0.3em;
    }

    .pagination .page_num.prev,
    .pagination .page_num.next {
        padding: 0 25px 0 0;
    }

    .pagination .page_num:hover,
    .pagination .page_num.current {
        border-radius: 0.3em;
    }

    .pagination .page_num.prev:hover,
    .pagination .page_num.next:hover {
        border-radius: 0.3em;
    }
}

@media only screen and (min-width: 120px) and (max-width: 767px) {
    .pagination .page_num {
        display: none;
        border-radius: 0.3em;
    }

    .pagination .page_num:nth-of-type(2) {
        position: relative;
        padding-right: 20px;
    }

    .pagination .page_num:nth-of-type(2)::after {
        font-size: 1.2em;
        position: absolute;
        top: 0;
        left: 25px;
        content: '...';
    }

    .pagination .page_num:nth-child(-n+3),
    .pagination .page_num:nth-last-child(-n+3) {
        display: block;
    }

    .pagination .page_num:nth-last-child(-n+4) {
        padding: 0 5px;
    }

    .pagination .page_num:nth-last-child(-n+4)::after {
        content: none;
    }

    .pagination .page_num:hover,
    .pagination .page_num.current {
        border-radius: 0.3em;
    }

    .pagination .page_num.prev:hover,
    .pagination .page_num.next:hover {
        border-radius: 0.3em;
    }
}


/*swiper*/

.swiper-container{
   width: 100%;
   height: 150px;
    overflow: hidden !important;
}

.swiper-wrapper {
    box-shadow: border-box !important;
    width: 100% !important;
}

/*===================
  プライバシーポリシー
    /利用規約　ここから
=====================*/

.privacy_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px 30px 50px 30px;
    line-height: 1.8;
}

.privacy_wrap {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 10px;
}

.privacy_container h1 {
    font-size: 30px;
    color: var(--main-color);
    padding: 0 0 20px;
    background: url(../image/texture_dots.png) repeat-x left bottom;
    background-size: 15px;
    text-align: center;
    font-weight: 700;
}

.privacy_container h2 {
    font-size: 23px;
    font-weight: bold;
    margin: 30px 0 20px 0;
}


.privacy_container p {
    margin: 20px 0;
}

li {
    list-style-type: none;
}

.ArticleBody li {
    list-style-type: inherit;
}

.privacy_container ol {
    padding-left: 30px;
}

.privacy_container ol li {
    list-style-type: decimal;
    line-height: 1.8;
}


@media only screen and (max-width:768px) {
    .privacy_container {
        padding: 15px 20px 50px 20px;
        line-height: 1.6;
    }

    .privacy_container h1 {
        font-size: 21px;
    }

    .privacy_container h2 {
        font-size: 18px;
    }
}


/*ローディング*/

#loading {
    width: 100%;
    height: 100vh;
    background: #fff0cd;
    z-index: 9999;
}

.loader_inner {
    position: relative;
    top: 25%;
    width: 100%;
    height: 300px;

}

.ball {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 149px;
    height: 95px;
    animation: bound-anim 1s infinite;
}

.ball img {
    width: 100%;
}

@keyframes bound-anim {
  0%,100% {top: 0;transform: scale(1);}
  30% {top: -60%; transform: scale(0.96,1.04);}
  60% {transform: scale(1);}
  90% {top: 0;transform: scale(1.15,0.9);}
}

.load_shadow {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -95px;
    margin: auto;
    width: 60px;
    height: 10px;
    border-radius: 50%;
    background: #000;
    filter: blur(6px);
    opacity: 0.9;
    animation: shadow-anim 1s infinite;
}



@keyframes shadow-anim {
  0%,100%  {transform: scale(1);filter: blur(4px);}
  30% {transform: scale(1.6,1);filter: blur(8px);}
}

.n_loading {
    position: absolute;
    bottom: 20%;
    left: 50%;
    transform: translateX(-50%);
}








/* エラーメッセージ */
.caution_text {
    vertical-align: middle;
}

.caution_text > img {
    vertical-align: middle;
    margin-right: 1%;
}

.caution {
    color: #f9352c;
}

.notice {
    color: #107c41;
}


/*========================
  欠席・振替管理（会員専用ページ）
===========================*/
.user_absence_area {
    width: 100%;
    margin-top: 1%;
    display: table;
}

.user_absence_block {
    display: table-row;
    width: 100%;
}

@media print,screen and (min-width: 768px) {
	.user_absence_block_bgchover{
		background-color: #ffffff;
	}
}
.user_absence_block_bgchover:hover {
    background-color: #ffdfcd;
}

.user_absence_block_off {
    background-color: #919191 !important;
}

.user_absence_block > div {
    display: table-cell;
    border-left: thin solid #ec7d36;
    border-bottom: thin solid #ec7d36;
    padding: 0.5%;
}

.user_absence_block > div:last-child {
    border-right: thin solid #ec7d36;
}

.user_absence_block_header {
    background-color: #ec7d36;
    color: #fff;
    border: thin solid #ec7d36;
}

.user_absence_block_header > div {
    display: table-cell;
    border-right: thin solid #ffffff;
    height: 20px;
    text-align: center;
    vertical-align: middle;
}

.user_absence_block_header > div:last-child {
    border-left: thin solid #ec7d36;
}

.user_absence_button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    border-radius: 3px;
    color: #fff;
    padding: 1.5% 2.5%;
    cursor: pointer;
}

.user_absence_button_01 {
    background-color: #313f48;
}

.user_absence_button_01:hover {
    background-color: #c43e1c;
}

.user_absence_button_02 {
    background-color: #4b53bc;
}

.user_absence_button_02:hover {
    background-color: #539eff;
}

.user_absence_error {
    margin: 3% 0%;
}

.user_absence_info_title {
    margin: 1% 0% -1%;
    font-size: large;
}

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

    .user_absence_area {
        width: 100%;
        margin-top: 1%;
        display: block;
    }

    .user_absence_block {
        display: block;
        border: 1px solid #ec7d36;
        border-radius: 5px;
        background-color: #f9ca9b;
        padding: 5px;
        margin-bottom: 5px;
    }

    .user_absence_block > div {
        border-radius: 3px;
        background-color: #ec7d36;
        color: #fff;
        display: inline-block;
        border-left: none;
        border-bottom: none;
        padding: 1.5% 2.5%;
        margin: 0.5%;
    }

    .user_absence_block > div:last-child {
        border-right: none;
    }

    .user_absence_block_header {
        display: none;
    }

    .user_absence_io {
        /*display:none !important;*/
    }

    .user_absence_buttons {
        display: block !important;
        width: 98%;
        padding: 0% !important;
        margin: 0% !important;
        text-align: right;
        background-color: transparent !important;
    }

}
