@charset "utf-8";

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

    サイト設定　適宜変更箇所

============================== */
body,
html {
    font-size: 62.5%;
}

:root {
    /* ベースカラー設定 */
    --main-color: #2D3235;
    --border-color: #ccc;
    --accent-color: #0068B7;
    --base-color: #F1F6FF;
    --white: #fff;
    --dark-blue: #102C6B;
    --line-green: #4CC764;

    /* フォント・サイズ */
    --base-font-size: 1.8rem;
    --heading-size-l: 2.8rem;
    --heading-size-m: 3.2rem;

    --base-line-height: 1.75;
    --heading-line-height: 1.5;

    /* インナー幅 */
    --section-inner: 128rem;

    --vk-color-bg-inactive: unset !important;
}


body {
    font-size: var(--base-font-size);
    color: var(--main-color);
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.04em;
    background-color: var(--base-color);
}


html {
    scroll-behavior: smooth;
}

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

.highlight {
    color: var(--accent-color);
    font-weight: 700 !important;
}

.font-en {
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

h2 {
    font-size: var(--heading-size-l);
}

h2::before {
    font-size: var(--base-font-size);
}

h2[data-name]::before {
    line-height: 0.6;
    font-size: 14px;
    font-weight: bold;
}

h3 {
    font-size: var(--heading-size-m)
}

h4 {
    font-size: 2.4rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: var(--heading-line-height);
    font-weight: 700;
}

p {
    line-height: var(--base-line-height);
}

.wp-block-button[data-name]::before {
    font-size: 14px;
    font-weight: bold;
}

.nav-wrapper {
    display: none;
}

section {
    position: relative;
    margin-bottom: 20rem !important;
    scroll-margin-top: 12rem;
}

#school-policy {
    scroll-margin-top: 12rem;
}

figure.wp-block-image.size-full {
    overflow: hidden;
}

figure.wp-block-image img {
    height: 100%;
    object-fit: cover;
}

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

    サイト設定

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

.inner {
    max-width: var(--section-inner);
    margin: 0 auto;
}

/*画像ホバー時*/
.img-hover {
    transition: .6s;
}

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

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

.pc,
.pc-tab {
    display: block;
}

.sp,
.mobile {
    display: none;
}

/* 改行 */
.br-tab,
.br-sp {
    display: none;
}

.br-pc {
    display: block;
}

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

　　固定メニュー

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

.fix_nav.sp_disp.sp {
    position: fixed;
    z-index: 300;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: var(--dark-blue);
    height: 6.8rem;
}

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

.kotei-menu {
    color: #fff;
    text-align: center;
    border-right: 0.5px solid var(--border-color);
    font-size: 1.4rem;
}

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

.kotei-menu-icon {
    height: 2.4rem;
    margin-bottom: .4rem;
}

/*メニュー数*/

.sp_disp-4 .kotei-menu {
    width: 25%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.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: 1.6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 98%;
    max-width: 180rem;
    padding: 1rem 1.2rem 1rem 4rem;
    background-color: var(--white);
    border-radius: .8rem;
    z-index: 500;
    box-shadow: 0 0 1.2rem rgba(16, 44, 107, .06);
}

.fix_nav.sp_disp.sp {
    display: none;
}

header .logo {
    color: var(--dark-blue);
    font-size: 1.4rem;
    font-weight: 700;
    width: 12rem;
}

header .logo p {
    margin-bottom: .4rem;
}

ul.header-inner-menu {
    flex-wrap: wrap;
    font-size: 1.6rem;
    font-weight: 700;
    margin-right: 3.2rem;
    gap: 2.4rem;
    row-gap: 1.2rem;
}

ul.header-inner-menu li a {
    transition: color .3s ease;
}

ul.header-inner-menu li:hover a {
    color: var(--accent-color) !important;
}

.nav-contact {
    position: relative;
}

.nav-contact-baloon {
    position: absolute;
    background-color: var(--white);
    color: var(--line-green);
    font-weight: 700;
    font-size: 1.6rem;
    padding: 0 1.2rem;
    border-radius: 9999rem;
    border: .1rem solid var(--line-green);
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.nav-contact .is-layout-flex {
    background-color: var(--line-green);
    color: var(--white);
    font-size: 2rem;
    font-weight: 700;
    border-radius: .4rem;
    padding: 1.2rem 2rem .8rem 1.2rem;
    transition: background-color .3s ease;
}

.nav-contact:hover .is-layout-flex {
    background-color: rgba(76, 199, 100, .8);
}

.nav-contact .is-layout-flex figure {
    width: 3.2rem;
}


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

フッター

　============================== */
.contact {
    margin-bottom: 8rem;
}

.contact::before {
    content: '';
    width: 95%;
    height: calc(100% - 2.4rem);
    background-color: var(--accent-color);
    position: absolute;
    top: 2.4rem;
    right: 0;
    border-radius: 4rem 0 0 4rem;
}

.contact__inner {
    max-width: 168rem;
    padding: 0 2.5% 10.4rem 10%;
    color: var(--white);
}

.contact__inner .section__ttl--left {
    margin-bottom: 1.6rem;
}

.contact__container.wp-block-group.is-layout-flex {
    justify-content: space-between;
    margin: 0 5% 0 0 !important;
    max-width: 128rem;
}

.contact__container {
    font-weight: 700;
}

.contact__container .gap-24 {
    width: calc(100% - 47rem - 3.2rem);
    font-size: 2.4rem;
}

.contact__container .gap-24 p {
    margin: 0 !important;
}

.contact__content {
    width: 47rem;
    max-width: 100%;
}

.cta-baloon {
    position: relative;
    width: fit-content;
    background-color: var(--line-green);
    padding: .2rem 3.2rem;
    border-radius: 9999rem;
    margin: 0 auto 1.6rem .8rem !important;
    z-index: 2;
}

.cta-baloon::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 20px solid #4cc764;
    border-top: 0;
    transform: rotate(140deg) translateY(-75%);
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 2.4rem;
}

.cta-btn {
    width: 100%;
    background-color: var(--white);
    color: var(--line-green);
    border-radius: 1.6rem;
    padding: 2rem 3.2rem 2rem 1.6rem;
    font-size: 3.2rem;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.cta-btn>.wp-block-group.is-layout-flex {
    gap: 2.4rem !important;
}

.cta-btn>.wp-block-group.is-layout-flex figure {
    width: 6.4rem;
}

.cta-btn .vk_icon {
    transition: transform .3s ease;
}

.cta-btn:hover .vk_icon {
    transform: scale(1.15);
}

.contact__content ul {
    font-size: 1.4rem;
}

.contact__content ul li {
    position: relative;
    padding-left: 2rem;
}

.contact__content ul li::before {
    content: '※';
    position: absolute;
    top: 0;
    left: 0;
}

.footer__inner {
    padding: 0 5% 1.6rem 5%;
    max-width: 168rem;
    margin: auto;
}

.footer__inner>.wp-block-group.is-layout-flex {
    gap: 5% !important;
    margin-bottom: 3.2rem;
}

.footer-intro .logo figure {
    width: 16rem;
    margin: 0 0 .8rem 0 !important;
}

.footer-intro .logo p {
    font-size: 2.4rem;
    font-weight: 700;
}

.footer-address.wp-block-group.is-layout-flex {
    margin: 4rem 0 1.2rem 0;
    gap: 1.2rem !important;
}

.footer-sns {
    position: relative;
    margin-top: 2.4rem;
}

.footer-sns .highlight {
    font-size: 1.4rem;
    position: absolute;
    top: 0;
    left: 1.6rem;
}

.sns-icons.wp-block-group.is-layout-flex {
    display: inline-flex;
    background-color: var(--white);
    padding: 1.2rem 1.6rem .4rem 1.6rem;
    border-radius: .8rem;
    margin-top: 1.2rem;
    gap: 1.2rem !important;
}

.sns-icons figure {
    width: 4rem;
    transition: transform .3s ease;
}

.sns-icons figure a {
    height: 100%;
}

.sns-icons figure img {
    height: 100%;
    object-fit: contain;
}

.sns-icons figure:hover {
    transform: scale(1.1);
}

.nav__list.wp-block-group.is-layout-flex {
    font-size: 1.6rem;
    gap: 8rem !important;
}

.nav__list h4 {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
}

.nav__subitem p {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: .6rem;
}

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

.nav__subitem p::before {
    content: '';
    width: 1.2rem;
    height: .1rem;
    background-color: var(--accent-color);
    position: absolute;
    top: 1.4rem;
    left: 0;
}

.nav__item {
    margin-bottom: 4rem;
}

.nav__item:last-child {
    margin-bottom: 0;
}

.nav__item a {
    transition: color .3s ease;
}

.nav__item a:hover {
    color: var(--accent-color);
}

.nav-banner {
    position: relative;
    background-color: var(--accent-color);
    color: var(--white);
    border-radius: .8rem;
    padding: 1.2rem 1.2rem 1.6rem;
    font-weight: 700;
}

.nav-banner::before {
    content: 'arrow_right_alt';
    font-family: 'Material Symbols Outlined';
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1;
    font-style: normal;
    color: var(--accent-color);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    bottom: -.8rem;
    right: -.8rem;
    box-shadow: 0 0 1.2rem rgba(16, 44, 107, .06);
    transition: transform .3s ease;
}

.nav-banner:hover::before {
    transform: scale(1.15);
}



.nav-banner p {
    font-size: 1.3rem;
    line-height: 1.25;
    margin-bottom: .4rem;
}

.nav__list .nav-banner h4 {
    font-size: 2.4rem;
    margin-bottom: 0;
    letter-spacing: 0.08em;
}

.copyright {
    font-size: 1.2rem;
    font-weight: 700;
}

/* ==============================
    
    お知らせ共通CSS
    
　============================== */

.wrap.news-wrap {
    padding-bottom: 1px;
}

.news-main-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: start;
}

/* パターンA：サイドバー【あり】のとき */
.-has-sidebar .news-main-layout {
    grid-template-columns: minmax(0, 76%) minmax(0, 20%);
    column-gap: 4%;
}

.-has-sidebar .sidebar {
    display: block;
}

.sidebar h3 {
    font-size: 2.4rem;
    color: var(--accent-color);
    margin-bottom: 1.2rem;
}

.sidebar .widget ul li {
    margin-bottom: 1.2rem;
}

/* パターンB：サイドバー【なし】のとき */
.-full-width .news-main-layout {
    grid-template-columns: 1fr;
}

.-full-width .news-page-body {
    width: 100%;
}

.-full-width .sidebar {
    display: none;
}

.news-main-layout {
    padding-top: 14.4rem;
    margin-bottom: 16rem;
}

/* .nav_select {
    display: inline-flex;
    background-color: var(--accent-color);
    align-items: center;
    padding: .4rem 1.6rem;
    border-radius: .8rem;
    gap: 1.2rem;
    margin-bottom: 3.2rem;
}

.nav-select__ttl {
    font-weight: 700;
    color: var(--white);
} */

.widget.widget_categories {
    margin-bottom: 4rem;
}

.entry-body p {
    margin-bottom: 1rem;
}

.entry-body p a {
    border-bottom: .1rem solid;
}

.entry-body h1,
.entry-body h2,
.entry-body h3,
.entry-body h4,
.entry-body h5 {
    margin-bottom: 2rem;
    margin-top: 4rem;
}

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

 共通パーツ

　============================== */
/* 共通 - 青と白の背景 */
.bg-blue {
    margin-bottom: 28rem !important;
}

.bg-blue .w-column-flex {
    padding-bottom: 8rem;
}

.bg-blue__inner {
    position: relative;
}

.bg-blue::before,
.bg-blue__inner::before {
    content: '';
    width: 95%;
    position: absolute;
}

.bg-blue::before {
    height: calc(100% - 2.4rem);
    background-color: var(--white);
    top: 2.4rem;
    right: 0;
    border-radius: 4rem 0 0 4rem;
    z-index: 1;
}

.bg-blue__inner::before {
    background-color: var(--accent-color);
    height: 90%;
    bottom: -8rem;
    border-radius: 0 4rem 4rem 0;
    z-index: 0;
}

.bg-blue .inner {
    position: relative;
    z-index: 2;
}

.bg-blue.bg-blue--right::before {
    left: 0;
    right: unset;
    border-radius: 0 4rem 4rem 0;
}

.bg-blue--right .bg-blue__inner::before {
    right: 0;
    border-radius: 4rem 0 0 4rem;
}

/* 共通 - セクションタイトル */
.section__ttl--left,
.section__ttl--right {
    margin-bottom: 4.8rem;
}

.section__ttl figure {
    margin: 0 0 1.6rem 0 !important;
    width: fit-content;
    height: 11.5rem;
}

.section__ttl.section__ttl--right figure {
    margin: 0 0 1.6rem auto !important;
}

.section__ttl figure.wp-block-image img {
    height: 100%;
    width: auto;
    object-fit: fill;
}

.section__ttl--center {
    margin-bottom: 9.6rem;
}

.section__ttl--wline figure {
    height: 20rem;
}

.section__ttl.section__ttl--center figure {
    margin: 0 auto 1.6rem auto !important;
}

.section__ttl--rl {
    width: 35.2rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 2.4rem;
}

.section__ttl--rl figure {
    height: auto;
    width: 11.5rem;
}

.section__ttl--rl.section__ttl--wline figure {
    width: 24rem;
}

.section__ttl--rl figure.wp-block-image img {
    height: auto;
    width: 100%;
}

.section__ttl--rl h2 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: 8rem 0 0 !important;
}


