/* Google web font CDN*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap");

@font-face {
    font-family: "GmarketSansMedium";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff")
        format("woff");
    font-weight: normal;
    font-style: normal;
}

:root {
    --c-purple: #6743ff;
    --c-purple-2: #e2dbff;
    --c-yellow-2: #fffbdc;
    --c-red-2: #fedade;
    --c-green-2: #d9f9e8;
    --c-blue-2: #deeefd;
    --c-grey-0: #f8f9fa;
    --c-grey-2: #e9e9e9;
}

/* layout */
body {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #1e1e1e;
}

/* 로그인, 회원가입에서 gnb 숨기기 */
body.off .wrap_main {
    margin-left: 0;
}

body.off .wrap_main main {
    padding-top: 40px;
}

body.off .user_menu {
    display: none;
}

body.off #gnb {
    display: none;
}

body.off .logo {
    display: block;
}

body.off .call_gnbMo {
    display: none;
}

.wrap_main {
    margin-left: 240px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -ms-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
}

main {
    padding: 50px;
    flex-grow: 1;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -ms-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
}

footer {
    flex-shrink: 0;
    padding: 20px 25px;
    color: #6c757d;
    text-align: center;
}

.terms_wrap {
    margin-bottom: 6px;
}

.inner_main {
    /* border:5px solid red; */
    position: relative;
    overflow: hidden;
}

.inner {
    width: 1200px;
    position: relative;
    margin: 0 auto;
}

section {
    width: 100%;
    padding: 50px 0;
}

article {
    position: relative;
}

/* 풀스크린 */
.layout_full {
    position: fixed;
    z-index: 49;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.layout_full .logo_img {
    width: 60px;
    position: absolute;
    bottom: 6vh;
    left: 50%;
    margin-left: -30px;
}

.layout_full .bottom_box {
    /* align-self:stretch; */
    position: absolute;
    bottom: 6vh;
    text-align: center;
    color: #6c757d;
}

.layout_full .bottom_box .logo_img {
    position: relative;
    bottom: auto;
    left: auto;
    margin-left: 0;
    margin-bottom: 20px;
}

.layout_full .bottom_box .copy {
    font-size: 14px;
    padding: 0 20px;
}

.layout_fixed {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0px;
    top: 0px;
    background-color: #fff;
    z-index: 500000;
    overflow-y: auto;
}

.hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: polygon(0 0, 0 0, 0 0);
}

.flexwrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.flexwrap .item {
    width: 49%;
    margin-bottom: 30px;
    position: relative;
}

.flexwrap .item:nth-child(odd) {
    margin-right: 1%;
}

.flexwrap .item:nth-child(even) {
    margin-left: 1%;
}

.flexwrap .item_unbal:nth-child(odd) {
    width: 39%;
}

.flexwrap .item_unbal:nth-child(even) {
    width: 59%;
}

.flexwrap.thr {
    justify-content: flex-start;
}

.flexwrap.thr .item {
    width: 32%;
    margin-right: 2%;
    margin-left: 0;
    margin-bottom: 20px;
}

.flexwrap.thr .item:nth-child(3n) {
    margin-right: 0;
}

.flexwrap.left_wide {
    align-items: start;
}

.flexwrap.left_wide > .item:nth-of-type(odd) {
    width: 59%;
}

.flexwrap.left_wide > .item:nth-of-type(even) {
    width: 39%;
}

.flex {
    display: flex;
    align-items: center;
}

.loading_cir {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0px;
    top: 0px;
    background-color: #fff;
    z-index: 50;
    overflow-y: auto;
    background-color: #1e1e1e;
    background-repeat: no-repeat;
    background-position: 50% 45%;
    background-image: url(/asset/images/loading.gif);
    background-size: 5vh;
    z-index: 2000; /* 이 값으로 레이어의 위치를 조정합니다. */
    opacity: 0.4;
    display: none;
}

/* text */
.h1 {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 40px;
}

.h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 25px;
}

.h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

em {
    font-style: normal;
}

.text_primary {
    font-weight: 700;
    color: #6743ff;
}

.text_bold {
    font-weight: 700;
}

.text_red {
    color: #fb4659 !important;
}

.text_green {
    color: #40de8c;
}

.text_gray {
    color: #787878;
}

.text_right {
    text-align: right;
}

.text_nowrap {
    white-space: nowrap;
}

.text_ellipsis {
    width: 150px;
    white-space: nowrap; /*줄바꿈 방지*/
    overflow: hidden;
    text-overflow: ellipsis; /*말줄임표 ...*/
}

.t_sub,
.sub {
    font-size: 14px;
    font-weight: 400;
    color: #6c757d;
    margin-left: 8px;
}

.l_sub_area {
    margin-bottom: 40px;
}

.l_sub {
    display: block;
    color: #6c757d;
}

.l_sub_mb {
    margin-bottom: 10px;
}

.l_sub::before {
    display: inline-block;
    content: "-";
    margin-right: 5px;
}

.important_mark::after {
    display: inline-block;
    content: "*";
    margin-left: 3px;
}

.tool_tip {
    display: inline-block;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    margin: 0 4px;
    border-radius: 50%;
    background-color: #fb4659;
    color: #fff;
}

a:hover {
    color: #6743ff;
}

textarea {
    width: 100%;
    border: 1px solid #ced4da;
    padding: 10px;
}

.textarea_sm {
    height: 38px;
}

.textarea_wrap {
    width: 100%;
    border: 1px solid #ced4da;
}

.textarea_wrap > textarea {
    border: none;
    height: 200px;
}

.textarea_wrap .numofcha {
    text-align: right;
    padding: 10px;
    box-sizing: border-box;
}

.divide {
    width: 100%;
    height: 1px;
    background-color: #ced4da;
    margin: 10px 0;
}

/*
.grade .rate {
  width: 121px;
  height: 20px;
  background: url(/asset/images/stars_bg.png) no-repeat;
  position: relative;
}
.grade .rate span{
  position: absolute;
  background: url(/asset/images/stars.png);
  width: auto;
  height: 20px;
} */

.star_ratings {
    position: relative;
    width: max-content;
    color: #ebebeb;
}

.star_ratings .base,
.star_ratings .fill {
    display: flex;
}

.star_ratings .base {
    z-index: 0;
}

.star_ratings .fill {
    color: #ffe227;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 1;
}

/* button */

