:root{
    --color-gradation: linear-gradient(to right, #00a0e8, #8bc21f);
    --color-purple: #A24497;
    --color-yellow: #FFF100;
    --color-gray: #5F5F5F;
    
    --section-margin: 80px;
}
.openforum{
    background: linear-gradient(45deg, rgba(0,160,232,0.30), rgba(139,194,31,0.30));
}

.container{
    background: #fff;
    position:relative;
    width: 100%;
    /* max-width: 1100px; */
    margin: 0 auto;
    box-shadow: 0 0 10px -5px rgba(80, 22, 0, 0.35);
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 130%;
    line-height: 1.8;
}

.inner-wrap{
    width: 83%;
    margin: 0 auto;
}

.section-title{
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    background: var(--color-gradation);
    color: #ffffff;
    width: 90%;
    /* height: 45px; */
    margin: 60px auto;
    /* padding: 0 100px; */
    letter-spacing: 0.2rem;
    display: block;
    border-radius: 22.5px;
}

.header-img{
    margin-bottom: 20px;
}

.detail{
    position: relative;
    margin: 0 auto;
    width: 93%;
    /* min-width: 500px; */
    padding: 20px;
    margin-bottom: var(--section-margin);
    &::before,
    &::after{
        content: "";
        position: absolute;
        width: 100%;
        height: 4px;
        left: 0;
        border-radius: 2px;
        background: var(--color-gradation);
    }
    
    &::before{
        top: 0;
    }
    
    &::after{
        bottom: 0;
    }
    
    & dl{
        /* display: flex; */
        flex-wrap: wrap;
        
        
        & dt{
            /* width: 100%; */
            padding: 5px 0;
        }
        
        & dd{
            /* width: 85%; */
            padding: 0 0 10px;
        }
    }
}

.form{
    background-color: var(--color-purple);
    padding: 30px 0;
    text-align: center;
    
    & a{
        padding: 15px 100px;
        background-color: var(--color-yellow);
        font-size: 2.5rem;
        font-weight: bold;
        color: #74246B;
    }
    
    & p{
        display: inline;
        padding: 15px 100px;
        background-color: var(--color-gray);
        font-size: 2.5rem;
        font-weight: bold;
        color: #E5E5E5;
    }
}

.introduction{
    background-image: url("../images/bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 70%;
    padding: 120px 0;
    font-size: 1.875rem;
    line-height: 2;
    font-weight: 600;
}

.seminar{
    margin-bottom: var(--section-margin);
    
    & .seminar__list-item{
        margin-bottom: 70px;
        
        
        
        
        & .seminar__part{
            border: solid 1px #000;
            border-right: none;
            border-left: none;
            font-weight: 600;
            text-align: center;
            padding: 3px 0;
            margin-bottom: 20px;
            font-size: 2rem;
        }
        
        & .seminar__grid-wrap{
            /* display: grid; */
            grid-auto-columns: 1.2fr 3fr;
            gap: 30px;
            /* width: 90%; */
            margin: 0 auto 20px;
        }
        
        & .seminar__img-wrap{
            grid-column: 1 / 2;
            width: 100%;
            aspect-ratio: 3 / 4;
            
            & img{
                min-width: 100%;
                min-height: 100%;
                object-fit: cover;
                object-position: center;
            }
        }

        & .seminar__text-wrap{
            grid-column: 2 / 4;
            
            & .seminar__part{
                font-weight: 500;
            }
            
            & .seminar__title{
                color: var(--color-purple);
                font-weight: 600;
                font-size: 2.2rem;
                line-height: 1.5;
                margin-bottom: 20px;
                
                & span{
                    font-size: 1.5rem;
                }
            }
            
            & .seminar__meta{
                display: flex;
                
                & .seminar__meta-logo{
                    width: 80px;
                    height: 160px;
                    height: auto;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    margin-right: 15px;
                    
                    & img{
                        object-fit: contain;
                    }
                }
                
                & .seminar__meta-company{
                    font-size: 1.25rem;
                }
                
                & .seminar__meta-name{
                    font-size: 2.5rem;
                    font-weight: 600;
                }
            }
        }
        
        & a{
            display: block;
            margin: 0 auto;
            background-color: var(--color-purple);
            color: #ffffff;
            font-weight: 600;
            padding: 5px 0;
            /* width: 200px; */
            text-align: center;
        }
    }
    
    & .seminar__seession-member {
        
        & ul{
            display: flex;
            /* justify-content: center; */
            align-items: flex-start;
            flex-wrap: wrap;
            & li {
                text-align: center;
                margin-bottom: 30px;
                width: 50%;
                & img{
                    width: 120px;
                    height: 100%;
                }
                
                & p{
                    font-size: 1.5rem;
                    
                    & span{
                        font-size: 1.8rem;
                        font-weight: 600;
                    }
                }
            }
        }
    }
}

.party{
    color: #ffffff;
    /* text-align: center; */
    font-size: 1.8rem;
    margin-bottom: var(--section-margin);
    
    
    & .inner-wrap{
        background-color: var(--color-gray);
        padding: 30px;
    }
    
    & .party__title{
        font-size: 2.8rem;
        font-weight: 600;
        margin-bottom: 10px;
        
        & span{
            color: var(--color-yellow);
        }
    }
    
    & .party__detail{
        margin-bottom: 20px;
    }
    
    & .party__highlight{
        background-color: #00A0E9;
        padding: 10px 50px;
        font-weight: 600;
    }
}

.schedule{
    margin-bottom: var(--section-margin);
    
    & dl{
        /* display: flex; */
        flex-wrap: wrap;
        border-top: solid 1px #000000;
        
        
        
        
        & dt{
            /* width: 15%; */
            padding: 20px 10px 0 10px;
            /* border-bottom: solid 1px #000000; */
        }
        
        & dd{
            /* width: 85%; */
            padding: 0 10px 20px 10px;
            border-bottom: solid 1px #000000;
            & .schedule__text-bold{
                font-weight: 600;
            }
            
            & .schedule__text-purple{
                color: var(--color-purple);
                font-size: 2rem;
                margin-bottom: 20px;
                
                
                
                
                
                & span{
                    font-size: 1.2rem;
                    line-height: 1.2;
                }
            }
        }
    }
}

.announcer{
    text-align: center;
    width: 93%;
    margin: 0 auto;
    & span{
        font-weight: 600;
        font-size: 1.8rem;
    }
}

.about{
    background-image: url("../images/bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 70%;
    padding: 120px 0;
    font-size: 1.875rem;
    line-height: 2;
    font-weight: 600;
}

.archive{
    color: #ffffff;
    /* text-align: center; */
    font-size: 1.8rem;
    margin-bottom: var(--section-margin);
    
    
    & .inner-wrap{
        background-color: var(--color-gray);
        padding: 20px;
    }
    
    & .archive__title{
        font-size: 2.8rem;
        font-weight: 600;
        margin-bottom: 10px;
        color: var(--color-yellow);
    }
}

.sponsor{
    & dl{
        /* display: flex; */
        flex-wrap: wrap;
        /* width: 650px; */
        margin: 0 auto;
        
        
        
        & dt{
            /* width: 15%; */
        }
        
        & dd{
            /* width: 85%; */
        }
    }
}

.contact{
    /* width: 650px; */
    margin: 30px auto;
    padding: 20px;
    text-align: center;
    background-color: var(--color-yellow);
    font-weight: 600;
}



.sp-none{
    display: none;
}