@charset "utf-8";

/* color */
.primary {
    color: #1EA045 !important;
}

.green {
    color: #11b74f !important;
}

.light-green {
    color: #a7ce57 !important;
}

.white {
    color: #FFFFFF !important;
}

.bg-default {
    background-color: #1EA045 !important;
    border-color: #1EA045 !important;
    color: #fff !important;
}

.bg-light-gray {
    background-color: #F8F8F8 !important;
}

.bg-gray {
    background-color: #EFEFEF !important;
}

.success {
    color: #1EA045;
}

.warning {
    color: #FF6060 !important;
}

.warning-light {
    color: #FF847B;
}

.txt-color1 {
    color: #252525 !important;
}

.txt-color2 {
    color: #444 !important;
}

.txt-color3 {
    color: #646464 !important;
}

.txt-color4 {
    color: #8A8A8A !important;
}

.txt-color5 {
    color: #C4C4C4 !important;
}

.border-primary {
    border: 1px solid #1EA045;
}

.border-none {
    border: none !important;
}

/* button */
.btn-area {
    display: flex;
}

.btn {
    min-width: 40px;
    height: 45px;
    line-height: 45px;
    border: 1px solid #ebebeb;
    box-sizing: border-box;
    background: none;
    font-size: 16px;
    vertical-align: top;
    border-radius: 5px;
    padding: 0 20px;
    cursor: pointer;
    text-align: center;
    color: #BBBBBB;
}

.btn-area .btn:not(:last-child) {
    margin-right: 10px;
}

.btn-area.flex-column {
    gap: 10px;
}

.btn-area.flex-column .btn:not(:last-child) {
    margin-right: 0;
}

.btn.primary {
    border-color: #1EA045;
}

.btn.warning-light {
    border-color: #FF847B;
    color: #FF847B;
}

.btn-area .btn.active {
    border-color: #1EA045 !important;
    background: #1EA045 !important;
    color: #fff !important;
}

.btn.btn-only-text {
    padding: 0;
    border-color: transparent;
}

.btn-white-hover {
    border: none !important;
}

.btn-white-hover:hover {
    background: #f1f1f1 !important;
    transition: all 0.3s;
}

.btn.btn-gray {
    border: none;
    border-color: #EFEFEF;
    color: #8A8A8A;
}

.btn-size-huge {
    min-width: 44px;
    height: 44px;
    line-height: 42px;
    font-size: 16px;
}

.btn-size-medium {
    min-width: 36px;
    height: 36px;
    line-height: 34px;
}

.btn-size-small {
    min-width: 32px;
    height: 32px;
    line-height: 30px;
}

.btn-size-tiny {
    min-width: 24px;
    height: 24px;
    line-height: 22px;
}

.btn-width-standard {
    width: 180px;
}

button:disabled,
button[disabled],
.btn-disabled {
    background-color: #EFEFEF;
    border-color: #EFEFEF;
    color: #8A8A8A;
    cursor: default !important;
}

.btn-back,
.btn-back-close {
    padding: 0 10px;
}

.btn-back .icon-wrap,
.btn-back-close .icon-wrap {
    height: 40px;
    color: #444;
}

.btn-close {
    padding: 0;
    cursor: pointer;
    border-color: transparent;
}

.btn-close .icon-wrap {
    font-size: 24px;
}

.tinymce-content p {
    margin: 1em 0;
}

.tinymce-content img {
    max-width: 100%;
    height: auto;
}

@media (max-width:970px) {
    .btn-w180 {
        flex: 1;
        width: auto;
    }

    .btn-size-small {
        height: 28px;
        line-height: 26px;
    }
}

@media (max-width:720px) {
    #container .btn-cart {
        margin-right: 4px;
    }
}

/* typo */
.title1 {
    font-size: 66px;
}

.title2 {
    font-size: 35px;
}

.title3 {
    font-size: 28px;
}

.subtitle1 {
    font-size: 24px;
}

.subtitle2 {
    font-size: 20px;
}

.subtitle3 {
    font-size: 16px;
}

.body1 {
    font-size: 16px;
}

.body2 {
    font-size: 15px;
}

.body3 {
    font-size: 14px;
}

.body4 {
    font-size: 14px;
}

.caption1 {
    font-size: 15px;
}

.caption2 {
    font-size: 14px;
}

.caption3 {
    font-size: 13px;
}

