@charset "utf-8";

/*----------------------------------------------------------------------
全ページ共通
----------------------------------------------------------------------*/
:root {
    --ffSans: YakuHanJP, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans JP', 'YuGothic', Yu Gothic, sans-serif;
    --ffSerif: YakuHanMP, 'Noto Serif JP', 'YuMincho', Yu Mincho, "Hiragino Mincho ProN", serif;
    --ffNotoSans: YakuHanJP, 'Noto Sans JP', 'Hiragino Sans', 'YuGothic', Yu Gothic, sans-serif;
}

html,
body {
    font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

html {
    overflow: auto;
    font-size: 62.5%;
}

body {
    color: #000;
    font-size: 1.7em;
    counter-reset: number 0;
    overflow: hidden;
}

a:hover {
    color: inherit;
    opacity: 0.7;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

p {
    font-size: 1.7rem;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    cursor: pointer;
    color: #202020;
}

img {
    margin-right: auto;
    margin-left: auto;
}

.indent {
    padding-left: 1em;
    text-indent: -1em;
}

a:hover {
    cursor: pointer;
    opacity: 0.7;
}

main {
    overflow: hidden;
}

main p {
    margin-bottom: 30px;
}

.red {
    color: #d30000;
}

.annotation {
    color: #555555;
    font-size: 80%;
}

.palt {
    font-feature-settings: 'palt';
}

.txaC {
    text-align: center;
}

.ffsH {
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

body .ffNotoSans {
    font-family: var(--ffNotoSans);
}

body .ffSerif {
    font-family: var(--ffSerif);
}

.general_h2_container {
    max-width: 100rem;
    margin-inline: auto;
}

.wrapper {
    width: 880px;
    margin-inline: auto;
    margin-right: auto;
    margin-left: auto;
}

.topWrap {
    margin: 0 auto;
    width: 1120px;
}

.wrap {
    margin: 0 auto;
    width: 1000px;
}

.inWrap {
    margin: 0 auto;
    width: 800px;
}

.dNone {
    display: none !important;
}

.lowerWrapper {
    width: 1000px;
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-right: auto;
    margin-left: auto;
}

.lowerWrapper p {
    margin-bottom: 10px;
}

p.text_indent {
    margin-right: 20px;
    margin-left: 20px;
}

p.mb0 {
    margin-bottom: 0;
}

p.mt20 {
    margin-top: 20px;
}

/* h2 */
.wra h2 {
    font-size: 2.9rem;
    font-weight: 600;
    font-style: normal;
}

h2.box-title {
    margin: 0 auto 28px;
    text-align: center;
    letter-spacing: .1em;
    font-size: 3.6rem;
}

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

#flow .lower_h2_container {
    margin-top: 0;
}

.lower_h2 {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0px auto 30px;
    padding: 20px 13px 20px 40px;
    width: 100%;
    font: bold 2.6rem/1.4 var(--ffSerif);
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

.lower_h2 span {
    display: block;
}

.lower_h2_txt_sub {
    font-size: 2rem;
    font-family: var(--ffSans);
}

#public .lower_h2.univ_teacher:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0px;
    width: 160px;
    height: 102px;
    background: url(../images/common/univ_teacher_sp.png) 0 0/cover no-repeat;
}

.lower_h2 {
    position: relative;
}

.lower_h2::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: 4.5px;
    height: 65%;
    min-height: calc(100% - 60px);
    background: url(../images/common/lower_h2_line.svg) 0px center / cover no-repeat;
}

@media (min-width: 769px) {
    .lower_h2 {
        padding-left: 30px;
        min-height: 125px;
        width: 1000px;
        font-size: 3.4rem;
        line-height: 1.3;
    }

    .lower_h2_txt_sub {
        font-size: 2.8rem;
    }

    .lower_h2::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0px;
        transform: translateY(-50%);
        width: 4.5px;
        min-height: calc(100% - 60px);
        background: url(../images/common/lower_h2_line.svg) 0px center / cover no-repeat;
    }

    #public .lower_h2.univ_teacher:after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0px;
        width: 400px;
        height: 171px;
        background: url(../images/common/univ_teacher.png) 0 0/contain no-repeat;
    }
}

.general_h2_container h2 {
    font-size: 2.9rem;
    line-height: 1.3;
    margin-bottom: 3rem;
    padding-left: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-left: 0.8rem solid #6895b1;
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

@media all and (-ms-high-contrast: none) {
    .lower_h2 {
        height: 145px;
    }
}

/* h3 */
h3 {
    /*font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;*/
    padding: 15px 20px 15px 30px;
}

.general_h3 {
    display: block;
    color: #000;
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 15px;
    padding: 0 0 2px 2.2rem;
    clear: both;
    background: #eaf3f8 url(../images/common/h_bg01.png)repeat;
}

.lower_h3 {
    position: relative;
    background: #ffeede;
    border-left: 6px solid #DB782B;
    border-radius: 3px;
    margin-top: 30px;
}

h3.numb {
    position: relative;
    margin-left: 30px;
    padding-left: 40px;
    background: #ffeede;
}

h3.numb::after {
    counter-increment: number 1;
    content: counter(number) "";
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(255, 255, 255);
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    border-radius: 60px;
    background: #001e64;
}

/* h4 */
.general_h4 {
    display: block;
    color: #000;
    font-weight: bold;
    font-size: 1.6rem;
    margin-top: 18px;
}

.bgnone {
    background: none;
}

.bg_beige {
    background: #fff6ed;
}

.bodyTxtContainer {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.bodyTxt_img {
    width: 360px;
    margin-top: 7px;
    padding-right: 40px;
}

.bodyTxt_img img {
    width: 100%;
}

.bodyTxt {
    flex: 1;
}

.unflex {
    display: block;
}

.mgB20 {
    margin-bottom: 20px;
}

.mgB40 {
    margin-bottom: 40px;
}

.mgB50 {
    margin-bottom: 50px;
}

.mgB70 {
    margin-bottom: 70px;
}

.fromOtherPages {
    margin-top: -138px;
    padding-top: 138px;
}

.only_and {
    display: none;
}

.linkTxt {
    color: #1e82be;
    font-weight: bold;
    text-decoration: underline;
}

.imgLazy {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.imgLazy img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    width: auto;
    height: auto;
}


.movie a {
    position: relative;
    display: block;
}

.movie a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 73px;
    height: 52px;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/wp/wp-content/themes/teacher/images/common/play_icon.png);
}

.bodyCap {
    font-size: 1.4rem;
    color: #999;
}

.lower_wrap_subcont.pay p {
    padding-left: 0;
    text-indent: -1em;
    font-weight: bold;
}

.lower_wrap_subcont.pay p.fat {
    padding-left: 1rem;
    font-size: 2.4rem;
    color: #dd2b2b;
}

.for-teacher .lower_wrap_subcont.pay p {
    margin-left: 40px;
    margin-right: 40px;
}

@media (max-width: 768px) {
    .lower_wrap_subcont.pay p {
        padding-left: 1em;
        text-align: justify;
    }

    .lower_wrap_subcont.pay p.fat {
        padding-left: 0rem;
        text-indent: 0em;
        font-size: 2.1rem;
        line-height: 1.3;
    }

    .for-teacher .lower_wrap_subcont.pay p {
        margin-left: 10px;
        margin-right: 10px;
    }
}

/*----------------------------------------------------------------------
共通装飾パーツ
----------------------------------------------------------------------*/
.yLine {
    background: linear-gradient(transparent 50%, #fff78e 0%);
}

.yellow_underline {
    background: linear-gradient(transparent 50%, #fffb98 0%);
    font-weight: bold;
}

.yellow_underline.normal {
    background: linear-gradient(transparent 50%, #fffb98 0%);
    font-weight: normal;
}

.h_deco {
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 420px;
    border-bottom: solid 10px #0e815a;
    position: relative;
}

.h_deco:before {
    content: "";
    display: block;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 140px;
    border-bottom: 10px solid #6895b1;
}

.h_deco:after {
    content: "";
    display: block;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: -10px;
    width: 140px;
    border-bottom: 10px solid #de772b;
}


.box-title {
    /*margin-bottom: 7rem;*/
    max-width: 1000px;
    text-align: center;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    font-weight: bold;
}

#leadtxtBox .box-title {
    text-align: left;
}

.h_deco2 {
    border-left-style: solid;
    border-left-width: 0.3rem;
    border-color: #6795b1;
    padding-left: 2rem;
}

/*
.note {
    background-image:
        linear-gradient(180deg,
        rgba(225, 234, 239, 0) 0%,
        rgba(225, 234, 239, 0) 97%,
        #e1eaef 1%,
        #e1eaef 1%);
    background-size: 100% 2em;
    line-height: 2;
}

.note {
    padding: 0 1em;
    background: linear-gradient(#e1eaef 1px, transparent 1px);
    background-size: auto 2.5em;
    line-height: 2.5em;
    border-bottom: 1px solid #e1eaef;
    overflow: hidden;
}

.note p:nth-of-type(1) {
    background: none;
}
*/

.btn:hover {
    transform: translateY(2px);
    box-shadow: none;
    transition: .2s all;
}

[class^="brackets"] {
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

[class^="brackets"]::before,
[class^="brackets"]::after {
    font: inherit;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
}

[class^="brackets"]::before {
    content: "「";
}

[class^="brackets"]::after {
    content: "」";
}

.brackets {
    position: relative;
    padding-right: 1.2em;
    padding-left: 1.2em;
}

.brackets::before,
.brackets::after {
    font: inherit;
}

.brackets::before {
    top: -.2em;
    left: -.3em;
}

.brackets::after {
    right: -.3em;
    bottom: -.2em;
}

@media screen and (min-width: 769px) {
    .bracketsPC {
        position: relative;
        padding-right: 1.2em;
        padding-left: 1.2em;
    }

    .bracketsPC::before,
    .bracketsPC::after {
        position: absolute;
        font-size: 120%;
    }

    .bracketsPC::before {
        top: -.2em;
        left: -.3em;
    }

    .bracketsPC::after {
        right: -.3em;
        bottom: -.2em;
    }
}

@media screen and (max-width: 768px) {
    .bracketsSP {
        position: relative;
        padding-right: 1.2em;
        padding-left: 1.2em;
    }

    .bracketsSP::before,
    .bracketsSP::after {
        position: absolute;
        font-size: 120%;
    }

    .bracketsSP::before {
        top: -.2em;
        left: -.3em;
    }

    .bracketsSP::after {
        right: -.3em;
        bottom: -.2em;
    }
}


a.movieIcon,
.movieIcon a {
    position: relative;
    display: block;
}

a.movieIcon::before,
.movieIcon>a::before {
    content: "";
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 100px;
    height: 69px;
    background: url(/wp/wp-content/themes/teacher/images/common/movIcon.svg) center center/contain no-repeat;
}

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

    a.movieIcon::before,
    .movieIcon>a::before {
        width: 20%;
        height: 26%;
    }
}

.lead_problem_list {
    padding-left: 30px;
    padding-left: clamp(10px, 2.666vw, 30px);
    margin-bottom: 20px;
    margin-bottom: clamp(20px, 5.333vw, 30px);
}

/*----------------------------------------------------------------------
detailBtn
----------------------------------------------------------------------*/
.detailBtn {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    max-width: 510px;
    height: 80px;
    border-radius: 100px;
    box-shadow: 0 5px 0 #cec27e;
    background-color: #f2e7a8;
}

.detailBtn>* {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #333;
    font: bold 2rem/1.3 "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", sans-serif;
}

.partition .detailBtn>* {
    font-size: 1.8rem;
}

.detailBtn>*::after {
    content: "";
    position: absolute;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 30px;
    border: 8px solid rgba(0, 0, 0, 0);
    border-right: 0;
    border-left: 11px solid #333;
}

.detailBtn:hover {
    -webkit-transform: translateY(5px);
    -moz-transform: translateY(5px);
    -ms-transform: translateY(5px);
    -o-transform: translateY(5px);
    transform: translateY(5px);
    box-shadow: none;
    transition: .2s all;
    opacity: 1;
}

.detailBtn:hover>* {
    color: #333;
    opacity: 1;
}

.detailBtn.cheering {
    box-shadow: 0 5px 0 #065a00;
    background-color: #5DA73A;
}

.detailBtn.cheering>* {
    color: #fff;
}

.detailBtn.cheering>*::after {
    content: "";
    position: absolute;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 30px;
    border: 8px solid rgba(0, 0, 0, 0);
    border-right: 0;
    border-left: 11px solid #fff;
}



/*----------------------------------------------------------------------
no1Icon
----------------------------------------------------------------------*/
.no1Icon {
    margin: 0 auto;
    width: 686px;
}

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

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

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

.no1Icon_txt {
    margin-top: 5px;
    padding-left: 1em;
    color: #888;
    text-indent: -1em;
    font-size: 1.2rem;
    line-height: 1.1;
}

/*----------------------------------------------------------------------
メインビジュアル
----------------------------------------------------------------------*/
#mainvBox+section {
    box-shadow: rgba(0, 0, 0, 0.05) 0px -10px 10px;
}

.header-title {
    display: flex;
    align-items: center;
    margin: 0 auto;
    width: 1000px;
    height: 280px;
}

.header-title>div,
.header-title h1 {
    padding-bottom: 30px;
}

.header-title h1 {
    margin-bottom: 10px;
    font: bold 4.4rem/1.4 '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.header-title div h1 {
    padding-bottom: 0;
}

.header-title p {
    margin-bottom: 0;
    padding-top: 10px;
    font-size: 2.4rem;
    font-weight: bold;
}


/*----------------------------------------------------------------------
リード文について（新）
----------------------------------------------------------------------*/

#messageBox {
    width: 100%;
    padding-top: 30px;
}

#messageBox h2 {
    font-size: 2.6rem;
}

#messageBox h2 .h_deco {
    margin-bottom: 4rem;
}

#messageBox_wrapper {
    width: 880px;
    margin-left: auto;
    margin-right: auto;
}

#messageBox_wrapper h2 {
    font-weight: bold;
    font-size: 2.6rem;
    margin-bottom: 20px;
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/*----------------------------------------------------------------------
リード文（旧）
----------------------------------------------------------------------*/
#leadtxtBox {
    width: 100%;
    padding-top: 3rem;
}

#leadtxtBox .title {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
}

#leadtxtBox .title h2 {
    font-size: 2rem;
    padding-left: 2rem;
    margin-bottom: 5rem;
    border-left: 0.3rem solid #6895b1;
}

#leadtxtBox .wrapper {
    display: flex;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}




/***********************************************************************
キャンペーンバナー
***********************************************************************/

#campaign {
    width: 100%;
    padding: 3rem 0;
    background: #eaeff2;
}

#campaign .img_camp {
    width: 800px;
    height: 187px;
    margin: 0 auto;
    position: relative;
    background: url(/wp/wp-content/themes/teacher/images/top/bnr_01.png) no-repeat center center;
    background-size: 100%;
}

#campaign .img_camp p {
    position: absolute;
    margin-bottom: 0;
    color: #fff;
    font: bold 4rem/1 "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    bottom: 10px;
    width: 100%;
    text-align: center;
}

#campaign .img_camp p span {
    font-size: 80%;
}

#campaign .camp_txt {
    width: 800px;
    font-size: 80%;
    margin: auto;
    padding: 10px 20px;
    background-color: #fff;
    border: solid 2px #DB6009
}

#campaign .camp_txt p {
    font-size: 96%;
    margin-bottom: 10px;
    margin-left: .5em;
}

#campaign .camp_txt p.title {
    font-weight: bold;
    margin-bottom: 0;
    margin-left: 0;
}

