<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";

:root {
    --header-height: 50px;
    --baseinr: auto;
    --pc-min-width: auto;
    --sp-padding: 20px;
    --sp-padding-v: 30px;
    --sp-ttl-size: 2.2rem;
    --sp-subttl-size: 1.7rem;
    --sp-arrow-size: 16px auto;
    --sp-arrow-pos: center right 20px;
    --sp-max-width: 414px;
}

body {
    font-size: 1.5rem;
    color: #575757;
    -webkit-text-size-adjust: 100%;
}

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

input,
textarea,
select {
    font-size: 1.6rem;
}


/* SP スプラッシュページ - 初回ローディング
--------------------------------------------------------------- */

#loading-index {
    box-sizing: border-box;
    display: block;
    place-content: normal;
    background: #fff url(../img/top/sp/bg_splash.jpg?v=2) center top / 100% auto no-repeat;
}

.splash-block {
    position: absolute;
    top: 77vw;
    left: 0;
    right: 0;
    margin: auto;
}

.splash-logo {
    width: 69.33vw;
    margin: 0 auto;
}

.splash-block .splash-ttl {
    font-size: 9.66vw;
    margin-top: .5em;
}


/* SP グローバルヘッダー
--------------------------------------------------------------- */

#g-header {
    width: 100%;
    height: 50px;
    padding-top: 3px;
}

.header-inr {
    align-items: center;
    height: 100%;
    padding: 0 15px;
}

.header-logo {
    --logo-width: 133px;
    --logo-height: 30px;
}

.header-logo a {
    font-size: 1rem;
}

.header-txt {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 147px;
    display: grid;
    place-content: center start;
    width: calc(100% - 15px - 132px - 50px);
    height: 100%;
    font-size: 1rem;
    padding: 0 10px;
    margin: 0;
    line-height: 1.3;
}

@media print,
screen and (min-width:376px) and (max-width:1023px) {
    .header-txt {
        padding-top: 10px;
    }
}


/* SP グローバルメニュー
--------------------------------------------------------------- */

#g-nav {
    box-sizing: border-box;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #575757;
    overscroll-behavior-y: contain;
}

#g-nav &gt; .inr {
    height: auto;
    min-height: calc(100% - 139px);
    padding: 70px var(--sp-padding);
}

#g-menu &gt; li:not(:last-child) {
    margin-bottom: 5px;
}

#g-contact-menu {
    justify-content: space-between;
}

#g-contact-menu &gt; li {
    width: calc(50% - 10px);
}

#g-contact-menu &gt; li &gt; a {
    box-sizing: border-box;
    width: 100%;
    height: 70px;
    font-size: 1.6rem;
    font-weight: 500;
    border-radius: 10px;
    background-size: 18px auto;
    background-position: 10px center;
    padding: 0 15px 0 30px;
    line-height: 1.4;
}

#g-menu {
    display: block;
    height: auto;
    margin-top: var(--sp-padding);
}

#g-menu &gt; li {
    border-bottom: 1px solid var(--keycolor);
}

#g-menu &gt; li &gt; a {
    box-sizing: border-box;
    display: block;
    height: auto;
    font-size: 1.6rem;
    background: url(../img/common/bg_arrow_right_keycolor.svg) var(--sp-arrow-pos) / var(--sp-arrow-size) no-repeat;
    padding: 1em;
}

#g-menu .has-child &gt; a {
    background-image: url(../img/common/bg_anchor_keycolor.svg);
    pointer-events: auto;
}


/* SP グローバルメニュー - 子メニュー
--------------------------------------------------------------- */

.g-menu-child {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    height: auto;
    min-height: 0;
    max-height: none;
}

.g-menu-child .img {
    width: 100%;
}

.g-menu-child .content {
    width: 100%;
    display: block;
    padding: var(--sp-padding);
}

.c-menu {
    max-width: none;
    margin: 0;
}

.c-menu &gt; li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
}

.c-menu &gt; li &gt; a {
    box-sizing: border-box;
    display: block;
    height: 100%;
    font-size: 1.4rem;
    color: var(--keycolor);
    padding: .8em 1.5em .8em 1em;
    background: #fff url(../img/common/bg_arrow_right_keycolor.svg) right 10px center / 14px auto no-repeat;
    border-radius: 5px;
}

.c-menu:after {
    content: normal;
}


/* SP グローバルメニューSP
--------------------------------------------------------------- */

#g-menu-btn {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    margin: auto;
    padding: 0;
    z-index: 3;
    background: var(--keycolor);
    border: 0;
    box-shadow: none;
    line-height: 1;
    cursor: pointer;
}

#g-menu-btn .btn {
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 0;
    width: 26px;
    height: 18px;
}

#g-menu-btn .btn span,
#g-menu-btn .btn:before,
#g-menu-btn .btn:after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    background: #fff;
    border-radius: 0;
    transition: .3s;
}

#g-menu-btn .btn span {
    overflow: hidden;
    z-index: 1;
    text-indent: -999px;
}

#g-menu-btn .btn:before {
    z-index: 2;
    transform: translate(0, -8px);
    content: "";
}

#g-menu-btn .btn:after {
    z-index: 2;
    transform: translate(0, 8px);
    content: "";
}

#g-menu-btn.on .btn span {
    opacity: 0;
}

#g-menu-btn.on .btn:before {
    transform: rotate(45deg);
}

#g-menu-btn.on .btn:after {
    transform: rotate(-45deg);
}


/* SP グローバルフッター
--------------------------------------------------------------- */

#totop {
    right: 20px;
    bottom: 20px;
    width: 60px;
}

#g-footer .section-inr {
    padding: 0;
}

.section-footer-logo {
    padding: 20px 10px;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

.section-footer-logo .logo {
    width: 236px;
}

#f-menu {
    display: block;
    padding: var(--sp-padding-v) var(--sp-padding);
    line-height: 1.2;
}

#f-menu ul:not(:last-child) {
    margin-bottom: 1em;
}

#f-menu li {
    font-size: 1.5rem;
    border-bottom: 1px dotted #ccc;
}

#f-menu li &gt; ul li:last-child {
    border-bottom: 0;
}

#f-menu li a {
    display: block;
    padding-bottom: .8em;
}

#f-menu li:not(:last-child) {
    margin-bottom: .6em;
}

#f-menu .has-child {
    display: block;
    margin-bottom: .8em;
}

#f-menu .has-child + ul {
    padding-left: 0;
}

#f-menu .has-child + ul li a {
    padding-left: 1em;
}

#g-footer small {
    font-size: 1.2rem;
    padding: 25px;
}

.sp-list-classroom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 0;
    padding: var(--sp-padding-v) var(--sp-padding) calc(var(--sp-padding-v) - 10px);
    border-bottom: 1px solid #dedede;
}

.sp-list-classroom &gt; li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
}

.sp-list-classroom a {
    display: block;
    padding: .5em 1em;
    color: var(--keycolor);
    background: var(--subcolor1) url(../img/common/bg_arrow_right_keycolor.svg) right 10px center / 14px auto no-repeat;
    border-radius: 5px;
}


/* ポップメニュー - 相談会予約
--------------------------------------------------------------- */

.block-popup {
    top: calc(100% + 16px + 2px);
    width: 72vw;
    min-width: 270px;
    padding: 25px 25px 30px;
    border-radius: 10px;
}

.block-popup:before {
    top: -16px;
    width: 23px;
    height: 16px;
}

.block-popup ul {
    display: block;
}

.block-popup ul &gt; li {
    width: auto;
}

.block-popup ul a {
    font-size: 1.6rem;
    padding: 8px 0 12px 26px;
    background-size: 18px auto;
    background-position: left center;
}

#g-contact-menu .block-popup {
    left: 0;
}

#g-contact-menu .block-popup:before {
    left: 26.6%;
    right: auto;
}


/* SP コンテンツエリア共通
--------------------------------------------------------------- */

.section-inr {
    width: var(--baseinr);
    padding: 0 var(--sp-padding);
}

.section-inr.is-middle {
    width: var(--baseinr);
    padding: 0 var(--sp-padding);
}

.section-cmn {
    padding: var(--sp-padding-v) var(--sp-padding);
}


/* SP 共通セクション - 平日・土日相談会
--------------------------------------------------------------- */

.section-consult {
    padding: 14px 0;
}

.content-wrap-consult {
    padding: 35px var(--sp-padding);
}

.content-wrap-consult &gt; .inr {
    display: block;
    width: auto;
    margin: 0 auto;
}

