@charset "UTF-8";

/*
 * Color palette
 * Main purple:       #635094
 * Light purple:      #7a68ad
 * Pale purple:       #e7e2f1
 * Junior high:       #6f74c9
 * Senior high:       #3f8f83
 * Hover background:  #dcd7f0
 * Text:              #333333 / #2e2e2e
 */

/* ========================================
   基本設定
======================================== */

.group-list .fm-yumin {
    letter-spacing: 0.2em;
    text-align: center;
}

.site-footer .footer-top .footer-top__nav .nav-pc > li a {
    font-size: 0.85rem;
}

.cat-name.cat-slug__viceprincipal {
    background: #514477 !important;
}

.fb-container {
    float: none;
    width: 100%;
}

main .note-info .note-info-bg {
    background: #e7e2f1;
}

@media (max-width: 767.98px) {
    body {
        color: #2e2e2e;
    }

    .fb-container {
        width: 350px;
        margin: 0 auto;
    }
}


/* ========================================
   ヘッダー・学校切り替え
======================================== */

@media (min-width: 768px) {
    header .header-top .navbar {
        padding: 32.5px 0 12.5px;
    }
}

header .chage-school {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 10px;
    background: #635094;
    border-radius: 0 0 8px 8px;
}

header .chage-school a {
    display: flex;
    align-items: center;
    color: #ffffff;
    font-size: 0.8125rem;
}

header .chage-school-sp {
    padding: 10px;
    margin-bottom: 15px;
    background: #4b3b8f;
    border-radius: 8px;
}

header .chage-school-sp a {
    display: block;
    color: #ffffff;
    text-align: center;
}

@media (max-width: 767.999px) {
    header .chage-school {
        display: none;
    }
}

@media (max-width: 767.98px) {
    header .navbar .navbar-brand img {
        width: 260px;
    }
}


/* ========================================
   動画ボタン
======================================== */

a.btn.btn-link-movie {
    color: #514477;
    background: #ffffff;
    border: 1px solid #514477;
    font-size: 1.125rem;
    line-height: 1;
}

@media (min-width: 768px) {
    a.btn.btn-link-movie {
        min-width: 320px;
        padding: 10px 0;
        margin-top: 24px;
    }
}

@media (max-width: 767.98px) {
    a.btn.btn-link-movie {
        display: block;
        padding: 15px 0;
        margin-top: 11px;
    }
}


/* ========================================
   PCメインメニュー
======================================== */

header .header-bottom.header-pc {
    background: #635094;
}

header .header-bottom.header-pc .nav > li > a,
header .header-bottom.header-pc .dropdown-toggle {
    color: #ffffff;
    background: #635094;
}

header .header-bottom.header-pc .nav > li > a:hover,
header .header-bottom.header-pc .menu-item-has-children:hover > .dropdown-toggle {
    color: #ffffff;
    background: #7a68ad;
}

header .header-bottom.header-pc .dropdown-menu {
    padding: 0;
    background: #e7e2f1;
    border: none;
}

header .header-bottom.header-pc .dropdown-menu .dropdown-item {
    color: #635094 !important;
    background: #e7e2f1 !important;
    border-top: 1px solid #ffffff !important;
}

header .header-bottom.header-pc .dropdown-menu .dropdown-item:hover,
header .header-bottom.header-pc .dropdown-menu .dropdown-item:focus,
header .header-bottom.header-pc .dropdown-menu .dropdown-item:active {
    color: #ffffff !important;
    background: #635094 !important;
}


/* ========================================
   スマホヘッダー・ハンバーガーメニュー
======================================== */