#campaign .camp_txt p span {
    font-size: 92%;
}

@media (max-width: 768px) {
    #campaign {
        padding: 0 3rem;
    }

    #campaign .img_camp {
        width: 100%;
    }

    #campaign .img_camp p {
        bottom: 15px;
    }

    /*#campaign .img_camp br.only_sp {
        display: none;
    }*/
}


@media (max-width: 640px) {
    #campaign .img_camp p {
        bottom: 30px;
        font-size: 3rem;
    }
}

@media (max-width: 414px) {
    #campaign {
        padding: 0 3rem 50px;
    }

    #campaign .img_camp {
        width: initial !important;
        height: initial !important;
        position: relative;
        background: url(/wp/wp-content/themes/teacher/images/top/bnr_01sp.png) no-repeat center center !important;
        background-size: contain !important;
        padding-top: 100%;
    }

    #campaign .img_camp p {
        bottom: 35px;
        font-size: 7.3vw;
        padding: 1rem;
        line-height: 1.3;
    }

    #campaign .camp_txt {
        width: 100%;
    }
}

@media (max-width: 320px) {
    #campaign .img_camp p {
        bottom: 30px;
        font-size: 2.2rem;
        line-height: 1.2;
    }
}


/***********************************************************************
緊急募集エリア
***********************************************************************/

#boshuBox .wrapper {
    width: 100%;
    padding-left: 4.68%;
    padding-right: 4.68%;
    max-width: initial;
}

#boshuBox {
    width: 100%;
    padding-top: 50px;
    text-align: center;
}

#boshuBox .img_width .only_sp {
    display: none;
}

@media (max-width: 768px) {
    #boshuBox .img_width .only_sp {
        display: none;
    }

    #boshuBox .img_width .only_pc {
        display: block;
    }
}

@media (max-width: 414px) {
    #boshuBox .img_width .only_sp {
        display: block;
        padding: 0 1.1rem;
    }

    #boshuBox .img_width .only_pc {
        display: none;
    }
}


/*----------------------------------------------------------------------
   家庭教師募集 エリア
----------------------------------------------------------------------*/

#arearecruitmentBox {
    width: 100%;
    background: #edef9d;
    padding-top: 5rem;
    padding-bottom: 7rem;
}

#arearecruitmentBox .box-title {
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

#arearecruitmentBox>p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

#arearecruitmentBox .wrapper {
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
}



#arearecruitmentBox .wrapper .parent {
    font-size: 1.8rem;
    font-weight: bold;
    color: #6795b1;
    margin-bottom: 1.8rem;
    border-bottom: solid 0.3rem #fff;
    position: relative;
}

#arearecruitmentBox .wrapper .parent label {
    transition: all 0.5s;
}

#arearecruitmentBox .wrapper .parent:before {
    content: "";
    display: block;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: -0.3rem;
    width: 15%;
    border-bottom: 0.3rem solid #6795b1;
}

#arearecruitmentBox .wrapper .child {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#arearecruitmentBox .wrapper .child a {
    display: inline-block;
    font-size: 1.5rem;
    color: #6795b1;
    padding: 0.4rem 1.6rem 0.4rem 1.6rem;
    border: solid 1px #6795b1;
    border-radius: 2rem;
    background: #fff;
    text-align: center;
    margin-right: 1%;
    margin-bottom: 2rem;
    position: relative;
    font-weight: bold;
}

#arearecruitmentBox .wrapper .child a:after {
    position: absolute;
    content: '\f0da';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1.2rem;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

#arearecruitmentBox .btnBox {
    text-align: center;
    margin-top: 6rem;
    margin-right: auto;
    margin-left: auto;
}

#arearecruitmentBox .btnBox img {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

#arearecruitmentBox .title {
    display: block;
    pointer-events: none;
    padding: 0.8rem;
    background: #0b805a;
    color: #fff;
}

#arearecruitmentBox input {
    display: none;
}

/*----------------------------------------------------------------------
   プロフィール について
----------------------------------------------------------------------*/

.teacherprofileBox_wrapper {
    display: flex;
}

.profileBox-title {
    font-size: 2.4rem;
    font-weight: bold;
}

.historyBox>.profileBox-title {
    color: #dd782b;
    font-size: 3rem;
    font-weight: bold;
}

.historyBox ul {
    margin-bottom: 2rem;
}

.historyBox li {
    font-size: 1.6rem;
}

.results_wrapper {
    background: #fff;
    padding: 4rem;
    width: 47%;
    margin-left: 6rem;
}

.results_wrapper .profileBox-title {
    text-align: center;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.results_wrapper .profileBox-title:before {
    position: absolute;
    display: block;
    content: "";
    background: url(../images/interview-profile/img_profile_illust.png) no-repeat;
    width: 5rem;
    height: 5rem;
    top: -6rem;
    left: calc(50% - 2.5rem);
}

/*----------------------------------------------------------------------
ふるさと教育支援
----------------------------------------------------------------------*/
.pageOnline__list--01 {
    width: 100%;
    border: solid 1px #1d7cbe;
    background-color: #f8fbff;
    line-height: 2.4;
    padding: 2rem;
}

.container__item--primary {
    /*padding-left: 1em;
    text-indent: -1em;*/
    list-style-position: inside;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

.img_width {
    width: 100%;
    max-width: 800px;
    margin: 3rem auto;
    display: flex;
}

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

.segment .general_h3 {
    color: #224086;
}

.segment .lowerWrapper p {
    padding-left: 1em;
}

/*----------------------------------------------------------------------
会社概要
----------------------------------------------------------------------*/
.other {
    background-color: #eaeff2;
    padding-top: 4rem;
    overflow: hidden;
}

.other .Wrapper {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.other .container__inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    background-color: #fff;
    padding: 20px;
}

.other .container__inner img {
    max-width: 500px;
}

.other .container__block {
    margin: 20px 0;
}

.other .container__block p {
    line-height: 1.6;
    margin: 4rem 0 2rem;
}

.other .block__table {
    width: 100%;
    padding: 1em;
    display: inline-block;
    background-color: #fff;
}

.other .block__th {
    border-bottom: 1px dotted #dedede;
    width: 20%;
    padding: 1em 4em 1em 2em;
    text-align: left;
}

.other .block__td {
    border-bottom: 1px dotted #dedede;
    width: 50%;
    line-height: 1.5;
    padding: 1.5em 0;
}

.other .container__listStyle {
    font-weight: normal;
    display: inline-block;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
    text-align: center;
    line-height: 1.8;
}

.other .container__listStyle--01 {
    color: white;
    background-color: #224086;
    margin-right: .7em;
}

.other .container__listStyle--02 {
    color: white;
    background-color: #283645;
    margin-right: .7em;
}

.other .container__listStyle--Q {
    color: white;
    background-color: #224086;
    position: absolute;
    left: 0;
}

.other .container__listStyle--A {
    color: white;
    background-color: #ed8123;
    position: absolute;
    left: 0;
}

.other .container__dt {
    color: #224086;
    margin-bottom: 1.5em;
    padding-left: 3em;
    position: relative;
}

.other .container__dd {
    border-bottom: 1px dotted #ccc;
    padding: 0 0 2em 3em;
    margin: 0 0 1.6em 0;
    position: relative;
}

.other .container__dd .faq_price {
    display: flex;
}

.other .container__dd table {
    width: auto;
    display: table;
}

.other .container__dd th:first-child {
    background-color: #eee;
}

.other .container__dd th,
.other .container__dd td {
    font-size: 14px;
    border: 1px solid #ddd;
    text-indent: 0;
    padding: 5px 60px 5px 10px;
}

.segment_link_faq {
    margin: 5px 0 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}

.segment_link_faq .detailBtn {
    margin: 10px;
    width: 100%;
    max-width: 360px;
    height: 40px;
    border-radius: 100px;
    box-shadow: 0 5px 0 #cec27e;
    background-color: #f2e7a8;
}

.segment_link_faq .detailBtn>* {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #333;
    font: bold 14px/1.3 "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", sans-serif;
}

.segment_link_faq .detailBtn>*::after {
    content: "";
    position: absolute;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 22px;
    border: 4px solid rgba(0, 0, 0, 0);
    border-right: 0;
    border-left: 9px solid #333;
}


.other .container__dd img {
    margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
    .other .general_h2_container {
        margin-top: 20px;
    }

    .faq .wrapper {
        padding: 0;
    }

    .other .container__dd th,
    .other .container__dd td {
        font-size: 14px;
        padding: 5px 10px 5px 10px;
    }
}

.other .container__subtitle {
    font-size: 1.4em;
    line-height: 1.6;
    padding-top: 0;
    padding-bottom: 10px;
}

.other .container__category {
    font-size: 1.4em;
}

.other .container__categoryList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.other .container__categoryItem {
    width: 50%;
    list-style: none;
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #fff), to(#eee));
    background: -o-linear-gradient(top, #fff 0%, #fff 50%, #eee 100%);
    background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eee 100%);
}

.other .container__categoryLink {
    padding: 1em;
    display: block;
    text-decoration: none;
    color: #283645;
    position: relative;
    font-size: 1.6rem;
    padding: .5em;
}

.other .arrow {
    width: 7px;
    height: 7px;
    border: 1px solid;
    border-color: #283645 #283645 transparent transparent;
    position: absolute;
}

.other .arrow__bottom {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    top: 40%;
    right: 5%;
}

.benefits .container__title--02 {
    position: relative;
    color: #224086;
    font-size: 1.2em;
    background: #FCFCFC;
    padding: 0 0.5em;
    margin: 3em 0 0.5em;
    border-top: 1px solid #224086;
    border-bottom: 1px solid #224086;
}

#faq .lower_h3 {
    margin-bottom: 30px;
}

.other .container__block p.container__subtitle_p {
    padding: 0px 20px 17px 30px;
    margin: 1rem 0 2rem;
}

/*----------------------------------------------------------------------
都道府県ページ
----------------------------------------------------------------------*/

#state .recruitmentTitle {
    font-size: 3rem;
    font-family: none;
    line-height: 43px;
    margin: 17px 0 35px 0;
}

#state #mainvBox {
    text-align: center;
}

#state .prefecturesbox {
    padding: 12px 35px 0;
    margin: 1em 0 1em 0;
    font-weight: bold;
    display: inline-block;
}

#state .prefecturesbox h1 {
    font-size: 3.7rem;
    padding: 0 80px;
    text-align: center;
    position: relative;
}

#state .mainvBox_subcatch {
    text-align: center;
    padding: 20px 0 15px;
}


/* 市区町村ボックス！ */
#state .choose_cityBox {
    background-color: #eaeff2;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 7rem;
}

#state .choose_cityBox .wrapper {
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
}

#state .orange_title_bar {
    color: white;
    font-weight: bold;
    font-size: 22px;
    background-color: #de772b;
}

#state .orange_title_bar h2 {
    margin: 0 auto;
    width: 800px;
    font-size: 2.6rem;
    font-weight: bold;
    padding: 5px 0;
}

#state .ALLcity,
.ALLcity23 {
    padding: 20px;
    background-color: #fff;
    margin-bottom: 2em;
}

#state .one_line {
    font-size: 2rem;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 10px;
    width: 750px;
}

#state .one_line ul {
    width: 100%;
}

#state .one_line ul li {
    float: left;
    margin-right: 2em;
}

#state .one_line ul li a {
    display: block;
    color: blue;
    text-decoration: underline;
    margin-bottom: 20px;
    font-size: 1.7rem;
}

#state .one_line ul li a span {
    position: relative;
}

#state .one_line ul li a span:after {
    position: absolute;
    content: '\f0da';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1.5rem;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

#state .city_initials {
    margin: 0 auto;
    width: 780px;
    font-weight: bold;
    font-size: 1.8rem;
    font-feature-settings: "halt";
}

#state .prettyprint {
    border: none;
    background: #fafafa;
    color: #697d86;
}

#state .employment_recruitment {
    float: left;
    font-weight: bold;
    font-size: 16px;
}

#state .employment_recruitment_right {
    margin-left: 190px;
    font-size: 15px;
}

#state .partition {
    border-bottom: 1px solid #ccc;
    padding-top: 25px;
    padding-bottom: 25px;
}

/*----------------------------------------------------------------------
市区ページ
----------------------------------------------------------------------*/
#area_city .wrapper {
    max-width: 1000px;
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

#area_city .list-btn {
    width: 1000px;
    margin: 0 auto;

}

#area_city .list-btn ul {
    width: 842px;
    display: flex;
    margin: 0 auto 20px;
    justify-content: center;
}

#area_city .list-btn li {
    width: calc(100% - 20px / 5);
    text-align: center;
    display: block;
    position: relative;
    font-size: 1.4rem;
    text-align: center;
    padding: 10px 0;
    margin: 5px;
    border-radius: 30px;
    font-weight: bold;
    background-color: #eee;
    color: #333;
    box-shadow: 0 3px 0 #a1a1a1;
}

#area_city .list-btn.countryside li {
    width: calc(100% - 20px / 4);
}

#area_city .list-btn li::after {
    content: "";
    position: absolute;
    top: calc(50% + 2px);
    right: 4%;
    border: 3px solid transparent;
    border-top: 5px solid #333;
    transform: translateY(-50%);
}

#area_city .list-btn li.active {
    position: relative;
    color: #333;
    background: #f3ecc5;
    box-shadow: 0 3px 0 #bbad85;
}

#area_city .list-btn li.active::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -11px;
    border: 11px solid transparent;
    border-top: 11px solid #bbad85;
}

#area_city .list-btn li.active::after {
    content: none;
}

#area_city .list-btn li:last-child {}

#area_city #mainvBox {
    text-align: center;
}

#area_city .prefecturesbox {
    padding: 12px 35px 0;
    margin: 1em 0 1em 0;
    font-weight: bold;
    display: inline-block;
}

#area_city .prefecturesbox h1 {
    font-size: 3.7rem;
    padding: 0 80px;
    text-align: center;
    position: relative;
}

#area_city .mainvBox_subcatch {
    text-align: center;
    padding: 20px 0 15px;
}

#area_city .mat_box {
    max-width: 840px;
    margin: 0 auto;
    background-color: #fff;
    margin-bottom: 20px;
    border: solid 1px #ccc;

}

#area_city h2 {
    /*max-width: 838px;*/
    margin: 1em auto 1em;
    padding: 0 20px 0;
    border-bottom: none;
    font-family: "Hiragino Kaku Gothic ProN", 'Hiragino Sans', "YuGothic", "Yu Gothic", sans-serif;
}

#area_city h3 {
    background: #f3ecc5;
    margin-bottom: 0;
    padding: 3px;
    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: 3px;
    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;
}

#Recruitment-by-area .header-title {
    background: url(/wp/wp-content/themes/teacher/images/Recruitment-by-area/img_merit3.png) 100% center/40% no-repeat;
    height: 280px;
    display: block;
}

#Recruitment-by-area .mainV_main {
    font-size: 4.3rem;
    line-height: 1.2;
    margin: 20px 0 30px 0;
}

#Recruitment-by-area .mainV_sub {
    display: table;
    font-size: 2.8rem;
    margin-bottom: 10px;
    color: #cc2525;
}

#Recruitment-by-area .header-title h1 {
    padding-top: 30px;
    color: #cc2525;
    padding-bottom: 10px;
}

#Recruitment-by-area .header-title p {
    padding-top: 0;
    padding-bottom: 20px;
}

#Recruitment-by-area .wrapper p {
    text-align: justify;
}

.single #Recruitment-by-area .header-title h1 {
    padding-top: 40px;
    font: bold 4rem/1.4 '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.single #Recruitment-by-area .header-title {
    background: url(/wp/wp-content/themes/teacher/images/area/area_mainV.png) 100% center/50% no-repeat;
    height: 320px;
    display: block;
}