/* 共通 - 2カラム */
.w-column-flex__content {
    width: 42%;
}

.w-column-flex__content h3 {
    margin-bottom: 4rem;
}

.w-column-flex__img {
    width: 50%;
}

.w-column-flex__img figure {
    border-radius: 1.6rem;
}

/* 共通 - タイトル縦書きセクション */
.rl-column {
    padding: 0 5% 14.4rem 2.4rem;
}

.rl-column::before {
    content: '';
    width: 100%;
    height: calc(100% - 2.4rem);
    background-color: var(--white);
    border-radius: 4rem;
    position: absolute;
    top: 2.4rem;
    left: 0;
}

.is-layout-flex>.rl-column__content {
    width: calc(100% - 35.2rem - 8%);
    margin-top: 12rem;
}

.rl-column__content .lead__txt {
    margin-bottom: 8rem;
}


/* 共通 - 段落間 */
.gap-24,
.gap-16,
.gap-12 {
    display: flex;
    flex-direction: column;
}

.gap-24 p,
.gap-16 p,
.gap-12 p {
    margin: 0 !important;
}

.gap-24 {
    gap: 2.4rem;
}

.gap-16 {
    gap: 1.6rem;
}

.gap-12 {
    gap: 1.2rem;
}

/* 共通 - 点線ボックス */
.dash-box {
    padding: 1.6rem 1.2rem 2.4rem 1.2rem;
    border-radius: .8rem;
    border: .2rem dashed var(--accent-color);
    background-color: rgba(255, 255, 255, .6);
}

/* 共通 - ボタン */
.btn-basic>.wp-block-button__link {
    position: relative;
    width: 30rem !important;
    height: 6.4rem !important;
    background-color: rgba(255, 255, 255, .6);
    color: var(--main-color) !important;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.25;
    border: .1rem solid rgba(52, 96, 149, .3) !important;
    padding: 0 1.2rem 0 2.8rem;
    margin-top: 4rem;
    overflow: hidden;
}

.btn-basic>.wp-block-button__link::before {
    content: 'arrow_right_alt';
    font-family: 'Material Symbols Outlined';
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1;
    font-style: normal;
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--accent-color);
    position: absolute;
    top: 50%;
    right: 1.2rem;
    transform: translateY(-50%);
}

.btn-basic>.wp-block-button__link::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid var(--accent-color);
    border-radius: 9999rem;
    /* 最初は線を隠す */
    clip-path: inset(0 100% 100% 0);
    pointer-events: none;
}

.btn-basic>.wp-block-button__link:hover::after {
    animation: border-run .4s linear forwards;
}

@keyframes border-run {
    0% {
        clip-path: inset(0 100% 100% 0);
    }

    25% {
        clip-path: inset(0 0 100% 0);
    }

    50% {
        clip-path: inset(0 0 0 0);
    }

    100% {
        clip-path: inset(0 0 0 0);
    }
}

.btn-flex.wp-block-group.is-layout-flex {
    gap: 4rem !important;
    margin-top: 8rem;
}

.btn-flex.wp-block-group.is-layout-flex .btn-basic>.wp-block-button__link {
    margin-top: 0;
}

.btn-secondary {
    background-color: unset;
}

.btn-secondary>.wp-block-button__link {
    font-weight: 700;
    position: relative;
    background-color: unset;
    padding: 0 2.8rem 0 0;
}

.btn-secondary>.wp-block-button__link::before {
    content: 'arrow_right_alt';
    font-family: 'Material Symbols Outlined';
    font-weight: 300;
    line-height: 1;
    color: var(--accent-color);
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 共通 - 斜めの装飾 */
.decor-slash {
    width: clamp(306px, calc(13.869vw + 249.15px), 496px);
    position: absolute;
    z-index: 0;
    opacity: 0;
    transform: translate(-120px, 120px) scale(1.08);
    transition:
        opacity 0.6s ease-out,
        transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.decor-slash.is-active {
    opacity: .5;
    transform: translate(0, 0) scale(1);
}

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

 トップページ

　============================== */
/* トップ - MV */
.mv {
    min-height: 115svh;
    margin-bottom: 0 !important;
    overflow: hidden;
}

.mv-img--big {
    position: relative;
    padding-top: 7.2rem;
    width: 85%;
    min-height: 80rem;
    aspect-ratio: 1.414 / 1;
    padding-top: 7.2rem;
    margin: 0 0 0 auto !important;
    border-radius: 4rem 0 0 4rem;
}

.mv-img--big img {
    height: 100%;
    object-fit: cover;

}

.mv-img--big::before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, #ffffff66, #ffffff33 15%, transparent);
    position: absolute;
    top: 0;
    left: 0;
}

.mv-img--small {
    position: absolute;
    bottom: 8%;
    left: 2.4rem;
    width: 30%;
    aspect-ratio: 1.414 / 1;
    border-radius: 4rem;
    z-index: 1;
}

.mv-cacth {
    position: absolute;
    top: 24%;
    left: 5%;
    z-index: 2;
}

.mv-cacth h1 {
    position: relative;
    font-size: clamp(30px, calc(2vw + 22.42px), 64px);
    line-height: 1.25;
    z-index: 2;
}

.mv-counter__block {
    position: absolute;
    width: 100%;
    height: 100svh;
    top: 0;
    left: 0;
    z-index: 2;
}

.mv-counter {
    position: absolute;
    bottom: 2.4rem;
    right: 1.2rem;
    width: 32.4rem;
    background-color: var(--accent-color);
    border-radius: 1.6rem;
    font-weight: 700;
    padding: .8rem;
}

.mv-counter__ttl {
    color: var(--white);
    margin-bottom: .8rem;
}

.mv-counter__content {
    background-color: var(--white);
    border-radius: 1.2rem;
    padding: .8rem 1.2rem;
}

.mv-counter-flex.wp-block-group.is-layout-flex {
    align-items: baseline;
    gap: .8rem !important;
    margin-bottom: .4rem;
}

.mv-counter-date {
    font-size: 1.4rem;
    font-weight: 400;
}

.mv .decor-slash {
    width: clamp(280px, calc(8.759vw + 244.12px), 400px);
    top: 43%;
    z-index: 1;
}


/* トップ - テキストスライダー */
.top-txt-slider {
    margin-bottom: 8rem !important;
}

/* トップ - 代表 */
.principa-img--big {
    width: 80%;
    aspect-ratio: 3 / 4;
    margin-left: 0 !important;
}

.principa-img--small {
    position: relative;
    width: 42%;
    aspect-ratio: 3 / 4;
    margin: -50% 0 0 auto !important;
    z-index: 2;
}

.title-bar--left {
    position: relative;
    padding-left: 2rem;
    align-items: baseline;
    gap: 1.6rem !important;
    margin-bottom: 4rem;
}

.title-bar--left::before {
    content: '';
    width: .8rem;
    height: 100%;
    background-color: var(--accent-color);
    position: absolute;
    top: 0;
    left: 0;
}

.title-bar--left h3 {
    margin-bottom: 0 !important;
}

.top-principa h4 {
    margin-bottom: 3.2rem;
}

.top-principa .dash-box {
    margin-top: 4rem;
}

.top-principa .decor-slash {
    bottom: -25rem;
    right: 0;
}

/* トップ - 合格実績 */
.graph__item {
    width: 31%;
    max-width: 36rem;
}

.graph__item h3 {
    font-size: 2rem;
    margin-bottom: 3.2rem;
}

.graph__content {
    position: relative;
}

.graph__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 700;
}

.graph-number {
    font-size: 4rem;
    line-height: 1.25;
}

.graph-number--big {
    font-weight: bold;
    font-size: 6.4rem;
}

.graph-number-add {
    font-size: 1.6rem;
}

svg.circle-graph {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    transform: rotate(-90deg);
}

svg.circle-graph circle {
    position: relative;
    fill: none;
    stroke-width: 10;
    stroke: #E3E9EE;
    stroke-dasharray: 440;
    stroke-dashoffset: 0;
    stroke-linecap: round;
}

svg.circle-graph circle.line {
    stroke: #0068B7;
}

svg.circle-graph1 circle.line {
    stroke-dashoffset: calc(440 - (440 * 88) / 100);
}

svg.circle-graph2 circle.line {
    stroke-dashoffset: calc(440 - (440 * 95) / 100);
}

svg.circle-graph3 circle.line {
    stroke-dashoffset: calc(440 - (440 * 100) / 100);
}

svg.circle-graph .line {
    /* 初期状態ではアニメーションさせない */
    stroke-dasharray: 0 440;
}

.graph__item.is-visible svg.circle-graph .line {
    animation: circleAnim 1s forwards;
}

@keyframes circleAnim {
    0% {
        stroke-dasharray: 0 440;
    }

    99.9%,
    to {
        stroke-dasharray: 440 440;
    }
}




/* トップ - 特長 */
.top-features .section__ttl--left {
    margin-bottom: 14.8rem;
}

.top-features__list.wp-block-group.is-layout-flex {
    flex-wrap: wrap;
    column-gap: 8% !important;
    row-gap: 9.6rem !important;
}

.top-features__item {
    position: relative;
    width: 28%;
    max-width: 32rem;
}

.circle-num {
    position: absolute;
    font-size: 3.2rem;
    letter-spacing: 0;
    font-weight: 900;
    color: var(--accent-color);
    width: fit-content;
    margin: 0 !important;
    top: 0;
    left: 0;
    transform: translate(-60%, -90%);
}