.btn_area {
    margin: 40px 0px 0px;
    text-align: center;
}

.btn_area .btn {
    font-size: 18px;
    padding: 0 25px;
    height: 50px;
    line-height: 48px;
}

.btn {
    display: inline-block;
    height: 38px;
    line-height: 36px;
    padding: 0 10px;
    /* padding:6px 10px;
  line-height:1.5; */
    border-radius: 3px;
    border: 1px solid;
    text-align: center;
    font-weight: 500;
    box-sizing: border-box;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    cursor: pointer;
    font-size: 14px;
    overflow: hidden;
}

.btn_big {
    width: 100%;
    height: 60px;
    font-size: 18px;
}

.btn_sm {
    height: 30px;
    line-height: 30px;
}

.btn_auto {
    font-size: 12px;
    height: auto;
    padding-block: 4px;
    line-height: 1.2;
}

/* btn color */
.btn_primary {
    background-color: #6743ff;
    border-color: #6743ff;
    color: #fff;
}

.btn_primary:hover {
    background-color: #441aff;
    border-color: #6743ff;
    color: #fff;
}

.btn_primary_line {
    background-color: #fff;
    color: #6743ff;
    border-color: #6743ff;
}

.btn_primary_line:hover {
    background-color: #6743ff;
    border-color: #6743ff;
    color: #fff;
}

.btn_warning {
    background-color: #ff8c1a;
    border-color: #ff8c1a;
    color: #fff;
}

.btn_warning:hover {
    background-color: #e67300;
    border-color: #e67300;
    color: #fff;
}

.btn_mono_line {
    background-color: #fff;
    border-color: #707070;
    color: #1e1e1e;
}

.btn_mono_line:hover {
    background-color: #e9ecef;
    color: #1e1e1e;
}

.btn_mono {
    background-color: #f8f9fa;
    border-color: #ced4da;
    color: #707070;
}

.btn_mono:hover {
    background-color: #e9ecef;
    color: #707070;
}

.btn_red_line {
    background-color: #fff;
    border-color: #fb4659;
    color: #fb4659;
}

.btn_red_line:hover {
    background-color: #fb4659;
    color: #fff;
}

.btn_text {
    font-size: 18px;
    font-weight: 700;
}

.btn_text.guide {
    font-size: 14px;
    color: #6743ff;
    text-align: left;
}

.btn_text.guide:before {
    content: "?";
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.3em;
    height: 1.3em;
    background: #6743ff;
    border-radius: 50%;
    color: #fff;
    font-size: 0.8em;
    font-weight: 400;
    margin-right: 2px;
}

.h1 + .btn_text.guide {
    margin-bottom: 10px;
}

.top_btn_area {
    text-align: right;
    margin-bottom: 10px;
}

.top_btn_area .dl_wrap {
    display: flex;
    align-items: center;
}

.top_btn_area .dl_wrap dl {
    font-size: 18px;
    text-align: left;
    margin-bottom: 0;
    margin-right: 24px;
}

.top_btn_area .dl_wrap dl > dt {
    width: fit-content;
    margin-right: 12px;
}

.guide_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.guide_wrap .guide {
    margin-left: 10px;
}

.btn_delete {
    font-size: 0;
}

.btn_delete::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: url(/asset/images/ico_delete_bk.svg) no-repeat center/45%;
    cursor: pointer;
    margin: 0 3px;
    position: relative;
    top: 6px;
    transition: 0.2s;
}

.btn_delete:hover::after {
    background-color: #e9ecef;
    background-image: url(/asset/images/ico_delete_bk.svg);
    border-color: #e9ecef;
}

/* 한 페이지에 class 겹치는게 있어서 추가했어요 따로 사용할일이 있어서요! 잘못됐으면 말해주세요*/
.btn_delete2 {
    font-size: 0;
}
.btn_delete2::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: url(/asset/images/ico_delete_bk.svg) no-repeat center/45%;
    cursor: pointer;
    margin: 0 3px;
    position: relative;
    top: 6px;
    transition: 0.2s;
}
.btn_delete2:hover::after {
    background-color: #e9ecef;
    background-image: url(/asset/images/ico_delete_bk.svg);
    border-color: #e9ecef;
}
/* 한 페이지에 class 겹치는게 있어서 추가했어요 따로 사용할일이 있어서요! 잘못됐으면 말해주세요*/

button:disabled,
button[disabled] {
    border-color: #999999;
    background-color: #fff;
    color: #666666;
}

/* icon */
.icon_txt_wrap {
    display: flex;
    align-items: center;
}

.icon_txt_wrap > .icon {
    margin-right: 4px;
    width: 0.9rem;
    height: 0.9rem;
    flex-shrink: 0;
}

.icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.icon_btn_wrap {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    overflow: hidden;
    transition: 0.2s;
    font-size: 0;
    text-align: center;
    flex-shrink: 0;
}

.icon_btn_wrap > .icon {
    width: 14px;
    height: 14px;
}

.icon_btn_wrap:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.icon_btn_wrap.icon_on {
    background-color: rgba(0, 0, 0, 0.1);
}

.icon_btn_wrap.icon_on:hover {
    background-color: rgba(0, 0, 0, 0.15);
}

.icon_btn_wrap.icon_on > .icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%)
        hue-rotate(247deg) brightness(106%) contrast(101%);
}

.icon.icon_arrow {
    background-image: url(/asset/images/ico_arrow_bk.svg);
}

.icon.icon_arrow_next {
    transform: rotate(-180deg);
}

.icon.icon_plus {
    background-image: url(/asset/images/ico_plus.svg);
    opacity: 0.5;
}

.icon.icon_more {
    background-image: url(/asset/images/ico_more.svg);
    width: 20px;
    height: 20px;
}

.icon.icon_trash {
    background-image: url(/asset/images/ico_trash.svg);
    opacity: 0.7;
}

/* caption */
.caption {
    display: inline-block;
    height: 25px;
    line-height: 23px;
    padding: 0 10px;
    border-radius: 25px;
    border: 1px solid;
    text-align: center;
    box-sizing: border-box;
    font-size: 12px;
    overflow: hidden;
}

.caption_primary {
    background-color: #f0edfd;
    border-color: #f0edfd;
    color: #6743ff;
}

.caption_mono {
    background-color: #f1f1f1;
    border-color: #f1f1f1;
    color: #1e1e1e;
}

