body {
    overflow: hidden
}

.body {
    overflow: hidden;
    touch-action: none;
}

body .top__btn {
    display: none !important;
}

.main {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.section {
    position: relative;
    height: calc(var(--vh, 1vh) * 100);
    overflow: hidden
}

.link__btn {
    cursor: pointer
}

.link__btn:hover svg circle {
    transition: .3s ease-in-out;
    fill: var(--lab-2)
}

.main__contents {
    position: relative;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);;
    transition: transform 1s ease 0s
}

.main__visual {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

.main__visual--video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
}

.main__visual--video video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.main__visual--slider {
    -webkit-user-drag: none;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    height: 100%;
    display: flex;
    width: 100%;
    overflow: hidden
}

.main__visual--slider-slide {
    transition: 600ms ease-out;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);;
    overflow: hidden;
    transform: scale(1.1);
    opacity: 0;
}

.main__visual--slider-slide.active {
    opacity: 1;
    transform: scale(1);
}

.main__visual--slider-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-user-drag: none
}

.main__visual--hero {
    margin: 0 auto;
    width: 100%;
    max-width: 1360px;
    row-gap: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start
}

.main__visual--hero-contents {
    height: 250px;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    row-gap: 32px;
}

.main__visual--hero-title {
    animation: fadeIn2 600ms ease-out forwards;
    animation-delay: .3s;
    opacity: 0;
    transform: translateY(25%);
    font-family: 'Noto Sans KR' , sans-serif;
    font-size: 3em;
    font-weight: 700;
    color: var(--white)
}

.main__visual--hero-text {
    animation: fadeIn2 600ms ease-out forwards;
    animation-delay: .6s;
    opacity: 0;
    transform: translateY(25%);
    font-size: 1.5em;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--white)
}

.main__visual--progress {
    animation: fadeIn2 600ms ease-out forwards;
    animation-delay: .9s;
    opacity: 0;
    transform: translateY(25%);
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px
}

.main__visual--progress-bar {
    position: relative;
    width: 200px;
    height: 6px;
}

.main__visual--progress-number {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: var(--white);
    transition: 300ms ease-out;
}

.main__visual--progress-arrow {
    cursor: pointer;
}

.main__visual--progress-btn {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: rgba(255, 255, 255, .3);
    cursor: pointer;
}

.main__visual--progress-arrow:hover path{
    fill: #e48400;
}

.main__visual--progress-arrow:hover line{
    stroke: #e48400;
}

.main__visual--scroll {
    position: absolute;
    left: 50%;
    bottom: 5vh;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center
}

.main__visual--scroll-icon line:last-child {
    animation: dropDownBottom 1.2s ease-out infinite
}

.main__solution {
    padding-top: 10vh;
    row-gap: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.main__solution--header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 28px
}

.main__solution--header-title {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .3s;
    opacity: 0;
    transform: translateY(25%);
    font-family: Montserrat, sans-serif;
    font-size: 4em;
    font-weight: 700;
    color: var(--black)
}

.main__solution--header-text {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .6s;
    opacity: 0;
    transform: translateY(25%);
    font-size: 1.25em;
    font-weight: 400;
    color: var(--font-1);
    text-align: center
}

.main__solution--contents {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .9s;
    opacity: 0;
    transform: translateY(25%);
    width: 100%;
    height: 500px
}

.main__solution.show .main__solution--header-title {
    display: block
}

.main__solution.show .main__solution--header-text {
    display: block
}

.main__solution.show .main__solution--contents {
    display: block
}

.main__solution--slider {
    width: 100%;
    height: 100%
}

.main__solution--slide {
    position: relative
}

.main__solution--slide:hover .main__solution--hero {
    display: none
}

.main__solution--slide:hover .main__solution--info {
    display: flex
}

.main__solution--slide-img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-user-drag: none
}

.main__solution--hero {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, .5)
}

.main__solution--hero-title {
    font-size: 1.875em;
    font-weight: 400;
    color: var(--white)
}

.main__solution--info {
    animation: fadeIn .3s ease-in-out;
    position: relative;
    width: 100%;
    height: 100%;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(228, 132, 0, .85)
}

