@charset "utf-8";

.read_anxiety span {
    display: block;
    font-weight: bold;
    text-indent: -1em;
    padding-left: 0.5em;
    font-size: 1.8rem;
    font-size: max(1.8rem, min(4.8vw, 2rem));
    line-height: 1.3;
}

@media (min-width: 835px) {
    .read_anxiety span {
        display: inline;
        font-size: 2rem;
        padding-left: 0;
        text-indent: 0;
    }
}

#closing {
    padding: 35px 0 30px;
}

.closing_cta_lp {
    background-color: #f9f9f7;
    padding: 30px 0 60px;
    border-top: solid 1px #e3d8cf;
}

.closingCta_box.tel {
    background: #fff;
}

.closingCta_box.tel.wrap {
    margin: 0 auto 30px;
}

.closingCtaBox_ttl {
    text-align: center;
}

.lp_form {
    background-color: #fff;
    width: 100%;
    max-width: 980px;
    margin: 0 auto 20px;
    padding: 0 30px;
    text-align: initial;
}

.closingCta_ttlSub {
    font-size: 3.2rem;
    margin-bottom: 0;
}

.closingCta_ttlSub::before,
.closingCta_ttlSub::after {
    height: 35px;
}
.detailBtn {
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    .closing_cta {
        padding: 24px 20px 25px;
    }
    .closing_cta_lp {
        padding: 30px 20px 60px;
    }

    .closingCta_ttlMain.twoLine {
        margin-bottom: 0px;
    }

    .closingCta_ttlSub {
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .closingCta_box.tel.wrap {
        width: calc(100% - 40px);
        margin: 0 20px;
    }
}

.form-area {
    padding: 0 40px;
}

.footerCopy_txt a {
    display: inline-block;
    margin: 0 30px 20px;
}

.footerCopy_txt a {
    color: #fff;
}

@media (max-width: 834px) {
    .lp_form {
        padding: 10px 0;
    }

    .form-area {
        padding: 0;
    }
}

/***********************************************************************
共通の見出しスタイル
***********************************************************************/

.lower_h2_container {
    margin-top: 40px;
    margin-bottom: 30px;
    background: url(/wp/wp-content/themes/teacher/images/common/lower_h2_bg02404.png) 0px 0px / cover repeat rgb(247, 235, 216);
}

.lower_h2_container.mt0 {
    margin-top: 0;
}

.lower_h2 {
    font: 900 4.2rem/1.3 YakuHanMP, "Noto Serif JP", serif;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    padding: 10px 0px;
}

.lower_h2::before {
    content: none;
}

@media (min-width: 769px) {
    .lower_h2 {
        min-height: 150px;
        line-height: 1.5;
    }
}

.lower_h2_txt_sub {
    color: #d30000;
}

.h_deco {
    margin: 0;
    width: 100%;
}

.h_deco:before {
    width: 33%;
}

.h_deco:after {
    width: 33%;
}

.inTxt {
    position: relative;
}


@media (max-width: 834px) {
    .lower_h2_container {
        padding: 0px;
    }

    .lower_h2 {
        font: 900 3.4rem/1.3 YakuHanMP, "Noto Serif JP", serif;
        padding: 20px 0;
    }
}

@media (max-width: 480px) {
    .lower_h2 {
        font: 900 6.4vw/1.3 YakuHanMP, "Noto Serif JP", serif;
    }

    .lower_h2_txt_sub {
        font-size: 1.6rem;
    }
}

#messageBox_wrapper h2 {
    position: relative;
    margin: 40px auto 20px;
    color: #d30000;
    display: flex;
    justify-content: center;
}
#messageBox_wrapper .uspTxt_lists span{
    margin: 0;
}
#messageBox_wrapper h2::before, #messageBox_wrapper h2::after {
    content: "";
    margin-bottom: -5px;
    width: 3px;
    height: 48px;
    background-color: #d8002e;
}
#messageBox_wrapper h2::before {
    transform: rotate(-22deg);
    margin-right: 30px;
}
#messageBox_wrapper h2::after {
    transform: rotate(22deg);
    margin-left: 30px;
}
@media (max-width: 768px) {
    #messageBox {
        box-shadow: none;
        margin-bottom: 10px;
    }

    #mainvBox+section {
        box-shadow: rgb(0 0 0 / 5%) 0px -10px 10px;
        padding-top: 10px;
    }

    #mainvBox+.entrybtnBox .entryBtn {
        margin: 20px auto 0;
    }
    #messageBox_wrapper h2 {
        margin: 40px auto 0px;
    }
    #messageBox_wrapper p.uspTxt_lists{
        margin-bottom: 0!important;
    }
}


/*----------------------------------------------------------------------
お悩み
----------------------------------------------------------------------*/
.merit_contents .lower_h2 {
    width: 880px;
    min-height: 90px;
    position: relative;
    background: #fff2f0;
    border-radius: 15px;
    margin-top: 70px;
    font-weight: bold;
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.merit_contents .lower_h2::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -70px;
    transform: translateY(-50%);
    width: 110px;
    height: 110px;
    background: url(/wp/wp-content/themes/teacher/images/for-univ-student/read_1.png) 0px center / cover no-repeat;
}

.reason_wrap {
    padding: 45px 0 80px;
}

.read_checkLists {
    margin: 20px 0 20px 2em;
}

.read_checkLists li {
    position: relative;
    display: block;
    padding-left: 40px;
    font-size: 2rem;
    font-weight: bold;
}

.read_checkLists li::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -5px;
    width: 28px;
    height: 29px;
    background: url(/wp/wp-content/themes/teacher/images/common/icon_check.svg) 0 0/contain no-repeat;
}

/*----------------------------------------------------------------------
オンラインメリット
----------------------------------------------------------------------*/
.meritWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 30px;
}

.meritWrap_box {
    position: relative;
    padding-top: 47px;
    width: 260px;
    height: 300px;
    border-top: 2px solid #dd782b;
    background-color: #fff2f0;
    background-position: 50% 78%;
    background-size: 33%;
    background-repeat: no-repeat;
}

.meritWrap_box:nth-of-type(-n+3) {}

.meritWrap_box:nth-last-of-type(n+4) {
    margin-bottom: 40px;
}

.meritWrap_box.house {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit1.svg);
}

.meritWrap_box.wastetime {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit2.svg);
}

.meritWrap_box.latetime {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit3.svg);
}

.meritWrap_box.introduce {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit4.svg);
}

.meritWrap_box.perhour {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit5.svg);
}

.meritWrap_box.worry {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit6.svg);
}

.meritWrap_box.online {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit7.svg);
    background-size: 40%;
}

.meritWrap_box.support {
    background-image: url(/wp/wp-content/themes/teacher/images/online/icon_merit8.svg);
    background-size: 50%;
}

.meritWrapBox_ttl {
    position: relative;
    z-index: 1;
    font: bold 2.2rem/1.4 dnp-shuei-mgothic-std, sans-serif;
    text-align: center;
}

.meritWrapBox_ttl::after {
    content: "";
    display: block;
    margin: -4px auto 0;
    width: 62%;
    height: 8px;
    background: #fff2f0;
}

/*----------------------------------------------------------------------
オンライン家庭教師ってどんなお仕事？ について
----------------------------------------------------------------------*/
[class^="cmtBox_wrapper"] {
    margin-bottom: 30px;
    counter-increment: numTxt;
}

[class^="cmtBox_wrapper"] h3 {
    font-size: 2.4rem;
    color: #000;
    margin-bottom: 20px;
}

#aboutjob .top_lead_img img {
    width: 31rem;
    height: 20rem;
    margin-right: 3rem;
    object-fit: cover;
}

#aboutjob #service_movie a {
    display: block;
    margin: 0 auto;
    max-width: 551px;
}

h3.numb {
    margin-top: 60px;
    margin-left: 12px;
    padding: 0 0 0 120px;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

h3.numb::after {
    content: none;
}

.numTxt {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    left: -12px;
    padding-top: 5px;
    padding-left: 5px;
    width: 112px;
    height: 60px;
    border-radius: 4px;
    color: #fff;
    line-height: 1;
    background-color: #001e64;
}

.numTxt_sub {
    margin-bottom: 2px;
    font-size: 1.9rem;
}

.numTxt_sub_upper {
    display: block;
    margin-bottom: 2px;
    font-size: 1.2rem;
}

.numTxt::after {
    content: counter(numTxt);
    position: absolute;
    right: 8px;
    font-size: 4rem;
    font-weight: normal;
}

@media all and (-ms-high-contrast: none) {
    .numTxt::after {
        top: 16px;
    }
}

.numbSub,
.numbMain {
    display: block;
    line-height: 1.3;
}

.numbSub {
    margin-bottom: 5px;
    font-size: 2.1rem;
}

.numbMain {
    font-family: "Hiragino Kaku Gothic ProN", 'Hiragino Sans', "YuGothic", "Yu Gothic", sans-serif;
    padding-top: 30px;
    padding-bottom: 30px;
}

.img_caption {
    margin-bottom: 30px;
    text-align: center;
    color: #e75725;
    font: bold 2.2rem/30px '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/*----------------------------------------------------------------------
こだわり3
----------------------------------------------------------------------*/
[id^="startstepBox"] {
    position: relative;
    max-width: 800px;
    margin: 2.7rem auto 0;
    padding: 2rem 3rem;
    font-weight: bold;
    border-bottom: solid 1px #2173a4;
    background: #f1f7ff;
}

[id^="startstepBox"]:not(:last-of-type)::after {
    content: "";
    position: absolute;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 100%;
    left: 50%;
    border: 17px solid rgba(0, 0, 0, 0);
    border-top: 22px solid #2173a4;
    border-bottom: 0;
}

[id^="startstepBox"] .stepno {
    margin-right: 1.3rem;
    color: #2173a4;
    font: bold 3rem/1 "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

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

.startstepBox_Wrapper p {
    padding: 0;
    margin: 0;
}


.expTxt {
    display: flex;
    align-items: center;
}

/*----------------------------------------------------------------------
わたしたち について
----------------------------------------------------------------------*/
#underlogoBox_wrapper {
    margin: 20px auto;
    padding-bottom: 0;
    flex-basis: 40%;
    text-align: center;
    width: 400px;
}

#underlogoBox_wrapper object:nth-of-type(1) {
    width: 100%;
    margin-bottom: 10px;
}

#underlogoBox_wrapper object:nth-of-type(2) {
    margin-top: 5px;
    width: 25%;
}

