@charset "UTF-8";
/* CSS Document */

@media screen and (max-width:1179px) {
    #opencampus.top {
        font-family: YakuHanJP_Narrow, "noto-sans", sans-serif;
    }

    section.p07_01 {
        margin: 100px 0 60px;
    }

    .p07_01_inr {
        margin-bottom: 10px;
    }


    .p07_01_box {
        position: relative;
        height: 100%;
    }

    .p07_01_box_txt {
        font-size: var(--font-size-80-150);
        line-height: 1;
        color: rgba(255, 255, 255, 0.6);
        font-family: "century-gothic", "m-plus-1p", sans-serif;

        display: none;
    }

    h1.p07_01_box_ttl {
        color: var(--color-blue01);
        font-size: 27px;
        font-weight: 300;
        text-align: center;
        margin-bottom: 40px;
    }

    img.p07_s01_img02 {
        max-width: 760px;
        margin: 0 0 0 auto;
        width: 50vw;

        display: none;
    }

    ul.bread_list {
        display: flex;
        gap: 0.6em;
        align-items: center;
        line-height: 1;
        padding: 0 25px;
    }




    section.p07_s02 {
        margin: 60px 0;
    }


    .p07_s02_inr {
        max-width: 1370px;
        margin: 0 auto;
        width: calc(100vw - 50px);
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 3.8vw;
    }

    .p07_s02_box01 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 24px;
        margin-bottom: 43px;
        order:2;
    }

    .p07_s02_box01_ttl {
        background: #d5f0fe;
        background:#dddddd;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        align-content: center;
        padding: 0.6em;
        margin-bottom: 33px;
        border-radius: 10px;
    }

    .p07_s02_box01_blc {
        display: grid;
        grid-template-columns: 64px 1fr auto;
        grid-gap: 10px;
        align-items: center;
        position: relative;
        color:#838383;
    }

    .p07_s02_box01_blc:nth-child(3) {
        grid-row: 4;
    }

    .p07_s02_box01_blc::after {
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, transparent 0px, transparent 74px, #C3C3C3 75px, #C3C3C3 100%);
    }

    .p07_s02_box01_blc_txt01 {
        background: var(--color-blue01);
        color: #fff;
        padding: 10px 0;
        border-radius: 5px;
        text-align: center;
        background: #dddddd;
        color: #838383;
    }

    .p07_s02_box01_blc_txt02 {
        border-right: solid 1px #C3C3C3;
        font-size: var(--font-size-19-23);
        font-weight: bold;
        color:#838383;
    }

    .p07_s02_box01_blc_txt02 span {
        font-size: 60%;
    }


    .p07_s02_box02 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 24px;
        margin-bottom: 43px;
    }

    .p07_s02_box02_ttl {
        background: #FFF33F;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        align-content: center;
        padding: 0.6em;
        margin-bottom: 48px;
        border-radius: 10px;
    }

    .p07_s02_box02_blc {
        display: grid;
        grid-template-columns: 64px 1fr auto;
        grid-gap: 10px;
        align-items: center;
        position: relative;
    }

    .p07_s02_box02_blc::after {
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, transparent 0px, transparent 74px, #C3C3C3 75px, #C3C3C3 100%);
    }

    .p07_s02_box02_blc_txt01 {
        background: #FFF33F;
        color: #000;
        padding: 10px 0;
        border-radius: 5px;
        text-align: center;
    }

    .p07_s02_box02_blc_txt02 {
        border-right: solid 1px #C3C3C3;
        font-size: var(--font-size-19-23);
        font-weight: bold;
    }

    .p07_s02_box02_blc_txt02 span {
        font-size: 80%;
    }






    section.p07_s03 {
        margin-bottom: 80px;
    }

    h2.p07_s04_ttl {
        font-size: var(--font-size-18-24);
        font-weight: bold;
    }

    .p07_s03_inr {
        background: #FFF99F;
        margin: 0 auto;
        padding: 25px;
    }

    h2.p07_s03_ttl {
        font-size: 18px;
        font-weight: bold;
    }

    .p07_s03_box {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 10px;
        margin-bottom: 25px;
    }

    a.p07_s03_box_link {
        background: #00A0E9;
        color: #FFF99F;
        font-size: 20px;
        padding: 1em;
        line-height: 1em;
        position: relative;
        font-weight: bold;
    }

    a.p07_s03_box_link::after {
        content: "";
        width: 0.5em;
        height: 0.5em;
        border-right: solid 1px;
        border-bottom: solid 1px;
        display: block;
        position: absolute;
        right: 1em;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }

    p.p07_s03_txt {
        font-size: 18px;
    }


    section.p07_s04 {
        position: relative;
        margin-bottom: 10vw;
    }

    .p07_s04_inr {
        max-width: 1370px;
        margin: 0 auto 75px;
        width: calc(100vw - 50px);
        position: relative;
    }

    .p07_s04_box {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 20px;
        padding: 0;
        margin-bottom: 50px;
    }

    .p07_s04_box:last-child {}

    h3.p07_s04_box_ttl {
        font-size: 24px;
        border-left: solid 3px var(--color-blue01);
        line-height: 1em;
        padding-left: 0.5em;
        margin-bottom: 0.5em;
        font-weight: bold;
    }

    p.p07_s04_box_txt {
        font-size: 16px;
    }

    a.p07_s04_btn {
        font-size: var(--font-size-18-25);
        background: #00A0E9;
        color: #fff;
        position: relative;
        padding: 1em 4em;
        border-radius: 3em;
        display: block;
        width: fit-content;
        margin: 0 auto;
        text-decoration: none;
        line-height: 1;
        text-align: center;
    }

    a.p07_s04_btn img {
        width: 1.6em;
        position: absolute;
        top: 50%;
        right: 1em;
        transform: translateY(-50%);
    }






    section.p07_s05 {
        padding: 140px 0 180px;
        position: relative;
        background: url(../../img/opencampus/p07_s05_box_img13_sp.png), linear-gradient(#FFF 0px, #FFF 7vw, #FFF99F 7vw, #FFF99F calc(100% - 7vw), #FFF calc(100% - 7vw), #FFF 100%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .p07_s05_inr {
        max-width: 1370px;
        margin: 0 auto;
        position: relative;
    }

    h2.p07_s05_ttl {
        font-size: var(--font-size-18-24);
        font-weight: bold;
        width: calc(100vw - 50px);
        margin: 0 auto;
    }

    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        display: none !important;
    }


    .swiper-pagination-bullet {
        background: #CECECE !important;
    }

    span.swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #97D4E6 !important;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        display: none !important;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        display: none !important;
    }

    .swiper-button-next:after,
    .swiper-rtl .swiper-button-prev:after {
        content: none !important;
    }

    .swiper-button-prev:after,
    .swiper-rtl .swiper-button-next:after {
        content: none !important;
    }















    .p07_s06_inr {
        max-width: 1370px;
        margin: 0 auto;
        width: calc(100vw - 50px);
    }

    .accordion {
        margin-bottom: 64px;
    }

    .accordion-content {
        display: none;
    }

    .accordion_inr {
        margin-bottom: 10px;
    }

    .accordion-header {
        padding: 12px 45px 10px 20px;
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
        font-size: var(--font-size-20);
        line-height: 1.4;
        background: #A8E1FC;
    }

    .accordion-header::before,
    .accordion-header::after {
        position: absolute;
        content: '';
        top: 1px;
        right: 20px;
        bottom: 0;
        width: 12px;
        height: 2px;
        margin: auto;
        background: #151E2F;
        font-size: var(--font-size-20);
    }

    .accordion-header::after {
        transform: rotate(-90deg);
        transition: transform 0.3s;
    }

    .accordion-header.active::after {
        transform: rotate(0deg);
    }

    .accordion-content {
        background-color: #E9F8FE;
        padding: 12px 20px 10px;
        font-size: var(--font-size-20);
    }

    .accordion-header span,
    .accordion-content span {
        padding-left: 25px;
        position: relative;
        display: block;
        font-size: var(--font-size-16-20);
    }

    .accordion-header span::before {
        position: absolute;
        content: "Q";
        top: 0;
        left: 0;
        color: var(--background-color-blue01);
        font-size: var(--font-size-19-23);
        line-height: 1;
    }
}


























