.main__solution--info-title {
    font-size: 1.875em;
    font-weight: 400;
    color: var(--white)
}

.main__solution--info-text {
    text-align: center;
    font-size: 1em;
    font-weight: 400;
    color: var(--white);
}

.main__solution--info-link {
    margin-top: 35px;
    font-size: .75em;
    font-weight: 700;
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 8px
}

.main__product {
    padding-top: 10vh;
    background-color: var(--gray);
    display: flex;
    justify-content: center;
    align-items: center;
}

.main__product--container {
    width: 100%;
    max-width: 1360px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 40px;
}

.main__product--header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 28px
}

.main__product--header-title {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .3s;
    opacity: 0;
    transform: translateY(25%);
    font-family: Montserrat, sans-serif;
    font-size: 4em;
    font-weight: 700;
    color: var(--black)
}

.main__product--header-text {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .6s;
    opacity: 0;
    transform: translateY(25%);
    font-size: 1.25em;
    font-weight: 400;
    color: var(--font-1);
    text-align: center
}

.main__product--contents {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .9s;
    opacity: 0;
    transform: translateY(25%);
    justify-content: center;
    align-items: center;
    column-gap: 50px;
    height: 400px;
}

.main__product.show .main__product--header-title {
    display: block
}

.main__product.show .main__product--header-text {
    display: block
}

.main__product.show .main__product--contents {
    display: flex
}

.main__product--slider {
    width: 100%;
    height: 100%;
}

.main__product--slide {
    animation: fadeIn .6s ease-in-out;
    display: none;
    grid-template-columns:1fr 1.2fr;
    width: 100%;
    height: 100%;
}

.main__product--slide:first-child {
    display: grid;
}

.main__product--picture {
    position: relative;
    width: 600px;
    height: 100%;
}

.main__product--picture-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-user-drag: none
}

.main__product--info-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 40px 20px 40px 70px;
    background-color: var(--white);
}

.main__product--info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    row-gap: 24px;
}

.main__product--title {
    font-size: 2.25em;
    font-weight: 400;
    color: var(--lab-2)
}

.main__product--subTitle {
    margin-top: 20px;
    font-size: 1.25em;
    font-weight: 400
}

.main__product--text {
    font-size: 1em;
    font-weight: 300
}

.main__product--link {
    cursor: pointer;
    margin-top: 32px;
    font-size: 1em;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 10px
}

.main__product--page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 10px
}

.main__product--page-bar {
    position: relative;
    width: 360px;
    height: 2px;
    background-color: var(--secondary)
}

.main__product--page-info {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--secondary);
    column-gap: 8px
}

.main__product--page-now {
    font-size: 1.5em;
    font-weight: 400;
    color: var(--lab-2)
}

.main__product--page-total {
    font-size: 1em;
    font-weight: 400;
    color: var(--secondary)
}

.main__product--arrow {
    cursor: pointer
}

.main__product--arrow:hover svg path {
    transition: .3s ease-in-out;
    fill: var(--lab-2)
}

.main__product--page-number {
    position: absolute;
    top: 0;
    height: 100%;
    background-color: var(--lab-2)
}

.main__project {
    padding-top: 10vh;
    row-gap: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.main__project--header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 28px
}

.main__project--header-title {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .3s;
    opacity: 0;
    transform: translateY(25%);
    font-family: Montserrat, sans-serif;
    font-size: 4em;
    font-weight: 700;
    color: var(--black)
}

.main__project--header-text {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .6s;
    opacity: 0;
    transform: translateY(25%);
    font-size: 1.25em;
    font-weight: 400;
    color: var(--font-1);
    text-align: center
}

.main__project--contents {
    display: none;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: .9s;
    opacity: 0;
    transform: translateY(25%);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 60px
}

.main__project.show .main__project--header-title {
    display: block
}

.main__project.show .main__project--header-text {
    display: block
}

.main__project.show .main__project--contents {
    max-width: 1000px;
    width: 100%;
    display: flex
}

.main__project--contents-wrapper {
    max-width: 900px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    align-items: center;
    column-gap: 120px
}