.caption_red {
    background-color: #fef0f1;
    border-color: #fef0f1;
    color: #fb4659;
}

.tables .flex {
    flex-wrap: wrap;
}

.tables .caption {
    margin-right: 6px;
}

/* input */
input {
    accent-color: #6743ff;
}

input[type="text"]:read-only {
    background-color: #f8f9fa;
}

.input {
    display: inline-block;
    width: 290px;
    height: 38px;
    line-height: 38px;
    padding: 0 10px;
    background-color: #fff;
    border: 1px solid #ced4da;
    box-sizing: border-box;
    vertical-align: top;
}

.input_addon {
    width: max-content;
    position: relative;
}

.input_addon::after {
    display: inline-flex;
    align-items: center;
    padding-inline: 10px;
    height: 100%;
    content: "%";
    color: #6c757d;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.input_addon_won::after {
    content: "원";
}

.input_addon_gun::after {
    content: "건";
}

.input_addon .input {
    padding-right: 34px;
}

.input_between {
    width: 90px;
    text-align: right;
}

.input_md {
    width: 150px;
}

.input_sm {
    width: 50px !important;
    text-align: right;
}

.input_txt_blind {
    -webkit-text-security: disc;
}

/* input file custom */
input[type="file"]::file-selector-button {
    padding: 4px 10px;
    margin: 0;
    margin-right: 5px;

    border-radius: 3px;
    border: 1px solid;
    text-align: center;
    font-weight: 400;
    box-sizing: border-box;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    cursor: pointer;
    line-height: 1.5;
    font-size: 15px;
    background-color: #fff;
    border-color: #707070;
    color: #1e1e1e;
}

input[type="file"]::file-selector-button:hover {
    background-color: #e9ecef;
    color: #1e1e1e;
}

.file_area {
    display: flex;
    width: 100%;
    align-items: center;
    margin-bottom: 10px;
}

.file_area input[type="file"] {
    /* width:100%; */
    margin-bottom: 0;
}

.file_area .img {
    width: 40px;
    height: 40px;
}

.file_area > .img_wrap {
    width: 40px;
    height: 40px;
    overflow: hidden;
}

.file_area > .img_wrap > .img {
    width: 100%;
    height: 100%;
    transform: scale(105%);
}

.file_area:has(.file_list) {
    flex-wrap: wrap;
    gap: 8px;
}

.file_list {
    display: flex;
    gap: 2px;
}

.file_list li {
    position: relative;
}

.file_list li .btn_remove {
    position: absolute;
    top: 4px;
    right: 4px;
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    background: #fff url(/asset/images/ico_delete.svg) no-repeat center/14px;
    filter: invert(100%);
}

.infile {
    display: flex;
    position: relative;
    margin-bottom: 10px;
}

/* .infile input::file-selector-button {
  display: none;
} */

.infile label {
    width: 70px;
    height: 70px;
    background-color: #ced4da;
    line-height: 70px;
    color: #6c757d;
    text-align: center;
    cursor: pointer;
    margin-right: 10px;
}

.infile label i {
    position: relative;
    z-index: 1;
}

.infile .img {
    width: 70px;
    height: 70px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
}

.infile .img img {
    width: 102%;
    height: 102%;
    position: absolute;
    top: -1%;
    left: -1%;
}

/* input ck, rd + label */
/* 명시적 */
.in_la {
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
}

.in_la label {
    cursor: pointer;
    margin-left: 4px;
    margin-bottom: 0 !important;
}

.in_la_wrap > * {
    display: flex;
}

.in_la_double {
    display: flex;
}

.in_la_double > * {
    flex: 1 1 40%;
}

/* 암시적 */
.la_in {
    display: inline-flex;
    align-items: start;
    cursor: pointer;
}

.la_in input {
    margin-right: 4px;
    position: relative;
    top: 4px;
}

/* input + btn */
.in_btn {
    display: flex;
    width: 290px;
}

.in_btn .input {
    flex-grow: 1;
    margin-right: 5px;
}

.in_btn .btn {
    flex-shrink: 0;
}

.p-input {
    display: flex;
    align-items: center;
}

.p-input > .input {
    margin: 0 4px;
    width: 90px !important;
}

/* input color */
.select_color {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin-right: 16px;
    border: 2px solid #fff;
    box-sizing: content-box;
    transition: 0.1s;
    cursor: pointer;
    position: relative;
}

.select_color:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid transparent;
    box-sizing: content-box;
}

.select_color:hover:after {
    border-color: var(--c-purple);
}

.select_color.on:after {
    border-color: var(--c-purple);
}

.select_color[data-color="#e2dbff"] {
    background: var(--c-purple-2);
}

.select_color[data-color="#fffbdc"] {
    background: var(--c-yellow-2);
}

.select_color[data-color="#fedade"] {
    background: var(--c-red-2);
}

.select_color[data-color="#d9f9e8"] {
    background: var(--c-green-2);
}

.select_color[data-color="#deeefd"] {
    background: var(--c-blue-2);
}

.select_color[data-color="#e9e9e9"] {
    background: var(--c-grey-2);
}