/*----------------------------------------------------------------------
icon
----------------------------------------------------------------------*/
.no1_icon_container {
    text-align: center;
}

.no1_icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px auto 0 auto;
    padding: 0;
    width: 765px;
    font: bold 2.4rem/1.3 "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
}

.no1_icon div {
    margin-right: 25px;
    width: 224px;
}

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

.no1_icon img {
    margin: -1px 0 5px;
    width: 100%;
}

.no1_icon>span {
    display: inherit;
    margin-top: 33px;
}

.no1_icon .no1_icon_large {
    font: bold 4rem/1.2 "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
}

.no1_icon .no1_icon_comment {
    display: block;
    margin-top: 5px;
    padding-left: 1em;
    color: #555555;
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 1.4;
    text-indent: -1em;
}

.news {
    padding: 0px 0 20px;
}

.news_ttl {
    width: 1000px;
    height: 80px;
    line-height: 80px;
    background: #85aec7;
    position: relative;
    font-size: 28px;
    font-weight: bold;
    padding-left: 50px;
    margin: 0 auto 40px;
}

.news_ttl:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #85aec7 transparent transparent transparent;
    border-width: 20px 20px 0 20px;
}

.news .news_detail {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news .inner_box ul {
    width: 235px;
    margin: 5px;
    padding: 0 10px;
    border: solid 1px #6895b1;
}

.news .inner_box ul li {
    font-size: 12.9px;
    margin: 5px 0;
    clear: both;
    letter-spacing: .1em;
}

@media all and (-ms-high-contrast: none) {
    .news .inner_box ul li {
        font-size: 12.5px;
    }
}

.news .inner_box ul li span {
    width: 80px;
    font-size: 12px;
    color: #fff;
    background: #6895b1;
    display: inline-block;
    padding: 0 6px;
    margin-right: 5px;
}

.news .inner_box ul li.list1 span {
    font-size: 10px;
    color: #000;
    font-weight: bold;
    background: #fff;
    display: inline-table;
    padding: 3px 10px;
    border: solid 1px #6895b1;
    border-radius: 30px;
}

.news .inner_box ul li.list1 {
    overflow: hidden;
    padding-bottom: 8px;
    border-bottom: solid 1px #6895b1;
}

.news .inner_box ul li.list6 {
    height: 110px;
    padding-top: 6px;
    margin-top: 9px;
    border-top: solid 1px #6895b1;
}

.news .annotation {
    width: calc(100% - 40px);
    max-width: 1000px;
    margin: 0 auto;
    font-size: 80%;
    color: #999;
    text-align: right;
}

.news_detail .slick-arrow,
.news_detail .slick-arrow::after {
    position: absolute;
    width: 44px;
    height: 44px;
    font-size: 0;
    border: 0;
    z-index: 1;
    background: none;
}

.news_detail .slick-arrow {
    transform: translateY(-50%);
    top: 50%;
}

.news_detail .slick-prev {
    right: calc(100% - 50px);
}

.news_detail .slick-next {
    left: calc(100% - 50px);
}

.news_detail .slick-arrow::after {
    content: "";
    top: 0;
    left: 0;
    background-color: #fff;
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.news_detail .slick-prev::after {
    background-image: url(/wp/wp-content/themes/teacher/images/top/teacher_prev.svg);
}

.news_detail .slick-next::after {
    background-image: url(/wp/wp-content/themes/teacher/images/top/teacher_next.svg);
}

@media screen and (max-width: 768px) {
    .news_ttl {
        width: 100%;
        line-height: 40px;
        font-size: 24px;
        padding-left: 10px;
    }

    .news_ttl::before {
        bottom: -40px;
        left: unset;
        right: 0;
        width: 200px;
        height: 123px;
    }

    .news .news_detail {
        width: 100%;
        display: block;
    }

    .news .inner_box ul {
        width: 300px;
        height: 165px;
        margin: 0 10px 20px;
        letter-spacing: -.4em;
        padding-top: 9px;
    }

    .news .inner_box ul li {
        width: 100%;
        margin: 4px 0;
        vertical-align: top;
        display: inline-block;
        letter-spacing: normal;
    }

    .news .inner_box ul li.list1,
    .news .inner_box ul li.list6 {
        width: 100%;
    }

    .news .inner_box ul li.list2,
    .news .inner_box ul li.list4 {
        width: 45%;
    }

    .news .inner_box ul li.list3,
    .news .inner_box ul li.list5 {
        width: 55%;
    }

    .news .inner_box ul li.list6 {
        height: auto;
    }

    .news .inner_box ul li.list1 {
        padding-top: 4px;
    }

    .news .inner_box ul li.list1 span {
        font-size: 12px;
        padding: 5px 10px;
        float: none;
    }

    .news .annotation {
        text-align: left;
    }

    #leadtxtBox {
        padding-bottom: 1rem;
    }

    #Recruitment-by-area .wrapper {
        max-width: 950px;
    }

    #Recruitment-by-area .header-title {
        background: url(/wp/wp-content/themes/teacher/images/Recruitment-by-area/img_merit3.png) center bottom/65% no-repeat;
        display: block;
        height: 430px;
        padding-top: 3vw;
    }

    #Recruitment-by-area .header-title h1 {
        left: 20px;
        padding: 0 13px;
    }

    .single #Recruitment-by-area .header-title {
        background: url(/wp/wp-content/themes/teacher/images/area/area_mainV.png) center bottom/65% no-repeat;
        display: block;
        height: 460px;
        padding-top: 3vw;
    }

    .single #Recruitment-by-area .header-title h1 {
        left: 20px;
        padding: 0 13px;
    }

    #Recruitment-by-area .header-title p {
        padding: 0 13px;
    }
}

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

    #Recruitment-by-area .header-title,
    .single #Recruitment-by-area .header-title {
        height: 400px;
    }
}

@media screen and (max-width: 480px) {
    #Recruitment-by-area .header-title {
        background: url(/wp/wp-content/themes/teacher/images/Recruitment-by-area/img_merit3.png) right 5% bottom 5%/45% no-repeat;
        height: 350px;
    }

    .single #Recruitment-by-area .header-title {
        background: url(/wp/wp-content/themes/teacher/images/area/area_mainV_sp.png) center bottom/85% no-repeat;
        height: 240px;
    }

    #Recruitment-by-area .header-title h1 {
        margin-top: 10px;
    }

    .single #Recruitment-by-area .header-title h1 {
        font-size: 2.5rem;
        margin-top: 10px;
    }

    #Recruitment-by-area .header-title p {
        padding: 0 13px;
        font-size: 2.0rem;
    }

    #Recruitment-by-area .mainV_main {
        font-size: 3.4rem;
    }

    #Recruitment-by-area .mainV_sub {
        line-height: 1.2em;
        font-size: 2.0rem;
    }
}

@media screen and (max-width: 414px) {
    #Recruitment-by-area .header-title {
        height: 310px;
    }

    .single #Recruitment-by-area .header-title {
        height: 240px;
    }

    #Recruitment-by-area .header-title h1,
    .single #Recruitment-by-area .header-title h1 {
        margin-top: 5px;
    }

    #Recruitment-by-area .mainV_main {
        font-size: 2.9rem;
    }

    #Recruitment-by-area .header-title p {
        line-height: 1.4;
        margin-top: 3px;
    }

    #Recruitment-by-area .no1_icon_comment {
        padding: 0 6.25%;
    }

}

@media screen and (max-width: 360px) {
    #Recruitment-by-area .header-title {
        height: 270px;
    }

    .single #Recruitment-by-area .header-title {
        height: 200px;
    }

    #Recruitment-by-area .mainV_main {
        font-size: 2.4rem;
    }

    #Recruitment-by-area .mainV_sub {
        line-height: 0.5em;
        font-size: 1.8rem;
    }

    #Recruitment-by-area .header-title h1,
    .single #Recruitment-by-area .header-title h1 {
        line-height: 1.2;
    }

    #Recruitment-by-area .header-title p {
        font-size: 1.7rem;
    }


}

@media screen and (max-width: 320px) {
    .news .inner_box ul li {
        width: 100%;
        margin: 4px 0;
        vertical-align: top;
        display: inline-block;
        letter-spacing: normal;
    }

    .news .inner_box ul li.list1,
    .news .inner_box ul li.list2,
    .news .inner_box ul li.list3,
    .news .inner_box ul li.list4,
    .news .inner_box ul li.list5,
    .news .inner_box ul li.list6 {
        width: 100%;
    }

    .news_ttl::before {
        bottom: 0;
        width: 140px;
        height: 86px;
    }

    .news .inner_box ul {
        height: 230px;
    }

    #Recruitment-by-area .header-title {
        height: 260px;
    }

    .single #Recruitment-by-area .header-title {
        height: 200px;
    }

    .single #Recruitment-by-area .header-title h1 {
        font-size: 2.2rem;
    }

    #Recruitment-by-area .mainV_sub {
        line-height: 1.2em;
        font-size: 1.6rem;
        margin-bottom: 5px;
    }
}


/*----------------------------------------------------------------------
求人詳細
----------------------------------------------------------------------*/
.single .recruitmentTitle {
    font-size: 3rem;
    line-height: 43px;
    margin: 0px 0 25px 0;
    text-align: center;
}

.single .recruitmentTitle2 {
    font-size: 2rem;
    line-height: 1.4;
    margin: 0px 0 5px 0;
    text-align: center;
    font-weight: bold;
}

/*
.single #mainvBox {
    text-align: center;
}
*/
.single .citybox {
    padding: 35px 40px;
    margin: 1em 0 1em 0;
    font-weight: bold;
    background-image: url("/wp/wp-content/themes/teacher/images/recruitment/destination.svg");
    background-repeat: no-repeat;
    background-size: 19%;
    background-position: 50% 25%;
    display: inline-block;
}

.single .citybox p {
    font-size: 30px;
    text-align: center;
    position: relative;
    bottom: -40px;
    margin: 15px 0 0 0;
    padding: 0;
}

.single .prettyprint {
    border: none;
    background: #fafafa;
    color: #697d86;
}

.single .employment_recruitment {
    float: left;
    font-weight: bold;
    font-size: 16px;
}

.single .employment_recruitment_right {
    margin-left: 190px;
    font-size: 15px;
}

.single .partition {
    border-bottom: 1px solid #ccc;
    padding-top: 25px;
    padding-bottom: 25px;
}

.single .teacherinterviewBox {
    background: #eaeff2;
}

.single .teacherinterviewBox {
    width: 100%;
    box-shadow: rgb(0 0 0 / 5%) 0px -10px 10px;
    padding-top: 1rem;
    padding-bottom: 7rem;
}

.single .teacherinterviewBox .wrapper {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 50px;
    background: #fff;
}


/*----------------------------------------------------------------------
リンクボタン
----------------------------------------------------------------------*/
.minutes {
    width: 300px;
    height: 39px;
    margin: 0px auto 0 auto;
}

.minutes img {
    width: 100%;
}