.main__project--item {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 20px;
}

.main__project--item-icon {
    position: relative;
    width: 90%;
    padding-top: 90%;
    border-radius: 70%;
    border: 1px solid var(--secondary);
}

.main__project--item-icon svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.main__project--item-title {
    font-size: 1.25em;
    font-weight: 400;
    text-align: center
}

.main__project--item-total {
    font-size: 3em;
    font-weight: 700;
    text-align: center
}

.main__project--link {
    font-size: 1em;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 8px
}

.main__contact {
    position: relative;
    height: calc(var(--vh, 1vh) * 100);;
    display: grid;
    grid-template-columns: 1fr;
    justify-content: flex-end;
    align-items: center;
    row-gap: 60px
}

.main__contact--background {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.main__contact--background-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-user-drag: none
}

.main__contact--header {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    row-gap: 20px;
    height: 100%;
}

.main__contact--header-title {
    font-family: Montserrat, sans-serif;
    font-size: 4em;
    font-weight: 700;
    color: var(--black)
}

.main__contact--header-text {
    font-size: 1.25em;
    font-weight: 400;
    text-align: center
}

.main__contact--contents {
    padding: 40px 0;
    height: 100%;
    background-color: rgba(255, 255, 255, .2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.main__contact--form {
    display: grid;
    grid-template-columns:1fr 1fr;
    justify-content: center;
    align-items: flex-start;
    column-gap: 74px;
    max-width: 1360px;
    width: 100%;
}

.main__contact--form-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    row-gap: 30px
}

.main__contact--form-text {
    padding: 16px 0;
    width: 100%;
    font-size: 1.25em;
    font-weight: 400;
    border-bottom: 1px solid var(--font-1)
}

.main__contact--form-text::placeholder {
    color: var(--font-1)
}

.main__contact--checkbox {
    margin-top: 50px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 10px
}

.main__contact--checkbox-label {
    column-gap: 10px;
    font-size: 1em;
    font-weight: 300;
    display: flex;
    justify-content: center;
    align-items: center
}

.main__contact--checkbox-input {
    width: 26px;
    height: 26px;
    outline: 0;
    border: none
}

.main__contact--form-label {
    width: 100%
}


.main__contact--form-right{ width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; row-gap: 20px; }
.main__contact--form-title{ font-size: 1.25em; font-weight: 400; }
.main__contact--form-area{ padding: 20px 32px; width: 100%; height: 200px; overflow-y: auto; resize: none; background-color: var(--white); border: 1px solid var(--font-1);  }
.main__contact--form-area::-webkit-scrollbar{ width: 10px; }
.inquiry__item{ width: 100%; }

.main__contact--list {
    cursor: pointer;
    font-size: 1em;
    font-weight: 300;
    text-decoration: underline;
}

.main__contact--contents-btn {
    margin-top: 20px;
    cursor: pointer;
    width: 200px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--white);
    background-color: var(--lab-2)
}

.main__contact--contents-btn:hover {
    transition: .3s ease-in-out;
    box-shadow: inset 0 2px 8px #744400
}

.pagination {
    position: fixed;
    z-index: 25;
    left: 36px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 20px
}

.pagination__item {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 70%;
    background-color: rgba(0, 0, 0, .2);
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .6);
}

.pagination__item.active {
    background-color: var(--lab-2);
}

.pagination__item--wrapper {
    display: none;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(calc(100% + 20px), -50%);
    background-color: var(--lab-2);
    padding: 6px;
    color: var(--white);
    font-family: 'Montserrat', 'Noto Sans KR' , sans-serif;
    white-space: nowrap;
    animation: fadeIn 300ms ease-out;
}

.pagination__item:hover .pagination__item--wrapper{
    display: block;
}

.pagination__item:hover::after {
    display: block;
}

.pagination__item::after {
    animation: fadeIn .3s ease-out;
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 70%;
    border: 1px solid rgba(228, 132, 0, .2);
    display: none
}

