@charset "utf-8";

:root {
    --scroll-padding-top-pc: 260px;
}

/*----------------------------------------------------------------------------------------------------
サイト共通
----------------------------------------------------------------------------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', Hiragino Kaku Gothic Pro, 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', san-serif;
    font-size: 1rem;
    line-height: 1.2;
    color: #202020;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--scroll-padding-top-pc) !important;
}

main {
    padding-top: 150px;

    &:not(.overflow-no) {
        overflow: hidden;
    }
}

.serif {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h2 {
    line-height: initial;
}

h2.section-title {
    margin: 50px 0 30px;
}

.font-yellow {
    color: yellow;
}

a.td_ul {
    text-decoration: underline;
}

.single .post a {
    text-decoration: underline;
    color: #0054a2;
}

article {
    margin-bottom: 50px;
}

#wrap {
    margin: 20px auto 0;
    padding-inline: 20px;
    min-height: calc(100vh - 407px);

    @media screen and (max-width:767px) {
        padding-inline: 0;
    }
}

.wrap-inner,
.w_center {
    width: 1180px;
    margin: 0 auto;
}

.w_center {
    margin-bottom: 100px;
}

section.withSideNavi {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 40px;

    .com_subbox-02 {
        flex: 1;
    }

    .news_othercon {
        flex: 3;
    }

    .news_ohterimg {
        flex: 1;
    }
}

.strengths_subtil {
    padding: 5% 0 1%;
    font-size: 24px;
    font-weight: bold;
}

.block {
    display: block;
}

/*ページネーション*/

.pagination {
    text-align: center;
    font-size: 1.2rem;

    span.page-numbers.current {
        color: blue;
        font-weight: bold;
        text-decoration: underline;
    }
}

@media only screen and (max-width:1180px) {
    body.ver04 .wrapper {
        padding: 0 20px;
    }
}


/*----------------------------------------------------------------------------------------------------
HEADER
----------------------------------------------------------------------------------------------------*/
header {
    margin: 0;
    padding: 10px 20px;
    clear: both;
    width: 100%;
    height: auto;
    position: fixed;
    background: #fff;
    box-sizing: border-box;
    z-index: 10;
}

.header_box {
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    clear: both;
    max-width: 1180px;
    width: 100%;
}

.header_contr {
    width: 44%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    float: right;
}

.header_contr ul li {
    float: left;
    padding: 0 0 0 2%;
    width: 48%;
}

.header-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.header_logo-ver04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.header_logo-child:first-child {
    margin-right: 10px;
}

.header_contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.header_tel {
    font-size: 2rem;
    font-weight: bold;
    margin-right: 20px;
}

.header_mail {
    background: #f8f8f8;
    padding: 10px;
    font-weight: bold;
}

.header_mail-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header_mail i.far.fa-envelope {
    font-size: 2rem;
}

.mobi-opener-position-right {
    text-align: right;
}

/* .top-slider-sp {
    display: none !important;
} */

.breadcrumbs {
    margin-top: 40px;

    a {
        color: #1a73e8;
    }
}

.menu {
    display: block;
    height: auto;
    margin: 0;
    padding: 15px 0 0 0;
    overflow: hidden;
    clear: both;
    color: #0068b7;
    font-size: 18px;
    line-height: 36px;
    font-weight: bold;
}

.menu ul {
    margin: 0;
    padding: 0;
}

.menu ul li {
    float: left;
    cursor: default;
}

.menu ul li a {
    color: #0068b7;
}

@media only screen and (max-width:1050px) {
    .menu {
        font-size: 12px;
    }
}

@media only screen and (max-width:950px) {
    .header_logo-ver04 {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }
}

@media only screen and (max-width:767px) {
    .header-wrap {
        align-items: flex-start;
    }

    .sp.header_spmenubox {
        width: 150px;
    }

    .header-title {
        font-size: .8rem;
    }

    .header_logo-child:first-child {
        margin-right: 0;
    }

    .menu {
        display: none;
    }

    .header_logo {
        padding: 0;
        width: 48%;
    }

    .header_logo,
    .header_contr {
        width: 80%;
        padding: 1% 0 0 0;
    }

    .header_contr {
        width: 42%;
        float: left;
    }

    /* .top-slider {
        display: none !important;
    }

    .top-slider-sp {
        display: block !important;
    } */
}

@media only screen and (max-width:480px) {
    .sp.header_spmenubox {
        width: auto;
    }
}


/*----------------------------------------------------------------------------------------------------
FOOTER
----------------------------------------------------------------------------------------------------*/

footer {
    position: relative;
    /* z-index: 100; */
}

.banner-katekyo {
    margin-top: 20px;
}

.footer_mobile {
    display: none;
}

.footer_box {
    margin: 0;
    padding: 15px 0 30px 0;
    overflow: hidden;
    clear: both;
}

.footer_cont {
    background: url(../images/footer_bg.jpg) no-repeat center;
    height: 283px;
    padding: 30px 0 0 60px;
}

.footer_logo {
    margin: 0;
    padding: 0 0 30px 0;
}

.footer_under {
    margin: 0;
    padding: 10px;
    overflow: hidden;
    clear: both;
    background: #1e6daf;
    font-size: 18px;
    line-height: 30px;
    text-align: center;
}

.footer_menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-around;
    max-width: 1180px;
    margin: 0 auto;
    font-size: smaller;
}

.footer_menu a {
    color: #fff;
}

.footer_menu-first,
.footer_menu-second,
.footer_menu-last {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    text-align: left;
    color: #fff;
}

.copyright {
    margin: 0;
    padding: 10px;
    overflow: hidden;
    clear: both;
    background: #303030;
    font-weight: bold;
    color: #fff;
    font-size: 24px;
    line-height: 36px;
    text-align: center;
}

@media only screen and (max-width:767px) {
    .footer_mobile {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        background: #fff;
        z-index: 1;
    }

    .footer_mobile img {
        display: block;
    }

    .footer_under {
        display: none;
    }

    .footer_link {
        width: 31%;
    }

    .footer_box {
        padding: 0 0 30px 0;
    }

    .footer_cont {
        background: none;
        height: auto;
        padding: 30px 0 0 0;
        text-align: center;
    }

    .copyright {
        font-size: 16px;
        line-height: 24px;
        text-align: center;
        padding-bottom: 20%;
    }

}

/*----------------------------------------------------------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------------------------------------------------------*/

.nav-bar {
    background: #C49D38;
    position: fixed;
    width: 65px;
    top: 25px;
    right: 15px;
    height: 65px;
    z-index: 100;
    border-radius: 10px;
}

#nav-open {
    display: inline-block;
    width: 35px;
    height: 35px;
    vertical-align: middle;
    position: absolute;
    left: 0;
    right: 0;
    top: 5px;
    bottom: 0;
    margin: auto;
}


/*ハンバーガーアイコンをCSSだけで表現*/

#nav-open span,
#nav-open span:before,
#nav-open span:after {
    position: absolute;
    transition: all 0.4s;
    height: 3px;
    /*線の太さ*/
    width: 35px;
    /*長さ*/
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer;
    z-index: 9999;
    /*最前面*/
}

#nav-open span:before {
    bottom: -12px;
}

#nav-open span:after {
    bottom: -24px;
}


/*中身*/

#globalMenuSp .target {
    z-index: 1;
    display: none;
    margin: 0 auto;
    padding: 0;
    color: #fff;
}

nav#globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    color: #000;
    background: #323232;
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 100%;
    height: 100%;
    overflow: scroll;
}

nav#globalMenuSp ul {
    padding: 100px 0;
}

nav#globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    text-align: left;
}

nav#globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

nav#globalMenuSp ul li:hover {
    background: #c49d38;
}

.trigger.active+ul.target {
    background: #97782a !important;
}

nav#globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: .8rem 15px;
    text-decoration: none;
    position: relative;
}

nav#globalMenuSp ul li .trigger a:before {
    position: absolute;
    display: block;
    content: '';
    width: 3px;
    background-color: #fff;
    -webkit-transition: .25s all ease;
    transition: .25s all ease;
    border-radius: 10px;
    top: calc(50% - 5px);
    right: 20px;
    height: 12px;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

nav#globalMenuSp ul li .trigger a:after {
    position: absolute;
    display: block;
    content: '';
    width: 3px;
    background-color: #fff;
    -webkit-transition: .25s all ease;
    transition: .25s all ease;
    border-radius: 10px;
    top: calc(50% - 5px);
    right: 13px;
    height: 12px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

nav#globalMenuSp ul li .trigger.active a:before {
    top: calc(50% - 7px);
    right: 16px;
    height: 12px;
}

nav#globalMenuSp ul li .trigger.active a:after {
    top: calc(50% - 7px);
    right: 24px;
    height: 12px;
}


/* このクラスを、jQueryで付与・削除する */

nav#globalMenuSp.active {
    transform: translateX(0%);
}


/*三本線を動かす*/

#nav-open.active span {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
    background-color: #fff;
    bottom: 0;
    top: -20px;
    margin: auto;
}

#nav-open.active span:before {
    -webkit-transform: translateY(-8px) rotate(45deg);
    /*打ち消す*/
    transform: translateY(-8px) rotate(45deg);
    /*打ち消す*/
    opacity: 0;
}

#nav-open.active span:after {
    -webkit-transform: translateY(-24px) rotate(45deg);
    transform: translateY(-24px) rotate(90deg);
    background-color: #fff;
}


/*----------------------------------------------------------------------------------------------------
ドロップメニュー
----------------------------------------------------------------------------------------------------*/

.dropmenu {
    zoom: 1;
    list-style-type: none;
    margin: 5px auto 30px;
    padding: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.dropmenu:before,
.dropmenu:after {
    content: "";
    display: table;
}

.dropmenu:after {
    clear: both;
}

.dropmenu li {
    margin: 0;
    padding: 0;
    text-align: center;
}

.dropmenu li a {
    margin: 0;
    padding: 15px 0 11px;
    line-height: 1;
    text-decoration: none;
}

.dropmenu li ul {
    list-style: none;
    position: absolute;
    z-index: 9999;
    margin: 0;
    padding: 0;
    width: 125px;
    background: #fff;
    opacity: .8;
}

.dropmenu li ul.gmenu_contact,
.dropmenu li ul.gmenu_down {
    width: 230px;
}

.dropmenu li ul li {
    width: 100%;
}

.dropmenu li ul li a {
    padding: 13px 7px;
    text-align: left;
    border-top: 1px solid #c0ddf8;
    display: block;
}

#dropmenu li ul li {
    overflow: hidden;
    height: 0;
    transition: .2s;
}

#dropmenu li:hover ul li {
    overflow: visible;
    height: 38px;
    text-align: left;
}

@media only screen and (max-width:1450px) {
    .dropmenu li ul.gmenu_contact {
        right: 0;
    }

    .dropmenu li ul.gmenu_down {
        right: auto;
    }
}

/*----------------------------------------------------------------------------------------------------
サイドナビ
----------------------------------------------------------------------------------------------------*/

.side_01 .fb-r {
    flex-wrap: wrap;
    justify-content: center;
}

.side-school {
    background: #b4b4b4;
    position: relative;
    margin-bottom: 5px;
    text-align: left;
}

.side-school:before {
    content: "";
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 25px;
}

.side-school a {
    color: #fff;
    font-size: 14px;
    display: block;
    width: 100%;
    /* height: 100%; */
    padding: 10px 10px 10px 50px;
    line-height: 1;
}

aside.side-nav {
    &.pc {
        width: 200px;
        position: sticky;
        top: 0;
        margin-top: -200px;
    }

    &.sp {
        width: 100%;
        text-align: center;

        .side-gakuin-sp {
            margin-bottom: 40px;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
フォーム
----------------------------------------------------------------------------------------------------*/

section#form h2,
#form h4 {
    text-align: center;
}

#form h4 {
    margin: 25px 0 50px;
    font-size: large;
    margin-inline: 20px;
}

.contact_table-form {
    margin-bottom: 20px;
}

.contact_til {
    margin: 10px 0;
    padding: 3px 10px;
    overflow: hidden;
    clear: both;
    background: #cccccc;
    font-weight: bold;
    font-size: 16px;
}

div#form .contact_til {
    margin: 10px 0 0;
}

.contact_table {
    margin: 10px 0 20px;
    padding: 0;
    overflow: hidden;
    clear: both;
    width: 100%;
    font-size: 16px;
}

.contact_table.simple {
    border: 1px solid #b7b7b7;
    padding: 5px;
}

.contact_table.simple th {
    width: 20%;
    text-align: left;
    background-color: #eaeaea;
    padding: 5px;
    border-bottom: 1px dotted #b7b7b7;
    vertical-align: middle;
}

.contact_table.simple td {
    padding: 5px;
    border-bottom: 1px dotted #b7b7b7;
}

.contact_table_radio {
    margin-bottom: 20px;
    padding: 0;
    overflow: hidden;
    clear: both;
    width: 100%;
    font-size: 16px;
}

.contact_table_radio tbody {
    vertical-align: top;
}

.contact_table td,
.contact_table_radio td {
    width: 50%;
    padding: 5px 0;
}

.contact_table input {
    font-size: 16px;
    padding: 3px;
    color: #2e2e2e;
    width: 100%;
    box-sizing: border-box;
}

.contact_table_radio input,
input[type="checkbox"],
input[type="radio"] {
    width: auto;
}

.contact_note {
    color: #00a1e9;
    clear: both;
    overflow: hidden;
    padding: 5px 0 0 0;
    font-size: 14px;
    line-height: 18px;
}

.contact_table td textarea {
    width: 90%;
    height: 80px;
    font-size: 16px;
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', Hiragino Kaku Gothic Pro, 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', san-serif;
    padding: 3px 3px 0 4px;
}

.contact_table select,
select,
select[name="course"],
select[name="place"] {
    border: 1px solid #d3d3d3;
    border-radius: 0;
    padding: 3px;
    font-size: 16px;
    /* background: url(../images/ui_bg.png) 50% 50% repeat-x; */
    background: #f5f5f5;
    color: #555;
    width: 200px;
}


/* select[name="place"] {
padding: 5px;
width: 30%;
margin-bottom: 20px;
} */

textarea[name="message"] {
    width: 100% !important;
    box-sizing: border-box;
}

.contact_table td a {
    color: #00a1e9;
    text-decoration: underline;
}

.mw_wp_form {
    clear: both;
    margin-top: -150px;
    padding-top: 150px;
}

.form-post {
    margin: 20px auto 0;
    position: relative;
}

input[name="family-name"],
input[name="first-name"] {
    box-sizing: border-box;
}

div.mfp_buttons {
    clear: both;
    padding: 10px 0px;
    text-align: center;
}

div.mfp_buttons input,
div.mfp_buttons button {
    text-align: center;
    width: 170px;
    height: 45px;
    margin: 2% 10px;
    font-weight: bold;
    text-align: center;
    border: none;
    background: url(../images/contact_btn.png) no-repeat;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
}

.thanks-message {
    font-size: 140%;
    font-weight: bold;
    background: #0068b7;
    color: #fff;
    padding: 30px 10px;
    margin-top: 20px;
    text-align: center;
    line-height: 2.5rem;
    margin-bottom: 50px;
}

.mw_wp_form_complete p {
    font-size: 1.5rem;
    font-weight: bold;
    background: #1e6daf;
    text-align: center;
    padding: 50px 0;
    line-height: 1.2;
    margin-top: 50px;
    color: #fff;
}