#underlogoBox_wrapper object:nth-of-type(3) {
    margin-right: 12px;
    margin-left: 12px;
    width: 35%;
}

#underlogoBox_wrapper object {
    width: 28%;
}

/*----------------------------------------------------------------------
CM
----------------------------------------------------------------------*/
#cmBox {
    padding-top: 70px;
    padding-bottom: 20px;
    background: #fff6ed;
}

#cmBox .cmWrapConts.under .ttlTop.cm {
    font-size: 3.6rem;
    margin-bottom: 20px;
}

/*----------------------------------------------------------------------
メディア紹介　について
----------------------------------------------------------------------*/
.mediaWrap {
    padding: 70px 0 60px;
    background: url(/wp/wp-content/themes/teacher/images/top/introFlow_bg.svg) 50% -179px/1434px auto no-repeat, #e0e4e7;
}

.mediaConts_ttl {
    margin-bottom: 50px;
    line-height: 1;
}

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

.mediaBox_cont {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc((100% - (20px * 2)) / 3);
    background-color: #fff;
    border: 1px solid #555;
    padding: 15px;
}

.mediaBox_cont:not(:nth-last-of-type(-n+3)) {
    margin-bottom: 25px;
}

.mediaBox_cont>div,
.mediaBox_cont>a {
    margin-top: auto;
}

@media all and (-ms-high-contrast: none) {

    .mediaBox_cont>div,
    .mediaBox_cont>a {
        height: 135px;
    }
}

.wrap .mediaBox_cont p {
    margin-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #e02549;
    font-size: 1.7rem;
    font-weight: 700;
}

.ttlTop {
    margin-bottom: 40px;
    padding: 0;
    display: block;
    text-align: center;
    font: bold 3.6rem "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", sans-serif;
}


/* introFlow
----------------------------------------- */
.introFlow {
    padding: 85px 0 20px;
    background: #f4f8ff;
}

.ttlTopH2.intro {
    margin-bottom: 40px;
}

.introFlowConts_lists {
    margin-bottom: 85px;
    margin-top: 60px;
}

.introFlowLists_box {
    position: relative;
    margin-bottom: 40px;
    padding: 30px 40px;
    height: auto;
    background-color: #fff;
    counter-increment: introNum;
    border: solid 5px #001e64;
}

.introFlowLists_box.start {
    height: auto;
    border: 5px solid #dd782b;
}

.introFlowLists_box:last-of-type {
    margin-bottom: 0;
}

.introFlowLists_box:not(.start)::before,
.introFlowLists_box:not(:first-of-type)::after {
    content: "";
    position: absolute;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%;
    z-index: 1;
}

.introFlowLists_box:not(.start)::before {
    top: 100%;
    width: 48px;
    height: 25px;
    background-color: #001e64;
}

.introFlowLists_box:not(:first-of-type)::after {
    bottom: calc(100% - 14px);
    border: 42px solid rgba(0, 0, 0, 0);
    border-top: 40px solid #001e64;
    border-bottom: 0;
}

.introFlowBox_ttl {
    margin-bottom: 25px;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

.start .introFlowBox_ttl {
    color: #dd782b;
    font-size: 3rem;
}

.introFlowBox_ttl::before {
    content: counter(introNum);
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -30px;
    left: -30px;
    width: 70px;
    height: 70px;
    color: #fff;
    font: bold 3.6rem/1 Arial;
    border-radius: 100px;
    background-color: #001e64;
}

.introFlowBox_txt .ttl_about {
    margin-bottom: 0;
    font-weight: bold;
    text-align: center;
    font-size: 25px;
    color: #c00a0a;
}

.introFlowBox_txt .read_checkLists {
    margin-top: 0;
}

.start .introFlowBox_ttl::before {
    content: none;
}

.ttlTop.intro {
    color: #001e64;
}

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

.introFlow2col_box {
    margin-right: 40px;
    padding: 40px 0;
    width: 100%;
    text-align: center;
    background-color: #fff;
}

.introFlow2col_box:last-of-type {
    margin-right: 0;
}

.introFlow2colBox_txt,
.introFlow2colBox_ttl {
    font-weight: bold;
    line-height: 1.4;
}

.introFlow2colBox_txt {
    margin-bottom: 30px;
    font-size: 2.1rem;
}

.introFlow2colBox_img {
    margin-bottom: 30px;
}

.introFlow2colBox_img img {
    height: 100%;
}

.ie .introFlow2colBox_img img {
    height: auto;
}

.introFlow2colBox_ttl {
    font-size: 2.7rem;
}


/*----------------------------------------------------------------------
生徒さんたちの喜びの声 について
----------------------------------------------------------------------*/

.voiceWrap {
    padding: 0;
    background-color: #fff6ed;
}

.voiceWrap_ttl {
    position: relative;
    margin-top: 50px;
    margin-bottom: 35px;
}

.voiceWrapTtl_h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
    text-align: center;
    line-height: 1;
}

.voiceWrapTtlH2_sub {
    display: flex;
    padding-bottom: 10px;
    font-size: 2.4rem;
}

.voiceWrapTtlH2_sub::before,
.voiceWrapTtlH2_sub::after {
    content: "";
    width: 2px;
    height: 1em;
    background-color: #000;
}

.voiceWrapTtlH2_sub::before {
    -webkit-transform: rotate(-25deg);
    -moz-transform: rotate(-25deg);
    -ms-transform: rotate(-25deg);
    -o-transform: rotate(-25deg);
    transform: rotate(-25deg);
    margin-right: 20px;
}

.voiceWrapTtlH2_sub::after {
    -webkit-transform: rotate(25deg);
    -moz-transform: rotate(25deg);
    -ms-transform: rotate(25deg);
    -o-transform: rotate(25deg);
    transform: rotate(25deg);
    margin-left: 10px;
}

.voiceWrapTtlH2_main {
    font-size: 3.6rem;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.voiceWrap_box {
    position: relative;
    margin-bottom: 55px;
    padding: 30px 40px;
    font-feature-settings: "halt";
    border-top: 3px solid #dd782b;
    border-bottom: 3px solid #dd782b;
    background-color: #fff;
}

.voiceWrap_box:last-of-type {
    margin-bottom: 0;
}

.voiceWrap_box.inWrap {
    margin: 0 auto 60px;
    width: 880px;
}

.voiceWrapBox_ttl {
    margin-bottom: 30px;
    color: #aa0b0b;
    font: bold 2.6rem/1.4 "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.prof {
    text-align: right;
}

.prof::before {
    content: "合格校";
    width: 8rem;
    padding: .5rem 1.5rem;
    margin-right: 1rem;
    background: #6795B4;
    border-radius: 25px;
    font-weight: bold;
    color: #fff;
    font-size: 1.5rem;
}

.voiceWrapBox_txt>p:not(.prof) {
    margin-bottom: 0 20px 40px;
}

.voiceWrapBox_txt p:last-of-type {
    margin-bottom: 0;
}

.voiceBoxTxt_img {
    display: flex;
    margin-bottom: 30px;
    margin-top: 20px;
    justify-content: space-between;
}

.voiceBoxTxt_img div {
    margin-right: 20px;
    width: 100%;
}

.voiceBoxTxt_img div:last-of-type {
    margin-right: 0;
}

.voiceBoxTxt_img img {
    padding: 0;
    margin: 0;
}

.voiceBoxTxt_wrap p {
    padding-bottom: 20px;
}

/* student */

.voiceWrapConts_lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 40px;
}

.voiceWrapConts_lists .voiceWrapLists_box {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    width: calc((100% - 22px) / 2);
}

.voiceWrapConts_lists .voiceWrapBox_ttl {
    position: relative;
    margin-bottom: 80px;
    padding: 13px 10px;
    color: #aa0b0b;
    font: 700 2rem/1.3 "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    border: 3px solid #dd782b;
    border-radius: 10px;
    background-color: #fff;
}

.voiceWrapConts_lists .voiceWrapBox_ttl::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 24px;
    border-top: 20px solid #dd782b;
    border-left: 28px solid rgba(0, 0, 0, 0);
}

.voiceWrapConts_lists .voiceWrapBox_name,
.voiceWrapConts_lists .voiceWrapBox_univ p {
    font-size: 1.6rem;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

.voiceWrapConts_lists .voiceWrapBox_name {
    margin-bottom: 3px
}

.voiceWrapConts_lists .voiceWrapBox_univ {
    position: relative;
    padding: 27px 10px;
    height: 100%;
    background-color: #fff;
}

.voiceWrapConts_lists .voiceWrapBox_univ::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    width: 165px;
    height: 132px;
    background-position: 100% 100%;
    background-size: contain;
    background-repeat: no-repeat;
}

.yamakawa .voiceWrapBox_univ::before {
    background-image: url(/wp/wp-content/themes/teacher/images/top/voiceWrap_yamakawa.png);
}

.nomoto .voiceWrapBox_univ::before {
    background-image: url(/wp/wp-content/themes/teacher/images/top/voiceWrap_nomoto.png);
}

.taguchi .voiceWrapBox_univ::before {
    background-image: url(/wp/wp-content/themes/teacher/images/top/voiceWrap_taguchi.png);
}

