@charset "UTF-8";

/* KV -------------------- */
#home main {
    background-image: url(../img/kv_aijima.png), url(../img/kv_matsuo.png);
    background-repeat: no-repeat;
    background-size: 210px auto, 262px auto;
    background-position: calc(50% + 138px) 280px, calc(50% - 140px) 310px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
}

#kv__wrap {
    width: 100%;
    height: 100svh;
    min-height: 730px;
    position: relative;
}

.kv__catch {
    font-family: var(--gfont-jp), sans-serif;
    font-weight: 800;
    line-height: 1.4;
    padding: 30px 0 20px;
    text-align: center;
}

.kv__schedule img {
    margin: 0 auto;
    height: auto;
    width: 140px;
}

.kv__sponsor {
    background-color: rgba(253,239,219,0.72);
    display: inline-block;
    font-size: 1rem;
    font-weight: normal;
    padding: 10px;
    text-align: center;    
    position: absolute;
    left: 50%;
    bottom: 100px;
    transform: translateX(-50%);
    width: auto;
    min-width: 260px;
}

h1 {
    background: url(../img/logo.svg) center center no-repeat;
    margin: 0 auto;
    height: 166px;
    width: 300px;
    margin-bottom: 30px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

@media screen and (min-width: 640px) {
    #home main {
        background-size: 310px auto, 386px auto;
        background-position: calc(50% + 250px) 400px, calc(50% - 250px) 460px;
        position: relative;
        width: 100%;
    }

    #kv__wrap { min-height: auto; }

    .kv__catch {
        font-size: 2.2rem;
        padding: 40px 0 30px;
    }
    
    .kv__schedule img { width: 220px; }
    
    .kv__sponsor {
        font-size: 1.2rem;
        bottom: 80px;
        min-width: 240px;
        margin-top: 20px;
    }

    h1 {
        height: 268px;
        width: 480px;
        margin-bottom: 50px;
    }
}

@media screen and (min-width: 1024px) {
    #home main {
        background-size: 370px auto, 454px auto;
        background-position: calc(50% + 420px) 90px, calc(50% - 450px) 120px;
        position: relative;
        width: 100%;
    }

    #kv__wrap {
        height: auto;
        min-height: 740px;
    }

    .kv__catch { padding: 100px 0 40px; }
    .kv__sponsor { bottom: auto; }

    h1 {
        height: 290px;
        width: 520px;
        margin-bottom: 40px;
    }
}


/* OUTLINE -------------------- */
.outline__catch {
    font-family: var(--gfont-jp), sans-serif;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.6;
}

@media screen and (min-width: 640px) {
    .outline__catch { font-size: 2.2rem; }
}


/* NEWS -------------------- */

.news {
    background-color: rgba(253,239,219,0.72);
    margin-bottom: 20px;
    padding: 20px;
}

.news__date {
    background-color: var(--color-prime);
    border-radius: 12px;
    color: var(--color-second);
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 24px;
    padding: 0 14px;
}

.news__title {
    border-bottom: 2px solid var(--color-prime);
    font-family: var(--gfont-jp), sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.7;
    margin-bottom: 20px;
    padding: 6px 0;
}

.news__text {
    font-size: 1.4rem;
    font-weight: 400;
}

@media screen and (min-width: 640px) {
    .news {
        margin-bottom: 40px;
        padding: 40px;
    }

    .news__title {
        font-size: 2rem;
        margin-bottom: 30px;
    }

     .news__text { font-size: 1.6rem; }
}

.news__sns-icon {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.news__sns-icon li { width: 80px; height: 80px; }

.news__sns-icon li a {
    display: block;
    width: 100%;
    height: 100%;
    transition: var(--transition-opacity);
}

@media (hover: hover) {
    .news__sns-icon li a:hover { opacity: var(--fade-opacity); }
}


/* GUEST -------------------- */
.guest-talk__list, .guest-live__list1 {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    padding-top: 30px;
}

.guest-live__list2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: left;
    column-gap: 20px;
    row-gap: 30px;
    padding-top: 30px;
}

