@charset "utf-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
section,
article,
aside,
hgroup,
header,
footer,
nav,
dialog,
figure,
menu,
video,
audio,
mark,
time,
canvas,
details {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}

section,
article,
aside,
hgroup,
header,
footer,
nav,
dialog,
figure,
figcaption {
    display: block;
}

body {
    -webkit-text-size-adjust: 100%;
    -webkit-print-color-adjust: exact;
}

p:last-child {
    margin-bottom: 0;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

:focus {
    /* remember to define focus styles! */
    outline: 0;
}

ins {
    /* remember to highlight inserts somehow! */
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

table {
    /* markup tables with 'cellspacing="0"' */
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    max-width: 100%;
	height: auto;
}

/* ボタンの矢印 */
.btn-arrow {
    position: relative;
}

.btn-arrow i,
.btn-arrow i:before,
.btn-arrow i:after {
    position: absolute;
}

.btn-arrow i {
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 17px;
    height: 5px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

.btn-arrow i:before {
    top: 2px;
    right: 0;
    content: '';
    width: 17px;
    border-bottom: solid 1px #fff;
}

.btn-arrow i:after {
    top: -2px;
    right: -2px;
    content: '';
    width: 0;
    border-right: 8px solid transparent;
    border-bottom: 5px solid #fff;
}

.btn-arrow:hover i {
    right: -10px;
}

.btn-arrow:hover i:before,
.btn-arrow:hover i:after {
    border-bottom-color: inherit;
}

/* ボタンの矢印-オレンジ */

.btn-arrow02 {
    position: relative;
}

.btn-arrow02 i,
.btn-arrow02 i:before,
.btn-arrow02 i:after {
    position: absolute;
}

.btn-arrow02 i {
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    width: 17px;
    height: 5px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

.btn-arrow02 i:before {
    top: 2px;
    right: 0;
    content: '';
    width: 17px;
    border-bottom: solid 1px #f29100;
}

.btn-arrow02 i:after {
    top: -2px;
    right: -2px;
    content: '';
    width: 0;
    border-right: 8px solid transparent;
    border-bottom: 5px solid #f29100;
}
.btn-arrow02:hover{
    color: #f29100;
}
.btn-arrow02:hover i {
    right: -20px;
}

.btn-arrow02:hover i:before,
.btn-arrow02:hover i:after {
    border-bottom-color: inherit;
}

/* ボタンの矢印-赤 */

.btn-arrow03 {
    position: relative;
}

.btn-arrow03 i,
.btn-arrow03 i:before,
.btn-arrow03 i:after {
    position: absolute;
}

.btn-arrow03 i {
    top: 50%;
    right: -7px;
    transform: translateY(-50%);
    width: 17px;
    height: 5px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

.btn-arrow03 i:before {
    top: 2px;
    right: 0;
    content: '';
    width: 17px;
    border-bottom: solid 1px #e6003b;
}

.btn-arrow03 i:after {
    top: -2px;
    right: -2px;
    content: '';
    width: 0;
    border-right: 8px solid transparent;
    border-bottom: 5px solid #e6003b;
}
.btn-arrow03:hover{
    color: #e6003b;
}
.btn-arrow03:hover i {
    right: -20px;
}

.btn-arrow03:hover i:before,
.btn-arrow03:hover i:after {
    border-bottom-color: inherit;
}

main p,
main li,
main dt,
main dd,
main th,
main td {
    line-height: 1.6;
}

/* Clearfix */
.clr {
    zoom: 1;
}

.clr:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}

/** お知らせ詳細 */
.info-page-wrap-inner,
.info-page-wrap-inner p {
    font-size: 14px;
    line-height: 2;
    font-weight: normal;
}

.info-page-wrap-inner p {
    padding: 0 20px;
}

.info-page-wrap-inner ul {
    padding: 0 40px;
}

.info-page-wrap-inner ul li {
    color: #333333;
    vertical-align: middle;
    line-height: 1.5;
    transition: 0.4s;
    -webkit-transition: 0.4s;
}

.info-page-wrap-inner h3 {
    padding: 20px 24px;
    background: #f9f5f4;
    border-radius: 10px;
    font-weight: bold;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.6;
}

.info-page-wrap-inner h4 {
    padding-left: 20px;
    padding: 0;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.05em;
}

/**
 * PC
 */
@media print, screen and (min-width: 751px) {
    html,
    body {
        width: 100%;
        height: 100%;
    }

    .pc {
        display: block !important;
    }

    .sp {
        display: none !important;
    }
}

/**
 * SP
 */
@media screen and (max-width: 750px) {
    html,
    body {
        width: 100%;
        height: 100%;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
    .movie_hgt{
        height: auto;
    }
}

/** 中高統合用 2022.07
----------------------------------*/

/** ヘッダー **/

@media print, screen and (min-width: 751px) {
    .header-link-wrap {
        max-width: 900px !important;
    }

    header.is-animation #gNav {
        /*width: 65% !important;*/
        max-width: 760px !important;
        right: 520px !important;
    }

    header.is-animation .header-link-wrap {
        width: 30% !important;
        max-width: 460px !important;
        min-width: 460px !important;
    }

    .header-link-wrap .hd-nav li a {
        word-break: keep-all;
    }

    header.is-animation #gNav > ul > li a {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    header.is-animation .tel-box {
        width: auto !important;
    }

    header.is-animation .tel-box .number {
        font-size: 1.1rem !important;
    }

    .new-header #gNav > ul > li > ul {
        width: 200px;
        display: block;
        position: absolute;
        left: 50%;
        top: 2em;
        visibility: hidden;
        transition: 0.3s;
        opacity: 0;
        transform: translateX(-50%);
    }

    #gNav > ul > li + li:before {
        display: none;
    }

    .new-header #gNav > ul > li.sub-nav > a {
        cursor: pointer;
        position: relative;
        padding-right: 20px;
    }

    .new-header #gNav > ul > li.sub-nav > a::after {
        position: absolute;
        right: 5px;
        bottom: 18px;
        content: "";
        width: 0;
        height: 0;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        border-top: 4px solid #333;
        z-index: 2;
        transition: 0.3s;
    }

    .new-header #gNav > ul > li.sub-nav > a:hover::after {
        transform: rotate(180deg);
        transition: 0.3s;
        border-top: 4px solid #e6003b;
    }

    .new-header #gNav > ul > li.sub-nav:hover > ul {
        visibility: visible;
        opacity: 1;
    }

    .new-header #gNav > ul > li > ul > li {
        text-align: center;
        line-height: 25px;
        background: #fff;
        padding: 0;
    }

    .new-header #gNav > ul > li > ul > li a {
        display: block;
        padding: 10px;
    }

    .new-header #gNav > ul > li > ul > li span {
        font-size: 12px;
    }

    .header-link-wrap .hd-nav li a {
        font-size: 0.67rem !important;
    }

    .img_grades img{
        max-width: 45%;
        height: auto;
        margin: 10px;   
    }
    
}
.img_grades{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

@media screen and (max-width: 750px) {
    .new-header h1,
    .new-header .h1-logo {
        width: 115px;
    }

    #gNav > ul {
        padding-top: 0 !important;
        padding-bottom: 40px !important;
    }

    .img_grades img{
        max-width: 46%;
    height: auto;
    margin: 5px;  
    }

}