/* select */
.sel_time {
    width: 290px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.sel_time_two .input:first-child {
    margin-right: 5px;
}

.sel {
    min-width: 110px;
    height: 36px;
    line-height: 36px;
    padding: 0 10px;
    padding-left: 5px;
    background-color: #fff;
    border: 1px solid #ced4da;
    box-sizing: border-box;
    flex-grow: 1;
    cursor: pointer;
    margin-bottom: 0;
    border-radius: 8px;
}

.sel_in {
    display: flex;
    align-items: center;
}

.sel_in > .sel {
    flex-shrink: 0;
    margin-right: 4px;
}

/* input[type=time] {
  background-color: #fff;
  position: relative;
}

input[type=time]::before {
  content:"시작시간";
  position: absolute;
  background-color: #fff;
}

input[type=time]:focus::before {
  content :'';
  background-color: transparent;
} */

/* in_btn > .sels_tri > .sel */
.in_btn .sels_tri {
    display: flex;
    flex-grow: 1;
}

.in_btn .sels_tri .sel {
    margin-right: 5px;
}

.display_date .in_la {
    display: flex;
    margin-bottom: 10px;
}

/* input label custom */
.img_btn_area {
    margin-block: 10px 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.img_btn {
    width: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid #ebebeb;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    font-size: 13px;
}

.img_btn > .img_wrap {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 8px;
    border: 1px solid #f1f1fa;
}

.img_btn > .img_wrap > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.img_btn > span {
    margin-bottom: 8px;
}

.img_btn:has(input[type="radio"]:checked) {
    border-color: #6743ff;
}

/* search area */
.search_area {
    margin-bottom: 20px;
}

.search_area fieldset {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.search_area .sel {
    width: 110px;
    flex-grow: 0;
    border-color: #ced4da;
    margin-right: 5px;
}

.search_area .in_btn {
    display: inline-flex;
}

.search_area input[type="text"] {
    background-color: #f8f9fa !important;
}

.search_area .sel_time {
    margin-right: 5px;
}

.search_detail_area {
    background-color: #f8f9fa;
    padding: 20px;
    margin-bottom: 40px;
}

.search_detail_area dl {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.search_detail_area dt {
    width: 100px;
    flex-shrink: 0;
}

.search_detail_area dd {
    margin-bottom: 0;
}

.search_detail_area .sel {
    width: 100px;
}

.search_detail_area dd .sel_time {
    display: inline-flex;
}

.date_btn {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

/* address search */
.search_address .in_btn {
    margin-bottom: 5px;
}

.search_address .in_btn .input {
    width: 100%;
}

/* 날짜 검색 연 월 */
.nav_date {
    display: flex;
    flex-wrap: wrap;
}

.nav_date li {
    margin-bottom: 4px;
    margin-right: 4px;
}

.nav_date input[type="radio"] {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}

.nav_date input[type="radio"]:checked + label {
    background-color: #6743ff;
    border-color: #6743ff;
    color: #fff;
}

.nav_date_monthly {
    display: none;
}

.nav_date_monthly.on {
    display: flex;
}

/* table */
.table_rwd {
    overflow-x: auto;
    overflow-y: visible;
    margin-bottom: 10px;
}

.table_container {
    margin-bottom: 40px;
}

.tables {
    width: 100%;
    background-color: #fff;
    border-top: 2px solid #1e1e1e;
    font-size: 14px;
}

.tables th,
.tables td {
    padding: 12px;
    /* border:1px solid #CED4DA; */
    border-bottom: 1px solid #ced4da;
    vertical-align: middle;
    /*white-space:nowrap; 줄바꿈 방지*/
    word-break: keep-all;
}

/*
.tables th:first-child, .tables td:first-child {
  border-left: 0;
}

.tables th:last-child, .tables td:last-child {
  border-right: 0;
} */

.tables tfoot tr {
    background-color: #f8f9fa;
    font-weight: bold;
}

.tables th {
    background-color: #f8f9fa;
}

.tables th[scope="row"] {
    width: 20%;
}

.tables img {
    width: 60px;
    height: 60px;
}

.tables td .l_sub:nth-of-type(1) {
    margin-top: 10px;
}

.tables.nums {
    counter-reset: row-num-1;
}

.tables.nums tr {
    counter-increment: row-num;
}

.tables.nums tr td:first-child::before {
    content: counter(row-num);
}

.tables .already_selected {
    background-color: #e9ecef;
}

.tables_in_table {
    width: 100%;
    font-size: 14px;
}

.tables_in_table thead th:first-child,
.tables_in_table tbody td:first-child {
    white-space: nowrap;
}

.tables_in_table thead th:first-child:before,
.tables_in_table tbody td:first-child:before {
    content: "\2517";
    color: #d7dbde;
    margin-right: 8px;
}

.tables_in_table th,
.tables_in_table td {
    padding: 10px;
    border-color: #d7dbde;
}

.tables_in_table tr:last-child td {
    border-bottom: none;
}

.tables_in_table .btn {
    font-size: 14px;
}

.tables .empty td {
    padding-block: 60px;
    text-align: center;
    color: #787878;
}

.tables .row_inline_container td {
    vertical-align: top;
}

.tables .row_inline {
    font-size: 12px;
}

.tables .row_inline.tit:before {
    content: "\2517";
    color: #d7dbde;
    margin-right: 8px;
}

.tables .row_fix {
    background-color: rgba(248, 249, 250, 0.3);
}

.tables_top {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 4px;
    padding-block: 10px;
}

/* dl dt dd */
.dl_area {
    padding: 20px;
    background-color: #f8f9fa;
    box-sizing: border-box;
}
dl {
    display: flex;
    align-items: center;
    /* flex-wrap:wrap; */
    margin-bottom: 10px;
}

dl:last-child {
    margin-bottom: 0;
}

dt {
    width: 120px;
    flex-shrink: 0;
}

dd {
    flex-grow: 1;
    margin-bottom: 0;
}

dt > .input {
    width: 100%;
}

/* 스크롤바 숨기기 */
.scroll_hidden::-webkit-scrollbar {
    display: none;
}

.scroll_hidden {
    -ms-overflow-style: none; /* 인터넷 익스플로러 */
    scrollbar-width: none; /* 파이어폭스 */
}

.xscroll_wrap {
    scroll-snap-type: x mandatory; /*x축 항상스냅*/
    scroll-behavior: smooth; /*부드러운 스크롤*/
    -webkit-overflow-scrolling: touch; /*모바일 터치 가속도*/
    -ms-overflow-style: none; /* IE 스크롤바 숨기기 */
    scrollbar-width: none; /* firefox 스크롤바 숨기기 */
}

.xscroll_wrap::-webkit-scrollbar {
    display: none; /*chrome 스크롤바 숨기기*/
}

/* 정사각형 프레임 */
.square {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.square .in {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* card */
.cardbox {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 500;
    border-radius: 10px;
    background-color: #f8f9fa;
}

.cardbox .cardinner .tit {
    display: block;
}

.cardbox .cardinner strong {
    display: block;
    font-size: 50px;
}

/* bootstrap custom */
.card.card_bg {
    background-color: #f8f9fa;
    border: none;
}

.card.card_shadow {
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.05);
    /* border:none; */
    position: relative;
}

/* 미리보기 폰 */
.preview_wrap {
    width: 360px;
    /* height: 700px; */
    aspect-ratio: 1 / 1.95;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
    margin: 0 auto;
}

.preview_wrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(/asset/images/phone_bk_mockup.png) no-repeat center/100%
        100%;
    pointer-events: none;
    z-index: 2;
}

.preview_wrap > .preview {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    border-radius: 55px;
    padding: 8px;
}

.preview_wrap > .preview .preview_txt {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* msg_area */
.msg_send_area {
    align-items: flex-start;
    justify-content: flex-start;
}

.msg_send_area .msg_area {
    margin-bottom: 20px;
}

.msg_send_area .box {
    width: 100%;
    margin-bottom: 20px;
}

.accordion-header .caption{
    margin-left: 8px;
}

.msg_send_area .box_title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.msg_send_area .box .bg {
    background-color: #f8f9fa;
    padding: 20px;
    box-sizing: border-box;
}

.msg_send_area .box .top_btn_area {
    margin-top: 10px;
    margin-bottom: 0;
}

.msg_send_area .h3 {
    margin-bottom: 20px;
}

.msg_send_area .box .sel,
.msg_send_area .box .input {
    width: 100%;
}

.msg_send_area .box .con {
    height: 100px;
}

.msg_send_area .box .showhidebox {
    margin-top: 10px;
}

.msg_send_area .box .count_frame {
    margin-top: 10px;
}

.primary_line {
    border-color: #6743ff;
}

.msg_input_wrap {
    margin-bottom: 20px;
}

.msg_area {
    border: 1px solid #1e1e1e;
    margin-bottom: 10px;
    overflow: hidden;
}

.modal .msg_area {
    border: 1px solid #ced4da;
}

.msg_area .tit {
    width: 100%;
    height: 40px;
    border: transparent;
    border-bottom: 1px solid #ced4da;
    padding: 10px;
    box-sizing: border-box;
    white-space: nowrap; /*줄바꿈 방지*/
    overflow: hidden;
    text-overflow: ellipsis; /*말줄임표 ...*/
}

.msg_area .con {
    width: 100%;
    height: 250px;
    padding: 10px;
    box-sizing: border-box;
    border: transparent;
    overflow-y: auto;
}

.msg_area .caps {
    width: 100%;
    height: 40px;
    border: transparent;
    border-top: 1px solid #ced4da;
    padding: 10px;
    box-sizing: border-box;
}

.msg_area .opts {
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
}

.msg_area .opts:not(:has(.btn)) {
    height: 40px;
}

.msg_area .opts .btn {
    width: 20%;
    height: 40px;
    border-radius: 0;
    padding: 0;
    flex-grow: 1;
    line-height: 40px;
    text-align: center;
    overflow: hidden;
}

.msg_area .msg_frame {
    display: none;
    width: 100%;
    height: 40px;
    padding: 10px;
    box-sizing: border-box;
    background-color: #fff;
    white-space: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid #ced4da;
}

.msg_frame::-webkit-scrollbar {
    display: none; /*스크롤바 숨기기*/
}

.msg_area .con_dl {
    height: auto;
    padding: 20px 10px;
}

.msg_area .con_dl dl {
    margin-bottom: 20px;
}

.msg_area .con_dl dl:last-child {
    margin-bottom: 0px;
}

.msg_area_sm .con {
    height: 180px;
}

.msg_area_kakao_fixed {
    height: 80px;
    margin-bottom: 40px;
}

/* 특수문자 */
.specialcha_box {
    display: flex;
    flex-wrap: wrap;
}

.specialcha_box a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
    transition: 0.3s;
}

.specialcha_box a:hover {
    background-color: #e9ecef;
    color: #1e1e1e;
}

.msg_preview_area {
    align-items: flex-start;
    justify-content: flex-start;
}

.preview_phone_area {
    width: 360px;
    height: 640px;
    border: 1px solid #ced4da;
    background-color: #f8f9fa;
    border-radius: 10px;
    padding: 10px;
    overflow: hidden;
}

.preview_phone {
    width: 100%;
    height: 100%;
    border: 1px solid #ced4da;
    background-color: #fff;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.preview_phone::before {
    content: "미리보기";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ced4da;
}

.preview_phone .preview {
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    position: relative;
}

/* 화살표 */
.arrow {
    border: solid #1e1e1e;
    border-width: 0 10px 10px 0;
    display: inline-block;
    padding: 3px;
    width: 50px;
    height: 50px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.arrow_down {
    position: relative;
}

.arrow_down::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%;
    background-image: url(/asset/images/manager/ico_arrow_down.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25%;
}

/* bootstrap pagenation */
.pagination {
    justify-content: center;
    padding-top: 40px;
}

.page-item.active .page-link {
    background-color: #fff;
    border-color: #1e1e1e;
    color: #1e1e1e;
}

.page-link {
    color: #ced4da;
    border-color: #ced4da;
    padding: 0.3rem 0.75rem;
}

.page-link:hover {
    color: #1e1e1e;
}

/* bootstrap modal */
.modal-dialog {
    max-width: 700px;
    margin-top: 5rem;
    overflow: hidden;
    position: relative;
}

.modal .h1 {
    margin-right: 40px;
}

.modal .btn-close {
    position: absolute;
    top: 2rem;
    right: 2rem;
}

.modal-body {
    padding: 2rem;
}

.modal-footer {
    padding: 2rem;
    padding-top: 0;
    border-top: none;
    display: block;
}

.modal .btn_area {
    margin: 0px;
}

.modal_preview .modal-dialog {
    max-width: 440px;
}

/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 1001;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 25px;
    background-color: #fff;
}

.logo {
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 0;
}
/*
.logo>a {
  font-size: 20px;
  font-weight: bold;
}

.logo>a:hover {
  color: #1e1e1e;
}

 .logo>a::before {
  display:inline-block;
  content:"";
  width:65px;
  height:18px;
  background-image: url(/asset/images/markettoo_logo_cy.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
} */

.logo > a > img {
    height: 20px;
}

.logo .logo_img_h3 {
    height: 30px;
}

header .user_menu {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
}

header .user_menu .go_myShop > i {
    font-size: 18px;
    margin-right: 15px;
}

header .user_menu .go_myMenu button {
    font-weight: 500;
}

header .direct_menu {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
}

header .direct_menu li {
    margin-right: 16px;
    font-weight: 700;
    line-height: 1.1;
}

header .user_martcash {
    font-weight: 700;
    margin-right: 15px;
}

.user_cash {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
}

.user_cash em {
    vertical-align: middle;
    font-size: 0;
}

.user_cash em::after {
    content: "c";
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1px solid #1e1e1e;
    color: #1e1e1e;
    font-size: 8px;
    font-weight: 700;
    text-align: center;
    line-height: 10px;
    margin-left: 3px;
}

header .user_cash {
    margin-right: 15px;
}

.user_menu .go_myMenu .user_cash,
.user_menu .go_myMenu .user_martcash {
    display: none;
}

/* gnb */
.call_gnbMo {
    position: fixed;
    top: 20px;
    left: 25px;
    width: 24px;
    height: 24px;
    display: none;
    cursor: pointer;
}

.call_gnbMo span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #1e1e1e;
    position: absolute;
    top: 50%;
    left: 0;
    transition: 0.3s;
}

.call_gnbMo span::before,
.call_gnbMo span::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #1e1e1e;
    position: absolute;
    left: 0;
    transition: 0.3s;
}

.call_gnbMo span::before {
    top: -8px;
}

.call_gnbMo span::after {
    top: 8px;
}

.call_gnbMo.on span {
    background-color: transparent;
}

.call_gnbMo.on span::before {
    top: 0;
    transform: rotate(45deg);
}

.call_gnbMo.on span::after {
    top: 0;
    transform: rotate(-45deg);
}

#gnb {
    position: fixed;
    top: 0;
    left: 0;
    width: 240px;
    height: 100vh;
    background: #f8f9fa;
    z-index: 1020;
    padding: 70px 25px 25px;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    overflow-y: auto;
    scrollbar-width: none; /*스크롤바 숨기기*/
    -ms-overflow-style: none; /*스크롤바 숨기기*/
}

#gnb::-webkit-scrollbar {
    display: none; /*스크롤바 숨기기*/
}

#gnb li a {
    display: block;
    width: 100%;
    height: 40px;
    line-height: 40px;
    font-weight: 500;
}

