@charset "UTF-8";
body {
    font-family: 'Noto Serif JP', serif;
    font-feature-settings: "palt";
    letter-spacing: 0.1rem;
    line-height: 1.8;
    font-weight: 500;
    color: rgba(0, 0, 0, 1)
}

.ttl {
    font-weight: 400;
}

.gothic {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

.gothic.bold {
    font-weight: 500;
}

.taviraj {
    font-family: 'Taviraj', serif;
    font-weight: 400;
}

.en {
    letter-spacing: 0.3vw;
}

@media screen and (min-width:769px) {
    html {
        font-size: 62.5%;
    }
    body {
        overflow: hidden;
        min-width: 960px;
    }
}

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

@media screen and (max-width:768px) {
    html {
        font-size: 1.5vw;
    }
    .ttl {
        letter-spacing: 0.1rem;
    }
}


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

.txt {
    font-size: 1.7rem;
}

@media screen and (max-width:1000px) {
    .ttl .small {
        display: block;
        margin-top: -0.3em;
    }
}


/**************************************
テキストサイズ
**************************************/

.txt_14 {
    font-size: 1.4rem;
}

.txt_16 {
    font-size: 1.6rem;
}

.txt_18 {
    font-size: 1.8rem;
}

.txt_19 {
    font-size: 1.9rem;
}

.txt_21 {
    font-size: 2.1rem;
}

.txt_23 {
    font-size: 2.3rem;
}

.txt_24 {
    font-size: 2.4rem;
}

.txt_24.more {
    font-size: 2.45rem;
}

.txt_26 {
    font-size: 2.6rem;
}

.txt_27 {
    font-size: 2.7rem;
}

.txt_28 {
    font-size: 2.8rem;
}

.txt_29 {
    font-size: 2.9rem;
}

.txt_30 {
    font-size: 3.0rem;
}

.txt_32 {
    font-size: 3.2rem;
}

.txt_38 {
    font-size: 3.8rem;
}

.txt_40 {
    font-size: 4.0rem;
}

.txt_43 {
    font-size: 4.3rem;
}

.txt_47 {
    font-size: 4.7rem;
}

.txt_48 {
    font-size: 4.8rem;
}

.txt_78 {
    font-size: 7.8rem;
}

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

@media screen and (max-width:768px) {
    .txt_32 {
        font-size: 3rem;
    }
    .ttl .txt_38 {
        font-size: 3.8rem;
    }
    .ttl.txt_38 {
        font-size: 3.8rem;
    }
    .is-mobile .ttl .txt_38 {
        font-size: 2.9rem;
    }
    .is-mobile .ttl.txt_38 {
        font-size: 3rem;
    }
    .txt.txt_16 {
        font-size: 1.8rem;
    }
}


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

br.br_w1300 {
    display: none;
}

br.br_w1100 {
    display: none;
}

br.br_w960 {
    display: none;
}

br.br_w768 {
    display: none;
}

@media screen and (max-width:1299px) {
    br.br_w1300 {
        display: flex;
    }
}

@media screen and (max-width:1099px) {
    br.br_w1100 {
        display: flex;
    }
}

@media screen and (max-width:959px) {
    br.br_w960 {
        display: flex;
    }
}

@media screen and (max-width:768px) {
    br.br_w768 {
        display: flex;
    }
}


/**************************************
テキストカラー
**************************************/

.txt_red {
    color: rgba(255, 0, 0, 1);
}

.txt_white {
    color: rgba(255, 255, 255, 1);
}

.txt_green {
    color: #035A1A;
}

.txt_brown {
    color: #8E582A;
}

.txt_orange {
    color: #DE7C0D;
}

.txt_black {
    color: #000;
}

.txt_gold {
    color: #C19824;
}

@media screen and (max-width:768px) {
    .sp_txt_green {
        color: #035A1A;
    }
}


/**************************************
背景カラー
**************************************/

.bg_white {
    background-color: rgba(255, 255, 255, 1);
}

.bg_green {
    background-color: #035A1A;
}

.bg_orange {
    background-color: #DE7C0D;
}

.bg_brown {
    background-color: #8E582A;
}

.bg_ivory {
    background-color: #FDFBE7;
}

.bg_yellow {
    background-color: #FFF178;
}


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

.all_wrap {
    padding-left: 0;
    padding-right: 0;
}

.bg_box {
    padding: 3rem;
}

@media screen and (max-width:768px) {
    .all_wrap {
        width: 100%;
        height: 100%;
        margin: 0 auto;
        padding-top: 0;
        overflow: hidden;
        position: relative;
    }
    /* .is-mobile .main_wrap {
margin-top: 60px;
} */
}


/**************************************
header
**************************************/

.sec_header {
    width: 100%;
    transition: all 0.3s;
}

.sec_header.scroll {
    background: rgba(255, 255, 255, 0.8);
    transition: all 0.3s;
}

.sec_header .nav .br_nav {
    display: inline-flex;
}

.header_logo.img {
    width: auto;
    margin: 0;
    padding: 0;
}

.header_logo.img a {
    background: url(../images/logo.svg) no-repeat;
    background-size: 100%;
    transition: all 0.3s;
}

.scroll .header_logo.img a {
    transition: all 0.3s;
}

@media screen and (min-width:769px) {
    .sec_header {
        height: 13rem;
    }
    .sec_header.scroll {
        height: 11rem;
    }
    .header_logo.img a {
        width: 25rem;
        height: 5rem;
    }
    .scroll .header_logo.img a {
        width: 23rem;
    }
    .sec_header .btn.contact {
        display: none;
    }
    .sec_header .menu {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 3rem;
        width: 65%;
        max-width: 700px;
        height: 77px;
        padding: 50px 30px 30px;
        transition: all 0.3s;
        position: absolute;
        right: 80px;
    }
    .header.scroll .menu {
        padding: 20px 30px 20px;
        transition: all 0.3s;
    }
    .sec_header .menu li {
        font-size: 1.7rem;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
    }
    .sec_header .menu a {
        color: #fff;
        text-shadow: 0px 0px 15px rgb(132 99 66);
    }
    .header.scroll .menu a {
        color: #895918;
        text-shadow: none;
    }
}

@media screen and (min-width:1199px) {
    .sec_header {
        height: 16rem;
    }
    .sec_header.scroll {
        height: 13rem;
    }
    .header_logo.img a {
        width: 28.4rem;
    }
    .scroll .header_logo.img a {
        width: 25rem;
    }
}

@media screen and (max-width:1199px) {
    .sec_header {
        height: calc(13rem + ((1vw - 0.96rem) * 3.1283));
        ;
    }
    .sec_header.scroll {
        height: calc(11rem + ((1vw - 0.96rem) * 2.0855));
        ;
    }
    .header_logo.img a {
        width: calc(25rem + ((1vw - 0.96rem) * 3.5454));
        height: calc(4.4rem + ((1vw - 0.96rem) * 0.6257));
    }
    .scroll .header_logo.img a {
        width: calc(23rem + ((1vw - 0.96rem) * 2.0855));
    }
}

@media screen and (max-width:959px) {
    .sec_header.scroll {
        height: 13rem;
    }
    .sec_header .menu {
        gap: 2rem;
        padding: 40px 30px 30px;
    }
}

@media screen and (max-width:768px) {
    .sec_header {
        width: 100%;
        height: 100px;
    }
    .sec_header.scroll {
        height: 100px;
    }
    .header_logo.img a {
        width: 284px;
        height: 52px;
    }
    .scroll .header_logo.img a {
        width: 260px;
    }
    .sec_header .btn.contact {
        margin-top: 1px;
        transform: translateY(-50%);
        position: absolute;
        right: 70px;
        top: 50%;
    }
    .sec_header .btn.contact .icon_tel {
        display: inline-flex;
        width: 25px;
        margin-right: 5px;
    }
    .sec_header .btn.contact .icon_mail {
        display: inline-flex;
        width: 40px;
    }
    .is-mobile .sec_header {
        height: 80px;
    }
    .is-mobile .scroll .sec_header {
        height: 80px;
    }
    .is-mobile .header_logo.img a {
        width: 180px;
        height: 34px;
    }
    .is-mobile .scroll .header_logo.img a {
        width: 160px;
    }
    .is-mobile .sec_header .btn.contact {
        margin-top: 2px;
    }
}


/**************************************
main
**************************************/

.main_wrap {
    padding: 0;
}

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


/**************************************
footer
**************************************/

@media screen and (max-width:768px) {
    .sec_footer {
        margin-bottom: 34vw;
    }
    .sec_footer.active {
        margin-bottom: 55vw;
    }
    .is-mobile .sec_footer {
        margin-bottom: 40vw;
    }
    .is-mobile .sec_footer.active {
        margin-bottom: 61vw;
    }
}


/**************************************
kv
**************************************/

.sec_kv {
    padding-top: 0;
    padding-bottom: 0;
}

.sec_kv .cnt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    background: url(../images/kv_pc.jpg) no-repeat;
    background-size: cover;
    position: relative;
}