@media (max-width: 767.98px) {
    header .header-top {
        background: #ffffff;
        border-bottom: 1px solid #dddddd;
    }

    header .navbar-toggler,
    header .navbar-toggler i {
        color: #635094 !important;
        background: transparent;
        border: none;
    }

    header .navbar-toggler:hover,
    header .navbar-toggler:focus,
    header .navbar-toggler:hover i,
    header .navbar-toggler:focus i {
        color: #7a68ad !important;
        outline: none;
        box-shadow: none;
    }

    header .header-top .header-sp {
        border-top: 1px solid #dddddd;
    }

    header .header-top .header-sp .nav > li > a {
        color: #635094 !important;
        border-bottom: 1px solid #dddddd;
    }

    header .header-top .header-sp .nav a {
        color: #635094;
    }

    header .header-top .header-sp .nav a::before,
    header .header-top .header-sp .nav a::after,
    header .header-top .header-sp .nav .dropdown-toggle::before,
    header .header-top .header-sp .nav .dropdown-toggle::after {
        color: #635094 !important;
        border-color: #635094 !important;
    }

    header .header-top .header-sp .nav i,
    header .header-top .header-sp .nav .fa,
    header .header-top .header-sp .nav .fas,
    header .header-top .header-sp .nav .far {
        color: #635094 !important;
    }

    header .header-top .header-sp .nav .dropdown-menu {
        background: #ffffff;
        border-bottom: 1px solid #dddddd;
    }

    header .header-top .header-sp .nav .dropdown-menu .dropdown-item {
        color: #635094 !important;
        background: #e7e2f1;
        border-bottom: 1px solid #dddddd;
    }

    header .header-top .header-sp .nav .dropdown-menu .dropdown-item:hover,
    header .header-top .header-sp .nav .dropdown-menu .dropdown-item:focus {
        color: #ffffff !important;
        background: #7a68ad;
    }
}


/* ========================================
   スマホフッターメニュー
======================================== */