#gnb li.on > a {
    color: #441aff;
}

#gnb li ul {
    border-radius: 5px;
    padding: 10px 0;
    padding-left: 20px;
    background-color: #fff;
    display: none;
    transition: 0.3s;
}

#gnb li.on ul {
    display: block;
}

.video {
    width: 100%;
    margin-bottom: 60px;
}

/* dashboard */
.dashboard .start {
    border: 1px solid #ced4da;
    border-radius: 10px;
    margin-bottom: 50px;
    position: relative;
}

.dashboard .start .h2 {
    padding: 25px 20px 20px;
    margin-bottom: 0;
}

.dashboard .start .box {
    padding: 20px;
    border-bottom: 1px solid #ced4da;
    cursor: pointer;
}

.dashboard .start .box:nth-last-child(-n + 2) {
    border-bottom: none;
}

.dashboard .start .text_primary {
    margin-right: 8px;
}

.dashboard .start .btns {
    font-size: 13px;
    color: #6c757d;
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 0;
}

.dashboard .start .btns button {
    margin-left: 12px;
}

.dashboard .more {
    position: absolute;
    top: 0;
    right: 0;
}

.dashboard .order a,
.dashboard .sales a {
    width: 48%;
    height: 150px;
    padding: 20px;
    font-size: 20px;
    font-weight: 500;
    border-radius: 10px;
    opacity: 0.8;
    color: #fff;
}