.main__product--mobile-arrow{ padding: 0 20px; width: 100%; display: none; grid-template-columns: repeat(2, 1fr); column-gap: 20px;
    animation: fadeIn2 1s ease-out forwards;
    animation-delay: 1.2s;
    opacity: 0;
    transform: translateY(25%);
    max-width: 900px;
}
.main__product--mobile-left{ padding: 10px; width: 100%; background-color: var(--lab-2); border: 1px solid var(--lab-2); display: flex; justify-content: center; align-items: center; }
.main__product--mobile-right{ padding: 10px; width: 100%; background-color: var(--lab-2); border: 1px solid var(--lab-2); display: flex; justify-content: center; align-items: center; }
.main__product--mobile-left .main__product--left-icon path{ fill: var(--white); }
.main__product--mobile-right .main__product--right-icon path{ fill: var(--white); }

.main__product--mobile-left:active{ background-color: var(--white); }
.main__product--mobile-right:active{ background-color: var(--white); }

.main__product--mobile-left:active .main__product--left-icon path{ fill: var(--lab-2); }
.main__product--mobile-right:active .main__product--right-icon path{ fill: var(--lab-2); }

.personal{ padding: 88px 80px; width: 100%; max-width: 1160px; background-color: var(--white); display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; row-gap: 30px; }
.personal__header{ width: 100%; display: flex; justify-content: flex-start; align-items: center; }
.personal__header--title{ font-size: 1.875em; font-weight: 400; color: var(--black); }
.personal__contents{ padding: 26px 36px; width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; border: 1px solid var(--secondary);  }
.personal__contents--text{ font-size: 1em; font-weight: 300; color: var(--font-2); line-height: 1.875em; }
.personal__contents--text-strong{ color: var(--font-1); }
.personal__accept{ width: 100%; display: flex; justify-content: flex-end; align-items: center; column-gap: calc(30px + 20px); }
.personal__accept--label{ position: relative; font-size: 1em; font-weight: 300; color: var(--black); }
.personal__accept--radio{ width: 0; height: 0; }

.personal__accept--icon{ padding: 6px; position: absolute; left: 0; top: 50%; width: 20px; height: 20px; transform: translate(calc(-100% - 10px), -50%); border-radius: 70%; overflow: hidden; border: 1px solid var(--secondary); display: flex; justify-content: center; align-items: center; }
.personal__accept--icon-select{ display: none; width: 100%; height: 100%; background-color: var(--lab-2); border-radius: 70%; }
#personal__accept--radio-1:checked ~ .personal__accept--icon .personal__accept--icon-select{ display: block; }
#personal__accept--radio-2:checked ~ .personal__accept--icon .personal__accept--icon-select{ display: block; }

.pagination__item:hover{ background-color: var(--lab-2); transition: 300ms ease-in-out; }
.main__product--info-title{ font-size: 2rem; font-weight: 400; color: var(--lab-2); }

.main__product--about{ cursor: pointer; display: flex; justify-content: flex-start; align-items: center; column-gap: 10px; }
.main__product--about-text{ font-size: 1em; font-weight: 400; color: var(--font-1); }
.main__product--about:hover .main__product--about-text{ color: var(--lab-2); transition: 300ms ease-out; }
.main__product--about:hover .main__product--about-btn circle{ fill: var(--lab-2); transition: 300ms ease-out; }