.content-wrap-consult .txt {
    width: auto;
    font-size: 1.5rem;
    text-align: center;
}

.content-wrap-consult .txt h3 {
    font-size: 1.33em;
}

.content-wrap-consult .txt h3:before {
    height: 2px;
}

.content-wrap-consult .txt h3 &gt; span {
    padding: 0 7px;
}

.content-wrap-consult .link {
    width: auto;
    margin-top: 1em;
}


/* SP 共通セクション - 入学案内
--------------------------------------------------------------- */

.section-enter {
    padding: var(--sp-padding-v) var(--sp-padding);
}

.section-enter ul {
    display: block;
}

.section-enter li {
    text-align: center;
    margin: 0;
}

.section-enter li:not(:last-child) {
    margin-bottom: var(--sp-padding);
}


/* SP 共通セクション - フッター - 教室詳細
--------------------------------------------------------------- */

.section-roominfo {}

.block-roominfo {
    font-size: .9em;
    text-align: left;
    padding: var(--sp-padding-v) 0;
}

.block-roominfo:not(:last-child) {
    border-bottom: 1px solid var(--keycolor);
}

.dl-roominfo dt {
    justify-content: flex-start;
    align-items: flex-end;
    font-size: 1.6rem;
    margin-bottom: .8em;
    line-height: 1;
}

.dl-roominfo dt .logo {
    width: 160px;
}

.dl-roominfo dt .roomtag {
    height: 26px;
    font-size: 1.4rem;
    border-radius: 13px;
    padding: 0 1.2em;
    margin: 0 .8em;
}

.dl-roominfo dt .capacity {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: 1em;
}

.list-roominfo-menu {
    justify-content: space-between;
    width: auto;
    margin: 0 0 2em;
}

.list-roominfo-menu &gt; li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
}

.list-roominfo-menu a {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
    min-height: 56px;
    padding: .5em calc(1.5em + 14px) .5em 1em;
    color: var(--keycolor);
    background: #fff url(../img/common/bg_arrow_right_keycolor.svg) right 10px center / 14px auto no-repeat;
    border-radius: 5px;
}

.list-roominfo-menu a[target="_blank"]::after {
    content: none;
}

.list-roominfo-menu a[target="_blank"] {
    background-image: url(../img/common/bg_blank_keycolor.svg);
}


.list-roominfo-menu &gt; li:not(:last-child):after {
    content: normal;
    margin: 0;
}

.list-roominfo-menu &gt; li.is-noborder:after {
    content: normal;
}

#map-classroom iframe {
    height: auto;
    aspect-ratio: 16/9;
}

.section-roominfo-contact {
    display: block;
}

.section-roominfo-contact .block-roominfo-sns {
    display: block;
    width: auto;
    padding: var(--sp-padding-v) var(--sp-padding);
}

.list-sns &gt; li:not(:last-child) {
    margin-bottom: 10px;
}

.list-sns {
    width: auto;
}

.list-sns a {
    font-size: 3.38vw;
    height: 14.49vw;
    color: #fff;
    padding: 0 3.38vw;
    padding-right: 0;
    border-radius: 14px;
}

.list-sns a:before {
    width: 7.25vw;
    height: 7.25vw;
    margin-right: 2.42vw;
}

.section-roominfo-contact .block-roominfo-tel {
    display: block;
    width: auto;
    padding: var(--sp-padding-v) 1em;
    font-size: 1.6rem;
}

.section-roominfo-contact .block-roominfo-tel .telnumber {
    font-size: 1.7em;
    margin-top: .7em;
}

.section-roominfo-contact .block-roominfo-tel .telnumber .dt {
    font-size: 1.9rem;
    border-radius: 13px;
    margin-right: 10px;
}


/* SP 共通セクション - パンくず
--------------------------------------------------------------- */

.block-breadcrumb ul {
    margin: 1em 0;
}

.block-breadcrumb ul &gt; li:not(:last-child):after {
    margin: 0 .5em;
}


/* SP 校舎共通 - ヘッダー
--------------------------------------------------------------- */

#r-header {
    height: 150px;
    margin-bottom: var(--sp-padding-v);
}

#r-header img {
    max-width: 92%;
    border-radius: 20px 0 0 20px;
    object-fit: contain;
    object-position: top right;
    width: auto;
    height: 150px;
}

#r-header .wrap-r-ttl {
    bottom: -40px;
    width: 60%;
    min-width: 0;
    height: 70px;
    border-radius: 0 20px 20px 0;
    padding-top: 5px;
}

#r-header .wrap-r-ttl h2,
#r-header .wrap-r-ttl .title-text {
    font-size: var(--sp-ttl-size);
    border-radius: 0 20px 20px 0;
    margin-top: -10px;
}

#r-header .wrap-r-ttl h2:after,
#r-header .wrap-r-ttl .title-text:after {
    height: 5px;
    margin-top: 10px;
}

#r-header .wrap-r-ttl h2.is-sp-noborder:after,
#r-header .wrap-r-ttl .title-text.is-sp-noborder:after {
    content: normal;
}


/* SP 校舎共通 - 下層 - ヘッダー
--------------------------------------------------------------- */

#r-header-low,
.tpl-school #r-header-low {
    height: 70px;
}

#r-header-low h2,
#r-header-low .title-text {
    font-size: 1.6rem;
    line-height: 1.2;
}

#r-header-low h2:after,
#r-header-low .title-text:after {
    height: 5px;
    margin-top: 5px;
}

#r-header-low img {
    width: 50%;
}

.tpl-school #r-header-low h2,
.tpl-school #r-header-low .title-text {
    width: 50%;
}


/* SP 校舎共通 - 下層 - イントロ
--------------------------------------------------------------- */

.section-course-intro {
    padding: var(--sp-padding-v) 0;
}

.section-pattern-note {
    padding: var(--sp-padding-v) var(--sp-padding);
}

.group-h .is-comment:after {
    content: "";
    position: absolute;
    top: -71px;
    right: -15px;
    bottom: auto;
    width: 105px;
    height: 71px;
}

.block-intro-type1 {
    position: relative;
    height: auto;
    margin-bottom: 0;
}

.block-intro-type1 .main-img {
    width: 100%;
    height: 100%;
    margin: auto;
    z-index: 1;

    .adj-2025ver {
        aspect-ratio: 16/9;
    }

}

.block-intro-type1 .main-img img {
    aspect-ratio: 1/1;
    border-radius: 20px 20px 0 0;
}

.block-intro-type1 .main-txt {
    width: 100%;
    height: auto;
    padding: 1em 6.78%;
    font-size: 1.5rem;
    border-radius: 0 0 20px 20px;
    margin-top: 0;
    z-index: 2;
}

.block-intro-type1 .sub-img {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    margin: 1em auto 0;
}

.group-comment {
    display: block;
}

.block-comment {
    display: block;
    width: auto !important;
    margin: var(--sp-padding-v) auto 0;
}

.block-comment figure {
    width: auto;
    text-align: center;
}

.block-comment .balloon {
    width: 100%;
    max-width: var(--sp-max-width);
    padding: 15px;
    margin: 0 auto;
    border-radius: 20px;
}

.block-comment .balloon:after {
    content: normal;
}

.pattern-note p {}

.block-intro-type1 .main-txt .box-clip {
    min-width: 0;
    padding: var(--sp-padding);
    border-radius: 20px;
    margin: 1em auto 0;
}


/* SP 校舎共通 - 下層 - 時間割
--------------------------------------------------------------- */

.section-timetable .section-inr {
    padding: var(--sp-padding-v) var(--sp-padding);
}

.section-timetable .timetable {}

.section-timetable .wrap-btn-type1 {
    margin-top: 30px;
}

.section-timetable .cap {}

.section-timetable .cap-timetable {
    font-size: .87em;
    margin-bottom: .5em;
}


/* SP 校舎共通 - 下層 - 放課後学習支援
--------------------------------------------------------------- */

.section-afterschool {}

.section-afterschool .section-inr {
    padding: var(--sp-padding-v) var(--sp-padding);
}

.section-afterschool .h-type5 {}

.section-afterschool .note {}

.block-afterschool {
    display: grid;
    place-content: center;
    width: auto;
    margin: 0 auto;
}

.block-afterschool .time {
    width: 332px;
    height: 174px;
    font-size: 1.6rem;
    background: url(../img/classroom/bg_afterschool.png) center center / contain no-repeat;
    padding: 0 150px 40px 0;
    margin-top: 1em;
}

.block-afterschool .time .note {
    font-size: 1.2rem;
}


