@charset "utf-8";

/* ==============================

    サイト設定　適宜変更箇所

============================== */
html {
    font-size: 62.5%;
    overflow-x: hidden;
}

body {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.08em;
    text-align: justify;
    overflow-x: hidden;
    font-family: "M PLUS 1", sans-serif;
    /* カラー変数 */
    --basic: #3F342D;
    --white: #ffffff;
    --beige: #FBF6EA;
    --accent-link: #B9874B;
    --red: #EA3717;
    --orange: #ECA045;
    --green: #8DB33A;
    --pink: #EF6E6E;
    --blue: #74B2E2;
    --yellow: #F3E457;
    --light-green: #BBEB67;
    --loyal-blue: #2271E8;
    --dot: #F5F5F5;
    --dark-beige: #F2EEE3;
    --bg: #FAF7EF;

    /* 基本カラー */
    color: var(--basic);
    background-color: var(--beige);
}

/* カラー設定 */
.color--red {
    color: var(--red) !important;
}

.color--orange {
    color: var(--orange) !important;
}

.color--green {
    color: var(--green) !important;
}

.color--lightgreen {
    color: var(--light-green) !important;
}

.color--pink {
    color: var(--pink) !important;
}

.color--blue {
    color: var(--blue) !important;
}

.color--yellow {
    color: var(--yellow) !important;
}

.color--loyalblue {
    color: var(--loyal-blue) !important;
}



a,
a img {
    color: var(--basic);
    text-decoration: none;
    transition: all 0.2s ease 0s;
}

a:hover {
    opacity: 0.7;
}

.sp-only {
    display: none;
}

/* ==============================

    サイト設定

============================== */

.inner-s {
    word-break: 80%;
    max-width: 96rem;
    margin: 0 auto;
}

.inner {
    width: 90%;
    max-width: 120rem;
    margin: 0 auto;
}

.inner-l {
    width: 90%;
    max-width: 144rem;
    margin: 0 auto;
}

/*画像ホバー時*/

.img-hover {
    transition: .6s;
}

.img-hover:hover {
    opacity: .6;
}

.flex-row {
    flex-direction: row-reverse;
}

/* 大文字表記 */
.uppercase {
    text-transform: uppercase;
}

section.wp-block-group {
    z-index: 0 !important;
}

/* ==============================

    共通

============================== */
/* LINEキャンペーン */
.is-hidden {
    visibility: hidden;
    opacity: 0;
}

.campaign__btn {
    position: fixed;
    bottom: 4rem;
    right: 0;
    z-index: 200;
    transition: opacity 0.3s ease;
}

.campaign__img {
    width: 22rem;
}

.campaign__btn-close {
    position: absolute;
    top: -2.4rem;
    right: .5rem;
    width: 2.4rem;
    height: 2.4rem;
    background: transparent;
    border: none;
    cursor: pointer;
    /* z-index: 2; */
}

.campaign__btn-close .wp-block-button__link {
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0;
    color: transparent;
}

.campaign__btn-close .wp-block-button__link::before,
.campaign__btn-close .wp-block-button__link::after {
    content: "";
    position: absolute;
    width: 1.4rem;
    height: .2rem;
    background-color: var(--white);
    border-radius: 9999rem;
    top: 50%;
    left: 50%;
}

.campaign__btn-close .wp-block-button__link::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.campaign__btn-close .wp-block-button__link::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}


/* セクションタイトル */
.section-title {
    justify-content: center;
    gap: 4rem;
    margin-bottom: 6.4rem;
}

.section-title__paren {
    font-size: 4rem;
    font-weight: 700;
}

.section-title__heading {
    font-size: 3.2rem;
    font-weight: 700;
}

/* フォント */
h4 {
    font-size: 2.2rem;
    font-weight: 700;
}

/* ボタン */
.button {
    justify-content: center;
}

.button__inner .wp-block-button__link {
    position: relative;
    background-color: var(--red);
    font-size: 1.6rem;
    font-weight: 700;
    padding: 2.8rem 10.4rem 2.8rem 6.4rem;
    transition: all 0.3s ease;
}

.button__inner .wp-block-button__link::before {
    position: absolute;
    top: .6rem;
    left: .6rem;
    content: "";
    border: dashed .2rem var(--white);
    border-radius: 80rem;
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
}

.button__inner .wp-block-button__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5.6rem;
    transform: translateY(-50%);
    width: 3.2rem;
    aspect-ratio: 1;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: right 0.3s ease;
}

.button__inner .wp-block-button__link::after {
    content: "";
    background-image: url("../img/arrow-right--red.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

.button__inner--big .wp-block-button__link {
    font-size: 2.4rem;
}

.button__inner--big .wp-block-button__link::after::after {
    width: 4.8rem;
    right: 3.6rem;
}

.button__inner .wp-block-button__link:hover::after {
    right: 5rem;
}

/* テキスト前に矢印がある小さなボタン */
.button--small .button__inner--small a {
    background-color: unset;
    color: var(--basic);
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 0 0 4rem;
    border-radius: unset;
}

.button--small {
    position: relative;
    transition: all 0.3s ease;
}

.button--small::before {
    content: '';
    width: 3.2rem;
    height: 3.2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) scale(1);
    background-image: url(../img/arrow-right--white.svg);
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
}

.button--small--blue::before {
    background-color: var(--blue);
}

.button--small--red::before {
    background-color: var(--red);
}

.button--small:hover::before {
    transform: translateY(-50%) scale(1.1);
}

/* 背景 */
.double-bg {
    background-color: var(--red);
    border-radius: 1rem;
    padding: 1.6rem;
}

.double-bg .double-bg__body {
    background-color: var(--white);
    border-radius: 2rem;
    background-image: radial-gradient(#F5F5F5 .2rem, transparent .2rem);
    background-size: 1.2rem 1.2rem;
    padding: 6.4rem 0 8rem 0;
}

/* ==============================

　　固定メニュー

　============================== */

.fix_nav.sp_disp.sp {
    position: fixed;
    z-index: 200;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 64rem;
    border-radius: 1.6rem 1.6rem 0 0;
    background-color: var(--bg);
    box-shadow: 0 0 .4rem rgba(51, 51, 51, .08);
    color: var(--basic);
    border: .3rem solid var(--accent-link);
    border-bottom: none;
}

.wp-block-group.fix_nav.sp_disp-inner {
    gap: 0;
}

.kotei-menu {
    color: #fff;
    padding: 5px 0;
    text-align: center;
    border-right: .05rem solid var(--accent-link);
    position: relative;
}

.kotei-menu:last-child {
    border-right: none;
}

.kotei-menu>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
}

.fix-menu__icon {
    width: 3.2rem;
}

.kotei-menu p {
    font-size: 1.4rem;
}

.kotei-menu:first-child p {
    color: var(--orange);
}

.kotei-menu:nth-child(2) p {
    color: var(--pink);
}

.kotei-menu:last-child p {
    color: var(--blue);
}


/*メニュー数*/

.sp_disp-4 .kotei-menu {
    width: 25%;
}

.sp_disp-3 .kotei-menu {
    width: 33.3333333333%;
}

.sp_disp-2 .kotei-menu {
    width: 50%;
}

.sp_disp-1 .kotei-menu {
    width: 100%;
}

/* ==============================

ヘッダーの設定

　============================== */

header {
    width: 100%;
    transition: .6s;
}

.header-inner {
    transition: .6s;
}

.header-inner {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 92% !important;
    z-index: 200;
}

.logo {
    width: 13.8%;
    max-width: 22rem;
    min-width: 13.4rem;
}

/* お問い合わせボタン */
.header-contact {
    position: relative;
    width: 18%;
    max-width: 24rem;
    min-width: 18rem;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-contact__bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: all 0.3s ease;
}

.header-contact__bg--pink {
    width: 150% !important;
    animation: bounce 4.5s ease-in-out infinite;
}

.header-contact__bg--red {
    width: 120% !important;
    animation: bounce 4s ease-in-out infinite;
}

@keyframes bounce {
    0% {
        transform: translate(-50%, -50%) scale(1);
        -webkit-transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.08);
        -webkit-transform: translate(-50%, -50%) scale(1.08);
    }

    100% {
        transform: translate(-50%, -50%) scale(1);
        -webkit-transform: translate(-50%, -50%) scale(1);
    }
}

.header-contact__inner {
    position: relative;
    text-align: center;
}