.detail_btn {
    width: 430px;
    height: 70px;
    border-radius: 40px;
    margin: 5px auto 0 auto;
    background: #137652;
    background: -moz-linear-gradient(top, #44a783 2%, #137652 100%);
    background: -webkit-linear-gradient(top, #44a783 2%, #137652 100%);
    background: linear-gradient(to bottom, #44a783 2%, #137652 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#44a783', endColorstr='#137652', GradientType=0);
    transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    box-shadow: 4px 4px 0px 0px #1d6d1b;
}

.detail_btn.internal {
    background: #DD7829;
    background: -moz-linear-gradient(top, #efa266 2%, #DD7829 100%);
    background: -webkit-linear-gradient(top, #efa266 2%, #DD7829 100%);
    background: linear-gradient(to bottom, #efa266 2%, #DD7829 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#efa266', endColorstr='#DD7829', GradientType=0);
    position: relative;
    box-shadow: 4px 4px 0px 0px #BC5C0F;
}

.detail_btn a {
    display: block;
    width: 430px;
    height: 70px;
    color: #ffffff;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    padding-top: 16px;
    position: relative;
    text-decoration: none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8d56', endColorstr='#DD7829', GradientType=0);
    transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

.detail_btn a::after {
    content: "▶︎";
    position: absolute;
    top: 50%;
    right: 30px;
    font-size: 1rem;
    color: #ffffff;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

/***********************************************************************
電話導線ポップアップ
***********************************************************************/
.popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}

.popup.is-show {
    opacity: 1;
    visibility: visible;
}

.popup-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 600px;
    padding: 30px;
    background-color: #fff;
    z-index: 2;
}

.popup-inner a {
    font-size: 18px;
}

.popup-inner img {
    width: 100%;
}

.close-btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
}

.close-btn i {
    font-size: 20px;
    color: #333;
}

.black-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .8);
    z-index: 1;
    cursor: pointer;
}

/*----------------------------------------------------------------------
プライバシーポリシー
----------------------------------------------------------------------*/
.inner {
    padding: 0 30px 0 50px;
    margin: -8px 0 40px;
}

.inner_privacy {
    padding-left: 3.2rem;
}

.inner_privacy_listtitle {
    padding-left: 3.2rem;
}

.inner_privacy_list {
    padding-left: 3.2rem;
}

.inner_privacy_list li {
    margin-left: 1rem;
    list-style: decimal;
}

@media screen and (max-width: 834px) {
    .inner {
        padding-left: 20px;
    }
}



/***********************************************************************
PC・SPのブレークポイント
***********************************************************************/

@media screen and (min-width: 1201px) {
    .only_1200 {
        display: none !important;
    }
}

@media screen and (min-width: 769px) {
    .only_sp {
        display: none !important;
    }
}

@media screen and (min-width: 481px) {
    .only_480 {
        display: none !important;
    }
}

@media screen and (min-width: 321px) {
    .only_320 {
        display: none !important;
    }
}

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

    /***********************************************************************
    PC・SPのブレークポイント
    ***********************************************************************/
    .only_pc {
        display: none !important;
    }

    .general_h2_container h2 {
        font-size: 2.4rem;
        line-height: 1.3;
        padding-left: 1.5rem;
        margin-bottom: 2rem;
    }

    .header-title {
        padding: 0 13px;
        width: 100%;
    }

    .header-title h1 {
        font-size: 2.8rem;
    }



    /* h2 */
    h2 {
        font-size: 2.6rem;
        padding: 0 .5em;

    }

    h2.box-title {
        font-size: 2.6rem;
        padding: 0 .5em;
    }

    .lower_h2_container {
        margin-top: 50px;
        padding: 0 13%;
    }

    /* h3 */
    .general_h3 {
        font-size: 1.8rem;
        line-height: 1.3;
        padding-bottom: 5px;
    }

    h3 {
        font-size: 2.0rem;
        line-height: 1.5;
        padding: 13px 10px 13px 12px;
    }

    h3.numb {
        position: relative;
        margin-left: 0;
        padding: 15px 10px 12px 38px;
    }

    h3.numb::after {
        left: -10px;
        width: 40px;
        height: 40px;
        border-radius: 40px;
    }

    .lower_h3 {
        border-left: solid 3px #DB782B;
    }

    main p {
        margin-bottom: 20px;
    }

    .wrapper {
        width: 100%;
        max-width: 640px;
    }

    .wrap,
    .inWrap,
    .inWrap_sp,
    .topWrap {
        width: 100%;
    }

    .wrap,
    .topWrap {
        padding-right: 40px;
        padding-left: 40px;
    }

    .inWrap,
    .inWrap_sp {
        padding-right: 55px;
        padding-left: 55px;
    }

    .wrap .inWrap,
    .wrap .inWrap_sp {
        padding-right: 15px;
        padding-left: 15px;
    }

    .lowerWrapper {
        width: calc(100% - 40px);
        max-width: 640px;
        margin: 0 auto;
    }

    .img_width {
        width: 100%;
        display: block;
    }


    .h_deco {
        width: 210px;
    }

    .h_deco:before {
        width: 70px;
    }

    .h_deco:after {
        width: 70px;
    }

    .movie a::after {
        width: 60px;
        height: 43px;
    }


    /*----------------------------------------------------------------------
    detailBtn (@768px ~)
    ----------------------------------------------------------------------*/
    .detailBtn {
        margin-right: auto;
        margin-left: auto;
        width: 80%;
    }

    .detailBtn:hover {
        -webkit-transform: translateY(5px);
        -moz-transform: translateY(5px);
        -ms-transform: translateY(5px);
        -o-transform: translateY(5px);
        transform: translateY(5px);
        box-shadow: none;

    }

    /*----------------------------------------------------------------------
    リード文（新）
    ----------------------------------------------------------------------*/
    #messageBox {
        width: 100vw;
        margin-bottom: 40px;
    }

    #messageBox_wrapper {
        width: 100%;
        padding-left: 6.25%;
        padding-right: 6.25%;
    }

    #messageBox_wrapper h2 {
        font-size: 2.1rem;
        line-height: 1.3;
        padding: 0 0 5px;
    }

    #messageBox .btnBox {
        width: 100%;
        text-align: center;
        margin-right: auto;
        margin-left: auto;
        margin-top: 2rem;
    }

    #messageBox .btnBox img {
        width: 84%;
    }



    /*----------------------------------------------------------------------
    リード文（旧）
    ----------------------------------------------------------------------*/

    #leadtxtBox .general_h2_container {
        margin: 0 20px;
    }


    /*----------------------------------------------------------------------
    家庭教師募集エリア
    ----------------------------------------------------------------------*/

    #arearecruitmentBox {
        width: 100vw;
        background: #fff;
        padding-bottom: 0rem;
        padding-top: 0rem;
    }

    #arearecruitmentBox .wrapper {
        width: 100%;
    }

    /*アコーディンボックス　カスタム*/
    #arearecruitmentBox label {
        border-bottom: none;
        background: #6795b1;
        margin-top: 0;
        margin-bottom: 0;
        padding: 1.5rem 3rem 1.5rem 3rem;
    }

    #arearecruitmentBox .accshow {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-left: 6.25%;
        padding-right: 6.25%;
        border-left: solid 0.2rem #6795b1;
        border-right: solid 0.2rem #6795b1;
        border-bottom: solid 0.2rem #6795b1;
    }

    #arearecruitmentBox .accshow a {
        color: #6795b1;
        padding: 0.5rem 2rem 0.5rem 1.3rem;
        margin-top: 1rem;
        margin-bottom: .5rem;
        margin-right: 3%;
        border: solid 1px #6795b1;
        border-radius: 2.5rem;
        background: #fff;
        position: relative;
    }

    #arearecruitmentBox .accshow a:after {
        position: absolute;
        content: "▶︎";
        font-size: 1rem;
        right: 5px;
        top: 26%;
    }

    #arearecruitmentBox .acBox label:before {
        display: none;
    }

    #arearecruitmentBox .acBox .clsacc:checked+label+.accshow {
        background: #fff;
    }

    /*----------------------------------------------------------------------
    会社概要
    ----------------------------------------------------------------------*/
    .other {
        padding-top: 0;
    }

    .other .block__table {
        width: 100%;
        padding: 0;
    }

    .other .block__th {
        border-bottom: 1px dotted #dedede;
        width: 30%;
        padding: 0 .5em;
        text-align: left;
    }

    .other .block__td {
        border-bottom: 1px dotted #dedede;
        width: 70%;
        line-height: 1.5;
    }

    .other .block__th,
    .other .block__td {
        font-size: 1.3rem;
    }

    .other .container__inner img {
        max-width: 100%;
    }

    .other .general_h2_container h2 {
        margin-left: 0.5em;
    }

    .other .container__block p.container__subtitle_p {
        padding: 0px 15px 17px 15px;
        margin: 0;
    }

    /*----------------------------------------------------------------------
    都道府県ページ
    ----------------------------------------------------------------------*/
    #state .choose_cityBox {
        padding-bottom: 3rem;
    }

    #state .orange_title_bar h2,
    #state .one_line,
    #state .city_initials {
        width: 100%;
    }

    #state .orange_title_bar h2 {
        padding-left: 10px;
        font-size: 22px;
    }

    #state .prefecturesbox h1 {
        font-size: 2.2rem;
        padding: 0px;
    }

    #state .city_initials {
        background-color: white;
        border-bottom: 2px solid #c9c9c9;
        border-top: 2px solid #c9c9c9;
        padding-left: 15px;
    }

    #state .city_initials:first-child {
        border-top: 0;
    }

    #state .one_line {
        margin: 0;
    }

    #state .one_line ul li {
        color: #000000;
        width: calc(100% / 2);
        background: linear-gradient(#fff, #ededed);
        text-decoration: none;
        position: relative;
        margin-right: 0;
    }

    #state .one_line ul li a {
        margin-bottom: 0;
    }

    #state .one_line ul li a:after {
        position: absolute;
        content: '\f0da';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-size: 1.5rem;
        right: 8%;
        top: 50%;
        transform: translateY(-50%);
        -webkit- transform: translateY(-50%);
    }

    #state .one_line ul li a span:after {
        content: none;
    }

    #state .ALLcity,
    #state .ALLcity23 {
        padding: 0px;
    }

    #state .one_line a {
        padding: 20px 13px;
        border-bottom: 1px solid #c9c9c9;
    }

    #state .one_line a:nth-of-type(odd) {
        border-right: 1px solid #c9c9c9;
    }

    #state .one_line a:nth-child(2n+1):nth-last-child(2),
    #state .one_line a:last-of-type {
        border-bottom: 0;
    }

    #state .ALLcity .one_line:last-of-type a:nth-child(2n+1):nth-last-child(2),
    #state .ALLcity .one_line:last-of-type a:last-of-type {
        border-bottom: 1px solid #c9c9c9;
    }


    /*----------------------------------------------------------------------
    市区ページ
    ----------------------------------------------------------------------*/
    #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;
    }

    #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;
        margin: 3px 3px 10px;
        border: solid 1px #333;
    }

    #area_city .list-btn.countryside li {
        width: calc(50% - 8px);
        float: left;
    }

    /*#area_city .list-btn li.last {
        width: 98%;
    }*/

    #area_city .list-btn.countryside li.last {
        width: calc(50% - 8px);
    }

    #area_city .list-btn li a.sec {}

    #area_city .list-btn li a span:after {
        right: 5px;
    }

    /*----------------------------------------------------------------------
    icon
    ----------------------------------------------------------------------*/
    .no1_icon {
        margin: 10px auto 0;
        width: auto;
        font-size: bold 1.8rem/1.3 "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    }

    .no1_icon div {
        margin-right: 10px;
        width: 34.375vw;
    }

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

    .no1_icon>span {
        display: none;
    }




    /*----------------------------------------------------------------------
    求人詳細
    ----------------------------------------------------------------------*/
    .single .recruitmentTitle {
        font-size: 21px;
        line-height: 28px;
    }

    .single .citybox {
        padding: 30px 22px;
        background-size: 17%;
        margin: 0 0 1em 0;
    }

    .single .citybox p {
        font-size: 20px;
        margin: -10px 0 0 0;
    }

    .single .employment_recruitment {
        float: none;
        margin-bottom: 3px;
    }

    .single .employment_recruitment_right {
        margin-left: 0;
    }

    .single .teacherinterviewBox {
        width: 100vw;
        padding-top: 1rem;
        padding-bottom: 7rem;
    }

    .single .teacherinterviewBox .wrapper {
        width: 100%;
        padding-left: 6.25%;
        padding-right: 6.25%;
    }

    .single .partition {
        padding-top: 0;
    }

    /*----------------------------------------------------------------------
    footerCta (@media 768px ~)
    ----------------------------------------------------------------------*/

    .entryBtn::before {
        content: "";
        position: absolute;
        left: 50%;
        top: -55px;
        width: 80%;
        height: 80%;
        color: #bc2141;
        transform: translateX(-50%);
        -webkit- transform: translateX(-50%);
        background: url(/wp/wp-content/themes/teacher/images/common/contact_before_sp.svg) 4% 49%/auto 30% no-repeat;
    }

    /*----------------------------------------------------------------------
    リンクボタン
    ----------------------------------------------------------------------*/
    .detail_btn {
        width: 80%;
        max-width: 430px;
        height: 60px;
        border-radius: 60px;
        margin-top: 5px;
    }

    .detail_btn a {
        display: block;
        width: 100%;
        height: 60px;
        border-radius: 60px;
        padding-top: 20px;
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .onlypc {
        display: none;
    }

    .onlysp {
        display: inherit;
    }
}


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

    /* entryLink @600px
    ----------------------------------------- */
    .entryLink_main {
        font-size: 2.8rem;
    }

    .entryLink_main span {
        font-size: 2.5rem;
    }

    .lower_h2_container {
        padding: 0;
    }
}


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

    /*----------------------------------------------------------------------
    リード文（新）
    ----------------------------------------------------------------------*/
    #messageBox_wrapper h2 {
        text-align: left;
        margin-bottom: 5px;
    }

    #messageBox h2 .h_deco {
        margin-bottom: 0;
    }


    #about_lessonBox_Wrapper img {
        margin-top: 15vw;
    }
}

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

    /*----------------------------------------------------------------------
    closing(Renewal 2021/01) (@media 600px ~)
    ----------------------------------------------------------------------*/

    .closingCtaBox_entry::before {
        right: 15px;
    }

    .closingCtaBox_entry::after {
        right: calc(15px + 8px);
    }

    /*----------------------------------------------------------------------
    エリア
    ----------------------------------------------------------------------*/
    .single .recruitmentTitle2 {
        width: 90%;
        margin: 0 5%;
        text-align: left;
    }

    .single .recruitmentTitle {
        width: 80%;
        margin: 0 10%;
        text-align: left;
        font-size: 21px;
        line-height: 28px;
    }
}

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

    /*----------------------------------------------------------------------
    common (@media 480px ~)
    ----------------------------------------------------------------------*/
    .wrap,
    .topWrap {
        padding-right: 13px;
        padding-left: 13px;
    }

    .inWrap,
    .inWrap_sp {
        padding-right: 28px;
        padding-left: 28px;
    }

    /*----------------------------------------------------------------------
    entryBtn (@480px ~)
    ----------------------------------------------------------------------*/
    .entryBtn::before {
        top: -40px;
        width: 95%;
        height: 95%;
    }

    /* entryLink @480px
    ----------------------------------------- */
    .entryLink {
        padding: 0;
        margin: 39px 0 10px;
        height: 55px;
    }

    .entryLink::before {
        right: 15px;
        width: 22px;
        height: 22px;
    }

    .entryLink::after {
        right: calc(15px + 4px);
        margin: 0;
        border-width: 6px;
        border-right: 0;
        border-left-width: 9px;
    }

    .entryLink:hover {
        -webkit-transform: translateY(2.5px);
        -moz-transform: translateY(2.5px);
        -ms-transform: translateY(2.5px);
        -o-transform: translateY(2.5px);
        transform: translateY(2.5px);
    }

    .entryLink_main {
        font-size: 2rem;
    }

    .entryLink_main span {
        font-size: 1.7rem;
    }

    .entryLink_sub {
        font-size: 1.7rem;
        line-height: 1.3;
    }

    .entryLink:hover .entryLink_sub {
        -webkit-transform: translate(-50%, -2.5px);
        -moz-transform: translate(-50%, -2.5px);
        -ms-transform: translate(-50%, -2.5px);
        -o-transform: translate(-50%, -2.5px);
        transform: translate(-50%, -2.5px);
    }

    .entryLink_sub::before {
        margin-right: 9px;
    }

    .entryLink_sub::after {
        margin-left: 9px;
    }




    /*----------------------------------------------------------------------
    detailBtn (@480px ~)
    ----------------------------------------------------------------------*/
    .detailBtn {
        width: calc(100% - (28px * 2));
        height: 65px;
    }

    .wrap .detailBtn,
    .inWrap .detailBtn {
        width: 100%;
    }

    .detailBtn>* {
        font-size: 4.5vw;
    }

    .detailBtn>*::after {
        right: 13px;
        border-width: 5px;
        border-right: 0;
        border-left-width: 8px;
    }

}
@media screen and (max-width: 320px) {
    .wrapper .closingTxt {
        font-size: 1.6rem;
        margin-top: 0;
    }

    .lower_h2 {
        font-size: 2.4rem;
    }


    /*----------------------------------------------------------------------
    リード文（新）
    ----------------------------------------------------------------------*/
    #messageBox h2 {
        font-size: 6.25vw;
    }


    #state .prefecturesbox {
        margin: 3em 0 1em 0;
        padding-left: 0;
        padding-right: 0;
    }

    #state .one_line a {
        font-size: 17px;
    }

    #state .orange_title_bar h2 {
        font-size: 20px;
    }

    .single .citybox {
        margin: 3em 0 1em 0;
    }

    .closing_cta.middle_position .closingCtaBox_entry .entryLink_main {
        font-size: 1.6rem;
    }

}



/***********************************************************************
募集要項　開始まとめ
***********************************************************************/

/*----------------------------------------------------------------------
メインV
----------------------------------------------------------------------*/

#public .header-title,
#igakubu .header-title,
#middle-school .header-title,
#shiritsu .header-title {
    height: 250px;
}

.mainV_sub,
.mainV_main {
    display: block;
}

.mainV_sub {
    display: table;
}

.mainV_sub_upper {
    display: inline;
}

.mainV_sub,
.mainV_sub_upper,
.header-title p {
    font-size: 2.4rem;
}

.mainV_main {
    font-size: 4.3rem;
    line-height: 1.2;
    margin: 0px 0 25px 0;
    color: #cc2525;
}


#generalFv_appRec {
    position: relative;
    width: 100%;
    height: 290px;
    background-color: #fffcf4;
    overflow: hidden;
}

#generalFv_appRec .generalFv_tWrap {
    position: relative;
    margin: 0 auto;
    width: 1000px;
    height: 100%;
    padding: 20px 0;
    background: right bottom no-repeat;
}

#generalFv_appRec .generalFvTWrap_sub {
    margin-bottom: 5px;
    color: #13235b;
    font: 700 3.2rem/1.3 YakuHanMP, 'Noto Serif JP', serif;
}

#generalFv_appRec .generalFvTWrap_sub2 {
    display: inline;
    font: 700 2.6rem/1.3 'YuGothic', 'Yu Gothic', sans-serif;
}

#generalFv_appRec .generalFvTWrap_h1 {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px 0;
    color: #cc2525;
    font: 700 4.5rem/1.2 'YuGothic', 'Yu Gothic', sans-serif;
}

#generalFv_appRec .generalFv_tWrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 51%;
    height: 100%;
    box-sizing: border-box;
    background: right center / 100% no-repeat;
}

#university #generalFv_appRec {
    height: 265px;
}

#university #generalFv_appRec .generalFv_tWrap::after {
    width: 51%;
    height: 100%;
    background: url(/wp/wp-content/themes/teacher/images/recruitment/university/recruitment_university_mainV.png) right center / 85% no-repeat;
}

#middle-school #generalFv_appRec {
    height: 245px;
}