/** フッター **/

@media print, screen and (min-width: 751px) {
    .new-footer .footer-inner01 {
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
    }

    .new-footer .ft-box01 {
        width: 20%;
    }

    .new-footer .f-nav02 {
        width: 65%;
        margin: 0 0 0 auto;
    }

    .new-footer .f-nav02 > ul > li a {
        word-break: keep-all;
        white-space: nowrap;
    }

    .new-footer .f-nav02 > ul > li:first-child {
        width: auto;
    }

    .new-footer .f-nav02 > ul > li > a {
        font-size: 16px;
    }

    .new-footer .f-nav02 > ul:first-child {
        width: 25%;
    }

    .new-footer .f-nav02 > ul:nth-child(2),
    .new-footer .f-nav02 > ul:nth-child(3) {
        width: 25%;
    }

    .new-footer .f-nav02 > ul > li > ul {
        display: block;
        margin-top: 20px;
    }

    .new-footer .f-nav02 > ul + ul {
        margin-left: 2rem;
        margin-right: 1rem;
    }

    .new-footer .f-nav02 > ul > li > ul > li:first-child,
    .new-footer .f-nav02 > ul > li > ul > li:nth-child(2),
    .new-footer .f-nav02 > ul > li > ul > li:nth-child(3) {
        width: 100%;
        position: relative;
        top: auto;
        margin-left: 0;
    }

    .new-footer .f-nav02 > ul > li > ul > li a {
        font-size: 14px;
    }

    .new-footer .f-nav02 > ul > li > ul > li + li {
        margin-top: 15px;
    }

    .new-footer .f-nav02 > ul > li > ul > li span {
        font-size: 12px;
        margin-top: 5px;
    }
}

@media screen and (max-width: 750px) {
    .new-footer .ft-box01 .f-logo {
        width: 50%;
    }

    .new-footer .f-nav02 .sub-nav {
        display: none;
    }

    .f-nav02 > ul > li > ul {
        border-top: none !important;
    }

    .new-footer .f-nav02 > ul > li > ul > li a {
        font-size: 12px;
    }

    .new-footer .f-nav02 > ul > li > ul > li + li {
        border-top: none !important;
    }

    .new-footer .f-nav02 > ul > li:last-child {
        border-bottom: none;
    }

    .new-footer .f-nav02 > ul:nth-child(2),
    .new-footer .f-nav02 > ul:nth-child(3),
    .new-footer .f-nav02 > ul:nth-child(4) {
        border-bottom: 1px solid #e2dddc;
    }

    .f-nav02 > ul > li > ul > li {
        padding-left: 1em;
    }

    .f-nav02 > ul > li > ul > li a {
        font-weight: normal;
    }
	
}

/** お知らせ **/
.info-list-wrap .cate-link-nav ul + ul {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed #e2dddc;
}

@media screen and (max-width: 750px) {
    .info-list-wrap .cate-link-nav ul + ul {
        margin-top: 5px;
    }
}

/** 教室をさがす **/

.class-list-wrap02 .box-navi03 {
    margin-bottom: 40px;
}

.area-link-wrap {
    margin-top: 80px;
    margin-bottom: 40px;
}

.class-list-wrap02 .box-navi03 .js-fixed-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    height: 100px;
    padding-top: 20px;
    z-index: 99999;
}

.class-list-wrap02 .box-navi03 .js-fixed-nav.fixed .area-link {
    border-bottom: none;
}

.class-list-wrap02 .box-navi03 .area-link,
.area-link-wrap ul,
.class-list-wrap02 .box-navi03 .type-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.class-list-wrap02 .box-navi03 .area-link {
    padding-bottom: 15px;
    border-bottom: 1px dotted #999;
}

.class-list-wrap02 .box-navi03 .area-link li a,
.area-link-wrap ul li a {
    display: block;
    text-align: center;
    border-radius: 5px;
    background: #f29100;
    transition: 0.4s;
    -webkit-transition: 0.4s;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.05em;
    padding-top: 1rem;
    padding-bottom: 1.6rem;
    position: relative;
}

.class-list-wrap02 .box-navi03 .area-link li a i,
.area-link-wrap ul li a i {
    width: 15px;
    height: 8px;
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.4s;
}

.class-list-wrap02 .box-navi03 .area-link li a:hover i,
.area-link-wrap ul li a:hover i {
    width: 25px;
}

.class-list-wrap02 .box-navi03 .area-link li a i::before,
.area-link-wrap ul li a i::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #fff;
}

.class-list-wrap02 .box-navi03 .area-link li a i::after,
.area-link-wrap ul li a i::after {
    position: absolute;
    bottom: 0;
    right: -5px;
    content: "";
    width: 0;
    border-right: 8px solid transparent;
    border-bottom: 5px solid #fff;
}

