/*******************

header

**********************/

* {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    scroll-behavior: smooth;
}

body {
    background-color: #10151E;
}

/*******************

header

**********************/

header {
    background: #141414;
    position: relative;
    display: none;
    width: 100%;
}

.header-wrapper {
    display: flex;
    justify-content: space-between;
    padding: 16px 24px;
}

.header-wrapper h1 {
    color: #bcbcbc;
    font-size: 16px;
}

.header-wrapper ul.forum-navigation-menu {
    display: flex;
    column-gap: 24px;
}

.header-wrapper ul.forum-navigation-menu li a {
    color: #bcbcbc;
    text-decoration: none;
    font-size: 14px;
}

.header-wrapper ul.forum-navigation-menu li {
    list-style-type: none;   
} 

.fixed {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
}

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

@media (max-width: 880px) {
    .header-wrapper-sp {
        display: block;
        width: 100%;
        background: transparent;
        position: fixed;
        z-index: 999;
    }
    .header-wrapper {
        display: none;
    }    

    .header-wrapper-inner {
        position: relative;
        height: 15vw;
        right: 2%;
    }

    .header__nav {
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        transform: translateX(100%);
        background-color: #191919;
        transition: ease .4s;
        z-index: 4;
        display: none;
    }
    .nav__items {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 6.8vw;        
        padding-top: 40vw;        
        align-items: center;
        height: initial;
        justify-content: space-between;
    }

    ul.nav__items li a {
        color: #ffffff;
        text-decoration: none;
        font-size: 5.8vw;
    }

    .header__hamburger {
        position: absolute;
        right: 0;        
        width: 10vw;
        height: 100%;
    }

    .hamburger {
        background-color: transparent;
        border-color: transparent;
        z-index: 9999;
    }

    .hamburger span {
        width: 100%;
        height: 0.5vw;
        background-color: #fff;
        position: relative;
        transition: ease .4s;
        display: block;
    }

    .hamburger span:nth-child(1) {
        top: 0;
    }

    .hamburger span:nth-child(2) {
        margin: 8px 0;
    }

    .hamburger span:nth-child(3) {
        top: 0;
    }


    /* ハンバーガーメニュークリック後のスタイル */

    .header__nav.active {
        transform: translateX(0);
        display: block;
    }

    .hamburger.active span:nth-child(1) {
        top: 2vw;
        transform: rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        top: -3vw;
        transform: rotate(-45deg);
    }  
}

/*******************

contact

**********************/

.stickyContact {
    position: relative;
    display: none;
    z-index: 9;    
    width: 100%; 
}

.fixedcontact {
    position: fixed;
    display: block;
}