#middle-school #generalFv_appRec .generalFv_tWrap::after {
    width: 44%;
    height: 100%;
    background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_mainV.png) right bottom / 100% no-repeat;
}

#public #generalFv_appRec {
    height: 245px;
}

#public #generalFv_appRec .generalFv_tWrap::after {
    width: 44%;
    height: 100%;
    background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_public_mainV.png) right bottom / 100% no-repeat;
}

#shiritsu #generalFv_appRec {
    height: 245px;
}

#shiritsu #generalFv_appRec .generalFv_tWrap::after {
    width: 44%;
    height: 100%;
    background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_shiritu_mainV.png) right bottom / 100% no-repeat;
}

@media screen and (max-width: 834px) {
    #generalFv_appRec {
        height: 290px;
    }

    #generalFv_appRec .generalFv_tWrap {
        width: 100%;
    }

    #generalFv_appRec .generalFvTWrap_sub {
        margin-bottom: 10px;
        font: 700 2.8rem/1.3 YakuHanMP, 'Noto Serif JP', serif;
    }

    #generalFv_appRec .generalFvTWrap_sub2 {
        font-size: 3.5rem;
        font-size: max(1.4rem, min(2.8vw, 2.5rem));
    }
}

@media screen and (max-width: 768px) {
    #generalFv_appRec {
        padding-top: 20px;
        height: 72.33vw;
    }

    #university #generalFv_appRec {
        height: 72.33vw;
    }

    #middle-school #generalFv_appRec {
        height: 55.99vw;
    }

    #public #generalFv_appRec {
        height: 72.33vw;
    }

    #shiritsu #generalFv_appRec {
        height: 72.33vw;
    }

    #generalFv_appRec .generalFv_tWrap {
        width: 100%;
        padding: 0 19px;
    }

    #university #generalFv_appRec .generalFv_tWrap::after,
    #middle-school #generalFv_appRec .generalFv_tWrap::after,
    #public #generalFv_appRec .generalFv_tWrap::after,
    #shiritsu #generalFv_appRec .generalFv_tWrap::after {
        width: 100%;
    }

    #university #generalFv_appRec .generalFv_tWrap::after {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/university/recruitment_university_mainV_sp.png) center bottom /100% no-repeat;
    }

    #middle-school #generalFv_appRec .generalFv_tWrap::after {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_mainV_sp.png) center bottom /70% no-repeat;
    }

    #public #generalFv_appRec .generalFv_tWrap::after {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_public_mainV_sp.png) center bottom /100% no-repeat;
    }

    #shiritsu #generalFv_appRec .generalFv_tWrap::after {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_shiritu_mainV_sp.png) center bottom /100% no-repeat;
    }

    #generalFv_appRec .generalFvTWrap_sub {
        font-size: 3.5rem;
        font-size: max(2rem, min(4.8vw, 2.5rem));
    }

    #generalFv_appRec .generalFvTWrap_sub2 {
        font-size: 3.5rem;
        font-size: max(1.4rem, min(4.8vw, 2.5rem));
    }
}

@media screen and (max-width: 480px) {
    #generalFv_appRec {
        height: 96.33vw;
    }

    #university #generalFv_appRec {
        height: 89.33vw;
    }

    #middle-school #generalFv_appRec {
        height: 75.99vw;
    }

    #public #generalFv_appRec {
        height: 101.33vw;
    }

    #shiritsu #generalFv_appRec {
        height: 86.99vw;
    }

    #generalFv_appRec .generalFvTWrap_h1 {
        font-size: 8.696vw;
        margin-bottom: 10px;
    }

    #middle-school #generalFv_appRec .generalFv_tWrap::after {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_mainV_sp.png) center bottom /85% no-repeat;
    }
}

/*----------------------------------------------------------------------
    コンテンツ
    ----------------------------------------------------------------------*/
/*.area_case .col {
    font-size: 2rem;
    font-weight: bold;
}*/

.subject {
    width: 640px;
}

.subject ul {
    display: flex;
    flex-wrap: wrap;
}

.subject ul li {
    width: 31%;
    margin: 1%;
    font-weight: bold;
    background-color: #fff;
    border: solid 2px #333;
    border-radius: 6px;
    text-align: center;
    font-size: 1.4rem;
}

.aboutBox_wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

.aboutBox_wrapper img {
    width: 38rem;
    margin-right: 2.5rem;
    margin-left: 2.5rem;
    border: solid 1px #6794b1;
}

.area_wrapper p {
    font-size: 1.4rem;
}

.reward table,
.reward p {
    width: 470px;
    padding-left: 20px;
}

.reward p span {
    display: block;
}

#reward_example_conainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}

.reward_example {
    background: #f5f5f5;
    margin: 0 5px;
    border: 1px #999 solid;
}

.reward_example dt {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 15px 16px 5px 16px;
}

.reward_example dd:first-of-type {
    padding: 0 16px 12px 16px;
    display: flex;
}

.reward_example dd:first-of-type p {
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: bold;
    margin-right: 10px;
    padding: 0 10px;
}

.reward_example dd:first-of-type p:last-of-type {
    margin-right: 0;
}

.pro_tutor {
    background: #bbab7e;
}

.only_tutor {
    background: #dd782b;
}

.additional {
    background: #6795b1;
}

.difficult_school {
    background: #9853b7;
}

.reward_example dd:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 0;
    line-height: 0;
}

.reward_example dd img {
    width: 320px;
}

.segment__table {
    width: 100%;
    font-size: 1.4em;
    border-collapse: collapse;
}

.segment__table {
    margin-bottom: 40px;
}

.segment__th {
    border: solid 1px #000000;
    text-align: center;
    font-size: 1.7rem;
    vertical-align: middle;
    width: 5%;
}

.segment__table tr:nth-of-type(1) .segment__th {
    background-color: #bbab7e;
}

.segment__td {
    border: solid 1px #000000;
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.3;
    vertical-align: middle;
    height: 100px;
    font-weight: bold;
    font-family: '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.segment__td--off {
    background-color: #fff7ed;
}

.segment__td--on {
    background-color: #fffb98;
}

.segment__area {
    margin-bottom: 3em;
    border-bottom: 1px dotted #000000;
}

.segment__area--text {
    font-size: 1.6em;
    margin: 0 0 1em;
}

.lastWrapper {
    padding-bottom: 0;
}

.pdT40 {
    padding-top: 40px;
}

.lower_wrap_subcont {
    width: 840px;
    margin: 0 auto;
}

/*.lower_wrap_subcont p {
    padding: 0 2rem;
}*/

.lower_wrap_subcont p.padding0 {
    padding: 0;
}

.innerCont {
    margin: 0 auto;
}

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

.pageTable__th {
    width: calc(100% / 3);
    font-size: 1.7rem;
    border: solid 1px #000000;
    background-color: #6995b1;
    color: #ffffff;
    padding: 6px 5px 6px 15px;
    font-feature-settings: 'palt';
}

.pageTable__td {
    width: calc(100% / 3);
    font-size: 1.6rem;
    border: solid 1px #000000;
    background-color: #FFF;
    padding: 10px 5px 10px 15px;
    line-height: 1.4;
    font-weight: bold;
    font-feature-settings: 'palt';
}

#public .general_h3,
#university .general_h3,
#igakubu .general_h3,
#middle-school .general_h3,
#shiritsu .general_h3 {
    background: 0;
    margin: 30px 0 0 0;
    padding: 0;
    border-bottom: #000 1px solid;
}

#public .area,
#university .area,
#igakubu .area,
#middle-school .area,
#shiritsu .area {
    font-size: 1.4rem;
}

.area.sono1,
.area.sono3,
.area.sono4,
.area.sono5 {
    margin-top: 1rem;
}

#public .general_h4,
#university .general_h4,
#igakubu .general_h4,
#middle-school .general_h4,
#shiritsu .general_h4 {
    margin-top: 1rem;
    margin-bottom: 0;
}

#public .bold dt,
#university .bold dt,
#igakubu .bold dt,
#middle-school .bold dt {
    font-size: 2rem;
    margin-bottom: 15px;
}

.bold dd {
    font-weight: bold;
    font-size: 2rem;
    font-size: clamp(1.8rem, 4.8vw, 2rem);
    margin-bottom: 15px;
    margin-bottom: clamp(10px, 2.666vw, 15px);
    line-height: 1.3;
    text-indent: -1em;
    padding-left: 1em;
}

#public #faq dt {
    display: block;
    color: #6795b1;
    font-weight: bold;
    font-size: 1.8rem;
    border-bottom: solid 1px #6795b1;
    margin: 25px 0 20px 37px;
    padding: 0 0 2px 0;
    position: relative;
}

#public #faq dt::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -37px;
    width: 30px;
    height: 31px;
    background: url(../images/recruitment/faq_ttl_icon.svg) 0 0/contain no-repeat;
}

#public .q {
    font-weight: bold;
    background: url(../images/recruitment/q.svg) 0 0 no-repeat;
    padding: 0 0 7px 38px;
}

#public .a {
    background: url(../images/recruitment/a.svg) 0 7px no-repeat;
    padding: 7px 0 0 38px;
}

#public #faq dd {
    border-bottom: solid 1px #cccccc;
    margin-top: 20px;
    padding: 0 2rem 2rem 2rem;
}

#public .exSch {
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    font-weight: bold;
    font-size: 2.2rem;
}

.schedule h4 {
    margin-bottom: 20px;
    line-height: 1.4;
    color: #357CBB;
}

#lp-pro-teachers .lower_h3,
#lp-cram .lower_h3,
#public .lower_h3,
#university .lower_h3,
#igakubu .lower_h3,
#middle-school .lower_h3,
#shiritsu .lower_h3 {
    margin: 30px 0 20px;
    line-height: 1.4;
    font-family: "Hiragino Kaku Gothic ProN", 'Hiragino Sans', "YuGothic", "Yu Gothic", sans-serif;
}

#university .lower_h3 {
    font-size: 130%;
    line-height: 1.4;
}

.requirement .lower_h3 {
    margin-top: 30px;
    margin-bottom: 20px;
}

#university .reward_example,
#igakubu .reward_example,
#middle-school .reward_example {
    width: calc(100% / 3 - 20px);
}

#public .padding0,
#university .padding0 {
    padding: 0;
}

#university .subject p {
    margin-bottom: 0;
}

#igakubu .leadtxt {
    margin-top: 30px;
}

#igakubu #leadtxtBox {
    padding-bottom: 0;
}

#igakubu .service_logo {
    margin-top: 3rem;
}

#igakubu .check_list,
#middle-school .check_list,
#shiritsu .check_list {
    width: 100%;
}

.dp_flex {
    display: flex;
}

#middle-school .OnlineJob img {
    margin-bottom: 20px;
}

#middle-school .service_logo img {
    width: auto;
}

.coaching_fee {
    position: relative;
}

.coaching_fee p {
    padding-left: 1em;
    padding-right: 1em;
}

.coaching_fee .coaching_fee_p1 {
    font-weight: bold;
    margin: 0;
    padding-top: 10px;
}

.coaching_fee .coaching_fee_p1:before {
    font-size: 10px;
    content: "●";
    display: inline-block;
    margin-right: 8px;
    color: #DB782B;
    vertical-align: 2px;
}

.pay_detail {
    font-size: 24px;
    color: #f00000;
    line-height: 1.4;
    font-weight: bold;
    font-feature-settings: "palt";
    margin: 0 20px 20px;
}

.treat_favorably {
    position: relative;
    margin: 40px auto 0;
    width: 100%;
}

.treat_favorably .treatment {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 24px;
    color: #000;
    font-weight: 700;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.treat_favorably .treatment::before,
.treat_favorably .treatment::after {
    content: "";
    width: 26px;
    height: 39px;
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.treat_favorably .treatment::before {
    background-image: url(../images/common/ttlSub_l.png);
    margin-right: 20px;
}

.treat_favorably .treatment::after {
    background-image: url(../images/common/ttlSub_r.png);
    margin-left: 20px;
}

.treat_favorably .check_list {
    position: relative;
    background: #fff;
    margin-top: 30px;
}

#public .treat_favorably .check_list:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 400px;
    height: 178px;
    background: url(../images/for-univ-student/salary_student.png) center/cover no-repeat;
}

.treat_favorably .check_list p {
    position: relative;
    padding-left: 80px;
    font-weight: bold;
}

.treat_favorably .check_list p::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 30px;
    width: 38px;
    height: 39px;
    background: url(/wp/wp-content/themes/teacher/images/common/icon_check.svg) 0 0/contain no-repeat;
}

#for-teachers .treat_favorably .check_list p,
#middle-school .treat_favorably .check_list p {
    width: 460px;
    padding-left: 20px;
    font-weight: normal;
}

#for-teachers .treat_favorably .check_list p::before,
#middle-school .treat_favorably .check_list p::before {
    content: none;
}

.public_st_teacher {
    margin: 40px auto 0;
    max-width: 880px;
    width: calc(100% - 40px);
    padding: 20px;
    background-color: #fff6ed;
}

.public_st_teacher .teachers_voice {
    width: 100%;
    background: #fff;
    padding: 35px;
}

.public_st_teacher .teachers_voice_inner {
    display: flex;
}

.public_st_teacher .teachers_voice h4 {
    font-size: 28px;
    color: #f00000;
    line-height: 1.4;
    margin-bottom: 20px;
    font-feature-settings: "palt";
}

.public_st_teacher .teachers_voice_inner .left {
    width: 25%;
    margin-right: 30px;
    text-align: center;
    font-weight: bold;
    font-feature-settings: "palt";
}

.public_st_teacher .teachers_voice_inner .left p {
    margin-top: 13px;
    font-size: 18px;
    letter-spacing: .1em;
    border-bottom: solid 2px #6795b1;
    display: inline-flex;
    padding: 0 12px;
}

.public_st_teacher .teachers_voice_inner .right {
    width: 75%;

}

.public_st_teacher .teachers_voice_inner .right p {
    text-align: justify;
}

.public_st_teacher .teachers_voice_inner .left img {
    width: 100%;
}

.public_st_teacher .teacherMovie {
    width: 100%;
    max-width: 560px;
    text-align: center;
    margin: auto;
}

#univ_teacher_movie {
    width: 100%;
    max-width: 560px;
    margin: auto;
}

#univ_teacher_movie a {
    display: block;
    width: 100%;
    position: relative;
    font-size: 0;
    line-height: 0;
}

#univ_teacher_movie img {
    width: 100%;
    height: auto;
    border: solid 1px #ccc;
}