.circle-num::before {
    content: '';
    width: 8rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: .1rem solid var(--accent-color);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top-features__item>.wp-block-group {
    height: 100%;
    background-color: var(--white);
    border-radius: 1.6rem;
    padding: 3.2rem 1.2rem 4rem 1.2rem;
    font-weight: 700;
}

.top-features__item>.wp-block-group figure {
    width: 10rem;
    margin-bottom: .8rem;
}

.top-features__item>.wp-block-group span.highlight {
    font-size: 2.4rem;
}

.top-features .btn-basic>.wp-block-button__link {
    margin-top: 8rem;
}

/* トップ - カリキュラム */
.top-curriculum .decor-slash {
    top: -22%;
    left: -2.5%;
    z-index: 2;
}

/* トップ - Youtube */
.top-youtube .rl-column__content .lead__txt {
    margin-bottom: 5.6rem;
}

.top-youtube .btn-basic>.wp-block-button__link {
    width: 34rem !important;
}

.top-youtube .btn-basic>.wp-block-button__link::before {
    content: 'open_in_new';
}

.top-youtube.rl-column {
    padding: 0 5% 5.6rem 2.4rem;
}

/* ここから追加 */
.youtube-latest__list {
        display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.youtube-latest__item {
        width: 32%;
    box-shadow: 0 0 .8rem rgba(11, 29, 43, .06);
    border-radius: 1.2rem;
    overflow: hidden;
    padding-bottom: 1.2rem;
}

.youtube-latest__video {
        margin-bottom: 1.6rem;
}

.youtube-latest__video iframe {
        width: 100%;
    aspect-ratio: 16 / 9;
    border: unset;
}

.youtube-latest__title {
        font-size: 1.6rem;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    padding: 0 .8rem;
}

.youtube-latest__date {
        font-size: 1.4rem;
    font-weight: 700;
    color: #9F9F9F;
    padding: 0 .8rem;
}



/* トップ - お知らせ */
.top-news {
    margin-bottom: 16rem !important;
}

.top-news .vk_tab.wp-block-vk-blocks-tab ul.vk_tab_labels {
    margin-bottom: 7.2rem;
    gap: 1%;
}

.top-news li.vk_tab_labels_label {
    height: 5.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .4rem !important;
}

.top-news li.vk_tab_labels_label div {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--main-color);
}

.top-news li.vk_tab_labels_label.vk_tab_labels_label-state-active div {
    color: var(--white);
}

.top-news .vk_tab_bodys .vk_tab_bodys_body.has-border-top {
    border: unset;
}

.top-news .vk_tab_bodys .vk_tab_bodys_body>.wp-block-group {
    background-color: unset !important;
    padding: 0 .8rem !important;
    border: unset !important;
}

.top-news .vk_tab_labels_label:nth-child(1) {
    border: .1rem solid var(--accent-color);
}

.top-news .vk_tab_labels_label:nth-child(2) {
    border: .1rem solid #56aadc;
}

.top-news .vk_tab_labels_label:nth-child(3) {
    border: .1rem solid #d14839;
}

.top-news .vk_tab_labels_label:nth-child(4) {
    border: .1rem solid #91c148;
}

.top-news .vk_tab_labels_label:nth-child(5) {
    border: .1rem solid #df9a31;
}

.top-news .vk_tab_labels_label:nth-child(5) div {
    position: relative;
    padding-left: 4.4rem;
}

.top-news .vk_tab_labels_label:nth-child(5) div::before {
    content: 'lock';
    font-family: 'Material Symbols Outlined';
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1;
    font-style: normal;
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #df9a31;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.post-category-filio-student {
    position: relative;
    padding-left: 2rem;
}

.post-category-filio-student::before {
    content: 'lock';
    font-family: 'Material Symbols Outlined';
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    font-style: normal;
    color: var(--white);
    position: absolute;
    top: 50%;
    left: 18%;
    transform: translateY(-50%);
}


/* トップ - バナー */
.top-banner {
    padding: 14.4rem 0 18rem;
    margin-bottom: 0 !important;
}

.top-banner::before {
    content: '';
    width: 100%;
    height: calc(100% + 24rem);
    background-color: var(--white);
    position: absolute;
    top: 0;
    left: 0;
}

.top-banner__inner.wp-block-group.is-layout-flex {
    gap: 8% !important;
}

.top-banner__inner .wp-block-cover {
    width: 50%;
    padding: 2.4rem 3.2rem 1.6rem;
    min-height: 37rem;
    border-radius: 1.6rem;

}

.top-banner__inner .wp-block-cover img {
    transition: transform .3s ease;
}

.top-banner__inner .wp-block-cover:hover img {
    transform: scale(1.15);
}

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

.banner__header {
    margin: 0 !important;
}

.banner__header>p.highlight {
    display: inline-block;
    background-color: var(--white);
    line-height: 1.5;
    padding: .2rem 1rem;
    border-radius: .2rem;
    margin-bottom: .8rem;
}

.banner__content>p {
    line-height: 1.5;
    margin-bottom: 1.6rem;
}

.banner-access .banner__header {
    margin-top: 1.6rem !important;
}

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

 下層ページ

　============================== */
/*------------------
下層 - 共通 
------------------*/
/* ファーストビュー */
.low-fv {
    margin-left: 5%;
}

.low-fv__content {
    display: flex;
    align-items: flex-end;
}

.low-fv .wp-block-breadcrumbs {
    position: relative;
    font-size: 1.6rem;
    z-index: 2;
}

.low-fv .wp-block-breadcrumbs li:last-child {
    color: var(--accent-color);
    font-weight: 700;
}

.low-fv__ttl {
    position: absolute;
    white-space: nowrap;
    top: 50%;
    transform: translateY(-50%);
}

.low-fv__ttl p {
    position: relative;
    color: var(--accent-color);
    font-weight: 700;
    padding-left: 2.4rem;
}

.low-fv__ttl p::before {
    content: '';
    width: 1.2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--accent-color);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.low-fv__ttl h1 {
    font-size: 4rem;
}

.low-fv__inner figure {
    width: 78%;
    aspect-ratio: 2 / 1;
    border-radius: 0 0 0 4rem;
}

.low-fv .decor-slash {
    width: clamp(306px, calc(13.869vw + 249.15px), 496px);
    bottom: -24rem;
    left: -8%;
}

/* リードセクション */
.low-lead h2 {
    font-size: 3.2rem;
    margin-bottom: 4rem;
}


/*------------------
下層 - 講師紹介 
------------------*/
/* 講師紹介 - 代表 */
.instructors-charge {
    margin-bottom: 4rem;
}

.instructors-charge__ttl {
    margin-bottom: .6rem;
}

.instructors-charge__list.wp-block-group.is-layout-flex {
    gap: .8rem !important;
    flex-wrap: wrap;
}

.instructors-charge__list p {
    padding: .2rem 1.2rem !important;
    border-radius: .4rem !important;
}

.dash-box-opencampus {
    margin: 8rem 0 6.4rem;
}

.low-principa .dash-box {
    padding: 4rem 3.2rem 5.6rem;
}

.tcolumn__list.wp-block-group.is-layout-flex {
    flex-wrap: wrap;
    font-weight: 700;
}

.is-layout-flex>.tcolumn__item {
    width: calc(100% / 3);
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem;
    border-bottom: .1rem dashed rgba(52, 96, 149, .3);
    gap: 2.4rem !important;
}

.is-layout-flex>.tcolumn__item:last-child {
    text-align: right;
}

.is-layout-flex>.tcolumn__item p:first-child {
    width: 13.2rem;
}

.is-layout-flex>.tcolumn__item p:last-child {
    width: calc(100% - 13.2rem - 2.4rem);
    padding-right: 4rem;
}

.is-layout-flex>.tcolumn__item:last-child p {
    width: 100%;
    padding-right: 0;
    font-weight: 400;
}

.is-layout-flex>.tcolumn__item p .highlight--glold {
    font-size: 2.2rem;
    padding-right: .4rem;
}

.instructor-subject {
    position: relative;
    z-index: 1;
}

.instructor-subject::before {
    content: '英語講師';
    width: 14.4rem;
    height: 5.6rem;
    background-color: var(--accent-color);
    color: var(--white);
    border-radius: 0 0 .8rem 0;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
}

.dash-box-opencampus .btn-basic>.wp-block-button__link {
    margin-top: 5.6rem;
    width: 67.2rem !important;
    height: 12.8rem !important;
    border-radius: 1.6rem;
    background-color: var(--accent-color);
    color: var(--white) !important;
    border: unset !important;
    font-size: 2.8rem;
}

.dash-box-opencampus .btn-basic>.wp-block-button__link::before {
    background-color: var(--white);
    color: var(--accent-color);
    transition: transform .3s ease;
}

.dash-box-opencampus .btn-basic>.wp-block-button__link:hover::before {
    transform: translateY(-50%) scale(1.15);
}

.low-principa {
    z-index: 2;
}

.principa-interview {
    margin-top: 20rem;
    display: flex;
    flex-direction: column;
    gap: 16rem;
}

.principa-interview .instructors-img2 {
    width: 90%;
    margin-left: 0 !important;
}

.principa-interview .instructors-img3 {
    width: 68%;
    margin: -4rem 0 0 auto !important;
}

.low-principa .decor-slash {
    bottom: -25rem;
    right: 0;
}

/* 著書のスライダー */
.book-slider {
    --slider-gap: 80px;
    --slider-items: 2.2;

    width: 100%;
    overflow: hidden;
}

/* スライド表示領域 */
.book-slider__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
}

.book-slider__viewport::before {
    content: '';
    width: 12%;
    height: 100%;
    background-image: linear-gradient(90deg, transparent, #ffffff);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.book-slider__viewport.is-end::before {
    opacity: 0;
}


/* スライド一覧 */
.book-slider__list.wp-block-group.is-layout-flex {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7.2rem !important;
    width: max-content;
    transition: transform 0.5s ease;
    will-change: transform;
    cursor: grab;
    user-select: none;
}

.book-slider__list.is-dragging {
    cursor: grabbing;
}

.book-slider__item.wp-block-group.is-layout-flex {
    flex: 0 0 calc(16rem + 2.4rem + 24rem);
    width: calc(16rem + 2.4rem + 24rem);
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2.4rem !important;
    min-width: 0;
}

.book-slider__item>.wp-block-image {
    flex: 0 0 16rem;
    width: 16rem;
    margin: 0;
}

.book-slider__item>.wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
}

.book-slider__content {
    flex: 1;
    min-width: 0;
}

.book-slider__ttl {
    margin-bottom: 1.6rem;
}

.book-slider__txt {
    margin-bottom: 2.4rem !important;
}

.book-slider__item .btn-secondary>.wp-block-button__link {
    color: var(--main-color) !important;
    padding-right: 3.2rem;
}

.book-slider__item .btn-secondary>.wp-block-button__link::before {
    content: 'open_in_new';
    width: 2.8rem;
    color: var(--white);
    background-color: var(--accent-color);
}

.btn-secondary:hover {
    background-color: unset;
    border-color: unset;
    color: unset;
}

/* スライダーのプログレスバー */
.book-slider__progress {
    width: 100%;
    height: 8px;
    margin-top: 25px;
    overflow: hidden;
    border-radius: 10px;
    background: #e3e8ec;
}

.book-slider__progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #0068b7;
    transition: width 0.5s ease;
}

/* スライダーのボタン */
.book-slider__buttons {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.book-slider__buttons button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--accent-color);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.book-slider__buttons button:disabled {
    background: #e5ebf0;
    color: #fff;
    cursor: default;
}


/* 講師紹介 - 講師陣 */
.instructors-faculty {
    padding-bottom: 18.8rem;
    margin-bottom: 0 !important;
}

.instructors-faculty.rl-column::before {
    height: calc(100% + 12rem);
    border-radius: 4rem 4rem 0 0;
}

.intro__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8rem;
}

.intro__item.wp-block-group.is-layout-flex {
    gap: 5% !important;
}

.intro__item>figure {
    width: 30%;
    aspect-ratio: 5 / 6;
    border-radius: 1.2rem;
}

.intro__item .w-column-flex__content {
    width: 65%;
}

.intro__item .title-bar--left h3 {
    font-size: 2.4rem;
}

.intro__item .title-bar--left,
.intro-box {
    margin-bottom: 2.4rem;
}

.intro__item .dash-box,
.intro__item .btn-basic>.wp-block-button__link {
    margin-top: 2.4rem;
}

.intro__item .instructor-subject::before {
    width: 12rem;
    height: 4.8rem;
}

.intro__item:first-child .instructor-subject::before,
.intro__item:nth-child(2) .instructor-subject::before {
    content: '国語教師';
}

.intro__item:nth-child(3) .instructor-subject::before,
.intro__item:nth-child(4) .instructor-subject::before {
    content: '社会教師';
}


/*------------------
下層 - 学習システム 
------------------*/
.features__list {
    display: flex;
    flex-direction: column;
    gap: 17.6rem;
}

.system-features .features__item {
    width: 100%;
    position: relative;
    background-color: var(--white);
    border-radius: 1.6rem;
    padding: 5.6rem 5%;
}

.system-num {
    position: absolute;
    letter-spacing: 0;
    font-weight: 900;
    color: var(--accent-color);
    width: fit-content;
    margin: 0 !important;
    top: 0;
    left: 0;
    transform: translate(-40%, -105%);
}

.system-num p {
    text-align: center;
    line-height: 1;
}

.system-num p:first-child {
    font-size: 1.8rem;
}

.system-num p:last-child {
    font-size: 6.4rem;
}

.system-num::before {
    content: '';
    width: 16rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: .1rem solid var(--accent-color);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.system-item__mcontent.wp-block-group.is-layout-flex {
    gap: 5% !important;
}

.system-item-img {
    position: relative;
    width: 25%;
}

.system-item-des {
    width: 70%;
}

.system-item-des h3 {
    margin-bottom: 4rem;
}

.system-features .features__item .dash-box {
    margin-top: 4rem;
}

.system-features .features__item .dash-box p.highlight {
    margin-bottom: 1.2rem;
}

.system-item-detail {
    margin-top: 8rem;
}

.half__block>.wp-block-group {
    width: 47.5%;
}

.half__block.wp-block-group.is-layout-flex {
    gap: 5%;
}

.w-box {
    background-color: #e3e9ee;
    border-radius: 1.6rem;
    padding: 2.4rem 1.6rem 1.2rem;
}

.w-box .title-bar--left {
    margin-bottom: 2rem;
}

.w-box__inner {
    background-color: var(--white);
    border-radius: .8rem;
    padding: 2.4rem 1.6rem;
}

.w-box .cycle__list.wp-block-group.is-layout-flex {
    gap: 2.4rem !important;
    margin-bottom: 3.2rem;
}

.w-box .cycle__item {
    position: relative;
}

.w-box .cycle-item__ttl {
    position: relative;
    padding: 0;
    width: 8.8rem;
    height: 4.6rem;
    border-radius: .4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.w-box.w-box--blue .cycle__item:last-child .cycle-item__ttl {
    letter-spacing: 0;
}

.w-box .cycle__item::after {
    content: 'arrow_right_alt';
    font-family: 'Material Symbols Outlined';
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1;
    color: var(--accent-color);
    position: absolute;
    top: 50%;
    right: -2.4rem;
    transform: translateY(-50%);
}

.cycle-trouble.wp-block-group.is-layout-flex {
    gap: 1.2rem !important;
}

.cycle-trouble figure.wp-block-image {
    width: 4.8rem;
}

.cycle-trouble p {
    width: calc(100% - 4.8rem - 1.2rem);
}

.w-box .dash-box {
    margin-top: 3.2rem;
}

.system-item-detail .dash-box ul li {
    position: relative;
    padding-left: 1.2rem;
}

.system-item-detail .dash-box ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--main-color);
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.w-box.w-box--blue {
    background-color: var(--accent-color);
}

.w-box.w-box--blue .title-bar--left {
    color: var(--white);
}

.w-box.w-box--blue .title-bar--left::before {
    background-color: var(--white);
}

.w-box.w-box--blue .cycle-item__ttl {
    width: 11.4rem;
}

.w-box.w-box--blue p:nth-child(2) {
    width: calc(100% - 11.4rem - 1.6rem);
}

.w-box.w-box--blue .cycle__item.wp-block-group.is-layout-flex {
    gap: 1.6rem !important;
    min-height: 8rem;
}

.w-box.w-box--blue .cycle__item::after {
    content: 'arrow_downward_alt';
    font-size: 4rem;
    right: unset;
    left: 5.7rem;
    transform: translateX(-50%);
    top: calc((100% + 2rem) / 2);
}

.system-features .features__item .w-box.w-box--blue .dash-box p.highlight {
    margin-bottom: 0;
}

.w-box .cycle__item:last-child::after,
.w-box.w-box--blue .cycle__item:last-child::after {
    content: unset;
}

.w-box.w-box--blue .cycle__list.wp-block-group.is-layout-flex {
    gap: 1.6rem !important;
}

.dash-box-line>.wp-block-group {
    width: 75%;
}

.dash-box-line>figure {
    width: 20%;
    border-radius: .8rem;
}

.system-baloon {
    width: 14.4rem;
    margin-right: 0 !important;
}

.system-baloon p {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--accent-color);
}

.system-item-discount {
    width: 20rem;
    margin: -8rem 0 0 auto !important;
}

.dash-box-icon {
    position: relative;
}

.dash-box-icon::before {
    content: "\f0a1";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 2.2rem;
    color: var(--white);
    width: 5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--accent-color);
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 .3rem .3rem 0;
}

