@charset "UTF-8"; /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    background-image: url("../../images/page/outline/outline_title_bg.jpg");
}

@media (max-width: 768px) {
    .page_promo {
        background-image: url("../../images/page/outline/outline_title_bg_sp.jpg");
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学校の紹介ー校長挨拶*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-greeting-greeting {
    padding-bottom: 11rem;
}

.p-greeting-greeting__2cols {
    display: flex;
    justify-content: space-between;
    max-width: 110rem;
    margin-top: 5.5rem;
    margin-right: auto;
    margin-left: auto;
    gap: 4.5rem;
}

.p-greeting-greeting__2cols-text {
    width: calc(100% - 42rem);
    line-height: 2.25;
}

.p-greeting-greeting__2cols-text.txt_wrap p:not(:last-child) {
    margin-bottom: 4.5rem;
}

.p-greeting-greeting__bg-box {
    display: inline-block;
    position: relative;
    width: 42rem;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
}

.p-greeting-greeting__bg-box img {
    border-radius: 4rem 0 4rem 0;
}

.p-greeting-greeting__name-pos {
    font-size: 2.2rem;
}

.p-greeting-greeting__names {
    display: flex;
    justify-content: flex-end;
    margin-top: 3rem;
    gap: 2rem;
    position: relative;
}

.spirit_wrap {
    position: relative;
    z-index: 0;
    padding: 12.5rem 0 15rem;
}

.spirit_wrap::after {
    position: absolute;
    content: "";
    width: 100vw;
    height: 100%;
    margin: 0 calc(50% - 50vw);
    top: 0;
    left: 0;
    background: #F5F9FC;
    z-index: -1;
}

.spirit_wrap div.sprit_inner.grid {
    grid-template-columns: 1fr 50rem;
    justify-content: space-between;
    gap: 5rem;
}

.spirit_wrap div.sprit_inner.grid p.txt {
    line-height: 2.25;
}

.history {
    padding: 11rem 0 0;
}

.history dl.cmn_data_list {
    margin: 0 auto;
    padding: 0;
}

.history dl.cmn_data_list .data_item {
    grid-template-columns: 20rem 1fr;
}

.history dl.cmn_data_list .data_item > * {
    padding: 2rem 2rem;
}

.history dl.cmn_data_list .data_item dt {
    color: inherit;
    line-height: 1.5;
    border-color: var(--theme_m_color) !important;
}

.history.history.history dl.cmn_data_list .data_item dd {
    padding-left: 2rem;
    padding-right: 2rem;
    line-height: 1.75;
}

@media (max-width : 768px) {
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学校の紹介ー校長挨拶*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    .p-greeting-greeting__2cols {
        flex-direction: column;
    }

    .p-greeting-greeting__2cols-text {
        width: 100%;
    }

    .p-greeting-greeting__bg-box {
        width: 50rem;
        display: table;
    }

    .p-greeting-greeting__name-pos {
        font-size: 3.2rem;
        display: block;
    }

    .p-greeting-greeting__names {
        flex-direction: column;
        align-items: flex-end;
        max-width: 50rem;
        margin: 2rem auto 0;
        gap: 0.5rem;
    }

    .p-greeting-greeting__names img {
        width: 20.7rem;
    }

    .spirit_wrap div.sprit_inner.grid {
        grid-template-columns: 1fr;
    }

    .spirit_wrap div.sprit_inner.grid p.img {
        width: 62rem;
        margin: 0 auto;
    }

    .history dl.cmn_data_list .data_item {
        border: none !important;
        padding: 0;
    }

    .history dl.cmn_data_list .data_item > * {
        border-bottom: 1px solid !important;
        display: grid;
        align-items: center;
    }

    .history dl.cmn_data_list .data_item:first-child > * {
        border-top-width: 1px;
        border-top-style: solid;
        display: grid;
    }

    .history dl.cmn_data_list .data_item dt {
        margin: 0;
    }

    .history.history.history dl.cmn_data_list .data_item dd {
        border-color: #C8C8C8 !important;
        padding: 3rem 2rem;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グランドデザイン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
    --gd01_color: #77BE30;
    --gd02_color: #30A787;
    --gd03_color: #1B9FB4;
    --gd04_color: #0D6EB3;
}

h2.big_ttl {
    font-size: 3.8rem;
    letter-spacing: .04em;
    background: var(--theme_m_color);
    border-radius: 4rem 0 4rem 0;
    text-align: center;
    color: #fff;
    margin-bottom: 5rem;
    padding: 3.5rem 0 4rem;
    font-weight: 600;
}

h2.big_ttl .small {
    font-size: 70%;
    display: block;
    margin-top: .5rem;
}

.gd_box {
    background: #F8F8F8;
    padding: 5.5rem 5rem 7.5rem;
    margin-bottom: 6rem;
}

.gd_box p.slug {
    font-family: "Jost", sans-serif;
    color: var(--theme_m_color);
    font-size: 2rem;
    letter-spacing: .06em;
    text-align: center;
    margin-bottom: 3rem;
}

.gd_box h2.ttl {
    width: 65.1rem;
    margin: 0 auto 2rem;
}

.gd_box p.main_txt {
    line-height: 2;
    text-align: center;
}

.gd_policy {
    padding-bottom: 1rem;
}

.gd_policy .inner {
    margin-bottom: 6rem;
}

.gd_bg_wrap {
    position: relative;
    padding: 11rem 0 0;
}

.gd_bg_wrap::after {
    position: absolute;
    content: "";
    background: #F5F9FC;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    top: 0;
    left: 0;
    height: 97%;
    z-index: -1;
}

.gd_bg_wrap .koukun {
    padding-bottom: 12rem;
}

.gd_bg_wrap .koukun h2.main_ttl {
    font-size: 3.8rem;
    letter-spacing: .04em;
    text-align: center;
    color: var(--theme_m_color);
    line-height: 1.5;
    margin-bottom: 7rem;
    font-weight: 600;
}

.gd_bg_wrap .koukun .inner.grid {
    grid-template-columns: 48rem 1fr;
    gap: 7rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items {
    display: grid;
    gap: 5.5rem;
    margin-top: 0rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.grid {
    grid-template-columns: repeat(2 , 1fr);
    gap: 0rem;
    align-items: center;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.wisdom.grid .ttl_area {
    width: 19.7rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.independence.grid .ttl_area {
    width: 23.2rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.nobillity.grid .ttl_area {
    width: 19.5rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.guts.grid .ttl_area {
    width: 23.7rem;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.grid .contents_area ul.cmn_maru_list li {
    font-size: 1.8rem;
    line-height: 1.45;
}

.gd_bg_wrap .koukun .inner.grid ul.items li.wisdom.grid .contents_area ul.cmn_maru_list li::before {
    background: var(--gd01_color);
}

.gd_bg_wrap .koukun .inner.grid ul.items li.independence.grid .contents_area ul.cmn_maru_list li::before {
    background: var(--gd02_color);
}

.gd_bg_wrap .koukun .inner.grid ul.items li.nobillity.grid .contents_area ul.cmn_maru_list li::before {
    background: var(--gd03_color);
}

.gd_bg_wrap .koukun .inner.grid ul.items li.guts.grid .contents_area ul.cmn_maru_list li::before {
    background: var(--gd04_color);
}

.gd_bg_wrap .mirai h2.big_ttl {
    margin-bottom: 6rem;
}

.gd_bg_wrap .mirai ul.grid.items {
    gap: 5rem 2rem;
    grid-template-columns: repeat(2 , 1fr);
}

.gd_bg_wrap .mirai ul.grid.items > li {
    background: #fff;
    border: 1px solid;
    padding: 6rem 3rem 5.5rem 4rem;
}

.gd_bg_wrap .mirai ul.grid.items > li.wisdom {
    border-color: var(--gd01_color);
}

.gd_bg_wrap .mirai ul.grid.items > li.independence {
    border-color: var(--gd02_color);
}

.gd_bg_wrap .mirai ul.grid.items > li.nobillity {
    border-color: var(--gd03_color);
}

.gd_bg_wrap .mirai ul.grid.items > li.guts {
    border-color: var(--gd04_color);
}

.gd_bg_wrap .mirai ul.grid.items li h3.ttl {
    text-align: center;
    margin-bottom: 4rem;
}

.gd_bg_wrap .mirai ul.grid.items li h3.ttl > span {
    display: block;
}

.gd_bg_wrap .mirai ul.grid.items li h3.ttl span.en {
    margin: 0 auto 1.5rem;
    min-height: 4.2rem;
}

.gd_bg_wrap .mirai ul.grid.items li.wisdom h3.ttl span.en {
    width: 18.4rem;
}

.gd_bg_wrap .mirai ul.grid.items li.independence h3.ttl span.en {
    width: 30.5rem;
}

.gd_bg_wrap .mirai ul.grid.items li.nobillity h3.ttl span.en {
    width: 18.5rem;
}

.gd_bg_wrap .mirai ul.grid.items li.guts h3.ttl span.en {
    width: 9.8rem;
}

.gd_bg_wrap .mirai ul.grid.items li h3.ttl span.ja {
    font-size: 2.8rem;
    letter-spacing: .04em;
    font-weight: 600;
}

.gd_bg_wrap .mirai ul.grid.items li .box:not(:last-of-type) {
    margin-bottom: 4rem;
}

.gd_bg_wrap .mirai ul.grid.items li .box h4.sub_ttl {
    font-size: 2.8rem;
    letter-spacing: .04em;
    text-align: center;
    margin-bottom: 1.5rem;
}

.gd_bg_wrap .mirai ul.grid.items li.wisdom h4.sub_ttl {
    color: var(--gd01_color);
}

.gd_bg_wrap .mirai ul.grid.items li.independence h4.sub_ttl {
    color: var(--gd02_color);
}

.gd_bg_wrap .mirai ul.grid.items li.nobillity h4.sub_ttl {
    color: var(--gd03_color);
}

.gd_bg_wrap .mirai ul.grid.items li.guts h4.sub_ttl {
    color: var(--gd04_color);
}

.gd_bg_wrap .mirai ul.grid.items li .box ul.cmn_maru_list li::before {
    top: 1rem;
    bottom: auto;
}

.gd_bg_wrap .mirai ul.grid.items li.wisdom .box ul.cmn_maru_list li::before {
    background: var(--gd01_color);
}

.gd_bg_wrap .mirai ul.grid.items li.independence .box ul.cmn_maru_list li::before {
    background: var(--gd02_color);
}

.gd_bg_wrap .mirai ul.grid.items li.nobillity .box ul.cmn_maru_list li::before {
    background: var(--gd03_color);
}

.gd_bg_wrap .mirai ul.grid.items li.guts .box ul.cmn_maru_list li::before {
    background: var(--gd04_color);
}

.gd_bg_wrap .adm_policy {
    margin-top: 12rem;
}

.adm_policy {
    margin-top: 12.5rem;
}

@media (max-width: 768px) {
    h2.big_ttl {
        font-size: 4.4rem;
        padding: 2.5rem 5rem;
    }

    h2.big_ttl .small {
    }

    .gd_box {
        margin-top: 7.5rem;
        padding: 6rem 6rem 9rem;
    }

    .gd_box p.slug {
        font-size: 2.4rem;
        margin-bottom: 5rem;
    }

    .gd_box h2.ttl {
        width: 44.2rem;
        margin-bottom: 4rem;
    }

    .gd_box p.main_txt {
        text-align: left;
        line-height: 1.75;
    }

    .gd_bg_wrap {
        padding: 11rem 0 0;
    }

    .gd_bg_wrap::after {
    }

    .gd_bg_wrap .koukun {
        padding-bottom: 9rem;
    }

    .gd_bg_wrap .koukun h2.main_ttl {
        font-size: 4.2rem;
    }

    .gd_bg_wrap .koukun .inner.grid {
        grid-template-columns: 1fr;
        gap: 5rem;
    }

    .gd_bg_wrap .koukun .inner.grid p.img {
        width: 48rem;
        margin: 0 auto;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        padding: 0 0rem;
        gap: 4.5rem;
        width: 100dvw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50dvw;
        margin-right: -50dvw;;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.grid {
        grid-template-columns: 26.9rem 1fr;
        gap: 4rem;
        padding: 0 0rem 0 5.5rem;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.wisdom.grid .ttl_area {
        width: 22.1rem;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.independence.grid .ttl_area {
        width: 26.1rem;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.nobillity.grid .ttl_area {
        width: 21.9rem;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.guts.grid .ttl_area {
        width: 26.9rem;
    }

    .gd_bg_wrap .koukun .inner.grid ul.items li.grid .contents_area ul.cmn_maru_list li {
        font-size: 2.4rem;
    }

    .gd_bg_wrap .mirai ul.grid.items {
        grid-template-columns: 1fr;
    }

    .gd_bg_wrap .mirai ul.grid.items > li {
        padding: 6rem 6rem 5.5rem 6rem;
    }

    .gd_bg_wrap .mirai ul.grid.items li.wisdom h3.ttl span.en {
        width: 23.6rem;
    }

    .gd_bg_wrap .mirai ul.grid.items li h3.ttl span.ja {
        font-size: 3.4rem;
    }

    .gd_bg_wrap .mirai ul.grid.items li .box h4.sub_ttl {
        font-size: 3.4rem;
        margin-bottom: 1rem;
    }

    .gd_bg_wrap .mirai ul.grid.items li .box ul.cmn_maru_list li::before {
        top: 1.5rem;
    }

    .gd_bg_wrap .adm_policy {
        padding-bottom: 20rem;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
設置コース
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.course_box:not(:last-of-type) {
    margin-bottom: 6rem;
}

.course_box p.sub_ttl {
    color: var(--theme_m_color);
    font-size: 3rem;
    letter-spacing: .04em;
    margin-bottom: 3rem;
}

@media (max-width : 768px) {
    .course_box h2.cmn_page_ttl {
        margin-bottom: 4rem;
        line-height: 1.3125;
    }

    .course_box p.sub_ttl {
        font-size: 3.6rem;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
設備・施設
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_facility .cmn_ttl_box p.main_txt {
    text-align: center;
    line-height: 1.75;
    margin-top: 3.5rem;
}

ul.facility_items.grid {
    gap: 5rem 6rem;
    grid-template-columns: repeat(2,1fr);
}

ul.facility_items.grid li .contents_area {
    padding: 3rem 0 0 2.5rem;
    display: grid;
    0rem: 0; gap: 0.5rem;
}

ul.facility_items.grid li h3.ttl {
    font-size: 3rem;
    color: var(--theme_m_color);
    letter-spacing: .04em;
    font-weight: 600;
}

ul.facility_items.grid li p.txt a {
    display: block;
    color: #0071BC;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .page_facility .cmn_ttl_box {
        margin-bottom: 5rem;
    }

    .page_facility .cmn_ttl_box p.main_txt {
        white-space: nowrap;
    }

    ul.facility_items.grid {
        grid-template-columns: 1fr;
        gap: 6rem;
    }

    ul.facility_items.grid li .contents_area {
        padding: 3rem 0 0 2rem;
        gap: 2rem;
    }

    ul.facility_items.grid li h3.ttl {
        font-size: 4rem;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学校の紹介ー交通アクセス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_access .p-access-main__map-wrapper iframe {
    width: 100%;
    height: 56rem;
    display: block;
    margin-bottom: 1rem;
}

.page_access .flex_r p.p-access-main__link {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 1rem;
}

.page_access .school_name {
    font-size: 2.8rem;
    letter-spacing: .04em;
    font-weight: 500;
}

.page_access .addr {
    line-height: 1.5;
}

.page_access .flex_r p.p-access-main__link a {
    border: 2px solid var(--theme_m_color);
    display: grid;
    align-items: center;
    border-radius: 5rem;
    background: #ffffff;
    padding: 1.2rem 8rem 1.2rem 4rem;
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
}

.page_access .flex_r p.p-access-main__link a:hover {
    background-color: var(--theme_m_color);
    color: #fff;
}

.page_access .flex_r p.p-access-main__link a:hover::before {
    border: 2px solid #fff;
}

.page_access .flex_r p.p-access-main__link a::after {
    position: absolute;
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    -webkit-mask: url(../../images/common/main_arrow_bold.svg) no-repeat center / .8rem auto;
    mask: url(../../images/common/main_arrow_bold.svg) no-repeat center / contain;
    background-color: var(--theme_m_color);
}

.page_access .flex_r p.p-access-main__link a:hover::after {
    background-color: #fff;
}

/*交通案内*/
.p-access-main__links {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 6.5rem;
}

.page-access .ttla04 {
    margin-top: 4rem;
}

.p-access-main__flex-bus {
    width: 58%;
}

.p-access-main__access-box .p-access-main__flex h3 {
    color: #333333;
}

.p-access-main__flex-bus h3 ,.p-access-main__flex-train h3 {
    margin-bottom: 1rem;
}

.p-access-main__flex-bus ul li::before ,.p-access-main__flex-train ul li::before {
    margin: 0;
    top: 1rem;
    bottom: auto;
}

@media (max-width : 768px) {
    .page_access .p-access-main__map-wrapper {
        margin-bottom: 2rem;
    }

    .page_access .p-access-main__map-wrapper iframe {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        height: 50rem;
    }

    .page_access .flex_r p.p-access-main__link {
    }

    .page_access .school_name {
        font-size: 4rem;
        text-align: center;
        margin-bottom: 1rem;
    }

    .page_access .addr {
        text-align: center;
        margin-bottom: 2rem;
    }

    .page_access .flex_r p.p-access-main__link a::after {
        width: 1.6rem;
        height: 1.6rem;
        right: 3rem;
    }

    .p-access-main__links {
        flex-direction: column;
    }

    .page_access .flex_r p.p-access-main__link {
        grid-template-columns: repeat(2,26rem);
        justify-content: center;
    }

    .page_access .flex_r p.p-access-main__link a {
        border-radius: 100vh;
        padding: 1.5rem 4rem;
        font-size: 2.6rem;
        width: 100%;
        border-width: 1px;
    }

    .p-access-main__flex-bus {
        width: inherit;
    }

    .p-access-main__flex-bus ul li::before ,.p-access-main__flex-train ul li::before {
        top: 1.5rem;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
学校の紹介ーご質問
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-faq-main .cmn_color_blue {
    color: var(--theme_m_color);
    font-weight: 500;
}

.p-faq-main .txt_deco {
    text-decoration: underline;
}

.p-faq-main .p-faq-main__inner .qa_wrap p.nav-open {
    position: relative;
    font-size: 2.4rem;
    font-weight: normal;
    padding: 3rem 3rem 3rem 10rem;
    border: 2px solid var(--theme_m_color);
    margin-bottom: 3rem;
    font-weight: 500;
}

.p-faq-main .p-faq-main__inner .qa_wrap p.nav-open::before {
    position: absolute;
    color: var(--theme_m_color);
    font-size: 1.5em;
    top: calc(50% - .8em);
    right: 2.5rem;
}

.p-faq-main .nav-open::after {
    content: "Q.";
    color: var(--theme_m_color);
    font-size: 4rem;
    top: .45em;
    left: 3rem;
    position: absolute;
    font-family: "Jost", sans-serif;
}

.p-faq-main .p-faq-main__inner .qa_wrap nav {
    padding: 0;
}

.p-faq-main .p-faq-main__inner .qa_wrap nav .contents {
    padding: 0rem 14rem 7rem 10rem;
    line-height: 2;
    position: relative;
}

.p-faq-main .p-faq-main__inner .qa_wrap nav .contents::after {
    content: "A.";
    color: #CEBD69;
    font-size: 4rem;
    top: 0;
    left: 3.5rem;
    position: absolute;
    font-family: "Jost", sans-serif;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .page_faq > .page_width {
        width: calc(100% - 7rem);
    }

    .p-faq-main .p-faq-main__inner .qa_wrap p.nav-open {
        font-size: 3.2rem;
        border-width: 1px;
        padding: 2rem 13rem 2rem 11rem;
        line-height: 1.5;
    }

    .p-faq-main .p-faq-main__inner .qa_wrap p.nav-open::before {
        right: 3.5rem;
    }

    .p-faq-main .nav-open::after {
        font-size: 5.2rem;
        top: 0;
        bottom: 0;
        margin: auto 0;
        line-height: 1;
        display: flex;
        align-items: center;
    }

    .p-faq-main .p-faq-main__inner .qa_wrap nav .contents {
        padding: 1rem 2rem 7rem 11rem;
        line-height: 1.75;
    }

    .p-faq-main .p-faq-main__inner .qa_wrap nav .contents::after {
        font-size: 5.2rem;
    }
}
