#zigyousya main {
    background: url(images/bodyBack.png);
    background-size: 70px 70px;
}

#zigyousya #contentsHead {
    background: url(images/headBack.png) no-repeat center center;
    background-size: cover;
    height: 180px;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px 0 60px;
    border: 1px solid #b9d4f2;
    border-radius: 12px;
}

#zigyousya #contents #contentsHead h1 {
    font-size: 2rem;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    color: #0056b3;
    filter: drop-shadow(2px 2px 3px #ffffffb0);
}

#zigyousya .toMembers {
    border: 1px solid #CCC;
    border-radius: 16px;
    padding: 10px;
    background: #FFF;
    margin: 0;
}

.toMembers>div {
    border-radius: 12px;
    padding: 10px;
    background: #FFF9E3;
}

#contents #contentsHead .toMembers p {
    text-align: center;
    color: #000;
    margin: 0;
    padding: 2px 15px;
}

#contents #contentsHead .toMembers p:last-child {
    padding: 0 10px;
    font-size: 0.75rem;
    color: #666;
}

#contents #contentsHead p a {
    display: inline-block;
    padding: 10px 10px 10px 40px;
    background: url(images/login.png) no-repeat left 10px center;
    background-size: 19px 25px;
    background-color: #007BFF;
    color: #FFF;
    text-decoration: none;
    border-radius: 5px;
}

#contentsHead p a:hover {
    background-color: #0056b3;
}

#zigyousya #contentsTitle {
    width: 100%;
    max-width: 1240px;
    margin: 10px auto 30px;
    height: 70px;
    padding: 0 20px;
}

#zigyousya #contentsTitle p {
    width: 100%;
    height: 70px;
    background: url(images/headBack.png) no-repeat center center;
    background-size: cover;
    border: 1px solid #b9d4f2;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0;
    padding: 0 0 0 50px;
    color: #0056b3;
    filter: drop-shadow(2px 2px 3px #ffffffb0);
}

#zigyousya #contentsTitle p a {
    color: #0056b3;
    text-decoration: none;
}

.slideArea {
    margin: 0 0 60px;
}

#zigyousya #contents .slideArea h2 {
    background: none;
    color: #333;
    font-size: 1.25rem;
    border-bottom: 1px solid #CCC;
    border-radius: 0;
}

#contents .slideArea p {
    font-size: 0.75rem;
    padding: 0 10px;
}

#contents .slideArea p a {
    text-decoration: none;
    color: #0056b3;
}

.kakomi {
    border: 1px solid #CCC;
    padding: 20px 24px;
    margin: 20px 0;
    border-radius: 8px;
    background: #FFF;
}

#zigyousya #contents .kakomi h2 {
    margin-top: 0;
    font-size: 1.175rem;
}

.flexWrap {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 40px;
}

.flexWrap .flexItem {
    flex: 0 1 calc((100% - 20px) / 2);
    border: 2px solid #009C84;
    border-radius: 8px;
    padding: 10px 20px;
}

.flexItem .hidden {
    display: none;
    margin-top: 10px;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
}


#contents h2.plus {
    position: relative;
    cursor: pointer;
    padding-right: 30px;
    margin: 0;
}

.plus::before,
.plus::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 3px;
    background-color: #009C84;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.2s;
}

.plus::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.2s;
}

.plus.open::before {
    opacity: 0;
}

.plus.open::after {
    transform: translateY(-50%) rotate(180deg);
}

#zigyousya #contents th {
    background: #F6F6F6;
}

#zigyousya #contents td {
    background: #FFF;
}

#zigyousya #contents .flexItem .hidden>p:last-child {
    text-align: right;
    margin-bottom: 0;
}

#contents .close-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #DDD;
    text-decoration: none;
    border-radius: 5px;
    cursor: pointer;
}

.spShow {
    display: none;
}

#localNavi ul {
    position: sticky;
    top: 0;
}

#localNavi ul li:first-child,
#localNavi ul li:first-child a {
    border-radius: 16px 16px 0 0;
}

#localNavi ul li:last-child,
#localNavi ul li:last-child a {
    border-radius: 0 0 16px 16px;
}

#zigyousya #localNavi ul li a:hover,
#zigyousya #localNavi ul li a.active {
    background: #fffef7;
}

#zigyousya #localNavi ul li a:hover::before,
#zigyousya #localNavi ul li a.active::before {
    width: 10px;
    height: 10px;
    background: #e3c65f;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
}


#contents ul.indexMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    margin: 30px 0;
}

#contents ul.indexMenu li {
    background: none;
    padding: 0;
    margin: 0;
    width: calc((100% - 20px) / 2);
}

#contents ul.indexMenu li a {
    display: block;
    padding: 20px 30px;
    background: #e5f5fc;
    color: #000;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1.125rem;
    position: relative;
}

#contents ul.indexMenu li a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-right: 2px solid #0056b3;
    border-bottom: 2px solid #0056b3;
    transform: translateY(-50%) rotate(-45deg);
}

#zigyousya #contents h1 {
    border: none;
    text-align: center;
    font-size: 1.75rem;
    margin: 10px 0 40px;
    padding: 0 0 35px;
    border-bottom: 1px solid #CCC;
    border-radius: 0;
}

#zigyousya #contents h2 {
    font-size: 1.5rem;
    background: none;
    padding: 10px 20px;
    margin-bottom: 20px;
    line-height: 1.5;
    color: #0056b3;
    background: #E7F4F8;
    border-radius: 8px;
}

#zigyousya #contents ul li {
    background: url(images/liStandard.svg) no-repeat top 10px left;
}

#zigyousya #contents p+h2,
#zigyousya #contents ul+h2,
#zigyousya #contents ol+h2,
#zigyousya #contents .tableWrap+h2 {
    margin-top: 50px;
}


@media screen and (max-width:599px) {
    .slideArea * {
        max-width: initial;
    }

    #contents .slideArea p {
        padding: 0;
    }

    .flexWrap {
        flex-direction: column;
        align-items: stretch;
    }

    .flexWrap .flexItem {
        flex: 1 1 100%;
        padding: 4px;
    }

    #zigyousya #contentsHead {
        padding: 0 10px 0 20px;
        height: 130px;
    }

    #zigyousya #contents #contentsHead h1 {
        font-size: 1.125rem;
        text-align: left;
        line-height: 1.4;
    }

    #zigyousya .toMembers {
        padding: 4px;
    }

    #contents #contentsHead .toMembers p {
        line-height: 1;
        font-size: 0.875rem;
        padding: 4px 2px;
    }

    #contents #contentsHead .toMembers p:last-child {
        font-size: 0.625rem;
    }

    #zigyousya #contentsTitle p {
        line-height: 1.4;
        padding: 0;
        justify-content: center;
        font-size: 1.125rem;
    }

    #contents ul.indexMenu {
        gap: 10px;
        margin: 0 0 30px;
    }

    #contents ul.indexMenu li {
        width: 100%;
    }

    .spShow {
        display: block;
    }

    #zigyousya #contents h2 {
        margin-left: 0;
        max-width: 100%;
        font-size: 1.25rem;
    }

}