.system-item__mcontent .btn-secondary>.wp-block-button__link {
    margin-top: 1.2rem;
    padding-right: 3.2rem;
    color: var(--main-color) !important;
}

.system-item__mcontent .btn-secondary>.wp-block-button__link::before {
    color: var(--white);
    background-color: var(--accent-color);
    width: 2.4rem;
}


/* 学習カリキュラムのポイントのスライダー */
.system-point-viewport {
    position: relative;
    max-width: none !important;
    overflow: hidden;
    margin-top: 5.6rem;
    width: 110%;
    margin-left: -5% !important;
}

.system-point-slider {
    width: 100%;
    max-width: none !important;
    overflow: visible !important;
}

.system-poinf__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 40px;
    width: 100%;
    max-width: none !important;
    transition: transform 0.5s ease;
}

.system-poinf__item {
    flex: 0 0 82%;
    width: 82%;
    max-width: none !important;
    box-sizing: border-box;
    position: relative;
    padding: 1.6rem 1.2rem;
    background-color: var(--accent-color);
    border-radius: 1.2rem;
}

.system-poinf-num {
    position: absolute;
    font-size: 1.6rem;
    font-weight: 700;
    background-color: var(--accent-color);
    color: var(--white);
    width: 12rem;
    height: 5.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1.6rem 0 .8rem 0;
    top: 0;
    left: 0;
}

.system-poinf-flex {
    height: 100%;
    background-color: var(--white);
    border-radius: .8rem;
    padding: 4.8rem 1.6rem 4rem 3.2rem;
}

.system-poinf-flex>.wp-block-group {
    width: 60%;
}

.system-poinf-flex>.wp-block-group h4 {
    margin-bottom: 2.4rem;
}

.system-poinf-flex figure {
    width: 35%;
    border-radius: 1.2rem;
}

.system-point__prev,
.system-point__next {
    position: absolute;
    top: 50%;
    z-index: 20;
    width: 6.4rem;
    aspect-ratio: 1;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 50%;
    background-color: #0068b7;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.system-point__prev {
    left: 5vw;
}

.system-point__next {
    right: 5vw;
}


/*------------------
下層 - 合格までのカリキュラム
------------------*/
/* 合格までのカリキュラム - 学習プラン例 */
.cur__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    row-gap: 2.4rem;
    align-items: flex-start;
    justify-content: flex-start;
}

.cur__item {
    width: 32%;
    padding: 2.4rem 1.6rem;
    background-color: var(--white);
    border-radius: 1.6rem;
    margin: 0 !important;
}

.car__header.wp-block-group.is-layout-flex {
    gap: 1.6rem !important;
    margin-bottom: 2.4rem;
}

.car__header>.has-secondary-background-color {
    border-radius: 50%;
    width: 6.4rem;
}

.car__header .wp-block-group.is-layout-flex {
    font-size: 2.4rem;
    font-weight: 700;
}

.car__header .wp-block-group.is-layout-flex p.highlight {
    font-size: 1.6rem;
    margin-right: 1.2rem;
}

.cur-cat__list.wp-block-group.is-layout-flex {
    flex-wrap: wrap;
    gap: 2% !important;
    row-gap: .8rem !important;
    margin-bottom: 3.2rem;
}

.cur-cat__item.wp-block-group.is-layout-flex {
    width: 49%;
    background-color: var(--base-color);
    border-radius: .6rem;
    padding: .6rem 1.2rem;
}

.cur-cat__item.wp-block-group.is-layout-flex>p {
    font-weight: 700;
    width: 5.8rem;
    margin-right: .8rem;
}

.cur-cat__content.wp-block-group.is-layout-flex {
    gap: .4rem !important;
}

.cur-cat__content figure {
    width: 2rem;
    aspect-ratio: 1;
}

.cur-cat__content figure img {
    vertical-align: top;
}

.cur-cat-weak p {
    color: #D14839;
}

.cur-cat-good p {
    color: var(--accent-color);
}

.cur-price {
    font-weight: 700;
    width: fit-content;
    margin-bottom: 3.2rem;
}

.cur-price span.highlight {
    font-size: 2.8rem;
    padding: 0 .4rem;
}

.cur-price-attention {
    line-height: 1;
    font-size: 1.6rem;
    color: #5A636A;
}

.cur-result {
    background-color: var(--accent-color);
    border-radius: .8rem;
    color: var(--white);
    padding: 1.6rem;
    font-weight: 700;
}

.cur-result>p {
    padding-bottom: .8rem;
    margin-bottom: .8rem;
    border-bottom: .2rem dashed var(--white);
}

.cur-result__list.wp-block-group.is-layout-flex {
    flex-wrap: wrap;
    row-gap: .4rem !important;
}

.cur-result__item {
    width: calc((100% - .4rem) / 2);
}

.cur-result__item>p {
    width: 9.6rem;
}

.cur-result__item>figure {
    width: 2.4rem;
}

.cur-result--gray .cur-result__item>figure img {
    vertical-align: middle;
}

.cur-result--gray .cur-result__item>p {
    width: 10.4rem;
}

.cur__item .btn.is-layout-flex {
    justify-content: flex-end;
}

.cur__item .btn-secondary>.wp-block-button__link {
    color: var(--main-color) !important;
    font-size: 1.8rem;
    padding-right: 3.2rem;
}

.cur__item .btn-secondary>.wp-block-button__link::before {
    width: 2.4rem;
    background-color: var(--accent-color);
    color: var(--white);
}

.cur__item .modal-wrap {
    margin-top: 3.2rem;
}

.cur-gap__item .cur-result {
    border-radius: .8rem .8rem 0 0;
}

.cur-result--gray {
    background-color: #E3E9EE;
    color: var(--main-color);
    font-size: 1.6rem;
    border-radius: 0 0 .8rem .8rem;
}

.cur-result--gray .cur-result>p {
    border-bottom: .2rem dashed var(--main-color);
}

/* モーダルの中 */
#curriculum .modal__container {
    max-width: 56.4rem;
    background-color: var(--white);
    border-radius: 1.6rem;
    padding: 2.4rem 2.4rem 3.2rem;
    max-height: 90svh;
    overflow: auto;
}

.modal__container .car__header.wp-block-group.is-layout-flex {
    justify-content: center;
}

.modal__container .cur-lesson__list {
    margin: 4rem 0 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.modal__container .cur-lesson__item {
    width: 100%;
    gap: 1.6rem !important;
}

.modal__container .cur-cat__item.wp-block-group.is-layout-flex {
    width: 16rem;
}

.modal__container .cur-lesson__item:first-child .cur-cat__item.wp-block-group.is-layout-flex {
    background-color: unset;
    padding: 0;
}

.cur-lesson-price__list {
    width: calc(100% - 1.6rem - 16rem);
}

.cur-lesson-price__item.wp-block-group.is-layout-flex {
    justify-content: space-between;
    gap: 1.6rem !important;
}

.cur-lesson-price__ttl {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--accent-color);
}

.mobile.cur-lesson-price__ttl {
    display: none;
}

.cur-lesson-price__item p:first-child {
    width: calc(100% - 9rem - 1.6rem);
}

.cur-lesson-price__item p:nth-child(2) {
    width: 9rem;
    text-align: right;
}

.modal__container .cur-price {
    width: 100%;
    border-radius: .6rem;
    padding: 2.4rem 1.2rem 1.6rem;
}

.modal__container .cur-price>.cur-price-center {
    width: fit-content;
    margin-bottom: 0.8rem;
}

.modal__container .cur-price>.cur-price-center p {
    line-height: 1.5;
}

.modal__container .dash-box>.wp-block-group.is-layout-flex {
    gap: .8rem !important;
    margin-bottom: 1.2rem;
}

.modal__inner {
    position: relative;
}

.close-wrap {
    position: absolute;
    top: .8rem;
    right: 1.6rem;
}

.sample-curriculum .decor-slash {
    bottom: -25rem;
    right: 0;
    z-index: 2;
}

/* 合格までのカリキュラム - 合格体験記 */
.intro-box__list.wp-block-group.is-layout-flex {
    flex-wrap: wrap;
    gap: .8rem !important;
}

.univ__item.wp-block-group.is-layout-flex {
    padding: .2rem 1.2rem;
    border-radius: .4rem;
    gap: .8rem !important;
}

.student-voice {
    position: relative;
    width: fit-content;
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--accent-color);
    padding: 0 2rem;
    margin: 0 0 1.6rem 0 !important;
}

.student-voice::before,
.student-voice::after {
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--accent-color);
    position: absolute;
}

.student-voice::before {
    content: '「';
    top: -1.2rem;
    left: -1.8rem;
}

.student-voice::after {
    content: '」';
    bottom: -1.2rem;
    right: -1.8rem;
}

.curriculum-success .title-bar--left h3 {
    font-size: 2.4rem;
}

.curriculum-success .w-box {
    margin-top: 10.4rem;
}

.curriculum-success .w-box iframe {
    width: 100%;
    height: auto;
    border-radius: 1.2rem;
    box-shadow: 0 0 .8rem rgba(11, 29, 43, .12);
}

.curriculum-success .w-box .half__block iframe {
    aspect-ratio: 16 / 9;
}

.curriculum-success .w-box .half__block {
    margin-bottom: 4rem;
}

.curriculum-success .w-box .t-column__block>.wp-block-group {
    width: 30%;
}

.curriculum-success .w-box .t-column__block iframe {
    aspect-ratio: 2 / 3;
}

.fukidashi-success-movie {
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
    width: fit-content;
    line-height: 1.25;
    padding: .4rem 1.6rem;
    margin: 0 auto 1.4rem 0 !important;
    border-radius: 9999rem;
    z-index: 2;
}

.fukidashi-success-movie::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-top: 13px solid var(--accent-color);
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 2rem;
    transform: translateY(100%);
    z-index: -1;
}

/* 合格までのカリキュラム - FAQ */
.faq .vk_faq {
    background-color: var(--white);
    border-radius: 1.6rem;
    padding: 1.6rem 2.4rem 1.6rem 2rem !important;
    margin-bottom: 1.6rem !important;
}

.faq .vk_faq .vk_faq_title {
    padding: 0 1.2rem 0 4rem;
    margin-bottom: 0;
}

.faq .vk_faq .vk_faq_title:before,
.faq .vk_faq .vk_faq_content:before {
    width: auto;
    height: auto;
    line-height: 1;
    color: var(--accent-color);
    font-weight: 700;
    font-size: 3.6rem;
}

.faq .vk_faq .vk_faq_title:before {
    top: 0;
}

.faq .vk_faq.vk_faq-accordion-close .vk_faq_title::after,
.faq .vk_faq.vk_faq-accordion-open .vk_faq_title::after {
    width: 1.2rem;
    height: 1.2rem;
    border-right: .2rem solid var(--accent-color);
    border-top: .2rem solid var(--accent-color);
}

.faq .vk_faq-accordion-open.vk_faq .vk_faq_title {
    padding-bottom: 1.6rem;
}

.faq .vk_faq.vk_faq-accordion-open .vk_faq_content {
    padding: 1.6rem 0 .8rem 4rem;
    margin-bottom: 0;
}

.faq .vk_faq .vk_faq_content:before {
    top: 1.8rem;
}

/* 合格までのカリキュラム - 受講までの流れ */
.curriculum-step .decor-slash {
    z-index: 2;
    top: -4rem;
    left: -2%;
}

.curriculum-step.bg-blue .inner {
    padding-bottom: 8rem;
}

.step__list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5.6rem;
    z-index: 2;
}

.step__list::before {
    content: '';
    width: 2.4rem;
    height: calc(100% - 1.6rem);
    background-color: var(--base-color);
    position: absolute;
    top: 0;
    left: 8rem;
    transform: translateX(-50%);
    z-index: -1;
}

.step__item.wp-block-group.is-layout-flex {
    width: 100%;
    gap: 6.4rem !important;
}

.step-icon {
    border-radius: 50%;
    width: 16rem;
    aspect-ratio: 1;
}

.step-icon figure {
    width: 100%;
    aspect-ratio: 1;
}

.step__content {
    width: calc(100% - 6.4rem - 16rem);
}

.step__content h3 {
    margin-bottom: 1.6rem;
}

.curriculum-step .btn-basic>.wp-block-button__link {
    margin-top: 5.6rem;
    width: 40rem !important;
    max-width: 100%;
    height: 10.4rem !important;
    border-radius: 1.6rem;
    border: unset !important;
    background-color: var(--accent-color);
    color: var(--white) !important;
    font-size: 2.4rem;
}

.curriculum-step .btn-basic>.wp-block-button__link::before {
    width: 5.6rem;
    background-color: var(--white);
    color: var(--accent-color);
    font-size: 3.2rem;
    transition: transform .3s ease;
}

.curriculum-step .btn-basic>.wp-block-button__link:hover::before {
    transform: translateY(-50%) scale(1.15);
}




/*------------------
下層 - 保護者の方へ
------------------*/
/* 保護者の方へ - 3つのサポート */
.support__list {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

.support__item {
    position: relative;
    width: 100%;
    min-height: 20.8rem;
    padding: 3.2rem 4rem;
    z-index: 0;
    display: flex;
    align-items: center;
}

.support__item::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--base-color);
    border-radius: 1.6rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.support__item>.wp-block-group.is-layout-flex {
    gap: 4% !important;
    position: relative;
    z-index: 2;
}

.support__item figure {
    width: 12rem;
}

.support__item>.wp-block-group.is-layout-flex>.wp-block-group {
    width: calc(100% - 12rem - 4%);
}