.tanaka .voiceWrapBox_univ::before {
    background-image: url(/wp/wp-content/themes/teacher/images/top/voiceWrap_tanaka.png);
}

.voiceWrapConts_lists .voiceWrapBox_univ::after {
    content: "";
    position: absolute;
    top: -32px;
    right: 0;
    width: 65px;
    height: 65px;
    background-image: url(/wp/wp-content/themes/teacher/images/online/sakura2.svg);
}

.voiceWrapConts_lists .voiceWrapBox_univ p {
    display: flex;
    align-items: center;
    margin-bottom: 7px;
    line-height: 1;
}

.voiceWrapConts_lists .voiceWrapBox_univ p:last-of-type {
    margin-bottom: 0;
}

.voiceWrapConts_lists .voiceWrapBox_univ p::before {
    content: "";
    margin-right: 10px;
    width: 20px;
    height: 20px;
    background-image: url(/wp/wp-content/themes/teacher/images/online/sakura1.svg);
}

@media (max-width: 834px) {

    /*----------------------------------------------------------------------
お悩み
----------------------------------------------------------------------*/
    .merit_contents .lower_h2 {
        width: calc(100% - 200px);
        font-size: 2rem;
        min-height: 90px;
    }

    .reason_wrap {
        padding: 45px 0 80px;
    }

    .read_checkLists {
        margin: 20px 0 20px 1em;
    }

    .read_checkLists li {
        padding-left: 28px;
        font-size: 2rem;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    /*----------------------------------------------------------------------
    メガスタのオンライン教師ってどんなお仕事？ について
    ----------------------------------------------------------------------*/
    [class^="cmtBox_wrapper"] h3 {
        font-size: 1.8rem;
    }

    .numbMain {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .img_caption {
        font-size: 1.6rem;
    }

    /*----------------------------------------------------------------------
    こだわり3
    ----------------------------------------------------------------------*/
    .startstepBox_Wrapper {
        justify-content: center;
        flex-wrap: wrap-reverse;
    }

    .expTxt {
        align-items: flex-start;
        margin-bottom: 20px;
    }

    .closing_cta.middle_position {
        width: 90%;
    }


    #closing {
        padding: 40px 20px 30px;
    }


    /*----------------------------------------------------------------------
    オンラインならこんなメリットも！ について
    ----------------------------------------------------------------------*/
    .meritWrap_box {
        padding-top: 25px;
        width: calc((100% - 18px) / 2);
        height: 180px;
        background-position: left 50% bottom 19px;
    }

    .meritWrap_box:nth-last-of-type(n+4) {
        margin-bottom: 20px;
    }

    .meritWrapBox_ttl {
        font-size: 1.6rem;
    }

    .meritWrap_box.house {
        background-size: 59px 52px;
    }

    .meritWrap_box.wastetime {
        background-size: 49px;
    }

    .meritWrap_box.latetime {
        background-size: 43px 44px;
    }

    .meritWrap_box.introduce {
        background-size: 50px 54px;
    }

    .meritWrap_box.perhour {
        background-size: 44px;
    }

    .meritWrap_box.worry {
        background-size: 43px 44px;
    }

    .meritWrap_box.online {
        background-size: 35%;
        background-position: left 50% bottom 5px;
    }

    .meritWrap_box.support {
        background-size: 45%;
        background-position: left 50% bottom 5px;
    }

    /*----------------------------------------------------------------------
    メディア紹介 について
    ----------------------------------------------------------------------*/
    .mediaWrap {
        background-position: right 8px top 30px;
        background-size: 111.6vw auto;
        padding: 70px 0;
    }

    .mediaConts_ttl {
        line-height: 1.3;
        font-size: 2.8rem;
    }

    .mediaConts_box {
        display: block;
        padding: 0 40px;
    }

    .mediaBox_cont {
        width: 100%;
    }

    .mediaBox_cont:nth-of-type(n):not(:last-of-type) {
        margin-bottom: 15px;
    }

    /*----------------------------------------------------------------------
    募集条件 について
    ----------------------------------------------------------------------*/
    .pageTable__table+p {
        padding-left: 0;
    }

    /*----------------------------------------------------------------------
    生徒様ご紹介までの流れ について
    ----------------------------------------------------------------------*/


    /* introFlow (@media 768px ~)
    ----------------------------------------- */
    .introFlow {
        padding: 60px 0;
        background-position: right 8px top 30px;
        background-size: 111.6vw auto;
    }

    .introFlow .ttlTop {
        font-size: 2.8rem;
    }

    .introFlow_conts {
        display: block;
    }

    .ttlTopH2.intro {
        margin-bottom: 20px;
    }

    .introFlowConts_ttl {
        padding: 0;
    }

    .introFlowConts_txt {
        margin-bottom: 40px;
    }

    .introFlowConts_lists {
        margin-bottom: 50px;
        /*padding: 0;*/
    }

    .introFlowLists_box {
        padding-right: 30px;
        padding-left: 30px;
        height: auto;
    }

    .introFlowLists_box:first-of-type {
        height: auto;
    }

    .introFlowBox_ttl {
        position: relative;
        margin-left: 60px;
        margin-bottom: 20px;
        padding: 0;
        font-size: 2.3rem;
        line-height: 1.3;
    }

    .introFlowBox_ttl::before {
        transform: translateY(-50%);
        top: 50%;
        left: -60px;
        width: 50px;
        height: 50px;
        font-size: 3rem;
    }

    .introFlowConts_btn {
        position: relative;
        z-index: 1;
    }

    .introFlowConts_2col {
        display: block;
    }

    .introFlow2col_box {
        margin-right: 0;
        padding: 30px 0;
    }

    .introFlow2col_box:not(:last-of-type) {
        margin-bottom: 30px;
    }

    .introFlow2colBox_txt {
        font-size: 2.1rem;
    }

    .introFlow2colBox_ttl {
        font-size: 2.5rem;
    }

    .ttlTop.cm span {
        font-size: 3rem;
        display: block;
        line-height: 1.4;
    }

    .closing_cta.middle_position {
        width: 90%;
        margin: 0;
        padding: 0;
        margin: auto;
    }

    .closingCta_box.tel {
        background: none;
    }

    /*----------------------------------------------------------------------
    私たちについて
    ----------------------------------------------------------------------*/
    #underlogoBox_wrapper {
        text-align: unset;
        width: 90%;
    }

    /*----------------------------------------------------------------------
    生徒さんたちの喜びの声 について
    ----------------------------------------------------------------------*/

    .voiceBoxTxt_img div {
        margin-right: 10px;
    }

    .voiceBoxTxt_wrap {
        padding-bottom: 10px;
        height: auto;
        overflow: hidden;
    }

    .btnDtl {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1;
        margin: 20px auto 0;
        max-width: 350px;
        width: 100%;
        height: 50px;
        color: #fff;
        font-weight: bold;
        background-color: #dd782b;
        cursor: pointer;
    }

    .btnDtl::after {
        content: "";
        margin-left: 10px;
        border: 7px solid rgba(0, 0, 0, 0);
        border-top: 10px solid #fff;
        border-bottom: 0;
        transition: .2s border;
    }

    .btnDtl.on::after {
        border-top: 0;
        border-bottom: 10px solid #fff;
    }

    /* voiceWrap
    ----------------------------------------- */
    .voiceWrapConts_lists .voiceWrapConts_lists {
        display: block;
    }

    .voiceWrapConts_lists .voiceWrapLists_box {
        margin-bottom: 50px;
        width: 100%;
    }

    .voiceWrapConts_lists .voiceWrap .slick-prev {
        right: auto;
        left: 10px;
    }

    .voiceWrapConts_lists .voiceWrap .slick-next {
        right: 10px;
        left: auto;
    }
}