#univ_teacher_movie a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 73px;
    height: 49px;
    background: url(/wp/wp-content/themes/teacher/images/common/play_icon.png) left top/cover no-repeat;
}


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

    /*----------------------------------------------------------------------
    メインVについて
    ----------------------------------------------------------------------*/
    #public .header-title,
    #university .header-title,
    #igakubu .header-title,
    #middle-school .header-title,
    #shiritsu .header-title {
        display: block;
        width: 100%;
        height: 520px;
        padding-top: 4.933vw;
        padding-left: 13px;
        padding-right: 13px;
    }

    #public .header-title,
    #university .header-title,
    #middle-school .header-title,
    #shiritsu .header-title {
        height: 76.917vw;
    }

    #igakubu .header-title {
        height: 600px;
    }

    .header-title {
        padding: 0 13px;
        width: 100%;
    }

    #middle-school .header-title {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_mainV_sp.png) center bottom/contain no-repeat;
    }

    #university .header-title {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/university/recruitment_university_mainV_sp.png) center bottom/90% no-repeat;
    }

    #shiritsu .header-title {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_shiritu_mainV_sp.png) center bottom/90% no-repeat;
    }

    #public .header-title {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/recruitment_public_mainV_sp.png) center bottom/90% no-repeat;
    }

    #igakubu .header-title {
        background: url(/wp/wp-content/themes/teacher/images/recruitment/igakubu/recruitment_igakubu_mainV_sp.png) center bottom/contain no-repeat;
    }

    #middle-school .header-title>div,
    .header-title h1 {
        padding-bottom: 0;
        font: bold 2.4rem/1.3 '游ゴシック体', '游ゴシック', 'YuGothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Quicksand, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-se;
    }

    #middle-school .header-title h1 {
        font-size: 3.5rem;
        line-height: 1.2;
    }

    .header-title p {
        left: 15px;
    }

    .segment__td {
        font-size: 1.4rem;
    }

    .header-title p {
        font-size: 2rem;
    }

    .mainV_sub_upper {
        font-size: 4.825vw;
    }

    .mainV_main {
        font-size: 6.825vw;
        line-height: 1.2;
        margin: 10px 0;
    }

    .mainV_sub {
        font-size: 4.825vw;
    }

    #middle-school .mainV_sub {
        font-size: 4.125vw;
    }


    /*----------------------------------------------------------------------
    リード文 について
    ----------------------------------------------------------------------*/
    #leadtxtBox {
        width: 100vw;
        padding-bottom: 4rem;
    }

    #leadtxtBox>.wrapper {
        display: flex;
        flex-flow: row wrap;
    }

    .middleschool #leadtxtBox {
        padding-top: 0;
    }

    #university #leadtxtBox .wrapper {
        width: 100%;
        padding-left: 4.68%;
        padding-right: 4.68%;
        margin-top: -3rem;
    }

    #igakubu #leadtxtBox .wrapper {
        width: 100%;
        padding-left: 4.68%;
        padding-right: 4.68%;
    }

    #university #leadtxtBox .wrapper {
        width: 100%;
        padding-left: 4.68%;
        padding-right: 4.68%;
        margin-top: -3rem;
    }

    #leadtxtBox .top_lead_img {
        width: 100%;
        margin-top: 2rem;
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
    }

    #leadtxtBox .top_lead_img img {
        width: 87%;
        height: auto;
        margin: 0 auto;
    }

    #leadtxtBox .leadtxtOrange {
        width: auto;
        margin: 20px 0 5px 0;
        font-size: 2.2rem;
        line-height: 1.3;
    }

    #leadtxtBox .general_h2_container {
        margin: 0 20px;
    }

    #contactBox .btnBox {
        margin-top: 0;
    }

    #contactBox_wrapper p {
        margin-right: 4rem;
        margin-bottom: 0px;
    }

    #leadtxtBox_wrapper {
        width: 100%;
        margin-top: 20px;
        padding: 0 6.25%;
        background-size: auto 2.16em;
        line-height: 1.9em;
        height: unset;
    }


    #middle-school #leadtxtBox_wrapper {
        width: 100%;
        height: unset;
    }

    #leadtxtBox_wrapper p {
        line-height: 1.95;
    }


    /*----------------------------------------------------------------------
   コンテンツ
    ----------------------------------------------------------------------*/
    .aboutBox_wrapper {
        width: 100%;
        display: block;
    }

    .aboutBox_wrapper img {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        margin-top: 2vw;
        border: solid 1px #6794b1;
    }

    .lowerWrapper {
        width: auto;
    }

    .lastWrapper {
        padding-bottom: 0;
    }

    .bodyTxtContainer {
        display: unset;
    }

    .bodyTxt_img {
        width: 100%;
        padding-right: 0;
    }

    .subject {
        width: 100%;
    }

    .lowerWrapper img {
        width: 100%;
    }

    .service_logo {
        margin: 40px 0 30px 0;
    }

    #igakubu .service_logo {
        margin-bottom: 10px;
    }

    .check_list {
        width: 100%;
    }

    .check_list dt {
        line-height: 1.3;
        padding: 13px 10px;
    }

    .check_list dt::after {
        bottom: -21px;
        font-size: 2.3rem;
    }

    .check_list dd {
        padding: 5px 10px 2px 45px;
        text-indent: -32px;
    }

    .check_list.noind dd {
        padding: 20px 10px 10px 10px;
        text-indent: 0px;
    }

    .check_list dd.unchecked {
        padding: 33px 20px 15px 20px;
        text-indent: 0;
    }

    .check_list .fa-check {
        font-size: 1em;
        vertical-align: middle;
    }

    .pageTable__table {
        margin-bottom: 0;
    }

    .pageTable__th {
        line-height: 1.3;
    }

    .reward table,
    .reward p {
        width: 100%;
    }

    .reward_example {
        width: 100%;
        margin-bottom: 25px;
    }

    .reward_example dd img {
        width: 100%;
    }

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

    .segment__th {
        font-size: 1.4rem;
        font-feature-settings: 'palt';
        background-color: #bbab7e;
        line-height: 1.4;
    }

    .only_sp .segment__th.long,
    .only_sp .segment__td.long {
        width: 20%;
    }

    .segment__td {
        padding: 10px 5px;
    }

    #public #mainvBox+section,
    #university #mainvBox+section,
    #igakubu #mainvBox+section,
    #middle-school #mainvBox+section,
    #shiritsu #mainvBox+section {
        box-shadow: none;
    }

    .wrapper {
        padding: 0 20px;
    }

    .lower_wrap_subcont {
        width: 100%;
        padding: 0 10px;
    }

    #leadtxtBox_wrapper {
        background: none;
        margin-top: 0;
        padding: 0;
    }

    #public #leadtxtBox {
        padding-top: 1rem;
        padding-bottom: 0;
    }

    .public.cont04 .bodyTxtContainer,
    .public.cont07 .bodyTxtContainer,
    .pay .bodyTxtContainer {
        display: block;
    }

    #public .left0,
    #university .left0,
    #igakubu .left0,
    #middle-school .left0,
    #shiritsu .left0 {
        padding-left: 0;
    }

    .public.cont02 .reward_example {
        margin: 0 0 1rem 0;
    }

    .public.cont03 .general_h3 {
        margin-bottom: 5px;
    }

    .public.cont03 .aboutBox_wrapper img,
    #university .cont03 .aboutBox_wrapper img {
        margin: 0 auto 1rem auto;
    }

    #university #leadtxtBox_wrapper {
        margin-top: 15px;
    }

    #university .reward_example,
    #igakubu .reward_example,
    #middle-school .reward_example,
    #shiritsu .reward_example {
        width: 100%;
    }

    #for-teachers .treat_favorably .check_list p,
    #middle-school .treat_favorably .check_list p {
        width: 100%;
        padding-left: 0;
    }

    .coaching_fee:after,
    #lp-teachers .treat_favorably .check_list:after,
    #lp-cram .treat_favorably .check_list:after,
    #public .treat_favorably .check_list:after,
    #shiritsu .treat_favorably .check_list:after,
    #middle-school .treat_favorably .check_list:after,
    #for-teachers .treat_favorably .check_list:after,
    #university .treat_favorably .check_list:after {
        content: none;
    }

    /*----------------------------------------------------------------------
    生徒ご紹介までの流れ
    ----------------------------------------------------------------------*/
    #flow .lower_h2 {
        margin-bottom: 40px;
    }

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

    .pay_detail .coaching_fee h4 {
        font-size: 20px;
        border-left: 3px #d30000 solid;
    }

    .pay_detail .coaching_fee .coaching_fee_p1 {
        padding-left: 2em;
        text-indent: -0.5em;
    }

    .pay_detail .coaching_fee .coaching_fee_p2 {
        padding-left: 1.5em;
        text-indent: 0.5em;
    }

    #university .treat_favorably {
        width: 100%;
        padding: 10px;
    }

    #university .bodyTxt_img img {
        display: none;
    }

}


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

    /*----------------------------------------------------------------------
    メインVについて
    ----------------------------------------------------------------------*/

    #university #mainvBox .only_sp,
    #igakubu #mainvBox .only_sp,
    #middle-school #mainvBox .only_sp,
    #shiritsu #mainvBox .only_sp {
        display: block;
    }

    #igaubu .header-title {
        width: 100%;
        height: 270px;
        background: url(../images/recruitment/recruitment_igakubu_mainV.png) 30px 0/cover no-repeat;
    }


    /*----------------------------------------------------------------------
    リード文について
    ----------------------------------------------------------------------*/
    #middle-school #leadtxtBox,
    #shiritsu #leadtxtBox {
        width: 100vw;
    }

    .pageTable__td {
        font-size: 1.4rem;
    }

    /*----------------------------------------------------------------------
    学生講師動画掲載
    ----------------------------------------------------------------------*/
    .public_st_teacher .teachers_voice {
        padding: 20px;
    }

    .public_st_teacher .teachers_voice h4 {
        font-size: 20px;
        text-align: left;
    }

    .public_st_teacher .teachers_voice_inner {
        display: block;
    }

    .public_st_teacher .teachers_voice_inner .left,
    .public_st_teacher .teachers_voice_inner .right {
        width: 100%;
    }

    .public_st_teacher .teachers_voice_inner .left img {
        width: 100%;
        max-width: 200px;
    }
}


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

    /*----------------------------------------------------------------------
    メインVについて
    ----------------------------------------------------------------------*/
    #mainvBox .only_sp {
        display: block;
    }

    #shiritsu .header-title {
        height: 400px;
    }

    #igakubu .header-title {
        height: 450px;
    }

    #middle-school .header-title {
        height: 410px;
    }

    #university .header-title h1,
    #igakubu .header-title h1,
    #shiritsu .header-title h1 {
        font-size: 2.6rem;
    }

    #public .header-title,
    #shiritsu .header-title,
    #middle-school .header-title {
        height: 95.349vw;
        margin-bottom: 20px;
    }

    #university .header-title {
        height: 86.349vw;
        margin-bottom: 20px;
    }

    #shiritsu .header-title h1,
    #public .header-title h1,
    #university .header-title h1,
    #igakubu .header-title h1 {
        font-size: 5.225vw;
    }

    #middle-school .header-title h1 {
        font-size: 7vw;
    }

    #leadtxtBox_wrapper {
        background-size: auto 2.15em;
    }

    #university #leadtxtBox,
    #igakubu #leadtxtBox,
    #middle-school #leadtxtBox,
    #shiritsu #leadtxtBox {
        padding-top: 1rem;
        padding-bottom: 0;
    }

    #university #messageBox_wrapper h2 {
        margin-bottom: 10px;
    }

    #middle-school .service_logo {
        margin-top: 0;
        padding-bottom: 0;
    }

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

    .pay_detail ul li {
        padding-left: .5em;
        text-indent: -1em;
        line-height: 1.3;
    }

    .coaching_fee .coaching_fee_p1 {
        padding-left: 1em;
        text-indent: -0.5em;
    }

    .pay_detail {
        font-size: 18px;
        margin: 0 0 10px;
    }


    .treat_favorably .treatment {
        line-height: 1.3;
        justify-content: center;
        text-align: center;
        font-size: 20px;
    }

    .treat_favorably .check_list {
        padding-left: 0px;
    }

    .treat_favorably .check_list p {
        padding-left: 60px;
    }

    .treat_favorably .check_list p::before {
        top: -3px;
        left: 15px;
        width: 31px;
        height: 32px;
    }

    #middle-school .treat_favorably .treatment {
        font-size: 2rem;
    }

    #shiritsu .treat_favorably:after,
    #public .treat_favorably:after {
        bottom: 0;
        width: 130px;
        height: 96px;
    }

    .coaching_fee p {
        padding-left: 0;
        padding-right: 1em;
    }
}

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

    #shiritsu .header-title h1,
    #public .header-title h1,
    #university .header-title h1 {
        font-size: 6.125vw;
    }

    .segment__td {
        padding: 10px 0;
    }

}

@media screen and (max-width: 375px) {
    #leadtxtBox_wrapper {
        background-size: auto 2em;
    }

    #igakubu .header-title {
        height: 425px;
    }

    #middle-school .header-title {
        height: 380px;
    }

    #public .header-title h1,
    #university .header-title h1,
    #middle-school .header-title h1 {
        font-size: 2.2rem;
    }

    #igakubu .header-title h1 {
        font-size: 2.4rem;
    }

    #middle-school .header-title .mainV_sub {
        font-size: 1.6rem;
    }

    #middle-school #messageBox_wrapper p {
        font-size: 1.3rem;
    }
}


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



    #university .header-title h1,
    #igabu .header-title h1,
    #middle-school .header-title h1,
    #igakubu .header-title h1,
    #shiritsu .header-title h1 {
        font-size: 2.6rem;
    }

    #public .header-title h1 {
        font-size: 2.1rem;
    }

    #middle-school .header-title .mainV_sub {
        font-size: 1.4rem;
    }

    #university #leadtxtBox,
    #igakubu #leadtxtBox,
    #middle-school #leadtxtBox,
    #shiritsu #leadtxtBox {
        padding-top: 1.5625vw;
    }

    #university #leadtxtBox .wrapper,
    #igakubu #leadtxtBox .wrapper,
    #middle-school #leadtxtBox .wrapper,
    #shiritsu #leadtxtBox .wrapper {
        width: 100%;
        padding-left: 4.68%;
        padding-right: 4.68%;
        margin-top: -3.125vw;
    }

    #university #contactBox_wrapper div img:last-child,
    #igakubu #contactBox_wrapper div img:last-child,
    #middle-school #contactBox_wrapper div img:last-child,
    #shiritsu #contactBox_wrapper div img:last-child {
        width: 90%;
    }

    #shiritsu #messageBox_wrapper h2 {
        text-align: left;
        margin-bottom: 2rem;
    }


    /*----------------------------------------------------------------------
   コンテンツ
    ----------------------------------------------------------------------*/
    .segment__th {
        font-size: 1rem;
    }

    #middle-school .header-title {
        height: 340px;
    }

    #university #mainvBox .header-title h1,
    #igakubu #mainvBox .header-title h1,
    #middle-school #mainvBox .header-title h1 {
        font-size: 2.2rem;
    }
}


/***********************************************************************
募集要項　開始まとめ終了  /
***********************************************************************/
/*----------------------------------------------------------------------
休業案内
----------------------------------------------------------------------*/
.information {
    position: relative;
    width: 952px;
    margin: 20px auto 0px;
    padding: 0 0 10px;
    border-bottom: solid 1px #ddd;
}

.information.under_info {
    margin: 1em auto 0;
    padding: 0 0 20px;
}

.information .box-title {
    display: table;
    margin: 0 auto;
    padding: 0 0 .3em;
    line-height: 1.4;
    font-size: 2.1rem;
    background: #FFF;
    color: #000;
    font-weight: bold;
    text-align: center;
}

.information .box-title:nth-of-type(2) {
    margin-top: 0px;
}

.information p {
    margin: 10px 0 20px 0;
    padding: 0;
    font-size: 1.5rem;
    text-align: center;
}

.information p span {
    font-weight: bold;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;

}

.information p img {
    margin: 10px 0 0 0;
}

.information a {
    font-family: inherit;
    text-decoration: underline;
    color: #036eb8;
}

.information a:hover {
    text-decoration: none;
}

@media screen and (max-width:799px) {
    .information {
        position: relative;
        width: calc(100% - 40px);
        margin: 0.5em 20px 0;
        padding: 0.5em 0;
        text-align: center;
    }

    .information .box-title {
        font-size: 1.7rem;
        line-height: 1.2;
        margin: 0;
        display: block;
    }

    .information p {
        text-align: left;
    }
}