.support__item h3 {
    font-size: 2.4rem;
    margin-bottom: 2.4rem;
}

/* 保護者の方へ - お悩み */
.parents-question .wp-block-vk-blocks-accordion {
    background-color: var(--white);
    border-radius: 1.6rem;
    padding: 1.6rem .8rem 1.6rem 2rem !important;
    margin-bottom: 1.6em !important;
}

.parents-question .vk_accordion-trigger,
.parents-question .vk_accordion-target-open {
    padding: 0 3.2rem 0 0;
}

.parents-question .vk_accordion-target-open {
    padding-top: 1.6rem;
    margin-top: 1.6rem;
    border-top: 1px dotted var(--vk-color-border);
}

.vk_accordion-trigger .vk_accordion-toggle-open {
    border-bottom: unset !important;
}

.question__content.wp-block-group.is-layout-flex {
    align-items: flex-start;
}

.parents-question .question__content figure {
    width: 5.6rem;
    aspect-ratio: 1;
    margin-right: 2.4rem;
}

.parents-question .question__content p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
}

.parents-question .vk_accordion-trigger .vk_accordion-toggle-close::after,
.parents-question .vk_accordion-trigger .vk_accordion-toggle-open::after {
    width: 1.2rem;
    height: 1.2rem;
    border-right: .2rem solid var(--accent-color);
    border-top: .2rem solid var(--accent-color);
    right: 1.6rem;
}

.parents-question .vk_accordion-trigger .vk_accordion-toggle-close::after {
    transform: translateY(-50%) rotate(135deg);
}

.parents-question .vk_accordion-trigger .vk_accordion-toggle-open::after {
    transform: translateY(-50%) rotate(-45deg);
}

.parents-question .question__content>p,
.parents-question .vk_accordion-target-open .question__content>.wp-block-group {
    width: calc(100% - 5.6rem - 2.4rem);
}

.parents-question .vk_accordion-target-open .answer__ttl {
    margin-bottom: 1.2rem;
}

.parents-question .vk_accordion-target-open .gap-16 p {
    font-weight: 400;
}

.parents-question .btn-secondary>.wp-block-button__link {
    margin-top: 1.2rem;
    padding-right: 3.2rem;
    color: var(--main-color) !important;
}

.parents-question .btn-secondary>.wp-block-button__link::before {
    color: var(--white);
    background-color: var(--accent-color);
    width: 2.4rem;
}

/* 保護者の方へ - 保護者さまの声 */
.parents-voices .inner {
    padding-bottom: 12rem;
}

.voice__list {
    margin-top: 4.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2%;
    row-gap: 2.4rem;
}

.voice__item {
    width: 32%;
    box-shadow: 0 0 .8rem rgba(11, 29, 43, .12);
    padding: 2.4rem;
    border-radius: 1.6rem;
    margin: 0 !important;
}

.voice__header.wp-block-group.is-layout-flex {
    gap: 1.6rem !important;
    margin-bottom: 2.4rem;
}

.voice__header>.has-background {
    border-radius: 50%;
    width: 6.4rem;
    aspect-ratio: 1;
}

.voice__header>.has-background figure {
    width: 100%;
}

.voice__header>p {
    line-height: 1.5;
    width: calc(100% - 6.4rem - 1.6rem);
}

.voice-sign {
    margin-top: 2.4rem;
    color: #5A636A;
}

.voice-sign p {
    line-height: 1.5;
    font-size: 1.6rem;
}

.voice__read-more {
    display: none;
}


/*------------------
下層 - アクセス
------------------*/
/* アクセス - アクセス情報 */
.access-info-main.wp-block-group.is-layout-flex {
    gap: 8% !important;
    margin-bottom: 8rem;
}

.access-info-main p {
    line-height: 1.5;
}

.access-info-img {
    width: 40%;
}

.access-info-img--bottom .swiper-wrapper .vk_slider_item.school-img {
    position: relative;
}

.access-info-img--bottom .swiper-wrapper .vk_slider_item.school-img::before {
    font-size: 1.8rem;
    font-weight: 700;
    width: 12rem;
    height: 4rem;
    background-color: var(--accent-color);
    color: var(--white);
    border-radius: 1.2rem 0 0 0;
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    align-items: center;
    justify-content: center;
}

.access-info-img--bottom .swiper-wrapper .vk_slider_item.school-img-classroom::before {
    content: '教室';
}

.access-info-img--bottom .swiper-wrapper .vk_slider_item.school-img-studyroom:before {
    content: '自習室';
}

.access-info__list {
    width: 52%;
}

.access-info__item {
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem;
    border-bottom: .1rem solid #E3E9EE;
}

.access-info__content.wp-block-column {
    flex-basis: calc(100% - 14.4rem) !important;
}

.access-info__content ul li {
    position: relative;
    padding-left: 1.2rem;
}

.access-info__content ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--main-color);
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.access-info__content ul {
    margin-bottom: 0.8rem;
}

.access-info-img .access-info-img--top {
    margin-bottom: 0.8rem;
}

.access-info-img .access-info-img--top figure,
.access-info-img .access-info-img--bottom .vk_slider {
    border-radius: 1.6rem;
    aspect-ratio: 1.414 / 1;
}

.access-info-img--bottom .vk_slider .swiper-wrapper {
    width: 100%;
    height: 100%;
}

.access-info-img--bottom .vk_slider .vk_slider_item {
    width: 100% !important;
    height: 100%;
    padding: 0;
}

.access-info iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 1;
    border-radius: 1.6rem;
    margin-bottom: 8rem;
}

.policy__content {
    padding: 0 1.2rem 0 3.2rem;
}

.policy-content__inner {
    max-height: 48rem;
    overflow: auto;
    padding: 3.2rem 1.6rem 3.2rem 0;
}

.policy-content__inner h4,
.policy-content__inner>p,
.policy-content__inner>div {
    margin-bottom: 2.4rem;
}

.policy-content__inner>div:last-child {
    margin-bottom: 0;
}

.policy__block ol {
    list-style: none;
    counter-reset: policy-counter;
    padding-left: 3.2rem;
}

.policy__block ol li {
    counter-increment: policy-counter;
    position: relative;
}

.policy__block ol li::before {
    content: "(" counter(policy-counter) ")";
    position: absolute;
    left: -3.2rem;
}

.policy__block ul li {
    position: relative;
    padding-left: 3.2rem;
}

.policy__block ul li::before {
    content: '';
    width: .6rem;
    aspect-ratio: 1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 1rem;
    left: 1rem;
}

/* アクセス - スタディレシピ */
.study-recipe .decor-slash {
    top: -12rem;
    z-index: 2;
}

.study-recipe .inner {
    padding-bottom: 12rem;
}

.recipe-sample {
    margin-top: 2.4rem;
}

.recipe-sample>p {
    background-color: var(--accent-color);
    color: var(--white);
    line-height: 1.5;
    padding: .2rem 1.2rem;
    width: fit-content;
    border-radius: .4rem;
    margin: 0 0 .8rem 0 !important;
}

.recipe-sample ul li {
    position: relative;
    padding-left: 1.2rem;
}

.recipe-sample ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--main-color);
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.recipe-form .title-bar--left {
    margin-bottom: 2.4rem;
}

.recipe-form .dash-box {
    margin-top: 4rem;
    padding: 2.4rem 2.4rem 3.2rem;
}

.recipe-form__ttl {
    font-size: 2rem;
    margin-bottom: 2.4rem;
}

.recipe-form__block {
    margin-top: .8rem;
}

.recipe-form__list {
    width: 30%;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.recipe-form__item {
    width: 100%;
}

.recipe-form__item p {
    font-size: 1.6rem;
    line-height: 1.5;
    padding-left: 2.4rem;
    position: relative;
}

.recipe-form__item p::before {
    position: absolute;
    left: 0;
}

.recipe-form__list:first-child .recipe-form__item:nth-child(1) p::before {
    content: "①";
}

.recipe-form__list:first-child .recipe-form__item:nth-child(2) p::before {
    content: "②";
}

.recipe-form__list:first-child .recipe-form__item:nth-child(3) p::before {
    content: "③";
}

.recipe-form__list:nth-child(2) .recipe-form__item:nth-child(1) p::before {
    content: "④";
}

.recipe-form__list:nth-child(2) .recipe-form__item:nth-child(2) p::before {
    content: "⑤";
}

.recipe-form__list:nth-child(2) .recipe-form__item:nth-child(3) p::before {
    content: "⑥";
}

.recipe-form__list:nth-child(3) .recipe-form__item:nth-child(1) p::before {
    content: "⑦";
}

.recipe-form__list:nth-child(3) .recipe-form__item:nth-child(2) p::before {
    content: "⑧";
}

.recipe-form__list:nth-child(3) .recipe-form__item:nth-child(3) p::before {
    content: "⑨";
}

.recipe-form__item .recipe-form-attention p::before {
    content: unset !important;
}

.study-recipe .contact__content {
    width: 100%;
    max-width: 48rem;
    margin-top: 6.4rem;
}

.study-recipe .cta-baloon {
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--white);
}

.study-recipe .cta-btn {
    border: .3rem solid var(--line-green);
    border-radius: 1.6rem;
    font-weight: 700;
}

.study-recipe .contact__content ul {
    font-weight: 700;
}

/* アクセス - 学費について */
.pricing .w-box h3 {
    font-size: 2.4rem;
    color: var(--white);
    margin-bottom: 2.4rem;
}

.pricing .w-box .dash-box {
    padding: 2.4rem;
}

.pricing .w-box .dash-box>.highlight {
    margin-bottom: 2.4rem;
}

.pricing .w-box .dash-box ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4%;
    row-gap: .8rem;
    padding-bottom: 3.2rem;
    margin-bottom: 3.2rem;
    border-bottom: .1rem solid #E3E9EE;
}

.pricing .w-box .dash-box ul li {
    width: 48%;
    position: relative;
    padding-left: 1.2rem;
}

.pricing .w-box .dash-box ul li::before {
    content: '';
    width: .4rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--main-color);
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.total-price {
    padding: 0 .8rem;
}

.w-box.w-box--blue .total-price p {
    width: auto !important;
}

.total-price span.highlight {
    font-size: 2.4rem;
}

.pricing-table__list h3 {
    font-size: 2.4rem;
}

.pricing-lead__txt {
    margin: 12rem 0 8rem;
}

.pricing-table__item {
    margin-bottom: 12rem;
}

.pricing-table__item:last-child {
    margin-bottom: 0;
}

.pricing-table__list .wp-block-table {
    border-radius: 1.6rem;
    overflow: hidden;
    margin-bottom: .8rem !important;
}

.pricing-table__list .wp-block-table thead {
    border: unset;
}

.pricing-table__list .wp-block-table thead tr {
    background-color: var(--accent-color);
    color: var(--white);
}

.pricing-table__list .wp-block-table thead tr th {
    border: unset;
    border-right: .1rem solid var(--base-color);
    padding: 1.2rem .8rem;
    text-align: center;
}

.pricing-table__list .wp-block-table tbody {
    background-color: var(--white);
}

.pricing-table__list .wp-block-table tbody td {
    border: unset;
    border-right: .1rem solid #E3E9EE;
    border-bottom: .1rem solid #E3E9EE;
    padding: 1.2rem 2rem;
    height: 7.2rem;
}

.pricing-table__list .wp-block-table table.has-fixed-layout {
    table-layout: auto;
}

.pricing-table-attention {
    font-weight: 700;
}

.pricing-table__list .wp-block-table td:last-child .custom-marker {
    font-weight: 700 !important;
    font-size: 2.2rem;
}

.pricing-table__header .title-bar--left {
    margin-bottom: 0;
}

.pricing-table__header {
    margin-bottom: 3.2rem;
}

.pricing-table__header p {
    margin-top: 0.8rem;
}

.pricing-other__item {
    margin-bottom: 5.6rem;
}

.pricing-other__item:last-child {
    margin-bottom: 0;
}

.pricing-other__header {
    margin-bottom: 1.6rem;
}

.pricing-other__header p:not(.pricing-other__ttl) {
    margin-top: 0.8rem;
}

.other__table {
    max-width: 88rem;
    margin-left: 0 !important;
}

/* 集団授業のテーブル幅 */
.group-lesson__table th:nth-child(1),
.group-lesson__table td:nth-child(1) {
    width: 20%;
}

.group-lesson__table th:nth-child(2),
.group-lesson__table td:nth-child(2) {
    width: 18%;
}

.group-lesson__table th:nth-child(3),
.group-lesson__table td:nth-child(3) {
    width: 22%;
}

.group-lesson__table th:nth-child(4),
.group-lesson__table td:nth-child(4) {
    min-width: 15rem;
}

.group-lesson__table th:nth-child(5),
.group-lesson__table td:nth-child(5) {
    width: 26%;
}

/* 個別指導のテーブル幅 */
.private-lesson__table th:nth-child(1),
.private-lesson__table td:nth-child(1) {
    width: 20%;
}

.private-lesson__table th:nth-child(2),
.private-lesson__table td:nth-child(2),
.private-lesson__table th:nth-child(3),
.private-lesson__table td:nth-child(3) {
    width: 25%;
}

.private-lesson__table th:nth-child(4),
.private-lesson__table td:nth-child(4) {
    width: 30%;
}

/* 映像授業のテーブル幅 */
.video-lesson__table th:nth-child(1),
.video-lesson__table td:nth-child(1) {
    width: 24%;
}

.video-lesson__table th:nth-child(2),
.video-lesson__table td:nth-child(2) {
    width: 20%;
}