.forum-sticky-contact {
    display: flex;
    justify-content: center;    
    background: linear-gradient(308deg, #C3068A, #8C369D 33%, #615CAC 71%, #00B2CD);
    padding: 16px 0;    
}

a.contactBtn {
    display: flex;
    background: #fff;
    color: #640178;
    padding: 12px 0;
    justify-content: center;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 600;
    width: 280px;
}
/*******************

common

**********************/

.wrapper {
    margin: 0 auto;
    width: 1080px;
}

@media (max-width: 1080px) {
    .wrapper {
        width: 90vw;
    }
}


/*******************

fv

**********************/

.forum-fv {
    background: #10151E;
    width: 100%;
}

.forum-fv__thumb {
    height: 100%;
    width: 100%;
}

.forum-fv__thumb img {
    object-fit: contain;
    height: 100%;
    width: 100%;
}

.forum-fv::before {
     content:"";
     display:block;
     position:fixed;
     top:0;
     left:0;
     z-index:-1;
     position: fixed;
}

a.forumBtn {
    align-items: center;
    background-image: linear-gradient(308deg, #C3068A, #8C369D 33%, #615CAC 71%, #00B2CD);
    border-radius: 40px;
    border: 2px solid #eeeeee;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    justify-content: center;
    padding: 16px 0;
    display: flex;
    margin-left: 8%;
    width: 20%;
}

.forum-fv__inner-sp {
    display: none;
}

@media (min-width: 1500px) {
a.forumBtn {
    width: 20%;
    font-size: 24px;
}

}

@media (max-width: 1200px) {
    .forum-item__thumb {
        height: 480px;
    }
}

@media (max-width: 720px) {
    a.forumBtn {
        width: 70vw;
        margin: 3.8vw auto 4.8vw auto;
        font-weight: 700;
        font-size: 4.4vw;
    }
    .forum-fv__inner {
        display: none;
    }
    .forum-fv__inner-sp {
        display: flex;
        flex-direction: column;       
    }
    .forum-fv__thumb {
        height: 100%;
        width: 100%;
    }    
    .forum-item__thumb {
        height: 60vw;
    }    
}
/*******************

intro

**********************/

.forum-intro {
    background: url(../images/forum/forum2026/ref-intro-bg.png) no-repeat;
    background-size: cover;
    padding: 160px 0 160px 0;
    width: 100%;
}

.forum-intro::before {
     content:"";
     display:block;
     position:fixed;
     top:0;
     left:0;
     z-index:-1;
     position: fixed;
}

.forum-intro__catch {
    align-items: center;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
    padding-bottom: 80px;
}

.forum-intro__catch h2 {
    color: #ffffff;
    font-size: 64px;
    text-align: center;
}

.forum-intro__catch h2 br {
    display: none;
}

.forum-intro__catch h4 {
    color: #ffffff;
    font-size: 32px;
    text-align: center;
}

.forum-intro__txt {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.forum-intro__txt p {
    color: #ffffff;
}


@media (max-width: 1080px) {
    .forum-intro__catch h2 {
        font-size: 64px;
    }
    .forum-intro__catch h4 {
        font-size: 32px;
    }    
}

@media (max-width: 720px) {
    .forum-intro__catch h2 {
        font-size: 9vw;
    }
    .forum-intro__catch h2 br {
        display: block;
    }    
    .forum-intro__catch h4 {
        font-size: 3.8vw;
    } 
    .forum-intro__catch {
        padding-bottom: 4.8vw;
    }
    .forum-intro {
        padding: 12vw 0 12vw 0;
    }    
}

/*******************

timetable

**********************/

.forum-timetable {
    padding: 80px 0;    
}

.forum-timetable__sub h4 {
    color: #ffffff;
    padding-bottom: 40px;
}

.forum-timetable__sub p {
    color: #ffffff;
}

.forum-timetable__time {
    display: flex;
    column-gap: 16px;
}

.forum-timetable__list {
    margin-top: 48px;
    display: flex;
    flex-direction: column;
    row-gap: 24px;    
}

.forum-timetable__box-large {
    background: #ffffff;
    box-shadow: 0px 6px 12px rgba(255, 255, 255, 0.25);
    border-radius: 6px;
}

.forum-timetable__column {
    display: flex; 
    justify-content: space-between;
}

.forum-timetable__column-box {
    display: flex;
    flex-direction: column;
    row-gap: 32px;
    width: 49%;
}

.forum-timetable-content__title h3 {
    color: #CFCFCF;
    font-family: "Spline Sans", sans-serif;
    font-size: 56px;
    font-weight: 800;
    letter-spacing: 0;    
}

.forum-timetable__title {
    background-color: #724EA6;
    display: flex;
    column-gap: 16px;
    padding: 8px 12px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.forum-timetable__title--pink {
    background-color: #AF1791;
}

.forum-timetable__title--blue {
    background-color: #06ACCA;
}

.forum-timetable__title h5 span {
    padding: 3px 10px;
    background: #ffffff;
    color: #AF1791;
    border-radius: 6px;
    font-size: 12px;    
}

.forum-timetable__title--pink h5 span {
    color: #AF1791;
}

.forum-timetable__title--blue h5 span {
    color: #06ACCA;
}

.forum-timetable__detail {
    padding: 16px;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.forum-timetable__detail h3 {
    font-size: 18px;
    line-height: 24px;
    color: #252525;
}

.forum-timetable__detail h3 span {
    font-size: 16px;
}

.forum-timetable__detail p {
    color: #252525; 
    font-size: 12px;
    line-height: 20px;
}

.forum-timetable__title h4 {
    color: #ffffff; 
    font-size: 14px;
    line-height: 26px;
    font-weight: 500;     
}

.forum-timetable__title h5 {
    line-height: 20px;
}

.forum-timetable__box-list {
    display: flex;
    justify-content: space-between;
}

.forum-timetable__box {
    background: #ffffff;
    border-radius: 6px; 
    box-shadow: 0px 6px 12px rgba(255, 255, 255, 0.25);
    width: 49%;   
}

.forum-timetable__detail-box a {
    align-items: center;
    font-size: 12px;
    font-weight: 500;
    color: #ffffff;
    display: flex;
    width: 100px;
    height: 24px;
    background-image: linear-gradient(308deg, #C3068A, #8C369D 33%, #615CAC 71%, #00B2CD);
    border-radius: 64px;
    justify-content: center;
    padding: 2px 0 4px 0;
    margin-top: 12px;
    transition: .3s;
}

.forum-timetable__detail-box a:hover {
    background-image: linear-gradient(308deg, #68064b, #541361 33%, #2b285e 71%, #063e47);
}

.forum-timetable__list-column {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.time-table-modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

.time-table-modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.time-table-modal__content {
    background: rgba(38, 38, 38, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 16px; 
    left: 50%;
    padding: 24px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%
}

.time-table-modal__list {
    display: flex;
    column-gap: 16px;    
    margin-top: 16px;
}

.time-table-modal__thumb {
    height: 120px;
    width: 120px;
}

.time-table-modal__thumb img {
    border-radius: 8px;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.time-table-modal__box dl {
    margin: 0;    
    width: 108px;
}

.time-table-modal__box dl dd {
    color: #ffffff;
    font-size: 12px;
    margin: 0;
}

.time-table-modal__box {
    display: flex;
    column-gap: 8px;    
}

.time-table-modal__title h3 {
    color: #ffffff;
    font-size: 22px;
    letter-spacing: .02em;
    line-height: 28px;    
}

.time-table-modal__title h4 {
    color: #ffffff;
    font-size: 16px;
    letter-spacing: .02em;
    line-height: 24px;   
}

.time-table-modal__title p {
    color: #ffffff;
    line-height: 18px;    
}

.time-table-modal__detail {
    padding-top: 16px;
    margin-top: 24px;
    border-top: 1px solid #c3c3c3;
}

.time-table-modal__title p span {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    font-size: 14px;    
    padding: 2px 8px 3px 8px;
    letter-spacing: .04em;
}

.time-table-modal__detail p {
    color: #ffffff;
    font-size: 14px;  
    line-height: 20px;      
}

a.time-table-modal-close {
    text-decoration: none;
    color: #ffffff;
    font-size: 14px;
    text-align: right;
    display: block;    
}

.time-table-modal__time {
    display: flex;
    gap: 16px;
    margin-top: 12px;
}

@media (max-width: 720px) {
    .forum-timetable-content__title h3 {
        font-size: 8.6vw;
    }
    .forum-timetable__box-list {
        flex-direction: column;
        row-gap: 3.2vw;
    }
    .forum-timetable__list {
        gap: 3.2vw;
    }
    .forum-timetable__box {
        width: 90vw;
    }
    .forum-timetable__title h4 {
        font-size: 4.0vw;
    }
    .forum-timetable__title h5 span {
        font-size: 3vw; 
    }
    .forum-timetable__detail h3 {
        font-size: 4.2vw;
        line-height: 6.2vw;
    }
    .forum-timetable__detail-box a {
        font-size: 3.2vw;
    }
    .forum-timetable__detail p {
        font-size: 3.2vw;
    }
    .forum-timetable {
        padding: 12vw 0;
    }  
    .forum-timetable__list {
        margin-top: 8vw;
        row-gap: 32px;
    }   
    .forum-timetable__column-title {
        padding: 3.2vw 0;
    }   
    .forum-timetable__column-title h2 {
        font-size: 4.8vw;
    } 
    .forum-timetable__column {
        flex-direction: column;
        row-gap: 32px;
    }   
    .forum-timetable__column-box {
        width: 100%;
    }   
    .forum-timetable__title h3 {
        font-size: 4.8vw;
    }      
    .time-table-modal__list {
        flex-direction: column;
        row-gap: 3.2vw;
    }
    .time-table-modal__content {
        width: 80vw;
    }
    .time-table-modal__thumb {
        height: 20vw;
        width: 20vw;    
    }
    .time-table-modal__box dl dd {
        line-height: 3.8vw;
    }
}

/*******************

speakers

**********************/

.forum-speakers {
    padding: 80px 0;    
}

.forum-speakers__title h3 {
    color: #CFCFCF;
    font-family: "Spline Sans", sans-serif;
    font-size: 56px;
    font-weight: 800;
    letter-spacing: 0;    
}

.forum-speakers__list { 
    display: flex;
    flex-wrap: wrap;
    justify-content:flex-start;
    row-gap: 8px;
    column-gap: 8px;
    margin-top: 32px;
}

.forum-speakers__box {
    background-color: #D9D9D9;
    border-radius: 6px;
    padding: 12px;
    width: 185px;
}

.forum-speakers__thumb {
    border-radius: 6px;
    transition: transform .6s ease;    
    cursor: pointer;
    overflow: hidden;      
    height: 160px;
    width: 185px;
    max-width: 185px;    
}

.forum-speakers__thumb img {
    object-fit: contain;
    transition: transform .6s ease;
    height: 100%;
    width: 100%;
}

.forum-speakers__thumb:hover {
    background: linear-gradient(308deg, rgba(211, 51, 180, .3), rgba(195, 53, 36, .3) 48%, rgba(203, 148, 0, .3));
}

.forum-speakers__thumb:hover img {
  transform: scale(1.1);
}

.forum-speakers__txt {
    margin-top: 16px;
}

.forum-speakers__txt h4 {
    color: #252525;
    line-height: 22px;
    font-size: 16px;
}

.forum-speakers__txt p {
    color: #252525;
    line-height: 16px;
    font-size: 10px;  
    letter-spacing: 0;
}

.speakers-modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

.speakers-modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.speakers-modal__content {
    border: 2px solid #a4a4a4;
    background-color: #101010;
    left: 50%;
    padding: 24px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%
}

a.speakers-modal-close {
    text-decoration: none;
    color: #ffffff;
    font-size: 14px;
    text-align: right;
    display: block;    
}

.speakers-modal__box {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 32px;      
}

.speakers-modal__thumb {
    height: 320px;
    width: 30%;
}

.speakers-modal__thumb img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.speakers-modal__txt {
    flex-direction: column;
    display: flex;
    row-gap: 16px;    
    width: 60%;   
}

.speakers-modal__title h3 {
    color: #ffffff;
    margin-bottom: 4px;    
}

.speakers-modal__title p {
    color: #ffffff;
    font-size: 14px;
}

.speakers-modal__bar {
    background: #9b9b9b;
    height: 1px;
    width: 100%;
}

.speakers-modal__txt p {
    color: #ffffff;
    font-size: 14px;
    line-height: 22px;    
}

@media (min-width: 1500px) {
    .speakers-modal__thumb {
        height: 480px;
    }  
}

@media (max-width: 720px) {
    .forum-speakers__title h3 {
        font-size: 8.6vw;
    }
    .forum-speakers__title-thumb {
        left: -4vw;
        height: 10vh;
        width: 80vw;
    }
    .forum-speakers {
        padding: 12vw 0;
    }  
    .forum-speakers__box {
        width: 38vw;
    }
    .forum-speakers__thumb {
        width: 38vw;
        height: 18vh;  
    }
    .forum-speakers__list {
        gap: 2.1vw;
        justify-content: flex-start;
    }    
    .speakers-modal__content {
        width: 80vw;
    }
    .speakers-modal__box {
        flex-direction: column;
        row-gap: 4.0vw;
    }
    .speakers-modal__thumb {
        height: 60vw;
        width: 40vw;
    }
    .speakers-modal__txt {
        width: 100%;
    }
    .speakers-modal__txt {
        row-gap: 2.1vw;
    }
}

/*******************

detail

**********************/

.forum-detail {
    background: url(../img/forum2025/ref-detail-bg.png) repeat-y;
    background-size: contain;
    width: 100%;
}

.forum-overview__title {
    padding-top: 40px;
}

.forum-overview {
    padding: 80px 0;
}

.forum-overview__title h3 {
    font-size: 56px;
    line-height: 72px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Spline Sans", sans-serif;
}

.forum-overview__title p {
    font-size: 22px;
    font-weight: 600;
}

.forum-overview__list {
    margin-top: 80px;
}

.forum-overview__list dl {
    display: flex;
    border-top: 1px solid #CBCBCB;
    justify-content: center;
    padding: 32px 0;
    margin: 0;    
}

.forum-overview__list dl:last-child {
    border-bottom: 1px solid #CBCBCB;    
}

.forum-overview__list dt {
    font-weight: 700;
    width: 20%;
}

.forum-overview__list dd {
    margin: 0;    
    width: 70%;
}

@media (max-width: 720px) {
    .forum-overview__title h3 {
        font-size: 11vw;
        line-height: 14vw;        
    }
    .forum-overview {
        padding: 8vw 0;
    }  
    .forum-overview__title p {
        font-size: 4.8vw;
    }     
    .forum-overview__list {
        margin-top: 8vw;
    }   
    .forum-overview__list dl {
        flex-direction: column;
        padding: 4.8vw 0;
        row-gap: 0;        
    } 
    .forum-overview__list dt {
        font-size: 4.4vw;        
        width: 100%;
    }     
    .forum-overview__list dd {
        font-size: 4.0vw;        
        margin: 0;        
        width: 100%;
    }         
}

/*******************

faq

**********************/

.forum-faq {
    padding: 80px 0;
}

.forum-faq__title {
    margin-bottom: 80px;
}

.forum-faq__title h3 {
    font-size: 58px;
    line-height: 72px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Spline Sans", sans-serif;
}

.forum-faq__title p {
    font-size: 22px;
    font-weight: 600;
}

.forum-faq__list {
    display: flex;
    column-gap: 16px;
    flex-direction: column;
    padding: 24px 0;   
    border-top: 1px solid #CBCBCB;
    row-gap: 8px;    
}

.forum-faq__list:last-child {
      border-bottom: 1px solid #CBCBCB;  
}

.forum-faq__question {
    display: flex;    
    column-gap: 16px;
}

.forum-faq__answer {
    display: flex;
    column-gap: 16px;
}

.forum-faq__question h5 {
    color: #530064;
    font-size: 24px;
    font-weight: 500;
    line-height: 24px;    
}

.forum-faq__question h4 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .02em;    
}

.forum-faq__answer h5 {
    font-size: 24px;
    color: #818181;
    font-weight: 500;
    line-height: 24px;    
}


@media (max-width: 720px) {
    .forum-faq__title {
        margin-bottom: 8vw;
    }    
    .forum-faq__title h3 {
        font-size: 11vw;
        line-height: 14vw;        
    }
    .forum-faq__title p {
        font-size: 4.8vw;
    } 
    .forum-faq {
        padding: 8vw 0;
    } 
    .forum-faq__list {
        flex-direction: column;
        row-gap: 3.2vw;        
    }    
    .forum-faq__question {
        align-items: center;        
        width: 100%;
    }   
    .forum-faq__bar,.forum-faq__bar-long {
        display: none;
    }  
    .forum-faq__answer{
        width: 100%;
    }  
    .forum-faq__question h4 {
        font-size: 4.6vw;
        font-weight: 700;
        line-height: 6.4vw;
        letter-spacing: .01em;
    }     
}

/*******************

contact

**********************/

.forum-contact {
    padding: 80px 0;
}

.forum-contact__title {
    margin-bottom: 80px;
}

.forum-contact__title h3 {
    line-height: 72px;
    font-size: 58px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Spline Sans", sans-serif;
    text-align: center; 
}

.forum-contact h4 {
    text-align: center;
}

.forum-contact__title p {
    font-size: 22px;
    font-weight: 600;
    text-align: center; 
}

@media (max-width: 720px) {
    a.contactBtn {
        width: 60vw;
    }
}

@media (max-width: 720px) {
    .forum-contact__title h3 {
        font-size: 11vw;
        line-height: 14vw;        
    }
    .forum-contact__title p {
        font-size: 4.8vw;
    }
    .forum-contact {
        padding: 8vw 0;
    }
}
/*******************

footer

**********************/

footer {
    background-color: #1C1C1C;
}

footer p {
    text-align: center;
    color: #ffffff;
    font-size: 12px;
}

/*******************

thanks

**********************/

.forum-fv-thanks-wrapper {
    background: url(../img/forum2025/bg.png) no-repeat;
    background-size: cover;
    background-color: #101010;
    height: 100vh;
    width: 100%;
}

.forum-fv-thanks {
    padding-top: 80px;
}

.forum-fv-thanks h2 {
    color:  #ffffff;
    text-align: center;
    font-weight: 700;
}

.forum-fv-thanks-box {
    padding: 24px;
    margin: 32px auto 0 auto;
    width: 640px;
    background-color: rgba(255, 255, 255, .5);
    border-radius: 8px;
}

.forum-fv-thanks-box ul li {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 28px;
}

a.thanksBtn {
    background: linear-gradient(45deg, #DD7700, #F2BD2F);
    color: #ffffff;
    display: flex;
    border-radius: 80px;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    padding: 8px 0 10px 0;
    margin: 32px auto 0 auto;
    width: 210px;
}

@media screen and (max-width:800px) {
    .forum-fv-thanks h2 {
        font-size: 6.0vw;
    }
    .forum-fv-thanks-box {
        width: 80vw;
    }
}