:root {
    --color-primary: #7cc144;
    --color-secondary: #3b55a5;
}

.common-section {
    width: 100%;
    max-width: 1680px;
    padding: 0 2.5rem;
    margin: 0 auto;
}

.page-layout {
    padding: 0 2.5rem 6.5rem;
}

.page-block {
    background-color: #ffffff;
    padding: 3.75rem 5rem;
    border-radius: 40px;
}


/* 공통 버튼 요소 */
[class^="common-btn"] {
    font-size: 1rem;
    font-weight: 500;
    background-color: #fff;
    width: 204px;
    padding: 12px 0;
    border: 1px solid;
    border-radius: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
}

.common-btn-primary {
    color: #448A0C;
    border-color: var(--color-primary);
}
.common-btn-primary:hover {
    color: #fff;
    background-color: var(--color-primary);
}

.common-btn-secondary {
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}
.common-btn-secondary:hover {
    color: #fff;
    background-color: var(--color-secondary);
}

.common-btn-gray {
    color: #999;
    border-color: #999;
}
.common-btn-gray:hover {
    color: #fff;
    background-color: #999;
}
/* 공통 버튼 요소 */


/* 애니메이션 효과 */
.scroll_wrap {overflow: hidden;}
.scroll_on {opacity: 0;transition: all 1s;}
.scroll_on.active {opacity: 1 !important;transform: translate(0, 0) !important;}
.scroll_on.type_top {transform: translate(0, -50px);}
.scroll_on.type_bottom {transform: translate(0, 50px);}
.scroll_on.type_left {transform: translate(-50px, 0);}
.scroll_on.type_right {transform: translate(50px, 0);}

/* 사용자 설정 */
@media (prefers-reduced-motion: reduce) {
    .scroll_on { transition: none; }
}
/* 애니메이션 효과 */

.t_block,
.m_block { 
    display: none;
}

/* 페이지 디자인 */
.pg_wrap, .pg {
    clear: none;
    float: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
}

.pg_page {
    color: var(--color-secondary);
    font-weight: 600;
    background-color: #fff;
    border: 1px solid var(--color-secondary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
}

.pg_page:hover {
    color: #fff;
    background-color: var(--color-secondary);
}

.pg_current {
    color: #fff;
    font-weight: 600;
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
/* 페이지 디자인 */

@media screen and (max-width: 1024px) {
    .page-layout {
        padding: 0 1.25rem 5rem;
    }

    .page-block {
        padding: 3.75rem 4.375rem;
    }

    .t_none { display: none; }
    .t_block { display: block; }
}

@media screen and (max-width: 768px) {
    .m_none { display: none; }
    .m_block { display: block; }
}

@media screen and (max-width: 480px) {
    .page-layout {
        padding-left: 0;
        padding-right: 0;
    }

    .common-section {
        padding: 0 20px;
    }
}