.sec_kv .box_LR {
    justify-content: space-around;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}

.sec_kv .gradation {
    position: absolute;
    bottom: 0;
}

.sec_kv .kv_point {
    width: 100%;
    /* max-width: 1920px; */
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.sec_kv .kv_point .clm_3 {
    justify-content: flex-end;
    gap: 3rem;
    position: absolute;
}

.sec_kv .kv_point .clm_3>.clm_item {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.01rem;
    box-shadow: 0 0 25px 0 rgba(0, 45, 0, 0.3);
}

.sec_kv .kv_point .clm_3>.clm_item {
    background: url(../images/point_bg.png) no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 0 25px 0 rgb(0 45 0 / 30%);
}

.sec_kv .kv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    letter-spacing: 0;
    position: absolute;
    top: 45%;
}

.sec_kv .txt_38 {
    letter-spacing: 0.5rem;
    text-align: left;
}

.sec_kv .txt_27 {
    margin-bottom: 2.5rem;
    letter-spacing: 0.4rem;
    text-align: left;
}

.sec_kv .ttl_wrap {
    position: absolute;
    right: 2%;
}

.sec_kv .txt_38.bg_yellow {
    padding: 0.2em 0.4em 0.3em;
    line-height: 2.7;
    box-shadow: 0 0 25px 0 rgba(0, 45, 0, 0.3);
}

