@charset "UTF-8";
@media screen and (min-width: 768px) {

    .all-margin {
        width: 70%;
        margin: auto;
    }


    /*!header-----------------------------------------------------------------------*/

    /*!main----------------------------------------------------------------------------------------*/

    /*!section-fa-view--------------------*/

    /*!ピンク*/
    .fa-view-img img:nth-child(1) {
        width: 15%;
        /* right: 50px; */
        /* bottom: 50px; */
        transform: translateX(480%) translateY(-100%);
        z-index: 3;
    }

    /*!パープル*/
    .fa-view-img img:nth-child(2) {
        width: 26%;
        transform: translateX(265%) translateY(-142%);
        z-index: 1;
    }

    /*!ブルー*/
    .fa-view-img img:nth-child(3) {
        width: 33%;
        /* left: -40px; */
        /* bottom: 0; */
        transform: translateX(150%) translateY(-100%);
        z-index: 2;
    }

    /*!テーマフェードイン*/
    .mj img {
        opacity: 0;
        transition: opacity 1s ease-in-out;
    }


    /*!section-concept--------------------*/

    .concept-slide ul li {
        list-style: none;
        width: calc(100vw / 4 - 10px);
        /* 写真の枚数にあわせる */
    }



    .concept-text {
        margin-bottom: 50px;
    }

    .concept-text h3 {
        margin: 0;
        margin-bottom: 30px;
    }

    .concept-text p {
        font-size: 16px;
    }

    .concept-top-border {
        border-top: solid 1px #C73C86;
        margin-top: 10px;
    }

    .concept-bottom-border {
        border-top: solid 1px #C73C86;
        margin-bottom: 10px;
    }

    /*!section-theme--------------------*/


    .theme {
        background-size: cover;
        background-position: center top;
        height: 800px;
    }

    .theme-text {
        width: 100%;
        max-width: 450px;
        margin: auto;
    }

    .theme-text rt {
        font-size: 16px;
    }

    .theme-text p {
        font-size: 16px;
    }

    .theme-img {
        position: relative;
        height: 420px;
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    .theme-img img {
        position: absolute;
        object-fit: contain;
    }

    .theme-img img:nth-child(1) {
        width: 40%;
        right: 10%;
        bottom: -.1%;
        z-index: 3;
    }

    .theme-img img:nth-child(2) {
        width: 53%;
        left: 10%;
        bottom: 0%;
        z-index: 2;
    }

    .theme-img img:nth-child(3) {
        width: 30%;
        left: 40%;
        bottom: 40%;
        z-index: 1;
    }


    /*!section-overview--------------------*/

    .overview-sub-title {
        background: #833688;
        padding: 15px 0;
        text-align: center;
        color: #fff;
    }

    .overview-text-center {
        text-align: center;
        margin: 20px;
    }

    /* 全体ボックス */
    .highlight.big-border {
        margin: 40px 0;
        background: #fff;
        padding: 0;
    }


    .overview-sub-title h4 {
        font-size: 20px;
        margin: 0;
    }


    .schedule-content {
        width: 80%;
        max-width: 350px;
        margin: auto;
    }

    .schedule-item {
        margin: 30px 0;
        position: relative;
    }


    .schedule-item>p:first-of-type {
        font-size: 20px;
        font-weight: 600;
        position: relative;
        display: inline-block;
        padding-top: 10px;
        margin-left: 20px;
    }

    .schedule-item>p:first-of-type::before {
        content: "◆";
        color: #7d2c89;
        font-size: 1rem;
        position: absolute;
        bottom: 1px;
        transform: translateX(-120%);
    }

    /* 時間部分 */
    .schedule-item time {
        font-size: 13px;
    }

    .schedule-item p:nth-of-type(2) {
        padding-left: 40px;
        font-size: 16px;
    }

    .schedule-item p:nth-of-type(2) span {
        font-size: 13px;
        color: #000000;
        line-height: 1.4;
    }



    .schedule-item p:nth-of-type(3) {
        margin-top: 8px;
        font-size: 16px;
        padding-left: 40px;
    }

    .schedule-item p:nth-of-type(3)>span {
        font-size: 13px;
    }

    .schedule-content .schedule-item P>span {
        font-size: 16px;
    }

    .map-name {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .google-map-img {
        width: 70%;
        max-height: 300px;
        margin: auto;
    }

    .google-map {
        max-height: 300px;
    }


    /* 各figureブロック */
    .figure-1st,
    .figure-2nd {
        margin: 50px 0px;
    }

    .figure-flex {
        width: 85%;
        margin: auto;
    }

    .highlight-figure img {
        border: solid 1px #833688;
        padding: 5px;
    }

    /* キャプション部分 */
    .highlight-figcaption {
        margin-top: 20px;
        /* width: 40%; */
    }

    /* 小見出しの装飾（左の赤いラインなど）*/
    .highlight-figcaption h4 {
        font-size: 20px;
        margin-bottom: 15px;
    }

    /* 段落 */
    .highlight-figcaption p {
        font-size: 16px;
    }


    .application-list {
        font-size: 16px;
        width: 85%;
        margin: auto;
    }

    .application-list li:last-child {
        padding-bottom: 30px;
    }




    /*!縦スクロール*/
    .slider-container {
        width: 100%;
        min-height: 100vh;
        margin: 0;
        padding: 0;
    }

    .side-scrolling-area {
        display: block;
        z-index: 1;
        text-align: left;
        margin: 0 2%;
    }

    .scrolling-item img {
        max-width: none;
        width: 50px;
        margin-top: 30px;
    }

    .scrolling-container {
        height: 100%;
        overflow: hidden;
    }

    @keyframes scroll-down {
        0% {
            transform: translateY(-25%);
        }

        100% {
            transform: translateY(0);
        }
    }

    .side-scrolling-area.left .is-scrolling {
        animation: scroll-down 20s linear infinite;
        transform: translateZ(0);
    }

    /* ---------------------------------------------------- */
    /* 4. アニメーションの動き (変更なし) */
    /* ---------------------------------------------------- */

    @keyframes scroll-up {
        0% {
            transform: translateY(0);
        }

        100% {
            transform: translateY(-25%);
        }
    }

    .is-scrolling {
        animation: scroll-up 20s linear infinite;
        transform: translateZ(0);
    }

    .js-fixed-area {
        position: relative;
        overflow: hidden;
    }

    .js-fixed-elm {
        position: absolute;
        top: 0;
        left: 1%;
    }

    .js-fixed-elm1 {
        position: absolute;
        top: 0;
        left: 90%;
    }

    .js-fixed-elm.js-fixed-elm1.is-fixed {
        position: fixed;
    }

    /*!section-live--------------------*/
    .live-title {
        text-align: center;
        font-size: 25px;
        margin-bottom: 30px;
    }

    .live-title::before {
        content: "\\";
        top: 0px;
        font-size: 50px;
    }

    .live-title::after {
        content: "/";
        top: 0px;
        font-size: 50px;
    }

    .live-img {
        width: 100%;
        max-width: 600px;
        margin: auto;
        margin-bottom: 30px;
    }

    .live-img img {
        width: 100%;
        border: solid 1px #833688;
        padding: 5px;
    }

    .live-text-caption {
        font-size: 16px;
        text-align: center;
        width: 100%;
        max-width: 319px;
        margin: auto;
        margin-bottom: 30px;
    }

    .live-date {
        text-align: center;
        margin-bottom: 30px;
        font-size: 20px;
        font-weight: bold;
        align-items: baseline;
    }

    .live-date::after {
        transform: translateX(100%) translateY(25%);
    }

    .live-date::before {
        transform: translateX(-200%) translateY(25%);
    }




    /*!section-comment--------------------*/
    .comment {
        background-image: url(../img/comment-back.webp);
        background-repeat: no-repeat;
        background-position: center;
        background-color: rgba(255, 255, 255, 0.8);
        background-blend-mode: lighten;
        padding-bottom: 50px;
    }

    .comment-div {
        border: 1px solid #833688;
        width: 100%;
        margin: auto;
    }

    .comment-figure {
        margin: 20px;
    }

    .comment-img {
        width: 100%;
        max-width: 350px;
        margin: auto;
        margin-bottom: 20px;
        text-align: center;
    }

    .comment-img img {
        width: 100%;
        max-width: 300px;
    }

    .commenter-name {
        text-align: center;
        font-weight: bold;
        margin-bottom: 30px;
    }

    .commenter-name span {
        /* font-size: 20px; */
        /* border-bottom: #333 1px solid; */
        /* padding: 0 10px 3px; */
    }

    .comment-figcaption {
        width: 100%;
        max-width: 350px;
        margin: auto;
        line-height: 1.5;
    }

    .comment-figcaption p:nth-child(2) {
        font-size: 16px;
    }

    /*!footer----------------------------------------------------------------------------------------*/

    footer {
        background-image: url(../img/footer-back.webp);
        background-size: cover;
        background-repeat: no-repeat;
        padding: 50px 0;
    }

    .footer-address {
        width: 100%;
        max-width: 300px;
        margin: auto;
    }

    .footer-address img {
        width: 100%;
        max-width: 300px;
        margin: auto;
        margin-bottom: 5px;
    }

    .school-department {
        font-family: sans-serif;
        font-weight: bold;
        margin-bottom: 30px;
    }

    address p {
        font-size: 14px;
        width: 100%;
        max-width: 300px;
        margin-bottom: 20px;
    }

    .sns-link-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 20px;
    }

    .sns-link-icon a+a {
        padding-left: 30px;
    }

    .sns-link-icon img {
        width: 100%;
        max-width: 50px;
        margin: auto;
    }

    small {
        text-align: center;
    }

    small p {
        font-size: 10px;
    }

    /*!お申し込みボタン*/
    .fixed-content a {
        max-width: 200px;
    }


}