.video-lesson__table th:nth-child(3),
.video-lesson__table td:nth-child(3),
.video-lesson__table th:nth-child(4),
.video-lesson__table td:nth-child(4) {
    width: 8%;
}

.video-lesson__table th:nth-child(5),
.video-lesson__table td:nth-child(5),
.video-lesson__table th:nth-child(6),
.video-lesson__table td:nth-child(6) {
    width: 20%;
}

/* その他費用のテーブル幅 */
.other__table th:nth-child(1),
.other__table td:nth-child(1) {
    width: 75%;
}

.other__table th:nth-child(2),
.other__table td:nth-child(2) {
    width: 25%;
}


/*------------------
下層 - お知らせ
------------------*/
#low-fv-news {
    margin-bottom: 0 !important;
}

.entry_list {
    margin-bottom: 8rem !important;
}

.entry-body input[type="submit"] {
    background-color: var(--accent-color);
    border: unset;
    padding: .2rem 1.2rem;
    border-radius: .4rem;
    color: var(--white);
    margin-left: 1.2rem;
}

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

    タブレット横以下

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

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

    .inner {
        width: 85%;
    }

}

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

    /* ヘッダ－ */
    .nav-wrapper {
        display: block;
    }

    .is-layout-flex>nav.header-inner-menu {
        display: none;
    }

    .is-layout-flex>.nav-contact {
        margin-right: 2.4rem;
    }


    /* フッター */

    .contact__container .gap-24 br {
        display: none;
    }

    /* 縦書きタイトルのセクション */
    .section__ttl--rl {
        width: 26rem;
    }

    .section__ttl--rl figure {
        width: 8.8rem;
    }

    .section__ttl--rl.section__ttl--wline figure {
        width: 20rem;
    }

    .is-layout-flex>.rl-column__content {
        width: calc(100% - 26rem - 5%);
    }

    /* トップ - 合格実績 */
    .graph-number {
        font-size: 3.2rem;
    }

    .graph-number--big {
        font-size: 5.2rem;
    }

    /* 合格カリキュラム */
    .cur-cat__item.wp-block-group.is-layout-flex {
        padding: .6rem;
    }

    .cur-cat__item.wp-block-group.is-layout-flex>p {
        margin-right: .2rem;
    }

    .cur-cat__content p {
        font-size: 1.6rem;
    }
}


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

    スマホ・タブレット縦

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

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

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .br-pc {
        display: none;
    }

    .br-tab {
        display: block;
    }


    /* ==============================
    
    お知らせ共通CSS
    
    ============================== */
    .-has-sidebar .news-main-layout {
        grid-template-columns: 1fr;
        row-gap: 8rem;
    }

    .-has-sidebar .news-page-body {
        width: 100%;
    }

    .sidebar .widget ul li {
        padding-bottom: 1.2rem;
        margin-bottom: 1.2rem;
        border-bottom: .1rem solid var(--border-color);
    }

    .sidebar .widget ul li:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: unset;
    }

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

    .sidebar .widget {
        width: 46%;
        margin-bottom: 0;
    }

    /* ==============================
    
    共通パーツ
    
    ============================== */
    section {
        margin-bottom: 12rem !important;
    }

    .section__ttl figure {
        height: 8rem;
    }

    .is-layout-flex>.section__ttl--rl {
        flex-direction: column;
        width: 100%;
        gap: 0;
        margin-bottom: 4rem;
    }

    .section__ttl--rl.section__ttl--wline figure,
    .section__ttl--wline figure {
        width: fit-content;
        height: 16rem;
    }

    .section__ttl--rl figure {
        width: unset;
    }

    .section__ttl--rl figure.wp-block-image img {
        height: 100%;
        width: auto;
    }

    .section__ttl--rl h2 {
        writing-mode: horizontal-tb;
        margin: 0 !important;
    }

    .w-column-flex.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 5.6rem !important;
    }

    .bg-blue .w-column-flex.wp-block-group.is-layout-flex {
        flex-direction: column-reverse;
        gap: 3.2rem !important;
    }

    .bg-blue--right .w-column-flex.wp-block-group.is-layout-flex {
        flex-direction: column;
    }

    .w-column-flex__content,
    .w-column-flex__img {
        width: 100%;
    }

    .bg-blue::before,
    .bg-blue__inner::before {
        width: 98%;
    }

    .bg-blue__inner::before {
        height: 84%;
        bottom: -5.6rem;
    }

    .bg-blue .inner {
        max-width: 72rem;
    }

    .w-column-flex__content h3 {
        margin-bottom: 4rem;
    }

    .section__ttl--center {
        margin-bottom: 5.6rem;
    }

    .btn-flex.wp-block-group.is-layout-flex {
        margin-top: 5.6rem;
    }

    .rl-column.wp-block-group.is-layout-flex {
        flex-direction: column;
        padding: 0 5% 8rem 5%;
    }

    .is-layout-flex>.rl-column__content {
        width: 100%;
        margin-top: 0;
    }

    .rl-column__content .lead__txt {
        margin-bottom: 5.6rem;
    }

    .bg-blue {
        margin-bottom: 20rem !important;
    }

    .inner {
        width: 90%;
        max-width: 72rem;
    }

    /* ==============================
    
    ヘッダー
    
    ============================== */
    header .logo {
        width: 10.4rem;
    }

    header .logo p {
        font-size: 1.2rem;
    }

    .nav-contact-baloon {
        font-size: 1.4rem;
        line-height: 1.25;
    }

    .nav-contact .is-layout-flex {
        padding: .8rem 1.6rem .4rem .4rem;
    }

    .sp-nav-wrap .nav__list.wp-block-group.is-layout-flex {
        flex-direction: column;
    }

    .sp-nav-wrap .nav__list--first,
    .sp-nav-wrap .nav__list--second {
        width: 100%;
    }

    .sp-nav-wrap .nav__item {
        padding-bottom: 2.4rem;
        margin-bottom: 2.4rem;
        border-bottom: .1rem solid rgba(52, 96, 149, .3);
    }

    .sp-nav-wrap .nav__list--second .nav__item:last-child {
        margin-bottom: 0;
        padding-bottom: 1.2rem;
        border-bottom: unset;
    }

    .sp-nav-wrap .nav-banner {
        max-width: 40rem;
        margin-left: 0 !important;
    }

    .sp-nav-wrap .nav__list.wp-block-group.is-layout-flex {
        gap: 0 !important;
    }

    /* ==============================
    
    フッター
    
    ============================== */
    .cta-baloon {
        font-size: 1.6rem;
    }

    .cta-btn {
        font-size: 2.4rem;
    }

    .cta-btn>.wp-block-group.is-layout-flex {
        gap: .8rem !important;
    }

    .cta-btn>.wp-block-group.is-layout-flex figure {
        width: 4rem;
    }

    .cta-btn .wp-block-vk-blocks-icon .vk_icon_font {
        font-size: 2.4rem !important;
    }

    /* ==============================
    
    トップページ
    
    ============================== */
    .mv {
        height: unset;
        min-height: unset;
    }

    .mv-img--big {
        width: 95%;
        max-height: 90svh;
        min-height: unset;
        aspect-ratio: 5 / 6;
    }

    figure.wp-block-image.size-full.mv-img--small {
        position: relative;
        left: unset;
        width: 48%;
        max-width: 44rem;
        margin: -16rem 0 0 0 !important;
    }

    .mv-cacth {
        top: 35%;
        left: 3%;
    }

    .mv .decor-slash {
        top: unset;
        bottom: 26%;
    }

    .mv-counter__block {
        width: unset;
        height: unset;
        top: unset;
        left: unset;
        bottom: 0;
        right: 1.6rem;
    }

    .mv-counter {
        position: unset;
        margin: 0 !important;
    }

    .home .wp-block-buttons.is-content-justification-left {
        justify-content: center;
    }

    .top-principa .decor-slash {
        bottom: -19rem;
    }

    .top-features .section__ttl--left {
        margin-bottom: 10.4rem;
    }

    .top-features__item {
        width: 40%;
        max-width: unset;
    }

    .top-features .btn-basic>.wp-block-button__link {
        margin-top: 5.6rem;
    }

    .top-features .inner {
        max-width: unset;
    }

    .top-curriculum .decor-slash {
        top: -12%;
    }

    .top-parents .w-column-flex.wp-block-group.is-layout-flex {
        flex-direction: column-reverse;
    }

    .top-news .vk_tab.wp-block-vk-blocks-tab ul.vk_tab_labels {
        flex-wrap: wrap;
        justify-content: flex-start;
        column-gap: 2%;
        row-gap: 1.2rem;
        margin-bottom: 5.6rem;
    }

    .top-news li.vk_tab_labels_label {
        height: 4.8rem;
        width: 32%;
    }

    .top-news li.vk_tab_labels_label div {
        line-height: 1.25;
    }

    .top-banner {
        padding: 12rem 0;
    }

    .top-banner__inner.wp-block-group.is-layout-flex {
        max-width: unset;
        gap: 2% !important;
    }

    .contact__container.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 4.8rem !important;
        margin: 0 !important;
    }

    .contact__inner {
        padding: 0 5% 8rem 5%;
    }

    .contact::before {
        width: 98%;
    }

    .contact__inner .section__ttl--left {
        margin-bottom: 4.8rem;
    }

    .contact__container .gap-24 {
        width: 100%;
    }

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

    .footer__inner {
        padding-bottom: 1.6rem;
    }

    .footer__inner>.wp-block-group.is-layout-flex {
        flex-direction: column;
        justify-content: center;
        gap: 8rem !important;
        margin-bottom: 5.6rem;
    }

    .is-layout-flex>.footer-intro {
        margin: auto;
    }

    .footer-intro .logo {
        width: fit-content;
    }

    .footer-intro .logo figure {
        margin: 0 auto .8rem auto !important;
    }

    .footer-intro .logo p {
        width: fit-content;
        margin: 0 !important;
    }

    .footer-sns {
        width: fit-content;
    }

    .nav__list.wp-block-group.is-layout-flex {
        margin: auto;
    }

    footer .nav__list--first,
    footer .nav__list--second .nav__item:not(:last-child) {
        display: none;
    }

    footer .nav-banner {
        width: 28rem;
    }

    .copyright {
        text-align: right;
    }


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

    下層ページ

    　============================== */
    /*------------------
    下層 - 共通 
    ------------------*/
    /* ファーストビュー */
    .low-fv {
        margin-top: 6.4rem;
    }

    .low-fv__ttl p {
        font-size: 1.4rem;
        padding-left: 1.2rem;
    }

    .low-fv__ttl p::before {
        width: .8rem;
    }

    .low-fv__ttl h1 {
        font-size: 2.8rem;
    }

    .low-fv__content .wp-block-breadcrumbs {
        position: relative;
        z-index: 2;
        font-size: 1.4rem;
    }

    .low-fv .decor-slash {
        bottom: -10.4rem;
        left: -8%;
        z-index: 0;
    }

    /*------------------
    下層 - 講師紹介
    ------------------*/
    .low-principa .dash-box {
        padding: 3.2rem 2.4rem 4rem;
    }

    .is-layout-flex>.tcolumn__item {
        width: calc(100% / 2);
    }

    .dash-box-opencampus .btn-basic>.wp-block-button__link {
        width: 52rem !important;
        height: 10.4rem !important;
        font-size: 2.4rem;
    }

    .principa-interview {
        margin-top: 12rem;
    }

    .principa-interview {
        margin-top: 12rem;
        gap: 5.6rem;
    }

    .principa-interview .w-column-flex.wp-block-group.is-layout-flex:last-child {
        flex-direction: column-reverse;
    }

    .principa-interview .instructors-img2 {
        width: 100%;
    }

    .principa-interview .instructors-img3 {
        display: none;
    }

    .instructors-img-sp {
        border-radius: 1.6rem;
        margin: 3.2rem 0;
    }

    /* リードセクション */
    .low-lead h2 {
        margin-bottom: 4rem;
    }

    /*------------------
    下層 - 学習システム 
    ------------------*/
    .system-features.inner {
        max-width: unset;
    }

    .features__list {
        gap: 12rem;
    }

    .system-features .features__item {
        padding: 2.4rem 5% 4rem;
    }

    .system-num {
        transform: translate(-30%, -80%);
    }

    .system-num::before {
        width: 12rem;
    }

    .system-num p:first-child {
        font-size: 1.6rem;
    }

    .system-num p:last-child {
        font-size: 4rem;
    }

    .system-item__mcontent.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .is-layout-flex>.system-item-img {
        width: 100%;
        max-width: 28rem;
        margin: auto;
    }

    .system-item-des {
        width: 100%;
    }

    .half__block.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 3.2rem !important;
    }

    .system-item-detail {
        margin-top: 5.6rem;
    }

    .half__block>.wp-block-group {
        width: 100%;
    }

    .system-poinf-flex.wp-block-group.is-layout-flex {
        flex-direction: column-reverse;
        justify-content: flex-end;
        padding: 4.8rem 3.2rem 4rem;
        gap: 4rem !important;
    }

    .system-poinf-flex>.wp-block-group {
        width: 100%;
    }

    .system-poinf-flex figure {
        width: 100%;
        max-height: 38rem;
        aspect-ratio: 3 / 2;
    }

    .system-poinf-flex figure img {
        object-position: center;
    }


    /*------------------
    下層 - 合格までのカリキュラム
    ------------------*/
    .cur__list {
        column-gap: 4%;
    }

    .cur__item {
        width: 48%;
    }

    .curriculum-success .w-box {
        max-width: 72rem;
    }

    .step__item.wp-block-group.is-layout-flex {
        gap: 4rem !important;
        align-items: flex-start;
    }

    .step-icon {
        width: 12rem;
    }

    .step__content {
        width: calc(100% - 4rem - 12rem);
    }

    .step__list::before {
        left: 6rem;
    }


    /*------------------
    下層 - 保護者の方へ
    ------------------*/
    .parents-support.is-layout-flex>.section__ttl--rl {
        margin-bottom: 8rem;
    }

    .support__item .circle-num {
        left: 2%;
    }

    .parents-voices .inner {
        padding-bottom: 8rem;
    }

    .voice__list {
        column-gap: 4%;
    }

    .voice__item {
        width: 48%;
    }


    /*------------------
    下層 - アクセス
    ------------------*/
    .access-info-main.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 4rem !important;
    }

    .access-info-img {
        width: 100%;
        display: flex;
        gap: 2%;
    }

    .access-info-img .access-info-img--top,
    .access-info-img .access-info-img--bottom {
        width: 49%;
        margin-bottom: 0;
    }

    .access-info-img--bottom .swiper-wrapper .vk_slider_item::before {
        font-size: 1.6rem;
        width: 10.4rem;
        height: 3.6rem;
    }

    .access-info__list {
        width: 100%;
    }

    .access-info iframe {
        border: 0;
        aspect-ratio: 2 / 1;
    }

    .study-recipe .inner {
        padding-bottom: 8rem;
    }

    .recipe-form .dash-box {
        margin-top: 1.6rem;
        padding: 1.6rem 1.6rem 2.4rem;
    }

    .recipe-form__block.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: .8rem !important;
    }

    .recipe-form__list {
        width: 100%;
    }

    .pricing.inner {
        max-width: unset;
    }

    .pricing-lead__txt {
        margin: 8rem 0 4rem;
    }

    .pricing-table__list .wp-block-table tbody td {
        padding: 1.2rem;
    }

    .pricing-table__item {
        margin-bottom: 8rem;
    }

    .pricing-table__list .wp-block-table {
        display: block;
        overflow-x: auto;
    }

    .pricing-table__list .wp-block-table thead tr th,
    .pricing-table__list .wp-block-table tbody td {
        padding: 1.2rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .pricing-table__list .wp-block-table tr td {
        display: table-cell;
    }

    /*------------------
    下層 - お知らせ
    ------------------*/

    .entry_list {
        margin-bottom: 4rem !important;
    }

}



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

    タブレット縦のみ

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

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

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

    .vk_spacer-display-tablet {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-mobile {
        display: none !important;
    }

}


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

    スマホ以下　

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

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

    :root {
        /* フォント・サイズ */
        --base-font-size: 1.6rem;
        --heading-size-l: 1.8rem;
        --heading-size-m: 2.4rem;
    }

    h4 {
        font-size: 2rem;
    }

    .br-sp {
        display: block;
    }

    .pc-tab {
        display: none;
    }

    .mobile {
        display: block;
    }

    .fix_nav.sp_disp.sp {
        display: block;
    }

    .inner {
        width: 90%;
    }

    .vk_spacer-display-mobile {
        display: block !important;
    }

    .vk_spacer-display-pc,
    .vk_spacer-display-tablet {
        display: none !important;
    }

    section,
    #school-policy {
        scroll-margin-top: 9.6rem;
    }

    /* ==============================
    
        特定商取引に基づく表記・テーブル

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

    .wp-block-table tr td {
        display: block;
        width: 100%;
    }

    .wp-block-table td:first-of-type {
        width: 100%;
    }

    figure.wp-block-table td,
    figure.wp-block-table th {
        border: none;
        padding: 10px 13px;
    }


    /* ==============================
    
    個人情報保護方針
    
　============================== */

    .wp-block-group.policy-wrap p {
        margin-bottom: 23px;
    }

    .wp-block-group.policy-wrap li {
        margin-bottom: 20px;
    }

    /* ==============================
    
    お知らせ共通CSS
    
　============================== */
    /* .nav_select {
        margin-top: 21px;
    } */

    .news-main-layout {
        margin-bottom: 80px;
    }

    .-has-sidebar .news-main-layout {
        row-gap: 6.4ren;
    }

    .entry-body h1,
    .entry-body h2,
    .entry-body h3,
    .entry-body h4,
    .entry-body h5 {
        margin-bottom: 1rem;
        margin-top: 2rem;
    }

    .-has-sidebar .sidebar {
        flex-direction: column;
        gap: 4rem;
    }

    .sidebar .widget {
        width: 100%;
    }



    /* ==============================
    
        共通パーツ
    
    ============================== */
    .section__ttl--left,
    .section__ttl--right,
    .section__ttl--center {
        margin-bottom: 4rem;
    }

    .section__ttl figure {
        height: 4.8rem;
        margin-bottom: .8rem !important;
    }

    .section__ttl--rl.section__ttl--wline figure,
    .section__ttl--wline figure {
        height: 10.2rem;
    }

    .bg-blue .w-column-flex.wp-block-group.is-layout-flex {
        padding-bottom: 5.6rem;
    }

    .bg-blue::before {
        border-radius: 2.4rem 0 0 2.4rem;
    }

    .bg-blue__inner::before {
        border-radius: 0 2.4rem 2.4rem 0;
        height: 90%;
        bottom: -4.8rem;
    }

    .bg-blue {
        margin-bottom: 16.8rem !important;
    }

    .btn-flex.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 1.6rem !important;
    }

    .btn-flex.wp-block-group.is-layout-flex>.wp-block-buttons {
        margin: auto;
    }

    .w-column-flex.wp-block-group.is-layout-flex {
        gap: 4rem !important;
    }

    .rl-column::before {
        border-radius: 2.4rem;
    }


    /* ==============================
    
        ヘッダー
    
    ============================== */
    .header-inner {
        padding: .4rem .8rem .8rem 1.6rem;
    }

    header .logo {
        width: 8rem;
    }

    header .logo p {
        letter-spacing: 0;
        margin-bottom: .2rem;
        white-space: nowrap;
    }

    .is-layout-flex>.nav-contact {
        margin-top: .6rem;
    }

    .nav-contact-baloon {
        font-size: 1.2rem;
    }

    .nav-contact .is-layout-flex {
        font-size: 1.4rem;
        padding: .8rem 1.2rem .4rem .4rem;
    }

    .nav-contact .is-layout-flex figure {
        width: 2.8rem;
    }


    /* ==============================
    
    フッター
    
    ============================== */
    .contact::before {
        width: 100%;
    }

    .contact__inner {
        padding: 0 1.6rem 4.8rem 1.6rem;
    }

    .contact__inner .section__ttl--left {
        margin-bottom: 4rem;
    }


    .contact__container .gap-24 p {
        letter-spacing: 0;
    }

    .contact__container.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 4.8rem !important;
    }

    .contact__container .gap-24 {
        font-size: 1.6rem;
        gap: 1.6rem;
    }

    .cta-baloon {
        font-size: 1.4rem;
        margin: 0 auto 1.2rem auto !important;
    }

    .cta-baloon::before {
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        border-top: 16px solid #4cc764;
        border-bottom: 0;
        left: 50%;
        transform: rotate(0) translate(-50%, 62%);
    }

    .contact__content ul li {
        padding-left: 1.6rem;
    }

    .footer__inner {
        padding-bottom: 8rem;
    }

    .footer-address.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 0 !important;
        align-items: flex-start;
    }

    /* ==============================
    
        トップページ
    
    ============================== */
    .mv,
    .top-txt-slider {
        margin-bottom: 3.2rem !important;
    }

    .mv-cacth {
        top: 42%;
    }

    .mv-subcacth {
        font-size: 1.6rem;
        margin-top: 1.6rem;
    }

    .mv-subcacth {
        position: relative;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.5;
        margin-top: 2.4rem;
        z-index: 1;
    }

    .mv-cacth h1::before,
    .mv-subcacth::before {
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, .6);
        filter: blur(4rem);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .mv-img--big {
        min-height: 44rem;
        aspect-ratio: 2 / 3;
        border-radius: 2.4rem 0 0 2.4rem;
    }

    figure.wp-block-image.size-full.mv-img--small {
        margin-top: -5.6rem !important;
        border-radius: 2.4rem;
        width: 56%;
    }

    .mv .decor-slash {
        right: -13%;
    }

    .mv-counter__block {
        position: relative;
        margin-top: -3.2rem;
        bottom: unset;
        right: unset;
    }

    .mv-counter {
        width: 29.4rem;
        border-radius: 1.2rem;
        padding-top: .3rem;
        font-size: 1.4rem;
        margin: 0 .4rem 0 auto !important;
    }

    .mv-counter__ttl {
        margin-bottom: .6rem;
        font-size: 1.4rem;
    }

    .mv-counter__content {
        border-radius: .8rem;
        display: flex;
        gap: .2rem;
        align-items: baseline;
        padding: 0 1.2rem .4rem;
    }

    .mv-counter-flex.wp-block-group.is-layout-flex {
        margin-bottom: 0;
        gap: .4rem !important;
    }

    .mv-counter-flex p.has-secondary-color {
        font-size: 2.8rem !important;
        line-height: 1.5 !important;
    }

    .mv-counter-date {
        font-size: 1.2rem;
    }

    .top-principa .w-column-flex.wp-block-group.is-layout-flex {
        gap: 5.6rem !important;
    }

    .graph__list.wp-block-group.is-layout-flex {
        flex-direction: column;
        width: 80%;
        gap: 5.6rem !important;
    }

    .graph__item {
        width: 100%;
    }

    .top-features .section__ttl--left {
        margin-bottom: 8.8rem;
    }

    .top-features__list.wp-block-group.is-layout-flex {
        column-gap: 2% !important;
        row-gap: 5.6rem !important;
    }

    .top-features__item {
        width: 49%;
    }

    .circle-num {
        font-size: 2.4rem;
        transform: translate(0%, -90%);
    }

    .circle-num::before {
        width: 5.6rem;
    }

    .top-features__item>.wp-block-group {
        padding: 1.6rem .2rem 2.4rem .2rem;
    }

    .top-features__item>.wp-block-group span.highlight {
        font-size: 1.6rem;
    }

    .top-features__item>.wp-block-group figure {
        width: 8.8rem;
    }

    .top-features__item>.wp-block-group p {
        letter-spacing: 0;
        font-size: 1.4rem;
    }

    ul.top-news-list li a {
        flex-wrap: wrap;
    }

    .top-curriculum h3 {
        white-space: nowrap;
    }

    span.top-news-title {
        margin-top: 1.2rem;
        width: 100%;
    }

    .top-news {
        margin-bottom: 12rem !important;
    }

    .top-news .vk_tab.wp-block-vk-blocks-tab ul.vk_tab_labels {
        column-gap: 2%;
        row-gap: .6rem;
    }

    .top-news li.vk_tab_labels_label {
        height: 4.4rem;
        width: 49%;
    }

    .top-news li.vk_tab_labels_label div {
        font-size: 1.4rem;
    }

    .top-news .vk_tab_labels_label:nth-child(5) div {
        padding-left: 3.2rem;
    }

    .top-news .vk_tab_labels_label:nth-child(5) div::before {
        font-size: 1.8rem;
        width: 2.4rem;
    }

    .top-banner {
        padding: 8rem 0 9.6rem 0;
    }

    .top-banner::before {
        height: calc(100% + 24rem);
    }

    .top-banner__inner.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 4rem !important;
    }

    .top-banner__inner .wp-block-cover {
        width: 100%;
        padding: 1.2rem 1.2rem .8rem;
        min-height: unset;
    }

    .banner__header>p.highlight {
        font-size: 1.4rem;
    }

    .top-banner__inner h3 {
        font-size: 2rem;
    }

    .banner__content>p {
        font-size: 1.4rem;
        margin-bottom: .8rem;
    }

    .btn-secondary>.wp-block-button__link {
        font-size: 1.4rem;
    }

    .top-youtube .rl-column__content .lead__txt {
            margin-bottom: 3.2rem;
    }
    .youtube-latest__list {
            flex-direction: column;
    gap: 2.4rem;
    max-width: 48rem;
    margin: auto;
    }

    .youtube-latest__item {
            width: 100%;
    }



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

    下層ページ

    　============================== */
    /*------------------
    下層 - 共通 
    ------------------*/
    /* ファーストビュー */
    .low-fv {
        margin-top: 10.4rem;
        margin-bottom: 6.4rem !important;
    }

    .low-fv__inner.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 1.6rem !important;
    }

    .low-fv__ttl {
        position: unset;
        transform: translateY(0);
        width: 100%;
    }

    .low-fv__inner figure {
        width: 96%;
        border-radius: 4rem 0 0 4rem;
        align-self: flex-end;
    }

    .low-fv__ttl p {
        font-size: 1.2rem;
    }

    .low-fv .wp-block-breadcrumbs {
        --separator: ">";
        margin-top: 1.2rem;
        font-size: 1.4rem;
        margin-right: 5% !important;
    }

    .low-fv .wp-block-breadcrumbs ol {
        justify-content: flex-end;
    }

    .low-fv .decor-slash {
        width: clamp(200px, calc(8.759vw + 194.12px), 400px);
        bottom: -20%;
    }

    /* リードセクション */
    .low-lead h2 {
        font-size: 2.4rem;
    }

    /*------------------
    下層 - 講師紹介 
    ------------------*/
    .instructor-subject::before,
    .intro__item .instructor-subject::before {
        font-size: 1.6rem;
        width: 10.4rem;
        height: 3.6rem;
    }

    .low-principa .dash-box {
        padding: 2.4rem 1.6rem 3.2rem;
    }

    .is-layout-flex>.tcolumn__item {
        width: 100%;
        justify-content: center;
    }

    .is-layout-flex>.tcolumn__item p:last-child {
        width: 8.8rem;
        padding-right: 0;
    }

    .dash-box-opencampus .btn-basic>.wp-block-button__link {
        width: 28rem !important;
        font-size: 1.6rem;
        padding: 0 1.2rem 0 1.6rem;
    }

    .dash-box-opencampus .btn-basic>.wp-block-button__link::before {
        font-size: 1.8rem;
        width: 3.2rem;
    }

    .is-layout-flex>.tcolumn__item:nth-child(5) {
        margin-bottom: .8rem;
    }

    .is-layout-flex>.tcolumn__item:last-child {
        justify-content: flex-end;
        margin-bottom: 0;
        border-bottom: unset;
    }

    .is-layout-flex>.tcolumn__item:last-child p:last-child {
        width: 100%;
    }

    .book-slider__list.wp-block-group.is-layout-flex {
        gap: 4rem !important;
    }

    .book-slider__item.wp-block-group.is-layout-flex {
        flex-direction: column;
        width: 20rem;
        flex: unset;
        gap: 1.6rem !important;
        padding-bottom: 0.4rem;
    }

    .book-slider__item>.wp-block-image {
        flex: unset;
        width: 12rem;
    }

    .book-slider__txt {
        margin-bottom: 1.6rem !important;
    }

    .low-principa .decor-slash {
        bottom: -8rem;
        z-index: -1;
        right: -15%;
    }

    .principa-interview {
        gap: 3.2rem;
    }

    .principa-interview .w-column-flex.wp-block-group.is-layout-flex {
        gap: 3.2rem !important;
    }

    .instructors-img-sp {
        margin: 1.2rem 0 !important;
    }

    .principa-interview .w-column-flex.wp-block-group.is-layout-flex h3 {
        letter-spacing: 0;
    }

    .principa-interview .w-column-flex.wp-block-group.is-layout-flex h3 br {
        display: none;
    }

    .intro__item.wp-block-group.is-layout-flex {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .intro__item>figure {
        width: 100%;
        max-width: 28rem;
        margin: auto;
    }

    .intro__item .w-column-flex__content {
        width: 100%;
    }

    /*------------------
    下層 - 学習システム 
    ------------------*/
    .system-features .section__ttl--center {
        margin-bottom: 8rem;
    }

    .system-features .features__item {
        padding: .8rem 1.6rem 3.2rem;
    }

    .system-num {
        transform: translate(0%, -80%);
    }

    .system-num::before {
        width: 9.6rem;
    }

    .system-num p:first-child {
        font-size: 1.4rem;
    }

    .system-num p:last-child {
        font-size: 3.2rem;
    }

    .system-item__mcontent.wp-block-group.is-layout-flex {
        gap: 1.6rem !important;
    }

    .system-item-des h3 {
        margin-bottom: 2.4rem;
    }

    .system-item__mcontent.wp-block-group.is-layout-flex {
        gap: 0rem !important;
    }

    .features__item:not(:nth-child(3)) .system-item-des.system-item-des {
        margin-top: -2.4rem;
    }

    .features__item:nth-child(6) .system-item-des.system-item-des,
    .features__item:nth-child(8) .system-item-des.system-item-des {
        margin-top: 0;
    }

    .features__item:nth-child(3) .system-item__mcontent.wp-block-group.is-layout-flex {
        gap: 1.6rem !important;
    }

    .features__item:nth-child(6) .is-layout-flex>.system-item-img figure,
    .features__item:nth-child(8) .is-layout-flex>.system-item-img figure {
        width: 70%;
    }

    .system-baloon {
        width: 12rem;
        margin-top: -6rem;
    }

    .features__item:nth-child(6) .is-layout-flex>.system-item-img .system-baloon figure {
        margin: auto !important;
    }

    .system-baloon p {
        font-size: 1.4rem;
    }

    .system-item-discount {
        width: 18rem;
        margin: -8rem -2.4rem 0 auto !important;
    }

    .system-item-discount {
        width: 16rem !important;
    }

    .features__item:not(:nth-child(3)):not(:nth-child(6)):not(:nth-child(8)) .is-layout-flex>.system-item-img {
        max-width: 16rem;
    }

    .system-features .features__item .dash-box {
        padding: 1.6rem 1.2rem;
    }

    .dash-box-icon::before {
        font-size: 1.8rem;
        width: 4rem;
    }

    .features__list {
        gap: 9.6rem;
    }

    .system-features .features__item .dash-box-line {
        flex-direction: column;
        gap: 2.4rem !important;
    }

    .dash-box-line>.wp-block-group {
        width: 100%;
    }

    .dash-box-line>figure {
        width: 100%;
        max-width: 24rem;
        aspect-ratio: 3 / 2;
    }

    .w-box {
        padding: 1.6rem .8rem .8rem;
    }

    .w-box .title-bar--left {
        margin-bottom: 1.2rem;
        padding-left: 1.2rem;
    }

    .w-box .title-bar--left::before {
        width: .5rem;
    }

    .w-box__inner {
        border-radius: 1.2rem;
        padding: 2.4rem .8rem;
    }

    .w-box .cycle__list.wp-block-group.is-layout-flex {
        margin-bottom: 2.4rem;
    }

    .w-box .cycle-item__ttl {
        width: 7.2rem;
        height: 4rem;
    }

    .system-features .features__item .w-box .dash-box {
        margin-top: 2.4rem;
    }

    .w-box.w-box--blue .cycle__list.wp-block-group.is-layout-flex {
        gap: 5.6rem !important;
    }

    .w-box.w-box--blue .cycle__item.wp-block-group.is-layout-flex {
        width: 100%;
        flex-direction: column;
        gap: .8rem !important;
    }

    .w-box.w-box--blue .cycle-item__ttl {
        width: 100%;
        margin: auto;
    }

    .w-box.w-box--blue p:nth-child(2) {
        width: 100%;
    }

    .w-box.w-box--blue .cycle__item::after {
        left: 50%;
        top: unset;
        bottom: -4.8rem;
    }

    .system-poinf__item {
        flex: 0 0 90%;
        width: 90%;
        padding: .8rem;
    }

    .system-poinf__list {
        gap: .8rem;
    }

    .system-poinf-num {
        height: 4rem;
    }

    .system-poinf-flex.wp-block-group.is-layout-flex {
        padding: 4rem 1.6rem 3.2rem;
        gap: 2.4rem !important;
    }

    .system-point__prev,
    .system-point__next {
        width: 4rem;
        font-size: 2.4rem;
        top: 30%;
    }

    .system-point__prev {
        left: 0;
    }

    .system-point__next {
        right: 0;
    }


    /*------------------
    下層 - 合格までのカリキュラム
    ------------------*/
    .curriculum-lead h2 {
        letter-spacing: 0;
    }

    .curriculum-lead p.has-text-align-center,
    .parents-lead p.has-text-align-center {
        text-align: justify;
    }

    .curriculum-lead p.has-text-align-center span.br-tab,
    .parents-lead p.has-text-align-center span.br-tab {
        display: none;
    }

    .cur__list {
        flex-direction: column;
        column-gap: 0;
    }

    .cur__item {
        width: 100%;
    }

    .curriculum-success .w-box {
        margin-top: 8rem;
    }

    .curriculum-success .t-column__block.wp-block-group.is-layout-flex {
        flex-wrap: wrap;
        row-gap: 1.6rem !important;
    }

    .curriculum-success .w-box .t-column__block>.wp-block-group {
        width: 48%;
    }

    #curriculum .modal__container {
        padding: 2.4rem 1.6rem;
    }

    .modal__container .cur-lesson__list {
        gap: 1.6rem;
    }

    .modal__container .cur-lesson__item {
        flex-direction: column;
        gap: .8rem !important;
    }

    .modal__container .cur-cat__item.wp-block-group.is-layout-flex {
        width: 100%;
    }

    .cur-lesson-price__list {
        width: 100%;
    }

    .cur-lesson-price__ttl.is-layout-flex {
        display: none;
    }

    .mobile.cur-lesson-price__ttl.is-layout-flex {
        display: flex;
    }

    .faq .vk_faq {
        padding: 1.2rem 1.6rem 1.2rem 1.2rem !important;
    }

    .faq .vk_faq .vk_faq_title {
        padding: 0 1.6rem 0 3.2rem;
    }

    .faq .vk_faq .vk_faq_title:before,
    .faq .vk_faq .vk_faq_content:before {
        font-size: 2.8rem;
    }

    .faq .vk_faq.vk_faq-accordion-close .vk_faq_title::after,
    .faq .vk_faq.vk_faq-accordion-open .vk_faq_title::after {
        width: 1rem;
        height: 1rem;
    }

    .faq .vk_faq.vk_faq-accordion-open .vk_faq_content {
        padding-left: 3.2rem;
    }

    .step__list::before {
        width: 1.6rem;
        left: 4rem;
        height: 90%;
    }

    .step__item.wp-block-group.is-layout-flex {
        gap: 1.6rem !important;
    }

    .step-icon {
        width: 8rem;
    }

    .step__content {
        width: calc(100% - 1.6rem - 8rem);
    }

    .curriculum-step .btn-basic>.wp-block-button__link {
        width: 32rem !important;
        height: 8rem !important;
        font-size: 1.8rem;
    }


    /*------------------
    下層 - 保護者の方へ
    ------------------*/
    .parents-lead h2 {
        letter-spacing: 0;
        white-space: nowrap;
    }

    .support__item {
        padding: .8rem 1.6rem 3.2rem;
    }

    .support__item .circle-num {
        font-size: 3.2rem;
    }

    .support__item .circle-num::before {
        width: 9.6rem;
    }

    .support__item>.wp-block-group.is-layout-flex {
        flex-direction: column;
    }

    .support__item figure {
        width: 100%;
        width: 100%;
        max-width: 18.4rem;
        margin: auto;
    }

    .support__item>.wp-block-group.is-layout-flex>.wp-block-group {
        width: 100%;
    }

    .parents-question .wp-block-vk-blocks-accordion {
        padding: 1.2rem .4rem 1.2rem 1.2rem !important;
    }

    .parents-question .vk_accordion-trigger,
    .parents-question .vk_accordion-target-open {
        padding-right: 2.8rem;
    }

    .parents-question .question__content figure {
        width: 4.8rem;
        margin-right: .8rem;
    }

    .parents-question .question__content p {
        font-size: 1.6rem;
    }

    .parents-question .question__content>p,
    .parents-question .vk_accordion-target-open .question__content>.wp-block-group {
        width: calc(100% - 4.8rem - .8rem);
    }

    .parents-question .vk_accordion-trigger .vk_accordion-toggle-close::after,
    .parents-question .vk_accordion-trigger .vk_accordion-toggle-open::after {
        width: 1rem;
        height: 1rem;
    }

    .voice__list {
        flex-direction: column;
    }

    .voice__item {
        width: 100%;
        padding: 2.4rem 1.6rem;
    }

    .voice__header>.has-background {
        width: 4.8rem;
    }

    .voice__header>p {
        width: calc(100% - 4.8rem - 1.6rem);
    }

    .voice__item.is-hidden {
        display: none;
    }

    .voice__read-more {
        display: block;
        margin: 3rem auto 0;
        border: none;
        font-weight: 700;
        position: relative;
        background-color: unset;
        padding: 0 3.2rem 0 0;
        font-family: "Lato", sans-serif;
        color: var(--main-color) !important;
        font-size: 1.8rem;
        cursor: pointer;
    }

    .voice__read-more::before {
        content: 'keyboard_arrow_down';
        font-family: 'Material Symbols Outlined';
        font-weight: 300;
        line-height: 1;
        color: var(--white);
        width: 2.4rem;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: var(--accent-color);
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        display: flex;
        justify-content: center;
        align-items: center;
    }
}