.sec_kv .shadow {
    text-shadow: 0px 0px 20px rgba(0, 45, 0, 0.3);
}

.sec_kv .obi {
    width: 100%;
    padding: 0.2em 0;
    text-align: center;
    position: absolute;
    /* bottom: 8rem; */
    bottom: calc(3rem + ((1vw - 0.96rem) * 2.6069));
    z-index: 2;
}

.sec_kv .kv_image .img {
    width: 25vw;
    margin: 0 auto;
}

.sec_kv .sp_cv_area {
    display: none;
}

@media screen and (min-width: 769px) {
    .sec_kv .cnt {
        min-width: 960px;
        padding-top: 44.794%;
    }
    .sec_kv .kv_ttl {
        min-width: 960px;
    }
    .sec_kv .txt_38 {
        font-size: 3.8rem;
    }
    .sec_kv .txt_27 {
        font-size: 2.7rem;
    }
    .sec_kv .txt_29 {
        font-size: 1.7rem;
    }
    .sec_kv .kv_point .clm_3 {
        justify-content: flex-end;
        width: 53rem;
        gap: 1.5rem;
        position: absolute;
        bottom: calc(-10rem - ((1vw - 0.96rem) * 10.4275));
        right: calc(-6rem - ((1vw - 0.96rem) * 4.171));
    }
    .sec_kv .kv_point .clm_3>.clm_item {
        width: 9.5rem;
        height: 9.5rem;
    }
}

@media screen and (min-width:1920px) {
    .sec_kv .kv_ttl {
        max-width: 2180px;
        right: 14rem;
        left: 0;
    }
    .sec_kv .ttl_wrap {
        right: 14rem;
    }
    .sec_kv .kv_point .clm_3 {
        gap: 3rem;
        width: 53rem;
        bottom: -20rem;
        right: -10rem;
    }
    .sec_kv .kv_point .clm_3>.clm_item {
        width: 15.6rem;
        height: 15.6rem;
    }
    .sec_kv .obi {
        bottom: 5.5rem;
    }
}

@media screen and (max-width:1919px) {
    .sec_kv .ttl_wrap {
        right: calc(2rem + ((1vw - 0.96rem) * 13.5558));
    }
    .sec_kv .txt_38 {
        font-size: calc(1.8rem + ((1vw - 0.96rem) * 2.0855));
        letter-spacing: 0.3rem;
    }
    .sec_kv .txt_27 {
        font-size: calc(1.6rem + ((1vw - 0.96rem) * 1.147));
    }
    .sec_kv .txt_26 {
        font-size: calc(1.7rem + ((1vw - 0.96rem) * 0.9385));
    }
    .sec_kv .txt_29 {
        font-size: calc(1.7rem + ((1vw - 1.2rem) * 1.6667));
    }
    .sec_kv .kv_point .clm_3 {
        justify-content: flex-end;
        width: calc(41.3rem + ((1vw - 0.96rem) * 12.2002));
        gap: calc(1.5rem + ((1vw - 0.96rem) * 1.5641));
        position: absolute;
        bottom: calc(-9.7rem - ((1vw - 0.96rem) * 8.6548));
        right: calc(-1rem - ((1vw - 0.96rem) * 9.3848));
    }
    .sec_kv .kv_point .clm_3>.clm_item {
        width: calc(9.5rem + ((1vw - 0.96rem) * 6.3608));
        height: calc(9.5rem + ((1vw - 0.96rem) * 6.3608));
    }
}