@media (max-width: 480px) {

    /*----------------------------------------------------------------------
お悩み
----------------------------------------------------------------------*/
    .merit_contents .lower_h2 {
        width: calc(100% - 40px);
        font-size: 1.8rem;
        min-height: 90px;
    }

    .merit_contents .lower_h2::before {
        left: auto;
        right: 0px;
        background: url(/wp/wp-content/themes/teacher/images/for-univ-student/read_1.png) right center / 60% no-repeat;
    }

    .reason_wrap {
        padding: 25px 0 30px;
    }

    .read_checkLists {
        margin: 20px 0 20px 1em;
    }

    .read_checkLists li {
        padding-left: 28px;
        font-size: 2rem;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    /*----------------------------------------------------------------------
    こだわり
    ----------------------------------------------------------------------*/
    .numTxt {
        width: 105px;
    }

    h3.numb {
        padding: 0 0 0 100px;
    }

    .numTxt::after {
        font-size: 3rem;
    }

    [class^="cmtBox_wrapper"] .lower_wrap_subcont p {
        padding: 0;
    }

    [id^="startstepBox"]:first-of-type {
        margin-top: 10px;
    }

    [id^="startstepBox"] {
        padding: 20px 15px;
    }

    .startstepBox_Wrapper p {
        line-height: 1.3;
    }


    /*----------------------------------------------------------------------
    私たちについて について
    ----------------------------------------------------------------------*/
    #underlogoBox_wrapper object:nth-of-type(1) {
        width: 100%;
        margin-bottom: 0;
        margin-right: auto;
        margin-left: auto;
    }

    #underlogoBox_wrapper object {
        width: 24%;
    }

    .aboutBox_wrapper {
        display: block;
        justify-content: unset;
        margin-top: 30px;
    }

    #underlogoBox_wrapper object:nth-of-type(1) {
        width: 100%;
        margin-bottom: 0;
        margin-right: auto;
        margin-left: auto;
    }

    #underlogoBox_wrapper object {
        width: 24%;
    }

    .arrow_box .img_caption:last-child {
        font-size: 3rem;
    }

    .arrow_box p {
        margin-bottom: 15px;
    }

    #underlogoBox_wrapper+p {
        margin-bottom: 50px;
    }

    #cmBox {
        padding: 30px 0 1px;
    }

    #cmBox .cmWrapConts.under .ttlTop.cm {
        font-size: 2.2rem;
    }

    /*----------------------------------------------------------------------
    メディア紹介　について
    ----------------------------------------------------------------------*/
    .mediaConts_box {
        padding: 0 20px;
    }

    .mediaConts_ttl {
        font-size: 2.2rem;
    }

    .ttlTop {
        margin-bottom: 20px;
    }

    .mediaWrap {
        padding: 30px 0 30px;
    }

    /* introFlow (@media 480px ~)
    ----------------------------------------- */
    .introFlow {
        padding: 43px 0 10px;
    }

    .introFlow .ttlTop {
        font-size: 2.2rem;
    }

    .introFlow_conts {
        padding: 0 10px;
    }

    .introFlowConts_ttl {
        font-size: 2.5rem;
    }

    .introFlowConts_lists {
        margin-top: 30px;
        margin-bottom: 40px;
        padding: 0;
    }

    .introFlowLists_box {
        margin-bottom: 20px;
        padding: 18px 20px;
    }

    .introFlowLists_box.start {
        border-width: 3px;
    }

    .introFlowBox_ttl {
        margin-left: 50px;
        margin-bottom: 15px;
        font-size: 1.8rem;
        text-align: left;
    }

    .introFlowBox_txt .ttl_about {
        font-size: 1.8rem;
    }

    .introFlowBox_txt .read_checkLists {
        margin-left: .5em;
    }

    .introFlowBox_txt .read_checkLists li {
        font-size: 1.8rem;
    }

    .start .introFlowBox_ttl {
        margin-left: 0;
        font-size: 2.1rem;
    }

    .introFlowBox_ttl::before {
        left: -50px;
        width: 40px;
        height: 40px;
        font-size: 2.3rem;
    }

    .introFlowLists_box:not(.start)::before {
        width: 28px;
        height: 16px;
    }

    .introFlowLists_box:not(:first-of-type)::after {
        bottom: calc(100% - 10px);
        border-width: 28px;
        border-top-width: 24px;
        border-bottom: 0;
    }

    .introFlowConts_2col {
        padding: 0;
    }

    .introFlow2col_box {
        padding: 20px 15px;
    }

    .introFlow2colBox_txt {
        margin-bottom: 20px;
        font-size: 1.7rem;
    }

    .introFlow2colBox_img {
        margin: 0 auto 20px;
        height: 103px;
    }

    .introFlow2colBox_ttl {
        font-size: 2rem;
    }

    .ttlTop.cm span {
        font-size: 2rem;
        display: block;
    }

    .pay_detail h3 {
        font-size: 1.8rem;
    }

    /*----------------------------------------------------------------------
    生徒さんたちの喜びの声 について
    ----------------------------------------------------------------------*/
    .voiceWrap {
        padding-top: 12.533vw;
    }

    .voiceWrap_ttl {
        margin-bottom: 30px;
    }

    .voiceWrap_ttl::before {
        bottom: calc(100% + 6.733vw);
        width: 11.2vw;
        height: 10vw;
    }

    .voiceWrap_box {
        padding: 20px;
    }

    .voiceWrapBox_ttl {
        margin-bottom: 15px;
        font-size: 2rem;
    }

    .voiceWrapTtlH2_sub {
        font-size: 4.533vw;
    }

    .voiceWrapTtlH2_main {
        font-size: 6.933vw;
    }

    .voiceWrapBox_txt .prof {
        font-size: 1.5rem;
    }

    .prof::before {
        padding: .5rem;
        font-size: 1.4rem;
    }


    /* voiceWrap (@media 480px ~)
    ----------------------------------------- */

    .voiceWrapConts_lists .voiceWrapLists_box {
        margin-bottom: 40px;
    }

    .voiceWrapConts_lists .voiceWrapBox_ttl {
        margin-bottom: 50px;
        padding: 10px 15px;
        font-size: 4.5vw;
    }

    .voiceWrapConts_lists .voiceWrapBox_name,
    .voiceWrapConts_lists .voiceWrapBox_univ p {
        font-size: 1.6rem;
    }

    .voiceWrapConts_lists .voiceWrapBox_univ {
        padding: 15px 10px;
    }

    .voiceWrapConts_lists .voiceWrapBox_univ::before {
        width: 121px;
        height: 98px;
    }
}


@media (max-width: 360px) {

    /*----------------------------------------------------------------------
    選ばれる理由 について
    ----------------------------------------------------------------------*/
    .reasponH3_sub {
        font-size: 1.8rem;
    }

    .reasponH3_main {
        font-size: 2.2rem;
        line-height: 1.2;
    }
}

.hideTxt {
    position: relative;
}

.hideTxt::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, #fff 54%);
}

.showMore .hideTxt::after {
    opacity: 0;
}

.hideTxt {
    max-height: 3.4em;
    overflow: hidden;
}

.hideTxt,
.hideTxt::after {
    transition: .2s;
}

.showMore .hideTxt {
    max-height: 100%;
}

.showMore .hideTxt,
.showMore .hideTxt::after {
    transition: .5s;
}

.show_more {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    margin: 0 auto;
    width: 200px;
    height: 40px;
    background: #fff;
    border: 2px solid #dadada;
    border-radius: 100px;
    cursor: pointer;
    top: -10px;
}

.show_more_txt {
    position: relative;
    transition: .2s opacity;
}

.show_more_txt.on {
    opacity: 1;
    font-size: 100%;
}

@media all and (-ms-high-contrast: none) {
    .show_more_txt.on {
        padding-top: 7px;
    }
}

.show_more_txt.off {
    opacity: 0;
    font-size: 0;
}



/*----------------------------------------------------------------------
  各ページUSP
----------------------------------------------------------------------*/
#reasonCont {
    background: #f6f6f6;
    padding-bottom: 1px;
}

#reasonCont .lower_h2_container {
    margin-bottom: 0;
}

.reasonCont_bg {
    width: calc(100% - 30px);
    padding: 0 10px;
    margin: 0 auto 30px;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}

.reasonWrap {
    padding-top: 1px;
}

.reasonTtl {
    width: calc(100% - 20px);
    background: #fdfcf3;
    border-top: solid #223a70 3px;
    box-shadow: 0px 3px 3px 0px rgb(0 0 0 / 20%);
    margin: 40px auto 20px;
}

.reasonTtl_h2 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: 10px;
    padding-top: 8.667vw;
    width: 100%;
    max-width: 880px;
    height: 100%;
    line-height: 1.3;
}

.reasonTtl_h2::before {
    content: "";
    position: absolute;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -35px;
    left: 50%;
    width: max(10rem, min(16vw, 18rem));
    height: 16vw;
}

.cont1 .reasonTtl_h2::before {
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon1_sp.svg) no-repeat;
}

.cont2 .reasonTtl_h2::before {
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon2_sp.svg) no-repeat;
}

.cont5 .reasonTtl_h2::before {
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon3_sp.svg) no-repeat;
}

.cont6 .reasonTtl_h2::before {
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon4_sp.svg) no-repeat;
}

.cont7 .reasonTtl_h2::before {
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon5_sp.svg) no-repeat;
}

.ttlSize {
    display: block;
    font-size: 2.4rem;
    font-size: max(2rem, min(3.2vw, 4.4rem));
    font-weight: 900;
    line-height: 1.3;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

.ttlSubSize {
    display: block;
    font-size: 1.8rem;
    font-size: max(1.7rem, min(3.2vw, 3.2rem));
    font-weight: 700;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro W3", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}

.reasonTtlH2_main {
    color: #c00a0a;
}

.reasonTtlH2_sub {
    color: #16409e;
    margin-bottom: 5px;
}

@media screen and (min-width: 835px) {
    .reasonCont_bg {
        width: 1080px;
    }

    .reasonTtl {
        width: 980px;
        margin: 40px auto 20px;
    }

    .reasonTtl_h2 {
        display: flex;
        flex-direction: column;
        padding: 20px 0 20px 65px;
    }

    .reasonTtl_h2::before {
        content: '';
        position: absolute;
        transform: translateY(-50%);
        top: 50%;
        left: -41px;
        width: 125px;
        height: 123px;
        background: 0 0/contain no-repeat;
    }

    .cont1 .reasonTtl_h2::before {
        background-image: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon1.svg);
    }

    .cont2 .reasonTtl_h2::before {
        background-image: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon2.svg);
    }

    .cont5 .reasonTtl_h2::before {
        background-image: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon3.svg);
    }

    .cont6 .reasonTtl_h2::before {
        background-image: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon4.svg);
    }

    .cont7 .reasonTtl_h2::before {
        background-image: url(/wp/wp-content/themes/teacher/images/reason/reason_h2_icon5.svg);
    }

    .ttlSize {
        font-size: 2.7rem;
    }

    .ttlSubSize {
        font-size: 2.4rem;
    }
}

/* 教師コメント
----------------------------------------- */
/* personCont
----------------------------------------- */
.reasonConts .teacher_area{
    background: #fff;
    padding: 0;
}
.personCont {
    position: relative;
    border: solid 2px #b19557;
    border-radius: 6px;
}

.personCont span {
    display: block;
    background: #b19557;
    font-size: 1.6rem;
    font-size: max(1.6rem, min(3.333vw, 2.4rem));
    color: #fff;
    font-weight: bold;
    padding: 4px 0px 4px 4px;
}

.personCont.student {
    border-color: #f08181;
}
.personCont.student span {
    background: #f08181;
}

.personTxt {
    padding: 10px max(1rem, min(2.404vw, 3.4rem)) 0;

}