/*--------------------------------------------break point-------------------------------------------------*/

@media only screen and (max-width:767px) {
    .form-post {
        width: 100%;
    }

    .form-post .section {
        margin: 0;
    }

    .contact_table.simple th,
    .contact_table.simple td {
        display: block;
        width: 100%;
        border-bottom: 0;
        box-sizing: border-box;
    }

    /* input[name="family-name"],
input[name="first-name"] {
margin-bottom: 20px;
} */
    .contact_table input {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width:480px) {
    select[name="place"] {
        width: 100%;
    }
}


/*----------------------------------------------------------------------------------------------------
TOP
----------------------------------------------------------------------------------------------------*/
.KV-main {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    @media screen and (max-width:767px) {
        flex-direction: column;
    }

    .KV-img {
        max-width: 850px;

        @media screen and (max-width:767px) {
            max-width: 100%;
            width: 100%;

            img {
                margin: 0 auto;
            }
        }
    }

    .school-slider {
        max-width: 310px;
        width: 27%;

        @media screen and (max-width:767px) {
            max-width: 100%;
            width: 100%;
        }

        .slick-slide img {
            margin: 0 auto;
        }

        .slick-dots li button:before {
            font-size: 30px;
        }
    }
}

#top-202201 hr {
    margin: 50px 0;
    background: #31597f;
    height: 3px;
}

.top-banner {
    width: calc(50% - 10px);
}

.top-school {
    max-width: 501px;
    width: calc(50% - 20px);
    margin-bottom: 10px;
}

.top-school:nth-child(2n+1) {
    margin-right: 20px;
}

section.class-top .flex:after {
    content: "";
    max-width: 501px;
    width: calc(50% - 20px);
    margin-bottom: 10px;
}

.index_newsbox {
    flex: 1;

    @media screen and (max-width:767px) {
        width: 100%;
    }
}

.index_newscont-top {
    width: 100%;
}

.index_newscont ul,
.index_newscont-top ul {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.index_newscont ul:after {
    content: "";
    width: calc(100% / 4 - 20px);
}

.index_newscont li {
    width: calc(100% / 4 - 20px);
    margin: 0;
    background: #f7f4f1;
}

.index_newscont li:nth-child(4n+1) {
    margin-left: 0;
}

.index_newscont li:nth-child(4n+4) {
    margin-right: 0;
}

.thum_sp {
    display: none !important;
}

.index_news_image {
    text-align: center;
    padding-top: 1px;
}

.index_news_con {
    margin: 0;
    padding: 10px;
    overflow: hidden;
    clear: both;
}

.index_news_til {
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 5px 0;
}

.index_news_txt {
    line-height: 21px;
    margin-top: 2px;
}

.index_strengths {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
    background: url(../images/index_strengths_bg.jpg) no-repeat center;
    background-size: cover;
}

.index_strengths_cont {
    float: right;
    margin: 0;
    padding: 175px 0 17px 0;
    overflow: hidden;
    text-align: right;
}

.index_course {
    margin: 0;
    overflow: hidden;
    clear: both;
}

.index_course_til {
    padding: 10px 0;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    line-height: 55px;
    color: #1e6daf;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}

.index_course_indro {
    padding: 0 0 10px 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    line-height: 30px;
    color: #010101;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
}

.index_course_cont {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
}

.index_course_cont ul {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
}

.index_course_cont ul li {
    width: 31.3333%;
    height: auto;
    margin: 0;
    padding: 0 1% 15px;
    overflow: hidden;
    float: left;
    text-align: center;
}

.index_faq {
    margin: 0 0 30px 0;
    padding: 0;
    overflow: hidden;
    clear: both;
    background: url(../images/index_faq_bg.jpg) no-repeat center;
    background-size: cover;
}

.index_faq_cont {
    float: right;
    margin: 0;
    padding: 225px 0 22px 0;
    overflow: hidden;
    text-align: right;
}

.common_box {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
}

.common_box ul {
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
}

.common_box ul li {
    width: 48%;
    height: auto;
    margin: 0;
    padding: 25px 1%;
    overflow: hidden;
    float: left;
    text-align: center;
}

article.timeline-topic {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    background: #efefef;
    padding: 5px;
    margin-bottom: 10px;
}

article.timeline-topic .school {
    background: #ac2536;
    color: #fff;
    font-size: small;
    padding: 2px 10px;
    margin-right: 10px;
    line-height: 1;
}

article.timeline-topic time {
    margin-left: auto;
    font-size: small;
}

time.sp {
    font-size: small;
}

.course__intro {
    display: flex;
    gap: clamp(0rem, -3.292rem + 12.72vw, 6.25rem);
}

.course__intro-text {
    line-height: 1.8;
}

.course__intro-img {
    flex-shrink: 0;
}

.course__wrap {
    display: flex;
    justify-content: space-between;
    gap: clamp(0.625rem, 0.296rem + 1.27vw, 1.25rem);

    @media screen and (max-width:767px) {
        flex-direction: column;
        text-align: center;
    }
}

.course__wrap--left {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.course__wrap--right {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.bg-green {
    background: #489daa;
    color: #fff;
    padding: 20px;
}

.bg-yellow {
    background: #c8a841;
    padding: 10px 20px;
    border-radius: 20px;
    color: #000;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

body.ver04 h3 {
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
}

body.ver04 h3.point {
    text-align: center;
}

#top-202201 h2 {
    margin-bottom: 20px;
}

.top h2 {
    margin-bottom: 20px;
}

.top hr {
    margin: 50px 0;
    background: #31597f;
    height: 3px;
}

h2.top-title-2023spring {
    text-align: center;
    margin-top: 40px;
}

h2.top-title-red {
    line-height: 1;
    color: #e23333;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    padding-bottom: 0 !important;
    margin-top: 20px;
}

section.index_newsbox.cp-2023 {
    margin-bottom: 60px;
}

.banner-blog {
    text-align: center;
}

section.cpBanner {
    margin-block: 50px;
}

.cpBanner__img {
    display: flex;
    justify-content: space-between;
    gap: 1px;
}

@media screen and (max-width:767px) {
    .cpBanner__img {
        flex-direction: column;
    }

    .cpBanner__img-child {
        text-align: center;
    }
}


/*--------------------------------------------20240415 add-------------------------------------------------*/

h2.title-success,
h2.title-successVoice {
    margin-bottom: 60px;
}

.btns-success {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
    justify-content: center;
}

.btn-success {
    background: #0068B7;
    max-width: 450px;
    width: 80%;
    text-align: center;
    border-radius: 5px;
}

li.btn-success a {
    padding: 20px;
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    position: relative;
}

a.btn-arrow::after {
    border-right: 2px solid #0068B7;
    border-top: 2px solid #0068B7;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translate3d(0, -50%, 0) rotate(45deg);
    width: 10px;
}

li.btn-success a:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translate3d(0, -50%, 0) rotate(45deg);
    width: 10px;
}

.loop {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    overflow: hidden;
}

.loop ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 100%;
    margin: 0;
    padding: 0;
}

.loop:hover ul,
.loop:hover ul {
    animation-play-state: paused !important;
}

.loop ul:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
}

.loop ul+ul {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

.loop li {
    display: inline-block;
    width: calc(100vw / 2);
    max-width: 290px;
    margin: 0 5px 0 0;
    list-style: none;
    text-align: center;
}

.loop li a {
    display: block;
}

.loop li img {
    display: block;
    width: 100%;
    height: auto;
}

@keyframes loop {
    0% {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
    }

    to {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }

    to {
        -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        transform: translateX(-200%);
    }
}

.successVoice__inner {
    margin-bottom: 60px;
}

p.successVoice-all {
    text-align: center;
}

a.btn-arrow {
    background: #fff;
    border: 1px solid #0068B7;
    border-radius: 4px;
    color: #0068B7;
    display: inline-block;
    font-size: 1.6rem;
    padding: 10px 15px;
    position: relative;
    transition: all .5s;
    padding: 10px 35px 10px 15px;
    max-width: 250px !important;
    width: 100% !important;
    font-size: initial;
    text-align: center;
}

.successVoice-school {
    margin: 20px 0 10px;
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width:480px) {
    li.btn-success a {
        font-size: 18px;
    }
}


/*--------------------------------------------youtube-------------------------------------------------*/

.youtube {
    position: relative;
    padding-top: 28.125%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width:767px) {
    .youtube {
        padding-top: 56.25%;
    }
}


/*--------------------------------------------break point-------------------------------------------------*/

@media only screen and (max-width:1180px) {
    #wrap {
        width: 100%;
    }

    .wrap-inner,
    .w_center {
        width: 100%;
        padding-inline: 20px;
    }

    .index_newscont {
        height: auto;
        margin: 0 auto;
        padding: 0;
        float: none;
        overflow: hidden;
    }

    .index_newscont-top {
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        float: none;
        overflow: hidden;
    }

    .index_news_btn {
        float: none;
        padding: 15px 0 0 0;
        margin: 0 auto;
        text-align: center;
        clear: both;
    }

    .index_strengths_cont {
        padding: 10% 1% 2% 0;
        width: 55%;
    }

    .index_faq_cont {
        padding: 10% 1% 2% 0;
        width: 38%;
    }
}

@media only screen and (max-width:767px) {
    .top-school {
        max-width: 347px;
        margin-inline: auto;
    }

    .top-school:nth-child(2n+1) {
        margin-right: auto;
    }

    .top-school,
    .top-banner {
        width: 100%;
        text-align: center;
    }

    /* #wrap {
margin: 0;
padding: 0;
overflow: hidden;
clear: both;
width: 100%;
} */
    .index_course_cont ul li {
        width: 48%;
        padding: 1%;
    }

    .common_box {
        border-bottom: 1px dashed #7a7979;
    }

    .common_box ul li {
        width: 96%;
        height: auto;
        margin: 0 auto;
        padding: 2% 0;
        overflow: hidden;
        float: none;
        text-align: center;
    }

    .index_newscont ul li {
        width: 100%;
        height: auto;
        padding: 5px 2%;
        margin: 5px 0;
    }

    h2.section-title {
        font-size: 1.2em;
    }

    .index_news_til {
        font-size: 1em;
    }

    .section {
        margin: 0 15px;
        clear: both;
    }

    section.course__wrap {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }
}

@media only screen and (max-width:480px) {
    .index_newsbox {
        margin: 0;
    }

    .index_newscont,
    .index_newscont-top {
        width: 100%;
    }

    .index_newscont ul li img,
    .index_newscont-top ul li img {
        width: auto;
    }

    .index_course_cont ul li {
        width: 98%;
        padding: 1%;
    }

    .thum_pc {
        display: none !important;
    }

    .thum_sp {
        display: block !important;
        margin: auto;
    }

    .section {
        padding-bottom: 30px;
        clear: both;
        margin: 0 auto;
    }

    #top-202201 h2 {
        margin: 50px 0 20px;
    }

    .top h2.title-shido {
        margin: 50px 0 20px;
    }
}

/*----------------------------------------------------------------------------------------------------
KATEKYOの強み /strengths/
----------------------------------------------------------------------------------------------------*/

.strengths {
    .com_subbox {
        line-height: 1.8;
    }

    .sub_banner {
        background: url(../img/index_strengths_bg.jpg) no-repeat center;
        background-size: cover;
        margin: 0;
        padding: 0;
        width: 100%;
        position: relative;
        aspect-ratio: 9/2;

        h2.strengths_h2 {
            position: absolute;
            bottom: 10%;
            right: 10%;
            width: 37%;
            text-align: right;
        }
    }

    .strengths_subtil {
        padding-top: clamp(2.5rem, 1.842rem + 2.54vw, 3.75rem);
        margin-bottom: 20px;
        font-size: 24px;
        font-weight: bold;
        border-bottom: 1px solid;
    }
}

/*----------------------------------------------------------------------------------------------------
ご相談から指導開始までの４STEP /step/
----------------------------------------------------------------------------------------------------*/
.step {
    h2.h2_til {
        margin-bottom: 60px;
        background: #005eb2;
        color: #fff;
        padding-block: 20px;
        padding-inline: 20px;
    }

    .step_box {
        margin-bottom: 40px;
    }

    .step_box-inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 40px;
        margin-bottom: 40px;

        @media screen and (max-width:767px) {
            flex-direction: column;
        }
    }

    .step_cont {
        max-width: 600px;
        width: 100%;
    }

    .step-arrow {
        text-align: center;
    }

}

/*----------------------------------------------------------------------------------------------------
よくある質問 /faq/
----------------------------------------------------------------------------------------------------*/
.faq {
    h2 {
        margin-bottom: 20px;
    }

    h3.faq_til {
        background: #0068b7;
        color: #fff;
        padding: 20px;
        margin-top: 20px;
        position: relative;

        &::after {
            content: "▼";
            position: absolute;
            right: 20px;
        }
    }

    .faq_cont {
        padding: 20px;
    }
}