@media screen and (max-width:768px) {
    .sec_kv .cnt {
        background: url(../images/kv_sp.jpg) no-repeat;
        background-size: contain;
        padding-top: 192%;
        min-width: 100%;
    }
    .sec_kv .box_LR {
        display: none;
    }
    .sec_kv .gradation {
        display: none;
    }
    .sec_kv .kv_ttl {
        display: none;
    }
    .sec_kv .obi {
        display: none;
    }
    .sec_kv .sp_cv_area {
        display: block;
        position: fixed;
        bottom: 0;
        z-index: 9;
    }
    .sec_kv .sp_cv_area .clm_3 {
        flex-wrap: nowrap;
        gap: 0;
        background: #fff7e4;
        position: relative;
        z-index: 1;
    }
    .sec_kv .sp_cv_area .clm_3>.clm_item {
        width: 33.3%;
    }
    .sec_kv .sp_cv_area .btn.contact {
        font-size: 0;
    }
    .sec_kv .sp_cv_area .ttl {
        margin-bottom: 20px;
    }
    .sec_kv .sp_cv_area .ttl:before {
        content: "";
        width: 2em;
        height: 1em;
        margin: 0 auto;
        background: url(../images/icon_arrow.png) no-repeat;
        background-size: 100%;
        background-position: center;
        position: absolute;
        top: -1.3em;
        left: 0;
        right: 0;
    }
    .sec_kv .sp_cv_area .txt_27 {
        margin-bottom: 1vw;
        font-size: 4vw;
        letter-spacing: 0.25rem;
        line-height: 1.5
    }
    .sec_kv .sp_cv_area .txt_27 .narrow {
        letter-spacing: 0;
    }
    .sec_kv .sp_cv_area .ac-btn.bg_white {
        padding: 30px 2rem 10px;
    }
    .sec_kv .sp_cv_area .wrap .ac-box.bg_white {
        display: block;
        width: 100%;
        padding: 0 2rem 10px;
    }
    .sec_kv .sp_cv_area .wrap {
        width: 100%;
        border-top: 1px solid #fff4e1;
        border-bottom: 1px solid #fff;
        pointer-events: painted;
        cursor: pointer;
        position: absolute;
        bottom: 0;
        z-index: 0;
        transition: 0.1s ease-out;
        box-shadow: 0 0 5px 0 rgba(255, 202, 128, 0.3);
    }
    .sec_kv .sp_cv_area .wrap.active {
        bottom: 100%;
        z-index: 0;
        transition: 0.1s ease-out;
    }
    .sec_kv .sp_cv_area .boxLR {
        display: inline-flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
        text-align: left;
    }
    .sec_kv .sp_cv_area .box_R {
        max-width: 55%;
    }
    .is-mobile .sec_kv .sp_cv_area .ttl {
        margin-bottom: 5px;
    }
    .is-mobile .sec_kv .sp_cv_area .ttl:before {
        content: "";
        width: 2em;
        height: 1em;
        margin: 0 auto;
        background: url(../images/icon_arrow.png) no-repeat;
        background-size: 100%;
        background-position: center;
        position: absolute;
        top: -5vw;
        left: 0;
        right: 0;
    }
    .is-mobile .sec_kv .sp_cv_area .txt_27 {
        margin-bottom: 1vw;
        font-size: 4.5vw;
        letter-spacing: 0.25rem;
        line-height: 1.5
    }
    .is-mobile .sec_kv .sp_cv_area .wrap {
        width: 100%;
        border-top: 1px solid #fff4e1;
        border-bottom: 1px solid #fff;
        pointer-events: painted;
        cursor: pointer;
        position: absolute;
        bottom: 0;
        z-index: 0;
        transition: 0.1s ease-out;
        box-shadow: 0 0 5px 0 rgba(255, 202, 128, 0.3);
    }
    .is-mobile .sec_kv .sp_cv_area .wrap.active {
        bottom: 100%;
        z-index: 0;
        transition: 0.1s ease-out;
    }
}


/**************************************
school
**************************************/

.sec_school {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.sec_school .clm_2 {
    justify-content: center;
    gap: 3rem;
}

.sec_school .clm_2>.clm_item {
    width: 100%;
    max-width: 893px;
    height: 100%;
    max-height: 318px;
    padding: 3.5% 0;
    border: 6px solid #8E582A;
    position: relative;
}

.sec_school .clm_2>.clm_item:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.sec_school .clm_2>.clm_item.omiya:before {
    background: url(../images/school_omiya_bg.jpg) no-repeat;
    background-size: 100% 100%;
}

.sec_school .clm_2>.clm_item.omori:before {
    background: url(../images/school_omori_bg.jpg) no-repeat;
    background-size: 100% 100%;
}

.sec_school .clm_2>.clm_item:after {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0;
    left: 0;
}

.sec_school .clm_2>.clm_item .clm_inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: calc(38.5rem + ((1vw - 0.96rem) * 34.7826));
    height: 100%;
    margin: 0 auto;
    color: #fff;
    position: relative;
    z-index: 1;
}