.caption4 {
    font-size: 12px;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-15 {
    margin-bottom: 15px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-25 {
    margin-bottom: 25px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mt-5 {
    margin-top: 5px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-15 {
    margin-top: 15px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mr-5 {
    margin-right: 5px !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.mr-15 {
    margin-right: 15px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.ml-5 {
    margin-left: 5px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.ml-15 {
    margin-left: 15px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

@media (max-width:1140px) {

    /* typo */
    .title1 {
        font-size: 20px;
    }

    .title2 {
        font-size: 20px;
    }

    .title3 {
        font-size: 24px;
    }

    .subtitle1 {
        font-size: 20px;
    }

    .subtitle2 {
        font-size: 18px;
    }

    .subtitle3 {
        font-size: 16px;
    }
}

@media (max-width:767px) {
    .title1 {
        font-size: 18px;
    }

    .title3 {
        font-size: 18px;
    }

    .subtitle1 {
        font-size: 18px;
    }

    .subtitle2 {
        font-size: 16px;
    }

    .subtitle3 {
        font-size: 14px;
    }

    .body1 {
        font-size: 14px;
    }

    .body2 {
        font-size: 13px;
    }

    .body3 {
        font-size: 12px;
    }

    .body4 {
        font-size: 13px;
    }

    .caption1 {
        font-size: 12px;
    }

    .caption2 {
        font-size: 12px;
    }

    .caption4 {
        font-size: 12px;
    }
}

.txt-regular {
    font-weight: 400;
}

.txt-medium {
    font-weight: 500;
}

.txt-bold {
    font-weight: 700;
}

.txt-extrabold {
    font-weight: 800;
}

.txt-black {
    font-weight: 900;
}

.txt-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.txt-row {
    line-height: 140%;
    letter-spacing: -0.45px;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 3;
}

@media (max-width:767px) {
    .txt-row {
        -webkit-line-clamp: 2;
    }
}

.txt-line-through {
    text-decoration: line-through;
}

.txt-underline {
    text-decoration: underline;
}

.txt-center {
    text-align: center;
}

.txt-right {
    text-align: right;
}

.txt-left {
    text-align: left;
}

/* form...input, textarea */
.form-area {
    max-width: 378px;
    margin: 0 auto;
}

.form-area~.form-help-box {
    margin-top: 10px;
}

.form-area~.form-help-box a {
    padding: 0 5px;
    line-height: 24px;
}

.input-area>.form-box:not(:first-child) {
    margin-top: 25px;
}

.form-area .form-box.form-util-area {
    margin-top: 10px
}

.form-area .input-area~.form-box.btn-area {
    margin-top: 20px;
}

.form-area .input-area+.form-box.btn-area {
    margin-top: 40px;
}

.input-area dl dt {
    margin-bottom: 5px;
}

.input-area.required dl dt label:after {
    padding-left: 2px;
    content: "*";
    font-size: 12px;
    color: #FF6B00;
}

.form-box-readonly {
    border-bottom: 1px solid #444;
}

.form-box-readonly .input-box-file {
    display: none;
}

.form-box-readonly .input-box {
    display: block;
}

.form-box-readonly .input-box .input-text {
    color: #848484 !important;
}

.form-box,
.input-box,
.input-box-checkbox,
.input-box-radio {
    position: relative;
}

.input-box .txt-helper {
    width: 100%;
    margin-top: 4px;
    display: none;
    padding: 0;
}

.input-box input[type=text],
.input-box input[type=password],
.input-box input[type=email],
.input-box input.input-text,
.input-box .input-text {
    padding: 0 15px;
    width: 100%;
    height: 45px;
    line-height: 38px;
    color: #444;
    font-size: 14px;
    background: #fff;
    border-radius: 5px;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    outline: none;
}

.input-box div.input-text {
    color: #BBBBBB;
    background-color: #FFFFFF border-color: #E5E5E5;
    line-height: 38px;
    min-height: 40px;
    height: auto;
    padding: 0 10px;
    line-height: 130%;
    box-sizing: border-box;
}

.input-date-box span {
    padding: 0 8px;
}

.input-box .input-text-narrow {
    width: 160px !important;
}

.textarea-box textarea.textarea,
.textarea-box div.textarea {
    padding: 10px 15px;
    width: 100%;
    height: 150px;
    line-height: 150%;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    resize: none;
    outline: none;
}

.textarea-box div.textarea {
    color: #8A8A8A;
    background: none;
}

.sigle-textarea-area {
    position: relative;
    max-width: 100%;
}

.sigle-textarea-area .textarea-box {
    position: relative;
}

.sigle-textarea-area .textarea-box textarea.textarea,
.sigle-textarea-area .textarea-box div.textarea {
    height: 134px;
    padding-right: 150px;
}

.sigle-textarea-area .textarea-box .btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    padding: 0 30px;
    background: #EFEFEF;
    border-color: #EFEFEF;
}

.sigle-textarea-area .textarea-box .btn.active {
    color: #fff;
    background: #1EA045;
    border-color: #1EA045;
}

.input-box input[type=text]:focus,
.input-box input[type=password]:focus,
.input-box input[type=email]:focus,
.input-box input.input-text:focus,
.textarea-box textarea.textarea:focus {
    border-color: #1EA045;
}

.input-box.input-box-password .input-text {
    padding-right: 40px;
}

.input-box .input-wrap {
    display: flex;
}

.input-box-password input[type=text]~button .icon-wrap,
.input-box-password input[type=password]~button .icon-wrap {
    position: absolute;
    top: 3px;
    right: 10px;
    width: 30px;
    height: 40px;
    cursor: pointer;
}

.input-box-password input[type=text]~button .icon-wrap.close,
.input-box-password input[type=password]~button .icon-wrap.open {
    display: none;
}

.input-box textarea::placeholder,
.input-box input[type=text]::placeholder,
.input-box input[type=password]::placeholder,
.input-box input[type=email]::placeholder,
.input-box input.input-text::placeholder,
.input-box .input-text::placeholder,
.textarea-box textarea.textarea::placeholder {
    color: #C4C4C4;
}

.input-search-box input {
    padding-right: 48px;
}

.input-box button {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
}

.input-box button.auth-btn {
    width: fit-content;
    height: 38px;
    top: 1px;
    right: 1px;
}

.input-search-area .input-box .icon-wrap {
    position: absolute;
    top: 11px;
    font-size: 22px;
    left: 15px;
    color: #8a8a8a;
}

.input-search-area .input-box input[type=text] {
    padding: 0 15px 0 48px;
    height: 44px;
    line-height: 44px;
    background: #EFEFEF;
    border-color: #EFEFEF;
}

.input-confirm-box input[type=text] {
    width: calc(100% - 80px);
}

.input-confirm-box input[name=code] {
    width: 100%;
}

.input-confirm-box button {
    width: 70px;
    height: 45px;
    font-size: 14px;
    padding: 0 8px;
    border: none;
    border-radius: 5px;
}

.input-confirm-box button.active {
    background-color: #1EA045 !important;
    border-color: #1EA045 !important;
    color: #fff !important;
}

.input-box-success button:not(:has(.icon-wrap)) {
    background: #444;
    color: #fff;
}

.input-confirm-box strong.count {
    display: block;
    line-height: 40px;
    position: absolute;
    top: 0;
    right: 92px;
}

.input-confirm-box strong.count~input.input-text {
    padding-right: 60px;
}

.input-box-error input.input-text:not(.resident),
.input-box-error input.input-text.resident.target,
.input-box-error textarea.textarea {
    border-color: #FF6060;
}

.input-box-error span.txt-helper.warning,
.input-box-error input.input-text~span.txt-helper.warning,
.input-box-error textarea.textarea~span.txt-helper.warning,
.input-box-error .input-box-resident~span.txt-helper.warning {
    display: block;
}

.input-box-success input.input-text {
    border-color: #1EA045;
}

.input-box-success input.input-text~span.txt-helper.success {
    display: block;
}

.input-box input[type=button],
.input-box input.input-text:read-only,
.input-box input.input-text:read-only:hover,
.input-box input.input-text:read-only:focus {
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    color: #8A8A8A;
    background-color: #F2F2F2;
}

input.input-file,
input.input-checkbox,
input.input-radio {
    display: none;
    border: 0;
    width: 0;
}

.input-box-file input.input-file+label span {
    display: block;
    width: 80px;
    height: 42px;
    text-align: center;
    line-height: 42px;
    position: absolute;
    right: -1px;
    top: -1px;
    background: #00bbff;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    border: none;
    border-radius: 0 4px 4px 0;
}

input.input-checkbox+label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    cursor: pointer;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 1;
    overflow-wrap: break-word;
}

input.input-checkbox:checked+label .icon-wrap [icon="ion:checkmark-circle-outline"],
input.input-checkbox:checked+label .icon-wrap [icon="ion:checkmark-circle"] {
    color: #1EA045;
}

input.input-checkbox:checked+label .icon-wrap [icon="ion:checkmark-circle-outline"],
input.input-checkbox+label .icon-wrap [icon="ion:checkmark-circle"] {
    display: none;
}

input.input-checkbox:checked+label .icon-wrap [icon="ion:checkmark-circle"],
input.input-checkbox+label .icon-wrap [icon="ion:checkmark-circle-outline"] {
    display: block;
}

input.input-checkbox:disabled+label {
    text-decoration: line-through;
    color: #848484;
}

input.input-checkbox:disabled+label:after {
    border-color: #E5E5E5;
    background: #E5E5E5;
}

.input-box-checkbox span {
    display: inline-block;
    line-height: 38px;
    font-size: 14px;
    color: #8A8A8A;
}

.input-box-checkbox label {
    height: 38px;
}

.input-box-radio-area {
    margin-top: -7px;
}

.input-box-radio {
    margin-right: 16px;
}

input.input-radio+label {
    position: relative;
    display: inline-block;
    padding-left: 24px;
    height: 38px;
    line-height: 38px;
    cursor: pointer;
    padding-right: 10px;
}

input.input-radio+label:after {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #E5E5E5;
    box-sizing: border-box;
}

input.input-radio:checked+label:after {
    border-color: #1EA045;
}

input.input-radio:checked+label:before {
    position: absolute;
    top: 15px;
    left: 5px;
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1EA045;
}

.input-box-radio-small input.input-radio+label {
    padding-left: 18px;
}

.input-box-radio-small input.input-radio+label:after {
    top: 9px;
    width: 12px;
    height: 12px;
}

.input-box-radio-small input.input-radio:checked+label:before {
    top: 12px;
    left: 3px;
    width: 6px;
    height: 6px;
}

input.input-radio:disabled+label {
    color: #777;
    text-decoration: line-through;
}

input.input-radio:disabled+label:after {
    border-color: #848484;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.form-area .count-area button {
    position: static;
    min-width: 32px;
    width: 32px;
    height: 32px;
    line-height: 30px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #1EA045;
}

.form-area .count-area button .icon-wrap {
    justify-content: center;
}

.form-area .count-area button:not(:disabled) .icon-wrap {
    color: #1EA045;
}

.form-area .count-area button:disabled {
    border-color: #EFEFEF;
}

.form-area .count-area input[type="number"] {
    background: none;
    border: none;
    width: 36px;
    text-align: center;
    height: 32px;
}

.select-box {
    position: relative;
    width: 160px;
}

.select-box+.select-box {
    margin-left: 10px;
}

.select-box .select-item {
    position: relative;
    padding: 0 40px 0 15px;
    height: 45px;
    line-height: 45px;
    font-size: 14px;
    border-radius: 5px;
    background: #fff;
    color: #C4C4C4;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    cursor: pointer;
}

.select-box.on .select-item {
    color: #444;
}

.select-box .select-item .icon-wrap {
    position: absolute;
    top: 11px;
    right: 10px;
    display: block;
    color: #bcbcbc;
}

.select-box .select-option-area {
    position: absolute;
    top: 44px;
    left: 0;
    width: 100%;
    display: none;
    z-index: 1;
    padding-top: 2px;
}

.select-box .select-option-list {
    overflow-y: auto;
    max-height: 215px;
    font-size: 14px;
    padding: 10px 0;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.select-box.active .select-item {
    border-color: #1EA045;
}

.select-box:not(.active) .select-item .icon-wrap [icon="ion:chevron-up"],
.select-box.active .select-item .icon-wrap [icon="ion:chevron-down"] {
    display: none;
}

.select-box.active .select-option-area {
    display: block;
}

.select-box .select-option-list {
    border-color: #1EA045;
    overflow-x: hidden;
}

.select-box.active .select-option-list li {
    padding: 0 16px;
    line-height: 38px;
    cursor: pointer;
}

@media (min-width:1140px) {
    .select-box .select-option-list li:hover {
        background-color: #fafafa;
        color: #444;
    }
}

@media (max-width:767px) {
    .input-confirm-box button {
        width: 70px;
    }

    .sigle-textarea-area .textarea-box textarea.textarea,
    .sigle-textarea-area .textarea-box div.textarea {
        height: 134px;
        font-size: 12px;
        padding-right: 100px;
    }

    .sigle-textarea-area .textarea-box .btn {
        position: absolute;
        bottom: 15px;
        right: 15px;
        font-size: 12px;
        padding: 0 20px;
        background: #EFEFEF;
        border-color: #EFEFEF;
    }
}

.form-area .form-box.form-util-area .btn-terms {
    position: relative;
    border-color: transparent;
    font-size: 12px;
    padding-left: 5px;
}

.form-area .form-box.form-util-area .btn-terms .icon-wrap {
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 16px;
    display: block;
}

.form-area .form-box.form-util-area .btn-terms:not(.active) .icon-wrap [icon="ion:chevron-up"],
.form-area .form-box.form-util-area .btn-terms.active .icon-wrap [icon="ion:chevron-down"] {
    display: none;
}

.terms-area .terms-item {
    padding: 7px 0;
}

.terms-area .terms-item .terms-content-box {
    padding: 10px 15px;
    height: 168px;
    border: 1px solid #E5E5E5;
    border-radius: 5px;
}

.accordion-list,
.notice-accordion-list {
    border-top: 1px solid #E5E5E5;
}

.accordion-list li .accordion-title,
.notice-accordion-list li .notice-accordion-title {
    position: relative;
    padding: 20px 40px 20px 20px;
    font-size: 16px;
    cursor: pointer
}

.notice-accordion-list li .notice-accordion-title {
    display: flex;
    border-bottom: 1px solid #E5E5E5;
}

.notice-accordion-list li .notice-accordion-title .notice-type {
    flex: 1;
    text-align: left;
    min-width: 65px;
}

.notice-accordion-list li .notice-accordion-title .notice-title {
    flex: 8;
    text-align: left;
}

.notice-accordion-list li .notice-accordion-title .notice-date {
    flex: 1;
    text-align: right;
}

.accordion-list li .accordion-title .icon-wrap {
    position: absolute;
    right: 0;
    display: block;
    color: #c3c3c3;
}

.accordion-list li.active .accordion-title .icon-wrap [icon="ion:chevron-down"],
.accordion-list li:not(.active) .accordion-title .icon-wrap [icon="ion:chevron-up"] {
    display: none;
}

.accordion-list li.active {
    border-bottom: none;
}

.accordion-list li .accordion-title,
.notice-accordion-list li .notice-accordion-title {
    border-bottom: 1px solid #EDEDED;
}

.accordion-list li .accordion-title h3,
.notice-accordion-list li .notice-accordion-title h3 {
    position: relative;
    line-height: 150%;
}

/* .accordion-list li .accordion-title h3::before {
    position: absolute;
    left: -18px;
    top: 0;
    content: "Q.";
} */

.accordion-list li .accordion-content {
    display: none;
    font-size: 16px;
    padding: 20px 20px 50px 20px;
}

.notice-accordion-list li .notice-accordion-content {
    font-size: 16px;
    padding: 20px;
}

.notice-accordion-list li .notice-accordion-content .img-responsive {
    max-width: 80%;
    height: auto;
}

.accordion-list li.active .accordion-content,
.notice-accordion-list li.active .notice-accordion-content {
    display: block;
}

.accordion-list li .accordion-content *,
.notice-accordion-list li .notice-accordion-content * {
    line-height: 150%;
}

.sort-check-list {
    justify-content: flex-end;
}

.sort-list li:not(:last-child),
.sort-check-list li:not(:last-child) {
    margin-right: 10px;
}

.sort-list li:not(:last-child)::after,
.sort-check-list li:not(:last-child)::after {
    content: "";
    display: flex;
    width: 1px;
    height: 10px;
    margin-left: 8px;
    margin-top: 8px;
    background-color: rgb(226, 226, 226);
}

@media (max-width:1140px) {

    .sort-list li:not(:last-child)::after,
    .sort-check-list li:not(:last-child)::after {
        display: none;
    }
}

.sort-check-list label {
    position: relative;
    padding: 0;
    display: block;
    height: 24px;
    line-height: 24px;
    color: #8A8A8A;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 14px;
}

.sort-check-list .icon-wrap {
    font-size: 14px;
    margin-right: 5px;
}

.sort-check-list li.active label,
.sort-check-list li.active .icon-wrap {
    color: #1EA045;
}

.sort-check-list li.active label:before {
    background-position: -40px -1px;
}

ul.middle-dot-list li {
    position: relative;
    padding-left: 20px;
}

ul.middle-dot-list li::before {
    position: absolute;
    top: 11px;
    left: 6px;
    display: inline-block;
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #444;
}

@media (max-width:1140px) {
    .accordion-list li .accordion-title {
        position: relative;
        padding: 17px 40px 18px 16px;
        font-size: 14px;
    }

    .notice-accordion-list li .notice-accordion-title {
        position: relative;
        padding: 17px 5px 18px 5px;
        font-size: 14px;
    }

    .notice-accordion-list li .notice-accordion-content {
        padding: 17px 5px 18px 5px;
    }

    .accordion-list li .accordion-title h3::before {
        top: -1px;
        left: -15px;
    }

    .accordion-list li .accordion-content {
        font-size: 14px;
    }
}