@media (max-width: 767.98px) {
    .site-footer .footer-top__nav .nav-sp {
        display: flex;
        width: 100%;
        flex-flow: row wrap;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children {
        position: relative;
        flex: 1 1 100%;
        background: #635094 !important;
        border-bottom: 1px dotted #ffffff !important;
        text-align: center;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a {
        padding: 7px 0;
        color: #ffffff !important;
        background: #635094 !important;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a:hover,
    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a:focus,
    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a:active,
    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a[aria-expanded="true"] {
        color: #ffffff !important;
        background: #635094 !important;
        opacity: 1;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children > a::after {
        color: #ffffff !important;
        border: 0 !important;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children .dropdown-menu {
        width: 100%;
        padding: 0;
        margin: 0;
        background: #ffffff;
        border: none;
        text-align: center;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children .dropdown-menu .dropdown-item {
        position: relative;
        padding: 7px 0;
        color: #635094 !important;
        background: #ffffff !important;
        border-bottom: 1px dotted #635094 !important;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children .dropdown-menu .dropdown-item:last-child {
        border-bottom: none !important;
    }

    .site-footer .footer-top__nav .nav-sp > li.menu-item-has-children .dropdown-menu .dropdown-item::after {
        color: #635094 !important;
        border: 0 !important;
    }

    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children) {
        position: relative;
        flex: 0 1 50%;
        box-sizing: border-box;
        background: #ffffff !important;
        border-right: 1px dotted #635094 !important;
        border-bottom: 1px dotted #635094 !important;
    }

    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children) > a {
        display: block;
        padding: 7px 32px 7px 0;
        margin-left: 10px;
        color: #635094 !important;
        background: #ffffff !important;
        border: none !important;
    }

    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children) > a:hover,
    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children) > a:focus,
    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children) > a:active {
        color: #635094 !important;
        background: #ffffff !important;
    }

    .site-footer .footer-top__nav .nav-sp > li:not(.menu-item-has-children)::after {
        color: #635094 !important;
        border: 0 !important;
    }
}


/* ========================================
   各種ボタン
======================================== */

.btn.btn-block.btn-link-blog {
    color: #635094 !important;
    background-color: #ffffff !important;
    border: 1px solid #635094 !important;
    border-radius: 9999px !important;
}

.btn.btn-block.btn-link-blog:hover,
.btn.btn-block.btn-link-blog:focus,
.btn.btn-block.btn-link-blog:active {
    color: #ffffff !important;
    background-color: #635094 !important;
    border-color: #635094 !important;
}

.btn.btn-block.btn-link-blog.blog-s::after,
.btn.btn-block.btn-link-blog.blog-p::after {
    display: none !important;
    content: none !important;
}

.btn.btn-link-admission.adm-exam_s,
.btn.btn-link-admission.adm-exam_p {
    color: #635094 !important;
    background-color: #ffffff !important;
    border: 1px solid #635094 !important;
    border-radius: 0 !important;
}

.btn.btn-link-admission.adm-exam_s::before,
.btn.btn-link-admission.adm-exam_s::after,
.btn.btn-link-admission.adm-exam_p::before,
.btn.btn-link-admission.adm-exam_p::after,
.btn.btn-link-admission.adm-exam_s:hover::before,
.btn.btn-link-admission.adm-exam_s:hover::after,
.btn.btn-link-admission.adm-exam_p:hover::before,
.btn.btn-link-admission.adm-exam_p:hover::after,
.btn.btn-link-admission.adm-exam_s:focus::before,
.btn.btn-link-admission.adm-exam_s:focus::after,
.btn.btn-link-admission.adm-exam_p:focus::before,
.btn.btn-link-admission.adm-exam_p:focus::after {
    color: #635094 !important;
    border-color: #635094 !important;
}

.btn.btn-link-admission.adm-exam_s:hover,
.btn.btn-link-admission.adm-exam_s:focus,
.btn.btn-link-admission.adm-exam_s:active,
.btn.btn-link-admission.adm-exam_p:hover,
.btn.btn-link-admission.adm-exam_p:focus,
.btn.btn-link-admission.adm-exam_p:active {
    color: #635094 !important;
    background-color: #ffffff !important;
    border-color: #635094 !important;
}


/* ========================================
   投稿カード
======================================== */

main.main-top .post-list .p-title,
main.main-top .post-list .p-title a,
main.main-archive .post-list .p-title,
main.main-archive .post-list .p-title a {
    color: #333333 !important;
}

main.main-top .post-list .p-title a:hover,
main.main-top .post-list .p-title a:focus,
main.main-archive .post-list .p-title a:hover,
main.main-archive .post-list .p-title a:focus {
    color: #333333 !important;
}


/* ========================================
   スマホフッター：住所・電話番号
======================================== */

@media (max-width: 767.98px) {
    .site-footer .footer-top__info .info {
        width: 100%;
        margin-top: 12px;
        color: #333333;
        text-align: center;
    }

    .site-footer .footer-top__info .info__address,
    .site-footer .footer-top__info .info__tel {
        margin: 0;
        color: #333333 !important;
        line-height: 1.7;
        text-align: center !important;
    }

    .site-footer .footer-top__info .info__tel {
        margin-top: 4px;
    }

    .site-footer .footer-top__info .info__tel a,
    .site-footer .footer-top__info .info__tel a:visited {
        color: #635094 !important;
        text-decoration: none;
    }

    .site-footer .footer-top__info .info__tel a:hover,
    .site-footer .footer-top__info .info__tel a:focus,
    .site-footer .footer-top__info .info__tel a:active {
        color: #7a68ad !important;
        text-decoration: none;
    }
}


/* ========================================
   パンくず
======================================== */

.breadcrumbs a,
.breadcrumbs a:visited {
    color: #635094 !important;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus {
    color: #7a68ad !important;
    text-decoration: none;
}


/* ========================================
   下層ページ：サイドメニュー
   PCは常時表示／SPは開閉式
======================================== */

.main-page .sidebar-menu .nav {
    width: 100%;
}

.main-page .sidebar-menu .nav > li.menu-item-has-children > .nav-link,
.main-page .sidebar-menu .nav > li.menu-item-has-children > .dropdown-toggle {
    display: block;
    width: 100%;
    color: #ffffff !important;
    background-color: #635094 !important;
    border: none !important;
    font-weight: normal;
    text-align: center;
}

.main-page .sidebar-menu .nav > li.menu-item-has-children > .nav-link:hover,
.main-page .sidebar-menu .nav > li.menu-item-has-children > .nav-link:focus,
.main-page .sidebar-menu .nav > li.menu-item-has-children > .dropdown-toggle:hover,
.main-page .sidebar-menu .nav > li.menu-item-has-children > .dropdown-toggle:focus,
.main-page .sidebar-menu .nav > li.menu-item-has-children.show > .dropdown-toggle,
.main-page .sidebar-menu .nav > li.menu-item-has-children > .dropdown-toggle[aria-expanded="true"] {
    color: #ffffff !important;
    background-color: #635094 !important;
}

.main-page .sidebar-menu .dropdown-menu {
    width: 100%;
    padding: 0;
    margin: 0;
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
}

.main-page .sidebar-menu .dropdown-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: 16px 20px;
    color: #635094 !important;
    background-color: #ffffff !important;
    border-bottom: 1px dotted #7a68ad !important;
    font-weight: normal;
}