/* SP 校舎共通 - 校舎メニュー
--------------------------------------------------------------- */

.block-local-menu {
    margin-top: 20px;
    padding: 0 var(--sp-padding) 20px;
}

#r-header + .block-local-menu {
    margin-top: 60px;
}

.list-local-menu {
    justify-content: flex-start;
    font-size: .9em;
    padding: 0;
}

.list-local-menu &gt; li {
    margin: 0 1.5em 1em 0;
}

.list-local-menu a[target="_blank"]::after {
    width: 15px;
    margin-left: .3em;
}

.list-local-menu a.on {
    color: var(--keycolor);
    background: var(--subcolor2);
}


/* SP 校舎共通 - お知らせ・イベント
--------------------------------------------------------------- */

.section-informations {
    padding: var(--sp-padding-v) 0;
}


/*  - SP タブメニュー */
.list-tab,
.list-tab-link {
    border-bottom: 3px solid var(--subcolor1);
    padding: 0 10px;
    margin: 0 -20px var(--sp-padding-v);
}

.list-tab &gt; li {
    width: calc(25% - 3px);
    height: 11.54vw;
    font-size: 3.85vw;
    border-radius: 10px 10px 0 0;
    transition: none;
}

.list-tab-link &gt; li {
    width: calc(25% - 3px);
}

.list-tab-link &gt; li a {
    width: 100%;
    height: 11.54vw;
    font-size: 3.85vw;
    border-radius: 10px 10px 0 0;
    transition: none;
}

.list-tab &gt; li.on,
.list-tab-link &gt; li.on a {
    color: var(--keycolor);
    background: var(--subcolor1);
}


/* - SP お知らせ一覧 */
.list-informations {
    margin-bottom: 0;
}

.list-informations &gt; li {
    width: auto;
    padding-bottom: var(--sp-padding-v);
    margin-bottom: var(--sp-padding-v);
}

.list-informations a {
    align-items: flex-start;
}

.list-informations figure {
    width: 40%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 10px;
}

.list-informations figure img {}

.list-informations .overview {
    width: calc(60% - 5.13vw);
}

.list-informations .overview-category,
.block-overview-category {
    margin-bottom: 1em;
}

.list-informations .tag {
    width: 25.64vw;
    height: 6.15vw;
    border-radius: 3.08vw;
    font-size: 3.08vw;
}

.list-informations .date {
    font-size: 3.08vw;
    margin-left: 1em;
}

.list-informations .overview h3 {
    font-size: 3.59vw;
}


/* SP 校舎共通 - コース紹介
--------------------------------------------------------------- */

.section-courselist {
    padding: var(--sp-padding-v) 0;
}

/* - SP コース一覧 */
.list-course {
    display: block;
}

.list-course &gt; li {
    margin-bottom: var(--sp-padding-v);
}

.list-course a {
    width: auto;
    height: auto;
    border-radius: 20px;
    border: 3px solid var(--keycolor);
}

.list-course a:after {
    top: -4px;
    right: -4px;
    width: 56px;
    height: 56px;
}

.list-course .overview {
    display: block;
    height: auto;
    padding: 30px 30px 20px;
}

.list-course .overview figure {
    width: 232px;
    margin: 0 auto 30px;
}

.list-course .overview-txt {
    width: auto;
    text-align: center;
}

.list-course .overview-txt h3 {
    font-size: 3.2rem;
    height: 80px;
    background: url(../img/common/bg_school_standard.svg) center center / 90px auto no-repeat;
    margin-bottom: .4em;
}

.list-course .overview-txt h3 &gt; span {
    font-size: .66em;
}

.list-course .overview-txt .note {
    font-size: .87em;
}

.list-course .more {
    height: 48px;
    background-size: var(--sp-arrow-size);
    background-position: var(--sp-arrow-pos);
}


/* - SP コース サブコンテンツ一覧 */
.list-course-sub {
    display: block;
}

.list-course-sub &gt; li:not(:last-child) {
    margin-bottom: 20px;
}

.list-course-sub a {
    width: auto;
    height: auto;
}

.list-course-sub a &gt; span {
    font-size: 1.6rem;
    background-size: var(--sp-arrow-size);
    background-position: var(--sp-arrow-pos);
    border-radius: 10px;
    padding: 1.5em 45px;
}

.list-course-sub a:before {
    top: 5px;
    border-radius: 10px;
}


/* SP 校舎共通 - 教室のポイント
--------------------------------------------------------------- */

.section-roompoint {
    padding: var(--sp-padding-v) 0 0 0;
}

/* - SP おすすめポイント */
.block-roompoint1 {
    padding: min(8vw, 40px) 0;
    margin-top: min(-8vw, -40px);
}

.block-roompoint1.isTachikawa {
    padding: 40px 0;
    margin-top: -40px;
}

.block-roompoint1.isTachikawa .left {
    width: 100%;
    position: relative;
    margin-bottom: 8vw;
    padding-bottom: 8vw;
}

.block-roompoint1.isTachikawa .left:before {
    content: "";
    left: -20px;
    right: -20px;
    background-color: #e1f0e2;
    z-index: 2;
    display: block;
    width: auto;
    height: 100%;
    position: absolute;
}

.block-roompoint1.isTachikawa .right {
    width: 100%;
}

.block-roompoint1.isTachikawa:before {
    width: 100%;
    content: "";
    height: 80vw;
    position: absolute;
    max-height: 200px;
}


.list-osusume {
    display: block;
    max-width: 340px;
    margin: 0 auto;
    padding: 0;
}

.list-osusume &gt; li:not(:last-child) {
    margin-bottom: 30px;
}

.list-osusume &gt; li &gt; div {
    width: auto;
    min-height: 0;
    padding: 20px;
    border-radius: 20px;
    margin-bottom: 0;
}

.list-osusume img {
    border-radius: 20px;
    margin-bottom: .8em;
}

.list-osusume &gt; li {
    position: relative;
}

.list-osusume &gt; li:after {
    top: 5px;
    left: 5px;
    border-radius: 20px;
}

.block-roompoint1.isTachikawa h3 {
    max-width: 340px;
    padding: min(4vw, 20px);
    margin: 0 auto min(4vw, 20px) auto;
    box-sizing: border-box;
    font-size: min(4.4vw, 2rem);
}

.block-roompoint1.isTachikawa .right h3 {
    display: block;
}

.block-roompoint1.isTachikawa .right h3 span {
    display: block;
    margin-top: 10px;
    line-height: 1.2;
    font-size: 1.4rem;
}



