/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: rgba(0, 0, 0, 0);
    -webkit-text-decoration-skip: objects
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    -moz-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html [type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details,
menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[hidden] {
    display: none
}

* {
    box-sizing: border-box
}

h1,
h2,
h3,
h4,
h5 {
    margin: 0
}

p {
    margin: 0
}

input,
textarea,
button,
a {
    outline: none;
    font-family: inherit;
    font-size: inherit;
    color: inherit
}

input,
button {
    line-height: normal
}

button {
    border: none;
    background-color: rgba(0, 0, 0, 0);
    padding: 0
}

a {
    text-decoration: none
}

a,
button {
    cursor: pointer
}

ul,
ol {
    list-style-type: none;
    padding: 0;
    margin: 0
}

img {
    vertical-align: top;
    max-width: 100%
}

em {
    font-style: normal
}

input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
    display: none
}

:root {
    --content-width: 1280px;
    --content-width-narrow: 688px;
    --side-padding: 40px;
    --item-gap: 8px;
    --item-height: 35px;
    --check-icon-size: 20px;
    --lnb1: var(--lnb1-mo, 28px);
    --lnb2: var(--lnb2-mo, 18px);
    --lnb3: var(--lnb3-mo, 14px);
    --h1: var(--h1-mo, 26px);
    --h2: var(--h2-mo, 20px);
    --h3: var(--h3-mo, 18px);
    --body1: var(--body1-mo, 14px);
    --body2: var(--body2-mo, 12px);
    --body3: var(--body3-mo, 10px);
    --tab: var(--tab-mo, 16px);
    --content-pt: 32px;
    --content-pb: 32px
}

@media only screen and (max-width: 767px) {
    :root {
        --side-padding: 16px;
        --content-width: 100%;
        --lnb2-mo: 16px;
        --h1-mo: 24px;
        --h2-mo: 18px;
        --h3-mo: 16px;
        --tab: 14px;
        --content-pt: 28px;
        --content-pb: 28px
    }
}

form {
    margin: 0
}

html,
body {
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    -webkit-overflow-scrolling: none;
    scroll-behavior: smooth;
    background-color: #fff;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

html {
    height: 100%
}

.bg-page {
    background-color: #f3f3f3
}

.scroll-fixed,
.scrolllock {
    overflow: hidden !important
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

body {
    min-height: 100%;
    min-width: 1360px;
    display: grid;
    grid-template-areas: "topbanner" "header" "title" "content" "footer";
    grid-template-rows: auto auto auto 1fr auto
}

@media only screen and (max-width: 767px) {
    body {
        min-width: 280px
    }
}

.top-banner-area {
    grid-area: topbanner
}

.header-join,
.header {
    grid-area: header
}

.header-depth {
    grid-area: title
}

.content-inner {
    grid-area: content
}

#footer {
    grid-area: footer
}

.relative {
    position: relative
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.w-full {
    width: 100%
}

.space-x-8,
.space-x-10 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: calc(var(--item-gap)*-1)
}

.space-x-8>:not([hidden]):not(:last-child),
.space-x-10>:not([hidden]):not(:last-child) {
    margin-right: var(--space-gap)
}

.space-x-8>:not([hidden]),
.space-x-10>:not([hidden]) {
    margin-bottom: 0;
    margin-left: 0;
    margin-top: var(--item-gap)
}

.space-x-8.align-start,
.space-x-10.align-start {
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start
}

.space-x-8 {
    --space-gap: 8px
}

.space-x-10 {
    --space-gap: 10px
}

.flex {
    vertical-align: top;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.flex .select-wrap,
.flex .input-file-download,
.flex input {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.flex button,
.flex a {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.form-line .flex {
    margin-top: calc(var(--item-gap)*-1)
}

.form-line .flex>:not([hidden]):not(:last-child) {
    margin-right: var(--item-gap)
}

.form-line .flex>:not([hidden]) {
    margin-bottom: 0;
    margin-left: 0;
    margin-top: var(--item-gap)
}

.col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.justify-center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.space-between,
.justify-between {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.justify-end {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end
}

.grid {
    display: grid;
    grid-template-columns: var(--grid-columns, 1fr);
    gap: var(--grid-gap, 20px)
}

.grid-item {
    min-width: 0
}

.grid-auto-1fr {
    --grid-columns: auto 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.c-b000 {
    color: #000 !important
}

.c-b333 {
    color: #333 !important
}

.c-b777 {
    color: var(--c-b777-custom, #777) !important
}

.c-orange {
    color: var(--c-orange-custom, #F08300) !important
}

.c-primary {
    color: #5f0080 !important
}

.c-positive {
    color: #3385ff !important
}

.c-purple {
    color: #7346f3 !important
}

.c-red {
    color: var(--c-red-custom, #E6002D) !important
}

.fw-normal {
    font-weight: 400 !important
}

.fw-medium {
    font-weight: 500 !important
}

.fw-semibold {
    font-weight: 600 !important
}

.ta-center {
    text-align: center
}

.ta-right {
    text-align: right
}

.word-break {
    word-wrap: break-word;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word
}

.head-wrap {
    display: grid;
    grid-template-columns: var(--head-wrap-columns, 1fr auto);
    -webkit-box-align: end;
    -webkit-align-items: end;
    -ms-flex-align: end;
    align-items: end;
    margin-bottom: var(--head-mb, 32px)
}

.head-wrap .h1 img {
    max-height: 36px;
    margin-top: -7px
}

.head-wrap>div:nth-child(2)>:not([hidden]):not(.search) {
    margin-left: 8px
}

.head-wrap+.head-wrap {
    margin-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .head-wrap {
        --head-mb: 28px
    }

    .head-wrap.head-search {
        --head-wrap-columns: 1fr
    }

    .head-wrap.head-search>div:first-child {
        display: none
    }

    .head-wrap.head-col-1 {
        --head-wrap-columns: 1fr;
        gap: 28px
    }
}

@media only screen and (min-width: 768px) {
    .head-wrap+.tab.line {
        margin-top: -16px
    }
}

.sub-title-area {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.sub-title-area .head-wrap {
    margin-bottom: 0
}

@media only screen and (min-width: 768px) {
    .sub-title-area {
        padding-bottom: 16px;
        border-bottom: 1px solid #ddd
    }

    .sub-title-area+.section,
    .sub-title-area+.section-full {
        padding-top: var(--subtitle-pt, 40px)
    }
}

@media only screen and (min-width: 768px)and (max-width: 767px) {

    .sub-title-area+.section,
    .sub-title-area+.section-full {
        --subtitle-pt: 28px
    }
}

@media only screen and (max-width: 767px) {
    .sub-title-area {
        display: none
    }
}

.h1+input[type=hidden]+[class*=body],
.h1+[class*=body],
.h2+input[type=hidden]+[class*=body],
.h2+[class*=body],
.h3+input[type=hidden]+[class*=body],
.h3+[class*=body] {
    margin-top: 8px
}

.h1 {
    font-size: var(--h1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000)
}

.h2 {
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000)
}

.h3 {
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222)
}

.body1 {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.body2 {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.body3 {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.quick-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    --typo-custom-c: #777
}

.quick-link>a:not(:first-child),
.quick-link>button:not(:first-child) {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.quick-link>a:not(:first-child):before,
.quick-link>button:not(:first-child):before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 12px;
    background-color: #ddd;
    margin-left: 8px;
    margin-right: 8px
}

@media only screen and (max-width: 767px) {
    .only-pc {
        display: none !important
    }
}

@media only screen and (min-width: 768px) {
    .only-mo {
        display: none !important
    }
}

.hidden {
    display: none !important
}

.image-area {
    text-align: center
}

.image-area img {
    max-width: 100%
}

.white-normal {
    white-space: normal !important
}

.white-space {
    white-space: nowrap
}

.divider-vertical-line {
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: #ddd;
    margin: 0 12px
}

.swiper {
    position: relative
}

.swiper-arrow[class*=swiper-button-] {
    display: var(--swiper-arrow-display, flex);
    top: var(--swiper-arrow-top, 50%);
    width: var(--swiper-arrow-size, 52px);
    height: var(--swiper-arrow-size, 52px);
    z-index: 1;
    margin-top: 0;
    border-radius: 99px;
    border: 1px solid #ededed;
    background: #fff;
    box-shadow: var(--swiper-arrow-shadow, 0px 4px 20px 0px rgba(0, 0, 0, 0.12))
}

.swiper-arrow[class*=swiper-button-]:after {
    font-size: 0;
    display: inline-block;
    width: var(--swiper-arrow-icon-size, 24px);
    height: var(--swiper-arrow-icon-size, 24px);
    background: var(--swiper-arrow-custom, url("../image/icon/chevron-down.svg"));
    background-size: contain
}

@media only screen and (max-width: 767px) {
    .swiper-arrow[class*=swiper-button-] {
        --swiper-arrow-display: none
    }
}

.swiper-arrow[class*=swiper-button-].swiper-button-next {
    right: var(--swiper-arrow-x, -26px);
    -webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg)
}

.swiper-arrow[class*=swiper-button-].swiper-button-prev {
    left: var(--swiper-arrow-x, -26px);
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.swiper-arrow[class*=swiper-button-].swiper-button-disabled {
    opacity: 1;
    --swiper-arrow-custom: url("../image/icon/chevron-down-disabled.svg")
}

.swiper:not(.swiper-horizontal) .swiper-controller {
    display: none
}

.swiper-controller {
    z-index: 1;
    position: absolute;
    left: var(--swiper-slide-ctrl-left, 24px);
    bottom: var(--swiper-slide-ctrl-bottom, 23px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width: 768px) {
    .swiper-controller {
        -webkit-transform: var(--swiper-slide-ctrl-trans, none);
        transform: var(--swiper-slide-ctrl-trans, none)
    }
}

@media only screen and (max-width: 767px) {
    .swiper-controller {
        padding: 0 8px;
        min-height: 28px;
        border-radius: 14px;
        background-color: rgba(0, 0, 0, .3);
        left: auto !important;
        -webkit-transform: none !important;
        transform: none !important;
        right: 8px;
        right: calc(constant(safe-area-inset-right) + 8px);
        right: calc(env(safe-area-inset-right) + 8px);
        bottom: 8px
    }
}

.swiper-controller>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: static;
    z-index: 1
}

@media only screen and (min-width: 768px) {
    .swiper-controller>div {
        padding: 0 14px;
        min-height: 44px;
        border-radius: 24px;
        background-color: rgba(0, 0, 0, .3)
    }
}

.swiper-controller .btn.icon-circle-pause {
    --button-bgc-hover: transparent;
    --button-icon-size: 12px
}

.swiper-controller .btn.icon-circle-pause:before {
    --button-icon-size: 20px
}

.swiper-controller .btn.icon-circle-pause.on {
    --icon-url: url("../image/product/play.svg")
}

.swiper-controller .swiper-arrow {
    position: static;
    --swiper-arrow-size: 20px;
    background-color: rgba(0, 0, 0, 0);
    box-shadow: none;
    border: none
}

@media only screen and (min-width: 768px) {
    .swiper-controller .swiper-arrow {
        margin-left: 5px
    }
}

@media only screen and (max-width: 767px) {
    .swiper-controller .swiper-arrow {
        --swiper-arrow-display: flex
    }
}

.swiper-controller .swiper-arrow:after {
    width: 100%;
    height: 100%;
    --swiper-arrow-custom: url("../image/icon/chevron-down-bfff.svg")
}

.swiper-controller .swiper-arrow.swiper-button-next {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.swiper-controller .swiper-arrow.swiper-button-prev {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media only screen and (max-width: 767px) {
    .swiper-controller .swiper-arrow.swiper-button-prev {
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
        -ms-flex-order: -1;
        order: -1
    }
}

.swiper-controller .swiper-pagination {
    margin-left: 6px;
    width: auto;
    font-size: 18px;
    font-weight: 500;
    color: hsla(0, 0%, 100%, .6)
}

@media only screen and (max-width: 767px) {
    .swiper-controller .swiper-pagination {
        margin-left: 4px;
        font-size: 12px;
        font-weight: 400
    }
}

.swiper-controller .swiper-pagination .swiper-pagination-current {
    margin-right: 5px;
    font-weight: 600;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .swiper-controller .swiper-pagination .swiper-pagination-current {
        font-weight: 400;
        margin-right: 4px
    }
}

.swiper-controller .swiper-pagination .swiper-pagination-total {
    margin-left: 4px
}

.mb-8 {
    margin-bottom: 8px
}

@media only screen and (min-width: 768px) {
    .w-130-pc {
        width: 130px !important
    }
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    -webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0)
}

.swiper-pointer-events {
    -ms-touch-action: pan-y;
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    -ms-touch-action: pan-x;
    touch-action: pan-x
}

.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition-property: height, -webkit-transform;
    transition-property: height, -webkit-transform;
    transition-property: transform, height;
    transition-property: transform, height, -webkit-transform
}

.swiper-backface-hidden .swiper-slide {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    -webkit-scroll-snap-type: x mandatory;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    -webkit-scroll-snap-type: y mandatory;
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-ordinal-group: 10000;
    -webkit-order: 9999;
    -ms-flex-order: 9999;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    -moz-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    z-index: 10;
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    -webkit-transition: .3s opacity;
    transition: .3s opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(0.33);
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(0.66);
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(0.33);
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(0.66);
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(0.33);
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0px, -50%, 0);
    transform: translate3d(0px, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    -webkit-transition: .2s transform, .2s top;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: .2s transform, .2s left;
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: .2s transform, .2s right;
    transition: .2s transform, .2s right
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: rgba(0, 0, 0, 0)
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    -webkit-animation: swiper-preloader-spin 1s infinite linear;
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@-webkit-keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next+.swiper-slide,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    -webkit-filter: blur(50px);
    filter: blur(50px)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    -webkit-transition-property: opacity, height, -webkit-transform;
    transition-property: opacity, height, -webkit-transform;
    transition-property: transform, opacity, height;
    transition-property: transform, opacity, height, -webkit-transform
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.tippy-box[data-placement^=top]>.tippy-backdrop {
    -webkit-transform-origin: 0 25%;
    transform-origin: 0 25%;
    border-radius: 40% 40% 0 0
}

.tippy-box[data-placement^=top]>.tippy-backdrop[data-state=visible] {
    -webkit-transform: scale(1) translate(-50%, -55%);
    transform: scale(1) translate(-50%, -55%)
}

.tippy-box[data-placement^=top]>.tippy-backdrop[data-state=hidden] {
    -webkit-transform: scale(0.2) translate(-50%, -45%);
    transform: scale(0.2) translate(-50%, -45%)
}

.tippy-box[data-placement^=bottom]>.tippy-backdrop {
    -webkit-transform-origin: 0 -50%;
    transform-origin: 0 -50%;
    border-radius: 0 0 30% 30%
}

.tippy-box[data-placement^=bottom]>.tippy-backdrop[data-state=visible] {
    -webkit-transform: scale(1) translate(-50%, -45%);
    transform: scale(1) translate(-50%, -45%)
}

.tippy-box[data-placement^=bottom]>.tippy-backdrop[data-state=hidden] {
    -webkit-transform: scale(0.2) translate(-50%);
    transform: scale(0.2) translate(-50%)
}

.tippy-box[data-placement^=left]>.tippy-backdrop {
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    border-radius: 50% 0 0 50%
}

.tippy-box[data-placement^=left]>.tippy-backdrop[data-state=visible] {
    -webkit-transform: scale(1) translate(-50%, -50%);
    transform: scale(1) translate(-50%, -50%)
}

.tippy-box[data-placement^=left]>.tippy-backdrop[data-state=hidden] {
    -webkit-transform: scale(0.2) translate(-75%, -50%);
    transform: scale(0.2) translate(-75%, -50%)
}

.tippy-box[data-placement^=right]>.tippy-backdrop {
    -webkit-transform-origin: -50% 0;
    transform-origin: -50% 0;
    border-radius: 0 50% 50% 0
}

.tippy-box[data-placement^=right]>.tippy-backdrop[data-state=visible] {
    -webkit-transform: scale(1) translate(-50%, -50%);
    transform: scale(1) translate(-50%, -50%)
}

.tippy-box[data-placement^=right]>.tippy-backdrop[data-state=hidden] {
    -webkit-transform: scale(0.2) translate(-25%, -50%);
    transform: scale(0.2) translate(-25%, -50%)
}

.tippy-box[data-animatefill] {
    background-color: rgba(0, 0, 0, 0) !important
}

.tippy-backdrop {
    position: absolute;
    background-color: #333;
    border-radius: 50%;
    width: calc(110% + 32px);
    left: 50%;
    top: 50%;
    z-index: -1;
    -webkit-transition: all cubic-bezier(0.46, 0.1, 0.52, 0.98);
    transition: all cubic-bezier(0.46, 0.1, 0.52, 0.98);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.tippy-backdrop[data-state=hidden] {
    opacity: 0
}

.tippy-backdrop:after {
    content: "";
    float: left;
    padding-top: 100%
}

.tippy-backdrop+.tippy-content {
    -webkit-transition-property: opacity;
    transition-property: opacity;
    will-change: opacity
}

.tippy-backdrop+.tippy-content[data-state=hidden] {
    opacity: 0
}

.tippy-box[data-animation=shift-toward][data-state=hidden] {
    opacity: 0
}

.tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=top] {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=bottom] {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=left] {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=right] {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.tippy-box[data-theme~=light-border] {
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 8, 16, .15);
    color: #333;
    box-shadow: 0 4px 14px -2px rgba(0, 8, 16, .08)
}

.tippy-box[data-theme~=light-border]>.tippy-backdrop {
    background-color: #fff
}

.tippy-box[data-theme~=light-border]>.tippy-arrow:after,
.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after {
    content: "";
    position: absolute;
    z-index: -1
}

.tippy-box[data-theme~=light-border]>.tippy-arrow:after {
    border-color: rgba(0, 0, 0, 0);
    border-style: solid
}

.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before {
    border-top-color: #fff
}

.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after {
    border-top-color: rgba(0, 8, 16, .2);
    border-width: 7px 7px 0;
    top: 17px;
    left: 1px
}

.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg {
    top: 16px
}

.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after {
    top: 17px
}

.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before {
    border-bottom-color: #fff;
    bottom: 16px
}

.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after {
    border-bottom-color: rgba(0, 8, 16, .2);
    border-width: 0 7px 7px;
    bottom: 17px;
    left: 1px
}

.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg {
    bottom: 16px
}

.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after {
    bottom: 17px
}

.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before {
    border-left-color: #fff
}

.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after {
    border-left-color: rgba(0, 8, 16, .2);
    border-width: 7px 0 7px 7px;
    left: 17px;
    top: 1px
}

.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg {
    left: 11px
}

.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after {
    left: 12px
}

.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before {
    border-right-color: #fff;
    right: 16px
}

.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after {
    border-width: 7px 7px 7px 0;
    right: 17px;
    top: 1px;
    border-right-color: rgba(0, 8, 16, .2)
}

.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg {
    right: 11px
}

.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after {
    right: 12px
}

.tippy-box[data-theme~=light-border]>.tippy-svg-arrow {
    fill: #fff
}

.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);
    background-size: 16px 6px;
    width: 16px;
    height: 6px
}

[data-tippy-root] {
    pointer-events: all !important
}

.tippy-box {
    background-color: #333;
    border-radius: 14px;
    text-align: left;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #ccc
}

.tippy-box[data-placement^=top]>.tippy-arrow:before {
    border-width: 5px 5px 0;
    bottom: -5px
}

.tippy-box[data-theme=light-border] {
    border-radius: 8px;
    --tippy-p: 12px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);
    border-color: #ddd;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #222;
    --typo-custom-w: 500
}

.tippy-box[data-theme=light-border][data-placement^=top]>.tippy-arrow:after {
    border-width: 5px 5px 0;
    top: 6px;
    left: 0;
    border-top-color: #ddd
}

.tippy-box[data-theme=light-border][data-placement^=bottom]>.tippy-arrow:before {
    border-width: 0 5px 5px;
    top: -5px
}

.tippy-box[data-theme=light-border][data-placement^=bottom]>.tippy-arrow:after {
    border-width: 0 5px 5px;
    bottom: 6px;
    left: 0;
    border-bottom-color: #ddd
}

.tippy-content {
    padding: var(--tippy-p, 6px 12px)
}

.tippy-arrow {
    width: 9px;
    height: 5px
}

.tooltip {
    display: inline-block;
    vertical-align: top;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/tooltip.svg");
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 12px
}

.tooltip-head {
    display: block;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    padding-left: 24px;
    background-image: url("../image/icon/tooltip.svg");
    background-position: left 2.5px;
    background-repeat: no-repeat;
    --typo-custom-w: 600;
    padding-bottom: 8px
}

/*! jQuery UI - v1.12.1 - 2016-09-14
* http://jqueryui.com
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden {
    display: none
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
    content: "";
    display: table;
    border-collapse: collapse
}

.ui-helper-clearfix:after {
    clear: both
}

.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0)
}

.ui-front {
    z-index: 100
}

.ui-state-disabled {
    cursor: default !important;
    pointer-events: none
}

.ui-icon {
    display: inline-block;
    vertical-align: middle;
    margin-top: -0.25em;
    position: relative;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat
}

.ui-widget-icon-block {
    left: 50%;
    margin-left: -8px;
    display: block
}

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ui-accordion .ui-accordion-header {
    display: block;
    cursor: pointer;
    position: relative;
    margin: 2px 0 0 0;
    padding: .5em .5em .5em .7em;
    font-size: 100%
}

.ui-accordion .ui-accordion-content {
    padding: 1em 2.2em;
    border-top: 0;
    overflow: auto
}

.ui-autocomplete {
    position: absolute;
    top: 0;
    left: 0;
    cursor: default
}

.ui-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
    outline: 0
}

.ui-menu .ui-menu {
    position: absolute
}

.ui-menu .ui-menu-item {
    margin: 0;
    cursor: pointer;
    list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
}

.ui-menu .ui-menu-item-wrapper {
    position: relative;
    padding: 3px 1em 3px .4em
}

.ui-menu .ui-menu-divider {
    margin: 5px 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    border-width: 1px 0 0 0
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
    margin: -1px
}

.ui-menu-icons {
    position: relative
}

.ui-menu-icons .ui-menu-item-wrapper {
    padding-left: 2em
}

.ui-menu .ui-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: .2em;
    margin: auto 0
}

.ui-menu .ui-menu-icon {
    left: auto;
    right: 0
}

.ui-button {
    padding: .4em 1em;
    display: inline-block;
    position: relative;
    line-height: normal;
    margin-right: .1em;
    cursor: pointer;
    vertical-align: middle;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: visible
}

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
    text-decoration: none
}

.ui-button-icon-only {
    width: 2em;
    box-sizing: border-box;
    text-indent: -9999px;
    white-space: nowrap
}

input.ui-button.ui-button-icon-only {
    text-indent: 0
}

.ui-button-icon-only .ui-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px
}

.ui-button.ui-icon-notext .ui-icon {
    padding: 0;
    width: 2.1em;
    height: 2.1em;
    text-indent: -9999px;
    white-space: nowrap
}

input.ui-button.ui-icon-notext .ui-icon {
    width: auto;
    height: auto;
    text-indent: 0;
    white-space: normal;
    padding: .4em 1em
}

input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
    border: 0;
    padding: 0
}

.ui-controlgroup {
    vertical-align: middle;
    display: inline-block
}

.ui-controlgroup>.ui-controlgroup-item {
    float: left;
    margin-left: 0;
    margin-right: 0
}

.ui-controlgroup>.ui-controlgroup-item:focus,
.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus {
    z-index: 9999
}

.ui-controlgroup-vertical>.ui-controlgroup-item {
    display: block;
    float: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    text-align: left
}

.ui-controlgroup-vertical .ui-controlgroup-item {
    box-sizing: border-box
}

.ui-controlgroup .ui-controlgroup-label {
    padding: .4em 1em
}

.ui-controlgroup .ui-controlgroup-label span {
    font-size: 80%
}

.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item {
    border-left: none
}

.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item {
    border-top: none
}

.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
    border-right: none
}

.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
    border-bottom: none
}

.ui-controlgroup-vertical .ui-spinner-input {
    width: 75%;
    width: calc(100% - 2.4em)
}

.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
    border-top-style: solid
}

.ui-checkboxradio-label .ui-icon-background {
    box-shadow: inset 1px 1px 1px #ccc;
    border-radius: .12em;
    border: none
}

.ui-checkboxradio-radio-label .ui-icon-background {
    width: 16px;
    height: 16px;
    border-radius: 1em;
    overflow: visible;
    border: none
}

.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
    background-image: none;
    width: 8px;
    height: 8px;
    border-width: 4px;
    border-style: solid
}

.ui-checkboxradio-disabled {
    pointer-events: none
}

.ui-datepicker {
    width: 17em;
    padding: .2em .2em 0;
    display: none
}

.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
    top: 1px
}

.ui-datepicker .ui-datepicker-prev {
    left: 2px
}

.ui-datepicker .ui-datepicker-next {
    right: 2px
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 1px
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 1px
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px
}

.ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center
}

.ui-datepicker .ui-datepicker-title select {
    font-size: 1em;
    margin: 1px 0
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 45%
}

.ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em
}

.ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: bold;
    border: 0
}

.ui-datepicker td {
    border: 0;
    padding: 1px
}

.ui-datepicker td span,
.ui-datepicker td a {
    display: block;
    padding: .2em;
    text-align: right;
    text-decoration: none
}

.ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0
}

.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    margin: .5em .2em .4em;
    cursor: pointer;
    padding: .2em .6em .3em .6em;
    width: auto;
    overflow: visible
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left
}

.ui-datepicker.ui-datepicker-multi {
    width: auto
}

.ui-datepicker-multi .ui-datepicker-group {
    float: left
}

.ui-datepicker-multi .ui-datepicker-group table {
    width: 95%;
    margin: 0 auto .4em
}

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%
}

.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33.3%
}

.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 25%
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left
}

.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0
}

.ui-datepicker-rtl {
    direction: rtl
}

.ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto
}

.ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
    right: 1px;
    left: auto
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
    left: 1px;
    right: auto
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
    float: left
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
    float: right
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px
}

.ui-datepicker .ui-icon {
    display: block;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
    left: .5em;
    top: .3em
}

.ui-dialog {
    position: absolute;
    top: 0;
    left: 0;
    padding: .2em;
    outline: 0
}

.ui-dialog .ui-dialog-titlebar {
    padding: .4em 1em;
    position: relative
}

.ui-dialog .ui-dialog-title {
    float: left;
    margin: .1em 0;
    white-space: nowrap;
    width: 90%;
    overflow: hidden;
    text-overflow: ellipsis
}

.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    right: .3em;
    top: 50%;
    width: 20px;
    margin: -10px 0 0 0;
    padding: 1px;
    height: 20px
}

.ui-dialog .ui-dialog-content {
    position: relative;
    border: 0;
    padding: .5em 1em;
    background: none;
    overflow: auto
}

.ui-dialog .ui-dialog-buttonpane {
    text-align: left;
    border-width: 1px 0 0 0;
    background-image: none;
    margin-top: .5em;
    padding: .3em 1em .5em .4em
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    float: right
}

.ui-dialog .ui-dialog-buttonpane button {
    margin: .5em .4em .5em 0;
    cursor: pointer
}

.ui-dialog .ui-resizable-n {
    height: 2px;
    top: 0
}

.ui-dialog .ui-resizable-e {
    width: 2px;
    right: 0
}

.ui-dialog .ui-resizable-s {
    height: 2px;
    bottom: 0
}

.ui-dialog .ui-resizable-w {
    width: 2px;
    left: 0
}

.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw {
    width: 7px;
    height: 7px
}

.ui-dialog .ui-resizable-se {
    right: 0;
    bottom: 0
}

.ui-dialog .ui-resizable-sw {
    left: 0;
    bottom: 0
}

.ui-dialog .ui-resizable-ne {
    right: 0;
    top: 0
}

.ui-dialog .ui-resizable-nw {
    left: 0;
    top: 0
}

.ui-draggable .ui-dialog-titlebar {
    cursor: move
}

.ui-draggable-handle {
    -ms-touch-action: none;
    touch-action: none
}

.ui-resizable {
    position: relative
}

.ui-resizable-handle {
    position: absolute;
    font-size: .1px;
    display: block;
    -ms-touch-action: none;
    touch-action: none
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
    display: none
}

.ui-resizable-n {
    cursor: n-resize;
    height: 7px;
    width: 100%;
    top: -5px;
    left: 0
}

.ui-resizable-s {
    cursor: s-resize;
    height: 7px;
    width: 100%;
    bottom: -5px;
    left: 0
}

.ui-resizable-e {
    cursor: e-resize;
    width: 7px;
    right: -5px;
    top: 0;
    height: 100%
}

.ui-resizable-w {
    cursor: w-resize;
    width: 7px;
    left: -5px;
    top: 0;
    height: 100%
}

.ui-resizable-se {
    cursor: se-resize;
    width: 12px;
    height: 12px;
    right: 1px;
    bottom: 1px
}

.ui-resizable-sw {
    cursor: sw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    bottom: -5px
}

.ui-resizable-nw {
    cursor: nw-resize;
    width: 9px;
    height: 9px;
    left: -5px;
    top: -5px
}

.ui-resizable-ne {
    cursor: ne-resize;
    width: 9px;
    height: 9px;
    right: -5px;
    top: -5px
}

.ui-progressbar {
    height: 2em;
    text-align: left;
    overflow: hidden
}

.ui-progressbar .ui-progressbar-value {
    margin: -1px;
    height: 100%
}

.ui-progressbar .ui-progressbar-overlay {
    background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
    height: 100%;
    filter: alpha(opacity=25);
    opacity: .25
}

.ui-progressbar-indeterminate .ui-progressbar-value {
    background-image: none
}

.ui-selectable {
    -ms-touch-action: none;
    touch-action: none
}

.ui-selectable-helper {
    position: absolute;
    z-index: 100;
    border: 1px dotted #000
}

.ui-selectmenu-menu {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: none
}

.ui-selectmenu-menu .ui-menu {
    overflow: auto;
    overflow-x: hidden;
    padding-bottom: 1px
}

.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;
    padding: 2px .4em;
    margin: .5em 0 0 0;
    height: auto;
    border: 0
}

.ui-selectmenu-open {
    display: block
}

.ui-selectmenu-text {
    display: block;
    margin-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis
}

.ui-selectmenu-button.ui-button {
    text-align: left;
    white-space: nowrap;
    width: 14em
}

.ui-selectmenu-icon.ui-icon {
    float: right;
    margin-top: 0
}

.ui-slider {
    position: relative;
    text-align: left
}

.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1.2em;
    height: 1.2em;
    cursor: default;
    -ms-touch-action: none;
    touch-action: none
}

.ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    font-size: .7em;
    display: block;
    border: 0;
    background-position: 0 0
}

.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
    -webkit-filter: inherit;
    filter: inherit
}

.ui-slider-horizontal {
    height: .8em
}

.ui-slider-horizontal .ui-slider-handle {
    top: -0.3em;
    margin-left: -0.6em
}

.ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%
}

.ui-slider-horizontal .ui-slider-range-min {
    left: 0
}

.ui-slider-horizontal .ui-slider-range-max {
    right: 0
}

.ui-slider-vertical {
    width: .8em;
    height: 100px
}

.ui-slider-vertical .ui-slider-handle {
    left: -0.3em;
    margin-left: 0;
    margin-bottom: -0.6em
}

.ui-slider-vertical .ui-slider-range {
    left: 0;
    width: 100%
}

.ui-slider-vertical .ui-slider-range-min {
    bottom: 0
}

.ui-slider-vertical .ui-slider-range-max {
    top: 0
}

.ui-sortable-handle {
    -ms-touch-action: none;
    touch-action: none
}

.ui-spinner {
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 0;
    vertical-align: middle
}

.ui-spinner-input {
    border: none;
    background: none;
    color: inherit;
    padding: .222em 0;
    margin: .2em 0;
    vertical-align: middle;
    margin-left: .4em;
    margin-right: 2em
}

.ui-spinner-button {
    width: 1.6em;
    height: 50%;
    font-size: .5em;
    padding: 0;
    margin: 0;
    text-align: center;
    position: absolute;
    cursor: default;
    display: block;
    overflow: hidden;
    right: 0
}

.ui-spinner a.ui-spinner-button {
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none
}

.ui-spinner-up {
    top: 0
}

.ui-spinner-down {
    bottom: 0
}

.ui-tabs {
    position: relative;
    padding: .2em
}

.ui-tabs .ui-tabs-nav {
    margin: 0;
    padding: .2em .2em 0
}

.ui-tabs .ui-tabs-nav li {
    list-style: none;
    float: left;
    position: relative;
    top: 0;
    margin: 1px .2em 0 0;
    border-bottom-width: 0;
    padding: 0;
    white-space: nowrap
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    float: left;
    padding: .5em 1em;
    text-decoration: none
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
    margin-bottom: -1px;
    padding-bottom: 1px
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
    cursor: text
}

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
    cursor: pointer
}

.ui-tabs .ui-tabs-panel {
    display: block;
    border-width: 0;
    padding: 1em 1.4em;
    background: none
}

.ui-tooltip {
    padding: 8px;
    position: absolute;
    z-index: 9999;
    max-width: 300px
}

body .ui-tooltip {
    border-width: 2px
}

.ui-widget {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em
}

.ui-widget .ui-widget {
    font-size: 1em
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em
}

.ui-widget.ui-widget-content {
    border: 1px solid #c5c5c5
}

.ui-widget-content {
    border: 1px solid #ddd;
    background: #fff;
    color: #333
}

.ui-widget-content a {
    color: #333
}

.ui-widget-header {
    border: 1px solid #ddd;
    background: #e9e9e9;
    color: #333;
    font-weight: bold
}

.ui-widget-header a {
    color: #333
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
    border: 1px solid #c5c5c5;
    background: #f6f6f6;
    font-weight: normal;
    color: #454545
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
    color: #454545;
    text-decoration: none
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
    border: 1px solid #ccc;
    background: #ededed;
    font-weight: normal;
    color: #2b2b2b
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
    color: #2b2b2b;
    text-decoration: none
}

.ui-visual-focus {
    box-shadow: 0 0 3px 1px #5e9ed6
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid #003eff;
    background: #007fff;
    font-weight: normal;
    color: #fff
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
    border: #003eff;
    background-color: #fff
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
    color: #fff;
    text-decoration: none
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    border: 1px solid #dad55e;
    background: #fffa90;
    color: #777620
}

.ui-state-checked {
    border: 1px solid #dad55e;
    background: #fffa90
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
    color: #777620
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
    border: 1px solid #f1a899;
    background: #fddfdf;
    color: #5f3f3f
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
    color: #5f3f3f
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
    color: #5f3f3f
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
    font-weight: bold
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
    opacity: .7;
    filter: Alpha(Opacity=70);
    font-weight: normal
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: .35;
    filter: Alpha(Opacity=35);
    background-image: none
}

.ui-state-disabled .ui-icon {
    filter: Alpha(Opacity=35)
}

.ui-icon {
    width: 16px;
    height: 16px
}

.ui-icon,
.ui-widget-content .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_444444_256x240.png")
}

.ui-widget-header .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_444444_256x240.png")
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_555555_256x240.png")
}

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_ffffff_256x240.png")
}

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
    background-image: url("../image/jqueryui/ui-icons_777620_256x240.png")
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_cc0000_256x240.png")
}

.ui-button .ui-icon {
    background-image: url("../image/jqueryui/ui-icons_777777_256x240.png")
}

.ui-icon-blank {
    background-position: 16px 16px
}

.ui-icon-caret-1-n {
    background-position: 0 0
}

.ui-icon-caret-1-ne {
    background-position: -16px 0
}

.ui-icon-caret-1-e {
    background-position: -32px 0
}

.ui-icon-caret-1-se {
    background-position: -48px 0
}

.ui-icon-caret-1-s {
    background-position: -65px 0
}

.ui-icon-caret-1-sw {
    background-position: -80px 0
}

.ui-icon-caret-1-w {
    background-position: -96px 0
}

.ui-icon-caret-1-nw {
    background-position: -112px 0
}

.ui-icon-caret-2-n-s {
    background-position: -128px 0
}

.ui-icon-caret-2-e-w {
    background-position: -144px 0
}

.ui-icon-triangle-1-n {
    background-position: 0 -16px
}

.ui-icon-triangle-1-ne {
    background-position: -16px -16px
}

.ui-icon-triangle-1-e {
    background-position: -32px -16px
}

.ui-icon-triangle-1-se {
    background-position: -48px -16px
}

.ui-icon-triangle-1-s {
    background-position: -65px -16px
}

.ui-icon-triangle-1-sw {
    background-position: -80px -16px
}

.ui-icon-triangle-1-w {
    background-position: -96px -16px
}

.ui-icon-triangle-1-nw {
    background-position: -112px -16px
}

.ui-icon-triangle-2-n-s {
    background-position: -128px -16px
}

.ui-icon-triangle-2-e-w {
    background-position: -144px -16px
}

.ui-icon-arrow-1-n {
    background-position: 0 -32px
}

.ui-icon-arrow-1-ne {
    background-position: -16px -32px
}

.ui-icon-arrow-1-e {
    background-position: -32px -32px
}

.ui-icon-arrow-1-se {
    background-position: -48px -32px
}

.ui-icon-arrow-1-s {
    background-position: -65px -32px
}

.ui-icon-arrow-1-sw {
    background-position: -80px -32px
}

.ui-icon-arrow-1-w {
    background-position: -96px -32px
}

.ui-icon-arrow-1-nw {
    background-position: -112px -32px
}

.ui-icon-arrow-2-n-s {
    background-position: -128px -32px
}

.ui-icon-arrow-2-ne-sw {
    background-position: -144px -32px
}

.ui-icon-arrow-2-e-w {
    background-position: -160px -32px
}

.ui-icon-arrow-2-se-nw {
    background-position: -176px -32px
}

.ui-icon-arrowstop-1-n {
    background-position: -192px -32px
}

.ui-icon-arrowstop-1-e {
    background-position: -208px -32px
}

.ui-icon-arrowstop-1-s {
    background-position: -224px -32px
}

.ui-icon-arrowstop-1-w {
    background-position: -240px -32px
}

.ui-icon-arrowthick-1-n {
    background-position: 1px -48px
}

.ui-icon-arrowthick-1-ne {
    background-position: -16px -48px
}

.ui-icon-arrowthick-1-e {
    background-position: -32px -48px
}

.ui-icon-arrowthick-1-se {
    background-position: -48px -48px
}

.ui-icon-arrowthick-1-s {
    background-position: -64px -48px
}

.ui-icon-arrowthick-1-sw {
    background-position: -80px -48px
}

.ui-icon-arrowthick-1-w {
    background-position: -96px -48px
}

.ui-icon-arrowthick-1-nw {
    background-position: -112px -48px
}

.ui-icon-arrowthick-2-n-s {
    background-position: -128px -48px
}

.ui-icon-arrowthick-2-ne-sw {
    background-position: -144px -48px
}

.ui-icon-arrowthick-2-e-w {
    background-position: -160px -48px
}

.ui-icon-arrowthick-2-se-nw {
    background-position: -176px -48px
}

.ui-icon-arrowthickstop-1-n {
    background-position: -192px -48px
}

.ui-icon-arrowthickstop-1-e {
    background-position: -208px -48px
}

.ui-icon-arrowthickstop-1-s {
    background-position: -224px -48px
}

.ui-icon-arrowthickstop-1-w {
    background-position: -240px -48px
}

.ui-icon-arrowreturnthick-1-w {
    background-position: 0 -64px
}

.ui-icon-arrowreturnthick-1-n {
    background-position: -16px -64px
}

.ui-icon-arrowreturnthick-1-e {
    background-position: -32px -64px
}

.ui-icon-arrowreturnthick-1-s {
    background-position: -48px -64px
}

.ui-icon-arrowreturn-1-w {
    background-position: -64px -64px
}

.ui-icon-arrowreturn-1-n {
    background-position: -80px -64px
}

.ui-icon-arrowreturn-1-e {
    background-position: -96px -64px
}

.ui-icon-arrowreturn-1-s {
    background-position: -112px -64px
}

.ui-icon-arrowrefresh-1-w {
    background-position: -128px -64px
}

.ui-icon-arrowrefresh-1-n {
    background-position: -144px -64px
}

.ui-icon-arrowrefresh-1-e {
    background-position: -160px -64px
}

.ui-icon-arrowrefresh-1-s {
    background-position: -176px -64px
}

.ui-icon-arrow-4 {
    background-position: 0 -80px
}

.ui-icon-arrow-4-diag {
    background-position: -16px -80px
}

.ui-icon-extlink {
    background-position: -32px -80px
}

.ui-icon-newwin {
    background-position: -48px -80px
}

.ui-icon-refresh {
    background-position: -64px -80px
}

.ui-icon-shuffle {
    background-position: -80px -80px
}

.ui-icon-transfer-e-w {
    background-position: -96px -80px
}

.ui-icon-transferthick-e-w {
    background-position: -112px -80px
}

.ui-icon-folder-collapsed {
    background-position: 0 -96px
}

.ui-icon-folder-open {
    background-position: -16px -96px
}

.ui-icon-document {
    background-position: -32px -96px
}

.ui-icon-document-b {
    background-position: -48px -96px
}

.ui-icon-note {
    background-position: -64px -96px
}

.ui-icon-mail-closed {
    background-position: -80px -96px
}

.ui-icon-mail-open {
    background-position: -96px -96px
}

.ui-icon-suitcase {
    background-position: -112px -96px
}

.ui-icon-comment {
    background-position: -128px -96px
}

.ui-icon-person {
    background-position: -144px -96px
}

.ui-icon-print {
    background-position: -160px -96px
}

.ui-icon-trash {
    background-position: -176px -96px
}

.ui-icon-locked {
    background-position: -192px -96px
}

.ui-icon-unlocked {
    background-position: -208px -96px
}

.ui-icon-bookmark {
    background-position: -224px -96px
}

.ui-icon-tag {
    background-position: -240px -96px
}

.ui-icon-home {
    background-position: 0 -112px
}

.ui-icon-flag {
    background-position: -16px -112px
}

.ui-icon-calendar {
    background-position: -32px -112px
}

.ui-icon-cart {
    background-position: -48px -112px
}

.ui-icon-pencil {
    background-position: -64px -112px
}

.ui-icon-clock {
    background-position: -80px -112px
}

.ui-icon-disk {
    background-position: -96px -112px
}

.ui-icon-calculator {
    background-position: -112px -112px
}

.ui-icon-zoomin {
    background-position: -128px -112px
}

.ui-icon-zoomout {
    background-position: -144px -112px
}

.ui-icon-search {
    background-position: -160px -112px
}

.ui-icon-wrench {
    background-position: -176px -112px
}

.ui-icon-gear {
    background-position: -192px -112px
}

.ui-icon-heart {
    background-position: -208px -112px
}

.ui-icon-star {
    background-position: -224px -112px
}

.ui-icon-link {
    background-position: -240px -112px
}

.ui-icon-cancel {
    background-position: 0 -128px
}

.ui-icon-plus {
    background-position: -16px -128px
}

.ui-icon-plusthick {
    background-position: -32px -128px
}

.ui-icon-minus {
    background-position: -48px -128px
}

.ui-icon-minusthick {
    background-position: -64px -128px
}

.ui-icon-close {
    background-position: -80px -128px
}

.ui-icon-closethick {
    background-position: -96px -128px
}

.ui-icon-key {
    background-position: -112px -128px
}

.ui-icon-lightbulb {
    background-position: -128px -128px
}

.ui-icon-scissors {
    background-position: -144px -128px
}

.ui-icon-clipboard {
    background-position: -160px -128px
}

.ui-icon-copy {
    background-position: -176px -128px
}

.ui-icon-contact {
    background-position: -192px -128px
}

.ui-icon-image {
    background-position: -208px -128px
}

.ui-icon-video {
    background-position: -224px -128px
}

.ui-icon-script {
    background-position: -240px -128px
}

.ui-icon-alert {
    background-position: 0 -144px
}

.ui-icon-info {
    background-position: -16px -144px
}

.ui-icon-notice {
    background-position: -32px -144px
}

.ui-icon-help {
    background-position: -48px -144px
}

.ui-icon-check {
    background-position: -64px -144px
}

.ui-icon-bullet {
    background-position: -80px -144px
}

.ui-icon-radio-on {
    background-position: -96px -144px
}

.ui-icon-radio-off {
    background-position: -112px -144px
}

.ui-icon-pin-w {
    background-position: -128px -144px
}

.ui-icon-pin-s {
    background-position: -144px -144px
}

.ui-icon-play {
    background-position: 0 -160px
}

.ui-icon-pause {
    background-position: -16px -160px
}

.ui-icon-seek-next {
    background-position: -32px -160px
}

.ui-icon-seek-prev {
    background-position: -48px -160px
}

.ui-icon-seek-end {
    background-position: -64px -160px
}

.ui-icon-seek-start {
    background-position: -80px -160px
}

.ui-icon-seek-first {
    background-position: -80px -160px
}

.ui-icon-stop {
    background-position: -96px -160px
}

.ui-icon-eject {
    background-position: -112px -160px
}

.ui-icon-volume-off {
    background-position: -128px -160px
}

.ui-icon-volume-on {
    background-position: -144px -160px
}

.ui-icon-power {
    background-position: 0 -176px
}

.ui-icon-signal-diag {
    background-position: -16px -176px
}

.ui-icon-signal {
    background-position: -32px -176px
}

.ui-icon-battery-0 {
    background-position: -48px -176px
}

.ui-icon-battery-1 {
    background-position: -64px -176px
}

.ui-icon-battery-2 {
    background-position: -80px -176px
}

.ui-icon-battery-3 {
    background-position: -96px -176px
}

.ui-icon-circle-plus {
    background-position: 0 -192px
}

.ui-icon-circle-minus {
    background-position: -16px -192px
}

.ui-icon-circle-close {
    background-position: -32px -192px
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px
}

.ui-icon-circle-triangle-s {
    background-position: -64px -192px
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px
}

.ui-icon-circle-triangle-n {
    background-position: -96px -192px
}

.ui-icon-circle-arrow-e {
    background-position: -112px -192px
}

.ui-icon-circle-arrow-s {
    background-position: -128px -192px
}

.ui-icon-circle-arrow-w {
    background-position: -144px -192px
}

.ui-icon-circle-arrow-n {
    background-position: -160px -192px
}

.ui-icon-circle-zoomin {
    background-position: -176px -192px
}

.ui-icon-circle-zoomout {
    background-position: -192px -192px
}

.ui-icon-circle-check {
    background-position: -208px -192px
}

.ui-icon-circlesmall-plus {
    background-position: 0 -208px
}

.ui-icon-circlesmall-minus {
    background-position: -16px -208px
}

.ui-icon-circlesmall-close {
    background-position: -32px -208px
}

.ui-icon-squaresmall-plus {
    background-position: -48px -208px
}

.ui-icon-squaresmall-minus {
    background-position: -64px -208px
}

.ui-icon-squaresmall-close {
    background-position: -80px -208px
}

.ui-icon-grip-dotted-vertical {
    background-position: 0 -224px
}

.ui-icon-grip-dotted-horizontal {
    background-position: -16px -224px
}

.ui-icon-grip-solid-vertical {
    background-position: -32px -224px
}

.ui-icon-grip-solid-horizontal {
    background-position: -48px -224px
}

.ui-icon-gripsmall-diagonal-se {
    background-position: -64px -224px
}

.ui-icon-grip-diagonal-se {
    background-position: -80px -224px
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
    border-top-left-radius: 3px
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
    border-top-right-radius: 3px
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
    border-bottom-left-radius: 3px
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
    border-bottom-right-radius: 3px
}

.ui-widget-overlay {
    background: #aaa;
    opacity: .003;
    filter: Alpha(Opacity=0.3)
}

.ui-widget-shadow {
    box-shadow: 0 0 5px #666
}

.gray-box {
    background-color: #f8f8f8;
    padding: 16px;
    line-height: var(--dot-list, 21px);
    font-size: 14px;
    color: #777;
    --dot-list-gap: 0;
    --dot-list-fw: 400
}

.gray-box .title {
    display: block;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600;
    padding-bottom: 12px
}

.dot-list {
    color: #777;
    font-weight: var(--dot-list-fw, 500)
}

.dot-list li {
    position: relative;
    padding-left: 16px
}

.dot-list li .btn.xs {
    margin: -1.5px 0
}

.dot-list li:before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 3px;
    background-color: #777;
    border-radius: 50%;
    margin-right: 8px;
    margin-left: 5px;
    margin-top: calc((var(--dot-list, 21px) - 3px)/2)
}

.dot-list li:not(:first-child) {
    margin-top: var(--dot-list-gap, 5px)
}

.line-box {
    border-radius: 12px;
    border: 1px solid #ddd;
    padding: 30px 40px
}

.caution {
    margin-top: 24px;
    padding-left: 32px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 12px;
    background-image: url("../image/icon/caution.svg");
    background-size: 24px;
    background-position: 0 0;
    background-repeat: no-repeat
}

.caution.not-solid {
    border-bottom: none;
}

@media only screen and (max-width: 767px) {
    .caution {
        margin-top: 32px
    }
}

.btn {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 var(--button-px);
    height: var(--button-height);
    border-radius: 4px;
    font-size: var(--button-fz, var(--body2));
    letter-spacing: -0.02em;
    font-weight: var(--button-fw, 500);
    background-color: var(--button-bgc);
    border: 1px solid var(--button-bdc);
    color: var(--button-c);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.btn:hover {
    background-color: var(--button-bgc-hover);
    border: 1px solid var(--button-bdc-hover)
}

.btn:active {
    background-color: var(--button-bgc-active, var(--button-bgc-hover));
    border: 1px solid var(--button-bdc-active, var(--button-bdc-hover))
}

.btn.cta {
    --button-px: 10px;
    --button-height: var(--item-height);
    --button-bgc: #fff;
    --button-bdc: #9B9B9B;
    --button-bgc-hover: #F8F8F8;
    --button-bdc-hover: #9B9B9B;
    --button-bgc-active: #F0F0F0;
    --button-c: #333;
    --button-icon-gap: 4px
}

.btn.cta.xs {
    --button-px: 6px;
    --button-height: 24px
}

.btn.cta.md {
    --button-px: 14px;
    --button-fz: var(--body1);
    --button-fw: 600;
    --button-height: 41px;
    --button-icon-gap: 6px
}

.btn.cta.lg,
.btn.cta.xl {
    --button-fz: var(--body1);
    --button-fw: 600;
    --button-icon-gap: 8px
}

.btn.cta.lg {
    --button-px: 20px;
    --button-height: 47px
}

.btn.cta.xl {
    --button-px: 24px;
    --button-height: 64px;
    --button-fz: var(--tab)
}

.btn.cta.filled {
    --button-bdc: #5F0080;
    --button-bdc-hover: #BD76FF;
    --button-bgc: #5F0080;
    --button-bgc-hover: #BD76FF;
    --button-bdc-active: #4D0073;
    --button-bgc-active: #4D0073;
    --button-c: #fff
}

.btn.cta.outlined {
    --button-bdc: #5F0080;
    --button-bdc-hover: #BD76FF;
    --button-bdc-active: #4D0073;
    --button-bgc-hover: #fff;
    --button-bgc-active: #fff;
    --button-c: #5F0080
}

.btn.cta.outlined:hover {
    --button-c: #BD76FF
}

.btn.cta.outlined:active {
    --button-c: #4D0073
}

.btn.cta.secondary {
    --button-bdc: #5F0080;
    --button-bdc-hover: #BD76FF;
    --button-bdc-active: #4D0073;
    --button-bgc: #F9F4FF;
    --button-bgc-hover: #F9F4FF;
    --button-bgc-active: #F9F4FF;
    --button-c: #5F0080
}

.btn.cta.secondary:hover {
    --button-c: #BD76FF
}

.btn.cta.secondary:active {
    --button-c: #4D0073
}

.btn.cta.gray {
    --button-bdc: #999;
    --button-bdc-hover: #888;
    --button-bgc: #999;
    --button-bgc-hover: #888;
    --button-c: #fff;
    --button-bdc-active: #777;
    --button-bgc-active: #777
}

.btn.cta.black {
    --button-bdc: #333;
    --button-bdc-hover: #2C2C2C;
    --button-bgc: #333;
    --button-bgc-hover: #2C2C2C;
    --button-c: #fff;
    --button-bdc-active: #242424;
    --button-bgc-active: #242424
}

.btn.cta.light-outline {
    --button-bdc: #DDDDDD;
    --button-bdc-hover: #DDDDDD
}

.btn.cta.disabled,
.btn.cta:disabled {
    pointer-events: none;
    cursor: default;
    background-color: #D8D8D8;
    border-color: #ccc;
    color: #999
}

.btn.cta.disabled.filled,
.btn.cta:disabled.filled {
    border-color: #D8D8D8
}

.btn.text {
    --button-px: 6px;
    --button-icon-gap: 4px;
    --button-height: 24px;
    --button-bgc: transparent;
    --button-bgc-hover: #F4F4F4;
    --button-c: #333
}

.btn.text.md {
    --button-height: 29px;
    --button-fz: var(--body1)
}

.btn.text.primary {
    --button-bgc-hover: #F9F4FF;
    --button-c: #5F0080
}

.btn.icon {
    width: calc(var(--button-icon-size) + 8px);
    height: calc(var(--button-icon-size) + 8px);
    --button-icon-size: 16px;
    --button-bgc: transparent;
    --button-bgc-hover: #F4F4F4;
    --button-c: #333
}

.btn.icon span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.btn.icon.primary {
    --button-bgc-hover: #F9F4FF;
    --button-c: #5F0080
}

.btn.icon.lg {
    --button-icon-size: 24px !important
}

.btn.icon.xs {
    --button-icon-size: 12px !important
}

.btn.icon.disabled,
.btn.icon:disabled {
    pointer-events: none;
    --button-c: #999
}

.btn[class*=icon-]:before {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    margin-right: var(--button-icon-gap);
    width: var(--button-icon-size, 12px);
    height: var(--button-icon-size, 12px);
    background-size: var(--button-icon-size, 12px);
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--icon-url)
}

.btn[class*=icon-].icon-right:before {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    margin-right: 0;
    margin-left: var(--button-icon-gap)
}

.btn[class*=icon-].md,
.btn[class*=icon-].lg,
.btn[class*=icon-].xl {
    --button-icon-size: 16px
}

.crud {
    margin-top: var(--crud-mt, 60px)
}

.crud button,
.crud a {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.crud button:not(:first-child),
.crud a:not(:first-child) {
    margin-left: var(--item-gap)
}

a.btn {
    line-height: calc(var(--button-height) - 2px)
}

.icon-chevron-down {
    --icon-url: url("../image/icon/chevron-down.svg")
}

.icon-arrow-left {
    --icon-url: url("../image/icon/chevron-down.svg")
}

.icon-arrow-left:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.icon-download {
    --icon-url: url("../image/icon/download.svg")
}

.icon-trash {
    --icon-url: url("../image/icon/trash.svg")
}

.icon-arrow-right {
    --icon-url: url("../image/icon/arrow-right.svg")
}

.icon-close {
    --icon-url: url("../image/icon/close.svg")
}

.icon-print {
    --icon-url: url("../image/icon/print.svg")
}

.icon-reset {
    --icon-url: url("../image/icon/reset.svg")
}

.icon-share {
    --icon-url: url("../image/icon/share.svg")
}

.icon-cart {
    --icon-url: url("../image/product/cart.svg")
}

.icon-cart:hover {
    --icon-url: url("../image/product/cart-hover.svg")
}

.icon-cart:active {
    --icon-url: url("../image/product/cart-active.svg")
}

.icon-circle-pause {
    --icon-url: url("../image/product/circle-pause.svg")
}

.icon-search {
    --icon-url: url("../image/icon/search.svg")
}

.icon-zzim {
    --icon-url: var(--icon-active-url, url("../image/product/zzim.svg"))
}

.icon-zzim.active {
    --icon-active-url: url("../image/product/zzim-active.svg")
}

.icon-zzim:disabled,
.icon-zzim.disabled {
    --icon-url: url("../image/product/zzim-disabled.svg")
}

.icon-pin {
    --icon-url: var(--icon-active-url, url("../image/product/pin.svg"))
}

.icon-pin:hover {
    --icon-active-url: url("../image/product/pin-hover.svg")
}

.icon-pin.active {
    --icon-active-url: url("../image/product/pin-active.svg")
}

.icon-pin:disabled,
.icon-pin.disabled {
    --icon-url: url("../image/product/pin-disabled.svg")
}

.icon-alarm {
    --icon-url: var(--icon-active-url, url("../image/product/alarm.svg"))
}

.icon-brand {
    --icon-url: url("../image/icon/brand.svg")
}

.icon-plus-circle {
    --icon-url: url("../image/icon/plus-circle.svg")
}

.icon-plus-circle:disabled,
.icon-plus-circle.disabled {
    --icon-url: url("../image/icon/plus-circle-b777.svg")
}

.icon-check-square {
    --icon-url: url("../image/icon/icon-check-square.svg")
}

input[type=text],
input[type=password],
input[type=number],
input[type=email],
textarea,
.input-text {
    border-radius: 4px;
    border: 1px solid var(--input-bdc, #BEBEBE);
    font-size: var(--body1);
    color: var(--input-c, #333);
    background-color: var(--input-bgc, #fff)
}

input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
.input-text::-webkit-input-placeholder {
    color: #999
}

input[type=text]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=email]::-moz-placeholder,
textarea::-moz-placeholder,
.input-text::-moz-placeholder {
    color: #999
}

input[type=text]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
.input-text:-ms-input-placeholder {
    color: #999
}

input[type=text]::-ms-input-placeholder,
input[type=password]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
textarea::-ms-input-placeholder,
.input-text::-ms-input-placeholder {
    color: #999
}

input[type=text]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=email]::placeholder,
textarea::placeholder,
.input-text::placeholder {
    color: #999
}

input[type=text]:hover:not(:disabled):not(:-moz-read-only),
input[type=text]:focus:not(:disabled):not(:-moz-read-only),
input[type=password]:hover:not(:disabled):not(:-moz-read-only),
input[type=password]:focus:not(:disabled):not(:-moz-read-only),
input[type=number]:hover:not(:disabled):not(:-moz-read-only),
input[type=number]:focus:not(:disabled):not(:-moz-read-only),
input[type=email]:hover:not(:disabled):not(:-moz-read-only),
input[type=email]:focus:not(:disabled):not(:-moz-read-only),
textarea:hover:not(:disabled):not(:-moz-read-only),
textarea:focus:not(:disabled):not(:-moz-read-only),
.input-text:hover:not(:disabled):not(:-moz-read-only),
.input-text:focus:not(:disabled):not(:-moz-read-only) {
    --input-bdc: #222
}

input[type=text]:hover:not(:disabled):not(:read-only),
input[type=text]:focus:not(:disabled):not(:read-only),
input[type=password]:hover:not(:disabled):not(:read-only),
input[type=password]:focus:not(:disabled):not(:read-only),
input[type=number]:hover:not(:disabled):not(:read-only),
input[type=number]:focus:not(:disabled):not(:read-only),
input[type=email]:hover:not(:disabled):not(:read-only),
input[type=email]:focus:not(:disabled):not(:read-only),
textarea:hover:not(:disabled):not(:read-only),
textarea:focus:not(:disabled):not(:read-only),
.input-text:hover:not(:disabled):not(:read-only),
.input-text:focus:not(:disabled):not(:read-only) {
    --input-bdc: #222
}

input[type=text].is-error,
input[type=text]:invalid,
input[type=password].is-error,
input[type=password]:invalid,
input[type=number].is-error,
input[type=number]:invalid,
input[type=email].is-error,
input[type=email]:invalid,
textarea.is-error,
textarea:invalid,
.input-text.is-error,
.input-text:invalid {
    --input-bdc: #E6002D
}

input[type=text].is-error~.feedback,
input[type=text]:invalid~.feedback,
input[type=password].is-error~.feedback,
input[type=password]:invalid~.feedback,
input[type=number].is-error~.feedback,
input[type=number]:invalid~.feedback,
input[type=email].is-error~.feedback,
input[type=email]:invalid~.feedback,
textarea.is-error~.feedback,
textarea:invalid~.feedback,
.input-text.is-error~.feedback,
.input-text:invalid~.feedback {
    --typo-custom-c: #E6002D
}

input[type=text]:disabled,
input[type=password]:disabled,
input[type=number]:disabled,
input[type=email]:disabled,
textarea:disabled,
.input-text:disabled {
    --input-bgc: #EDEDED
}

input[type=text],
input[type=password],
input[type=number],
input[type=email],
.input-text {
    width: var(--input-width, 100%);
    height: var(--input-height, var(--item-height));
    padding: 0 var(--input-px, 12px)
}

input[type=text][type=number],
input[type=password][type=number],
input[type=number][type=number],
input[type=email][type=number],
.input-text[type=number] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

input.date {
    padding-right: 36px;
    background-image: url("../image/icon/calendar.svg");
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center
}

[type=text].input-file-download {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: none;
    background-color: #f8f8f8;
    padding-left: 28px;
    background-image: url("../image/icon/paperclip.svg");
    background-repeat: no-repeat;
    background-size: 12px auto;
    background-position: 10px center
}

textarea {
    vertical-align: top;
    width: var(--textarea-width, 100%);
    padding: 8px 12px;
    height: 149px;
    resize: none
}

.input-checkbox,
.input-radio {
    cursor: pointer;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: var(--item-height);
    font-size: var(--body1);
    color: var(--select-c, #333)
}

.input-checkbox input,
.input-radio input {
    visibility: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.input-checkbox input:checked~i,
.input-radio input:checked~i {
    --checked-color: #5F0080
}

.input-checkbox input:disabled~i,
.input-radio input:disabled~i {
    --checked-color: #ccc
}

.input-checkbox i,
.input-radio i {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: var(--check-icon-size);
    height: var(--check-icon-size);
    background-color: #fff;
    border: 1px solid var(--checked-color, #BEBEBE);
    margin-right: var(--item-gap)
}

.input-checkbox>em,
.input-checkbox>span,
.input-radio>em,
.input-radio>span {
    padding-right: 4px;
    font-weight: 500
}

.input-checkbox>em,
.input-radio>em {
    color: #ff3f67
}

.input-checkbox>span,
.input-radio>span {
    color: #777
}

.input-checkbox:not(:first-child),
.input-radio:not(:first-child) {
    margin-left: 8px
}

.input-checkbox input:checked~i {
    background-color: #5f0080;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABiSURBVHgB7dRBCsAgDETROao3MTef1kUpyJQKTkDEDy71LRIETttHsrSDrO7HK98K3HWAHxFAwNm6wOh2zAJP1Q4IREJ0zKBd+oLoHLKCmLFFAvICP1DAXQcFsmL2z3raswvlNFl6vcw8RAAAAABJRU5ErkJggg==");
    background-size: 16px auto;
    background-position: center
}

.input-checkbox input:disabled~i {
    background-color: #ededed
}

.input-checkbox input:disabled:checked~i {
    background-color: #ccc
}

.input-checkbox i {
    border-radius: 2px
}

.input-radio input:checked~i {
    border-width: 4px
}

.input-radio input:disabled~i {
    background-color: #ededed
}

.input-radio i {
    border-radius: 50%
}

.check-wrap,
.radio-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.check-wrap.switch {
    --switch-color: #BEBEBE
}

.check-wrap.switch i {
    width: 40px;
    height: 24px;
    border-radius: 12px;
    border: 2px solid var(--switch-color);
    background-color: var(--switch-color);
    position: relative;
    background-image: unset !important
}

.check-wrap.switch i:after {
    content: "";
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    -webkit-transition: 200ms;
    transition: 200ms
}

.check-wrap.switch input:checked~i {
    --switch-color: #5F0080
}

.check-wrap.switch input:checked~i:after {
    left: calc(100% - 20px)
}

.check-wrap.checkbox-tab {
    width: 100%;
    display: grid;
    grid-template-columns: var(--check-tab-columns, repeat(auto-fit, minmax(24%, 1fr)));
    gap: var(--check-tab-gap, 8px);
    margin-top: 10px;
}

.check-wrap.checkbox-tab .input-checkbox {
    margin: 0 !important;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    min-width: 0;
    padding: 0 20px;
    font-size: var(--body2);
    line-height: 35px !important
}

.check-wrap.checkbox-tab .input-checkbox i {
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    --check-icon-size: 100%;
    border: 1px solid var(--check-tab-active-c, #9B9B9B);
    border-radius: 4px;
    background-color: var(--check-tab-active-bg, #fff);
    background-image: none
}

.check-wrap.checkbox-tab .input-checkbox span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--check-tab-active-c, #333);
    position: relative;
    padding: 0
}

.check-wrap.checkbox-tab .input-checkbox:hover {
    --check-tab-active-bg: #F9F4FF;
    --check-tab-active-c: #5F0080
}

.check-wrap.checkbox-tab .input-checkbox input:checked~i,
.check-wrap.checkbox-tab .input-checkbox input:checked~span {
    --check-tab-active-bg: #F9F4FF;
    --check-tab-active-c: #5F0080
}

@media only screen and (max-width: 767px) {
    .check-wrap.checkbox-tab {
        --check-tab-columns: repeat(auto-fit, minmax(48%, 1fr))
    }
}

.radio-wrap.radio-tab {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16.6666%, 1fr));
    position: relative
}

.radio-wrap.radio-tab:not(.line) {
    background-image: url("../image/icon/tab-pattern-6.jpg");
    background-size: 100% auto
}

.radio-wrap.radio-tab:not(.line):after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: inset 0 1px 0 #ddd, inset 0 -1px 0 #ddd, inset 1px 0 0 #ddd, inset -1px 0 0 #ddd;
    pointer-events: none
}

.radio-wrap.radio-tab:not(.line) .input-radio {
    overflow: hidden;
    margin-left: 0;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: var(--tab-radio-h, 55px);
    --tabitem-bdw: 0;
    border-right: var(--tabitem-bdw) solid #ddd;
    border-bottom: var(--tabitem-bdw) solid #ddd
}

@media only screen and (min-width: 768px) {
    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(6):last-child {
        --tab-radio-active-bgc: #fff
    }

    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(1):nth-last-child(-n+6),
    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(2):nth-last-child(-n+5),
    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(3):nth-last-child(-n+4),
    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(4):nth-last-child(-n+3),
    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(5):nth-last-child(-n+2) {
        --tabitem-bdw: 1px;
        --tab-radio-active-bgc: #fff
    }
}

.radio-wrap.radio-tab:not(.line) .input-radio span {
    position: relative;
    z-index: 1;
    font-size: var(--tab);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 12px
}

.radio-wrap.radio-tab:not(.line) i {
    width: 100%;
    height: var(--tab-radio-active-bg-h, 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--tab-radio-active-bgc, transparent);
    border-radius: 0;
    border: none;
    margin-right: 0
}

.radio-wrap.radio-tab:not(.line) input:checked~i {
    background-color: #5f0080
}

.radio-wrap.radio-tab:not(.line) input:checked~span {
    --typo-custom-c: #fff;
    --typo-custom-w: 600
}

@media only screen and (max-width: 767px) {
    .radio-wrap.radio-tab:not(.line) {
        grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
        --tab-radio-h: 35px;
        background-image: unset
    }

    .radio-wrap.radio-tab:not(.line) .input-radio {
        box-shadow: inset 0 -1px 0 #ddd
    }

    .radio-wrap.radio-tab:not(.line) .input-radio span {
        --tab: 12px
    }

    .radio-wrap.radio-tab:not(.line) .input-radio:nth-child(n+1) {
        border-right: 1px solid #ddd
    }
}

.radio-wrap.radio-tab.line {
    grid-template-columns: var(--tabs-column, repeat(auto-fit, minmax(10px, 1fr)));
    --tab-radio-h: 45px;
    box-shadow: 0 1px 0 #ddd;
    min-width: 100%
}

.radio-wrap.radio-tab.line .input-radio {
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: var(--raido-line-px, 12px);
    padding-right: var(--raido-line-px, 12px);
    --body1: 18px
}

.radio-wrap.radio-tab.line .input-radio i {
    display: none;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    border: none;
    background-color: #5f0080;
    border-radius: 0
}

.radio-wrap.radio-tab.line .input-radio span {
    padding-right: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.radio-wrap.radio-tab.line .input-radio input:checked~i {
    display: block
}

.radio-wrap.radio-tab.line .input-radio input:checked~span {
    color: #5f0080;
    font-weight: 600
}

@media only screen and (min-width: 768px) {
    .radio-wrap.radio-tab.line .input-radio~.input-radio {
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .radio-wrap.radio-tab.line {
        --tab-radio-h: 34px;
        -webkit-flex-wrap: unset;
        -ms-flex-wrap: unset;
        flex-wrap: unset;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        gap: 0;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content
    }

    .radio-wrap.radio-tab.line:before {
        display: inline-block;
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: var(--side-padding);
        right: calc(constant(safe-area-inset-right) + var(--side-padding));
        right: calc(env(safe-area-inset-right) + var(--side-padding));
        height: 1px;
        background-color: #ddd
    }

    .radio-wrap.radio-tab.line:after {
        content: "";
        width: var(--side-padding);
        width: calc(constant(safe-area-inset-right) + var(--side-padding));
        width: calc(env(safe-area-inset-right) + var(--side-padding));
        height: 34px;
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .radio-wrap.radio-tab.line .input-radio {
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        --body1: 14px;
        --raido-line-px: 8px
    }

    .radio-wrap.radio-tab.line .input-radio i {
        bottom: 0
    }

    .radio-wrap.radio-tab.line .input-radio~.input-radio {
        margin-left: 8px
    }
}

@media only screen and (max-width: 767px) {
    .radio-line-wrap {
        -webkit-overflow-scrolling: touch;
        -webkit-touch-callout: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }
}

.terms-desc {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 4px;
    padding-left: calc(var(--check-icon-size) + var(--item-gap));
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.terms-desc.invalid {
    --typo-custom-c: #E6002D
}

.feedback {
    margin-top: 6px;
    display: block;
    width: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.feedback.invalid {
    --typo-custom-c: #E6002D
}

.feedback.invalid [class*=c-] {
    color: inherit !important
}

.search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    --select-width: 120px;
    --input-width: 180px
}

.search .select-wrap {
    margin-right: var(--item-gap)
}

@media only screen and (max-width: 767px) {
    .search .select-wrap {
        --item-gap: 0
    }
}

.search .relative {
    position: relative
}

.search .relative input {
    padding-right: 36px
}

.search .relative .icon-search {
    position: absolute;
    top: 50%;
    right: 4px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 32px;
    height: 32px
}

@media only screen and (max-width: 767px) {
    .search {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--item-gap);
        --select-width: 100%;
        --input-width: 100%
    }
}

.a-file-download {
    vertical-align: top;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: var(--input-width, 100%)
}

.a-file-download.width60 {
    width: var(--input-width, 53%)
}

.a-file-download>span:not(.btn) {
    margin-right: 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: inline-block;
    border-radius: 4px;
    padding: 0 10px 0 28px;
    background-color: #f8f8f8;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333;
    --typo-custom-lh: var(--item-height);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative
}

.a-file-download>span:not(.btn):before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    background-image: url("../image/icon/paperclip.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.input-call {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: var(--item-gap);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.text-guide {
    vertical-align: top;
    display: inline-block;
    width: 100%;
    padding-top: 8px;
    text-align: right;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 500
}

.text-guide b {
    color: #3385ff
}

.quantity-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width: 768px) {
    .quantity-wrap .btn {
        margin-top: 4px;
        width: 102px
    }
}

.quantity-wrap .btn.active {
    --button-c: #5F0080;
    --icon-active-url: url("../image/product/alarm-active.svg")
}

.quantity-wrap .body2 {
    margin-top: 8px
}

@media only screen and (max-width: 767px) {
    .quantity-wrap {
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .quantity-wrap .body2 {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        text-align: right;
        margin-top: 4px
    }

    .quantity-wrap .quantity-box {
        width: 100%
    }

    .quantity-wrap .btn,
    .quantity-wrap .btn~.quantity-box {
        width: calc(50% - 4px)
    }

    .quantity-wrap .btn {
        margin-left: 4px;
        --button-height: 36px
    }

    .quantity-wrap .btn span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

@media only screen and (min-width: 768px) {
    .quantity-wrap [data-tippy-root] {
        max-width: var(--quantity-mw, calc(100% - 10px))
    }

    .type-column .quantity-wrap [data-tippy-root] {
        --quantity-mw: 230px
    }

    td>.prd-ctrl .quantity-wrap [data-tippy-root] {
        --quantity-mw: 230px
    }
}

.quantity-wrap [data-tippy-root] .tippy-box {
    max-width: 100% !important
}

.quantity-wrap .tippy-box[data-theme=light-border] {
    border-color: #7346f3
}

.quantity-wrap .tippy-box[data-theme=light-border][data-placement^=bottom]>.tippy-arrow:after {
    border-bottom-color: #7346f3
}

.quantity-wrap .tippy-box[data-theme=light-border][data-placement^=top]>.tippy-arrow:after {
    border-top-color: #7346f3
}

.quantity-wrap .tippy-box[data-theme~=light-border] {
    --tippy-p: 8px 12px
}

@media only screen and (max-width: 767px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] {
        --tippy-p: 8px
    }
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex {
    white-space: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex>span {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex>span em {
    margin-left: 4px
}

@media only screen and (max-width: 343px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.all-seller-list .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 230px
}

.all-seller-list .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex .divider-vertical-line {
    margin-top: -2px
}

@media only screen and (min-width: 768px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex:only-child:not(.quantity-guide) {
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        max-width: 230px
    }
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex:not(:only-child):not(.quantity-guide) span:not(:only-child):first-child {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex:not(:only-child):not(.quantity-guide) span:not(:only-child):last-child {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex:not(:only-child)>span:not(.divider-vertical-line) {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width: 768px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex:not(:only-child)>span:not(.divider-vertical-line) {
        min-width: calc((100% - 9px)/2)
    }
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide {
    padding-top: 6px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide {
        width: 204px
    }
}

@media only screen and (max-width: 767px) {
    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide span {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start !important;
        -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important
    }

    .quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide .divider-vertical-line {
        display: none
    }
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide span {
    margin-top: 2px;
    letter-spacing: -0.02em;
    font-weight: 400
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .flex.quantity-guide span em {
    font-weight: 600
}

.quantity-wrap .tippy-box[data-theme~=light-border] .tippy-content .divider-vertical-line {
    margin: 0 4px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.quantity-wrap.row-1 {
    width: 141px;
    margin: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.quantity-wrap.row-1 .btn.icon-alarm {
    width: 100%;
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .quantity-wrap.row-1 .btn.icon-alarm {
        margin-left: 0
    }
}

.quantity-wrap.row-1 .body3 {
    margin-top: 4px;
    width: 100%;
    text-align: left
}

@media only screen and (max-width: 767px) {
    .quantity-wrap.row-1 .quantity-box {
        width: 110px
    }
}

.quantity-wrap.row-1 .quantity-btns .icon-cart {
    margin-top: 0;
    margin-left: 4px
}

td>.quantity-wrap {
    min-width: 110px
}

.quantity-box {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    border: 1px solid #bebebe;
    border-radius: 4px;
    width: 110px;
    display: inline-grid;
    grid-template-columns: 30px 1fr 30px
}

.quantity-box input {
    --item-height: 33px;
    min-width: 0;
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: rgba(0, 0, 0, 0)
}

.quantity-box input.over {
    color: #e6002d
}

.quantity-box button {
    height: 100%;
    background-image: var(--quantity-icon-url);
    background-position: center;
    background-repeat: no-repeat
}

.quantity-box button:active {
    background-image: var(--quantity-icon-active-url)
}

.quantity-box button:disabled {
    background-image: var(--quantity-icon-disabled-url)
}

.quantity-box .btn-minus {
    --quantity-icon-url: url("../image/icon/minus.svg");
    --quantity-icon-active-url: url("../image/icon/minus-active.svg");
    --quantity-icon-disabled-url: url("../image/icon/minus-disabled.svg")
}

.quantity-box .btn-plus {
    --quantity-icon-url: url("../image/icon/plus.svg");
    --quantity-icon-active-url: url("../image/icon/plus-active.svg");
    --quantity-icon-disabled-url: url("../image/icon/plus-disabled.svg")
}

.product-info-group.disabled .quantity-box {
    background-color: #ededed;
    pointer-events: none
}

.product-info-group.disabled .quantity-box input {
    color: #999
}

.product-info-group.disabled .quantity-box button {
    background-image: var(--quantity-icon-disabled-url)
}

.quantity-box.disabled {
    background-color: #ededed;
    pointer-events: none
}

.quantity-box.disabled input {
    color: #999
}

.quantity-box.disabled button {
    background-image: var(--quantity-icon-disabled-url)
}

.quantity-btns {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.quantity-btns .btn {
    width: auto
}

.quantity-btns .icon-cart {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 35px;
    --button-icon-gap: 0;
    --button-px: 0
}

.quantity-btns .icon-cart span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.quantity-btns .filled {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 4px
}

.select-wrap {
    width: var(--select-width, 100%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.select-wrap select {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.select-wrap select:not(:last-child) {
    margin-right: var(--item-gap)
}

select {
    outline: none;
    -o-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    border: 1px solid var(--select-bdc, #BEBEBE);
    border-radius: 4px;
    height: var(--item-height);
    padding: 0 36px 0 12px;
    font-size: var(--body1);
    color: var(--select-c, #333);
    background-color: var(--select-bg, #fff);
    background-image: url("../image/icon/chevron-down.svg");
    background-repeat: no-repeat;
    background-size: 16px auto;
    background-position: calc(100% - 12px) center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

select:hover:not(:disabled),
select:focus:not(:disabled) {
    --select-bdc: #222
}

select:disabled {
    --select-c: #777;
    --select-bg: #EDEDED
}

select.is-error {
    --select-bdc: #E6002D
}

select:not(:last-child) {
    margin-right: var(--item-gap)
}

.pagination {
    margin-top: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --pagination-size: 30px;
    --pagination-icon-size: 16px
}

.pagination:empty {
    margin-top: 0 !important
}

.pagination .page-item {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: hidden;
    vertical-align: top;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: var(--pagination-size);
    background: var(--pagination-active-bg, #fff);
    font-size: var(--body1);
    border-radius: 4px;
    padding-left: 6px;
    padding-right: 6px;
    min-width: var(--pagination-size)
}

.pagination .page-item.active,
.pagination .page-item:hover {
    font-weight: 600
}

.pagination .page-item.active {
    --pagination-active-bg: #5F0080;
    --pagination-active-c: #fff
}

.pagination .page-item.disabled .page-prev,
.pagination .page-item.disabled .page-next {
    --pagination-arrow: url("../image/icon/chevron-down-disabled.svg")
}

.pagination .page-item.disabled .page-first,
.pagination .page-item.disabled .page-last {
    --pagination-arrow: url("../image/icon/chevrons-down-disabled.svg")
}

.pagination .page-first,
.pagination .page-prev,
.pagination .page-next,
.pagination .page-last {
    width: var(--pagination-icon-size);
    height: var(--pagination-icon-size);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--pagination-arrow);
    -webkit-transform: rotate(var(--pagination-prev, 90deg));
    transform: rotate(var(--pagination-prev, 90deg));
    font-size: 0
}

.pagination .page-prev,
.pagination .page-next {
    --pagination-arrow: url("../image/icon/chevron-down.svg")
}

.pagination .page-first,
.pagination .page-last {
    --pagination-arrow: url("../image/icon/chevrons-down.svg")
}

.pagination .page-last,
.pagination .page-next {
    --pagination-prev: -90deg
}

.pagination .page-link {
    color: var(--pagination-active-c, #333)
}

.pagination .page-item:nth-child(1) {
    margin-right: 4px
}

.pagination .page-item:nth-child(2) {
    margin-right: 10px
}

.pagination .page-item:nth-last-child(1) {
    margin-left: 4px
}

.pagination .page-item:nth-last-child(2) {
    margin-left: 10px
}

@media only screen and (max-width: 343px) {
    .pagination .page-item {
        margin: 0 !important;
        min-width: 24px;
        height: 24px
    }

    .pagination .page-first,
    .pagination .page-last,
    .pagination .page-prev,
    .pagination .page-next {
        margin: 0 -6px
    }
}

.accordion {
    border-top: 1px solid #777;
    --accordion-padding: 12px;
    --accordion-content-padding: 24px 12px
}

.accordion .title-wrap {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    --accordion-padding: 16px;
    padding: var(--accordion-padding) 0
}

.accordion button.title-wrap {
    --accordion-padding: 12px;
    padding: var(--accordion-padding);
    position: relative;
    text-align: left;
    border-bottom: 1px solid #ededed;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.accordion button.title-wrap:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 16px;
    height: 100%;
    background-image: url("../image/icon/chevron-down.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    grid-row: span 2;
    min-height: 16px;
    margin-left: auto
}

.accordion button.title-wrap .category {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 600
}

.accordion button.title-wrap .title {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.accordion .content {
    padding: var(--accordion-content-padding);
    border-bottom: 1px solid #ededed;
    background: #f8f8f8;
    word-wrap: break-word;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word
}

.accordion .content img {
    max-width: 100%
}

.accordion .content:not(:only-child) {
    display: var(--accordion-show, none)
}

.accordion .open {
    --accordion-show: var(--accordion-show-custom, block);
    --accordion-arrow-p: rotate(180deg)
        /* translateY(50%)*/
}

.accordion .open .title-wrap .icon-chevron-down {
    -webkit-transform: var(--accordion-arrow-p);
    transform: var(--accordion-arrow-p)
}

.accordion .open button.title-wrap {
    border-bottom: 1px solid #ddd
}

.accordion .open button.title-wrap .title {
    --typo-custom-c: var(--accordion-title-c, #5F0080)
}

.accordion .open button.title-wrap::before {
    --typo-custom-c: #5F0080
}

.accordion .open button.title-wrap::after {
    -webkit-transform: var(--accordion-arrow-p);
    transform: var(--accordion-arrow-p)
}

.tab .tabs {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.tab .tab-item {
    white-space: nowrap;
    font-size: var(--tab);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600;
    --typo-custom-c: #777
}

.tab .tab-item:only-child {
    pointer-events: none
}

.tab .tabs-content[aria-hidden=true] {
    display: none
}

.tab.line .scroll-area {
    margin-bottom: var(--tab-item-mb, 16px);
    -webkit-overflow-scrolling: touch;
    -webkit-touch-callout: none;
    overflow-x: auto;
    overflow-y: hidden
}

@media only screen and (min-width: 768px) {
    .tab.line .scroll-area {
        width: 100%;
        box-shadow: inset 0 -1px 0 #ddd
    }
}

@media only screen and (max-width: 767px) {
    .tab.line .scroll-area {
        --tab-item-mb: 20px;
        min-width: 100%;
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1);
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.tab.line .tabs {
    overflow: hidden;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    display: grid;
    grid-template-columns: var(--tabs-column, repeat(auto-fit, minmax(10px, 1fr)));
    gap: var(--tabitem-gap, 0)
}

.tab.line .tab-item {
    padding: 0 var(--tabitom-px, 12px);
    --typo-custom-lh: 45px
}

.tab.line .tab-item[aria-selected=true] {
    --typo-custom-c: var(--tab-line-active, #5F0080);
    box-shadow: inset 0 -2px 0 var(--tab-line-active, #5F0080)
}

.tab.line .tab-item:hover {
    --typo-custom-c: var(--tab-line-active, #5F0080)
}

.tab.line .tab-item:disabled {
    --typo-custom-c: #ccc
}

@media only screen and (max-width: 767px) {
    .tab.line {
        width: 100%;
        --tabitem-gap: 16px
    }

    .tab.line .tabs {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        gap: 0
    }

    .tab.line .tabs:before {
        display: inline-block;
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: var(--side-padding);
        right: calc(var(--side-padding) + constant(safe-area-inset-right));
        right: calc(var(--side-padding) + env(safe-area-inset-right));
        height: 1px;
        background-color: #ddd
    }

    .tab.line .tab-item {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        --tabitom-px: 8px;
        --typo-custom-lh: 34px;
        --tabitem-gap: 8px
    }

    .tab.line .tab-item~.tab-item {
        margin-left: var(--tabitem-gap, 0)
    }
}

.tab.box {
    position: relative
}

.tab.box .tabs {
    display: grid;
    grid-template-columns: var(--tabs-grid-columns, repeat(auto-fit, minmax(25%, 1fr)));
    background-color: var(--tabs-bg, #fff);
    border-radius: var(--tabs-radius, 0);
    overflow: hidden;
    margin-bottom: var(--box-tabs-mb, 16px);
    background-image: url("../image/icon/tab-pattern-4.jpg");
    background-size: 100% auto;
    position: relative
}

.tab.box .tabs:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: inset 0 1px 0 #ddd, inset 0 -1px 0 #ddd, inset 1px 0 0 #ddd, inset -1px 0 0 #ddd;
    pointer-events: none
}

.tab.box .tab-item {
    min-width: 0;
    padding: 0 14px;
    --typo-custom-lh: 55px;
    --tabitem-bdw: 1px;
    background-color: var(--tabitem-active-bg, var(--tabitem-bg, transparent));
    border-right: var(--tabitem-bdw) solid #ddd;
    border-bottom: var(--tabitem-bdw) solid #ddd;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    --typo-custom-c: #333;
    --typo-custom-w: 500;
    line-height: calc(var(--typo-custom-lh) - var(--tabitem-bdw))
}

.tab.box .tab-item[aria-selected=true] {
    --tabitem-bdw: 0;
    --typo-custom-c: #fff;
    --typo-custom-w: 600;
    --tabitem-active-bg: #5F0080;
    --tabitem-bdc: #5F0080;
    line-height: var(--typo-custom-lh)
}

.tab.box .tab-item:not([aria-selected=true]):hover {
    --typo-custom-c: #333
}

.tab.box .tab-item:disabled {
    --typo-custom-c: #ccc;
    --tabitem-active-bg: #EDEDED
}

.tab.box .tab-item:nth-child(n+1):nth-child(-n+4) {
    --tabitem-bg: #fff
}

@media only screen and (max-width: 767px) {
    .tab.box {
        --tabs-grid-columns: repeat(auto-fit, minmax(50%, 1fr))
    }

    .tab.box .tabs {
        --box-tabs-mb: 20px;
        background-image: none
    }

    .tab.box .tab-item {
        --tab: 12px;
        --typo-custom-lh: 35px
    }
}

.table-wrap {
    margin-top: 10px;
    overflow-x: auto;
    overflow-y: hidden
}

@media only screen and (max-width: 767px) {
    .table-wrap {
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1);
        -webkit-overflow-scrolling: touch;
        -webkit-touch-callout: none;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .table-wrap:after {
        content: "";
        display: block;
        height: 100%;
        width: var(--side-padding);
        width: calc(constant(safe-area-inset-right) + var(--side-padding));
        width: calc(env(safe-area-inset-right) + var(--side-padding));
        min-height: 10px;
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }
}

.table-wrap table {
    width: 100%;
    border-collapse: collapse;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .table-wrap table {
        margin-left: var(--side-padding);
        margin-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        margin-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.table-wrap table>caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.table-wrap table>thead>tr:first-child td:only-child,
.table-wrap table>tbody>tr:first-child td:only-child {
    height: 55px
}

.table-wrap table>thead>tr>th,
.table-wrap table>thead>tr>td,
.table-wrap table>tbody>tr>th,
.table-wrap table>tbody>tr>td {
    padding: 8px;
    line-height: 21px
}

.table-wrap table>thead>tr>th,
.table-wrap table>tbody>tr>th {
    height: 39px;
    font-weight: 500;
    background-color: #F8F8F8;
    border-top: 1px solid #777;
    border-bottom: 1px solid #DDDDDD
}

@media only screen and (max-width: 767px) {

    .table-wrap table>thead>tr>th,
    .table-wrap table>tbody>tr>th {
        white-space: nowrap
    }
}

.table-wrap table>thead>tr>td,
.table-wrap table>tbody>tr>td {
    height: 47px;
    padding: 8px;
    border-bottom: 1px solid #EDEDED;
    background-color: #fff
}

.table-wrap table>thead>tr>td.truncate,
.table-wrap table>tbody>tr>td.truncate {
    max-width: var(--cell-max-width, 200px)
}

.table-wrap table>thead>tr>td.truncate>span,
.table-wrap table>tbody>tr>td.truncate>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.table-wrap table>thead>tr>td.full,
.table-wrap table>tbody>tr>td.full {
    min-width: 200px;
    max-width: 0;
    width: 100%;
    text-align: left
}

.table-wrap table .check-wrap {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: middle
}

.table-wrap table .select-wrap {
    min-width: 104px
}

.table-wrap table .form-basic {
    min-width: 144px
}

.table-wrap table th>a,
.table-wrap table td>a {
    color: #5f0080;
    -webkit-text-decoration-line: underline;
    -moz-text-decoration-line: underline;
    text-decoration-line: underline
}

.table-wrap table .align-left {
    text-align: left
}

.table-wrap table .align-right {
    text-align: right
}

.table-wrap.table-dimmed .thumbnail-wrap:before {
    background-color: rgba(0, 0, 0, .05)
}

.table-wrap.table-dimmed .item-element,
.table-wrap.table-dimmed .prd-ctrl {
    pointer-events: none
}

.table-wrap.table-dimmed .quantity-box {
    background-color: #ededed
}

.table-wrap.table-dimmed .quantity-box button {
    background-image: var(--quantity-icon-disabled-url)
}

.table-wrap.table-dimmed .quantity-box input {
    color: #999
}

.table-wrap.table-dimmed td {
    background-color: rgba(0, 0, 0, .05)
}

.table-wrap.table-dimmed td .icon-alarm,
.table-wrap.table-dimmed td .icon-alarm.active {
    --icon-active-url: url(../image/product/alarm-disabled.svg)
}

.table-wrap.table-dimmed td .icon-alarm,
.table-wrap.table-dimmed td .btn-cart,
.table-wrap.table-dimmed td .btn-order {
    border-color: #d8d8d8;
    background-color: #d8d8d8
}

.table-wrap.table-dimmed td .icon-alarm span,
.table-wrap.table-dimmed td .btn-cart span,
.table-wrap.table-dimmed td .btn-order span {
    color: #999 !important
}

.tag-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.tag {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: var(--tag-mr, 4px);
    white-space: nowrap
}

.tag[class*=tag-event-] {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 20px;
    --typo-custom-w: 600;
    padding: 0 8px;
    overflow: hidden;
    border-radius: 10px
}

.tag.tag-event-ing {
    background-color: #BD76FF;
    --typo-custom-c: #fff
}

.tag.tag-event-end {
    background-color: #999;
    --typo-custom-c: #fff
}

.tag[class*=bg-] {
    font-size: 10px;
    line-height: 15px;
    font-weight: 700;
    padding: 0 8px;
    overflow: hidden;
    border-radius: 4px;
    color: #fff
}

.tag.bg-red {
    background-color: #E6002D
}

.tag.tag-prd {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-w: 600;
    padding: 0 6px;
    overflow: hidden;
    border-radius: 9px
}

.tag.tag-mr {
    border: 1px solid #f08300;
    --typo-custom-c: #F08300;
    border-radius: 4px
}

.tag.tag-promotion {
    border: 1px solid #522ece;
    --typo-custom-c: #522ECE;
    border-radius: 4px
}

.tag.tag-product {
    background-color: #4999ee;
    --typo-custom-c: #fff
}

.tag.tag-event {
    background-color: #d54361;
    --typo-custom-c: #fff
}

.tag.tag-exhibition,
.tag.tag-required {
    background-color: #7346f3;
    --typo-custom-c: #fff
}

.tag.tag-type {
    border: 1px solid #522ece;
    --typo-custom-c: #522ECE;
    border-radius: 4px
}

.tag.tag-quantity {
    padding: 0 6px;
    border-radius: 7.5px;
    background: rgba(255, 145, 0, .1);
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #B26600;
    --typo-custom-lh: 15px
}

.tag.tag-deadline {
    padding: 0 6px;
    border-radius: 7.5px;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #777;
    --typo-custom-lh: 13px;
    --typo-custom-w: 500;
    border: 1px solid #ddd
}

.disabled .tag.tag-prd {
    border-color: var(--tag-disabled-color, #D8D8D8)
}

.disabled .tag-product,
.disabled .tag-event,
.disabled .tag-exhibition,
.disabled .tag-required {
    background-color: var(--tag-disabled-color, #D8D8D8);
    color: #fff
}

.disabled .tag-mr,
.disabled .tag-promotion,
.disabled .tag-type {
    color: var(--tag-disabled-color, #D8D8D8)
}

.item-swiper {
    position: relative
}

@media only screen and (min-width: 768px) {
    .item-swiper .swiper-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        gap: 0
    }
}

.main .item-swiper .swiper-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 0
}

.main .item-swiper .swiper-wrapper .swiper-slide {
    width: 240px
}

.main .item-swiper .swiper-wrapper .swiper-slide:not(:last-child) {
    margin-right: var(--item-swiper-gap, 20px)
}

@media only screen and (max-width: 767px) {
    .main .item-swiper .swiper-wrapper .swiper-slide {
        width: calc((100% - var(--item-swiper-gap))/2);
        --item-swiper-gap: 10px
    }
}

.item-swiper .swiper-arrow {
    --swiper-arrow-top: 120px
}

.prd-ctrl {
    margin-top: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    position: relative
}

.prd-ctrl .quantity-wrap~.btn.btn-cart {
    width: 35px
}

.prd-ctrl .quantity-wrap~.btn.btn-cart:before {
    content: "";
    margin-right: 0;
    --icon-url: url("../image/product/cart-bfff.svg")
}

.prd-ctrl .quantity-wrap~.btn.btn-cart span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.prd-ctrl .btn.icon-alarm {
    margin-right: var(--btn-alarm-mr, 4px);
    min-width: var(--btn-alarm-pc-w, 141px)
}

.prd-ctrl .btn.icon-alarm span {
    color: var(--alarm-active-c, #333) !important
}

.prd-ctrl .btn.icon-alarm.active {
    --alarm-active-c: #5F0080;
    --icon-active-url: url("../image/product/alarm-active.svg")
}

.prd-ctrl .btn.icon-alarm.active span {
    --item-element-disabled-color: #5F0080 !important
}

@media only screen and (max-width: 767px) {
    .prd-ctrl .btn.icon-alarm {
        width: var(--btn-alarm-mo-w, 100%);
        margin-bottom: var(--btn-1line-mb, 4px);
        min-width: unset
    }
}

.prd-ctrl .btn.btn-cart {
    width: calc(50% - 2px);
    margin-right: 4px;
    --button-bdc: #BD76FF;
    --button-bdc-hover: #CE9AFF;
    --button-bdc-active: #AE57FF;
    --button-bgc: #BD76FF;
    --button-bgc-hover: #CE9AFF;
    --button-bgc-active: #AE57FF
}

.prd-ctrl .btn.btn-cart:before {
    content: unset
}

.prd-ctrl .btn-order {
    padding: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

td>.prd-ctrl {
    min-width: 142px;
    --btn-alarm-mo-w: 137px;
    --btn-alarm-mr: 0;
    --btn-1line-mb: 0
}

td>.prd-ctrl .quantity-wrap {
    margin-right: 4px;
    width: 102px
}

td>.prd-ctrl .btn.btn-cart {
    margin-right: 0
}

td>.prd-ctrl .btn-order {
    width: 61px;
    margin-left: 4px
}

td>.prd-ctrl .body3 {
    padding-top: 4px;
    max-width: 150px;
    white-space: normal
}

td>.prd-ctrl>[data-tippy-root] {
    position: absolute !important;
    width: 175px !important;
    -webkit-transform: unset !important;
    transform: unset !important;
    bottom: calc(100% + 4px) !important;
    left: auto !important;
    right: 0 !important
}

.item-element {
    min-width: 0;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: unset
}

@media only screen and (max-width: 767px) {
    .item-element {
        --prd-thumb-w: 70%
    }
}

.prd-item-list.type-column .item-element {
    --prd-thumb-w: 100%
}

@media only screen and (min-width: 768px) {
    .prd-item-list.type-column .item-element {
        --prd-thumb-size: 175px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0
    }

    .prd-item-list.type-column .item-element .item-detail {
        position: static
    }

    .prd-item-list.type-column .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .prd-item-list.type-column .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }
}

.prd-item-list.prd-master.type-column .item-element {
    --item-list-gap: 20px 30px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
    padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
    padding-top: var(--prd-el-p, 0px);
    padding-bottom: var(--prd-el-p, 0px);
    padding-right: var(--prd-el-p, 0px);
    --prd-tag-promotion-t: 0
}

.prd-item-list.prd-master.type-column .item-element .item-detail {
    position: static
}

.prd-item-list.prd-master.type-column .item-element .thumbnail-container {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: var(--prd-el-p, 0px);
    width: var(--prd-thumb-size)
}

.prd-item-list.prd-master.type-column .item-element .tag-wrap {
    top: calc((100% - var(--prd-thumb-size))/2)
}

.prd-item-list.prd-master.type-column .item-element .user-action .btn {
    --item-height: 24px
}

.item-element .item-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: left;
    position: relative
}

@media only screen and (min-width: 768px) {
    .prd-item-list.type-column .item-element .item-detail {
        --item-info-container-mt: 0;
        --item-info-container-mb: 8px
    }
}

.prd-item-list.prd-master.type-column .item-element .item-detail {
    --item-info-container-mb: 12px
}

.item-element .thumbnail-container {
    width: 100%;
    display: block
}

.item-element .thumbnail-wrap {
    display: block;
    width: var(--prd-thumb-w, 168px);
    max-width: 100%;
    padding-bottom: var(--prd-thumb-w, 168px);
    position: relative;
    overflow: hidden;
    border-radius: var(--item-thum-radius, 12px);
    background: #fff;
    margin: auto
}

.item-element .thumbnail-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-color: #fff;
    -webkit-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out
}

.item-element .thumbnail-wrap:before {
    content: var(--item-thum-line, "");
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--item-thum-radius, 12px);
    border: 1px solid #ededed;
    opacity: var(--item-thum-line-op, 0.8);
    z-index: 1;
    box-sizing: border-box;
    pointer-events: none
}

.item-element .thumbnail-wrap:after {
    content: "";
    display: var(--search-show, block);
    position: absolute;
    bottom: 8px;
    left: 50%;
    margin-left: calc(var(--prd-thumb-size, 100%)/2);
    -webkit-transform: translateX(calc((100% + 8px) * -1));
    transform: translateX(calc((100% + 8px) * -1));
    right: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.82);
    background-image: url("../image/icon/search.svg");
    background-size: 16px auto;
    background-position: center;
    background-repeat: no-repeat
}

.item-element .desc {
    -webkit-box-ordinal-group: -8;
    -webkit-order: -9;
    -ms-flex-order: -9;
    order: -9;
    margin-right: 4px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 500;
    --typo-custom-c: #777;
    --typo-custom-lh: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: var(--item-title-mb, 6px);
    margin-top: 0;
    max-width: calc(100% - var(--prd-flag-total-width, 0px))
}

.item-element .tag-mar~.desc {
    --prd-flag-total-width: 61px
}

.item-element .tag-promotion~.desc {
    --prd-flag-total-width: 52px
}

.item-element .tag-mr~.tag-promotion~.desc {
    --prd-flag-total-width: 113px
}

.item-element .status {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #E6002D;
    --typo-custom-w: 700
}

.item-element .status:before {
    display: inline-block;
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 2px;
    background-image: var(--prd-status-icon);
    background-size: contain;
    background-repeat: no-repeat
}

.item-element .status.icon-clock {
    --prd-status-icon: url("../image/product/icon-clock.svg");
    --prd-status-disabled-icon: url("../image/product/icon-clock-disabled.svg")
}

.item-element .status.icon-calendar {
    --prd-status-icon: url("../image/product/icon-calendar.svg");
    --prd-status-disabled-icon: url("../image/product/icon-calendar-disabled.svg")
}

@media only screen and (max-width: 767px) {
    .item-element .status {
        position: static;
        -webkit-box-ordinal-group: 10;
        -webkit-order: 9;
        -ms-flex-order: 9;
        order: 9;
        margin-top: 6px;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

.prd-item-list .item-element .tag-promotion {
    margin-left: auto;
    margin-right: 0
}

@media only screen and (max-width: 767px) {
    .prd-item-list .item-element .tag-promotion {
        margin-bottom: calc(var(--item-title-mb, 6px) - 1px)
    }
}

.item-element .tag-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 100%
}

.prd-item-list .item-element .tag-wrap {
    width: var(--prd-thumb-w, 168px);
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 4px 8px 0
}

.prd-item-list .item-element .tag-wrap .tag {
    margin-top: 4px
}

.item-element .tag-wrap .tag:last-child {
    margin-right: 0
}

.item-element .tag-wrap .num {
    display: inline-block;
    margin-top: 4px;
    margin-right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    text-align: center;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #fff;
    --typo-custom-lh: 24px;
    --typo-custom-w: 600;
    background-color: #5f0080
}

.item-element .info-container {
    min-width: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    --type-custom-fw: 500;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.prd-item-list .item-element .info-container {
    padding-top: var(--item-info-container-mt, 12px)
}

.item-element .title-main {
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-line-clamp: 1;
    font-size: 13px;
    letter-spacing: -0.02em;
    line-height: 17px;
    font-weight: 500;
    color: #000;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.item-element .title-main em {
    color: #f08300
}

.item-element .title-sub {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    min-width: 0;
    min-height: 16px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-c: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 2px
}

.item-element .title-sub .divider-vertical-line {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 2px 4px 0;
    vertical-align: top
}

.item-element .title-sub span:not(.divider-vertical-line):empty+.divider-vertical-line {
    display: none
}

.item-element .title-sub b {
    display: none
}

.prd-item-list .item-element .title-sub {
    margin-top: 4px
}

.prd-item-list .item-element .title-sub+.title-sub {
    margin-top: 2px
}

.item-element .title-sub.prd-detail span:not(.divider-vertical-line) {
    color: #777
}

.item-element .prd-order-num {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    margin-top: 8px;
    --typo-custom-lh: 16px;
    --typo-custom-c: #333
}

.item-element .message {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    border-top: 1px dotted #ddd;
    margin-top: 8px;
    padding-top: 12px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #000;
    --typo-custom-w: 500
}

.item-element .quantity-wrap .quantity-box {
    background-color: #fff
}

.prd-item-list .item-element .quantity-wrap {
    width: 136px;
    margin-right: 4px;
    margin-bottom: var(--prd-1line-mb, 0)
}

.prd-item-list .item-element .quantity-wrap .quantity-box {
    width: 100%
}

.prd-item-list .item-element .quantity-wrap input,
.prd-item-list .item-element .quantity-wrap button {
    height: var(--quantity-h, 33px) !important
}

@media only screen and (max-width: 767px) {
    .prd-item-list .item-element .quantity-wrap {
        width: 100%;
        margin-right: 0
    }
}

.item-element .etc {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    background-color: rgba(0, 0, 0, 0);
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 24px;
    --item-element-disabled-color: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 12px
}

.item-element .etc b {
    padding-right: 4px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: #5f0080;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.item-element .etc span {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    color: #999;
    font-size: 10px;
    letter-spacing: -0.02em
}

@media only screen and (max-width: 767px) {
    .item-element .etc span {
        display: none
    }
}

.item-element .etc .icon-right {
    display: inline-block;
    margin-left: 4px;
    width: 12px;
    height: 12px;
    background: url("../image/icon/chevron-down-b999.svg");
    background-size: cover;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.prd-item-list.type-column .item-element .etc {
    margin-bottom: 4px
}

.prd-item-list .item-element>.user-action {
    padding-top: var(--item-info-container-mb, 12px)
}

.prd-item-list .item-element>.user-action .btn-order,
.prd-item-list .item-element>.user-action .btn-cart {
    margin-top: var(--prd-2line-mt, auto)
}

@media only screen and (max-width: 767px) {
    .prd-item-list .item-element>.user-action {
        --btn-1line-mb: 0;
        --prd-2line-mt: 4px
    }
}

.prd-item-list .item-element>.user-action .etc {
    width: 100%;
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start
}

.prd-item-list .item-element>.user-action .btn.icon-zzim {
    position: absolute;
    top: calc(var(--prd-thumb-size, 168px) - 38px);
    left: calc((100% - var(--prd-thumb-size, 168px))/2 + var(--prd-thumb-size, 168px));
    -webkit-transform: translateX(calc((100% + 44px) * -1));
    transform: translateX(calc((100% + 44px) * -1));
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.82);
    padding: 7px
}

@media only screen and (max-width: 767px) {
    .prd-item-list .item-element>.user-action .btn.icon-zzim {
        top: calc((50vw - 5px - var(--side-padding) - var(--scrollbar-width, 0)/2 - var(--prd-list-custom-p, 0px))*var(--thum-percentate, 1));
        top: calc(((100vw - constant(safe-area-inset-left) - constant(safe-area-inset-right))/2 - 5px - var(--side-padding) - var(--scrollbar-width, 0)/2 - var(--prd-list-custom-p, 0px))*var(--thum-percentate, 1));
        top: calc(((100vw - env(safe-area-inset-left) - env(safe-area-inset-right))/2 - 5px - var(--side-padding) - var(--scrollbar-width, 0)/2 - var(--prd-list-custom-p, 0px))*var(--thum-percentate, 1));
        left: 85%;
        --thum-percentate: 0.7;
        -webkit-transform: translate(-74px, -100%);
        transform: translate(-74px, -100%);
        margin-top: -8px
    }
}

@media only screen and (max-width: 279px) {
    .prd-item-list .item-element>.user-action .btn.icon-zzim {
        top: 83.3px
    }
}

.prd-item-list.prd-master .item-element>.user-action {
    --item-info-container-mb: 8px
}

.prd-item-list.type-column .item-element>.user-action {
    --btn-alarm-pc-w: calc(50% - 2px);
    --btn-alarm-mo-w: 100%;
    --btn-alarm-mb: 0;
    --item-info-container-mb: 4px
}

@media only screen and (min-width: 768px) {
    .type-column:not(.prd-master) .item-element>.user-action .btn.icon-zzim {
        right: auto;
        top: calc((100% - var(--prd-thumb-size))/2 + var(--prd-thumb-size) - 38px);
        left: calc(var(--prd-thumb-size))
    }
}

.item-element.disabled img {
    -webkit-filter: grayscale(50%);
    filter: grayscale(50%);
    opacity: .4
}

.item-element.disabled .num {
    background-color: #d8d8d8
}

.item-element.disabled div.etc b {
    color: #d8d8d8
}

.item-element.disabled span:not(.num):not(.tag-prd),
.item-element.disabled em,
.item-element.disabled input {
    color: var(--item-element-disabled-color, #D8D8D8) !important
}

.item-element.disabled .btn:disabled span {
    color: #999 !important
}

.item-element.disabled .quantity-box {
    border-color: #d8d8d8;
    background-color: #ededed;
    --item-element-disabled-color: #999
}

.item-element.disabled .btn-quantity {
    background-image: var(--quantity-icon-disabled-url)
}

.item-element.disabled .btn.cta:not(.filled):not(:disabled) span {
    --item-element-disabled-color: #333
}

.item-element.disabled .status:before {
    background-image: var(--prd-status-disabled-icon)
}

.prd-price {
    margin-top: var(--item-price-mt, 6px);
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.prd-item-list .prd-price {
    padding-right: 60px;
    position: relative
}

.prd-item-list .prd-price>span {
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .prd-item-list .prd-price {
        padding-right: 0
    }
}

.prd-price .discounted {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    grid-column: span 2;
    -webkit-text-decoration-line: line-through;
    -moz-text-decoration-line: line-through;
    text-decoration-line: line-through;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--emphasis-text-color, #ccc);
    font-size: var(--discount-num-fz, var(--body3));
    --emphasis-text-color: #999;
    letter-spacing: -0.33px
}

.prd-price .price,
.prd-price .sale {
    min-width: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    line-height: 1;
    letter-spacing: -0.02em
}

.prd-price .price {
    color: var(--emphasis-text-color, #000);
    font-size: var(--price-num-fz, var(--body3));
    font-weight: 400;
    line-height: 16px;
    margin-right: var(--price-num-mr, 6px)
}

.prd-price .price span:first-child {
    font-size: var(--price-num-fz, 16px);
    font-weight: 800
}

.prd-price .sale {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    color: var(--emphasis-text-color, #E6002D);
    margin-right: 6px;
    font-weight: 600;
    margin-right: 2px;
    font-size: var(--body1);
    letter-spacing: -0.02em
}

.prd-price.fz-large .price {
    margin-left: auto
}

.prd-price.fz-large .price:only-child span:first-child {
    --price-num-fz: 16px
}

td>.prd-price {
    vertical-align: top;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: unset;
    max-width: 100%;
    --item-price-mt: 0;
    --discount-num-f: 12px;
    min-width: 142px
}

td>.prd-price .sale {
    margin-right: 4px
}

td>.prd-price .sale span {
    font-size: 12px;
    line-height: 16px;
    font-weight: 600
}

td>.prd-price .discounted span {
    font-size: 12px;
    line-height: 16px
}

td>.prd-price .price {
    --price-num-mr: 0px;
    --price-num-fz: 14px;
    line-height: 21px;
    margin-top: 2px;
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

td>.prd-price .price span {
    font-weight: 600 !important
}

.prd-item-list:not(.swiper-wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--item-list-columns, 5), 1fr);
    gap: var(--item-list-gap, 24px 20px)
}

@media only screen and (max-width: 767px) {
    .prd-item-list:not(.swiper-wrapper) {
        --item-list-columns: 2;
        --item-list-gap: 20px 10px
    }
}

.prd-item-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (min-width: 768px) {
    .prd-item-list .swiper-slide {
        width: 240px;
        margin-right: 20px
    }
}

@media only screen and (max-width: 767px) {
    .prd-item-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 10px
    }
}

@media only screen and (max-width: 767px) {
    .swiper.swiper-horizontal .prd-item-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        grid-template-columns: unset;
        gap: unset
    }
}

@media only screen and (max-width: 767px) {
    .swiper.swiper-horizontal~.swiper-arrow[class*=swiper-button-] {
        top: 50%;
        --swiper-arrow-display: flex;
        --swiper-arrow-x: -10px;
        --swiper-arrow-size: 40px;
        --swiper-arrow-icon-size: 18px;
        --swiper-arrow-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.12)
    }

    .item-swiper .swiper.swiper-horizontal~.swiper-arrow[class*=swiper-button-] {
        top: calc((100vw - 42px)/4);
        top: calc((100vw - 42px - constant(safe-area-inset-left) - constant(safe-area-inset-right))/4);
        top: calc((100vw - 42px - env(safe-area-inset-left) - env(safe-area-inset-right))/4)
    }
}

.banner-item-list {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px
}

.banner-item-list .banner-cover {
    position: relative;
    height: 413px;
    border-radius: 16px;
    overflow: hidden
}

.banner-item-list .banner-cover>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.banner-item-list .prd-item-list {
    --board-column: repeat(2, 1fr);
    padding: 26px;
    background-color: #fff;
    --item-list-gap: 20px 30px;
    border-radius: 16px
}

.banner-item-list .item-element {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px
}

.banner-item-list .item-element .item-detail {
    display: grid;
    grid-template-columns: 107px 1fr;
    gap: 16px
}

.banner-item-list .item-element .info-container {
    margin: 0;
    min-width: 0;
    margin-right: -110px;
    padding-top: 10px;
    padding-bottom: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.banner-item-list .item-element .title {
    -webkit-line-clamp: 1
}

.banner-item-list .item-element .prd-price {
    margin-top: auto;
    padding-right: 110px
}

.banner-item-list .item-element .discounted,
.banner-item-list .item-element .sale {
    display: none
}

.banner-item-list .item-element .tag {
    bottom: 2px
}

.banner-item-list .item-element .user-action {
    margin-bottom: 10px
}

.banner-item-list .item-element:before {
    position: absolute;
    top: -3px;
    left: -3px;
    width: 24px;
    height: 24px;
    background-image: var(--icon-best-top, url("../image/product/icon-best.svg"));
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-align: center;
    line-height: 24px;
    z-index: 2;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.45px;
    color: #fff;
    pointer-events: none
}

.banner-item-list .item-element:nth-child(1):before,
.banner-item-list .item-element:nth-child(2):before,
.banner-item-list .item-element:nth-child(3):before {
    --icon-best-top: url("../image/product/icon-best-top.svg")
}

.banner-item-list .item-element:nth-child(1):before {
    content: "1"
}

.banner-item-list .item-element:nth-child(2):before {
    content: "2"
}

.banner-item-list .item-element:nth-child(3):before {
    content: "3"
}

.banner-item-list .item-element:nth-child(4):before {
    content: "4"
}

.banner-item-list .item-element:nth-child(5):before {
    content: "5"
}

.banner-item-list .item-element:nth-child(6):before {
    content: "6"
}

@media only screen and (min-width: 768px) {
    .prd-item-list.type-column:not(.prd-master) {
        --item-info-container-mt: 0;
        --item-list-columns: 1;
        --item-list-gap: 32px
    }
}

.prd-item-list.type-column.prd-master {
    --item-info-container-mt: 0;
    --item-list-columns: 1;
    --item-list-gap: 20px
}

.prd-item-list.type-column.prd-master .item-element {
    --prd-thumb-size: 85px
}

@media only screen and (max-width: 767px) {
    .prd-item-list.type-column.prd-master {
        --prd-thumb-size: 85px
    }
}

.prd-item-list.type-mini {
    --item-list-columns: 1;
    --item-info-container-mt: 0
}

.prd-item-list.type-mini .title-main {
    white-space: normal
}

.prd-item-list.type-line .item-element {
    --prd-thumb-size: 102px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;
    --prd-el-p: 15px;
    min-height: calc(var(--prd-thumb-size) + var(--prd-el-p)*2)
}

@media only screen and (max-width: 767px) {
    .prd-item-list.type-line {
        --item-list-columns: 1;
        --item-info-container-mt: 0
    }

    .prd-item-list.type-line .item-element {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0
    }

    .prd-item-list.type-line .item-element .item-detail {
        position: static
    }

    .prd-item-list.type-line .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .prd-item-list.type-line .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }
}

.prd-ctrl>[data-tippy-root],
.reorder-btns [data-tippy-root],
.floating-bar [data-tippy-root] {
    position: relative !important;
    inset: unset !important;
    -webkit-transform: translateY(calc(-100% - var(--cart-btn-h, 35px) - 4px)) !important;
    transform: translateY(calc(-100% - var(--cart-btn-h, 35px) - 4px)) !important;
    grid-column: span 2;
    height: 0;
    width: 100%
}

.prd-ctrl>[data-tippy-root] .tippy-box,
.reorder-btns [data-tippy-root] .tippy-box,
.floating-bar [data-tippy-root] .tippy-box {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 100% !important;
    border-radius: 4px;
    background: rgba(51, 51, 51, 0.9);
    text-align: center;
    --typo-custom-w: 500;
    --typo-custom-c: #fff;
    --tippy-p: 12px 8px;
    width: 100%
}

@media only screen and (max-width: 344px) {

    .prd-ctrl>[data-tippy-root] .tippy-box,
    .reorder-btns [data-tippy-root] .tippy-box,
    .floating-bar [data-tippy-root] .tippy-box {
        --body2: 11px
    }
}

.prd-ctrl>[data-tippy-root] .tippy-content span,
.reorder-btns [data-tippy-root] .tippy-content span,
.floating-bar [data-tippy-root] .tippy-content span {
    display: block;
    width: 100%
}

.prd-ctrl>[data-tippy-root] .tippy-content a,
.reorder-btns [data-tippy-root] .tippy-content a,
.floating-bar [data-tippy-root] .tippy-content a {
    margin-top: 8px !important;
    width: auto !important
}

.prd-ctrl>[data-tippy-root] .tippy-content a:before,
.reorder-btns [data-tippy-root] .tippy-content a:before,
.floating-bar [data-tippy-root] .tippy-content a:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.floating-bar [data-tippy-root] {
    -webkit-transform: translateY(calc(-100% - 47px - 21px)) !important;
    transform: translateY(calc(-100% - 47px - 21px)) !important
}

@media only screen and (max-width: 767px) {
    .floating-bar [data-tippy-root] {
        -webkit-transform: translateY(calc(-100% - 41px - 4px)) !important;
        transform: translateY(calc(-100% - 41px - 4px)) !important
    }
}

.prd-item-list div.item-detail span.thumbnail-container {
    --search-show: none
}

.progress-bar {
    padding-top: 13px;
    display: grid;
    grid-template-columns: var(--bar-columns, repeat(3, 1fr));
    gap: var(--bar-gap, 2px 4px);
    --bar-height: 6px;
    --bar-radius: 3px;
    --bar-base-color: #D9D9D9;
    --bar-active-color: #5F0080
}

.progress-bar span {
    display: block;
    width: 100%
}

.progress-bar .bar {
    height: var(--bar-height, 6px);
    border-radius: var(--bar-radius);
    background-color: var(--bar-base-color);
    position: relative
}

.progress-bar .bar:before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--bar-radius);
    height: 100%;
    background-color: var(--bar-active-color);
    width: var(--percentage-position, 0)
}

.progress-bar .bar:after {
    content: "";
    display: var(--bar-after-display, none);
    position: absolute;
    left: var(--percentage-position, 0)
}

.progress-bar .bar-num {
    text-align: right;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: var(--bar-base-color);
    --typo-custom-w: 600
}

.progress-bar.step1 .bar:nth-child(1) {
    --bar-after-display: block;
    --percentage-position: calc((var(--status) - var(--base, 0)) * 100 / (var(--goal) - var(--base, 0)) * 1%)
}

.progress-bar.step2 .bar:first-child {
    --percentage-position: 100%
}

.progress-bar.step2 .bar:nth-child(2) {
    --bar-after-display: block;
    --percentage-position: calc((var(--status) - var(--base, 0)) * 100 / (var(--goal) - var(--base, 0)) * 1%)
}

.progress-bar.step2 .bar-num:nth-child(3n+1) {
    color: var(--bar-active-color)
}

.progress-bar.step3 .bar:nth-child(n+1):nth-child(-n+2) {
    --percentage-position: 100%
}

.progress-bar.step3 .bar:nth-child(3) {
    --bar-after-display: block;
    --percentage-position: calc((var(--status) - var(--base, 0)) * 100 / (var(--goal) - var(--base, 0)) * 1%)
}

.progress-bar.step3 .bar-num:nth-child(3n+1),
.progress-bar.step3 .bar-num:nth-child(3n+2) {
    color: var(--bar-active-color)
}

.progress-bar.step4 .bar:nth-child(n+1):nth-child(-n+3) {
    --percentage-position: 100%
}

.progress-bar.step4 .bar:nth-child(4) {
    --bar-after-display: block;
    --percentage-position: calc((var(--status) - var(--base, 0)) * 100 / (var(--goal) - var(--base, 0)) * 1%)
}

.progress-bar.step5 .bar:nth-child(n+1):nth-child(-n+4) {
    --percentage-position: 100%
}

.progress-bar.step5 .bar:nth-child(5) {
    --bar-after-display: block;
    --percentage-position: calc((var(--status) - var(--base, 0)) * 100 / (var(--goal) - var(--base, 0)) * 1%)
}

.no-contents {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: var(--no-contents-py, calc(110px - var(--filter-pb, 16px)));
    padding-bottom: var(--no-contents-py, calc(129px - var(--content-pb)))
}

.no-contents:empty {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: auto !important
}

.no-contents .img-wrap {
    width: 56px;
    margin-bottom: 16px
}

.no-contents .text-wrap {
    text-align: center
}

.no-contents .text-wrap .h3 {
    margin-bottom: 4px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.no-contents .text-wrap p {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

.no-contents .button-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: var(--nocontent-button-pt, 32px)
}

@media only screen and (max-width: 767px) {
    .no-contents {
        --no-contents-py: 0;
        min-height: 300px
    }
}

.grid-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.grid-item .image-wrap {
    position: relative;
    padding-bottom: var(--item-img-radio, 100%);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 18px
}

.grid-item .image-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.grid-item .text-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.grid-item .text-wrap .tag {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-bottom: 4px
}

.grid-item .text-wrap .h3 {
    --h3: 16px;
    --custom-typo-lh: 21px;
    min-height: var(--item-title-min-h, unset);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: var(--item-title-line, 1)
}

@media only screen and (max-width: 767px) {
    .grid-item .text-wrap .h3 {
        --item-title-min-h: var(--item-title-min-h-mo, unset)
    }
}

.grid-item .text-wrap .body2 {
    margin-top: auto;
    padding-top: 8px
}

.grid-item .btn-wrap {
    margin-top: auto;
    padding-top: 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.grid-item .btn-wrap button,
.grid-item .btn-wrap a {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0
}

.grid-item .btn-wrap button:not(:last-child),
.grid-item .btn-wrap a:not(:last-child) {
    margin-right: var(--item-gap)
}

.sub-detail-page-filter {
    display: grid;
    grid-template-columns: 1fr 279px auto;
    gap: 8px;
    --item-height: 35px;
    margin-bottom: 16px
}

.sub-detail-page-filter .btn {
    min-width: 73px
}

.sub-detail-page-filter .flex {
    min-width: 0
}

.sub-detail-page-filter .period-picker .btn:not(:first-child) {
    margin-left: 8px
}

.sub-detail-page-filter .period .divider {
    margin: 0 4px
}

.sub-detail-page-filter .period input {
    min-width: 0
}

.sub-detail-page-filter .options .select-wrap {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset;
    margin-right: 8px
}

.sub-detail-page-filter .options input {
    min-height: 35px
}

@media only screen and (min-width: 768px) {
    .sub-detail-page-filter .options {
        grid-column: span 3;
        --select-width: 208px
    }
}

@media only screen and (max-width: 767px) {
    .sub-detail-page-filter {
        grid-template-columns: 1fr;
        margin-bottom: 16px
    }

    .sub-detail-page-filter .btn {
        min-width: unset
    }

    .sub-detail-page-filter .period-picker .btn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .sub-detail-page-filter .period {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .sub-detail-page-filter .period .flex {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .sub-detail-page-filter .period .divider {
        margin: 0 8px
    }

    .sub-detail-page-filter>.btn {
        -webkit-box-ordinal-group: 10;
        -webkit-order: 9;
        -ms-flex-order: 9;
        order: 9;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .sub-detail-page-filter .options {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .sub-detail-page-filter .options .select-wrap {
        margin-right: 0;
        margin-bottom: 8px
    }
}

.side {
    position: fixed;
    top: calc(var(--top-banner-h, 0px) + var(--header-height, 158px) + var(--content-pt));
    left: 50%;
    width: calc(var(--content-width) + var(--side-padding)*2) !important;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 0;
    z-index: 6
}

.side+.section {
    margin-top: 0 !important
}

.side-banner {
    position: absolute;
    top: 0
}

@media only screen and (max-width: 767px) {
    .side-banner {
        display: none
    }
}

.side-banner.left {
    left: -152px;
    width: 160px
}

.side-banner.left .promo-btn {
    width: 100%;
    height: 52px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px;
    border-radius: 6px;
    background: var(--promo-btn-bg, #fff);
    box-shadow: inset 0 0 0 1.5px #5f0080;
    text-align: left;
    position: relative
}

.side-banner.left .promo-btn span {
    color: var(--promo-btn-c, #5F0080);
    font-size: 14px;
    line-height: 1.1;
    letter-spacing: 0
}

.side-banner.left .promo-btn span strong {
    display: block;
    font-weight: 800;
    line-height: 14px
}

.side-banner.left .promo-btn:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url("../image/main/arrow-down-right.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation: 3s ease-in-out infinite arrowScale;
    animation: 3s ease-in-out infinite arrowScale;
    position: absolute;
    right: 16px;
    bottom: 17px
}

.side-banner.left .hr {
    margin: var(--item-gap) auto 0;
    width: 75%;
    height: 1px;
    background-color: #ddd
}

.side-banner.left .side-banner-wrap:first-child {
    margin-top: -8px
}

.side-banner.right {
    right: -152px;
    width: 160px
}

@-webkit-keyframes arrowScale {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    20% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    40% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    85% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes arrowScale {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    20% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    40% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    85% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.side-banner-wrap img {
    border-radius: 6px;
    width: 160px;
    height: 240px;
    margin-top: 8px
}

.side-banner-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    border-radius: 6px;
    overflow: hidden
}

/* side 배너 1단 gap */
.side-banner-item:not(:first-child) {
    margin-top: var(--item-gap)
}


.side-banner-item i {
    margin-bottom: 4px;
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: var(--sidebanner-icon-url);
    background-repeat: no-repeat;
    background-size: contain
}

.side-banner-item span {
    margin-top: 6px;
    font-size: calc(var(--body3)*1.4);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333;
    --typo-custom-w: 600;
    text-align: center
}

.side-banner-item:hover i {
    background-image: var(--sidebanner-icon-active-url)
}

.side-banner-item:hover span {
    color: #5F0080
}

.side-right-top {
    margin-bottom: var(--item-gap);
    --swiper-slide-ctrl-left: 50%;
    --swiper-slide-ctrl-bottom: 8px;
    --swiper-slide-ctrl-trans: translateX(-50%)
}

.side-right-top .swiper {
    position: relative;
    height: 240px;
    width: 160px
}

.side-right-top .swiper img {
    margin-top: 0;
    height: 240px;
    width: 160px;

}

.side-right-top .swiper-controller>div {
    min-height: 16px;
    background-color: rgba(0, 0, 0, 0);
    padding: 0;
    border-radius: 0
}

.side-right-top .swiper-controller>div .btn {
    width: 16px;
    height: 16px;
    --button-icon-size: 16px
}

.side-right-top .swiper-controller>div .btn:before {
    --button-icon-size: 16px;
    --icon-url: url("../image/product/circle-pause-b1d1d1d.svg")
}

.side-right-top .swiper-controller>div .btn.on:before {
    --icon-url: url("../image/product/play-b1d1d1d.svg")
}

.side-right-top .swiper-arrow {
    --swiper-arrow-size: 16px
}

.side-right-top .swiper-arrow:after {
    --swiper-arrow-custom: url("../image/icon/chevron-down-b1d1d1d.svg")
}

.side-right-top .swiper-button-prev {
    -webkit-box-ordinal-group: -1;
    -webkit-order: -2;
    -ms-flex-order: -2;
    order: -2
}
/* side 2단 배너
.side-right-bottom .side-banner-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px
}
*/

.side-right-bottom .side-banner-item {
    padding: 12px 0;
    background-color: #fff;
    border: 1px solid var(--sidebanner-icon-bdc, #DDDDDD);
    width: 160px
}

.side-right-bottom .side-banner-item.mall {
    --sidebanner-icon-url: url("../image/main/icon-mall-qa.svg");
    --sidebanner-icon-active-url: url("../image/main/icon-mall-qa-active.svg")
}

.side-right-bottom .side-banner-item.manager {
    --sidebanner-icon-url: url("../image/main/icon-manager-qa.svg");
    --sidebanner-icon-active-url: url("../image/main/icon-manager-qa-active.svg")
}

.side-right-bottom .side-banner-item.order {
    --sidebanner-icon-url: url("../image/main/icon-order.svg");
    --sidebanner-icon-active-url: url("../image/main/icon-order-active.svg")
}

.side-right-bottom .side-banner-item.quick {
    --sidebanner-icon-url: url("../image/main/icon-quick.svg");
    --sidebanner-icon-active-url: url("../image/main/icon-quick-active.svg")
}

.side-right-bottom .side-banner-item:hover {
    --sidebanner-icon-bdc: #BD76FF
}

.side.promo-active {
    z-index: 4
}

.side.promo-active .promo-pop-wrap {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.side.promo-active .promo-btn {
    --promo-btn-bg: #5F0080
}

.side.promo-active .promo-btn span {
    --promo-btn-c: #fff
}

.side.promo-active .promo-btn::after {
    -webkit-animation: none;
    animation: none;
    -webkit-transform: scale(1.4);
    transform: scale(1.4)
}

.promo-pop-wrap {
    width: 1280px;
    position: absolute;
    top: 0;
    left: calc(80px + var(--side-padding) - 8px);
    z-index: 1;
    border-radius: 16px;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: ease-in-out .3s;
    transition: ease-in-out .3s
}

.promo-pop-wrap .icon-close {
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    --button-bgc-hover: transparent
}

.promo-pop-wrap .icon-close:before {
    --icon-url: url("../image/icon/close-bfff.svg");
    --button-icon-size: 24px
}

.promo-pop-wrap .promo-head {
    position: relative;
    background-color: #5F0080;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 0;
    border-radius: 16px 16px 0 0
}

.promo-pop-wrap .promo-head .title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0;
    color: #fff;
    font-weight: 700
}

.promo-pop-wrap .promo-head .title:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: url("../image/icon/twinkle.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 6px
}

.promo-pop-wrap .promo-body {
    padding: 24px 20px;
    background-color: #fff;
    border-radius: 0 0 16px 16px;
    border: 1px solid #ddd;
    border-top-color: rgba(0, 0, 0, 0)
}

.promo-pop-wrap .promo-body .flex {
    padding-top: 9px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.promo-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.promo-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 0;
    padding: 8px 0
}

.promo-item .img-wrap {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden
}

.promo-item .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.promo-item .text-wrap {
    display: grid;
    grid-template-rows: auto 1fr;
    row-gap: 4px
}

.promo-item .info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 12px;
    line-height: 14px;
    letter-spacing: 0;
    color: #777;
    font-weight: 500;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.promo-item .category {
    font-weight: 700
}

.promo-item .category:after {
    content: "";
    margin: 0 var(--item-gap);
    display: inline-block;
    width: 1px;
    height: 9px;
    background-color: #ddd;
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg)
}

.promo-item .title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    min-width: 0;
    padding: 2px 0
}

.promo-item .title span {
    display: inline-block;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.promo-item:hover .title span {
    text-decoration: underline;
    text-underline-offset: 3px
}

.promo-list .new .title:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../image/main/promo-icon-new.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 4px
}

.swiper-payment {
    position: relative;
    --swiper-arrow-size: 36px;
    --swiper-arrow-x: 0;
    --swiper-side-p: 52px
}

.modal-body .swiper-payment {
    --swiper-side-p: 13px;
    margin-top: -8px
}

@media only screen and (max-width: 767px) {
    .modal-body .swiper-payment {
        --side-padding: 0px
    }

    .modal-body .swiper-payment .swiper.swiper-horizontal {
        margin-left: 13px;
        margin-right: 13px
    }

    .modal-body .swiper-payment .swiper.swiper-horizontal~.swiper-arrow[class*=swiper-button-] {
        --swiper-arrow-x: 0px
    }
}

@media only screen and (min-width: 768px) {
    .swiper-payment {
        padding: 0 var(--swiper-side-p)
    }
}

@media only screen and (max-width: 767px) {
    .swiper-payment {
        --slide-only-one-m: var(--side-padding);
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }
}

.swiper-payment .swiper {
    height: 112px;
    overflow: visible;
    margin-left: var(--slide-only-one-m, calc(var(--swiper-side-p) * -1));
    margin-right: var(--slide-only-one-m, calc(var(--swiper-side-p) * -1))
}

.swiper-payment .swiper.swiper-horizontal {
    overflow: hidden;
    margin-left: 0;
    margin-right: 0
}

@media only screen and (max-width: 767px) {
    .swiper-payment .swiper.swiper-horizontal {
        margin-left: 29px;
        margin-right: 29px
    }

    .swiper-payment .swiper.swiper-horizontal~.swiper-arrow[class*=swiper-button-] {
        --swiper-arrow-x: 8px
    }
}

.swiper-payment .swiper:not(.swiper-horizontal) {
    overflow: hidden
}

.swiper-payment .swiper:not(.swiper-horizontal) .swiper-slide:not(:last-child) {
    margin-right: 8px
}

.swiper-payment .swiper:not(.swiper-horizontal)~.swiper-arrow {
    --swiper-arrow-display: none
}

.swiper-payment .swiper .swiper-slide {
    position: relative;
    padding-top: 8px
}

.swiper-payment .swiper .swiper-slide:not(:only-child) {
    width: 200px
}

@media only screen and (min-width: 768px) {
    .swiper-payment .swiper .swiper-slide:nth-child(2):last-child {
        width: calc(100% - 208px) !important
    }

    .swiper-payment .swiper .swiper-slide:nth-child(3):last-child {
        width: calc(100% - 416px) !important
    }

    .deposit-charge .swiper-payment .swiper .swiper-slide:nth-child(4):last-child {
        width: calc(100% - 624px) !important
    }

    .deposit-charge .swiper-payment .swiper .swiper-slide:nth-child(5):last-child {
        width: calc(100% - 832px) !important
    }
}

.swiper-payment .swiper-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.swiper-payment .payment-item {
    overflow: hidden;
    border-radius: 4px;
    border-width: 1px;
    border-color: #ddd;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.swiper-payment .payment-item em {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.swiper-payment .payment-item .card span,
.swiper-payment .payment-item>span {
    --typo-custom-w: 500;
    text-align: center
}

.swiper-payment .payment-item.selected {
    border-style: solid;
    border-color: #5f0080;
    background-color: #f9f4ff
}

.swiper-payment .tag-payment {
    z-index: 1;
    line-height: 20px;
    border-radius: 10px;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0
}

.swiper-payment button.payment-item {
    border-style: dashed;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.swiper-payment button.payment-item:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url("../image/join/plus-circle.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.swiper-payment button.payment-item em {
    padding: 4px 0
}

.swiper-payment button.payment-item>span {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 400;
    --typo-custom-c: #777
}

.swiper-payment button.payment-item:hover {
    border-style: solid;
    border-color: #5f0080
}

.swiper-payment button.payment-item:active {
    background-color: #f9f4ff
}

.swiper-payment div.payment-item {
    border-style: solid
}

.swiper-payment div.payment-item .btn {
    width: 100%;
    border-radius: 0;
    border-right: none;
    border-left: none;
    border-bottom: none;
    --item-height: 32px;
    --card-delete-bgc: #F9F9F9;
    --button-bdc: var(--card-delete-bgc);
    --button-bdc-hover: var(--card-delete-bgc);
    --button-bgc: var(--card-delete-bgc);
    --button-bgc-hover: var(--card-delete-bgc);
    --button-bgc-active: #F9F4FF;
    --button-bdc-active: #F9F4FF
}

.swiper-payment div.payment-item .btn:not(:hover) {
    --button-c: #333
}

.swiper-payment div.payment-item .btn:hover {
    --button-c: #5F0080;
    --icon-url: url(../image/icon/trash-active.svg)
}

.swiper-payment .card {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.swiper-payment .card em {
    margin-top: 12.5px;
    padding-bottom: 4px
}

.swiper-payment .card span {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    max-width: calc(100% - 32px)
}

.swiper-payment .card span.disabled {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.swiper-payment .card:hover:after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid #5f0080;
    border-radius: 4px;
    pointer-events: none
}

.swiper-payment .card:active,
.swiper-payment .card:active~.btn {
    background-color: #f9f4ff
}

.swiper-payment .card:disabled {
    pointer-events: none;
    background-color: #d8d8d8
}

.swiper-payment .card:disabled em,
.swiper-payment .card:disabled span {
    color: #999
}

.top-banner-area {
    z-index: 9;
    position: -webkit-sticky;
    position: sticky;
    text-align: center;
    top: 0
}

.top-banner-area>div {
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-banner-area {
        top: 0px;
        top: calc(constant(safe-area-inset-top) + 0px);
        top: calc(env(safe-area-inset-top) + 0px);
        display: none
    }

    .top-banner-area~.header,
    .top-banner-area~.content-inner {
        --top-bann-h-mo: 0px
    }
}

.top-banner-area~.header,
.top-banner-area~.content-inner {
    --top-banner-h: var(--top-bann-h-mo, 48px)
}

.top-banner-area img {
    height: 48px;
    object-fit: contain
}

.top-banner-area a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.banner-controller {
    position: absolute;
    white-space: nowrap;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --select-c: #fff;
    top: 50%;
    right: var(--side-padding);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.banner-controller .check-wrap {
    margin-right: 8px
}

.banner-controller .icon-close {
    --button-bgc-hover: transparent;
    --icon-url: url("../image/icon/close-bfff.svg")
}

.header {
    z-index: 9;
    position: -webkit-sticky;
    position: sticky;
    top: var(--top-banner-h, 0px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    background-color: #fff;
    padding-top: var(--header-pt, 10px)
}

@media only screen and (max-width: 767px) {
    .header {
        padding-top: var(--header-pt, 10px);
        padding-top: calc(constant(safe-area-inset-top) + var(--header-pt, 10px));
        padding-top: calc(env(safe-area-inset-top) + var(--header-pt, 10px))
    }
}

.header .flex {
    min-width: 0;
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --search-height: 44px;
    --search-width: 583px;
    --item-height: calc(var(--search-height) - 4px);
    height: var(--search-height);
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header .flex {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .header .flex {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.header .flex .col-left a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.header .flex .col-left img {
    width: 186px
}

@media only screen and (max-width: 767px) {
    .header .flex .col-left a {
        width: 135px;
        height: 18px;
        background-image: url("../image/logo-mo.png");
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center
    }

    .header .flex .col-left img {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0
    }
}

.header .flex .col-right {
    width: 50%;
    height: 100%;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media only screen and (max-width: 767px) {
    .header .flex .col-right {
        width: unset
    }
}

.header .flex .btn-close {
    display: none;
    width: 24px;
    height: 24px;
    background-image: url("../image/header/back.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.header .flex .util-menu {
    display: var(--util-meue-d, inline-flex)
}

.header .flex .util-menu li {
    width: var(--util-menu-size, auto);
    height: var(--util-menu-size, auto);
    margin-left: var(--util-menu-gap, 24px)
}

.header .flex .util-menu a,
.header .flex .util-menu button {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 600;
    --typo-custom-c: #333
}

.header .flex .util-menu a:before,
.header .flex .util-menu button:before {
    display: inline-block;
    content: "";
    width: var(--util-menu-size, 25px);
    height: var(--util-menu-size, 25px);
    background-image: var(--util-icon);
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 2px;
    background-size: var(--util-icon-size)
}

@media only screen and (min-width: 768px) {

    .header .flex .util-menu a.active,
    .header .flex .util-menu a:hover,
    .header .flex .util-menu button.active,
    .header .flex .util-menu button:hover {
        --typo-custom-c: #5F0080
    }

    .header .flex .util-menu a.active:before,
    .header .flex .util-menu a:hover:before,
    .header .flex .util-menu button.active:before,
    .header .flex .util-menu button:hover:before {
        --util-icon: var(--util-icon-hover)
    }
}

.header .flex .util-menu .count {
    position: absolute;
    top: var(--count-t, -5px);
    left: var(--count-l, 27.5px);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #bd76ff;
    padding: 0 var(--count-px, 4px);
    border-radius: 9px;
    min-width: var(--count-mw, 18px);
    font-size: var(--count-fz, 10px);
    line-height: var(--count-lh, 18px);
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #fff;
    text-align: center
}

.header .flex .util-menu .info {
    --util-icon: url("../image/header/info.svg");
    --util-icon-hover: url("../image/header/info-primary.svg");
    --util-icon-size: 24px auto
}

.header .flex .util-menu .notice {
    --util-icon: var(--header-notice-mo-icon-url, url("../image/header/notice.svg"));
    --util-icon-hover: url("../image/header/notice-primary.svg");
    --util-icon-size: auto 20px
}

.header .flex .util-menu .cart {
    --util-icon: url("../image/header/cart.svg");
    --util-icon-size: 20px auto;
    display: none
}

.header .flex .util-menu .manager {
    --util-icon: url("../image/header/manager.svg");
    --util-icon-hover: url("../image/header/manager-primary.svg");
    --util-icon-size: 25px auto
}

.header .flex .util-menu .manager button {
    padding-right: 18px
}

.header .flex .util-menu .manager button:after {
    content: "";
    width: 12px;
    height: 12px;
    background-image: url("../image/icon/chevron-down.svg");
    background-size: 100% auto;
    background-position: bottom right;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.header .flex .util-menu .manager button:not(.active):after {
    -webkit-transform: unset;
    transform: unset
}

.header .flex .util-menu .manager button:not(.active)~.manager-wrap {
    display: none
}

.header .flex .searching-area {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: var(--search-width);
    height: var(--search-height)
}

.header .flex .searching-area input {
    border: none;
    padding-left: 16px;
    padding-right: 32px
}

.header .flex .searching-area input::-webkit-input-placeholder {
    color: #ccc
}

.header .flex .searching-area input::-moz-placeholder {
    color: #ccc
}

.header .flex .searching-area input:-ms-input-placeholder {
    color: #ccc
}

.header .flex .searching-area input::-ms-input-placeholder {
    color: #ccc
}

.header .flex .searching-area input::placeholder {
    color: #ccc
}

@media only screen and (min-width: 768px) {
    .header .flex .searching-area input.pin:-moz-placeholder-shown {
        padding-left: 30px;
        background-image: url("../image/icon/icon-pin.svg");
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: 8px center
    }

    .header .flex .searching-area input.pin:-ms-input-placeholder {
        padding-left: 30px;
        background-image: url("../image/icon/icon-pin.svg");
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: 8px center
    }

    .header .flex .searching-area input.pin:placeholder-shown {
        padding-left: 30px;
        background-image: url("../image/icon/icon-pin.svg");
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: 8px center
    }
}

.header .flex .searching-area input:-moz-placeholder-shown {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .flex .searching-area input:-ms-input-placeholder {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .flex .searching-area input:placeholder-shown {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .flex .searching-area input:-moz-placeholder-shown~.btn-clear {
    display: none
}

.header .flex .searching-area input:-ms-input-placeholder~.btn-clear {
    display: none
}

.header .flex .searching-area input:placeholder-shown~.btn-clear {
    display: none
}

.header .flex .searching-area .select-wrap {
    position: relative
}

.header .flex .searching-area .select-wrap .input-select {
    --select-bg: transparent;
    --select-bdc: transparent;
    padding-left: 22px;
    background-image: url(../image/header/arrow-down-filter.svg);
    background-size: 8px auto;
    background-position: calc(100% - 16px) center
}

.header .flex .searching-area .select-wrap:before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 12px;
    background-color: #ddd;
    position: absolute;
    top: calc((var(--search-height) - 12px - 4px)/2);
    right: 0
}

.header .flex .searching-area .btn-clear {
    position: absolute;
    top: 50%;
    right: var(--clear-r, 52px);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: var(--clear-size, 24px);
    height: var(--clear-size, 24px);
    background-image: url("../image/header/clear.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--clear-icon-size, 24px)
}

@media only screen and (max-width: 767px) {
    .header .flex .searching-area .btn-clear {
        --clear-r: 38px;
        --clear-size: 24px;
        --clear-icon-size: 16px
    }
}

.header .flex .searching-area .btn-search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.header .flex .searching-area .btn-search:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: var(--header-search-mo-icon-url, url("../image/header/search.svg"));
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 8px
}

.header .flex .searching-area .btn-search.mobile-search-open {
    width: 20px
}

@media only screen and (min-width: 768px) {
    .header .flex .searching-area .btn-search.mobile-search-open {
        display: none
    }
}

.header .flex #header-search-form {
    display: grid;
    grid-template-columns: auto 1fr var(--search-icon-size, 52px);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border: 1.5px solid #5f0080;
    border-radius: 22px
}

.header .flex .searching-list {
    z-index: 2;
    position: var(--searching-list-p, absolute);
    top: calc(100% + 2px);
    left: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: var(--search-inner-width, 464px);
    background-color: #fff;
    border-radius: 16px;
    border: 1px solid #5f0080;
    margin-left: 59.5px;
    display: var(--searching-display, none) !important
}

@media only screen and (min-width: 768px) {
    .header .flex .searching-list {
        grid-template-columns: 172px 1fr;
        grid-template-rows: 1fr auto;
        min-height: 397px
    }

    .header .flex .searching-list:not(.hidden) {
        --searching-display: grid
    }
}

.header .flex .searching-list .delete-all {
    position: absolute;
    top: 24px;
    right: 16px;
    color: #777;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px
}

.header .flex .searching-list .list-footer {
    grid-column: span 2;
    border-top: 1px solid #ededed;
    text-align: right;
    padding: 0 24px
}

.header .flex .searching-list .list-footer .searching-list-close {
    color: #777;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    padding: 11.5px 12px;
    margin-right: -12px
}

.header .flex .searching-list .list-popular {
    border-right: 1px solid #ededed
}

.header .flex .searching-list .list {
    min-width: 0;
    padding: 23px 16px 0
}

.header .flex .searching-list .list>p:not(.no-data) {
    color: #000;
    font-size: 16px;
    line-height: 19px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    .header .flex .searching-list .list>p:not(.no-data) {
        font-size: var(--tab);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.5);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #333);
        --typo-custom-c: #000;
        --typo-custom-w: 600;
        --typo-custom-lh: 18px
    }
}

.header .flex .searching-list .list>p.no-data {
    margin-top: 18px;
    color: #999;
    font-size: 14px;
    line-height: 17px;
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .header .flex .searching-list .list>p.no-data {
        margin-top: 12px;
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #777);
        --typo-custom-c: #999;
        --typo-custom-w: 500;
        --typo-custom-lh: 17px
    }
}

.header .flex .searching-list .list ol,
.header .flex .searching-list .list ul {
    padding-top: 6px;
    padding-bottom: 16px
}

.header .flex .searching-list .list ol li,
.header .flex .searching-list .list ul li {
    margin-top: 12px;
    font-size: var(--searching-fz, 14px);
    font-weight: 500;
    color: #000;
    line-height: var(--searching-lh, 17px)
}

.header .flex .searching-list .list ol li:nth-child(n+1):nth-child(-n+3),
.header .flex .searching-list .list ul li:nth-child(n+1):nth-child(-n+3) {
    --number-c: #E6002D
}

@media only screen and (max-width: 767px) {

    .header .flex .searching-list .list ol li,
    .header .flex .searching-list .list ul li {
        margin-top: 8px
    }
}

.header .flex .searching-list .list ul li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding-right: 26.5px
}

.header .flex .searching-list .list ul li a {
    max-width: 100%;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .flex .searching-list .list ul li .delete {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: var(--searching-delete-s, 17px);
    height: var(--searching-delete-s, 17px);
    margin-right: var(--searching-delete-ml, -2.5px);
    background-image: url("../image/header/delete.svg");
    background-position: center;
    background-size: var(--searching-delete-icon-s, 12px);
    background-repeat: no-repeat
}

.header .flex .searching-list .list ol {
    margin-right: 30px
}

.header .flex .searching-list .list ol li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.header .flex .searching-list .list ol .number {
    margin-right: 8px;
    min-width: 20px;
    color: var(--number-c, #777);
    font-weight: 700
}

.header .flex .searching-list .list ol .number:after {
    content: "."
}

.header .flex .searching-list .list ol a {
    display: inline-block;
    max-width: calc(100% - 28px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .quick-link {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    width: 100%;
    --body1: var(--body2);
    --typo-custom-w: 400;
    padding-bottom: 17px;
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header .quick-link {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .header .quick-link {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.header .quick-link .count {
    font-weight: 600;
    color: #ff3f67
}

.header .gnb-wrap {
    margin-top: 19px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd
}

.header .gnb-wrap .gnb {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header .gnb-wrap .gnb {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .header .gnb-wrap .gnb {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.header .gnb-wrap .depth1 {
    position: relative;
    margin-right: 32px
}

.header .gnb-wrap .btn-hamburger {
    vertical-align: top;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    font-size: 12px;
    font-weight: 700;
    color: #5f0080
}

.header .gnb-wrap .btn-hamburger:before {
    display: inline-block;
    content: "";
    width: 30px;
    height: 30px;
    background-image: -webkit-linear-gradient(top, #7346F3 0%, #5F0080 100%);
    background-image: linear-gradient(180deg, #7346F3 0%, #5F0080 100%);
    border-radius: 50%;
    margin-right: 8px
}

.header .gnb-wrap .btn-hamburger:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background-image: var(--hamburder-icon, url("../image/header/bars-default.svg"));
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat
}

.header .gnb-wrap .btn-hamburger.active {
    --hamburder-icon: url("../image/header/bars-active.svg")
}

.header .gnb-wrap .btn-hamburger.active~.menu-item {
    display: block
}

.header .gnb-wrap .menu-item {
    display: none;
    position: absolute;
    top: 100%;
    margin-top: 6px;
    left: 0;
    white-space: nowrap;
    width: 160px;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 8px 0
}

@media only screen and (min-width: 768px) {
    .header .gnb-wrap .menu-item ul {
      /*  min-height: 318px */
        min-height: 200px
    }
}

.header .gnb-wrap .menu-item button,
.header .gnb-wrap .menu-item a {
    padding-left: 11px;
    padding-right: 11px;
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    font-size: 14px;
    letter-spacing: -0.02em;
    line-height: 34px;
    color: var(--menu-item-active-c, #777);
    background-color: var(--menu-item-active-bgc, transparent);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.header .gnb-wrap .menu-item li:hover>a,
.header .gnb-wrap .menu-item li:hover>button {
    font-weight: 600
}

.header .gnb-wrap .menu-item .depth2 {
    position: relative
}

.header .gnb-wrap .menu-item .depth2>ul>li:hover>a:not(:only-child),
.header .gnb-wrap .menu-item .depth2>ul>li:hover>button:not(:only-child),
.header .gnb-wrap .menu-item .depth3>ul>li:hover>a:not(:only-child),
.header .gnb-wrap .menu-item .depth3>ul>li:hover>button:not(:only-child) {
    padding-right: 40px
}

.header .gnb-wrap .menu-item .depth2>ul>li:hover>a:not(:only-child):after,
.header .gnb-wrap .menu-item .depth2>ul>li:hover>button:not(:only-child):after,
.header .gnb-wrap .menu-item .depth3>ul>li:hover>a:not(:only-child):after,
.header .gnb-wrap .menu-item .depth3>ul>li:hover>button:not(:only-child):after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/chevron-down-bfff.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 11px;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg)
}

.header .gnb-wrap .menu-item .depth2>ul>li:hover>a,
.header .gnb-wrap .menu-item .depth2>ul>li:hover>button {
    --menu-item-active-bgc: #5F0080;
    --menu-item-active-c: #fff
}

.header .gnb-wrap .menu-item .depth3>ul>li:hover>a,
.header .gnb-wrap .menu-item .depth3>ul>li:hover>button {
    --menu-item-active-bgc: #BD76FF;
    --menu-item-active-c: #fff
}

.header .gnb-wrap .menu-item .depth4>ul>li:hover>a,
.header .gnb-wrap .menu-item .depth4>ul>li:hover>button {
    --menu-item-active-bgc: #EADDFF;
    --menu-item-active-c: #5F0080
}

.header .gnb-wrap .menu-item .depth3 {
    top: -9px;
    bottom: -9px
}

.header .gnb-wrap .menu-item .depth4 {
    top: -1px;
    bottom: -1px
}

.header .gnb-wrap .menu-item .depth3,
.header .gnb-wrap .menu-item .depth4 {
    display: none;
    position: absolute;
    left: 100%;
    width: 160px;
    background-color: #fff;
    border: 1px solid #ddd
}

.header .gnb-wrap .menu-item .depth3 ul,
.header .gnb-wrap .menu-item .depth4 ul {
    padding: 8px 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden
}

.header .gnb-wrap .menu-item .depth3 ul::-webkit-scrollbar,
.header .gnb-wrap .menu-item .depth4 ul::-webkit-scrollbar {
    width: 4px
}

.header .gnb-wrap .menu-item .depth3 ul::-webkit-scrollbar-thumb,
.header .gnb-wrap .menu-item .depth4 ul::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.header .gnb-wrap .menu-item .depth3 ul::-webkit-scrollbar-track,
.header .gnb-wrap .menu-item .depth4 ul::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.header .gnb-wrap .to-brand {
    margin-left: auto
}

.header .gnb-wrap .to-brand>.btn:not(.active)~.to-brand-wrap {
    display: none
}

.header .btn-selectbox,
.header .menu-depth1 {
    display: inline-block;
    font-size: 16px;
    color: #222;
    letter-spacing: -0.02em;
    line-height: 21px;
    font-weight: 600;
    padding: 13px 0 14px
}

.header .btn-selectbox.on,
.header .menu-depth1.on {
    color: #5f0080
}

@media only screen and (min-width: 768px) {

    .header .btn-selectbox:hover,
    .header .menu-depth1:hover {
        color: #5f0080
    }
}

.header .btn-selectbox {
    padding-right: 24px;
    background-image: url("../image/icon/chevron-down.svg");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 20px auto
}

.header .btn-selectbox.active {
    color: #5f0080;
    background-image: url("../image/icon/chevron-down-primary.svg")
}

.header .btn-selectbox.active~.menu-item {
    display: block;
    margin-top: -3px
}

@media only screen and (min-width: 768px) {
    .header .btn-selectbox:hover {
        background-image: url("../image/icon/chevron-down-primary.svg")
    }
}

.header .menu-depth1 {
    margin-right: 40px
}

.header .sub-title {
    display: none;
    border-bottom: 1px solid #ddd
}

.header .sub-title>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 0;
    height: 45px;
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header .sub-title>div {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .header .sub-title>div {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.header .title-h1-mobile {
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 34px
}

.header .btn-back {
    width: 24px;
    height: 24px;
    background-image: url("../image/header/back.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    margin-right: 10px
}

.header .inner-nav {
    border-bottom: 1px solid #ddd;
    position: relative;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header .inner-nav {
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding))
    }
}

@media only screen and (max-width: 767px) {
    .header {
        --header-pt: 0px;
        --header-search-mo-icon-url: url("../image/header/search-mo.svg");
        --header-notice-mo-icon-url: url("../image/header/notice-mo.svg")
    }

    .header .flex {
        --search-height: 45px;
        height: var(--search-height);
        --search-width: unset;
        --search-height: 45px
    }

    .header .flex .util-menu {
        --util-menu-size: 20px;
        --util-menu-gap: 16px;
        --count-t: -8px;
        --count-px: 2px;
        --count-l: 21px;
        --count-mw: 16px;
        --count-lh: 16px
    }

    .header .flex .util-menu button,
    .header .flex .util-menu a {
        font-size: 0
    }

    .header .flex .util-menu button:before,
    .header .flex .util-menu a:before {
        margin-bottom: 0
    }

    .header .flex .util-menu .info,
    .header .flex .util-menu .manager {
        display: none
    }

    .header .flex .util-menu .cart {
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex
    }

    .header .flex .util-menu .notice .count {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        font-size: 0;
        padding: 0;
        --count-mw: 7px;
        --count-t: -3px;
        --count-l: calc(100% + 3px)
    }

    .header .flex .searching-area {
        position: relative;
        top: unset;
        left: unset;
        -webkit-transform: none;
        transform: none
    }

    .header .flex .searching-area:before {
        content: unset
    }

    .header .flex .searching-area input {
        font-size: var(--tab);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.5);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #333)
    }

    .header .flex .searching-area .btn-search {
        width: 30px;
        height: var(--search-height)
    }

    .header .flex .searching-area .btn-search:before {
        margin-right: 0
    }

    .header .flex .searching-area #header-search-form {
        border: none
    }

    .header .flex .searching-list {
        --searching-list-p: fixed;
        top: 45px;
        top: calc(constant(safe-area-inset-top) + 45px);
        top: calc(env(safe-area-inset-top) + 45px);
        right: 0;
        bottom: 0;
        width: unset;
        -webkit-transform: none;
        transform: none;
        border: none;
        border-top: none;
        border-radius: 0;
        padding-top: 24px;
        padding-bottom: 60px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 60px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 60px);
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow-y: auto;
        margin-left: 0
    }

    .header .flex .searching-list .list {
        padding: 0
    }

    .header .flex .searching-list .list ul {
        padding-top: 4px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-bottom: 0
    }

    .header .flex .searching-list .list ul li {
        max-width: 100%;
        margin-right: 8px;
        border: 1px solid #ddd;
        padding: 0 31px 0 13px;
        border-radius: 18px;
        height: 32px;
        --searching-delete-ml: 0;
        --searching-delete-s: 24px;
        --searching-delete-icon-s: 16px;
        font-size: 12px;
        color: #333;
        font-weight: 500
    }

    .header .flex .searching-list .list ul li .delete {
        right: 7px;
        background-image: url(../image/header/delete-mo.svg)
    }

    .header .flex .searching-list .list ol {
        margin-top: 12px;
        margin-right: 0;
        border: 1px solid #ededed;
        border-radius: 12px;
        padding: 8px 16px 16px;
        --searching-fz: var(--body1);
        --searching-lh: 21px
    }

    .header .flex .searching-list .list-recent {
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
        -ms-flex-order: -1;
        order: -1
    }

    .header .flex .searching-list .list-popular {
        margin-top: 32px;
        border: none
    }

    .header .flex .searching-list .list-footer {
        display: none
    }

    .header .flex .searching-list .delete-all {
        top: 24px;
        rignt: var(--side-padding);
        rignt: calc(constant(safe-area-inset-rignt) + var(--side-padding));
        rignt: calc(env(safe-area-inset-rignt) + var(--side-padding));
        font-size: var(--body2);
        line-height: 18px
    }

    .header .quick-link {
        display: none
    }

    .header .gnb-wrap {
        margin-top: 0;
        border-top: none;
        position: relative
    }

    .header .gnb-wrap:after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 20px;
        height: 100%;
        background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 15%, #FFF 90%);
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 15%, #FFF 90%);
        z-index: 1
    }

    .header .gnb-wrap .depth1,
    .header .gnb-wrap .to-brand {
        display: none
    }

    .header .menu-depth1 {
        font-size: 12px;
        line-height: 19px;
        padding: 8px 10px;
        margin-right: 0;
        white-space: nowrap
    }

    .header:not(.mobile-search-active) .searching-area .btn-close,
    .header:not(.mobile-search-active) .searching-area .select-wrap,
    .header:not(.mobile-search-active) .searching-area .btn-clear,
    .header:not(.mobile-search-active) .searching-area input,
    .header:not(.mobile-search-active) .searching-area .btn-search:not(.mobile-search-open) {
        display: none
    }

    .header:not(.mobile-search-active) #header-search-form {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .header.sub-main:not(.mobile-search-active) .sub-title {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .header.sub:not(.mobile-search-active) .sub-title {
        display: block
    }

    .header.sub .gnb-wrap {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .header.mobile-search-active {
        z-index: 11;
        --searching-display: flex;
        box-shadow: inset 0 -1px 0 #5f0080
    }

    .header.mobile-search-active .col-left {
        display: none
    }

    .header.mobile-search-active .col-right {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-right: 0
    }

    .header.mobile-search-active #header-search-form {
        gap: 8px
    }

    .header.mobile-search-active .searching-area {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        --search-icon-size: 30px
    }

    .header.mobile-search-active .searching-area .select-wrap {
        display: none
    }

    .header.mobile-search-active .searching-area input {
        padding-left: 0;
        padding-right: 32px;
        min-width: 0
    }

    .header.mobile-search-active .searching-area .mobile-search-open {
        display: none
    }

    .header.mobile-search-active .searching-area .btn-close {
        display: block
    }

    .header.mobile-search-active .quick-link,
    .header.mobile-search-active .util-menu,
    .header.mobile-search-active .gnb-wrap {
        display: none
    }
}

.header:not(.is-mr) .only-mr {
    display: none
}

.header.is-mr .util-menu .manager {
    display: none
}

.header.is-limited {
    box-shadow: inset 0 -1px 0 #ddd
}

.header.is-limited .searching-area,
.header.is-limited .mobile-search-open,
.header.is-limited .gnb-wrap,
.header.is-limited .util-menu .info,
.header.is-limited .util-menu .notice {
    display: none !important
}

@media only screen and (min-width: 768px) {
    .header.is-limited {
        padding-bottom: 19px
    }

    .header.is-limited~.order,
    .header.is-limited~.content-inner .side,
    .header.is-limited~.content-inner .order-grid-page,
    .header.is-limited~.content-inner .brand-main-page #brand-all-prd {
        --header-height: 108px
    }
}

@media only screen and (max-width: 767px) {
    .header.no-gnb {
        box-shadow: inset 0 -1px 0 #ddd
    }

    .header.no-gnb .gnb-wrap,
    .header.no-gnb .sub-title {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .header.no-back .btn-history {
        display: none
    }

    .header.no-back .title-h1-mobile {
        padding-left: 34px
    }
}

.btn-top {
    z-index: 5;
    position: fixed;
    margin-bottom: var(--btn-top-gnb-mb, 0px);
    bottom: var(--btn-top-b, 60px);
    right: var(--btn-top-r, 60px);
    width: var(--btn-top-size, 60px);
    height: var(--btn-top-size, 60px);
    border-radius: 50%;
    border: 1px solid #ededed;
    background: #fff;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .08);
    background-image: url("../image/icon/top.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px
}

.btn-top span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.btn-top .chat-channel-button {
    position: absolute !important;
    top: -70px !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    display: block !important;
    z-index: 6 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.btn-top .chat-channel-button img {
    display: block !important;
    width: 120px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    vertical-align: top !important;
}

@media only screen and (max-width: 767px) {
    .btn-top {
        --btn-top-size: 40px;
        --btn-top-gnb-mb: 12px;
        bottom: var(--floating-height, 0px);
        bottom: calc(constant(safe-area-inset-bottom) + var(--floating-height, 0px));
        bottom: calc(env(safe-area-inset-bottom) + var(--floating-height, 0px));
        right: var(--btn-top-r, 12px);
        right: calc(constant(safe-area-inset-right) + var(--btn-top-r, 12px));
        right: calc(env(safe-area-inset-right) + var(--btn-top-r, 12px))
    }
    
    .btn-top .chat-channel-button {
        top: -55px !important;
    }
    
    .btn-top .chat-channel-button img {
        width: 100px !important;
    }
}

.mobile-category~.btn-top,
.mobile-category~#footer {
    --floating-height: 64px
}

.has-floating-bar:not(.no-floating-mo)~.btn-top,
.has-floating-bar:not(.no-floating-mo)~#footer {
    --floating-height: 152px
}

.order~.btn-top,
.order~#footer {
    --floating-height: 103px
}

.content-inner {
    min-width: 0;
    padding-top: var(--content-pt);
    padding-bottom: var(--content-pb);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.content-inner .content-inner {
    padding-top: 0;
    padding-bottom: 0
}

.content-inner .section,
.content-inner .section-full,
.content-inner .section-narrow {
    width: 100%
}

.section-full>div:not(.modal) {
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .section-full>div:not(.modal) {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .section-full>div:not(.modal) {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.section {
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .section {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .section {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.section-narrow {
    padding-right: var(--side-padding);
    padding-left: var(--side-padding);
    max-width: calc(var(--content-width-narrow) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 767px) {
    .section-narrow {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .section-narrow {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.snb-grid {
    display: grid;
    grid-template-columns: var(--lnb-grid-columns, 200px 1fr);
    gap: var(--lnb-grid-gap, 24px)
}

@media only screen and (max-width: 767px) {
    .snb-grid {
        --lnb-grid-columns: 1fr;
        --lnb-grid-gap: 0
    }

    .snb-grid aside {
        display: none
    }
}

.snb-grid aside nav {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px #ddd
}

.snb-grid aside nav a,
.snb-grid aside nav button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

.snb-grid aside nav a.on,
.snb-grid aside nav button.on {
    color: #5f0080
}

.snb-grid aside nav>ul>li {
    margin-top: var(--snb-a-mt, 0)
}

.snb-grid aside nav>ul>li:not(:last-child) {
    box-shadow: inset 0 -1px 0 #ddd
}

.snb-grid aside nav>ul>li>a,
.snb-grid aside nav>ul>li button {
    height: 55px;
    padding: 12px 24px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --typo-custom-c: #000
}

.snb-grid aside nav>ul>li>button {
    padding-right: 50px;
    position: relative
}

.snb-grid aside nav>ul>li>button:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/chevron-down.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 24px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.snb-grid aside nav>ul>li>button.active:after {
    -webkit-transform: rotate(180deg) translateY(50%);
    transform: rotate(180deg) translateY(50%)
}

.snb-grid aside nav>ul>li>button.active~ul {
    display: block
}

.snb-grid aside nav>ul>li ul {
    display: none
}

.snb-grid aside nav>ul>li ul a,
.snb-grid aside nav>ul>li ul button {
    height: 45px;
    padding: 12px 32px;
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    --lnb2: 16px
}

.snb-grid>div {
    min-width: 0
}

.visual-banner {
    position: relative;
    padding-bottom: 15.504%;
    margin-bottom: var(--banner-mb, 32px);
    border-radius: 12px;
    overflow: hidden
}

.visual-banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media only screen and (max-width: 767px) {
    .visual-banner {
        --banner-mb: 28px
    }
}

#footer {
    --footer-font-sz: 13px;
    font-size: var(--footer-font-sz);
    line-height: var(--footer-font-lh, 1.2);
    letter-spacing: 0;
    color: var(--footer-font-c, #999);
    font-weight: var(--footer-font-w, 500)
}

#footer a[href*=mailto]:hover {
    text-decoration: underline
}

@media only screen and (min-width: 768px) {
    #footer {
        background-color: #fff
    }
}

#footer .link-area {
    padding: 16px 0;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    --footer-font-sz: 14px
}

#footer .link-area>div {
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    #footer .link-area>div {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    #footer .link-area>div {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

#footer .link-area .col-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

#footer .link-area .col-left>.flex:nth-of-type(1) a:nth-child(2),
#footer .link-area .col-left>.flex:nth-of-type(1) button:nth-child(2) {
    --footer-font-c: #E6002D;
    --footer-font-w: 600
}

#footer .link-area .col-left>.flex:nth-of-type(2) {
    margin-left: var(--footer-link-margin, 30px)
}

@media only screen and (max-width: 343px) {
    #footer .link-area .col-left>.flex:nth-of-type(2) {
        margin-top: 8px;
        margin-left: 0;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

#footer .link-area .col-left a,
#footer .link-area .col-left button {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    --footer-font-lh: 32px;
    line-height: var(--footer-font-lh);
    color: var(--footer-font-c, #333);
    font-size: var(--footer-font-sz);
    font-weight: var(--footer-font-w);
    margin-right: var(--footer-link-margin, 30px)
}

#footer .link-area .col-left a:last-child,
#footer .link-area .col-left button:last-child {
    margin-right: 0
}

#footer .link-area .col-left a:hover,
#footer .link-area .col-left button:hover {
    text-decoration: underline
}

#footer .link-area .select-wrap {
    --select-width: 194px
}

#footer .link-area .select-wrap select {
    --item-height: 32px;
    --select-bdc: #DDDDDD;
    border-radius: calc(var(--item-height)/2);
    padding: 0 36px 0 14px;
    background-color: #f8f8f8;
    background-size: 12px auto;
    background-position: calc(100% - 10px) center;
    font-size: var(--footer-font-sz);
    font-weight: 500
}

#footer .footer-info {
    --footer-top-padding: 40px;
    --footer-bottom-padding: 32px;
    --footer-column-gap: 105px;
    --footer-item-gap: 6px;
    position: relative;
    padding-top: var(--footer-top-padding);
    padding-bottom: var(--footer-bottom-padding);
    display: grid;
    grid-template-columns: var(--footer-column, auto minmax(0, 1fr));
    -webkit-column-gap: var(--footer-column-gap);
    -moz-column-gap: var(--footer-column-gap);
    column-gap: var(--footer-column-gap);
    max-width: calc(var(--content-width) + var(--side-padding)*2);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--side-padding);
    padding-left: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    #footer .footer-info {
        max-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    #footer .footer-info {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

@media only screen and (max-width: 767px) {
    #footer .footer-info {
        padding-bottom: var(--footer-bottom-padding);
        padding-bottom: calc(constant(safe-area-inset-bottom) + var(--footer-bottom-padding));
        padding-bottom: calc(env(safe-area-inset-bottom) + var(--footer-bottom-padding))
    }
}

#footer .footer-info .footer-brand {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    width: var(--footer-logo-width, 186px);
    height: var(--footer-logo-height, auto)
}

@media only screen and (max-width: 767px) {
    #footer .footer-info .footer-brand {
        --footer-logo-width: 103px;
        --footer-logo-height: 13px;
        background-image: url("../image/logo-footer-mo.png");
        background-size: 100% auto;
        background-position: center;
        background-repeat: no-repeat
    }

    #footer .footer-info .footer-brand img {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0
    }
}

#footer .footer-info .cs-center {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    padding-top: 24px
}

@media only screen and (min-width: 768px) {
    #footer .footer-info .cs-center {
        position: absolute;
        top: 0;
        right: 0;
        padding-top: var(--footer-top-padding);
        padding-right: var(--side-padding)
    }
}

#footer .footer-info .cs-center .cs-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

#footer .footer-info .cs-center .cs-link a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 4px 6px;
    color: #333;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    border-radius: 4px;
    line-height: 14px
}

#footer .footer-info .cs-center .cs-link a~a {
    margin-left: var(--footer-item-gap)
}

#footer .footer-info .cs-center .cs-link a:hover {
    background-color: #f8f8f8
}

#footer .footer-info .info {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
}

#footer .footer-info .info>p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: var(--footer-font-sz)
}

#footer .footer-info .info>p:not(.copyright) span {
    --footer-font-c: #777
}

#footer .footer-info .info>p:not(.business-info) span {
    margin-top: var(--footer-item-gap)
}

#footer .footer-info .info>p span {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: var(--footer-font-c)
}

#footer .footer-info .info>p a:not([href*=mailto]) {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 4px 6px;
    color: #333;
    font-size: var(--footer-font-sz);
    border-radius: 4px;
    margin-top: var(--footer-item-gap);
    background-color: rgba(0, 0, 0, 0);
    line-height: 16px
}

#footer .footer-info .info>p a:not([href*=mailto]):hover {
    background-color: #f8f8f8
}

#footer .footer-info .info>p a[href*=mailto] {
    margin-left: 4px
}

#footer .footer-info .info .company-info a {
    --footer-font-sz: 12px;
    border: none !important;
    margin-left: 8px
}

#footer .footer-info .info .company-info a:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("../image/icon/chevron-down.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 4px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

#footer .footer-info .info .owner {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1
}

#footer .footer-info .info .owner,
#footer .footer-info .info .business-number,
#footer .footer-info .info .cs,
#footer .footer-info .info .fax {
    position: relative;
    padding-right: 12px;
    margin-right: 12px
}

#footer .footer-info .info .owner:after,
#footer .footer-info .info .business-number:after,
#footer .footer-info .info .cs:after,
#footer .footer-info .info .fax:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #d9d9d9
}

#footer .footer-info .info .copyright {
    margin-top: 16px;
    --footer-font-sz: 12px;
    line-height: 14px
}

#footer .footer-info .info .copyright span {
    display: block;
    margin-top: 8px
}

@media only screen and (max-width: 767px) {
    #footer {
        --footer-font-sz: 12px
    }

    #footer .link-area {
        --footer-font-sz: 12px;
        background-color: #f4f4f4;
        border-top: 1px solid #ddd
    }

    #footer .link-area>.flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #footer .link-area .col-right {
        width: 100%
    }

    #footer .link-area .col-left {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        --footer-link-margin: 16px
    }

    #footer .link-area .col-left a,
    #footer .link-area .col-left button {
        --footer-font-lh: 1.2
    }

    #footer .link-area .select-wrap {
        --select-width: 100%;
        margin-top: 16px
    }

    #footer .footer-info {
        --footer-column: 1fr;
        --footer-top-padding: 20px;
        --footer-bottom-padding: calc(20px + var(--floating-height, 0px));
        background-color: #f8f8f8
    }

    #footer .footer-info .cs-center .cs-link a {
        line-height: 1
    }

    #footer .footer-info .info {
        --footer-item-gap: 8px;
        margin-top: 24px
    }

    #footer .footer-info .info>p span {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    #footer .footer-info .info>p span.fax,
    #footer .footer-info .info>p span.email,
    #footer .footer-info .info>p span.business-type {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }

    #footer .footer-info .info>p a:not([href*=mailto]) {
        --footer-font-sz: 12px;
        line-height: 1
    }

    #footer .footer-info .info .company-info a {
        margin-left: auto
    }

    #footer .footer-info .info .address {
        margin-top: var(--footer-item-gap)
    }

    #footer .footer-info .info .owner,
    #footer .footer-info .info .business-number,
    #footer .footer-info .info .cs,
    #footer .footer-info .info .fax {
        padding-right: 4px;
        margin-right: 4px
    }

    #footer .footer-info .info .owner:not(.fax)::after,
    #footer .footer-info .info .business-number:not(.fax)::after,
    #footer .footer-info .info .cs:not(.fax)::after,
    #footer .footer-info .info .fax:not(.fax)::after {
        display: none
    }

    #footer .footer-info .info .copyright {
        margin-top: 24px;
        --footer-font-sz: 11px;
        line-height: 13px
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: none;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    --modal-width: 768px;
    z-index: 99
}

.modal.alert-modal {
    --modal-width: 420px
}

@media only screen and (max-width: 767px) {
    .modal.alert-modal {
        padding-top: 48px;
        padding-top: calc(constant(safe-area-inset-top) + 48px);
        padding-top: calc(env(safe-area-inset-top) + 48px);
        padding-bottom: 48px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 48px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 48px);
        padding-left: 48px;
        padding-left: calc(constant(safe-area-inset-left) + 48px);
        padding-left: calc(env(safe-area-inset-left) + 48px);
        padding-right: 48px;
        padding-right: calc(constant(safe-area-inset-right) + 48px);
        padding-right: calc(env(safe-area-inset-right) + 48px);
        --modal-width: auto;
        --modal-height: 100%
    }

    .modal.alert-modal .modal-wrap {
        border-radius: 8px;
        max-width: 100%
    }

    .modal.alert-modal .modal-body {
        padding: 24px
    }
}

.modal.marketing-modal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.modal.show {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.modal:not(.alert-modal) {
    padding-left: 0 !important;
    padding-right: 0 !important
}

@media only screen and (max-width: 767px) {
    .modal:not(.alert-modal) {
        --modal-width: 100%;
        --modal-height: none;
        --modal-radius: 0
    }

    .modal:not(.alert-modal) .modal-wrap {
        height: 100%
    }

    .modal:not(.alert-modal) .modal-close {
        top: 8px;
        top: calc(constant(safe-area-inset-top) + 8px);
        top: calc(env(safe-area-inset-top) + 8px);
        right: 12px;
        right: calc(constant(safe-area-inset-right) + 12px);
        right: calc(env(safe-area-inset-right) + 12px)
    }

    .modal:not(.alert-modal) .modal-header {
        padding-top: 12px;
        padding-top: calc(constant(safe-area-inset-top) + 12px);
        padding-top: calc(env(safe-area-inset-top) + 12px);
        padding-left: 48px;
        padding-left: calc(constant(safe-area-inset-left) + 48px);
        padding-left: calc(env(safe-area-inset-left) + 48px);
        padding-right: 48px;
        padding-right: calc(constant(safe-area-inset-right) + 48px);
        padding-right: calc(env(safe-area-inset-right) + 48px);
        padding-bottom: 12px;
        --h1: var(--lnb2-mo);
        --typo-custom-lh: 23px
    }

    .modal:not(.alert-modal) .modal-body {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-bottom: var(--modal-body-mb, 60px);
        padding-bottom: calc(constant(safe-area-inset-bottom) + var(--modal-body-mb, 60px));
        padding-bottom: calc(env(safe-area-inset-bottom) + var(--modal-body-mb, 60px))
    }

    .modal:not(.alert-modal) .modal-body .btn-wrap {
        --modal-btn-mt: 28px
    }

    .modal:not(.alert-modal) .modal-body .btn-wrap .btn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .modal:not(.alert-modal) .modal-body .btn-wrap.to-bottom {
        margin-top: auto;
        padding-top: var(--modal-btn-mt);
        z-index: 1
    }
}

.dimmed-bg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.55)
}

.modal-wrap {
    width: var(--modal-width);
    min-height: 0;
    max-height: var(--modal-height, calc(100vh - 120px));
    background: #fff;
    border-radius: var(--modal-radius, 16px);
    overflow: hidden;
    z-index: 1;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.modal-wrap .modal-close {
    position: absolute;
    top: 4px;
    right: 28px;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    background-image: url("../image/icon/close.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px
}

.modal-wrap .modal-close span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.modal-wrap .modal-close:hover {
    background-color: #f4f4f4
}

.modal-wrap .modal-header {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 8px 60px;
    text-align: center;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --typo-custom-lh: 23px;
    border-bottom: 1px solid #222;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.modal-wrap .modal-header .tooltip {
    margin-left: 4px;
    margin-top: 4px
}

@media only screen and (max-width: 767px) {
    .modal-wrap .modal-header .tooltip {
        margin-top: 2.5px
    }
}

.modal-wrap .modal-body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: auto;
    padding: var(--modal-body-pt, 16px) 32px 24px 32px
}

.modal-wrap .modal-body.button-fixed {
    padding-bottom: 0
}

.modal-wrap .modal-body.button-fixed .btn-wrap {
    margin-top: 0;
    padding-top: var(--modal-btn-mt, 24px);
    padding-bottom: var(--modal-btn-mb, 24px);
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    background-color: #fff;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .modal-wrap .modal-body.button-fixed {
        overflow-x: hidden;
        --modal-body-mb: 0px;
        --modal-btn-mb: 16px
    }

    .modal-wrap .modal-body.button-fixed .btn-wrap {
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1);
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-bottom: var(--modal-btn-mb);
        padding-bottom: calc(constant(safe-area-inset-bottom) + var(--modal-btn-mb));
        padding-bottom: calc(env(safe-area-inset-bottom) + var(--modal-btn-mb))
    }
}

.modal-wrap .btn-wrap {
    margin-top: var(--modal-btn-mt, 16px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.modal-wrap .btn-wrap a,
.modal-wrap .btn-wrap button {
    min-width: var(--modal-btn-min-w, 80px)
}

.modal-wrap .btn-wrap a span,
.modal-wrap .btn-wrap button span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.modal-wrap .btn-wrap a.lg,
.modal-wrap .btn-wrap a.md,
.modal-wrap .btn-wrap button.lg,
.modal-wrap .btn-wrap button.md {
    --modal-btn-min-w: 120px
}

.modal-wrap .btn-wrap a:not(:first-child),
.modal-wrap .btn-wrap button:not(:first-child) {
    margin-left: 8px
}

.alert-modal .modal-wrap {
    --modal-body-pt: 24px
}

.alert-modal .modal-wrap .modal-body {
    text-align: center;
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --typo-custom-c: #000
}

.alert-modal .modal-wrap .modal-body .alert-icon {
    display: block;
    width: 56px;
    height: 56px;
    margin: 24px auto 4px
}

.alert-modal .modal-wrap .modal-body .desc {
    padding-top: var(--alert-desc-pt, 12px);
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777
}

@media only screen and (max-width: 767px) {
    .alert-modal .modal-wrap .modal-body .desc {
        --alert-desc-pt: 16px;
        --typo-custom-lh: 20px
    }
}

.alert-modal .modal-wrap .modal-body .desc+.desc {
    padding-top: 4px
}

.alert-modal .modal-wrap .modal-body .desc.pt-0 {
    padding-top: 0
}

.alert-modal .modal-wrap .modal-body .sub {
    padding-top: 4px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

@media only screen and (max-width: 343px) {
    .alert-modal .modal-wrap .btn-wrap {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media only screen and (max-width: 343px) {

    .alert-modal .modal-wrap .btn-wrap a,
    .alert-modal .modal-wrap .btn-wrap button {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .alert-modal .modal-wrap .btn-wrap a:not(:first-child),
    .alert-modal .modal-wrap .btn-wrap button:not(:first-child) {
        margin-left: 0;
        margin-top: 4px
    }
}

.modal-desc {
    padding-bottom: var(--modal-desc-pb, 16px);
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    --typo-custom-c: #000
}

@media only screen and (max-width: 767px) {
    .modal-desc {
        --modal-desc-pb: 20px
    }

    .modal-desc+.gray-box {
        margin-top: 8px;
        margin-bottom: 8px
    }
}

.marketing-modal .modal-body {
    padding: 0
}

.marketing-modal .modal-body .swiper {
    width: 100%
}

.marketing-modal .modal-body .swiper .swiper-controller {
    min-width: 100px;
    height: 28px;
    border-radius: 14px;
    background: rgba(0, 0, 0, .3);
    padding: 0 8px;
    --swiper-slide-ctrl-left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    --swiper-slide-ctrl-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .marketing-modal .modal-body .swiper .swiper-controller {
        bottom: 16px;
        right: auto;
        left: 50% !important;
        -webkit-transform: translateX(-50%) !important;
        transform: translateX(-50%) !important
    }
}

.marketing-modal .modal-body .swiper .swiper-controller>div {
    padding: 0;
    background: none;
    min-height: 0
}

.marketing-modal .modal-body .swiper .swiper-controller .swiper-arrow {
    margin: 0
}

.marketing-modal .modal-body .swiper .swiper-controller .swiper-pagination {
    font-size: 12px;
    font-weight: 400;
    margin-left: 4px
}

.marketing-modal .modal-body .swiper .swiper-controller .swiper-pagination .swiper-pagination-current {
    font-weight: 400;
    margin-right: 4px
}

.marketing-modal .modal-body img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.marketing-modal .modal-body .btn-wrap {
    --modal-btn-mt: 0
}

.marketing-modal .modal-body .btn-wrap .btn {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border: none;
    --button-height: 50px;
    margin-left: 0;
    font-size: 16px
}

.marketing-modal .modal-body .btn-wrap .divider-vertical-line {
    margin: 0
}

@media only screen and (min-width: 768px) {
    .marketing-modal {
        width: 460px;
        height: 570px;
        right: auto;
        bottom: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        border-radius: 16px;
        box-shadow: 0 16px 32px -8px rgba(12, 12, 13, .4)
    }

    .marketing-modal .dimmed-bg {
        display: none
    }

    .marketing-modal .modal-wrap {
        --modal-width: 100%
    }

    .marketing-modal .swiper-slide,
    .marketing-modal .swiper-slide a {
        height: 520px
    }
}

@media only screen and (max-width: 767px) {
    .marketing-modal {
        padding: 24px
    }

    .marketing-modal .dimmed-bg {
        background: rgba(0, 0, 0, .55)
    }

    .marketing-modal .modal-wrap {
        height: unset !important;
        border-radius: 16px;
        box-shadow: 0 16px 16px -8px rgba(12, 12, 13, .1), 0 4px 4px -4px rgba(12, 12, 13, .05)
    }

    .marketing-modal .modal-body {
        padding: 0 !important
    }

    .marketing-modal .modal-body .swiper-slide {
        height: 0;
        padding-bottom: 113.141%;
        position: relative
    }

    .marketing-modal .modal-body .swiper-slide a {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%
    }

    .marketing-modal .modal-body .btn-wrap {
        margin-top: 0
    }

    .marketing-modal .modal-body .btn-wrap .btn {
        font-size: 14px;
        --button-height: 47px
    }
}

.mobile-category {
    --mo-quick-height: 64px;
    z-index: 10;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    pointer-events: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 0
}

@media only screen and (min-width: 768px) {
    .mobile-category {
        display: none
    }
}

.m-category-menu {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    pointer-events: all;
    margin-top: auto;
    background-color: #fff;
    padding-left: 0px;
    padding-left: calc(constant(safe-area-inset-left) + 0px);
    padding-left: calc(env(safe-area-inset-left) + 0px);
    padding-right: 0px;
    padding-right: calc(constant(safe-area-inset-right) + 0px);
    padding-right: calc(env(safe-area-inset-right) + 0px);
    padding-bottom: 0px;
    padding-bottom: calc(constant(safe-area-inset-bottom) + 0px);
    padding-bottom: calc(env(safe-area-inset-bottom) + 0px);
    display: grid;
    grid-template-columns: repeat(5, 1fr)
}

.m-category-menu a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: var(--mo-quick-height);
    border-top: 1px solid #ddd;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333;
    --typo-custom-w: 500
}

.m-category-menu a:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: var(--mo-quick-icon);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 4px
}

.m-category-menu a.on:before {
    --mo-quick-icon: var(--mo-quick-icon-on)
}

.m-category-menu a:nth-child(1) {
    --mo-quick-icon: url("../image/header/mo-quick-bars.svg");
    --mo-quick-icon-on: url("../image/header/mo-quick-bars-on.svg");
    --mo-quick-icon-preparing: url("../image/header/mo-quick-bars-disabled.svg")
}

.m-category-menu a:nth-child(2) {
    --mo-quick-icon: url("../image/header/mo-quick-order.svg");
    --mo-quick-icon-on: url("../image/header/mo-quick-order-on.svg")
}

.m-category-menu a:nth-child(3) {
    --mo-quick-icon: url("../image/header/mo-quick-home.svg");
    --mo-quick-icon-on: url("../image/header/mo-quick-home-on.svg")
}

.m-category-menu a:nth-child(4) {
    --mo-quick-icon: url("../image/header/mo-quick-manager.svg");
    --mo-quick-icon-on: url("../image/header/mo-quick-manager-on.svg");
    --mo-quick-icon-preparing: url("../image/header/mo-quick-manager-disabled.svg")
}

.m-category-menu a:nth-child(5) {
    --mo-quick-icon: url("../image/header/mo-quick-user.svg");
    --mo-quick-icon-on: url("../image/header/mo-quick-user-on.svg");
    --mo-quick-icon-preparing: url("../image/header/mo-quick-user-disabled.svg")
}

.m-category-menu a.preparing:not(.on) {
    color: #d8d8d8
}

.m-category-menu a.preparing:not(.on):before {
    --mo-quick-icon: var(--mo-quick-icon-preparing)
}

.m-gnb-wrap {
    display: none;
    pointer-events: all;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    background-color: #fff;
    padding-top: 0px;
    padding-top: calc(constant(safe-area-inset-top) + 0px);
    padding-top: calc(env(safe-area-inset-top) + 0px);
    padding-left: 0px;
    padding-left: calc(constant(safe-area-inset-left) + 0px);
    padding-left: calc(env(safe-area-inset-left) + 0px);
    padding-right: 0px;
    padding-right: calc(constant(safe-area-inset-right) + 0px);
    padding-right: calc(env(safe-area-inset-right) + 0px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 0
}

.m-gnb-wrap.on {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.m-gnb-wrap header {
    height: 45px;
    padding: 0 12px;
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #5f0080;
    padding-left: 0px;
    padding-left: calc(constant(safe-area-inset-left) + 0px);
    padding-left: calc(env(safe-area-inset-left) + 0px);
    padding-right: 0px;
    padding-right: calc(constant(safe-area-inset-right) + 0px);
    padding-right: calc(env(safe-area-inset-right) + 0px)
}

.m-gnb-wrap header .m-gnb-close {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url("../image/header/back.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px auto;
    font-size: 0
}

.m-gnb-wrap header .my-mneu a {
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.m-gnb-wrap .m-gnb {
    min-height: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: grid;
    grid-template-columns: 41fr 59fr;
    gap: 1px;
    background-color: #ddd
}

.m-gnb-wrap .m-gnb>div {
    background-color: #fff;
    min-width: 0;
    overflow-y: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%
}

.m-gnb-wrap [class*=depth] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.m-gnb-wrap [class*=-item] {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    text-align: left;
    width: 100%;
    font-size: var(--tab);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: var(--gnb-item-p)
}

.m-gnb-wrap [class*=-item]:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 11px;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/chevron-down.svg");
    background-size: 16px auto;
    background-position: center;
    background-repeat: no-repeat
}

.m-gnb-wrap [class*=-item].on {
    background-color: var(--gnb-item-on-bgc);
    --typo-custom-c: #fff;
    --typo-custom-w: 600;
    --gnb-item-p: var(--gnb-item-on-p)
}

.m-gnb-wrap [class*=-item].on:after {
    background-image: url("../image/icon/chevron-down-bfff.svg")
}

.m-gnb-wrap .menu-item {
    --gnb-item-on-bgc: #5F0080;
    --gnb-item-p: 0 36px 0 11px;
    --gnb-item-on-p: 0 36px 0 11px;
    line-height: 39px;
    padding-left: 11px;
    padding-left: calc(constant(safe-area-inset-left) + 11px);
    padding-left: calc(env(safe-area-inset-left) + 11px)
}

.m-gnb-wrap .menu-item:after {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
    background-image: url("../image/icon/chevron-down.svg")
}

.m-gnb-wrap .submenu-item {
    --typo-custom-c: #555;
    --gnb-item-on-bgc: #BD76FF;
    --gnb-item-p: 0 36px 0 15px;
    --gnb-item-on-p: 0 36px 0 11px;
    padding-right: 36px;
    padding-right: calc(constant(safe-area-inset-right) + 36px);
    padding-right: calc(env(safe-area-inset-right) + 36px);
    line-height: 34px
}

.m-gnb-wrap .submenu-item:after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../image/icon/chevron-down-b555.svg");
    right: 11px;
    right: calc(constant(safe-area-inset-right) + 11px);
    right: calc(env(safe-area-inset-right) + 11px)
}

.m-gnb-wrap .submenu-item:only-child:after {
    content: unset
}

.m-gnb-wrap .submenu-item.on {
    line-height: 39px
}

.m-gnb-wrap .submenu-item.on:after {
    -webkit-transform: rotate(180deg) translateY(50%);
    transform: rotate(180deg) translateY(50%)
}

.m-gnb-wrap .depth2>ul:not(.on) {
    display: none
}

.m-gnb-wrap .depth2>ul>li:not(:first-child) .submenu-item.on {
    margin-top: 8px
}

.m-gnb-wrap .thirdmenu-item {
    --typo-custom-c: #777;
    --gnb-item-p: 0 23px;
    --gnb-item-on-p: 0 23px;
    line-height: 34px
}

.m-gnb-wrap .thirdmenu-item:after {
    content: unset
}

.m-gnb-wrap .depth1 {
    padding: 3px 0
}

.m-gnb-wrap .depth2 {
    padding: 3px 0
}

.m-gnb-wrap .depth3 {
    padding: 8px 0;
    padding-right: 0px;
    padding-right: calc(constant(safe-area-inset-right) + 0px);
    padding-right: calc(env(safe-area-inset-right) + 0px);
    background-color: #f8f8f8
}

.m-gnb-wrap .depth3:not(.on) {
    display: none
}

.ad-banner .swiper-controller,
.banner .swiper-controller {
    width: 45px;
    --swiper-slide-ctrl-bottom: 8px
}

.ad-banner .swiper-controller>div,
.banner .swiper-controller>div {
    padding-left: 5.5px;
    padding-right: 5.5px;
    min-height: 20px
}

.ad-banner .swiper-controller .swiper-arrow,
.banner .swiper-controller .swiper-arrow {
    --swiper-arrow-size: 16px
}

.ad-banner .swiper-controller .swiper-arrow:nth-child(1),
.banner .swiper-controller .swiper-arrow:nth-child(1) {
    margin-left: 0
}

.ad-banner .swiper-controller .swiper-arrow:nth-child(2),
.banner .swiper-controller .swiper-arrow:nth-child(2) {
    margin-left: 2px
}

@media only screen and (max-width: 767px) {

    .ad-banner .swiper-controller,
    .banner .swiper-controller {
        padding: 0;
        min-height: 20px
    }
}

.ad-banner a,
.banner a {
    display: block;
    width: 100%;
    height: 100%
}

.ad-banner img,
.banner img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 1280px;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ad-banner .swiper {
    border-radius: 16px;
    overflow: hidden
}

@media only screen and (min-width: 768px) {
    .ad-banner.brand-ad-banner .swiper {
        border-radius: 0
    }

    .ad-banner.brand-ad-banner .swiper .swiper-slide {
        width: 630px;
        margin-right: 20px;
        border-radius: 16px;
        overflow: hidden
    }
}

@media only screen and (max-width: 767px) {
    .ad-banner.brand-ad-banner .swiper .swiper-slide {
        padding-bottom: 31.7073%
    }
}

.ad-banner.brand-ad-banner .swiper.swiper-horizontal .swiper-arrow {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important
}

.ad-banner .swiper-slide {
    position: relative;
    height: var(--ad-banner-pc-h, 200px)
}

@media only screen and (max-width: 767px) {
    .ad-banner .swiper-slide {
        height: 0;
        padding-bottom: 60.9756%
    }
}

.ad-banner .swiper-controller {
    --swiper-slide-ctrl-left: auto;
    right: 8px
}

.banner.section-full {
    --ad-banner-mo-h: 33.3333%
}

.banner.section-full>div {
    max-width: 100%;
    padding: 0 !important
}

@media only screen and (max-width: 767px) {
    .banner.section-full img {
        width: unset;
        left: var(--side-padding);
        left: calc(constant(safe-area-inset-left) + var(--side-padding));
        left: calc(env(safe-area-inset-left) + var(--side-padding));
        right: var(--side-padding);
        right: calc(constant(safe-area-inset-right) + var(--side-padding));
        right: calc(env(safe-area-inset-right) + var(--side-padding))
    }
}

.banner.section-full .swiper-controller {
    --swiper-slide-ctrl-left: 50%;
    margin-left: 587px
}

@media only screen and (max-width: 767px) {
    .banner.section-full .swiper-controller {
        --swiper-slide-ctrl-left: auto;
        right: 24px;
        right: calc(constant(safe-area-inset-right) + 24px);
        right: calc(env(safe-area-inset-right) + 24px);
        margin-left: 0
    }
}

.banner.section .swiper {
    border-radius: 16px;
    overflow: hidden
}

.banner.section .swiper-controller {
    --swiper-slide-ctrl-left: auto;
    right: 8px
}

.banner .swiper-slide {
    text-align: center;
    height: 120px;
    position: relative
}

@media only screen and (max-width: 767px) {
    .banner .swiper-slide {
        height: 0;
        padding-bottom: var(--ad-banner-mo-h, 36.5853%)
    }
}

.main {
    overflow-x: hidden;
    --content-pt: 24px
}

@media only screen and (max-width: 767px) {
    .main {
        --content-pt: 0;
        --main-gap-mt: 28px
    }
}

.main .section:not(.side)~.section,
.main .section:not(.side)~.section-full,
.main .section-full:not(.side)~.section,
.main .section-full:not(.side)~.section-full {
    margin-top: var(--main-gap-mt, 32px)
}

.main .bundle-banner .swiper-horizontal~.swiper-arrow[class*=swiper-button-],
.main .item-swiper .swiper-horizontal~.swiper-arrow[class*=swiper-button-],
.main .main-banner-swiper-wrap .swiper-horizontal~.swiper-arrow[class*=swiper-button-] {
    --swiper-arrow-display: flex
}

@media only screen and (min-width: 768px) {

    .main .bundle-banner .swiper-button-next,
    .main .bundle-banner .swiper-button-prev,
    .main .item-swiper .swiper-button-next,
    .main .item-swiper .swiper-button-prev,
    .main .main-banner-swiper-wrap .swiper-button-next,
    .main .main-banner-swiper-wrap .swiper-button-prev {
        --swiper-arrow-top: 50%;
        --swiper-arrow-size: 40px;
        --swiper-arrow-x: calc(var(--swiper-arrow-size) * -1);
        --swiper-arrow-shadow: none;
        --swiper-arrow-icon-size: 40px;
        border: none;
        background-color: rgba(0, 0, 0, 0);
        --swiper-arrow-display: none;
        margin-top: calc(var(--swiper-arrow-size)/2*-1px)
    }
}

@media only screen and (min-width: 768px) {

    .main .bundle-banner .swiper-arrow[class*=swiper-button-]:after,
    .main .item-swiper .swiper-arrow[class*=swiper-button-]:after,
    .main .main-banner-swiper-wrap .swiper-arrow[class*=swiper-button-]:after {
        background-image: url("../image/icon/chevron-down-narrow-b777.svg")
    }
}

@media only screen and (max-width: 767px) {

    .main .main-banner-swiper-wrap .swiper-button-next,
    .main .main-banner-swiper-wrap .swiper-button-prev {
        --swiper-arrow-top: 50% !important
    }
}

.main .head-wrap {
    --head-mb: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .main .head-wrap {
        --head-mb: 20px
    }

    .main .head-wrap .icon-arrow-right {
        --button-icon-size: 12px;
        --button-height: 24px;
        --button-fz: 12px
    }
}

.main .head-wrap .h2 {
    --h2: 18px
}

.main .tab.line {
    margin-top: 0;
    --tab-item-mb: 16px
}

@media only screen and (min-width: 768px) {
    .main .tabs {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .main .tabs .tab-item~.tab-item {
        margin-left: 16px
    }
}

.main .tab.brand-tab {
    --tabitem-gap: 8px;
    font-size: 0;
    position: relative
}

@media only screen and (max-width: 767px) {
    .main .tab.brand-tab:before {
        display: inline-block;
        content: "";
        margin-right: var(--side-padding);
        margin-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        margin-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-bottom: 52.2865%
    }
}

.main .tab.brand-tab .scroll-area {
    background-color: #fff;
    box-shadow: unset;
    position: relative;
    z-index: 2
}

@media only screen and (min-width: 768px) {
    .main .tab.brand-tab .scroll-area {
        margin-left: 656px;
        width: calc(100% - 656px)
    }
}

@media only screen and (max-width: 767px) {
    .main .tab.brand-tab .scroll-area {
        margin-top: 20px
    }
}

@media only screen and (max-width: 767px) {
    .main .tab.brand-tab .tabs:before {
        content: unset
    }
}

.main .tab.brand-tab .tab-item {
    border-radius: 17px;
    border: 1px solid #ddd;
    padding: 0 27px;
    line-height: 31px;
    --tab: var(--body1);
    --tab-line-active: #777
}

.main .tab.brand-tab .tab-item[aria-selected=true] {
    box-shadow: unset;
    background-color: #e6002d;
    border-color: #e6002d;
    color: #fff
}

@media only screen and (min-width: 768px) {
    .main .tab.brand-tab .tab-item {
        margin-left: 0
    }
}

.main .brand-view-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: unset
}

@media only screen and (min-width: 768px) {
    .main .brand-view-list .swiper-slide {
        width: calc((100% - 48px)/3);
        margin-right: 24px
    }
}

.main .video-banner a {
    border-radius: 16px;
    overflow: hidden
}

.brand-tab-banner {
    margin-top: -53px;
    display: grid;
    grid-template-columns: 624px 1fr;
    gap: 32px
}

.brand-tab-banner>a {
    padding-bottom: 326px;
    position: relative
}

.brand-tab-banner>a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px
}

.brand-tab-banner .item-swiper .prd-item-list {
    margin-top: var(--brand-tab-swiper, 57px)
}

@media only screen and (min-width: 768px) {
    .brand-tab-banner .item-swiper .prd-item-list {
        --prd-thumb-w: 192px;
        --item-list-columns: 3;
        --item-info-container-mb: 0
    }

    .brand-tab-banner .item-swiper .prd-item-list a.swiper-slide {
        width: 192px;
        --item-swiper-gap: 24px
    }
}

.brand-tab-banner .item-swiper .prd-item-list .item-detail .prd-price {
    padding-right: 0
}

.brand-tab-banner .item-swiper .prd-item-list .item-detail .prd-price .status {
    display: none
}

@media only screen and (max-width: 767px) {
    .brand-tab-banner {
        margin-top: 0;
        display: block;
        --brand-tab-swiper: 0
    }

    .brand-tab-banner>a {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        padding-bottom: 52.2865%
    }
}

@media only screen and (max-width: 767px) {
    .main-banner {
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }
}

.main-banner .swiper-slide {
    height: var(--swiper-slide-height-pc)
}

@media only screen and (max-width: 767px) {
    .main-banner .swiper-slide {
        height: auto;
        padding-bottom: var(--swiper-slide-height-mo)
    }
}

.main-banner .swiper-slide a {
    display: inline-block;
    width: 100%;
    height: 100%;
    overflow: hidden
}

@media only screen and (min-width: 768px) {
    .main-banner .swiper-slide a {
        border-radius: var(--swiper-slide-radius, 12px);
        border: var(--swiper-slide-bdw, 0px) solid #ededed;
        background-color: #fff
    }
}

@media only screen and (max-width: 767px) {
    .main-banner .swiper-slide a {
        position: absolute;
        top: 0;
        left: 0
    }
}

.main-banner .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media only screen and (min-width: 768px) {
    .main-banner .swiper-slide:not(.grid) {
        border-radius: 12px;
        overflow: hidden
    }
}

.main .main-banner-wrap {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    height: 380px
}

.main .main-banner-wrap .main-banner {
    min-width: 0;
    --swiper-slide-height-pc: 380px;
    --swiper-slide-height-mo: 60%;
    --swiper-slide-radius: 16px
}

.main .main-banner-wrap .swiper-slide.grid {
    --grid-columns: repeat(2, 1fr);
    --grid-gap: 16px
}

@media only screen and (max-width: 767px) {
    .main .main-banner-wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0;
        height: unset
    }

    .main .main-banner-wrap .main-banner {
        margin-bottom: 28px
    }

    .main .main-banner-wrap .swiper-slide.grid {
        --grid-columns: 1fr
    }

    .main .main-banner-wrap .swiper-slide.grid a:nth-child(2) {
        display: none
    }

    .main .main-banner-wrap .swiper-controller {
        padding: 0;
        min-height: 18px;
        border-radius: 0;
        background-color: rgba(0, 0, 0, 0)
    }

    .main .main-banner-wrap .swiper-controller>div {
        height: 18px;
        background: rgba(0, 0, 0, .3);
        border-radius: 9px
    }

    .main .main-banner-wrap .swiper-controller>div:first-child {
        padding: 0 8px
    }

    .main .main-banner-wrap .swiper-controller>div:last-child {
        padding: 0 12px;
        font-size: 11px;
        font-weight: 500;
        line-height: 1
    }

    .main .main-banner-wrap .swiper-controller .icon-circle-pause {
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
        -ms-flex-order: -1;
        order: -1;
        width: 12px;
        height: 12px
    }

    .main .main-banner-wrap .swiper-controller .icon-circle-pause:before {
        --button-icon-size: 12px
    }

    .main .main-banner-wrap .swiper-controller .swiper-arrow {
        --swiper-arrow-size: 12px
    }

    .main .main-banner-wrap .swiper-controller .swiper-button-prev {
        margin: 0 5px
    }

    .main .main-banner-wrap .swiper-controller .swiper-pagination-current {
        font-weight: 600
    }
}

.main-banner-swiper-wrap {
    position: relative;
    --banner-columns: 3;
    --banner-gap: 24px
}

.main-banner-swiper-wrap .swiper:not(.swiper-horizontal) .swiper-slide {
    width: calc((100% - var(--banner-gap)*(var(--banner-columns) - 1))/var(--banner-columns))
}

.main-banner-swiper-wrap .swiper:not(.swiper-horizontal) .swiper-slide:not(:last-child) {
    margin-right: var(--banner-gap)
}

@media only screen and (max-width: 767px) {
    .main-banner-swiper-wrap .swiper:not(.swiper-horizontal) .swiper-slide {
        --banner-columns: 1
    }
}

.head-wrap .swiper-pagination {
    min-width: 54px;
    margin-left: 8px;
    font-size: var(--body1);
    font-weight: 500;
    color: #ccc
}

.head-wrap .swiper-pagination-current {
    color: #000;
    font-weight: 600
}

.head-wrap .icon-circle-pause {
    margin: 0 -2px
}

.announce {
    --grid-columns: 1fr 510px;
    --grid-gap: 40px;
    padding: var(--main-announce-padding, 32px 0)
}

@media only screen and (max-width: 767px) {
    .announce {
        --grid-columns: 1fr;
        --grid-gap: 32px;
        --main-announce-padding: 32px 0 0 0
    }
}

.announce .grid-item {
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .announce .grid-item:nth-child(2) {
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1);
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        background-color: #fff;
        padding-top: 20px
    }
}

.announce .tab {
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden
}

.announce .tab .tabs {
    box-shadow: inset 0 -1px 0 0 #ededed;
    background-color: #fff;
    --box-tabs-mb: 0;
    padding: 8px;
    background-image: unset
}

.announce .tab .tabs:after {
    display: none
}

@media only screen and (min-width: 768px) {
    .announce .tab .tabs {
        padding: 12px 26px
    }
}

@media only screen and (max-width: 767px) {
    .announce .tab .tabs {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

.announce .tab .tab-item {
    --tabitem-bdw: 0;
    --typo-custom-lh: 41px;
    --tabitom-px: 16px;
    --tabitem-gap: 16px;
    font-size: 18px;
    position: relative;
    padding: 0 10px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: unset
}

.announce .tab .tab-item[aria-selected=false] {
    color: #777
}

.announce .tab .tab-item[aria-selected=true] {
    box-shadow: none;
    border-radius: 6px
}

.announce .tab .tab-item:not(:first-child) {
    position: relative;
    margin-left: 33px
}

.announce .tab .tab-item:not(:first-child):before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 50%;
    left: -16px;
    width: 1px;
    height: 16px;
    background: #ddd;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .announce .tab .tab-item {
        font-size: 14px
    }
}

@media only screen and (max-width: 343px) {
    .announce .tab .tab-item:not(:first-child) {
        margin-left: 17px
    }

    .announce .tab .tab-item:not(:first-child)::before {
        left: -8px
    }
}

.announce .tab .tabs-content {
    padding: 13px 26px;
    min-height: 231px;
    --no-contents-py: 54px
}

@media only screen and (max-width: 767px) {
    .announce .tab .tabs-content {
        padding: 13px 8px
    }

    .announce .tab .tabs-content .no-contents {
        min-height: 205px
    }
}

.announce .board-item {
    --board-item-columns: 1fr;
    --board-side-padding: 0
}

.announce .event-announce {
    margin-top: 0;
    padding-bottom: 0
}

.announce .event-announce .flex {
    grid-template-columns: 1fr 120px auto;
    gap: 8px;
    padding: 11px 0
}

.announce .event-announce .flex>span:nth-child(1) {
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0;
    font-weight: 500
}

@media only screen and (min-width: 768px) {
    .announce .event-announce .flex>span:nth-child(1) {
        justify-self: start
    }
}

.announce .event-announce .flex>span:nth-child(2) {
    text-align: right;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 500;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.announce .event-announce .flex>span:nth-child(3) {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: #ccc
}

@media only screen and (max-width: 767px) {
    .announce .event-announce .flex {
        grid-template-columns: 1fr;
        gap: 0
    }
}

.tag-top {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0;
    font-weight: 500;
    color: #e6002d
}

.tag-top:after {
    content: "";
    width: 1px;
    height: 12px;
    background-color: #ddd;
    margin-left: 4px
}

.ad-banner-mini-wrap {
    --banner-gap: 16px;
    --banner-columns: 1
}

.ad-banner-mini-wrap .swiper {
    height: 343px;
    border-radius: 12px;
    overflow: hidden
}

.ad-banner-mini-wrap .swiper a {
    display: block;
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 767px) {
    .ad-banner-mini-wrap .swiper {
        height: auto
    }

    .ad-banner-mini-wrap .swiper a {
        height: 0;
        padding-bottom: 67.378%;
        position: relative
    }
}

.ad-banner-mini-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media only screen and (max-width: 767px) {
    .ad-banner-mini-wrap img {
        position: absolute;
        top: 0;
        left: 0
    }
}

.ad-banner-mini-wrap .swiper-controller {
    top: 12px;
    --swiper-slide-ctrl-bottom: auto
}

@media only screen and (min-width: 768px) {
    .ad-banner-mini-wrap .swiper-controller {
        --swiper-slide-ctrl-left: auto;
        right: 12px
    }
}

@media only screen and (max-width: 767px) {
    .ad-banner-mini-wrap .swiper-controller {
        border-radius: 16px;
        padding: 0 14px;
        bottom: auto
    }

    .ad-banner-mini-wrap .swiper-controller .icon-circle-pause {
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
        -ms-flex-order: -1;
        order: -1
    }

    .ad-banner-mini-wrap .swiper-controller .swiper-button-prev {
        margin: 0 5px
    }
}

.ad-banner-mini-wrap .swiper-controller>div {
    min-height: 32px
}

.personal-wrap {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, .08), 0px 4px 20px 0px rgba(0, 0, 0, .08)
}

@media only screen and (max-width: 767px) {
    .personal-wrap {
        height: unset
    }
}

.personal-area {
    min-height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.personal-area>.grid {
    padding: var(--personal-area-padding)
}

@media only screen and (max-width: 767px) {
    .personal-area>.grid {
        padding: var(--personal-area-padding-mo)
    }
}

.personal-area>.grid>em {
    white-space: nowrap;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #777;
    font-size: 13px;
    font-weight: 500
}

.personal-area>.grid>em .btn {
    margin-left: 8px;
    --button-height: 22px
}

.personal-area .btn {
    --button-bdc: #DDDDDD;
    --button-bdc-hover: #DDDDDD
}

.personal-area .profile {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --personal-area-padding: 24px 32px 16px 100px;
    --personal-area-padding-mo: 10px 16px 8px 84px;
    --grid-columns: 1fr auto;
    --grid-gap: 4px;
    border-bottom: 1px solid #ededed;
    background-repeat: no-repeat;
    background-position: center left 32px;
    background-image: var(--grade-icon, url("../image/icon/icon-basic.svg"))
}

.personal-area .profile.bronze {
    --grade-icon: url("../image/icon/icon-bronze.svg")
}

.personal-area .profile.silver {
    --grade-icon: url("../image/icon/icon-silver.svg")
}

.personal-area .profile.gold {
    --grade-icon: url("../image/icon/icon-gold.svg")
}

.personal-area .profile.platinum {
    --grade-icon: url("../image/icon/icon-platinum.svg")
}

@media only screen and (max-width: 767px) {
    .personal-area .profile {
        background-position: center left 16px
    }
}

.personal-area .profile p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    grid-column: span 2;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #000;
    line-height: 21px;
    white-space: nowrap;
    min-width: 0
}

.personal-area .profile p em {
    font-size: 16px;
    color: #5f0080;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 4px
}

.personal-area .profile>span {
    font-size: 12px;
    line-height: 1.5;
    color: #777;
    letter-spacing: -0.02em;
    font-weight: 500
}

.personal-area .items {
    --personal-area-padding: 15px 32px 16px;
    --personal-area-padding-mo: 15px 16px 16px;
    --grid-columns: auto 1fr;
    --grid-gap: 12px 24px;
    background-color: #f8f8f8;
    line-height: 16px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.personal-area .items>em,
.personal-area .items>a,
.personal-area .items>div {
    min-width: 0
}

.personal-area .items a:not(.btn) {
    margin-left: auto;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.02em;
    max-width: 100%;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    white-space: nowrap
}

.personal-area .items a:not(.btn) span {
    display: inline-block;
    margin-right: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.personal-area .items>div {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid #ddd;
    grid-column: span 2;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --grid-columns: repeat(2, auto 1fr)
}

.personal-area .items>div em {
    font-size: 13px;
    color: #777;
    font-weight: 500;
    letter-spacing: -0.02em
}

.personal-area .quick-service {
    padding: 22px 20px 11px;
    font-size: 12px;
    line-height: 14px;
    color: #4d0073
}

@media only screen and (max-width: 767px) {
    .personal-area .quick-service {
        padding: 8px 16px 11px
    }
}

.personal-area .quick-service em {
    font-weight: 500
}

.personal-area .quick-service .grid {
    margin-top: 12px;
    --grid-columns: repeat(4, 1fr);
    --grid-gap: 16px;
    text-align: center
}

.personal-area .quick-service a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 700;
    padding-bottom: 6px
}

.personal-area .quick-service a:before {
    display: inline-block;
    content: "";
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
    background-image: var(--quick-service-img-url);
    background-repeat: no-repeat
}

.personal-area .quick-service .quick-benefit {
    --quick-service-img-url: url("../image/main/icon-coupon.svg")
}

.personal-area .quick-service .quick-payment {
    --quick-service-img-url: url("../image/main/icon-mileage.svg")
}

.personal-area .quick-service .quick-return {
    --quick-service-img-url: url("../image/main/icon-group.svg")
}

.personal-area .quick-service .quick-qna {
    --quick-service-img-url: url("../image/main/icon-faq.svg")
}

.ranking-wrap {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 23px;
    position: relative
}

@media only screen and (min-width: 768px) {
    .ranking-wrap {
        min-height: 346px
    }
}

@media only screen and (max-width: 767px) {
    .ranking-wrap {
        position: static;
        grid-template-columns: 1fr;
        gap: 20px
    }
}

.ranking-wrap>div {
    min-width: 0
}

.ranking-wrap .num {
    position: absolute;
    top: var(--item-info-container-mt, 12px);
    left: 0;
    border-radius: 0;
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    background-image: url("../image/product/ranking-label.svg");
    width: 28px;
    height: 38px;
    padding-top: 6px;
    text-align: center;
    background-size: contain;
    background-repeat: no-repeat;
    --body2: 16px;
    color: #fff;
    font-weight: 600;
    line-height: 21px
}

.ranking-wrap .info-container {
    position: relative
}

.ranking-wrap .title-main,
.ranking-wrap .title-sub {
    padding-left: 36px
}

.ranking-wrap .ranking-one {
    border-radius: 16px;
    border: 1px solid #ededed;
    background: #fff;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, .08), 0px 2px 6px 0px rgba(0, 0, 0, .08);
    position: relative
}

.ranking-wrap .ranking-one .prd-item-list {
    height: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --item-list-columns: 1
}

.ranking-wrap .ranking-one .prd-item-list .item-element {
    padding: 0 23px;
    --prd-thumb-w: 170px
}

@media only screen and (max-width: 767px) {
    .ranking-wrap .ranking-one {
        padding-top: 23px;
        padding-bottom: 23px
    }

    .ranking-wrap .ranking-one .prd-item-list .item-element {
        --prd-thumb-w: 210px
    }
}

.ranking-wrap .ranking-swiper {
    position: static
}

@media only screen and (max-width: 767px) {
    .ranking-wrap .ranking-swiper {
        position: relative
    }

    .ranking-wrap .ranking-swiper .prd-item-list {
        display: grid;
        grid-template-columns: var(--item-list-columns);
        gap: var(--item-list-gap)
    }
}

.ranking-wrap .swiper {
    --banner-columns: 2;
    --banner-gap: 26px
}

@media only screen and (min-width: 768px) {
    .ranking-wrap .swiper {
        min-height: 100%;
        padding: 25px;
        border: 1px solid #ededed;
        border-radius: 16px
    }
}

.ranking-wrap .swiper .thumbnail-wrap {
    --prd-thumb-w: 100%
}

.recomment-wrap h3.body1 {
    text-align: center;
    --typo-custom-lh: 19px;
    --typo-custom-w: 500;
    --typo-custom-c: #000;
    padding: 22.5px 23px;
    border: 1px solid #ededed;
    border-radius: 16px 16px 0 0
}

@media only screen and (max-width: 767px) {
    .recomment-wrap h3.body1 {
        padding: 16px
    }
}

.recomment-wrap h3.body1 span {
    font-size: 12px;
    vertical-align: top
}

@media only screen and (max-width: 767px) {
    .recomment-wrap h3.body1 span {
        display: inline-block;
        width: 100%;
        padding-bottom: 4px
    }
}

.recomment-wrap h3.body1 em {
    font-size: 16px;
    color: #5f0080;
    font-weight: 600;
    vertical-align: top
}

.recomment-wrap .recommend-swiper {
    border: 1px solid #ededed;
    border-top: none;
    border-radius: 0 0 16px 16px;
    background-color: #f8f8f8;
    border-radius: 0 0 16px 16px;
    --banner-columns: 1;
    --banner-gap: 0px
}

@media only screen and (min-width: 768px) {
    .recomment-wrap .recommend-swiper .prd-item-list {
        padding: 24px 20px;
        --item-list-columns: 3;
        --item-list-gap: 24px 20px
    }

    .recomment-wrap .recommend-swiper .prd-item-list .quantity-wrap {
        width: 109px
    }
}

@media only screen and (max-width: 767px) {
    .recomment-wrap .recommend-swiper .prd-item-list {
        padding: 16px 8px;
        display: grid;
        grid-template-columns: repeat(var(--item-list-columns), 1fr);
        gap: 16px 12px;
        --prd-list-custom-p: 9px
    }

    .recomment-wrap .recommend-swiper .prd-item-list .item-element {
        --prd-thumb-w: 70%
    }
}

.ad-banner-wrap .swiper-slide,
.event-wrap .swiper-slide {
    border-radius: 12px;
    overflow: hidden
}

.ad-banner-wrap .swiper-slide img,
.event-wrap .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media only screen and (max-width: 767px) {

    .ad-banner-wrap .swiper-slide img,
    .event-wrap .swiper-slide img {
        position: absolute;
        top: 0;
        left: 0
    }
}

.ad-banner-wrap {
    --banner-columns: 2
}

.ad-banner-wrap .swiper-slide {
    height: 290px
}

@media only screen and (max-width: 767px) {
    .ad-banner-wrap .swiper-slide {
        height: 0;
        position: relative;
        padding-bottom: 46.0365%
    }
}

.event-wrap .swiper-slide a {
    display: block
}

.event-wrap .swiper-slide .image-wrap {
    height: 0;
    padding-bottom: 62.0437%;
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.event-wrap .swiper-slide .image-wrap img {
    position: absolute;
    top: 0;
    left: 0
}

@media only screen and (max-width: 767px) {
    .event-wrap .swiper-slide .image-wrap {
        padding-bottom: 62.1951%
    }
}

.event-wrap .swiper-slide .text-wrap {
    padding-top: 12px
}

@media only screen and (max-width: 767px) {
    .event-wrap .swiper-slide .text-wrap {
        padding-top: 16px
    }
}

.event-wrap .swiper-slide .text-wrap h4 {
    --h3: 16px;
    --typo-custom-c: #000;
    --typo-custom-lh: 21px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.main .event-wrap .swiper-arrow[class*=swiper-button-] {
    top: calc(50% - 16.5px)
}

@media only screen and (max-width: 767px) {
    .main .event-wrap .swiper-arrow[class*=swiper-button-] {
        top: calc(50% - 18.5px)
    }
}

@media only screen and (max-width: 767px) {
    .brand-view-list-swiper .swiper~.swiper-arrow[class*=swiper-button-] {
        top: calc((100% - 122px)/2)
    }
}

.header-join {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: var(--header-join-pb, 0);
    background: #fff;
    z-index: 9
}

@media only screen and (max-width: 767px) {
    .header-join {
        --header-join-pt: 0px;
        --header-join-pb: 0px;
        background-color: #fff;
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        left: 0;
        width: 100%
    }

    .header-join .flex {
        height: 60px
    }

    .header-join~.content-inner .section-narrow {
        height: 100%
    }
}

.header-join .flex {
    margin: 0 auto;
    max-width: calc(var(--content-width-narrow) + var(--side-padding)*2);
    padding-top: var(--header-join-pt, 60px);
    padding-left: var(--side-padding);
    padding-right: var(--side-padding)
}

@media only screen and (max-width: 767px) {
    .header-join .flex {
        padding-top: var(--header-join-pt, 60px);
        padding-top: calc(constant(safe-area-inset-top) + var(--header-join-pt, 60px));
        padding-top: calc(env(safe-area-inset-top) + var(--header-join-pt, 60px));
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.header-join h1 {
    font-size: 0;
    vertical-align: top
}

.header-join h1 img {
    width: 186px
}

@media only screen and (max-width: 767px) {
    .header-join h1 a {
        display: inline-block;
        width: 135px;
        height: 18px;
        background-image: url("../image/logo-mo.png");
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center
    }

    .header-join h1 img {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0
    }
}

.header-join.wide .flex {
    max-width: calc(1020px + var(--side-padding)*2)
}

@media only screen and (min-width: 768px) {
    .header-join.wide {
        background-color: #f6f6f6
    }
}

.login.etc {
    background-image: none;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

@media only screen and (min-width: 768px) {
    .login.etc {
        background-color: #f6f6f6
    }
}

.login.etc .line-box {
    width: 100%;
    --form-line-mb: 0;
    background-color: #fff;
    border: none;
    padding: 32px 80px
}

@media only screen and (min-width: 768px) {
    .login.etc .line-box {
        width: 1020px
    }
}

@media only screen and (max-width: 767px) {
    .login.etc .line-box {
        padding: 0 var(--side-padding)
    }
}

.login.etc h2.h2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.login.etc h2.h2 i {
    display: inline-block;
    width: 56px;
    height: 56px;
    background-image: var(--main-icon-url);
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .login.etc h2.h2 i {
        margin-bottom: 20px
    }
}

.login.etc h2.h2 .icon-care-facility {
    --main-icon-url: url("../image/order/icon-care-facility.svg")
}

.login.etc h2.h2 .icon-delete-id {
    --main-icon-url: url("../image/order/icon-delete-id.svg")
}

.login.etc h2.h2 .icon-agreement {
    --main-icon-url: url("../image/order/icon-agreement.svg")
}

.login.etc .body1 {
    margin-top: 16px
}

.login.etc .body1+.body1 {
    margin-top: 8px
}

@media only screen and (min-width: 768px) {
    .login.etc .body1 {
        text-align: center
    }

    .login.etc .body1 a[href*=tel] {
        pointer-events: none
    }
}

.login.etc .gray-box {
    text-align: center
}

.login.etc .gray-box .h2 {
    --h2: 18px;
    padding: 4px 0
}

@media only screen and (min-width: 768px) {
    .login.etc .gray-box {
        padding: 16px 40px;
        border-radius: 12px;
        margin: 16px 0
    }
}

@media only screen and (max-width: 767px) {
    .login.etc .gray-box {
        margin: 28px 0
    }
}

.login.etc .crud {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width: 768px) {
    .login.etc .crud {
        margin-top: 24px
    }

    .login.etc .crud .btn {
        max-width: 200px
    }
}

@media only screen and (max-width: 767px) {
    .login.etc {
        --content-pt: 40px;
        --crud-mt: 28px
    }
}

.login.etc .agree-title {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600;
    padding-bottom: 8px;
    margin-top: var(--agree-title-mt, 32px)
}

.login.etc .agree-title~.agree-title {
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    .login.etc .agree-title {
        --agree-title-mt: 28px
    }
}

.login.etc .agree-box {
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    --grid-columns: 1fr auto;
    --grid-gap: 8px;
    border-radius: 12px;
    border: 1px solid #ddd;
    padding: 16px 10px 16px 16px
}

.login.etc .agree-box .btn.text {
    --button-c: #999;
    --button-height: 16px
}

.login.etc .agree-box .btn.text:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    background-image: url("../image/icon/chevron-down-b999.svg")
}

.join-step {
    margin-bottom: var(--join-step-mb, 16px)
}

@media only screen and (max-width: 767px) {
    .join-step {
        --join-step-mb: 28px
    }
}

.join-step li {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: var(--step-height, 55px);
    --typo-custom-c: var(--step-default-color, #5F0080);
    --typo-custom-w: 600;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    box-shadow: inset 0 var(--step-active-line-w, -1px) 0 var(--step-default-bdcolor, #5F0080);
    --join-icon: var(--join-icon-active-url, var(--join-icon-url))
}

.join-step li:before {
    display: inline-block;
    content: "";
    width: 16px;
    height: 16px;
    background-image: var(--join-icon);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
    margin-right: 6px
}

.join-step li[aria-current=true] {
    --step-active-line-w: -3px
}

.join-step li[aria-current=true]~li {
    --join-icon: var(--join-icon-url);
    --step-default-bdcolor: #DDDDDD;
    --step-default-color: #ccc
}

.join-step li:nth-child(1) {
    --join-icon-url: url("../image/join/step1.svg")
}

.join-step li:nth-child(2) {
    --join-icon-url: url("../image/join/step2.svg");
    --join-icon-active-url: url("../image/join/step2-active.svg")
}

.join-step li:nth-child(3) {
    --join-icon-url: url("../image/join/step3.svg");
    --join-icon-active-url: url("../image/join/step3-active.svg")
}

@media only screen and (max-width: 767px) {
    .join-step li {
        --step-height: 42px;
        font-size: var(--tab)
    }
}

@media only screen and (max-width: 343px) {
    .join-step li {
        --tab: 11px
    }
}

.form-title {
    margin-bottom: 8px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.mandatory-mark {
    color: #e6002d;
    vertical-align: top
}

.form-title .mandatory-mark {
    margin-left: 2px
}

.form-line {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    word-wrap: break-word;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    margin-bottom: var(--form-line-mb, 16px)
}

@media only screen and (max-width: 767px) {
    .form-line {
        --form-line-mb: 20px
    }
}

.form-line .flex {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.join .form-line .btn.cta {
    --button-height: 35px;
    --button-fz: var(--body2);
    --button-fw: 500;
    --button-icon-gap: 4px;
    --button-px: 10px
}

.join .head-wrap {
    --item-height: 24px;
    --head-mb: 16px
}

.join .head-wrap .btn {
    --item-height: 35px
}

@media only screen and (max-width: 767px) {
    .join .head-wrap {
        --head-mb: 20px
    }
}

.join .head-wrap .h2+.body1,
.join .head-wrap .h3+.body1 {
    --join-head-gap: 8px
}

.join .head-wrap .body1:not(.c-b000) {
    margin-top: var(--join-head-gap, 4px)
}

.join .head-wrap .body1:not(.c-b000):not(.c-orange) {
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

.join .head-wrap .body1:not(.c-b000).c-orange {
    --c-orange-custom: #5D37CB
}

.join .head-wrap .title-has-button {
    line-height: 34px
}

.join .check-wrap {
    --item-height: 24px
}

.join .crud {
    --crud-mt: var(--join-crud, 24px)
}

@media only screen and (max-width: 767px) {
    .join .crud {
        --join-crud: 28px
    }
}

.join .form-wrap~.head-wrap,
.join .toggle-area {
    margin-top: var(--head-wrap-gap, 16px);
    padding-top: var(--head-wrap-gap, 16px);
    border-top: 1px solid #ededed
}

@media only screen and (max-width: 767px) {

    .join.step2 .head-wrap,
    .join.step2 .toggle-area,
    .join.step-additional .head-wrap,
    .join.step-additional .toggle-area {
        --head-wrap-gap: 28px
    }
}

@media only screen and (max-width: 767px) {

    .join.step2 .toggle-area .head-wrap,
    .join.step-additional .toggle-area .head-wrap {
        --head-wrap-gap: 0
    }
}

@media only screen and (min-width: 768px) {
    .join.step1 .crud {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .join.step1 .crud .btn {
        max-width: 200px
    }
}

@media only screen and (max-width: 767px) {
    .join.step2 .swiper-arrow[class*=swiper-button-] {
        --swiper-arrow-x: var(--side-padding)
    }
}

.join.step2 .head-wrap+.head-wrap {
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    .join.step2 .head-wrap+.head-wrap {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.join.step2 .head-wrap {
    position: relative
}

.join.step2 .head-wrap>div:nth-child(2) {
    position: absolute;
    top: var(--head-wrap-gap, 0);
    right: 0
}

@media only screen and (min-width: 768px) {
    .join.step2 .form-basic.date {
        width: calc(50% - 4px)
    }
}

.join.step2 .form-line .check-wrap {
    margin-top: 12px;
    --item-height: 21px
}

.join.step2 .dot-list {
    padding-bottom: 8px
}

@media only screen and (max-width: 767px) {
    .join.step2 .dot-list {
        padding-bottom: 12px
    }
}

.join.step2 .agreement>.grid {
    padding: 0
}

.join.step2 .agreement .grid-item:first-child {
    margin-top: 0
}

.join.step2 .hidden-option:not(.checkbox-tab) {
    padding-left: 28px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 8px
}

@media only screen and (min-width: 768px) {
    .join.step2 .hidden-option:not(.checkbox-tab) .input-checkbox:not(:first-child) {
        margin-left: 24px !important
    }
}

@media only screen and (min-width: 768px) {
    .join.step2 .crud {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .join.step2 .crud .btn {
        max-width: 200px
    }
}

@media only screen and (min-width: 768px) {
    .join.step3 p.body1 {
        margin-top: 16px
    }
}

@media only screen and (max-width: 767px) {
    .join.step3 {
        height: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .join.step3 .join-step {
        --join-step-mb: 0
    }
}

.join.step3 h3.h1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --h1: var(--h2);
    text-align: center;
    margin-bottom: 8px;
    word-break: keep-all
}

.join.step3 h3.h1:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 84px;
    height: 84px;
    background-image: url("../image/join/complete.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin: var(--step3-icon-m, 40px auto 40px)
}

.join.step3 p.body1 {
    text-align: center;
    --typo-custom-w: 500;
    --typo-custom-c: #7346F3;
    word-break: keep-all
}

.join.step3 .flex {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width: 768px) {
    .join.step3 .flex .btn {
        max-width: 200px
    }
}

.pharmacy-info-origin {
    margin-bottom: 16px
}

.ocr-desc {
    padding: 0 0 8px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

.form-wrap>.grid {
    --grid-columns: repeat(2, 1fr);
    --grid-gap: 16px 16px
}

@media only screen and (max-width: 767px) {
    .form-wrap>.grid {
        --grid-columns: 1fr;
        --grid-gap: 20px
    }
}

@media only screen and (min-width: 768px) {
    .form-wrap>.grid .col-span-2 {
        grid-column: span 2
    }
}

.form-wrap>.grid .form-line {
    margin-bottom: 0
}

@media only screen and (max-width: 767px) {
    .form-call .flex {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .form-call .input-call {
        margin-right: 0 !important
    }

    .form-call .btn {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

.form-call .btn:only-child {
    min-width: 158px
}

@media only screen and (max-width: 767px) {
    .form-call .btn:only-child {
        width: 100%
    }
}

.form-marketing {
    --form-line-mb: 8px
}

.form-marketing .check-wrap label {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.form-marketing .check-wrap .input-checkbox:not(:first-child) {
    margin-left: 16px
}

.form-marketing .dot-list {
    padding-top: var(--item-gap)
}

@media only screen and (max-width: 767px) {
    .form-marketing .dot-list {
        padding-bottom: 4px
    }
}

.form-personal-setting {
    font-size: 0;
    --item-height: 21px
}

.form-personal-setting .flex {
    --typo-custom-w: 500;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.form-personal-setting .flex>div {
    text-align: center;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.form-personal-setting .flex>div:first-child {
    margin-right: 12px !important
}

.form-personal-setting .flex>div .input-radio {
    margin: 0 auto;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.form-personal-setting .flex>div .input-radio span:not(.thumb) {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding-top: 8px;
    padding-right: 0;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-w: 400
}

.form-personal-setting .flex>div .input-radio .thumb {
    padding-right: 0;
    display: inline-block;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    width: 100%;
    max-width: 150px;
    font-size: 0;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-bottom: 8px;
    position: relative
}

.form-personal-setting .flex>div .input-radio .thumb:before {
    display: inline-block;
    content: "";
    vertical-align: top;
    width: 100%;
    padding-bottom: calc(100% - 2px);
    border: 1px solid #ededed;
    border-radius: 12px;
    box-sizing: border-box;
    background-image: var(--join-personal-setting-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.form-personal-setting .flex>div .input-radio:after {
    content: "";
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    display: inline-block;
    height: 0;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.form-personal-setting .flex>div:nth-of-type(1) {
    --join-personal-setting-url: url(../image/join/personal-setting-2.png)
}

.form-personal-setting .flex>div:nth-of-type(2) {
    --join-personal-setting-url: url(../image/join/personal-setting-1.png)
}

.agreement {
    --grid-columns: repeat(2, 1fr);
    --grid-gap: 0 16px
}

@media only screen and (max-width: 767px) {
    .agreement {
        --grid-columns: 1fr
    }
}

.agreement .check-wrap label {
    font-weight: 500
}

.agreement>.grid {
    padding: 0 8px
}

.agreement .grid-item {
    margin-top: 8px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 767px) {
    .agreement .grid-item {
        padding-left: 12px
    }

    .agreement .grid-item>.check-wrap {
        margin-left: -12px
    }
}

.agreement .grid-item .btn {
    margin-left: var(--agree-btn-ml, 12px);
    --button-c: #999
}

.agreement .grid-item .btn:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    --icon-url: url("../image/icon/chevron-down-b999.svg")
}

.agreement .grid-item>.check-wrap:not(.checkbox-tab) label {
    line-height: 24px
}

@media only screen and (max-width: 767px) {
    .agreement .grid-item>.check-wrap:not(.checkbox-tab) label {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.agreement .grid-item>.check-wrap:not(.checkbox-tab) label>span,
.agreement .grid-item>.check-wrap:not(.checkbox-tab) label>em {
    font-size: 12px
}

.agreement .grid-item>.check-wrap:not(.checkbox-tab) i {
    margin-top: 2px
}

.agreement .grid-item>.check-wrap:not(.checkbox-tab) span,
.agreement .grid-item>.check-wrap:not(.checkbox-tab) em {
    white-space: nowrap
}

@media only screen and (min-width: 768px) {
    .agreement .grid-item .checkbox-tab {
        width: auto;
        min-width: 65px;
        margin-left: auto
    }

    .agreement .grid-item .checkbox-tab label:only-child {
        line-height: 24px !important;
        padding: 0 6px
    }
}

@media only screen and (max-width: 767px) {
    .agreement .grid-item .checkbox-tab {
        margin-left: 16px;
        margin-top: 8px
    }
}

.agreement .grid-item .agree-options {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 0 28px
}

@media only screen and (max-width: 767px) {
    .agreement .grid-item .agree-options {
        padding-right: 0;
        padding-left: 16px
    }
}

.agreement .grid-item .agree-options .body1 {
    padding-top: 8px
}

.agreement .grid-item .agree-options input {
    margin-top: 8px
}

.agreement .grid-item .agree-options .check-wrap:not(.checkbox-tab) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.agreement .grid-item .agree-options .check-wrap:not(.checkbox-tab) .input-checkbox {
    margin-left: 0
}

@media only screen and (min-width: 768px) {
    .agreement .grid-item.col-span-2 {
        grid-column: span 2
    }
}

.step-additional .form-line .feedback~.check-wrap {
    margin-top: var(--item-gap)
}

.step-additional .form-line .check-wrap {
    --item-height: 21px;
    font-weight: 500
}

.login {
    background: url("../image/join/bg-login.png");
    background-size: cover;
    background-position: center;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .login {
        --content-pt: 80px;
        --content-pb: 40px;
        background: #fff;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.section-login {
    width: var(--login-width, 1020px);
    height: var(--login-height, 585px);
    padding: var(--login-section-padding, 47.5px 80px);
    display: grid;
    grid-template-columns: var(--login-columns, 1fr 480px);
    -webkit-column-gap: 60px;
    -moz-column-gap: 60px;
    column-gap: 60px;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    --login-margin: 48px
}

@media only screen and (max-width: 767px) {
    .section-login {
        --login-width: 100%;
        --login-height: none;
        --login-columns: 1fr;
        --login-section-padding: 0;
        --login-margin: 28px;
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding));
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        border-radius: 0
    }
}

.section-login>div {
    min-width: 0
}

.section-login>div:first-child {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%
}

.section-login>div:first-child>div {
    width: 375px
}

@media only screen and (max-width: 767px) {
    .section-login>div:first-child>div {
        width: 100%
    }
}

.section-login>div:last-child img {
    width: 100%;
    height: var(--login-picture-h, 284px);
    object-fit: cover
}

@media only screen and (max-width: 767px) {
    .section-login>div:last-child img {
        --login-picture-h: auto
    }
}

.section-login>div:last-child h2 {
    text-align: center;
    padding-top: var(--login-h2-pt, 18px)
}

.section-login>div:last-child h2 .c-red {
    --c-red-custom: #5D37CB
}

@media only screen and (min-width: 768px) {
    .section-login>div:last-child h2 {
        --typo-custom-lh: 27px;
        --h2: 18px
    }
}

@media only screen and (max-width: 767px) {
    .section-login>div:last-child h2 {
        font-size: var(--h3);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 600);
        color: var(--typo-custom-c, #222);
        --typo-custom-lh: 25px
    }
}

.section-login>div:last-child ul {
    padding-top: 14px;
    display: grid;
    grid-template-columns: var(--login-ul-columns, 235px 1fr);
    gap: var(--login-ul-gap, 24px)
}

@media only screen and (max-width: 767px) {
    .section-login>div:last-child ul {
        padding-top: 18px;
        --login-ul-columns: 1fr;
        --login-ul-gap: 16px
    }
}

.section-login>div:last-child li {
    padding-left: calc(var(--login-icon-size, 48px) + 8px);
    background-position: left top;
    background-size: var(--login-icon-size, 48px);
    background-image: var(--login-icon-url);
    background-repeat: no-repeat;
    min-height: var(--login-icon-size, 48px)
}

@media only screen and (max-width: 767px) {
    .section-login>div:last-child li {
        --login-icon-size: 44px
    }
}

.section-login>div:last-child li:nth-child(1) {
    --login-icon-url: url("../image/join/icon-coupon.svg")
}

.section-login>div:last-child li:nth-child(2) {
    --login-icon-url: url("../image/join/icon-refund.svg")
}

.section-login>div:last-child li:nth-child(3) {
    --login-icon-url: url("../image/join/icon-event.svg")
}

.section-login>div:last-child li:nth-child(4) {
    --login-icon-url: url("../image/join/icon-mall.svg")
}

.section-login>div:last-child .body1 {
    font-weight: 600;
    line-height: 15px;
    padding-bottom: 6px
}

.section-login>div:last-child .body3 {
    --typo-custom-c: #333
}

.section-login .header-login {
    text-align: center;
    margin-bottom: var(--login-margin)
}

.section-login .header-login img {
    display: inline-block;
    height: 23px
}

.section-login .header-login h1 {
    font-size: 0
}

.section-login .header-login .body1 {
    margin-top: 16px;
    font-weight: 500
}

.section-login form {
    margin: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.section-login form input[type=text],
.section-login form input[type=password] {
    --item-height: 47px
}

.section-login form .form-line {
    margin-bottom: 0;
    position: relative
}

.section-login form .form-line+.form-line {
    margin-top: var(--item-gap)
}

.section-login form .check-wrap {
    margin-top: 16px;
    --item-height: 21px
}

.section-login form .check-wrap .input-checkbox:not(:first-child) {
    margin-left: 24px
}

@media only screen and (max-width: 767px) {
    .section-login form .check-wrap {
        margin-top: 12px
    }
}

.section-login form .show-password-btn {
    position: absolute;
    top: 11.5px;
    right: 16px;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background-image: var(--pw-icon-active-url, url("../image/join/password-off.svg"));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px
}

.section-login form .show-password-btn.active {
    --pw-icon-active-url: url("../image/join/password.svg")
}

.section-login form .show-password-btn:hover {
    background-color: #f4f4f4
}

.section-login .user-check-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    --item-height: 21px
}

@media only screen and (max-width: 767px) {
    .section-login .user-check-area {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .section-login .user-check-area .check-wrap {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .section-login .user-check-area .find-idpw-area {
        margin-left: auto
    }
}

@media only screen and (max-width: 343px) {
    .section-login .user-check-area .find-idpw-area {
        font-size: 12px
    }
}

.section-login .find-idpw-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-top: 16px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777
}

.section-login .find-idpw-area button,
.section-login .find-idpw-area a {
    line-height: inherit;
    font-weight: inherit
}

.section-login .find-idpw-area .divider-vertical-line {
    margin: 0 8px
}

.section-login .crud {
    --crud-mt: 16px;
    margin-bottom: var(--login-margin)
}

@media only screen and (max-width: 767px) {
    .section-login .crud {
        --tab: 16px
    }
}

.section-login .flex button,
.section-login .flex a {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

@media only screen and (max-width: 767px) {
    .section-login .get-joined {
        margin-bottom: var(--login-margin)
    }
}

.section-login .get-joined .btn {
    width: 100%;
    --button-fz: var(--body1)
}

@media only screen and (max-width: 767px) {
    .section-login .get-joined .btn {
        --body1: 14px
    }
}

.section-login .customer-center {
    --item-height: 24px
}

.section-login .grid {
    margin-top: 8px;
    --grid-gap: 8px;
    font-weight: 500;
    line-height: 18px
}

.section-login .grid em {
    color: #777
}

.section-login .grid a {
    text-decoration: underline
}

.find-id-pw {
    text-align: center
}

.find-id-pw p:first-child {
    --typo-custom-w: 600;
    --typo-custom-c: #000
}

.find-id-pw p+p {
    margin-top: var(--item-gap)
}

.find-id-pw~p {
    margin-top: 24px
}

.account-code .grid {
    --grid-columns: 150px 1fr;
    --grid-gap: 8px
}

@media only screen and (max-width: 767px) {
    .account-code .grid {
        --grid-columns: 1fr
    }
}

.account-code .form-line {
    --form-line-mb: 0
}

.border-dotted {
    border-top: 1px dotted #ccc;
    padding-top: 12px
}

.border-dotted.dot-list {
    margin-top: 24px
}

@media only screen and (max-width: 767px) {
    .border-dotted.dot-list {
        margin-top: 20px
    }
}

.checkbox-tab-wrap {
    margin-top: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.checkbox-tab-wrap .checkbox-tab-desc {
    text-align: center;
    font-weight: 500
}

.checkbox-tab-wrap .checkbox-tab {
    width: 100%;
    margin: 16px 0 24px
}

@media only screen and (max-width: 767px) {
    .checkbox-tab-wrap .checkbox-tab {
        margin: 24px 0 32px
    }
}

.checkbox-tab-wrap .check-wrap:not(.checkbox-tab) .input-checkbox {
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .checkbox-tab-wrap .check-wrap:not(.checkbox-tab) .input-checkbox {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .checkbox-tab-wrap .check-wrap:not(.checkbox-tab) .input-checkbox i {
        margin-top: 2px
    }
}

@media only screen and (max-width: 767px) {
    .checkbox-tab-wrap {
        margin-top: 28px
    }
}

.input-email {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px
}

.input-email .flex {
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    grid-template-columns: auto 160px 160px;
    color: #333
}

@media only screen and (min-width: 768px) {
    .input-email .flex {
        gap: 8px
    }

    .form-line .input-email .flex>span:not([hidden]) {
        margin-right: 0
    }
}

@media only screen and (max-width: 767px) {
    .input-email {
        grid-template-columns: 1fr
    }

    .input-email .flex {
        grid-template-columns: auto 1fr;
        grid-template-areas: "at domain" "select select"
    }

    .input-email .flex span {
        grid-area: at
    }

    .input-email .flex .form-basic {
        grid-area: domain
    }

    .input-email .flex .select-wrap {
        grid-area: select
    }

    .input-email .flex .form-basic.hidden+.select-wrap,
    .input-email .flex .form-basic[style*="display: none"]+.select-wrap {
        grid-area: domain
    }
}

@media only screen and (max-width: 767px) {
    .input-care-num {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .input-care-num .form-basic {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

.text-link {
    margin-top: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 var(--side-padding)
}

.text-link a {
    display: inline-block;
    max-width: 100%;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    text-decoration: underline;
    --typo-custom-w: 500;
    word-wrap: break-word;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word
}

.upload-box .drop,
.upload-box .dropped {
    border-radius: 4px;
    border-width: 1px;
    border-color: #bebebe;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.upload-box .drop {
    height: 60px;
    border-style: dashed;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer
}

.upload-box .drop.active,
.upload-box .drop:hover,
.upload-box .drop:active {
    border-style: solid;
    border-color: #5f0080
}

.upload-box .drop.active i,
.upload-box .drop:hover i,
.upload-box .drop:active i {
    background-image: url("../image/icon/folder-plus-b999.svg")
}

.upload-box .drop.active span,
.upload-box .drop:hover span,
.upload-box .drop:active span {
    --typo-custom-c: #999
}

.upload-box .drop i {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/folder-plus-b777.svg");
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 8px
}

.upload-box .drop span {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777
}

.upload-box .dropped {
    border-style: solid;
    min-height: 60px;
    padding: 2px 0 12px 6px;
    box-sizing: border-box;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.upload-box .dropped .file-item {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: calc(100% - 6px);
    margin-top: 10px;
    margin-right: 6px
}

.upload-box .dropped .btn.icon-file {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    --button-height: 23px;
    --button-px: 6px;
    --button-fz: 14px;
    --button-fw: 400;
    --button-icon-gap: 6px;
    --icon-url: url("../image/icon/paperclip.svg")
}

.upload-box .dropped .btn.icon-file span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.upload-box .dropped .btn.icon-close {
    margin-left: -2px;
    --button-icon-gap: 0;
    --icon-url: url("../image/icon/close-circle.svg")
}

.brand-detail-page~.border-dotted {
    margin-top: 16px
}

.board-wrap {
    display: grid;
    grid-template-columns: var(--board-column, repeat(auto-fit, minmax(100px, 1fr)));
    gap: var(--board-gap, 0 32px);
    --board-side-padding: 24px;
    --head-mb: 24px
}

@media only screen and (max-width: 767px) {
    .board-wrap {
        --board-column: 1fr;
        --board-gap: 28px 0;
        --board-side-padding: 20px;
        --board-box-mh: none;
        --board-box-pb: 12px;
        --head-mb: 20px
    }
}

@media only screen and (max-width: 767px) {
    .board-wrap .board-box {
        grid-template-rows: auto
    }
}

.board-wrap .board-box .board-list {
    border: 1px solid #DDDDDD;
    border-radius: 12px;
    overflow: hidden
}

.board-wrap .board-box .board-list li:not(:last-child) {
    border-bottom: 1px solid #EDEDED
}

.board-wrap .board-box .board-list li a:hover {
    background-color: #f4f4f4
}

.board-wrap .board-box .board-box-area {
    border: 1px solid #DDDDDD;
    border-radius: 12px;
    display: grid;
    gap: 1px;
    background-color: #ddd;
    overflow: hidden
}

.board-wrap .board-box .board-box-area>div {
    background-color: #fff;
    min-height: var(--board-box-mh, 259px);
    padding-bottom: var(--board-box-pb, 0)
}

.board-wrap .board-box .board-box-area .head-wrap {
    --head-mb: 8px;
    padding: var(--board-side-padding) var(--board-side-padding) 0
}

@media only screen and (max-width: 767px) {
    .board-wrap .board-box .board-box-area .head-wrap {
        --head-mb: 4px
    }
}

.board-wrap .board-box .board-box-area .board-list {
    border: none;
    border-radius: 0
}

.board-wrap .board-box .board-box-area .board-list li {
    border-bottom: none
}

.board-wrap~.board-wrap {
    margin-top: var(--board-section-gap, 48px)
}

@media only screen and (max-width: 767px) {
    .board-wrap~.board-wrap {
        --board-section-gap: 28px
    }
}

.board-item {
    display: grid;
    grid-template-columns: var(--board-item-columns, minmax(0, 1fr) 0);
    padding: var(--board-side-padding, 8px 0)
}

.board-item.img-type {
    grid-template-columns: minmax(0, 1fr) 80px;
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: var(--board-side-padding)
}

.board-item.img-type .text-wrap .title {
    --typo-custom-w: 600
}

.board-item .text-wrap {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 21px;
    --typo-custom-w: 500
}

@media only screen and (min-width: 768px) {
    .board-item .text-wrap .title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

.board-item .text-wrap .desc {
    margin-top: 4px;
    margin-bottom: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.board-item .img-wrap {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    border: 1px solid #EDEDED;
    overflow: hidden
}

.board-item .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.file-detail .head {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    margin-bottom: 24px
}

.file-detail .head .h3 {
    white-space: nowrap;
    margin-right: 8px;
    --typo-custom-c: #999;
    line-height: 26px
}

.file-detail .head button.icon {
    margin-top: auto;
    margin-left: 16px
}

@media only screen and (max-width: 767px) {
    .file-detail .head .icon-print {
        display: none
    }
}

@media only screen and (max-width: 767px) {

    .file-detail .head .h3,
    .file-detail .head .h2 {
        line-height: 24px
    }
}

.file-detail .content img {
    width: 100%
}

.detail-head-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.detail-head-info b {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px;
    background-size: 16px;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: var(--headinfo-icon-url)
}

.detail-head-info b:not(:first-child) {
    margin-left: 16px
}

.detail-head-info b:nth-child(1) {
    --headinfo-icon-url: url("../image/talk/icon-info-calender.svg")
}

.detail-head-info b:nth-child(2) {
    --headinfo-icon-url: url("../image/talk/icon-info-comment.svg")
}

.detail-head-info b:nth-child(3) {
    --headinfo-icon-url: url("../image/talk/icon-info-view.svg")
}

.talk-nickname .gray-box {
    padding: 24px 16px;
    border-radius: 12px;
    background-color: #f7f7f7;
    border: 1px solid #ededed
}

.talk-nickname .form-line {
    --form-line-mb: 0
}

.talk-nickname .form-line .btn.cta {
    --button-fz: var(--body1)
}

@media only screen and (min-width: 768px) {
    .talk-nickname .form-line .btn.cta {
        min-width: 120px
    }
}

.talk-nickname .relative {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.talk-nickname .relative input {
    padding-right: 48px;
    --input-height: 47px
}

.talk-nickname .relative input:-moz-placeholder-shown~.btn {
    display: none
}

.talk-nickname .relative input:-ms-input-placeholder~.btn {
    display: none
}

.talk-nickname .relative input:placeholder-shown~.btn {
    display: none
}

.talk-nickname .relative .btn {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.talk-nickname .caution {
    margin-top: 16px;
    padding-left: 28px;
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 8px;
    background-image: url("../image/icon/tooltip.svg");
    background-size: 16px;
    background-position: 4px center;
    --h3: 16px;
    --typo-custom-lh: 24px;
    --typo-custom-c: #000
}

.talk-nickname .dot-list {
    padding-top: 0 !important;
    --dot-list-fw: 400;
    --dot-list-gap: 4px;
    padding-left: 32px
}

.talk-detail .line-box>.head-wrap:first-child:not(.detail-head) {
    margin: 0 -24px 32px -24px;
    padding: 0 24px 8px 24px;
    border-bottom: 1px solid #ddd
}

.talk-detail .head-wrap.detail-head {
    padding-top: 8px
}

.talk-detail .head-wrap.detail-head>div:nth-child(1) .flex {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.talk-detail .head-wrap.detail-head>div:nth-child(1) .flex .tag {
    margin-top: 3px
}

.talk-detail .head-wrap.detail-head .detail-head-info {
    margin-left: auto
}

.talk-detail .head-wrap.detail-head .detail-head-info::after {
    content: unset
}

.talk-detail .radio-wrap.radio-tab {
    grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
    background-image: url("../image/icon/tab-pattern-4-sm.jpg");
    margin-bottom: 24px
}

.sub-detail-page .talk-detail .tab .scroll-area {
    margin-bottom: 24px
}

.sub-detail-page .talk-detail .customer-faq {
    border: none;
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0);
    padding: 0
}

.talk-detail .detail-btns+.detail-btns {
    border-top: none
}

.talk-detail .dot-list {
    --dot-list-pt: 0
}

.talk-detail .detail-reply .replay-area {
    grid-template-columns: 1fr auto;
    padding: 32px 0 12px
}

.talk-detail .detail-reply .replay-area .relative,
.talk-detail .detail-reply .replay-area .text-guide {
    grid-column: span 2
}

.talk-detail .detail-reply .replay-area .relative textarea {
    height: 110px
}

.talk-detail .detail-reply .replay-area .text-guide {
    padding-top: 0;
    padding-bottom: 4px
}

.talk-detail .detail-reply .replay-area .check-wrap {
    margin-left: auto;
    font-weight: 500
}

.talk-detail .detail-reply .reply-box {
    padding: 13px 20px;
    border-radius: 4px;
    border: 1px solid var(--input-bdc, #BEBEBE)
}

.talk-detail .detail-reply .reply-box~.reply-box {
    margin-top: 12px
}

.talk-detail .detail-reply .reply-box .flex {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.talk-detail .detail-reply .reply-box .flex .id {
    margin-right: auto;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600
}

.talk-detail .detail-reply .reply-box .flex .c-b777 {
    padding-left: 20px;
    background-size: 16px;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: url("../image/talk/icon-info-calender.svg")
}

.talk-detail .detail-reply .reply-box .flex .btn {
    margin-left: 8px
}

.talk-detail .detail-reply .reply-box .reply-con {
    display: block;
    margin-top: 8px
}

.talk-detail .detail-reply .reply-box .view-manager {
    text-indent: 20px;
    background-position: left 2.5px;
    background-repeat: no-repeat;
    background-image: url("../image/event/icon-caution.svg")
}

.detail-apply {
    display: grid;
    grid-template-columns: 132px 1fr;
    gap: 8px;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid #ddd
}

.detail-content+.detail-apply {
    border-top: 1px solid #ddd
}

.detail-apply+.detail-btns {
    border-top: none
}

.detail-apply .form-title {
    margin-bottom: 0;
    padding-top: 7px;
    padding-bottom: 7px
}

.detail-apply .form-line {
    --form-line-mb: 0
}

.detail-apply .form-line .form-basic {
    --input-width: 330px
}

.detail-apply .form-line .btn {
    min-width: 96px
}

.talk-list {
    --grid-gap: 24px;
    --grid-columns: repeat(3, 1fr);
    --item-title-line: 1
}

.talk-detail .talk-list {
    margin-left: -1px;
    margin-right: -1px
}

.talk-list.basic-type {
    --item-img-radio: 61.93%
}

.talk-list.stand-type {
    --item-img-radio: 134.6875%
}

.talk-list.doc-type {
    --item-img-radio: 138.89%
}

.talk-list.doc-type .image-wrap {
    margin-bottom: 12px;
    padding: 24px 0;
    border-radius: 12px;
    background-color: rgba(244, 244, 244, .5);
    text-align: center
}

.talk-detail .talk-list.doc-type .image-wrap {
    box-shadow: unset
}

.talk-list.doc-type .image-wrap img {
    width: 216px;
    height: 300px;
    border: 1px solid #ddd;
    position: static;
    box-sizing: content-box
}

.talk-list .image-wrap {
    margin-bottom: 16px
}

.talk-detail .talk-list .image-wrap {
    box-shadow: 0 0 0 1px #ddd
}

.talk-list .text-wrap .body1 {
    margin-bottom: 4px;
    --typo-custom-c: #777;
    --typo-custom-w: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.talk-list .text-wrap .h3 {
    --typo-custom-c: #000;
    --typo-custom-lh: 21px
}

.talk-list .text-wrap .tag {
    margin-bottom: 4px
}

.talk-list .text-wrap .body2 {
    padding-top: 4px
}

.tag.tag-event-blue {
    background-color: #51A9EF;
    --typo-custom-c: #fff
}

.tag.tag-event-green {
    background-color: #03C75B;
    --typo-custom-c: #fff
}

.tag.tag-event-orange {
    background-color: #F08300;
    --typo-custom-c: #fff
}

.tag.tag-event-purple {
    background-color: #7346F3;
    --typo-custom-c: #fff
}

.prodtalk-modal .modal-wrap {
    height: 584px;
    background-color: #f3f3f3
}

.prodtalk-modal .prodtalk-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.prodtalk-modal .prodtalk-list {
    --prodtalk-list-mr: 32px;
    margin-right: calc(var(--prodtalk-list-mr)*-1);
    padding-right: var(--prodtalk-list-mr);
    overflow-y: auto;
    padding-bottom: 16px
}

.prodtalk-modal .prodtalk-list::-webkit-scrollbar {
    width: 4px
}

.prodtalk-modal .prodtalk-list::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.prodtalk-modal .prodtalk-list::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

@media only screen and (max-width: 767px) {
    .prodtalk-modal .prodtalk-list {
        --prodtalk-list-mr: 16px
    }
}

.prodtalk-modal .prodtalk-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.prodtalk-modal .prodtalk-box:not(:first-child) {
    margin-top: 16px
}

.prodtalk-modal .prodtalk-box.received {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.prodtalk-modal .prodtalk-box.received .message-log {
    --talk-message-bgc: #555555;
    margin-right: 0;
    margin-left: 5px
}

.prodtalk-modal .prodtalk-box.received .message-log::before {
    left: -5px;
    right: unset;
    border-top: 5px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid rgba(0, 0, 0, 0);
    border-left: 0px solid rgba(0, 0, 0, 0);
    border-right: 5px solid var(--talk-message-bgc)
}

.prodtalk-modal .prodtalk-box.received .body2 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    margin-right: 0;
    margin-left: 4px
}

.prodtalk-modal .prodtalk-box .img-wrap {
    margin-right: 8px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    border: 1px solid #ddd;
    border-radius: 50%;
    overflow: hidden
}

.prodtalk-modal .prodtalk-box .img-wrap img {
    width: 100%;
    height: auto
}

.prodtalk-modal .prodtalk-box .message-log {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    max-width: 500px;
    margin-right: 5px;
    padding: 12px 16px;
    position: relative;
    border-radius: 12px;
    --talk-message-bgc: #BD76FF;
    background-color: var(--talk-message-bgc);
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #fff
}

.prodtalk-modal .prodtalk-box .message-log:before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 17px;
    right: -5px;
    width: 0;
    height: 0;
    border-top: 5px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid rgba(0, 0, 0, 0);
    border-left: 5px solid var(--talk-message-bgc)
}

.prodtalk-modal .prodtalk-box .body2 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    margin-right: 4px;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    --typo-custom-w: 500
}

.prodtalk-modal .prodtalk-panel {
    margin-top: auto;
    --prodtalk-panel-pd: 24px;
    background-color: #f3f3f3;
    position: relative
}

.prodtalk-modal .prodtalk-panel textarea {
    padding: 12px 105px 12px 11px;
    height: 110px
}

.prodtalk-modal .prodtalk-panel textarea::-webkit-scrollbar {
    width: 4px
}

.prodtalk-modal .prodtalk-panel textarea::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.prodtalk-modal .prodtalk-panel textarea::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.prodtalk-modal .prodtalk-panel .btn {
    min-width: 80px;
    position: absolute;
    top: 50%;
    right: 17px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.talk-item-swiper {
    --swiper-arrow-x: -8px;
    margin: 0 -1px
}

.talk-item-swiper .swiper:not(.swiper-horizontal)~.swiper-arrow {
    --swiper-arrow-display: none
}

.talk-item-swiper .prd-item-list .swiper-slide {
    width: 240px;
    margin-right: 16px
}

.talk-main .head-wrap {
    --head-mb: 16px
}

.talk-main>.gray-box {
    padding: 16px 24px 16px 56px;
    border: 1px solid #ddd
}

.talk-main>.gray-box .caution {
    margin: 0 0 0 -32px;
    padding-bottom: 0;
    border-bottom: none;
    --typo-custom-c: #000;
    --typo-custom-lh: 24px;
    background-image: url("../image/icon/caution-b333.svg")
}

.talk-main .tab.round {
    margin-top: 0;
    --tabitem-gap: 8px;
    --tabitom-px: 28px
}

.talk-main .tab.round .scroll-area {
    box-shadow: unset;
    margin-bottom: 16px
}

.talk-main .tab.round .tabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    --tabitem-gap: 0
}

.talk-main .tab.round .tab-item {
    --tab: var(--body1);
    --tab-line-active: #777;
    --typo-custom-lh: 35px;
    line-height: calc(var(--typo-custom-lh) - 2px);
    border-radius: calc(var(--typo-custom-lh)/2);
    background-color: var(--tabitem-bg, #fff);
    border: 1px solid var(--tabitem-bdc, #DDDDDD)
}

.talk-main .tab.round .tab-item[aria-selected=true] {
    box-shadow: unset;
    --tabitem-bg: #5F0080;
    --tabitem-bdc: #5F0080;
    --tab-line-active: #fff
}

.talk-main .tab.round .tab-item:not(:first-child) {
    margin-left: 8px
}

.talk-main .tab.icon .tabs {
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: repeat(4, 170px);
    grid-gap: 32px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.talk-main .tab.icon .tab-item {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --typo-custom-c: #ccc;
    position: relative;
    padding-top: 88px;
    --tabitem-height: 37px;
    line-height: var(--tabitem-height);
    border-radius: 18px
}

.talk-main .tab.icon .tab-item:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background-image: var(--tab-icon-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    margin: 12px 0;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-bottom: 8px
}

.talk-main .tab.icon .tab-item:after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: var(--tabitem-height);
    border-radius: calc(var(--tabitem-height)/2);
    border: 1px solid var(--tab-icon-active, #DDDDDD)
}

.talk-main .tab.icon .tab-item:nth-child(1) {
    --tab-icon-url: url("../image/talk/talk-stand.svg")
}

.talk-main .tab.icon .tab-item:nth-child(1)[aria-selected=true],
.talk-main .tab.icon .tab-item:nth-child(1):hover {
    --tab-icon-url: url("../image/talk/talk-stand-active.svg")
}

.talk-main .tab.icon .tab-item:nth-child(2) {
    --tab-icon-url: url("../image/talk/talk-pop.svg")
}

.talk-main .tab.icon .tab-item:nth-child(2)[aria-selected=true],
.talk-main .tab.icon .tab-item:nth-child(2):hover {
    --tab-icon-url: url("../image/talk/talk-pop-active.svg")
}

.talk-main .tab.icon .tab-item:nth-child(3) {
    --tab-icon-url: url("../image/talk/talk-contents.svg")
}

.talk-main .tab.icon .tab-item:nth-child(3)[aria-selected=true],
.talk-main .tab.icon .tab-item:nth-child(3):hover {
    --tab-icon-url: url("../image/talk/talk-contents-active.svg")
}

.talk-main .tab.icon .tab-item:nth-child(4) {
    --tab-icon-url: url("../image/talk/talk-info.svg")
}

.talk-main .tab.icon .tab-item:nth-child(4)[aria-selected=true],
.talk-main .tab.icon .tab-item:nth-child(4):hover {
    --tab-icon-url: url("../image/talk/talk-info-active.svg")
}

.talk-main .tab.icon .tab-item[aria-selected=true] {
    --typo-custom-c: var(--tab-icon-active, #5F0080);
    --tab-icon-active: #5F0080
}

.talk-main .tab.icon .tab-item:hover {
    --typo-custom-c: var(--tab-icon-active, #5F0080);
    --tab-icon-active: #5F0080
}

.talk-section {
    margin-top: 32px
}

.talk-section:last-child {
    margin-top: 0px;
    padding-top: 16px;
    border-top: 1px solid #ddd
}

.talk-section:last-child .head-wrap .h2 {
    --typo-custom-lh: 29px
}

.talk-section>.head-wrap .h2 {
    --h2: var(--h3)
}

.talk-category {
    margin-bottom: 16px
}

.talk-category .talk-list {
    margin-left: 24px;
    width: 1232px;
    --grid-columns: repeat(4, 290px)
}

.talk-category .talk-list.stand-type {
    --grid-columns: repeat(4, 290px);
    --grid-gap: 24px
}

.talk-category .talk-list.basic-type {
    --grid-columns: repeat(3, 394px);
    --grid-gap: 24px 25px
}

.talk-category .no-contents {
    --filter-pb: 0;
    --no-contents-py: 270px
}

.talk-management {
    --grid-columns: repeat(3, 1fr);
    --grid-gap: 24px
}

.talk-management .grid-item {
    padding: 14.5px 24px;
    border-radius: 16px;
    box-shadow: inset 0 0 0 1px #ddd;
    background-color: #f8f8f8;
    background-image: var(--management-icon-url);
    background-repeat: no-repeat;
    background-size: 46px;
    background-position: right 24px center
}

.talk-management .grid-item.pharm {
    --management-icon-url: url("../image/talk/icon-pharm.svg")
}

.talk-management .grid-item.workforce {
    --management-icon-url: url("../image/talk/icon-workforce.svg")
}

.talk-management .grid-item.document {
    --management-icon-url: url("../image/talk/icon-document.svg")
}

.talk-management .grid-item em {
    margin-bottom: 8px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #5F0080;
    --typo-custom-lh: 21px
}

.talk-lineup-area {
    margin-top: 32px;
    padding: 32px 40px;
    border-radius: 16px;
    background-color: #f8f8f8;
    box-shadow: inset 0 0 0 1px #ddd
}

.talk-lineup-area .head-wrap {
    --typo-custom-lh: 23px;
    --head-mb: 24px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.talk-lineup-area .head-wrap .h3 span {
    color: #03c75b
}

.talk-lineup-area>.grid {
    min-height: 1048px;
    --grid-gap: 40px;
    --grid-columns: repeat(2, 1fr)
}

.talk-lineup-area .grid-item .head-wrap {
    --head-mb: 16px
}

.talk-lineup-area .grid-item .head-wrap .h3 {
    --typo-custom-lh: 29px;
    margin: 0
}

.talk-lineup-area .grid-left .item-view-area {
    margin-top: 24px
}

.talk-lineup-area .grid-left .talk-list {
    --grid-gap: 16px;
    --grid-columns: repeat(3, 1fr);
    grid-template-rows: 1fr auto
}

.talk-lineup-area .grid-left .talk-list .grid-item:nth-child(1) {
    grid-column: span 3
}

.talk-lineup-area .grid-left .talk-list .image-wrap {
    margin-bottom: 0
}

.talk-lineup-area .grid-right {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.talk-lineup-area .grid-right .item-view-area:nth-child(1) {
    --lineup-view-rows: 417px
}

.talk-lineup-area .grid-right .item-view-area:nth-child(2) {
    --lineup-view-rows: 236px
}

.talk-lineup-area .grid-right .item-view-area:nth-child(3) {
    --lineup-view-rows: 212px
}

.talk-lineup-area .grid-right .talk-list {
    --grid-gap: 16px;
    --grid-columns: repeat(2, 1fr)
}

.talk-lineup-area .ad-banner {
    margin-bottom: 24px
}

.talk-lineup-area .talk-link-wrap {
    padding: 41px 16px 8px 16px;
    background: #f4f4f4;
    border-radius: 16px
}

.talk-lineup-area .talk-link-wrap .btn-wrap {
    padding-top: 10px
}

.talk-lineup-area .talk-link-wrap [data-tippy-root] .tippy-box {
    --typo-custom-c: #fff;
    --typo-custom-w: 500;
    --typo-custom-lh: 14px
}

.talk-lineup-area .talk-link-wrap [data-tippy-root] .tippy-box[data-placement^=top]>.tippy-arrow:before {
    left: -46px
}

.talk-lineup-area .prod-manager {
    display: grid;
    grid-template-columns: 126px 1fr;
    position: relative
}

.talk-lineup-area .prod-manager .manager-profile {
    margin-left: 5px
}

.talk-lineup-area .prod-manager .manager-profile .profile-img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden
}

.talk-lineup-area .prod-manager .manager-profile .profile-img img {
    width: 100%;
    height: 100%;
    height: auto
}

.talk-lineup-area .prod-manager .manager-profile .manager-bubble {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 13px;
    background-color: #333;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #fff;
    --typo-custom-w: 500;
    --typo-custom-lh: 14px;
    position: absolute;
    top: -35px;
    left: -9px
}

.talk-lineup-area .prod-manager .manager-profile .manager-bubble:before {
    display: inline-block;
    content: "";
    border-top: 5px solid #333;
    border-left: 5px solid rgba(0, 0, 0, 0);
    border-right: 5px solid rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -5px;
    left: 22px
}

.talk-lineup-area .prod-manager ul li {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    padding-left: 20px;
    background-image: url("../image/talk/icon-circle-check.svg");
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: left center
}

.talk-lineup-area .prod-manager ul li:not(:first-child) {
    margin-top: 4px
}

.talk-lineup-area .item-view-area {
    display: grid;
    grid-template-rows: 45px var(--lineup-view-rows, 778px)
}

.tabs-content .talk-lineup-area .no-contents {
    background-color: #fff;
    border-radius: 12px;
    --filter-pb: 0px;
    --no-contents-py: 0px;
    height: 100%
}

.lineup-swiper {
    position: relative;
    --lineup-icon-size: 90px
}

.lineup-swiper .swiper:not(.swiper-horizontal)~.swiper-arrow {
    --swiper-arrow-display: none
}

.lineup-swiper .swiper:not(.swiper-horizontal) .swiper-slide {
    width: var(--lineup-icon-size)
}

.lineup-swiper .swiper:not(.swiper-horizontal) .swiper-slide:not(:last-child) {
    margin-right: 18px
}

.lineup-swiper .swiper-button-next,
.lineup-swiper .swiper-button-prev {
    --swiper-arrow-top: calc(var(--lineup-icon-size) / 2);
    --swiper-arrow-size: 40px;
    --swiper-arrow-x: calc(var(--swiper-arrow-size) * -1);
    --swiper-arrow-shadow: none;
    --swiper-arrow-icon-size: 40px;
    border: none;
    background-color: rgba(0, 0, 0, 0)
}

.lineup-swiper .swiper-arrow[class*=swiper-button-]:after {
    --swiper-arrow-custom: url("../image/icon/chevron-down-narrow-b777.svg")
}

.lineup-swiper .swiper-arrow[class*=swiper-button-].swiper-button-disabled::after {
    opacity: 1;
    --swiper-arrow-custom: url("../image/icon/chevron-down-narrow-disabled.svg")
}

.lineup-swiper .input-radio {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.lineup-swiper .input-radio:hover i {
    border-width: 1px;
    --checked-color: #333
}

.lineup-swiper .input-radio:hover span {
    color: #333
}

.lineup-swiper .input-radio input:checked~i {
    border-width: 1px;
    --checked-color: #333
}

.lineup-swiper .input-radio input:checked~span {
    color: #333
}

.lineup-swiper .input-radio i {
    --check-icon-size: var(--lineup-icon-size);
    margin-right: 0;
    overflow: hidden
}

.lineup-swiper .input-radio span {
    padding-top: 8px;
    padding-right: 0;
    font-weight: 600;
    line-height: 21px;
    text-align: center
}

.radio-wrap.radio-line {
    --item-height: 45px;
    margin-bottom: 16px;
    width: 100%;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    box-shadow: inset 0 -1px 0 #ddd;
    overflow-x: auto;
    overflow-y: hidden
}

.radio-wrap.radio-line .input-radio {
    padding: 0 12px;
    position: relative;
    white-space: nowrap;
    font-size: 16px
}

.radio-wrap.radio-line .input-radio:not(:first-child) {
    margin-left: 16px
}

.radio-wrap.radio-line .input-radio span {
    padding-right: 0
}

.radio-wrap.radio-line .input-radio:hover span {
    color: #5f0080
}

.radio-wrap.radio-line i {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    margin-right: unset;
    border-radius: 0
}

.radio-wrap.radio-line input:checked~i {
    background-color: #5f0080
}

.radio-wrap.radio-line input:checked~span {
    color: #5f0080
}

.ad-banner.talk-reward-banner img {
    max-width: 1200px
}

.point-reward {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: absolute;
    top: 8px;
    right: 8px;
    -webkit-animation: 1s ease-in-out infinite pointReward;
    animation: 1s ease-in-out infinite pointReward
}

.point-reward:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    background-image: url("../image/talk/point-reward.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 6px;
    width: 90px;
    height: 100px
}

.point-reward span {
    min-width: 97px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 8px;
    background-color: #0072ff;
    --point-reward-h: 23px;
    border-radius: calc(var(--point-reward-h)/2);
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #fff;
    --typo-custom-w: 500;
    --typo-custom-lh: var(--point-reward-h)
}

.point-reward span em {
    margin-left: 2px;
    padding-left: 12px;
    background-image: url("../image/talk/plus-bfff.svg");
    background-repeat: no-repeat;
    background-size: 12px;
    background-position: left center;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600
}

@-webkit-keyframes pointReward {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    50% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
}

@keyframes pointReward {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    50% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
}

.point-reward-box {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.customer .head-wrap .icon-chevron-down::before {
    --button-icon-size: 16px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.customer .head-wrap~.head-wrap {
    margin-top: 16px
}

.customer .grid {
    --grid-columns: repeat(2, 1fr);
    --grid-gap: 8px 16px
}

.customer .grid-item:not(.col-span-2)>a {
    --snb-content-pd: 24px
}

@media only screen and (min-width: 768px) {
    .customer .head-search .search {
        --input-width: 220px
    }
}

.customer .customer-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.customer .customer-link>div {
    padding-right: 8px
}

.customer .customer-link .btn {
    margin-left: auto
}

.customer .customer-link:hover .btn {
    background-color: var(--button-bgc-hover);
    border: 1px solid var(--button-bdc-hover)
}

.customer .col-span-2 {
    margin-top: 8px
}

.customer .col-span-2 .customer-link {
    --snb-content-pd: 26px 24px
}

.customer .col-span-2 .customer-link:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background-image: url("../image/event/icon-question.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 24px
}

.customer .cs-center>.grid-item:nth-child(1) .h3 {
    --customer-icon-url: url("../image/event/icon-call-center.svg")
}

.customer .cs-center>.grid-item:nth-child(2) .h3 {
    --customer-icon-url: url("../image/event/icon-customer-center.svg")
}

.customer .cs-center .line-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%
}

@media only screen and (min-width: 768px) {
    .customer .cs-center .line-box[href*="tel:"] {
        pointer-events: none
    }
}

.customer .cs-center .h3 {
    margin-bottom: 8px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --h3: 18px;
    line-height: 24px
}

.customer .cs-center .h3:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: var(--customer-icon-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 12px
}

.customer .cs-center .h1 {
    --h1: var(--lnb1);
    --typo-custom-c: #5F0080;
    --typo-custom-lh: 36px
}

.customer .cs-center .body1 {
    margin-top: auto;
    padding-top: 16px
}

.customer .event-announce {
    margin-top: 0
}

.customer .event-announce.line-box .no-contents {
    --no-contents-py: 73.5px
}

@media only screen and (max-width: 767px) {
    .customer .event-announce.line-box .no-contents {
        min-height: 288px
    }
}

.customer .event-announce .tab {
    margin-top: 8px
}

@media only screen and (max-width: 767px) {
    .customer .event-announce .tab {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .customer .event-announce .tab .scroll-area {
        margin-bottom: 0
    }
}

.customer .event-announce .board-list li {
    border-bottom: 1px solid #ededed
}

.customer .event-announce .board-list li.important .flex>span {
    font-weight: 600
}

.customer .event-announce .board-item {
    --board-side-padding: 13px 24px
}

.customer .event-announce .flex>span:nth-child(2) {
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.customer .event-announce .flex>span:nth-child(3) {
    text-align: center;
    white-space: nowrap
}

.customer .event-announce .tag-top {
    border-radius: 10px;
    padding: 0 8px;
    line-height: 20px;
    background-color: #e6002d;
    color: #fff;
    font-size: var(--body2);
    letter-spacing: -0.02em
}

.customer .event-announce .tag-top::after {
    content: unset
}

.customer-notice .head-wrap .check-wrap.switch {
    --item-height: 24px
}

.customer-notice .tabs-content .head-wrap {
    margin-top: 24px
}

@media only screen and (max-width: 767px) {
    .customer-notice .tabs-content .head-wrap {
        margin-bottom: 20px !important
    }
}

.customer-notice .event-announce {
    margin-top: 0
}

.customer-notice .event-announce .flex {
    grid-template-columns: 1fr 120px 115px
}

.customer-notice .event-announce th .flex>span:first-child {
    width: 100%
}

.customer-notice .event-announce td .flex>span:nth-child(2) {
    color: #777;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.customer-notice .head-wrap.detail-head {
    border-bottom-color: #ededed;
    --snb-content-pd: 24px;
    padding: 0 var(--snb-content-pd) 8px var(--snb-content-pd);
    margin-left: calc(var(--snb-content-pd)*-1);
    margin-right: calc(var(--snb-content-pd)*-1)
}

.customer-notice .detail-content,
.customer-notice .detail-attachment {
    padding-left: 0;
    padding-right: 0
}

.customer-notice .detail-attachment {
    padding-bottom: 16px;
    margin-top: 4px
}

@media only screen and (max-width: 767px) {
    .customer-notice .detail-attachment {
        margin-top: 0
    }
}

.customer-faq .accordion,
.customer-qna .accordion {
    border-top: none
}

@media only screen and (min-width: 768px) {

    .customer-faq .accordion,
    .customer-qna .accordion {
        padding-bottom: 16px
    }
}

.customer-faq .accordion .list,
.customer-qna .accordion .list {
    border-radius: 12px;
    border: 1px solid #ddd;
    overflow: hidden
}

.customer-faq .accordion .list:not(:first-child),
.customer-qna .accordion .list:not(:first-child) {
    margin-top: 16px
}

.customer-faq .accordion .title-wrap,
.customer-qna .accordion .title-wrap {
    --accordion-padding: 16px 24px;
    background-color: #fff;
    border-bottom: none
}

.customer-faq .accordion .title-wrap::after,
.customer-qna .accordion .title-wrap::after {
    height: 16px;
    margin-top: 4px
}

@media only screen and (max-width: 767px) {

    .customer-faq .accordion .title-wrap::after,
    .customer-qna .accordion .title-wrap::after {
        height: 24px;
        margin-top: 0
    }
}

.customer-faq .accordion .title-wrap .title,
.customer-qna .accordion .title-wrap .title {
    padding-right: 8px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --typo-custom-c: #000
}

.customer-faq .accordion .content,
.customer-qna .accordion .content {
    border-bottom: none
}

.customer-faq .accordion .open .title-wrap,
.customer-qna .accordion .open .title-wrap {
    border-bottom: 1px solid #ededed
}

.customer-faq .accordion .open .title-wrap .title,
.customer-qna .accordion .open .title-wrap .title {
    --accordion-title-c: var(--typo-custom-c)
}

.customer-faq .accordion .open .title-wrap::before,
.customer-qna .accordion .open .title-wrap::before {
    --typo-custom-c: #fff
}

.customer-faq .radio-wrap.radio-tab {
    grid-template-columns: var(--tabs-grid-columns, repeat(auto-fit, minmax(20%, 1fr)));
    background-image: url("../image/icon/tab-pattern-5.jpg");
    background-color: #fff;
    margin-bottom: 24px
}

.customer-faq .accordion .title-wrap::before {
    content: "Q";
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: 8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #5f0080;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --typo-custom-c: #fff;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.customer-faq .accordion .title-wrap .title {
    padding-top: 2px
}

.customer-faq .accordion .content {
    --accordion-content-padding: 24px 24px 32px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --body1: 16px;
    --typo-custom-lh: 1.3;
    --typo-custom-w: 500
}

.customer-qna .qna-form-wrap .grid {
    --grid-columns: repeat(auto-fit, minmax(20px, 1fr));
    --grid-gap: 24px;
    margin-bottom: 16px
}

.customer-qna .input-checkbox {
    --item-height: 21px
}

.customer-qna .accordion .title-wrap {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    grid-template-areas: "category category category category category category" "title seller mrname date status arrow"
}

.customer-qna .accordion .title-wrap .category {
    grid-area: category;
    margin-bottom: 8px
}

.customer-qna .accordion .title-wrap .seller {
    grid-area: seller;
    margin-right: 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 24px;
    --typo-custom-c: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-left: 4px;
    max-width: 170px
}

.customer-qna .accordion .title-wrap .mr {
    grid-area: mrname;
    margin-right: 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 24px;
    --typo-custom-c: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media only screen and (max-width: 767px) {
    .customer-qna .accordion .title-wrap .mr {
        grid-area: seller;
        --typo-custom-lh: 20px
    }

    .customer-qna .accordion .title-wrap .mr~.seller {
        display: none
    }
}

.customer-qna .accordion .title-wrap .title {
    grid-area: title
}

.customer-qna .accordion .title-wrap .status {
    grid-area: status
}

.customer-qna .accordion .title-wrap .date {
    grid-area: date;
    margin-right: 16px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 24px;
    --typo-custom-c: #333
}

.customer-qna .accordion .title-wrap:after {
    grid-area: arrow
}

.customer-qna .accordion .content {
    --accordion-content-padding: 8px 16px 16px
}

.customer-qna .accordion .content .line-box {
    --snb-content-pd: 16px;
    border-radius: 8px;
    border-color: #ededed
}

.customer-qna .accordion .content .line-box.has-title {
    --snb-content-pd: 8px 16px 16px;
    margin-top: 16px
}

.customer-qna .accordion .content .line-box.has-title>.flex {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid #ededed;
    margin-bottom: 12px
}

.customer-qna .accordion .content .line-box.has-title>.flex em {
    font-size: var(--lnb3);
    color: #333;
    font-weight: 600;
    line-height: 18px;
    letter-spacing: -0.02em
}

.customer-qna .accordion .content .line-box.has-title>.flex span {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.customer-qna .accordion .content .detail-attachment {
    margin-top: 12px;
    padding: 0
}

.tag[class*=tag-status-] {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 20px;
    --typo-custom-w: 600;
    padding: 0 8px;
    border-radius: 2px;
    --typo-custom-c: #fff
}

.tag.tag-status-ing {
    background-color: #BD76FF
}

.tag.tag-status-done {
    background-color: #5F0080
}

.tag.tag-topic {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #522ECE;
    --typo-custom-lh: 16px;
    --typo-custom-w: 600;
    padding: 0 8px;
    border-radius: 10px;
    border: 1px solid #522ece
}

.ta-left {
    text-align: left
}

.store-info:not(:first-child) {
    margin-top: 24px
}

.store-info .head-wrap.line {
    margin-top: 0;
    margin-bottom: 8px;
    padding: 4px 0 8px;
    border-bottom: 1px solid #ededed
}

.store-info .head-wrap.line~.head-wrap {
    margin-top: 16px
}

.store-info .head-wrap .h3 {
    --h3: 18px;
    --typo-custom-c: #5F0080
}

.store-info .head-wrap .body1 {
    --body1: 16px;
    --typo-custom-w: 600
}

.store-info .table-wrap {
    margin-top: 8px
}

.store-info .table-wrap .table th,
.store-info .table-wrap .table td {
    width: 80px;
    min-width: 80px
}

.store-info .table-wrap .table td {
    height: 33px;
    border-bottom: 1px solid #ddd
}

.store-info .table-wrap .table td:not(:last-child) {
    border-right: 1px solid #ddd
}

.store-info .table-wrap .dot-list {
    padding-top: 0
}

.store-info .table-seller-info .table th:nth-child(5),
.store-info .table-seller-info .table th:nth-child(6),
.store-info .table-seller-info .table td:nth-child(5),
.store-info .table-seller-info .table td:nth-child(6) {
    width: 120px;
    min-width: 120px
}

.store-info .table-seller-info .table th:nth-child(7),
.store-info .table-seller-info .table td:nth-child(7) {
    width: 350px;
    min-width: 200px
}

.store-info .table-delivery-info table th:nth-child(3),
.store-info .table-delivery-info table td:nth-child(3) {
    width: 120px;
    min-width: 120px
}

.store-info .table-delivery-info table th:nth-child(5),
.store-info .table-delivery-info table td:nth-child(5) {
    width: 200px;
    min-width: 200px
}

.store-info .table-delivery-info table th:nth-child(6),
.store-info .table-delivery-info table td:nth-child(6) {
    width: 200px;
    min-width: 200px
}

.customer-prodtalk .gray-box {
    border: 1px solid #ddd;
    padding: 16px 24px;
    margin-bottom: 16px
}

.customer-prodtalk .gray-box .title {
    padding-left: 32px;
    padding-bottom: 0;
    font-size: var(--lnb2);
    --typo-custom-lh: 24px;
    position: relative
}

.customer-prodtalk .gray-box .title:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url("../image/icon/caution-b333.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 8px;
    position: absolute;
    top: 0;
    left: 0
}

.customer-prodtalk .gray-box .dot-list {
    padding-top: 8px;
    padding-left: 27px
}

.prodtalk-item {
    padding: 15px 23px;
    border: 1px solid #ddd;
    border-radius: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

.prodtalk-item~.prodtalk-item {
    margin-top: 16px
}

.prodtalk-item.new .body2:after {
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/new.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 4px
}

.prodtalk-item .img-wrap {
    margin-right: 16px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border: 1px solid #ddd;
    border-radius: 50%;
    overflow: hidden
}

.prodtalk-item .img-wrap img {
    width: 100%;
    height: auto
}

.prodtalk-item .body2 {
    margin-top: 0;
    margin-left: 16px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width: 768px) {

    .sub-detail-page .customer,
    .sub-detail-page .customer-notice,
    .sub-detail-page .customer-faq,
    .sub-detail-page .customer-qna,
    .sub-detail-page .customer-prodtalk {
        border: 1px solid #ddd;
        border-radius: 12px;
        background-color: #fff;
        padding: 16px 24px 24px
    }

    .sub-detail-page .customer>.line-box:not(.event-announce),
    .sub-detail-page .customer-notice>.line-box:not(.event-announce),
    .sub-detail-page .customer-faq>.line-box:not(.event-announce),
    .sub-detail-page .customer-qna>.line-box:not(.event-announce),
    .sub-detail-page .customer-prodtalk>.line-box:not(.event-announce) {
        padding: 0;
        border: none
    }

    .customer .col-span-2 {
        grid-column: span 2
    }

    .customer .accordion {
        padding-bottom: 0
    }

    .customer .cs-center .line-box {
        min-height: 176px
    }

    .customer .cs-center .body1 {
        margin-top: auto
    }

    .customer .event-announce {
        min-height: 343px
    }

    .customer .event-announce.line-box {
        min-height: 351px
    }

    .customer .event-announce .flex {
        grid-template-columns: 1fr 180px 105px
    }
}

@media only screen and (min-width: 768px)and (min-width: 768px) {
    .customer .event-announce .flex>span:first-child {
        justify-self: start
    }
}

@media only screen and (min-width: 768px) {
    .customer .customer-faq {
        padding: 0;
        border: none
    }

    .customer-qna .accordion .title-wrap .status {
        padding-top: 2px;
        --tag-mr: 24px
    }

    .customer-link br {
        display: none
    }
}

@media only screen and (max-width: 767px) {

    .sub-detail-page .customer .head-wrap,
    .sub-detail-page .customer-faq .head-wrap {
        --head-mb: 20px
    }

    .customer .head-wrap~.head-wrap {
        margin-top: 28px
    }

    .customer .grid {
        --grid-columns: 1fr;
        --grid-gap: 16px
    }

    .customer .grid-item:not(.col-span-2) .customer-link {
        --snb-content-pd: 16px
    }

    .customer .col-span-2 {
        margin-top: 12px
    }

    .customer .col-span-2 .customer-link {
        --snb-content-pd: 24px 16px
    }

    .customer .col-span-2 .customer-link::before {
        width: 40px;
        height: 40px;
        -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
        align-self: flex-start;
        margin-right: 16px
    }

    .customer .customer-link .btn {
        --button-px: 10px
    }

    .customer .cs-center .h3+.body1 {
        padding-top: 8px
    }

    .customer .event-announce .board-item {
        --board-side-padding: 8px 0
    }

    .customer .event-announce .flex>span:nth-child(3) {
        margin-top: 4px;
        text-align: left;
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #777)
    }

    .customer .event-announce .flex,
    .customer-notice .event-announce .flex {
        grid-template-columns: auto 1fr;
        gap: 0 8px
    }

    .customer .event-announce .flex>span:nth-child(1),
    .customer-notice .event-announce .flex>span:nth-child(1) {
        grid-column: span 2
    }

    .customer .event-announce .flex>span:nth-child(2),
    .customer-notice .event-announce .flex>span:nth-child(2) {
        margin-top: 4px;
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #777)
    }

    .customer-faq .accordion .title-wrap,
    .customer-qna .accordion .title-wrap {
        --accordion-padding: 16px
    }

    .customer-faq .radio-wrap.radio-tab {
        --tabs-grid-columns: repeat(auto-fit, minmax(50%, 1fr));
        background-image: unset
    }
}

@media only screen and (max-width: 767px)and (max-width: 767px) {
    .customer-faq .radio-wrap.radio-tab {
        margin-bottom: 20px
    }
}

@media only screen and (max-width: 767px) {
    .customer-faq .accordion .title-wrap::before {
        width: 24px;
        height: 24px
    }

    .customer-faq .accordion .content {
        --accordion-content-padding: 16px 16px 24px;
        --body1: 14px
    }

    .customer-qna .qna-form-wrap .grid {
        --grid-columns: 1fr;
        --grid-gap: 20px;
        margin-bottom: 20px
    }

    .customer-qna .accordion .title-wrap {
        grid-template-columns: 1fr auto auto auto;
        grid-template-areas: "category category category category" "title title title arrow" "status seller date empty"
    }

    .customer-qna .accordion .title-wrap .title {
        padding-bottom: 4px
    }

    .customer-qna .accordion .title-wrap .seller {
        --typo-custom-lh: 20px;
        text-align: right
    }

    .customer-qna .accordion .title-wrap .date {
        --typo-custom-lh: 20px;
        margin-right: 8px;
        text-align: right
    }

    .customer-qna .accordion .title-wrap .status {
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }

    .customer-prodtalk .gray-box {
        padding: 16px
    }

    .prodtalk-item {
        padding: 15px
    }

    .prodtalk-item .img-wrap {
        margin-right: 8px
    }

    .prodtalk-item .flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        text-align: left
    }

    .prodtalk-item .body2 {
        margin-top: 4px;
        margin-left: 0
    }
}

@media only screen and (max-width: 343px) {
    .customer-link br {
        display: none
    }
}

.amount-wrap {
    margin-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .amount-wrap {
        margin-bottom: 20px
    }
}

.amount-wrap .amount-box {
    display: grid;
    grid-template-columns: var(--amount-column, repeat(auto-fit, minmax(100px, 1fr)));
    gap: var(--amount-gap, 24px 0);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: var(--amount-padding, 16px);
    border-radius: 12px;
    background-color: #fff;
    border: 1px solid #BD76FF
}

.amount-wrap .amount-box p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

.amount-wrap .amount-box p:not(:first-child):before {
    display: inline-block;
    content: "";
    width: 1px;
    height: var(--amount-line-h, 54px);
    background-color: #ddd;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.amount-wrap .amount-box p>em {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    white-space: nowrap;
    padding-bottom: 2px
}

@media only screen and (min-width: 768px) {
    .amount-wrap .amount-box p>em {
        --body1: 16px
    }
}

.amount-wrap .amount-box p>em span {
    display: block;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.amount-wrap .amount-box p>span {
    font-size: var(--amount-unit-fz, 16px);
    color: #000;
    line-height: var(--amount-unit-lh, 26px);
    letter-spacing: -0.02em;
    max-width: 100%;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.amount-wrap .amount-box p>span strong,
.amount-wrap .amount-box p>span a {
    font-weight: 800;
    margin-right: 2px;
    font-size: var(--amount-num-fz, var(--h2));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.amount-wrap .amount-box p>span.on {
    color: #5f0080
}

.amount-wrap .amount-box p>span.amount-desc {
    text-align: right;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-lh: 26px
}

.amount-wrap .amount-box p>span.amount-desc span:before {
    display: inline-block;
    content: "";
    margin: 0 4px;
    width: 1px;
    height: 12px;
    background-color: #ddd
}

.amount-wrap .amount-box p>span.amount-desc b {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.amount-wrap .amount-box p button {
    margin-top: 8px
}

.amount-wrap .amount-box.calc {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0
}

.amount-wrap .amount-box.calc p:not(:first-child) {
    padding-left: 36px;
    margin-left: 20px
}

.amount-wrap .amount-box.calc p:not(:first-child):before {
    width: 16px;
    height: 16px;
    background-color: rgba(0, 0, 0, 0);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

@media only screen and (max-width: 767px) {
    .amount-wrap .amount-box.calc p:not(:first-child) {
        margin-left: 11px;
        padding-left: 27px
    }

    .amount-wrap .amount-box.calc p:not(:first-child):before {
        width: 10px;
        height: 10px
    }
}

.amount-wrap .amount-box.calc p:nth-child(2):before,
.amount-wrap .amount-box.calc p:nth-child(4):before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMiIgdmlld0JveD0iMCAwIDE3IDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSJEaXNjb3VudGVkIFByaWNlIiBkPSJNMTYuNSAwVjJIMC41VjBIMTYuNVoiIGZpbGw9IiM0RDAwNzMiLz4KPC9zdmc+Cg==)
}

@media only screen and (max-width: 767px) {

    .amount-wrap .amount-box.calc p:nth-child(2):before,
    .amount-wrap .amount-box.calc p:nth-child(4):before {
        margin-top: 12.5px
    }
}

@media only screen and (max-width: 343px) {

    .amount-wrap .amount-box.calc p:nth-child(2),
    .amount-wrap .amount-box.calc p:nth-child(4) {
        margin-top: 16px;
        margin-left: 0
    }
}

.amount-wrap .amount-box.calc p:nth-child(3):before,
.amount-wrap .amount-box.calc p:nth-child(5):before {
    content: "";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxNyAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IkRpc2NvdW50ZWQgUHJpY2UiIGQ9Ik0wLjUgMi4zNTA3NVYwSDE2LjVWMi4zNTA3NUgwLjVaTTAuNSAxMFY3LjY0OTI1SDE2LjVWMTBIMC41WiIgZmlsbD0iIzREMDA3MyIvPgo8L3N2Zz4K)
}

@media only screen and (max-width: 767px) {

    .amount-wrap .amount-box.calc p:nth-child(3),
    .amount-wrap .amount-box.calc p:nth-child(5) {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-top: 16px;
        margin-left: 0;
        padding-left: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        text-align: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .amount-wrap .amount-box.calc p:nth-child(3) em,
    .amount-wrap .amount-box.calc p:nth-child(5) em {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
        -ms-flex-order: -1;
        order: -1
    }

    .amount-wrap .amount-box.calc p:nth-child(3):before,
    .amount-wrap .amount-box.calc p:nth-child(5):before {
        position: static;
        -webkit-transform: none;
        transform: none;
        margin-right: 11px
    }
}

@media only screen and (max-width: 767px) {
    .amount-wrap .amount-box.calc {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.amount-wrap .amount-box.amount-col-1 p {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.amount-wrap .amount-box.amount-col-1 p em {
    padding-bottom: 0;
    padding-right: 8px
}

.amount-wrap .amount-box.amount-col-1 p em span {
    margin-left: 4px;
    display: inline-block;
    vertical-align: top;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333;
    --typo-custom-lh: 24px
}

.amount-wrap .amount-box.amount-col-1 p .amount-desc,
.amount-wrap .amount-box.amount-col-1 p .btn {
    margin-top: 0;
    margin-left: 4px
}

.amount-wrap .amount-box .dot-list {
    grid-column: 1/5;
    --dot-list: 16px
}

.amount-wrap .amount-box .dot-list li {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333;
    --typo-custom-lh: var(--dot-list)
}

.amount-wrap .amount-box .dot-list li:before {
    background-color: #333
}

@media only screen and (max-width: 767px) {
    .amount-wrap .amount-box .dot-list {
        grid-column: span 2
    }
}

@media only screen and (min-width: 768px) {
    .amount-wrap .amount-box.amount-col-4 {
        --amount-column: 328px auto 1fr 1fr
    }

    .amount-wrap .amount-box.amount-col-4 p:nth-child(2) {
        min-width: 180px
    }
}

@media only screen and (max-width: 767px) {
    .amount-wrap .amount-box {
        -webkit-box-align: start;
        -webkit-align-items: start;
        -ms-flex-align: start;
        align-items: start;
        --amount-padding: 15px;
        --amount-column: repeat(2, 1fr);
        --amount-gap: 16px 0;
        --amount-line-h: 40px;
        --h2: 14px;
        --amount-unit-fz: 16px;
        --amount-unit-lh: 23px;
        --amount-num-fz: 18px
    }

    .amount-wrap .amount-box p:nth-child(n+3) {
        padding-top: 16px;
        border-top: 1px solid #ddd
    }

    .amount-wrap .amount-box p:nth-child(2n-1):before {
        content: unset
    }

    .amount-wrap .amount-box em {
        --typo-custom-lh: 21px
    }

    .amount-wrap .amount-box.amount-col-1 {
        --amount-column: 1fr
    }

    .amount-wrap .amount-box.amount-col-1 p .amount-desc {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        display: inline-block;
        margin-left: 0;
        text-align: center
    }

    .amount-wrap .amount-box:not(.amount-col-4) p:nth-child(3) {
        grid-column: span 2
    }
}

@media only screen and (max-width: 343px) {
    .amount-wrap .amount-box {
        --amount-column: 1fr
    }

    .amount-wrap .amount-box .dot-list {
        grid-column: unset
    }

    .amount-wrap .amount-box:not(.calc) p:nth-child(n+2) {
        padding-top: 16px;
        border-top: 1px solid #ddd
    }

    .amount-wrap .amount-box:not(.calc) p:before {
        content: unset
    }

    .amount-wrap .amount-box:not(.amount-col-4) p:nth-child(3) {
        grid-column: span 1
    }
}

.page-filter-wrap {
    margin-bottom: 16px;
    --item-height: 24px
}

.page-filter-wrap+.amount-wrap .amount-box {
    background-color: #f9f4ff
}

.page-filter-wrap+.flex .radio-wrap.type-divider {
    margin-right: auto
}

.page-filter-wrap+.flex .radio-wrap.type-divider .input-radio {
    --body2: var(--body1)
}

.mypage .page-filter-wrap .table-wrap {
    margin-top: 0;
    padding-bottom: 0
}

.page-filter-wrap .table-wrap table {
    text-align: left;
    border-top: 1px solid #ddd
}

.page-filter-wrap .table-wrap th,
.page-filter-wrap .table-wrap td {
    height: 32px;
    border-top: none;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd
}

.page-filter-wrap .table-wrap th {
    width: 140px;
    background-color: #f9f4ff;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-c: #333;
    --typo-custom-w: 500
}

.page-filter-wrap .table-wrap th:first-child {
    border-left: 1px solid #ddd
}

.page-filter-wrap .table-wrap td {
    width: 196px;
    padding: 4px 8px
}

.page-filter-wrap .flex {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.page-filter-wrap .flex>:not([hidden]):not(:last-child) {
    margin-right: 4px
}

.page-filter-wrap .period {
    --input-width: 131px
}

.page-filter-wrap .period-picker .btn {
    min-width: 60px
}

.page-filter-wrap .condition .check-wrap {
    padding-left: 4px
}

.page-filter-wrap .select-wrap,
.page-filter-wrap .form-basic {
    max-width: 180px
}

.page-filter-wrap .form-basic+.check-wrap:not(.checkbox-tab),
.page-filter-wrap .check-wrap+.form-basic {
    margin-left: 4px
}

.page-filter-wrap .filter-btn-wrap {
    margin-top: 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page-filter-wrap .filter-btn-wrap .btn.filled {
    min-width: 100px
}

.page-filter-wrap .radio-button span {
    font-size: 12px
}

.page-filter-wrap .radio-button .input-radio {
    padding-left: 6px;
    padding-right: 6px
}

.page-filter-wrap .radio-button .input-radio+.input-radio {
    margin-left: 4px
}

.page-filter-wrap .radio-button .input-radio:hover i {
    background-color: #F9F4FF
}

.page-filter-wrap .radio-button .input-radio:hover span {
    position: relative;
    z-index: 1
}

.page-filter-wrap .radio-button .input-radio :checked~i {
    background-color: #F9F4FF
}

.page-filter-wrap .radio-button .input-radio :checked~span {
    position: relative;
    z-index: 1
}

.page-filter-wrap .check-wrap.checkbox-tab {
    --check-tab-gap: 4px;
    margin-top: 4px
}

.page-filter-wrap .check-wrap.checkbox-tab .input-checkbox {
    line-height: 24px !important;
    padding-left: 6px;
    padding-right: 6px
}

.sub-detail-page {
    background-color: #f3f3f3;
    margin-bottom: calc(var(--content-pb)*-1);
    padding-bottom: var(--content-pb);
    --subtitle-pt: 24px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.sub-detail-page .head-wrap {
    --head-mb: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width: 768px) {
    .sub-detail-page .head-wrap h3.h2 {
        line-height: 35px
    }
}

.sub-detail-page .line-box {
    --snb-content-pd: 16px 24px 24px;
    background-color: #fff;
    padding: var(--snb-content-pd)
}

.sub-detail-page .btn-wrap {
    margin-top: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.sub-detail-page .btn-wrap .btn {
    min-width: 120px
}

.sub-detail-page .btn-wrap .btn:not(:first-child) {
    margin-left: 8px
}

.sub-detail-page .no-contents {
    --filter-pb: 60px;
    --nocontent-button-pt: 24px
}

.sub-detail-page .dot-list {
    padding-top: var(--dot-list-pt, 24px);
    color: #333;
    --dot-list-fw: 400
}

.sub-detail-page .dot-list li::before {
    background-color: #333
}

.sub-detail-page .dot-list li:not(:first-child) {
    --dot-list-gap: 4px
}

.sub-detail-page .toggle-title {
    padding: var(--toggle-title-pd, 16px 24px)
}

.sub-detail-page .toggle-content {
    padding: var(--toggle-content-pd, 16px 24px 24px 24px)
}

.sub-detail-page .toggle-content .form-wrap .grid {
    --grid-columns: 100px 1fr;
    --grid-gap: 16px 40px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.sub-detail-page .toggle-content .form-wrap .grid .form-title {
    margin-bottom: 0
}

.sub-detail-page .tab .scroll-area {
    margin-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .sub-detail-page .tab .scroll-area {
        margin-bottom: 20px
    }
}

.sub-detail-page .tabs-content .head-wrap {
    --typo-custom-lh: 24px
}

.sub-detail-page .form-line .input-radio:not(:first-child) {
    margin-left: 40px
}

.sub-detail-page .form-line .btn {
    --button-fz: var(--body2);
    --button-fw: 500;
    --button-icon-gap: 4px;
    --button-px: 10px
}

.sub-detail-page .radio-check {
    border-bottom: 1px solid #ddd;
    padding: 0 var(--check-wrap-px) 16px;
    --check-wrap-px: 24px
}

@media only screen and (max-width: 767px) {
    .sub-detail-page .radio-check {
        --check-wrap-px: 16px
    }
}

.sub-detail-page .radio-check .type-divider .input-radio {
    --body2: var(--body1)
}

.sub-detail-page .coupon-wrap {
    background-color: rgba(0, 0, 0, 0);
    border: none;
    padding: 0 92px;
    border-radius: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 16px
}

.sub-detail-page .coupon-wrap+.pagination {
    margin-top: 40px
}

@media only screen and (max-width: 767px) {
    .sub-detail-page .coupon-wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0;
        padding: 0
    }
}

@media only screen and (min-width: 768px) {
    .sub-detail-page .coupon-wrap .coupon {
        margin: 0;
        width: 400px;
        grid-template-columns: 306px 1fr;
        background-image: url("../image/event/bg-coupon-pc-wide.png")
    }
}

@media only screen and (max-width: 767px) {
    .sub-detail-page {
        margin-top: calc(var(--content-pt)*-1);
        padding-top: var(--content-pt);
        --toggle-title-pd: 16px;
        --toggle-content-pd: 16px 16px 24px 16px
    }

    .sub-detail-page .line-box {
        --snb-content-pd: 16px 16px 24px 16px
    }

    .sub-detail-page .btn-wrap {
        margin-top: 28px
    }

    .sub-detail-page .btn-wrap .btn {
        min-width: 0;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .sub-detail-page .toggle-content .dot-list {
        padding-top: 16px
    }

    .sub-detail-page .toggle-content .form-wrap .grid {
        --grid-columns: 1fr;
        --grid-gap: 8px
    }

    .sub-detail-page .toggle-content .form-wrap .form-title:not(:first-child) {
        margin-top: 12px
    }

    .sub-detail-page .toggle-content .form-line>.body1 {
        --typo-custom-lh: 21px
    }

    .sub-detail-page .tabs-content .head-wrap {
        margin: 20px 0 16px
    }
}

.table-wrap.table-my-easypay th:nth-child(1),
.table-wrap.table-my-easypay td:nth-child(1) {
    width: 230px
}

.table-wrap.table-my-easypay th:nth-child(2),
.table-wrap.table-my-easypay td:nth-child(2) {
    width: 200px
}

.table-wrap.table-my-easypay th:nth-child(4),
.table-wrap.table-my-easypay td:nth-child(4) {
    width: 180px
}

.table-wrap.table-my-easypay th:nth-child(5),
.table-wrap.table-my-easypay td:nth-child(5) {
    width: 100px
}

.table-wrap.table-my-easypay .no-contents {
    --no-contents-py: 40px;
    padding-bottom: 16px
}

.table-wrap.table-my-easypay+.btn-wrap .btn {
    min-width: 180px
}

.notify-modal {
    --modal-width: 450px;
    --modal-body-mb: 24px
}

@media only screen and (max-width: 767px) {
    .notify-modal {
        --modal-body-mb: 52px;
        --toast-delete-b: 88px
    }
}

.notify-modal .modal-close {
    right: 12px;
    z-index: 2
}

.notify-modal .modal-header {
    position: relative
}

@media only screen and (max-width: 767px) {
    .notify-modal .modal-header {
        text-align: left
    }

    .notify-modal .modal-header em {
        margin-left: -32px
    }
}

.notify-modal .modal-header .btn {
    position: absolute;
    right: 48px
}

@media only screen and (max-width: 767px) {
    .notify-modal .modal-header .btn {
        right: 48px;
        right: calc(constant(safe-area-inset-right) + 48px);
        right: calc(env(safe-area-inset-right) + 48px)
    }
}

.notify-modal .modal-header .btn.active {
    --button-bdc: #5F0080;
    --button-bdc-hover: #5F0080;
    --button-bgc: #5F0080;
    --button-bgc-hover: #5F0080;
    --button-bdc-active: #4D0073;
    --button-bgc-active: #4D0073;
    --button-c: #fff
}

.notify-modal .modal-body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 16px
}

.notify-modal .modal-body::-webkit-scrollbar {
    width: 4px
}

.notify-modal .modal-body::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.notify-modal .modal-body::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.notify-modal .w-full {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.notify-modal .tab.round {
    --tabitem-gap: 8px;
    --tabitom-px: 0px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.notify-modal .tab.round .scroll-area {
    box-shadow: unset;
    margin-bottom: 16px
}

.notify-modal .tab.round .tabs-content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.notify-modal .tab.round .tabs-content:not([aria-hidden=true]) {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.notify-modal .tab.round .tab-item {
    --tab: var(--body1);
    --tab-line-active: #777;
    --typo-custom-lh: 29px;
    line-height: calc(var(--typo-custom-lh) - 2px);
    border-radius: calc(var(--typo-custom-lh)/2);
    background-color: var(--tabitem-bg, #fff);
    border: 1px solid var(--tabitem-bdc, #DDDDDD)
}

.notify-modal .tab.round .tab-item[aria-selected=true] {
    box-shadow: unset;
    --tabitem-bg: #5F0080;
    --tabitem-bdc: #5F0080;
    --tab-line-active: #fff
}

.notify-modal .no-contents {
    --no-contents-py: 40px
}

.notify-modal .h3 {
    --h3: var(--lnb3);
    --typo-custom-c: #000
}

.notify-modal .more {
    margin-top: 12px;
    text-align: center
}

.notify-modal .more .btn.cta {
    --item-height: 24px;
    --button-px: 6px
}

.notify-modal .notify-desc {
    margin-top: auto;
    padding-top: 8px;
    text-align: center;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.notify-modal [data-tippy-root] {
    position: -webkit-sticky !important;
    position: sticky !important;
    -webkit-transform: unset !important;
    transform: unset !important;
    bottom: calc(var(--toast-delete-b, 60px) - var(--modal-body-mb)) !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%
}

.notify-modal [data-tippy-root] .tippy-box {
    margin-top: -40px;
    max-width: 100% !important;
    border-radius: 4px;
    background: rgba(51, 51, 51, 0.9);
    text-align: center;
    width: 100%;
    height: 40px;
    --typo-custom-c: #fff;
    --typo-custom-w: 500;
    --tippy-p: 12px 16px
}

@media only screen and (min-width: 768px) {

    .notify-modal .notify-setting .h3,
    .notify-modal .notify-setting .body2 {
        text-align: center
    }
}

.notify-modal .notify-setting .body2 {
    margin-top: 4px;
    margin-bottom: 24px
}

@media only screen and (max-width: 767px) {
    .notify-modal .notify-setting .body2 br {
        display: none
    }
}

.notify-modal .notify-setting .flex {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.notify-modal .notify-setting .flex+.flex {
    margin-top: 12px
}

.notify-modal .notify-setting .flex .body1 {
    margin-top: 2px;
    margin-right: 8px;
    --typo-custom-w: 500;
    --typo-custom-c: #000
}

.notify-modal .notify-setting .flex .btn {
    min-width: 81px;
    margin-left: auto
}

.notify-modal .notify-setting .icon-alarm.active {
    --button-c: #5F0080;
    --icon-active-url: url("../image/product/alarm-active.svg")
}

.notify-modal .notify-setting .line-box {
    margin-top: 8px;
    padding: 12px 16px;
    border-radius: 0
}

@media only screen and (min-width: 768px) {
    .notify-modal .modal-wrap {
        height: 595px
    }
}

@media only screen and (max-width: 767px) {
    .notify-modal .tab.round .tabs::before {
        content: unset
    }

    .notify-modal .tab.round .tab-item {
        --tabitom-px: 12px
    }

    .notify-modal .no-contents {
        min-height: unset
    }

    .notify-modal .notify-info-wrap~.h3 {
        margin-top: 20px
    }
}

.notify-info-wrap~.h3 {
    margin-top: 16px
}

.notify-info {
    --notify-info-pd: 7px 15px;
    margin-top: 8px;
    position: relative;
    border-radius: 12px;
    border: 1px solid #ddd
}

.notify-info+.notify-info {
    margin-top: 12px
}

.notify-info.new {
    background-color: #f9f4ff
}

.notify-info>a {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: var(--notify-info-pd)
}

.notify-info .flex {
    padding-right: 16px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    max-width: 100%
}

.notify-info .flex .body1 {
    --typo-custom-w: 600;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.notify-info .flex .divider-vertical-line {
    margin: 0 8px
}

.notify-info .flex .body2 {
    --typo-custom-w: 500
}

.notify-info .desc {
    margin-top: 4px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.notify-info .icon-close {
    --notify-info-pd: 16px;
    position: absolute;
    top: calc(var(--notify-info-pd) - 8px - 3px);
    right: calc(var(--notify-info-pd) - 8px);
    --icon-url: url(../image/header/delete-alarm.svg)
}

.manager,
.to-brand {
    position: relative
}

.to-brand {
    width: 154px
}

.to-brand .btn {
    --button-px: 12px;
    --button-height: 46px;
    --button-icon-gap: 12px;
    --button-icon-size: 20px;
    border-radius: 0;
    border-left: 1px solid #ededed;
    border-right: 1px solid #ededed;
    --button-bgc-hover: transparent;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    --typo-custom-c: #222;
    --icon-url: url("../image/icon/chevron-down.svg")
}

.to-brand .btn:hover {
    --typo-custom-c: #5F0080;
    --icon-url: url("../image/icon/chevron-down-primary.svg")
}

.to-brand .btn.active:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.manager-wrap {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    padding: 12px;
    width: 250px;
    max-height: 162px;
    overflow-y: auto;
    border-radius: 6px;
    border: 1px solid #ddd;
    background-color: #fff;
    z-index: 1
}

.manager-wrap .manager-box {
    display: grid;
    grid-template-columns: 1fr 60px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.manager-wrap .manager-box:not(:first-child) {
    margin-top: 8px
}

.manager-wrap .manager-box em {
    margin-bottom: 2px;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 1.2;
    --typo-custom-w: 500;
    --typo-custom-c: #5F0080;
    letter-spacing: -0.05em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.manager-wrap .manager-box b {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-width: 0;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 14px;
    --typo-custom-w: 500;
    --typo-custom-c: #333;
    letter-spacing: 0
}

.manager-wrap .manager-box b>span:nth-child(1) {
    margin-right: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.manager-wrap .manager-box b>span:nth-child(2) {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.manager-wrap .manager-box a.btn {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    grid-row: span 2;
    margin-left: 8px;
    font-size: 12px;
    letter-spacing: 0;
    --typo-custom-w: 500
}

.manager-wrap .manager-box a.btn::before {
    content: unset
}

.to-brand-wrap {
    position: absolute;
    top: 100%;
    right: 0;
    width: 154px
}

.to-brand-wrap .brand-link {
    max-height: 442px;
    overflow-y: auto;
    padding: 2px 12px;
    background-color: #fff;
    border-radius: 0 0 12px 12px;
    border: 1px solid #ededed;
    border-top-color: rgba(0, 0, 0, 0)
}

.to-brand-wrap .brand-link a {
    display: block;
    padding: 10px 0
}

.to-brand-wrap .brand-link a:not(:first-child) {
    border-top: 1px solid #ddd
}

.to-brand-wrap .brand-link::-webkit-scrollbar {
    width: 4px
}

.to-brand-wrap .brand-link::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.to-brand-wrap .brand-link::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.to-brand-wrap .info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.to-brand-wrap .info .ci {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    background-color: #fff
}

.to-brand-wrap .info .ci img {
    width: auto;
    height: 17px
}

.to-brand-wrap .info .body1 {
    margin-top: 4px;
    max-width: 100%;
    --typo-custom-c: #000;
    --typo-custom-w: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.content-desc {
    margin-bottom: var(--content-desc-mb, 16px);
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

.mypage .toggle-title:not(:first-child) {
    margin-top: 16px
}

.mypage .toggle-content+.line-box {
    margin-top: 16px
}

.mypage .head-wrap {
    --head-mb: 16px
}

.mypage .head-wrap~.head-wrap {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #ededed
}

.mypage .head-wrap+.head-wrap {
    margin-top: unset;
    padding-top: unset;
    border-top: none
}

.mypage .head-wrap+.dot-list {
    margin-bottom: 16px;
    --dot-list-fw: 500
}

.mypage .head-wrap+.dot-list~form {
    padding-top: 16px;
    border-top: 1px solid #ededed
}

.mypage .head-wrap.filter .body1 {
    font-weight: 600
}

.mypage .head-wrap.filter .type-divider {
    --body2: var(--body1)
}

.mypage .head-wrap .h2+.body1 {
    margin-top: 4px
}

.mypage .head-wrap .h3 .c-b777 {
    font-size: 16px;
    vertical-align: top
}

@media only screen and (min-width: 768px) {
    .mypage .head-wrap .h3 .c-b777 {
        line-height: 23px
    }
}

.mypage .head-wrap .h3+.body1 {
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

.mypage .head-wrap .icon-chevron-down::before {
    --button-icon-size: 16px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.mypage .head-wrap .icon-chevron-down span {
    text-decoration: underline;
    text-underline-offset: 2px
}

.mypage .amount-wrap+.head-wrap {
    margin-top: unset;
    padding-top: unset;
    border-top: none
}

.mypage .table-wrap {
    margin-top: 8px
}

.mypage .table-wrap+.pagination {
    margin-top: 40px
}

@media only screen and (min-width: 768px) {
    .mypage .form-wrap {
        display: grid;
        grid-template-columns: 124px 1fr;
        gap: 8px 16px;
        -webkit-box-align: start;
        -webkit-align-items: start;
        -ms-flex-align: start;
        align-items: start
    }

    .mypage .form-wrap.vertical-center {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .mypage .form-wrap p.body1,
    .mypage .form-wrap .form-title {
        margin-bottom: 0;
        padding-top: 7px;
        padding-bottom: 7px
    }

    .mypage .form-wrap .form-line {
        --form-line-mb: 0
    }

    .mypage .form-wrap>.dot-list,
    .mypage .form-wrap .form-marketing {
        grid-column: span 2
    }

    .mypage .form-wrap>.dot-list {
        margin-top: -4px
    }

    .mypage .form-wrap .body1+.c-positive {
        margin-left: 8px
    }
}

.mypage .form-wrap .form-title {
    --typo-custom-c: #333
}

.mypage .form-wrap .form-line .dot-list {
    --dot-list-pt: 4px
}

.mypage .form-wrap .dot-list {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --dot-list: 14px
}

.mypage .form-wrap .dot-list li::before {
    background-color: #777
}

.mypage .form-wrap .dot-list .important::before {
    background-color: #e6002d
}

.mypage .form-address {
    display: grid;
    grid-template-columns: var(--form-address-columns, repeat(2, 1fr));
    gap: 8px
}

@media only screen and (max-width: 767px) {
    .mypage .form-address {
        --form-address-columns: 1fr
    }
}

@media only screen and (min-width: 768px) {
    .mypage .form-address .flex {
        grid-column: span 2;
        width: calc(50% - 4px)
    }

    .mypage .form-address .flex .btn {
        min-width: 90px
    }
}

.mypage .form-personal-setting {
    padding-top: 0
}

.mypage .form-marketing {
    --form-line-mb: 16px;
    font-weight: 500;
    display: grid;
    grid-template-columns: var(--form-marketing-columns, 1fr auto);
    gap: var(--form-marketing-gap, 8px);
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

@media only screen and (max-width: 767px) {
    .mypage .form-marketing {
        --form-marketing-columns: 1fr;
        --form-marketing-gap: 0
    }
}

.mypage .form-marketing .radio-wrap {
    --item-height: 21px
}

@media only screen and (min-width: 768px) {
    .mypage .form-marketing .radio-wrap {
        grid-column: span 2
    }
}

.mypage .form-marketing .radio-wrap>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width: 768px) {
    .mypage .form-marketing .radio-wrap>div:first-child {
        margin-right: 50px
    }
}

@media only screen and (max-width: 767px) {
    .mypage .form-marketing .radio-wrap>div {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-left: 20px;
        margin-bottom: 12px
    }
}

@media only screen and (max-width: 767px) {
    .mypage .form-marketing .radio-wrap>div .input-radio {
        margin-left: -20px
    }
}

.mypage .form-marketing .radio-wrap .check-wrap {
    --item-height: 21px;
    margin-left: 8px
}

@media only screen and (max-width: 767px) {
    .mypage .form-marketing .radio-wrap .check-wrap {
        margin-top: 8px;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

.mypage .form-marketing .radio-wrap .check-wrap::before,
.mypage .form-marketing .radio-wrap .check-wrap::after {
    display: inline-block
}

.mypage .form-marketing .radio-wrap .check-wrap::before {
    content: "(";
    margin-right: 4px
}

@media only screen and (max-width: 343px) {
    .mypage .form-marketing .radio-wrap .check-wrap::before {
        content: unset
    }
}

.mypage .form-marketing .radio-wrap .check-wrap::after {
    content: ")";
    margin-left: 4px
}

@media only screen and (max-width: 343px) {
    .mypage .form-marketing .radio-wrap .check-wrap::after {
        content: unset
    }
}

.mypage .form-marketing .radio-wrap .check-wrap label {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.mypage .form-marketing .radio-wrap .check-wrap .input-checkbox:not(:first-child) {
    margin-left: 12px
}

@media only screen and (max-width: 767px) {
    .mypage .form-marketing>.check-wrap {
        --item-height: 21px;
        margin-top: 8px
    }
}

.mypage .prd-item-list {
    margin-left: -1px;
    margin-right: -1px;
    --item-list-columns: 4;
    --item-list-gap: 24px 16px
}

.mypage .dot-list {
    --dot-list-pt: 0
}

.mypage .dot-list.type-line {
    margin-top: 16px;
    border-top: 1px dotted #ccc
}

.mypage .dot-list.type-info {
    --dot-list-fw: 400;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #ededed
}

.mypage .dot-list.type-info .c-orange {
    --c-orange-custom: #BD76FF
}

.mypage .dot-list .important {
    color: #e6002d;
    font-weight: 500
}

.mypage .dot-list .important::before {
    background-color: #e6002d
}

.mypage .dot-list.type-line+.btn-wrap .btn {
    min-width: 180px
}

.mypage form+.dot-list,
.mypage .form-wrap+.dot-list {
    --dot-list-pt: 16px
}

.mypage .caution {
    --h2: 18px
}

.mypage .agreement>.grid {
    padding: 0
}

.mypage .agreement .grid-item {
    margin-top: 0
}

.mypage .no-contents {
    --no-contents-py: 60px
}

.mypage .radio-check+.no-contents {
    --no-contents-py: 195px
}

.mypage .event-closed {
    margin-bottom: 16px
}

.mypage .only-mo.line-box {
    background-color: #fff
}

@media only screen and (min-width: 768px) {
    .mypage .member-info-form .form-wrap .w-half {
        width: 170px
    }

    .mypage .member-info-form .form-address,
    .mypage .member-info-form .input-call,
    .mypage .member-info-form .upload-box {
        width: 50%;
        max-width: 50%
    }

    .mypage .member-info-form .input-email {
        width: 69.35%;
        max-width: 69.35%
    }

    .mypage .member-info-form .w-170-mo {
        width: 130px
    }

    .mypage .member-info-form .form-address .flex {
        width: 170px
    }
}

.my-home .head-wrap {
    --item-height: 21px
}

.mypage .my-home .head-wrap {
    margin-top: 32px;
    padding-top: 0;
    border-top: none
}

.my-home .head-wrap .h3 {
    --typo-custom-c: #000
}

.my-home .amount-wrap {
    margin-top: 32px
}

.my-home .amount-wrap a {
    font-size: 16px;
    font-weight: 500
}

.my-home .amount-wrap a strong {
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --typo-custom-w: 800;
    margin-right: 2px;
    text-decoration: underline
}

.my-home .link-grid {
    --grid-columns: repeat(3, 1fr);
    --grid-gap: 49px
}

.my-home .link-grid .grid-item:not(:last-child) {
    position: relative
}

.my-home .link-grid .grid-item:not(:last-child):after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: calc(100% + 24px);
    width: 1px;
    height: 100%;
    background-color: #ddd
}

.my-home .link-grid .grid-item .flex+.flex {
    margin-top: 12px
}

.my-home .link-grid em {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
    color: #000;
    white-space: nowrap
}

.my-home .link-grid p {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right;
    min-width: 0
}

.my-home .link-grid a {
    text-decoration: underline;
    font-size: 18px;
    font-weight: 800;
    color: #000;
    margin-left: 16px;
    max-width: 100%;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.my-home .icon-chevron-down {
    --button-c: #777
}

.my-home .icon-chevron-down::before {
    --button-icon-size: 16px;
    --icon-url: url(../image/icon/chevron-down-b777.svg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.my-home .switch label {
    font-weight: 500
}

.my-home .membership-info table col:first-child {
    width: 126px
}

.my-home .membership-info table col:nth-child(n+2):nth-child(-n+5) {
    width: 176px
}

.my-home .membership-info table>tbody>tr:first-child th,
.my-home .membership-info table>tbody>tr:first-child td {
    border-top: 1px solid var(--bdc-active, #777)
}

.my-home .membership-info table td.active {
    background-color: #f9f4ff;
    border-left: 1.5px solid #bd76ff;
    border-right: 1.5px solid #bd76ff
}

.my-home .membership-info table tr:first-child td.active {
    border-top-width: 1.5px;
    --bdc-active: #BD76FF
}

.my-home .membership-info table tr:first-child td {
    height: 140px
}

.my-home .membership-info table tr:last-child td.active {
    border-bottom-width: 1.5px;
    border-bottom-color: #bd76ff
}

.my-home .membership-info table em {
    display: inline-block;
    width: 100%;
    margin-top: 8px;
    font-weight: 600
}

.my-home .membership-info .icon-level {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: var(--level-url, url("../image/icon/icon-level-basic.svg"));
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat
}

.mypage .my-home .dot-list {
    --dot-list-pt: 8px;
    color: #777
}

.mypage .my-home .dot-list li:before {
    background-color: #777
}

.my-home .bronze {
    --level-url: url("../image/icon/icon-level-bronze.svg")
}

.my-home .silver {
    --level-url: url("../image/icon/icon-level-silver.svg")
}

.my-home .gold {
    --level-url: url("../image/icon/icon-level-gold.svg")
}

.my-home .platinum {
    --level-url: url("../image/icon/icon-level-platinum.svg")
}

.user-info {
    --grid-columns: 1fr auto auto;
    --grid-gap: 8px
}

.user-info .grid-item:not(:first-child) {
    background-color: #f9f4ff;
    padding: 16px 24px;
    border-radius: 12px;
    min-width: 334px
}

.user-info .grid-item>div:first-child {
    margin-bottom: 12px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.user-info .grid-item>div:first-child em {
    margin-bottom: 2px;
    --typo-custom-c: #333;
    --typo-custom-lh: 21px;
    --typo-custom-w: 500
}

.user-info .grid-item>div:nth-child(2) {
    margin-top: auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.user-info .grid-item>div:nth-child(2) em,
.user-info .grid-item>div:nth-child(2) span {
    font-size: 14px;
    --typo-custom-c: #777
}

.user-info .grid-item>div.grid {
    --grid-columns: repeat(2, 1fr);
    --grid-gap: 0
}

.user-info .grid-item>div.grid .btn {
    padding-left: 0;
    padding-right: 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    --button-bgc-hover: transparent
}

.user-info .h1+p {
    margin-top: 2px;
    margin-bottom: auto
}

.user-info .user-level {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 15px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.user-info .user-level b {
    padding-left: 28px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #333;
    --typo-custom-lh: 24px;
    background-image: var(--level-url, url("../image/icon/icon-level-basic.svg"));
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 3px center
}

.user-info .user-level b span {
    font-weight: 600
}

.user-info .user-level .body2 {
    margin-top: 2px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.user-info .flex:first-child a {
    font-size: 16px;
    font-weight: 500;
    line-height: 27px;
    margin-left: auto
}

.user-info .flex:first-child a strong {
    --typo-custom-w: 800;
    padding-right: 2px;
    text-decoration: underline
}

.user-info .flex:not(:first-child) em {
    font-size: 14px
}

.user-info .btn.text {
    --button-height: 21px
}

.user-info .btn.text span {
    text-decoration: underline
}

.deposit-charge-wrap .grid {
    --grid-gap: 16px
}

.deposit-charge-wrap .body1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    --typo-custom-w: 600;
    margin-top: 8px
}

.deposit-charge-wrap .body1 span {
    margin-left: 8px
}

.deposit-charge-wrap .dot-list {
    --dot-list-pt: 12px;
    --dot-list-fw: 500
}

.deposit-charge-wrap .flex .btn {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.deposit-charge-wrap .flex .btn:not(:first-child) {
    margin-left: 8px
}

.deposit-charge-wrap .form-wrap {
    margin-top: 12px;
    --input-width: 135px
}

.check-wrap.type-comb {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.check-wrap.type-comb>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.check-wrap.type-comb>div:last-child {
    width: 100%
}

.check-wrap.type-comb>div:last-child .input-checkbox {
    margin-right: 16px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.check-wrap.type-comb+.check-wrap {
    padding-top: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    --item-height: 21px;
    font-weight: 500
}

.radio-wrap.type-gap {
    --item-height: 21px
}

.radio-wrap.type-gap .input-radio:not(:first-child) {
    margin-left: var(--input-radio-gap, 40px)
}

.point-input-grid {
    --grid-columns: 1fr 361px auto;
    --grid-gap: 24px;
    --input-width: 280px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 16px
}

.point-input-grid>div {
    padding: 4px 0
}

.point-input-grid>div .body2 {
    margin-top: 2px
}

.point-input-grid>.body1 {
    min-width: 185px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.point-input-grid>.body1 .divider-vertical-line {
    margin: 0 4px
}

.point-input-grid .input-price .input-cover {
    margin-left: unset;
    width: 100%
}

.point-input-grid .btn.filled {
    min-width: 73px;
    margin-left: 8px
}

.btn.icon-excel {
    --button-bdc: #008F46;
    --button-bdc-hover: #00B358;
    --button-bgc: #008F46;
    --button-bgc-hover: #00B358;
    --button-c: #fff;
    --button-bdc-active: #006D35;
    --button-bgc-active: #006D35;
    --icon-url: url("../image/icon/excel.svg")
}

.btn.icon-excel:disabled,
.btn.icon-excel.disabled {
    --icon-url: url("../image/icon/excel-disabled.svg")
}

@media only screen and (min-width: 768px) {
    .mypage {
        border: 1px solid #ddd;
        border-radius: 12px;
        background-color: #fff;
        padding: 16px 24px 24px
    }

    .mypage>.head-wrap:first-child {
        margin-left: -24px;
        margin-right: -24px;
        padding: 0 24px 8px;
        border-bottom: 1px solid #ddd;
        --head-mb: 16px
    }

    .mypage>.head-wrap:first-child h3.h2 {
        line-height: 26px
    }

    .mypage>.head-wrap:first-child h3.h2 span {
        display: inline-block;
        width: 100%;
        margin-top: 4px
    }

    .mypage>.line-box:not(.event-announce) {
        padding: 0;
        border: none
    }

    .mypage .toggle-content {
        --toggle-content-pd: 8px 24px 16px
    }

    .mypage .form-wrap .w-half {
        width: calc(50% - 4px)
    }
}

@media only screen and (max-width: 767px) {
    .content-desc {
        --content-desc-mb: 20px
    }

    .head-wrap.head-compact {
        --head-wrap-columns: 1fr;
        --head-mb: 8px
    }

    .head-wrap.head-compact>div:first-child {
        display: none
    }

    .head-wrap.head-compact>div:last-child {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .mypage .tabs-content .head-wrap {
        margin: 16px 0 20px
    }

    .mypage .head-wrap {
        --head-mb: 20px
    }

    .mypage .head-wrap.head-box {
        padding: var(--toggle-title-pd);
        margin-bottom: 0;
        background: #fff;
        border-radius: 12px 12px 0 0;
        border: 1px solid #ddd;
        border-bottom: none
    }

    .mypage .head-wrap.head-box+.line-box {
        border-radius: 0 0 12px 12px
    }

    .mypage .head-wrap .h3 .space-x-8>:last-child {
        margin-left: auto
    }

    .mypage .form-title br {
        display: none
    }

    .mypage .form-line .flex>:last-child {
        margin-left: auto
    }

    .mypage .caution {
        margin-top: 0;
        margin-bottom: 0;
        border-bottom: none
    }

    .mypage .caution+.dot-list {
        margin-left: -16px;
        margin-right: -16px;
        padding: 16px 24px 0 24px;
        border-top: 1px solid #ededed
    }

    .check-wrap.type-comb>div:not(:last-child) {
        margin-bottom: 8px
    }

    .check-wrap.type-comb .input-checkbox {
        --item-height: 21px
    }

    .point-input-grid {
        --grid-columns: 1fr;
        --grid-gap: 8px;
        --input-width: 100%
    }

    .point-input-grid>p {
        text-align: left
    }
}

.point-order-modal .toggle-title h2 {
    --h2: var(--h3)
}

.point-order-modal .order-prd-table>div {
    grid-template-columns: 1fr 300px;
    --box-pr: 0
}

@media only screen and (max-width: 767px) {
    .point-order-modal .order-prd-table>div {
        grid-template-columns: 1fr
    }
}

.point-order-modal .order-prd-table .td {
    grid-template-columns: 150px 150px
}

@media only screen and (max-width: 767px) {
    .point-order-modal .order-prd-table .td {
        grid-template-columns: auto 1fr
    }
}

.point-order-modal .price-info-total+.price-info-total {
    position: relative;
    margin-top: 33px
}

.point-order-modal .price-info-total+.price-info-total:before {
    display: inline-block;
    content: "";
    display: inline-block;
    border-top: 1px dotted #ccc;
    margin: 0;
    position: absolute;
    top: -17px;
    left: 0;
    width: 100%;
    height: 1px
}

.point-order-modal .price-info-total .flex:not(:first-child) {
    margin-top: 16px
}

.point-order-modal .body1+.delivery-info-wrap {
    margin-top: 16px;
    border-top: 1px dotted #ccc;
    padding-top: 16px
}

.point-order-modal .caution {
    margin-top: 16px;
    --h2: 16px;
    --typo-custom-lh: 24px
}

.point-order-modal .dot-list {
    color: #333;
    --dot-list-fw: 400
}

.point-order-modal .dot-list li::before {
    background-color: #333
}

.point-order-modal .delivery-info {
    padding: 0;
    border-radius: 0;
    border: none
}

.table-my-benefit th:nth-child(1),
.table-my-benefit th:nth-child(2),
.table-my-benefit td:nth-child(1),
.table-my-benefit td:nth-child(2) {
    width: 105px
}

.table-my-benefit th:nth-child(3),
.table-my-benefit th:nth-child(5),
.table-my-benefit td:nth-child(3),
.table-my-benefit td:nth-child(5) {
    min-width: 150px
}

.table-my-benefit td>span {
    white-space: nowrap
}

.truncate-line2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2;
    white-space: normal
}

.truncate-line2 span {
    display: inline-block
}

.truncate-line2 .divider-vertical-line {
    margin: 4px;
    vertical-align: top
}

.truncate-line2 .tag {
    vertical-align: top;
    margin-top: 2px
}

.table-wrap .text-group>span {
    display: inline-block;
    width: 100%
}

.table-wrap .text-group .btn {
    margin-top: 4px
}

.table-wrap .text-group>a {
    color: #333;
    text-decoration: underline
}

@media only screen and (max-width: 767px) {
    .deposit-complete-modal .prd-item-list.type-column {
        --item-list-columns: 1
    }
}

.deposit-complete-modal .prd-item-list.type-column .line-box {
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 12px 16px
}

.deposit-complete-modal .prd-item-list.type-column .item-element {
    --prd-thumb-size: 104px
}

@media only screen and (max-width: 767px) {
    .deposit-complete-modal .prd-item-list.type-column .item-element .thumbnail-container {
        width: 54px;
        margin-right: 8px
    }
}

.deposit-complete-modal .prd-item-list.type-column .item-element .item-detail {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.deposit-complete-modal .prd-item-list.type-column .item-element .info-container {
    --item-info-container-mt: 0
}

.deposit-complete-modal .prd-item-list.type-column .prd-price {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-right: 0;
    --item-price-mt: 0
}

.deposit-complete-modal .brand-container {
    margin-top: 16px
}

.deposit-complete-modal .brand-container .brand-price {
    border-top: none
}

.deposit-complete-modal .brand-container .price-info-total:first-of-type {
    margin-top: 0
}

.deposit-complete-modal .brand-container .price-info-total+.price-info-total {
    position: relative;
    margin-top: 33px
}

.deposit-complete-modal .brand-container .price-info-total+.price-info-total:before {
    display: inline-block;
    content: "";
    display: inline-block;
    border-top: 1px dotted #ccc;
    margin: 0;
    position: absolute;
    top: -17px;
    left: 0;
    width: 100%;
    height: 1px
}

@media only screen and (max-width: 767px) {

    .deposit-complete-modal .brand-container .price-info-total+.price-info-total .title,
    .deposit-complete-modal .brand-container .price-info-total+.price-info-total .price {
        font-size: 14px
    }
}

.deposit-complete-modal .brand-container .price-info-total .flex:not(:first-child) {
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    .deposit-complete-modal .brand-container .price-info-total .flex:not(:first-child) {
        margin-top: 8px
    }
}

@media only screen and (max-width: 767px) {
    .deposit-complete-modal .brand-container .price-info-total .title {
        grid-column: unset
    }
}

.card-easypay-modal .head-wrap {
    --head-mb: 16px
}

.card-easypay-modal .head-wrap~.head-wrap {
    padding-top: 16px;
    border-top: 1px dotted #ccc
}

.card-easypay-modal .input-card {
    display: grid;
    grid-template-columns: 1fr 15px 1fr 15px 1fr 15px 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.card-easypay-modal .input-card>span {
    display: inline-block;
    text-align: center
}

.card-easypay-modal .grid-col-2 {
    grid-template-columns: 1fr 15px 1fr
}

.card-easypay-modal .agreement>.grid {
    padding: 0
}

.card-easypay-modal .agreement .grid-item {
    margin-top: 0
}

.credit-item.disabled,
.credit-item:disabled {
    pointer-events: none;
    cursor: default;
    --credit-item-bgc: #D8D8D8
}

.credit-item.disabled::before,
.credit-item:disabled::before {
    opacity: 1
}

.credit-item.disabled[data-credit=shinhan],
.credit-item:disabled[data-credit=shinhan] {
    --credit-item-url: url("../image/order/credit-shinhan-disabled.svg")
}

.credit-item.disabled[data-credit=kb],
.credit-item:disabled[data-credit=kb] {
    --credit-item-url: url("../image/order/credit-kb-disabled.svg")
}

.credit-item.disabled[data-credit=samsung],
.credit-item:disabled[data-credit=samsung] {
    --credit-item-url: url("../image/order/credit-samsung-disabled.svg")
}

.credit-item.disabled[data-credit=hyundai],
.credit-item:disabled[data-credit=hyundai] {
    --credit-item-url: url("../image/order/credit-hyundai-disabled.svg")
}

.credit-item.disabled[data-credit=lotte],
.credit-item:disabled[data-credit=lotte] {
    --credit-item-url: url("../image/order/credit-lotte-disabled.svg")
}

.credit-item.disabled[data-credit=hana],
.credit-item:disabled[data-credit=hana] {
    --credit-item-url: url("../image/order/credit-hana-disabled.svg")
}

.credit-item.disabled[data-credit=woori],
.credit-item.disabled[data-credit=wooribc],
.credit-item:disabled[data-credit=woori],
.credit-item:disabled[data-credit=wooribc] {
    --credit-item-url: url("../image/order/credit-woori-disabled.svg")
}

.credit-item.disabled[data-credit=bc],
.credit-item:disabled[data-credit=bc] {
    --credit-item-url: url("../image/order/credit-bc-disabled.svg")
}

.credit-item.disabled[data-credit=nh],
.credit-item:disabled[data-credit=nh] {
    --credit-item-url: url("../image/order/credit-nh-disabled.svg")
}

.credit-item.disabled[data-credit=citi],
.credit-item:disabled[data-credit=citi] {
    --credit-item-url: url("../image/order/credit-citi-disabled.svg")
}

.credit-item.disabled[data-credit=kakao],
.credit-item:disabled[data-credit=kakao] {
    --credit-item-url: url("../image/order/credit-kakao-disabled.svg")
}

.credit-item.disabled[data-credit=suhyup],
.credit-item:disabled[data-credit=suhyup] {
    --credit-item-url: url("../image/order/credit-suhyup-disabled.svg")
}

.credit-item.disabled[data-credit=kjbank],
.credit-item:disabled[data-credit=kjbank] {
    --credit-item-url: url("../image/order/credit-kjbank-disabled.svg")
}

.credit-item.disabled[data-credit=naver],
.credit-item:disabled[data-credit=naver] {
    --credit-item-url: url("../image/order/credit-naver-disabled.svg")
}

.credit-item.disabled[data-credit=payco],
.credit-item:disabled[data-credit=payco] {
    --credit-item-url: url("../image/order/credit-payco-disabled.svg")
}

.credit-item.disabled[data-credit=ssg],
.credit-item:disabled[data-credit=ssg] {
    --credit-item-url: url("../image/order/credit-ssgpay-disabled.svg")
}

.credit-item.disabled[data-credit=lpay],
.credit-item:disabled[data-credit=lpay] {
    --credit-item-url: url("../image/order/credit-lpay-disabled.svg")
}

.deposit-charge .dot-list {
    padding-top: var(--dot-list-pt);
    color: #333;
    --dot-list-fw: 400
}

.deposit-charge .dot-list li::before {
    background-color: #333
}

.deposit-charge .dot-list li:not(:first-child) {
    --dot-list-gap: 4px
}

.deposit-charge .btn-wrap {
    margin-top: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.deposit-charge .btn-wrap .btn {
    min-width: 120px
}

.deposit-charge .btn-wrap .btn:not(:first-child) {
    margin-left: 8px
}

.icon-plus-sm {
    --icon-url: url("../image/order/icon-plus-primary.svg")
}

.icon-plus-sm:hover {
    --icon-url: url("../image/order/icon-plus-hover.svg")
}

.icon-plus-sm:active {
    --icon-url: url("../image/order/icon-plus-active.svg")
}

.grid-fr-auto {
    --grid-columns: 1fr auto;
    margin-bottom: 16px
}

.grid-fr-auto+.head-wrap {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #ededed
}

.grid-fr-auto .dot-list {
    --dot-list-fw: 400;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333
}

.grid-fr-auto .dot-list li:before {
    --dot-list: 16px
}

.table-reduction th,
.table-reduction td {
    width: 100px
}

.table-reduction th:nth-child(1),
.table-reduction td:nth-child(1) {
    width: 65px
}

.table-reduction th:nth-child(4),
.table-reduction td:nth-child(4) {
    width: 230px;
    max-width: 230px
}

.table-reduction tr.disabled td {
    background-color: rgba(0, 0, 0, .05)
}

.table-reduction tr.disabled td .input-checkbox {
    pointer-events: none
}

.table-reduction .input-checkbox i {
    margin-right: 0
}

.table-reduction-complete th,
.table-reduction-complete td {
    width: 105px
}

.table-reduction-complete th:nth-child(3),
.table-reduction-complete td:nth-child(3) {
    width: 380px;
    max-width: 380px
}

.table-reduction-complete td>span {
    white-space: nowrap
}

.text-through {
    text-decoration: line-through
}

.reduction-modal .table-wrap+.table-wrap {
    margin-top: 16px
}

.reduction-modal .detail-content,
.reduction-modal .detail-attachment {
    padding: 0;
    margin-top: 0
}

.reduction-modal .a-file-download {
    display: grid;
    grid-template-columns: 1fr auto
}

.reduction-modal .a-file-download:first-child {
    margin-top: 0
}

.table-wrap.table-type-column {
    margin-top: 0
}

.table-wrap.table-type-column table {
    border-top: 1px solid #777
}

.table-wrap.table-type-column table~table {
    margin-top: 16px
}

.table-wrap.table-type-column th,
.table-wrap.table-type-column td {
    border-top: none;
    border-bottom: 1px solid #ddd
}

.table-wrap.table-type-column th {
    width: 180px;
    background-color: #f8f8f8;
    border-right: 1px solid #ddd
}

@media only screen and (max-width: 767px) {
    .table-wrap.table-type-column th {
        max-width: 120px;
        width: 120px
    }
}

.table-wrap.table-type-column td {
    text-align: left
}

.table-wrap.table-type-column .detail-content {
    padding: 0;
    margin-top: 0
}

.table-wrap.table-type-column .dot-list {
    --dot-list-fw: 400;
    color: #333
}

.table-wrap.table-type-column .dot-list li::before {
    background-color: #333
}

.table-wrap.table-type-column .dot-list li:not(:first-child) {
    --dot-list-gap: 4px
}

.gray-box.type-line {
    background-color: #f3f3f3;
    border-radius: 12px;
    border: 1px solid #ededed
}

.gray-box.type-line .title {
    --body1: 16px;
    padding-bottom: 8px
}

.gray-box.type-line .title~.title {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dotted #ccc
}

.gray-box.type-line .dot-list {
    color: #333;
    --dot-list-fw: 400
}

.gray-box.type-line .dot-list li::before {
    background-color: #333
}

.gray-box.type-line .dot-list li:not(:first-child) {
    --dot-list-gap: 4px
}

.gray-box.type-line .dot-list.type-col {
    display: grid;
    grid-template-columns: var(--list-grid-columns, repeat(2, 1fr))
}

@media only screen and (max-width: 767px) {
    .gray-box.type-line .dot-list.type-col {
        --list-grid-columns: 1fr
    }
}

.gray-box.type-line .dot-list.type-col li:nth-child(2) {
    --dot-list-gap: 0
}

.table-return th:not(:nth-child(4)),
.table-return td:not(:nth-child(4)) {
    width: 105px
}

.table-return th:nth-child(4),
.table-return td:nth-child(4) {
    width: 230px;
    max-width: 230px
}

.table-wrap.table-return-order th:not(:nth-child(3)),
.table-wrap.table-return-order td:not(:nth-child(3)) {
    width: 105px
}

.table-wrap.table-return-order th:nth-child(3),
.table-wrap.table-return-order td:nth-child(3) {
    width: 230px;
    max-width: 230px
}

.table-wrap.table-return-order .form-basic {
    --input-height: 24px;
    min-width: unset;
    text-align: right
}

.return-list {
    --item-height: 24px
}

.return-list .select-all-wrap {
    padding: 16px;
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.return-list .select-all-wrap .check-wrap {
    margin-right: 12px
}

.return-list .select-all-wrap .input-checkbox {
    font-size: 16px;
    font-weight: 600
}

.return-list .select-all-wrap .body2 {
    --body2: 14px
}

.return-list .select-all-wrap .body2+.body2 {
    margin-left: 4px
}

.return-list .select-all-wrap .btn.xs {
    margin-left: auto
}

.return-list .brand-container {
    border-radius: 0;
    border-bottom: none
}

.return-list .brand-container~.brand-container {
    position: relative;
    --brand-container-gap: 0;
    border-top: none
}

.return-list .brand-container~.brand-container:before {
    display: inline-block;
    content: "";
    border-top: 1px solid #ededed;
    margin: 0 16px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px
}

.return-list .brand-container .brand-name {
    margin-bottom: 0
}

.return-list .brand-container .brand-name .check-wrap {
    margin: 0 12px 0 0;
    --item-height: 24px
}

.return-list .brand-container .brand-name .check-wrap span {
    --typo-custom-lh: 24px
}

.return-list .brand-container .brand-name .flex .btn.xs {
    margin-left: 8px
}

.return-list .brand-container .brand-name>.btn.xs {
    margin-left: auto
}

.return-list .brand-container .brand-name>.btn.xs~.btn {
    margin-left: 8px
}

.return-list .brand-container .brand-name .order-cutoff {
    -webkit-flex-shrink: unset;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    white-space: normal;
    padding-right: 8px
}

.return-list .brand-container .brand-wrap .input-checkbox i {
    margin-right: 0
}

.return-list .brand-container .brand-price {
    padding-top: 0;
    background-color: rgba(0, 0, 0, 0);
    border-top: none
}

.return-list .brand-container .brand-price .btn-wrap {
    margin-top: 0
}

.return-list .btn-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 16px
}

.return-list .btn-wrap .btn.secondary:not(:first-child) {
    margin-left: 0;
    margin-top: 8px
}

.return-list .btn-wrap.total {
    margin-top: 0;
    padding: 16px;
    border-radius: 0 0 12px 12px;
    border: 1px solid #ddd
}

.return-list .btn.secondary {
    --button-bdc: #7346F3;
    --button-bdc-hover: #522ECE;
    --button-bdc-active: #522ECE;
    --button-bgc: #7346F3;
    --button-bgc-hover: #522ECE;
    --button-bgc-active: #522ECE;
    color: #fff !important;
    width: 100%
}

.return-list .btn.secondary>span {
    display: inline-grid;
    grid-template-columns: 1fr auto
}

.return-list .btn.secondary>span em {
    min-width: 0;
    margin-right: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.return-list .table-return-order th:first-child,
.return-list .table-return-order td:first-child {
    width: 65px
}

.return-list .no-contents {
    border: 1px solid #ddd;
    border-radius: 12px
}

.table-return-cost th:not(:nth-child(3)),
.table-return-cost td:not(:nth-child(3)) {
    width: 130px
}

@media only screen and (max-width: 767px) {

    .table-return-cost th:nth-child(3),
    .table-return-cost td:nth-child(3) {
        min-width: 250px
    }
}

.table-return-cost td>span {
    white-space: nowrap
}

.table-return-cost .radio-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.table-return-cost .radio-wrap .input-radio {
    --item-height: 21px
}

.table-return-cost .radio-wrap .input-radio:not(:first-child) {
    margin-top: 8px;
    margin-left: 0
}

.table-return-cost .total {
    background-color: #ededed
}

.table-wrap.table-my-order th:not(:nth-child(3)),
.table-wrap.table-my-order td:not(:nth-child(3)) {
    width: 105px
}

.table-wrap.table-my-order th:nth-child(3),
.table-wrap.table-my-order td:nth-child(3) {
    width: 290px;
    max-width: 290px
}

.table-wrap.table-my-order th>a,
.table-wrap.table-my-order td>a {
    color: #333
}

.table-wrap.table-my-order .flex {
    white-space: nowrap;
    max-width: 100%
}

.table-wrap.table-my-order .tag:last-child {
    --tag-mr: 8px
}

.tag.tag-agency {
    border: 1px solid #bd76ff;
    --typo-custom-c: #BD76FF;
    border-radius: 4px
}

.order-cancle-modal .head-wrap {
    --head-mb: 16px
}

.order-cancle-modal .head-wrap .h3 {
    --h3: 16px
}

.order-cancle-modal .brand-container .brand-price {
    border-top: none
}

.order-cancle-modal .brand-container .price-info-total:first-of-type {
    margin-top: 0
}

.order-cancle-modal .brand-container .price-info-total+.price-info-total {
    position: relative;
    margin-top: 33px
}

.order-cancle-modal .brand-container .price-info-total+.price-info-total:before {
    display: inline-block;
    content: "";
    border-top: 1px dotted #ccc;
    margin: 0;
    position: absolute;
    top: -17px;
    left: 0;
    width: 100%;
    height: 1px
}

@media only screen and (max-width: 767px) {

    .order-cancle-modal .brand-container .price-info-total+.price-info-total .title,
    .order-cancle-modal .brand-container .price-info-total+.price-info-total .price {
        font-size: 14px
    }
}

@media only screen and (max-width: 343px) {
    .order-cancle-modal .brand-container .price-info-total+.price-info-total .title {
        max-width: 90%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

.order-cancle-modal .brand-container .price-info-total:last-of-type {
    margin-top: 0;
    padding-top: 29px
}

.order-cancle-modal .brand-container .price-info-total:last-of-type::before {
    top: 5px;
    left: 8px;
    width: calc(100% - 16px)
}

.order-cancle-modal .brand-container .price-info-total .flex:not(:first-child) {
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    .order-cancle-modal .brand-container .price-info-total .flex:not(:first-child) {
        margin-top: 8px
    }
}

@media only screen and (max-width: 767px) {
    .order-cancle-modal .brand-container .price-info-total .title {
        grid-column: unset
    }
}

.card-repay-modal .brand-container {
    margin-bottom: 16px
}

.card-repay-modal .brand-container .price-info-total {
    margin-top: 0;
    --price-total-pd: 16px
}

.card-repay-modal .brand-container .price-info-total .title {
    --h3: 18px
}

@media only screen and (max-width: 767px) {
    .card-repay-modal .brand-container .price-info-total .title {
        grid-column: span 1
    }
}

.card-repay-modal .toggle-title h2 {
    --h2: var(--h3)
}

.card-repay-modal .toggle-content {
    border-top-color: #ddd;
    background-color: #f8f8f8;
    padding: 8px 16px 16px 16px
}

.card-repay-modal .caution {
    margin-top: 16px;
    --h2: 18px;
    --typo-custom-lh: 24px
}

.card-repay-modal .dot-list {
    color: #333;
    --dot-list-fw: 400
}

.card-repay-modal .dot-list li::before {
    background-color: #333
}

.account-info-modal .toggle-title,
.account-info-modal .toggle-content,
.account-info-modal .toggle-order-list+.toggle-content {
    background-color: #f3f3f3;
    border-color: #ededed
}

.account-info-modal .toggle-title {
    padding: 16px 16px 8px 16px;
    position: relative
}

.account-info-modal .toggle-title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    width: calc(100% - 32px);
    height: 1px;
    background-color: #ddd
}

.account-info-modal .toggle-title h2 {
    --h2: var(--h3)
}

.account-info-modal .toggle-title~.toggle-title {
    margin-top: 16px
}

.account-info-modal .item-detail {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.account-info-modal .toggle-content {
    border-top: none;
    padding: 12px 16px 16px
}

.account-info-modal .toggle-content .bg-white {
    background-color: rgba(0, 0, 0, 0);
    padding-top: 12px;
    padding-bottom: 0;
    border-bottom: none
}

.account-info-modal .price-info {
    background-color: #fff;
    padding: 8px 16px;
    border-radius: 12px;
    border: 1px solid #ddd
}

.account-info-modal .price-info p {
    --body1: 16px;
    --typo-custom-lh: 21px
}

.account-info-modal .price-info p:not(.price) {
    padding: 7px 0;
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.account-info-modal .price-info .price {
    --typo-custom-w: 500
}

.account-info-modal .price-info .price span {
    margin-right: 0
}

.account-info-modal .price-info .price .btn {
    margin-left: 8px
}

.order-detail .order-info .brand-price {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.order-detail .order-info .price-info-total {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
    --price-total-pd: 12px 16px
}

.order-detail .order-info .price-info-total .title {
    padding: 7px 0;
    --typo-custom-lh: 21px
}

.order-detail .order-info .price-info-total .tag,
.order-detail .order-info .price-info-total .btn {
    margin-right: 0;
    margin-left: 4px
}

.order-detail .order-info .price-info-total .btn span {
    margin-right: 0
}

.order-detail .order-info .price-info-total .tooltip {
    margin-left: 0;
    margin-right: 0
}

.order-detail .order-info .price-info-total>.feedback {
    text-align: right
}

.order-detail .payment-info .price-info-total .flex~.flex {
    margin-top: 8px
}

.order-detail .payment-info .price-info {
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc
}

.order-detail [data-tippy-root] .tippy-box .tooltip-head {
    line-height: 21px
}

.order-detail [data-tippy-root] .tippy-box .body2 {
    --typo-custom-w: 600
}

.order-detail [data-tippy-root] .tippy-box .dot-list {
    display: inline-block
}

.order-detail [data-tippy-root] .tippy-box .dot-list>span {
    margin-right: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    padding-left: 7px;
    --typo-custom-c: #333;
    --typo-custom-lh: 16px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777)
}

.order-detail [data-tippy-root] .tippy-box .dot-list>span:before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 3px;
    background-color: #333;
    border-radius: 50%;
    margin-top: 6px
}

.order-detail [data-tippy-root] .tippy-box .dot-list>span+span {
    margin-top: 4px
}

.order-detail [data-tippy-root] .tippy-box .dot-list.body3 {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dotted #ccc
}

.order-detail [data-tippy-root] .tippy-box .dot-list.body3>span {
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #777;
    --typo-custom-w: 500;
    --typo-custom-lh: 13px
}

.order-detail [data-tippy-root] .tippy-box .dot-list.body3>span::before {
    background-color: #777;
    margin-top: 4px
}

.order-detail .toggle-title .tooltip {
    margin-left: 4px
}

.order-detail .toggle-content .bg-white {
    margin: 0 -24px
}

.order-detail .order-prd-table {
    margin: 0 24px;
    --box-pr: 0
}

.order-detail .order-prd-table>div,
.order-detail .order-prd-table>div.only-pc {
    grid-template-columns: 1fr var(--prd-table-columns, 330px)
}

.order-detail .order-prd-table .detail {
    grid-template-columns: 1fr var(--prd-table-columns, 330px)
}

.order-detail .order-prd-table .detail .prd-name {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    white-space: normal
}

.order-detail .order-prd-table .detail .prd-name .ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2;
    white-space: normal
}

.order-detail .order-prd-table>div:not(.only-pc) .body1:nth-child(2) {
    text-align: right
}

.order-detail .order-prd-table .td {
    grid-template-columns: repeat(var(--prd-td-columns, 3), 110px);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.order-detail .order-prd-table .td>span {
    display: inline-block;
    width: 100%
}

.order-detail .order-prd-table.order-to-cart {
    --prd-table-columns: 550px
}

.order-detail .order-prd-table.order-to-cart>div:not(.only-pc) .body1:nth-child(4),
.order-detail .order-prd-table.order-to-cart>div:not(.only-pc) .body1:nth-child(6) {
    text-align: right
}

.order-detail .order-prd-table.order-to-cart .th {
    position: relative;
    margin-left: 36px
}

.order-detail .order-prd-table.order-to-cart .th .check-wrap {
    position: absolute;
    top: 50%;
    left: -20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.order-detail .order-prd-table.order-to-cart .td {
    --prd-td-columns: 5
}

.order-detail .order-prd-table.order-to-cart .detail .th {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.order-detail .order-prd-table.order-to-cart .detail .body1 .btn {
    margin-top: 4px
}

.order-detail .delivery-info {
    margin: 8px 0;
    padding: 0;
    border-radius: 0;
    border: none
}

.brand-calculate {
    padding: 0 16px 16px;
    text-align: right;
    color: #333
}

.brand-calculate span {
    font-weight: 600
}

.info-mo-coupon-modal .gray-box {
    margin: 20px 0
}

.return-policy-modal {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.return-policy-modal .fw-semibold {
    margin-top: 20px
}

.order-page {
    --subtitle-pt: 12px;
    --toggle-title-gap: 16px;
    background-color: #f3f3f3;
    margin-bottom: calc(var(--content-pb)*-1);
    padding-bottom: var(--content-pb);
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

@media only screen and (max-width: 767px) {
    .order-page {
        margin-top: calc(var(--content-pt)*-1);
        padding-top: 28px
    }
}

.order-page .contents-area {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 0 24px
}

@media only screen and (max-width: 767px) {
    .order-page .contents-area {
        display: block
    }
}

.order-page .contents-left,
.order-page .contents-right {
    min-width: 0
}

.order-page .floating-aside {
    position: -webkit-sticky;
    position: sticky;
    --floating-top: var(--top-banner-h, 0px) + var(--header-height, 158px) + 24px;
    top: calc(var(--floating-top));
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    align-self: start
}

@media only screen and (max-width: 767px) {
    .order-page .floating-aside {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: unset;
        z-index: 6;
        overflow: hidden;
        background-color: #fff;
        border-radius: 12px 12px 0px 0px;
        box-shadow: 0px -3px 5px 0px rgba(51, 51, 51, .2);
        padding-bottom: 0px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 0px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 0px)
    }

    .order-page .floating-aside:not(.active) .amount-agree,
    .order-page .floating-aside:not(.active) .amount-desc,
    .order-page .floating-aside:not(.active) .title,
    .order-page .floating-aside:not(.active) .content,
    .order-page .floating-aside:not(.active) .total:not(.fixed),
    .order-page .floating-aside:not(.active) .seller-list {
        display: none
    }

    .order-page .floating-aside.active {
        --floating-pb: 95px
    }
}

.order-page .floating-aside .price span {
    margin-right: 0
}

.order-page .floating-contents {
    overflow-y: auto
}

@media only screen and (min-width: 768px) {
    .order-page .floating-contents {
        border: 1px solid #222;
        background-color: #faf8f8;
        min-height: 199px;
        max-height: calc(100vh - (var(--floating-top) + 40px))
    }

    .order-page .floating-contents .btn-wrap {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: inherit
    }
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents {
        padding-bottom: var(--floating-pb, 103px);
        max-height: 62vh
    }
}

.order-page .floating-contents .title {
    background-color: #fff;
    padding-top: 16px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --h2: 18px;
    position: relative
}

.order-page .floating-contents .title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background-color: #777
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .title {
        padding-top: 32px;
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px)
    }
}

@media only screen and (min-width: 768px) {
    .order-page .floating-contents .title {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

.order-page .floating-contents .title span {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 8px;
    text-align: right;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.order-page .floating-contents .content {
    background-color: #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px
}

.order-page .floating-contents .content .price-info {
    padding-left: 0;
    padding-right: 0
}

.order-page .floating-contents .content p {
    min-width: 0
}

.order-page .floating-contents .content p:not(.price) {
    --typo-custom-c: #777
}

.order-page .floating-contents .content .price {
    text-align: right;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --typo-custom-w: 600
}

.order-page .floating-contents .content .price span {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .content {
        padding-top: 16px;
        padding-bottom: 16px;
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px)
    }
}

.order-page .floating-contents .content~.title {
    padding-top: 20px
}

.order-page .floating-contents .total {
    background-color: #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 16px;
    padding-right: 16px
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .total {
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px)
    }
}

.order-page .floating-contents .total~.content {
    padding-top: 0
}

.order-page .floating-contents .total p {
    min-width: 0;
    line-height: 50px
}

.order-page .floating-contents .total p:not(.order-pay-amount) {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --lnb2: 16px;
    --typo-custom-w: 600;
    --typo-custom-c: #000
}

.order-page .floating-contents .total p:not(.order-pay-amount) .btn {
    margin: 0 8px
}

.order-page .floating-contents .total.fixed .order-pay-amount span {
    font-size: 20px;
    color: #E6002D;
    letter-spacing: -0.02em
}

.order-page .floating-contents .total .order-pay-amount {
    text-align: right;
    margin-left: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --h2: 16px;
    --typo-custom-w: 400;
    line-height: 1
}

.order-page .floating-contents .total .order-pay-amount span {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 800
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .total .order-pay-amount {
        margin-left: 0
    }
}

.order-page .floating-contents .total.fixed {
    padding-bottom: 20px
}

@media only screen and (min-width: 768px) {
    .order-page .floating-contents .total.fixed+.content {
        margin-top: -8px
    }
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .total.fixed {
        padding-top: 24px;
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 146px;
        padding-right: calc(constant(safe-area-inset-right) + 146px);
        padding-right: calc(env(safe-area-inset-right) + 146px);
        padding-bottom: 24px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 24px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 24px);
        grid-template-columns: 1fr;
        height: auto;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 1
    }

    .order-page .floating-contents .total.fixed p:not(.order-pay-amount) {
        --typo-custom-lh: 21px
    }

    .order-page .floating-contents .total.fixed p.order-pay-amount {
        --typo-custom-lh: 26px
    }

    .order-page .floating-contents .total.fixed p.order-pay-amount span {
        -webkit-box-flex: unset;
        -webkit-flex: unset;
        -ms-flex: unset;
        flex: unset
    }

    .order-page .floating-contents .total.fixed+.content {
        padding-top: 16px;
        padding-bottom: 0
    }
}

.order-page .floating-contents .amount-agree {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: -8px
}

.order-page .floating-contents .amount-agree .flex {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    --item-height: 24px;
    padding-bottom: 8px
}

.order-page .floating-contents .amount-agree p {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #333
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .amount-agree {
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px);
        background-color: #faf8f8;
        margin: 0 16px;
        padding-top: 16px
    }
}

.order-page .floating-contents .amount-desc {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px
}

.order-page .floating-contents .amount-desc .c-b000 {
    text-align: center
}

.order-page .floating-contents .amount-desc .c-orange {
    margin-top: 16px;
    --typo-custom-w: 500;
    --c-orange-custom: #7346F3
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .amount-desc {
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px);
        padding-bottom: 16px;
        background-color: #faf8f8;
        margin: 0 16px;
        padding-top: 16px
    }
}

.order-page .floating-contents .btn-wrap {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    padding-right: 16px
}

.order-page .floating-contents .btn-wrap .btn {
    width: 100%
}

.order-page .floating-contents .btn-wrap .btn b {
    font-weight: inherit
}

@media only screen and (max-width: 767px) {
    .order-page .floating-contents .btn-wrap {
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px);
        z-index: 1;
        position: absolute;
        bottom: 0;
        right: 0;
        padding-left: 8px;
        padding-top: 32px;
        padding-bottom: 16px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 16px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 16px);
        background-color: #fff
    }

    .order-page .floating-contents .btn-wrap .btn {
        width: 122px
    }

    .order-page .floating-contents .btn-wrap .btn b {
        display: none
    }
}

.order-page .seller-list {
    background-color: #fff;
    padding: 8px 16px 17px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    position: relative
}

.order-page .seller-list:before {
    display: inline-block;
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    height: 1px;
    background-color: #ededed
}

.order-page .seller-list .seller-title {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid #ededed
}

@media only screen and (min-width: 768px) {
    .order-page .seller-list {
        margin-top: -12px
    }
}

@media only screen and (max-width: 767px) {
    .order-page .seller-list {
        padding-top: 16px
    }

    .order-page .seller-list:before {
        content: unset
    }
}

.order-page .seller-list .price-info {
    grid-template-columns: 1fr auto
}

.order-page .seller-list .price-info p {
    min-width: 0
}

.order-page .seller-list .price-info p:not(.price) {
    --typo-custom-c: #777;
    padding-left: 16px;
    background-position: left center;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSA1LjVMMTAgOEw3LjUgMTAuNSIgc3Ryb2tlPSIjOTk5OTk5IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yIDIuNVY2QzIgNi41MzA0MyAyLjIxMDcxIDcuMDM5MTQgMi41ODU3OSA3LjQxNDIxQzIuOTYwODYgNy43ODkyOSAzLjQ2OTU3IDggNCA4SDEwIiBzdHJva2U9IiM5OTk5OTkiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)
}

.order-page .seller-list .price-info p:not(.price) span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.order-page .seller-list .price-info p:not(.price) em {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    margin-left: 4px
}

.order-page .seller-list .price-info p:not(.price) em~span {
    color: #ccc
}

.order-page .seller-list .price-info p.price {
    --typo-custom-w: 400
}

.order-page .seller-list .btn {
    -webkit-box-ordinal-group: 10000;
    -webkit-order: 9999;
    -ms-flex-order: 9999;
    order: 9999
}

.order-page .seller-list .btn:not(.active)~.price-info p:nth-child(n+21) {
    display: none
}

.order-page .seller-list .btn.active:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.order-page .select-all-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 24px
}

@media only screen and (max-width: 767px) {
    .order-page .select-all-wrap {
        padding-bottom: 8px;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-left: 22px
    }
}

.order-page .select-all-wrap .check-wrap {
    --item-height: 21px;
    margin-right: auto;
    white-space: nowrap
}

.order-page .select-all-wrap .check-wrap .input-checkbox {
    font-weight: 600
}

@media only screen and (max-width: 767px) {
    .order-page .select-all-wrap .check-wrap {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        grid-column: span 3;
        margin-left: -22px
    }
}

.order-page .select-all-wrap .divider-vertical-line {
    margin: 0 2px;
    background-color: #717171
}

.order-page .select-all-wrap .btn {
    --button-c: #717171;
    --button-fw: 600
}

.order-page .product-list-container {
    margin-top: -12px
}

.order-page .product-list-container .no-contents {
    margin-top: 12px
}

@media only screen and (max-width: 767px) {
    .order-page .product-list-container .no-contents {
        margin-top: 24px
    }
}

.order-page .btn.secondary {
    --button-bdc: #7346F3;
    --button-bdc-hover: #522ECE;
    --button-bdc-active: #522ECE;
    --button-bgc: #7346F3;
    --button-bgc-hover: #522ECE;
    --button-bgc-active: #522ECE;
    color: #fff !important
}

@media only screen and (max-width: 767px) {
    .order-page .brand-name {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .order-page .brand-name .check-wrap {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-top: 0;
        margin-bottom: 12px
    }
}

.order-page .brand-wrap .no-contents {
    padding-top: 60px;
    padding-bottom: 44px
}

@media only screen and (max-width: 767px) {
    .order-page .brand-wrap .no-contents {
        padding-bottom: 60px;
        min-height: unset
    }
}

.product-list.cart-list>.item-element {
    background-color: #fff;
    border-radius: 12px;
    border: 1px solid #ddd;
    padding: 16px
}

.order-step li {
    font-size: var(--tab);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-w: 500;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.order-step li:not(:first-child):before {
    display: inline-block;
    content: "";
    margin: 0 -1px;
    width: 34px;
    height: 34px;
    background-image: url("../image/icon/chevron-down-b777.svg");
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.order-step li[aria-current=true] {
    --typo-custom-c: #000
}

.order-modal .prd-item-list.type-column .icon-trash:hover,
.order-modal .prd-item-list.type-column .icon-pin:hover,
.order-page .prd-item-list.type-column .icon-trash:hover,
.order-page .prd-item-list.type-column .icon-pin:hover {
    --button-bgc-hover: transparent;
    --button-bgc-active: transparent
}

.order-modal .prd-item-list.type-column .icon-trash:hover,
.order-page .prd-item-list.type-column .icon-trash:hover {
    --icon-url: url("../image/icon/trash-hover.svg")
}

.order-modal .prd-item-list.type-column .icon-trash:active,
.order-page .prd-item-list.type-column .icon-trash:active {
    --icon-url: url("../image/icon/trash-active.svg")
}

.order-modal .prd-item-list.type-column .info-container,
.order-page .prd-item-list.type-column .info-container {
    margin: auto
}

@media only screen and (max-width: 767px) {

    .order-modal .prd-item-list.type-column,
    .order-page .prd-item-list.type-column {
        --item-list-columns: 1
    }
}

.order-modal .prd-item-list.type-column .line-box,
.order-page .prd-item-list.type-column .line-box {
    background-color: #fff;
    padding: 10px 15px;
    display: grid;
    grid-template-columns: var(--prd-order-columns, 1fr 150px 200px);
    gap: 16px
}

@media only screen and (max-width: 767px) {

    .order-modal .prd-item-list.type-column .line-box,
    .order-page .prd-item-list.type-column .line-box {
        display: block;
        gap: 0;
        padding: 15px
    }
}

.order-modal .prd-item-list.type-column .line-box .item-element,
.order-page .prd-item-list.type-column .line-box .item-element {
    min-width: 0;
    --prd-thumb-size: 84px
}

@media only screen and (min-width: 768px) {

    .order-modal .prd-item-list.type-column .line-box .item-element .prd-price,
    .order-page .prd-item-list.type-column .line-box .item-element .prd-price {
        display: none
    }
}

@media only screen and (max-width: 767px) {

    .order-modal .prd-item-list.type-column .line-box .item-element,
    .order-page .prd-item-list.type-column .line-box .item-element {
        --item-info-container-mt: 0;
        --prd-thumb-size: 84px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0;
        --item-price-mt: 8px;
        --price-num-mr: 4px
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .item-detail,
    .order-page .prd-item-list.type-column .line-box .item-element .item-detail {
        position: static
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .thumbnail-container,
    .order-page .prd-item-list.type-column .line-box .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .tag-wrap,
    .order-page .prd-item-list.type-column .line-box .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .thumbnail-container,
    .order-page .prd-item-list.type-column .line-box .item-element .thumbnail-container {
        top: 0;
        -webkit-transform: none;
        transform: none
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .sale,
    .order-page .prd-item-list.type-column .line-box .item-element .sale {
        margin-right: 4px
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .price span,
    .order-page .prd-item-list.type-column .line-box .item-element .price span {
        font-size: 14px;
        line-height: 21px;
        font-weight: 600
    }

    .order-modal .prd-item-list.type-column .line-box .item-element .discounted,
    .order-page .prd-item-list.type-column .line-box .item-element .discounted {
        font-size: 11px
    }
}

.order-modal .prd-item-list.type-column .line-box>.flex,
.order-page .prd-item-list.type-column .line-box>.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.order-modal .prd-item-list.type-column .line-box>.flex .body2,
.order-page .prd-item-list.type-column .line-box>.flex .body2 {
    --typo-custom-c: #333
}

.order-modal .prd-item-list.type-column .line-box>.flex .p.body2,
.order-page .prd-item-list.type-column .line-box>.flex .p.body2 {
    margin-top: 2px
}

.order-modal .prd-item-list.type-column .line-box>.flex .prd-price,
.order-page .prd-item-list.type-column .line-box>.flex .prd-price {
    --item-price-mt: 0;
    width: 100%
}

.order-modal .prd-item-list.type-column .line-box .prd-price,
.order-page .prd-item-list.type-column .line-box .prd-price {
    padding-right: 0
}

.order-modal .prd-item-list.type-column .line-box .prd-price .discounted,
.order-page .prd-item-list.type-column .line-box .prd-price .discounted {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.order-page .prd-item-list.type-column {
    --item-list-gap: 16px
}

@media only screen and (max-width: 767px) {
    .order-page .prd-item-list.type-column {
        --item-list-gap: 10px
    }
}

.order-modal {
    --prd-order-columns: 1fr 100px 150px
}

.order-modal .prd-item-list.type-column {
    --item-list-gap: 12px
}

.order-modal .prd-item-list.type-column>div {
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .order-modal .prd-item-list.type-column {
        --item-list-gap: 12px
    }
}

.order-modal .prd-item-list.type-column.type-message .item-element {
    --prd-thumb-size: 60px
}

.order-modal .prd-item-list.type-column.type-message .thumbnail-container {
    top: var(--prd-el-p);
    -webkit-transform: none;
    transform: none
}

.order-modal .prd-item-list.type-column.type-message .title-main {
    font-size: 16px;
    letter-spacing: -0.02em;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    white-space: nowrap
}

.order-modal>.prd-item-list.type-line .item-element {
    --prd-thumb-size: 60px;
    --prd-el-p: 0px;
    border: none
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-container .prd-item-list.type-column>div {
        margin-left: 16px;
        margin-right: 16px
    }

    .order-modal .brand-container .prd-item-list.type-column>div:first-child {
        margin-top: 12px
    }

    .order-modal .brand-container .prd-item-list.type-column>div:last-child {
        margin-bottom: 16px
    }
}

@media only screen and (max-width: 767px) {
    .select-all-wrap~.brand-container .prd-item-list.type-column {
        gap: 0
    }

    .select-all-wrap~.brand-container .prd-item-list.type-column .product-info-group {
        padding-bottom: 16px
    }
}

.product-info-group {
    border-radius: 12px;
    border: 1px solid #ddd;
    background: #fff;
    display: grid;
    grid-template-columns: auto 1fr 112px 134px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    padding: 8px 16px
}

@media only screen and (max-width: 767px) {
    .product-info-group {
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        grid-template-columns: 1fr;
        gap: 0;
        position: relative
    }

    .order-modal .product-info-group {
        border: 1px solid #ddd;
        border-radius: 12px;
        padding-bottom: 16px
    }

    .contents-left .product-list-wrap li:not(:first-child) .product-info-group {
        margin-top: -12px
    }
}

.product-info-group.disabled {
    background-color: #f8f8f8
}

.product-info-group.disabled .prd-price.fz-large span {
    color: #d8d8d8
}

.product-info-group .prd-price {
    padding-right: 0
}

@media only screen and (max-width: 767px) {
    .product-info-group .prd-price {
        --item-price-mt: 12px;
        --price-num-mr: 0
    }
}

.type-column .product-info-group .item-element {
    --prd-thumb-size: 84px
}

@media only screen and (max-width: 767px) {
    .type-column .product-info-group .item-element {
        margin-top: 44.5px;
        --prd-thumb-size: 84px;
        --item-info-container-mt: 0;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0
    }

    .type-column .product-info-group .item-element .item-detail {
        position: static
    }

    .type-column .product-info-group .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .type-column .product-info-group .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }

    .type-column .product-info-group .item-element .user-action {
        margin-top: 9.5px
    }

    .type-column .product-info-group .item-element .user-action>.btn:not(.icon) {
        width: 100%
    }

    .type-column .product-info-group .item-element .thumbnail-container {
        top: 0;
        -webkit-transform: none;
        transform: none
    }

    .type-column .product-info-group .item-element .user-action .icon-zzim {
        top: calc(var(--prd-thumb-size) - 38px)
    }
}

.product-info-group .item-element .item-detail {
    --search-show: block
}

.modal .product-info-group .item-element .item-detail {
    --search-show: none
}

.product-info-group .item-element .title-main {
    line-height: 15px
}

.product-info-group .item-element .prd-price {
    --item-price-mt: 4px;
    position: static;
    --price-num-mr: 4px
}

.product-info-group .item-element .prd-price .sale {
    margin-right: 6px
}

.product-info-group .item-element .user-action {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 6px
}

@media only screen and (max-width: 767px) {
    .product-info-group .item-element .user-action {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-top: 4px;
        margin-left: 0
    }
}

.product-info-group .item-element .user-action .black-outline {
    width: 98px
}

.product-info-group .item-element .user-action .btns {
    margin: -1px 0 -1px auto
}

@media only screen and (max-width: 767px) {
    .product-info-group .item-element .user-action .btns {
        position: absolute;
        right: 0;
        bottom: 100%;
        margin-bottom: 8px
    }
}

.product-info-group .item-element .user-action .btns .btn.text {
    color: #777
}

.product-info-group .item-element .user-action .btns .btn.text span {
    text-decoration: underline
}

@media only screen and (min-width: 768px) {
    .product-info-group .item-element .user-action .btns .btn.text {
        position: absolute;
        top: 0;
        left: calc(100% + 278px);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

.product-info-group .item-element .user-action .icon-zzim {
    position: absolute;
    top: calc((100% - var(--prd-thumb-size))/2 + var(--prd-thumb-size) - 38px);
    left: calc(var(--prd-thumb-size) - 44px - 30px);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.82);
    padding: 7px
}

.product-info-group .item-element .user-action .icon-zzim:disabled {
    display: none
}

.product-info-group .check-wrap i {
    margin-right: 0
}

@media only screen and (max-width: 767px) {
    .product-info-group .check-wrap {
        position: absolute;
        top: 18px;
        left: 16px
    }
}

.product-info-group .product-amount {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 8px
}

@media only screen and (min-width: 768px) {
    .product-info-group .product-amount .btn {
        height: 24px
    }
}

@media only screen and (max-width: 767px) {
    .product-info-group .product-amount {
        margin-left: 0;
        width: 100%;
        margin-top: 12px
    }

    .product-info-group .product-amount .btn {
        margin-left: 8px
    }

    .product-info-group .product-amount .body2 {
        margin-top: 8px;
        line-height: 16px
    }
}

.product-info-group .product-price p {
    text-align: right;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #000;
    --typo-custom-w: 400
}

.product-info-group .product-price p span {
    word-break: break-all;
    font-size: 18px;
    letter-spacing: -0.02em;
    font-weight: 800
}

.brand-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 12px;
    overflow: hidden;
    background-color: #fff
}

.brand-container~.brand-container {
    margin-top: var(--brand-container-gap, 24px)
}

.toggle-content .brand-container~.brand-container {
    margin-top: var(--brand-container-gap, 16px)
}

@media only screen and (max-width: 767px) {
    .brand-container {
        --brand-container-gap: 16px
    }
}

.brand-container .brand-name {
    margin: 16px 0 12px 0;
    padding: 0 16px 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .brand-container .brand-name {
        margin: 0;
        padding: 16px 16px 8px
    }

    .order-page .brand-container .brand-name {
        padding: 8px 16px 24px
    }

    .order-page .modal-add-more-items .brand-container .brand-name {
        padding: 16px 16px 8px
    }
}

.brand-container .brand-name .check-wrap {
    margin: 8px 0;
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .order-page .brand-container .brand-name .check-wrap {
        margin-bottom: 12px
    }
}

.brand-container .brand-name .check-wrap label {
    max-width: 100%
}

.brand-container .brand-name .check-wrap label span {
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 0
}

.brand-container .brand-name .order-call,
.brand-container .brand-name .order-cutoff {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #777
}

.brand-container .brand-name .order-call {
    margin-left: 16px;
    padding-left: 22px;
    --typo-custom-lh: 18px;
    background: url("../image/order/icon-phone.svg");
    background-size: 18px 18px;
    background-position: left center;
    background-repeat: no-repeat
}

@media only screen and (min-width: 768px) {
    .brand-container .brand-name .order-call {
        pointer-events: none
    }
}

@media only screen and (max-width: 767px) {
    .brand-container .brand-name .order-call {
        margin-left: 0
    }
}

.brand-container .brand-name .order-enough {
    margin-left: auto;
    padding-left: 8px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #4999EE;
    --typo-custom-w: 500
}

.brand-container .brand-name .order-enough.not {
    --typo-custom-c: #E6002D
}

@media only screen and (max-width: 767px) {
    .brand-container .brand-name .order-enough {
        margin-top: 8px;
        margin-bottom: 17px;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        text-align: right;
        padding-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .brand-container .brand-name .order-cutoff {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

.brand-container .brand-name .divider-vertical-line {
    margin: 0 8px
}

.brand-container .brand-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 16px 16px 16px
}

@media only screen and (max-width: 767px) {
    .brand-container .brand-wrap {
        padding: 0
    }
}

.brand-container .brand-price {
    padding: 16px;
    border-top: 1px solid #ddd;
    background-color: #faf8f8
}

.order-prd-table {
    border-top: 1px solid #777;
    margin: 0 16px;
    --box-pr: 30px
}

@media only screen and (max-width: 767px) {
    .order-prd-table {
        border: none;
        --box-pr: 28px
    }
}

.order-prd-table>div {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 560px;
    padding: 0 var(--box-pr) 0 0;
    border-bottom: 1px solid #ededed
}

.order-prd-table>div>.th:not(.active)~.detail {
    display: none
}

.order-prd-table>div>.th.active .btn {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .order-prd-table>div>.th {
        padding-right: 8px
    }
}

.order-prd-table>div>.td .body1 {
    --typo-custom-w: 600
}

@media only screen and (max-width: 767px) {
    .order-prd-table>div {
        border: none;
        grid-template-columns: 1fr
    }

    .order-prd-table>div:nth-child(n+3) {
        margin-top: 8px;
        border-top: 1px solid #ddd;
        padding-top: 8px
    }

    .order-prd-table>div:nth-child(n+3) .btn {
        top: 8px
    }

    .order-prd-table>div>.td {
        margin-top: 4px
    }
}

.order-prd-table>div.only-pc {
    background: #f8f8f8;
    text-align: center
}

.order-prd-table>div.only-pc,
.order-prd-table>div.only-pc p {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    font-weight: 500 !important
}

.order-prd-table .th,
.order-prd-table .td {
    padding: 9.5px 8px
}

.order-prd-table .th {
    min-width: 0
}

.order-prd-table .th .prd-name {
    white-space: nowrap;
    font-weight: 500;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    max-width: 100%
}

.order-prd-table .th .btn {
    position: absolute;
    top: 8px;
    right: 3px
}

@media only screen and (max-width: 767px) {
    .order-prd-table .th {
        padding: 1.5px 0
    }

    .order-prd-table .th .btn {
        top: 0
    }
}

.order-prd-table .td {
    display: grid;
    grid-template-columns: 90px repeat(4, 1fr);
    text-align: center
}

@media only screen and (max-width: 767px) {
    .order-prd-table .td {
        grid-template-columns: auto 1fr;
        padding: 0;
        text-align: left
    }

    .order-prd-table .td p:nth-child(2n-1) {
        font-weight: 500
    }

    .order-prd-table .td p:nth-child(2n) {
        text-align: right
    }

    .order-prd-table .td p:nth-child(n+3) {
        padding-top: 2px
    }
}

.order-prd-table .detail {
    display: grid;
    grid-template-columns: 1fr 560px;
    margin-right: calc(var(--box-pr)*-1);
    padding-right: var(--box-pr);
    background-color: #f8f8f8;
    padding-top: 10px;
    padding-bottom: 10px
}

.order-prd-table .detail .th,
.order-prd-table .detail .td {
    padding-top: 2px;
    padding-bottom: 2px
}

.order-prd-table .detail .th .body1,
.order-prd-table .detail .th .prd-name,
.order-prd-table .detail .td .body1,
.order-prd-table .detail .td .prd-name {
    color: #777
}

.order-prd-table .detail .th {
    padding-left: 24px;
    background-position: 8px center;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMiAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSA1LjVMMTAgOEw3LjUgMTAuNSIgc3Ryb2tlPSIjOTk5OTk5IiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yIDIuNVY2QzIgNi41MzA0MyAyLjIxMDcxIDcuMDM5MTQgMi41ODU3OSA3LjQxNDIxQzIuOTYwODYgNy43ODkyOSAzLjQ2OTU3IDggNCA4SDEwIiBzdHJva2U9IiM5OTk5OTkiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)
}

.order-prd-table .detail .th .prd-name {
    font-weight: 400
}

.order-prd-table .detail .td .body1:nth-child(2n-1) {
    font-weight: 400
}

.order-prd-table .detail .td .body1:nth-child(2n) {
    font-weight: 500
}

@media only screen and (min-width: 768px) {
    .order-prd-table .detail {
        grid-column: span 2
    }
}

@media only screen and (max-width: 767px) {
    .order-prd-table .detail {
        margin-top: 8px;
        grid-template-columns: 1fr;
        padding: 12px var(--box-pr) 12px 16px
    }

    .order-prd-table .detail .th {
        padding-left: 16px;
        background-position: 0 center
    }

    .order-prd-table .detail .th:not(:first-child) {
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid #ddd
    }

    .order-prd-table .detail .td {
        margin-top: 4px;
        padding-left: 16px
    }

    .order-prd-table .detail .td .body1:nth-child(n+3) {
        margin-top: 2px
    }
}

.price-info {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 0 8px;
    gap: 8px
}

.price-info p {
    min-width: 0
}

.price-info p:not(.price) {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 500;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.price-info p:not(.price) .btn {
    margin-left: 8px
}

.price-info .price {
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600
}

.price-info .price span {
    margin-right: 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1
}

.price-info .feedback {
    grid-column: span 2;
    --typo-custom-c: #E6002D;
    margin-top: 0
}

.price-info-total {
    margin-top: 16px;
    padding: var(--price-total-pd, 8px);
    background-color: #fff
}

.price-info-total .flex {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .price-info-total .flex {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .price-info-total .flex .btn {
        margin: 0
    }
}

.price-info-total .flex .check-wrap {
    --item-height: 24px
}

.price-info-total .title {
    margin-right: 16px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #000
}

@media only screen and (max-width: 767px) {
    .price-info-total .title {
        white-space: nowrap
    }
}

.price-info-total .amount {
    margin-right: 16px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #777;
    --typo-custom-w: 500
}

@media only screen and (max-width: 767px) {
    .price-info-total .amount {
        margin: 0 4px 0 0
    }
}

.price-info-total .amount em {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #E6002D
}

.price-info-total .btn {
    margin-right: 16px
}

@media only screen and (max-width: 767px) {
    .price-info-total .btn {
        margin-right: 8px;
        margin-top: 4px
    }
}

@media only screen and (max-width: 767px) {
    .price-info-total .check-wrap {
        margin-top: 4px;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

.price-info-total .price {
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-w: 400;
    --typo-custom-lh: 1;
    color: #000 !important
}

.price-info-total .price span {
    margin-right: 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1;
    font-weight: 500
}

.price-info-total .price.c-red span {
    color: #e6002d;
    margin-right: 0;
    font-size: 18px;
    letter-spacing: -0.02em;
    font-weight: 800
}

.price-info-total .btn-wrap {
    min-width: 0;
    margin-top: 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.price-info-total .btn-wrap .btn {
    margin-right: 0;
    width: 100%
}

.price-info-total .btn-wrap .btn:not(:first-child) {
    margin-top: var(--item-gap)
}

@media only screen and (max-width: 767px) {
    .price-info-total .btn-wrap .btn {
        margin-top: 0
    }
}

.price-info-total .btn-wrap .btn>span {
    display: inline-grid;
    grid-template-columns: 1fr auto
}

.price-info-total .btn-wrap .btn>span em {
    min-width: 0;
    margin-right: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.price-info-total>.feedback {
    margin-top: 8px;
    --typo-custom-w: 500;
    --body2: 14px
}

.btn-view-order-all {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 24px;
    z-index: 3;
    background-color: #fff
}

.btn-view-order-all:before {
    display: inline-block;
    content: "";
    width: 34px;
    height: 4px;
    background-color: #ddd;
    border-radius: 2px
}

.order-modal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    --brand-container-gap: 16px
}

.order-modal .head-wrap {
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    --head-mb: 16px
}

.order-modal .head-wrap .h2 {
    --typo-custom-w: 400
}

.order-modal .head-wrap .h2 b,
.order-modal .head-wrap .h2 em {
    font-weight: 600
}

.order-modal .head-wrap .h2 em {
    color: #e6002d
}

@media only screen and (max-width: 767px) {
    .order-modal .head-wrap .h2 {
        --h2: 20px
    }
}

.order-modal .head-wrap .body1 {
    margin-top: 5px;
    --body1: var(--body2);
    --typo-custom-lh: 16px;
    --typo-custom-c: #777
}

.order-modal .head-wrap .search {
    --input-width: 230px
}

@media only screen and (max-width: 767px) {
    .order-modal .head-wrap .search {
        --input-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .order-modal .head-wrap {
        grid-template-columns: 1fr;
        gap: 28px
    }
}

.order-modal .brand-container {
    background-color: #f3f3f3;
    border-color: #ededed
}

.order-modal .brand-name {
    border-bottom: 1px solid #ddd;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 16px;
    margin-right: 16px
}

.order-modal .brand-name .h3 {
    --typo-custom-c: #000;
    --typo-custom-w: 400
}

.order-modal .brand-name .h3 b {
    font-weight: 600;
    margin-right: 4px
}

.order-modal .brand-name em.h3 {
    --typo-custom-w: 600
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name em.h3 {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        --h3: var(--h2);
        line-height: 23px
    }
}

.order-modal .brand-name .ml-auto {
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 12px
}

.order-modal .brand-name .btn.text {
    padding-left: 0;
    padding-right: 0;
    --button-c: #999
}

.order-modal .brand-name .btn.text:hover,
.order-modal .brand-name .btn.text.active {
    --button-c: #222
}

.order-modal .brand-name .balance {
    margin-left: 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name .balance {
        padding-top: 2px;
        margin-left: auto;
        display: inline-grid;
        grid-template-columns: repeat(2, auto)
    }

    .order-modal .brand-name .balance .divider-vertical-line {
        display: none
    }
}

.order-modal .brand-name .balance em {
    padding-left: 8px;
    font-weight: 600
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name .balance em {
        text-align: right;
        margin-top: 2px
    }
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name .balance span {
        margin-top: 2px
    }
}

.order-modal .brand-name .divider-vertical-line {
    margin: 0 var(--divider-gap, 16px)
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name .divider-vertical-line {
        --divider-gap: 12px
    }
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-name {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .order-modal .brand-name .h3 {
        --h3: var(--body1);
        --typo-custom-w: 500;
        line-height: 21px
    }

    .order-modal .brand-name .h3 b {
        font-size: var(--h2);
        margin-right: 2px
    }

    .order-modal .brand-name .ml-auto {
        margin-top: 12px;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .order-modal .brand-name .btn.text {
        --button-height: 13px
    }
}

.order-modal .no-contents {
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 12px;
    --no-contents-py: 60px;
    --nocontent-button-pt: 16px
}

.order-modal .no-contents p {
    --typo-custom-c: #000
}

@media only screen and (max-width: 767px) {
    .order-modal .no-contents {
        --no-contents-py: 0;
        min-height: 198px;
        margin: 12px 16px 16px;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.order-modal .brand-wrap>.select-discount-option {
    margin: 16px 0 0
}

@media only screen and (max-width: 767px) {
    .order-modal .brand-wrap>.select-discount-option {
        margin: 16px
    }
}

.order-modal .select-discount-option {
    margin: 8px 16px 0;
    display: grid;
    grid-template-columns: minmax(var(--discount-title-w, 120px), auto) 1fr;
    gap: 16px;
    --item-height: 21px
}

@media only screen and (max-width: 767px) {
    .order-modal .select-discount-option {
        grid-template-columns: 1fr;
        gap: 8px 0
    }
}

.order-modal .select-discount-option hr {
    width: 100%;
    border-top: 1px dotted #ddd;
    margin: 0
}

@media only screen and (min-width: 768px) {
    .order-modal .select-discount-option hr {
        grid-column: span 2
    }
}

.order-modal .select-discount-option em.body1 {
    --typo-custom-w: 600;
    white-space: nowrap
}

@media only screen and (max-width: 343px) {
    .order-modal .select-discount-option em.body1 {
        white-space: unset
    }
}

.order-modal .select-discount-option .radio-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.order-modal .select-discount-option .radio-wrap label {
    margin-left: 0;
    font-weight: 500;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.order-modal .select-discount-option .radio-wrap label:not(:first-child) {
    margin-top: 8px
}

.order-modal .dot-list {
    margin-top: 8px;
    --dot-list-fw: 400
}

.order-modal .type-divider {
    margin-top: 12px
}

@media only screen and (max-width: 767px) {
    .order-modal .type-divider {
        margin-top: 16px
    }
}

.order-modal .table-wrap {
    margin-top: 8px
}

@media only screen and (max-width: 767px) {
    .order-modal .table-wrap {
        min-height: 330px;
        -webkit-box-align: start;
        -webkit-align-items: start;
        -ms-flex-align: start;
        align-items: start
    }

    .order-modal .table-wrap tr:nth-child(n+1):nth-child(-n+2) td .quantity-wrap {
        position: relative
    }

    .order-modal .table-wrap tr:nth-child(n+1):nth-child(-n+2) td .quantity-wrap>[data-tippy-root] {
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content;
        bottom: calc(-100% - 18px) !important
    }
}

@media only screen and (max-width: 767px) {

    .order-modal .table-wrap th:nth-child(1),
    .order-modal .table-wrap td:nth-child(1) {
        width: 51.66vw;
        min-width: 51.66vw
    }
}

@media only screen and (min-width: 768px) {

    .order-modal .table-wrap th:nth-child(2),
    .order-modal .table-wrap td:nth-child(2) {
        width: 134px
    }

    .order-modal .table-wrap th:nth-child(3),
    .order-modal .table-wrap td:nth-child(3) {
        width: 134px
    }
}

.order-modal .table-wrap th:nth-child(4),
.order-modal .table-wrap td:nth-child(4) {
    width: 134px;
    min-width: 134px
}

.order-modal .table-wrap th {
    height: 34px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 500;
    --typo-custom-c: #000;
    white-space: nowrap
}

.order-modal .table-wrap th .flex {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.order-modal .table-wrap th .flex .tooltip {
    margin-left: 4px
}

.order-modal .table-wrap td {
    padding: 8px
}

.order-modal .table-wrap td:first-child {
    text-align: left
}

.order-modal .table-wrap .input-radio input:disabled~.seller em,
.order-modal .table-wrap .input-radio input:disabled~.seller span,
.order-modal .table-wrap .input-radio input.disabled~.seller em,
.order-modal .table-wrap .input-radio input.disabled~.seller span {
    --typo-custom-c: #999
}

.order-modal .table-wrap .input-radio .seller {
    padding-right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.order-modal .table-wrap .input-radio .seller em {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 21px;
    --typo-custom-w: 600;
    --typo-custom-c: #333
}

.order-modal .table-wrap .input-radio .seller span {
    margin-top: 2px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-w: 500;
    white-space: nowrap
}

.order-modal .point-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .order-modal .point-wrap {
        grid-template-columns: 1fr;
        padding: 16px 16px
    }
}

.order-modal .point-wrap em {
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #000
}

.order-modal .point-wrap em span {
    padding-left: 8px;
    color: #999
}

@media only screen and (max-width: 767px) {
    .order-modal .point-wrap .input-price {
        margin-top: 8px
    }
}

.order-modal .price-info+.price-info {
    border-top: 1px solid #ddd;
    padding-top: 8px;
    margin-top: 8px
}

@media only screen and (max-width: 767px) {
    .order-modal .price-info {
        grid-template-columns: repeat(2, 1fr);
        margin: 12px 16px 16px
    }

    .order-modal .price-info+.price-info {
        margin-top: -8px;
        margin-left: 16px;
        margin-right: 16px
    }
}

@media only screen and (max-width: 767px) {

    .order-modal.no-data,
    .order-modal.no-data .brand-container,
    .order-modal.no-data .brand-wrap {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.order-complete-head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 12px;
    padding-bottom: 24px
}

@media only screen and (max-width: 767px) {
    .order-complete-head {
        padding-top: 0;
        padding-bottom: 28px
    }
}

.order-complete-head img {
    display: inline-block;
    width: 56px;
    height: 56px;
    margin-bottom: 24px
}

.order-complete-head h4.h3,
.order-complete-head .h3-mo {
    --h3: 16px
}

.order-complete-head .h3-mo,
.order-complete-head h4.h3 {
    --typo-custom-c: #000
}

.order-complete-head .body1 {
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.order-complete-head .body1 b {
    font-size: 16px;
    color: #5f0080;
    font-weight: 600;
    padding-left: 8px
}

.order-complete-head p.h3 {
    padding-top: 8px;
    --typo-custom-lh: 23px
}

.order-complete-head p.h3 b {
    font-weight: 600
}

.order-complete-head p.h3.c-primary {
    padding-top: 24px
}

.order-complete-head .h3-mo {
    padding-top: 8px;
    --typo-custom-w: 600;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222)
}

.toggle-title {
    padding: 16px;
    border-radius: 12px 12px 0 0;
    border: 1px solid #ddd;
    border-bottom: none;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.toggle-title h2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000)
}

.toggle-title h2 .btn {
    margin-left: 8px
}

.toggle-title~.toggle-title {
    margin-top: var(--toggle-title-gap, 24px)
}

.toggle-title .btn.icon-chevron-down:before {
    -webkit-transform: var(--toggle-title-arrow, rotate(0));
    transform: var(--toggle-title-arrow, rotate(0))
}

.toggle-title.active {
    --toggle-title-arrow: rotate(180deg)
}

.toggle-title.active .toggle-hide-show,
.toggle-title.active+.toggle-content .toggle-hide-show {
    display: none
}

.toggle-title:not(.active)+.toggle-content .payment:not(.active),
.toggle-title:not(.active)+.toggle-content .payment-head:not(.toggle-hide-show),
.toggle-title:not(.active)+.toggle-content .toggle-show-show {
    display: none
}

.toggle-content {
    padding: 16px 16px 24px 16px;
    border-radius: 0 0 12px 12px;
    border: 1px solid #ddd;
    border-top: 1px solid #ededed;
    background-color: #fff
}

.toggle-order-list+.toggle-content {
    background-color: #faf8f8;
    padding-bottom: 16px;
    padding-top: 0
}

.toggle-content .bg-white {
    padding-top: 16px;
    padding-bottom: 16px;
    background: #fff;
    margin: 0 -16px;
    border-bottom: 1px solid #ddd
}

.toggle-content .toggle-hide-show .prd-item-list {
    margin-left: 16px;
    margin-right: 16px
}

.toggle-content .toggle-hide-show .prd-item-list .item-element {
    padding-top: 23px;
    padding-bottom: 23px;
    --prd-thumb-size: 60px
}

.toggle-content .toggle-hide-show .prd-item-list .item-element .item-detail {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.toggle-content .toggle-hide-show .prd-item-list .item-element .desc {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
    margin-top: 4px;
    --body2: var(--body1);
    line-height: 1.5;
    --item-title-mb: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    white-space: nowrap
}

.toggle-content .toggle-hide-show .prd-item-list .item-element .title-main {
    margin-top: 0;
    font-size: 16px;
    font-weight: 600
}

.toggle-content .brand-container {
    border: none;
    border-radius: 0
}

.toggle-content .brand-name {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .toggle-content .brand-name {
        padding-top: 8px
    }
}

.toggle-content .brand-name .h3 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --h3: 16px
}

.toggle-content .brand-wrap {
    padding-bottom: 0
}

@media only screen and (max-width: 767px) {
    .toggle-content .brand-wrap {
        margin-left: 16px;
        margin-right: 16px
    }
}

.toggle-order-list+.toggle-content .price-info {
    padding-top: 16px
}

.toggle-mileage+.toggle-content .price-info {
    row-gap: 12px
}

@media only screen and (min-width: 768px) {
    .toggle-mileage+.toggle-content .price-info p {
        line-height: 31px
    }
}

.toggle-mileage+.toggle-content .price-info p>em {
    margin-right: 8px
}

.toggle-mileage+.toggle-content .price-info p>span {
    color: #999;
    margin-right: 8px
}

.toggle-mileage+.toggle-content .price-info p .btn {
    margin-left: 0
}

.toggle-mileage+.toggle-content .price-info p.price {
    --typo-custom-c: #999;
    --typo-custom-w: 400
}

@media only screen and (max-width: 767px) {
    .toggle-mileage+.toggle-content .price-info p.price {
        width: 100%
    }
}

.toggle-mileage+.toggle-content .price-info p.price>span {
    margin-right: 0
}

.toggle-mileage+.toggle-content .price-info .feedback {
    margin-top: -12px
}

@media only screen and (max-width: 767px) {
    .toggle-mileage+.toggle-content .price-info {
        grid-template-columns: 1fr
    }

    .toggle-mileage+.toggle-content .price-info p:not(.price) {
        margin-bottom: -8px;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .toggle-mileage+.toggle-content .price-info .feedback {
        margin-top: -8px;
        grid-column: unset
    }
}

.order-complete-head~.toggle-content .price-info:after {
    content: "";
    display: inline-block;
    border-bottom: 1px dotted #ddd;
    grid-column: span 2;
    margin: 2px -8px 0
}

.order-complete-head~.toggle-content .price-info~.price-info-total {
    margin-bottom: -16px;
    padding-bottom: 4px
}

.toggle-content .price-info-total {
    --price-total-pd: 12px 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 47px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.toggle-content .price-info-total .title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .toggle-content .price-info-total .title {
        grid-column: unset
    }
}

.order-complete-head~.toggle-content .price-info-total p .btn {
    margin: -1px 0 -1px 16px
}

@media only screen and (max-width: 767px) {
    .order-complete-head~.toggle-content .price-info-total p .btn {
        margin-left: 8px
    }
}

.order-complete-head~.toggle-content .price-info-total .flex:not(:first-child) {
    margin-top: 16px
}

.input-price {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.input-price.input-hidden {
    opacity: 0;
    pointer-events: none
}

@media only screen and (max-width: 767px) {
    .input-price.input-hidden {
        display: none
    }
}

.input-price>.btn {
    margin-left: 8px
}

.input-price .input-cover {
    margin-left: auto;
    width: 225px;
    position: relative
}

@media only screen and (max-width: 767px) {
    .input-price .input-cover {
        width: auto;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.input-price .input-cover input {
    text-align: right;
    font-weight: 600;
    padding-right: 65px
}

.input-price .input-cover input:-moz-placeholder-shown {
    padding-right: 37px
}

.input-price .input-cover input:-ms-input-placeholder {
    padding-right: 37px
}

.input-price .input-cover input:placeholder-shown {
    padding-right: 37px
}

.input-price .input-cover input:-moz-placeholder-shown~.input-unit {
    right: 20px
}

.input-price .input-cover input:-ms-input-placeholder~.input-unit {
    right: 20px
}

.input-price .input-cover input:placeholder-shown~.input-unit {
    right: 20px
}

.input-price .input-cover input:-moz-placeholder-shown~.btn {
    display: none
}

.input-price .input-cover input:-ms-input-placeholder~.btn {
    display: none
}

.input-price .input-cover input:placeholder-shown~.btn {
    display: none
}

.input-price .input-cover input:not(:-moz-placeholder-shown)~.input-placeholder {
    display: none
}

.input-price .input-cover input:not(:-ms-input-placeholder)~.input-placeholder {
    display: none
}

.input-price .input-cover input:not(:placeholder-shown)~.input-placeholder {
    display: none
}

.input-price .input-cover .input-placeholder {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #999;
    text-align: left;
    position: absolute;
    left: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
    right: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.input-price .input-cover .input-unit {
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 48px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 34px
}

.input-price .input-cover .btn {
    width: 48px;
    height: 100%;
    padding-left: 12px;
    padding-right: 20px;
    --button-bgc-hover: transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0
}

.event-closed {
    margin-top: 16px;
    border-radius: 12px;
    background-color: #f9f4ff;
    padding: 16px 24px;
    text-align: center;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --typo-custom-c: #5F0080
}

.payment-wrap {
    --payment-wrap-gap: 16px
}

@media only screen and (max-width: 767px) {
    .payment-wrap {
        --payment-wrap-gap: 8px
    }
}

.payment-wrap .payment.active .payment-form-wrap {
    display: block
}

.payment-wrap .payment~.payment {
    margin-top: var(--payment-wrap-gap)
}

.toggle-title:not(.active)+.toggle-content .payment-wrap .payment~.payment {
    margin-top: 0
}

.payment-wrap .payment-head {
    padding: var(--item-gap) 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.payment-wrap .payment-head>:not(:last-child) {
    margin-right: var(--item-gap)
}

.payment-wrap .payment-head .h3 {
    font-size: 16px;
    --typo-custom-c: #333
}

.payment-wrap .input-radio {
    --item-height: 21px;
    font-weight: 700
}

.payment-form-wrap {
    display: none
}

.payment-form-wrap .select-wrap {
    margin-top: var(--payment-wrap-gap)
}

.payment-form-wrap .select-wrap~.dot-list {
    margin-top: 8px
}

.payment-form-wrap .feedback {
    margin-top: var(--item-gap)
}

.payment-form-wrap .gray-box {
    margin-top: var(--payment-wrap-gap);
    padding: 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #000;
    --typo-custom-w: 500;
    text-align: center
}

.payment-form-wrap .gray-box:not(:only-child) {
    margin-top: var(--payment-wrap-gap)
}

.payment-form-wrap .swiper-payment {
    margin-top: calc(var(--payment-wrap-gap) - 8px)
}

.payment-form-wrap .dot-list {
    margin-top: var(--payment-wrap-gap)
}

.payment-form-wrap .dot-list li {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    padding-left: 7px
}

.payment-form-wrap .dot-list li:before {
    --dot-list: 16px;
    margin-right: 0;
    margin-left: 0
}

.credit-list {
    margin-top: var(--payment-wrap-gap);
    display: grid;
    grid-gap: 12px;
    grid-template-columns: repeat(3, 1fr)
}

@media only screen and (min-width: 768px) {
    .credit-list {
        grid-template-columns: repeat(6, 1fr)
    }
}

@media only screen and (max-width: 343px) {
    .credit-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

.credit-list>div {
    position: relative
}

.credit-list>div .tag-payment {
    line-height: 20px;
    border-radius: 10px;
    pointer-events: none;
    position: absolute;
    top: -8px;
    left: 0
}

.credit-item {
    width: 100%;
    padding: 0 8px;
    height: var(--credit-item-h, 56px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #999;
    --typo-custom-w: 600;
    border-radius: 12px;
    background-color: var(--credit-item-bgc, #F8F8F8);
    border: 1px solid var(--credit-item-bdc, #EDEDED)
}

.credit-item:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: var(--credit-item-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: var(--item-gap);
    opacity: .5
}

@media only screen and (max-width: 767px) {
    .credit-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        --credit-item-h: 80px
    }

    .credit-item::before {
        margin-right: 0;
        margin-bottom: var(--item-gap)
    }
}

.credit-item[aria-selected=true] {
    --typo-custom-c: #000;
    --credit-item-bdc: #777;
    --credit-item-bgc: #fff
}

.credit-item[aria-selected=true]::before {
    opacity: 1
}

.credit-item[data-credit=shinhan] {
    --credit-item-url: url("../image/order/credit-shinhan.svg")
}

.credit-item[data-credit=kb] {
    --credit-item-url: url("../image/order/credit-kb.svg")
}

.credit-item[data-credit=samsung] {
    --credit-item-url: url("../image/order/credit-samsung.svg")
}

.credit-item[data-credit=hyundai] {
    --credit-item-url: url("../image/order/credit-hyundai.svg")
}

.credit-item[data-credit=lotte] {
    --credit-item-url: url("../image/order/credit-lotte.svg")
}

.credit-item[data-credit=hana] {
    --credit-item-url: url("../image/order/credit-hana.svg")
}

.credit-item[data-credit=woori],
.credit-item[data-credit=wooribc] {
    --credit-item-url: url("../image/order/credit-woori.svg")
}

.credit-item[data-credit=bc] {
    --credit-item-url: url("../image/order/credit-bc.svg")
}

.credit-item[data-credit=nh] {
    --credit-item-url: url("../image/order/credit-nh.svg")
}

.credit-item[data-credit=citi] {
    --credit-item-url: url("../image/order/credit-citi.svg")
}

.credit-item[data-credit=kakao] {
    --credit-item-url: url("../image/order/credit-kakao.svg")
}

.credit-item[data-credit=suhyup] {
    --credit-item-url: url("../image/order/credit-suhyup.svg")
}

.credit-item[data-credit=kjbank] {
    --credit-item-url: url("../image/order/credit-kjbank.svg")
}

.credit-item[data-credit=naver] {
    --credit-item-url: url("../image/order/credit-naver.svg")
}

.credit-item[data-credit=payco] {
    --credit-item-url: url("../image/order/credit-payco.svg")
}

.credit-item[data-credit=ssg] {
    --credit-item-url: url("../image/order/credit-ssgpay.svg")
}

.credit-item[data-credit=lpay] {
    --credit-item-url: url("../image/order/credit-lpay.svg")
}

.delivery-info {
    padding: 16px;
    border-radius: 12px;
    border: 1px solid #ddd
}

.delivery-info .detail-area {
    display: grid;
    grid-template-columns: minmax(100px, auto) 1fr;
    gap: 8px 20px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.delivery-info .detail-area em {
    font-weight: 600
}

@media only screen and (max-width: 767px) {
    .delivery-info .detail-area {
        grid-template-columns: 1fr;
        row-gap: 12px
    }

    .delivery-info .detail-area em {
        margin-bottom: -8px
    }
}

.delivery-info .detail-area .form-address {
    display: grid;
    grid-template-columns: var(--form-address-columns, repeat(2, 1fr));
    gap: 8px;
    --form-line-mb: 0
}

@media only screen and (max-width: 767px) {
    .delivery-info .detail-area .form-address {
        --form-address-columns: 1fr
    }
}

@media only screen and (min-width: 768px) {
    .delivery-info .detail-area .form-address .flex {
        grid-column: span 2;
        width: calc(50% - 4px)
    }
}

.delivery-info .detail-area .form-address .btn {
    --item-height: 35px;
    margin-left: 0 !important
}

.delivery-info .message-area {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #ccc
}

.delivery-info .message-area .message-box .memo {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.delivery-info .message-area .message-box .memo .btn {
    margin-left: 8px
}

@media only screen and (max-width: 767px) {
    .delivery-info .message-area .message-box .memo {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .delivery-info .message-area .message-box .memo:after {
        content: "";
        display: inline-block;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .delivery-info .message-area .message-box .memo .btn {
        margin-top: 8px;
        margin-left: 0;
        -webkit-box-ordinal-group: 10;
        -webkit-order: 9;
        -ms-flex-order: 9;
        order: 9
    }
}

.delivery-info .message-area .message-box .message-form-wrap .body1 {
    margin-bottom: 4px;
    --typo-custom-w: 600;
    --typo-custom-c: #000
}

.delivery-others .delivery-info {
    border-radius: 0;
    background-color: #f8f8f8;
    border: none
}

.delivery-others .delivery-info .btn {
    --item-height: 21px
}

.delivery-others .delivery-info .flex {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.delivery-others .delivery-info .flex p {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-w: 500
}

.delivery-others .delivery-info .flex label {
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .delivery-others .delivery-info .flex {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .delivery-others .delivery-info .flex p {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        padding-bottom: 8px
    }
}

.delivery-others .delivery-info .detail-area {
    border-top: 1px dotted #ccc;
    padding-top: 16px;
    margin-top: 16px;
    row-gap: 16px
}

.delivery-others .delivery-info .detail-area .btn {
    min-width: 65px;
    margin-left: 8px
}

.delivery-others .delivery-info:not(.active) .detail-area {
    display: none
}

.delivery-info-wrap+.delivery-info-wrap {
    margin-top: 16px
}

.order-complete-footer {
    --complete-footer-gap: 16px
}

@media only screen and (max-width: 767px) {
    .order-complete-footer {
        --complete-footer-gap: 28px
    }
}

.order-complete-footer .body1 {
    margin-top: var(--complete-footer-gap);
    text-align: center;
    --typo-custom-w: 500;
    --typo-custom-c: #7346F3;
    word-break: keep-all
}

.order-complete-footer .flex {
    margin-top: var(--complete-footer-gap);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width: 768px) {
    .order-complete-footer .flex .btn {
        min-width: 120px
    }
}

@media only screen and (max-width: 767px) {
    .order-complete-footer .flex .btn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.order-complete-footer .flex .btn:not(:first-child) {
    margin-left: 8px
}

.info-limit .no-contents {
    --no-contents-py: 0;
    min-height: 0;
    margin-bottom: 16px
}

.info-limit table th,
.info-limit table td {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.info-limit table th:nth-child(n+2),
.info-limit table td:nth-child(n+2) {
    width: 150px
}

.info-limit table .prd-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2;
    font-weight: 500;
    text-align: left
}

.info-limit table .body1 {
    white-space: nowrap
}

.info-limit table .body1+.body1 {
    margin-top: 4px
}

@media only screen and (max-width: 767px) {

    .info-limit table th:first-child,
    .info-limit table td:first-child {
        min-width: 60vw;
        width: 60vw
    }
}

.pay-detail-options {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "select desc";
    gap: 8px;
    margin-top: var(--payment-wrap-gap)
}

@media only screen and (max-width: 767px) {
    .pay-detail-options {
        grid-template-columns: 1fr;
        grid-template-areas: "select" "desc"
    }
}

.pay-detail-options .select-wrap,
.pay-detail-options .feedback,
.pay-detail-options .dot-list {
    margin-top: 0
}

.pay-detail-options .select-wrap {
    grid-area: select
}

@media only screen and (min-width: 768px) {
    .pay-detail-options .select-wrap {
        width: 160px
    }
}

.pay-detail-options .desc {
    grid-area: desc;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pay-detail-options .feedback {
    -webkit-flex-basis: unset;
    -ms-flex-preferred-size: unset;
    flex-basis: unset
}

.pay-detail-options .dot-list:not(:first-child) {
    margin-top: 4px
}

.price-info-total.bg-gray {
    background: #f8f8f8;
    margin-top: 8px;
    margin-bottom: 8px
}

.order-agree-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 24px
}

@media only screen and (max-width: 767px) {
    .order-agree-area {
        padding-bottom: 28px
    }
}

.order-agree-area .flex .btn {
    margin-left: 4px
}

.hidden-menu-table:not(.active) .only-pc .hidden-menu {
    visibility: hidden;
    opacity: 0
}

@media only screen and (max-width: 767px) {
    .hidden-menu-table .td .hidden-menu {
        display: none
    }
}

.detail-head {
    padding: 0 0 8px;
    border-bottom: 1px solid #777;
    --head-mb: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .detail-head {
        --head-mb: 20px;
        position: relative
    }
}

.detail-head .tag {
    margin-right: 8px
}

.detail-head>div {
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .detail-head>div:last-child:not(:first-child) {
        position: absolute;
        right: 0;
        bottom: 8px
    }
}

.detail-head .h1 {
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --typo-custom-c: #333
}

.detail-head .body1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --typo-custom-c: #777
}

@media only screen and (max-width: 767px) {
    .detail-head .body1 {
        min-height: 34px;
        --body1: var(--body2);
        letter-spacing: -0.02em;
        padding-right: 110px
    }
}

@media only screen and (max-width: 767px) {
    .detail-head .btn.md {
        margin-top: 0;
        --button-px: 10px;
        --button-fz: var(--body2);
        --button-height: 35px;
        --button-icon-gap: 4px;
        --button-icon-size: 12px;
        --button-fw: 500
    }
}

.detail-head .divider-vertical-line {
    margin: 0 4px
}

.detail-content {
    padding: 0 24px 16px
}

@media only screen and (max-width: 767px) {
    .detail-content {
        padding: 0 8px 20px
    }
}

.detail-content img {
    max-width: 100% !important
}

.detail-content iframe {
    width: 100%;
    height: 675px
}

@media only screen and (max-width: 767px) {
    .detail-content iframe {
        height: calc((100vw - 16px - var(--side-padding)*2)*315/560);
        height: calc((100vw - 16px - constant(safe-area-inset-left) - constant(safe-area-inset-right) - var(--side-padding)*2)*315/560);
        height: calc((100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right) - var(--side-padding)*2)*315/560)
    }
}

.snb-grid .detail-content iframe {
    height: 565.876px
}

@media only screen and (max-width: 767px) {
    .snb-grid .detail-content iframe {
        height: calc((100vw - 32px - var(--side-padding)*2)*315/560);
        height: calc((100vw - 32px - constant(safe-area-inset-left) - constant(safe-area-inset-right) - var(--side-padding)*2)*315/560);
        height: calc((100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right) - var(--side-padding)*2)*315/560)
    }
}

.detail-attachment {
    margin-top: -4px;
    padding: 0 24px 16px
}

@media only screen and (max-width: 767px) {
    .detail-attachment {
        margin-top: -8px;
        padding: 0 0 20px
    }
}

.detail-attachment .body1 {
    --typo-custom-c: #000;
    --typo-custom-w: 600
}

.detail-attachment .a-file-download {
    margin-top: 8px
}

.detail-caution {
    border-top: 1px solid #777;
    border-bottom: 1px solid #ddd;
    padding-bottom: 12px;
    margin-top: 60px;
}

.detail-caution .caution {
    margin: 12px 0;
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600;
    --typo-custom-lh: 24px;
    padding-bottom: 12px
}

.detail-caution .dot-list {
    padding-left: 25.5px;
    padding-right: 25.5px;
    --dot-list-fw: 400;
    color: #333
}

.detail-btns {
    border-top: 1px solid #ddd;
    padding-top: 16px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.detail-caution~.detail-btns {
    border-top: none
}

@media only screen and (max-width: 767px) {
    .detail-btns {
        padding-top: 28px
    }
}

.detail-btns .btn {
    min-width: 114px
}

@media only screen and (max-width: 767px) {
    .detail-btns .btn {
        width: 100%
    }
}

.detail-btns .btn.filled {
    margin: 0 auto
}

@media only screen and (min-width: 768px) {
    .detail-btns .btn:not(.filled) {
        --button-fz: 14px;
        --item-height: 41px;
        --button-fw: 600
    }
}

.detail-pagination {
    padding-top: 16px
}

@media only screen and (max-width: 767px) {
    .detail-pagination {
        padding-top: 28px
    }
}

.detail-pagination a {
    width: 100%;
    display: grid;
    grid-template-columns: 105px 1fr 155px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .detail-pagination a {
        grid-template-columns: auto 1fr;
        padding: 12px 0
    }
}

.detail-pagination a span {
    padding: 13px 0
}

.detail-pagination a span:first-child,
.detail-pagination a span:last-child {
    text-align: center
}

@media only screen and (max-width: 767px) {
    .detail-pagination a span {
        padding: 0
    }
}

.detail-pagination a .body2 {
    --typo-custom-c: #333;
    --typo-custom-w: 600;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.detail-pagination a .body2:before {
    display: inline-block;
    content: "";
    width: 16px;
    height: 16px;
    background-image: url("../image/icon/chevron-down.svg");
    background-position: center;
    margin-right: 8px
}

@media only screen and (max-width: 767px) {
    .detail-pagination a .body2:before {
        margin-right: 4px
    }
}

@media only screen and (max-width: 767px) {
    .detail-pagination a .body2 {
        grid-row: span 2;
        margin-right: 16px
    }
}

.detail-pagination a .body1:not(:last-child) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.detail-pagination a span:last-child {
    --typo-custom-c: #777
}

@media only screen and (max-width: 767px) {
    .detail-pagination a span:last-child {
        text-align: left;
        margin-top: 2px;
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #777)
    }
}

.detail-pagination a~a {
    border-top: 1px solid #ededed
}

.detail-pagination a.prev .body2:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.detail-reply .table-wrap {
    margin-top: 0;
    border-top: 1px solid #999
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap {
        margin-left: 0;
        margin-right: 0
    }

    .detail-reply .table-wrap:after {
        content: unset
    }

    .detail-reply .table-wrap .table {
        margin-left: 0;
        margin-right: 0
    }

    .detail-reply .table-wrap .id,
    .detail-reply .table-wrap .c-b777 {
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: 24px
    }
}

.detail-reply .table-wrap col:first-child {
    width: 105px
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap col:first-child {
        width: auto
    }
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap td {
        padding-top: 12px;
        padding-bottom: 12px
    }
}

.detail-reply .table-wrap .flex {
    display: grid;
    grid-template-columns: 1fr 155px 155px 84px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap .flex {
        grid-template-columns: auto 1fr auto
    }
}

.detail-reply .table-wrap .flex .reply-con {
    text-align: left;
    padding-right: 24px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap .flex .reply-con {
        -webkit-line-clamp: 3;
        margin-bottom: 4px;
        padding-right: 0;
        grid-column: span 3
    }
}

.detail-reply .table-wrap .flex .view-manager,
.detail-reply .table-wrap .flex .view-secret {
    text-indent: 20px;
    background-position: left 2.5px;
    background-repeat: no-repeat
}

.detail-reply .table-wrap .flex .view-manager {
    background-image: url("../image/event/icon-caution.svg")
}

.detail-reply .table-wrap .flex .view-secret {
    background-image: url("../image/event/icon-lock.svg")
}

.detail-reply .table-wrap .flex .id {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.detail-reply .table-wrap .flex .c-b777 {
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap .flex .c-b777 {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .detail-reply .table-wrap .flex .c-b777:before {
        display: inline-block;
        content: "";
        width: 1px;
        height: 10px;
        background-color: #ddd;
        margin: 0 4px
    }
}

.detail-reply .table-wrap .flex .btn {
    justify-self: center
}

@media only screen and (max-width: 767px) {
    .detail-reply .table-wrap .flex .btn {
        margin-left: 4px
    }
}

.replay-area {
    display: grid;
    grid-template-columns: 1fr minmax(67px, -webkit-max-content) auto auto;
    grid-template-columns: 1fr minmax(67px, max-content) auto auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    padding: 24px 0
}

@media only screen and (max-width: 767px) {
    .replay-area {
        padding: 28px 0 20px;
        grid-template-columns: 1fr auto
    }
}

.replay-area .relative {
    --item-height: 41px
}

.replay-area .relative input {
    padding-right: 48px
}

.replay-area .relative input:-moz-placeholder-shown~.btn {
    display: none
}

.replay-area .relative input:-ms-input-placeholder~.btn {
    display: none
}

.replay-area .relative input:placeholder-shown~.btn {
    display: none
}

@media only screen and (max-width: 767px) {
    .replay-area .relative input {
        --input-height: 47px
    }
}

.replay-area .relative .btn {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .replay-area .relative {
        grid-column: span 2
    }
}

.replay-area .input-guide {
    white-space: nowrap;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 500
}

@media only screen and (max-width: 767px) {
    .replay-area .input-guide {
        grid-column: span 2;
        text-align: right;
        margin-top: -4px;
        padding-bottom: 4px
    }
}

.replay-area .check-wrap {
    margin-left: auto;
    font-weight: 500
}

.replay-area .btn.black-outline {
    --button-height: 41px;
    --button-fz: var(--body1);
    --button-fw: 600;
    --button-px: 14px
}

@media only screen and (min-width: 768px) {
    .replay-area .btn.black-outline {
        min-width: 96px
    }
}

.detail-prd {
    padding-top: 32px
}

@media only screen and (max-width: 767px) {
    .detail-prd {
        --head-mb: 28px
    }
}

.detail-prd .head-wrap {
    --head-mb: 24px
}

@media only screen and (min-width: 768px) {
    .detail-prd .head-wrap .h2 {
        --h2: 24px
    }
}

@media only screen and (max-width: 767px) {
    .detail-prd .head-wrap {
        --head-mb: 20px
    }
}

.detail-agreement {
    padding-top: var(--detail-agreement-pt, 24px)
}

@media only screen and (max-width: 767px) {
    .detail-agreement {
        --detail-agreement-pt: 28px;
        margin-bottom: -8px
    }
}

.detail-agreement .accordion {
    border-top: none
}

.detail-agreement .accordion .title-wrap {
    padding: 16px 32px;
    --item-height: 23px;
    background-color: #f8f8f8;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 12px
}

.detail-agreement .accordion .title-wrap .input-checkbox {
    font-size: 18px;
    font-weight: 600
}

.detail-agreement .accordion .title-wrap .btn.icon-chevron-down {
    margin: -4px;
    --icon-url: url("../image/icon/chevron-down-narrow.svg");
    --button-icon-size: 24px
}

@media only screen and (max-width: 767px) {
    .detail-agreement .accordion .title-wrap {
        padding: 16px;
        --item-height: 21px
    }

    .detail-agreement .accordion .title-wrap .input-checkbox {
        font-size: 16px
    }
}

.detail-agreement .accordion .content {
    border-bottom: none;
    --accordion-content-padding: 0 48px 16px 64px
}

@media only screen and (max-width: 767px) {
    .detail-agreement .accordion .content {
        --accordion-content-padding: 0 37px 16px 48px
    }
}

.detail-agreement .accordion .content p {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.detail-agreement .accordion .content p:not(:first-child) {
    margin-top: var(--item-gap)
}

.detail-agreement .accordion .open .title-wrap {
    border-radius: 12px 12px 0 0
}

@media only screen and (max-width: 767px) {
    .detail-agreement .accordion .open .title-wrap {
        padding: 16px 16px 8px 16px
    }
}

.detail-agreement .accordion .open .content {
    border-radius: 0 0 12px 12px
}

.tabs-content .no-contents {
    --filter-pb: 16px
}

.event-list-filter {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-top: var(--event-list-filter-pt, 8px);
    padding-bottom: var(--event-list-filter-pb)
}

.event-list-filter,
.event-list-filter~.no-contents {
    --event-list-filter-pb: 16px;
    --filter-pb: var(--event-list-filter-pb)
}

@media only screen and (max-width: 767px) {
    .event-list-filter {
        --event-list-filter-pt: 0
    }
}

.event-list-filter .btn {
    --button-height: 21px;
    --button-px: 0;
    --button-bgc-hover: transparent
}

.event-list-filter .btn:not(.on):not(:hover) {
    --button-c: #999
}

.event-list-filter .btn.on,
.event-list-filter .btn:hover {
    --button-c: #222
}

@media only screen and (max-width: 767px) {
    .event-list-filter .btn {
        --button-height: 23px
    }
}

.event-list {
    --grid-columns: repeat(3, 1fr);
    --grid-gap: 23.5px;
    --item-img-radio: 255px;
    --item-title-line: 1
}

@media only screen and (max-width: 767px) {
    .event-list {
        --grid-columns: 1fr;
        --grid-gap: 20px;
        --item-img-radio: 62.1951%
    }
}

.event-list .image-wrap {
    margin-bottom: 16px
}

.event-list .text-wrap .h3 {
    --typo-custom-c: #000
}

.event-list .text-wrap .tag {
    margin-bottom: 8px
}

.event-list .text-wrap .body2 {
    padding-top: 4px
}

.event-list.event-end-list .image-wrap:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(153, 153, 153, 0.55)
}

.event-list.event-end-list .text-wrap .h3,
.event-list.event-end-list .text-wrap .body2 {
    --typo-custom-c: #999
}

@media only screen and (min-width: 768px) {
    .event-announce {
        padding-bottom: 16px
    }
}

.event-announce col:nth-child(1) {
    width: 105px
}

@media only screen and (max-width: 767px) {
    .event-announce col:nth-child(1) {
        width: 50px
    }
}

.event-announce th:nth-child(1),
.event-announce td:nth-child(1) {
    white-space: nowrap
}

.event-announce td {
    cursor: pointer
}

.event-announce .flex {
    display: grid;
    grid-template-columns: 1fr 155px
}

.event-announce .flex>span:nth-child(1) {
    display: inline-block;
    max-width: 100%
}

@media only screen and (min-width: 768px) {
    .event-announce .flex>span:nth-child(1) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

.event-announce .flex>span:nth-child(2) {
    text-align: center;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .event-announce .flex {
        grid-template-columns: 1fr
    }
}

.event-announce td .flex>span:first-child {
    text-align: left
}

@media only screen and (min-width: 768px) {
    .event-announce td .flex>span:first-child {
        justify-self: start
    }
}

.event-announce td .flex>span:last-child {
    color: #777
}

@media only screen and (max-width: 767px) {
    .event-announce td .flex>span:last-child {
        margin-top: 4px;
        text-align: left;
        font-size: var(--body2);
        letter-spacing: -0.02em;
        line-height: var(--typo-custom-lh, 1.3);
        font-weight: var(--typo-custom-w, 400);
        color: var(--typo-custom-c, #777)
    }
}

.event-announce span.only-mo {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.event-announce span.only-mo:after {
    content: "";
    width: 1px;
    height: 10px;
    background-color: #ddd;
    margin: 0 4px
}

.event-announce .important td {
    font-weight: 600
}

.event-announce .important td:first-child span {
    display: inline-block;
    border-radius: 10px;
    padding: 0 8px;
    line-height: 20px;
    background-color: #e6002d;
    color: #fff;
    font-size: var(--body2);
    letter-spacing: -0.02em
}

@media only screen and (min-width: 768px) {

    .event-announce .new,
    .event-announce .file {
        padding-right: 24px;
        position: relative
    }
}

.event-announce .new:after,
.event-announce .file:after {
    content: "";
    margin-left: 4px;
    vertical-align: top;
    display: inline-block;
    margin-top: 1px;
    width: 20px;
    height: 16px;
    background-size: 16px auto;
    background-position: 0 0;
    background-repeat: no-repeat
}

@media only screen and (min-width: 768px) {

    .event-announce .new:after,
    .event-announce .file:after {
        position: absolute;
        top: 0;
        right: 0
    }
}

.event-announce .new:after {
    content: "";
    background-image: url("../image/icon/new.svg")
}

.event-announce .file:after {
    content: "";
    background-image: url("../image/icon/paperclip.svg")
}

@media only screen and (min-width: 768px) {
    .event-announce .new.file {
        padding-right: 44px
    }
}

.event-announce .new.file:after {
    content: "";
    width: 40px;
    background-image: url("../image/icon/paperclip.svg"), url("../image/icon/new.svg");
    background-size: 16px auto, 16px auto;
    background-position: 0 0, 20px 0;
    background-repeat: no-repeat, no-repeat
}

.promo-main-page .main-banner {
    max-width: unset !important;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 32px;
    --swiper-slide-ctrl-left: 50%;
    --swiper-slide-ctrl-trans: translate(-50%)
}

@media only screen and (max-width: 767px) {
    .promo-main-page .main-banner {
        margin-top: calc(var(--content-pt)*-1);
        margin-bottom: 28px
    }
}

.promo-main-page .main-banner .swiper-slide {
    --swiper-slide-radius: 16px;
    --swiper-slide-bdw: 1px;
    --swiper-slide-height-pc: 380px;
    --swiper-slide-height-mo: 83.3333%;
    width: 856px;
    overflow: hidden;
    position: relative
}

@media only screen and (min-width: 768px) {
    .promo-main-page .main-banner .swiper-slide:not(:last-child) {
        margin-right: 24px
    }

    .promo-main-page .main-banner .swiper-slide:before {
        display: inline-block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: hidden;
        border-radius: var(--swiper-slide-radius);
        background: rgba(0, 0, 0, .1);
        z-index: 1;
        box-sizing: border-box
    }

    .promo-main-page .main-banner .swiper-slide.swiper-slide-active:before {
        content: unset
    }
}

@media only screen and (max-width: 767px) {
    .promo-main-page .main-banner .swiper-controller {
        min-width: 116px
    }
}

.promo-main-page .main-banner .swiper-controller.pagination-hidden {
    min-width: auto
}

.promo-main-page .main-banner .swiper-controller.pagination-hidden .swiper-pagination {
    display: none
}

@media only screen and (min-width: 768px) {
    .promo-main-page .main-banner .swiper-pagination {
        min-width: 90px
    }
}

.promo-main-page .main-banner~.head-wrap .h1 {
    --h1: 24px
}

@media only screen and (max-width: 767px) {
    .promo-main-page .main-banner~.head-wrap .h1 {
        --h1: var(--h2)
    }
}

.promo-main-page .promo-section,
.promo-main-page .ad-banner {
    margin-top: 32px
}

.promo-main-page .promo-section .head-wrap,
.promo-main-page .ad-banner .head-wrap {
    --head-mb: 16px
}

.promo-main-page .promo-section .tab.line,
.promo-main-page .ad-banner .tab.line {
    margin-top: 0
}

@media only screen and (max-width: 767px) {

    .promo-main-page .promo-section,
    .promo-main-page .ad-banner {
        margin-top: 28px
    }

    .promo-main-page .promo-section .head-wrap,
    .promo-main-page .ad-banner .head-wrap {
        --head-mb: 20px
    }
}

@media only screen and (min-width: 768px) {
    .promo-main-page .h2 {
        --h2: 24px
    }
}

@media only screen and (max-width: 767px) {
    .promo-main-page .icon-arrow-right.md {
        --button-icon-size: 12px;
        --button-height: 24px;
        --button-fz: var(--body2)
    }
}

@media only screen and (max-width: 767px) {
    .promo-main-page.section .head-wrap {
        display: none
    }
}

.bundle-banner {
    position: relative
}

.bundle-banner .swiper {
    border-radius: 16px;
    overflow: hidden
}

.bundle-banner .swiper:not(.swiper-horizontal)~.swiper-arrow {
    --swiper-arrow-display: none
}

.bundle-banner .swiper-slide {
    height: 300px
}

.bundle-banner .swiper-slide a {
    display: inline-block;
    width: 100%;
    height: 100%
}

.bundle-banner .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.video-banner {
    --grid-columns: repeat(3, 1fr);
    --grid-gap: 25px
}

@media only screen and (max-width: 767px) {
    .video-banner {
        --grid-columns: 1fr;
        --grid-gap: 20px
    }
}

.video-banner a {
    display: inline-block;
    width: 100%;
    height: var(--video-banner-pc-h, 231px);
    overflow: hidden
}

@media only screen and (max-width: 767px) {
    .video-banner a {
        height: 0;
        padding-bottom: var(--video-banner-mo-h, 56.4024%);
        position: relative
    }
}

.video-banner a img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media only screen and (max-width: 767px) {
    .video-banner a img {
        position: absolute;
        top: 0;
        left: 0
    }
}

.benefits-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px
}

.benefits-list .grid {
    position: relative;
    --grid-columns: 1fr;
    --grid-gap: 16px
}

.benefits-list .grid>picture img {
    width: 100%;
    border-radius: 16px;
    overflow: hidden
}

@media only screen and (min-width: 768px) {
    .benefits-list .grid>picture img {
        height: 320px;
        object-fit: cover
    }
}

.benefits-list .grid .prd-item-list {
    --item-list-gap: 16px
}

.benefits-list .grid .item-element {
    --prd-thumb-size: 120px
}

.benefits-list .grid .item-element .item-detail {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.benefits-list .grid .item-element .item-detail .thumbnail-wrap:after {
    display: none
}

@media only screen and (max-width: 767px) {
    .benefits-list {
        gap: 20px;
        grid-template-columns: 1fr
    }

    .benefits-list .prd-item-list {
        --item-list-columns: 1
    }

    .benefits-list .item-element {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0;
        --item-info-container-mt: 0;
        --prd-thumb-size: 104px
    }

    .benefits-list .item-element .item-detail {
        position: static
    }

    .benefits-list .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .benefits-list .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }
}

@media only screen and (max-width: 767px) {
    .promo-detail-page .head-wrap {
        --head-wrap-columns: 1fr;
        gap: 28px
    }

    .promo-detail-page .tabs-content .head-wrap {
        gap: 20px;
        --head-mb: 20px
    }

    .promo-detail-page>.head-wrap>div:first-child {
        display: none
    }
}

.promo-detail-page .tab.line .scroll-area {
    margin-bottom: 24px
}

@media only screen and (max-width: 767px) {
    .promo-detail-page .tab.line .scroll-area {
        margin-bottom: 28px
    }
}

.promo-detail-page .tab.line .head-wrap {
    --head-mb: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.promo-detail-page .tab.line .head-wrap .body1 {
    font-weight: 600
}

.promo-detail-page .tab.line .head-wrap .select-wrap {
    margin-left: 0 !important
}

@media only screen and (max-width: 767px) {
    .promo-detail-page .tab.line .head-wrap {
        --head-mb: 20px
    }
}

.promo-detail-page .progress-bar {
    width: 240px;
    padding-top: 0;
    --bar-columns: repeat(auto-fit, minmax(46px, 1fr));
    --bar-gap: 2px;
    --bar-height: 8px;
    --bar-base-color: #ccc;
    --bar-active-color: #5F0080;
    --bar-radius: 0
}

.promo-detail-page .progress-bar .bar:first-child {
    --bar-radius: 4px 0 0 4px
}

.promo-detail-page .progress-bar .bar:last-child {
    --bar-radius: 0 4px 4px 0
}

.promo-detail-page .progress-bar .bar:after {
    top: -14px;
    width: 0;
    height: 0;
    border-top: 5px solid #fff;
    border-left: 7px solid rgba(0, 0, 0, 0);
    border-right: 7px solid rgba(0, 0, 0, 0);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-filter: drop-shadow(0 1px 0 #333) drop-shadow(0 -1px 0 #fff);
    filter: drop-shadow(0 1px 0 #333) drop-shadow(0 -1px 0 #fff)
}

.tab.bundle {
    --bundle-banner-height: 300px;
    padding-top: var(--bundle-banner-height)
}

.bundle-img-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px
}

.bundle-img-wrap>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.bundle-product-wrap {
    border-top: 1px solid #777;
    border-bottom: 1px solid #ddd
}

.bundle-product-wrap .tag-area {
    padding-top: 324px
}

.bundle-product-wrap .tag-area:before {
    display: inline-block;
    content: "";
    display: block;
    width: 100%;
    height: 70px;
    border-top: 1px solid #ddd;
    background-color: #f4f4f4
}

.bundle-product-wrap .tag-area .tag-item {
    padding-right: 10px;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    height: 58px;
    background-color: #f4f4f4
}

.bundle-product-wrap .bundle-price {
    border-top: 1px solid #ddd;
    height: 58px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    background-color: #f4f4f4
}

.bundle-product-wrap .bundle-price.default-price {
    height: 71px
}

.bundle-product-wrap .bundle-price .price {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #000;
    --typo-custom-lh: 21px
}

.bundle-product-wrap .bundle-price .price span {
    font-size: 16px;
    font-weight: 700;
    vertical-align: top
}

.bundle-product-wrap .bundle-price .body2 {
    --typo-custom-w: 500;
    margin-top: 2px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.bundle-product-wrap .floating-bar {
    grid-column: span 2;
    background-color: #0f795c
}

.bundle-product-wrap .floating-bar .floating-contents {
    padding-left: 24px;
    padding-right: 24px
}

.bundle-product-wrap .floating-bar .floating-contents .tag-summary {
    border-color: #0f795c;
    --typo-custom-c: #0F795C
}

.bundle-prd-list {
    --grid-columns: auto 1fr;
    --grid-gap: 0;
    border-top: 1px solid #ddd
}

.bundle-prd-list .prd {
    display: grid;
    --grid-columns: repeat(auto-fit, minmax(260px, 1fr));
    --grid-gap: 1px;
    background-color: #ddd !important;
    --item-list-columns: 1;
    --item-info-container-mb: 0;
    --item-thum-radius: 6px;
    --item-thum-line-op: 1;
    --prd-thumb-w: 159px;
    --prd-thumb-size: 159px
}

.bundle-prd-list .prd .grid-item {
    background-color: #fff
}

.bundle-prd-list .prd .bundle-item {
    padding: 16px;
    margin: auto
}

.bundle-prd-list .prd .item-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.bundle-prd-list .prd .desc {
    width: unset;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset
}

.bundle-prd-list .prd .tag-promotion {
    margin-left: 0;
    margin-bottom: 6px
}

.bundle-prd-list .prd .prd-ctrl,
.bundle-prd-list .prd .info-container {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.bundle-prd-list .prd .title-main {
    -webkit-line-clamp: 1;
    text-align: center
}

.bundle-prd-list .prd .user-action {
    --item-info-container-mb: 8px;
    -webkit-align-content: unset;
    -ms-flex-line-pack: unset;
    align-content: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.bundle-prd-list .prd .user-action .icon-alarm,
.bundle-prd-list .prd .user-action .quantity-box {
    width: 134px
}

.bundle-prd-list .prd .user-action .body3 {
    padding-top: 4px;
    width: 100%
}

.bundle-prd-list .prd .user-action .icon-zzim {
    z-index: 1
}

.bundle-prd-list .prd .quantity-wrap {
    margin-right: 0
}

.bundle-prd-list.active-step1 .tag-item:nth-child(1),
.bundle-prd-list.active-step1 .bundle-price:nth-child(3) {
    background-color: #e2e8fe
}

.bundle-prd-list.active-step1 .tag-item:nth-child(1) .tag-segment,
.bundle-prd-list.active-step1 .bundle-price:nth-child(3) .tag-segment {
    background-color: #bd76ff
}

.bundle-prd-list.active-step1 .tag-item:nth-child(1) .tag-segment:after,
.bundle-prd-list.active-step1 .bundle-price:nth-child(3) .tag-segment:after {
    background-image: url("../image/event/tag-segment-active.svg")
}

.bundle-prd-list.active-step2 .tag-item:nth-child(2),
.bundle-prd-list.active-step2 .bundle-price:nth-child(4) {
    background-color: #e2e8fe
}

.bundle-prd-list.active-step2 .tag-item:nth-child(2) .tag-segment,
.bundle-prd-list.active-step2 .bundle-price:nth-child(4) .tag-segment {
    background-color: #bd76ff
}

.bundle-prd-list.active-step2 .tag-item:nth-child(2) .tag-segment:after,
.bundle-prd-list.active-step2 .bundle-price:nth-child(4) .tag-segment:after {
    background-image: url("../image/event/tag-segment-active.svg")
}

.bundle-prd-list.active-step3 .tag-item:nth-child(3),
.bundle-prd-list.active-step3 .bundle-price:nth-child(5) {
    background-color: #e2e8fe
}

.bundle-prd-list.active-step3 .tag-item:nth-child(3) .tag-segment,
.bundle-prd-list.active-step3 .bundle-price:nth-child(5) .tag-segment {
    background-color: #bd76ff
}

.bundle-prd-list.active-step3 .tag-item:nth-child(3) .tag-segment:after,
.bundle-prd-list.active-step3 .bundle-price:nth-child(5) .tag-segment:after {
    background-image: url("../image/event/tag-segment-active.svg")
}

.bundle-prd-list.active-step4 .tag-item:nth-child(4),
.bundle-prd-list.active-step4 .bundle-price:nth-child(6) {
    background-color: #e2e8fe
}

.bundle-prd-list.active-step4 .tag-item:nth-child(4) .tag-segment,
.bundle-prd-list.active-step4 .bundle-price:nth-child(6) .tag-segment {
    background-color: #bd76ff
}

.bundle-prd-list.active-step4 .tag-item:nth-child(4) .tag-segment:after,
.bundle-prd-list.active-step4 .bundle-price:nth-child(6) .tag-segment:after {
    background-image: url("../image/event/tag-segment-active.svg")
}

.bundle-prd-list.active-step5 .tag-item:nth-child(5),
.bundle-prd-list.active-step5 .bundle-price:nth-child(7) {
    background-color: #e2e8fe
}

.bundle-prd-list.active-step5 .tag-item:nth-child(5) .tag-segment,
.bundle-prd-list.active-step5 .bundle-price:nth-child(7) .tag-segment {
    background-color: #bd76ff
}

.bundle-prd-list.active-step5 .tag-item:nth-child(5) .tag-segment:after,
.bundle-prd-list.active-step5 .bundle-price:nth-child(7) .tag-segment:after {
    background-image: url("../image/event/tag-segment-active.svg")
}

.type-detail,
.table-seller-product,
.promo-video-page {
    --item-thum-radius: 6px;
    --item-thum-line-op: 1
}

.promo-video-page .prd-item-list .item-element {
    --prd-thumb-size: 85px
}

@media only screen and (max-width: 767px) {
    .promo-video-page .prd-item-list {
        --item-list-columns: 1
    }

    .promo-video-page .prd-item-list .item-element {
        --item-info-container-mt: 0;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0
    }

    .promo-video-page .prd-item-list .item-element .item-detail {
        position: static
    }

    .promo-video-page .prd-item-list .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .promo-video-page .prd-item-list .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }
}

@media only screen and (max-width: 767px) {
    .promo-video-page .head-wrap {
        display: none
    }
}

.bundle-progress {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 32px 8px;
    background-color: #f8f8f8
}

.bundle-progress .head-wrap {
    --typo-custom-c: #333;
    --head-mb: 16px;
    --h1: 26px
}

.bundle-progress .progress-desc {
    margin-bottom: 13px;
    position: relative
}

.bundle-progress .progress-desc span {
    min-width: 290px;
    padding: 5px 16px;
    display: inline-block;
    font-size: 12px;
    color: #333;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: -0.02em;
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
    border: 1px solid #333
}

.bundle-progress .progress-desc span em {
    color: #e6002d;
    font-weight: 700
}

.tab.video {
    --video-content-height: 720px;
    padding-top: var(--video-content-height)
}

@media only screen and (max-width: 767px) {
    .tab.video {
        --video-content-height: 56.25vw
    }
}

.tab.video .tabs {
    --box-tabs-mb: 16px
}

@media only screen and (max-width: 767px) {
    .tab.video .tabs {
        --box-tabs-mb: 20px
    }
}

.tab.video .video-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%
}

.tab.video .video-container .video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: var(--video-content-height)
}

.tab.video .video-container .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.tab.video .gray-box {
    margin-bottom: 24px;
    padding: 16px 24px;
    border: 1px solid #ddd
}

@media only screen and (max-width: 767px) {
    .tab.video .gray-box {
        margin-bottom: 28px
    }
}

.tab.video .gray-box .title {
    padding-left: 32px;
    padding-bottom: 0;
    position: relative;
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333)
}

.tab.video .gray-box .title:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url("../image/event/icon-youtube.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0
}

.tab.video .gray-box .title span {
    margin-top: 8px;
    display: block;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 1.5;
    --typo-custom-w: 400;
    --typo-custom-c: #333
}

.tab.video .gray-box .dot-list {
    margin-top: 8px;
    padding-top: 8px;
    padding-left: 27px;
    border-top: 1px dotted #ccc
}

.tab.video .gray-box .dot-list li:not(:first-child) {
    margin-top: 4px
}

.tab.video .table-wrap {
    margin-top: 0;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 0;
    max-height: 447px;
    overflow-y: auto
}

@media only screen and (max-width: 767px) {
    .tab.video .table-wrap {
        max-height: unset
    }
}

@media only screen and (min-width: 768px) {

    .tab.video .table-wrap th:nth-child(1),
    .tab.video .table-wrap td:nth-child(1) {
        min-width: 488px;
        width: 488px
    }
}

@media only screen and (max-width: 767px) {

    .tab.video .table-wrap th:nth-child(1),
    .tab.video .table-wrap td:nth-child(1) {
        min-width: 80vw;
        width: 80vw;
        max-width: 520px
    }
}

.tab.video .table-wrap th:not(:first-child):not(:last-child),
.tab.video .table-wrap td:not(:first-child):not(:last-child) {
    white-space: nowrap
}

@media only screen and (min-width: 768px) {

    .tab.video .table-wrap th:not(:first-child):not(:last-child),
    .tab.video .table-wrap td:not(:first-child):not(:last-child) {
        min-width: 150px
    }
}

@media only screen and (max-width: 767px) {

    .tab.video .table-wrap th:not(:first-child):not(:last-child),
    .tab.video .table-wrap td:not(:first-child):not(:last-child) {
        min-width: unset
    }
}

.tab.video .table-wrap th:last-child,
.tab.video .table-wrap td:last-child {
    width: 222px;
    min-width: 222px
}

.tab.video .table-wrap table td:first-child {
    padding: 8px 16px
}

.tab.video .table-wrap table a {
    text-align: left
}

@media only screen and (max-width: 767px) {
    .tab.video .table-wrap .prd-price {
        min-width: unset
    }
}

.tab.video .table-wrap .prd-ctrl>[data-tippy-root] .tippy-box {
    min-width: 206px
}

@media only screen and (max-width: 767px) {
    .tab.video .video-container {
        width: calc(100% + var(--side-padding)*2);
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }

    .tab.video .tabs,
    .tab.video .gray-box {
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }

    .tab.video .gray-box {
        border-left: none;
        border-right: none;
        padding-left: 24px;
        padding-left: calc(constant(safe-area-inset-left) + 24px);
        padding-left: calc(env(safe-area-inset-left) + 24px);
        padding-right: 24px;
        padding-right: calc(constant(safe-area-inset-right) + 24px);
        padding-right: calc(env(safe-area-inset-right) + 24px)
    }
}

.top-banner {
    margin: 28px 0 16px;
    height: 300px
}

@media only screen and (min-width: 768px) {
    .top-banner {
        border-radius: 16px;
        overflow: hidden
    }
}

@media only screen and (max-width: 767px) {
    .top-banner {
        margin: 28px 0;
        height: 0;
        padding-bottom: 61.8888%;
        position: relative;
        margin-left: calc(var(--side-padding)*-1px);
        margin-left: calc((constant(safe-area-inset-left) + var(--side-padding))*-1);
        margin-left: calc((env(safe-area-inset-left) + var(--side-padding))*-1);
        margin-right: calc(var(--side-padding)*-1px);
        margin-right: calc((constant(safe-area-inset-right) + var(--side-padding))*-1);
        margin-right: calc((env(safe-area-inset-right) + var(--side-padding))*-1)
    }

    .top-banner img {
        position: absolute;
        width: 0;
        left: 0
    }
}

.top-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.left-time {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 24px 0 24px
}

@media only screen and (max-width: 767px) {
    .left-time {
        margin: -8px 0 28px
    }
}

.left-time .h2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.left-time .h2:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url("../image/event/icon-clock.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: top;
    margin-right: 4px
}

@media only screen and (max-width: 767px) {
    .left-time .h2 {
        --h2: var(--h3);
        letter-spacing: -0.02em
    }

    .left-time .h2:before {
        width: 16px;
        height: 16px
    }
}

.left-time span {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 12px;
    font-size: 26px;
    color: #e6002d;
    font-weight: 500;
    line-height: 48px
}

@media only screen and (max-width: 767px) {
    .left-time span {
        padding-top: 8px;
        font-size: 18px;
        letter-spacing: -0.02rem;
        line-height: 36px
    }
}

.left-time b {
    font-size: 40px;
    font-weight: 800
}

@media only screen and (max-width: 767px) {
    .left-time b {
        font-size: 28px;
        letter-spacing: -0.02rem
    }
}

.left-time b:not(:first-child) {
    padding-left: 12px
}

@media only screen and (max-width: 767px) {
    .left-time b:not(:first-child) {
        padding-left: 8px
    }
}

.left-time~.head-wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --head-mb: 16px
}

@media only screen and (max-width: 767px) {
    .left-time~.head-wrap {
        --head-mb: 20px;
        gap: 20px
    }

    .left-time~.head-wrap>div {
        display: block !important
    }
}

.left-time~.head-wrap .body1 {
    font-weight: 600
}

.left-time~.head-wrap .select-wrap {
    margin-left: 0 !important
}

.brand-main-page #brand-all-prd {
    scroll-margin: calc(var(--top-banner-h, 0px) + var(--header-height, 158px) + 24px)
}

.brand-main-page .brand-section,
.brand-main-page .ad-banner {
    margin-top: 24px
}

.brand-main-page .brand-section .head-wrap,
.brand-main-page .ad-banner .head-wrap {
    --head-mb: 16px
}

@media only screen and (min-width: 768px) {

    .brand-main-page .brand-section .pagination,
    .brand-main-page .ad-banner .pagination {
        margin-bottom: 24px
    }
}

.brand-main-page .icon-alarm.active {
    --button-c: #5F0080;
    --icon-active-url: url("../image/product/alarm-active.svg")
}

.brand-main-page .head-wrap .h2 {
    --h2: var(--h3)
}

.brand-main-page .grid-box-round {
    margin-top: 24px
}

.brand-main-page .main-banner {
    --swiper-slide-height-pc: 380px;
    --swiper-slide-height-mo: 60.5555%;
    margin-top: 28px
}

.brand-main-page .main-banner .swiper-slide.grid {
    --grid-gap: 20px;
    --grid-columns: repeat(2, 1fr)
}

.brand-main-page .main-banner .swiper-slide.grid a {
    min-width: 0;
    min-height: 0
}

.brand-main-page .main-banner .swiper-slide.grid a:first-child {
    grid-row: span 2
}

.brand-main-page .video-container {
    margin-top: 20px;
    font-size: 0
}

.brand-main-page .video-container .video {
    padding-bottom: 504px;
    position: relative
}

.brand-main-page .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%
}

.brand-main-page .radio-prd-list {
    margin-top: 20px
}

.brand-main-page .radio-prd-list .head-wrap {
    margin: var(--head-wrap-m, 24px 0 16px) !important;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.brand-main-page .radio-prd-list .head-wrap .body1 {
    --typo-custom-w: 600
}

.brand-main-page .radio-prd-list .head-wrap .input-checkbox {
    font-weight: 500
}

.brand-main-page .no-contents {
    --filter-pb: 32px
}

@media only screen and (min-width: 768px) {
    .brand-main-page .radio-prd-list .head-wrap .check-wrap {
        margin-right: 16px
    }

    .brand-main-page .radio-prd-list .head-wrap .select-wrap {
        min-width: 120px
    }
}

@media only screen and (max-width: 767px) {
    .sub-main~.content-inner .brand-main-page .head-col-1>div:first-child {
        display: none
    }

    .brand-main-page .head-wrap .h2 {
        --h3: var(--h2-mo)
    }

    .brand-main-page .brand-section,
    .brand-main-page .ad-banner {
        margin-top: 28px
    }

    .brand-main-page .brand-section .head-wrap,
    .brand-main-page .ad-banner .head-wrap {
        --head-mb: 20px
    }

    .brand-main-page .icon-alarm.active {
        width: 100%;
        margin-left: 0 !important
    }

    .brand-main-page .main-banner {
        margin-top: 28px
    }

    .brand-main-page .main-banner .swiper-slide.grid {
        --grid-columns: repeat(1, 1fr)
    }

    .brand-main-page .main-banner .swiper-slide.grid a:not(:first-child) {
        display: none
    }

    .brand-main-page .video-container .video {
        padding-bottom: 56.4024%
    }

    .brand-main-page .radio-prd-list .head-wrap {
        --head-wrap-m: 20px 0 20px;
        padding-bottom: 55px
    }

    .brand-main-page .radio-prd-list .head-wrap .select-wrap {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0
    }
}

@media only screen and (max-width: 767px) {
    .brand-detail-page>.head-wrap>div:first-child {
        display: none
    }

    .brand-detail-page>.head-wrap>div:nth-child(2) {
        text-align: right
    }
}

.brand-detail-page .tabs-content .head-wrap {
    margin: 24px 0 16px;
    --h3: 14px;
    --typo-custom-w: 400;
    --typo-custom-c: #000;
    letter-spacing: -0.02em
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .tabs-content .head-wrap {
        margin: 20px 0 20px;
        --h3: 14px;
        --typo-custom-lh: 1.5;
        letter-spacing: -0.02em
    }
}

.brand-detail-page .tabs-content .event-announce {
    margin-top: 0
}

.brand-detail-page .form-wrap {
    margin-top: -4px
}

.brand-detail-page .form-wrap .grid {
    --grid-columns: repeat(auto-fit, minmax(20px, 1fr));
    --grid-gap: 24px;
    margin-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .form-wrap .grid {
        --grid-gap: 20px
    }
}

.brand-detail-page .form-wrap .form-line .cta {
    --button-height: 35px;
    --button-fz: var(--body2);
    --button-fw: 500;
    --button-icon-gap: 4px;
    --button-px: 10px
}

.brand-detail-page .form-wrap .form-attachment+.form-line .check-wrap {
    --item-height: 21px
}

.brand-detail-page .form-wrap .btn-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 24px
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .form-wrap .btn-wrap {
        margin-top: 28px
    }
}

.brand-detail-page .form-wrap .btn-wrap .btn:not(:first-child) {
    margin-left: 8px
}

@media only screen and (min-width: 768px) {
    .brand-detail-page .form-wrap .btn-wrap .btn {
        min-width: 120px
    }
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .form-wrap .btn-wrap .btn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .form-wrap {
        margin-top: 28px
    }

    .brand-detail-page .form-wrap .grid {
        --grid-columns: 1fr;
        --grid-gap: 20px;
        margin-bottom: 20px
    }
}

.brand-detail-page .accordion {
    border: none
}

.brand-detail-page .accordion>li:not(:first-child) {
    margin-top: 16px
}

.brand-detail-page .accordion .open .title-wrap {
    border-bottom-color: rgba(0, 0, 0, 0);
    position: relative;
    border-radius: 12px 12px 0 0;
    padding-bottom: 16px
}

.brand-detail-page .accordion .open .title-wrap:before {
    display: inline-block;
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 1px;
    background-color: #ddd
}

.brand-detail-page .accordion .title-wrap {
    border-radius: 12px;
    background-color: #f3f3f3;
    border: 1px solid #ededed;
    overflow: hidden;
    --accordion-padding: 24px 16px;
    --accordion-title-c: #000;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.brand-detail-page .accordion .title-wrap span {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    font-size: 16px;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: #777;
    font-weight: 500;
    padding-bottom: 4px
}

.brand-detail-page .accordion .title-wrap .h3 {
    --h3: 16px
}

.brand-detail-page .accordion .title-wrap:after {
    width: 24px;
    min-height: 24px;
    background-image: url("../image/icon/chevron-down-narrow.svg")
}

.brand-detail-page .accordion .content {
    background-color: #f3f3f3;
    --accordion-content-padding: 16px;
    border-radius: 0 0 12px 12px;
    border: 1px solid #ededed;
    border-top: none
}

.brand-detail-page .accordion .content:only-child {
    border-top-width: 1px;
    border-radius: 12px;
    padding: 24px
}

.brand-detail-page .accordion .content:only-child .brand-agreement {
    background: rgba(0, 0, 0, 0);
    padding: 0
}

.brand-detail-page .accordion .content:only-child .brand-agreement .table-wrap table th {
    background-color: #fff
}

@media only screen and (min-width: 768px) {
    .brand-detail-page .accordion .content:only-child .table-wrap {
        background-color: #fff
    }
}

@media only screen and (max-width: 767px) {
    .brand-detail-page .accordion .content:only-child {
        padding: var(--side-padding)
    }

    .brand-detail-page .accordion .content:only-child .table-wrap td {
        background-color: #fff
    }
}

.brand-detail-page .accordion .brand-agreement {
    background-color: #fff;
    border-radius: 12px;
    padding: 16px
}

.brand-detail-page .accordion .dot-list {
    --dot-list-gap: 8px;
    color: #333
}

.brand-detail-page .table-agreement-info {
    --item-thum-radius: 6px;
    --item-thum-line-op: 1;
    padding-top: 200px;
    margin-top: -184px
}

.brand-detail-page .table-agreement-info th:nth-child(2),
.brand-detail-page .table-agreement-info th:nth-child(4),
.brand-detail-page .table-agreement-info td:nth-child(2),
.brand-detail-page .table-agreement-info td:nth-child(4) {
    width: 230px
}

.brand-detail-page .table-agreement-info th:nth-child(3),
.brand-detail-page .table-agreement-info td:nth-child(3) {
    width: 168px
}

.brand-detail-page .table-agreement-info td:first-child {
    text-align: left
}

.brand-detail-page .table-agreement-info td:first-child a {
    text-decoration: none
}

.brand-detail-page .table-agreement-info td:first-child .title-main {
    min-height: unset
}

.brand-detail-page .table-agreement-info .item-element {
    --prd-thumb-size: 80px
}

.brand-detail-page .table-agreement-info .prd-ctrl>[data-tippy-root] .tippy-box {
    min-width: 214px
}

.brand-view-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 24px
}

@media only screen and (max-width: 767px) {
    .brand-view-list {
        grid-template-columns: 1fr;
        gap: 20px
    }
}

.brand-view-list a {
    display: block;
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #ededed
}

.brand-view-list a .thumb {
    position: relative;
    padding-bottom: 58.727%
}

@media only screen and (max-width: 767px) {
    .brand-view-list a .thumb {
        padding-bottom: 58.5365%
    }
}

.brand-view-list a .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.brand-view-list a .info {
    position: relative;
    z-index: 1;
    margin-top: -32px;
    padding: 0 32px 32px
}

@media only screen and (max-width: 767px) {
    .brand-view-list a .info {
        padding-bottom: 24px
    }
}

.brand-view-list a .ci {
    margin-left: -16px;
    padding: 0 16px;
    background-color: #fff;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 160px;
    height: 50px;
    border-radius: 12px
}

@media only screen and (max-width: 767px) {
    .brand-view-list a .ci {
        width: 130px;
        height: 41px
    }
}

.brand-view-list a .ci img {
    width: auto;
    max-height: 21px
}

@media only screen and (max-width: 767px) {
    .brand-view-list a .ci img {
        max-height: 17px
    }
}

.brand-view-list a h4 {
    margin-top: 16px;
    --h2: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.brand-view-list a p {
    min-height: 42px;
    --typo-custom-c: #777;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2
}

.brand-detail-page .box-agreement-info {
    margin-top: -4px;
    border-radius: 16px;
    border: 1px solid #ddd;
    padding: 16px 40px
}

.brand-main-page .box-agreement-info {
    margin-left: 0 !important
}

@media only screen and (max-width: 767px) {
    .brand-main-page .box-agreement-info .flex {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .brand-main-page .box-agreement-info .flex .manager-info,
    .brand-main-page .box-agreement-info .flex .btn {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .brand-main-page .box-agreement-info .flex .manager-info {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: auto;
        padding: 10px 16px
    }

    .brand-main-page .box-agreement-info .flex .manager-info i {
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .brand-main-page .box-agreement-info .flex .manager-info em {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .brand-main-page .box-agreement-info .flex .manager-info b {
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .brand-main-page .box-agreement-info .flex .btn {
        --button-height: 35px;
        margin-top: 8px;
        margin-left: 0
    }
}

.box-agreement-info .btn {
    margin-left: 8px
}

.box-agreement-info .manager-info {
    border-radius: 4px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 24px;
    height: 41px;
    background-color: #f4f4f4;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222)
}

@media only screen and (min-width: 768px) {
    .box-agreement-info .manager-info {
        pointer-events: none
    }
}

@media only screen and (max-width: 767px) {
    .box-agreement-info .manager-info {
        --h3: 14px
    }
}

.box-agreement-info .manager-info i {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("../image/event/icon-manager.svg");
    margin-right: 8px
}

.box-agreement-info .manager-info .divider-vertical-line {
    margin: 0 8px
}

.box-agreement-info .manager-info em {
    color: #000;
    font-weight: 500
}

.box-agreement-info .manager-info b {
    font-weight: 600
}

.box-agreement-info .progress-bar-wrap {
    margin-top: 30px;
    margin-bottom: 23px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    gap: 37px 0
}

.box-agreement-info .progress-bar-wrap .name {
    font-weight: 600;
    color: #000;
    margin-right: 16px
}

.box-agreement-info .progress-bar-wrap .icon-checked {
    margin-left: 4px;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("../image/event/icon-checked.svg")
}

.box-agreement-info .progress-bar-wrap .num {
    text-align: right;
    margin-left: 16px;
    color: #ccc;
    font-weight: 600
}

.box-agreement-info .progress-bar-wrap .num b {
    color: #000;
    font-weight: 600
}

.box-agreement-info .progress-bar {
    --bar-height: 16px
}

.box-agreement-info .progress-bar .bar:nth-child(1) {
    --bar-radius: calc(var(--bar-height) / 2) 0 0 calc(var(--bar-height) / 2)
}

.box-agreement-info .progress-bar .bar:nth-child(1)::before {
    --bar-active-color: #C7A1E3
}

.box-agreement-info .progress-bar .bar:nth-child(2) {
    --bar-radius: 0
}

.box-agreement-info .progress-bar .bar:nth-child(2)::before {
    --bar-active-color: #B17ED9
}

.box-agreement-info .progress-bar .bar:nth-child(3) {
    --bar-radius: 0 calc(var(--bar-height) / 2) calc(var(--bar-height) / 2) 0
}

.box-agreement-info .progress-bar .bar:nth-child(3)::before {
    --bar-radius: 0
}

.box-agreement-info .progress-bar .bar-num {
    --body3: var(--body2)
}

.box-agreement-info .progress-bar.step2 .bar-num:nth-child(4),
.box-agreement-info .progress-bar.step-comp .bar-num:nth-child(4) {
    --bar-active-color: #C7A1E3
}

.box-agreement-info .progress-bar.step2 .bar-num:nth-child(5),
.box-agreement-info .progress-bar.step-comp .bar-num:nth-child(5) {
    --bar-active-color: #B17ED9
}

.box-agreement-info .progress-bar.step-comp .bar:nth-child(3)::before {
    --bar-radius: 0 calc(var(--bar-height) / 2) calc(var(--bar-height) / 2) 0
}

.box-agreement-info .progress-bar.step-comp .bar-num {
    --typo-custom-c: #5F0080
}

.box-agreement-info .progress-bar.step-comp~.icon-checked {
    background-image: url("../image/event/icon-checked-active.svg")
}

.box-agreement-info .progress-bar.step-comp+.num b {
    color: #000
}

.grid-box-round {
    --grid-columns: repeat(2, 1fr)
}

.grid-box-round .box-round {
    min-width: 0;
    border-radius: 16px;
    border: 1px solid #ddd;
    overflow: hidden;
    padding: 16px 40px 24px;
    text-align: right;
    height: 318px
}

.grid-box-round .box-round .scroll-area {
    margin-bottom: 16px
}

.grid-box-round .box-agreement-info {
    height: 217px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.grid-box-round .box-agreement-info .progress-bar-wrap {
    margin-top: 26px;
    margin-bottom: 0
}

.grid-box-round .box-agreement-info .flex {
    margin-top: auto
}

.grid-box-round .box-agreement-info .flex .btn {
    min-width: 180px;
    margin: auto
}

.grid-box-round .no-contents {
    --no-contents-py: 62px
}

.grid-box-round .grid-banner {
    padding-top: 8px;
    --grid-columns: repeat(2, 1fr)
}

.grid-box-round .grid-banner a {
    height: 0;
    padding-bottom: 62.0437%;
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.grid-box-round .grid-banner a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.grid-box-round .name {
    text-align: left
}

.grid-box-round .grid-coupon-link {
    --grid-gap: 12px;
    --grid-columns: 1fr
}

.grid-box-round .coupon-link {
    border-radius: 12px;
    overflow: hidden;
    background-color: #f9f4ff;
    height: 103px;
    padding: 0 60px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    gap: 24px;
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px
}

.grid-box-round .coupon-link:before {
    display: inline-block;
    content: "";
    width: 90px;
    height: 44px;
    background: url("../image/event/icon-coupon.svg")
}

.grid-box-round .coupon-link em span {
    color: #5f0080
}

.grid-box-round .coupon-link em span.exp {
    color: #e6002d
}

.grid-box-round .coupon-link:disabled {
    pointer-events: none;
    background-color: #f8f8f8
}

.grid-box-round .coupon-link:disabled:before {
    display: inline-block;
    content: "";
    background-image: url("../image/event/icon-coupon-disabled.svg")
}

.grid-box-round .coupon-link:disabled span,
.grid-box-round .coupon-link:disabled em {
    color: #d8d8d8 !important
}

.grid-box-round .announce-link-wrap {
    margin-top: 8px;
    border-top: 1px solid #ededed
}

.grid-box-round .announce-link {
    text-align: left;
    display: block;
    width: 100%;
    padding: 8px 16px;
    border-bottom: 1px solid #ededed;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.grid-box-round .announce-link em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    align-self: start;
    max-width: 100%
}

@media only screen and (min-width: 768px) {

    .grid-box-round .announce-link em.new,
    .grid-box-round .announce-link em.file {
        padding-right: 24px;
        position: relative
    }
}

.grid-box-round .announce-link em.new:after,
.grid-box-round .announce-link em.file:after {
    content: "";
    margin-left: 4px;
    vertical-align: top;
    display: inline-block;
    margin-top: 1px;
    width: 20px;
    height: 16px;
    background-size: 16px auto;
    background-position: 0 0;
    background-repeat: no-repeat
}

@media only screen and (min-width: 768px) {

    .grid-box-round .announce-link em.new:after,
    .grid-box-round .announce-link em.file:after {
        position: absolute;
        top: 0;
        right: 0
    }
}

.grid-box-round .announce-link em.new:after {
    content: "";
    background-image: url("../image/icon/new.svg")
}

.grid-box-round .announce-link em.file:after {
    content: "";
    background-image: url("../image/icon/paperclip.svg")
}

@media only screen and (min-width: 768px) {
    .grid-box-round .announce-link em.new.file {
        padding-right: 44px
    }
}

.grid-box-round .announce-link em.new.file:after {
    content: "";
    width: 40px;
    background-image: url("../image/icon/paperclip.svg"), url("../image/icon/new.svg");
    background-size: 16px auto, 16px auto;
    background-position: 0 0, 20px 0;
    background-repeat: no-repeat, no-repeat
}

.grid-box-round .announce-link span {
    padding-top: 2px;
    color: #777
}

@media only screen and (min-width: 768px) {
    .coupon-modal {
        --modal-width: auto
    }

    .coupon-modal .btn-wrap {
        margin-left: -1px;
        margin-right: -1px
    }
}

.coupon-wrap {
    background-color: #f3f3f3;
    border: 1px solid #ededed;
    padding: 0px 32px 16px;
    border-radius: 12px;
    overflow: hidden
}

@media only screen and (max-width: 767px) {
    .coupon-wrap {
        padding-top: 4px;
        padding-left: 8px;
        padding-right: 8px;
        overflow-x: auto
    }
}

.coupon-wrap .coupon {
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    .coupon-wrap .coupon {
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto
    }
}

.coupon {
    width: 320px;
    height: 140px;
    background-image: url("../image/event/bg-coupon-pc.png");
    background-size: contain;
    background-repeat: no-repeat;
    display: grid;
    grid-template-columns: 229px 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .coupon {
        width: 296px;
        height: 140px;
        background-image: url("../image/event/bg-coupon-mo.png");
        grid-template-columns: 205px 1fr;
        --coupon-px: 20px
    }
}

.coupon>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.coupon>div:first-child {
    padding: 0 var(--coupon-px, 24px)
}

.coupon>div:first-child span.body3 {
    --typo-custom-w: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2
}

.coupon>div:first-child p.body3 {
    margin-top: 2px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 2
}

.coupon>div:last-child {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.coupon>div:last-child i {
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: url("../image/event/icon-coupon-checked.svg");
    background-size: cover;
    background-repeat: no-repeat
}

.coupon>div:last-child span {
    padding-top: 8px;
    font-weight: 600
}

.coupon .h3 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --typo-custom-w: 500;
    --typo-custom-c: #777;
    white-space: nowrap
}

.coupon .h3 b {
    color: #5f0080
}

.coupon .h3 b:first-child {
    font-size: 34px;
    letter-spacing: -0.02em;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.coupon .h3 b:nth-child(2) {
    padding-right: 4px;
    font-weight: 500
}

.coupon .d-days {
    margin-top: 8px;
    border: 1px solid #ccc;
    padding: 0 16px;
    border-radius: 11px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    font-size: var(--body3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 19px;
    --typo-custom-w: 500
}

.coupon .d-days .d-day {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.coupon .d-days .d-day.exp {
    color: #5f0080
}

.coupon .d-days .d-day:after {
    content: "";
    display: block;
    width: 1px;
    height: 8px;
    background-color: #ddd;
    margin: 0 4px
}

.side-banner.brand {
    margin-top: 69px
}

.side-banner.brand .side-banner-wrap {
    border-radius: 12px;
    background-color: #fff;
    box-shadow: inset 0 0 0 1px #ddd
}

.side-banner.brand .side-banner-item {
    margin-top: 0;
    padding: 16px 8px;
    position: relative;
    border-radius: 0
}

.side-banner.brand .side-banner-item:not(:first-child):before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    height: 1px;
    background-color: #ddd
}

.side-banner.brand .side-banner-item:hover span {
    font-weight: 600
}

.side-banner.brand .manager {
    --sidebanner-icon-url: url("../image/event/icon-manager-qa.svg");
    --sidebanner-icon-active-url: url("../image/event/icon-manager-qa-active.svg")
}

.side-banner.brand .brandhall {
    --sidebanner-icon-url: url("../image/event/icon-brandhall.svg");
    --sidebanner-icon-active-url: url("../image/event/icon-brandhall-active.svg")
}

.side-banner.brand .prodtalk {
    --sidebanner-icon-url: url("../image/event/icon-talk.svg");
    --sidebanner-icon-active-url: url("../image/event/icon-talk-active.svg")
}

.side-banner.brand .overview {
    --sidebanner-icon-url: url("../image/event/icon-overview.svg");
    --sidebanner-icon-active-url: url("../image/event/icon-overview-active.svg")
}

.tag-segment {
    position: relative;
    --tag-mr: 0;
    padding: 0 6px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #fff;
    --typo-custom-w: 600;
    --typo-custom-lh: 24px;
    background-color: #999
}

.tag-segment:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: calc(100% - 6px);
    width: 16px;
    height: 100%;
    background-image: url("../image/event/tag-segment.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 100%
}

.tag-discount {
    --tag-mr: 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-c: #E6002D;
    --typo-custom-w: 600;
    --typo-custom-lh: 16px;
    padding: 0 6px;
    background-color: #ffe1e1;
    border-radius: 8px
}

.tag-discount:before {
    display: inline-block;
    content: "";
    content: "▼";
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    margin-right: 1px;
    vertical-align: top
}

.default-price .tag-discount {
    background: rgba(0, 0, 0, 0);
    padding: 0;
    border-radius: 0;
    --body2: 14px;
    --typo-custom-lh: 21px
}

.default-price .tag-discount:before {
    content: unset
}

@media only screen and (min-width: 768px) {
    .has-floating-bar {
        --content-pb: 0
    }
}

.floating-bar {
    background-color: #4D0073;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5
}

@media only screen and (max-width: 767px) {
    .floating-bar {
        position: fixed;
        background-color: #fff;
        overflow: hidden;
        border-radius: 12px 12px 0px 0px;
        box-shadow: 0px -3px 5px 0px rgba(51, 51, 51, .2);
        padding-bottom: 0px;
        padding-bottom: calc(constant(safe-area-inset-bottom) + 0px);
        padding-bottom: calc(env(safe-area-inset-bottom) + 0px)
    }

    .floating-bar:not(.active) .title,
    .floating-bar:not(.active) .content {
        display: none
    }

    .floating-bar.active {
        z-index: 6
    }

    .floating-bar.active .content {
        padding-top: 16px;
        padding-bottom: 16px;
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px)
    }
}

.floating-bar .floating-contents {
    padding-top: 32px
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding-top: 16px;
        padding-bottom: 16px;
        max-width: calc(var(--content-width) + var(--side-padding)*2);
        margin-left: auto;
        margin-right: auto;
        padding-right: var(--side-padding);
        padding-left: var(--side-padding)
    }
}

@media only screen and (min-width: 768px)and (max-width: 767px) {
    .floating-bar .floating-contents {
        max-width: 100%
    }
}

@media only screen and (min-width: 768px)and (max-width: 767px) {
    .floating-bar .floating-contents {
        padding-right: var(--side-padding);
        padding-right: calc(constant(safe-area-inset-right) + var(--side-padding));
        padding-right: calc(env(safe-area-inset-right) + var(--side-padding));
        padding-left: var(--side-padding);
        padding-left: calc(constant(safe-area-inset-left) + var(--side-padding));
        padding-left: calc(env(safe-area-inset-left) + var(--side-padding))
    }
}

.floating-bar .floating-contents .title {
    padding-bottom: 8px;
    padding-left: 16px;
    padding-left: calc(constant(safe-area-inset-left) + 16px);
    padding-left: calc(env(safe-area-inset-left) + 16px);
    padding-right: 16px;
    padding-right: calc(constant(safe-area-inset-right) + 16px);
    padding-right: calc(env(safe-area-inset-right) + 16px);
    font-size: var(--h2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    position: relative
}

.floating-bar .floating-contents .title:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background-color: #777
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents .content {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-right: 12px
    }
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents>.flex {
        margin-left: 20px
    }
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents>.flex {
        display: grid;
        grid-template-columns: 1fr;
        padding-left: 16px;
        padding-left: calc(constant(safe-area-inset-left) + 16px);
        padding-left: calc(env(safe-area-inset-left) + 16px);
        padding-right: 16px;
        padding-right: calc(constant(safe-area-inset-right) + 16px);
        padding-right: calc(env(safe-area-inset-right) + 16px);
        padding-bottom: 16px
    }
}

.floating-bar .floating-contents .tag-summary {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 22px;
    --typo-custom-w: 600;
    --typo-custom-c: #5F0080;
    background-color: #fff;
    border-radius: 12px;
    border: 1px solid #5F0080;
    padding: 0 8px;
    --tag-mr: 0
}

.floating-bar .floating-contents .brand-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents .brand-info {
        margin-right: var(--floating-bar-margin, 18px);
        min-width: 160px
    }
}

.floating-bar .floating-contents .brand-info p {
    margin-left: 8px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #fff;
    --typo-custom-w: 600
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .brand-info .tag-summary {
        padding: 0 16px;
        --typo-custom-c: #fff;
        background-color: #5F0080
    }

    .floating-bar .floating-contents .brand-info p {
        margin-left: 4px;
        --typo-custom-c: #5F0080
    }
}

.floating-bar .floating-contents .quantity-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents .quantity-info {
        margin-right: var(--floating-bar-margin, 18px);
        max-width: 180px
    }
}

.floating-bar .floating-contents .quantity-info .tag-wrap {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .quantity-info .tag-wrap {
        margin-bottom: 0;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

.floating-bar .floating-contents .quantity-info .tag-wrap .tag {
    margin-bottom: 4px
}

.floating-bar .floating-contents .quantity-info em {
    margin-right: 8px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #ccc;
    --typo-custom-w: 500;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .quantity-info em {
        --typo-custom-c: #777;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
}

.floating-bar .floating-contents .quantity-info p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-width: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-c: #fff;
    --typo-custom-w: 600;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .quantity-info p {
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        --typo-custom-c: #333
    }
}

.floating-bar .floating-contents .quantity-info p span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.floating-bar .floating-contents .price-info {
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents .price-info {
        --body1: 12px
    }
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 8px;
        padding-top: 8px
    }
}

.floating-bar .floating-contents .price-info p:not(.price) {
    margin-right: 8px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    --typo-custom-c: #ccc
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info p:not(.price) {
        --typo-custom-c: #777
    }
}

.floating-bar .floating-contents .price-info .price {
    --typo-custom-c: #FFE500
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info .price {
        --typo-custom-c: #F08300
    }
}

.floating-bar .floating-contents .price-info .price:nth-of-type(2) {
    --typo-custom-c: #fff
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info .price:nth-of-type(2) {
        --typo-custom-c: #333
    }
}

.floating-bar .floating-contents .price-info .price:after {
    content: "";
    margin: 0 8px;
    width: 1px;
    height: 16px;
    background-color: rgba(221, 221, 221, 0.2)
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info .price:after {
        display: none
    }
}

.floating-bar .floating-contents .price-info .price:last-of-type::after {
    display: none
}

.floating-bar .floating-contents .price-info .price span {
    margin-right: 0;
    font-size: 16px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .price-info .price span {
        font-size: inherit;
        font-weight: inherit
    }
}

.floating-bar .floating-contents .total {
    margin-right: var(--floating-bar-margin, 19px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .total {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        --floating-bar-margin: 0;
        padding-bottom: 16px
    }
}

.floating-bar .floating-contents .total p:not(.order-pay-amount) {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 8px;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600;
    --typo-custom-c: #ccc
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .total p:not(.order-pay-amount) {
        --typo-custom-c: #000
    }
}

.floating-bar .floating-contents .total .order-pay-amount {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 0;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --body1: 16px;
    --typo-custom-c: #fff;
    --typo-custom-lh: 26px
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .total .order-pay-amount {
        --typo-custom-c: #000
    }
}

.floating-bar .floating-contents .total .order-pay-amount span {
    font-size: 20px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .total .order-pay-amount span {
        color: #E6002D
    }
}

.floating-bar .floating-contents .btn-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0 var(--item-gap);
    position: relative
}

@media only screen and (min-width: 768px) {
    .floating-bar .floating-contents .btn-wrap>.btn {
        width: 115px
    }

    .brand-main-page~.floating-bar .floating-contents .btn-wrap>.btn.filled {
        --button-bdc: #FF3F67;
        --button-bdc-hover: #FF3884;
        --button-bgc: #FF3F67;
        --button-bgc-hover: #FF3884;
        --button-bdc-active: #F2204C;
        --button-bgc-active: #F2204C
    }
}

@media only screen and (max-width: 767px) {
    .floating-bar .floating-contents .btn-wrap>.btn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        --button-height: 41px
    }
}

.brand-agreement .table-wrap {
    margin-top: 12px
}

@media only screen and (min-width: 768px) {

    .brand-agreement .table-wrap th:nth-child(1),
    .brand-agreement .table-wrap td:nth-child(1) {
        min-width: 250px
    }
}

@media only screen and (max-width: 767px) {

    .brand-agreement .table-wrap th:nth-child(1),
    .brand-agreement .table-wrap td:nth-child(1) {
        min-width: 60vw;
        width: 328px;
        max-width: 70vw
    }
}

.brand-agreement .table-wrap th:nth-child(2),
.brand-agreement .table-wrap td:nth-child(2) {
    white-space: nowrap
}

@media only screen and (min-width: 768px) {

    .brand-agreement .table-wrap th:nth-child(2),
    .brand-agreement .table-wrap td:nth-child(2) {
        width: 134px
    }
}

@media only screen and (max-width: 767px) {

    .brand-agreement .table-wrap th:nth-child(2) .prd-price,
    .brand-agreement .table-wrap td:nth-child(2) .prd-price {
        min-width: auto
    }
}

.brand-agreement .table-wrap th:nth-child(3),
.brand-agreement .table-wrap td:nth-child(3) {
    white-space: nowrap
}

@media only screen and (min-width: 768px) {

    .brand-agreement .table-wrap th:nth-child(3),
    .brand-agreement .table-wrap td:nth-child(3) {
        width: auto;
        min-width: 134px
    }
}

.brand-agreement .table-wrap td {
    padding: 8px 16px
}

.brand-agreement .table-wrap td:first-child {
    text-align: left
}

.brand-agreement .table-wrap td:first-child .title-main {
    font-size: 13px
}

.form-title {
    position: relative
}

.form-title input {
    padding-right: 36px
}

.form-title input:-moz-placeholder-shown~.btn {
    display: none
}

.form-title input:-ms-input-placeholder~.btn {
    display: none
}

.form-title input:placeholder-shown~.btn {
    display: none
}

.form-title .btn.icon {
    --button-icon-gap: 0;
    position: absolute;
    top: 50%;
    right: 8px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.item-modal .breadcrumb {
    margin-top: 4px;
    margin-bottom: 16px
}

.item-modal .prd-item-list.type-column .item-element {
    --prd-thumb-size: 166px;
    --item-info-container-mt: 0;
    --item-info-container-mb: 0;
    padding-left: calc(var(--prd-thumb-size) + var(--prd-detail-gap, 32px))
}

.item-modal .prd-item-list.type-column .item-element .title-sub {
    margin-top: 0;
    text-overflow: unset;
    white-space: normal;
    overflow: unset
}

.item-modal .prd-item-list.type-column .item-element .title-sub>span {
    min-width: 0
}

@media only screen and (max-width: 767px) {
    .item-modal .prd-item-list.type-column {
        --item-list-columns: 1;
        --prd-detail-gap: 16px
    }

    .item-modal .prd-item-list.type-column .item-element {
        --prd-thumb-size: 166px
    }

    .item-modal .prd-item-list.type-column .item-element .thumbnail-container {
        top: 0;
        -webkit-transform: none;
        transform: none
    }
}

@media only screen and (max-width: 343px) {
    .item-modal .prd-item-list.type-column .item-element {
        --prd-thumb-size: 85px
    }
}

.item-modal .item-element {
    pointer-events: none;
    --prd-thumb-size: 170px
}

.item-modal .item-element .title-sub {
    padding-top: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--item-gap) 0;
    -webkit-line-clamp: unset;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 21px;
    --typo-custom-c: #333;
    --typo-custom-w: 500
}

.item-modal .item-element .title-sub .divider-vertical-line {
    display: none
}

.item-modal .item-element .title-sub b {
    display: block;
    margin-right: 8px;
    color: #777;
    font-weight: 500;
    min-width: 70px
}

@media only screen and (max-width: 767px) {
    .item-modal .item-element .title-sub b {
        min-width: 60px
    }
}

@media only screen and (max-width: 767px) {
    .item-modal .item-element {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(var(--prd-thumb-size) + var(--prd-el-p, 0px)*2);
        padding-left: calc(var(--prd-thumb-size) + 12px + var(--prd-el-p, 0px));
        padding-top: var(--prd-el-p, 0px);
        padding-bottom: var(--prd-el-p, 0px);
        padding-right: var(--prd-el-p, 0px);
        --prd-tag-promotion-t: 0
    }

    .item-modal .item-element .item-detail {
        position: static
    }

    .item-modal .item-element .thumbnail-container {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: var(--prd-el-p, 0px);
        width: var(--prd-thumb-size)
    }

    .item-modal .item-element .tag-wrap {
        top: calc((100% - var(--prd-thumb-size))/2)
    }
}

.item-modal .table-wrap {
    margin-top: 16px
}

.item-modal .table tr:first-of-type td {
    border-top: 1px solid #777
}

.item-modal .table th,
.item-modal .table td {
    height: 39px;
    padding: 8px 16px;
    text-align: left
}

.item-modal .table th:first-child,
.item-modal .table td:first-child {
    width: 130px
}

@media only screen and (max-width: 767px) {
    .item-modal .table th {
        white-space: normal
    }
}

.item-modal .table td {
    border-bottom-color: #ddd
}

.item-modal .detail-info {
    margin-top: 16px
}

.item-modal .detail-info img {
    width: 100%
}

.breadcrumb {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.breadcrumb .bc-depth,
.breadcrumb .select-wrap {
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 16px;
    --typo-custom-w: 500
}

.breadcrumb .bc-depth:not(:first-child):before,
.breadcrumb .select-wrap:not(:first-child):before {
    display: inline-block;
    content: "";
    vertical-align: top;
    width: 16px;
    height: 16px;
    background: url("../image/icon/chevron-down-b999.svg");
    background-size: cover;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.breadcrumb .select-wrap {
    --select-width: 150px
}

.breadcrumb .select-wrap:not(:first-child) {
    --select-width: 174px
}

.breadcrumb .select-wrap:not(:first-child)::before {
    margin: 0 4px
}

@media only screen and (max-width: 767px) {
    .brand-container .products-modal {
        padding: 16px
    }
}

.products-modal .head-wrap {
    --head-mb: 16px
}

@media only screen and (max-width: 767px) {
    .products-modal .head-wrap {
        --head-mb: 20px;
        gap: 28px
    }
}

.products-modal .head-wrap.head-col-1 {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.products-modal .head-wrap.head-col-1 .h2 {
    --typo-custom-w: 400
}

.products-modal .head-wrap.head-col-1 .h2 b,
.products-modal .head-wrap.head-col-1 .h2 em {
    font-weight: 600
}

.products-modal .head-wrap.head-col-1 .h2 em {
    color: #e6002d
}

@media only screen and (max-width: 767px) {
    .products-modal .head-wrap.head-col-1 .h2 {
        --h2: 20px
    }
}

.products-modal .head-wrap.head-col-1 .body1 {
    margin-top: 4px;
    --body1: var(--body2);
    --typo-custom-lh: 16px;
    --typo-custom-c: #777
}

.products-modal .head-wrap.head-col-1 .search {
    --input-width: 230px
}

@media only screen and (max-width: 767px) {
    .products-modal .head-wrap.head-col-1 .search {
        --input-width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .products-modal .head-wrap.filter {
        margin-bottom: 16px
    }
}

.products-modal .head-wrap.filter .h3 {
    --h3: var(--body1);
    --typo-custom-lh: 21px;
    --typo-custom-c: #333
}

.products-modal .zzim-ctrl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-top: 24px;
    padding-bottom: 16px
}

@media only screen and (max-width: 767px) {
    .products-modal .zzim-ctrl {
        padding-bottom: 20px
    }
}

.products-modal .zzim-ctrl .btn {
    min-width: 65px
}

.products-modal .table-wrap {
    padding-top: 200px;
    margin-top: -200px
}

.products-modal .table-wrap th,
.products-modal .table-wrap td {
    white-space: nowrap
}

@media only screen and (min-width: 768px) {

    .products-modal .table-wrap th:nth-child(2),
    .products-modal .table-wrap th:nth-child(4),
    .products-modal .table-wrap td:nth-child(2),
    .products-modal .table-wrap td:nth-child(4) {
        min-width: 158px;
        width: 158px
    }
}

@media only screen and (max-width: 767px) {

    .products-modal .table-wrap th:nth-child(1),
    .products-modal .table-wrap td:nth-child(1) {
        min-width: 55vw;
        width: 328px;
        max-width: 70vw
    }
}

.products-modal .table-wrap th:nth-child(3),
.products-modal .table-wrap td:nth-child(3) {
    min-width: 100px
}

.products-modal .table-wrap .item-element {
    text-align: left
}

.products-modal .table-wrap .prd-ctrl {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.products-modal .table-wrap .prd-ctrl>.body3 {
    padding-top: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.products-modal .table-wrap .prd-ctrl>.body3 .c-red:first-child {
    margin-left: 4px
}

.products-modal .table-wrap .prd-ctrl>.body3 .c-red:not(:first-child) {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.products-modal .table-wrap .prd-ctrl>.body3 .c-red:not(:first-child):before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 9px;
    background-color: #ddd;
    margin: 0 4px
}

.order-grid-page {
    min-height: 100%;
    display: grid;
    grid-template-columns: 360px 1fr 320px;
    gap: 0
}

.order-grid-page .no-contents {
    --no-contents-py: 40px;
    margin: auto
}

.order-grid-page .head-wrap>div {
    min-width: 0
}

.order-grid-page .h1 {
    --typo-custom-lh: 34px;
    margin-bottom: 12px
}

.order-grid-page .h2 {
    padding: 15px 15px 12px
}

.order-grid-page .h3 {
    --typo-custom-lh: 21px;
    --h3: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.order-grid-page .ad-banner {
    --ad-banner-pc-h: 100px
}

.order-grid-page>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0
}

.order-grid-page>div::-webkit-scrollbar {
    width: 4px
}

.order-grid-page>div::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .3);
    border-radius: 10px
}

.order-grid-page>div::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.order-grid-page>div:nth-child(1),
.order-grid-page>div:nth-child(2) {
    max-height: 1170.78px;
    overflow-y: auto
}

.order-grid-page>div:nth-child(1)>div,
.order-grid-page>div:nth-child(2)>div {
    min-height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.order-grid-page>div:first-child {
    width: 360px
}

.order-grid-page>div:first-child>div {
    width: 340px
}

.order-grid-page>div:first-child .head-wrap {
    margin-top: 36px;
    --head-mb: 12px
}

.order-grid-page>div:first-child .ad-banner {
    margin-top: 24px
}

.order-grid-page>div:nth-child(2) {
    width: 576px;
    margin: 0 auto
}

.order-grid-page>div:nth-child(2)>div {
    width: 556px
}

.order-grid-page>div:nth-child(2) .head-wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --head-mb: 12px
}

.order-grid-page>div:nth-child(2) .select-wrap {
    min-width: 100px
}

.order-grid-page>div:nth-child(3) {
    --floating-top: var(--top-banner-h, 0px) + var(--header-height, 158px);
    height: calc(100vh - (var(--floating-top)));
    max-height: 1170.78px;
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--floating-top));
    border: 1.5px solid #5f0080;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.order-grid-page>div:nth-child(3)>div:nth-child(1) {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow-y: auto
}

.order-grid-page>div:nth-child(3)>div:nth-child(2)>div {
    background-color: #f9f4ff;
    padding: 16px 16px 12px
}

.order-grid-page>div:nth-child(3)>div:nth-child(2) .filled {
    width: 100%;
    border-radius: 0
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 {
    padding: 0 15px;
    --item-height: 24px
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 .input-checkbox {
    font-weight: 500
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 .btn {
    --button-bdc: #DDDDDD;
    --button-bdc-hover: #DDDDDD
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 .icon-reset {
    width: 24px;
    --icon-url: url("../image/product/icon-reset.svg")
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 .icon-reset:before {
    margin: 0
}

.order-grid-page>div:nth-child(3) .flex.space-x-8 .icon-reset span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.order-grid-page .price-info {
    gap: 4px
}

.order-grid-page .price-info p:not(.price) {
    --typo-custom-c: #777
}

.order-grid-page .price-info p:not(.price):nth-last-child(2) {
    --typo-custom-c: #000
}

.order-grid-page .price-info p.price span {
    margin-right: 0
}

.order-grid-page .price-info p.price:last-child {
    --typo-custom-c: #000
}

.order-grid-page td:last-child,
.order-grid-page th:last-child {
    width: 158px
}

.order-grid-page .tab {
    --tabitem-gap: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.order-grid-page .tab>.scroll-area {
    margin-bottom: 12px
}

.order-grid-page .tab .head-wrap {
    margin-top: 36px;
    --head-mb: 12px
}

.order-grid-page .tab .select-wrap {
    width: 120px;
    -webkit-box-flex: unset;
    -webkit-flex: unset;
    -ms-flex: unset;
    flex: unset
}

.order-grid-page .tab .search {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.order-grid-page .tab .search>div,
.order-grid-page .tab .search input {
    width: 100%
}

.order-grid-page .tab .tabs-content[aria-hidden=false] {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.order-grid-page .tab-item {
    background-color: #f4f4f4;
    color: #999;
    line-height: 35px;
    border-radius: 4px 4px 0 0;
    border-bottom: 1px solid #5f0080;
    font-size: 14px
}

.order-grid-page .tab-item[aria-selected=true] {
    background-color: #5f0080;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .order-grid-page~.section.only-mo .h1 {
        display: none
    }
}

.all-seller-list td>.flex,
.recent-prd-list td>.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.all-seller-list td>.flex em,
.recent-prd-list td>.flex em {
    --body1: 12px;
    --typo-custom-w: 600;
    --typo-custom-lh: 16px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.all-seller-list td>.flex em a,
.recent-prd-list td>.flex em a {
    -webkit-text-decoration-line: underline;
    -moz-text-decoration-line: underline;
    text-decoration-line: underline;
    vertical-align: top;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.all-seller-list td>.flex .tag,
.recent-prd-list td>.flex .tag {
    margin-top: 4px
}

.ad-prd-list {
    margin-top: 12px;
    padding: 16px 0;
    border-radius: 12px;
    border: 1px solid #ddd;
    background: #f8f8f8;
    overflow-x: auto;
    position: relative
}

.ad-prd-list .title {
    position: absolute;
    top: -1px;
    left: -1px;
    border-radius: 12px 0 4px 0;
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 0 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-w: 600;
    --typo-custom-lh: 22px;
    z-index: 2
}

.ad-prd-list .prd-item-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 0
}

.ad-prd-list .swiper {
    padding: 0 16px
}

.ad-prd-list .item-element {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 12px;
    --ad-prd-size: 85px;
    width: var(--ad-prd-size);
    --item-info-container-mt: 8px;
    --item-info-container-mb: 0;
    --prd-thumb-size: var(--ad-prd-size);
    --prd-thumb-w: 100%
}

.searched-prd-list .prd-item-list.prd-master {
    margin-top: 12px;
    --item-list-columns: 1;
    --item-list-gap: 12px
}

.searched-prd-list .prd-item-list.prd-master .item-element {
    --prd-thumb-size: 80px;
    border-radius: 8px;
    border: 1px solid #ddd;
    position: relative;
    padding: 11px 15px 11px 103px;
    min-height: 173px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.searched-prd-list .prd-item-list.prd-master .item-element .item-detail {
    --item-info-container-mt: 3px
}

.searched-prd-list .prd-item-list.prd-master .item-element .thumbnail-container {
    top: 12px;
    left: 16px;
    -webkit-transform: none;
    transform: none;
    --search-show: none
}

.searched-prd-list .prd-item-list.prd-master .item-element .desc {
    width: 160px
}

.searched-prd-list .prd-item-list.prd-master .item-element .title-main {
    -webkit-line-clamp: 2;
    min-height: 34px
}

.searched-prd-list .prd-item-list.prd-master .item-element .title-sub {
    min-height: 16px
}

.searched-prd-list .prd-item-list.prd-master .item-element .type {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #ededed;
    margin-left: -88px;
    width: calc(100% + 88px)
}

.searched-prd-list .prd-item-list.prd-master .item-element .type .title-sub {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0
}

.searched-prd-list .prd-item-list.prd-master .item-element .type .tag-type {
    margin-left: 8px
}

.searched-prd-list .prd-item-list.prd-master .item-element .type .seller-num {
    margin-left: auto;
    font-size: 12px;
    color: #000;
    line-height: 18px
}

.searched-prd-list .prd-item-list.prd-master .item-element .type .seller-num em {
    font-size: 14px;
    font-weight: 600;
    margin-right: 6px
}

.searched-prd-list .prd-item-list.prd-master .item-element .category {
    padding-top: 8px;
    font-size: var(--body2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #777);
    --typo-custom-lh: 24px;
    --typo-custom-c: #999;
    margin-left: -88px;
    -webkit-flex-basis: calc(100% + 88px);
    -ms-flex-preferred-size: calc(100% + 88px);
    flex-basis: calc(100% + 88px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 60px
}

.searched-prd-list .prd-item-list.prd-master .item-element .category span:not(:first-child):before {
    display: inline-block;
    content: "";
    vertical-align: top;
    margin: 4px 2px 0;
    width: 16px;
    height: 16px;
    background: var(--prd-category-arrow, url("../image/icon/chevron-down-narrow-b999.svg"));
    background-size: contain;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.searched-prd-list .prd-item-list.prd-master .item-element .user-action {
    --item-info-container-mb: 0
}

.searched-prd-list .prd-item-list.prd-master .item-element .user-action .btn {
    position: absolute
}

.searched-prd-list .prd-item-list.prd-master .item-element .user-action .btn.xs {
    bottom: 11px;
    right: 15px
}

.searched-prd-list .prd-item-list.prd-master .item-element .user-action .btn.text {
    --button-fz: 10px;
    --button-icon-gap: 2px;
    --icon-url: url("../image/product/search.svg");
    --item-element-disabled-color: #5F0080;
    top: 10px;
    right: 9px
}

.searched-prd-list .prd-item-list.prd-master .item-element.active:after,
.searched-prd-list .prd-item-list.prd-master .item-element:not(.disabled):hover:after {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    bottom: -1px;
    right: -1px;
    border-radius: 8px;
    border: 2px solid #bd76ff;
    pointer-events: none
}

.searched-prd-list .prd-item-list.prd-master .item-element.disabled .item-detail {
    pointer-events: none;
    --prd-category-arrow: url("../image/icon/chevron-down-narrow-disabled.svg")
}

.all-seller-list .head-wrap {
    margin-top: 16px
}

.all-seller-list th:nth-child(1),
.all-seller-list td:nth-child(1) {
    padding-left: 40px;
    position: relative;
    width: 162px;
    max-width: 162px
}

@media only screen and (max-width: 767px) {

    .all-seller-list th:nth-child(1),
    .all-seller-list td:nth-child(1) {
        min-width: 158px
    }
}

.all-seller-list th:nth-child(2),
.all-seller-list td:nth-child(2) {
    width: 158px;
    min-width: 158px
}

.all-seller-list th:nth-child(3),
.all-seller-list td:nth-child(3) {
    min-width: 80px
}

.all-seller-list th:last-child,
.all-seller-list td:last-child {
    width: 146px;
    min-width: 146px
}

.all-seller-list th.tr-promo,
.all-seller-list td.tr-promo {
    padding-top: 0;
    padding-left: 8px
}

.all-seller-list th.tr-promo a,
.all-seller-list td.tr-promo a {
    text-decoration: underline
}

.all-seller-list th.tr-promo .grid:before,
.all-seller-list td.tr-promo .grid:before {
    display: inline-block;
    content: "";
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0;
    right: 0;
    background-color: #fff;
    height: 3px
}

.all-seller-list .underline .btn {
    vertical-align: top
}

.all-seller-list .prd-ctrl {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 130px;
    --btn-alarm-pc-w: 130px;
    --item-height: 24px
}

.all-seller-list .prd-ctrl .quantity-wrap~.btn.btn-cart {
    width: 24px
}

.all-seller-list .prd-ctrl .quantity-box input {
    --item-height: 22px
}

.all-seller-list .prd-ctrl>.body3 {
    padding-top: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 130px;
    width: 100%
}

.all-seller-list .prd-ctrl>.body3 .c-red:first-child {
    margin-left: 4px
}

.all-seller-list .prd-ctrl>.body3 .c-red:not(:first-child) {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.all-seller-list .prd-ctrl>.body3 .c-red:not(:first-child):before {
    display: inline-block;
    content: "";
    width: 1px;
    height: 9px;
    background-color: #ddd;
    margin: 0 4px
}

.all-seller-list .grid {
    padding: 8px;
    border-radius: 8px;
    background-color: #f8f8f8;
    --grid-columns: auto 1fr;
    --grid-gap: 8px;
    text-align: left
}

.all-seller-list .grid>div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: 20px
}

.all-seller-list .grid .body2 {
    --typo-custom-c: #333;
    --typo-custom-lh: 20px
}

.all-seller-list .grid .body2:not(:last-child) {
    position: relative;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.all-seller-list .grid .body2:not(:last-child):after {
    content: "";
    width: 1px;
    height: 12px;
    background-color: #ddd;
    margin: 0 4px
}

.all-seller-list .grid .body2 .c-red {
    margin-left: 2px;
    --c-red-custom: #7346F3
}

.all-seller-list .tag-event-ing {
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    align-self: start;
    background-color: #eaddff;
    color: #5f0080;
    --body2: var(--body3);
    --tag-mr: 0
}

.all-seller-list .icon-zzim {
    position: absolute;
    top: 50%;
    left: 4px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.recent-prd-list {
    margin-top: 32px
}

.recent-prd-list th:first-child,
.recent-prd-list td:first-child {
    width: 100px
}

.recent-prd-list th:nth-child(2),
.recent-prd-list td:nth-child(2) {
    width: 130px;
    max-width: 130px
}

.recent-prd-list th:last-child,
.recent-prd-list td:last-child {
    width: 95px
}

.recent-prd-list th {
    white-space: nowrap
}

.recent-prd-list span.body1 {
    white-space: nowrap
}

.order-seller-list>li {
    background: #f8f8f8;
    padding: 16px;
    margin-top: 8px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.order-seller-list>li>.check-wrap {
    --item-height: 21px;
    -webkit-flex-basis: 60%;
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%
}

.order-seller-list>li>.check-wrap .input-checkbox>em {
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1
}

.order-seller-list>li>.check-wrap .input-checkbox>span {
    color: #333;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.order-seller-list>li .input-checkbox {
    font-weight: 600
}

.order-seller-list>li .input-checkbox i {
    vertical-align: top
}

.order-seller-list>li .body1 {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right
}

.order-seller-list>li>.body2 {
    -webkit-flex-basis: 40%;
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 2px;
    padding-left: 28px;
    white-space: nowrap;
    --body2: var(--body3);
    --typo-custom-lh: 13px;
    --typo-custom-w: 500
}

.order-seller-list>li>.body3 {
    margin-top: 2px;
    text-align: right;
    --typo-custom-lh: 13px;
    --typo-custom-w: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.order-seller-list>li>.btn {
    margin-top: 2px;
    padding-left: 0;
    --button-px: 2px;
    --button-c: #5F0080;
    --button-fz: var(--body3);
    --button-height: 12px;
    --button-icon-gap: 2px;
    --icon-url: url("../image/order/icon-popup-primary.svg")
}

.order-seller-list>li>.divider-vertical-line {
    height: 9px;
    margin: 4px 4px 0 4px
}

.order-prd-list {
    margin-top: 8px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    border: 1px solid #ededed;
    border-radius: 4px;
    overflow: hidden
}

.order-prd-list li {
    background-color: #fff;
    padding: 8px 12px;
    position: relative
}

.order-prd-list li:not(:first-child) {
    border-top: 1px solid #ededed
}

.order-prd-list .check-wrap {
    padding-right: 24px;
    --item-height: 20px
}

.order-prd-list .input-checkbox {
    font-size: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    -webkit-line-clamp: 1
}

.order-prd-list .icon-close {
    position: absolute;
    top: 10px;
    right: 10px
}

.order-prd-list .tag.tag-mr {
    padding: 0 3px
}

.order-prd-list .flex {
    margin-top: 8px;
    --item-height: 24px
}

.order-prd-list .flex .form-basic {
    --input-px: 5px;
    width: 54px;
    max-width: 54px;
    text-align: center
}

.order-prd-list .flex .btn,
.order-prd-list .flex .body1,
.order-prd-list .flex .c-red {
    margin-left: 4px
}

.order-prd-list .flex .body1 {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right
}

.order-prd-list .flex .c-red~.body1 {
    color: #d8d8d8 !important
}

.order-prd-list .flex .btn {
    --button-px: 6px
}

.order-prd-list .flex .btn.disabled~.body1,
.order-prd-list .flex .btn:disabled~.body1 {
    color: #d8d8d8 !important
}

.superpass-desc {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding-top: 8px
}

.superpass-desc .body2 {
    --typo-custom-c: #333;
    --typo-custom-w: 600
}

.superpass-desc .btn {
    margin: 0 4px
}

.superpass-desc .body3 {
    margin-left: auto;
    text-align: right
}

.product-list-page .breadcrumb {
    margin-bottom: 16px
}

.product-list-page .breadcrumb .bc-depth {
    --body2: var(--body1);
    --typo-custom-lh: 1.5;
    --typo-custom-c: #777;
    --typo-custom-w: 400
}

.product-list-page .breadcrumb .bc-depth:before {
    margin: 2px 2px 0
}

.product-list-page .head-wrap {
    --head-mb: 28px
}

.product-list-page .head-wrap.head-col-1 {
    --head-mb: 36px
}

@media only screen and (min-width: 768px) {
    .product-list-page .head-wrap.head-col-1 .search {
        --input-width: 300px
    }
}

@media only screen and (max-width: 767px) {
    .product-list-page .head-wrap.head-col-1 {
        --head-mb: 28px;
        gap: 8px
    }
}

.product-list-page .head-wrap.filter {
    --head-mb: 16px;
    --head-wrap-columns: 1fr
}

.product-list-page .head-wrap.filter>div:nth-child(2) {
    display: grid;
    grid-template-columns: auto 1fr
}

.product-list-page .head-wrap.filter>div:nth-child(2) .flex {
    margin-left: 0
}

@media only screen and (min-width: 768px) {
    .product-list-page .head-wrap.filter {
        gap: 16px
    }
}

@media only screen and (min-width: 768px)and (min-width: 768px) {
    .product-list-page .head-wrap.filter .flex .search {
        --input-width: 300px
    }
}

@media only screen and (min-width: 768px) {
    .product-list-page .head-wrap.filter .flex .select-wrap {
        --select-width: 150px
    }

    .product-list-page .head-wrap.filter .type-divider {
        --body2: var(--body1)
    }
}

@media only screen and (max-width: 767px) {
    .product-list-page .head-wrap.filter {
        --head-wrap-columns: 1fr;
        margin-bottom: 16px
    }

    .product-list-page .head-wrap.filter>div:nth-child(2) {
        grid-template-columns: 1fr
    }

    .product-list-page .head-wrap.filter .flex {
        margin-left: 0 !important;
        margin-bottom: 16px;
        gap: 8px
    }

    .product-list-page .head-wrap.filter .search,
    .product-list-page .head-wrap.filter .select-wrap {
        margin: 0 !important
    }
}

.product-list-page .head-wrap~.h2 {
    margin: 24px 0 24px;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .product-list-page .head-wrap~.h2 {
        margin-top: -4px
    }
}

@media only screen and (min-width: 768px) {
    .product-list-page .head-wrap .flex .search {
        --input-width: 172px
    }

    .product-list-page .head-wrap .flex .select-wrap {
        --select-width: 120px
    }
}

@media only screen and (max-width: 767px) {
    .product-list-page .head-wrap .flex {
        margin-top: 20px;
        display: grid;
        gap: 20px
    }
}

.product-list-page .head-wrap .h2 {
    --typo-custom-lh: 34px
}

@media only screen and (max-width: 767px) {
    .product-list-page .head-wrap .h2 {
        --typo-custom-lh: 31px
    }
}

.product-list-page .head-wrap .h2 em {
    display: inline-block;
    vertical-align: top;
    font-size: var(--h1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #000);
    --typo-custom-lh: 34px
}

.product-list-page .head-wrap .h2 em~em {
    margin-left: 4px
}

.product-list-page .head-wrap .body1 {
    --typo-custom-w: 600
}

.product-list-page .ad-banner {
    margin-top: 40px
}

@media only screen and (min-width: 768px) {
    .quick-order-modal {
        --modal-width: 1200px
    }

    .quick-order-modal .modal-body {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        min-height: 0
    }

    .quick-order-modal .modal-body>.grid {
        height: 100%;
        overflow: hidden
    }
}

.quick-order-modal .modal-body {
    --modal-body-mb: 0
}

@media only screen and (min-width: 768px) {
    .quick-order-modal .modal-body {
        padding: 16px 0 0
    }
}

.quick-order-modal .modal-body>.grid {
    padding: 0 12px 0 32px;
    --grid-columns: 1fr 584px;
    --grid-gap: 12px
}

@media only screen and (max-width: 767px) {
    .quick-order-modal .modal-body>.grid {
        --grid-columns: 1fr;
        --grid-gap: 0;
        padding: 0 0 152px;
        display: block
    }
}

.quick-order-modal .modal-body>.grid>div {
    padding-bottom: 24px
}

@media only screen and (min-width: 768px) {
    .quick-order-modal .modal-body>.grid>div {
        min-width: 0;
        overflow-y: auto
    }

    .quick-order-modal .modal-body>.grid>div::-webkit-scrollbar {
        width: 4px
    }

    .quick-order-modal .modal-body>.grid>div::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .3);
        border-radius: 10px
    }

    .quick-order-modal .modal-body>.grid>div::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0)
    }

    .quick-order-modal .modal-body>.grid>div:first-child>div {
        width: 540px
    }

    .quick-order-modal .modal-body>.grid>div:last-child>div {
        width: 564px
    }
}

.quick-order-modal .h3 {
    --h3: 16px
}

.quick-order-modal .head-wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --head-mb: 12px
}

.quick-order-modal .all-seller-list .head-wrap {
    margin-top: 0
}

.quick-order-modal .all-seller-list .table-wrap {
    min-height: 150px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

@media only screen and (min-width: 768px) {
    .quick-order-modal .all-seller-list .table-wrap table {
        table-layout: fixed
    }

    .quick-order-modal .all-seller-list .table-wrap th:first-child,
    .quick-order-modal .all-seller-list .table-wrap td:first-child {
        width: unset;
        max-width: unset
    }

    .quick-order-modal .all-seller-list .table-wrap th:nth-child(2),
    .quick-order-modal .all-seller-list .table-wrap td:nth-child(2) {
        width: 120px;
        min-width: unset
    }

    .quick-order-modal .all-seller-list .table-wrap th:nth-child(3),
    .quick-order-modal .all-seller-list .table-wrap td:nth-child(3) {
        width: 70px;
        min-width: unset
    }

    .quick-order-modal .all-seller-list .table-wrap th>.prd-price,
    .quick-order-modal .all-seller-list .table-wrap td>.prd-price {
        min-width: 100%
    }
}

.quick-order-modal .all-seller-list .table-wrap th:last-child,
.quick-order-modal .all-seller-list .table-wrap td:last-child {
    width: 183px
}

.quick-order-modal .all-seller-list .table-wrap tr:first-child td .prd-ctrl>[data-tippy-root] {
    bottom: calc(-100% - 18px) !important
}

.quick-order-modal .all-seller-list .prd-ctrl {
    min-width: 167px
}

.quick-order-modal .all-seller-list .prd-ctrl .quantity-wrap {
    width: 78px
}

.quick-order-modal .all-seller-list .prd-ctrl .quantity-box {
    width: 100%;
    grid-template-columns: 18px 1fr 18px
}

.quick-order-modal .all-seller-list .prd-ctrl .quantity-box button {
    background-size: 12px
}

.check-num-modal .flex {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end
}

.check-num-modal .flex p {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 8px
}

.check-num-modal .flex .btn {
    margin-left: auto
}

.check-num-modal p.body1 {
    font-weight: 600
}

.check-num-modal .gray-box {
    border-radius: 12px
}

.check-num-modal .gray-box:not(:first-child) {
    margin-top: 16px
}

.check-num-modal .table-wrap {
    margin-top: 16px
}

.check-num-modal .table-wrap table>thead>tr>th {
    color: #333
}

.check-num-modal .table-wrap table>tbody>tr>td {
    height: 37px;
    --item-height: 21px
}

.check-num-modal .table-wrap table>tbody>tr>td:first-child {
    white-space: nowrap
}

.reorder-page [data-tippy-root] .tippy-box {
    min-width: 206px
}

.reorder-page .caution-box {
    padding: 16px 24px;
    border: 1px solid #ddd
}

.reorder-page .caution-box .title {
    padding-left: 32px;
    font-size: var(--lnb2);
    --typo-custom-lh: 24px;
    position: relative;
    padding-bottom: 0
}

.reorder-page .caution-box .title:before {
    display: inline-block;
    content: "";
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-image: url(../image/icon/caution-b333.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 8px;
    position: absolute;
    top: 0;
    left: 0
}

.reorder-page .caution-box .title span {
    margin-top: 8px;
    display: block;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-lh: 1.5;
    --typo-custom-w: 400
}

.reorder-page .caution-box .dot-list {
    margin-top: 8px;
    padding-top: 8px;
    padding-left: 27px;
    border-top: 1px dotted #ccc
}

.reorder-page .reorder-btns {
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.reorder-page .reorder-btns .btn:not([hidden]):not(:first-child) {
    margin-left: 8px
}

.reorder-page .reorder-btns [data-tippy-root] {
    -webkit-transform: translate(0, calc(100% - 4px)) !important;
    transform: translate(0, calc(100% - 4px)) !important
}

.reorder-page .tab {
    margin-top: 16px
}

.reorder-page .reorder-ctrl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 24px;
    margin-bottom: 16px
}

.reorder-page .reorder-ctrl .check-wrap label {
    font-size: var(--h3);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 600);
    color: var(--typo-custom-c, #222);
    --h3: 16px;
    --typo-custom-c: #333
}

.reorder-page .reorder-ctrl .xs {
    margin-left: 8px
}

.reorder-page .reorder-ctrl .reorder-btns {
    position: relative
}

.reorder-page .table-wrap.table-seller-product th:nth-child(1),
.reorder-page .table-wrap.table-seller-product td:nth-child(1) {
    min-width: 220px
}

.reorder-page .table-wrap.table-seller-product th:nth-child(3),
.reorder-page .table-wrap.table-seller-product td:nth-child(3) {
    width: 150px;
    min-width: 150px
}

.reorder-page .table-wrap.table-seller-product th:nth-child(4),
.reorder-page .table-wrap.table-seller-product td:nth-child(4) {
    width: 222px;
    min-width: 222px
}

.reorder-page .table-wrap td:nth-child(1) {
    padding: 0
}

.reorder-page .table-wrap .grid {
    --grid-columns: auto 1fr;
    --grid-gap: 8px;
    padding: 8px 16px
}

@media only screen and (max-width: 767px) {
    .reorder-page .table-wrap .grid {
        padding: 8px
    }
}

.reorder-page .table-wrap tr.disabled td {
    background-color: #f8f8f8
}

.reorder-page .table-wrap tr.disabled td .check-wrap {
    pointer-events: none
}

.reorder-page .table-wrap tr.disabled td span {
    color: #d8d8d8 !important
}

.reorder-page .table-wrap tr.disabled td .divider-vertical-line {
    background-color: #d8d8d8
}

.reorder-page .brand-container .table-wrap {
    padding-top: 0;
    margin-top: 0
}

.reorder-page .brand-container~.brand-container {
    --brand-container-gap: 16px
}

.reorder-page .brand-container .brand-name {
    margin-bottom: 8px;
    padding-bottom: 8px;
    margin-top: 0;
    padding-top: 16px;
    border: none
}

.reorder-page .brand-container .brand-name .check-wrap label span {
    --h3: 14px;
    --typo-custom-w: 500
}

.reorder-page .brand-container .brand-name .order-cutoff {
    --body2: var(--body1);
    --typo-custom-c: #333;
    --typo-custom-w: 400
}

@media only screen and (max-width: 767px) {
    .reorder-page .brand-container .brand-name {
        padding-top: 8px;
        margin-bottom: 0
    }
}

.reorder-page .brand-container .brand-wrap .products-modal {
    padding-top: 0px
}

@media only screen and (max-width: 767px) {
    .reorder-page .brand-container .brand-wrap .products-modal {
        padding-top: 8px
    }
}

@media only screen and (max-width: 767px) {
    .reorder-page .w-full {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .reorder-page .tab {
        min-height: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .reorder-page .tab .tabs-content[aria-hidden=false] {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media only screen and (min-width: 768px) {
    .reorder-page .no-contents {
        --no-contents-py: 0;
        height: 534px
    }

    .reorder-page .no-contents .text-wrap p {
        --typo-custom-w: 400
    }
}

.radio-wrap.type-divider {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end
}

.radio-wrap.type-divider .input-radio {
    margin-left: 0;
    --item-height: 23px;
    font-size: var(--body2);
    --select-c: #999;
    font-weight: 500
}

.radio-wrap.type-divider .input-radio i {
    display: none
}

.radio-wrap.type-divider .input-radio span {
    padding-right: 0;
    color: #999
}

.radio-wrap.type-divider .input-radio:hover span {
    color: #222
}

.radio-wrap.type-divider .input-radio input:checked~span {
    color: #222
}

.seller-info {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    padding: 15px 23px;
    margin-bottom: 16px
}

.seller-info .title {
    padding-left: 32px;
    min-height: 24px;
    font-size: var(--lnb2);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.3);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600;
    --typo-custom-c: #000;
    background-position: left 0;
    background-size: 24px;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKNSURBVHgB7ZntUeMwEIbfo4J0wHZwdHAqgRJcwnVAOoivgvgqgA5iKgAqwB0AFYB2vButRUgcS/74kWdmRx7bknZX0uoLuHAhiV/Iw8rLjZdbL9fyvBJh3r00kj56qUVmx3kpvbx5+TxTOM8WrbGT47zsIoVqtMZwKxCC94FuC/E/z1HeneQZHVZkg64X1wMrJy+Vl1dT3gZdw7NCUWXrTJWRlKXlvmKE1uDmfzMVjNFvCcFBWeuwylcYsYml7HuE7plsBCF4pcJ0VAhGEAbC3lDl7zE9FUJ3GtTqm9QCErEO3OBMCCEqEObjxujhzsi3n6TWSKMQSWGNMNn1Qq1OjccFgvf+YjjclTQKuvjj1YEMWlmNdgGWg3cMh/P+k+fbPhnUWkI6BdK7EEMIYfVoQHHy4xOWh45LZ1/GXUg/PmJ5vEja6UaxAX8krbE8aknJvowN0P7VYHk8S/r72E86gHPNvAXyDGKGddKB/CMat3NQmPIK5OGbflcYD/rhOSuxATrhzLF4O4U94dgTG/AR/bwkSNLGvowN0JE+y1HHCUjSD/syNqCR1GF5OElr+zI24EHSo7F2Jg5Osoe6EA8Sh3k3MjGEtluzbrX9cCgK/ZfnAsthLelDn58dei5dT1Agz0RGCHvj3sFlSVvKO4Sz1944BO/NGVIJCYcLJZZzrFJiALaALaZHjxiTHEgIS+wpjdgi40m1Pdxlr4x9uKvKZzncVbgge/RNyI+tI6vyCqF7wXGHPIasEELlmA7aV1ZGlW0x/IqJFbcXhCUminiEdmKxF3VPCJd8es2qrCSPXvLt8P2C0GEGWNEKw69Z2RiHBHJddDPOCHv8Gt1tIG9EeLXboF2U6cr3woU5+QKltuvubH5L+gAAAABJRU5ErkJggg==)
}

.seller-info .desc {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    padding-left: 32px;
    margin-top: 11px
}

.item-modal .tab.line h3 {
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    --typo-custom-w: 600;
    --typo-custom-c: #000
}

.item-modal .tab.line img {
    width: 100% !important;
    max-width: 100%
}

.item-modal .tab.line h3~img,
.item-modal .tab.line .prd-detail-box,
.item-modal .tab.line .table-wrap {
    margin-top: 12px
}

.item-modal .tab.line h3~img~h3,
.item-modal .tab.line .prd-detail-box~h3,
.item-modal .tab.line .table-wrap~h3 {
    margin-top: 16px
}

.item-modal .tab.line .table-wrap th {
    white-space: nowrap
}

dl.prd-detail-box {
    margin: 0;
    padding: 0;
    border-top: 1px solid #777;
    display: grid;
    grid-template-columns: repeat(2, 130px 1fr)
}

.quick-order-modal dl.prd-detail-box {
    grid-template-columns: repeat(2, 85px 1fr)
}

@media only screen and (max-width: 767px) {
    dl.prd-detail-box {
        grid-template-columns: 130px 1fr
    }
}

@media only screen and (max-width: 343px) {
    dl.prd-detail-box {
        grid-template-columns: 85px 1fr
    }
}

dl.prd-detail-box dt,
dl.prd-detail-box dd {
    border-bottom: 1px solid #ddd;
    font-size: var(--body1);
    letter-spacing: -0.02em;
    line-height: var(--typo-custom-lh, 1.5);
    font-weight: var(--typo-custom-w, 400);
    color: var(--typo-custom-c, #333);
    padding: 8px;
    margin: 0
}

dl.prd-detail-box dt {
    font-weight: 500;
    background-color: #f8f8f8;
    white-space: nowrap
}

.preparing-page .img-wrap img {
    -webkit-animation: 1.5s linear infinite loader;
    animation: 1.5s linear infinite loader
}

@-webkit-keyframes loader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes loader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.mr-page {
    text-align: right
}

.mr-page .icon-arrow-right {
    --icon-url: url("../image/icon/chevron-down.svg")
}

.mr-page .icon-arrow-right:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.mr-page .icon-arrow-right span {
    text-decoration: underline
}

.mr-page .manager-wrap {
    text-align: left;
    margin-top: 20px;
    position: static;
    width: 100%;
    padding: 0;
    border-radius: 0;
    border: none;
    max-height: unset;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px
}

.mr-page .manager-wrap .manager-box {
    margin-top: 0 !important;
    grid-template-columns: 1fr auto auto;
    padding: 11px;
    border: 1px solid #bebebe;
    border-radius: 4px
}

@media only screen and (max-width: 343px) {
    .mr-page .manager-wrap .manager-box b>span:nth-child(2) {
        display: none
    }
}

.mr-page .manager-wrap .manager-box .btn {
    min-width: 77px
}

.mr-page .manager-wrap .manager-box .btn:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    margin-right: 4px;
    width: 12px;
    height: 12px;
    background-size: 12px auto;
    background-position: center;
    background-repeat: no-repeat
}

@media only screen and (max-width: 343px) {
    .mr-page .manager-wrap .manager-box .btn {
        min-width: unset
    }
}

.mr-page .manager-wrap .manager-box .light-outline:before {
    background-image: url("../image/icon/icon-ask.svg")
}

.mr-page .manager-wrap .manager-box .filled:before {
    background-image: url("../image/icon/icon-call.svg")
}

@media only screen and (min-width: 768px) {
    .mr-page .manager-wrap {
        grid-template-columns: repeat(4, 1fr)
    }

    .mr-page .manager-wrap .manager-box {
        grid-template-columns: 1fr auto
    }

    .mr-page .manager-wrap .manager-box .filled {
        display: none
    }
}

.order-mo-page form {
    --item-height: 24px
}

@media only screen and (max-width: 767px) {
    .order-mo-page form {
        --item-height: 35px
    }
}

.order-mo-page form .grid {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    --grid-gap: 4px
}

.order-mo-page form .grid-date {
    --grid-gap: 4px
}

@media only screen and (min-width: 768px) {
    .order-mo-page form .grid-date {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        gap: unset
    }

    .order-mo-page form .grid-date .btn {
        min-width: 79px
    }
}

.order-mo-page form .grid-picker {
    --grid-columns: repeat(4, 1fr)
}

.order-mo-page form .grid-input {
    --grid-columns: 1fr auto 1fr
}

@media only screen and (min-width: 768px) {
    .order-mo-page form .grid-input {
        margin-left: 4px;
        display: inline-grid;
        --grid-columns: 155px auto 155px
    }
}

.order-mo-page form h4.body1 {
    --typo-custom-w: 600;
    --typo-custom-c: #000;
    margin: 20px 0 8px
}

@media only screen and (min-width: 768px) {
    .order-mo-page form h4.body1 {
        display: none
    }
}

@media only screen and (min-width: 768px) {
    .order-mo-page form .grid-order-filter {
        --grid-columns: auto 1fr;
        margin-top: 4px
    }
}

.order-mo-page form .radio-button {
    --body1: var(--body2)
}

.order-mo-page form .radio-button label:not(:first-child) {
    margin-left: 4px
}

@media only screen and (min-width: 768px) {
    .order-mo-page form .radio-button label {
        min-width: 106px
    }
}

@media only screen and (max-width: 767px) {
    .order-mo-page form .radio-button label {
        white-space: nowrap;
        padding-left: 0;
        padding-right: 0
    }

    .order-mo-page form .radio-button label:nth-child(5) {
        margin-left: 0
    }

    .order-mo-page form .radio-button label:nth-child(n+1):nth-child(-n+4) {
        width: calc((100% - 12px)/4)
    }

    .order-mo-page form .radio-button label:nth-child(n+5):nth-child(-n+7) {
        width: calc((100% - 8px)/3);
        margin-top: 4px
    }
}

@media only screen and (max-width: 343px) {
    .order-mo-page form .radio-button label {
        font-size: 11px
    }

    .order-mo-page form .radio-button label:nth-child(6) {
        width: calc((100% - 8px)/3 + 14px) !important
    }

    .order-mo-page form .radio-button label:nth-child(7) {
        width: calc((100% - 8px)/3 - 14px) !important
    }
}

.order-mo-page form .crud {
    --crud-mt: 8px
}

@media only screen and (max-width: 767px) {
    .order-mo-page form .crud {
        --crud-mt: 20px
    }
}

@media only screen and (min-width: 768px) {
    .order-mo-page form .crud .btn {
        max-width: 106px;
        margin: auto
    }
}

.order-mo-page .order-list {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px
}

@media only screen and (max-width: 767px) {
    .order-mo-page .order-list {
        margin-top: 28px;
        grid-template-columns: 1fr
    }
}

.order-mo-page .order-list .order-item {
    background-color: #fff;
    min-width: 0;
    border: 1px solid #bebebe;
    border-radius: 4px;
    padding: 11px
}

.order-mo-page .order-list .order-item>.body1 {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    max-width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.order-mo-page .order-list .order-item .ellipsis {
    display: inline-block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.order-mo-page .order-list .order-item h5 {
    margin-bottom: 4px
}

.order-mo-page .order-list .order-item h5 span {
    margin-left: 4px;
    font-weight: 500
}

.order-mo-page .order-list .order-item>p.body1 {
    font-weight: 500
}

.order-mo-page .order-list .order-item .divider-vertical-line {
    margin: 0 8px
}

.order-mo-page .order-list .order-item .btn {
    margin-left: auto
}

.order-mo-page .order-list .order-item .flex:last-child {
    margin-top: 4px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.order-mo-page .order-list .order-item .flex:last-child .body1:not(.c-b777) {
    font-weight: 500
}

.order-mo-page .icon-arrow-right {
    --icon-url: url(../image/icon/chevron-down-primary.svg)
}

.order-mo-page .icon-arrow-right:hover {
    --icon-url: url(../image/icon/chevron-down-primary-secondary.svg)
}

.order-mo-page .icon-arrow-right:active {
    --icon-url: url(../image/icon/chevron-down-primary-strong.svg)
}

.order-mo-page .icon-arrow-right:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.order-mo-page.detail .order-list {
    margin-top: 0;
    grid-template-columns: 1fr
}

.order-mo-page.detail .order-list .order-item>p.body1 {
    font-weight: 400
}

.order-mo-page.detail .order-list .order-item .c-primary {
    font-weight: 400 !important
}

.order-mo-page.detail h4.body1 {
    margin: 20px 0 8px;
    --typo-custom-w: 600;
    --typo-custom-c: #000
}

@media only screen and (min-width: 768px) {
    .order-mo-page.detail h4.body1 {
        margin-top: 16px
    }
}

.order-mo-page.detail .line-box {
    border-radius: 4px;
    border: 1px solid #bebebe;
    background-color: #fff;
    padding: 11px
}

.order-mo-page.detail .line-box em~.price-info p {
    color: #333 !important
}

.order-mo-page.detail .line-box .price-info {
    padding: 0;
    gap: 4px
}

.order-mo-page.detail .line-box .price-info hr {
    grid-column: span 2;
    height: 0;
    border-top: 1px solid #ededed;
    margin: 4px 0
}

.order-mo-page.detail .line-box .price-info hr~p:not(.price) {
    color: #333
}

.order-mo-page.detail .line-box .price-info hr~p {
    font-weight: 600 !important
}

.order-mo-page.detail .line-box .price-info p:not(.price) {
    color: #777;
    font-weight: 400
}

.order-mo-page.detail .line-box .price-info p.price {
    font-weight: 500
}

.radio-button label {
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 10px;
    padding-right: 10px;
    background-color: #fff
}

.radio-button label i {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #9b9b9b;
    border-radius: 4px;
    pointer-events: none;
    background-color: unset
}

.radio-button label span {
    padding-right: 0 !important;
    color: #333
}

.radio-button label:hover i {
    border-color: #5f0080;
    border-width: 1px
}

.radio-button label:hover span {
    color: #5f0080
}

.radio-button label input:checked~i {
    border-color: #5f0080;
    border-width: 1px
}

.radio-button label input:checked~span {
    color: #5f0080
}

/*# sourceMappingURL=maps/daewonmall.css.map */