/*------------------
    下層 - アクセス
    ------------------*/
.access-info-main.wp-block-group.is-layout-flex {
    margin-bottom: 5.6rem;
}

.access-info-img {
    flex-direction: column;
    gap: .8rem;
}

.access-info-img .access-info-img--top,
.access-info-img .access-info-img--bottom {
    width: 100%;
}

.access-info__ttl.wp-block-column {
    flex-basis: 10.6rem !important;
}

.access-info__content.wp-block-column {
    flex-basis: calc(100% - 10.6rem) !important;
}

.access-info iframe {
    border: 0;
    aspect-ratio: 3 / 2;
    margin-bottom: 5.6rem;
}

.policy__content {
    padding: 0 .6rem 0 1.6rem;
}

.policy-content__inner {
    padding-right: 1rem;
}

.study-recipe .cta-baloon {
    font-size: 2rem;
}

.pricing .w-box h3 {
    font-size: 2rem;
}

.pricing .w-box p.has-text-align-center {
    text-align: justify;
}

.pricing .w-box p .br-tab {
    display: none;
}

.pricing .w-box .dash-box {
    padding: 2.4rem 1.6rem;
}

.pricing .w-box .dash-box ul {
    flex-direction: column;
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem
}

.pricing .w-box .dash-box ul li {
    width: 100%;
}

.total-price.wp-block-group.is-layout-flex {
    flex-direction: column;
}

.pricing-lead__txt.has-text-align-center {
    text-align: left;
}


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

  その他適宜追加する場合は下記に記述

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