#main-area {
    .main-wrap {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;

        main {
            width: 100%;
            padding: var(--side-padding);

            #ranking-section {
                width: 100%;
                height: 100%;

                .ranking-list {
                    background-color: #fff;
                    border-radius: 8px;
                    padding: var(--size30);
                    margin: var(--size20) 0;
                    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

                    ul {
                        list-style: none;
                        margin-bottom: var(--size24);
                        display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                        gap: var(--size20);

                        li {
                            background-color: var(--color-bg-light);
                            border-radius: 8px;
                            padding: var(--size20);
                            border: 2px solid var(--color-main-light);
                            transition: all 0.3s ease;
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            text-align: center;
                            min-height: 120px;
                            justify-content: center;

                            font-size: var(--size16);
                            color: var(--color-text-dark);
                            cursor: pointer;

                            span {
                                display: block;
                                margin-bottom: 0.5em;
                            }

                            &:hover {
                                border-color: var(--color-main);
                                transform: translateY(-2px);
                                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

                                a {
                                    color: var(--color-orange);
                                }
                            }

                            a {
                                text-decoration: none;
                                width: 100%;
                                height: 100%;

                                &::before {
                                    content: '📄';
                                    font-size: var(--size32);
                                    margin-bottom: var(--size12);
                                    display: block;
                                }

                                &::after {
                                    content: 'PDF';
                                    background-color: var(--color-main);
                                    color: #fff;
                                    font-size: var(--size14);
                                    font-weight: bold;
                                    padding: var(--size04) var(--size08);
                                    margin-top: var(--size12);

                                }
                            }
                        }

                        @media screen and (max-width: 768px) {
                            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
                            gap: var(--sp_size12);
                            margin-bottom: var(--sp_size12);

                            li {
                                padding: var(--sp_size12);
                                font-size: var(--sp_size20);

                                a {
                                    &::before {
                                        font-size: var(--sp_size32);
                                        margin-bottom: var(--sp_size12);
                                    }

                                    &::after {
                                        font-size: var(--sp_size20);
                                        padding: var(--sp_size04) var(--sp_size08);
                                        margin-top: var(--sp_size12);
                                    }
                                }
                            }
                        }

                        @media screen and (max-width: 440px) {
                            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
                            gap: var(--sp_size12);
                            margin-bottom: var(--sp_size12);

                            li {
                                padding: var(--sp_size18);
                                font-size: var(--sp_size26);

                                a {
                                    &::before {
                                        font-size: var(--sp_size32);
                                    }

                                    &::after {
                                        font-size: var(--sp_size20);
                                        padding: var(--sp_size04) var(--sp_size08);
                                        margin-top: var(--sp_size12);
                                    }
                                }
                            }
                        }
                    }

                    p {
                        font-size: var(--size14);
                        color: var(--color-text-light);
                        line-height: 1.6;
                        margin-bottom: var(--size12);
                        padding: var(--size12);
                        background-color: #fff3cd;
                        border-left: 4px solid var(--color-orange);
                        border-radius: 0 4px 4px 0;

                        &:last-child {
                            margin-bottom: 0;
                        }
                    }

                    @media screen and (max-width: 768px) {
                        p {
                            font-size: var(--sp_size20);
                            padding: var(--sp_size12);
                            margin-bottom: var(--sp_size12);
                        }
                    }

                    @media screen and (max-width: 440px) {
                        p {
                            font-size: var(--sp_size20);
                            padding: var(--sp_size12);
                            margin-bottom: var(--sp_size12);
                        }
                    }

                }

                #ranking-rule-section {
                    .ranking-info {
                        font-size: var(--size18);

                        @media screen and (max-width: 768px) {
                            font-size: var(--sp_size18);
                        }

                        @media screen and (max-width: 440px) {
                            font-size: var(--sp_size24);
                        }

                        .ranking-info-file {
                            text-decoration: none;

                            &::after {
                                content: 'PDF';
                                background-color: var(--color-main);
                                color: #fff;
                                font-size: var(--size14);
                                font-weight: bold;
                                padding: var(--size04) var(--size08);
                                margin-top: var(--size12);

                                @media screen and (max-width: 768px) {
                                    font-size: var(--sp_size18);
                                    padding: var(--sp_size04) var(--sp_size08);
                                    margin-top: var(--sp_size12);
                                }

                                @media screen and (max-width: 440px) {
                                    font-size: var(--sp_size22);
                                    padding: var(--sp_size04) var(--sp_size08);
                                    margin-top: var(--sp_size12);
                                }

                            }
                        }

                        .ranking-info-main {
                            ul {
                                li {}
                            }
                        }
                    }
                }
            }
        }
    }
}