/*----------------------------------------------------------------------------------------------------
教室のご案内 /iwate/
----------------------------------------------------------------------------------------------------*/
.iwate {
    .flex {
        &::after {
            content: "";
            max-width: 501px;
            width: calc(50% - 20px);
            margin-bottom: 10px;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
会社概要 /company/
----------------------------------------------------------------------------------------------------*/
.company {

    table.address {
        margin-block: 40px;
        width: 100%;

        th,
        td {
            border-top: 1px solid #ccc;
            line-height: 2.5;
        }

        th {
            text-align: initial;
            text-indent: 1em;
        }

        a {
            text-decoration: underline;
            color: #1e6dc1;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
各校TOP
----------------------------------------------------------------------------------------------------*/

.index_news_btn {
    padding: 15px 0 30px 0;
    text-align: right;
}

.section {
    padding-bottom: 30px;
    clear: both;
    margin: 0 auto;
}

.school_top {
    text-align: center;
}

.section_left {
    margin-right: 20px;
    flex: 1;
    flex-grow: 1;
}

.section_right {
    flex: 1;
    flex-grow: 1;
}

h1.school_top-message {
    color: #56616e;
    font-weight: normal;
    font-size: clamp(1.125rem, 0.909rem + 0.81vw, 1.875rem);
    font-family: YuMincho, Yu Mincho, '游明朝', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", MS PMincho, "MS 明朝", serif;
    line-height: 1.5em;
    text-align: center;
    margin: 30px 0;
}

h2.section-title {
    font-weight: normal;
    margin: 30px 0 30px;
}

h2.section-title:before {
    content: url(/images/icon_title_before.png);
    padding-right: 10px;
}

.index_newscont-sp {
    display: none;
}

.index_newsbox-school_top {
    padding-right: 50px;
    box-sizing: border-box;
}

.index_news_image-school_top {
    width: 25%;
    float: left;
    margin-right: 20px;
    margin: 0 20px 20px 0;
}

.school_news_btn {
    background: #8da9b9;
    border-radius: 10px;
    clear: both;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
    width: 300px;
}

.school_news_btn a {
    color: #fff;
}

.right img {
    width: auto;
}

.left-text {
    padding-right: 20px;
    width: 60%;
    background: #fcfcfb;
    border: 2px solid #bfbfbf;
    border-radius: 10px;
    padding: 20px;
    font-size: 18px;
    line-height: 1.8;
    margin-right: 10px;
}

.left-text-70 {
    width: 70%;
}

.topic {
    width: 30%;
    margin-right: 30px;
}

.topic .overflow-y {
    overflow-y: scroll;
    height: 420px;
    padding: 10px;
    background: #f7f7f7;
}

.topic-w100 {
    width: 100%;
}

.topic-w100 .overflow-y {
    overflow-y: scroll;
    height: 180px;
    padding: 10px;
    background: #f7f7f7;
}

.border-green {
    border: 3px solid #506614;
    border-radius: 10px;
    padding: 10px;
    margin-right: 10px;
    background: #eee3c5;
}

.border-orange {
    border: 3px solid #c45911;
    border-radius: 10px;
    padding: 10px;
    margin-right: 10px;
    background: #eee3c5;
}

.border-blue {
    border: 3px solid #4472c4;
    border-radius: 10px;
    padding: 10px;
    background: #eee3c5;
}

.case {
    width: 98%;
    box-sizing: border-box;
}

.access-map {
    width: 64%;
    height: 100%;
    margin-left: 20px;
}

.access-map iframe {
    width: 100%;
    margin-bottom: 10px;
}

.access-pic-sub a {
    max-width: 120px;
    margin-right: 5px;
}

.access-pic-sub.fb-r.jc-sb a:last-child {
    margin-right: 0;
}

.map-under {
    justify-content: space-evenly;
}

.teacherbox {
    background: #fffcea;
    box-sizing: border-box;
    max-height: 320px;
    margin-right: 10px;
    padding: 10px 0 10px 10px;
    ;
}

.teacherbox-single {
    box-sizing: border-box;
    background: #fff;
    padding: 10px;
    box-shadow: 0 0 5px #ccc;
}

.teacher {
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    width: 90%;
    margin: 0 auto;
}

.subject {
    padding: 5px 0;
    width: 90%;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.3;
}

.mr_10.ta-c.w_33-pc.teacherbox-single img {
    width: 44%;
}

.mr_10.ta-c.w_50-pc.teacherbox-single img {
    width: 30%;
}

.teacherbox-right {
    max-width: 320px;
    width: 100%;
}

audio.audio-teacher {
    height: 25px;
    width: 100%;
}

.index_newscont-pc a {
    width: calc(50% - 10px);
}

.index_newsbox-school_top .index_news_til-school_top {
    clear: both;
    font-weight: bold;
}

.index_newscont-sp ul li,
.index_newscont-sp ul div {
    padding: 5px 3px;
    background: #f7f4f1;
    margin: 0 7px 10px;
    float: left;
    width: 245px;
}

body.customize-support {
    @media screen and (max-width:767px) {
            overflow-x: hidden !important;
    }
}

/*--------------------------------------------add 2022/06/12-------------------------------------------------*/


/* h2:not(.news h2, .contact_til) {
padding-bottom: 32px;
} */

.school section {
    margin-bottom: 110px;
}

section.school__info h2,
.coaching__child,
.voice__success,
.teacher__wrap {
    margin-left: 70px;
}

.bbc {
    max-width: 417px;
    margin-right: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-bottom: 50px;
}

.bbc .overflow-y {
    max-width: 344px;
    width: 100%;
    overflow-y: scroll;
    height: 480px;
    padding: 10px;
    background: #f7f7f7;
}

.news-child {
    display: flex;
    line-height: 2;
    border-bottom: 1px dotted;
}

.date {
    font-size: 14px;
    max-width: 130px;
    width: 100%;
    position: relative;
}

.date::after {
    content: "|";
    padding: 0 10px;
    position: absolute;
    right: 0;
}

section.news__school {
    margin-bottom: 50px;
}

.news__school--top {
    background: #194204;
    color: #f1f1f1;
    padding: 35px 40px;
    margin-bottom: 10px;
    max-width: 675px;
    outline: 2px dashed;
    outline-offset: -6px;
}

.news__school--top .news-child .index_news_til-school_top a,
.news__school--top .news__school--all.more a {
    color: #f1f1f1;
}

.news__school--all {
    text-align: right;
    padding-top: 40px;
}

.more {
    padding-top: 23px;
}

.more a {
    font-size: 14px;
}

.more a:after {
    content: "▶ ▶";
    color: red;
    letter-spacing: -3px;
    padding-left: 5px;
    transform: scale(0.8, 1.8);
    display: inline-block;
}

.flex-03x {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 675px;
    justify-content: space-between;
}

.flex-03x::after {
    content: "";
    max-width: calc(220px + 5px);
    width: calc(100% / 3);
}

.flex-03x .topic_image {
    width: calc(100% / 3);
    max-width: 220px;
}

p.topic_image img {
    width: 100%;
}

.flex-03x .topic_image:not(:nth-child(3n+3)) {
    padding-right: 5px;
}

.news__school .school_top-newsbox {
    max-width: 675px;
}

section.school__info {
    display: flex;
    align-items: center;
    margin-bottom: 110px;
    line-height: 30px;
}

section.school__info h2 {
    background: #4ca2c6;
    border-radius: 100%;
    width: 184px;
    height: 184px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    z-index: 1;
    position: relative;
}

.school__info .school-message {
    background: #f7f7f7;
    min-height: 184px;
    position: relative;
    display: flex;
    align-items: center;
    margin-left: -70px;
}

.left-text-inner {
    padding: 20px 65px 20px 127px;
}

.line-after::after {
    background: url(/images/school/line-white.gif);
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 49px;
    content: "";
    background-repeat-y: repeat;
}

.coaching__child {
    display: flex;
    background: #f7f7f7;
    border-radius: 100px 0 0 100px;
    padding: 40px 0 0;
    margin-bottom: 38px;
    position: relative;
    max-width: 1110px;
}

.coaching__child--text {
    width: 100%;
    padding-bottom: 10px;
    padding-right: 65px;
}

.school .coaching__child--text h3 {
    font-size: 18px;
    margin-bottom: 15px;
}

.school .coaching__child--text .sub {
    padding-bottom: 15px;
}

.coaching__child--img {
    padding-right: 20px;
    max-width: 308px;
    width: 100%;
    position: relative;
}

.coaching__child--img img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.color-primary {
    color: #78a93e;
}

.color-middle {
    color: #cb8129;
}

.color-highschool {
    color: #474f75;
}

.voice__success--content {
    display: flex;
}

.voice__success--img {
    flex-shrink: 0;
}

.voice__success--img.pc img {
    width: 270px;
}

.voice__success--title {
    border-bottom: 1px solid #e0e0e0;
    line-height: 1;
    color: #be1313;
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.voice__success--title::before {
    position: relative;
    bottom: -9px;
}

.voice__success--title::before {
    content: "";
    display: inline-block;
    width: 166px;
    height: 29px;
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.voice__success--title.before-college::before {
    background-image: url(/images/school/ue.gif);
}

@media only screen and (max-width:480px) {
    .voice__success--title.before-college::before {
        background-image: url(/images/school/ue@sp.gif);
    }
}

@media screen and (max-width: 414px),
(-webkit-min-device-pixel-ratio:2),
(min-resolution: 2dppx) {
    .voice__success--title.before-college::before {
        background-image: url(/images/school/ue@2x.gif);
    }
}

@media screen and (max-width: 414px),
(-webkit-min-device-pixel-ratio:3),
(min-resolution: 3dppx) {
    .voice__success--title.before-college::before {
        background-image: url(/images/school/ue@3x.gif);
    }
}

.voice__success--title.before-highschool::before {
    background-image: url(/images/school/he.gif);
}

@media only screen and (max-width:480px) {
    .voice__success--title.before-highschool::before {
        background-image: url(/images/school/he@sp.gif);
    }
}

@media screen and (max-width: 414px),
(-webkit-min-device-pixel-ratio:2),
(min-resolution: 2dppx) {
    .voice__success--title.before-highschool::before {
        background-image: url(/images/school/he@2x.gif);
    }
}

@media screen and (max-width: 414px),
(-webkit-min-device-pixel-ratio:3),
(min-resolution: 3dppx) {
    .voice__success--title.before-highschool::before {
        background-image: url(/images/school/he@3x.gif);
    }
}

.voice__success--school {
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 10px;
}

.voice__success--school {
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
}

.voice__success--school::before {
    content: url(/images/school/stump.gif);
    padding-right: 5px;
}

.voice__success--info {
    background: #f7f7f7;
    padding: 10px 20px;
    margin-bottom: 10px;
}

.voice__success:not(:last-child) {
    padding-bottom: 60px;
}

.teacher__wrap {
    display: flex;
    margin-left: 70px;
    flex-wrap: wrap;
}

.teacher-img {
    float: right;
}

.teacher__wrap--child {
    box-shadow: 3px 3px 10px 0px inset #ccc;
    border-radius: 25px;
    padding: 20px;
    width: calc(100% / 2 - 30px);
    margin-bottom: 30px;
    flex-shrink: 0;
}

.teacher__wrap--child:nth-child(2n + 1) {
    margin-right: 30px;
}

.teacher__wrap--child-top {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-evenly;
    align-items: center;
    padding-bottom: 20px;
}

.teacher-message {
    padding-bottom: 100px;
}

.teacher-subject {
    font-size: 14px;
}

.access__bottom {
    display: flex;
    justify-content: space-around;
    font-size: 18px;
    align-items: flex-end;
}

.access__bottom>div {
    max-width: 450px;
    width: 100%;
}

.access__bottom--school {
    font-weight: bold;
    padding: 30px 0 15px;
    margin-bottom: 25px;
}

.access__bottom--red .access__bottom--school {
    border-bottom: 2px solid #ff0000;
}

.access__bottom--blue .access__bottom--school {
    border-bottom: 2px solid #0068b7;
}

p.access__bottom--address {
    padding-bottom: 25px;
}

.access__bottom--tel {
    text-align: center;
}

.contact .contact-title {
    border-bottom: 1px solid;
    padding-bottom: 40px;
    text-align: center;
}

@media only screen and (max-width:767px) {
    .school h2 {
        margin-left: -20px;
        margin-right: -20px;
    }

    .school section {
        margin-bottom: 60px;
    }

    section.bbc,
    section.news__school,
    section.school__info {
        margin: 0 0 60px;
    }

    .bbc,
    .bbc .overflow-y {
        max-width: 100%;
    }

    .bbc {
        margin-right: 0;
        display: block;
    }

    .school .flex-03x,
    .school .school__info,
    .school .voice__success--content,
    .school .access__bottom {
        flex-direction: column;
    }

    p.topic_image img {
        width: 100%;
    }

    .flex-03x .topic_image {
        width: 100%;
        max-width: 100%;
    }

    section.school__info h2,
    .coaching__child,
    .voice__success,
    .teacher__wrap {
        margin-left: 0;
    }

    .line-after::after {
        background: none;
    }

    .left-text-inner {
        padding: 0;
    }

    .school__info .school-message {
        margin-left: 0;
        padding: 20px;
    }

    .coaching__child {
        flex-direction: column;
        align-items: center;
    }

    .coaching__child--img {
        padding-right: 0;
        text-align: center;
    }

    .coaching__child--img img {
        position: initial;
        bottom: initial;
        left: initial;
        transform: initial;
    }

    .coaching__child--text {
        width: 100%;
        padding: 20px;
    }

    .voice__success--content {
        flex-flow: column-reverse;
    }

    .voice__success--title {
        font-size: 12px;
    }

    .voice__success--info {
        position: relative;
    }

    .voice__success--img.sp {
        position: absolute;
        bottom: 0;
        right: 10px;
        max-width: 90px;
    }

    .voice__success--img.sp img {
        border-radius: 50%;
    }

    .access__bottom--red {
        padding-bottom: 40px;
    }

    .teacher__wrap--child:nth-child(2n + 1) {
        margin-right: 0;
    }

    .teacher-subject {
        font-size: 12px;
    }

    .slick-track {
        display: flex !important;
    }

    .slick-slide {
        height: auto !important;
    }

    .access__bottom {
        align-items: center;
    }

    .flex-03x .topic_image:not(:nth-child(3n+3)) {
        padding-right: 0;
    }

    .news-child {
        font-size: 14px;
        flex-direction: column;
    }

    .date::after {
        content: none;
    }

    .news__school--top {
        padding: 35px 15px;
    }
}

@media only screen and (max-width:480px) {
    span.voice__success--title-text {
        margin-left: -45px;
    }

    .voice__success--title {
        display: flex;
        align-items: center;
        padding-bottom: 0;
    }

    .voice__success--title::before {
        bottom: 0;
    }
}


/*--------------------------------------------add 2022/07/04-------------------------------------------------*/

.banner__recruit {
    display: flex;
    justify-content: space-evenly;
}

.banner__recruit--child {
    max-width: 40%;
}

@media only screen and (max-width:480px) {
    .ta_c.mb_100.banner__recruit {
        flex-direction: column;
    }

    .banner__recruit--child {
        max-width: 100%;
        padding: 10px 20px;
    }
}


/*--------------------------------------------break point-------------------------------------------------*/

@media only screen and (max-width:1180px) {
    .index_news_btn {
        float: none;
        padding-block: 30ppx 60px;
    }
}

@media screen and (max-width: 1023px) {
    .access-pic {
        text-align: center;
        flex-shrink: 0;
    }

    .access-pic-sub.fb-r.jc-sb a {
        margin-right: 15px;
    }

    .access-pic-sub {
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
    }

    .index_news_image-school_top {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .w_33-pc {
        width: calc(100% / 3);
    }

    .w_100-pc {
        width: 100%;
    }

    .w_50-pc {
        width: calc(100% / 2);
    }
}

@media screen and (max-width: 767px) {
    .fb-r {
        display: block;
    }

    .index_newscont-pc {
        display: none;
    }

    .index_newscont-sp {
        display: block;
        height: auto;
        margin: 0 auto;
        padding: 0;
        float: none;
        overflow: hidden;
    }

    .index_newscont-sp ul {
        margin: 0;
        padding: 0;
        overflow: hidden;
        clear: both;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .index_newsbox-school_top {
        width: auto;
        padding-right: 0;
        margin: 0 auto;
    }

    .index_newsbox-school_top .index_news_til-school_top {
        font-size: 14px;
    }

    .index_news_image-school_top {
        width: 100%;
        float: none;
        margin: 0;
    }

    .left-text {
        width: 100%;
        padding: 20px;
        margin-bottom: 10px;
        box-sizing: border-box;
        font-size: 16px;
        line-height: 1.5;
    }

    .left-text-70 {
        width: 100%;
    }

    .mr_10.ta-c.w_50-pc.teacherbox-single img {
        width: 44%;
    }

    .border-green {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .border-orange {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .access-map {
        width: 100%;
        margin: 20px auto;
    }

    .map-under {
        text-align: center;
    }

    h2.section-title {
        font-size: 1.2em;
    }

    .case {
        width: 100%;
    }

    .teacherbox {
        padding: 5px 0;
        max-height: 100%;
    }

    .teacherbox-single {
        margin: 20px;
    }

    .teacherbox-right {
        margin: 10px auto;
    }

    .section.fb-r.jc-sb .section_left {
        margin-right: 0;
    }

    .school_news_btn {
        width: auto;
    }

    .section {
        margin: 0 15px;
        clear: both;
    }

    .topic {
        width: 100%;
        padding-bottom: 50px;
    }

    .index_newscont ul li,
    .index_newscont-sp ul li,
    .index_newscont-sp ul div {
        width: 100%;
        height: auto;
        padding: 5px 2%;
        margin: 5px 0;
    }

    .side_01-sp {
        padding: 0 20px;
    }

    .side-school a {
        font-size: 24px;
    }
}

/*----------------------------------------------------------------------------------------------------
各教室ページ
----------------------------------------------------------------------------------------------------*/


/* KATEKYOからのお知らせ 2列 */

.flex-02x {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-02x .topic_image {
    width: 50%;
}

@media only screen and (max-width:480px) {
    .flex-02x {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }

    .flex-02x .topic_image {
        width: 100%;
        text-align: center;
    }
}

/*----------------------------------------------------------------------------------------------------
指導コース
----------------------------------------------------------------------------------------------------*/

div#course {
    line-height: 24px;
}

.course-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.one-to-one-course {
    border: 10px solid #8c8c8c;
    border-radius: 25px;
    padding: 30px 20px 20px;
    position: relative;
    overflow: initial;
    color: #444344;
    width: 49%;
    margin: 0 0 4% 0;
    font-size: 18px;
    line-height: 36px;
    font-weight: bold;
}

.course-title02 {
    position: absolute;
    top: -22px;
    left: -11px;
    background: #fff;
}

.w_center--inner {
    max-width: 767px;
    width: 100%;
    margin: 0 auto;
}

#course .w_center--inner section {
    margin-bottom: clamp(2.5rem, 1.183rem + 5.09vw, 5rem);
}

h2.course-title01.serif {
    text-align: center;
    font-size: 24px;
    padding-top: 60px;
    line-height: 1.5;
}

hr.course-hr {
    margin: 35px 0 50px;
    background: #c8a841;
    height: 1px;
    border: none;
}

h2.course-title03 {
    font-size: 24px;
    padding-bottom: 30px;
    line-height: 36px;
}

section.course__program h2.course-title03,
section.course__taiken h2.course-title03 {
    border-top: 1px solid #c8a841;
    border-bottom: 1px solid #c8a841;
    padding: 5px 0;
    margin-bottom: 50px;
    text-align: center;
}

section.intro {
    display: flex;
    align-items: flex-end;
}

.intro__inner {
    width: 50%;
}

.intro__inner.intro__inner--img {
    order: 2;
    display: flex;
    justify-content: flex-end;
}

.intro__inner.intro__inner--img img {
    display: block;
}

section.course__program,
section.course__taiken {
    background: #fdf8e7;
    padding: clamp(1.563rem, 0.74rem + 3.18vw, 3.125rem) 0;
}

.course__program--inner,
.course__taiken--inner,
#form form {
    max-width: 767px;
    margin: 40px auto;
}

.course__program--inner div {
    padding-bottom: 30px;
}

#course h3.course-title03 {
    font-size: 18px;
    margin-bottom: 15px;
}

.course__program--card {
    display: flex;
    flex-wrap: wrap;
}

.course__program--card-child {
    width: calc(50% - 5px);
    background: #fff;
    border: 2px solid #c8a841;
    margin-bottom: 10px;
    padding: 15px;
}

.course__program--card-img {
    background: none;
    border: none;
}

.course__program--card-child:nth-child(2n+1) {
    margin-right: 10px;
}

.shido {
    color: #fff;
    padding: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    margin: 50px auto;
    max-width: 610px;
}

.title-primary {
    color: #78a93e;
}

.title-middle {
    color: #cb8129;
}

.title-highschool {
    color: #474f75;
}

.title-others {
    color: #a27e39;
}

.course-primary .shido,
.course-primary .comment-circle-student {
    background: #78a93e;
}

.course-middle .shido,
.course-middle .comment-circle-student {
    background: #cb8129;
}

.course-highschool .shido,
.course-highschool .comment-circle-student {
    background: #474f75;
}

.course-others .shido,
.course-others .comment-circle-student {
    background: #a27e39;
}

.shido__child.shido-circle {
    background: #315a77;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}

.comment-student,
.comment-teacher {
    display: flex;
    max-width: 610px;
    margin: 50px auto;
    line-height: 30px;
    align-items: center;
}

.comment-circle-student {
    width: 75px;
    height: 75px;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    float: right;
    margin: 10px 30px 0 30px;
    line-height: initial;
    z-index: 1;
    position: relative;
}

.comment-circle-teacher {
    width: 75px;
    height: 75px;
    background: #315a77;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    float: left;
    margin: 10px 30px 0 30px;
    line-height: initial;
    z-index: 1;
    position: relative;
}

.comment-img {
    flex-basis: 200px;
    flex-shrink: 0;
}

.course__taiken--inner img.block {
    margin: 0 auto;
}

#course .slick-slide {
    text-align: center;
}

#course .slick-slide img {
    display: initial;
}

.comment-fukidashi {
    position: relative;
    padding: 1.5rem 2rem;
    border-radius: 10px;
    background: #fff;
}

.comment-fukidashi:after {
    position: absolute;
    width: 0;
    height: 0;
    content: '';
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.comment-student .comment-fukidashi:after {
    bottom: 50%;
    left: -15px;
    border-width: 15px 0px 0px 15px;
}

.comment-teacher .comment-fukidashi:after {
    bottom: 50%;
    right: -15px;
    border-width: 15px 15px 0px 0;
}

.course-others .course__program--card-big {
    background: #fff;
    padding: 40px;
    margin: 40px 0;
    position: relative;
    line-height: 30px;
}

.course__program--card-big img {
    position: absolute;
    bottom: 0;
    right: 0;
}

.course__program--card-big ul {
    padding-right: 275px;
    font-weight: bold;
}

@media only screen and (min-width:768px) {

    section.course__program,
    section.course__taiken {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    section.course__banner {
        margin-left: calc(50% - 35vw);
        margin-right: calc(50% - 35vw);
    }
}

@media only screen and (max-width:768px) {

    section.intro,
    section.course__banner,
    .course__taiken--inner:not(.course-title03),
    #course form>.form-post,
    .course__program--inner {
        padding: 0 20px;
    }

}

@media only screen and (max-width:767px) {
    .course-wrap {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }

    .one-to-one-course {
        width: 100%;
        margin: 20px 0;
    }

    .course__program--inner {
        margin: 0 auto;
    }

    h2.course-title01.serif {
        font-size: 20px;
        padding-top: 20px;
    }

    h2.course-title03 {
        font-size: 20px;
        line-height: 30px;
    }

    section.intro {
        display: block;
    }

    .intro__inner {
        width: auto;
    }

    .intro__inner.intro__inner--text {
        position: relative;
    }

    .intro__inner.intro__inner--img {
        float: right;
    }

    section.course__program h2.course-title03,
    section.course__taiken h2.course-title03 {
        font-size: 16px;
    }

    hr.course-hr {
        margin: 10px auto 40px;
        width: 250px;
    }

    .course__program--card-child {
        width: 100%;
    }

    .course__program--card-child:nth-child(2n+1) {
        margin-right: 0;
    }

    .comment-fukidashi:after {
        border-color: transparent transparent #fff transparent;
    }

    .comment-student .comment-fukidashi:after,
    .comment-teacher .comment-fukidashi:after {
        top: -15px;
        left: 30%;
        border-width: 0 0 15px 15px;
    }

    .comment-student,
    .comment-teacher {
        flex-direction: column;
    }

    .comment-img {
        flex-basis: auto;
    }

    .comment-teacher .comment-img {
        order: 1;
    }

    .comment-teacher>div {
        order: 2;
    }

    .course__program--card-big ul {
        padding-right: 0;
    }

    .course__program--card-big img {
        position: initial;
    }
}

@media only screen and (max-width:480px) {
    .course-others .intro__inner.intro__inner--img {
        position: absolute;
        right: 0;
        top: 50px;
        z-index: -1;
    }
}

/*----------------------------------------------------------------------------------------------------
採用情報
----------------------------------------------------------------------------------------------------*/

.recruit {
    margin-block: 40px;

    @media screen and (max-width:1180px) {
        padding-inline: 20px;
    }

    section {
        margin-bottom: 80px;
    }

    ul {
        margin-bottom: 10px;

        /* li {
            list-style: inside;
        } */
    }

    h1 {
        line-height: 1;
        font-size: 26px;
        background: #1e6dc1;
        color: #fff;
        padding: 10px;
        margin-bottom: 20px;
    }

    table {
        line-height: 1.8;
        border-collapse: collapse;
        width: 100%;

        td,
        th {
            text-align: initial;
            border-bottom: 1px solid #bbb;
            padding-block: 20px;
        }

        td {
            padding-left: 20px;

            @media screen and (max-width:767px) {
                border-bottom: none;
                padding-left: 0;
            }
        }

        th {
            @media screen and (max-width:767px) {
                padding-bottom: 0;
            }
        }
    }

    .move {
        iframe {
            aspect-ratio: 16/9;
        }
    }

    #form {
        margin-inline: 0 !important;

        table.formTable-inner td {
            padding: 10px;
        }

        .formWrap {
            padding-inline: 0;
        }
    }

    .anchor-recruit {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-bottom: 60px;
    }

    .button-form a {
        background: #d4421b;
        display: block;
        color: #fff;
        font-size: 26px;
        font-weight: bold;
        padding: 20px;
        max-width: 400px;
        text-align: center;
        margin: 0 auto;
        margin-block: 60px;
    }

    section#form {
        padding-top: 0;
        margin: 0;
    }
}

.re00 {
    clear: both;
    font-size: 154%;
    padding: 18px 0 10px 16px;
    border-top: 1px solid #666;
    border-bottom: 1px dotted #666;
    margin-bottom: 20px;
}

.re_a {
    float: left;
    text-align: right;
    color: #000;
    font-size: 16px;
    padding: 6px 0px 2px 0px;
    color: #a55608;
    margin: 10px;
    width: 20%;
}

.re_b {
    float: left;
    text-align: left;
    padding: 6px 10px 2px 10px;
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: #999999;
    color: #000;
    margin: 10px;
    width: 65%;
}

.contact_table-recruit th {
    text-align: left;
    width: 10%;
    font-weight: normal;
}

.contact_table-recruit td {
    width: 60%;
    padding: 5px 0;
}

/*------------------------------------------------ recruit form ------------------------------------------------*/

.recruit__teacher--form h2 {
    font-size: 24px;
    font-weight: 100;
    padding: 40px 0;
    text-align: center;
    line-height: 1.5;
}

section.recruit__form--child {
    padding: 40px 0;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

section.recruit__form--child p {
    padding-top: 10px;
}

.recruit__form h3.recruit__form--title {
    background: #1b95d4;
    font-size: 24px;
    color: #fff;
    padding: 10px 20px;
    line-height: 1;
}

span.must {
    font-size: small;
    text-decoration: underline;
}

.recruit__form th {
    text-align: left;
    width: 250px;
    vertical-align: top;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.recruit__form td {
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.wpcf7 table,
.recruit__form table {
    width: 100%;
}

.wpcf7 input[name="age"],
.recruit__form input[name="age"] {
    width: 100px !important;
}

.wpcf7 textarea,
.recruit__form textarea {
    padding: 5px 10px;
    width: 100%;
}

.wpcf7 input[name="last-name"],
.wpcf7 input[name="first-name"],
.recruit__form input[name="last-name"],
.recruit__form input[name="first-name"] {
    width: calc((100% - 10px) / 2);
}

.wpcf7 input[name="last-name"] {
    margin-right: 10px;
}

section.recruit__form--child .wpcf7-list-item:not(.wpcf7-acceptance .wpcf7-list-item) {
    display: block;
}

.wpcf7 .button-send,
.recruit__form .button-send {
    text-align: center;
}

.wpcf7 input[type="submit"],
.wpcf7 input[type="button"],
.recruit__form input[type="submit"],
.recruit__form input[type="button"] {
    text-align: center;
    width: 250px;
    height: 60px;
    margin: 2% 10px;
    font-weight: bold;
    text-align: center;
    border: none;
    /* background: url(../images/contact_btn.png) no-repeat; */
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    background-color: #1e6daf;
    border-radius: 5px;
    font-size: 24px;
}


/* .wpcf7-spinner {
display: block !important;
margin: 0 auto !important;
} */

.wpcf7 td.no-border {
    border-bottom: none;
    padding-bottom: 0;
}

input#zip {
    width: 120px;
}

@media only screen and (max-width:1180px) {
    section.recruit__form--child {
        padding: 0 20px 40px 20px;
    }
}

@media only screen and (max-width:767px) {
    .recruit__teacher--form h2 {
        font-size: 16px;
    }

    .recruit__form th {
        border-bottom: none;
        padding: 20px 0 0;
    }

    .recruit__form td {
        display: inline-block;
    }
}

/*----------------------------------------------------------------------------------------------------
合格体験
----------------------------------------------------------------------------------------------------*/

hr.success-hr {
    background: #1064ab;
    max-width: 767px;
    margin: 0 auto;
    height: 1px;
    border: none;
    margin: 15px auto 30px;
}

.course-title-sub {
    text-align: center;
    padding-top: 60px;
    padding-bottom: 60px;
    font-size: 18px;
    line-height: 1.5;
}

.success__voice--inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 990px;
    margin: 0 auto;
    gap: 60px 20px;
}

.success__voice--inner-child {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 29.29%;
    width: 100%;
}

.success__voice--title {
    color: #be1313;
    font-weight: bold;
    padding: 10px 0;
    text-align: center;
}

.success__voice--school {
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 10px 0;
}

.success__voice--school:before {
    content: url(../images/success/stump.gif);
    width: 30px;
    height: 30px;
    padding-right: 10px;
}

.success__voice--block {
    border: 1px solid #3d80b3;
    font-size: 14px;
}

.voice-highschool .success__voice--block {
    border: 1px solid #338778;
}

.success__voice--info {
    background: #3d80b3;
    color: #fff;
    padding: 10px 16px;
}

.voice-highschool .success__voice--info {
    background: #338778;
    color: #fff;
    padding: 10px 16px;
}

.success__voice--link {
    background: #e9eaea;
    padding: 15px 0;
    text-align: center;
}

section.success__results {
    padding-bottom: 80px !important;
}

.success__results--inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
}

.success__voice--inner:after {
    content: "";
    max-width: 29.29%;
    width: 100%;
}

.voice__under {
    display: flex;
    justify-content: center;
    gap: 20px 20px;
    margin-bottom: 100px;
}

.voice__under a {
    background: #f7f4f1;
    padding: 5px 40px;
    border-radius: 20px;
    box-shadow: 1px 1px 1px 0px #ccc;
}

header.successVoiceTitle {
    background: #0068b7;
    color: #fff;
    position: relative;
    text-align: center;
    font-size: 40px;
    padding: 80px 0;
    font-family: serif;
    line-height: 1.2;
    margin-bottom: 10px;
    z-index: -1;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
}

header.successVoiceTitle h1 {
    font-size: 40px;
}

.tabsBtn {
    display: flex;
    gap: 0 20px;
    padding: 15px 15px 0;
    background: #f2f4f7;
    border-top: 1px solid #ced7e5;
    border-right: 1px solid #ced7e5;
    border-left: 1px solid #ced7e5;
    margin-bottom: 40px;
    position: relative;
}

.tabsBtn::after {
    background: #ced7e5;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 5;
}

.tabBtn {
    background: #0068b7;
    color: #fff;
    flex: 1;
    text-align: center;
    cursor: pointer;
    border-top: 1px solid #ced7e5;
    border-right: 1px solid #ced7e5;
    border-left: 1px solid #ced7e5;
    z-index: 6;
}

.tabBtn:hover {
    opacity: 0.75;
}

#tab01:checked~.tabsBtn .tabBtn-01,
#tab02:checked~.tabsBtn .tabBtn-02,
#tab03:checked~.tabsBtn .tabBtn-03,
#tab04:checked~.tabsBtn .tabBtn-04 {
    background: #fff;
    color: #0068b7;
}

input[name="tab_switch"] {
    display: none;
}

.tab_label {
    cursor: pointer;
    display: block;
    padding: 15px;
    width: 100%;
    height: 100%;
}

.tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
}

#tab01:checked~#tab01_content,
#tab02:checked~#tab02_content,
#tab03:checked~#tab03_content,
#tab04:checked~#tab04_content {
    display: block;
}

.tab_content {
    position: relative;
    animation: fadeIn 1s ease;
}

section.success__voice {
    margin-bottom: 60px;
}

@media only screen and (min-width:768px) {
    .success__results--inner {
        padding: 0 20px;
        max-width: 767px;
        margin: 0 auto;
        box-sizing: content-box;
    }

    .success__results--inner-child {
        width: calc(50% - (50px / 2));
    }

    .link-taiken {
        margin-block: 60px 100px;
    }
}

@media screen and (max-width:1180px) {
    .link-taiken {
        margin-inline: 20px;
    }
}

@media only screen and (max-width:1140px) {
    .voice__under {
        flex-direction: column;
        align-items: center;
    }

    .voice__under p {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width:1126px) {
    .success__voice--inner {
        justify-content: center;
    }
}

@media only screen and (max-width:864px) {
    .success__results--inner {
        justify-content: flex-start;
    }

    .success__voice--inner-child {
        max-width: 24.57%;
    }

    .success__voice--inner:after {
        max-width: 24.57%;
    }
}

@media only screen and (max-width:767px) {
    .success__voice--inner-child {
        width: calc(50% - 10px);
        max-width: 290px;
    }

    .success__voice--inner:after {
        width: calc(50% - 10px);
        max-width: 290px;
    }
}

@media only screen and (max-width:480px) {
    #success section#form {
        padding-top: 200px;
        margin: -200px 20px 0;
    }

    .success__voice--inner {
        font-size: 70%;
    }

    .success__voice--block,
    .voice-highschool .success__voice--block {
        font-size: 100%;
    }

    .success__voice--info {
        padding: 10px;
    }

    .course-others .intro__inner.intro__inner--img {
        position: absolute;
        right: 0;
        top: 50px;
        z-index: -1;
    }

    .course-title-sub {
        font-size: 16px;
    }
}


/*----------------------------------------------------------------------------------------------------
合格体験(投稿ページ)
----------------------------------------------------------------------------------------------------*/

.news_conttop picture {
    display: block;
}

.voice__info {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.success-voice-flex {
    display: flex;
    gap: 0 60px;
}

.voice-img {
    flex-shrink: 0;
    text-align: center;
    max-width: 290px;
}

.success-voice h2 {
    margin-block: 20px;
    line-height: 1.8;
}

.success-voice .com_subbox-02 {
    float: none;
    width: 100%;
    padding: 60px 0;
}

p.success-year {
    font-size: 14px;
}

p.success-school {
    color: #0068b7;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 3px;
    padding: 0;
    text-align: center;
}

p.school-name {
    color: #0068b7;
    font-size: 20px;
    margin-bottom: 5px;
}

p.school-from-title {
    background: #f2f4f7;
    font-weight: 700;
    margin: 0 0 5px;
    padding: 3px 5px;
}

.school-from {
    margin-bottom: 5px;
}

.news_otherbox {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;

    @media screen and (max-width:767px) {
        gap: 80px;
    }
}

.news_othercont {
    width: calc(50% - (40px/2));
    float: unset;
    margin: 0;
    padding: 10px;
    overflow: hidden;
    background: #f7f4f1;
    line-height: 18px;
    display: flex;
    gap: 20px;

    @media screen and (max-width:767px) {
        width: 100%;
    }
}

.news_othercon {
    float: unset;
    width: 100%;
    padding: 0;
    display: block;
}

.news_otherimg {
    max-width: 74px;
}

@media screen and (max-width:1180px) {
    .success-voice .w_center {
        padding-inline: 40px;
    }
}

@media only screen and (max-width:767px) {
    .voice__info {
        flex-direction: column;
    }

    .voice__info img {
        padding-bottom: 20px;
        padding-right: 0;
    }

    header.successVoiceTitle {
        padding: 35px 0;
        font-size: 27px;
    }

    .success-voice-flex {
        flex-direction: column;
        align-items: center;
    }
}


/*----------------------------------------------------------------------------------------------------
実績
---------------------------------------------------------------------------------------------------*/

#jisseki {
    margin-bottom: 150px;
}

.jisseki-titleWrap {
    margin-block: 60px 80px;
    text-align: center;
}

.jisseki-title {
    line-height: 1;
    font-size: 32px;
    font-weight: initial;
    margin-bottom: 60px;
}

section.jisseki-wrap {
    margin-block-start: 60px;
}

section.jisseki-wrap .jisseki-title {
    margin-bottom: 20px;
    font-weight: bold;
    border-bottom: 1px solid;
    padding-bottom: 5px;
}

.jisseki-inner {
    line-height: 2;
}

p.jisseki-note {
    margin-block: 80px 40px;
}

@media screen and (min-width:768px) {
    .jisseki-inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 40px;
    }
}

@media screen and (max-width:1180px) {
    .jissekiContent {
        padding-inline: 40px;
    }
}


/*----------------------------------------------------------------------------------------------------
キャンペーン
----------------------------------------------------------------------------------------------------*/

div#winter2021 h3 {
    font-size: initial;
    line-height: initial;
    margin-bottom: initial;
}

div#winter2021 h3.course-point-title {
    color: #c7a840;
    margin-bottom: 5px;
}


/*----------------------------------------------------------------------------------------------------
キャンペーン 2022/04/04
----------------------------------------------------------------------------------------------------*/

.img-under {
    padding-right: 20px;
}

@media only screen and (max-width:767px) {
    .img-under {
        width: 100%;
        padding-right: 0;
    }
}


/*----------------------------------------------------------------------------------------------------
求人（教師） 2022/07/01
----------------------------------------------------------------------------------------------------*/

.recruit__teacher {
    font-size: 24px;
    line-height: 1.5;
}

.recruit__teacher .youtube {
    padding-top: 56.25%;
    margin: 100px 0;
}

.recruit__teacher .note {
    font-size: 18px;
    font-family: auto;
}

.recruit__teacher h1 {
    color: #d7151e;
    font-size: 48px;
    text-align: center;
    padding: 50px 0 30px;
}

.toppan {
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
}

.bg-toppan-blue {
    background: #1b95d4;
    color: #fff;
    padding: 60px;
    border-radius: 70px;
    margin: 60px 0;
    border: 2px dashed #fff;
    box-shadow: 0px 0px 0px 5px #1f86bb;
}

.recruit__teacher h2 {
    font-size: 48px;
    text-align: center;
}

.fs60 {
    font-size: 60px;
}

.oiwai-lead {
    font-size: 30px;
    padding-bottom: 32px;
}

.oiwai-step {
    font-size: 24px;
    line-height: 2;
}

.recruit__teacher h3 {
    font-size: 36px;
    color: #272727;
    text-align: center;
    padding-bottom: 40px;
}

.recruit__teacher--point h3 {
    color: #fff;
}

.point-circle {
    background: #51aede;
    width: 114px;
    height: 114px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    font-size: 18px;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
    position: relative;
    left: -30px;
    top: -40px;
    box-shadow: 3px 3px 5px 0px #c3c3c3;
}

span.point-number {
    font-size: 30px;
    padding-left: 10px;
}

.point-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.point {
    background: #fff;
    border-radius: 60px;
    color: initial;
    font-size: 18px;
    padding: 20px;
    font-weight: initial;
    flex-shrink: 1;
    margin-bottom: 40px;
}

.point.point-last {
    width: 100%;
    flex-basis: auto;
    max-width: 100%;
}

.point-title {
    display: flex;
    padding: 0;
    font-size: 20px;
    color: #1b95d4;
    line-height: 1.5;
}

.point-title p {
    position: relative;
    left: -10px;
    top: 10px;
}

table.point-table {
    color: #fff;
    margin: 40px 80px;
}

table.point-table th {
    background: #1b95d4;
    width: 90px;
    vertical-align: middle;
    font-size: 20px;
}

table.point-table td {
    background: #51aede;
    padding: 20px;
}

.td-top {
    font-size: 20px;
    font-weight: bold;
}

.recruit__teacher--button {
    display: flex;
    justify-content: space-evenly;
    padding-bottom: 100px;
}

.recruit__teacher--button div {
    max-width: 500px;
    width: 100%;
    height: 100px;
}

.recruit__teacher--button div a {
    color: #fff;
    padding: 20px 40px;
    border-radius: 15px;
    font-size: 30px;
    font-weight: bold;
    display: block;
    text-align: center;
}

.button-guide a {
    background: #1bd4bc;
    display: block;
}

.button-form a {
    background: #d4421b;
    display: block;
}

.guide__child {
    font-size: initial;
    font-size: 18px;
    padding-bottom: 60px;
}

h4.guide-title {
    font-size: 24px;
    background: #51aede;
    color: #fff;
    padding: 5px 20px;
    margin: 20px 0;
    border-bottom: 2px dashed #fff;
    border-top: 2px dashed #fff;
    box-shadow: 0px 0px 0 5px #51aede;
}

section#guide {
    padding-top: 200px;
    margin-top: -200px;
}

#guide table {
    width: 100%;
    border-collapse: collapse;
}

