.agenda {
    position: relative;
    overflow: hidden;
}

.agenda::before {
    position: absolute;
    content: url(../img/page_deco.svg);
    left: -9rem;
    width: 350px;
}

.agenda::after {
    position: absolute;
    content: url(../img/page_deco.svg);
    right: -15rem;
    bottom: 3rem;
    width: 400px;
}

.agenda-head {
    font-size: 24px;
    font-weight: 700;
    border-bottom: 2px solid var(--main-color);
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    color: var(--main-color);
}

.agenda-content {
    position: relative;
    padding: 15px 0;
    border-bottom: 1px dashed #ececec;
}

.agenda-break {
    position: relative;
    padding: 10px 0;
    background-color: #fffbda;
}

.agenda-content::after,
.agenda-break::after {
    content: '';
    position: absolute;
    width: 2px;
    bottom: 0;
    height: 103%;
    background-color: var(--main-color);
    left: -27px;
    z-index: -1;
}

.timeline p {
    position: relative;
}

.timeline p::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -48px;
    margin: auto;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 3px solid var(--main-color);
    background-color: #fff;
    z-index: 2;
}

.agenda-link-B,
.agenda-link-C,
.agenda-link-A,
.agenda-link {
    position: relative;
}

.agenda-link-B a,
.agenda-link-C a,
.agenda-link-A a,
.agenda-link a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.agenda-link span {
    font-weight: 500;
    color: #212121;
}

.agenda-link:hover span {
    color: #0020af;
}
.agenda-link-A span {
    font-weight: 500;
    color: #3688D4;
}

.agenda-link-A:hover span {
    color: #0040ca;
}

.agenda-link-B span {
    font-weight: 500;
    color: #009043;
}

.agenda-link-B:hover span {
    color: #1d7747;
}

.agenda-link-C span {
    font-weight: 500;
    color: #E8760D;
}

.agenda-link-C:hover span {
    color: #b44714;
}

.agenda-box {
    padding-bottom: 8px;
}

.agenda-title {
    font-size: 20px;
    color: #212121;
}

.agenda-title span {
    display: block;
    line-height: 1.5;
}

.agenda-name {
    font-size: 18px;
    line-height: 1.5;
    color: #A4A4A4;
}


.keynote::before {
    content: 'KEYNOTE';
    display: inline-block;
    color: var(--main-color);
    border: 1px solid var(--main-color);
    font-size: 15px;
    padding: 0 8px;
    border-radius: 5px;
}

.main-tag,
.tag {
    display: inline-block;
    margin-bottom: 20px;
}

.main-tag span,
.tag span {
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 5px;
}

.main-tag span {
    background-color: #6db9ff;
    color: #fff;
}

.tag span {
    background-color: #EDEEED;
}

.txt {
    margin-top: 40px;
    color: #757575;
    font-size: 16px;
}


/* ---------- Model ---------- */
.agModal .modal-content {
    border-radius: 10px;
    font-size: 16px;
}
.agModal .modal-body {
    padding: 1.5rem 2.2rem;
}
.modal-body p{
    margin-bottom: 5px;
}
.agModal .modal-header {
    border-bottom: none;
}
.agModal h3 {
    font-weight: 700;
}
/* .ag-time {
    margin-bottom: 2rem;
} */
.agenda-content-class::before{
    content: url(../img/icon/book.svg);
    display: inline-block;
    transform: translateY(2px);
    width: 16px;
    height: 16px;
    color: #353535;
}
.modal-body .list-inline{
    margin-bottom: 0;
}
.agenda-content-class p{
    margin-bottom: 0;
}
.agModal .tag {
    font-size: 13px;
}
.agModal-sp {
    margin-bottom: 20px;
}

.agModal-sp img {
    display: block;
    margin: 0 auto;
    max-width: 120px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}


@media (min-width: 768px) {
    .agModal {
        max-width: 650px;
    }
}

@media (max-width:650px) {

    .agenda-content::after,
    .agenda-break::after {
        content: none;
    }

    .timeline p::before {
        content: none;
    }
}

/* 新增教室 0731 */
.agenda-class{
    border-bottom: 2px dashed #f07fc5;
}
.agenda-class-A span,
.agenda-class-B span,
.agenda-class-C span{
    font-size: 30px;
}
.agenda-class-A{
    padding-top: 10px;
    font-weight: 500;
    color: #3688D4;
}
.agenda-class-B{
    padding-top: 10px;
    font-weight: 500;
    color: #009043;
}
.agenda-class-C{
    padding-top: 10px;
    font-weight: 500;
    color: #E8760D;
}