/*----------------------------------------------------------------------
応募するボタン について
----------------------------------------------------------------------*/
#for-teachers .entrybtnBox .entryBtn,
#lp-pro-teachers .entrybtnBox .entryBtn,
.university .entrybtnBox .entryBtn,
.public .entrybtnBox .entryBtn,
.middle-school .entrybtnBox .entryBtn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto 50px;
    width: 100%;
    max-width: 600px;
    height: 83px;
    color: #fff;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.4;
    box-shadow: 0 3px 0 #650700;
    border-radius: 50px;
    background: #c80c00;
    padding: 20px 0;
}

#for-teachers .entrybtnBox .entryBtn::before,
.university .entrybtnBox .entryBtn::before,
.public .entrybtnBox .entryBtn::before,
.middle-school .entrybtnBox .entryBtn::before {
    content: none;
}

#for-teachers .entrybtnBox .entryBtn::after,
.university .entrybtnBox .entryBtn::after,
.public .entrybtnBox .entryBtn::after,
.middle-school .entrybtnBox .entryBtn::after {
    content: '▶︎';
    font-size: 12px;
    top: 50%;
    right: 25px;
    position: absolute;
    transform: translateY(-50%);
}

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

@media (max-width: 480px) {

    #for-teachers .entrybtnBox .entryBtn,
    .university .entrybtnBox .entryBtn,
    .public .entrybtnBox .entryBtn,
    .middle-school .entrybtnBox .entryBtn {
        width: 80%;
        font-size: 2.2rem;
    }

    #for-teachers #mainvBox+.entrybtnBox .entryBtn,
    .university #mainvBox+.entrybtnBox .entryBtn,
    .public #mainvBox+.entrybtnBox .entryBtn,
    .middle-school #mainvBox+.entrybtnBox .entryBtn {
        margin: 20px auto 0;
    }
}

@media (max-width: 320px) {

    #for-teachers .entrybtnBox .entryBtn,
    .public .entrybtnBox .entryBtn .university .entrybtnBox .entryBtn {
        font-size: 1.8rem;
    }
}

.cheering_h2 {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #ff0000;
    font-size: 3.6rem;
    font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.cheering_h2 span {
    font-size: 2.8rem;
    color: #000;
}

#cheering {
    background: #fffcf4;
    border: solid 1px #d1cab7;
    padding: 33px 50px 27px 50px;
    margin: 25px 0;
    position: relative;
    border-radius: 10px;
}

.win #cheering {
    padding-bottom: 26px;
}

#cheering::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- transform: translate(-50%, -50%);
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: solid 2px #6a612a;
    border-radius: 5px;
}

#cheering p:first-child {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 835px;
    height: 60px;
    background: #ac0c0c;
    box-sizing: border-box;
    color: #ffffff;
    font-size: 2.6rem;
    line-height: 1.3;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding: 12px 0 6px 50px;
}

#cheering p:first-child::after {
    position: absolute;
    content: "";
    z-index: 1;
    top: 0;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 30px 15px 30px 0;
    border-color: transparent #fffcf4 transparent transparent;
    border-style: solid;
}

#cheering dl {
    padding: 20px 0;
    margin-bottom: 0;
    overflow: hidden;
    clear: both;
    border-bottom: dashed 1px #c4b794;
}

#cheering dl:nth-of-type(1) {
    padding-top: 80px;
}

#cheering dl:last-child {
    padding-bottom: 8px;
    border: none;
}

#cheering dt {
    font-size: 2.0rem;
    line-height: 1.3;
    color: #423b1c;
    float: left;
    width: 160px;
    margin-top: 1px;
    font-weight: bold;
    font-family: dnp-shuei-mgothic-std, sans-serif;
}

#cheering dt strong {
    font-size: inherit;
    line-height: inherit;
}

#cheering dd {
    float: right;
    margin-left: 0;
    width: 615px;
    color: #000000;
    font-size: 1.7rem;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    line-height: 1.5;
}

#cheering dd span {
    display: inline-block;
    font-size: 1.4rem;
    line-height: inherit;
    text-indent: -1.4rem;
    padding-left: 1.4rem;
}

#cheering dd ul li {
    padding-left: 1em;
    text-indent: -1.3em;
}

#cheering dd ul li:before {
    content: "●";
    font-size: 1.2rem;
    margin-right: 1rem;
    color: #ac9b6b;
}

#cheering dd table {
    margin: 20px 0;
}

#cheering dd table td {
    font-weight: bold;
    letter-spacing: .1em;
    padding: 5px 0 5px 1em;
}

#cheering dd table td span {
    color: #e02549;
    font-size: 1.6rem;
    margin-left: .5em;
}

#cheering dd.day {
    font-weight: bold;
    color: #e02549;
}

#cheering dd.day s {
    color: #000;
    margin-right: 1em;
}

@media screen and (max-width:768px) {
    .cheering_h2 {
        font-size: 3.2rem;
    }

    .cheering_h2 span {
        font-size: 2.2rem;
        color: #000;
        line-height: 1.6;
    }

    #cheering {
        margin-bottom: 40px;
        padding: 15px 20px 10px 20px;
    }

    #cheering::before {
        width: calc(100% - 14px);
        height: calc(100% - 14px);
    }

    #cheering p:first-child {
        width: 80%;
        font-size: 2.1rem;
        line-height: 2.2;
        height: 61px;
        margin: 5px 0 18px 0;
        padding: 6px 0 6px 15px;
    }

    #cheering p:first-child::before {
        border-width: 31px 0 30px 15px;
    }

    #cheering p:first-child::after {
        border-width: 31px 15px 30px 0;
    }

    #cheering dl {
        padding: 0 0 25px 0;
        border: none;
    }

    #cheering dt {
        font-size: 2.0rem;
        float: none;
        width: 100%;
        margin-bottom: 8px;
        padding: 0 0 7px 0;
        border-bottom: dashed 1px #c4b794;
    }

    #cheering dd {
        float: none;
        width: 100%;
    }


    #cheering dd span:nth-of-type(1) {
        margin-top: 5px;
    }

    #cheering dd ul li {
        margin-left: 1em;
    }

    #cheering dd table {
        margin: 10px 0;
    }
}


/* mediaWrap for CM movie
    ----------------------------------------- */
.cmWrapConts.wrap {
    width: 100%;
    max-width: 1000px;
}

.cmConts_2col {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cmConts_2col #ContsBg {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    background-image: url(/mega/wp-content/themes/site/images/top/bg_cross.svg);
    padding-bottom: 30px;
    margin-bottom: 50px;
}

.cmConts_2col #mediaWrap {
    display: block;
    padding: 60px 0;
    background: top center/contain no-repeat;
}

.no_webp #mediaWrap {
    background-image: url(/mega/wp-content/themes/site/images/top/media_bg.png);
}

.webp #mediaWrap {
    background-image: url(/mega/wp-content/themes/site/images/top/media_bg.png.webp);
}

.cmConts_2col #mediaWrap h2 {
    text-align: center;
}

.cmConts_2col #mediaWrap h2 span {
    display: block;
    font-size: 2.8rem;
}

.cmConts_2col .serviceMovie_h2 {
    padding-top: 40px;
    margin-bottom: 10px;
}

.cmConts_2col .mediaConts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 10px;
}

.cmConts_2col .mediaConts_box {
    display: flex;
    flex-wrap: wrap;
    margin: 20px auto 30px;
    padding: 0;
    width: calc((100% - 66px) / 2);
    border: none;
    box-shadow: unset;
    background-color: #fff;
}

.cmConts_2col .mediaConts_box:nth-of-type(3n),
.cmConts_2col .mediaConts_box:last-of-type {
    margin-right: auto;
}

.cmConts_2col .mediaBox_h3,
#brandBox .cmConts_2col .mediaBox_h3 {
    padding: 10px;
    color: #202020;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    border: solid #000 2px;
    width: 100%;
    border-bottom: solid 3px #000;
    position: relative;
    background: #fff;
    z-index: 1;
}

.cmConts_2col .mediaBox_imgWrap,
.cmConts_2col .mediaBox_pic {
    margin-top: auto;
}

.cmConts_2col .mediaConts .accordion_tree {
    display: flex;
    margin-top: 30px;
}

.cmConts_2col .mediaBox_h3:before,
.cmConts_2col .mediaBox_h3:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 14%;
}

.cmConts_2col .mediaBox_h3:before {
    border-color: rgba(0, 0, 0, 0);
    border-top-width: 26px;
    border-bottom-width: 26px;
    border-left-width: 9px;
    border-right-width: 9px;
    margin-left: -9px;
    margin-top: 2px;
    border-top-color: #000000;
}

.cmConts_2col .mediaBox_h3:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 20px;
    border-bottom-width: 20px;
    border-left-width: 7px;
    border-right-width: 7px;
    margin-left: -7px;
    border-top-color: #FFFFFF;
}

.cmConts_2col .mediaConts_box a {
    width: 100%;
    position: relative;
    display: block;
}

.cmConts_2col .mediaConts_box a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(https://www.online-mega.com/koukousei/site_wp/wp-content/themes/site/images/pass/pass_movIcon.svg) center center/auto 45px no-repeat;
}

.cmWrapConts.under .ttlTop.cm {
    color: #aa0b0b;
    line-height: 1;
    margin: 0;
    text-align: center;
    font-size: 2.5rem;
}


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

    /* CMメディアエリア
    ----------------------------------------- */
    .cmWrapConts.under .inWrap,
    .cmWrapConts.under .inWrap_sp {
        padding-right: 0;
        padding-left: 0;
    }

    .cmConts_2col {
        display: block;
    }

    .cmConts_2col #ContsBg {
        width: 100%;
    }

    .cmConts_2col #ContsBg {
        background: #f4f4f4;
        padding-top: 20px;
        margin-bottom: 0;
    }

    .cmConts_2col .mediaConts_box {
        width: 100%;
        background: #f4f4f4;
    }

    .cmConts_2col .mediaConts_box {
        margin: 30px auto;
    }

    .cmConts_2col .mediaConts_box a {
        width: calc(100% - 20px);
        margin: 10px auto;
    }

    .cmConts_2col .mediaConts_box a img {
        width: 100%;
        height: auto;
    }
}

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

    /* CMメディアエリア
    ----------------------------------------- */
    .cmConts_2col .mediaConts_box {
        margin: 20px auto;
    }

    .cmConts_2col .mediaBox_h3 {
        font-size: 1.6rem;
    }
}


/*----------------------------------------------------------------------
オンライン動画 メガスタスタイル
----------------------------------------------------------------------*/
#service_movie_bg {
    padding: 30px 0 0px 0;
    text-align: center;
}

#service_movie_subttl {
    display: inline-block;
    text-align: center;
    position: relative;
    font-size: 2.6rem;
    font-weight: bold;
    color: #e75725;
    margin-bottom: 5px;
}

#service_movie_subttl::before {
    content: "/";
    transform: scale(-1, 1);
    position: absolute;
    top: -8px;
    font-size: 3.2rem;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "HGP明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    left: -33px;
}

#service_movie_subttl::after {
    content: "/";
    position: absolute;
    top: -8px;
    font-size: 3.2rem;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "HGP明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    right: -22px;
}

#service_movie_bg h2 {
    font-size: 3rem;
    line-height: 1.2;
    color: #e75725;
    text-align: center;
    margin-bottom: 24px;
}

#service_movie_container {
    width: 880px;
}

#service_movie_container::after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

#service_movie_txt {
    width: 390px;
    text-align: left;
    float: left;
}

#service_movie_txt span {
    display: block;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3;
    padding-bottom: 10px;

}

#service_movie_txt span.indent {
    padding-left: 0em;
    text-indent: -1em;
}

#service_movie_txt span:nth-last-of-type(1) {
    margin-bottom: 10px;
}

#service_movie {
    width: 490px;
    float: right;
}

#service_movie a {
    display: block;
    width: 100%;
    position: relative;
    font-size: 0;
    line-height: 0;
}

#service_movie a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 73px;
    height: 49px;
    background: left top/cover no-repeat;
}

#service_movie a::after {
    background-image: url(/wp/wp-content/themes/teacher/images/common/play_icon.png);
}


#service_movie img {
    width: 100%;
    height: auto;
}

#service_movie p {
    margin-top: 3px;
    text-align: center;
}

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

    #service_movie_subttl {
        font-size: 2.0rem;
    }

    #service_movie_subttl.only_pc {
        display: none;
    }

    #service_movie_subttl::before {
        top: -6px;
        font-size: 2.6rem;
        left: -33px;
    }

    #service_movie_subttl::after {
        top: -6px;
        font-size: 2.6rem;
        right: -29px;
    }

    #service_movie_bg h2 {
        font-size: 2.6rem;
        margin-bottom: 13px;
    }

    #service_movie_container {
        width: 100%;
        text-align: center;
    }

    #service_movie_txt {
        width: auto;
        float: none;
        margin: 0 auto 10px auto;
        line-height: 1.5;
    }

    #service_movie_txt span {
        font-size: 2.0rem;
        line-height: 1.4;
        padding-bottom: 0;
    }

    #service_movie_txt span:nth-last-of-type(1) {
        margin-bottom: 5px;
    }

    #service_movie_container .arr {
        width: 100px;
        margin: auto;
    }

    #service_movie {
        width: 100%;
        float: none;
    }

    #service_movie a::after {
        width: 60px;
        height: 43px;
    }

    #service_movie_embed {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }

    #service_movie_embed iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    #service_movie p {
        text-align: left;
        line-height: 1.5;
        margin-top: 5px;
    }
}

@media screen and (max-width: 320px) {
    #service_movie_bg h2 {
        font-size: 2.2rem;
    }

    #service_movie_txt span {
        font-size: 1.8rem;
    }
}


/*----------------------------------------------------------------------
メディア紹介　について
----------------------------------------------------------------------*/
.mediaWrap.accordion_tree {
    margin-top: 40px;
}

.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 {
    padding: 0;
}

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

.mediaConts_ttl span {
    display: block;
    margin-bottom: 8px;
    font-size: 2rem;
}

.mediaLists {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    grid-gap: 25px 20px;
    grid-gap: clamp(10px, 2.667vw, 25px) 20px;
    margin-bottom: 30px;
}

@media screen and (min-width: 520px) {
    .mediaLists.list_2 {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 353px));
        justify-content: center;
    }
}

.mediaWrap:not(.inner) .mediaLists {
    margin-bottom: 40px;
}

.mediaBox_cont {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    padding: 15px;
    padding: min(2.667vw, 15px);
    width: 100%;
    border: 1px solid #555;
    background-color: #fff;
}

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

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

.mediaWrap .accdWrap {
    margin-bottom: 40px;
}

.mediaWrap:not(.inner) .accdWrap {
    margin-bottom: 50px;
}

.mediaWrap .accdWrap_inner {
    margin-top: 30px;
    padding: 0;
    max-width: 100%;
}

.mediaWrap:not(.inner) .accdWrap_inner {
    margin-top: 40px;
}

@media (max-width: 768px) {
    .mediaWrap {
        padding: 70px 0 5px;
        background-position: right 8px top 30px;
        background-size: 111.6vw auto;
    }

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

    .mediaWrap:not(.inner) .accdWrap {
        padding-inline: 20px;
    }
}

@media (max-width: 480px) {
    .mediaWrap {
        padding: 50px 0 1px;
    }

    .mediaConts_box {
        padding: 0 20px;
    }

    .mediaConts_ttl {
        font-size: 2.3rem;
    }

    .mediaConts_ttl span {
        font-size: 1.6rem;
    }

    .ttlTop {
        margin-bottom: 20px;
    }
}

.mediaWrap.inner {
    margin: 10px auto 30px;
    padding: 30px 7.5% 20px;
    max-width: 1000px;
    width: 100%;
    background: #fff6ed;
}