#guide th {
    width: 200px;
    text-align: left;
    font-size: 18px;
    border-bottom: 1px solid #ccc;
}

#guide td {
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
}

span.guide-top {
    font-weight: bold;
}

.guide-top.red a {
    color: red;
}

@media only screen and (max-width:1180px) {
    .recruit__teacher section {
        margin: 40px 20px;
    }

}

@media only screen and (max-width:767px) {

    .recruit__teacher,
    .oiwai-lead,
    .oiwai-step,
    .point-title,
    .td-top,
    .point-text {
        font-size: 16px;
    }

    .recruit__teacher h1,
    .recruit__teacher h2 {
        font-size: 30px;
        text-align: center;
    }

    .fs60 {
        font-size: 36px;
    }

    .bg-toppan-blue {
        padding: 40px 20px 20px;
    }

    .recruit__teacher .note {
        font-size: 12px;
    }

    .point-wrap {
        flex-direction: column;
    }

    .point {
        max-width: 100%;
    }

    .point-title {
        flex-direction: column;
        align-items: center;
        margin-bottom: 40px;
    }

    .point.point-last {
        margin-bottom: 0;
    }

    .point-circle {
        left: auto;
        top: auto;
        margin-bottom: 20px;
    }

    .point-title p {
        left: auto;
        top: auto;
        text-align: center;
    }

    table.point-table {
        margin: 0;
    }

    table.point-table td {
        background: initial;
        padding: 20px 0;
        color: initial;
    }

    table th,
    table td {
        display: block;
        width: 100% !important;
    }

    .recruit__teacher--button {
        flex-direction: column;
        align-items: center;
    }

    .recruit__teacher--button div {
        padding: 0 20px;
        height: auto;
        margin-bottom: 10px;
    }

    .recruit__teacher--button div a {
        padding: 20px 10px;
        font-size: 16px;
    }

    .recruit__teacher h3 {
        padding-bottom: 0;
    }

    #guide td {
        border-bottom: none;
        padding-bottom: 40px;
    }

    #guide th::before {
        content: "●";
    }

    .top section#form {
        padding-top: 0;
        margin: 0;
    }
}

