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

    .section-title {
        margin-bottom: 50px;
        font-size: 50px;
    }

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

    /*!header---------------------------------------------------------------------------------*/
    header {
        padding: 15px 0;
    }

    .sp-header-nav {
        display: none;
    }

    .header-logo img {
        width: 100%;
        max-width: 250px;
        padding: 0;
    }

    .pc-nav-list ul {
        list-style: none;
        display: flex;
        align-items: center;
    }

    .pc-nav-list ul>li+li {
        padding-left: 30px;
    }

    .pc-nav-list li>a {
        text-decoration: none;
        color: #333;
        text-align: left;
        font-size: 11px;
        line-height: 0;
    }

    .pc-nav-link {
        transition: color .3s;
    }

    .pc-nav-link:hover {
        color: #eeb5ee;
    }

    .pc-nav-item-bold {
        /* font-weight: bold; */
        font-size: 18px;
    }

    .pc-header-nav {
        display: block;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 30px;
    }

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

    .hidden-area {
        overflow: hidden;
    }

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



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

    .h2-size {
        font-size: 62px;
    }

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

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

    .concept-text h3 {
        margin: 0;
        margin-bottom: 30px;
        text-align: center;
        font-size: 46px;
    }

    .concept-text h3>br {
        display: none;
    }

    .concept-text p {
        font-size: 20px;
        letter-spacing: .1em;
        width: 75%;
        margin: auto;
    }

    .concept-catch-item {
        border-left: 2px solid #C73C86;
        font-size: 24px;
        padding-left: 10px;
        margin: 10px;
    }

    /*!section-theme--------------------*/
    .theme {
        background-image: none;
        background-image: url(../img/theme-pc.webp);
        background-position: center bottom;
    }

    .theme-flex {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .theme-flex div+div {
        padding-left: 40px;
    }

    .theme-caption {
        width: 100%;
        max-width: 600px;
    }

    .theme-img {
        margin: 0;
    }

    .theme-text h3 {
        font-size: 40px;
    }

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

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

    .theme-img img:nth-child(2) {
        width: 80%;
        left: -1%;
        bottom: -44%;
        z-index: 2;
    }

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



    .theme-text {
        max-width: 450px;
    }


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


    /* 縦スクロールーーーーーーーーー */

    .date {
        margin-bottom: 41px;
    }

    .date-div {
        width: 49%;
        flex: 1;
        flex-grow: 1;
    }

    .hall {
        width: 49%;
        flex: 1;
        background:
            linear-gradient(to bottom,
                rgb(255, 255, 255) 0%,
                rgb(255, 255, 255) 72%,
                #ffffff00 100%), url(../img/venue_background.webp);

        background-repeat: no-repeat;
        background-position: bottom;
        background-size: 100%;
    }



    .date-flex {
        display: flex;
        justify-content: center;
        align-items: stretch;

    }

    .date-div+.hall {
        margin-left: 2%;
    }

    .overview-sub-title h4 {
        font-size: 25px;
    }

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

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

    .side-star::after {
        transform: translateX(100%) translateY(10%);
    }

    .side-star::before {
        transform: translateX(-100%) translateY(10%);
    }

    .side-star {
        margin-bottom: 20px;
    }

    .overview-text-center {
        font-size: 20px;
        margin: 30px 0px;

    }



    .schedule-item time {
        font-size: 15px;
    }

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

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

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

    .schedule-item p:nth-of-type(4) {
        padding-left: 38px;
    }

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

    .schedule-1st-name,
    .st2026-winter {
        padding-left: 38px;
    }


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



    #work-time {
        padding-left: px;
    }

    .highlight-figcaption {
        width: 50%;
        max-width: none;
        margin: auto;
    }

    .highlight-figcaption h4 {
        font-size: 28px;
        width: 100%;
        max-width: 360px;
    }

    #highlight-h4-first {
        max-width: 390px;
    }

    .highlight-figcaption p {
        font-size: 18px;
    }

    .figure-flex {
        width: 100%;
        padding: 50px 0;
    }

    .figure-1st,
    .figure-2nd {
        width: 80%;
        margin: auto;
    }

    .figure-1st {
        margin-bottom: 50px;
    }

    /* 各 figure ブロックを横並びにする */
    .figure-1st figure,
    .figure-2nd figure {
        width: 100%;
        display: flex;
        align-items: flex-start;
        margin: auto;
        gap: 70px;
    }

    .figure-1st figure {
        justify-content: center;
    }

    .figure-2nd figure {
        flex-direction: row-reverse;
        justify-content: center;
    }

    /* 左に画像、右にテキスト（PC用） */

    .animation {
        width: 50%;
        max-width: 600px;
        margin: auto;
    }

    .photo-inner {
        width: 100%;
        height: auto;
        vertical-align: bottom;
    }

    .application-box {
        margin: auto;
        width: 80%;
    }

    .application-box h3 {
        font-size: 30px;
    }

    .application-list {
        list-style: disc;
        padding-left: 1.5em;
        line-height: 1.8;
        font-size: 18px;
        text-align: justify;
        width: 85%;
        margin: auto;
        /* ← 追加 */
    }

    .press-box-text {
        margin: auto;
    }

    .press-box address p {
        margin-bottom: 20px;
    }

    .press-box-text p {
        font-size: 20px;
    }

    /*!縦スライド*/

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

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

    /*!section-live--------------------*/
    .live {
        padding-bottom: 100px;
    }

    .live-title {
        font-size: 40px;
        margin-bottom: 80px;
    }

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

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

    .live-div {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .live-img {
        width: 100%;
        max-width: 500px;
        margin: auto;
        margin: 0px;
    }

    .live-img img {
        width: 100%;
        max-width: 400px;
        margin: auto;

    }

    .live-text-caption {
        font-size: 20px;
        text-align: center;
        width: 100%;
        max-width: 500px;
        margin: auto;
        margin-bottom: 40px;
    }

    .live-date {
        font-size: 24px;
    }

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

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



    /*!section-comment--------------------*/

    .comment-figure {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 20px;
    }

    .comment-img {
        margin: 0;
        max-width: 500px;
    }

    .comment-figure img {
        margin-top: 20px;
        max-width: 350px;
    }

    .commenter-name {
        text-align: left;
        font-size: 20px;
        font-weight: normal;
        /* border-bottom: solid 1px #333; */
        padding-bottom: 3px;
        margin-bottom: 20px;
        /* max-width: 300px; */
    }

    .commenter-name br {
        display: none;
    }

    .commenter-name-text {
        font-size: 30px;
        font-weight: bold;
        border-bottom: none;
    }

    .comment-figcaption {
        width: 100%;
        max-width: 500px;
    }

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

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

    .comment-discipline {
        font-size: 12px;
    }

    /*!btn-scroll-hidden-footer*/
    .fixed-content {
        position: fixed;
        bottom: 5px;
        right: 5px;
        pointer-event: all;
        z-index: 999;
        /* 重要 */
    }

    .fixed-content a {
        max-width: 200px;
    }

    /*!footer----------------------------------------------------------------------------------------*/
    footer {
        background-size: cover;
        background-repeat: no-repeat;
        padding: 100px 0 50px;
    }

    .footer-flex {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }



    .footer-address {
        width: 100%;
        max-width: 500px;
        margin: 0;
    }

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

    .school-department {
        display: flex;
        justify-content: left;
        align-items: center;
        gap: 10px;
    }

    .child-school-department {
        font-size: 11px;
    }

    address p {
        font-size: 15px;
        width: 100%;
        max-width: 450px;
        margin: auto;
        margin: 0;
        margin-bottom: 50px;
    }

    .footer-btn {
        max-width: 500px;
        padding: 20px 50px;
        text-align: center;
    }


    small p {
        font-size: 10px;
    }



}