.guest-live__list2 li { width: calc((100% - (20px * 1)) / 2); }

.guest-talk__list li,
.guest-live__list1 li,
.guest-live__list2 li { text-align: center; }

.guest-talk__list li a,
.guest-live__list1 li a,
.guest-live__list2 li a {
    color: var(--color-prime);
    display: block;
    font-family: var(--gfont-jp), sans-serif;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    transition: var(--transition-opacity);
}

.guest-talk__list li a span,
.guest-live__list1 li a span,
.guest-live__list2 li a span {
    display: block;
    font-size: 75%;
}

.guest-talk__list li a img,
.guest-live__list1 li a img,
.guest-live__list2 li a img {
    border-radius: 8px;
    margin-bottom: 10px;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 640px) {
    .guest-talk__list, .guest-live__list1 {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 40px;
    }

    .guest-talk__list li, .guest-live__list1 li { width: calc((100% - (60px * 1)) / 2); }
    .guest-live__list2 li { width: calc((100% - (20px * 3)) / 4); }
}

@media screen and (min-width: 1024px) {
    .guest-talk__list,
    .guest-live__list1 { column-gap: 60px; }

    .guest-talk__list li { width: 280px; }

    .guest-live__wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: left;
        column-gap: 40px;
    }

    .guest-live__list1 { width: 280px; }
    .guest-live__list1 li { width: 100%; }
    .guest-live__list2 { width: 640px; }
}

@media (hover: hover) {
    .guest-talk__list li a:hover,
    .guest-live__list1 li a:hover,
    .guest-live__list2 li a:hover { opacity: var(--fade-opacity); }
}

/* Profile Modal */
/* オーバーレイ 初期状態 */
.mfp-fade.mfp-bg {
    opacity: 0;
    transition: all .2s ease-out;
}
/* オーバーレイ 表示アニメーション */
.mfp-fade.mfp-bg.mfp-ready { opacity: .8; }
/* オーバーレイ 非表示アニメーション */
.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }
/* コンテンツ 初期状態 */
.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all .2s ease-out;
}
/* コンテンツ 表示アニメーション */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content { opacity: 1; }
/* コンテンツ 非表示アニメーション */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }

.mfp-bg {
    background-color: var(--color-second);
    opacity: 0.6;
}

.mfp-container { padding: 0 var(--sp-padding-rl); }

.mfp-content {
    background-color: var(--color-prime);
    color: var(--color-second);
    padding: 24px 24px 30px;
    width: 100%;
    max-height: 88dvh;
    overflow-y: auto;
}

.mfp-close-btn-in .mfp-close {
    color: var(--color-second);
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 3.6rem;
    font-weight: 100;
    opacity: 1;
}

.profile__img { padding: 30px 0 20px; }

.profile__text {
    font-size: 1.4rem;
    font-weight: normal;
    word-break: break-all;
}

.profile__name {
    font-family: var(--gfont-jp);
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.4;
    padding-bottom: 20px;
}

.profile__name span { font-size: 75%; }

@media screen and (min-width: 640px) {
    .mfp-content {
        background-size: 120px auto;
        padding: 20px 30px 40px;
        width: 480px !important;
    }

    .profile__text { font-size: 1.6rem; }
}

@media screen and (min-width: 1024px) {
    .mfp-content {
        background-size: auto auto;
        padding: 40px;
        width: 960px !important;
    }

    .profile__wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        column-gap: 40px;
    }

    .profile__img {
        padding: 0;
        width: 320px;
    }

    .profile__text { flex: 1; }
}


/* TICKET -------------------- */
.ticket__price {
    font-family: var(--gfont-jp);
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
}

.ticket__price span { font-size: 3.2rem; }

.ticket__soldout {
    border: 2px solid var(--color-att);
    color: var(--color-att);
    font-family: var(--gfont-eng), sans-serif;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 auto 30px;
    padding: 8px;
    text-align: center;
    width: 160px;
}