.personTxt .personTtl {
    font-size: 2rem;
    font-size: max(2rem, min(4.333vw, 3.4rem));
    font-weight: 700;
    color: #08257f;
    line-height: 1.6;
    text-indent: -.5em;
    padding-left: .5em;
}

.student .personTxt .personTtl {
    color: #a90000;
}

.personTxt .name {
    margin-bottom: 0;
    font-weight: bold;
}

.personTxt .personArticle {
    border-top: solid 1px #ccc;
    padding-top: 8px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 1.6;
}

.personImg img {
    width: 100%;
    height: auto;
}

.personschool {
    position: relative;
    margin-top: 20px;
    padding-left: 60px;
}

.personschool:before {
    position: absolute;
    content: "";
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    width: 50px;
    height: 48px;
    background: url(../images/for-teachers/passStamp.png) center/contain no-repeat;
}

.personschool p {
    font-size: 1.4rem;
    font-size: max(1.4rem, min(3.666vw, 3.4rem));
}

@media screen and (min-width: 835px) {
    .teacher_area {
        padding: 10px 10px 1px;
    }
    .personCont {
        margin: 30px 0 0;
    }

    .personCont {
        position: relative;
        display: flex;
        border: solid 3px #b19557;
        border-radius: 10px;
        justify-content: space-between;
    }

    .personCont span {
        position: absolute;
        top: -24px;
        left: -3px;
        background: #b19d57;
        font-size: 1.8rem;
        color: #fff;
        font-weight: bold;
        padding: 4px 120px 4px 30px;
        border-radius: 10px 40px 40px 0px;
    }

    .personTxt {
        padding: 25px 20px 0;
        width: 700px;
    }


    .personTxt .personTtl {
        font-size: 2.4rem;
        font-weight: 700;
        color: #08257f;
    }

    .student .personTxt .personTtl {
        font-size: 2.2rem;
    }
    .personImg img {
        width: auto;
        height: 210px;
        border-radius: 0 7px 7px 0;
    }

    .personschool {
        margin-top: 10px;
        padding-left: 90px;
    }

    .personschool:before {
        position: absolute;
        content: "";
        transform: translateY(-50%);
        top: 50%;
        left: 0;
        width: 77px;
        height: 73px;
    }
    .personschool p {
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 468px) {
    .personschool {
        margin-top: 45px;
        padding-left: 0;
    }
    .personschool:after {
        position: absolute;
        content: "";
        bottom: 0;
        right: 0;
        width: 93px;
        height: 113px;
        background: url(/wp/wp-content/themes/teacher/images/for-teachers/peasonImg3.png) center/contain no-repeat;
    }
    .personschool:before {
        content: none;
    }
    .personTxt .personTtl {
        margin-bottom: 10px;
        line-height: 1.3;
        padding-left: 0;
    }
    #lp-pro-teachers .personImg {
        display: none;
    }
    #lp-pro-teachers .personschool p {
        margin-bottom: 10px;
    }
}
/* flexコンテンツ
----------------------------------------- */

.uspTxt_txtwrap {
    width: 100%;
    font-feature-settings: "palt";
    letter-spacing: .1em;
    text-align: justify;
}

.uspTxt_img {
    margin-bottom: 0;
}

@media screen and (min-width: 835px) {
    .uspBox_txt {
        display: flex;
        justify-content: space-between;
        align-items: start;
        margin-bottom: 40px;
    }

    .cont3 .uspTxt_txtwrap,
    .cont4 .uspTxt_txtwrap {
        width: 530px;
    }

    .cont5 .uspTxt_txtwrap {
        width: 440px;
    }

    .uspBox_txt .uspTxt_img {
        margin-left: 3rem;
    }
}

.uspTxt_lists span {
    display: block;
    margin: 25px 0;
    font-size: 2.2rem;
    font-size: max(1.6rem, min(4.8vw, 2.2rem));
    font-weight: 700;
    line-height: 1.8;
    color: #223a70;
}

.uspTxtwrap_lists {
    display: block;
    margin-bottom: 25px;
    font-size: 2.2rem;
    font-size: max(1.6rem, min(4.8vw, 2.2rem));
    font-weight: 700;
    line-height: 1.3;
    color: #c00a0a;
}

@media screen and (min-width: 835px) {
    .uspTxtwrap_lists {
        margin-bottom: 15px;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1.8;
        color: #c00a0a;
    }
}

.uspTxt_img {
    padding: 10px;
}

@media screen and (min-width: 835px) {
    .uspTxt_img.flex {
        display: flex;
        justify-content: space-between;
    }

    .uspBox_txt .uspTxt_img {
        padding: 0 0 20px 0;
    }
}


/*----------------------------------------------------------------------
FV下教師
----------------------------------------------------------------------*/
.read_teacherCont {
    width: 100%;
    padding: 10px 0 20px;
    margin: 0 auto 20px;
    background-size: auto auto;
    background-color: #fdf9ed;

}
.read_teacherttl {
    text-align: center;
    margin-bottom: 0;
}
.read_teacherttl span {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 20px 20px;
    color: #001e64;
    text-align: center;
    font: 900 3rem/1.3 YakuHanMP, "Noto Serif JP", serif;
}

.read_teacherttl span::before,
.read_teacherttl span::after {
    position: absolute;
    content: "";
    width: 3px;
    height: 40px;
    bottom: 0;
    background-color: #001e64;
}

.read_teacherttl span::before {
    transform: rotate(-33deg);
    left: -30px;
}

.read_teacherttl span::after {
    transform: rotate(33deg);
    right: -30px;
}

.read_teacher {
    width: 1090px;
    margin: auto;
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    align-items: top
}

.read_teacher li {
    width: calc(33% - 5px);
    padding: 10px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
}

.read_teacher li .upperCont {
    display: flex;
    justify-content: center;
    align-items: center;

}

.read_teacher li .teacherVoice_comment p {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 30px;
    letter-spacing: .05em;
    text-align: justify;
    padding: 0 20px;
}

.read_teacher li p.CatchName {
    width: 35%;
    height: auto;
    height: auto;
    margin-right: 20px;
    text-align: center;
    margin-bottom: 0;
}

.read_teacher li p.CatchTxt {
    width: 65%;
    height: auto;
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: 700;
    color: #c00a0a;
    font-family: YakuHanJP, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'YuGothic', 'Yu Gothic', sans-serif;
}

.read_teacher li p.CatchTxt span {

    height: auto;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 0;
    font-weight: normal;
    color: #000;
}

.read_teacher li img {
    width: 100%;
    height: auto;
    margin-left: unset;
}

@media (max-width: 834px) {

    /*----------------------------------------------------------------------
      講師紹介
    ----------------------------------------------------------------------*/
    .read_teacher {
        width: 100%;
    }

    .read_teacher li {
        width: calc(100% - 40px);
        margin: auto;
        padding: 10px;
        margin-bottom: 10px;
    }

    .read_teacherttl span {
        font-size: 4.25vw;
    }

    .read_teacherttl span::before,
    .read_teacherttl span::after {
        position: absolute;
        content: "";
        width: 3px;
        height: 8.75vw;
        background-color: #001e64;
    }

    .read_teacher li p {
        line-height: 1.3;
    }

    .read_teacher li p.CatchName {
        width: 19.531vw;
    }

    .read_teacher li p.CatchTxt {
        margin-top: 0;
        font-size: 3.906vw;
    }

    .read_teacher li p.CatchTxt span {
        font-size: 2.604vw;
    }
}

@media (max-width: 480px) {
    /*----------------------------------------------------------------------
      講師紹介
    ----------------------------------------------------------------------*/
    .read_teacherttl span {
        font-size: 5.25vw;
    }

    .read_teacherttl span::before,
    .read_teacherttl span::after {
        position: absolute;
        content: "";
        width: 3px;
        height: 8.75vw;
        background-color: #001e64;
    }
    .read_teacher li p.CatchName {
        width: 30%;
    }

    .read_teacher li p.CatchTxt {
        width: 70%;
    }
}


/*----------------------------------------------------------------------
フロー
----------------------------------------------------------------------*/

.student_reason .reazonBox_wrapper {
    position: relative;
    margin: 0px auto 0;
    padding: 40px;
    width: 100%;
    border: solid 2px #6895b1;
    background: #fff;
}

.student_reason .reazonBox_wrapper p a {
    color: #0000ff;
    text-decoration: underline;
}

.student_reason #reazonBox2,
#reazonBox3 {
    margin-top: 105px
}

.student_reason #reazonBox1 {
    margin-top: 80px;
}

.student_reason #reazonBox4 {
    margin-top: 60px;
    margin-bottom: 80px;
    border: solid 6px #cc2525;
    border-radius: 3px;
}

.student_reason .reazon_no {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: -50px;
    left: calc(50% - 50px);
    padding: 5px 0 0;
    width: 100px;
    height: 100px;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 50%;
    background-color: #6895b1;
}

.student_reason .stepno {
    font-size: 3.5rem;
    line-height: 1;
}

.student_reason .reazonBox_wrapper img {
    display: block;
    margin: 36px auto 30px;
    width: auto;
}

.student_reason .reazonBox_wrapper h3 {
    margin: 4.8rem 0 2.8rem;
    padding: 0;
    color: #dc792b;
    text-align: center;
    font: bold 2.6rem/1 '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.student_reason .reasponH3_sub {
    display: block;
    margin-bottom: 15px;
    color: #000;
}

.student_reason .reasponH3_main {
    display: block;
    color: #333;
    font-size: 3.3rem;
}

.student_reason #reazonBox1 p {
    font-feature-settings: "palt";
}

.student_reason #reazonBox4.reazonBox_wrapper h3 {
    margin: 2.8rem 0 2.8rem;
}

.student_reason #reazonBox4 .reasponH3_main {
    display: block;
    color: #cc2525;
    font-size: 3.3rem;
}

.tabContents {
    display: none;
}