.popup__modal { padding: 20px; position: fixed; left: 0; top: 0; z-index: 30; width: 100dvw; height: 100dvh; display: none; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap:10px; background: rgba(0, 0, 0, 0.5); animation: fadeIn 600ms ease-out forwards; opacity: 0; }
.popup__modal.active { display: flex; }
.popup__modal--item { position: relative; max-width: 350px; display: grid; grid-template-columns: 1fr; place-items: flex-start; gap: 10px; }
.popup__modal--item-cancel { position: absolute; right: 10px; top: 10px; font-size: 20px; color: #AAAAAA; cursor: pointer; }
.popup__modal--item-contents { width:100%; height: 100%;  }
.popup__modal--item-contents img { width: 100%; overflow:hidden; background: #FFFFFF; border-radius: 10px; object-fit: contain; }

@media screen and (max-width: 1300px) {
    .main__visual--hero{ max-width: 900px; }
    .main__solution--contents{ height: 350px; }
    .main__product--contents{ height: 300px; }
    .main__product--container{ max-width: 900px; }
    .main__product--picture{ width: 100%; }
    .main__project--contents-wrapper{ max-width: 900px; }
    .main__contact--contents{ padding: 20px 0; }
    .main__contact--form{ max-width: 900px; column-gap: 40px; }
    .main__contact--form-left{ row-gap: 20px; }
    .main__contact--form-text{ padding: 10px 0; }
    .main__contact--contents-btn{ width: 150px; height: 50px; }
    .main__product--info-wrapper{ padding: 40px 20px 40px 40px; }
}

@media screen and (max-width: 900px) {
    .main__visual--scroll{ display: none; }
    .pagination__item{ display: none; }
    .main__visual--hero{ text-align: center; padding: 0 8vw; }
    .main__visual--hero-contents{ row-gap: 10px; }
    .main__visual--hero-title{ width: 100%; font-size: 6vw; text-align: center; }
    .main__visual--hero-text{ font-size: 4vw; }
    .main__visual--hero-text > br{ display: none !important; }
    .main__visual--progress{ width: 100%; display: flex; justify-content: center; align-items: center; }
    .main__solution--contents{ height: 50vh; }
    .main__solution--header-title{ font-size: 10vw; }
    .main__solution--header-text{ font-size: 3.5vw; }
    .main__product--container{ row-gap: 10px; }
    .main__product{ row-gap: 20px; }
    .main__product--header-title{ font-size: 10vw; }
    .main__product--header-text{ padding: 0 20px; font-size: 3.5vw; }
    .main__product--contents{ width: 100%; height: auto; }
    .main__product--arrow{ display: none; }
    .main__product--slide{ padding: 0 20px; width: 100%; height: 100%; flex-direction: column; }
    .main__product--slide:first-child{ display: flex; }
    .main__product--info-wrapper{ padding: 20px; text-align: center; height: auto; }
    .main__product--info-wrapper br{ display: none !important; }
    .main__product--info{ justify-content: center; align-items: center; row-gap: 10px; }
    .main__product--subTitle{ margin: 0; font-size: 1.1em; }
    .main__product--info-title{ font-size: 5vw; }
    .main__product--text{ font-size: 3.5vw; width: 100%; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .main__product--link{ margin: 0; }
    .main__product--left-icon{ width: 6px; }
    .main__product--right-icon{ width: 6px; }
    .main__product--picture{ height: 28vh; }
    .main__product.show .main__product--mobile-arrow { display: grid; }
    .main__project--contents-wrapper{ padding: 0 20px; display: grid; column-gap: 20px; }
    .main__project--item-icon svg{ height: 40%; }
    .main__contact{ row-gap: 30px; grid-template-rows: 1fr 1.5fr; }
    .main__contact--header-title{ font-size: 10vw }
    .main__contact--header-text{ font-size: 3.5vw; }
    .main__contact--contents{ padding: 0 20px; }
    .main__contact--form{ display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap:0; }
    .main__contact--form-text{ padding: 10px 0; font-size: 3.5vw; }
    .main__contact--form-left{ row-gap: 2vh; width: 100%; padding: 10px 0; }
    .main__contact--checkbox{ margin: 0; }
    .main__contact--text{ height: 180px; }
    .main__contact--checkbox-label{ font-size: 3.5vw; }
    .main__contact--contents-btn{ width: 100%; height: 5vh; font-size: 2.5vw; }
    .main__contact--header{ row-gap: 10px; }
    .main__contact--form-area{ height: 180px; padding: 10px; }
    .main__contact--form-title{ display: none; }
    .main__product--page{ padding: 0 20px; width: 100%; max-width: 900px; }
    .main__product--page-bar{ width: 100%; }
    .popup{ padding: 0 20px; }
    .personal{ padding: 20px; row-gap: 20px; }
    .personal__contents{ padding: 20px; }
    .main__product--page-now{ font-size: 3vw; }
    .main__product--page-total{ font-size: 3vw; }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}