.header-contact__text {
    color: var(--white);
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.header-contact__text--ja {
    font-size: 2.2rem;
    margin-bottom: .8rem;
}

.header-contact__text--en {
    font-size: 1.8rem;
}

/* ナビゲーション */
.header__nav {
    align-self: flex-start;
    margin-top: 2.4rem !important;
}

body .wp-block-navigation .wp-block-navigation-item {
    position: unset;
}

body .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container {
    border: unset;
    width: 108rem;
    height: auto;
    border-radius: 2rem;
    top: 1.8rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    gap: 4rem;
    padding: 4rem;
    box-shadow: 0 0 1.2rem rgba(51, 51, 51, 0.1);
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li {
    width: 20rem;
    height: 20rem;
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li a {
    padding: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
    width: 1.6rem !important;
    height: 1.6rem !important;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke: var(--red) !important;
    width: 1.6rem !important;
    height: 1.6rem !important;
    margin-top: 0 !important;
}

.class-nav__item {
    position: relative;
}

.class-nav__title {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--white);
    width: 4.8rem;
    height: 17rem;
    border-radius: 0 2rem;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    display: flex;
    align-items: center;
    padding-top: 1rem;
    color: var(--basic);
    letter-spacing: 0.2em;
    z-index: 1;
}

.class-nav__title::before {
    content: "";
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: -1;
}

.class-nav__title-preschool::before {
    background-color: var(--pink);
}

.class-nav__title-kindergarten::before {
    background-color: var(--orange);
}

.class-nav__title-lowergrades::before {
    background-color: var(--yellow);
}

.class-nav__title-uppergrades::before {
    background-color: var(--light-green);
}

.class-nav__title-grammar::before {
    background-color: var(--green);
}

.class-nav__title-jrhighschool::before {
    background-color: var(--blue);
}

.class-nav__title-highschool::before {
    background-color: var(--loyal-blue);
}

.class-nav__title-eikenfirst::before,
.class-nav__title-eikensecond::before {
    background-color: var(--red);
}

.class-nav__item img {
    border-radius: 2rem;
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li:last-child {
    position: relative;
    width: auto;
    height: auto;
    background-color: var(--red);
    border-radius: 80rem;
    color: var(--white);
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li:last-child::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: calc(100% - .6rem);
    height: calc(100% - .6rem);
    border-radius: 80rem;
    border: .2rem dashed var(--white);
    pointer-events: none;
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li:last-child a {
    display: block;
    padding: 2.8rem 5.6rem;
    justify-content: center;
}

.class-nav__btn {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.fa-arrow-right {
    position: relative;
    background-color: var(--white);
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    margin-left: 1.6rem;
}

.fa-arrow-right:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: var(--red);
}

.sp-nav-wrap .header-top__btn__container {
    margin-bottom: 3.2rem;
}

.sp-nav-wrap .header-top__btn a {
    height: 5.6rem;
    padding-left: 6.4rem;
}

.sp-nav-wrap .icon-login {
    width: 5.4rem;
    height: 5.4rem;
}

.sp-nav-wrap .header-top-sns .wp-block-group__inner-container figure {
    width: 4.4rem;
    height: 4.4rem;
}

.sp-nav-wrap .header-top-sns .wp-block-group__inner-container {
    gap: 2.4rem;
}

@media (min-width: 1101px) {
    .wp-block-navigation .has-child>.wp-block-navigation__submenu-container {
        display: none !important;
        opacity: 0;
        visibility: hidden;
        transform: translateY(6px);
    }

    /* ホバー時に開くルールを無効化 */
    .wp-block-navigation .has-child:hover>.wp-block-navigation__submenu-container {
        display: none !important;
    }

    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container {
        display: flex !important;
        /* 元の flex で並べる */
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: flex-start;
        gap: 4rem;
        padding: 4rem;
        width: 108rem;
        top: 1.8rem;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 2rem;
        box-shadow: 0 0 1.2rem rgba(51, 51, 51, 0.1);
        visibility: visible;
        opacity: 1;
    }

    /* 各サブメニュー項目の大きさ */
    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container li {
        width: 20rem;
        height: 20rem;
    }

    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container li a {
        padding: 0;
    }

    /* 最後の子（ボタン） */
    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container li:last-child {
        position: relative;
        width: auto;
        height: auto;
        background-color: var(--red);
        border-radius: 80rem;
        color: var(--white);
    }

    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container li:last-child::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - .6rem);
        height: calc(100% - .6rem);
        border-radius: 80rem;
        border: .2rem dashed var(--white);
        pointer-events: none;
    }

    .wp-block-navigation-item.has-child.is-open>.wp-block-navigation__submenu-container li:last-child a {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 2.8rem 5.6rem;
    }
}

/* ナビゲーション上 */
.header-top {
    justify-content: flex-end;
    margin-bottom: .4rem;
    margin-right: .8rem;
    gap: 1.2rem;
}

.header-top__link .wp-block-group__inner-container {
    display: flex;
    color: var(--accent-link);
}

.header-top__link .wp-block-group__inner-container a {
    color: var(--accent-link) !important;
}

.header-top__link {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--accent-link);
    font-size: 1.4rem;
    line-height: 1;
}

.header-top__link__text a {
    padding-right: 1.6rem;
    margin-right: 1.6rem;
    border-right: .1rem solid var(--accent-link) !important;
}

.header-top-sns {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.header-top-sns__icon {
    width: 3.8rem;
    aspect-ratio: 1;
}

.header-inner-menu {
    background-color: var(--white);
    padding: 2.2rem 5.6rem;
    border-radius: 80rem;
    line-height: 1;
    font-weight: 700;
    gap: 2.4rem;
}

.header-top__btn a {
    height: 4.2rem;
    position: relative;
    background-color: var(--white);
    border: .3rem solid var(--blue);
    color: var(--basic);
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    padding: 0 1.6rem 0 4.8rem;
}

.icon-login {
    width: 4.2rem;
    height: 4.2rem;
    position: absolute;
    top: -.2rem;
    left: -.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    background-color: var(--blue);
    border-radius: 50%;
    color: var(--white);
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1;
    transition: transform 0.2s ease;
}

.header-top-sns .wp-block-group__inner-container {
    display: flex;
    gap: 1.2rem;
    align-items: center;
}

.header-top-sns .wp-block-group__inner-container figure {
    width: 3.8rem;
    height: 3.8rem;
}

.header-top__btn:hover .icon-login {
    transform: scale(1.1);
    /* 10%拡大 */
}

/* ==============================

フッターの設定

　============================== */
footer {
    margin-top: 16rem;
    background-image: url(../img/footer_bg.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top 8rem left 50%;
}

.footer-contact {
    position: relative;
    background-color: var(--dark-beige);
    border-radius: 4rem;
    padding: 5.6rem 0 4.8rem 0;
}

.footer__lead {
    width: 90%;
    margin: auto;
    margin-bottom: 5.6rem;
    text-align: center;
}

.footer-contact__list>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
}

.footer-contact__item {
    width: 30%;
    border-right: .1rem solid #D4D4D4;
}

.footer-contact__item:last-child {
    border-right: none;
}

.footer-contact__item>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-contact__item figure {
    width: 12rem;
    margin-bottom: 1.2rem !important;
}

.footer-contact__text {
    font-size: 2.2rem;
    font-weight: 700;
}

.footer-contact__maintext {
    font-size: 3.2rem;
    font-weight: 700;
}

.footer-contact__hour {
    font-size: 1.6rem;
    font-weight: 700;
}

.footer-contact__add {
    font-size: 1.4rem;
    font-weight: 500;
}

.footer-decor {
    position: absolute;
    width: 7.2rem;
}

.footer-decor--lt {
    left: -.3rem;
    top: -.3rem;
}

.footer-decor--rt {
    right: -.3rem;
    top: -.3rem;
}

.footer-decor--lb {
    left: -.3rem;
    bottom: -.3rem;
}

.footer-decor--rb {
    right: -.3rem;
    bottom: -.3rem;
}

.footer__logo {
    width: 50%;
    max-width: 64rem;
    margin: auto;
    margin-top: 7.2rem;
}

.schools__list {
    margin-top: 5.6rem;
}

.schools__list>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.scools__item {
    position: relative;
    width: 48%;
    background-color: var(--dark-beige);
    border-radius: 4rem;
    padding: 2.4rem;
}

.scools__item::before {
    content: "";
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
    position: absolute;
    top: .6rem;
    left: .6rem;
    z-index: 2;
    border-radius: 4rem;
    border: .2rem dashed var(--white);
    pointer-events: none;
}

.schools__name {
    background-image: url(../img/footer-schools--circle.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    margin-bottom: 1.2rem;
}

.schools__info-list {
    margin-bottom: 2.4rem;
}

.schools__info-title {
    width: 9rem;
    text-align-last: justify;
    text-justify: inter-ideograph;
}

.schools__button {
    margin-left: 4rem;
}

.footer__inner .schools__button {
    margin-left: 0;
}

.schools__button>.wp-block-group__inner-container {
    display: flex;
    gap: 6.4rem;
}

.schools__button .button--small::before {
    background-color: var(--red);
}

.footer-sns {
    margin-top: 5.6rem;
    margin-bottom: 2.4rem;
}

.footer-sns>.wp-block-group__inner-container {
    display: flex;
    gap: 1.6rem;
    justify-content: flex-end;
}

.footer__copyright {
    font-size: 1.2rem;
    text-align: right;
    padding-bottom: 1.6rem;
}

/* ==============================
    
    メインビジュアル
    
　============================== */

/*メインビジュアル*/
.mainv {
    z-index: 2;
    position: relative;
}

.slider-01 {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.mainv,
.slider-01,
.slider-01 .slide figure.wp-block-image.size-full,
.slider-01 .slide figure.wp-block-image.size-full img {
    height: 100vh;
}

.mv__img {
    width: 90%;
    mask-image: url('../img/mv-shape.svg');
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 100% 90%;
    -webkit-mask-image: url('../img/mv-shape.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 90%;
    -webkit-mask-position: center;
    margin: auto;
}

.slider-dots {
    display: none;
}

/*メインビジュアルキャッチコピー*/
.mvcopy {
    width: 90%;
    max-width: 180.8rem;
    position: absolute;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 5;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
    letter-spacing: 0.16em;
    line-height: 1;
}

.maincopy__text {
    color: var(--basic);
    font-size: 4.8rem;
    font-weight: 700;
    background-color: var(--white);
    padding: 1.6rem 2.4rem 2.8rem 2.2rem;
    margin-bottom: 1.2rem;
    width: fit-content;
}

.subcopy__text {
    font-size: 2.2rem;
    color: var(--white);
    background-color: var(--orange);
    border-radius: 80rem;
    padding: 1.2rem 3.2rem;
    width: fit-content;
}

.subcopy__text--botttom {
    margin-left: 18rem;
}

.subcopy__text--botttom--right {
    margin-left: 16.4rem;
}

.subcopy {
    position: relative;
    margin-bottom: 1.6rem;
}

.subcopy::before,
.subcopy::after {
    position: absolute;
    left: 3.2rem;
    content: "";
    aspect-ratio: 1;
    background-color: var(--orange);
    border-radius: 50%;
    z-index: -1;
}

.subcopy::before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 3.6rem;
}

.subcopy::after {
    bottom: 0;
    width: 2.2rem;
}

.slide.showing .mvcopy {
    opacity: 1;
}

/* ==============================

　　↓　PC版テーマ専用CSSは下記から記述　↓

　============================== */

/* ==============================
    
    トップページ
    
　============================== */
/* TOP-お知らせ */
.news {
    max-width: 108rem;
}

.latest-posts {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2%;
    margin-bottom: 2.4rem;
}

.latest-post {
    width: 23%;
}

.latest-post__thumb {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 2rem;
    overflow: hidden;
    margin-bottom: .8rem;
}

.latest-post__thumb img {
    vertical-align: top;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.latest-post__date {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    margin: 0 .8rem .8rem .8rem;
}

.latest-post__title {
    text-align: center;
    text-align: left;
    font-weight: 500;
    line-height: 1.5;
    font-size: 1.6rem;
    margin: 0 .8rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}

/* TOP-体験レッスン */
.trial-lesson {
        padding-top: 12rem;
}

.trial-lesson>.wp-block-group__inner-container {
        max-width: 80rem;
    margin: auto;
    background-color: var(--white);
    border-radius: 4rem;
    border: .6rem solid var(--orange);
    padding: 4.8rem 0 5.6rem 0;
    background-image: url(../img/bg-line.svg);
    background-position: center;
}

.is-layout-flex.trial-lesson__inner {
        justify-content: space-between;
}

.trial-lesson__title-en {
    width: 54rem;
    max-width: 90%;
    margin: 0 auto 3.2rem auto;
}

.trial-lesson__inner .sp-only {
    display: none;
}

.trial-img--left,
.trial-img--right {
    width: 23%;
}

.trial-img--left {
    transform: translateY(4.8rem) rotate(-5deg);
}

.trial-img--right {
        transform: translateY(2rem) rotate(5deg);
    max-width: 18rem;
}

.trial-lesson__info {
        width: 50%;
}

.trial-lesson__info h3 {
        font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2.4rem;
}

.trial-lesson__info .wp-block-buttons {
        margin: 3.2rem auto 0 auto;
    width: fit-content;
}

/* TOP-英検 */
.eiken {
    margin-top: 14.4rem;
}

.eiken__inner {
    margin-bottom: 10.4rem;
}

.eiken__inner>.wp-block-group__inner-container {
    display: flex;
    gap: 8%;
    justify-content: center;
    align-items: center;
}

.eiken__content {
    width: 34%;
}

.eiken__title {
    margin-bottom: 4rem;
    letter-spacing: 0;
}

.eiken__text {
    margin-bottom: 2.4rem;
}

.eiken__movie-block {
    position: relative;
    width: 43%;
}

.eiken__movie-label {
    position: absolute;
    top: -8rem;
    right: .8rem;
    display: inline-block;
    background-color: var(--beige);
    padding: .8rem 2.4rem;
    border-radius: 80rem;
    font-weight: 700;
}

.eiken__movie-label::before,
.eiken__movie-label::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--beige);
}

.eiken__movie-label::before {
    width: 2.4rem;
    height: 2.4rem;
    right: 2.4rem;
    bottom: -1.4rem;
}

.eiken__movie-label::after {
    width: 1.6rem;
    height: 1.6rem;
    right: 4.8rem;
    bottom: -2.8rem;
}

.eiken__movie-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1.414 / 1;
    overflow: hidden;
    border-radius: 4rem;
}

.eiken__movie-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.custom-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7.2rem;
    height: 7.2rem;
    background-color: var(--pink);
    border-radius: 50%;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eiken-button>.wp-block-group__inner-container {
    width: fit-content;
    position: relative;
    margin: auto;
}

.eiken-button-label__bg {
    position: absolute;
    top: -7.2rem;
    left: -1.6rem;
}

.eiken-button-label__bg .wp-block-group__inner-container {
    position: relative;
    width: 23.6rem;
    height: 4.4rem;
    background-color: var(--beige);
    border-radius: 80rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.eiken-button-label__bg .wp-block-group__inner-container::before,
.eiken-button-label__bg .wp-block-group__inner-container::after {
    position: absolute;
    content: "";
    background-color: var(--beige);
    border-radius: 50%;
}

.eiken-button-label__bg .wp-block-group__inner-container::before {
    width: 2.4rem;
    height: 2.4rem;
    bottom: -1.3rem;
    left: 1.8rem;
}

.eiken-button-label__bg .wp-block-group__inner-container::after {
    width: 1.4rem;
    height: 1.4rem;
    bottom: -2.4rem;
    left: 4rem;
}

.eiken-button-label {
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    padding-bottom: 2.4rem;
}

.highlight--green {
    position: relative;
    font-size: 4.8rem;
    font-weight: 700;
    color: var(--green);
    -webkit-text-fill-color: var(--green);
    -webkit-text-stroke: .1rem var(--basic);
    margin-left: .6rem;
}

.highlight--green::after {
    position: absolute;
    content: url('http://elect.jp/wp/wp-content/uploads/2025/09/highlight-decor.svg');
    top: -4rem;
    right: -2.4rem;
}

/* TOP-クラス案内 */
.course {
    padding-top: 20rem;
    margin-bottom: 12rem;
}

.section-title-class {
    margin-bottom: 4rem;
}

p.course__lead {
    text-align: center;
    margin-bottom: 8rem;
}

.course__list {
    width: 74%;
    margin: auto;
    margin-bottom: 4rem;
}

.course__list>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    column-gap: 2%;
    row-gap: 3.2rem;
}

.course__item {
    position: relative;
    width: 30%;
}

.arrow--right-circle {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    bottom: .8rem;
    right: .8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.arrow--right-circle::after {
    content: '→';
    font-weight: 900;
    font-size: 2rem;
}

.course__title {
    position: absolute;
    top: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    background-color: var(--white) !important;
    color: var(--basic);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    width: 4.2rem;
    height: 17rem;
    border-radius: 2rem 0;
    display: flex;
    align-items: center;
    padding-top: 1rem;
    z-index: 0;
}

.course__title span {
    position: relative;
    z-index: 2;
}

.course__img {
    border-radius: 2rem;
    overflow: hidden;
}

.course__title--circle::before {
    content: '';
    position: absolute;
    top: 1rem;
    width: 2.8rem;
    aspect-ratio: 1;
    border-radius: 50%;
    z-index: 1;
}

.bg--orange,
.bg--orange::before {
    background-color: var(--orange);
}

.bg--yellow,
.bg--yellow::before {
    background-color: var(--yellow);
}

.bg--lightgreen,
.bg--lightgreen::before {
    background-color: var(--light-green);
}

.bg--green,
.bg--green::before {
    background-color: var(--green);
}

.bg--blue,
.bg--blue::before {
    background-color: var(--blue);
}

.bg--loyalblue,
.bg--loyalblue::before {
    background-color: var(--loyal-blue);
}

.bg--red,
.bg--red::before {
    background-color: var(--red);
}

.bg--pink,
.bg--pink::before {
    background-color: var(--pink);
}

.course-bubble__bg,
.class__content {
    position: absolute;
}

.course-bubble__bg {
    top: 0;
    right: 0;
    width: 160%;
}

.class__content {
    width: 120%;
    top: 50%;
    transform: translateY(-50%);
    right: 16%;
}

.course-bubble__title {
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.6rem;
    font-size: 1.6rem;
}

.button__inner--orange>.wp-block-button__link {
    background-color: var(--orange);
}

.button__inner--orange .wp-block-button__link::after {
    background-image: url(../img/arrow-right--orange.svg);
}

/* TOP-ギャラリー */
.gallery {
    height: 30rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 3.2rem;
}

.gallery>.wp-block-group__inner-container,
.slider-02 .slides,
.slides>.wp-block-group__inner-container,
.slides>.wp-block-group__inner-container>.wp-block-group {
    height: 100%;
}

/* TOP-ELECTの強み */
.point {
    padding-top: 24rem;
    padding-bottom: 26rem;
    background-image: url(../img/book_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 110% 100%;
}

body .is-layout-flex.point__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 5.6rem;
}

.point__item {
    width: 30%;
}

.point-item__content {
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    position: sticky;
    z-index: 2;
}

.point__item:first-child .point-item__content {
    background-image: url(../img/point__bg1.png);
}

.point__item:nth-child(2) .point-item__content {
    background-image: url(../img/point__bg2.png);
}

.point__item:nth-child(3) .point-item__content {
    background-image: url(../img/point__bg3.png);
}

.point__item:nth-child(4) .point-item__content {
    background-image: url(../img/point__bg4.png);
}

.point__item:nth-child(5) .point-item__content {
    background-image: url(../img/point__bg5.png);
}

.point__item:nth-child(6) .point-item__content {
    background-image: url(../img/point__bg6.png);
}

.point-item__inner {
    width: 90%;
    margin: auto;
}

.point__media {
    position: relative;
}

.point__img {
    width: 100%;
    aspect-ratio: 1.618/1;
    border-radius: 2rem;
    overflow: hidden;
}

.point__illust {
    position: absolute;
    bottom: -3.5rem;
    right: -5%;
    width: 9.7rem;
}

.point__title {
    margin-top: 2.4rem;
    padding-bottom: 2.4rem;
    text-align: center;
}

.point__number {
    font-family: "Londrina Solid", sans-serif;
    font-weight: 300;
    font-size: 2.8rem;
}

/* TOP-バナー */
.banner {
    margin-top: 5.6rem;
}

.wp-block-cover.banner__item {
    width: 45%;
    min-height: 30rem;
    padding: 3% 4%;
    border-radius: 4rem;
}


.banner>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: stretch;
    row-gap: 3.2rem;
}

.banner__head {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: .4rem;
}

.banner__head>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.banner__content>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 5%;
}

.arrow--right-circle--big {
    position: relative;
    width: 5.6rem;
    height: 5.6rem;
    aspect-ratio: 1;
    border-radius: 50%;
}

.arrow--right-circle--big::after {
    content: '';
    background-image: url(../img/arrow--big--white.svg);
    background-size: cover;
    width: 2.6rem;
    height: 2.3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: left 0.3s ease;
}

.banner__item:hover .arrow--right-circle--big::after {
    left: 55%;
}

/* TOP-バナーに重ねたブラー */
.banner__item::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    z-index: 0;
    pointer-events: none;
}