/* - SP レッスン・自由課題 */
.group-roompoint {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.group-roompoint &gt; figure,
.group-roompoint &gt; .block-roompoint2 {
    width: 100%;
    height: auto;
}

.group-roompoint &gt; .block-roompoint2 {
    display: block;
    padding: var(--sp-padding-v) var(--sp-padding);
}

.group-roompoint &gt; figure.is-trial {
    order: 1;
}

.block-roompoint2.is-trial {
    order: 2;
}

.group-roompoint &gt; figure.is-task {
    order: 3;
}

.block-roompoint2.is-task {
    order: 4;
}


/* - SP スタッフ・スクールカウンセラー */
.group-roompoint-staff {
    display: block;
    margin: -40px 0 0;
}

.group-roompoint-staff &gt; .cs-inner {
    padding-top: var(--sp-padding-v);
}

.group-roompoint-staff &gt; .cs-inner &gt; figure {
    width: auto;
    margin: auto;
}

.block-roompoint-staff {
    display: block;
    width: auto;
    padding: var(--sp-padding-v) var(--sp-padding);
}

.block-roompoint-staff .cs-box {
    padding: var(--sp-padding-v);
    margin-bottom: 2em;
}

.block-roompoint-staff .cs-ttl {
    margin-bottom: .5em;
}

.block-roompoint-staff .cs-day {
    margin: 1em 0 0;
}


/* - SP ボランティア紹介 */

.section-roompoint.is-sp-volunteer {
    padding-bottom: 0;
}

.group-roompoint-volunteer {
    padding: var(--sp-padding-v) var(--sp-padding) 0;
    margin: -40px 0 0;
}

.group-roompoint-volunteer .cs-ttl {
    font-size: var(--sp-subttl-size);
    text-align: center;
    margin: 0 0 1em;
}

.group-roompoint-volunteer .cs-flex {
    display: block;
    width: auto;
    margin: 0 auto;
}

.group-roompoint-volunteer .cs-box {
    width: 100%;
}

.group-roompoint-volunteer .cs-box:not(:last-child) {
    margin-bottom: var(--sp-padding-v);
}

.group-roompoint-volunteer .cs-balloon {
    min-height: 0;
    padding: var(--sp-padding-v) var(--sp-padding);
    margin-bottom: 22px;
}

.group-roompoint-volunteer .cs-balloon:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    display: block;
    width: 30px;
    height: 20px;
    background: #fff;
    margin: auto;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.group-roompoint-volunteer .cs-name {
    color: #22ab37;
    text-align: right;
}

.group-roompoint-volunteer .cs-box figure {
    text-align: center;
}


/* - SP 教室の良いところ */
.group-voice {
    display: block;
}

.group-voice .cs-box {
    padding: 20px;
    line-height: 1.6;
}

.group-voice .cs-box:not(:last-child) {
    margin-bottom: var(--sp-padding-v);
}


.group-voice .cs-box.is-family {
    display: block;
    width: auto;
    margin-bottom: var(--sp-padding-v);
}

.group-voice .cs-box.is-family .cs-txt {
    width: auto;
}

.group-voice .cs-box.is-family figure {
    width: 60%;
    margin: 20px auto 0;
}

.group-voice .cs-name {
    margin-top: .2em;
}

.group-voice .cs-block.is-student {
    display: block;
    width: auto;
}


/* - SP 大阪教室の様子 */
.block-roompoint1.is-type-slim {
    padding: 40px 0;
}

.h-type-balloon-point {
    width: 100%;
    min-width: 0;
    height: 48px;
    border-radius: 24px;
    font-size: var(--sp-subttl-size);
    padding: 0 1em;
    margin-bottom: 30px;
}

.list-balloon-voice {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 414px;
    margin: auto;
}

.list-balloon-voice &gt; li {
    width: 70%;
}

.list-balloon-voice &gt; li:not(:last-child) {
    margin-bottom: 15px !important;
}

.list-balloon-voice &gt; li:nth-child(even) {
    margin: 0 0 0 auto;
}


/* SP おすすめポイント - 2列型 */
.list-osusume.is-sp-2col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: -30px;
}

.list-osusume.is-sp-2col &gt; li {
    width: calc(50% - 10px);
    margin-bottom: 20px;
}

.list-osusume.is-sp-2col &gt; li &gt; div {
    font-size: .8em;
    padding: 14px;
    border-radius: 14px;
}

.list-osusume.is-sp-2col img,
.list-osusume.is-sp-2col &gt; li:after {
    border-radius: 14px;
}



/* SP 校舎共通 - 在校生の1DAYレポート
--------------------------------------------------------------- */

.section-report {
    padding: var(--sp-padding-v) 0 0;
}

.block-report {
    padding: var(--sp-padding-v) 0;
}

.group-report {
    display: block;
}

.group-report .cs-box:nth-of-type(1) {
    width: auto;
    margin-bottom: var(--sp-padding-v);
}

.group-report .cs-box:nth-of-type(2) {
    width: auto;
}

.group-report .cs-report {
    box-sizing: border-box;
    padding: var(--sp-padding) var(--sp-padding-v);
    margin-bottom: var(--sp-padding-v);
}

.group-report .cs-report figure {
    width: 104px;
}

.group-report .cs-report .cs-txt {
    width: calc(100% - 104px - 2em);
    font-size: 1.4rem;
}


/* SP 校舎共通 - 姉妹校連携
--------------------------------------------------------------- */

.section-collabo {
    padding: var(--sp-padding-v) 0;

}

.block-collabo {
    display: block;
}

.block-collabo .cs-txt {
    width: auto;
}

.block-collabo &gt; figure {
    width: auto;
}

.block-collabo .cs-ttl1 {
    font-size: var(--sp-ttl-size);
    margin-bottom: .8em;
}

.block-collabo + .cs-ttl2 {
    font-size: var(--sp-subttl-size);
    text-align: left;
    margin-top: 1.5em;
}

.block-collabo .cs-list {
    display: block;
    margin: var(--sp-padding-v) 0;
}

.block-collabo .cs-list &gt; li,
.block-collabo .cs-list.is-2col &gt; li {
    width: 100%;
}

.block-collabo .cs-list &gt; li:not(:last-child) {
    margin-bottom: var(--sp-padding);
}

.block-collabo .cs-list .wrap-btn-type1 {
    width: 100%;
}

.section-event {
    padding: 50px var(--sp-padding) var(--sp-padding);
    margin-top: 70px;
}

.section-event .cs-ttl {
    top: -30px;
}

.section-event .cs-ttl img {
    width: auto;
    height: 56px;
}

.section-event .cs-subttl {
    font-size: var(--sp-subttl-size);
    margin-bottom: 1em;
    line-height: 1.6;
}

.section-event .cs-list {
    margin-bottom: -10px;
}

.section-event .cs-list:after {
    content: "";
    width: calc(50% - 5px);
}

.section-event .cs-list &gt; li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
}

.section-event .cs-list img {
    border-radius: 5px;
}

.section-event .cs-list figcaption {
    bottom: 10px;
    width: 70%;
    height: 30px;
    font-size: 1.1rem;
}

.section-event .cs-note {
    margin-top: 1em;
}

.txt-flag {
    top: -2px;
    width: 104px;
    height: 24px;
    font-size: 1.28rem;
    line-height: 1.8;
}

.section-group_school {
    margin-top: 40px;
}

.section-group_school .cs-ttl {
    font-size: var(--sp-ttl-size);
}

.section-group_school .cs-list {
    display: block;
}

.section-group_school .cs-box {
    width: auto;
}

.section-group_school .cs-box:not(:last-child) {
    margin-bottom: 40px;
}


/* SP トップページ - メインビジュアル
--------------------------------------------------------------- */

.section-mv {
    border-bottom: 5px solid var(--keycolor);
}

.section-mv:after {
    content: none;
}

.mv-img img {
    width: 100%;
    min-height: 0;
    object-fit: fill;
}

.mv-txt {
    width: 100%;
    height: 45.33vw;
    padding: 0;
    font-size: 3.33vw;
    font-feature-settings: "palt";
    line-height: 1.7;
    background: none;
}

.mv-txt h2 {
    font-size: 8.46vw;
    margin-bottom: .5em;
}

.mv-txt h2 &gt; span {
    margin: 0 .1em;
}


/* SP トップページ - 教室案内
--------------------------------------------------------------- */

.section-roomlist {
    padding: var(--sp-padding-v) 0;
    background:
        url(../img/common/bg_pattern1.png) left -35px top -125px / 50% no-repeat,
        url(../img/common/bg_pattern2.png) right -90px top -35px / 50% no-repeat,
        #fff url(../img/common/bg_pattern3.png) left -25px bottom -110px / 50% no-repeat;
}

.list-roomlist {
    margin-bottom: 0;
    gap: 20px;
}

.list-roomlist &gt; li {
    width: calc(50% - 10px);
}

.list-roomlist a {
    display: block;
    width: auto;
    height: 100%;
    font-size: 1.6rem;
    border-radius: 10px;
    padding: 10px 10px 18px;
}

.list-roomlist a:before,
.list-roomlist a:after {
    width: 40px;
    height: 40px;
}

.list-roomlist a:after {}

.list-roomlist:after {
    content: normal;
}

.list-roomlist a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 10px;
    margin-bottom: 0;
}

.list-roomlist a .name {
    box-sizing: border-box;
    padding: 0;
    margin-top: 1em;
    background-size: 14px auto;
    background-position: right 0 center;
}


/* SP トップページ - 不登校に悩んでいるお子様の保護者の方
--------------------------------------------------------------- */

.section-guardian {
    padding: var(--sp-padding-v) 0;
}

.box-target {
    width: auto;
    border-radius: 10px;
    padding: 30px 20px 20px;
    margin: var(--sp-padding-v) auto;
}

.box-target h3 {
    top: -1.5em;
    font-size: 1.5rem;
    border-radius: 10px;
    padding: .9em 2em;
}

.block-guardian {
    display: block;
}

.block-guardian .txt {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 89.74vw;
    height: 47.95vw;
    font-size: 4.36vw;
    padding: 0 0 0 6.41vw;
    margin: 0 auto 5.13vw;
}

.block-guardian .txt + figure {
    width: auto;
    text-align: center;
    margin-bottom: 40px;
}


/* SP トップページ - 飛鳥未来中等部初等部とは
--------------------------------------------------------------- */

.section-about {
    padding: var(--sp-padding-v) 0 0;
}

.slider-area.is-feature {
    margin-bottom: 80px;
}

