﻿.partnerArea ul {
    margin-left: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 20px;
}

    .partnerArea ul li {
        list-style: none;
    }

.card-container {
    perspective: 1000px;
}

.partnerArea ul li .partnerCard {
    width: 220px;
    height: 220px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 1s;
}

    .partnerArea ul li .partnerCard:hover, .partnerArea ul li .partnerCard:focus, .partnerArea ul li .partnerCard.is-flipped {
        transform: rotateY(-180deg);
    }

    .partnerArea ul li .partnerCard .partnerLogo, .partnerArea ul li .partnerCard .partnerName {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        padding: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        backface-visibility: hidden;
        position: absolute;
        box-shadow: 0 2px 10px rgba(2, 131, 148, .33);
        box-sizing: border-box;
    }

    .partnerArea ul li .partnerCard .partnerLogo {
        background-color: #ffffff;
    }

        .partnerArea ul li .partnerCard .partnerLogo img {
            max-width: 100%;
            max-height: 140px;
        }

    .partnerArea ul li .partnerCard .partnerName {
        background-color: var(--BlueDark1);
        transform: rotateY(180deg);
    }

        .partnerArea ul li .partnerCard .partnerName p {
            font-size: 1.25rem;
            line-height: 1.75rem;
            font-weight: bold;
            color: #ffffff;
            text-align: center;
        }

.contentBox {
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    background-color: #ffffff;
    margin-top: 20px;
    box-shadow: 0 2px 10px rgba(2, 131, 148, .33);
    box-sizing: border-box;
}

    .contentBox ul {
        counter-reset: li;
    }

        .contentBox ul li {
            list-style: none;
            padding-left: 0;
            padding-bottom: 10px;
        }

            .contentBox ul li p {
                text-indent: -40px;
                margin-left: 20px;
            }

                .contentBox ul li p::before {
                    content: counter(li);
                    counter-increment: li;
                    width: 30px;
                    height: 30px;
                    line-height: 1.875rem;
                    font-weight: bold;
                    display: inline-block;
                    text-align: center;
                    border-radius: 50px;
                    color: #ffffff;
                    margin-right: 10px;
                    text-indent: 0;
                    background-color: var(--BlueDark1);
                }

    .contentBox p strong {
        font-weight: bold;
        color: var(--BlueDark1);
    }

.articleCont .funcGuide .cardArea {
    margin-top: 20px;
}

    .articleCont .funcGuide .cardArea .card {
        width: calc((100% - 60px) / 4);
        min-height: 144px;
    }

        .articleCont .funcGuide .cardArea .card p.title {
            width: 40px;
            height: 40px;
            border-radius: 50px;
            background-color: var(--YellowLight1);
            color: #ffffff;
            padding-bottom: 0;
            margin: 0 auto;
            margin-bottom: 10px;
        }

            .articleCont .funcGuide .cardArea .card p.title i {
                line-height: 2.5rem;
            }

.JoinUs ul {
    width: 100%;
    display: flex;
    align-items: start;
    justify-content: space-between;
    counter-reset: li;
    margin-left: 0;
}

    .JoinUs ul li {
        width: calc((100% - 40px) / 3);
        min-height: 210px;
        list-style: none;
        background-color: #ffffff;
        border-radius: 10px;
        padding: 20px;
        box-shadow: 0 2px 10px rgba(2, 131, 148, .33);
        box-sizing: border-box;
    }

        .JoinUs ul li:last-child {
            padding-bottom: 20px;
        }

        .JoinUs ul li p.title::before {
            content: counter(li);
            counter-increment: li;
            width: 40px;
            height: 40px;
            font-size: 1.5rem;
            line-height: 2.375rem;
            display: block;
            border-radius: 50px;
            color: #ffffff;
            margin: 0 auto;
            margin-bottom: 10px;
            background-color: var(--BlueDark1);
        }