.banner__item img.wp-block-cover__image-background {
    position: absolute;
    z-index: 0;
}

.banner__item .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

.banner__item>.wp-block-cover__inner-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* TOP-バナーの枠線 */
.banner__item::before {
    content: "";
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
    position: absolute;
    z-index: 2;
    border-radius: 4rem;
}

.banner--orange::before {
    border: .2rem dashed var(--orange);
}

.banner--pink::before {
    border: .2rem dashed var(--pink);
}

.banner--blue::before {
    border: .2rem dashed var(--blue);
}

.banner--green::before {
    border: .2rem dashed var(--green);
}

/* TOP-ELECTカレンダー */
.calender {
    margin-top: 14.4rem;
}

.calender>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.calender iframe {
    margin-bottom: 2rem;
}

/*-----------------
 トップページ装飾
-----------------*/
.decor {
    position: absolute;
}

.decor-top {
    z-index: 3;
}

.decor-bg {
    z-index: -1;
}

.mv-decor--lt {
    width: 12%;
    top: 30%;
    left: -2%;
    min-width: 14rem;
}

.mv-decor--lb {
    width: 12%;
    bottom: 3%;
    left: 33%;
    min-width: 9rem;
}

.mv-decor--rt {
    width: 18%;
    right: -2%;
    top: 20%;
    min-width: 18rem;
}

.mv-decor--rb {
    width: 8%;
    right: 8%;
    bottom: 10%;
    min-width: 6rem;
}

.news-decor--left {
    top: -1%;
    left: -46%;
    width: 60%;
}

.news-decor--bottom {
    width: 34%;
    left: 50%;
    bottom: -24%;
}

.news-decor--right {
    width: 64%;
    right: -45%;
    top: -24%;
}

.eiken-decor--left {
    width: 36%;
    top: 0;
    left: -14%;
}

.eiken-decor--bottom {
    width: 20%;
    bottom: -25%;
    right: 8%;
}

.eiken-decor--right {
    width: 40%;
    right: -15%;
    bottom: 5%;
}

.eiken-decor1 {
    width: 7%;
    left: -3%;
    bottom: 0;
}

.eiken-decor2 {
    width: 12%;
    left: 7%;
    bottom: 28%;
}

.eiken-decor3 {
    width: 8%;
    left: 20%;
    bottom: 0;
}

.eiken-decor4 {
    width: 10%;
    bottom: -13%;
    right: 23%;
}

.eiken-decor5 {
    width: 8%;
    top: 50%;
    right: 14%;
}

.eiken-decor6 {
    width: 8%;
    bottom: 3%;
    right: 2%;
}

.gallery-decor1 {
    width: 8%;
    bottom: 0;
    left: 15%;
}

.gallery-decor2 {
    width: 8%;
    top: -26%;
    right: 20%;
}

.gallery-decor3 {
    width: 8%;
    right: 8%;
    bottom: 0;
}


/* ==============================
    
    下層ページ
    
　============================== */
/*-----------------
　下層共通
-----------------*/
/* FV */
.lowfv {
    position: relative;
    width: 90%;
    margin: auto;
    margin-top: 12rem;
    margin-bottom: 6.4rem;
}

.lowfv--img {
    border-radius: 4rem;
    overflow: hidden;
    aspect-ratio: 20 / 9;
}

.lowpage__title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48rem;
    background-color: var(--bg);
    border-radius: 0 4rem 0 0;
    padding: 1.6rem 1.6rem 1.6rem 2.4rem;
}

.lowpage__title--en {
    font-weight: 700;
    line-height: 1;
}

.lowpage__title--ja {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1;
}

/* アンカーリンク */
.anchor-link {
    margin-bottom: 10.4rem;
}

.anchor-link>.wp-block-group__inner-container {
    display: flex;
    justify-content: center;
}

.anchor-link__inner {
    gap: 4rem;
    row-gap: 1.6rem;
    width: fit-content !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
}

.anchor-link-btn .wp-block-button__link {
    position: relative;
    background-color: unset;
    color: var(--basic);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 4rem 0 0;
    white-space: nowrap;
}

.anchor-link-btn .wp-block-button__link::before {
    position: absolute;
    content: '';
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    top: 50%;
    right: 0;
    transform: translateY(-50%) scale(1);
    background-image: url(../img/chevron--down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    transition: transform 0.3s ease;
}

.anchor-link-btn .wp-block-button__link:hover::before {
    transform: translateY(-50%) scale(1.08);
}

.anchor-link-btn--red .wp-block-button__link::before {
    background-color: var(--red);
}

.anchor-link-btn--orange .wp-block-button__link::before {
    background-color: var(--orange);
}

.anchor-link-btn--blue .wp-block-button__link::before {
    background-color: var(--blue);
}

.anchor-link-btn--green .wp-block-button__link::before {
    background-color: var(--green);
}


/*-----------------
　ELECTとはページ（about）
-----------------*/
/* about-ELECTの6つの強み */
.strong-point {
    margin-bottom: 8rem;
}

.point-item__add {
    background-color: var(--dark-beige);
    padding: 6rem 5% 3.2rem 5%;
    border-radius: 4rem;
    margin-top: -5.6rem;
    position: sticky;
    z-index: 1;
}

.point-item__add .button--small {
    margin-top: 1.6rem;
}

/* about-ギャラリー */
.about-gallery-label {
    display: flex;
    justify-content: center;
    margin-bottom: 2.4rem;
}

.about-gallery-label>.wp-block-group__inner-container {
    display: inline-flex;
    flex-direction: column;
}

.about-gallery-label p {
    display: inline-block;
    width: fit-content;
    background-color: var(--red);
    padding: .8rem 2.4rem;
    border-radius: 80rem;
    font-weight: 700;
    color: var(--white);
}

.about-gallery-label span {
    color: var(--pink);
    text-shadow:
        1px 0 1px #fff,
        -1px 0 1px #fff,
        0 1px 1px #fff,
        0 -1px 1px #fff,
        1px 1px 1px #fff,
        1px -1px 1px #fff,
        -1px 1px 1px #fff,
        -1px -1px 1px #fff,
        2px 0 1px #fff,
        -2px 0 1px #fff,
        0 2px 1px #fff,
        0 -2px 1px #fff;
    padding: 0 .2rem;
}

.about-gallery-label p:last-child {
    margin-left: 14.4rem;
}

.about-gallery-label .wp-block-group__inner-container {
    position: relative;
}

.about-gallery-label .wp-block-group__inner-container::before,
.about-gallery-label .wp-block-group__inner-container::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--red);
}

.about-gallery-label .wp-block-group__inner-container::before {
    width: 2.4rem;
    height: 2.4rem;
    top: 3.8rem;
    left: 2.4rem;
}

.about-gallery-label .wp-block-group__inner-container::after {
    width: 1.6rem;
    height: 1.6rem;
    left: 1.2rem;
    bottom: .8rem;
}

/* about-ELECTが英検に強い理由 */
.about-eiken {
    margin-top: 16rem;
    position: relative
}

.about-eiken .eiken-button-label__bg {
    position: unset;
}