@media screen and (min-width:1180px) {
    #opencampus.top {
        font-family: YakuHanJP_Narrow, "noto-sans", sans-serif;
    }

    section.p07_01 {
        margin-bottom: 8vw;
    }

    .p07_01_inr {
        position: relative;
    }


    .p07_01_box {
        position: absolute;
        top: 88px;
        left: 50%;
        width: calc(100vw - 50px);
        max-width: 1370px;
        transform: translateX(-50%);
        text-align: right;
    }

    .p07_01_box_txt {
        font-size: var(--font-size-80-150);
        line-height: 1;
        color: rgba(255, 255, 255, 0.6);
        font-family: "century-gothic", "m-plus-1p", sans-serif;
    }

    h1.p07_01_box_ttl {
        font-size: var(--font-size-20-40);
        font-weight: 300;
        margin-top: -22px;
        color: var(--color-blue01);
        font-family: "m-plus-1p", sans-serif;
    }

    img.p07_s01_img02 {
        max-width: 760px;
        margin: 0 0 0 auto;
        width: 50vw;
    }

    section.p07_01 ul.bread_list {
        position: absolute;
        top: 120px;
        left: 4vw;
        display: flex;
        gap: 0.6em;
        align-items: center;
        line-height: 1;
        z-index: 1;
    }




    section.p07_s02 {
        margin: 8vw 0 6vw;
    }


    .p07_s02_inr {
        max-width: 1370px;
        margin: 0 auto;
        width: calc(100vw - 50px);
        width: 80%;
        display: grid;
        grid-template-columns: 1fr 2fr;
        grid-gap: 3.8vw;
    }

    .p07_s02_box01 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 1vw 1.6vw;
        order:2;
    }

    .p07_s02_box01_ttl {
        background: #d5f0fe;
        background:#dddddd;
        grid-column: span 2;
        text-align: center;
        font-size: var(--font-size-16-20);
        font-weight: bold;
        align-content: center;
        padding: 0.6em;
        border-radius: 10px;
    }

    .p07_s02_box01_blc {
        display: grid;
        grid-template-columns: 64px 1fr auto;
        grid-gap: 10px;
        align-items: center;
        position: relative;
        color:#838383;
    }

    .p07_s02_box01_blc::after {
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, transparent 0px, transparent 74px, #C3C3C3 75px, #C3C3C3 100%);
    }

    .p07_s02_box01_blc_txt01 {
        background: var(--color-blue01);
        color: #fff;
        padding: 10px 0;
        border-radius: 5px;
        text-align: center;
        background: #dddddd;
        color: #838383;
    }

    .p07_s02_box01_blc_txt02 {
        border-right: solid 1px #C3C3C3;
        font-size: var(--font-size-19-23);
        font-weight: bold;
        color:#838383;
    }

    .p07_s02_box01_blc_txt02 span {
        font-size: 80%;
    }


    .p07_s02_box02 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 1vw 1.6vw;
    }

    .p07_s02_box02_ttl {
        background: #FFF33F;
        text-align: center;
        font-size: var(--font-size-16-20);
        font-weight: bold;
        align-content: center;
        padding: 0.6em;
        border-radius: 10px;
    }

    .p07_s02_box02_blc {
        display: grid;
        grid-template-columns: 64px 1fr auto;
        grid-gap: 10px;
        align-items: center;
        position: relative;
    }

    .p07_s02_box02_blc::after {
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, transparent 0px, transparent 74px, #C3C3C3 75px, #C3C3C3 100%);
    }

    .p07_s02_box02_blc_txt01 {
        background: #FFF33F;
        color: #000;
        padding: 10px 0;
        border-radius: 5px;
        text-align: center;
    }

    .p07_s02_box02_blc_txt02 {
        border-right: solid 1px #C3C3C3;
        font-size: var(--font-size-19-23);
        font-weight: bold;
    }

    .p07_s02_box02_blc_txt02 span {
        font-size: 80%;
    }






    section.p07_s03 {
        margin-bottom: 7vw;
    }

    h2.p07_s03_ttl {
        font-size: var(--font-size-18-24);
        font-weight: bold;
    }

    .p07_s03_inr {
        background: #FFF99F;
        max-width: 1370px;
        margin: 0 auto;
        padding: 1.5vw 2.5vw;
    }

    h2.p07_s03_ttl {
        font-size: var(--font-size-16-20);
        font-weight: bold;
    }

    .p07_s03_box {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 1.5vw;
        margin-bottom: 30px;
    }

    a.p07_s03_box_link {
        background: #00A0E9;
        color: #FFF99F;
        font-size: var(--font-size-16-20);
        padding: 1em;
        line-height: 1em;
        position: relative;
    }

    a.p07_s03_box_link::after {
        content: "";
        width: 0.5em;
        height: 0.5em;
        border-right: solid 1px;
        border-bottom: solid 1px;
        display: block;
        position: absolute;
        right: 1em;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }

    p.p07_s03_txt {
        font-size: var(--font-size-16-18);
    }









    section.p07_s04 {
        position: relative;
        margin-bottom: 10vw;
    }

    .p07_s04_inr {
        max-width: 1370px;
        margin: 0 auto 8vw;
        width: calc(100vw - 50px);
        position: relative;
    }

    .p07_s04_box {
        display: grid;
        grid-template-columns: minmax(380px, 480px) repeat(2, minmax(0, 380px));
        grid-gap: 1vw;
        border-bottom: solid 1px #C3C3C3;
        padding: 5vw 0;
    }

    .p07_s04_box:last-child {
        border: none;
    }

    h3.p07_s04_box_ttl {
        font-size: var(--font-size-18-24);
        border-left: solid 3px var(--color-blue01);
        line-height: 1em;
        padding-left: 0.5em;
        margin-bottom: 0.5em;
        font-weight: bold;
    }

    p.p07_s04_box_txt {
        font-size: var(--font-size-14-16);
    }

    a.p07_s04_btn {
        font-size: var(--font-size-18-25);
        background: #00A0E9;
        color: #fff;
        position: relative;
        padding: 1em 4em;
        border-radius: 3em;
        display: block;
        width: fit-content;
        margin: 0 auto;
        text-decoration: none;
        line-height: 1;
        text-align: center;
    }

    a.p07_s04_btn img {
        width: 1.6em;
        position: absolute;
        top: 50%;
        right: 1em;
        transform: translateY(-50%);
    }






    section.p07_s05 {
        padding: 10vw 0 11vw;
        position: relative;
        background: url(../../img/opencampus/p07_s05_box_img13.png), linear-gradient(#FFF 0px, #FFF 7vw, #FFF99F 7vw, #FFF99F calc(100% - 7vw), #FFF calc(100% - 7vw), #FFF 100%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .p07_s05_inr {
        max-width: 1370px;
        margin: 0 auto;
        position: relative;
        width: calc(100vw - 50px);
    }

    h2.p07_s05_ttl {
        color: #00A0E9;
        font-size: var(--font-size-18-24);
        font-weight: bold;
        padding-bottom: 40px;
    }

    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: -40px !important;
    }


    .swiper-pagination-bullet {
        background: #CECECE !important;
    }

    span.swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #97D4E6 !important;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        //right: -3vw !important;
        left: auto !important;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        //left: -3vw !important;
        right: auto !important;
    }

    .swiper-button-next:after,
    .swiper-rtl .swiper-button-prev:after {
        content: none !important;
    }

    .swiper-button-prev:after,
    .swiper-rtl .swiper-button-next:after {
        content: none !important;
    }


    .swiper-button-prev.swiper-button-black,
    .swiper-button-next.swiper-button-black {
        width: 40px;
        transform: translateY(10px);
        top: 54%;
    }









    .p07_s06_inr {
        max-width: 840px;
        margin: 0 auto;
        width: calc(100vw - 50px);
    }

    h2.p07_s06_ttl {
        font-size: 35px;
        font-weight: bold;
    }

    .accordion {
        margin-bottom: 6vw;
    }

    .accordion-content {
        display: none;
    }

    .accordion_inr {
        margin-bottom: 10px;
    }

    .accordion-header {
        padding: 12px 45px 10px 20px;
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
        font-size: var(--font-size-20);
        line-height: 1.4;
        background: #A8E1FC;
    }

    .accordion-header::before,
    .accordion-header::after {
        position: absolute;
        content: '';
        top: 1px;
        right: 20px;
        bottom: 0;
        width: 12px;
        height: 2px;
        margin: auto;
        background: #151E2F;
        font-size: var(--font-size-20);
    }

    .accordion-header::after {
        transform: rotate(-90deg);
        transition: transform 0.3s;
    }

    .accordion-header.active::after {
        transform: rotate(0deg);
    }

    .accordion-content {
        background-color: #E9F8FE;
        padding: 12px 20px 10px;
        font-size: var(--font-size-20);
    }

    .accordion-header span,
    .accordion-content span {
        padding-left: 25px;
        position: relative;
        display: block;
        font-size: var(--font-size-16-20);
    }

    .accordion-header span::before {
        position: absolute;
        content: "Q";
        top: 0;
        left: 0;
        color: var(--background-color-blue01);
        font-size: var(--font-size-19-23);
        line-height: 1;
    }



}






@media screen and (min-width:768px) {
    .p07_s02_inr,
    .p07_s06_inr{
        width: 80%;
    }
}