.list-feature .slick-slide {
    margin: 0 30px;
}

.list-feature .slide-box {
    width: 288px;
    height: 424px;
    font-size: 1.5rem;
    padding: 20px 20px 27px;
    border-radius: 20px;
}

.list-feature .number {
    font-size: 4.2rem;
    padding: 0 .8em;
}

.list-feature h3 {
    display: grid;
    place-content: center;
    height: 80px;
    margin: 1em 0;
    line-height: 1.8;
}

.list-feature .slick-prev,
.list-feature .slick-next {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background-color: var(--keycolor);
}

.list-feature .slick-prev {
    left: -15px;
}

.list-feature .slick-next {
    right: -15px;
}

.list-feature .slick-dots {
    bottom: -46px;
}

.list-feature .slick-dots li {
    margin: 0 5px;
}


/* SP ネットコース - ヘッダー
--------------------------------------------------------------- */

.tpl-net #r-header-low {}

.tpl-net #r-header-low h2,
.tpl-net #r-header-low .title-text {}

.tag-course-target {
    font-size: .87em;
    padding: .2em 2em;
    margin: 0 .5em 0 0;
}

.block-netcourse-point &gt; h2 {
    font-size: var(--sp-subttl-size);
    margin: 1em 0 var(--sp-padding);
}

.list-netcourse-point {
    display: block;
    margin-bottom: var(--sp-padding);
}

.list-netcourse-point &gt; li {
    width: auto;
    border-radius: 20px;
    padding: var(--sp-padding-v);
}

.list-netcourse-point &gt; li:not(:last-child) {
    margin-bottom: var(--sp-padding);
}

.list-netcourse-point .h-type4 {
    font-size: var(--sp-subttl-size);
}

.list-netcourse-point .h-type4:after {
    width: 2px;
    height: 15px;
    margin: 10px auto;
}

.block-netcourse-point .img {
    text-align: center;
    border-radius: 20px;
    overflow: hidden;
}


/* SP 各種パーツ - 見出し
--------------------------------------------------------------- */

.h-type1 {
    min-height: 88px;
    font-size: var(--sp-ttl-size);
    background: url(../img/common/bg_h_1.svg) center center / 88px auto no-repeat;
    font-feature-settings: "palt";
    margin-bottom: var(--sp-padding-v);
    line-height: 1.4;
}

.h-type2 {
    font-size: var(--sp-ttl-size);
    padding: .8em 1em;
    margin-bottom: var(--sp-padding-v);
}

.h-type3 {
    width: fit-content;
    font-size: var(--sp-ttl-size);
    margin: 0 auto .8em;
}

.h-type3:after {
    height: 5px;
    margin-top: 10px;
}

.h-type4 {
    font-size: var(--sp-ttl-size);
    line-height: 1.4;
}

.h-type4:after {
    width: 2px;
    height: 42px;
    margin: 10px auto 28px;
}

.h-type4.is-medium:after {
    height: 20px;
    margin: 10px auto;
}

.h-type4 em {}

.h-type5 {
    font-size: var(--sp-ttl-size);
    padding: .8em;
}

.h-type6 {
    font-size: var(--sp-subttl-size);
    font-weight: 700;
}

.h-type6:before {
    width: 26px;
    height: 26px;
    border-radius: 13px;
    margin: 0 8px 0 0;
}

.h-type-block {
    width: 87.18vw;
    margin: 0 auto var(--sp-padding-v);
}

.h-type-block &gt; span {
    width: 10.26vw;
    height: 10.26vw;
    font-size: 5.64vw;
}

.h-type-block &gt; span:nth-of-type(8),
.h-type-block &gt; span:last-child {
    border-right: 1px solid var(--keycolor);
}

.h-type-block &gt; span:nth-of-type(n+9) {
    border-top: 0;
}

.h-type-msg {
    position: relative;
    padding: 0 2em;
    margin-bottom: 1em;
}

.h-type-msg:before,
.h-type-msg:after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    height: 1.2em;
    margin: auto;
}

.h-type-msg:before {
    left: 1em;
}

.h-type-msg:after {
    right: 1em;
}

.group-h {
    margin-bottom: var(--sp-padding-v);
    line-height: 1.4;
}

.group-h h3 {
    font-size: var(--sp-ttl-size);
    margin: 0 auto 1em;
}

.group-h h4 {
    font-size: 1.5rem;
}


/* SP 下層 - ヘッダービジュアル・セクション基本スタイル
--------------------------------------------------------------- */

.header-low-visual {
    height: 100px;
}

.section-content {
    font-size: inherit;
    padding: var(--sp-padding-v) 0;
}

.style-fsize-default {
    font-size: inherit;
}


/* SP 下層 - 保護者の方へ
--------------------------------------------------------------- */

.section-parent {
    margin-bottom: var(--sp-padding-v);
}

.block-movie {
    margin-bottom: var(--sp-padding-v);
}

.section-message {
    margin-bottom: 40px;
}

.list-message {
    display: block;
}

.list-message &gt; li {
    width: auto;
}

.list-message &gt; li:not(:last-child) {
    margin-bottom: 40px;
}

.list-message img {
    display: block;
    margin-inline: auto;
    border-radius: 20px;
}

.list-message figcaption {
    position: relative;
    right: auto;
    top: auto;
    min-height: 0;
    padding: var(--sp-padding);
    border-radius: 20px;
    margin-top: var(--sp-padding-v);
}

.list-message figcaption:after {
    top: -20px;
    width: 26px;
    height: 20px;
}

.dl-faq &gt; dl {
    font-size: 1.5rem;
    border-radius: 20px;
}

.dl-faq &gt; dl:not(:last-child) {
    margin-bottom: 20px;
}

.dl-faq dt,
.dl-faq dd {
    padding: 1.3em 63px 1.5em;
}

.dl-faq dt {
    background: url(../img/parent/faq_q.svg) left 25px top 20px / 40px auto no-repeat;
    background-size: 28px auto;
    background-position: left 18px center;
}

.dl-faq dd {
    background: url(../img/parent/faq_a.svg) left 25px top 20px / 40px auto no-repeat;
    background-size: 28px auto;
    background-position: left 18px top 19px;
    padding-right: 1.5em;
}

.dl-faq dt:after {
    right: 24px;
    width: 24px;
    height: 24px;
}

.strong-title {
    font-size: var(--sp-ttl-size);
    margin-bottom: 1em;
}

/* SP 下層 - スクール案内
--------------------------------------------------------------- */

.ttl-feature {
    margin-bottom: 40px;
}

.list-feature-detail {
    display: block;
    margin: 0 0 -40px;
}

.list-feature-detail &gt; li {
    border-radius: 20px;
    padding: var(--sp-padding-v) var(--sp-padding);
    margin-bottom: 40px;
}

.list-feature-detail :is(.is-1, .is-2, .is-3, .is-4, .is-5, .is-6) {
    width: 100%;
}

.list-feature-detail .cs-number {
    font-size: 4.2rem;
}

.list-feature-detail .cs-ttl {
    font-size: var(--sp-ttl-size);
    line-height: 1.6;
}


/* - SP 個別スタイル */

/* -- SP 01 */
.list-feature-detail .is-1 .cs-list-course {
    margin-top: 20px;
}

.list-feature-detail .is-1 .cs-list-course .cs-box {
    width: calc(33.33% - 5px);
}

.list-feature-detail .is-1 .cs-list-course .cs-txt {
    min-height: 100px;
    margin: 1em 0 .5em;
}

/* -- SP 02 */
.list-feature-detail .is-2 .cs-img-friend {
    width: auto;
    margin: 20px 0 0;
}

/* -- SP 03 */
.list-feature-detail .is-3 {}

.list-feature-detail .is-3 .cs-txt {
    width: auto;
}

.list-feature-detail .is-3 .cs-img {
    width: 100%;
    margin-top: 1em;
}

.list-feature-detail .is-3 .cs-img figure {
    width: calc(50% - 5px);
    text-align: center;
}

/* -- SP 04 */
.list-feature-detail .is-4 .cs-flex {
    display: block;
}

.list-feature-detail .is-4 .cs-txt {
    width: auto;
}

.list-feature-detail .is-4 .cs-img {
    width: auto;
    margin-top: var(--sp-padding-v);
}

.list-feature-detail .is-4 .cs-box {
    width: auto;
}

.list-feature-detail .is-4 .cs-box:not(:last-child) {
    margin-bottom: 40px;
}