.main-page .sidebar-menu .dropdown-menu .dropdown-item:hover,
.main-page .sidebar-menu .dropdown-menu .dropdown-item:focus {
    color: #635094 !important;
    background-color: #e7e2f1 !important;
}

.main-page .sidebar-menu .dropdown-menu .dropdown-item.active,
.main-page .sidebar-menu .dropdown-menu .dropdown-item[aria-current="page"] {
    color: #7a68ad !important;
    background-color: #e7e2f1 !important;
}

@media (min-width: 768px) {
    .main-page .sidebar-menu .nav {
        border: none !important;
    }

    .main-page .sidebar-menu .nav > li.menu-item-has-children.mb-3 {
        margin-bottom: 0 !important;
    }

    .main-page .sidebar-menu .dropdown-menu {
        position: static !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        border-right: 1px solid #635094 !important;
        border-bottom: 1px solid #635094 !important;
        border-left: 1px solid #635094 !important;
        transform: none !important;
    }

    .main-page .sidebar-menu .dropdown-menu .dropdown-item:last-child {
        margin-bottom: 0 !important;
        border-bottom: none !important;
    }

    .main-page .sidebar-menu .dropdown-toggle::after {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .main-page .sidebar-menu {
        margin-bottom: 1rem;
    }

    .main-page .sidebar-menu .navbar {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .main-page .sidebar-menu .nav {
        width: 100%;
        padding: 0;
        margin: 0;
        border: none !important;
    }

    .main-page .sidebar-menu .nav > li.menu-item-has-children {
        width: 100%;
        padding: 0 !important;
        margin: 0 !important;
    }

    .main-page .sidebar-menu .nav > li.menu-item-has-children > .dropdown-toggle {
        position: relative;
        display: block;
        width: 100%;
        padding: 10px 42px 10px 15px;
        margin: 0;
        color: #ffffff !important;
        background-color: #635094 !important;
        border: none !important;
        border-radius: 0;
        line-height: 1.5;
        text-align: center;
    }

    .main-page .sidebar-menu .dropdown-menu {
        position: static !important;
        display: none !important;
        width: 100%;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        transform: none !important;
    }

    .main-page .sidebar-menu li.dropdown.show > .dropdown-menu,
    .main-page .sidebar-menu .dropdown-menu.show {
        display: block !important;
    }

    .main-page .sidebar-menu .dropdown-toggle::after {
        position: absolute;
        top: 50%;
        right: 16px;
        display: inline-block !important;
        margin: 0;
        color: #ffffff !important;
        border-color: #ffffff !important;
        transform: translateY(-50%);
    }

    .main-page .sidebar-menu .dropdown-menu .dropdown-item {
        width: 100%;
        padding: 11px 15px;
        color: #635094 !important;
        background: #ffffff !important;
        border-bottom: 1px dotted #7a68ad !important;
        text-align: center;
    }

    .main-page .sidebar-menu .dropdown-menu .dropdown-item:last-child {
        border-bottom: 1px solid #7a68ad !important;
    }
}


/* ========================================
   検索ボタン
======================================== */

button.btn.btn-search {
    color: #635094 !important;
    background-color: #ffffff !important;
}

button.btn.btn-search:hover,
button.btn.btn-search:focus,
button.btn.btn-search:active {
    color: #635094 !important;
    background-color: #dcd7f0 !important;
}


/* ========================================
   共通バナー：学校案内・説明会・出願
======================================== */

/* 学校説明会・イベント予約 */
.body-item.body-item2 .item-head {
    color: #ffffff !important;
    background-color: #6f74c9 !important;
}

.body-item.body-item2 .item-link a {
    color: #6f74c9 !important;
    background-color: #ffffff !important;
    border-color: #6f74c9 !important;
}

.body-item.body-item2 .item-link a::before,
.body-item.body-item2 .item-link a::after {
    color: #6f74c9 !important;
    border-color: #6f74c9 !important;
}

/* インターネット出願 */
.body-item.body-item3 .item-head {
    color: #ffffff !important;
    background-color: #3f8f83 !important;
}

.body-item.body-item3 .item-link a {
    color: #3f8f83 !important;
    background-color: #ffffff !important;
    border-color: #3f8f83 !important;
}

.body-item.body-item3 .item-link a::before,
.body-item.body-item3 .item-link a::after {
    color: #3f8f83 !important;
    border-color: #3f8f83 !important;
}

/* PC：各リンクのホバー */
.sidebar-banner:not(.sidebar-banner-sp) .body-item .item-link a:hover,
.sidebar-banner:not(.sidebar-banner-sp) .body-item .item-link a:focus,
.sidebar-banner:not(.sidebar-banner-sp) .body-item .item-link a:active {
    background-color: #dcd7f0 !important;
}

/* SP：親背景を左右・中央・下のカラー帯として表示 */
@media (max-width: 767.98px) {
    main .page-sidebar
    .sidebar-banner.sidebar-banner-sp
    .sidebar-banner-body
    .body-item.body-item1 {
        background-color: #635094 !important;
    }

    main .page-sidebar
    .sidebar-banner.sidebar-banner-sp
    .sidebar-banner-body
    .body-item.body-item2 {
        background-color: #6f74c9 !important;
    }

    main .page-sidebar
    .sidebar-banner.sidebar-banner-sp
    .sidebar-banner-body
    .body-item.body-item3 {
        background-color: #3f8f83 !important;
    }

    main .page-sidebar
    .sidebar-banner.sidebar-banner-sp
    .sidebar-banner-body
    .body-item
    .body-item-wrap
    .item-link {
        background-color: transparent !important;
    }
}


/* ========================================
   入試関連情報：中学・高校カラー
======================================== */

/* 中学入試 */
.nav-link-exam-j.active,
.cat-name.cat-slug__exam-j,
.adm-exam-j {
    color: #ffffff !important;
    background-color: #6f74c9 !important;
}

/* 高校入試 */
.nav-link-exam-h.active,
.cat-name.cat-slug__exam-h,
.adm-exam-h {
    color: #ffffff !important;
    background-color: #3f8f83 !important;
}

/* 非選択状態のタブ */
.nav-link-exam-j {
    color: #ffffff !important;
    border-color: #6f74c9 !important;
}

.nav-link-exam-h {
    color: #ffffff !important;
    border-color: #3f8f83 !important;
}

/* ========================================
   投稿詳細ページ：本文文字色
======================================== */

main.main-single .page-body .page-body__content {
    color: #2e2e2e;
}

main.main-single .page-body .page-body__content p,
main.main-single .page-body .page-body__content li,
main.main-single .page-body .page-body__content dt,
main.main-single .page-body .page-body__content dd,
main.main-single .page-body .page-body__content th,
main.main-single .page-body .page-body__content td,
main.main-single .page-body .page-body__content strong,
main.main-single .page-body .page-body__content em {
    color: #2e2e2e !important;
}

/* 本文内リンク */
main.main-single .page-body .page-body__content a,
main.main-single .page-body .page-body__content a:visited {
    color: #635094 !important;
}

main.main-single .page-body .page-body__content a:hover,
main.main-single .page-body .page-body__content a:focus {
    color: #7a68ad !important;
}