.mediaWrap.inner .mediaConts {
    width: 100%;
    max-width: 880px;
}

.mediaWrap.inner .mediaConts_ttl {
    margin-bottom: 30px;
    text-align: center;
    font-size: 2.8rem;
    font-family: var(--ffSerif);
    line-height: 1.3;
}

.mediaWrap.inner .mediaLists {
    grid-column-gap: 15px;
}

.mediaWrap.inner .mediaBox_cont p {
    margin-bottom: 7px;
    font-size: 1.6rem;
}

@media not screen and (max-width: 768px) {
    .mediaWrap.inner {
        margin-block: 30px 0;
        padding-inline: 20px;
    }
}

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

    .mediaWrap.inner .mediaConts_ttl {
        margin-bottom: 25px;
    }
}


/*----------------------------------------------------------------------
メディアスライダー
----------------------------------------------------------------------*/
.mediaWrap_slide {
    padding: 20px 0;
    background: url(/wp/wp-content/themes/teacher/images/top/introFlow_bg.svg) 50% -179px/1434px auto no-repeat, #e0e4e7;
}

#media_slider {
    margin: 20px auto;
}

.mediaslider .slick-slide {
    margin-right: 53px;
    width: 300px;
}

.mediaslider .slick-arrow,
.mediaslider .slick-arrow::after {
    position: absolute;
    width: 44px;
    height: 44px;
    font-size: 0;
    border: 0;
    z-index: 1;
    background: none;
}

.mediaslider .slick-arrow {
    transform: translateY(-50%);
    top: 50%;
}

.mediaslider .slick-prev {
    right: calc(100% + -80px);
}

.mediaslider .slick-next {
    left: calc(100% + -80px);
}

.mediaslider .slick-arrow::after {
    position: absolute;
    width: 44px;
    height: 44px;
    font-size: 0;
    border: 0;
    z-index: 1;
    background: none;
}

.mediaslider .slick-arrow::after {
    content: "";
    top: 0;
    left: 0;
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.mediaslider .slick-prev::after {
    background-image: url(/wp/wp-content/themes/teacher/images/top/teacher_prev.svg);
}

.mediaslider .slick-arrow::after {
    content: "";
    top: 0;
    left: 0;
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.mediaslider .slick-next::after {
    background-image: url(/wp/wp-content/themes/teacher/images/top/teacher_next.svg);
}

@media (max-width: 768px) {
    .mediaslider .slick-prev {
        right: calc(100% + -50px);
    }

    .mediaslider .slick-next {
        left: calc(100% + -50px);
    }
}

/*----------------------------------------------------------------------
講師紹介
----------------------------------------------------------------------*/
.teacher_voice {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    align-items: top
}

.teacher_voice li {
    width: calc(50% - 10px);
    margin-bottom: 20px;
    padding: 15px;
    border: solid 2px #6495B1;

}

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

}

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

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

.teacher_voice li p.CatchTxt {
    width: 65%;
    height: auto;
    font-size: 2rem;
    color: #d30000;
    line-height: 1.4;
    font-weight: 700;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.teacher_voice li p.CatchTxt span {
    color: #000;
    height: auto;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 700;
}

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

@media (max-width: 640px) {

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

    .teacher_voice li p.CatchName {
        width: 30%;
    }

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

.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: 100vh;
}

.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;
}


/*----------------------------------------------------------------------
募集条件　指導報酬　
----------------------------------------------------------------------*/
.u_line_h3 {
    color: #222222;
    font-weight: bold;
    font-size: 2.8rem;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    margin-top: 30px;
    margin-bottom: 15px;
    padding: 0 0 0 20px;
    border-left: solid 4px #DB782B;
}

.headTxt {
    line-height: 1.3;
    font-weight: 700;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

.systemBoxTtl {
    display: flex;
    align-items: center;
    margin: 30px 0 10px;
    font-weight: bold;
    font-size: max(1.7rem, min(4.8vw, 2rem));
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
}

.systemBoxTtl::before {
    content: '';
    flex-shrink: 0;
    margin-right: 8px;
    width: 15px;
    height: 15px;
    border-radius: 100px;
    background-color: #000;
}

.systemBoxRow_txt {
    width: 100%;
    line-height: 1.3;
    font-size: 1.5rem;
    -webkit-font-feature-settings: "halt";
    font-feature-settings: "halt";
    border: solid #dedede;
    border-width: 0 0 0 2px;
}

.systemBoxRow_txt.line {
    position: relative;
    background: #ededed;
}

.systemBoxRow_txt.line:before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(-8deg);
    background-color: #aaa;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
}

.systemBoxRow_txt span {
    display: block;
    font-size: 1.3rem;
}

@media screen and (min-width: 601px) {
    .systemBoxTtl {
        margin: 30px 0 10px 20px;
    }

    .systemBox {
        margin: 0 20px 10px;
        border: solid #DB782B;
        border-width: 0 2px 2px;
    }

    .systemBox_row {
        margin-bottom: 0;
    }

    .boxRow {
        display: flex;
    }

    .systemBox_head::before,
    .systemBoxRow_ttl {
        width: 210px;
    }

    .systemBox_head {
        height: 35px;
        background-color: #DB782B;
    }

    .systemBox_head::before {
        content: "";
        flex-shrink: 0;
        border-right: 2px solid #DDDEDE;
        width: 212px;
    }

    .boxRow_head {
        display: none;
    }

    .systemBoxHead_txt {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
        width: 100%;
        color: #fff;
        font-size: 1.5rem;
        text-align: center;
    }

    .systemBoxHead_txt.boxRow_r {
        border-left: 2px solid #DDDEDE;
    }

    .systemBox_row:not(:last-of-type) .systemBoxRow_ttl {
        border-bottom: 2px solid #dedede;
    }

    .systemBox_row:not(:last-of-type) .systemBoxRow_txt {
        border-bottom-width: 2px;
    }

    .systemBoxRow_ttl {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        padding-left: 12px;
        font-size: 1.5rem;
        background-color: #fff5f8;
    }

    .systemBoxRow_txt {
        flex-grow: 1;
        padding: 13px 12px;
    }
}

@media screen and (min-width: 601px) and (max-width: 768px) {

    .systemBox_head::before,
    .systemBoxRow_ttl {
        width: 120px;
    }

    .systemBoxHead_txt,
    .systemBoxRow_ttl {
        font-size: 1.4rem;
        line-height: 1.2;
    }

    .systemBox_head {
        position: sticky;
        top: 0;
        height: 40px;
    }
}

@media screen and (max-width: 600px) {
    .u_line_h3 {
        margin-top: 20px;
        margin-bottom: 3px;
        padding: 2px 0 0 10px;
        font-size: 2rem;
    }

    .systemBox {
        margin-bottom: 30px;
    }

    .boxRow {
        display: grid;
        grid-template-rows: repeat(3, auto);
        grid-template-columns: auto 2fr;
        border: solid #DB782B;
        border-width: 0 2px 2px;
    }

    .boxRow:not(:last-of-type) {
        margin-bottom: 10px;
    }

    .boxRow_head {
        grid-column: 1;
        grid-row: 2/4;
        background-color: #fff5f8;
    }

    .systemBox_head {
        display: none;
    }

    .systemBoxRow_ttl {
        display: flex;
        justify-content: center;
        align-items: center;
        grid-column: 1/3;
        width: 100%;
        font-size: 1.4rem;
        height: 30px;
        color: #fff;
        text-align: center;
        background-color: #DB782B;
    }

    .systemBoxRow_txt,
    .boxRow_head div {
        padding: 10px 7px;
    }

    .boxHead_top,
    .boxRow_l {
        border-bottom: 1px solid #dedede;
    }

    .boxRow_l,
    .boxRow_r {
        border-left-width: 1px;
    }

    .boxRow_head div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        font-size: 1.2rem;
        font-size: max(1rem, min(3.467vw, 1.4rem));
    }

    #middle-school .boxRow_head div {
        height: 100%;
    }

    .boxHead_top {
        height: calc(50% + 1px);
    }

    .boxHead_btm {
        height: 50%;
    }

    .systemBoxRow_txt {
        font-size: max(1.4rem, min(4vw, 1.5rem));
    }

    #middle-school .systemBoxRow_txt {
        padding-top: 18px;
        padding-bottom: 18px;
        display: flex;
        align-items: center;
    }

    .boxRow_head span,
    .systemBoxRow_txt span {
        font-size: 1.2rem;
        font-size: max(1.1rem, min(3.2vw, 1.2rem));
    }
}


.person {
    margin: 40px 20px 0;
    border: solid 2px #dd782b;
}

.person dt {
    color: #000;
    text-align: center;
    font-size: 2.8rem;
    font-weight: bold;
    padding: 16px 0;
    position: relative;
    background: #fff7ed;
}

.person dt.orange_ttl {
    background: #fff7ed;

}

.person dd {
    color: #231714;
    font-size: 1.7rem;
    padding: 40px;
    position: relative;
    border-top: solid 1px #dd782b;
}

.person dd strong {
    margin-top: 1em;
    display: block;
}

.person dt::after {
    content: "▶︎";
    position: absolute;
    left: 50%;
    bottom: -30px;
    font-size: 2.3rem;
    transform: translateX(-50%) rotate(90deg);
    -webkit- transform: translateX(-50%) rotate(90deg);
    z-index: 1;
    color: #dd782b;
}

.person dt.orange_ttl::after {
    color: #dd782b;
}

.person dt.blue_ttl::after {
    color: #6795b1;
}

@media screen and (max-width: 768px) {
    .person {
        width: 100%;
        margin: 40px auto 0 auto;
    }

    .person dt {
        font-size: 2.2rem;
        line-height: 1.3;
        padding: 13px 10px;
    }

    .person dt::after {
        bottom: -24px;
    }

    .person dd {
        padding: 25px 10px 2px 10px;
    }
}



/* accordion
----------------------------------------- */
.accdWrap_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 5px 35px;
    max-width: 600px;
    width: 100%;
    min-height: 50px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.3;
    border-radius: 100px;
    border: 3px solid #dcdcdc;
    background-color: #fff;
    cursor: pointer;
}

.ie .accdWrap_btn {
    padding: 10px;
}

.accdWrap_btn::before,
.accdWrap_btn::after {
    content: '';
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 15px;
    width: 15px;
    height: 2px;
    background-color: #000;
    transition: .3s;
}

.accdWrap_inner:not(.open) {
    display: none;
}

.accdWrap_btn:not(.active)::after {
    transform: translateY(-50%) rotate(-270deg);
}

@media screen and (max-width: 480px) {
    .accdWrap_btn {
        font-size: 1.6rem;
        font-size: max(4.267vw, 1.4rem);
    }

    .accdWrap_btn::before,
    .accdWrap_btn::after {
        width: 14px;
        height: 3px;
    }
}

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


.closingTtl {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px 0 20px;
    margin: min(13.333vw, 80px) 0 min(5.333vw, 40px);
    padding: 13px 15px 13px 10px;
    min-height: 130px;
    min-height: min(34.667vw, 140px);
    background: url(/wp/wp-content/themes/teacher/images/common/lower_h2_bg02.png) 0 0/cover repeat #f7ebd8;
}

.closingTtl::before {
    content: "";
    flex-shrink: 0;
    margin: 0 10px 0 auto;
    margin-right: min(2.667vw, 20px);
    width: 57px;
    width: min(15.2vw, 65px);
    height: 57px;
    height: min(15.2vw, 65px);
    background: url(/wp/wp-content/themes/teacher/images/reason/reason_closing_icon.svg) 0 50%/contain no-repeat;
}

.closingTtl h2 {
    margin: 0 auto 0 0;
    padding: 0;
    width: 100%;
    max-width: 855px;
    font: 700 2.4rem/1.3 YakuHanMP, 'Noto Serif JP', serif;
    font-size: max(2.2rem, min(6.4vw, 3.6rem));
}

@media screen and (min-width: 835px) {
    .closingTtl h2 {
        font-size: 3.8rem;
    }
}



.ie .closingTtl {
    justify-content: flex-start;
    padding-top: 40px;
    padding-bottom: 40px;
}

/*最短１分で簡単申し込みの中のbtn*/
.step1 .closingCtaBox_entry,
.step1 .closingCtaBox_tel {
    padding: 25px 40px;
}

.step1 .entryLink {
    width: 79.167vw;
}

.step1.reazonBox_wrapper .entryLink_sub {
    margin-right: 30px;
}

.step1.reazonBox_wrapper .closingCtaBox_entry .entryLink_main {
    margin-right: 10px;
    font-size: 2rem;
    width: 100%;
    text-align: center;
}

@media screen and (min-width: 769px) {
    .step1.reazonBox_wrapper .closingCtaBox_entry .entryLink_main {
        font-size: 3.1rem;
        margin-right: 30px;
    }
}

.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;
}


#reazonBox1 {
    margin-top: 80px;
}

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

.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;
}

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

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

.reazonBox_wrapper h3:not(.reasponH3_main) {
    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;
}

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

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

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

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

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

/*----------------------------------------------------------------------
    選ばれる理由 について
    ----------------------------------------------------------------------*/
/*.reazonBox_wrapper {
        padding: 6.25vw 6.25vw;
    }*/
.reasponH3_sub {
    margin-bottom: 10px;
    font-size: 1.8rem;
    line-height: 1.2;
}

.reasponH3_main {
    font-size: 2.4rem;
    line-height: 1.3;
}

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

.stepno {
    font-size: 2.8rem;
}

.reazonBox_wrapper img {
    margin: 2rem auto;
}
}

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

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

    .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;
    }

    .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;
    }

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

    .introFlow2colBox_ttl {
        font-size: 2.5rem;
    }

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

}

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

.introFlowBox_ttl h3 {
    margin: 3rem 0 0;
    margin-bottom: 12px;
    padding: 0;
    text-align: center;
}

@media screen and (max-width: 480px) {
    .introFlow {
        padding: 15px 0 1px;
    }

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

    .introFlow_conts {
        padding: 0 33px;
    }

    .introFlowConts_ttl {
        font-size: 2.5rem;
    }

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

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

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

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

    .reazonBox_wrapper h3,
    #reazonBox3 h3 {
        margin: 2.3rem 0 1.8rem;
    }

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

    .introFlowBox_txt .ttl_about {
        font-size: 1.8rem;
        margin-bottom: 10px;
    }

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

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

    .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: 19px;
        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;
    }
}

@media screen and (min-width: 769px) {
    .entryLink_sub {
        line-height: 1.2;
        flex-shrink: 0;
        font-feature-settings: "palt";
    }

}

.flow1 .entryLink_sub {
    margin-right: 35px;
}

.segment_btn_ttl {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.segment_btn_ttl::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    max-width: 730px;
    background: #333;
    z-index: -1;
}

.segment_btn_ttl p {
    display: inline-block;
    font-weight: bold;
    font-size: 2.5rem;
    margin-bottom: 0;
    padding: 0 10px 10px;
    background: #fff;
    line-height: 1.2;
    text-align: center;
}

.asterisk {
    text-align: center;
    margin-top: 8vw;
    margin-bottom: 0;
}

.segment_btn {
    margin-right: 20px;
    margin-bottom: 40px;
    margin-left: 20px;
}

@media screen and (min-width: 769px) {
    .segment_btn {
        display: flex;
        align-items: flex-end;
        max-width: 730px;
        margin: 0 auto 40px;
        justify-content: space-between;
    }
}

.segment_btn a:hover {
    transform: translateY(2px);
    transition: .2s all;
}

.flow1 .entry {
    width: 100%;
}

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

    .flow1 .closingCtaBox_entry .entryLink_main,
    .closingCtaBoxTel_mainSp {
        font-size: 2rem;
    }
}