.about-eiken .eiken-button-label__bg {
    display: flex;
    justify-content: center;
}

.about-eiken .double-bg__body {
    padding-top: 8rem;
}

.about-eiken .eiken-button-label__bg .wp-block-group__inner-container::before,
.about-eiken .eiken-button-label__bg .wp-block-group__inner-container::after {
    position: unset;
}

.successful-img {
    position: absolute;
}

.successful-img--lt {
    width: 14%;
    top: -1%;
    left: -3%;
}

.successful-img--lb {
    width: 19%;
    top: 3%;
    left: 5%;
}

.successful-img--rt {
    width: 20%;
    top: -2%;
    right: 0;
}

.successful-img--rb {
    width: 13%;
    top: 5%;
    right: 14%;
}

.about-eiken__title {
    text-align: center;
    font-size: 4.8rem;
    font-weight: 700;
    margin-bottom: 8rem;
}

.rate-table {
    width: 90%;
    max-width: 80rem;
    margin: auto;
    background-color: var(--bg);
    padding: 4.8rem 5%;
    border-radius: 2rem;
}

.rate-table>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 4rem;
}

.rate-table__lead {
    text-align: center;
}

.rate-table__lead span {
    font-weight: 700;
}

.wp-block-table thead {
    border-bottom: unset !important;
}

.wp-block-table td,
.wp-block-table th {
    border: unset !important;
}

.pc-rate-table--top>table>thead>tr,
.pc-rate-table--bottom>table>thead>tr,
.sp-rate-table>table>thead>tr {
    border-bottom: .4rem dotted var(--dark-beige);
}

.sp-rate-table {
    display: none;
}

.eiken-reason__list {
    margin-top: 8rem;
}

.eiken-reason__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}

.eiken-reason__item {
    justify-content: space-between;
}

.eiken-reason__img figure {
    border-radius: 4rem;
    overflow: hidden;
}

.eiken-reason__title {
    width: fit-content;
    font-size: 2.8rem;
    font-weight: 700;
    padding-bottom: .2rem;
    border-bottom: .4rem dotted var(--red);
    margin-bottom: 3.2rem;
}

.eiken-textbook {
    margin-top: 8rem;
    margin-bottom: 8rem;
}

.eiken-textbook>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.eiken-textbook__lead {
    text-align: center;
    margin-bottom: 5.6rem;
}

body .is-layout-flex.eiken-textbook__list {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 5.6rem;
}

.eiken-textbook__item {
    width: 45%;
}

.eiken-textbook__img {
    border-radius: 9999rem;
    overflow: hidden;
    margin-bottom: 2.4rem !important;
}

.eiken-textbook__text {
    width: 90%;
    margin: auto;
}

.eiken-textbook__title {
    position: relative;
    display: inline-block;
    width: fit-content;
    background-color: var(--red);
    padding: .8rem 2.4rem;
    border-radius: 80rem;
    font-weight: 700;
    line-height: 1;
    color: var(--white);
    margin-left: 4.8rem;
    margin-bottom: 3rem;
    z-index: 2;
}

.eiken-textbook__title::before,
.eiken-textbook__title::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--red);
    z-index: 1;
}

.eiken-textbook__title::before {
    width: 2.4rem;
    height: 2.4rem;
    top: 2.4rem;
    left: 2.4rem;
}

.eiken-textbook__title::after {
    width: 1.6rem;
    height: 1.6rem;
    left: 4.2rem;
    top: 4.7rem;
}

/* 英検対策講座お申込みバナー */
.eiken-entry-banner {
    position: relative;
    width: 90%;
    max-width: 80rem;
    margin: auto;
    background-color: var(--bg);
    border: .6rem solid var(--red);
    border-radius: 4rem;
    padding: 4.6rem 0 6rem 0;
}

.eiken-entry-banner>.wp-block-group__inner-container {
    display: flex;
    align-items: center;
}

.eiken-entry-banner__item:first-child,
.eiken-entry-banner__item:last-child {
    width: calc((100% - 36rem) / 2);
}

.eiken-entry-banner__item:nth-child(2) {
    width: 36rem;
}

.eiken-entry-banner__item:nth-child(2)>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.eiken-entry-banner__item .button--small {
    margin-top: 4rem;
}

figure.wp-block-image.size-full.eiken-entry-img-lt {
    width: 90%;
    margin-bottom: 8rem;
}

figure.wp-block-image.size-full.eiken-entry-img-lb {
    width: 64%;
    margin-left: 2.4rem;
}

figure.wp-block-image.size-full.eiken-entry-img-rt {
    width: 66%;
    margin-bottom: 12rem;
}

figure.wp-block-image.size-full.eiken-entry-img-rb {
    width: 100%;
}

/* about-講師のご紹介 */
.teacher {
    margin-top: 18.4rem;
}

.teacher-lead {
    margin: auto;
    margin-bottom: 5.6rem;
    width: 90%;
}

.swiper.main-slider {
    overflow: visible;
    height: 50rem;
    margin-bottom: 8rem;
}

.main-slider .swiper-slide {
    width: 60%;
    max-width: 96rem;
    height: 50rem;
    transition: transform 0.4s ease, opacity 0.4s ease;
    font-size: 1.6rem;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
}

/* アクティブスライド（中央） */
.main-slider .swiper-slide-active {
    position: relative;
    transform: rotate(0deg) !important;
}

/* 左側（前のスライド）→ 右上がり */
.main-slider .swiper-slide-prev {
    transform: rotate(-8deg) !important;
    transform-origin: right bottom;
}

/* 右側（次のスライド）→ 左上がり */
.main-slider .swiper-slide-next {
    transform: rotate(8deg) !important;
    transform-origin: left bottom;
}

.person-card {
    width: 100%;
    height: 100%;
    padding: 4.8rem 4%;
    background: var(--dark-beige);
    border-radius: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card-red {
    border: .6rem solid var(--red);
}

.card-orange {
    border: .6rem solid var(--orange);
}

.person-card__inner {
    width: 100%;
}

.thumbs-list--en,
.thumbs-list--ja {
    display: flex;
    gap: 1.6rem;
    align-items: stretch;
}

.thumbs-list--en {
    margin-bottom: 4rem;
}

.thumbs-list__title {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 1.6rem .6rem;
    color: var(--white);
    border-radius: 9999rem;
}

.thumbs-list--en .thumbs-list__title {
    background-color: var(--orange);
}

.thumbs-list--ja .thumbs-list__title {
    background-color: var(--red);
}

.thumbs-list__inner {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 1%;
    row-gap: 2.4rem;
}

.thumbs-list__inner p {
    text-align: center;
}

.thumb {
    width: 15%;
    min-width: 11rem;
}

.thumb-img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 2rem;
    overflow: hidden;
    margin-bottom: .8rem;
}

.thumb-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 矢印ボタンの基本位置調整 */
.swiper-button {
    /* .swiper-slideの横幅60%からpadding左右1.6remマイナス */
    width: calc(60% - 1.6rem - 1.6rem);
    /* .swiper-slideのmax横幅96remからpadding左右1.6remマイナス */
    max-width: calc(96rem - 1.6rem - 1.6rem);
    position: absolute;
    height: 4.8rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}


body .swiper-button-prev,
body .swiper-button-next {
    width: 4.8rem;
    height: 4.8rem;
    aspect-ratio: 1;
    background-color: var(--red);
    border-radius: 50%;
    transform: translateY(-50%) scale(1);
    cursor: pointer;
    position: absolute;
    transition: transform 0.3s ease;
}

body .swiper-button-prev:hover,
body .swiper-button-next:hover {
    transform: translateY(-50%) scale(1.1);
}


body .swiper-button-prev:after,
body .swiper-rtl,
body .swiper-button-next:after {
    content: '';
    background-image: url(../img/chevron--down.svg);
    width: 60%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
}

body .swiper-button-prev:after {
    transform: rotate(90deg);
}

body .swiper-button-next:after {
    transform: rotate(-90deg);
}

.main-slider .swiper-button-prev {
    left: -2rem;
}

.main-slider .swiper-button-next {
    right: -2rem;
}

.person-card h3 {
    width: fit-content;
    font-size: 2.8rem;
    font-weight: 700;
    padding-bottom: .2rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
}

.card-red h3 {
    border-bottom: .4rem dotted var(--red);
}

.card-orange h3 {
    border-bottom: .4rem dotted var(--orange);
}

.teaacher__content {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.teaacher__img {
    width: 34%;
    aspect-ratio: 1;
    margin: 0;
    border-radius: 50%;
    overflow: hidden;
}

.teaacher__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.teacher__text {
    width: 56%;
}

.charge {
    display: flex;
    align-items: center;
    column-gap: 1.6rem;
    margin-top: 1.6rem;
}

.charge__title {
    background-color: var(--orange);
    color: var(--white);
    font-weight: 700;
    padding: .8rem 1.6rem;
    border-radius: 9999rem;
    white-space: nowrap;
}

/* about-教室案内 */
.class-guide {
    margin-top: 16rem;
}

.class-guide-label {
    position: relative;
    margin-bottom: 1.6rem;
}

.class-guide-label>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
}

.class-guide-label p {
    display: inline-block;
    width: fit-content;
    background-color: var(--red);
    padding: .8rem 2.4rem;
    border-radius: 80rem;
    font-weight: 700;
    line-height: 1;
    color: var(--white);
    z-index: 2;
}

.class-guide-label p:last-child {
    margin-left: 12.8rem;
}

.class-guide-label::before,
.class-guide-label::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--red);
    z-index: 1;
}

.class-guide-label::before {
    width: 2.4rem;
    height: 2.4rem;
    top: 2.4rem;
    left: 2.4rem;
}

.class-guide-label::after {
    width: 1.6rem;
    height: 1.6rem;
    left: 1.6rem;
    top: 4.8rem;
}

.class-guide-content {
    justify-content: space-between;
}

.class-guide-content__item {
    position: relative;
    width: 46%;
    background-color: var(--dark-beige);
    border-radius: 4rem;
    padding: 3.2rem 2.4%;
}

.class-guide-content__item::before {
    content: "";
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
    position: absolute;
    top: .6rem;
    left: .6rem;
    z-index: 2;
    border-radius: 4rem;
    border: .2rem dashed var(--white);
    pointer-events: none;
}

.class-guide__title {
    background-image: url(../img/footer-schools--circle.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    margin-bottom: 1.2rem;
}

.class-guide__list {
    margin-bottom: 2.4rem;
}

.class-guide__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.class-guide__item p:first-child {
    width: 8.8rem;
    text-align-last: justify;
    align-self: flex-start;
}

.class-guide__item a {
    border-bottom: .1rem solid var(--basic);
}

.class-guide-content__item iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 2rem;
    overflow: hidden;
}

/*-----------------
　クラス案内ページ（class）
-----------------*/
/* class-リード文 */
.class-lead {
    margin-bottom: 8rem;
}

.class-lead>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    text-align: center;
}

.class-lead__title {
    text-align: center !important;
    font-weight: 700;
}

.class-lead__text>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
}

/* class-各クラスアンカーリンク */
.class-link {
    margin-bottom: 5.6rem;
}

body .class-link__inner {
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 1%;
    row-gap: 1.6rem;
    line-height: 1;
}

.wp-block-buttons.class-link-btn .wp-block-button__link {
    position: relative;
    width: 28rem;
    background-color: var(--white);
    color: var(--basic);
    font-size: 1.8rem;
    font-weight: 700;
    padding: 1.6rem 0 1.6rem 4rem;
    text-align: left;
}