/* -- SP 05 */
.list-feature-detail .is-5 .cs-message {
    font-size: var(--sp-ttl-size);
    margin: var(--sp-padding-v) 0 10px;
}

.list-feature-detail .is-5 .cs-message:before,
.list-feature-detail .is-5 .cs-message:after {
    height: 48px;
}

.list-feature-detail .is-5 .cs-message-txt {
    font-size: .87em;
    margin-top: 1em;
}


/* -- SP 06 */
.list-feature-detail .is-6 .cs-img {
    margin-top: 1.2em;
}


/* -- SP 01 - 06 */
.list-feature-detail .cs-subttl1 {
    font-size: var(--sp-ttl-size);
    margin: var(--sp-padding-v) 0 .5em;
}

.list-feature-detail .cs-subttl2 {
    font-size: var(--sp-subttl-size);
    font-weight: 700;
}

.list-feature-detail .cs-subttl2:before {
    width: 26px;
    height: 26px;
    border-radius: 13px;
    margin: 0 8px 0 0;
}



/* SP 下層 - 学費・入学案内
--------------------------------------------------------------- */

.list-course-anchor {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list-course-anchor &gt; li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
}

.list-course-anchor a {
    font-size: 1rem;
    border-width: 3px;
    border-bottom-width: 30px;
    border-radius: 20px;
    padding: 12px 0;
}

.list-course-anchor a:after {
    bottom: -20px;
    width: 19px;
    height: 11px;
}

.list-course-anchor h3 {
    font-size: 2.52rem;
    height: 80px;
    line-height: 1.2;
    background: url(../img/common/bg_school_standard.svg) center center / 90px auto no-repeat;
    margin-bottom: .4em;
}

.list-course-anchor h3 &gt; span {
    font-size: .66em;
}

.block-guidance {
    border-width: 3px;
    border-radius: 20px;
    padding: var(--sp-padding);
}

.block-guidance:not(:last-child) {
    margin-bottom: var(--sp-padding-v);
}

.block-guidance .cs-flex {
    display: block;
}

.txt-ttl {
    font-size: var(--sp-ttl-size);
}

.block-guidance.is-course {
    padding-top: var(--sp-padding);
    padding-bottom: var(--sp-padding);
}

.block-guidance &gt; .cs-flex .block-course-fee {
    width: auto;
}

.block-guidance &gt; .cs-flex .block-course-fee:not(:last-child) {
    margin-bottom: var(--sp-padding);
}

.block-course-fee {
    padding: var(--sp-padding);
    border-radius: 20px;
}

.block-course-fee dd {
    font-size: 1.66em;
}

.block-course-fee .cs-flex dl {
    width: auto;
    padding: 0;
}

.block-course-fee .cs-flex dl:not(:last-child) {
    margin-bottom: 10px;
}

.block-guidance.is-course h3 {
    font-size: var(--sp-ttl-size);
    margin-bottom: .4em;
}

.block-guidance.is-course h4 {
    border-width: 2px;
}

.block-guidance .cs-note {
    font-size: .77em;
    margin-top: 1em;
}

.ttl-appflow {
    font-size: 2.1rem;
    white-space: nowrap;
    font-feature-settings: "palt";
    margin: 0 calc(-1 * var(--sp-padding)) .6em;
}

.ttl-appflow:before,
.ttl-appflow:after {
    width: 3px;
    height: 1em;
    margin: 0 .5em;
}

.ttl-appflow:after {
    transform: rotate(20deg);
}

.list-appflow {
    position: relative;
    padding: 0;
    margin: 0;
}

.list-appflow:after {
    left: 0;
    right: 0;
    width: 4px;
}

.list-appflow &gt; li {
    display: block;
    height: auto;
    border-radius: 20px;
    border-width: 3px;
    padding: 1em;
}

.list-appflow &gt; li:not(:last-child) {
    margin-bottom: var(--sp-padding);
}

.list-appflow .cs-num {
    width: 46px;
    height: 46px;
    border-radius: 23px;
    font-size: 2.4rem;
    margin: 0 auto 10px;
}

.list-appflow h3 {
    width: auto;
    text-align: center;
    font-size: var(--sp-ttl-size);
    margin-bottom: 0;
    line-height: 1;
}

.list-appflow .cs-txt {
    display: block;
    width: auto;
    height: 100%;
    background: #fff;
    border-radius: 12px;
    padding: 1em;
    margin-top: 1em;
}

.section-tuition {
    font-size: 1.5rem;
    padding: var(--sp-padding-v);
    border-radius: 20px;
}

.section-tuition h2 {
    font-size: var(--sp-ttl-size);
}

.ttl-admission-message {
    position: relative;
    font-size: var(--sp-subttl-size);
    padding: 0 2.5em;
    margin: var(--sp-padding-v) 0 -15px;
    line-height: 1.6;
}

.ttl-admission-message:before,
.ttl-admission-message:after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40px;
    height: 26px;
    margin: auto;
}

.ttl-admission-message:before {
    left: -10px;
}

.ttl-admission-message:after {
    right: -10px;
}



/* SP 下層 - サクセスシステム
--------------------------------------------------------------- */

.ttl-success {}

.ttl-sub-success {
    text-align: left;
    font-size: var(--sp-subttl-size);
    margin: 2em 0 2.5em;
}

.ttl-sub-success,
.ttl-sub-success em {}

.ttl-sub-success .txt-maker {}

.figure-success {
    padding: 0 var(--sp-padding-v);
    margin-bottom: var(--sp-padding-v);
}


/* SP 下層 - 在校生インタビュー
--------------------------------------------------------------- */

.ttl-interview {
    margin-bottom: 40px;
}

.list-interview {
    display: block;
}

.list-interview &gt; li {
    width: auto;
    font-size: 1.5rem;
    margin-bottom: 50px;
}

.list-interview &gt; li:last-child {
    margin-bottom: 0;
}

.list-interview &gt; li:nth-child(odd) {
    margin-top: 0;
}

.list-interview h3,
.list-interview .cs-title {
    display: block;
    height: auto;
    text-align: center;
    font-size: var(--sp-subttl-size);
    padding: .8em 2em;
    border-radius: 40px;
    margin-bottom: 1em;
}


/* SP 下層 - 卒業生インタビュー
--------------------------------------------------------------- */


.ttl-obog {
    margin-bottom: 20px;
}

.block-ogob-pickup {
    border-radius: 20px;
    padding: var(--sp-padding);
    margin-bottom: 50px;
}

.block-ogob-pickup .cs-block {
    display: block;
    width: auto;
    padding: var(--sp-padding);
    border-radius: 20px;
    margin-bottom: 40px;
}

.block-ogob-pickup .cs-block:after {
    position: absolute;
    top: auto;
    bottom: -20px;
    left: 0;
    right: 0;
    width: 26px;
    height: 20px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.block-ogob-pickup .cs-block .cs-box {
    width: 100%;
}

.block-ogob-pickup .cs-block .cs-box:nth-of-type(1) {
    padding: 0 0 20px;
}

.block-ogob-pickup .cs-block .cs-box:nth-of-type(2) {
    padding: 20px 0 0;
    border: 0;
    border-top: 2px dotted var(--keycolor);
}

.block-ogob-pickup .cs-block h3 {
    font-size: var(--sp-subttl-size);
    margin-bottom: .5em;
}

.block-ogob-pickup .block-obog {
    position: relative;
    right: auto;
    bottom: auto;
    margin: auto;
    width: 240px;
}

.block-ogob-pickup .block-obog img {
    width: 170px;
    margin: 0 auto;
}

.block-balloon-txt {
    position: relative;
    color: var(--keycolor);
    font-weight: 700;
    font-size: 1.8rem;
    background: var(--obog-color);
    border-radius: 20px;
    padding: .8em 1.5em .9em;
    margin-bottom: 25px;
    line-height: 1.8;
}

.block-balloon-txt:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    display: block;
    width: 26px;
    height: 20px;
    background: var(--obog-color);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    margin: auto;
}

.list-ogob {
    display: block;
}

.list-ogob &gt; li {
    width: auto;
}

.list-ogob &gt; li:not(:last-child) {
    margin-bottom: 50px;
}

.list-ogob figure {
    width: auto;
    margin: 0 auto 1.5em;
}

.block-obog figcaption {
    width: 100%;
    max-width: 240px;
    height: 80px;
    margin: 0 auto;
}

.block-obog figcaption .cs-cap,
.block-obog figcaption .cs-name {
    width: auto;
}