.sec_school .clm_2 .ttl {
    width: 100%;
    margin-bottom: 0;
    text-align: left;
}

.sec_school .clm_2 .txt {
    width: 100%;
    text-align: left;
}

.sec_school .boxLR {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.sec_school .boxLR .box_R {
    max-width: calc(20rem + ((1vw - 0.96rem) * 16.5217));
}

.sec_school .boxLR .box_L {
    padding-bottom: 1rem;
    overflow: unset;
}

.sec_school .boxLR .arrow {
    display: inline-block;
    width: 170px;
    height: 12px;
    margin-left: -10px;
    border-bottom: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    transform: skew(45deg);
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (min-width: 769px) {
    .sec_school .clm_2>.clm_item {
        min-width: 43rem;
    }
    .sec_school .clm_2>.clm_item .clm_inner {
        min-width: 37.5rem;
    }
}

@media screen and (min-width: 1200px) {
    .sec_school .clm_2>.clm_item .clm_inner {
        max-width: 465px;
    }
    .sec_school .boxLR .box_R {
        max-width: 238px;
    }
}

@media screen and (max-width: 768px) {
    .sec_school .clm_2>.clm_item {
        padding: 6% 0;
    }
    .sec_school .clm_2>.clm_item .clm_inner {
        max-width: 85%;
    }
    .sec_school .boxLR .box_L {
        padding-bottom: 2rem;
    }
    .sec_school .boxLR .box_R {
        max-width: 55%;
        padding-top: 2rem;
    }
    .sec_school .boxLR .arrow {
        width: 30vw;
        height: 10px;
        margin-left: -5px;
    }
}


/**************************************
merit
**************************************/

.sec_merit.bg {
    background: #FCF9DF;
}

.sec_merit .bg_white {
    margin: 0 auto;
    padding-right: calc(16rem + ((1vw - 0.96rem) * -52.1739));
    border-radius: 4px;
    box-shadow: 0 0 25px 0 rgba(207, 166, 17, 0.3);
    position: relative;
    border: 4px solid #986B44;
}

.sec_merit .bg_white .txt {
    min-width: 66rem;
}

.sec_merit .ttl {
    margin-top: 5rem;
    margin-bottom: 6rem;
}

.sec_merit .player {
    max-width: 320px;
    position: absolute;
    bottom: 0;
    right: calc(-5rem - ((1vw - 0.96rem) * 21.7391));
}

.sec_merit .clm_3 {
    gap: 3.5rem;
}

.sec_merit .clm_3 .clm_item {
    position: relative;
}

.sec_merit .clm_3 .clm_item .merit_img {
    border: 3px solid #8E582A;
    border-radius: 50%;
    position: relative;
}

.sec_merit .clm_3 .clm_item .merit_img:after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(249, 243, 187, 0.6);
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.sec_merit .clm_3 .clm_item .number {
    max-width: 20rem;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: -10rem;
}

.sec_merit .clm_3 .clm_item .txt {
    margin: 0 auto;
    text-align: center;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
}

@media screen and (min-width: 768px) {
    .sec_merit .bg_white {
        padding-right: 14rem;
        padding-left: 4rem;
    }
    .sec_merit .player {
        right: -5rem;
    }
}

@media screen and (max-width: 959px) {
    .sec_merit {
        padding-top: 4rem;
    }
    .sec_merit .bg_white {
        width: 75%;
    }
    .sec_merit .bg_white .txt {
        min-width: 50rem;
        text-align: left;
    }
}

@media screen and (max-width: 768px) {
    .sec_merit .bg_white {
        width: 100%;
        padding: 2rem 0;
    }
    .sec_merit .bg_white .txt_24 {
        min-width: 100%;
        font-size: 2.2rem;
        text-align: center;
    }
    .sec_merit .player {
        display: none;
    }
    .sec_merit .txt_47 {
        font-size: 3rem;
    }
    .sec_merit .txt_32 {
        font-size: 3rem;
    }
    .sec_merit .clm_3 {
        gap: 5rem;
    }
    .sec_merit .clm.clm_3>.clm_item {
        max-width: 80%;
    }
    .sec_merit .clm_3 .clm_item .number {
        max-width: 20rem;
        top: -10rem;
    }
    .sec_merit .clm_3 .clm_item .txt.txt_23 {
        font-size: 2.8rem;
        line-height: 2;
        top: 52%;
    }
    .is-mobile .sec_merit .clm_3 .clm_item .number {
        max-width: 20rem;
        top: -10rem;
    }
    .is-mobile .sec_merit .clm_3 .clm_item .txt.txt_23 {
        font-size: 2.5rem;
        line-height: 2;
        top: 52%;
    }
}


/**************************************
reason
**************************************/

.sec_reason.bg {
    background: url(../images/reason_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.sec_reason .ttl {
    line-height: 1;
}

.sec_reason .txt_deco {
    display: inline-block;
    padding-top: 0.2em;
    position: relative;
}

.sec_reason .txt_deco:before,
.sec_reason .txt_deco:after {
    content: "";
    width: 5rem;
    height: 10.7rem;
    background: url(../images/leaf_obj.png) no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
}

.sec_reason .txt_deco:before {
    left: -8rem;
}

.sec_reason .txt_deco:after {
    transform: scale(-1, 1);
    right: -8rem;
}

.sec_reason .ttl_txt {
    margin: 8rem auto;
    text-align: left;
}

.sec_reason .clm_3 {
    gap: 3.5rem;
}

.sec_reason .clm_3>.clm_item {
    width: calc((100% - 35px * 2) / 3);
    text-align: left;
}

.sec_reason .clm_3>.clm_item .img {
    margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
    .sec_reason .ttl {
        line-height: 1.5;
    }
    .sec_reason .txt_deco:before,
    .sec_reason .txt_deco:after {
        background-size: 90% 90%;
    }
    .sec_reason .txt_deco {
        padding-top: 0;
    }
    .sec_reason .txt_deco:before {
        left: -3rem;
    }
    .sec_reason .txt_deco:after {
        right: -3rem;
    }
    .sec_reason .txt_16.en {
        font-size: 1.8rem;
    }
    .sec_reason .ttl_txt {
        text-align: justify;
    }
    .sec_reason .clm_3>.clm_item .img {
        margin-bottom: 2rem;
    }
    .sec_reason .clm_item .txt_18 {
        font-size: 1.9rem;
    }
}


/**************************************
round-lesson
**************************************/

.sec_round-lesson .img {
    margin-bottom: 5rem;
}

.sec_round-lesson .explanation {
    text-align: left;
}

@media screen and (max-width: 768px) {
    .sec_round-lesson .txt_32 {
        font-size: 3rem;
    }
    .sec_round-lesson .txt_43 {
        font-size: 2.9rem;
    }
}


/**************************************
question
**************************************/

.sec_question.bg {
    background: url(../images/question_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    position: relative
}

.sec_question.bg:after {
    content: "";
    background: rgba(193, 152, 36, 0.85);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.sec_question .ribbon {
    min-width: 89rem;
    padding: 5rem 0 5rem 0;
    padding-right: calc(5rem + ((1vw - 0.96rem) * 30.4348));
    padding-left: calc(9rem + ((1vw - 0.96rem) * 26.087));
    border-radius: 4px;
    box-shadow: 0 0 35px 0 rgba(157, 126, 45, 0.5);
}

.sec_question .ttl {
    width: 110%;
    margin: 0 auto 3rem -6rem;
    letter-spacing: 0;
}

.sec_question .txt {
    text-align: left;
    position: relative;
    z-index: 1;
}

.sec_question .clm_1 {
    gap: 1.5rem;
}

.sec_question .clm_item {
    position: relative;
}

.sec_question .clm_item:before {
    content: "";
    width: 100%;
    max-width: 3em;
    height: 100%;
    max-height: 3em;
    background: url(../images/icon_check.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0.3rem;
    left: -3rem;
}

.sec_question .txt_28 {
    margin-top: 2rem;
    text-align: center;
}

@media screen and (min-width: 1200px) {
    .sec_question .ribbon {
        padding: 5rem 15rem 5rem 18rem;
    }
}

@media screen and (max-width: 959px) {
    .sec_question .ribbon {
        padding-left: 9rem;
    }
}

@media screen and (max-width: 768px) {
    .sec_question .ribbon {
        min-width: 33.75rem;
        padding-left: 5rem;
        padding-right: 2rem;
    }
    .sec_question .ttl {
        width: 106%;
        margin: 0 auto 3rem -2.5rem;
    }
    .sec_question .txt_32 {
        font-size: 2.65rem;
    }
    .sec_question .txt_28 {
        font-size: 2.4rem;
        text-align: center;
    }
}


/**************************************
instructor
**************************************/

.sec_instructor.bg {
    padding-bottom: 4rem;
    background: #FCF9DF;
}

.sec_instructor .clm_3 {
    flex-wrap: wrap;
    gap: 3.5em;
}

.sec_instructor .clm_3>.clm_item {
    width: calc((100% - 35px * 2) / 3);
    margin-bottom: 4.5rem;
}

.sec_instructor .txt {
    text-align: left;
}

.sec_instructor .name {
    width: 100%;
    height: 3.5rem;
    margin-bottom: 3rem;
    padding: 0;
    text-align: center;
}

.sec_instructor .role {
    width: 100%;
    padding-bottom: 4rem;
    position: relative;
}

.sec_instructor .role:after {
    content: "";
    width: 100%;
    height: 1px;
    margin: 0 auto;
    border-bottom: 1px solid #8E582A;
    position: absolute;
    bottom: 2rem;
    left: 0;
    right: 0;
}

.sec_instructor .img {
    margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
    .sec_instructor .clm_3 {
        flex-direction: column;
    }
    .sec_instructor .clm_3>.clm_item {
        width: 100%;
        margin-bottom: 3rem;
    }
    .sec_instructor .img img {
        width: 100%;
        max-height: 60vw;
        object-fit: cover;
        object-position: 100% 30%;
    }
}


/**************************************
calendar
**************************************/

.sec_calendar table {
    border-collapse: collapse;
}

.sec_calendar th {
    font-weight: 500;
}

.sec_calendar .td_orange2 {
    background: #DAC17B;
}

.sec_calendar .td_beige {
    background: #FCF9DF;
}

.sec_calendar .td_1 {
    width: 18rem;
}

.sec_calendar .td_2 {
    width: 10.2rem;
}

.sec_calendar .td_3 {
    width: 37.2rem;
}

.sec_calendar .td_4 {
    width: 38rem;
}

.sec_calendar .td_5 {
    width: 17rem;
}

.sec_calendar .td_6 {
    width: 37rem;
}

.sec_calendar td,
.sec_calendar th {
    height: 6.2rem;
    text-align: center;
    vertical-align: middle;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    line-height: 1.3;
    padding: 1rem 0;
}

.sec_calendar tbody {
    border-left: 1px solid #000;
    /* border-bottom: 1px solid #000; */
}

.sec_calendar .box_LR {
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 3rem;
}

.sec_calendar .inner>.ttl {
    margin-bottom: 3rem;
}

.sec_calendar .inner .ttl+.txt {
    margin-bottom: 7rem;
}

.sec_calendar .box_wide {
    margin-bottom: 7rem;
}

.sec_calendar .box_wide:last-child {
    margin-bottom: 0;
}

.sec_calendar .ttl.school_name {
    display: inline-flex;
    float: left;
    margin-bottom: 4rem;
    padding: 0.8rem 5.5rem;
}

.sec_calendar th.border,
.sec_calendar td.border {
    border-bottom: 1px solid #000;
}

@media screen and (min-width:769px) {
    .sec_calendar .hidden {
        display: none;
    }
}

@media screen and (max-width:768px) {
    .sec_calendar .box_LR {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .is-mobile .sec_calendar .td_1 {
        width: 120px;
    }
    .is-mobile .sec_calendar .td_2 {
        width: 43px;
    }
    .sec_calendar th.hidden,
    .sec_calendar td.hidden {
        display: table-cell;
        height: 5rem;
        border-top-color: #fff;
        border-right-color: #fff;
    }
}


/**************************************
voice
**************************************/

.sec_voice.bg {
    background: url(../images/voice_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.sec_voice .clm_3 {
    flex-wrap: wrap;
    gap: 3.5rem;
}

.sec_voice .clm_3>.clm_item {
    width: calc((100% - 35px * 2) / 3);
    margin-bottom: 4.5rem;
}

.sec_voice .txt {
    text-align: left;
}

.sec_voice .name {
    width: 100%;
    height: 3.5rem;
    margin-bottom: 3rem;
    padding: 0;
    text-align: center;
}

.sec_voice .img {
    margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
    .sec_voice.bg {
        background: #EDEDED;
    }
    .sec_voice .clm_3 {
        flex-direction: column;
    }
    .sec_voice .clm_3>.clm_item {
        width: 100%;
        margin-bottom: 3rem;
    }
}


/**************************************
faq
**************************************/

.sec_faq.bg {
    background: url(../images/faq_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

.sec_faq.bg:after {
    content: "";
    background: rgba(222, 124, 13, 0.75);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.sec_faq .ribbon {
    min-width: 89rem;
    padding: 7rem;
    border-radius: 4px;
    box-shadow: 0 0 35px 0 rgba(211, 118, 8, 0.5);
}

.sec_faq .bg_box {
    min-width: 75rem;
    min-height: 23rem;
    margin: 0 auto;
}

.sec_faq .bg_box .ttl {
    text-align: left;
    position: relative;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.sec_faq .bg_box .ttl:before {
    content: "Q";
    padding-right: 0.5em;
    font-family: 'Shippori Mincho', serif;
    color: #9A5519;
    font-size: 3rem;
    line-height: 1;
}

.sec_faq .bg_box .ttl.u-line:after {
    content: "";
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #9A5519;
    position: absolute;
    bottom: -2.5rem;
    left: 0;
}

.sec_faq .bg_box .txt {
    text-align: left;
    position: relative;
    padding-left: 2.2em;
    text-indent: -2em;
}

.sec_faq .bg_box .txt:before {
    content: "A";
    padding-right: 0.5em;
    font-family: 'Shippori Mincho', serif;
    color: #C19824;
    font-size: 3rem;
    line-height: 1;
}

@media screen and (max-width:768px) {
    .sec_faq .ribbon {
        min-width: 33.75rem;
        padding: 2rem;
    }
    .sec_faq .bg_box {
        min-width: 30.6rem;
        padding: 2rem;
    }
    .sec_faq .bg_box .ttl.txt_26 {
        font-size: 2.4rem;
    }
    .sec_faq .bg_box .txt {
        text-align: justify;
    }
}


/**************************************
お問い合わせ
**************************************/

.sec_contact_tel .clm_2 {
    max-width: 1160rem;
}

.sec_contact_tel .clm_item {
    background: #FBF2E8;
    border: 1px solid #F1F1F1;
}

.sec_contact_tel .clm_item .ttl {
    width: 100%;
    margin-bottom: 1rem;
    text-align: center;
    line-height: 1;
}

.sec_contact_tel .clm_item .txt {
    width: 100%;
    text-align: center;
}

.sec_contact_tel .clm_item .tel_btn {
    margin-bottom: 1.2rem;
    line-height: 1;
    font-weight: 500;
}

.sec_contact_tel .clm_item .reception {
    margin-bottom: 1rem;
}

@media screen and (max-width:768px) {
    .sec_contact_tel {
        padding-bottom: 4rem;
    }
    .sec_contact_tel .clm_item .txt_14 {
        font-size: 1.8rem;
    }
}


/********************　共通デザイン　********************/


/**************************************
cv
**************************************/

.sec_cv.bg {
    background: url(../images/cv_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}

.sec_cv .ttl {
    margin-bottom: 3rem;
}

.sec_cv .ttl:before {
    content: "";
    width: 5rem;
    height: 2rem;
    margin: 0 auto;
    background: url(../images/icon_arrow.png) no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    top: -4rem;
    left: 0;
    right: 0;
}

.sec_cv .shadow {
    text-shadow: 0px 0px 13px rgba(0, 45, 0, 0.8);
}

.sec_cv .boxLR {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 510px;
    margin-bottom: 3rem;
    text-align: left;
}

.sec_cv .box_R {
    max-width: 272px;
}

.cv_area .clm_3 {
    gap: 2rem;
    max-width: 76rem;
}

.cv_area .clm_3>.clm_item {
    width: 33%;
    height: 92px;
    padding: 1% 0;
    background: url(../images/btn_bg.png) no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    box-shadow: 0 0 25px 0 rgba(0, 45, 0, 0.3);
}

.cv_area .clm_3>.clm_item a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
}

.cv_area .clm_item .txt {
    display: block;
    width: 100%;
    line-height: 1.2;
    text-align: center;
}

.cv_area .clm_3>.clm_item .txt.bold {
    font-weight: 500;
}

.cv_area .clm_3>.clm_item .txt.contact_web {
    line-height: 1.5;
}

.cv_area .clm_3.wide {
    max-width: 54rem;
}

.cv_area .clm_3.wide>.clm_item {
    width: 100%;
    background: url(../images/btn_bg-wide.png) no-repeat;
    background-size: 100%;
    background-position: center;
}

.cv_area .clm_3.wide>.clm_item .txt.bold {
    font-weight: 400;
}

@media screen and (max-width:1199px) {
    .header_inner .cv_area .clm_3 {
        min-width: 60rem;
        max-width: calc(60rem + ((1vw - 0.96rem) * 69.5652));
    }
}

@media screen and (max-width:768px) {
    .header_inner .cv_area {
        display: none;
    }
    .sec_cv {
        display: none;
    }
}


/**************************************
リボン
**************************************/

.ribbon {
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.ribbon:before,
.ribbon:after {
    content: "";
    width: 100%;
    max-width: 62px;
    height: 100%;
    max-height: 62px;
    background: url(../images/ribbon.png) no-repeat;
    background-size: 100%;
    position: absolute;
}

.ribbon:before {
    top: 0;
    left: 0;
}

.ribbon:after {
    transform: rotate(180deg);
    bottom: 0;
    right: 0;
}

@media screen and (max-width:768px) {
    .ribbon:before,
    .ribbon:after {
        max-width: 50px;
        max-height: 50px;
    }
}


/**************************************
画像にキャプション
**************************************/

.img.caption {
    position: relative;
}

.caption_txt {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
}


/**************************************
アコーディオン
**************************************/

.ac-btn {
    pointer-events: painted;
    cursor: pointer;
}

.ac-box {
    display: none;
    transition: 0.1s ease-out;
}

.ac-box.active {
    display: block;
    transition: 0.1s ease-out;
}