/*----------------------------------------------------------------------------------------------------
お知らせ一覧
----------------------------------------------------------------------------------------------------*/
.news_otherbox {
    .index_newscont-category {
        ul {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;

            li {
                background: #f7f4f1;
                width: calc(50% - 10px);

                @media screen and (max-width:480px) {
                    width: 100%;
                }
            }
        }
    }
}

/*----------------------------------------------------------------------------------------------------
お知らせ個別ページ
----------------------------------------------------------------------------------------------------*/
.single {
    section.news-single-content {
        display: flex;
        align-items: flex-start;
        gap: 40px;
        margin-bottom: 40px;

        @media screen and (max-width:1180px) {
            padding-inline: 20px;
        }
    }

    .com_subbox-02 {
        flex: 1;
    }

    .news_otherbox {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 20px;

        .news_othercont {
            width: calc(50% - (20px/2));
            padding: 20px;
            background: #f7f4f1;
            display: flex;
            gap: 20px;

            @media screen and (max-width:767px) {
                width: 100%;
                flex-direction: column;
            }
        }

        .news_othercon {
            flex: 3;
        }

        .news_ohterimg {
            flex: 1;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
recruit form
----------------------------------------------------------------------------------------------------*/

.recruit__teacher--form h2 {
    font-size: 24px;
    font-weight: 100;
    padding: 40px 0;
    text-align: center;
    line-height: 1.5;
}

section.recruit__form--child {
    padding: 40px 0;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

section.recruit__form--child p {
    padding-top: 10px;
}

.recruit__form h3.recruit__form--title {
    background: #1b95d4;
    font-size: 24px;
    color: #fff;
    padding: 10px 20px;
    line-height: 1;
}

span.must {
    font-size: small;
    text-decoration: underline;
}

.recruit__form th {
    text-align: left;
    width: 250px;
    vertical-align: top;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.recruit__form td {
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.wpcf7 table,
.recruit__form table {
    width: 100%;
}

.wpcf7 select,
.wpcf7 text,
.wpcf7 input:not([type="radio"]),
.recruit__form input:not([type="radio"]),
select[name="work"] {
    padding: 5px 10px;
    width: 300px;
    font-size: 16px;
    margin-block: 5px;
}

.wpcf7 input[name="age"],
.recruit__form input[name="age"] {
    width: 100px !important;
}

.wpcf7 textarea,
.recruit__form textarea {
    padding: 5px 10px;
    width: 100%;
}

.wpcf7 input[name="last-name"],
.wpcf7 input[name="first-name"],
.recruit__form input[name="last-name"],
.recruit__form input[name="first-name"] {
    width: calc((100% - 10px) / 2);
}

.wpcf7 input[name="last-name"] {
    margin-right: 10px;
}

section.recruit__form--child .wpcf7-list-item:not(.wpcf7-acceptance .wpcf7-list-item) {
    display: block;
}

.wpcf7 .button-send,
.recruit__form .button-send {
    text-align: center;
}

.wpcf7 input[type="submit"],
.wpcf7 input[type="button"],
.recruit__form input[type="submit"],
.recruit__form input[type="button"] {
    text-align: center;
    width: 250px;
    height: 60px;
    margin: 2% 10px;
    font-weight: bold;
    text-align: center;
    border: none;
    /* background: url(../images/contact_btn.png) no-repeat; */
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    background-color: #1e6daf;
    border-radius: 5px;
    font-size: 24px;
}


/* .wpcf7-spinner {
display: block !important;
margin: 0 auto !important;
} */

.wpcf7 td.no-border {
    border-bottom: none;
    padding-bottom: 0;
}

input#zip {
    width: 120px;
}

@media only screen and (max-width:1180px) {
    section.recruit__form--child {
        padding: 0 20px 40px 20px;
    }
}

@media only screen and (max-width:767px) {
    .recruit__teacher--form h2 {
        font-size: 16px;
    }

    .recruit__form th {
        border-bottom: none;
        padding: 20px 0 0;
    }

    .recruit__form td {
        display: inline-block;
    }
}


/*----------------------------------------------------------------------------------------------------
contact form 7 2024/05/23
----------------------------------------------------------------------------------------------------*/

.formWrap {
    a {
        text-decoration: underline;
        color: #1e6dc1;
    }

    .form-content {
        margin-bottom: 4em;
    }

    .formTitle {
        margin-block: 1rem;
        padding: 3px 10px;
        overflow: hidden;
        clear: both;
        background: #cccccc;
        font-weight: bold;
        font-size: 16px;
    }

    .formTitle--blue {
        color: #3071b5;
        font-weight: bold;
        margin-block: 20px 5px;
    }

    .name_parent {
        margin-block-end: 10px;
    }

    .formSelect select {
        border: 1px solid #d3d3d3;
        border-radius: 0;
        padding: 6px 12px;
        font-size: 16px;
        color: #555;
        background: #f5f5f5;
    }

    table.formTable-inner {
        border: 1px solid #b7b7b7;
        padding: 5px;
    }

    table.formTable-inner th {
        width: 20%;
        min-width: 260px;
        text-align: left;
        background-color: #eaeaea;
        padding: 5px 10px;
        border-bottom: 1px dotted #b7b7b7;
        vertical-align: middle;
    }

    table.formTable-inner td {
        padding: 10px 5px;
        border-bottom: 1px dotted #b7b7b7;
    }

    /* table.formTable-inner td.form-name-wrap {
display: flex;
flex-direction: column;
gap: 5px;
} */
    span.wpcf7-list-item {
        margin-inline-end: 1em;
    }

    input,
    textarea {
        font-size: 16px;
    }

    input[type="radio"],
    input[type="checkbox"] {
        margin-right: 5px;
    }

    input[name="last-name"],
    input[name="first-name"] {
        width: 300px;
    }

    input.birth {
        width: 100% !important;
    }

    td.check-privacy .wpcf7-list-item {
        font-weight: bold;
    }

    dt.formTitle-sub {
        font-weight: bold;
        color: #4f4f4f;
        font-size: 15px;
    }

    dd:not([class]) {
        margin-block-end: 20px;
    }

    .wpcf7-not-valid-tip {
        margin-block: 5px;
    }

    td.flex.form-birth p {
        display: flex;
        align-items: center;
    }
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    text-align: center;
    padding-block: 20px;
    font-size: 20px;
    background: #ebd355;
    border: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0 0.5em 1em !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    text-align: center;
    padding-block: 20px;
    font-size: 20px;
    background: #ebd355;
    border: none;
}

.check-privacy {
    text-align: center;
    margin-block: 40px 0;

    a {
        text-decoration: underline;
        color: #1e6dc1;
    }

    .check-privacy-text {
        margin-block-end: 10px;
    }

    label {
        font-size: 20px;
        font-weight: bold;
    }
}

@media screen and (max-width:767px) {
    .formWrap {

        input[name="last-name"],
        input[name="first-name"],
        .formSelect select,
        input:not([type="radio"]) {
            width: 100%;
            margin: 0;
            margin-bottom: 5px;
        }

        table.formTable-inner td {
            padding: 0;
            margin-block: 10px 20px;
            border-bottom: none;
        }

        table.formTable-inner th {
            border-bottom: none;
        }
    }

    .wpcf7 select,
    .wpcf7 text,
    .wpcf7 input:not([type="radio"]) {
        width: 100%;
    }

    .wpcf7 input[type="submit"],
    .wpcf7 input[type="button"] {
        font-size: 20px;
        margin-inline: 0;
    }

    div.mfp_buttons {
        margin-inline: 20px;
    }

    td.flex.form-birth {
        display: flex;
    }
}


/*----------------------------------------------------------------------------------------------------
岩手医科大医学部　2024年度推薦入試　過去問対策講座 2023/06/05
----------------------------------------------------------------------------------------------------*/

.sr-blog-container a {
    text-decoration: underline;
    color: blue;
}

.sr-blog-container hr {
    display: inline-block;
    border-top: dashed 1px;
    width: 50%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 40px 0;
}

@media screen and (max-width:767px) {
    .sr-blog-container hr {
        margin: 20px 0;
    }
}

.sr-blog {
    margin-bottom: 60px;
}

@media screen and (max-width:767px) {
    .sr-blog {
        margin-bottom: 40px;
    }
}

.sr-blog section {
    margin-bottom: 40px;
}

.sr-blog p {
    margin: 0;
}

.sr-blog__title--red {
    display: inline-block;
    color: #b61824;
    font-size: 20px;
    font-weight: bold;
    border-top: 1px solid #4a6ee5;
    border-bottom: 1px solid #4a6ee5;
    line-height: 1;
    padding: 15px 0 !important;
    margin-bottom: 40px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    line-height: 2;
}

@media screen and (max-width:767px) {

    .sr-blog__title--red,
    .sr-blog__title--black {
        font-size: 18px;
        line-height: 1.5;
    }
}

.sr-blog__title--black {
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

span.sr-blog__title--sub {
    font-size: smaller;
}

.sr-blog__intro {
    background: #bbdef2;
    padding: 25px 33px;
    border-radius: 25px;
    font-size: 18px;
    margin-bottom: 40px;
}

.sr-blog h3.sr-blog-item__title {
    font-size: 18px;
    font-weight: bold;
}

.sr-blog figure {
    margin: 0;
}

.sr-blog-tel,
.sr-blog-tel a {
    font-size: 30px;
    font-weight: bold;
    color: #1a4f90;
}

.sr-blog .sr-voice__item {
    border: 4px solid #cdc0c0;
    border-radius: 20px;
    padding: 12px 22px;
    margin-bottom: 20px;
}

.sr-blog .sr-voice__name {
    padding-bottom: 10px;
    font-weight: bold;
    color: #1a4f90;
}

.sr-blog .sr-voice__name--parent {
    color: #bf7b32;
}

.sr-blog-container .button-area {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 60px;
}

@media screen and (max-width:767px) {
    .sr-blog-container .button-area {
        flex-direction: column;
    }
}

.sr-blog-container .button-area__item {
    box-shadow: inset -5px -5px 10px #cdc0c0;
    border-radius: 50px;
    flex-grow: 1;
    text-align: center;
}

.sr-blog-container .button-area__item a {
    padding: 20px 0;
    display: block;
    text-decoration: none;
    color: initial;
    font-weight: bold;
}

.sr-blog .sr-youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.sr-blog .sr-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sr-blog-container .button-more {
    box-shadow: inset -5px -5px 10px #cdc0c0;
    border-radius: 50px;
    background: #f6e876;
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 40px 0;
}

.sr-blog-container .button-more a {
    padding: 20px 50px;
    display: block;
    text-decoration: none;
    color: #731529;
    font-weight: bold;
}

div#form {
    padding-top: 200px;
    margin-top: -200px;
}


/* ---------------フォーム-------------------*/

@media screen and (max-width:920px) {
    #form.sr-blog {
        margin-left: 0;
        margin-right: 0;
    }
}

.sr-blog-container .form-IwateIdai-2024 .contact_table-form {
    padding: 0;
    overflow: hidden;
    clear: both;
    font-size: 16px;
    width: 100%;
}

.sr-blog-container .form-IwateIdai-2024 .form-container h3 {
    font-size: 24px !important;
    padding-bottom: 10px;
    line-height: 1 !important;
    border-bottom: 2px solid #0068b7;
}

.sr-blog-container .form-IwateIdai-2024 tr {
    line-height: 2;
}

.sr-blog-container .form-IwateIdai-2024 th {
    min-width: 250px;
    vertical-align: top;
    font-weight: bold;
}

.sr-blog-container .form-IwateIdai-2024 td {
    width: 100%;
}

@media screen and (max-width:767px) {
    .sr-blog-container .form-IwateIdai-2024 td {
        margin-bottom: 40px;
    }
}

.sr-blog-container .form-IwateIdai-2024 .contact_table-form input {
    width: 100%;
}

.sr-blog-container .form-IwateIdai-2024 .contact_table-form input[type="radio"] {
    width: auto;
}

.sr-blog-container .form-IwateIdai-2024 .note {
    color: red;
    font-size: smaller;
    line-height: 1.5;
}

.sr-blog-container .form-IwateIdai-2024 .require {
    background: red;
    color: #fff;
    font-size: small;
    padding: 3px 5px;
    line-height: 1;
    display: inline-block;
    margin-left: 10px;
    position: relative;
    bottom: 2px;
}

.sr-blog-container .form-IwateIdai-2024 input[name="moshi"] {
    width: 45% !important;
}

.sr-blog-container .form-IwateIdai-2024 input[name="moshi-month"] {
    width: 40px !important;
}

@media screen and (max-width:1200px) {

    .sr-blog-container .form-IwateIdai-2024 th,
    .sr-blog-container .form-IwateIdai-2024 td {
        width: 100%;
        display: block;
        border-bottom: none;
        float: none;
        padding-top: 0;
    }
}

@media screen and (max-width:767px) {
    figure {
        text-align: center;
    }
}


/*----------------------------------------------------------------------------------------------------
岩手医科大医学部　2025年度推薦入試　過去問対策講座 2024/05/27
----------------------------------------------------------------------------------------------------*/

.igakubu {
    .tableWrap {
        display: flex;
        flex-wrap: wrap;
        font-size: 14px;

        table {
            border-collapse: collapse;
            padding: 5px;
        }

        td {
            vertical-align: middle;
            border: 1px solid;
            padding: 5px;
            min-width: 80px;
        }
    }
}

.wpcf7 {

    .form-igakubu select,
    .form-igakubu text,
    .form-igakubu input:not([type="radio"], [type="submit"], [type="button"]) {
        width: auto;
        margin-block: 2px;
    }
}

.form-igakubu {
    margin-block-start: 40px;

    table.formTable-inner th {
        width: 40%;
    }

    .note {
        color: #0068b7;
        font-size: smaller;
        line-height: 1.5;
    }

    .require {
        background: red;
        color: #fff;
        font-size: small;
        padding: 3px 5px;
        line-height: 1;
        display: inline-block;
        margin-right: 10px;
        position: relative;
        bottom: 2px;
    }

    .wpcf7-list-item {
        display: block;
    }

    .moshi-04 .wpcf7-list-item {
        display: initial;
    }

    input.moshi-month {
        width: auto !important;
        margin-inline: 10px;
    }
}

@media screen and (max-width:1050px) {
    .wpcf7 {

        .form-igakubu input.email,
        .form-igakubu input.address {
            width: 100%;
        }
    }
}

@media screen and (max-width: 767px) {

    .igakubu .tableWrap td,
    .igakubu .tableWrap th {
        display: table-cell;
        width: auto !important;
    }

    .form-igakubu h3 {
        font-size: 1.4rem !important;
    }

    td.form-name-wrap {
        margin-block: 5px !important;
    }
}


/*----------------------------------------------------------------------------------------------------
CP（固定） 20240610
----------------------------------------------------------------------------------------------------*/

.cpHeader.header-inner {
    display: flex;
    justify-content: space-between;
    max-width: 1180px;
    background: #eceff3;
}

/*----------------------------------------------------------------------------------------------------
KATEKYOクラブ&KATEKYO Study（固定） 20250213
----------------------------------------------------------------------------------------------------*/
.button-more {
    a {
        display: block;
        font-size: 16px;
        font-weight: bold;
        color: #fff;
        background-color: #e60012;
        text-align: center;
        margin: 0 auto;
        margin-top: 47px;
        border-radius: 20px;
        padding: 13px;
        width: 270px;
    }
}

.KatekyoClub {
    border: 10px solid #fcd179;
    border-radius: 42px;
    padding: clamp(0.938rem, -0.867rem + 6.97vw, 7.5rem);
    margin-top: 40px;
    display: block;

    .KatekyoClub-head {

        .KatekyoClub-head-logo {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 80px;
            margin-bottom: 28px;

            img {
                min-width: 0;
            }
        }

        .KatekyoClub-lead {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 36px;
            margin-bottom: 70px;

            @media screen and (max-width:767px) {
                flex-direction: column;
            }
        }
    }

    .KatekyoClub-content {
        h2 {
            line-height: clamp(1.875rem, 1.772rem + 0.4vw, 2.25rem);
            text-align: center;
            margin-bottom: clamp(2.5rem, 1.864rem + 2.46vw, 4.813rem);
            font-size: clamp(1.25rem, 1.113rem + 0.53vw, 1.75rem);
        }
    }

    .KatekyoClub-course {
        &:not(:last-child) {
            margin-bottom: 28px;
        }

        @media screen and (max-width:767px) {
            margin-left: calc(-50vw + 50% + 10px) !important;
            margin-right: calc(-50vw + 50% + 10px);
        }

        .KatekyoClub-course-title {
            background-color: #f18b1b;
            padding: clamp(0.625rem, 0.453rem + 0.66vw, 1.25rem) clamp(1.25rem, 0.563rem + 2.66vw, 3.75rem);
            color: #fff;
            font-size: clamp(1.25rem, 0.769rem + 1.86vw, 3rem);
            border-radius: 20px 20px 0 0;
            display: flex;
            align-items: center;

            @media screen and (max-width:767px) {
                justify-content: space-between;
                border-radius: 0;
            }

            .title-gl {
                line-height: 1;
            }

            .pict {
                width: clamp(1.813rem, 1.469rem + 1.33vw, 3.063rem);
                margin-right: clamp(0.625rem, 0.488rem + 0.53vw, 1.125rem);
            }

            .day {
                background-color: #fff;
                color: initial;
                font-size: clamp(0.625rem, 0.488rem + 0.53vw, 1.125rem);
                margin-left: clamp(0.625rem, 0.316rem + 1.2vw, 1.75rem);
                width: clamp(4.5rem, 3.435rem + 4.12vw, 8.375rem);
                height: clamp(1.25rem, 0.958rem + 1.13vw, 2.313rem);
                border-radius: 5px;
                display: inline-flex;
                flex-shrink: 0;
                align-items: center;
                justify-content: center;
            }

            .school {
                background-color: #915107;
                color: #fff;
                font-size: clamp(0.625rem, 0.488rem + 0.53vw, 1.125rem);
                margin-left: clamp(0.625rem, 0.316rem + 1.2vw, 1.75rem);
                width: clamp(4.5rem, 3.435rem + 4.12vw, 8.375rem);
                height: clamp(1.25rem, 0.958rem + 1.13vw, 2.313rem);
                border-radius: 5px;
                display: inline-flex;
                flex-shrink: 0;
                align-items: center;
                justify-content: center;
            }
        }

        .KatekyoClub-course-info {
            padding: 27px clamp(1.25rem, 0.941rem + 1.2vw, 2.375rem);
            background-color: #feeed0;
            border-radius: 0 0 20px 20xp;

            dl {
                display: flex;
                gap: 20px;
                align-items: center;

                @media screen and (max-width:767px) {
                    align-items: initial;
                }

                &:not(:last-child) {
                    margin-bottom: 36px;
                }

                dt,
                dd {
                    display: inline-block;
                }

                dt {
                    background-color: #f18b1b;
                    color: #fff;
                    width: clamp(4.125rem, 3.627rem + 1.93vw, 5.938rem);
                    height: 37px;
                    text-align: center;
                    display: flex;
                    flex-shrink: 0;
                    justify-content: center;
                    align-items: center;
                    border-radius: 5px;
                    font-weight: bold;
                }
            }
        }
    }
}

.KatekyoStudy {
    border: 10px solid #86d2d9;
    border-radius: 42px;
    padding: clamp(0.938rem, -0.867rem + 6.97vw, 7.5rem);
    margin-block: 40px;
    display: block;

    .KatekyoStudy-head {

        .KatekyoStudy-head-logo {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 80px;
            margin-bottom: 28px;

            img {
                min-width: 0;
            }
        }

        .KatekyoStudy-lead {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 36px;
            margin-bottom: 70px;
        }
    }

    .KatekyoStudy-content {
        h2 {
            color: #189ba9;
            font-size: clamp(1.25rem, 1.113rem + 0.53vw, 1.75rem);
            font-weight: bold;
            line-height: 1.5;
            margin-bottom: 45px;
            text-align: center;
        }

        h3 {
            font-size: clamp(1.125rem, 0.953rem + 0.66vw, 1.75rem);
            color: #fff;
            background-color: #189ba9;
            padding: 18px clamp(1.25rem, 0.082rem + 4.52vw, 5.5rem);
            margin-bottom: 48px;
            border-radius: 20px;
            text-align: center;
        }

        .KatekyoStudy-point-title {
            font-size: 28px;
            font-weight: bold;
            color: #189ba9;
            margin-bottom: 52px;
            text-align: center;
        }

        .KatekyoStudy-point-wrap {
            margin-bottom: 50px;

            .KatekyoStudy-point {
                background-color: #d8eaee;
                display: flex;
                gap: 20px;
                align-items: center;
                padding: 40px 20px;
                border-radius: 20px;

                &:not(:last-child) {
                    margin-bottom: 20px;
                }

                @media screen and (max-width:767px) {
                    margin-left: calc(-50vw + 50% + 10px);
                    margin-right: calc(-50vw + 50% + 10px);
                    border-radius: 0;
                }

                .point-num {
                    background-color: #189ba9;
                    color: #fff;
                    font-size: clamp(1.25rem, 1.113rem + 0.53vw, 1.75rem);
                    border-radius: 50%;
                    width: clamp(1.75rem, 1.372rem + 1.46vw, 3.125rem);
                    height: clamp(1.75rem, 1.372rem + 1.46vw, 3.125rem);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-shrink: 0;
                }
            }
        }

        .KatekyoStudy-info {
            margin-bottom: 20px;

            table {
                border-collapse: collapse;
                text-align: center;

                th,
                td {
                    border: 1px solid;
                    background: #d8eaee;
                    padding: 5px 10px;
                    min-width: 120px;

                    @media screen and (max-width:767px) {
                        display: table-cell;
                    }
                }

                th {
                    @media screen and (max-width:767px) {
                        min-width: 60px;
                    }
                }

                tr.second td {
                    background-color: #fff;
                }
            }
        }
    }
}

/*----------------------------------------------------------------------------------------------------
CP目的別少人数クラス指導（固定） 20250213
----------------------------------------------------------------------------------------------------*/
.Cp2025-Spring {
    max-width: 100% !important;

    .cp-content {
        padding-inline: 10px;
        padding-block: 0;
        margin-block-end: 0;

        &:nth-last-of-type(2) {
            margin-bottom: 0;
            padding-bottom: 10px;
        }

        @media screen and (max-width:968px) {
            padding-inline: 0;
        }
    }

    .CpHeader {
        padding-block: 40px;
        padding-inline: 20px;

        .Cpheader-inner {
            color: #fff;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;
            text-align: center;

            h1 {
                font-size: clamp(1.75rem, 1.613rem + 0.53vw, 2.25rem);
                line-height: 1;
            }
        }
    }

    .cp-content-inner {
        background-color: #b3d3ef;
        padding-block: clamp(0.625rem, 0.281rem + 1.33vw, 1.875rem) clamp(2.5rem, 1.813rem + 2.66vw, 5rem);

        /* @media screen and (max-width:968px) {
            background-color: #fff;
        } */


        .cpWrap {
            background-color: #0068b7;
            border: 5px solid #0068b7;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;

            /* @media screen and (max-width:968px) {
                border: 5px solid #fff;
            } */
        }

        .cpTitle-wrap {
            background-color: #0068b7;
            color: #fff;
            padding: 20px;
            margin-block-end: 0;

            .cpTitle-icon-y {
                font-size: 18px;
                flex-direction: column;

                .coTitle-sub {
                    font-weight: initial;
                    font-size: small;
                }
            }

            .cpTitle {
                font-weight: initial;

                h2.cpTitle-main {
                    font-size: clamp(1.375rem, 1.134rem + 0.93vw, 2.25rem);
                }
            }

            .deadline {
                font-size: 16px;
                background: #e60012;
                padding: 5px;
                border-radius: 5px;
                align-self: flex-end;
                margin-left: auto;
                flex-shrink: 0;
            }
        }

        .cp-content-info {
            background-color: #fff;
            padding-bottom: 40px;

            .obi-shool {
                background-color: #b3d3ef;
                text-align: center;
                padding-block: 10px;
                color: initial;
                font-weight: bold;
            }

            .cpPoint {
                color: initial;
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;

                dt {
                    font-weight: bold;
                }

                dd {
                    text-indent: 2.2rem;
                }

                dt,
                dd {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                }
            }

            .cpMain {
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);

                dl {
                    display: flex;
                    margin-bottom: 5px;
                    gap: 10px;
                }

                dt {
                    font-weight: bold;
                    background-color: #0068b7;
                    color: #fff;
                    width: 72px;
                    border-radius: 5px;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                }

                div.schedule {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;

                    dd {
                        background-color: #b2d3ef;
                        padding: 5px 10px;
                        text-align: center;
                        border-radius: 5px;
                    }
                }

                dl.schedule {
                    dd {
                        background-color: #b2d3ef;
                        padding: 5px 10px;
                        border-radius: 5px;
                    }
                }

                .schedule-day {
                    display: flex;
                    gap: 5px;
                    flex-wrap: wrap;
                }
            }
        }
    }

    .mokutekibetsu-shoninzu {
        div.schedule {
            dd {
                width: 120px;
            }
        }
    }

    .mokutekibetsu-group {
        .cpTitle-icon-y {
            background-color: #7a7dbb;
            color: #fff;
        }
    }

    .note {
        max-width: 900px;
        width: 100%;
        margin: 0 auto;
        color: initial;
        margin-top: 40px;
        padding-inline: 20px;
    }

    .wpcf7 select {
        width: auto;

        @media screen and (max-width:767px) {
            width: 100%;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
小学生テスト（固定） 20250213
----------------------------------------------------------------------------------------------------*/

.ExamWrap {
    border: 5px solid #60a832;
    background-color: #eaf1e1;
    max-width: 875px;
    margin: 40px auto;

    @media screen and (max-width:874px) {
        border: 0;
        padding-bottom: 40px;
    }


    section.Exam {
        display: flex;

        @media screen and (max-width:874px) {
            flex-direction: column;
            gap: 40px;
        }

        .Exam01,
        .Exam02 {
            width: 50%;

            @media screen and (max-width:874px) {
                width: 100%;
            }

        }

        .ExamImg {

            img {
                min-width: 0;
            }
        }

        .ExamImg-l {
            @media screen and (min-width:875px) {
                display: flex;
                align-items: flex-start;
            }

            @media screen and (max-width:874px) {
                display: none;
            }
        }

        .ExamImg-s {
            @media screen and (min-width:875px) {
                display: none;
            }

            @media screen and (max-width:874px) {
                display: block;
            }
        }

        .ExamTitle {
            font-size: 20px;
            font-weight: bold;
            max-width: 300px;
            height: 53px;
            background-color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
            margin-top: -60px;
            position: relative;

            @media screen and (max-width:874px) {
                display: none;
            }
        }

        .Exam01 {
            @media screen and (max-width:874px) {
                border: 3px solid #f18b1b;
            }

            .ExamTitle {
                border: 4px solid #f18b1b;
                border-radius: 10px;
                color: #f18b1b;
            }
        }

        .Exam02 {
            border-left: 3px solid #60a832;

            @media screen and (max-width:874px) {
                border-left: 0;
                border: 3px solid #ec7383;
            }

            .ExamTitle {
                border: 4px solid #ec7383;
                border-radius: 10px;
                color: #ec7383;
            }
        }

        .ExamLead {
            margin-top: 30px;
            text-align: center;
            font-weight: bold;
            font-size: 18px;
            margin-bottom: 20px;
        }

        .ExamCard {
            background: #fff;
            padding: 10px;
            margin: 10px;
            height: 118px;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
        }

        .ExamCard-title {
            display: flex;
            gap: 10px;
            align-items: center;
            font-weight: bold;
            margin-bottom: 10px;
        }

        .ExamInfo b.ExamDate {
            font-size: 18px;
        }

        .ExamPrice {
            font-size: 30px;
            font-weight: bold;
            color: red;
            padding-inline: 5px;
        }
    }

    section.ExamCommon {
        @media screen and (max-width:874px) {
            margin-top: 40px;
        }

        .SchoolTel-child {
            background-color: #eaf1e1;
            font-weight: bold;
        }

        .ExamCard {
            background: #fff;
            padding: 20px 40px;
            margin: 10px;

            @media screen and (max-width:480px) {
                padding: 20px;
            }
        }

        .ExamCard-title {
            display: flex;
            gap: 10px;
            align-items: center;
            font-weight: bold;
            margin-bottom: 10px;
            font-size: 24px;
        }

        .SchoolTel {
            display: flex;
            flex-wrap: wrap;
            gap: 30px 20px;
            justify-content: center;
            margin-top: 20px;

            .SchoolTel-child {
                max-width: 340px;
                width: 100%;
                height: 90px;
                font-weight: bold;
                font-size: 18px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .tel a {
                color: red;
                font-size: 24px;
                padding-left: 10px;
            }
        }

    }
}

/*----------  2025 spring ---------- */
.cpBanner {
    .cpBanner-column {
        display: flex;
        justify-content: center;

        @media screen and (max-width: 767px) {
            flex-wrap: wrap;
            justify-content: center;
        }
    }

    .cpBanner-column3 {
        display: flex;
        justify-content: space-between;
        gap: 0 20px;

        @media screen and (max-width: 767px) {
            flex-wrap: wrap;
            justify-content: center;
        }
    }

    .cpBanner-column4 {
        display: flex;
        justify-content: space-between;
        gap: 0 4px;

        @media screen and (max-width: 767px) {
            flex-wrap: wrap;
            justify-content: center;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
 school 20250526
----------------------------------------------------------------------------------------------------
*/
.school {
    .katekyo-red {
        max-width: 268px;
    }

    .school-tel {
        font-size: 30px;
    }
}

/*----------------------------------------------------------------------------------------------------
各校ページ 20250526（ACFカスタム投稿）
----------------------------------------------------------------------------------------------------
*/
.custom-school {

    .w_center {
        max-width: 1220px;
        width: 100%;
        padding-inline: 20px;
        margin: 0 auto;
    }

    .font-ryumin {
        font-family: Ryumin Regular KL;

        &.bold {
            font-family: Ryumin Bold KL;
        }
    }


    .font-gothic-mb101 {
        font-family: Gothic MB101;
    }

    .font-shinGo {
        font-family: Shin Go Regular;
    }

    .font-shimanami {
        font-family: Shimanami;
    }

    img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    section {
        margin-bottom: 110px;
    }

    .section-inner {
        max-width: 1180px;
        margin: 0 auto;
        padding-inline: 20px;
        box-sizing: content-box;
    }

    h2 {
        letter-spacing: 0.2em;
        line-height: 1;
        margin-bottom: 20px;
    }

    .KV {
        margin-block: 40px;

        .KV-head {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 20px 40px;
            margin-bottom: 20px;

            /* @media screen and (max-width:767px) {
                display: none;
            } */

            .katekyo-red {
                max-width: 268px;
                width: 100%;
            }

            h1 {
                font-size: 44px;
            }

            .school-tel {
                display: flex;
                align-items: center;
                gap: 5px;

                img {
                    width: 25px;
                }

                a {
                    font-size: 30px;
                    font-weight: bold;
                    color: #e60012;
                }
            }
        }
    }

    nav.school-nav {
        background: red;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-bottom: 40px;
        position: sticky;
        top: 203px;
        z-index: 1;

        ul {
            max-width: 1180px;
            width: 100%;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
            color: #fff;
            font-weight: bold;
            padding-block: 15px;
            justify-content: center;

            li::after {
                content: "|";
                display: inline-block;
                padding-inline: 10px;
            }

            a {
                color: #fff;
            }
        }
    }

    section#school-info {
        display: flex;
        gap: 40px;
        align-items: center;

        @media screen and (max-width:767px) {
            flex-wrap: wrap;
            justify-content: center;
        }

        .school-info-img {
            flex-shrink: 0;

            @media screen and (max-width:767px) {
                order: 3;
                width: 100%;
            }
        }

        .school-info-text {

            h2.shool-info-title {
                font-size: 30px;
                font-weight: bold;
                color: #0463a7;
                text-align: center;
                margin-bottom: 38px;
            }

            p {
                line-height: 33px;
                letter-spacing: 0.01em;
            }
        }
    }

    section#tsuyomi {
        background: rgb(245 173 107 / 20%);
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 40px;

        h2.tsuyomi-title {
            font-size: 45px;
            line-height: 1;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;

            span.small {
                font-size: 30px;
            }

            span.red {
                color: #ff0000;
            }
        }

        .tsuyomi-cards {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            justify-content: center;
            margin-bottom: 20px;

            .tsuyomi-cards-child {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                max-width: 220px;
                min-width: 220px;
                text-align: center;
                color: #fff;
                box-shadow: 4px 4px 4px 0px #d8d8d8;
                background: #ff4a4a;
                border-radius: 10px;
                padding: 10px;

                @media screen and (max-width:767px) {
                    max-width: 100%;
                    width: 100%;
                }
            }

            h3.tsuyomi-cards-title {
                font-size: 33px;
                margin-bottom: 20px;

                span {
                    &.title-head {
                        font-size: 25px;
                    }

                    &.yellow {
                        color: #ffffbb;
                    }
                }
            }
        }

        .button.tsuyomi-more {
            background: #fff;
            text-align: center;
            box-shadow: 2px 2px 2px #d8d8d8;
            font-weight: bold;

            a {
                display: block;
                padding: 10px 0;
                width: 100%;
                height: 100%;
            }
        }
    }

    section#shido {
        @media screen and (max-width:767px) {
            margin-inline: 0;
        }

        hr {
            margin-block: 50px;
        }

        .teacher {
            border: 28px solid rgb(230 0 18 / 30%);
            position: relative;
            width: 100%;
            padding: 25px;
            margin-bottom: 80px;
            position: relative;

            @media screen and (max-width:767px) {
                border: 14px solid rgb(230 0 18 / 30%);
                padding: 14px;
            }

            .teacher-text-wrap {
                padding-right: 480px;

                @media screen and (max-width:767px) {
                    max-width: 100%;
                    text-align: center;
                    padding-right: 0;
                }
            }

            .teacher-title-head {
                color: #0463a7;
                font-size: 31px;
                font-weight: bold;

                @media screen and (max-width:767px) {
                    font-size: 28px;
                }
            }

            .teacher-title {
                color: #ff0000;
                font-weight: bold;
                font-size: clamp(1.875rem, 1.511rem + 1.82vw, 2.875rem);
                line-height: 1.2;
                margin-bottom: 20px;
                letter-spacing: -0.08em;

                @media screen and (max-width:767px) {
                    letter-spacing: initial;
                }

                span {
                    letter-spacing: -0.5em;
                }
            }

            .teacher-text {
                font-size: 18px;
                font-weight: bold;
                max-width: 590px;
                line-height: 1.5;
                letter-spacing: -0.05em;
                margin-bottom: 20px;
                margin-inline: auto;
            }

            .button.teacher-more {
                font-size: 20px;
                font-weight: bold;
                background: #e60012;
                max-width: 570px;
                text-align: center;
                position: relative;

                a {
                    color: #fff;
                    display: block;
                    width: 100%;
                    height: 100%;
                    padding-block: 20px;

                    &::after {
                        content: ">";
                        position: absolute;
                        right: 20px;
                    }
                }
            }

            .teacher-img {
                float: none;

                &.pc {
                    position: absolute;
                    bottom: 0;
                    right: 0;
                }

                img {
                    display: block;
                    margin: 0 auto;
                }
            }
        }

        .shido-child {

            .shido-child-inner {
                display: flex;
                gap: 30px;
                margin-bottom: 30px;

                @media screen and (max-width:767px) {
                    flex-direction: column;
                }

                .shido-child-text {
                    font-weight: bold;
                    position: relative;
                    display: flex;
                    flex-direction: column;

                    h2.shido-child-title {
                        padding: 10px;
                        text-align: center;
                        font-size: 33px;
                        letter-spacing: initial;

                        span {
                            background: #fff;
                            margin: 2px;
                            padding: 5px;
                            border-radius: 5px;
                            line-height: 1;
                            display: inline-block;
                        }
                    }

                    .shido-child-lead {
                        font-size: 25px;
                        text-align: center;
                        margin-block: 20px;
                    }

                    p {
                        font-size: 17px;
                        line-height: 1.5;
                        margin-bottom: 20px;
                    }
                }

                .koza {
                    display: flex;
                    align-items: center;
                    gap: 40px;
                    padding: 20px;
                    margin-top: auto;

                    @media screen and (max-width:767px) {
                        flex-direction: column;
                    }

                    .koza-title {
                        width: 10%;
                        text-align: center;

                        @media screen and (max-width:767px) {
                            width: 100%;
                            margin-bottom: 20px;
                        }
                    }

                    .koza-info {
                        display: flex;
                        flex-wrap: wrap;
                        gap: 10px;
                        width: 90%;

                        @media screen and (max-width:767px) {
                            width: 100%;
                        }
                    }

                    .koza-info-child {
                        background: #fff;
                        width: calc(50% - 5px);
                        text-align: center;
                        font-size: 18px;
                        padding: 10px;

                        @media screen and (max-width:767px) {
                            width: 100%;
                        }
                    }
                }

                .shido-child-img {
                    max-width: 400px;
                    flex-shrink: 0;
                    margin: 0 auto;
                }
            }

            .button.shido-more {
                a {
                    display: block;
                    max-width: 180px;
                    margin: 0 auto;
                    padding-block: 9px;
                    text-align: center;
                    font-weight: bold;
                    position: relative;

                    &::after {
                        content: ">";
                        position: absolute;
                        right: 10px;
                    }
                }
            }

            &.shido-shogakusei {
                h2.shido-child-title {
                    background: #00a11f;

                    span {
                        color: #00a11f;
                    }
                }

                .button.shido-more {
                    a {
                        border: 1px solid #00a11f;
                        color: #00a11f;
                    }
                }

                .shido-child-lead {
                    color: #00a11f;
                }

                .koza {
                    background: #cfedd4;
                }
            }

            &.shido-chugakusei {
                h2.shido-child-title {
                    background: #f77732;

                    span {
                        color: #f77732;
                    }
                }

                .button.shido-more {
                    a {
                        border: 1px solid #f77732;
                        color: #f77732;
                    }
                }

                .shido-child-lead {
                    color: #f77732;
                }

                .koza {
                    background: #fde5d8;
                }
            }

            &.shido-kokosei {
                h2.shido-child-title {
                    background: #0064a3;

                    span {
                        color: #0064a3;
                    }
                }

                .button.shido-more {
                    a {
                        border: 1px solid #0064a3;
                        color: #0064a3;
                    }
                }

                .shido-child-lead {
                    color: #0064a3;
                }

                .koza {
                    background: #dae9f3;
                }
            }
        }
    }

    section#voice {
        margin-inline: 0;

        hr {
            margin-block: 80px;
        }

        h2.title-voice {
            color: #ea696d;
            line-height: 2;
            max-width: 730px;
            border: 2px solid #ea696d;
            border-radius: 50px;
            text-align: center;
            margin: 0 auto;
            margin-bottom: 90px;
        }

        .voice-title {
            color: #fff;
            font-size: clamp(1rem, 0.795rem + 1.02vw, 1.563rem);
            line-height: 2;
            padding: 0 30px;
            max-width: max-content;
            border-radius: 50px;
            letter-spacing: 0.5em;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 auto;
            position: relative;
            margin-bottom: 60px;
        }

        .voice-cards {
            display: flex;
            gap: 40px 20px;
            flex-wrap: wrap;

            .voice-card {
                width: calc(50% - 20px);
                padding: 20px;
                border-radius: 10px;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                line-height: 1.5;

                @media screen and (max-width:767px) {
                    width: 100%;
                }
            }

            .voice-name {
                text-align: right;
                margin-top: 20px;
            }
        }

        .voice-student {
            .voice-title {
                background: #ee8386;

                &::after {
                    content: "";
                    background: url(/images/school/new/voice-pink.svg) no-repeat;
                    width: 100%;
                    height: 62px;
                    position: absolute;
                    bottom: -42px;
                    left: 35px;
                    z-index: -1;
                }
            }

            .voice-card {
                background: #fdf0e4;

                .voice-name {
                    color: #ee8386;
                }
            }
        }

        .voice-parents {
            .voice-title {
                background: #72aad1;

                &::after {
                    content: "";
                    background: url(/images/school/new/voice-blue.svg) no-repeat;
                    width: 100%;
                    height: 62px;
                    position: absolute;
                    bottom: -42px;
                    left: 35px;
                    z-index: -1;
                }
            }

            .voice-card {
                background: #e6f0f7;

                .voice-name {
                    color: #72aad1;
                }
            }
        }
    }

    section#step4 {
        background: rgb(245 173 107 / 20%);
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 60px;

        h2 {
            line-height: 1;
            font-size: clamp(1.5rem, 1.295rem + 1.02vw, 2.063rem);
            color: #e60012;
            text-align: center;
            margin-bottom: 40px;
        }

        .steps {
            display: flex;
            gap: 20px;
            justify-content: space-between;

            @media screen and (max-width:767px) {
                flex-direction: column;
            }
        }

        .step {
            display: flex;
            flex-direction: column;
            width: 240px;

            @media screen and (max-width:767px) {

                width: 100%;
            }

            .step-title {
                display: flex;
                font-size: 17px;
                font-weight: bold;
                align-items: center;
                gap: 10px;
                margin-bottom: 10px;

                @media screen and (max-width:767px) {
                    background: #fff;
                    padding-block: 10px;
                    margin-bottom: 0;
                }

                img {
                    width: 100px;
                }
            }

            .step-img {
                margin-bottom: 20px;
            }
        }

        .step-arrow {
            flex-shrink: 0;
            width: 22px;
            align-self: center;

            @media screen and (max-width:767px) {
                img {
                    transform: rotate(90deg);
                }
            }
        }
    }

    section#faq {
        background: #edf4fb;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 60px;

        h2.faq-title {
            font-size: 30px;
            text-align: center;
        }

        h3.faq_til {
            color: #4d4d4d;
            font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
            background: #fff;
            box-shadow: 7px 7px 2px 0px rgb(216 216 216 / 20%);
            padding: 20px;
            display: flex;
            align-items: center;
            margin-bottom: 20px;
        }

        .faq_cont {
            background: #fff;
            margin-bottom: 40px;
            box-shadow: 7px 7px 2px 0px rgb(216 216 216 / 20%);
            padding: 20px;
            color: inherit;
            margin-top: -20px;
            font-size: initial;
            font-weight: bold;
            display: flex;

            @media screen and (max-width:767px) {
                font-size: 14px;
                line-height: 1.5;
            }
        }

        .faq-q {
            color: #ff0000;
            font-family: initial;
            margin-right: 20px;
            margin-top: -5px;
        }

        .faq-a {
            color: #0064a3;
            font-family: initial;
            margin-right: 20px;
            font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
            margin-top: -5px;
        }

        .faq-more {
            text-align: right;
            font-weight: bold;
        }
    }

    section#news {
        background: rgb(164 200 225 / 20%);
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 60px;

        .section-inner {
            padding-block: 40px;
            background: #fff;

            @media screen and (max-width:767px) {
                margin-inline: 20px;
            }
        }

        h2.news-title {
            text-align: center;
            color: #3d8ac0;
            margin-bottom: 20px;
        }

        ul.news-list {
            max-width: 760px;
            margin: 0 auto;
            padding-bottom: 40px;

            li {
                display: flex;
                gap: 30px;
                border-bottom: 1px solid #c1daeb;
                padding-bottom: 15px;
                margin-bottom: 15px;
            }

            .news-date {
                color: #3d8ac0;
                margin-bottom: 5px;
            }

            .thumbnail {
                width: 150px;
                flex-shrink: 0;

                @media screen and (max-width:767px) {
                    width: 80px;
                }
            }

            .news-more {
                text-align: right;
                color: #3d8ac0;
            }
        }

        .news-more {
            text-align: center;
            background: #0068b7;
            margin: 0 auto;
            width: 300px;

            a {
                color: #fff;
                font-weight: bold;
                display: block;
                width: 100%;
                padding: 10px 50px;
            }
        }
    }


    section#success-voice {
        h2 {
            background: #ee8386;
            color: #fff;
            line-height: 2;
            text-align: center;
            margin-bottom: 20px;
        }

        .voice-text {
            line-height: 1.5;

            @media screen and (max-width:767px) {
                h3 {
                    text-align: center;
                }
            }
        }

        .voice-img {
            @media screen and (max-width:767px) {
                margin-bottom: 20px;
            }

            img {
                margin-bottom: 10px;
            }
        }
    }

    section#successVoice {
        background: rgb(164 200 225 / 20%);
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 60px;

        .section-inner {
            margin-bottom: 60px;
        }

        h2.title-successVoice {
            margin-inline: 20px;

            img {
                margin: 0 auto;
            }
        }

        .h2-sub {
            text-align: center;
            margin-bottom: 40px;
            font-weight: bold;
        }

    }

    section#access {
        background: #f2f2f2;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-block: 60px;

        h2.access-title {
            font-size: clamp(1rem, 0.795rem + 1.02vw, 1.563rem);
            text-align: center;
            line-height: 1;
        }

        .access-text {
            text-align: initial;
            margin-top: 20px;

            hr {
                margin-block: 5px;
            }

            p {
                font-size: 14px;
            }
        }

        .access-pic>a img {
            margin-bottom: 5px;
        }
    }

    section#form {
        margin: 0;

        h2 {
            font-size: 30px;
            line-height: 1;
            text-align: center;
            margin-bottom: 40px;
        }
    }

    /* 教師紹介 */
    section.school-teacher {
        h2 {
            background: #e50000;
            color: #fff;
            padding-block: 10px;
            margin-bottom: 60px;
            text-align: center;
        }

        .teacher-info {
            display: flex;
            gap: 20px;
            align-items: center;
            padding-inline: clamp(1.25rem, -1.705rem + 14.77vw, 9.375rem);
            justify-content: space-between;
            padding-bottom: 80px;
            margin-bottom: 80px;
            border-bottom: 1px solid #cccccc;

            @media screen and (max-width:767px) {
                display: block;
            }

            .teacher-img {
                float: none;
                flex-shrink: 0;
            }

            .teacher-text {
                .teacher-name {
                    border-left: 8px solid #e50000;
                    padding-left: 20px;
                    margin-bottom: 60px;
                    font-size: clamp(1.25rem, 1.239rem + 0.85vw, 1.875rem);
                    font-weight: bold;
                    line-height: 1;

                    @media screen and (max-width:767px) {
                        margin-bottom: 0;
                    }

                    .furigana {
                        font-size: 13px;
                        padding-top: 20px;
                    }

                    .teacher-name-small {
                        font-size: 16px;
                        font-family: Gothic Medium BBB;
                    }

                    &.sp {
                        @media screen and (max-width:767px) {
                            display: flex !important;
                            align-items: center;
                            gap: 20px;
                            border-left: none;
                            margin-bottom: 40px;
                            padding-left: 0;
                            justify-content: space-between;

                            .teacher-img {
                                width: 40%;
                            }
                        }
                    }
                }

                .teacher-message {
                    padding-bottom: 40px;
                }

                .teacher-subject {
                    dl {
                        border-bottom: 1px solid #fff;
                        display: flex;
                    }

                    dt {
                        background: #d59a94;
                        color: #fff;
                        padding: 5px 20px;
                        min-width: 82px;
                    }

                    dd {
                        background: #f1d9bb;
                        padding: 5px 20px;

                        @media screen and (max-width:767px) {
                            width: 100%;
                        }
                    }
                }
            }
        }
    }
}