.tabContents.active {
    display: block;
}

@media (max-width: 768px) {
    .student_reason .reazonBox_wrapper {

        width: calc(100% - 60px);
    }

    .student_reason .reazon_no {
        width: 80px;
        height: 80px;
        font-size: 1.6rem;
    }

    .student_reason .stepno {
        font-size: 2.8rem;
    }

    .student_reason .reasponH3_main {
        font-size: 2.2rem;
        line-height: 1.2;
    }

    .student_reason #reazonBox4 .reasponH3_main {
        font-size: 2.2rem;
    }

    .student_reason .reazonBox_wrapper {
        padding: 15px;
    }
}
.link_teacher {
    display: flex;
    flex-wrap: wrap;
    /* 折返し指定 */
    justify-content: center;
}

.link_teacher .detailBtn {
    margin: 10px 20px;
    width: 100%;
    max-width: 420px;
    height: 60px;
    box-shadow: 0 3px 0 #cec27e;
}

.link_teacher .detailBtn>* {
    text-align: center;
    font: bold 2.2rem/1.3 "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", sans-serif;
}

.link_teacher .detailBtn>*::after {
    right: 10px;
    border: 5px solid rgba(0, 0, 0, 0);
    border-right: 0;
    border-left: 8px solid #333;
}

@media (max-width: 768px) {
    .link_teacher {
        margin-bottom: 30px;
    }

    .link_teacher .detailBtn {
        margin: 10px auto;
        max-width: 80%;
    }

    .link_teacher .detailBtn>* {
        font: bold 1.8rem/1.3 "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", sans-serif;
    }
}

/*
proTeacherCont3
------------------------------*/
.proTeacherCont3 {
    background: #fcecec;
    padding: 1px 0;
    margin-top: 30px;
}

.proTeacherCont3 .wrap {
    width: calc(100% - 20px);
    max-width: 1000px;
    background: #fff;
    padding: 10px 0 0;
    margin: 10px auto;
}

.proTeacherCont3 .wrap_after {
    padding-bottom: 0;
}

.proTeacherCont3 .wrap,
.proTeacherCont3 .wrap_after {
    position: relative;
    overflow: hidden;
}

.proTeacherCont3 .wrap::before,
.proTeacherCont3 .wrap::after,
.proTeacherCont3 .wrap_after::before,
.proTeacherCont3 .wrap_after::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    background: 0 0/contain no-repeat #fcecec;
    border-radius: 40px;
}

.proTeacherCont3 .wrap::before {
    top: -20px;
    left: -20px;
}

.proTeacherCont3 .wrap::after {
    top: -20px;
    right: -20px;
}

.proTeacherCont3 .wrap_after::before {
    bottom: -20px;
    left: -20px;
}

.proTeacherCont3 .wrap_after::after {
    bottom: -20px;
    right: -20px;
}

.proTeacherCont3 .proTeacherTtl_h3 {
    padding: 0;
    text-align: center;
}

.proTeacherCont3 .proTeacherTtl_h3step {
    font-size: 1.8rem;
    font-size: max(1.8rem, min(4.133vw, 3.2rem));
}

.proTeacherTtl_h3step:before {
    content: "【";
    color: #d88500;
    margin-right: 10px;
}

.proTeacherTtl_h3step:after {
    content: "】";
    color: #d88500;
    margin-left: 10px;
}
.cont5 .reasonConts{
    padding-bottom: 30px;
}
@media screen and (min-width: 835px) {
    .proTeacherCont3 {
        padding: 1px 0;
    }

    .proTeacherCont3 .wrap_after {
        padding-bottom: 0px;
    }

    .proTeacherCont3 .proTeacherTtl_h3 {
        text-align: left;
    }

    .proTeacherCont3 .proTeacherTtl_h3step {
        font-size: 3rem;
    }

    .proTeacherTtl_h3step:before {
        margin-right: 20px;
    }

    .proTeacherTtl_h3step:after {
        margin-left: 20px;
    }
    .proTeacherCont3 .wrap {
    width: calc(100% - 40px);
    max-width: 1000px;
    background: #fff;
    padding: 35px 0 0;
    margin: 25px auto;
}

    .proTeacherCont3 .wrap::before,
    .proTeacherCont3 .wrap::after,
    .proTeacherCont3 .wrap_after::before,
    .proTeacherCont3 .wrap_after::after {
        content: "";
        position: absolute;
        width: 80px;
        height: 80px;
        border-radius: 80px;
    }

    .proTeacherCont3 .wrap::before {
        top: -34px;
        left: -34px;
    }

    .proTeacherCont3 .wrap::after {
        top: -34px;
        right: -34px;
    }

    .proTeacherCont3 .wrap_after::before {
        bottom: -34px;
        left: -34px;
    }
    .proTeacherCont3 .wrap_after::after {
        bottom: -34px;
        right: -34px;
    }
    .proTeacherCont3 .wrapper {
        width: calc(100% - 100px);
        margin-right: auto;
        margin-left: auto;
    }
}

/*----------------------------------------------------------------------
オンラインコンテンツ
----------------------------------------------------------------------*/
.h3Main {
    display: block;
    font-size: 2.2rem;
    font-size: max(2rem, min(5.867vw, 2.8rem));
    font-weight: 900;
    line-height: 1.3;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    font-family: YakuHanMP, 'Noto Serif JP', serif;
}

.h4Main {
    display: block;
    font-size: 1.8rem;
    font-size: max(1.6rem, min(4.8vw, 2.1rem));
    font-weight: 700;
    line-height: 1.3;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    font-family: YakuHanJP, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'YuGothic', 'Yu Gothic', sans-serif;
}
@media screen and (min-width: 835px) {
    .h3Main {
        font-size: 3.2rem;
    }
    .h4Main {
        font-size: 2.5rem;
    }
}

#onlineWrap {
    margin-top: 50px;
    padding-bottom: 10px;
    background-color: #f6f6f6;
}
#onlineWrap .lower_h2_container {
    margin: 0;
}
.onlineCont_bg {
    padding: 30px 10px 0;
    max-width: 1080px;
    width: calc(100% - 30px);
    margin: 0 auto 30px;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}
#messageBox {
    width: 100%;
    box-shadow: none;
}
@media screen and (min-width: 835px){
    #onlineWrap {
        padding-bottom: 50px;
    }
}