.fileDownload .fileArea {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

    .fileDownload .fileArea a {
        width: calc((100% - 40px) / 2);
        font-size: 1.125rem;
        font-weight: bold;
        background-color: #ffffff;
        border-radius: 10px;
        padding: 20px;
        display: block;
        box-shadow: 0 2px 10px rgba(2, 131, 148, .33);
        box-sizing: border-box;
        transition: all .2s ease-in;
    }

        .fileDownload .fileArea a:hover, .fileDownload .fileArea a:focus {
            transform: scale(1.1);
        }

        .fileDownload .fileArea a::before {
            content: '\f0ab';
            font-family: 'Font Awesome 6 Free';
            font-size: 2rem;
            font-weight: bold;
            color: var(--BlueLight2);
            margin-right: 10px;
            vertical-align: middle;
        }

.contectInfo {
    width: 100%;
    border-radius: 10px;
    padding: 40px;
    background-color: var(--BlueDark2);
    box-shadow: 0 2px 10px rgba(2, 131, 148, .33);
    box-sizing: border-box;
}

    .contectInfo h4, .contectInfo p {
        color: #ffffff;
    }

    .contectInfo .staffInfoArea {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: start;
    }

        .contectInfo .staffInfoArea .staffInfo {
            width: calc((100% - 40px) / 2);
        }

            .contectInfo .staffInfoArea .staffInfo p {
                padding-bottom: 10px;
            }

                .contectInfo .staffInfoArea .staffInfo p.staff {
                    font-size: 1.25rem;
                    font-weight: bold;
                    padding-bottom: 20px;
                }

                    .contectInfo .staffInfoArea .staffInfo p.staff::before {
                        content: '\f007';
                        font-family: 'Font Awesome 6 Free';
                        font-size: 1.25rem;
                        font-weight: bold;
                        color: #ffffff;
                        display: inline-block;
                        margin-right: 10px;
                    }

.btnRow {
    width: 100%;
    margin-bottom: 100px;
}

    .btnRow .btn {
        width: fit-content;
        font-weight: bold;
        border: 2px solid var(--BlueDark1);
        background-color: var(--BlueDark1);
        display: block;
        margin: 0 auto;
    }

        .btnRow .btn::before {
            content: '\f279';
            font-family: 'Font Awesome 6 Free';
            font-size: 1.125rem;
            font-weight: bold;
            color: #ffffff;
            display: inline-block;
            margin-right: 10px;
        }

        .btnRow .btn:hover, .btnRow .btn:active {
            border: 2px solid var(--BlueDark2);
            background-color: var(--BlueDark2);
            color: #ffffff;
        }

@media only screen and (min-width: 768px) and (max-width:976px) {
    .articleCont .funcGuide .cardArea .card {
        min-height: 172px;
    }

    .JoinUs ul li {
        min-height: 236px;
    }
}

@media only screen and (max-width: 767px) {
    .partnerArea ul li .partnerCard {
        width: 100%;
        height: 200px;
    }

    .articleCont .funcGuide .cardArea .card {
        min-height: 200px;
    }

    .JoinUs ul li {
        min-height: 236px;
    }
}

@media only screen and (max-width: 690px) {
    .articleCont .funcGuide .cardArea {
        flex-wrap: wrap;
        gap: 20px;
    }

        .articleCont .funcGuide .cardArea .card {
            width: calc((100% - 20px) / 2);
            min-height: 144px;
            margin-right: 0;
        }

    .JoinUs ul {
        display: grid;
        gap: 20px;
        align-items: initial;
        justify-content: initial;
    }

        .JoinUs ul li {
            width: 100%;
            min-height: initial;
            margin-right: 0;
            text-align: center;
        }
}

@media only screen and (max-width: 600px) {
    .articleCont .funcGuide .cardArea .card {
        width: 100%;
        min-height: initial;
        text-align: center;
    }

    .contectInfo {
        padding: 20px;
    }

        .contectInfo .staffInfoArea {
            display: block;
        }

            .contectInfo .staffInfoArea .staffInfo {
                width: 100%;
                margin-bottom: 20px;
            }

                .contectInfo .staffInfoArea .staffInfo:last-of-type {
                    margin-bottom: 0;
                }

                .contectInfo .staffInfoArea .staffInfo p {
                    line-height: 1.5rem;
                    padding-bottom: 5px;
                }

                    .contectInfo .staffInfoArea .staffInfo p:last-of-type {
                        padding-bottom: 0;
                    }

                    .contectInfo .staffInfoArea .staffInfo p.staff {
                        padding-bottom: 10px;
                    }
}

@media only screen and (max-width: 530px) {
    .partnerArea ul li .partnerCard {
        height: 180px;
    }

    .fileDownload .fileArea {
        display: block;
    }

        .fileDownload .fileArea a {
            width: 100%;
            margin-bottom: 20px;
        }

            .fileDownload .fileArea a:last-of-type {
                margin-bottom: 0;
            }
}