.block-obog figcaption .cs-name {
    font-size: 1.12em;
    padding-top: 8px;
    border-top: 1px solid #fff;
    margin-top: 8px;
}


/* SP 下層 - プライバシーポリシー
--------------------------------------------------------------- */

.block-privacy-intro {
    text-align: left;
    margin-bottom: var(--sp-padding-v);
}

.list-privacy {
    border-width: 2px;
    padding: var(--sp-padding-v);
}


/* SP お問い合わせ
--------------------------------------------------------------- */

.block-form-target {
    padding: var(--sp-padding-v) 0;
}

.section-form {
    padding-bottom: var(--sp-padding-v);
}

.dl-form {
    display: block;
    border-top-width: 2px;
}

.dl-form dt,
.dl-form dd {
    padding: 1em;
    border-bottom-width: 2px;
}

.dl-form dt {
    display: block;
    text-align: center;
    width: auto;
    font-size: 1.12em;
    padding: .5em;
    border-bottom-style: dashed;
}

.dl-form dd {
    width: auto;
    padding: 2em 1em 4em;
}

.dl-form dt.is-req:after {
    position: relative;
    right: auto;
    top: auto;
    bottom: auto;
    font-size: 1.4rem;
    padding: .3em .5em;
    margin: 0 0 0 .5em;
}


.list-form {
    display: block;
    margin-bottom: -1em;
}

.list-form &gt; li {
    width: auto;
    padding: 0 .5em 1em 0;
}

.list-form:after {
    content: normal;
}

.list-form.is-vertical &gt; li {
    width: auto;
}

.list-form.is-halfsize &gt; li {
    width: auto;
}

.list-form.is-halfsize &gt; li:last-child {
    width: auto;
}

form label {
    line-height: 1.4;
}

form input[type="radio"] {
    width: 16px;
    height: 16px;
    border-radius: 8px;
    margin: 0 8px 2px 0;
}

form input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0 8px 2px 0;
}


form input[type="text"],
form input[type="tel"],
form input[type="email"],
form textarea,
form select {
    font-size: 1.6rem;
    border-bottom: 2px solid #ccc;
    padding: .5em 1em;
}

form textarea {
    height: 200px;
}

.group-input {}

.group-input input {
    width: calc(50% - 5px);
}

.dl-form .cs-input-number {}

.dl-form .cs-input-number input:first-child {
    width: 70px;
}

.dl-form .cs-input-number input:last-child {
    width: 140px;
}

.dl-form .cs-input-max input {
    width: 100%;
}

.group-address .cs-select,
.group-address .cs-select select {
    width: 100%;
}

.group-address .cs-select:after {
    right: 10px;
    width: 17px;
    height: 10px;
}

.group-address h3 {}

.group-address &gt; div {}

.group-submit-btn {
    display: block;
    padding-top: var(--sp-padding-v);
}

.group-submit-btn .wrap-btn-type1 {
    width: auto;
}