.wp-block-buttons.class-link-btn .wp-block-button__link::after {
    content: '';
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1.6rem;
    border-radius: 50%;
    background-color: var(--red);
    background-image: url(../img/chevron--down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
}

.wp-block-buttons.class-link-btn.class-link-orange .wp-block-button__link {
    border: .4rem solid var(--orange);
}

.wp-block-buttons.class-link-btn.class-link-orange .wp-block-button__link::after {
    background-color: var(--orange);
}

.wp-block-buttons.class-link-btn.class-link-pink .wp-block-button__link {
    border: .4rem solid var(--pink);
}

.wp-block-buttons.class-link-btn.class-link-pink .wp-block-button__link::after {
    background-color: var(--pink);
}

.wp-block-buttons.class-link-btn.class-link-yellow .wp-block-button__link {
    border: .4rem solid var(--yellow);
}

.wp-block-buttons.class-link-btn.class-link-yellow .wp-block-button__link::after {
    background-color: var(--yellow);
}

.wp-block-buttons.class-link-btn.class-link-lightgreen .wp-block-button__link {
    border: .4rem solid var(--light-green);
}

.wp-block-buttons.class-link-btn.class-link-lightgreen .wp-block-button__link::after {
    background-color: var(--light-green);
}

.wp-block-buttons.class-link-btn.class-link-green .wp-block-button__link {
    border: .4rem solid var(--green);
}

.wp-block-buttons.class-link-btn.class-link-green .wp-block-button__link::after {
    background-color: var(--green);
}

.wp-block-buttons.class-link-btn.class-link-blue .wp-block-button__link {
    border: .4rem solid var(--blue);
}

.wp-block-buttons.class-link-btn.class-link-blue .wp-block-button__link::after {
    background-color: var(--blue);
}

.wp-block-buttons.class-link-btn.class-link-loyalblue .wp-block-button__link {
    border: .4rem solid var(--loyal-blue);
}

.wp-block-buttons.class-link-btn.class-link-loyalblue .wp-block-button__link::after {
    background-color: var(--loyal-blue);
}

.wp-block-buttons.class-link-btn.class-link-red .wp-block-button__link {
    border: .4rem solid var(--red);
}

.wp-block-buttons.class-link-btn.class-link-red .wp-block-button__link::after {
    background-color: var(--red);
}

/* class-クラス詳細 */
.low-class {
    margin-bottom: 10.4rem;
}

.low-class__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

.low-class__item {
    justify-content: space-between;
}

.low-class__img figure {
    aspect-ratio: 1;
    border-radius: 2rem;
    overflow: hidden;
}

.class-name {
    width: fit-content;
    font-size: 2.8rem;
    font-weight: 700;
    padding-bottom: .2rem;
    margin-bottom: 2.4rem;
}

.underline-dot--pink {
    border-bottom: .4rem dotted var(--pink);
}

.underline-dot--orange {
    border-bottom: .4rem dotted var(--orange);
}

.underline-dot--yellow {
    border-bottom: .4rem dotted var(--yellow);
}

.underline-dot--light-green {
    border-bottom: .4rem dotted var(--light-green);
}

.underline-dot--green {
    border-bottom: .4rem dotted var(--green);
}

.underline-dot--blue {
    border-bottom: .4rem dotted var(--blue);
}

.underline-dot--loyal-blue {
    border-bottom: .4rem dotted var(--loyal-blue);
}

.underline-dot--red {
    border-bottom: .4rem dotted var(--red);
}

.class-info__lead {
    margin-bottom: 1.6rem;
}

.class-info__list>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}

.class-info__item {
    width: 48%;
    align-items: flex-start;
    gap: 2.4rem;
    padding-right: .8rem;
    padding: 1.6rem .8rem 1.6rem 0;
    border-bottom: .1rem solid #D4CAB1;
}

.class-info__title {
    width: 6.4rem;
    text-align: center;
}

.class-info-add {
    font-size: 1.4rem;
    margin-top: .8rem;
}

.fee-link {
    border-bottom: .1rem solid var(--basic);
}

/* class-英検申込バナー */
.class-eiken-entry-banner {
    background-color: var(--white);
}

/* class-受講料以外のお支払費用 */
.fee {
    margin-top: 8rem;
}

.fee>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fee-guide__title {
    display: inline-block;
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 4rem;
}

.fee__table {
    max-width: 56.8rem;
    width: 100%;
    margin: auto;
    background-color: var(--white);
    border-radius: 2rem;
    border: .3rem solid #D4CAB1;
    padding: 0 2.4rem;
}

.fee__item {
    justify-content: space-between;
    padding: 1.6rem 0;
    border-bottom: .1rem solid #D4CAB1;
}

.fee__item:last-child {
    border-bottom: unset;
}

.fee__item p {
    width: 48%;
}

.fee__title {
    width: 40%;
}

/* class-ご入会までのながれ */
.step {
    margin-top: 16rem;
}

.step__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.step__item {
    background-color: var(--white);
    border-radius: 4rem;
    padding: 4rem 3% 4.8rem 5%;
    justify-content: space-between;
    align-items: center;
}

.step__content {
    width: 66%;
}

.step-header {
    gap: 2.4rem;
    margin-bottom: 4rem;
}

.step-header figure {
    width: 6.4rem;
    aspect-ratio: 1;
}

.step__title {
    font-size: 2.8rem;
    font-weight: 700;
}

.step__illust {
    width: 26%;
}

.step-button {
    margin-top: 1.6rem;
}

/* class-ご入会後の各種お手続き */
.guide {
    margin-top: 12rem;
}

.guide>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.guide__inner>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.accordions {
    background-color: var(--white);
    border-radius: 2rem;
    padding: 1.8rem 0 4rem 0;
}

.guide__inner p.accordion__button {
    width: 96%;
    font-size: 2.2rem;
    line-height: 1.5;
    padding: 0;
    text-align: center;
}

.guide__inner .wp-block-group.accordion:before {
    content: unset;
}

.guide__inner .accordion__button::before {
    content: unset;
}