.dashboard .order a:hover,
.dashboard .sales .daily:hover {
    opacity: 1;
}

.dashboard .order a:nth-of-type(odd) {
    margin-right: 4%;
}

.dashboard .order .request {
    background-color: #6743ff;
}

.dashboard .order .cancle {
    background-color: #fb4659;
}

.dashboard .sales a {
    color: #1e1e1e;
}

.dashboard .sales a em {
    color: #fb4659;
    font-weight: 700;
}

.dashboard .sales .daily {
    background-color: #ffe227;
}

.dashboard .sales .monthly {
    background-color: #f8f9fa;
    opacity: 1;
}

/* .dashboard .sales .monthly:hover {
  color: #6743FF;
} */

.dashboard strong {
    display: block;
    font-size: 3rem;
}

.dashboard strong em {
    font-size: 25px;
    margin-left: 5px;
}

.dashboard .delivery {
    width: 100%;
    height: 150px;
    background-color: #f8f9fa;
    border-radius: 10px;
    padding: 20px 0px;
}

.dashboard .delivery a {
    width: calc(100% / 3);
    font-size: 20px;
    font-weight: 500;
    padding: 0 20px;
    position: relative;
}

.dashboard .delivery a:not(:last-child)::after {
    display: block;
    content: "";
    width: 1px;
    height: 70%;
    position: absolute;
    top: 15%;
    right: 0px;
    background-color: #ced4da;
}

.dashboard .ask dl {
    justify-content: space-between;
}

.dashboard .ask dt {
    width: auto;
    font-size: 20px;
    font-weight: 700;
}

.dashboard .ask dd {
    font-size: 28px;
    font-weight: 700;
    flex-grow: 0;
}

.dashboard .notice li {
    border-bottom: 1px solid #ced4da;
    display: flex;
    justify-content: space-between;
    padding: 8px 0px;
}

.dashboard .notice li:nth-last-child(1) {
    border-bottom: none;
}

.dashboard .notice li span {
    color: #6c757d;
}

.dashboard .card_line {
    min-height: 150px;
    border: 1px solid #ced4da;
    border-radius: 10px;
    padding: 20px;
}

/* 캐시광고 관리 */
.dashboard .adcash_box {
    background-color: #f8f9fa;
    color: #1e1e1e !important;
    transition: 0.2s;
}

.dashboard .adcash_box:hover {
    color: #6743ff !important;
}

.dashboard .adcash_box.cashordering strong {
    font-size: 40px;
}

.dashboard .adcash_box.cashorderlink {
    background-color: #ffe227;
}

.dashboard .adcash_box.cashorderlink:hover {
    color: #1e1e1e !important;
}

/* 선거 대시보드 */
.dashboard .flexwrap {
    align-items: start;
}

.dashboard .title_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.dashboard .title_wrap .total {
    font-weight: 600;
}

.dashboard .title_wrap .num:not(:last-child) {
    margin-right: 30px;
}

.dashboard .title_wrap .num > em {
    font-size: 22px;
}

.dashboard .card_wrap,
.dashboard .card_wrap_4 {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 24px;
}

.dashboard .card_wrap {
    margin-bottom: 24px;
}

.dashboard .card_wrap_4 {
    align-items: stretch;
}

.dashboard .card_wrap > * {
    flex: 1 1 30%;
}

.dashboard .card_wrap_4 > * {
    flex: 1 1 20%;
}

