@charset "utf-8";

/* ========================================
   生活習慣病予防教室
======================================== */

#main-title h1 {
    transform: scale(0.9, 1);
    width: 90%;
    font-size: 40px;
    font-weight: bold;
    color: black;
    position: relative;
    padding-left: 2rem;
}


/* ========================================
   本文全体
======================================== */

#wrapper {
    width: 90%;
    margin-left: 2rem;
    padding: 2rem;
    box-sizing: border-box;
    background-color: #eaedf7;
}

#wrapper > p {
    margin: 0 0 1.5rem;
    padding: 0 1rem;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
}

#wrapper a {
    font-weight: bold;
}

#wrapper a:hover {
    color: #ea5506;
}


/* ========================================
   案内表
======================================== */

.info-table {
    width: 100%;
    margin: 1rem auto 0;
    border-collapse: separate;
    border-spacing: 3px;
}

.info-table th {
    width: 130px;
    padding: 1.2rem 0.8rem;

    color: white;
    background-color: #0967ba;

    font-size: 18px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;

    border-radius: 4px;
}

.info-table td {
    padding: 1.2rem 2rem;

    color: black;
    background-color: white;

    font-size: 17px;
    font-weight: bold;
    line-height: 1.7;
    vertical-align: middle;

    overflow-wrap: anywhere;
}

.info-table ul {
    margin: 0.7rem 0;
    padding-left: 1.5rem;
}

.info-table li {
    margin: 0.25rem 0;
}


/* ========================================
   開催日
======================================== */

.schedule-list {
    margin: 1rem 0;
    padding: 0;
}

.schedule-list li {
    list-style: none;
    margin: 0.35rem 0;
    padding: 0;

    font-size: 18px;
    font-weight: bold;
}

.schedule-list li span {
    display: inline-block;
    width: 2rem;
}

.table-text {
    margin: 0.8rem 0 0.25rem;
    padding: 0;

    font-size: 17px;
    font-weight: bold;
}


/* ========================================
   強調表示
======================================== */

.red {
    color: #e60033;
    font-size: 15px;
    font-weight: bold;
}

.document-link {
    margin: 1rem 0 0;
    padding: 0;
}

.document-link a {
    font-weight: bold;
}

.deadline {
    margin: 0;
    padding: 0;
    font-weight: bold;
}

.closed {
    margin: 0.5rem 0 0;
    padding: 0;

    color: #e60033;
    font-weight: bold;
}


/* ========================================
   スマホ表示
======================================== */

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

    #main-title {
        width: 90%;
        margin: 0 auto;
    }

    #main-title h1 {
        transform: none;
        width: auto;
        max-width: none;

        padding-left: 0;

        font-size: 22px;
        font-weight: bold;

        border-bottom: solid 5px #cce4ff;
    }

    #main-title h1::after {
        position: absolute;
        content: "";
        display: block;

        width: 30%;

        border-bottom: solid 5px #5472cd;
    }


    /* 本文 */

    #wrapper {
        width: 95%;
        margin: 1rem auto;
        padding: 0.7rem;

        background-color: #eaedf7;
    }

    #wrapper > p {
        margin: 0 0 1rem;
        padding: 0.5rem;

        font-size: 16px;
        line-height: 1.7;
    }


    /*
       スマホでは、狭い2列を無理に維持せず
       項目名 → 内容 の縦積みにする
    */

    .info-table {
        width: 100%;
        margin: 0;
        border-spacing: 0 4px;
    }

    .info-table tbody,
    .info-table tr,
    .info-table th,
    .info-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .info-table th {
        padding: 0.65rem 0.8rem;

        font-size: 16px;
        text-align: left;

        border-radius: 4px 4px 0 0;
    }

    .info-table td {
        padding: 0.9rem;

        font-size: 15px;
        line-height: 1.65;

        border-radius: 0 0 4px 4px;
    }

    .schedule-list li {
        font-size: 16px;
    }

    .table-text {
        font-size: 15px;
    }

    .red {
        font-size: 14px;
    }
}

.postal-label {
    display: inline-block;
    width: 4em;
    vertical-align: top;
}

.postal-address {
    display: inline-block;
    max-width: calc(100% - 4em);
    vertical-align: top;
}