:root {
    --holidayColor: #FF7CBB;
    --saturdayColor: #0081DF;
    --mainYellow: #FFE100;
    --mainOrange: #F46643;
    --mainGray: rgba(44, 64, 147, 0.25);
    --mainFont: Hiragino Kaku Gothic ProN, Verdana, Meiryo, sans-serif;
    --defaultColor: #02C39A;
}
/* 共通セクションパーツ */
.oc-wrap{
    max-width: 1280px;
}
.content{
    overflow: hidden;
}
.common-section{
    padding: 60px 20px;
}
.common-section__title-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    opacity: 0;
    transform: translateY(20px);
    transition: 1s;
    padding-top: 9px;
}
.common-section__sub-title{
    top: 0;
}
.common-section__title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 2.88px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.common-section__lead{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    margin-top: 20px;
}
.common-section--active .common-section__title-wrap{
    opacity: 1;
    transform: translateY(0);
}
.common-section__title-wrap--qa .common-section__title::after{
    background-image: url(/assets/img/event/opencampus/parts_title_sp_qa.svg);
}
.common-section__title-wrap--line .common-section__title::after{
    background-image: url(/assets/img/event/opencampus/parts_title_sp_line.svg);
}
.common-section__title-wrap--access .common-section__title::after{
    background-image: url(/assets/img/event/opencampus/parts_title_sp_access.svg);
}
.common-section__title-wrap--reserve .common-section__title::after{
    background-image: url(/assets/img/event/opencampus/parts_title_sp_reserve.svg);
}
@media (min-width: 768px) {
    .common-section{
        padding: 100px 0px 80px;
        max-width: 1000px;
        margin: 0 auto;
    }
    .common-section__title-wrap{
        gap: 20px;
    }
    .common-section__title{
        font-size: 32px;
        letter-spacing: 8px;
    }
    .common-section__title-wrap--qa .common-section__title::after{
        background-image: url(/assets/img/event/opencampus/parts_title_pc_qa.svg);
    }
    .common-section__title-wrap--line .common-section__title::after{
        background-image: url(/assets/img/event/opencampus/parts_title_pc_line.svg);
    }
    .common-section__title-wrap--access .common-section__title::after{
        background-image: url(/assets/img/event/opencampus/parts_title_pc_access.svg);
    }
    .common-section__title-wrap--reserve .common-section__title::after{
        background-image: url(/assets/img/event/opencampus/parts_title_pc_reserve.svg);
    }
}
/*  */

.hero{
    position: relative;
    padding-bottom: 30px;
    background-color: #FFF;
}
.hero__movie-wrap{
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 54%;
    margin-bottom: 75px;
}

.hero__movie-wrap iframe{
    pointer-events: none;
    position: absolute;
    top: -60px;
    left: -10%; /* 中央に配置 */
    width: 121%;
    height: calc(100% + 120px);
    opacity: 1;
    visibility: visible;
    aspect-ratio: 16 / 9;
}
.hero__img{
    display: block;
    margin: 0 auto 92px;
    width: 100%;
    object-fit: cover;
    background-position: center;
    max-width: 1280px;
}
.hero__date-wrap{
    display: flex;
    padding: 18px 16px 20px;
    align-items: flex-end;
    border-radius: 0px 12px 12px 0px;
    background: #FFF;
    position: absolute;
    bottom: 74px;
    gap: 16px;
}
.hero__date-text{
    color: var(--color-text-Navy, #2B3C4F);
    text-align: center;
    font-family: Barlow;
    font-size: 70px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}
.hero__day-text{
    display: inline-flex;
    width: 32px;
    height: 32px;
    padding: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--color-main-White, #FFF);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    background: var(--Navy);
    border-radius: 4px;
    position: relative;
    bottom: 7px;
    margin-left: 3px;
}
.hero__day-text--saturday{
    background: var(--saturdayColor);
}
.hero__day-text--holiday{
    background: var(--holidayColor);
}
.hero__time-wrap{
    position: relative;
    bottom: 4px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.hero__campus-list{
    display: flex;
    gap: 5px;
    width: fit-content;
}
.hero__campus-item{
    display: flex;
    padding: 0px 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    border-radius: 200px;
    border: 1px solid var(--campus-Hongo, #4DA1A9);
    background: #FFF;
}
.hero__campus-item--hongo{
    color: var(--Hongo);
    border-color: var(--Hongo, #4DA1A9);
}
.hero__campus-item--fujimino{
    color: var(--Fujimino, #726994);
    border-color: var(--Fujimino, #726994);
}
.hero__time{
    color: var(--color-text-Navy, #2B3C4F);
    font-family: Barlow;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}
@media (min-width: 768px) {
    .hero{
        padding-bottom: 20px;
    }
    .hero__movie-wrap{
        padding-top: 500px;
        max-width: 1280px;
        margin: 0 auto 92px;
    }
    .hero__movie-wrap iframe{
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
        height: calc(100% + 220px);
    }
    .hero__date-wrap{
        padding: 26px 42px;
        bottom: 52px;
        gap: 24px;
    }
    .hero__date-text{
        font-size: 100px;
    }
    .hero__day-text{
        width: 36px;
        height: 36px;
        font-size: 24px;
        margin-left: 10px;
    }
    .hero__time-wrap{
        bottom: 7px;
        gap: 12px;
    }
    .hero__campus-item{
        padding: 4px 12px;
        font-size: 14px;
    }
    .hero__time{
        font-size: 32px;
    }
}
@media (min-width: 1240px) {
    .hero__date-wrap{
        padding-left: 140px;
    }
}
.anchor-link{
    display: flex;
    padding: 30px 20px 60px;
    flex-direction: column;
    align-items: center;
    gap: 0 14px;
}
.anchor-link__copy{
    margin-bottom: 24px;
    color: var(--color-text-Navy, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
}
.anchor-link__copy::before{
    content: "";
    display: block;
    width: 34px;
    height: 26px;
    background: url(/assets/img/event/opencampus/icon_eyes.gif) no-repeat;
    background-size: contain;
}
.anchor-link__list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 20px;
    width: 100%;
}
.anchor-link__item{
    display: flex;
    padding: 4px 0;
    align-items: center;
    border-radius: 8px;
    background: #FFF;
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    cursor: pointer;
}
.anchor-link__item::before{
    content: "";
    display: block;
    width: 44px;
    height: 44px;
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
    margin-right: 8px;
}
.anchor-link__item--recommend::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_recommend.png);
}
.anchor-link__item--time::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_time.png);
}
.anchor-link__item--qa::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_qa.png);
}
.anchor-link__item--line::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_line.png);
}
.anchor-link__item--program::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_program.png);
}
.anchor-link__item--access::before{
    background-image: url(/assets/img/event/opencampus/icon_anchor_access.png);
}
.anchor-link__item::after{
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    background: url(/assets/img/event/opencampus/icon_navy_under_arrow.svg) no-repeat;
    background-size: contain;
    flex-shrink: 0;
    transition: .3s all ease;
    position: relative;
    bottom: 0;
}
.anchor-link__item-text{
    width: 100%;
    display: block;
}
@media (min-width: 768px) {
    .anchor-link{
        max-width: 1032px;
        padding: 60px 16px 60px;
        gap: 0;
        margin: 0 auto;
    }
    .anchor-link__copy{
        font-size: 24px;
        letter-spacing: 2.88px;
        margin-bottom: 30px;
        gap: 10px;
    }
    .anchor-link__copy::before{
        width: 41px;
        height: 31px;
    }
    .anchor-link__list{
        display: flex;
        justify-content: center;
        gap: 0;
        border-left: 1px dashed rgba(44, 64, 147, 0.25);
    }
    .anchor-link__item{
        width: 100%;
        display: flex;
        padding: 10px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        font-size: 14px;
        gap: 10px;
        border-right: 1px dashed rgba(44, 64, 147, 0.25);
    }
    .anchor-link__item:hover::after{
        position: relative;
        bottom: -6px;
    }
    .anchor-link__item-text{
        overflow: hidden;
        color: transparent;
        text-shadow: 0 -50px 0 #000, 0 0 0 #000;
        transition: text-shadow 0.3s;
    }
    .anchor-link__item:hover .anchor-link__item-text{
        text-shadow: 0 0 0 #000, 0 50px 0 #000;
    }
    .anchor-link__item::before{
        width: 64px;
        height: 64px;
        margin-right: 0;
    }
    .anchor-link__item-text{
        width: fit-content;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
    }
}