.class-list-wrap02 .box-navi03 .area-link li + li,
.area-link-wrap ul li + li,
.class-list-wrap02 .box-navi03 .type-tab li + li {
    margin-left: 3.5%;
}

.class-list-wrap02 .box-navi03 .type-tab {
    margin-top: 15px;
}

.class-list-wrap02 .box-navi03 .type-tab li a {
    display: block;
    text-align: center;
    border-radius: 5px;
    background: #f9f5f4;
    transition: 0.4s;
    -webkit-transition: 0.4s;
    font-size: 14px;
    font-weight: normal;
    color: #333;
    letter-spacing: 0.05em;
    line-height: 40px;
}

.class-list-wrap02 .box-navi03 .type-tab li,
.class-list-wrap02 .box-navi03 .area-link li,
.area-link-wrap ul li {
    width: 31%;
}

.class-list-wrap02 .box-navi03 .type-tab li a {
    cursor: pointer;
}

.class-list-wrap02 .box-navi03 .type-tab li a:hover,
.class-list-wrap02 .box-navi03 .type-tab li.active a {
    background: #f29100;
    color: #fff;
}

.class-list-wrap02 .gray-box .sub-badge {
    margin-bottom: 15px;
    display: block;
}

.class-list-wrap02 .gray-box .sub-badge span {
    text-align: center;
    background: #fff;
    color: #f29100;
    border: #f29100 1px solid;
    font-weight: normal;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 15px;
    display: inline-block;
}

.class-list-wrap02 .gray-box .sub-badge span + span {
    margin-left: 10px;
}

@media screen and (max-width: 750px) {
    .class-list-wrap02 .box-navi03 .area-link,
    .area-link-wrap {
        padding-left: 20px;
        padding-right: 20px;
        border-bottom: none;
        padding-bottom: 0;
    }

    .class-list-wrap02 .box-navi03 .type-tab li a {
        border-radius: 0;
    }

    .class-list-wrap02 .box-navi03 .type-tab li {
        width: 32.5%;
    }

    .class-list-wrap02 .box-navi03 .type-tab li + li {
        margin-left: 1.25%;
    }

    .class-list-wrap02 .gray-box .sub-badge {
        margin-bottom: 25px;
    }

    .class-list-wrap02 .gray-box .sub-badge span {
        font-size: 14px;
    }
}

/** 教室詳細 **/

.contents-tabs {
    margin-left: auto;
    margin-bottom: 40px;
    margin-right: auto;
    padding-bottom: 40px;
}

