@charset "utf-8";
/* CSS Document */
#mainWrap > .wrap{
    background-image: url(../img/bg_illust.png);
    background-repeat: no-repeat;
    background-size: cover;
}
#menu{
    justify-content: flex-start;
}
main{
    width: auto;
    margin: 0 auto;
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-end;
}


/* トップメイン */
#topMain{
    position: relative;
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-end;
}

/* 見出しリセット */
h2{
    color: #fff;
    background-color: transparent;
    font-size: 0;
    margin-bottom: none;
    position: relative;
    border-radius: none;
    padding: 0;
}
h2::before{
    content: '';
    width: 0;
    height: 0;
    position: relative;
    top: .3em;
    left: .5em;
    border-radius: 50%;
    mix-blend-mode: none;
    background: transparent;
    opacity: 0;
}
h2::after{
    content: '';
    position: relative;
    width: 0;
    height: 0;
}
h3{
    padding: 0;
    position: relative;
    font-size: 1em;
    color: #fff;
    background-color:transparent;
    border-radius: 0;
}
h3::before{
    content: '';
    width: 0;
    height: 0;
    background-color: transparent;
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, -50%);
    border-radius: 0;
}

h1, h2{
    width: 800px;
    margin: 0 auto;
    padding: 0;
}
h1{
    margin-top: 30px;
}
h2{
    margin-top: -8px;
}


.tarm{
    position: relative;
    width: 440px;
    margin: 0;
    padding: 0;
    top: -20px;
}


/* 演題登録 */


/* 更新履歴 */

#information{
    width: 380px;
    margin: 0 30px 30px 0;
}
h3{
    width: 100%;
    margin: 0 0 10px 0;
    font-size: 22px;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    color: #fff;
    box-shadow: 0 5px 7px -8px #0f1a38;
    text-shadow: -3px 3px 7px #0f1a38;
    border-bottom: 2px solid #fff;
    letter-spacing: 0;
}
.infobox{
    width: 380px;
    height: 260px;
    padding: 10px 1em;
    background-color: rgba(255, 255, 255, 0.7);
    color: #1e2c5e;
    overflow: hidden;
    overflow-y: auto;
    font-size: 14px;
    font-weight: 700;
}
dl{
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: flex-start;
}
dt{
    margin-bottom: 8px;
    margin-right: 1em;
}
dd{
    margin: 0;
}

.infobox hr{
    width: 100%;
    margin: 10px auto 2rem;
    border: none;
    border-top: 1px solid #0f1a38;
}

@media screen and (max-width:1200px){

}
@media screen and (max-width:1060px){
    main{
        margin: 0 auto;
        display: flex;
        flex-flow: column wrap;
        justify-content: flex-start;
        align-items: center;
    }
    #topMain{
        justify-content: flex-start;
        align-items: center;
    }
    h1{
        width: 80%;
        margin-top: 3vw;
    }
    h2{
        width: 80%;
        margin-top: 0;
    }
    .tarm{
        position: relative;
        width: 80%;
        margin: 200px 0 0;
        padding: 0;
        top: 0;
    }
    #information{
        width: 80%;
        margin: 50px 0 30px 0;
    }
    .infobox{
        width: 100%;
        padding: 1em;
        font-size: 1.7vw;
    }
}
@media screen and (max-width:780px){
    #mainWrap > .wrap{
        background-position: 50% 0;
    }
    main{
        width: 100vw;
        margin: 0;
        padding: 0;
    }
    #topMain{
        flex-flow: column;
        justify-content: center;
        align-items: center;
    }
    h1{
        margin-top: 3vw;
    }
    footer{
    /* margin-top: 50px; */
    }
    h3{
    width: 100%;
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 22px;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    color: #fff;
    box-shadow: 0 5px 7px -8px #0f1a38;
    text-shadow: -3px 3px 7px #0f1a38;
    border-bottom: 2px solid #fff;
}
.infobox{
    width: 100%;
    height: 260px;
    font-size: 1em;
}
dl{
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: flex-start;
}
dt{
    margin-bottom: 8px;
    margin-right: 1em;
}
dd{
    margin: 0;
}

.infobox hr{
    width: 100%;
    margin: 10px auto 2rem;
    border: none;
    border-top: 1px solid #0f1a38;
}
}

@media screen and (max-width:430px){
    h1,h2,.tarm,
    #information{
        width: 90%;
    }
    h1{
        margin-top: 10vw;
    }
}