.group-submit-btn.is-confirm {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.group-submit-btn.is-confirm .wrap-btn-type1 {
    width: 100%;
    margin: 0 auto var(--sp-padding-v);
}

.group-submit-btn.is-confirm .wrap-btn-type1.is-back {
    order: 2;
}

.wrap-btn-type1.is-back {
    width: 100%;
    margin: 0;
}

.wrap-btn-type1.is-back .btn-type1:before {
    left: 20px;
}

.group-submit-btn.is-confirm .wrap-btn-type1:not(:last-child) {
    margin-bottom: var(--sp-padding-v);
}

.block-form-comp {
    font-size: 1em;
    text-align: left;
}


/* SP 下層 - LP 2024
--------------------------------------------------------------- */

/* - SP LP 2024 - パーツモジュール */

/* -- SP マーカー */
.marker {
    background: linear-gradient(transparent 75%, #FFF000 0%);
}


/* -- SP ボタン */
.button-1 {
    gap: 0 15px;
    width: auto;
    height: 56px;
    border-radius: 28px;
    margin: 2em auto 0;
}

.button-1.is-movie::before {
    width: 32px;
}


/* -- SP 予約・問い合わせボタン */
.button-2 {}

.button-2 &gt; span {
    height: 70px;
    font-size: 1.6rem;
    padding: 0 2em 0 0;
    border-radius: 10px;
    line-height: 1.4;
}

.button-2 &gt; span::before {
    right: 10px;
    width: 14px;
}

.button-2::after {
    bottom: -4px;
    height: 70px;
    border-radius: 10px;
}


/* -- SP メッセージを表示 */
.details-message {
    position: relative;
    margin-inline: auto;
    z-index: 2;
}

.details-message summary {
    width: calc(100% - 40px);
    height: 52px;
    font-size: 1.5rem;
    border-radius: 26px;
}

.details-message summary .ico {
    right: 20px;
    width: 16px;
}


.details-message .cs-content {
    top: 26px;
    font-size: .9em;
    border-radius: 15px;
}


.details-message .cs-inner {
    padding: 40px 20px 20px;
}



/* - SP LP 2024 - 全体コンテナ */

.section-overview {
    --content-margin: 40px;
}


/* - SP LP 2024 - 目次 */

.details-index {
    position: relative;
    padding: 0 calc(var(--sp-padding) * 2);
    margin: 30px auto 50px;
}

.details-index summary {
    width: 100%;
    height: 52px;
    font-size: 1.5rem;
    border-radius: 26px;
}

.details-index .cs-content {
    top: 28px;
    width: calc(100% - calc(var(--sp-padding) * 2));
    border-radius: 15px;
}


.details-index .cs-inner {
    padding: 30px 30px 10px;
}

.details-index li a {
    font-size: 1.6rem;
    padding: 20px;
    line-height: 1.4;
}



/* - SP LP 2024 - 保護者の方へ */

.section-overview-guidance {
    font-size: var(--sp-subttl-size);
}

.section-overview-guidance .cs-title {
    font-size: var(--sp-ttl-size);
    margin-bottom: 1em;
}

.section-overview-guidance p {
    text-align: left;
    margin-bottom: 1em;
}

.section-overview-guidance .cs-thumbnail {
    margin: 0 auto 20px;
}

.section-overview-guidance .cs-thumbnail img {
    border-radius: 10px;
}



/* - SP LP 2024 - 特徴 */

.section-overview-feature {}

.section-overview-feature .cs-main-title {
    margin-bottom: 40px;
}

.section-overview-feature .cs-feature-list {
    display: grid;
    grid-auto-columns: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 30px 0;
    grid-template-areas: "is-1"
        "is-2"
        "is-3"
        "is-4"
        "is-5";
}

.section-overview-feature .cs-feature-list &gt; li {
    padding: var(--sp-padding-v) var(--sp-padding);
    border-radius: 20px;
}

.section-overview-feature .cs-feature-list .cs-title {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
    font-size: 2.16rem;
}

.section-overview-feature .cs-feature-list .cs-number {
    font-size: 4.2rem;
}

.section-overview-feature .cs-feature-list &gt; .is-1 {
    grid-area: is-1;

    .cs-title {
        margin-bottom: 1em;
    }

    .cs-point li:not(:last-child) {
        margin-bottom: .5em;

    }

    .cs-course-list {
        display: grid;
        gap: 10px;
    }

    .cs-course-list &gt; li {
        display: grid;
        grid-template-columns: 60px auto 60px;
        align-items: center;
        gap: 5px 15px;
        font-size: 1.4rem;
        padding-bottom: 10px;
    }

    .cs-course-list .is-note {
        padding-left: calc(60px + 15px);
    }

}

.section-overview-feature .cs-feature-list &gt; .is-2 {
    grid-area: is-2;

    .cs-title {
        margin-bottom: 1em;
    }

    figure {
        text-align: center;
    }

}

.section-overview-feature .cs-feature-list &gt; .is-3 {
    grid-area: is-3;

    grid-template-columns: auto;
    gap: 30px 0;

    .cs-title {
        margin-bottom: 1em;
    }

    figure {
        text-align: center;
    }
}

.section-overview-feature .cs-feature-list &gt; .is-4 {
    grid-area: is-4;

    grid-template-columns: auto;
    gap: 30px 0;

    .cs-title {
        margin-bottom: 1em;
    }

    .cs-sub-title {
        font-size: 1.4rem;
        margin-bottom: .5em;
    }

    .cs-note {
        font-size: 1.4rem;
        margin-top: .5em;
    }

    .cs-school-list li:not(:last-child) {
        margin-bottom: 15px;
    }

    .cs-school-list figure {
        text-align: center;
        margin-bottom: 5px;
    }

    .cs-school-name a {
        gap: 0 8px;
        font-size: var(--sp-subttl-size);
    }

    .cs-school-name a::before {
        width: 20px;
        border-radius: 10px;
    }


}

.section-overview-feature .cs-feature-list &gt; .is-5 {
    grid-area: is-5;

    .cs-title {
        margin-bottom: 1em;
    }

    .cs-figures {
        display: grid;
        grid-template-columns: auto;
        gap: 30px 0;
    }

    .cs-message p {
        font-size: 1.4rem;
    }

    .cs-message h4 {
        font-size: var(--sp-ttl-size);
    }

    .cs-message h4::before {
        width: 46px;
    }

    .cs-message h4::after {
        width: 54px;
    }

    figure {
        width: fit-content;
        margin-inline: auto;
        text-align: center;
    }

}


/* - SP LP 2024 - 在校生インタビュー */

.section-overview-interview {
    padding: var(--content-margin) 0;
}

.section-overview-interview li.is-other-color h3 {}

.list-interview .cs-sand {
    margin-block: 30px;
}


/* - SP LP 2024 - 卒業生インタビュー */

.section-overview-obog {}

.section-overview-obog .cs-obog-list {}

.section-overview-obog .cs-obog-block {
    width: 100%;
}

.section-overview-obog .cs-obog-block:not(:last-child) {
    margin-bottom: 40px;
}

.section-overview-obog .cs-obog-block figure {
    width: calc(100% - 40px);
    padding-bottom: 40px;
    margin: 0 auto 70px;
}

.section-overview-obog .cs-obog-block figure img {
    width: auto;
    height: 180px;
}

.section-overview-obog .cs-obog-block figcaption {
    bottom: -40px;
    width: 240px;
    height: 80px;
    font-size: 1.5rem;
    background: linear-gradient(162deg, #21ADE5 50%, #62C8F1 50%);
}

.section-overview-obog .cs-obog-block .cs-school {
    border-width: 1px;
}

.section-overview-obog .cs-obog-block .cs-name {
    font-size: 1.12em;
}

.section-overview-obog .cs-obog-block .cs-name::after {
    font-size: .66em;
}


/* - SP LP 2024 - SANKOサクセスシステム */

.section-overview-success {}

.section-overview-success .details-message {
    margin-top: 30px;
}

.section-overview-success .cs-title {
    font-size: var(--sp-subttl-size);
    text-align: left;
    margin-bottom: 1.5em;
}

.section-overview-success figure {
    padding: 0 var(--sp-padding-v);
}


/* - SP LP 2024 - 保護者からのメッセージ */

.section-overview-message {
    padding: var(--content-margin) 0;
}

.section-overview-message .section-message {
    margin-bottom: 0;
}

.section-overview-message .list-message {
    gap: 0;
}



/* - SP LP 2024 - 相談会予約・資料請求・お問い合わせ */

.section-consultation {
    margin-top: 40px;
}

.section-consultation .cs-consultation-message {
    font-size: 2rem;
    padding-inline: 1em;
    margin: 0 auto 1.5em;
}

.section-consultation .cs-consultation-message::before,
.section-consultation .cs-consultation-message::after {
    bottom: -.5em;
    width: 2px;
    height: 50px;
}

.section-consultation .cs-consultation-message::before {
    left: .5em;
}

.section-consultation .cs-consultation-message::after {
    right: .5em;
}

.section-consultation .cs-consultation-list {
    width: auto;
    gap: 20px;
}

.section-consultation .cs-consultation-list li {
    position: static;
}


/* - SP LP 2024 - よくある質問 */

.section-overview-faq {}


/* - SP LP 2024 - リンク用バナー */

.block-lp-banner {
    padding: calc(var(--sp-padding-v) * 2) var(--sp-padding);
}

.block-lp-banner img {
    max-width: 100%;
}

.block-lp-banner + .section-informations {
    padding-top: 0;
}


/* SP 共通モジュール - 3つのコース
--------------------------------------------------------------- */

.mod-course-list {
    display: grid;
    gap: 10px;

    .cs-point li:not(:last-child) {
        margin-bottom: .5em;

    }

}

.mod-course-list &gt; li {
    display: grid;
    grid-template-columns: 60px auto 60px;
    align-items: center;
    gap: 5px 15px;
    font-size: 1.4rem;
    padding-bottom: 10px;
}

.mod-course-list .is-note {
    padding-left: calc(60px + 15px);
}


/* SP 仙台教室
--------------------------------------------------------------- */

/* - SP 個別相談会の流れ */

.section-sendai-flow {
    --cs-benefit-title-height: auto;
    padding: var(--sp-padding-v) 0 0;

    /* -- SP セクション全体 */

    .conteiner-wrapper {
        margin: -40px 0 0;
    }

    .container-inner {
        padding: var(--sp-padding-v) var(--sp-padding);
    }

    /* -- SP 流れリスト */

    .list-flow {
        gap: 30px;
    }

    .list-flow &gt; li {
        width: 100%;
    }

    /* -- SP ボックス */

    .box {
        height: auto;
        padding: 25px;
    }

    .box::after {
        top: auto;
        left: 0;
        right: 0;
        bottom: -25px;
        width: 40px;
        aspect-ratio: 1/.5;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
    }

    .list-flow &gt; li:nth-of-type(5) .box::after {
        content: none;
    }


    .box h3,
    .box-benefit h3 {
        gap: .4em;
        font-size: var(--sp-ttl-size);
    }

    .box h3 .cs-number img {
        height: 24px;
    }

    .box figure {
        max-width: fit-content;
        margin: auto;
    }

    .box figcaption {
        bottom: 13px;
        width: 87.87%;
        border-radius: 14px;
    }

    /* -- SP 参加特典 */

    .box-benefit {
        height: auto;
    }

    .box-benefit h3 {
        margin-bottom: .5em;
    }

    .box-benefit h4 {
        font-size: 1.8rem;
        padding: calc(.7em - 4px) .7em .7em;
    }

    .cs-benefit {
        height: auto;
        border-radius: 20px;
    }

    .cs-benefit .cs-inner {
        height: auto;
        font-size: 1.8rem;
        padding: 20px;
        border-radius: 0 0 15px 15px;
    }

    /* -- SP 01 予約 */

    .cs-list-howto {
        gap: 10px;
        margin-top: 10px;
    }

    .cs-list-howto a {
        gap: 7px;
        height: 46px;
        font-size: 1.6rem;
        padding: 0 55px 0 24px;
        border-radius: 23px;
        background-position: right 15px center;
        background-size: 23px auto;
    }

    .cs-list-howto a.is-reservation {}

    .cs-list-howto a.is-line {}

    .cs-list-howto a.is-line::before {
        width: 26px;
    }

    .cs-list-howto a.is-tel {}

    .cs-list-howto a.is-tel::before {
        font-size: .87em;
        padding: .35em .85em;
        border-radius: .85em;
    }

}


/* SP 各種パーツ - ボタン
--------------------------------------------------------------- */

.wrap-btn-type1 {
    max-width: var(--sp-max-width);
    height: 52px;
    border-radius: 26px;
    padding-top: 4px;
}

.wrap-btn-type1.is-max-w {
    width: 100%;
    max-width: var(--sp-max-width);
}

.btn-type1 {
    height: 52px;
    border-radius: 26px;
    font-size: 1.5rem;
    padding: 0 2.5em;
    margin-top: -4px;
    background-size: var(--sp-arrow-size);
    background-position: var(--sp-arrow-pos);
}

.btn-type1.is-anchor {}

.btn-type1.is-anchor:after {
    position: relative;
    top: 2px;
    width: 13px;
    height: 10px;
    margin-left: 8px;
}


/* SP 各種パーツ - ページナビ
--------------------------------------------------------------- */
/*
.pa-pagenav .wp-pagenavi {
    font-size: 3.87vw;
}

.pa-pagenav .wp-pagenavi &gt; span,
.pa-pagenav .wp-pagenavi &gt; a {
    min-width: 8vw;
    min-height: 8vw;
    margin: 0 1.33vw 2.67vw;
}

.pa-pagenav .wp-pagenavi .pages {
    padding: 0 1em;
    margin-right: 1em;
}
*/

.pa-pagenav .wp-pagenavi {
    margin: 30px 0 0;
}


/* 固定メニュー用 アンカー位置調整
--------------------------------------------------------------- */

.anchor-block {
    scroll-margin-top: 80px;
    /*
	margin-top:-10px;
    padding-top:10px;
	*/
}
</pre></body></html>