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

header

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

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

body {
    background-color: #101010;
}

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

header

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

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

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

.header-wrapper h1 {
    color: #ffffff;
    font-size: 20px;
}

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

.header-wrapper ul.forum-navigation-menu li a {
    color: #fff;
    text-decoration: none;
}

.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: #101010;
        position: fixed;
        z-index: 999;
    }
    .header-wrapper {
        display: none;
    }    

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

    .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: 48px;
        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, #D333B4, #C33524 48%, #CB9400);
    padding: 16px 0;    
}

a.contactBtn {
    display: flex;
    background: #ffffff;
    color: #C55916;
    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: url(../img/forum2025/bg.png) no-repeat;
    background-size: cover;
    width: 100%;
}

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

.forum-fv__inner {
    align-items: center;
    display: flex;  
    justify-content: center;
    column-gap: 16px; 
    padding: 32px 0;    
}

.forum-fv__left {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 22%;
}

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

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

.forum-fv__right {
    width: 76%; 
}

.forum-item__thumb {
    height: 640px;
    width: 100%;
}

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

a.forumBtn {
    align-items: center;
    background-image: linear-gradient(308deg, #D333B4, #C33524 48%, #CB9400);
    border-radius: 40px;
    color: #ffffff;
    font-size: 14px;
    text-decoration: none;
    justify-content: center;
    padding: 12px 0;
    display: flex;
    margin-top: 24px;
    width: 240px;
}

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

@media (min-width: 1500px) {
    .forum-fv__left {
        width: 20%;
    }

    .forum-fv__right {
        width: 60%; 
    }

}

@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;
        padding-top: 15vw;        
    }
    .forum-fv__thumb {
        height: 80vw;
        width: 100%;
    }    
    .forum-item__thumb {
        height: 60vw;
    }    
}
/*******************

intro

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

.forum-intro {
    background: url(../img/forum2025/ref-intro-bg.png) no-repeat;
    background-size: cover;
    padding: 120px 0 120px 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: 80px;
    text-align: center;
}

.forum-intro__catch h2 span {
    background: linear-gradient(308deg, #D333B4, #C33524 48%, #CB9400);   
}

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

.forum-intro__catch h4 span {
    background: linear-gradient(308deg, #D333B4, #C33524 48%, #CB9400);   
}

.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: 6.8vw;
    }
    .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__title-thumb {
    left: -24px;
    position: relative;    
    height: 110px;
    width: 380px;
}

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

.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: 32px;    
}

.forum-timetable__box-large {
    background: linear-gradient(308deg, rgba(211,51,180,.3), rgba(195, 53, 36,.3) 48%, rgba(203, 148, 0,.3));  
    border: 1px solid rgba(255, 255, 255, 0.7); 
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
    padding: 16px;
}

.forum-timetable__box {
    background: linear-gradient(308deg, rgba(211,51,180,.3), rgba(195, 53, 36,.3) 48%, rgba(203, 148, 0,.3));  
    border: 1px solid rgba(255, 255, 255, 0.7); 
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    row-gap: 48px;
    padding: 16px;
}

.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__title h4 {
    color: #ffffff; 
}

.forum-timetable__title h4 span {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 40px;
    font-size: 14px;    
    padding: 2px 8px 3px 8px;
    letter-spacing: .04em;
}

.forum-timetable__title h3 {
    color: #ffffff; 
    padding-top: 8px;
    font-size: 22px;
    letter-spacing: .02em;
}

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

.forum-timetable__bar {
    height: 1px;
    background: #959595;
    margin: 16px 0;
    width: 100%;
}

.forum-timetable__detail p.link {
    text-align: right;
}

.forum-timetable__detail p.link a {
    color: #ffffff; 
    font-size: 14px;
}

.forum-timetable__column-title {
    border-top: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    padding: 32px 0;
}

.forum-timetable__column-title h2 {
    color: #ffffff; 
    font-size: 24px;
    text-align: center;
}

.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: linear-gradient(308deg, rgba(211,51,180,.3), rgba(195, 53, 36,.3) 48%, rgba(203, 148, 0,.3));  
    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: 20px;
    letter-spacing: .02em;    
    margin-top: 12px;    
}

.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: 40px;
    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;
    column-gap: 16px;  
}

@media (max-width: 720px) {
    .forum-timetable__title-thumb {
        left: -4vw;
        height: 10vh;
        width: 80vw;
    }
    .forum-timetable {
        padding: 12vw 0;
    }  
    .forum-timetable__sub h4 {
        padding-bottom: 4.8vw;
    }   
    .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;    
    }
}

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

speakers

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

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

.forum-speakers__title-thumb {
    left: -24px;
    position: relative;    
    height: 110px;
    width: 380px;
}

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

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

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

.forum-speakers__list { 
    display: flex;
    flex-wrap: wrap;
    justify-content:flex-start;
    row-gap: 40px;
    column-gap: 16px;
}

.forum-speakers__box {
    width: 248px;
}

.forum-speakers__thumb {
    border: 4px solid blue;
    border-image-source: linear-gradient(308deg, rgba(211,51,180,1), rgba(195, 53, 36,1) 48%, rgba(203, 148, 0,1));
    border-image-slice: 1;  
    transition: transform .6s ease;    
    cursor: pointer;
    overflow: hidden;      
    height: 320px;
    width: 248px;
    max-width: 248px;    
}

.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: #ffffff;
    font-size: 22px;
}

.forum-speakers__bar {
    background-color: #9b9b9b;
    height: 1px;
    margin: 12px 0;
    width: 100%;
}

.forum-speakers__txt p {
    color: #ffffff;
    line-height: 18px;
    font-size: 14px;    
    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: 4px solid blue;
    border-image-source: linear-gradient(308deg, rgba(211,51,180,1), rgba(195, 53, 36,1) 48%, rgba(203, 148, 0,1));
    border-image-slice: 1;  
    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: 20px;    
}

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

@media (max-width: 720px) {
    .forum-speakers__title-thumb {
        left: -4vw;
        height: 10vh;
        width: 80vw;
    }
    .forum-speakers {
        padding: 12vw 0;
    }  
    .forum-speakers__box {
        width: 43vw;
    }
    .forum-speakers__thumb {
        width: 43vw;
        height: 25vh;  
    }
    .forum-speakers__list {
        column-gap: 3.8vw;
        justify-content: flex-start;
        row-gap: 4.8vw;
    }    
    .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: 64px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;    
}

.forum-overview__title p {
    font-size: 24px;
    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.4vw;        
        margin: 0;        
        width: 100%;
    }         
}

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

faq

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

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

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

.forum-faq__title h3 {
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;    
}

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

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

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

.forum-faq__question {
    display: flex;    
    width: 20%;
}

.forum-faq__bar {
    background: #CBCBCB;
    height: 80px;
    width: 1px;
}

.forum-faq__bar-long {
    background: #CBCBCB;
    height: 140px;
    width: 1px;  
}

.forum-faq__answer {
    display: flex;
    width: 70%;    
}

.forum-faq__question h5 {
    color: #001F64;
    font-size: 28px;
    font-weight: 700;
    margin-right: 8px;    
}

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

.forum-faq__answer h5 {
    font-size: 28px;
    color: #818181;
    font-weight: 700;
    margin-right: 8px;
}


@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.4vw;
        font-weight: 700;
        letter-spacing: .01em;
    }     
}

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

contact

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

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

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

.forum-contact__title h3 {
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;   
    text-align: center; 
}

.forum-contact__title p {
    font-size: 24px;
    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;
}