.ticket__soldout span { font-size: 3.2rem; }

@media screen and (min-width: 640px) {
    .ticket__price span { font-size: 3.6rem; }

    .ticket__wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 40px;
    }

    .ticket__wrap > div { width: calc((100% - (40px * 1)) / 2); }
}

@media screen and (min-width: 1024px) {
    .ticket__wrap { column-gap: 60px; }
    .ticket__wrap > div { width: calc((100% - (60px * 1)) / 2); }
}


/* MOVIE -------------------- */
.movie__wrap-1col,
.movie__wrap-2col {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.movie__wrap-1col li:nth-child(2),
.movie__wrap-2col li:nth-child(2) {
    font-size: 87.5%;
    line-height: 1.6;
}

.movie__wrap-1col .movie,
.movie__wrap-2col .movie {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.movie__wrap-1col .movie iframe,
.movie__wrap-2col .movie iframe {
    width: 100%;
    height: 100%;
}

.movie__thumb {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.movie__thumb li { width: 100%; }

.movie__thumb li a {
    color: var(--color-prime);
    display: block;
    font-size: 87.5%;
    line-height: 1.6;
    text-decoration: none;
    transition: var(--transition-opacity);
}

.movie__thumb li img {
    padding-bottom: 10px;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 640px) {
    .movie__wrap-1col,
    .movie__wrap-2col { row-gap: 40px; }

    .movie__thumb {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 40px;
    }

    .movie__thumb li { width: calc((100% - (40px * 1)) / 2); }
}

@media screen and (min-width: 1024px) {
    .movie__wrap-2col {
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 60px;
    }

    .movie__wrap-2col ul { width: calc((100% - (60px * 1)) / 2); }
    .movie__thumb { column-gap: 60px; }
    .movie__thumb li { width: calc((100% - (60px * 1)) / 2); }
}

@media (hover: hover) {
    .movie__thumb li a:hover { opacity: var(--fade-opacity); }
}



/* ACCESS -------------------- */
.access__wrap {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.access__wrap img { width: 100%; }

.access__map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}
   
.access__map iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}


@media screen and (min-width: 1024px) {
    .access__wrap {
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 60px;
        row-gap: 0;
    }

    .access__wrap .access__inner { width: calc((100% - (60px * 1)) / 2); }
}


/* SPONSOR -------------------- */
.sponsor__wrap { padding: 30px 0 0; }

.sponsor__wrap .sponsor__title {
    color: var(--color-prime);
    font-family: var(--gfont-jp), sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 2;
    padding: 0 0 16px;
    text-align: center;
}

.sponsor__wrap .sponsor__title span {
    background-color: var(--color-second);
    border: 1px solid var(--color-prime);
    border-radius: 4px;
    display: inline-block;
    min-width: 140px;
    padding: 0 10px;
}

.sponsor__wrap .sponsor__title.txt {
    padding: 0;
    margin-bottom: -15px;
}

.sponsor__wrap a { transition: var(--transition-opacity); }

.sponsor__naozane {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.sponsor__naozane li { width: 100%; }

.sponsor__ohdanna,
.sponsor__wakadanna,
.sponsor__10hy,
.sponsor__5hy,
.sponsor__atsuonteam,
.sponsor__yoidore {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.sponsor__ohdanna { gap: 20px; }
.sponsor__ohdanna li { width: calc((100% - (20px * 1)) / 2); }

.sponsor__wakadanna { gap: 20px; }
.sponsor__wakadanna li { width: calc((100% - (20px * 2)) / 3); }

.sponsor__10hy { gap: 10px; }
.sponsor__10hy li { width: calc((100% - (10px * 3)) / 4); }

.sponsor__5hy { justify-content: left; gap: 20px; }
.sponsor__5hy li {
    line-height: 1.6; 
    width: calc((100% - (20px * 1)) / 2);
}

.sponsor__atsuonteam,
.sponsor__yoidore {
    border: 1px solid var(--color-prime);
    padding: 24px 10px 10px;
}

.sponsor__atsuonteam {gap: 15px; }
.sponsor__atsuonteam li {
    width: calc((100% - (15px * 2)) / 3);
    font-weight: normal;
    font-size: 87.5%;
    line-height: 1.6;
}

.sponsor__yoidore { gap: 15px; }
.sponsor__yoidore li {
    width: calc((100% - (15px * 2)) / 3);
    font-weight: normal;
    font-size: 87.5%;
    line-height: 1.6;
}


@media screen and (min-width: 640px) {
    .sponsor__wrap { padding: 40px 0 0; }

    .sponsor__wrap .sponsor__title { font-size: 1.6rem; padding: 0 0 20px; }
    .sponsor__wrap .sponsor__title.txt { margin-bottom: -17px; }

    .sponsor__ohdanna { gap: 60px; }
    .sponsor__ohdanna li { width: calc((100% - (60px * 1)) / 2); }

    .sponsor__wakadanna { gap: 40px; }
    .sponsor__wakadanna li { width: calc((100% - (40px * 2)) / 3); }

    .sponsor__10hy { gap: 30px; }
    .sponsor__10hy li { width: calc((100% - (30px * 3)) / 4); }

    .sponsor__5hy { gap: 30px; }
    .sponsor__5hy li { width: calc((100% - (30px * 1)) / 2); }

    .sponsor__atsuonteam,
    .sponsor__yoidore { padding: 36px 20px 20px; }

    .sponsor__atsuonteam { gap: 20px; }
    .sponsor__atsuonteam li { width: calc((100% - (20px * 3)) / 4); }

    .sponsor__yoidore { gap: 20px; }
    .sponsor__yoidore li { width: calc((100% - (20px * 3)) / 4); }
}

@media screen and (min-width: 1024px) {
    .sponsor__atsuonteam { gap: 20px; }
    .sponsor__atsuonteam li { width: calc((100% - (20px * 4)) / 5); }

    .sponsor__yoidore { gap: 20px; }
    .sponsor__yoidore li { width: calc((100% - (20px * 4)) / 5); }
}

@media (hover: hover) {
    .sponsor__wrap a:hover { opacity: var(--fade-opacity); }
}



.sponsor__catch {
    font-family: var(--gfont-jp), sans-serif;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
}

.sponsor__catch p:first-child,
.sponsor__catch p:last-child {
    font-size: 1.9rem;
}

.sponsor__catch p:first-child ruby rp,
.sponsor__catch p:first-child ruby rt {
    color: var(--color-prime);
    font-size: 1.2rem;
}

.sponsor__bottom {
    padding-top: 30px;
    text-align: center;
}

@media screen and (min-width: 640px) {
    .sponsor__naozane li { width: 560px; }

    .sponsor__catch p:first-child,
    .sponsor__catch p:last-child {
        font-size: 3.2rem;
    }

    .sponsor__catch p:first-child ruby rp,
    .sponsor__catch p:first-child ruby rt {
        color: var(--color-prime);
        font-size: 1.4rem;
    }

    .sponsor__bottom { padding-top: 50px; }

    .sponsor__bottom ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 40px;
    }
}

.staff {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding-top: 8px;
}

.staff dt,
.staff dd span { font-size: 1.4rem; }
.staff dd span { font-weight: normal; }
.staff dd { padding-bottom: 20px; }

@media screen and (min-width: 640px) {
    .staff {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 30px;
        row-gap: 10px;
        padding-top: 8px;
    }

    .staff dt { font-size: 1.6rem; }
    .staff dd span { font-size: 1.4rem; }

    .staff dt, .staff dd {
        width: calc((100% - (30px * 1)) / 2);
    }

    .staff dt { 
        line-height: 32px;
        text-align: right;
    }

    .staff dd { 
        text-align: left;
        padding-bottom: 0;
    } 

}