.dashboard .card_wrap .t_sub {
    color: #1e1e1e;
}

.dashboard .card_wrap .card_bg:nth-of-type(1) {
    background-color: #40de8c;
}

.dashboard .card_wrap .card_bg:nth-of-type(2) {
    background-color: #ffe851;
}

.dashboard .card_wrap .card_bg:nth-of-type(3) {
    background-color: #6743ff;
    color: #fff;
}

.dashboard .card_wrap .card_bg:nth-of-type(3) .t_sub {
    color: #fff;
}

.dashboard .card_bg {
    background-color: #f8f9fa;
    min-height: 180px;
    padding: 20px;
    border-radius: 10px;
}

.dashboard .card_bg > h3 {
    font-size: 22px;
    font-weight: 600;
}

.dashboard .card_bg:has(dl) > h3 {
    margin-bottom: 20px;
}

.dashboard .card_wrap dl dt {
    font-weight: 500;
}

.dashboard .card_wrap dl dd {
    font-weight: 700;
}

.dashboard .menu_rightside {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 10;
}

.dashboard .menu_rightside li > a {
    width: 150px;
    padding: 10px 0;
    height: auto;
    line-height: 1.2;
    margin-bottom: 8px;
}

.elect_dashboard .card_bg,
.elect_dashboard .card_line {
    min-height: 200px !important;
}

/* 가로 메뉴 gnb */
.gnb_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.gnb_list > li {
    flex: 0 0 auto;
    margin-right: 35px;
}

.gnb_list > li > a {
    font-size: 20px;
}

.gnb_list > li.on > a {
    color: #6743ff;
    font-weight: 700;
}

.gnb_list .disabled > a {
    color: #adb5bd;
    pointer-events: none;
}

.gnb_list .btn_mysmsprice {
    margin-left: auto;
}

/* gnb_list with bootstrap */
.gnb_list_dropdown .dropdown-toggle {
    font-size: 20px;
    transition: 0.2s;
}

.gnb_list_dropdown .dropdown-toggle:hover {
    color: #6743ff;
}

.gnb_list_dropdown .dropdown-item {
    font-size: 17px;
}

.gnb_list_dropdown .dropdown-item.active {
    background-color: #6743ff;
}

.gnb_list_dropdown .dropdown:has(.active) .dropdown-toggle {
    color: #6743ff;
    font-weight: 700;
}

.gnb_sm {
    margin-bottom: 20px;
}

.gnb_sm li a {
    font-size: 18px;
    color: #707070;
    transition: 0.2s;
}

.gnb_sm li a:hover {
    color: #6743ff;
}

.gnb_sm li.on a {
    color: #6743ff;
    font-weight: 700;
}

/* 탭버튼 */
.gnb_tab {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
}

/* .gnb_tab:before {
  content:'';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #ebebeb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
} */

.gnb_tab > li {
    width: 200px;
    height: 44px;
}

.gnb_tab > li > a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f8f9fa;
    border: 1px solid #ebebeb;
    box-sizing: border-box;
    color: #8f8f8f;
    text-align: center;
    line-height: 44px;
    transition: 0.2s;
}

.gnb_tab > li > a:hover {
    background-color: #ebebeb;
}

.gnb_tab > li.on > a {
    background-color: #fff;
    border-bottom: none;
    color: #1e1e1e;
    font-weight: bold;
}

/* 가로스크롤 */
.xscroll {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none; /*스크롤바 숨기기*/
    -ms-overflow-style: none; /*스크롤바 숨기기*/
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.xscroll > .item {
    flex: 0 0 auto;
}

.xscroll::-webkit-scrollbar {
    display: none; /*스크롤바 숨기기*/
}

/* 카테고리 관리 아이콘 선택하기 */
.select_icons {
    display: inline-flex;
    align-items: flex-start;
    margin-right: 10px;
    margin-bottom: 10px;
    cursor: pointer;
}

.select_icons input[type="radio"] {
    position: relative;
    top: 5px;
    margin-right: 5px;
}

.select_icons img {
    width: 30px;
    height: 30px;
}

.select_icons .icon_txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 58px;
}

#cateicons_modal dt {
    width: 80px;
}

/* 오류페이지 */
section.error h1 {
    font-weight: 700;
    margin-bottom: 20px;
}

section.error p {
    margin-bottom: 40px;
    color: #6c757d;
}

.down {
    text-decoration: underline;
    font-weight: 500;
    color: #6743ff;
}

.in_down {
    width: 100%;
    justify-content: space-between;
}

.in_down .down {
    flex-shrink: 0;
}