.contents-tabs .js-fixed-nav ul {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.contents-tabs .js-fixed-nav.fixed {
    width: 100%;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 100;
    padding-top: 20px;
    padding-bottom: 20px;
}

.contents-tabs .js-fixed-nav.fixed .tab-group2 {
    border-bottom: none;
}

.contents-tabs .panel2 {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/*
.class-info-wrap .ttl-box01 + .ttl-box01 {
  margin-top: 0 !important;
}

.class-info-wrap .news-wrap {
  margin-top: 0 !important;
}

.class-info-wrap .ttl-box02 {
  margin-top: 0 !important;
}
*/

.class-info-wrap .ttl-box01 + .ttl-box02 {
    margin-top: 60px;
}

@media screen and (min-width: 751px) {
    .contents-tabs .tab-group2 {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 15px;
        margin-bottom: 15px;
        border-bottom: 1px dotted #999;
    }

    .contents-tabs .tab-group2 li {
        width: 24%;
        cursor: pointer;
        border-radius: 5px;
        background: #f9f5f4;
        font-size: 14px;
        vertical-align: middle;
        line-height: 60px;
        display: block;
        text-align: center;
        color: #333;
        font-weight: bold;
        transition: 0.3s;
    }

    .contents-tabs .tab-group2 li + li {
        margin-left: 1.3%;
    }

    .contents-tabs .tab-group2 li:hover,
    .contents-tabs .tab-group2 li.is-active {
        background: #e6003b;
        color: #fff;
    }

    .contents-tabs .tab-group2 li a {
        color: #333;
        display: block;
        border-radius: 5px;
    }

    .contents-tabs .tab-group2 li:hover a,
    .contents-tabs .tab-group2 li.is-active a {
        color: #fff;
    }

    .contents-tabs .panel2 ul {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .contents-tabs .panel2 li {
        width: 24%;
        cursor: pointer;
        border-radius: 5px;
        background: #f9f5f4;
        color: #333;
        font-size: 0.74rem;
        vertical-align: middle;
        line-height: 40px;
        display: block;
        text-align: center;
        font-weight: normal;
        transition: 0.3s;
    }

    .contents-tabs .panel2 li + li {
        margin-left: 1.3%;
    }

    .contents-tabs .panel2 li:hover,
    .contents-tabs .panel2 li.active {
        background: #f29100;
        color: #fff;
    }

    .contents-tabs .panel2 li a {
        color: #333;
        display: block;
    }

    .contents-tabs .panel2 li:hover a,
    .contents-tabs .panel2 li.active a {
        color: #fff;
    }
}

@media screen and (max-width: 750px) {
    .contents-tabs .js-fixed-nav.fixed {
        z-index: 999999;
        padding-top: 0;
        padding-bottom: 0;
        height: 51px;
    }

    .contents-tabs .js-fixed-nav.fixed .tab-group2 {
        border-bottom: 1px solid #f29100;
    }

    .contents-tabs .tab-group2 {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 0;
        margin-bottom: 15px;
        /* border-bottom: 1px solid #f29100; */
    }

    .contents-tabs .tab-group2 li {
        width: 24%;
        cursor: pointer;
        background: #f9f5f4;
        font-size: 12px;
        vertical-align: middle;
        line-height: 50px;
        display: block;
        text-align: center;
        color: #333;
        font-weight: bold;
    }

    .contents-tabs .tab-group2 li + li {
        margin-left: 1.3%;
    }

    .contents-tabs .tab-group2 li a {
        color: #333;
        display: block;
    }

    .contents-tabs .tab-group2 li.is-active {
        background: #e6003b;
        color: #fff;
    }

    .contents-tabs .panel2 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contents-tabs .panel2 ul {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .contents-tabs .panel2 li {
        width: 48%;
        border-radius: 5px;
        background: #f9f5f4;
        color: #333;
        font-size: 0.74rem;
        vertical-align: middle;
        line-height: 40px;
        display: block;
        text-align: center;
        font-weight: normal;
        margin-top: 1rem;
    }

    .contents-tabs .panel2 li + li {
        margin-left: 4%;
    }

    .contents-tabs .panel2 li:nth-of-type(2n + 1) {
        margin-left: 0;
    }

    .contents-tabs .panel2 li:nth-of-type(-n + 2) {
        margin-top: 0;
    }

    .contents-tabs .panel2 li a {
        color: #000;
    }

    .contents-tabs .panel2 li.active {
        background: #f29100;
        color: #fff;
    }
}

/** コース案内 **/

.course-list-wrap .gray-box .sub-badge {
    margin-bottom: 15px;
    display: block;
}

.course-list-wrap .gray-box .sub-badge span {
    text-align: center;
    background: #fff;
    color: #f29100;
    border: #f29100 1px solid;
    font-weight: normal;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 15px;
    display: inline-block;
}

.course-list-wrap .gray-box .sub-badge span + span {
    margin-left: 10px;
}

@media screen and (max-width: 750px) {
    .course-list-wrap .gray-box h3 .sub-badge span {
        font-size: 10px;
        padding: 2px 6px;
    }
}

.index-info {
    width: 100%;
    max-width: 1158px;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

.index-info + .p__btn {
    width: 100%;
    max-width: 1158px;
    margin: 30px auto 0 auto;
    display: flex;
    justify-content: center;
}

.index-info + .p__btn .btn01 {
    line-height: 15px;
    display: block;
}

@media screen and (max-width: 750px) {
    .index-info {
        padding-left: 20px;
        padding-right: 20px;
    }

    .index-info + .p__btn {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/** 模試・講習会・イベント **/

.practice-top-wrap .select-wrap {
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.practice-top-wrap .select-wrap::after {
    content: "";
    position: absolute;
    top: 30%;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #f29100;
    border-right: 2px solid #f29100;
    -webkit-transform: rotate(135deg) translateY(-50%);
    transform: rotate(135deg) translateY(-50%);
    z-index: 2;
}

.practice-top-wrap .select-wrap + .select-wrap {
    margin-top: 20px;
}

.practice-top-wrap .select-box {
    width: 100%;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding: 10px 40px 10px 20px;
    border: 1px solid #e2dddc;
    outline: 0;
    background: #fff;
    font-size: 14px;
    vertical-align: middle;
    border-radius: 0;
    color: #333;
}

.practice-top-wrap02 .tab02 .tab-group2 + .tab-group2 li {
    width: 32%;
}

.practice-top-wrap02 .tab02 .tab-group2 + .tab-group2 {
    margin-top: 10px;
}

.practice-top-wrap02 .tab02 .tab-group2 + .tab-group2 li {
    width: 33%;
}

@media screen and (max-width: 750px) {
    .practice-top-wrap02 .tab02 .tab-group2:first-child {
        flex-wrap: wrap;
    }

    .practice-top-wrap02 .tab02 .tab-group2:first-child li {
        width: 33%;
        margin-top: 10px;
    }

    .practice-top-wrap02 .tab02 .tab-group2:first-child li:nth-of-type(-n + 3) {
        margin-top: 0;
    }
}

/** 総合トップページ **/

.index-main-ttl.-new {
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    padding-top: 0;
}

body.home .index-info + .p__btn {
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
}

.course-class-wrap {
    width: 100%;
    padding: 100px 0;
}

.course-class-wrap h3 {
    font-size: 22px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    text-align: left;
    font-weight: bold;
}

.course-class-wrap h3 a {
    color: #333;
}

.course-class-wrap .white-box {
    background: #fff;
    border-radius: 20px;
    padding: 50px;
    max-width: 968px;
    margin: 0 auto;
}

.course-class-wrap .white-box + .white-box {
    margin-top: 30px;
}

.course-class-wrap ._course ul li {
    display: flex;
    align-items: center;
    justify-content: center;
}

.course-class-wrap ._course ul li a {
    padding-top: 18px;
    padding-bottom: 18px;
}

.course-class-wrap li a {
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    background: #f29100;
    color: #fff;
    border-radius: 5px;
    padding-top: 20px;
    padding-bottom: 35px;
    letter-spacing: 0.1em;
    border: #f29100 1px solid;
    position: relative;
}

.course-class-wrap ._course li a {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    transition: 0.4s;
}

.course-class-wrap ._course li a span {
    font-size: 14px;
    font-weight: normal;
    display: block;
    width: 100%;
}

.course-class-wrap li a i {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 8px;
}

.course-class-wrap ul li a i:before {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "";
    width: 100%;
    border-bottom: solid 1px #fff;
}

.course-class-wrap ul li a i:after {
    position: absolute;
    bottom: 0;
    right: -6px;
    content: "";
    width: 0;
    border-right: 10px solid transparent;
    border-bottom: 7px solid #fff;
}

.course-class-wrap ._class ul {
    display: flex;
    align-items: center;
    justify-items: center;
}


@media print, screen and (min-width: 751px) {
    .index-main-ttl.-new .txt-box {
        width: 32%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        padding: 5% 2%;
    }

    body.home .index-info {
        width: 100%;
        max-width: 1230px;
        margin: 0 auto;
    }

    body.home .index-info + .p__btn .btn01 {
        line-height: 1em;
        padding: 15px 40px;
    }

    nav.btn-c {
        max-width: 264px !important;
        display: block;
        margin: 50px auto 0 auto;
        text-align: center;
    }

    .course-class-wrap ul li {
        width: 31%;
    }

    .course-class-wrap ul li + li {
        margin-left: 3.5%;
    }

    .course-class-wrap ._course ul {
        display: flex;
    }

    .course-class-wrap li a,
    .course-class-wrap li a i,
    .course-class-wrap ul li a i:before,
    .course-class-wrap ul li a i:after {
        transition: 0.4s;
    }

    .course-class-wrap ul li a:hover i {
        width: 40px;
    }

    .course-class-wrap h3 a:hover {
        color: #f29100;
        font-weight: bold;
    }

    .course-class-wrap ul li a:hover {
        color: #f29100;
        background: #fff;
    }

    .course-class-wrap ul li a:hover i:before {
        border-color: #f29100;
    }

    .course-class-wrap ul li a:hover i:after {
        border-bottom: 7px solid #f29100;
    }

    body.home .experience-wrap .comment-list-wrap li:nth-child(3) {
        margin-top: -40px;
    }
}

@media screen and (max-width: 750px) {
    body.home .header-link-wrap {
        /* display: none; */
    }

    .index-main-ttl.-new {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 0px;
    }

    body.home .index-info {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    body.home .index-info + .p__btn {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    body.home .index-info + .p__btn .btn01 {
        line-height: 1em;
        padding: 15px 10%;
    }

    .course-class-wrap {
        padding: 0;
    }

    .course-class-wrap h3 {
        font-size: 16px;
        font-weight: bold;
    }

    .course-class-wrap .white-box {
        padding: 0 20px;
    }

    .course-class-wrap .white-box + .white-box {
        margin-top: 40px;
    }

    .course-class-wrap ._class ul li {
        width: 31%;
    }

    .course-class-wrap ._class ul li + li {
        margin-left: 3.5%;
    }

    .course-class-wrap li a {
        font-size: 14px;
        padding-top: 12px;
        padding-bottom: 22px;
    }

    .course-class-wrap li a i {
        bottom: 10px;
    }

    .course-class-wrap ul li a i:after {
        right: -4px;
        border-right: 7px solid transparent;
        border-bottom: 4px solid #fff;
    }

    .course-class-wrap ._course li a {
        font-size: 14px;
    }

    .course-class-wrap ._course li a span {
        font-size: 12px;
        font-weight: normal;
        width: auto;
        display: inline-block;
    }

    .course-class-wrap ._course ul li + li {
        margin-top: 10px;
    }
}

/** その他共通 **/
h1.ttl01 {
    margin-bottom: 80px;
}

@media print, screen and (min-width: 751px) {
    nav.btn-c.grid {
        width: auto;
        max-width: 100% !important;
        display: flex;
        justify-content: center;
    }

    nav.btn-c.grid a {
        max-width: 220px;
    }

    nav.btn-c.grid a + a {
        margin-left: 20px;
    }

    nav.btn-c.grid a.btn01 {
        padding-left: 35px;
        padding-right: 35px;
    }

    .page-top a i {
        top: 25px !important;
    }

    .page-top a:hover i {
        top: 10px !important;
    }

    .under-b {
        line-height: 1.6;
    }

    #gNav > ul > li a.no-active:hover {
        color: #333;
        font-weight: normal;
    }
}

@media screen and (max-width: 750px) {
    nav.btn-c.grid a + a {
        margin-top: 20px;
    }

    .f-nav02 > ul > li a {
        display: block;
    }
}

.practice-info-wrap h1 {
    position: relative;
    margin-bottom: 120px;
}

.practice-info-wrap h1 span + span {
    display: inline-block;
    margin-top: 20px;
    font-size: 14px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", sans-serif;
    position: absolute;
    top: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #f9f5f4;
    padding: 5px 10px;
}

.cont-nav ul {
    display: flex !important;
    justify-content: center;
}

.cont-nav ul li {
    float: none !important;
}




/*20230918*/
.classroom-re .bg-gray{
	background: #fff !important;
}
.classroom-re h1.ttl01{
	font-weight: 500;
	margin-bottom: 0.5em !important;
}
.classroom-re h1.ttl01 small{
	font-size: 100%;
	font-weight: 500;
}
.classroom-re .ttl01-add{
	display: block;
	text-align: center;
}
.classroom-re .ttl01-add br{
	display: none;
}
.classroom-re .contents-tabs{
	margin-bottom: 0;
	padding-bottom: 0;
}
.classroom-re .swiper-slide img{
	max-height: none !important;
}
.classroom-re .swiper{
	padding-bottom: 35px !important;
}
.classroom-re .swiper-pagination{
	bottom: 0 !important;
}
.classroom-re .swiper-button-next::after{
    background-image: url(/assets/img/classroom/gf-arrow02.png) !important;
}
.classroom-re .swiper-button-prev::after {
    background-image: url(/assets/img/classroom/gf-arrow01.png) !important;
}
.classroom-re .swiper-pagination-bullet-active{
	background: #e6003b;
}
.classroom-re .swiper-button-next.swiper-button-disabled,
.classroom-re .swiper-button-prev.swiper-button-disabled {
    opacity: .35 !important;
    cursor: auto;
    pointer-events: none;
}
.classroom-re .cta_btnwrap02{
	justify-content: space-between !important;
	margin-bottom: 1em;
}
.classroom-re .cta_btnwrap02 div{
	flex-basis: 49%;
}
.classroom-re .cta_btnwrap02 div a{
	width: 100%;
	height: 100%;
	text-align: center;
	margin: 0 !important;
	padding: 13px 0 !important;
	/* display: block; */
    display: flex;
    justify-content: center;
    align-items: center;
}
.classroom-re .cta_btnwrap02 div a span{
	padding: 0 !important;
	margin: 0 !important;
}
.classroom-re .section-inner02 {
    width: 100%;
    max-width: 1046px;
    margin: 0 auto;
}
.classroom-re .cta_file::after,
.classroom-re .cta_users::after{
    display: none !important;
}
.classroom-re .gray-box-footer2{
	width: 90%;
	max-width: inherit !important;
}
.classroom-re .cta_btn_red{
	box-shadow: none !important;
	font-size: clamp(13px, 3vw, 16px) !important;
}
.classroom-re .cta_btnwrap02{
	width: auto !important;
}
.classroom-re .cta_contactwrap02{
	width: 100% !important;
	flex-wrap: wrap;
	border-radius: 5px;
}
.classroom-re .cta_contactwrap02 .tel01:before{
	display: none !important;
}
.classroom-re .cta_contactwrap02:before {
    content: '' !important;
    display: inline-block !important;
    background: url(/assets/img/common/free-tel-icon-bk@2x.png) no-repeat center right !important;
    background-size: 100% !important;
    width: 32px !important;
    height: 21px !important;
    margin-right: 10px !important;
}
.classroom-re .cta_contactwrap02 .days{
	margin-top: 0 !important;
	font-weight: 700;
	font-size: clamp(13px, 3vw, 16px);
}
.classroom-re .class-add-wrap{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.classroom-re .r-box,
.classroom-re .l-box{
	float: inherit;
	flex-basis: 48%;
	margin-bottom: 2em;
}
.classroom-re .r-box{
	order: 1;
}
.classroom-re .classtel{
	pointer-events: none;
	font-size: 24px;
	color: #0082ff;
	font-weight: 500;
	text-decoration: underline;
}
.classroom-re .class-info-main-wrap{
	margin-bottom: 0 !important;
}
.classroom-re .class-info-main-wrap .r-box dt{
	width: 5em !important;
}
.classroom-re .class-info-main-wrap .l-box,
.classroom-re .class-info-main-wrap .r-box{
	padding: 0 !important;
}
.classroom-re .class-info-main-wrap .r-box dl {
	display: flex !important;
	align-items: flex-start !important;
}
.classroom-re .class-info-main-wrap .r-box dd {
	flex: 1;
	margin-top: 0 !important;
	margin-left: 10px !important;
	width: auto !important;
	float: inherit !important;
}
.classroom-re .class-info-main-wrap .r-box dd a{
	float: inherit !important;
	margin: 0 !important;
}
.classroom-re .gray-box02 {
    margin: auto !important;
    padding: 2em 3em !important;
	margin-bottom: 80px !important;
}
.classroom-re .class_a{
	font-size: clamp(13px, 3vw, 14px) !important;
}
.classroom-re .class_a:hover{
	color: #e6003b !important;
}
.classroom-re .ttl-box01 {
    padding: 0 !important;
	margin: 80px 0 !important;
}
.classroom-re .ttl-box01::before{
	display: none;
}
.classroom-re .ttl-box01 h2 {
    margin-bottom: 40px;
    font-size: 20px;
    font-weight: bold;
    height: 70px !important;
    display: flex;
   /*  justify-content: center; */
    align-items: center;
	padding: 20px 0 !important;
    text-align: left;
    margin-left: 5em;
}
.classroom-re .ttl-box01 h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #e6003b;
    width: 70px;
    height: 70px;
}
.classroom-re .class-info-wrap .event-wrap ul {
    margin: 2em 0 0 auto !important;
}
.classroom-re .sub-ttl02 {
	margin-bottom: 1em !important;
}
.classroom-re .table-scroll02{
	margin: 20px 0 0 auto !important;
}
.classroom-re .parent-voice > div{
	display: flex !important;
	justify-content: space-between;
	flex-wrap: wrap;
}
.classroom-re .parent-voice .pearent_area{
	margin-bottom: 30px !important;
}
.classroom-re .parent-voice .sub-ttl02 {
    padding: 0 !important;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.05em;
    min-width: 110px;
	flex-basis: 110px;
	font-size: clamp(11px, 3vw, 16px);
	line-height: 1.2;
}
.classroom-re .pearent_area{
	flex: 1;
	width: auto !important;
	position: relative;
	padding: 0 !important;
	border: 2px solid #e6003b !important;
}
.classroom-re .pearent_area:after, .pearent_area:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
	border-width: 11px !important;
}
.classroom-re .pearent_area:before {
    border-color: rgba(242, 145, 0, 0);
    border-right-color: #e6003b;
    border-width: 12px;
    top: 13px;
}
.classroom-re .pearent_area:after {
    border-color: rgba(249, 245, 244, 0);
    border-right-color: #F9F5F4;
    border-width: 12px;
    top: 13px;
    left: -19px;
}
@media screen and (min-width: 751px){
    .classroom-re .grad-item::before {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        background: #F9F5F4 !important;
        content: "";
    }
    .movie_hgt{
        height: 350px;
    }
}
.classroom-re .class-info-wrap .intro-wrap figure p {
    font-size: clamp(12px, 3vw, 16px);
}
.classroom-re .grad-btn{
	margin-bottom: 0.5em !important;
}
.classroom-re .tch-box-r h4{
	padding-left: 0 !important;
}
.classroom-re .feature-box .under-b {
    font-size: clamp(22px, 5vw, 34px);
}
.classroom-re .feature-box .tit-room02 {
    font-size: clamp(14px, 3vw, 16px);
	padding-top: 20px !important;
}
.classroom-re .feature-box .or_wrap{
    width: 42em !important;
    padding: 2em !important;
    display: flex;
    justify-content: center;
    border-radius: 20px;
    margin: 3em auto 0;
}
.classroom-re .feature-box .or_box:first-child{
		flex-basis: 26em;
}
.classroom-re .feature-box .or_box:last-child{
		flex: 1;
}
.classroom-re .feature-box .or_wrap ul{
    width: 100% !important;
    margin: 1em 0 0 !important;
}
.classroom-re .feature-box .or_wrap li{
	margin-bottom: 0 !important;
	padding: 0.3em 0 !important;
	line-height: 1.2 !important;
	width: 100% !important;
}
.classroom-re .feature-box .or_wrap li a{
	line-height: 1.2 !important;
	font-size: clamp(12px, 2.2vw, 16px) !important;
	font-weight: normal !important;
	text-decoration: underline !important;
}
.classroom-re .feature-box .or_wrap li a:hover{
	color: #e6003b;
}
.classroom-re .cta_txtlink .li_arrow span{
	color: #e6003b;
}
.classroom-re .cta_wrap{
	display: flex;
	flex-wrap: wrap;
	width: 60%;
}
.classroom-re .cta_btnwrap{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.classroom-re .cta_btnwrap > div{
	flex-basis: 48%;
	margin: 0;
}
.classroom-re .cta_btnwrap > div .cta_btn_red{
	margin: 0;
	width: 100%;
	padding: 13px 0;
}
.classroom-re .cta_contactwrap{
	flex-wrap: wrap;
	width: 100%;
}
.classroom-re .cta_contactwrap .tel01{
	flex-basis: 8em;
	font-size: clamp(24px, 4vw, 38px);
	letter-spacing: 3px;
}
.classroom-re .cta_contactwrap .tel01time{
	flex: 1;
    margin-bottom: 0 !important;
    font-size: clamp(12px, 2.4vw, 14px);
    line-height: 1.3;
}
.classroom-re .cta_imgwrap{
	width: 100%;
	flex-wrap: wrap;
}
.classroom-re h3 + p{
	margin-top: 0;
}
.classroom-re .table03.price-tb02 {
    max-width: 100% !important;
}
.classroom-re .class-info-second-wrap-inner p{
	margin: 1em 0 !important;
	font-size: clamp(13px, 2.4vw, 16px);
    /* line-height: 171%; */
}
.classroom-re .class-info-second-wrap-inner{
	line-height: 2em;
	font-size: clamp(13px, 2.4vw, 16px);
}
.classroom-re .news-wrap dd a{
	color: #e6003b;
}
.classroom-re .ttl-box02 h4 {
    text-align: center;
    display: block;
    padding: 10px 20px;
	width: 8em;
    margin: -1em auto 2em ;
	top: inherit !important;
	left: inherit !important;
}
.classroom-re .class-info-wrap .news-wrap .align-items-end{
	margin-top: 1em !important;
}
.classroom-re .class-info-wrap .news-wrap{
    background: #f9f5f4;
}
.cta_txtlink li{
	float: none !important;
	display: inline-block;
	border: none !important;
}
.cta_txtlink li a{
	border-bottom: 1px solid #e6003b;
}
.classroom-re .popup{
	display: flex;
	flex-wrap: wrap;
	width: 103%;
}
.classroom-re .popup li{
	flex-basis: 30.3%;
	width: 30.3%;
	float: none;
	margin-left: 0 !important;
	margin-right: 3%;
	position: relative;
}
.classroom-re .popup li img{
	vertical-align: bottom;
	line-height: 0;
}
.classroom-re .popup li:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/classroom/search.svg) no-repeat;
    background-size: contain;
    opacity: 0.8;
    position: absolute;
    right: 5px;
    bottom: 5px;
}
.classroom-re .popup li:before{
	content: "";
	display: block;
	width: 33px;
	height: 33px;
	background: rgba(0,0,0,0.3);
	position: absolute;
	bottom: 0;
	right: 0;
}
.classroom-re .popup li img.mfp-img{
	max-width: 800px !important;
}
@media screen and (max-width: 1180px) {
	.classroom-re .class-info-wrap .news-wrap,
	.classroom-re .gray-box-footer,
	.classroom-re .ttl-box01,
	.classroom-re .gray-box02,
	.classroom-re .gray-box-footer2,
	.classroom-re .class-add-wrap{
		width: 90% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.classroom-re .cta_contactwrap {
		padding: 1em 0;
	}
	.classroom-re .cta_contactwrap .tel01{
		flex-basis: 100%;
		margin: 0;
		line-height: 1;
	}
	.classroom-re .cta_contactwrap .tel01time{
		text-align: center;
	}
	.classroom-re .cta_contactwrap .tel01time br{
		display: none !important;
	}
}
@media screen and (max-width: 1020px) {
	.classroom-re .cta_contactwrap02{
		padding: 1em;
	}
	.classroom-re .cta_contactwrap02 .tel01 {
		font-size: clamp(32px, 8vw, 42px) !important;
		margin: 0 0 0 40px !important;
		line-height: 1 !important;
		letter-spacing: 2px !important;
	}
}
@media screen and (max-width: 767px) {
	.classroom-re section.bg-wh{
		padding: 30px 0;
	}
	.classroom-re h1.ttl01,
	.classroom-re .contents-tabs .js-fixed-nav ul,
	.classroom-re .ttl01-add{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.classroom-re header h1, header .h1-logo {
		display: block;
		width: 115px;
		position: relative;
		left: 14px;
		top: 8px;
	}
	.classroom-re h1.ttl01{
		text-align: left;
		line-height: 1.3em;
	}
	.classroom-re h1.ttl01 span{
		display: block;
		width: 100%;
		text-align: left;
	}
	.classroom-re h1.ttl01 small{
		font-size: 80%;
		display: block;
	}
	.classroom-re .slide_area{
		margin-bottom: 0 !important;
	}
	.classroom-re .ttl01-add{
		text-align: left;
	}
	.classroom-re .contents-tabs .tab-group2{
		display: flex;
		justify-content: space-between;
	}
	.classroom-re .contents-tabs .tab-group2 li{
		width: 32%;
		margin: 0;
	}
	.classroom-re .swiper-button-next::after,
	.classroom-re .swiper-button-prev::after{
		height: 30px;
		width: 30px;
	}
	.classroom-re .gray-box-footer2{
		border-radius: 10px !important;
		margin: 0 auto !important;
	}
	.classroom-re .cont-link-wrap {
		padding: 0 !important;
		margin: 0 0 2em !important;
	}
	.classroom-re .cta_wrap02{
		padding: 1em !important;
	}
	.classroom-re .cta_btn_yellow i, .cta_btn_red i {
		right: 10px !important;
	}
	.classroom-re .cta_contactwrap02{
		margin: 1em 0 !important;
		min-height: inherit !important;
		background-color: rgba(255, 255, 255, 1) !important;
        display: flex;
        flex-wrap: nowrap;
	}
	.classroom-re .cont-link-wrap h3{
		padding-bottom: 10px !important;
	}
	.classroom-re .cta_btn_red{
		letter-spacing: 0 !important;
	}
	.classroom-re .r-box,
	.classroom-re .l-box{
		flex-basis: 100%;
	}
	.classroom-re .r-box{
		order: 0;
	}
	.classroom-re .classtel{
		pointer-events: inherit;
		text-decoration: underline !important;
	}
	.classroom-re .class-info-main-wrap .l-box .sp{
		border: 1.5px solid #e6003b;
		border-radius: 25px;
		padding: 10px 20px;
		width: 60%;
		margin: 10px auto;
	}
	.classroom-re .class-add-wrap{
		margin-bottom: 1em;
	}
	.classroom-re .gray-box02{
		display: block !important;
		padding: 2em 1em !important;
		margin-bottom: 50px !important;
	}
	.classroom-re .ttl-box01 {
		margin: 50px auto !important;
	}
	.classroom-re .ttl-box01 h2::before {
		position: relative !important;
		margin-right: 5px;
		width: 28px;
		height: 28px;
	}
	.classroom-re .ttl-box01 h2 {
		padding-right: 0 !important;
		padding-left: 0 !important;
		justify-content: flex-start !important;
		margin-bottom: 0.5em !important;
		height: 28px;
        margin-left: 0;
	}
	.classroom-re .class-info-wrap .event-wrap ul {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.classroom-re .class-info-wrap .event-wrap li + li {
		margin-top: 1em !important;
	}
	.classroom-re .sub-ttl02 {
		padding: 0 !important;
		margin-top: 0 !important;
	}
	.classroom-re .table-scroll02{
		width: 100% !important;
	}
	.classroom-re .table-scroll02 .table03.price-tb02 {
		/* width: 135% !important;
		max-width: 135% !important; */
		margin-left: 0 !important;
	}
	.classroom-re .table03 th,
	.classroom-re .table03 td{
		padding: 15px 5px !important;
		font-size: clamp(11px, 2vw, 14px) !important;
	}
	.classroom-re .parent-voice .sub-ttl02 {
		min-width: 6em;
		flex-basis: 6em;
	}
	.classroom-re .pearent_area {
		border: 1px solid #e6003b !important;
		margin: 0 0 0 5px;
	}
	.classroom-re .pearent_area:after,
	.classroom-re .pearent_area:before {
		border-width: 10.8px !important;
	}
	.classroom-re .class-info-wrap .intro-wrap figure {
		padding: 0 20px !important;
	}
	.classroom-re .pearent_area{
		margin-left: 10px !important;
	}
	.classroom-re .tch-box-l{
		justify-content: flex-start !important;
	}
	.classroom-re .class-info-wrap .tch-box-r{
		padding: 0 !important;
	}
	.classroom-re .tch-box-l p {
		width: 50% !important;
		margin-left: 5% !important;
	}
	.classroom-re .tch-box-l p span{
		font-size: clamp(12px, 2.4vw, 16px) !important;
		font-weight: normal !important;
	}
	.classroom-re .feature-box .or_wrap {
		width: 100% !important;
		padding: 1em !important;
		justify-content: space-between;
	}
	.classroom-re .feature-box .or_box:first-child{
		flex-basis: 57%;
	}
	.classroom-re .feature-box .or_box:last-child{
		flex: initial;
		flex-basis: 40%;
	}
	.classroom-re .feature-box .or_wrap ul li{
		margin-top: 0 !important;
		list-style: disc !important;
		margin-left: 0 !important;
		padding-left: 1em !important;
		text-indent: -0.7em;
	}
	.classroom-re .feature-box .or_wrap ul li:before{
		content: "●";
		color: #e6003b;
		padding-right: 3px;
	}
	.classroom-re .gray-box-footer {
		border-radius: 10px;
	}
	.classroom-re .gray-box-footer h3 {
		border-radius: 10px 10px 0 0;
		padding-bottom: 20px !important;
	}
	.classroom-re .cta_imgwrap{
		display: flex;
		flex-wrap: wrap;
	}
	.classroom-re .cta_wrap {
		width: 100%;
		padding: 0 0.5em;
	}
	.classroom-re .cta_img02 {
		max-width: 280px;
	}
	.classroom-re .cta_contactwrap {
		margin: 40px 0 0;
		text-align: center;
		order: 0;
	}
	.classroom-re .cta_img02{
		flex-basis: 100%;
		order: 1;
		position: revert;
		margin: 20px auto 0;
		width: 100%;
	}
	.classroom-re .cta_btn_yellow{
		flex-basis: 100%;
		margin-top: 0;
		order: 2;
	}
	.classroom-re .cta_link {
		margin: 23px 0 0 0;
		font-size: clamp(14px, 2.4vw, 16px);
	}
	.classroom-re .cta_btnwrap > div .cta_btn_red {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.classroom-re .cta_btnwrap > div .cta_btn_red  span{
		padding: 0 !important;
	}
	.classroom-re .cta_contactwrap02,
	.classroom-re .cta_btnwrap02{
		margin-bottom: 0 !important;
	}
	.classroom-re .class-info-wrap .news-wrap{
		padding: 2em 1em !important;
	}
	.classroom-re .ttl-box02 h4 {
		transform: none !important;
		margin: -3.5em auto 1em;
	}
	.cta_txtlink li{
		display: block;
	}
	.classroom-re .popup{
		justify-content: space-between;
		width: 100%;
		padding: 0 !important;
	}
	.classroom-re .popup li{
		flex-basis: 48%;
		width: 49%;
		margin-right: 0;
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}
	.classroom-re .btn-c a:hover{
		color: #fff !important;
	}
}
@media screen and (max-width: 1020px) {
    .classroom-re .cta_contactwrap02:before {
        content: '' !important;
        display: inline-block !important;
        background: url(/assets/img/common/free-tel-icon-bk@2x.png) no-repeat center right !important;
        background-size: 100% !important;
        width: 32px !important;
        height: 21px !important;
        margin-right: 10px !important;
        top: 21px;
        position: absolute;
        left: 29px;
        vertical-align: middle;
    }
}

.tokuten-box{
    display: flex;
}
@media print, screen and (max-width: 750px){
    .tokuten-box{
        display: block;
    }
}