/* featuresWrap
----------------------------------------- */
.featuresCont_ttl {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding: 0;
    max-width: 980px;
    background-color: #f9f9f3;
    box-shadow: 0px 3px 3px 0px rgb(0 0 0 / 20%);
}
.featuresCont_ttl::before {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
}
.featuresCont_ttl::before {
    background: linear-gradient(to right, #083A8B 0%, #083A8B 50%, #D19D2F 50%, #D19D2F 100%);
}
.featuresCont_ttl span {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 1010px;
    padding: 4vw 2vw;
    padding: min(4vw, 15px) min(2vw, 15px);
    color: #D11717;
}
.featuresCont_ttl span::after {
    content: "";
    position: absolute;
    background: 0 0/contain no-repeat;
    top: -8.875vw;
    left: calc(100% - 33.067vw);
    width: 33.067vw;
    height: 33.067vw;
    z-index: 2;
    background: url(/wp/wp-content/themes/teacher/images/online/onlineTtl1.png) 0 0/contain no-repeat;
}
.featuresCont_ttl.cont2 span::after {
    background: url(/wp/wp-content/themes/teacher/images/online/onlineTtl2.png) 0 0/contain no-repeat;
}
.featuresCont_box {
    position: relative;
    z-index: 0;
    margin: 0 auto 70px;
    margin-bottom: min(16vw,70px);
    padding: 30px 6.25% 50px;
    padding: min(5.333vw, 30px) 6.25% min(10.667vw, 50px);
    max-width: 640px;
    width: 100%;
    background-color: #fff;
}
.featuresBox_ttl {
    margin-bottom: 20px;
    margin-bottom: min(4vw, 20px);
    padding: 0;
}
.featuresCont_box p {
    margin-bottom: 20px;
}
.featuresCont_box p:last-of-type {
    margin-bottom: 0;
}
.featuresCont_box p + .imgLazy {
    margin-top: 30px;
    margin-bottom: 40px;
}
.featuresBox_wrap:not(:last-of-type) {
    margin-bottom: 30px;
    margin-bottom: min(5.333vw, 30px);
    padding-bottom: 50px;
    padding-bottom: min(10.667vw, 50px);
    border-bottom: 1px solid #002D77;
}
.featuresBox_wrap .imgLazy:last-child {
    margin-bottom: 0;
}
@media screen and (min-width: 835px) {
    .featuresWrap {
        margin-bottom: 60px;
    }
    .featuresCont_ttl::before,
    .featuresCont_ttl::after {
        height: 4px;
    }
    .featuresCont_ttl span {
        position: relative;
        margin: 0 auto;
        padding-top: 15px;
        padding-bottom: 15px;
        min-height: 125px;
    }
    .featuresCont_ttl span::after {
        content: "";
        position: absolute;
        top: auto;
        bottom: 0;
        left: calc(100% - 174px);
        width: 174px;
        height: 174px;
        z-index: 2;
    }
    .featuresCont_box {
        max-width: 880px;
        padding: 30px 0 50px;
    }
    .featuresBox_wrap .imgLazy {
        max-width: 800px;
    }
}
@media screen and (min-width: 1366px){
    .featuresCont_ttl {
        background-position: 100% 50%,0 50%;
    }
}


/* onlineMov
----------------------------------------- */
.onlineMovWrap {
    margin: 50px auto 70px;
    margin: min(10.667vw,530px) auto mxin(16vw,40px);
    padding: 20px;
    width: 100%;
    max-width: 800px;
    border: 2px solid #000610;
}
.onlineMovBox_ttl {
    margin-bottom: 1rem;
    font-size: 1.9rem;
    font-size: max(1.4rem, min(4.3vw, 2.4rem));
    text-align: center;
}
.onlineMovBoxCont_movie {
    position: relative;
    display: block;
    margin: 0 auto;
    max-width: 570px;
    width: 100%;
    cursor: pointer;
    border: solid 1px #333;
}
.onlineMovBoxCont_movie::before {
    content: '';
    position: absolute;
    transform: translate(-50%, -50%);
}
.onlineMovBoxCont_movie::before {
    top: 50%;
    left: 50%;
    width: 18.6%;
    height: 22%;
    background: url(/wp/wp-content/themes/teacher/images/common/movIcon.svg) 50% 50%/contain no-repeat;
}
.onlineMovBoxTxt_bal {
    position: relative;
    display: flex;
    margin-top: 10px;
    justify-content: center;
    text-align: left;
    line-height: 1.3;
    font-weight: 900;
    font-size: 1.6rem;
    font-size: max(1.2rem, min(3.3vw, 1.6rem));
}
.onlineMovBoxTxt_bal span {
    position: relative;
    padding-left: 6.333vw;
}
.onlineMovBoxTxt_bal span:before {
    position: absolute;
    content: "";
    left: 0;
    width: 3.733vw;
    height: 8vw;
    background: url(/wp/wp-content/themes/teacher/images/online/movieIcon.svg) 0 0 / contain no-repeat;
}
@media screen and (min-width: 835px) {
    .onlineMovWrap {
        padding: 20px 0;
    }
    .onlineMovBox_ttl {
        font-size: 2.5rem;
        margin-bottom: 10px;
        text-align: center;
    }
    .onlineMovBoxTxt_bal span {
        position: relative;
        padding-left: 2.333vw;
    }
    .onlineMovBoxTxt_bal span:before {
        height: 3vw;
    }
}

/* teacherVoice
----------------------------------------- */
.teacherVoice {
    margin-bottom: 21.067vw;
    margin-bottom: min(21.067vw, 50px);
    padding-top: 7.2vw;
    padding-top: min(7.2vw, 40px);
    background-color: #fff;
}
.teacherVoice_ttl {
    text-align: center;
    margin-bottom: 0;
    font-weight: 900;
    line-height: 1.3;
}
.teacherVoiceTtl_sub {
    display: block;
    color: #D11717;
    font-size: 1.6rem;
    font-size: max(1.4rem, min(4.267vw, 2.3rem));
}
.teacherVoiceTtl_main {
    font-size: 2.4rem;
    font-size: max(2.2rem, min(6.4vw, 3.1rem));
    display: block;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
}
@media screen and (min-width: 835px) {
    .teacherVoice {
        margin-bottom: 50px;
        padding-top: 40px;
    }
    .teacherVoiceTtl_sub {
        font-size: 2.7rem
    }
    .teacherVoiceTtl_main{
        font-size: 3.5rem;
    }
}


/* accdWrap
----------------------------------------- */
.accdWrap_inner {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 800px;
}
.accdWrap_inner div {
    margin-top: 30px;
}
.accdWrap_inner p {
    margin-bottom: 15px;
}
.accdWrap_inner img {
    margin: 15px auto 20px;
}
.aboutPC {
    display: table;
    margin-bottom: 30px;
    width: 100%;
}
.aboutPC th:first-child {
    background-color: #eee;
}
.aboutPC th,
.aboutPC td {
    font-size: 14px;
    border: 1px solid #ddd;
    text-indent: 0;
    padding: 5px 60px 5px 10px;
}
@media screen and (max-width: 834px){
    .accdWrap_inner p {
        font-size: 1.6rem;
    }
    .aboutPC th,
    .aboutPC td {
        font-size: 14px;
        padding: 5px 10px 5px 10px;
    }
}
/* onlineWrap
----------------------------------------- */
.onlineWrap {
    padding: 20px 20px;
}
.onlineBox {
    position: relative;
    z-index: 0;
    margin: 0 20px 20px;
    padding: 50px 34px;
    max-width: 840px;
    width: calc(100% - 40px);
    background-color: #fff;
    border: solid 1px #ccc;
}
.onlineBox_ttl {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 30px;
    line-height: 1.2;
    text-align: center;
        color: #001e64;
}

.onlineBoxTtl_sub {
    margin-bottom: 10px;
}
.onlineBoxTxt_ttl {
    margin-bottom: 0;
    font-size: 2.6rem;
    font-weight: 600;
    color: #d30000;
    text-indent: -1em;
    padding-left: .5em;
    line-height: 1.4;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
}
.onlineBoxTxt_ttl_sub {
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
}
.onlineBoxTxt_p {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 2.1;
    text-align: justify;
}
.onlineBoxCont_movie {
    position: relative;
    display: block;
    margin: 0 auto;
    max-width: 380px;
    width: 100%;
    cursor: pointer;
}
.onlineBoxCont_movie img {
    border: solid 1px #000;
}
.onlineBoxCont_movie::before,
.onlineBoxCont_movie::after {
    content: '';
    position: absolute;
    transform: translate(-50%,-50%);
}
.onlineBoxCont_movie::before {
    top: 50%;
    left: 50%;
    width: 18.6%;
    height: 22%;
    background: url(/wp/wp-content/themes/teacher/images/common/movIcon.svg) 50% 50%/contain no-repeat;
}
.onlineBoxCont_movie::after {
    top: 68.7%;
    left: 62%;
    width: 19.2%;
    height: 29.3%;
    background: url(../images/common/movClick.svg) 0 0/contain no-repeat;
}


@media screen and (min-width: 835px){
    .onlineBox {
        margin: auto auto 20px;
        box-shadow: 0 10px 15px rgba(0,0,0,.2);
    }
    .onlineBox::before,
    .onlineBox::after {
        content: '';
        position: absolute;
    }
    .onlineBox::before {
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        z-index: -1;
        width: calc( 100% - 20px );
        height: calc( 100% - 20px );
        background:
            linear-gradient(#fff,#fff) 50% 50%/calc( 100% - 8px ) calc( 100% - 8px ) no-repeat,
            linear-gradient(to right, #66aac6, #66aac6 50%, #0d945a 50%, #0d945a 100%);
    }
    .onlineBoxPersonal{
        display: flex;
        justify-content: center;
        align-items: baseline;
        margin-bottom: 20px;
    }

    .onlineBox_ttl {
        text-align: center;
        padding-right: 40px;
        padding-left: 40px;
        border-bottom: 4px solid #e0762b;
    }

    .onlineBox_cont {
        display: flex;
        justify-content: space-between;
    }
    .onlineBoxCont_txt {
        flex-grow: 1;
        margin-right: 37px;
    }
    .onlineBoxTxt_bal::before {
        content: '';

    }
    .onlineBoxCont_movie {
        flex-shrink: 0;
        align-self: flex-end;
    }
}
@media screen and (max-width: 1120px) and (min-width: 835px){
    .onlineBox::after {
        left: 47%;
        width: 11.696vw;
        height: 11.696vw;
    }
    .onlineBoxCont_movie {
        max-width: 40%;
    }
}
@media screen and (max-width: 834px){
    .onlineWrap {
        padding: 0;
        padding-top: max(18px,min(5.333vw,40px));
    }
    .onlineBox {
        padding: 20px;
    }
    .onlineBox_ttl {
        margin-bottom: 23px;
        margin-bottom: max(20px,min(6.133vw,46px));
        padding-bottom: 28px;
        padding-bottom: max(25px,min(7.467vw,56px));
        background: linear-gradient(to right, #64aac4, #64aac4 33.3%, #00955d 33.3%, #00955d 66.6%, #e17639 66.6%, #e17639 100%) 0 100%/50% 5px repeat-x;
        background-size: 50% max(5px,min(1.333vw,10px));
    }
    .onlineBox_ttl::after {
        right: 17px;
        right: max(10px,min(4.533vw,34px));
        bottom: 2.5px;
        bottom: max(2.5px,min(.667vw,5px));
        width: 68px;
        width: min(18.133vw,136px);
        height: 68px;
        height: min(18.133vw,136px);
        background-image: url(../images/common/onlineBox_ttl_sp.svg);
    }
    .onlineBoxTxt_p {
        margin-bottom: max(18px,min(5.333vw,40px));
        font-size: 1.8rem;
        font-size: max(1.7rem,min(4.8vw,3rem));
        line-height: 1.5;
        border-radius: 5px;
        border-radius: min(1.333vw,10px);
    }
    .onlineBoxTxt_bal {
        margin-bottom: 29px;
        margin-bottom: max(27px,min(7.733vw,58px));
        padding-right: 12px;
        padding-right: min(3.2vw,24px);
        padding-left: 12px;
        padding-left: min(3.2vw,24px);
        min-height: 13.333vw;
        font-size: 1.8rem;
        font-size: max(1.7rem,min(4.8vw,3rem));
    }
    .onlineBoxTxt_bal::after {
        transform: translateX(-50%) rotate(90deg);
        top: 100%;
        left: 50%;
        width: 25px;
        height: 19px;
        width: max(25px,min(6.667vw,50px));
        height: max(19px,min(5.067vw,38px));
    }
}
@media screen and (max-width: 480px){
    .onlineBoxCont_movie::before {
        width: 18.4vw;
        height: 13.067vw;
    }
    .onlineBoxCont_movie::after {
        top: 66%;
        left: 62.8%;
        width: 19.333vw;
        height: 16.933vw;
    }
}

/* 教師コメント
----------------------------------------- */
.teacher_area {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 20px 20px 1px;
    background-size: auto auto;
    background-color: rgba(254, 243, 242, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 4px, rgba(253, 238, 237, 1) 4px, rgba(253, 238, 237, 1) 8px);
}

.teacher_area_h3 {
    position: relative;
    display: table;
    margin: auto;
    color: #16409e;
    padding: 10px 60px;
    color: #16409e;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    font-size: 4rem;
    font-size: max(2rem, min(5.933vw, 4rem));
}

.teacher_area_h3::before,
.teacher_area_h3::after {
    content: "";
    position: absolute;
    width: 8vw;
    height: 8vw;
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.teacher_area_h3::before {
    left: 0;
    background-image: url(/wp/wp-content/themes/teacher/images/reason/teacher_before.svg);
}

.teacher_area_h3::after {
    right: 0;
    transform: scale(-1, 1);
    background-image: url(/wp/wp-content/themes/teacher/images/reason/teacher_before.svg);
}

.teacher_reason_cont {
    width: 100%;
    max-width: 450px;
    background: #fff;
    border-radius: 6px;
    margin: 0 auto 20px;
    padding: 10px;
}
.teacher_reason_comment {
    display: flex;
}
.teacher_reason_ttl .teacher_reason_ttlSize,
.teacher_reason_ttl .teacher_reason_ttlSubSize {
    display: block;
}

.teacher_reason_ttl .teacher_reason_ttlSize {
    color: #c00a0a;
    font-size: 4rem;
    font-size: max(2rem, min(4.831vw, 2.4rem));
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 700;
    line-height: 1.3;
}

.teacher_reason_ttl .teacher_reason_ttlSubSize {
    font-size: 2.3rem;
    font-size: max(1.4rem, min(2.133vw, 2.4rem));
}

.teacher_reason_comment p {
    background-color: #fff;
    line-height: 2em;
    padding-bottom: 1px;
    margin-bottom: 0;
}

.teacher_reason_comment img {
    width: max(1.4rem, min(23.671vw, 9.4rem));
    height: max(1.4rem, min(23.671vw, 9.4rem));
    margin-bottom: 0;
}

@media screen and (min-width: 835px) {
    .teacher_area{
    }
    .teacher_area_in{
        display: flex;
        justify-content: center;
    }
    .teacher_reason_cont {
        padding: 20px 15px;
        margin: 0 10px 30px;
    }

    .teacher_area_h3 {
        font: 700 3.6rem/1.3 YakuHanMP, 'Noto Serif JP', serif;
        letter-spacing: .1em;
    }

    .teacher_area_h3::before,
    .teacher_area_h3::after {
        width: 37px;
        height: 39px;
    }

    .teacher_reason_ttl .teacher_reason_ttlSize {
        font: 900 1.609vw/1.4 '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
        font-size: 2.8rem;
        font-size: max(18px,min(1.609vw,20px));
    }

    .teacher_reason_ttl .teacher_reason_ttlSubSize {
        font-size: .909vw;
        font-weight: bold;
    }

    .teacher_reason_comment {
        display: flex;
    }

    .teacher_reason_comment img {
        width:7.191vw;
        height:7.191vw;
        margin-right:1.068vw;
        margin-bottom: 0;
    }

    .teacher_reason_comment p {
        background-color: #fff;
        line-height: 2.5em;
        padding-bottom: 1px;
    }
}


/*----------------------------------------------------------------------
    FV直下生徒スライダー
----------------------------------------------------------------------*/
#pass {
    text-align: center;
    padding-top: 55px;
    padding-bottom: 10px;
    overflow: hidden;
}

#pass h2 {
    position: relative;
    display: flex;
    justify-content: center;
    color: #e0013b;
    font-size: 3.2rem;
}

#pass h2::before,
#pass h2::after {
    content: "";
    margin-bottom: -5px;
    width: 3px;
    height: 48px;
    background-color: #d8002e;
}

#pass h2::before {
    transform: rotate(-22deg);
    margin-right: 30px;
}

#pass h2::after {
    transform: rotate(22deg);
    margin-left: 30px;
}