.top_rank_area {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.top_rank_area .ranks span {
    display: inline-flex;
    align-items: center;
    margin-right: 20px;
}

.top_rank_area .ranks span .caption {
    margin-right: 10px;
}

.grid {
    display: grid;
    gap: 40px;
}

.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery article {
    text-align: right;
}

.gallery .img_area {
    position: relative;
    margin-bottom: 10px;
}

.gallery .img_area > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery .img_area:after {
    display: block;
    content: "";
    padding-bottom: 50%;
}

.gallery .img_area.square-img:after {
    padding-bottom: 100%;
}

/* multiple select custom */
.ms-parent {
    padding: 0;
}
.ms-choice {
    border: none;
    height: 38px;
    line-height: 38px;
    background-color: transparent;
}

.ms-choice > span.placeholder {
    color: #1e1e1e;
}

.ms-choice > div.icon-caret {
    border: solid black;
    border-width: 0 2.5px 2.5px 0;
    display: inline-block;
    padding: 2.5px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3px;
    right: 6px;
}

.ms-choice > div.icon-caret.open {
    border: solid black;
    border-width: 0 2.5px 2.5px 0;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.ms-drop {
    border-radius: 0;
    margin-top: 0;
}

.ms-drop ul > li {
    padding: 0 10px;
}

.ms-drop input[type="checkbox"] {
    margin-top: 0.8rem;
}

/* .square-img {
  position:relative;
  width:100%;
}

.square-img::after {
  display:block;
  content:'';
  padding-bottom:100%;
}

.square-img>img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

/* 배지 뱃지 */
.badge {
    display: inline-block;
    padding: 0.35em 0.5em;
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1;
    background-color: #fb4659;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 50rem;
    margin-left: 4px;
}

#gnb li .badge {
    position: relative;
    top: -1px;
}

.gnb_list li .badge {
    position: relative;
    top: -4px;
}

/* 부트스트랩 아코디언 */
.accordion .h3 {
    margin-bottom: 0;
}

.bg.accordion-item {
    padding: 0 !important;
}

.accordion-button,
.accordion-body {
    padding: 20px;
}

.accordion-body {
    padding-top: 0;
}

.accordion-button {
    color: unset !important;
    background-color: unset !important;
    box-shadow: unset !important;
}

.accordion-button:not(.collapsed)::after {
    filter: brightness(0) saturate(100%) invert(27%) sepia(97%) saturate(4493%)
        hue-rotate(246deg) brightness(102%) contrast(101%);
}

.adAreas_content {
    font-size: 16px;
    line-height: 1.5;
}

.alert {
    border-radius: 10px;
}

.alert--primary {
    background-color: #fff7ec;
    color: #fe4400;
    display: flex;
    align-items: center;
    gap: 8px;
}

.alert--primary:before {
    display: inline-block;
    content: "";
    width: 18px;
    height: 18px;
    background: url(/asset/images/pay/icon-info.svg) no-repeat center/100%;
}


/* tablet */
@media screen and (max-width: 1300px) {
    /* layout */
    .wrap_main {
        margin-left: 0;
    }

    .inner {
        width: 100%;
        padding-inline: 40px;
    }

    main {
        padding: 80px 20px;
    }

    header {
        background-color: #fff;
    }

    header .direct_menu>li{
        display: none;
    }

    header .direct_menu>li.user_menu__banner--display {
        display: list-item;
    }

    .logo {
        left: auto;
        right: 25px;
        top: 25px;
    }

    /* gnb */
    .call_gnbMo {
        display: block;
    }

    #gnb {
        left: -100%;
    }

    .tables .btn {
        margin-bottom: 5px;
    }

    .tables .btn:last-child {
        margin-bottom: 0;
    }

    dl {
        flex-wrap: wrap;
    }

    .grid {
        gap: 30px;
    }

    .grid-4 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-6 {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* mobile */
@media screen and (max-width: 700px) {
    .file_area {
        width: 100%;
    }

    .inner {
        padding-inline: 20px;
    }

    /* header */
    header .direct_menu>li.user_menu__banner--display {
        display: none;
    }

    header .user_cash,
    header .user_martcash {
        display: none;
    }

    .user_menu .go_myMenu .user_cash,
    .user_menu .go_myMenu .user_martcash {
        display: inline-flex;
    }

    /* gnb */
    #gnb {
        width: 100%;
    }

    .gnb_tab > li {
        flex: 1 1 40%;
    }

    /* dashboard */
    .dashboard .start p {
        margin-bottom: 10px;
    }

    .dashboard .start .btns {
        position: relative;
        top: auto;
        right: auto;
        padding: 20px;
        text-align: right;
    }

    .dashboard .start .btns button {
        margin-left: 0;
        margin-right: 12px;
    }

    .dashboard .ask dl {
        flex-wrap: nowrap;
    }

    .dashboard .ask dd {
        width: auto;
    }

    .flexwrap .item {
        width: 100% !important;
    }

    .flexwrap .item:nth-child(odd) {
        margin-right: 0%;
    }

    .flexwrap .item:nth-child(even) {
        margin-left: 0%;
    }

    .flexwrap.thr .item {
        width: 100%;
        margin-right: 0;
    }

    .flexwrap > .search_area {
        width: 100%;
    }

    .flexwrap > .top_btn_area {
        width: 100%;
    }

    .flexwrap > .top_btn_area .btn {
        width: 100%;
    }

    .flexwrap > .top_btn_area .btn:not(last-child) {
        margin-bottom: 4px;
    }

    .input {
        width: 100% !important;
    }

    .input_sm {
        width: 50px !important;
    }

    .input_addon {
        width: 100%;
    }

    .sel_time {
        width: 100%;
    }

    .in_btn {
        width: 100%;
    }

    .sel_in {
        flex-wrap: wrap;
    }

    .sel_in > .sel {
        width: 100%;
        margin-right: 0;
        margin-bottom: 4px;
    }

    .sels_tri_btn {
        flex-wrap: wrap;
    }

    .sels_tri {
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 5px;
    }

    .sels_tri .sel {
        flex-basis: 0;
    }

    .sels_tri + .btn {
        width: 100%;
    }

    .in_btn .sels_tri .sel {
        flex-basis: 100%;
        margin-bottom: 5px;
        margin-right: 0;
    }

    .in_btn .sels_tri .sel:last-child {
        margin-bottom: 0;
    }

    dd {
        width: 100%;
    }

    .search_area .sel {
        width: 100%;
    }

    .search_area .sel,
    .search_area .in_btn {
        margin-right: 0;
        margin-bottom: 6px;
    }

    .search_area .sel_time {
        margin-right: 0;
        margin-bottom: 5px;
    }

    .search_time .btn {
        width: 100%;
    }

    .search_address .input_address {
        margin-bottom: 5px;
    }

    .btn_area .btn {
        width: 100%;
        margin-bottom: 5px;
    }

    .btn_area .btn:last-child {
        margin-bottom: 0;
    }

    .search_detail_area dl {
        flex-wrap: wrap;
    }

    .search_detail_area dt {
        width: 100%;
        margin-bottom: 5px;
    }

    .search_detail_area dd {
        width: 100%;
    }

    .search_detail_area .sel {
        width: 100%;
        margin-bottom: 4px;
    }

    .date_btn .btn {
        margin-left: 0;
        margin-top: 4px;
    }

    .top_rank_area {
        flex-wrap: wrap;
    }

    .grid {
        gap: 20px;
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-6 {
        grid-template-columns: repeat(3, 1fr);
    }

    .updown_area .sel {
        width: 100%;
        margin-bottom: 4px;
    }

    .msg_area .opts .btn {
        width: 30%;
    }

    /* 선거 대시보드 */
    .dashboard .title_wrap .h2 {
        width: 100%;
        margin-bottom: 10px;
    }
    .dashboard .title_wrap .total {
        margin-bottom: 25px;
    }

    .dashboard .title_wrap .num {
        display: block;
    }

    .dashboard .card_wrap > * {
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 360px) {
    .preview_wrap {
        width: 100% !important;
    }

    .gnb_list > li {
        margin-bottom: 8px;
    }

    .gnb_list .btn_mysmsprice {
        margin-left: unset;
    }
}
