@charset "utf-8";

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

/*戻るボタン*/
.pageback {
    margin-top: 40px;
    text-align: center;
}

/*イベント一覧*/
#eventlist dl {
    margin: 0;
    padding: 5px 10px;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px #ddd solid;
}
#eventlist dt {
    width: 200px;
    margin: 0;
    font-weight: bold;
}
#eventlist dt span {
    margin-right: 10px;
}
#eventlist dd {
    flex: 1;
    margin: 0;
    line-height: 140%;
}


/*MORE*/
.more {
    margin-top: 40px;
    text-align: right;
    padding-right: 10px;
}

/*過去のイベント一覧*/
.list-archive ul {
    display: flex;
    flex-wrap: wrap;
}
.list-archive li {
    width: calc(100% / 3);
    margin-top: 5px;
    margin-bottom: 5px;
}


/*★後で消す*/
.list-archive li span {
    margin-left: 20px;
    color: red;
}


/*記事用*/
.article {
    /*
    background-color: #f1f4f8;
    padding: 20px 30px;
    border-radius: 5px;
    margin: 50px auto;
    */
}
.article~.article {
    margin-top: 40px;
    border-top: 1px #ddd solid;
    padding-top: 30px;
}


/*記事見出し*/
.article .article-header {
    margin-top: 10px;
}
.article .article-header h2 {
    margin: 0;
}
.article .article-header span {
    display: block;
    font-size: 70%;
}
.article h3 {}

.article h4 {
    font-size: 1.8rem;
    color: #4a68ca;
}



/*開催概要*/
.tbl-overview {
    width: 100%;
    /*
    border: 1px #e1e6ec solid;
    background-color: #fff;
    */
}
.tbl-overview th {
    width: 100px;
    /*
    padding: 8px 10px;
    border-right: 1px #e1e6ec dotted;
    border-bottom: 1px #e1e6ec solid;
    */
    text-align: right;
    vertical-align: top;
}
.tbl-overview th::after {
    content: "：";
    padding-left: 5px;
}
.tbl-overview td {
    padding-left: 20px;
    /*
    padding: 8px 10px;
    border-bottom: 1px #e1e6ec solid;
    */
}

/*参加費*/
.tbl-fee {
    border: 1px #e1e6ec solid;
    background-color: #fff;
}
.tbl-fee th {
    width: auto;
    background-color: transparent;
    padding: 3px 20px 3px 10px;
    font-weight: normal;
    text-align: left;
}
.tbl-fee td {
    text-align: left;
    padding: 3px 10px;
}

/*プログラム*/
.tbl-timetable {
    width: 100%;
    border: 1px #e1e6ec solid;
    background-color: #fff;
}
.tbl-timetable caption {
    text-align: left;
    margin-bottom: 10px;
}
.tbl-timetable th {
    width: 130px;
    padding: 5px 0 5px 20px;
    vertical-align: top;
    text-align: left;
    border-bottom: 1px #e1e6ec solid;
}
.tbl-timetable td {
    padding: 5px 10px 5px 20px;
    border-bottom: 1px #e1e6ec solid;
}
.tbl-timetable td dl {
    margin: 0;
}
.tbl-timetable td dt {
    font-weight: bold;
}
.tbl-timetable td dd {
    margin: 0 0 0 10px;
}


/*ページトップに戻る*/
.intop {
    text-align: right;
    margin-top:20px;
    font-size: 1.4rem;

}
.intop a {
    background:url("../img/icon_arrow_top.png") no-repeat left center;
    background-size: 20px;
    padding: 1px 0 1px 24px;
}


/*2023年*/
.box2013 {
    padding: 10px 20px;
}
.box2013 .tbl-overview {
    margin-bottom: 20px;
}
.box2013 .tbl-overview th {
    font-weight: normal;
}
.box2013 .tbl-overview ul {
    margin-top: 0;
    margin-bottom: 0;
}

/*参加費（多項目対応型）*/
.tbl-mlt {
    border: 1px #e1e6ec solid;
    background-color: #fff;
    border-collapse: collapse;
}
.tbl-mlt th {
    width: auto;
    border: 1px #ffffff solid;
    background-color: #e1e6ec;
    padding: 3px 20px 3px 10px;
    font-weight: normal;
    text-align: left;
    border-collapse: collapse;
}
.tbl-mlt td {
    border: 1px #e1e6ec solid;
    text-align: left;
    padding: 3px 10px;
    border-collapse: collapse;
}
.tbl-mlt th::after{
    content: none;
}

/*セル結合中央揃え*/
.tbl-mlt .dat-cols{
    text-align: center;
}

/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1480px) {
}

@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 980px) {
    .list-archive li {
        width: calc(100% / 2);
    }
}

@media screen and (max-width: 780px) {
}

@media screen and (max-width: 580px) {
    .list-archive ul {
        margin-left: 30px;
        padding-left: 0;
    }
    .list-archive li {
        width: 100%;
    }

    #eventlist dl {
        padding: 10px 0;
        display: block;
    }
    #eventlist dt {
        width: 100%;
    }
    #eventlist dd {
        width: 100%;
    }

    .article {
        padding: 20px 10px;
    }

    .tbl-overview th {
        width: 100%;
        display: block;
        padding: 10px 10px 0;
        text-align: left;
        border-width: 0;
    }    
    .tbl-overview td {
        width: 100%;
        display: block;
        padding: 0 10px 10px;
    }

    .tbl-fee {
        width: 100%;
        font-size: 90%;
    }
    .tbl-fee th {
        display:table;
        width: calc(100% - 120px);
        padding: 3px 20px 3px 10px;
        text-align: left;
        border: 1px #e1e6ec solid;
    }
    .tbl-fee td {
        width: 120px;
        display:table;
        text-align: left;
        padding: 3px 10px;
        border: 1px #e1e6ec solid;
    }

    .tbl-timetable th {
        width: 100%;
        display: block;
        padding: 10px 10px 0;
        border-bottom-width: 0;
    }
    .tbl-timetable td {
        width: 100%;
        display: block;
        padding: 0 10px 10px;
    }
    .tbl-timetable td dt {
        font-size: 100%;
    }

}

@media screen and (max-width: 380px) {


    .tbl-fee {
        font-size: 90%;
    }
    .tbl-fee th {
        width: auto;
        padding: 3px 20px 3px 10px;
        text-align: left;
    }
    .tbl-fee td {
        text-align: left;
        padding: 3px 10px;
    }



}