.recommend-wrap{
    border-radius: 30px 30px 20px 20px;
    margin: 0 0 0px;
    overflow: hidden;
}
.recommend{
    padding: 40px 0 0;
    max-width: 100%;
}
.recommend .common-section__title-wrap{
    padding-top: 0;
}
.recommend .common-section__title--gif{
    max-width: 300px;
    padding-bottom: 0;
}
.recommend .common-section__title--gif::after{
    display: none;
}
.common-section__title-wrap--recommend{
    margin-bottom: 20px;
}
.recommend__list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}
.recommend__list::before{
    content: "";
    display: block;
    width: 275px;
    height: 93px;
    z-index: 1;
    left: 0;
    right: 0;
    margin: 0 auto;
    position: relative;
    bottom: -2px;
    background-image: url(/assets/img/event/opencampus/icon_recommend_1_sp.gif);
    background-size: contain;
    background-repeat: no-repeat;
}
.recommend__item {
    position: relative;
    overflow: hidden;
    border-radius: 20px 20px 0px 0px;
}
.recommend__item:last-of-type{
    border-radius: 20px;
}
.recommend__item:last-of-type .recommend__item-head-title{
    padding-bottom: 20px;
    height: 62px;
}

.recommend__item-head-title {
    display: flex;
    gap: 5px;
    justify-content: space-between;
    height: 70px;
    padding: 14px 16px 28px 16px;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    color: var(--color-text-Navy, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    position: relative;
}
.recommend__item.is-open .recommend__item-head-title{
    padding-bottom: 12px;
    height: auto;
}
.recommend__item.is-open .recommend__item-head-title::after {
    width: 94%;
    height: 1px;
    background: rgba(43, 60, 79, 0.20);
    content: "";
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.recommend__item-head-span{
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid rgba(43, 60, 79, 0.35);
    position: relative;
    flex-shrink: 0;
    transition: .3s all ease;
}
.recommend__item-head-span::before{
    content: "";
    display: block;
    width: 2px;
    height: 10px;
    background: #2B3C4F;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(0deg);
    transition: .3s all ease;
}
.recommend__item-head-span::after{
    content: "";
    display: block;
    width: 2px;
    height: 10px;
    background: #2B3C4F;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
    transition: .3s all ease;
}
.recommend__item.is-open .recommend__item-head-span::before{
    transform: rotate(90deg);
}
.recommend__item-detail {
    max-height: 0;
    padding: 0 20px;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.recommend__item.is-open .recommend__item-detail {
    padding: 40px 20px;
    padding-top: 40px;
    margin-bottom: 46px;
}
.recommend__item-img{
    display: block;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
}
.recommend__item-title{
    color: var(--color-text-Navy, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 10px;
    text-align: center;
    letter-spacing: 4px;
}
.recommend__item-text{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
}
/* PC表示 (768px以上) */
@media (min-width: 768px) {
    .recommend-wrap .scroll-animation{
        top: 0;
        left: -45px;
        width: fit-content;
    }
    .recommend-wrap .scroll-animation__inner{
        animation: scroll-y 30s linear infinite;
        flex-direction: column;
    }
    .recommend-wrap .scroll-animation__text{
        writing-mode: vertical-rl;
    }
    @keyframes scroll-y {
        0% {
            transform: translateY(0%);
        }
        100% {
            transform: translateY(-50%);
        }
    }
    .recommend-wrap{
        position: relative;
        border-radius: 60px;
    }
    .recommend{
        padding: 40px 0 100px;
        max-width: 100%;
    }
    .recommend .common-section__title--gif{
        max-width: 450px;
    }
}
@media (min-width: 1000px) {
    .recommend__list {
        display: flex;
        justify-content: end;
        position: relative;
    }
    .recommend__list::before{
        width: 240px;
        height: 227px;
        position: absolute;
        top: -227px;
        right: 41px;
        left: auto;
        margin: 0;
        background-image: url(/assets/img/event/opencampus/icon_recommend_1_pc.gif);
    }
    .recommend__list::after{
        content: "";
        display: none;
        width: 262px;
        height: 355px;
        position: absolute;
        bottom: -40px;
        left: 0;
        right: auto;
        margin: 0;
        background-image: url(/assets/img/event/opencampus/icon_recommend_2_pc.gif);
        background-repeat: no-repeat;
        background-size: contain;
    }
    .recommend__item {
        margin-bottom: 0;
        flex-shrink: 0;
        overflow: hidden;
        transition: .4s all ease;
        width: 100px;
        max-width: none;
        min-width: auto;
        top: 0 !important;
        padding: 0;
        border-radius: 20px 0 0 20px;
        height: auto;
        display: flex;
        flex-direction: column;
    }

    .recommend__item:last-child {
        border-radius: 20px 0 0 20px;
    }

    .recommend__item-head-title {
        writing-mode: vertical-rl;
        border-radius: 0px 0px 20px 0px;
        color: var(--text-secondary, #2B3C4F);
        text-align: center;
        font-family: "Hiragino Kaku Gothic ProN";
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        letter-spacing: 4px;
        transition: background-color 0.3s ease;
        height: auto;
        width: 100%;
        padding: 32px 40px 32px 20px;
        flex-grow: 1;
        gap: 16px;
        justify-content: start;
        text-orientation: upright;
    }
    .recommend__item-head-title:hover .recommend__item-head-span{
        background: #2B3C4F;
    }
    .recommend__item-head-title:hover .recommend__item-head-span::after{
        background: #fff;
    }
    .recommend__item-head-title:hover .recommend__item-head-span::before{
        background: #fff;
    }
    .recommend__item.is-open .recommend__item-head-title {
        flex-direction: row;
        text-align: left;
        writing-mode: horizontal-tb;
        width: fit-content;
        padding: 4px 20px 12px;
        border-right: 1px solid rgba(43, 60, 79, 0.20);
        border-bottom: 1px solid rgba(43, 60, 79, 0.20);
        height: 45px;
    }
    .recommend__item.is-open .recommend__item-head-title::after {
        display: none;
    }
    .recommend__item-detail {
        max-height: fit-content;
        padding: 10px;
        transition: .4s ease-in-out; /* transitionを追加・調整 */
        display: none;
        opacity: 0;
        margin-bottom: 0;
        min-width: 760px;
    }
    .recommend__item-img{
        aspect-ratio: 520 / 320;
        object-fit: cover;
    }
    .recommend__item-title{
        font-size: 28px;
        letter-spacing: 2.88px;
        margin-bottom: 10px;
    }
    .recommend__item-text{
        font-size: 16px;
    }
    .recommend__item.is-open {
        width: 760px;
        padding: 10px;
        display: block;
    }
    .recommend__item.is-open .recommend__item-detail {
        display: block;
        opacity: 1;
        margin-bottom: 0;
        padding: 52px 130px 80px 100px;
    }
    .recommend__item.is-open .recommend__item-head-span{
        display: none;
    }
    .recommend__item:last-of-type .recommend__item-head-title{
        padding-bottom: 32px;
    }
    .recommend__item.is-open:last-of-type .recommend__item-head-title{
        padding-bottom: 12px;
    }
}
@media (min-width: 1160px) {
    .recommend__list::after{
        display: block;
    }
}
@media (min-width: 1220px) {
    .recommend__list::after{
        display: block;
        left: 0;
    }
}


.time{
    padding: 80px 0 53px;
    position: relative;
}
.time::before{
    content: "";
    display: block;
    width: 100%;
    height: 60%;
    bottom: 0;
    position: absolute;
    z-index: -1;
}
.time .scroll-animation__inner{
    animation: scroll 60s linear infinite;
}
.time .common-section__title-wrap{
    padding-top: 0;
}
.time .common-section__sub-title-img{
    display: block;
    width: 100%;
    max-width: 176px;
}
.time .common-section__title{
    padding-bottom: 0;
}

.time__list{
    padding: 0 36px;
    position: relative;
}
.time__list::before{
    content: "";
    display: block;
    width: 230px;
    height: 89px;
    background-image: url(/assets/img/event/opencampus/icon_time_1_sp.gif);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto 50px;
}
.time__list::after{
    content: "";
    display: block;
    width: 125px;
    height: 50%;
    background-image: url(/assets/img/event/opencampus/icon_time_2_sp.gif);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 15px auto 0;
}
.time__item{
    margin-bottom: 42px;
}
.time__item:last-of-type{
    margin-bottom: 0;
}
.time__item-title{
    position: relative;
    margin-bottom: 12px;
}
.time__item-link{
    display: block;
    border-radius: 10px;
    border: 1px solid rgba(44, 64, 147, 0.25);
    overflow: hidden;
    position: relative;
    margin-bottom: 10px;
    background-color: #EDF3FB;
}
.time__item-link::after{
    content: "";
    display: block;
    width: 38px;
    height: 38px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-image: url(/assets/img/event/opencampus/icon_ext_link.svg);
}
.time__item-link--inactive{
    pointer-events: none;
}
.time__item-link-img{
    display: block;
    width: 100%;
    aspect-ratio: 606 / 430;
    object-fit: contain;
}
.time__item-link--inactive::after{
    display: none;
}
.time__item-title-text{
    background: transparent;
}
.time__item--hongo .time__item-title-text{
    color: var(--campus-Hongo, #4DA1A9);
}
.time__item--fujimino .time__item-title-text{
    color: var(--campus-Fujimino, #726994);
}

.time__item-detail{
    border-radius: 10px;
    border: 1px solid rgba(44, 64, 147, 0.25);
    overflow: hidden;
}
.time__item-detail-head{
    background: linear-gradient(0deg, #D8E9FF 0%, #D8E9FF 100%), var(--background-secondary, #EDF3FB);
    display: flex;
    padding: 10px 0px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: var(--color-text-Navy, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
.time__item-detail-foot{
    padding: 16px;
    background: #fff;
}
.campus__program-list{
    gap: 10px 5px;
    margin-top: 0;
    margin-bottom: 2px;
}
.campus__program-list--s{
    margin-top: 10px;
}
.campus__program-list--last{
    margin: 0;
    margin-top: 10px;
}
.campus__program-item{
    font-size: 14px;
    border-radius: 4px;
}
.time .scroll-animation{
    top: auto;
    bottom: 20px;
}
.time .scroll-animation__text{
    -webkit-text-stroke-width: 0;
    -webkit-text-stroke-color: transparent;
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.time--event::before{
    height: 40%;
}
.scroll-animation__text-mark{
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
}
.scroll-animation__text-wrap{
    display: flex;
    align-items: center;
    gap: 32px;
}
@media (min-width: 768px) {
    .time{
        max-width: 100%;
    }
    .time::before{
        height: 50%;
    }
    .time .common-section__title-wrap{
        margin-bottom: 40px;
    }
    .time .common-section__sub-title-img{
        max-width: 220px;
    }
    .time__list{
        padding: 0 20px;
        max-width: 700px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 54px;
    }
    .time__list::before{
        position: absolute;
        width: 172px;
        height: 332px;
        background-image: url(/assets/img/event/opencampus/icon_time_2_pc.gif);
        margin: 0;
        left: -220px;
        bottom: 117px;
        display: none;
    }
    .time__list::after{
        position: absolute;
        width: 178px;
        height: 370px;
        background-image: url(/assets/img/event/opencampus/icon_time_1_pc.gif);
        background-size: contain;
        background-repeat: no-repeat;
        margin: 0;
        right: -220px;
        bottom: 117px;
        display: none;
    }
    .time__item{
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }
    .time--event .time__list{
        grid-template-columns: repeat(1, 1fr);
        margin-bottom: 20px;
    }
    .time--event .time__item{
        width: 70%;
        margin: 0 auto;
    }
    .time__item-detail{
        flex-grow: 1;
        border-radius: 12px;
    }
    .time__item-detail-foot{
        padding: 16px 18px;
        height: 100%;
    }
    .time__item-title-text{
        font-size: 18px;
        letter-spacing: 1.98px;
    }
    .time .scroll-animation{
        top: auto;
        bottom: 20px;
    }
    .scroll-animation__text-mark{
        font-size: 20px;
    }
    .scroll-animation__text-wrap{
        display: flex;
        align-items: center;
        gap: 32px;
    }
    .time .common-anime-title__parts-1{
        height: 48px;
    }
    .time .common-anime-title__parts-2{
        height: 48px;
    }
    .time .common-anime-title__parts-2 path{
        stroke-width: 4px;
    }
    .time .common-anime-title__parts-1 path{
        stroke-width: 4px;
    }
    .time .campus__program-item-span{
        margin-left: -4px;
    }
    .time .campus__item-text{
        font-size: 14px;
    }
    .time__item--fujimino .time__item-detail-foot{
        padding-top: 28px;
    }
}
@media (min-width: 1160px) {
    .time__list::before{
        display: block;
    }
    .time__list::after{
        display: block;
    }

}
/* 学部・学科 プログラム */
.program{
    padding: 80px 20px 40px;
}
.program .common-section__sub-title-img{
    display: block;
    width: 100%;
    max-width: 176px;
}
.program .common-section__title-wrap{
    padding-top: 0;
}
.program .common-section__title{
    padding-bottom: 0;
}
.program__list{
    padding: 14px 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}
.program__item{
    padding: 24px 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    border-radius: 12px;
    border: 3px solid;
    background: #FFF;
    position: relative;
    cursor: pointer;
    transition: .3s all ease;
}
.program__item::after{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    top: 8px;
    right: 8px;
    background-image: url(/assets/img/event/opencampus/icon_plus.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.program__item--hds::before{
    content: "";
    display: block;
    width: 83px;
    height: 29px;
    position: absolute;
    top: -15px;
    right: 0;
    left: 0;
    background-image: url(/assets/img/event/opencampus/icon_new_hds.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
}
.program__item-img{
    display: block;
    max-width: 80px;
}
.program__item-title-wrap{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.program__item-sub-title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.6;
}
.program__item-title{
    text-align: center;
}
.program__item--hds .program__item-title{
    font-size: 14px;
}
.program__item--hds .program__item-title-span{
    font-size: 12px;
}
.program__item--hds{
    border-color: var(--HDS);
}
.program__item--f{
    border-color: var(--Foreign);
}
.program__item--b{
    border-color: var(--Business);
}
.program__item--h{
    border-color: var(--HumanUI);
}
.program__item--s{
    border-color: var(--Science);
}

/* モーダルのスタイル */
.program__modal-bg{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}
.program__modal{
    width: 100%;
    height: calc(100% - 60px);
    background-color: var(--White);
    background-repeat: repeat;
    position: fixed;
    top: 60px;
    z-index: 9001;
    display: none;
}
.program__modal--active{
    display: block;
}
.program__modal--active .scroll-animation{
    z-index: 9002;
    top: -24px;
}
.program__modal--active .scroll-animation__text{
    -webkit-text-stroke-color: rgba(43, 60, 79, 0.20);
    font-size: 120px;
}
.modal-close__button-wrap{
    position: absolute;
    z-index: 9003;
    top: 36px;
    right: 20px;
}
.modal-close__button{
    width: 60px;
    height: 60px;
    cursor: pointer;
    padding: 10px;
    background-color: var(--Navy);
    display: flex;
    align-items: end;
    justify-content: center;
    border-radius: 10px;
    color: var(--text-inverse, #FFF);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 11px;
    font-style: normal;
    font-weight: 300;
    line-height: 10px;
    padding-bottom: 13px;
    transition: .3s all ease;
}
.modal-close__button::before{
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: var(--White);
    position: absolute;
    transform: rotate(45deg);
    top: 20px;
    transition: .3s all ease;
}
.modal-close__button::after{
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: var(--White);
    position: absolute;
    transform: rotate(135deg);
    top: 20px;
    transition: .3s all ease;
}
.modal__inner{
    display: none;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 100px 0 60px;
    overflow-y: scroll;
}
.modal__inner--active{
    display: block;
}

.modal__inner--hds{
    background: var(--color-quinary-04-200, #E9C2E9);
}
.modal__inner--s{
    background: var(--color-quinary-04-200, #D1F7FF);
}
.modal__inner--s .modal__title-span{
    background-color: var(--Science);
}
.modal__inner--h{
    background: var(--color-quinary-03-200, #FFE97D);
}
.modal__inner--h .modal__title-span{
    background-color: var(--HumanUI);
}
.modal__inner--f{
    background: var(--color-quinary-01-200, #FFE5F2);
}
.modal__inner--b{
    background: var(--color-quinary-02-200, #DFF2D8);
}
.modal__item{
    padding: 20px 20px 0;
    position: relative;
    height: auto !important;
}
.modal__item-recommend{
    display: block;
    width: 92px;
    position: absolute;
    top: 0;
    right: 10px;
}
.modal__item-detail{
    padding: 32px 36px;
    border-radius: 20px;
    background: var(--color-base-White, #FFF);
}
.modal__item-img{
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 0 auto 20px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(44, 64, 147, 0.25);
    aspect-ratio: 42 / 25;
    object-fit: cover;
}
.modal__item-title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 3.96px;
}
.modal__item-time{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: Barlow;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    display: flex;
    padding: 6px 12px;
    justify-content: center;
    align-items: center;
    gap: 6px;
    border-radius: 60px;
    border: 1px solid var(--text-secondary, #2B3C4F);
    background: var(--background-secondary, #EDF3FB);
    margin: 10px auto;
    width: fit-content;
}
.modal__item-time::before{
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background-image: url(/assets/img/event/opencampus/icon_watch.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.modal__item-text{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 12px;
    font-style: normal;
    font-weight: 300;
    margin-top: 20px;
}
.modal__item-link{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-style: normal;
    font-weight: 300;
    margin-top: 20px;
}
.modal__item-link-text{
    text-decoration: underline;
    color: #00aa97;
}
.modal__title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 8px;
    line-height: 1.4;
    margin-bottom: 10px;
    position: relative;
    z-index: 100;
}
.program__item-title-span{
    font-size: 20px;
}
.modal__title-span{
    display: flex;
    padding: 5px 14px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 1.98px;
    border-radius: 5px;
    width: fit-content;
    margin: 10px auto 0;
    color: #fff;
}
.glide__index-text{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: Barlow;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4px;
}
.glide__controlers{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin: 20px 0 40px;
}
.glide__arrow{
    display: flex;
    width: 52px;
    height: 52px;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    background: var(--text-secondary, #2B3C4F);
    cursor: pointer;
}
.glide__arrow::after{
    content: "";
    display: block;
    width: 14px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(/assets/img/event/opencampus/icon_right_arrow_wh.svg);
}
.glide__arrow--left::after{
    background-image: url(/assets/img/event/opencampus/icon_right_arrow_wh.svg);
    transform: rotate(180deg);
}
.glide__arrow--disabled{
    pointer-events: none;
    opacity: 0.2;
}
.modal__inner-close-button{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    position: relative;
    padding: 15px 20px;
    padding-left: 52px;
    width: fit-content;
    margin: 0 auto;
    border-radius: 8px;
    border: 1px solid rgba(43, 60, 79, 0.30);
    cursor: pointer;
}
.modal__inner-close-button::before{
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #2B3C4F;
    position: absolute;
    transform: rotate(135deg);
    top: 24px;
    left: 20px;
}
.modal__inner-close-button::after{
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #2B3C4F;
    position: absolute;
    transform: rotate(45deg);
    top: 24px;
    left: 20px;
}
.middle-none{
    display: none;
}
@media (min-width: 768px) {
    .program{
        max-width: 1032px;
        padding: 80px 20px;
        margin: 0 auto;
    }
    .program .common-section__title-wrap{
        margin-bottom: 54px;
    }
    .program .common-section__sub-title-img{
        max-width: 220px;
    }
    .middle-none{
        display: block;
    }
    .program__modal{
        height: calc(100% - 79px);
        top: 79px;
    }
    .program__list{
        padding: 0;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    .program__item{
        font-size: 14px;
    }
    .program__item--hds:hover{
        background: var(--color-quinary-05-200, #E9C2E9);
    }
    .program__item--f:hover{
        background: var(--color-quinary-01-200, #FFE5F2);
    }
    .program__item--b:hover{
        background: var(--color-quinary-02-200, #DFF2D8);
    }
    .program__item--h:hover{
        background: var(--color-quinary-03-200, #FFE97D);
    }
    .program__item--s:hover{
        background: var(--color-quinary-04-200, #D1F7FF);
    }
    .program__item-img{
        max-width: 100px;
    }
    .program__item-sub-title{
        font-size: 12px;
    }
    .program__item-title{
        font-size: 14px;
    }
    .program__modal--active .scroll-animation{
        top: -38px;
        z-index: 1;
    }
    .program__modal--active .scroll-animation__text{
        font-size: 200px;
    }
    .modal-close__button-wrap{
        top: 80px;
        max-width: 83%;
        width: 100%;
        margin: 0 auto;
        right: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        align-items: end;
    }
    .modal-close__button{
        width: 88px;
        height: 88px;
        padding: 16px;
        font-size: 14px;
        border: 3px solid var(--text-secondary, #2B3C4F);
    }
    .modal-close__button:hover{
        background: #fff;
        color: var(--text-secondary, #2B3C4F);
    }
    .modal-close__button:hover::before {
        background-color: var(--Navy);
    }
    .modal-close__button:hover::after {
        background-color: var(--Navy);
    }
    .modal-close__button::before{
        width: 29px;
        height: 3px;
        top: 27px;
    }
    .modal-close__button::after{
        width: 29px;
        height: 3px;
        top: 27px;
    }
    .modal__inner{
        padding: 134px 0 60px;
    }
    .modal__item{
        padding: 0;
    }
    .modal__item-recommend{
        display: block;
        width: 92px;
        position: absolute;
        top: 0;
        right: 10px;
    }
    .modal__title{
        text-align: left;
        font-size: 32px;
        line-height: 1;
        max-width: 83%;
        margin: 0 auto 20px;
    }
    .program__item-title-span{
        font-size: 20px;
    }
    .modal__title-span{
        display: inline-flex;
        padding: 3px 10px;
        font-size: 18px;
        letter-spacing: 1.98px;
        margin: 0;
        line-height: 1.5;
        position: relative;
        bottom: 4px;
    }
    .glide__index-text{
        font-size: 24px;
        letter-spacing: 4.8px;
    }
    .glide__controlers{
        margin: 30px 0 40px;
    }
    .glide__arrow:hover{
        transition: .3s all ease;
        opacity: .8;
    }
    .modal__inner-close-button{
        color: var(--text-secondary, #2B3C4F);
        font-family: "Hiragino Kaku Gothic ProN";
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        position: relative;
        padding: 15px 20px;
        padding-left: 52px;
        width: fit-content;
        margin: 0 auto;
        border-radius: 8px;
        border: 1px solid rgba(43, 60, 79, 0.30);
    }
    .modal__inner-close-button:hover{
        transition: .3s all ease;
        opacity: .8;
    }
    .modal__inner-close-button::before{
        content: "";
        display: block;
        width: 20px;
        height: 2px;
        background-color: #2B3C4F;
        position: absolute;
        transform: rotate(135deg);
        top: 24px;
        left: 20px;
    }
    .modal__inner-close-button::after{
        content: "";
        display: block;
        width: 20px;
        height: 2px;
        background-color: #2B3C4F;
        position: absolute;
        transform: rotate(45deg);
        top: 24px;
        left: 20px;
    }
}
@media (min-width: 1000px) {
    .program__list{
        grid-template-columns: repeat(5, 1fr);
    }
    .middle-none{
        display: none;
    }
    .program__modal{
        height: calc(100% - 142px);
        top: 142px;
    }
    .modal__item-detail{
        display: flex;
        align-items: center;
        padding: 40px 48px;
        border-radius: 20px;
        gap: 42px;
        height: 100%;
    }
    .modal__item-img-wrap{
        position: relative;
        flex-shrink: 0;
    }
    .modal__item-recommend{
        right: 13px;
        top: -20px;
        width: 102px;
    }

    .modal__item-img{
        max-width: 420px;
        flex-shrink: 0;
        margin: 0;
        border-radius: 20px;
    }
    .modal__item-title{
        text-align: left;
        font-size: 24px;
        letter-spacing: 2.88px;
    }
    .modal__item-time{
        font-size: 16px;
        margin: 12px 0 0;
    }
    .modal__item-time::before{
        width: 16px;
        height: 16px;
    }
    .modal__item-text{
        font-size: 16px;
        margin-top: 26px;
    }
}

.coming-soon{
    padding: 50px 20px;
}
.coming-soon__en-text{
    color: rgba(43, 60, 79, 0.25);
    text-align: center;
    font-family: Barlow;
    font-size: 32px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 3.2px;
    margin-bottom: 10px;
}
.coming-soon__text{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 3.96px;
}
.notice-message{
    padding: 30px 20px 60px;
}
.notice-message__text{
    color: var(--text-accent, #FD2F51);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 3.96px;
}
.notice-message .instagram-media__wrap{
    margin-top: 50px;
    width: 100%;
    max-width: 540px;
}
@media (min-width: 768px) {
    .coming-soon{
        padding: 70px 110px;
    }
    .coming-soon__en-text{
        font-size: 50px;
        letter-spacing: 5px;
        margin-bottom: 32px;
    }
    .coming-soon__text{
        font-size: 24px;
        letter-spacing: 2.88px;
    }
    .notice-message{
        padding: 70px 20px 80px;
    }
    .notice-message__text{
        font-size: 24px;
        letter-spacing: 2.88px;
    }
}

.present-wrap{
    position: relative;
}
.present-wrap .scroll-animation{
    top: 45px;
}
.present-wrap .scroll-animation__text{
    font-size: 120px;
    -webkit-text-stroke-color: rgba(43, 60, 79, 0.20);
}
.present{
    padding: 152px 20px 80px;
}
.present-detail{
    padding: 42px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    border-radius: 20px;
    border: 5px solid;
    background-image: url(/assets/img/event/opencampus/bg_blue_checked_pattern.svg);
    background-repeat: repeat;
    background-size: 10px;
    position: relative;
    background-size: 16px;
}
.present-detail__text{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
}
.present-detail__link{
    display: block;
    max-width: 320px;
    margin: 0 auto;
    position: absolute;
    top: -117px;
    left: 0;
    right: 0;
    transition: .3s all ease;
}
.present-detail__link-img{
    display: block;
    width: 100%;
}
.common-section__title-wrap--present{
    margin-bottom: 20px;
}
.present-detail__img{
    display: block;
    width: 100%;
    max-width: 160px;
    margin: 0 auto;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid var(--color-neutral-200, #EBECED);
}
@media (min-width: 768px) {
    .present-wrap .scroll-animation{
        top: -26px;
    }
    .present-wrap .scroll-animation__text{
        font-size: 200px;
    }
    .present{
        max-width: 870px;
        padding: 120px 20px 100px;
    }
    .present-detail{
        padding: 30px 75px;
        flex-direction: row;
        gap: 60px;
    }
    .present-detail__text{
        font-size: 16px;
    }
    .present-detail__link{
        max-width: 388px;
        margin: 0;
        top: -146px;
        right: -47px;
        left: auto;
    }
    .present-detail__link:hover{
        opacity: 0.8;
    }
    .present-detail__img{
        max-width: 260px;
        margin: 0;
    }
    .present-detail__text-wrap{
        width: 100%;
        order: 2;
    }
    .common-section__title-wrap--present .common-section__title::after{
        width: calc(100% + 80px);
    }
    .present-detail__img{
        order: 1;
    }
}

/* Q&A */
.qa-wrap{
    overflow: hidden;
    padding: 0 20px;
    position: relative;
}
.qa{
    padding: 60px 0 80px;
}
.qa__list {
    display: flex;
    flex-direction: column;
}
.qa__list::before{
    content: "";
    display: block;
    width: 199px;
    height: 94px;
    background-image: url(/assets/img/event/opencampus/parts_qa_1_sp.gif);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
}
.qa__item {
    border: 1px solid #ccc;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
    cursor: pointer;
}
.qa__item:last-of-type{
    margin-bottom: 0;
}
.qa__question {
    display: flex;
    align-items: center;
    padding: 20px 60px 20px 20px;
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 22px;
    gap: 16px;
    background: var(--background-quaternary, #FFF);
    position: relative;
}
.qa__question::before{
    content: "Q";
    display: block;
    color: rgba(43, 60, 79, 0.50);
    font-family: Barlow;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
}
.qa__question-span{
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid rgba(43, 60, 79, 0.35);
    position: relative;
    flex-shrink: 0;
    position: absolute;
    right: 20px;
    transition: .3s all ease;
}
.qa__question-span::before{
    content: "";
    display: block;
    width: 2px;
    height: 10px;
    background: #2B3C4F;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(0deg);
    transition: .3s all ease;
}
.qa__question-span::after{
    content: "";
    display: block;
    width: 2px;
    height: 10px;
    background: #2B3C4F;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
    transition: .3s all ease;
}
.qa__question.active .qa__question-span::before {
    transform: rotate(90deg);
}
.qa__answer{
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    background: var(--background-quaternary, #FFF);
    padding: 0 20px;
    display: flex;
    gap: 16px;
}
.qa__answer.active {
    padding: 10px 20px 24px 20px;
}
.qa__answer::before{
    content: "A";
    display: block;
    color: #2C4093;
    font-family: Barlow;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
}
.qa__answer-detail{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
}
.qa__answer-detail-text-wrap{
    margin-bottom: 30px;
}
.qa__answer-detail-text{
    margin-bottom: 14px;
    padding-top: 5px;
}
.qa__answer-detail-text:last-of-type{
    margin-bottom: 0;
}
.qa__answer-detail-annotation{
    color: var(--text-quinary, #646F70);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 12px;
    font-style: normal;
    font-weight: 300;
    line-height: 18px;
}
@media (min-width: 768px) {
    .qa-wrap::after{
        content: "";
        display: none;
        width: 169px;
        height: 182px;
        background-image: url(/assets/img/event/opencampus/parts_qa_2_pc.gif);
        background-size: contain;
        background-repeat: no-repeat;
        margin: 0;
        left: 39px;
        bottom: 0;
        position: absolute;
        z-index: 2;
    }
    .qa{
        padding: 100px 0;
        max-width: 830px;
        position: relative;
        z-index: 5;
    }
    .qa .common-section__title-wrap{
        margin-bottom: 54px;
    }
    .qa__list {
        position: relative;
    }
    .qa__list::before{
        position: absolute;
        width: 143px;
        height: 320px;
        margin: 0;
        top: -180px;
        right: -194px;
        background-image: url(/assets/img/event/opencampus/parts_qa_1_pc.gif);
        display: none;
    }
    .qa__item{
        margin-bottom: 20px;
    }
    .qa__question-text{
        overflow: hidden;
        color: transparent;
        text-shadow: 0 -50px 0 #000, 0 0 0 #000;
        transition: text-shadow 0.3s;
    }
    .qa__question:hover .qa__question-text{
        text-shadow: 0 0 0 #000, 0 50px 0 #000;
    }
    .qa__question:hover .qa__question-span{
        background: var(--text-secondary, #2B3C4F);
    }
    .qa__question:hover .qa__question-span::before{
        background: #fff;
    }
    .qa__question:hover .qa__question-span::after{
        background: #fff;
    }
    .qa__question.active:hover .qa__question-span{
        background: #fff;
    }
    .qa__question.active:hover .qa__question-span::before{
        background: var(--text-secondary, #2B3C4F);
    }
    .qa__question.active:hover .qa__question-span::after{
        background: var(--text-secondary, #2B3C4F);
    }
    .qa__question.active{
        cursor: default;
    }
    .qa__answer.active {
        cursor: default;
    }
    .qa__question {
        padding: 24px 32px;
        font-size: 16px;
        padding-right: 100px;
    }
    .qa__question::before{
        position: relative;
        bottom: 2px;
    }
    .qa__question-span{
        width: 40px;
        height: 40px;
        right: 32px;
    }
    .qa__question-span::before{
        width: 2px;
        height: 14px;
    }
    .qa__question-span::after{
        width: 2px;
        height: 14px;
    }
    .qa__answer{
        padding: 0 32px;
    }
    .qa__answer.active {
        padding: 10px 32px 24px 32px;
    }
    .qa__answer-detail{
        font-size: 16px;
    }
    .qa__answer-detail-text-wrap{
        margin-bottom: 30px;
    }
    .qa__answer-detail-text{
        margin-bottom: 16px;
    }
    .qa__answer-detail-annotation{
        font-size: 14px;
    }
    .qa-wrap .scroll-animation{
        top: 0;
        left: auto;
        right: -45px;
        width: fit-content;
    }
    .qa-wrap .scroll-animation__inner{
        animation: scroll-y 30s linear infinite;
        flex-direction: column;
    }
    .qa-wrap .scroll-animation__text{
        writing-mode: vertical-rl;
        -webkit-text-stroke-color: rgba(43, 60, 79, 0.20);
    }
}
@media (min-width: 1200px) {
    .qa-wrap::after{
        display: block;
    }
    .qa__list::before{
        display: block;
    }
}




/* LINE登録方法 */
.line{
    padding: 80px 20px;
}
.line .common-section__title{
    padding-bottom: 23px;
}
.common-section__title-wrap--line{
    margin-bottom: 30px;
}
.line-detail{
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.line__text{
    color: var(--color-text-Navy, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 10px;
}
.line__text--normal-weight{
    font-weight: normal;
}
.line__text--red{
    font-weight: normal;
    color: var(--text-accent, #FD2F51);
    margin-bottom: 0;
    text-align: center;
    margin-bottom: 6px;
}
.line__text--bold-red{
    font-weight: bold;
    color: var(--text-accent, #FD2F51);
    margin-bottom: 0;
    text-align: center;
    margin-bottom: 6px;
}
.line__text-span{
    font-size: 15px;
    line-height: 25px;
}
.line__annotation{
    color: var(--text-accent, #FD2F51);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 11px;
    font-style: normal;
    font-weight: 300;
    text-align: center;
}
.line__annotation--underline{
    text-decoration: underline;
}
.line__text--bold{
    font-weight: 600;
}
.line__annotation::before{
    content: "※";
    display: inline-block;
}
.line__text--left{
    text-align: left;
}
.line .glide__controlers{
    gap: 10px;
    margin: 12px 0 0;
}
.line-modal__list-wrap{
    position: relative;
}
.line-modal__list-wrap::before{
    content: "";
    display: block;
    width: 188px;
    height: 46px;
    position: absolute;
    z-index: 20;
    background-image: url(/assets/img/event/opencampus/line_bubble.png);
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -32px;
}
.line-modal__item{
    border-radius: 20px;
    border: 1px solid rgba(44, 64, 147, 0.25);
    overflow: hidden;
}
.line-modal__item-img{
    display: block;
    width: 100%;
}
@media (min-width: 768px) {
    .line-wrap{
        position: relative;
        overflow-y: hidden;
    }
    .line{
        padding: 120px 20px 80px;
        max-width: 900px;
    }
    .line .common-section__sub-title{
        font-size: 18px;
    }
    .line-detail{
        flex-direction: row;
        align-items: center;
        gap: 70px;
        width: 100%;
    }
    .line__text-wrap{
        order: 2;
        width: calc(100% - 430px);
        flex-shrink: 0;
        flex-grow: 1;
    }
    .line__text{
        font-size: 16px;
    }
    .line__text-span{
        font-size: 16px;
    }
    .line__annotation{
        font-size: 12px;
    }
    .line .glide__controlers{
        margin-top: 16px;
    }
    .line-modal__list-wrap{
        order: 1;
        max-width: 360px;
        flex-grow: 0;
    }
    .line-modal__list-wrap::before{
        width: 276px;
        height: 70px;
        top: -48px;
    }
    .common-section__title-wrap--line{
        margin-bottom: 52px;
    }
}

.line__object{
    display: none;
}
@media (min-width: 768px) {
    .line__object{
        display: block;
    }
    .line__object-wrap{
        position: absolute;
        z-index: -1;
        width: 180px;
        transform: translateY(0);
        transition: transform 0.1s ease-out;
        z-index: -1;
    }
    .line__object-wrap--b{
        top: 0;
        left: 172px;
    }
    .line__object-wrap--g{
        bottom: 110px;
        right: 0;
    }
    .line__object-wrap--u{
        bottom: -100px;
        left: -40px;
    }
    .line__object-img{
        display: block;
        width: 100%;
    }
}
@media (min-width: 1200px) {
    .line-wrap::after{
        content: "";
        display: block;
        width: 128px;
        height: 330px;
        background-image: url(/assets/img/event/opencampus/parts_line_1_pc.gif);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        right: calc(50% - 600px);
    }
}

/* access */
.access-wrap{
    position: relative;
    overflow: hidden;
    /* background-image: url(/assets/img/event/opencampus/bg_access.png);
    background-repeat: repeat;
    background-size: 20px; */
    background: url(/assets/img/event/opencampus/bg_access.png) #FFFFFF 0% 0% / 20px 20px repeat;
}
.access-wrap .scroll-animation{
    height: 70px;
    width: auto;
}
.access-wrap .scroll-animation__inner{
    height: 100%;
}
.access{
    padding: 80px 20px 100px;
}
.common-section__title-wrap--access{
    margin-bottom: 50px;
}
.access__list{
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: 440px;
    margin: 0 auto;
}
.access__item-title{
    margin-bottom: 20px;
}
.access__item-title-text{
    background-color: #FFFFFF;
}
.access__item--hongo .access__item-title-text{
    color: var(--campus-Hongo, #4DA1A9);
}
.access__item--fujimino .access__item-title-text{
    color: var(--campus-Fujimino, #726994);
}
.access__item-sub-title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
}
.access__item-sub-title:nth-of-type(n+2){
    margin-top: 12px;
}
.access__item-sub-title:last-of-type{
    margin-bottom: 10px;
}
.access__item-sub-title-span{
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    padding-left: 2px;
    display: inline-block;
}
.access__item-sub-title-span-num{
    font-size: 32px;
}
.access__item-sub-title--small{
    font-weight: normal;
}
.access__item-sub-title--small span{
    font-size: 14px;
}
.access__item-img-wrap{
    padding: 1px;
    border-radius: 10px;
    background: rgba(44, 64, 147, 0.25);
    margin: 0 auto 10px;
}
.access__item-img{
    aspect-ratio: 335 / 208;
    display: block;
    width: 100%;
    border-radius: 10px;
}
.access__item-text-wrap{
    border-radius: 10px;
    border: 1px solid rgba(44, 64, 147, 0.25);
    background: var(--background-quaternary, #FFF);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.access__item-text-flex{
    display: flex;
    gap: 10px;
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 14px;
    font-style: normal;
}
.access__item-item-title{
    font-weight: 600;
    max-width: 92px;
    width: 100%;
}
.access__item-link{
    width: fit-content;
    display: flex;
    padding: 10px 10px 10px 14px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 12px;
    background: var(--campus-Fujimino, #726994);
    color: var(--text-inverse, #FFF);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    margin-top: 12px;
    margin: 12px auto 0;
}
.access__item-link::after{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background-image: url(/assets/img/event/opencampus/icn_ext_fujimino.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 8px;
}
.access__item-link-text{
    overflow: hidden;
    color: transparent;
    text-shadow: 0 -50px 0 #fff, 0 0 0 #fff;
    transition: text-shadow 0.3s;
}
.access__item-link:hover .access__item-link-text{
    text-shadow: 0 0 0 #fff, 0 50px 0 #fff;
}
.access-wrap .scroll-animation__img{
    min-width: 1500px;
}
.access-wrap .scroll-animation{
    z-index: 20;
    top: auto;
    bottom: 0;
}
.access__item-img-wrap--pc{
    display: none;
}
.access__item-img-wrap--sp{
    display: block;
}
.access__bus{
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
}
.access__bus-stop__title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 16px;
}
.access__bus-stop__img{
    display: block;
    border-radius: 10px;
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
    border: 1px solid rgba(44, 64, 147, 0.25);
}
@media (min-width: 768px) {
    .access{
        max-width: 955px;
        padding: 100px 20px;
    }
    .access__bus{
        flex-direction: row;
        gap: 60px;
        margin-top: 90px;
    }
    .access__bus-stop{
        width: calc((100% - 60px)/2);
    }
    .access__bus-stop__title{
        font-size: 18px;
        letter-spacing: 2.88px;
        margin-bottom: 10px;
    }
    .access__bus-stop__img{
        display: block;
        border-radius: 10px;
        max-width: 520px;
        width: 100%;
        margin: 0 auto;
        border: 1px solid rgba(44, 64, 147, 0.25);
    }
}
@media (min-width: 1100px) {
    .common-section__title-wrap--access{
        margin-bottom: 52px;
    }
    .access__list{
        gap: 80px;
        max-width: 100%;
    }
    .access__item{
        display: flex;
        align-items: center;
        gap: 70px;
    }
    .access__item-title{
        margin-bottom: 24px;
    }
    .access__item-title-text{
        font-size: 18px;
        letter-spacing: 1.98px;
    }
    .access .common-anime-title__parts-1{
        height: 48px;
    }
    .access .common-anime-title__parts-2{
        height: 48px;
    }
    .access .common-anime-title__parts-2 path{
        stroke-width: 4px;
    }
    .access .common-anime-title__parts-1 path{
        stroke-width: 4px;
    }
    .access__item-sub-title{
        font-size: 18px;
        letter-spacing: 1.98px;
        line-height: 1.5;
        font-weight: 300;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }
    .access__item-sub-title:nth-of-type(n+2){
        margin-top: 20px;
    }
    .access__item-sub-title:last-of-type{
        margin-bottom: 20px;
    }
    .access__item-sub-title-span{
        font-size: 24px;
    }
    .access__item-sub-title-span-num{
        font-size: 52px;
        position: relative;
        bottom: -3px;
        padding-left: 3px;
    }
    .access__item-sub-title--small{
        font-weight: normal;
        font-size: 14px;
        align-items: center;
    }
    .access__item-sub-title--small span{
        font-size: 14px;
        bottom: auto;
        padding-left: 0;
    }
    .access__item-img-wrap{
        padding: 1px;
        width: 100%;
        margin-bottom: 0;
        border-radius: 20px;
        flex-grow: 0;
        max-width: 440px;
    }
    .access__item-detail{
        flex-grow: 1;
    }
    .access__item-img{
        aspect-ratio: 440 / 274;
        border-radius: 20px;
    }
    .access__item-text-wrap{
        border-radius: 12px;
        padding: 24px 28px;
    }
    .access__item-item-title{
        max-width: 120px;
    }

    .access-wrap .scroll-animation{
        transform: rotate(90deg);
        top: 50%;
        right: calc(-50% + -6px);
        height: 88px;
        width: fit-content;
    }
    .access__item-img-wrap--pc{
        display: block;
    }
    .access__item-img-wrap--sp{
        display: none;
    }
}

/* reserve */
.reserve{
    position: relative;
    padding-top: 30px;
}
.reserve .scroll-animation {
    top: auto;
    bottom: 20px;
}
.reserve .scroll-animation__text{
    -webkit-text-stroke-width: 0;
    -webkit-text-stroke-color: transparent;
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.reserve .common-section__title{
    padding-bottom: 23px;
}
.reserve_link{
    display: flex;
    padding: 12px 32px 12px 16px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    border: 1px solid #D9DFE5;
    color: var(--text-secondary, #2B3C4F);
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    position: relative;
    margin-top: 20px;
}
.reserve_link::after{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 8px;
    position: absolute;
    right: 10px;
}
.reserve_link--hongo{
    border-color: var(--campus-Hongo, #4DA1A9);
    background: var(--color-senary-01-100, #E3FDFB);
}
.reserve_link--fujimino{
    border-color: var(--campus-Fujimino, #726994);
    background: var(--color-senary-02-100, #F4EBFA);
}
.reserve_link--hongo::after{
    background-image: url(/assets/img/event/opencampus/icn_ext_hongo_2.svg);
}
.reserve_link--fujimino::after{
    background-image: url(/assets/img/event/opencampus/icn_ext_fujimino_2.svg);
}

.reserve__schedule-link{
    margin-top: 10px;
}
.reserve__schedule-title{
    color: var(--text-secondary, #2B3C4F);
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 25px;
    margin-bottom: 10px;
}
@media (min-width: 768px) {
    .line--0927-wrap .line__object-wrap--b{
        top: 0;
    }
    .line--0927-wrap .line__object-wrap--u{
        left: 0;
        top: auto;
        bottom: 40px;
    }
    .common-section__title-wrap--reserve{
        margin-bottom: 40px;
    }
    .reserve__schedule-link{
        margin-top: 24px;
    }
}

/* 0927 LINE事前登録手順専用 */
.line--0927-wrap{
    position: relative;
    overflow: hidden;
}
.line--0927{
    padding: 30px 20px 80px;
}
.line--0927 .line__annotation{
    display: flex;
    gap: 3px;
    font-size: 12px;
}
.line--0927 .line__annotation-wrap{
    width: fit-content;
    margin: 20px auto 0;
}
.line--0927 .line__annotation::before{
    content: "※";
    display: inline-block;
}
.line--0927 .line-detail{
    gap: 20px;
}
.line--0927 .line__img{
    display: block;
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
}
.line--0927 .line-detail{
    display: flex;
    flex-direction: column;
}
.line--0927 .line__text-wrap{
    order: 1;
    width: 100%;
}
.line--0927 .line__picture{
    order: 2;
}
.line--0927 .line__text--red{
    font-size: 16px;
}
@media (min-width: 768px) {
    .line--0927 {
        padding: 30px 20px 120px;
    }
    .line--0927 .line__picture{
        margin-top: 20px;
    }
    .line--0927 .line__annotation{
        font-size: 14px;
    }
}
@media (min-width: 1084px) {
    .line--0927-wrap::after{
        content: "";
        display: block;
        width: 187px;
        height: 330px;
        background-image: url(/assets/img/event/opencampus/parts_line_1_pc.gif?202510221154);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: auto;
        bottom: 136px;
        right: calc(50% - 540px);
    }
}

.no-scroll {
    position: fixed;
    top: auto;
    overflow-y: hidden;
    width: 100%;
    height: 100%;
}
.pc-none{
    display: block;
}
.pc-none-2{
    display: block;
}
.sp-none{
    display: none;
}
.sp-none-2{
    display: none;
}
@media (min-width: 768px) {
    .pc-none{
        display: none;
    }
    .sp-none{
        display: block;
    }
}
@media (min-width: 1000px) {
    .pc-none-2{
        display: none;
    }
    .sp-none-2{
        display: block;
    }
}