#sub_ttl_pass {
    display: block;
    color: #606060;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: bold;
    text-align: center;
}

#pass_contents {
    width: 100%;
    margin-top: 20px;
}

.passSlider {
    position: relative;
    height: 260px;
}

#passSliderTop {
    margin-bottom: 30px;
}

.passLists {
    position: absolute;
    display: flex;
    justify-content: flex-start;
    top: 0;
    left: 0;
    margin: 0;
    width: auto;
    height: 100%;
    animation: 160s linear infinite
}

.passLists_box {
    position: relative;
    overflow: hidden;
    margin-right: 15px;
    padding: 0;
    width: 280px;
    height: 100%;
    border-radius: 5px;
    background: #ffffff;
    border: solid 1px #e8d3d3;
}

.passBoxA_img {
    width: calc(100% + 100px);
    margin-left: -50px;
    margin-bottom: 10px;
}

.passLists_box img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.passBoxA_name {
    margin-top: 0;
    padding-bottom: 10px;
    color: #333;
    font-size: 1.6rem;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    line-height: 1.3;
}

.passBoxA_name span {
    font-weight: bold;
    display: block;
}

.passSlider:active .passLists {
    animation-play-state: paused;
}

#passSliderTop {
    margin-bottom: 25px;
}

#passSliderTop .passLists {
    animation-name: sliderL1;
}

#passSliderTop .passLists2 {
    animation-name: sliderL2;
}

#passSliderBtm .passLists {
    animation-name: sliderR1;
}

#passSliderBtm .passLists2 {
    animation-name: sliderR2;
}

@keyframes sliderL1 {
    0% {
        transform: translateX(0);
    }

    49.99999% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

@keyframes sliderL2 {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}

@media (max-width: 768px) {
    #pass h2 {
        width: 100%;
        margin: 0;
        padding: 10px 0 5px;
        font-size: 1.9rem;
        line-height: 1.3;
    }

    #sub_ttl_pass {
        margin: 5px 0 25px 10px;
        font-size: 1.5rem;
        font-size: min(3.467vw, 1.5rem);
        line-height: 1.4;
    }

    #pass {
        padding-top: 15px;
        padding-bottom: 10px;
    }

    #pass_contents {
        padding-top: 0px;
        margin-top: -15px;
    }

    .passSlider {
        height: 232.5px;
    }

    .passLists_box {
        width: 240px;
    }

    .passBoxA_name {
        font-size:2.133vw;
    }

}
@media (max-width: 468px) {
    .passBoxA_name {
        font-size:3.733vw;
    }
}

/*----------------------------------------------------------------------
募集条件 詳細表示
----------------------------------------------------------------------*/
#area_city .list-btn {
    width: auto;
}
#area_city .list-btn ul {
    width: 780px;
}
#area_city .mat_box {
    max-width: 840px;
    margin: 0 auto;
    background-color: #fff;
    margin-bottom: 20px;
    border: solid 1px #ccc;

}
#area_city h3 {
    background: #d1d4d6;
    padding: 10px 20px;
    color: #333;
    font-size: 1.4rem;
    font-family: "Hiragino Kaku Gothic ProN", 'Hiragino Sans', "YuGothic", "Yu Gothic", sans-serif;

}
#area_city dl {
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    letter-spacing: .05em;
}
#area_city dt {
    width: 240px;
    font-weight: bold;
    box-sizing: border-box;
    border-right: solid 1px #ccc;
}
#area_city dd {
    width: 598px;
}
#area_city dd a {
    margin-right: 1em;
    line-height: 2;
    position: relative;
    display: inline-block;
    letter-spacing: normal;
    pointer-events: none;
}
#area_city dd a:after {
    position: absolute;
    content: none;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1.2rem;
    right: -8px;
    top: 52%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}
#area_city dt,
#area_city dd {
    border-bottom: solid 1px #ccc;
    padding: 10px 20px;
    font-size: 1.5rem;
}
#area_city dd span {
    font-weight: bold;
    font-size: 1.5rem;
}
#area_city .last_style {
    border-bottom: none;
}
#area_city .last_style .indent {
    display: block;
    margin-top: 10px;
    line-height: 1.3;
    font-weight: normal;
}
#area_city .last_style span {
    font-size: 80%;
}
#area_city #mainvBox {
    background: #fff;
}
#area_city .list-btn li a.active {
    background-color: #fff;
    color: #000;
    font-weight: bold;
}
#area_city .list-btn li a.active.first {
    background-color: #dd2828;
    color: #fff;
}
#area_city .list-btn li a.active.sec {
    background-color: #dd782b;
    color: #fff;
}
#area_city .list-btn li a.active.thrid {
    background-color: #ffbc3c;
    color: #fff;
}
#area_city .list-btn li a.active.last {
    background-color: #3d8337;
    color: #fff;
}
@media screen and (max-width: 768px) {
    #area_city .mat_box {
        max-width: 100%;
    }
    #area_city h3 {
        line-height: 1.6;
    }
    #area_city .prefecturesbox h1 {
        font-size: 2.2rem;
        padding: 0px;
    }
    #area_city .prefecturesbox {
        margin: 0;
    }
    #area_city dl {
        width: 100%;
        padding: 0;
    }
    #area_city dt,
    #area_city dd {
        font-size: 1.4rem;
        padding: 10px;
    }
    #area_city dt {
        width: 30%;
    }
    #area_city dd {
        width: 70%;
    }
    #area_city #leadtxtBox .wrapper {
        width: calc(100% - 40px);
        margin: 0 20px;
    }
    #area_city .list-btn {
        width: 100%;
    }
    #area_city .list-btn ul {
        width: 100%;
        display: block;
        overflow: hidden;
        border: none;
    }
    #area_city .list-btn li {
        width: calc(50% - 8px);
        float: left;
        height: 46px;
        line-height: 46px;
        margin: 3px 3px 10px;
        border: solid 1px #333;
    }
    #area_city .list-btn.countryside li {
        width: calc(50% - 8px);
        float: left;
    }
    #area_city .list-btn.countryside li.last {
        width: calc(50% - 8px);
    }
    #area_city .list-btn li a span:after {
        right: 5px;
    }
}