/* 各校お知らせ個別ページ */
.school-news {
    main {
        .news-date {
            margin-bottom: 10px;
        }

        h1 {
            margin-bottom: 20px;
        }

        .thumbnail {
            margin-bottom: 20px;
            max-width: 50%;
        }

        article {
            margin-block: 40px;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
教師紹介ページ 20250526（固定ページ）
----------------------------------------------------------------------------------------------------
*/
.teacher-school {
    section {
        margin-bottom: 200px;
    }

    .button.form-school {
        font-size: 20px;
        font-weight: bold;
        margin-inline: 20px;

        a {
            position: relative;
            border: 2px solid #e60012;
            max-width: 570px;
            margin: 0 auto;
            text-align: center;
            color: #e60012;
            display: block;
            width: 100%;
            height: 100%;
            padding-block: 20px;

            &::after {
                content: ">";
                position: absolute;
                right: 20px;
            }
        }
    }
}

/* -------------------------------------202510 【観戦チケット】岩手ビッグブルズVS信州ブレイブウォリアーズ---------------------------------------------- */
.LpContent.ticket-2025 {
    .info-ticket {
        max-width: 800px;
        margin: 80px auto;
        padding: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
        border: 1px solid;
        font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
        line-height: 1.5;
    }

    section.LpContent-Main {
        padding-inline: 20px;
    }

    input#addr {
        width: 100%;
    }
}