.guide__inner .accordion__button::after {
    width: 2.4rem;
    height: 2.4rem;
    right: .8rem;
    border-radius: 50%;
    background-image: url(../img/chevron--down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    background-color: var(--red);
}

.accordion__body>.wp-block-group__inner-container {
    width: 80%;
    margin: auto;
    padding-top: 4rem;
    margin-top: 2.4rem;
    border-top: .1rem solid #D4CAB1;
}

.accordion-body__title {
    position: relative;
    margin-left: 1.6rem;
    font-weight: 700;
    margin-bottom: 2.4rem;
}

.accordion-body__title::before {
    content: '';
    position: absolute;
    width: .8rem;
    height: 2.4rem;
    background-color: var(--orange);
    top: 50%;
    transform: translateY(-50%);
    left: -1.6rem;
}

.accordion-body__content>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.accordion-body__item {
    margin-bottom: 4rem;
}

.list-content>.wp-block-group__inner-container {
    display: flex;
    gap: .8rem;
    flex-direction: column;
}

.number-list,
.kome-list {
    list-style: none;
    counter-reset: num;
    padding-left: 3.2rem;
}

.kome-list {
    padding-left: 2.4rem;
}

.number-list li,
.kome-list li {
    counter-increment: num;
    position: relative;
}

.number-list li::before,
.kome-list li::before {
    position: absolute;
    left: -3.2rem;
    width: 2.4rem;
    text-align: right;
}

.number-list li::before {
    content: "(" counter(num) ")";
}

.kome-list li::before {
    content: "※";
}

.disc-list {
    list-style-type: disc;
    margin-left: 2.2rem;
}

.download-button .button__inner .wp-block-button__link::after {
    background-image: url("../img/download-icon.svg");
}

.download-button {
    justify-content: flex-start;
}

/* class-よくある質問 */
.faq {
    margin-top: 16rem;
}

.faq-accordions .accordion__button {
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0;
    padding-left: 4rem;
    width: 94%;
}

.faq-accordions .wp-block-group.accordion:before {
    left: 3%;
    color: var(--orange);
    font-size: 2.2rem;
    top: -.2rem;
    height: 2.2rem;
    line-height: 0.8;
}

.faq-accordions .accordion__button::before {
    content: unset;
}

.faq-accordions .accordion__button::after {
    width: 2.4rem;
    height: 2.4rem;
    right: .8rem;
    border-radius: 50%;
    background-image: url(../img/chevron--down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    background-color: var(--orange);
}

.faq-accordions__list>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.faq-accordions .accordion__body>.wp-block-group__inner-container {
    width: 94%;
    padding-top: 2.4rem;
}

/*-----------------------------
　ELECTファミリーの声ページ（voice）
-----------------------------*/
.voices {
    background-image: url(../img/voice-bg.png);
    background-size: 100% auto;
}

.voicepage__title {
    width: 58rem;
}

.voice-lead {
    text-align: center;
    margin-bottom: 8rem;
}

.voice__list>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    row-gap: 3.2rem;
}

.voice__item {
    width: 48%;
    border-radius: 2rem;
    cursor: pointer;
}

.open-modal {
    position: relative;
    justify-content: space-between;
    padding: .8rem 2.4rem .8rem .8rem;
}

.open-modal::after {
    content: '';
    width: 4rem;
    height: 3.6rem;
    border-radius: 2rem 0;
    position: absolute;
    bottom: -.15rem;
    right: -.15rem;
    background-image: url("../img/arrow-right--white.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

.open-modal-wrap {
    border-radius: 2rem;
}

.voice__item .open-modal-wrap {
    background-color: var(--white);
}

.open-modal figure {
    width: 36%;
    border-radius: 1.6rem;
    overflow: hidden;
}

.open-modal .voice__content {
    width: 56%;
}

.open-modal .voice-item__title {
    font-size: 1.8rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.open-modal .voice__content>.wp-block-group__inner-container>p {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
}

.open-modal .voice__content>.wp-block-group__inner-container>.wp-block-group>.wp-block-group__inner-container p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}

.voice__item:nth-child(1) .open-modal-wrap,
.voice__item:nth-child(6) .open-modal-wrap {
    border: .3rem solid var(--green);
}

.voice__item:nth-child(1) .open-modal::after,
.voice__item:nth-child(6) .open-modal::after {
    background-color: var(--green);
}

.voice__item:nth-child(2) .open-modal-wrap,
.voice__item:nth-child(7) .open-modal-wrap {
    border: .3rem solid var(--blue);
}

.voice__item:nth-child(2) .open-modal::after,
.voice__item:nth-child(7) .open-modal::after {
    background-color: var(--blue);
}

.voice__item:nth-child(3) .open-modal-wrap,
.voice__item:nth-child(8) .open-modal-wrap {
    border: .3rem solid var(--pink);
}

.voice__item:nth-child(3) .open-modal::after,
.voice__item:nth-child(8) .open-modal::after {
    background-color: var(--pink);
}

.voice__item:nth-child(4) .open-modal-wrap,
.voice__item:nth-child(9) .open-modal-wrap {
    border: .3rem solid var(--red);
}

.voice__item:nth-child(4) .open-modal::after,
.voice__item:nth-child(9) .open-modal::after {
    background-color: var(--red);
}

.voice__item:nth-child(5) .open-modal-wrap,
.voice__item:nth-child(10) .open-modal-wrap {
    border: .3rem solid var(--orange);
}

.voice__item:nth-child(5) .open-modal::after,
.voice__item:nth-child(10) .open-modal::after {
    background-color: var(--orange);
}

.voice-graduate,
.voice-parents {
    margin-top: 16rem;
}

/* モーダル表示部分 */
.voice-custom-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    isolation: isolate;
}

.voice-custom-modal>.wp-block-group__inner-container {
    position: relative;
    width: 90vw;
    max-width: 122.8rem;
    height: 78vh;
    border-radius: 4rem;
    padding: 8rem 5%;
    overflow: hidden;
}

.voice-custom-modal .close-wrap {
    position: absolute;
    top: 0;
    right: 0;
}

.voice-custom-modal .custom-modal__inner {
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.voice-custom-modal .voice__img {
    width: 40%;
    aspect-ratio: 1;
    border-radius: 1.6rem;
    overflow: hidden;
}

.voice-custom-modal .voice__content {
    width: 55%;
    max-height: 100%;
    overflow-y: auto;
    padding-right: 1rem;
}

.voice-custom-modal .voice__content>.wp-block-group__inner-container {
    padding: 0;
    width: 100%;
}

.voice-custom-modal .voice-item__title {
    font-size: 2.2rem;
    font-weight: 700;
}

.voice-custom-modal .voice__content>.wp-block-group__inner-container>p {
    margin-bottom: 2.4rem;
}

.voice-custom-modal .voice__content>.wp-block-group__inner-container>.wp-block-group>.wp-block-group__inner-container {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    width: 100%;
}

/*-----------------------------
　ELECT生の部屋（electstudent）
-----------------------------*/
/* 認証ページ */
.member-auth-form {
    margin-top: 20rem !important;
    border: none !important;
}

.member-auth-form>p {
    text-align: center;
}

.member-auth-form form {
    background-color: unset;
    border: unset;
    padding: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.member-auth-form form input {
    border: .2rem solid #D4CAB1;
    border-radius: 1.6rem;
}

.member-auth-form form button {
    position: relative;
    background-color: var(--red);
    background-image: none;
    color: var(--white);
    border: unset;
    border-radius: 9999rem;
    font-size: 1.6rem;
    font-weight: 700;
    width: 16rem;
    height: 5.6rem;
    text-align: left;
    padding: 0 0 0 5.6rem !important;
}

.member-auth-form form button::before {
    content: '';
    position: absolute;
    top: .6rem;
    left: .6rem;
    border: dashed .2rem var(--white);
    border-radius: 9999rem;
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
}

.member-auth-form form button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.4rem;
    transform: translateY(-50%);
    width: 2.4rem;
    aspect-ratio: 1;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url("../img/arrow-right--red.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}


.student-lead {
    text-align: center;
    margin-bottom: 8rem;
}

.student-guide .accordion-body__title::before {
    background-color: var(--blue);
}

/* electstudent-各種お申込み */
.application {
    margin-top: 16rem;
}

.application.double-bg {
    background-color: var(--blue);
}

.application.double-bg .double-bg__body {
    padding: 7.2rem 3%;
}

.application__table {
    width: 100%;
    max-width: 80rem;
    margin: auto;
}

.application__table thead {
    border-bottom: .6rem dotted var(--blue) !important;
}

.application__table.wp-block-table td,
.application__table.wp-block-table th {
    padding: 1.4rem;
}

.application__table tbody>tr {
    border-bottom: .1rem solid #D4CAB1;
}

.application__table tbody>tr:last-child {
    border-bottom: unset;
}

.application__table tbody>tr>td:last-child {
    position: relative;
    padding-left: 4rem;
}

.application__table tbody>tr>td:last-child a::before {
    content: '';
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background-color: var(--red);
    top: 50%;
    transform: translateY(-50%);
    left: 4rem;
    background-image: url("../img/open-icon.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

/* electstudent-ELECT生へのご案内 */

.student-guide-lead {
    text-align: center;
    margin-bottom: 12rem;
}

body .is-layout-flex.student-guide__list {
    justify-content: space-between;
    align-items: stretch;
        max-width: 96rem;
    margin: auto;
    row-gap: 8.8rem;
}

.student-guide__item {
    /* width: 26rem; */
        width: 30%;
    position: relative;
    background-color: var(--dark-beige);
    border-radius: 2rem;
    padding: 8rem 1.5% 4.8rem 1.5%;
}

.student-guide__item--full {
    width: 100%;
}

.student-guide__illust {
    position: absolute;
    width: 16rem;
    left: 50%;
    transform: translateX(-50%);
    top: -8rem;
}

.student-guide__title {
    font-size: 2.2rem;
    font-weight: 700;
}

.student-guide__content>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
}

.student-guide-bloglink {
        gap: 1.6rem;
        max-width: 78rem;
}

.student-guide__item--full .student-guide-bloglink .wp-block-buttons.is-content-justification-center {
    width: 22rem;
    justify-content: flex-start;
}

/*-----------------------------
　お問い合わせページ（form）
-----------------------------*/
.contact {
    margin-top: 24rem;
}

.contact-form__inner {
    position: relative;
}

.form__illust {
    position: absolute;
    z-index: -1;
    width: 22rem;
    top: -17rem;
    right: 1%;
}

.contact-form {
    background-image: url(../img/voice-bg.png);
    background-size: 100% auto;
}

form {
    margin-top: 8rem;
    background-color: var(--white);
    border-radius: 4rem;
    border: .3rem solid #D4CAB1;
    padding: 8rem 5%;
}

.contact-item__title {
    padding-bottom: .4rem;
    margin-bottom: 3.2rem;
    font-size: 2.8rem;
    font-weight: 700;
}

.smf-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2.4rem;
}

.smf-item__col--label {
    width: 22%;
}

.smf-item__col--controls {
    /* display: flex; */
    width: 78%;
}

.smf-radio-buttons-control__control {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 8%;
    row-gap: 1.6rem;
}

.smf-form .smf-textarea-control__control,
.smf-form .smf-text-control__control,
.smf-form .smf-select-control__control {
    border-radius: 1rem !important;
    padding: 1.2rem !important;
    box-sizing: border-box !important;
}

textarea::placeholder,
input::placeholder {
    color: #D4CAB1;
}

.contact__item:nth-child(2),
.contact__item:nth-child(3) {
    margin-top: 5.6rem;
}

.form-flex {
    align-items: flex-start;
    flex-wrap: wrap !important;
}

.smf-form .smf-radio-button-control__control:checked {
    background-color: var(--red) !important;
    border-color: var(--red) !important;
}

.form-add {
    font-size: 1.4rem;
}

.address .smf-item__controls {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.address__title {
    width: 8rem;
}

.smf-form .smf-select-control__control {
    width: 16.4rem !important;
}

.smf-form .smf-select-control__toggle:before {
    border-color: var(--red) !important;
}

.questionnaire {
    background-color: var(--bg);
    border-radius: 2rem;
    padding: 3.2rem 3% 4rem 3%;
}

.questionnaire__title {
    font-size: 2.2rem;
}

.questionnaire-flex {
    gap: 4rem;
    margin-top: 1.6rem;
}

.questionnaire-flex>.smf-item {
    align-items: center;
}

.questionnaire-flex>.smf-item .smf-item__col--label {
    width: auto;
    margin-right: .8rem;
}

.questionnaire-flex>.smf-item .smf-item__col--controls {
    width: 16rem;
}

.questionnaire .smf-select-control {
    width: 40% !important;
}

.questionnaire .smf-select-control__control {
    width: 100% !important;
}

.consent {
    margin-top: 5.6rem;
    flex-direction: row-reverse;
    justify-content: center;
}

.consent .smf-item__col--label,
.consent .smf-item__col--controls {
    width: auto;
}

.consent .smf-checkbox-control__label {
    display: none;
}

.consent input {
    margin-right: .8rem !important;
}

.consent .smf-item__col--controls {
    position: relative;
}

.consent .smf-item__col--controls::before {
    content: '＊';
    position: absolute;
    top: 0;
    left: -1.6rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--red);
}

.consent a {
    border-bottom: .1rem solid var(--basic);
}

.smf-action {
    margin-top: 4rem;
    text-align: center;
}

body .smf-action .smf-button-control__control {
    position: relative;
    background-color: var(--red);
    background-image: none;
    color: var(--white);
    border: unset;
    border-radius: 9999rem;
    font-size: 1.6rem;
    font-weight: 700;
    width: 23.6rem;
    height: 8.8rem;
    text-align: left;
    padding: 0 0 0 6.4rem;
}

.smf-action .smf-button-control__control::before {
    content: '';
    position: absolute;
    top: .6rem;
    left: .6rem;
    border: dashed .2rem var(--white);
    border-radius: 9999rem;
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
}

.smf-action .smf-button-control__control::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5.6rem;
    transform: translateY(-50%);
    width: 3.2rem;
    aspect-ratio: 1;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url("../img/arrow-right--red.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

body .smf-action .smf-button-control__control[data-action="back"] {
    background-color: #979797;
}

body .smf-action .smf-button-control__control[data-action="back"]::after {
    background-image: url("../img/arrow-right--gray.svg");
}

.snow-monkey-form .smf-placeholder[data-name="family-name"],
.snow-monkey-form .smf-placeholder[data-name="family-name"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="first-name"],
.snow-monkey-form .smf-placeholder[data-name="first-name"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="family-name-kana"],
.snow-monkey-form .smf-placeholder[data-name="family-name-kana"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="first-name-kana"],
.snow-monkey-form .smf-placeholder[data-name="first-name-kana"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="child-family-name"],
.snow-monkey-form .smf-placeholder[data-name="child-family-name"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="child-first-name"],
.snow-monkey-form .smf-placeholder[data-name="child-first-name"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="child-family-name-kana"],
.snow-monkey-form .smf-placeholder[data-name="child-family-name-kana"] input.smf-text-control__control,
.snow-monkey-form .smf-placeholder[data-name="child-first-name-kana"],
.snow-monkey-form .smf-placeholder[data-name="child-first-name-kana"] input.smf-text-control__control {
  width: 100% !important;
  max-width: 28rem !important;
  box-sizing: border-box;
  display: block;
}

.snow-monkey-form .smf-placeholder[data-name="zip"],
.snow-monkey-form .smf-placeholder[data-name="zip"] input.smf-text-control__control {
  width: 100% !important;
  max-width: 20rem !important;
  box-sizing: border-box;
  display: block;
}



form#snow-monkey-form-13553[data-screen="confirm"] .consent .smf-item__controls>.smf-placeholder>div {
    display: none;
}

form#snow-monkey-form-13553[data-screen="complete"] .smf-action {
    display: none;
}

.smf-complete-content {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
}

/*-----------------------------
　プライバシーポリシー（policy）
-----------------------------*/
.policy {
    margin-top: 24rem;
}

.policy h1 {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 4rem;
}


/*----------------------
　ヘッダー問合せボタンのモーダル
　※voiceページのモーダルと競合するので位置変更不可！
 ----------------------*/
.header-contact .btn,
.header-contact .open-modal {
    padding: 0;
}

.header-contact .open-modal::after {
    position: unset;
}

.custom-modal-contact .wp-block-group__inner-container {
    width: 100%;
    max-width: unset !important;
    background: unset;
    padding: 0 !important;
    border-radius: unset;
}

.custom-modal-contact .close-wrap .footer-contact {
    padding: 0 !important;
}

.custom-modal-contact .close-wrap .footer-contact>.wp-block-group__inner-container {
    padding: 5.6rem 4rem 4.8rem 4rem !important;
}

.custom-modal-contact .close-wrap>.wp-block-group__inner-container {
    width: auto;
    padding: 0;
}

.custom-modal-contact .wp-block-button__link {
    background-color: var(--green);
    width: 5.6rem !important;
    height: 5.6rem;
    padding: 0;
}

.custom-modal-contact .wp-block-buttons.close-wrap.wp-block-buttons-is-layout-flex {
    bottom: unset;
    left: unset;
    top: 2.4rem;
    right: calc(10% - 2.8rem);
}



/* ==============================

    スマホ・タブレット縦

============================== */

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

    /*ハンバーガーメニュー表示*/
    .nav-wrapper {
        display: block;
    }

    .pc,
    .page-top {
        display: none;
    }

    .sp {
        display: block;
    }

    .sp-logo {
        margin-left: 3%;
        margin-top: .4rem;
        position: fixed;
        z-index: 100;
    }

    /* キャンペーンボタン */
    .campaign__btn {
        bottom: 7.8rem;
    }

    /* メインビジュアル */
    .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 60vh;
    }

    .mainv {
        margin-top: 1.6rem;
    }

    .mv__img {
        width: 96%;
        mask-image: url(../img/sp-mv-shape.svg);
        mask-size: 100% 100%;
        -webkit-mask-image: url(../img/sp-mv-shape.svg);
        -webkit-mask-size: 100% 100%;
    }

    .maincopy__text {
        font-size: 2.8rem;
        padding: 1.2rem 1.6rem 2.4rem 1.6rem;
    }

    .subcopy__text {
        font-size: 2rem;
        padding: .8rem 2.4rem;
    }

    .subcopy::before {
        width: 2.8rem;
    }

    .subcopy::after {
        width: 1.6rem;
    }

    .section-title {
        margin-bottom: 4rem;
    }

    .section-title__heading {
        font-size: 2.8rem;
    }

    .section-title__paren {
        font-size: 3.2rem;
    }

    .section-title {
        gap: 2.4rem;
    }

    .button__inner .wp-block-button__link {
        padding: 2.2rem 7.2rem 2.2rem 4rem;
    }

    .button__inner .wp-block-button__link::after {
        right: 2.4rem;
        width: 2.8rem;
    }

    h4 {
        font-size: 1.8rem;
    }

    /* フッター */
    footer {
        padding-bottom: 8rem;
    }

    .footer-contact__list>.wp-block-group__inner-container {
        flex-direction: column;
        width: 90%;
        margin: auto;
        gap: 3.2rem;
    }

    .footer-contact__item {
        width: 100%;
        border-right: none;
        border-bottom: .1rem solid #d4d4d4;
        padding-bottom: 3.2rem;
    }

    .footer-contact__item:last-child {
        border-bottom: none;
    }

    .footer-contact__item figure {
        width: 8rem;
    }

    .footer-contact__text {
        font-size: 1.8rem;
    }

    .footer-contact__maintext {
        font-size: 2.8rem;
    }

    .footer__logo {
        width: 70%;
    }

    .schools__list>.wp-block-group__inner-container {
        flex-direction: column;
        gap: 3.2rem;
    }

    .scools__item {
        width: 100%;
        max-width: 56rem;
        margin: auto;
    }

    .footer-sns>.wp-block-group__inner-container {
        justify-content: center;
    }

    .footer__copyright {
        text-align: center;
    }

    /* TOP-ニュース */
    .news {
        margin-top: 4rem;
    }

    /* TOP-英検に強い理由 */
    .eiken {
        margin-top: 12rem;
    }

    .eiken__inner>.wp-block-group__inner-container {
        flex-direction: column;
        row-gap: 9.6rem;
    }

    .eiken__content,
    .eiken__movie-block {
        width: 90%;
        max-width: 56rem;
    }

    .eiken-button-label__bg .wp-block-group__inner-container {
        width: 20rem;
        height: 3.2rem;
    }

    .eiken-button-label {
        font-size: 2rem;
    }

    .highlight--green {
        font-size: 3.2rem;
    }

    .button__inner--big .wp-block-button__link {
        font-size: 2rem;
    }

    .button__inner--big .wp-block-button__link::after {
        width: 4rem;
    }

    /* TOP-クラス案内 */
    .course {
        padding-top: 12rem;
    }

    .course__item {
        width: 48%;
    }

    /* TOP-ELECTの強み */
    .point {
        padding-top: 12rem;
        padding-bottom: 12rem;
        background-image: url(../img/tb-book_bg.png);
        background-size: 140% 100%;
    }

    .point__item {
        width: 48%;
    }

    .point__number {
        font-size: 2.4rem;
    }

    /* TOP-バナー */
    .wp-block-cover.banner__item {
        width: 100%;
        max-width: 56rem;
    }

    /* TOP-カレンダー */
    .calender {
        margin-top: 12rem;
    }

    .calender iframe {
        width: 100% !important;
        max-width: 80rem !important;
    }

    /*------------
      下層ページ
      ------------*/
    .lowfv {
        margin-top: 6.4rem;
        margin-bottom: 4rem;
    }

    .lowpage__title {
        width: 28rem;
        padding: 1.2rem;
    }

    .lowpage__title--ja {
        font-size: 3.2rem;
    }

    .anchor-link-btn .wp-block-button__link {
        font-size: 1.6rem;
    }

    .anchor-link {
        margin-bottom: 6.4rem;
    }

    /* ELECTについて(about) */
    .about-eiken__title {
        font-size: 3.2rem;
    }

    .successful-img--lt {
        width: 22%;
        left: -7%;
    }

    .successful-img--lb {
        left: 1%;
        top: 4%;
    }

    .successful-img--rt {
        width: 27%;
        right: -4%;
    }

    .successful-img--rb {
        width: 20%;
        right: -5%;
        top: 3.5%;
    }

    .about-eiken__title {
        font-size: 3.2rem;
        margin-bottom: 5.6rem;
    }

    .eiken-reason__list {
        max-width: 56rem;
    }

    .eiken-reason__list>.wp-block-group__inner-container {
        gap: 5.6rem;
    }

    .eiken-reason__item {
        flex-direction: column !important;
    }

    .eiken-reason__title {
        font-size: 2.2rem;
        margin-bottom: 2.4rem;
    }

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

    .eiken-reason__title {
        text-align: center;
    }

    .eiken-textbook__item {
        width: 48%;
    }

    .eiken-textbook__title {
        margin-left: .8rem;
    }

    .person-card {
        padding: 3.2rem 4%;
    }

    .person-card__inner {
    width: 100%;
    height: 100%;
    }

    .person-card__inner .simplebar-content {
    padding: 0px;
    }

    .swiper-wrapper {
  touch-action: pan-x;
}

    .simplebar-scrollbar {
  opacity: 1 !important;
}

/* [data-simplebar] {
  touch-action: pan-y;
} */

.simplebar-content-wrapper {
 overflow: auto !important;
  -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

.simplebar-track.simplebar-vertical {
    background: rgba(0,0,0,0.05);
    width: .8rem !important;
    right: -1rem !important;
}

.simplebar-scrollbar::before {
  background: rgba(0,0,0,0.4);
  border-radius: 9999rem;
}


    .teacher {
        margin-top: 12rem;
    }

    .person-card h3 {
        font-size: 2.2rem;
        margin-bottom: 2.4rem;
    }

    .teaacher__content {
        flex-direction: column;
        gap: 2.4rem;
    }

    .teaacher__img {
        width: 100%;
        max-width: 24rem;
    }

    .teacher__text {
        width: 100%;
    }

    .thumbs-list--en,
    .thumbs-list--ja {
        flex-direction: column;
    }

    .thumbs-list__title {
        font-size: 1.6rem;
        writing-mode: horizontal-tb;
        padding: .4rem 2.4rem;
        width: fit-content;
    }

    .class-guide {
        margin-top: 12rem;
    }

    .class-guide-label {
        max-width: 56rem;
        margin: auto;
        margin-bottom: 1.6rem;
    }

    .class-guide-content {
        flex-direction: column;
        gap: 3.2rem;
        max-width: 56rem;
        margin: auto;
    }

    .class-guide-content__item {
        width: 100%;
        padding: 3.2rem 5%;
    }

    .class-guide__item {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0;
        line-height: 1.5;
    }

    .class-guide__item p:first-child {
        width: auto;
    }

    /* クラス案内ページ(class) */
    .low-class__item {
        flex-direction: column;
        max-width: 56rem;
        margin: auto;
        gap: 3.2rem;
    }

    .low-class__img {
        width: 80%;
    }

    .step {
        margin-top: 12rem;
    }

    .guide {
        margin-top: 8rem;
    }

    .accordion__body>.wp-block-group__inner-container {
        width: 90%;
        padding-top: 3.2rem;
    }

    /* ELECTファミリーの声ページ(voice) */
    .voicepage__title {
        width: 40rem;
    }

    .voice-lead {
        margin-bottom: 5.6rem;
    }

    .voice-graduate,
    .voice-parents {
        margin-top: 10.4rem;
    }

    .voice-custom-modal .custom-modal__inner {
        flex-direction: column;
        max-width: 56rem;
        margin: auto;
    }

    .voice-custom-modal .voice__img {
        width: 80%;
    }

    .voice-custom-modal .voice__content {
        width: 100%;
    }

    .voice-custom-modal>.wp-block-group__inner-container {
        height: auto;
        max-height: 90vh;
        overflow-y: auto;
        padding: 6rem 5% 4rem;
        position: relative;
    }

    .voice-custom-modal .custom-modal__inner {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 3rem;
        height: auto;
    }

    .voice-custom-modal .voice__img {
        width: 100%;
        max-width: 36rem;
    }

    .voice-custom-modal .voice__content {
        width: 100%;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .voice-custom-modal .close-wrap {
        position: fixed;
    }

    .voice-custom-modal>.wp-block-group__inner-container {
        padding-top: 8rem;
    }

    /* ELECT生の部屋 */
    .member-auth-form {
        margin-top: 16rem !important;
    }

    .student-lead {
        margin-top: 5.6rem;
    }

    .application {
        margin-top: 12rem;
    }

    .application.double-bg .double-bg__body {
        padding: 5.6rem 3%;
    }

    .application__table.wp-block-table td,
    .application__table.wp-block-table th {
        padding: 1.4rem .8rem;
    }

    .application__table tbody>tr>td:last-child {
        padding-left: 2.4rem;
    }

    .application__table tbody>tr>td:last-child a::before {
        left: 1.2rem;
    }

    body .is-layout-flex.student-guide__list {
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 5%;
    }

    .form__illust {
        width: 16rem;
        top: -12rem;
    }

    form {
        margin-top: 8rem;
        padding: 5.6rem 3%;
    }

    .smf-item {
        flex-direction: column;
        gap: 1.6rem;
        margin-bottom: 3.2rem;
    }

    .smf-item__col--label,
    .smf-item__col--controls {
        width: 100%;
    }

    .consent {
        flex-direction: row-reverse;
        gap: .4rem;
        margin-left: 3%;
    }

    /* プライバシーポリシー */
    .policy {
        margin-top: 20rem;
    }

    .policy h1 {
        font-size: 3.2rem;
        margin-bottom: 3.2rem;
    }

}


/* ==============================

    PC・タブレット横 

============================== */

@media only screen and (min-width:1100px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

}

/* ==============================

    タブレット縦横

============================== */

@media (max-width: 1650px) and (min-width: 710px) {

    .inner-s,
    .inner {
        width: 90%;
    }

}


/* ==============================

    タブレット縦のみ

============================== */

@media (max-width: 1100px) and (min-width: 710px) {

    /*MVの高さ適宜変更*/
    /* .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 60vh;
    }

    .tel-menu-flex {
        max-width: 374px;
    } */


}


/* ==============================

    スマホ　

============================== */

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


    /*スマホ版MVの高さ適宜変更*/


    .inner-s,
    .inner,
    .inner-l {
        width: 90%;
    }

    .mainv,
    .slider-01,
    .slider-01 .slide figure.wp-block-image.size-full,
    .slider-01 .slide figure.wp-block-image.size-full img {
        height: 76vh;
    }


    /* フッター */
    .footer__logo {
        width: 90%;
    }

    .schools__info-item {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0;
        margin-bottom: .8rem;
    }

    .schools__info-title {
        width: auto;
    }

    .footer-contact__maintext {
        font-size: 2.4rem;
    }

    .schools__button>.wp-block-group__inner-container {
        flex-direction: column;
        gap: 1.6rem;
    }


    /* 共通 */
    .sp-only {
        display: block;
    }

    .section-title__heading {
        font-size: 2.4rem;
    }

    .double-bg {
        padding: .8rem;
    }

    .double-bg .double-bg__body {
        border-radius: 1.6rem;
        padding: 3.2rem 0 6.4rem 0;
    }


    .subcopy {
        margin-bottom: .8rem;
    }

    .campaign__img {
        width: 15.2rem;
    }

    /*---------------
     トップページ
     ---------------*/
    .subcopy__text {
        font-size: 1.8rem;
        padding: .6rem 1.6rem;
        letter-spacing: 0.08em;
    }

    .maincopy__text {
        margin-bottom: .4rem;
        padding: .8rem 1.2rem 2rem 1.2rem;
    }

    .subcopy__text--botttom {
        margin-left: 12rem;
    }

    .mv-decor--lb {
        bottom: -3%;
        left: 20%;
    }

    .mv-decor--rt {
        right: -8%;
        top: 10%;
    }

    .latest-posts {
        flex-wrap: wrap;
        row-gap: 1.6rem;
    }

    .latest-post {
        width: 48%;
    }

    .section-title__paren {
        font-size: 2.8rem;
    }

    .successful-img--lt {
    min-width: 12rem;
    left: -10%;
    }

    .successful-img--lb {
    min-width: 9rem;
    top: 3.8%;
    left: -8%;
    }

    .successful-img--rt {
    min-width: 16rem;
    right: -10%;
    top: -2.2%;
    }

    .successful-img--rb {
        min-width: 9rem;
        right: -7%;
    }

    .trial-lesson {
        padding-top: 8rem;
    }

    .trial-lesson>.wp-block-group__inner-container {
            padding: 4rem 0 1.6rem 0;
    }

    .trial-lesson__inner .sp-only {
            justify-content: space-between;
    }

    .trial-lesson__content {
            position: relative;
    }

    .trial-img-pc {
        display: none;
    }

    .trial-lesson__info {
            width: 90%;
    }

    .trial-lesson__info .wp-block-buttons {
            margin-top: 2.4rem;
    }

    .trial-img--left {
            width: 40%;
    transform: translateY(0) rotate(-5deg);
    }

    .trial-img--right {
            width: 40%;
    transform: translateY(0) rotate(5deg);
    }

    .eiken__title {
        margin-bottom: 2.4rem;
    }

    .eiken__movie-label {
        line-height: 1.25;
        text-align: left;
    }

    .eiken-button-label__bg {
        left: 0;
        top: -5.6rem;
    }

    .button__inner--big .wp-block-button__link {
        font-size: 1.8rem;
    }

    .eiken-decor1 {
        min-width: 8rem;
        bottom: -2%;
        left: -2%;
    }

    .eiken-decor2 {
        display: none;
    }

    .eiken-decor3 {
        min-width: 7rem;
        left: 4%;
        bottom: 19%;
    }

    .eiken-decor4 {
        min-width: 11rem;
        right: -3%;
        bottom: 1%;
    }

    .eiken-decor5 {
        min-width: 8rem;
        right: 0;
        top: unset;
        bottom: 42%;
    }

    .eiken-decor6 {
        display: none;
    }

    .eiken-decor--left {
        min-width: 20rem;
    }

    .eiken-decor--bottom {
        min-width: 24rem;
        bottom: -9%;
    }

    .eiken-decor--right {
        min-width: 24rem;
        bottom: 12%;
    }

    p.course__lead {
        margin-bottom: 4rem;
    }

    .course__list {
        width: 100%;
        max-width: 56rem;
    }

    .course__list>.wp-block-group__inner-container {
        flex-direction: column;
    }

    .course__item {
        width: 100%;
    }

    .class__content {
        position: unset;
        width: 86%;
        margin: auto;
        transform: unset;
        margin-bottom: 4rem;
    }

    .course-bubble__bg {
        z-index: -1;
        width: 100%;
        transform: rotate(180deg);
    }

    .gallery-decor1 {
        min-width: 10rem;
        left: 2%;
    }

    .gallery-decor2 {
        min-width: 10rem;
        right: 8%;
        top: -20%;
    }

    .gallery-decor3 {
        min-width: 12rem;
        right: -2%;
    }

    .point {
        background-image: url(../img/sp-book_bg.png);
        background-size: 200% 100%;
    }


    body .is-layout-flex.point__list {
        flex-direction: column;
        max-width: 46rem;
        margin: auto;
    }

    .point__item {
        width: 100%;
    }

    .wp-block-cover.banner__item {
        min-height: 24rem;
        padding: 2rem 4%;
    }

    .arrow--right-circle--big {
        width: 4rem;
        height: 4rem;
    }

    .arrow--right-circle--big::after {
        width: 2rem;
        height: 1.8rem;
    }

    /*---------------
     下層ページ
     ---------------*/
    /* 下層共通 */
    .lowfv--img {
        aspect-ratio: 1;
    }

    .lowfv--img img {
        height: 100% !important;
        object-fit: cover;
    }

    .lowpage__title {
        width: 24rem;
        padding: .8rem;
    }

    .lowpage__title--en {
        font-size: 1.4rem;
    }

    .lowpage__title--ja {
        font-size: 2.8rem;
    }

    .anchor-link {
        margin-bottom: 4rem;
    }

    .anchor-link-btn .wp-block-button__link {
        font-size: 1.4rem;
        padding: 0 2.4rem 0 0;
    }

    .anchor-link-btn .wp-block-button__link::before {
        width: 2.2rem;
        height: 2.2rem;
    }

    .anchor-link__inner {
        row-gap: 1.2rem;
    }

    /* ELECTとはページ(about) */
    .about-gallery-label>.wp-block-group__inner-container {
        font-size: 1.4rem;
    }

    .about-gallery-label .wp-block-group__inner-container::before {
        left: 2.4rem;
        top: unset;
        bottom: -1.6rem;
    }

    .about-gallery-label p:last-child {
        margin-left: 1rem;
    }

    .about-gallery-label .wp-block-group__inner-container::after {
        left: 4.4rem;
        bottom: -2.8rem;
    }

    .about-eiken__title {
        font-size: 2.8rem;
        letter-spacing: 0;
        margin-bottom: 4rem;
    }

    .rate-table>.wp-block-group__inner-container {
        row-gap: 3.2rem;
    }

    .pc-rate-table {
        display: none;
    }

    .sp-rate-table {
        display: block;
        max-width: 40rem;
    }

    .sp-rate-table tr {
        border-bottom: .4rem dotted var(--dark-beige);
    }

    .eiken-textbook__lead {
        text-align: left;
    }

    body .is-layout-flex.eiken-textbook__list {
        flex-direction: column;
    }

    .eiken-textbook__item {
        width: 100%;
    }

    .eiken-textbook__title {
        font-size: 1.4rem;
    }

    .eiken-textbook__title::before {
        top: 2.2rem;
    }

    .eiken-textbook__title::after {
        top: 4.4rem;
    }

    .eiken-entry-banner {
        width: 96%;
        border-width: .3rem;
        padding: 0;
        overflow-x: hidden;
    }

    .eiken-entry-banner>.wp-block-group__inner-container {
        flex-direction: column;
    }

    .eiken-entry-banner__item:first-child,
    .eiken-entry-banner__item:last-child {
        width: 100%;
    }

    figure.wp-block-image.size-full.eiken-entry-img-lt {
        width: 48%;
        margin-bottom: 0;
        margin-top: 1.6rem;
        margin-left: -1.2rem;
    }

    figure.wp-block-image.size-full.eiken-entry-img-lb {
        width: 30%;
        margin-left: auto;
        margin-top: -7.2rem;
    }

    .eiken-entry-banner__item:nth-child(2) {
        width: 90%;
    }

    figure.wp-block-image.size-full.eiken-entry-img-rt {
        width: 40%;
        margin-top: 1.6rem;
        margin-bottom: 0;
    }

    figure.wp-block-image.size-full.eiken-entry-img-rb {
        width: 50%;
        margin-left: auto;
        margin-right: -1.6rem;
        margin-top: -4rem;
        margin-bottom: 1.2rem;
    }

    .main-slider .swiper-slide {
        width: 88%;
        height: 56rem;
        padding-right: 0;
        padding-left: 0;
    }


    .swiper.main-slider {
        height: 56rem;
        padding-bottom: 4rem;
    }

    .swiper-button {
        width: 100%;
        height: 3.2rem;
    }

    body .swiper-button-prev,
    body .swiper-button-next {
        width: 3.2rem;
        height: 3.2rem;
    }

    .main-slider .swiper-button-prev {
        left: 1.6rem;
    }

    .main-slider .swiper-button-next {
        right: 1.6rem;
    }

    .class-guide-label {
        max-width: 34rem;
    }

    .class-guide-label>.wp-block-group__inner-container {
        font-size: 1.4rem;
        letter-spacing: 0;
        align-content: flex-end;
        align-items: flex-end;
    }

    .class-guide-label p {
        padding: .8rem 1.6rem;
        margin-left: -5%;
    }

    .class-guide-label p:last-child {
        margin-left: unset;
        margin-right: -3%;
    }

    .class-guide-label::before {
        left: 0;
    }

    .class-guide__list>.wp-block-group__inner-container {
        gap: .8rem;
    }

    /* クラス案内ページ(class) */
    .class-lowfv--img img {
        object-position: left 35% top 0;
    }

    .class-lead {
        margin-bottom: 5.6rem;
    }

    body .class-link__inner {
        justify-content: space-between;
        row-gap: 1.2rem;
    }

    .class-link-btn {
        display: block;
        width: 48%;
    }

    .class-link-btn>.wp-block-button {
        width: 100%;
    }

    .wp-block-buttons.class-link-btn .wp-block-button__link {
        font-size: 1.4rem;
        width: 100%;
        border-width: .2rem !important;
        padding: 1.2rem 0 1.2rem 1.4rem;
    }

    .wp-block-buttons.class-link-btn .wp-block-button__link::after {
        width: 2.2rem;
        height: 2.2rem;
        right: .4rem;
    }

    .class-name {
        font-size: 2.2rem;
        margin-bottom: 1.6rem;
    }

    .class-info__list>.wp-block-group__inner-container {
        flex-direction: column;
    }

    .class-info__item {
        width: 100%;
    }

    .fee-guide__title {
        font-size: 2.2rem;
    }

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

    .fee__item p {
        width: 100%;
        text-align: center;
    }

    .step {
        margin-top: 9.6rem;
    }

    .step__item {
        flex-direction: column;
        padding: 4rem 1.6rem;
    }

    .step__content {
        width: 100%;
    }

    .step-header {
        gap: 1.6rem;
        margin-bottom: 2.4rem;
    }

    .step-header figure {
        width: 6.4rem;
    }

    .step__title {
        font-size: 2.2rem;
    }

    .step__illust {
        width: 70%
    }

    .guide__inner p.accordion__button {
        font-size: 1.8rem;
        letter-spacing: 0.02em;
        text-align: left;
        padding-left: 1.2rem;
    }

    .faq {
        margin-top: 12rem;
    }

    .faq-accordions .wp-block-group.accordion:before {
        font-size: 2rem;
        top: .4rem;
    }

    .faq-accordions .accordion__button {
        padding-left: 2.4rem;
        padding-right: 2.4rem;
        line-height: 1.5;
    }

    .faq-accordions .accordion__button::after {
        right: -.4rem;
    }

    /* ELECTファミリーの声ページ(voice) */
    .voice-lowfv--img img {
        object-position: left 30% top 0;
    }

    .voicepage__title {
        width: 32rem;
    }

    .voice__list>.wp-block-group__inner-container {
        flex-direction: column;
    }

    .voice__item {
        width: 100%;
    }

    .open-modal {
        flex-direction: column;
        padding: 1.6rem 1.6rem 2.8rem 1.6rem;
    }

    .open-modal figure,
    .open-modal .voice__content {
        width: 100%;
    }

    .voice-graduate,
    .voice-parents {
        margin-top: 8rem;
    }

    /* ELECT生の部屋ページ(electstudent) */
    .student-lead {
        margin-top: 4rem;
        margin-bottom: 0;
    }

    .student-guide {
        margin-top: 5rem;
    }

    .application {
        margin-top: 9.6rem;
    }

    .application.double-bg .double-bg__body {
        padding: 4rem 3%;
    }

    thead {
        display: none;
    }

    .application__table tbody>tr>td:first-child {
        font-size: 1.8rem;
        font-weight: 700;
        padding-bottom: 0;
    }

    .application__table tbody>tr>td:last-child {
        width: 24rem !important;
        margin: auto;
        padding-right: 0;
    }

    .student-guide__item {
        width: 100%;
    }

    /* お問い合わせフォーム */
    .contact {
        margin-top: 16rem;
    }

    .contact>.wp-block-group__inner-container>p {
        text-align: justify;
    }

    .form__illust {
        width: 12rem;
        top: -9.4rem;
        right: 1.6rem;
    }

    form {
        margin-top: 8rem;
        padding: 4rem 4%;
    }

    .contact-item__title {
        font-size: 2.2rem;
    }

    .form-flex {
        flex-direction: column;
    }

    .email input {
        width: 100%;
    }

    .address>.smf-item__col--controls>.smf-item__controls>.wp-block-group-is-layout-flex {
        flex-direction: column;
        align-items: flex-start;
    }

    .address>.smf-item__col--controls>.smf-item__controls>.wp-block-group-is-layout-flex .smf-placeholder,
    .address>.smf-item__col--controls>.smf-item__controls>.wp-block-group-is-layout-flex .smf-text-control input {
        width: 100%;
    }

    .birth>.smf-item__col--controls>.smf-item__controls>.wp-block-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .school-name input {
        width: 100%;
    }

    .questionnaire .form-flex {
        align-items: flex-start;
        gap: .8rem;
    }

    .questionnaire-flex>.wp-block-snow-monkey-forms-item {
        align-items: flex-start;
        width: 100%;
    }

    .questionnaire-flex>.wp-block-snow-monkey-forms-item>.smf-item__col--controls,
    .questionnaire-flex>.wp-block-snow-monkey-forms-item>.smf-item__col--controls input,
    .questionnaire-select .smf-select-control,
    .questionnaire-select .smf-select-control input {
        width: 100% !important;
    }

    .smf-action {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.6rem;
    }

    .smf-action .smf-button-control+.smf-button-control {
        margin-left: 0 !important;
    }
}


/* ==============================

  その他適宜追加する場合は下記に記述

============================== */