main {
    margin-top: var(--size60);
}

#main-area {
    .main-wrap {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;

        main {
            width: 100%;
            padding: var(--side-padding);

            #registration-section {
                width: 100%;
                height: 100%;

                .section-wrap {

                    p {
                        font-size: var(--size16);

                        a {
                            font-size: var(--size18);
                            display: flex;
                            align-items: center;
                            justify-content: flex-start;
                            gap: var(--size10);
                            padding: var(--size04) var(--size08);
                            font-weight: bold;
                            text-decoration: none;

                            &[href*=".pdf" i]::after {
                                content: 'PDF';
                                background-color: var(--color-main);
                                color: #fff;
                                font-size: var(--size16);
                                font-weight: bold;
                                padding: var(--size04) var(--size08);
                            }

                            &[href*=".docx" i]::after {
                                content: 'DOCX';
                                background-color: var(--color-main);
                                color: #fff;
                                font-size: var(--size16);
                                font-weight: bold;
                                padding: var(--size04) var(--size08);
                            }



                            &[href*=".xls" i]::after {
                                content: 'XLS';
                                background-color: rgb(0, 179, 0);
                                color: #fff;
                                font-size: var(--size16);
                                font-weight: bold;
                                padding: var(--size04) var(--size08);

                            }

                            &[href*=".xlsx" i]::after {
                                content: 'XLSX';
                                background-color: green;
                                color: #fff;
                                font-size: var(--size16);
                                font-weight: bold;
                                padding: var(--size04) var(--size08);

                            }

                            @media screen and (max-width: 768px) {
                                font-size: var(--sp_size18);
                                gap: var(--sp_size08);
                                padding: var(--sp_size08) var(--sp_size08);

                                &[href*=".pdf" i]::after {
                                    font-size: var(--sp_size18);
                                }

                                &[href*=".xlsx" i]::after {
                                    font-size: var(--sp_size18);
                                }

                                &[href*=".xls" i]::after {
                                    font-size: var(--sp_size18);
                                }
                            }

                            @media screen and (max-width: 440px) {
                                font-size: var(--sp_size24);
                                gap: var(--sp_size08);
                                padding: var(--sp_size08) var(--sp_size08);

                                &[href*=".pdf" i]::after {
                                    font-size: var(--sp_size20);
                                }

                                &[href*=".xlsx" i]::after {
                                    font-size: var(--sp_size20);
                                }

                                &[href*=".xls" i]::after {
                                    font-size: var(--sp_size20);
                                }
                            }
                        }

                        &.registration-info-text {
                            margin-bottom: var(--size20);
                        }

                        &.registration-info-text2 {
                            background-color: var(--color-main-light);
                            border-left: 4px solid var(--color-main);
                            border-radius: 0 4px 4px 0;
                            padding: var(--size16) var(--size20);
                            margin: var(--size12) 0;
                            font-weight: 300;
                            color: var(--color-bg);
                            position: relative;

                        }

                        @media screen and (max-width: 768px) {
                            font-size: var(--sp_size18);

                            &.registration-info-text2 {
                                padding: var(--sp_size16) var(--sp_size20);
                                margin: var(--sp_size12) 0;
                            }

                            &.registration-info-text {
                                margin-bottom: var(--sp_size20);
                            }
                        }

                        @media screen and (max-width: 440px) {
                            font-size: var(--sp_size24);

                            &.registration-info-text2 {
                                padding: var(--sp_size16) var(--sp_size20);
                                margin: var(--sp_size12) 0;
                            }

                            &.registration-info-text {
                                margin-bottom: var(--sp_size20);
                            }
                        }

                    }

                    .registration-info-annotation {
                        background-color: #fff3cd;
                        border-left: 4px solid var(--color-orange);
                        border-radius: 0 4px 4px 0;
                        padding: var(--size16) var(--size20);
                        margin: var(--size20) 0;
                        font-size: var(--size14);
                        color: var(--color-text-dark);
                        line-height: 1.6;
                        font-weight: 500;
                        position: relative;

                        p {
                            margin: 0;
                            font-size: var(--size14);
                            color: var(--color-text-dark);
                            line-height: 1.6;

                            &:not(:last-child) {
                                margin-bottom: var(--size08);
                            }
                        }

                        ul {
                            list-style: none;
                            margin: var(--size12) 0 0 0;
                            padding-left: var(--size16);

                            li {
                                font-size: var(--size14);
                                color: var(--color-text-dark);
                                line-height: 1.6;
                                margin-bottom: var(--size04);
                                position: relative;

                                &::before {
                                    content: '•';
                                    position: absolute;
                                    left: -12px;
                                    color: var(--color-orange);
                                    font-weight: bold;
                                }
                            }
                        }

                        a {
                            color: var(--color-main);
                            text-decoration: underline;
                            font-weight: 600;
                            transition: all 0.3s ease;

                            &:hover {
                                color: var(--color-orange);
                            }
                        }

                        &.important {
                            background-color: #f8d7da;
                            border-left-color: var(--color-red);
                            color: var(--color-red);

                            &::before {
                                content: '⚠️';
                            }

                            p,
                            li {
                                color: var(--color-red);
                            }
                        }

                        &.info {
                            background-color: #d1ecf1;
                            border-left-color: var(--color-main);
                            color: var(--color-main);

                            &::before {
                                content: 'ℹ️';
                            }

                            p,
                            li {
                                color: var(--color-main);
                            }
                        }

                        @media screen and (max-width: 768px) {
                            padding: var(--sp_size16) var(--sp_size20);
                            margin: var(--sp_size12) 0;
                            font-size: var(--sp_size16);

                            p {
                                font-size: var(--sp_size16);

                                &:not(:last-child) {
                                    margin-bottom: var(--sp_size08);
                                }
                            }

                            ul {
                                margin: var(--sp_size12) 0 0 0;
                                padding-left: var(--sp_size16);

                                li {
                                    font-size: var(--sp_size16);
                                    margin-bottom: var(--sp_size04);
                                }
                            }

                        }

                        @media screen and (max-width: 440px) {
                            padding: var(--sp_size16) var(--sp_size20);
                            margin: var(--sp_size12) 0;
                            font-size: var(--sp_size20);

                            p {
                                font-size: var(--sp_size20);

                                &:not(:last-child) {
                                    margin-bottom: var(--sp_size08);
                                }
                            }

                            ul {

                                li {
                                    font-size: var(--sp_size20);
                                    margin-bottom: var(--sp_size04);
                                }
                            }

                        }
                    }


                }
            }

            .registration-info-card-area {
                margin-top: var(--size60);
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                gap: var(--size20);

                @media screen and (max-width: 768px) {
                    margin-top: var(--sp_size40);
                    gap: var(--sp_size20);
                }

                @media screen and (max-width: 440px) {

                    margin-top: var(--sp_size40);
                    gap: var(--sp_size20);
                }

                .registration-info-card-wrap {
                    width: 100%;
                    background-color: var(--color-bg);
                    border: 1px solid var(--color-main);

                    .registration-info-card-title {
                        background-color: var(--color-main);
                        color: var(--color-bg);
                        padding: var(--size12) var(--size20);
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        align-items: center;

                        h3 {
                            font-size: var(--size24);
                            font-weight: 700;

                        }

                        @media screen and (max-width: 768px) {
                            padding: var(--sp_size12) var(--sp_size20);

                            h3 {
                                font-size: var(--sp_size24);
                            }
                        }

                        @media screen and (max-width: 440px) {
                            padding: var(--sp_size12) var(--sp_size20);

                            h3 {
                                font-size: var(--sp_size24);
                            }
                        }


                    }

                    .registration-info-card-item-wrap {
                        padding: var(--size20);

                        .registration-info-card-item {
                            margin-top: var(--size20);
                            background-color: var(--color-bg-light);
                            border-radius: 8px;
                            padding: var(--size20);
                            border-left: 4px solid var(--color-orange);
                            position: relative;
                            transition: all 0.3s ease;

                            &:first-child {
                                margin-top: 0;
                            }

                            &:hover {
                                border-left-color: var(--color-orange-dark);
                                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
                                transform: translateY(-1px);
                            }


                            h4 {
                                font-size: var(--size24);
                                font-weight: 700;
                                color: var(--color-main);
                                margin: 0 0 var(--size16) 0;
                                padding-bottom: var(--size08);
                                border-bottom: 2px solid var(--color-orange);
                            }

                            h5 {
                                font-size: var(--size20);
                                font-weight: 700;
                                margin-top: var(--size20);
                                color: var(--color-main);
                                margin-bottom: var(--size12);
                                background-color: var(--color-orange-light);
                            }

                            .registration-info-card-item-inner {
                                p {
                                    font-size: var(--size18);
                                    font-weight: 400;
                                    color: var(--color-text-dark);
                                    line-height: 1.6;
                                    margin: var(--size08) 0;

                                }

                                ul {
                                    list-style: none;
                                    margin: var(--size12) 0;

                                    li {
                                        font-size: var(--size16);
                                        color: var(--color-text-dark);
                                        line-height: 1.6;
                                        margin-bottom: var(--size08);
                                        padding-left: var(--size16);
                                        position: relative;

                                        &::before {
                                            content: '•';
                                            position: absolute;
                                            left: 0;
                                            color: var(--color-orange);
                                            font-weight: bold;
                                        }
                                    }
                                }

                                a {
                                    color: var(--color-main);
                                    text-decoration: underline;
                                    font-weight: 600;
                                    transition: all 0.3s ease;

                                    &:hover {
                                        color: var(--color-orange);
                                    }
                                }

                                .registration-info-card-item-inner-note {
                                    font-size: var(--size14);
                                    font-weight: 400;
                                    color: var(--color-text-dark);
                                    line-height: 1;
                                    vertical-align: top;
                                }

                                .price {
                                    background-color: var(--color-orange-light);
                                    color: var(--color-orange-dark);
                                    font-weight: bold;
                                    padding: var(--size08) var(--size12);
                                    border-radius: 4px;
                                    display: inline-block;
                                    margin: var(--size08) 0;
                                }
                            }
                        }

                        @media screen and (max-width: 768px) {
                            padding: var(--sp_size20);

                            .registration-info-card-item {
                                padding: var(--sp_size16);
                                margin-top: var(--sp_size16);

                                h4 {
                                    font-size: var(--sp_size24);
                                    margin-bottom: var(--sp_size12);
                                    padding-bottom: var(--sp_size08);
                                }

                                h5 {
                                    font-size: var(--sp_size20);
                                    margin-top: var(--sp_size16);
                                    margin-bottom: var(--sp_size12);
                                }

                                .registration-info-card-item-inner {
                                    p {
                                        font-size: var(--sp_size16);
                                        margin: var(--sp_size08) 0;
                                    }

                                    ul {
                                        margin: var(--sp_size12) 0;

                                        li {
                                            font-size: var(--sp_size16);
                                            margin-bottom: var(--sp_size08);
                                            padding-left: var(--sp_size16);
                                        }
                                    }

                                    .registration-info-card-item-inner-note {
                                        font-size: var(--sp_size14);
                                    }

                                    .price {
                                        padding: var(--sp_size04) var(--sp_size10);
                                        margin: var(--sp_size08) 0;
                                    }
                                }
                            }
                        }

                        @media screen and (max-width: 440px) {
                            padding: var(--sp_size20);

                            .registration-info-card-item {
                                padding: var(--sp_size16);
                                margin-top: var(--sp_size16);

                                h4 {
                                    font-size: var(--sp_size28);
                                    margin-bottom: var(--sp_size12);
                                    padding-bottom: var(--sp_size08);
                                }

                                h5 {
                                    font-size: var(--sp_size24);
                                    margin-top: var(--sp_size16);
                                    margin-bottom: var(--sp_size12);
                                }

                                .registration-info-card-item-inner {
                                    p {
                                        font-size: var(--sp_size24);
                                        margin: var(--sp_size08) 0;
                                    }

                                    ul {
                                        margin: var(--sp_size12) 0;

                                        li {
                                            font-size: var(--sp_size24);
                                            margin-bottom: var(--sp_size08);
                                            padding-left: var(--sp_size16);
                                        }
                                    }

                                    .registration-info-card-item-inner-note {
                                        font-size: var(--sp_size24);
                                    }

                                    .price {
                                        padding: var(--sp_size04) var(--sp_size10);
                                        margin: var(--sp_size08) 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}