/* ############# Mobile Reset ############# */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
blockquote,
pre,
code,
address,
ul,
ol,
li,
nav,
section,
article,
header,
footer,
main,
aside,
dl,
dt,
dd,
table,
thead,
tbody,
tfoot,
label,
caption,
th,
td,
form,
fieldset,
legend,
hr,
input,
button,
textarea,
object,
figure,
figcaption {
    margin: 0;
    padding: 0;
}

body,
input,
select,
textarea,
button,
img,
fieldset {
    border: none;
}

ul,
ol,
li {
    list-style: none;
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
    color: #000;
}

a:hover,
a:active,
a:link,
a:visited {
    text-decoration: none;
    color: #000;
}

body {
    font-family: 'Noto Sans', sans-serif;
}

/* 팝업레이어 */
#hd_pop {
    z-index: 1000;
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 0
}

#hd_pop h2 {
    position: absolute;
    font-size: 0;
    text-indent: -9999em;
    line-height: 0;
    overflow: hidden
}

.hd_pops {
    position: absolute;
    border: 1px solid #e9e9e9;
    background: #fff
}

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

.hd_pops_con {}

.hd_pops_footer {
    padding: 10px 0;
    background: #000;
    color: #fff;
    text-align: right
}

.hd_pops_footer button {
    margin-right: 5px;
    padding: 5px 10px;
    border: 0;
    background: #393939;
    color: #fff
}

/* 텍스트 크기 조절 */
#text_size {
    margin: 10px 0;
    text-align: center;
    display: inline-block;
    padding: 7px 20px;
    background: #e6e7e9;
    border-radius: 25px;
    height: 48px
}

#text_size button {
    margin: 0 5px;
    border: 0;
    background: none;
    height: 35px;
    width: 35px;
    border-radius: 50%
}

#text_size button.select {
    background: #fff;
    border-bottom: 1px solid #bbb;
    -webkit-box-shadow: 0 0 5px rgba(100, 80, 100, 0.2);
    -moz-box-shadow: 0 0 5px rgba(100, 100, 100, 0.2);
    box-shadow: 0 0 5px rgba(100, 100, 100, 0.2)
}

.ts_up {
    font-size: 1.167em !important
}

.ts_up2 {
    font-size: 1.3em !important
}





#top_btn {
    position: fixed;
    bottom: 10px;
    right: 15px;
    width: 50px;
    height: 50px;
    line-height: 36px;
    border: 2px solid #d2d2d2;
    border-radius: 50%;
    background: #fff;
    color: #d2d2d2;
    text-align: center;
    font-size: 15px;
    z-index: 99;
    -webkit-box-shadow: 1px 2px 5px rgba(191, 191, 191, 0.4);
    -moz-box-shadow: 1px 2px 5px rgba(191, 191, 191, 0.4);
    box-shadow: 1px 2px 5px rgba(191, 191, 191, 0.4);
    outline: none;
}

#top_btn i {
    font-size: 1.4em
}

#top_btn:hover {
    outline: none;
    /*background:#3b8afb;border-color:#3b8afb;color:#fff*/
}

#device_change {
    display: block;
    line-height: 40px;
    margin-top: 20px;
    background: #434343;
    color: #cacaca;
    border: 1px solid #cacaca;
    font-size: 1em;
    text-decoration: none;
    text-align: center;
}

/* 게시물 선택복사 선택이동 */
#copymove {}

.copymove_current {
    float: right;
    color: #ff3061
}

.copymove_currentbg {
    background: #f4f4f4
}

#copymove .tbl_head01 {
    margin-top: 10px
}

#copymove td {
    background: #fff
}

#copymove .win_btn {
    margin: 10px
}

/* 화면낭독기 사용자용 */
#hd_login_msg {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden
}

.msg_sound_only,
.sound_only {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    padding: 0 !important;
    width: 1px !important;
    height: 1px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden
}

/* 본문 바로가기 */
.to_content a {
    z-index: 100000;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

/* 이미지 등비율 리사이징 */
.img_fix {
    width: 100%;
    height: auto
}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

#captcha legend {
    position: absolute;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999em;
    overflow: hidden
}

#captcha #captcha_img {
    height: 40px;
    border: 1px solid #898989;
    vertical-align: top;
    padding: 0;
    margin: 0
}

#captcha #captcha_mp3 {
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    vertical-align: middle;
    overflow: hidden;
    cursor: pointer;
    width: 40px;
    height: 40px;
    background: url('../../../img/captcha2.png') no-repeat;
    text-indent: -999px;
    border-radius: 3px
}

#captcha #captcha_reload {
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    vertical-align: middle;
    overflow: hidden;
    cursor: pointer;
    background: url('../../../img/captcha2.png') no-repeat 0 -40px;
    text-indent: -999px;
    border-radius: 3px
}

#captcha #captcha_key {
    margin: 0 0 0 3px;
    padding: 0 5px;
    width: 90px;
    height: 40px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 1.333em;
    font-weight: bold;
    text-align: center;
    border-radius: 0;
    vertical-align: top
}

#captcha #captcha_info {
    display: block;
    margin: 3px 0 5px;
    font-size: 0.95em;
    letter-spacing: -0.1em
}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {
    display: block;
    margin: 0 0 5px
}

/* 구글리캡챠 크기 조정 scale */
#captcha.recaptcha {
    width: 213px;
    height: 55px;
    overflow: hidden
}

#rc-imageselect,
.g-recaptcha {
    transform: scale(0.7);
    -webkit-transform: scale(0.7);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0
}

/* ckeditor 태그 기본값 */
#bo_v_con ul {
    display: block;
    list-style-type: disc;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px
}

#bo_v_con ol {
    display: block;
    list-style-type: decimal;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px
}

#bo_v_con li {
    display: list-item
}

/*단축키일람 */
.cke_sc {
    text-align: right
}

.btn_cke_sc {
    background: #333;
    color: #fff;
    padding: 5px;
    border: none
}

.cke_sc_def {
    margin: 0 0 5px;
    padding: 10px;
    border: 1px solid #ccc;
    background: #f7f7f7;
    text-align: center
}

.cke_sc_def dl {
    margin: 0 0 5px;
    text-align: left;
    zoom: 1
}

.cke_sc_def dl:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.cke_sc_def dt,
.cke_sc_def dd {
    float: left;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px solid #e9e9e9
}

.cke_sc_def dt {
    width: 50%;
    font-weight: bold
}

.cke_sc_def dd {
    width: 50%
}

.btn_cke_sc_close {
    background: #333;
    padding: 5px;
    border: none;
    color: #fff
}

/* 버튼 */
.btn {
    display: inline-block;
    padding: 0 5px;
    height: 30px;
    line-height: 30px;
    border-radius: 3px
}

a.btn01 {
    display: inline-block;
    background: #ddd;
    color: #444;
    text-decoration: none;
    vertical-align: middle
}

a.btn01:focus,
a.btn01:hover {
    text-decoration: none
}

button.btn01 {
    display: inline-block;
    margin: 0;
    padding: 7px;
    border: 1px solid #ccc;
    background: #fafafa;
    color: #000;
    text-decoration: none
}

a.btn02 {
    display: inline-block;
    border: 1px solid #3b3c3f;
    background: #4b545e;
    color: #fff;
    text-decoration: none;
    vertical-align: middle
}

a.btn02:focus,
.btn02:hover {
    text-decoration: none
}

button.btn02 {
    display: inline-block;
    margin: 0;
    padding: 7px;
    border: 1px solid #3b3c3f;
    background: #4b545e;
    color: #fff;
    text-decoration: none
}

.btn_confirm {
    text-align: center
}

/* 서식단계 진행 */

.btn_submit {
    border: 0;
    background: #E690B0;
    color: #fff;
    cursor: pointer;
    border-radius: 3px
}

.btn_submit:hover {
    background: #CFB7C4
}

.btn_close {
    border: 1px solid #dcdcdc;
    cursor: pointer;
    border-radius: 3px;
    background: #fff
}

a.btn_close {
    text-align: center;
    line-height: 50px
}

a.btn_cancel {
    display: inline-block;
    background: #ddd;
    color: #444;
    text-decoration: none;
    vertical-align: middle
}

button.btn_cancel {
    display: inline-block;
    border: 1px solid #ccc;
    background: #fafafa;
    color: #000;
    vertical-align: top;
    text-decoration: none
}

a.btn_frmline,
button.btn_frmline {
    display: inline-block;
    padding: 0 5px;
    border: 0;
    background: #fff;
    border: 1px solid #E690B0;
    color: #E690B0;
    letter-spacing: -0.1em;
    text-decoration: none;
    vertical-align: top
}

/* 우편번호검색버튼 등 */
button.btn_frmline {
    font-size: 1em
}

/* 게시판용 버튼 */
a.btn_b01,
.btn_b01 {
    display: inline-block;
    background: #E690B0;
    color: #fff;
    border-radius: 3px;
    padding: 10px;
    border: 0;
    text-decoration: none;
    vertical-align: middle
}

.btn_b01:hover,
.btn_b01:hover {}

a.btn_b02,
.btn_b02 {
    display: inline-block;
    background: transparent;
    color: #fff;
    border: 0;
    border-radius: 3px;
    padding: 10px;
    text-decoration: none;
    vertical-align: middle
}

a.btn_b02:hover,
.btn_b02:hover {}

a.btn_b03,
.btn_b03 {
    display: inline-block;
    line-height: 28px;
    border: 0;
    background: transparent;
    color: #bababa;
    text-decoration: none;
    vertical-align: middle
}

a.btn_b03:hover,
.btn_b03:hover {}

a.btn_admin {
    display: inline-block;
    color: #d13f4a;
    font-size: 1.4em;
    text-decoration: none;
    vertical-align: middle
}

/* 관리자 전용 버튼 */
a.btn_admin:focus,
a.btn_admin:hover {}

.fix_btn {
    position: relative;
    display: block;
    z-index: 99;
    background: #E690B0;
    width: 50px;
    height: 50px;
    color: #fff;
    text-align: center;
    border-radius: 50% !important;
    font-size: 1.8em;
    line-height: 50px !important;
    -webkit-box-shadow: 1px 2px 5px rgb(191 191 191 / 40%);
    -moz-box-shadow: 1px 2px 5px rgba(191, 191, 191, 0.4);
    box-shadow: 1px 2px 5px rgb(191 191 191 / 40%);
}

a.btn,
.btn {
    line-height: 35px;
    width: 30px;
    height: 35px;
    padding: 0 5px;
    text-align: center;
    font-weight: bold;
    border: 0;
    font-size: 1.4em;
    -webkit-transition: background-color 0.3s ease-out;
    -moz-transition: background-color 0.3s ease-out;
    -o-transition: background-color 0.3s ease-out;
    transition: background-color 0.3s ease-out
}


/* 기본테이블 */
.tbl_wrap {
    margin: 0 10px 10px
}

.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}

.tbl_wrap caption {
    padding: 10px 0;
    color: #4b8b99;
    font-weight: bold;
    text-align: left
}

.tbl_head01 {}

.tbl_head01 caption {
    padding: 0 0 10px;
    color: #777;
    text-align: left
}

.tbl_head01 thead th {
    padding: 12px 0;
    border: 1px solid #d8dbdf;
    background: #f7f7f9;
    color: #383838;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: -0.1em
}

.tbl_head01 thead a {
    color: #383838
}

.tbl_head01 thead th input {
    vertical-align: top
}

/* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th {
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    background: #484848;
    color: #fff
}

.tbl_head01 tfoot td {
    border-color: #e3e3e5;
    background: #484848;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.tbl_head01 tbody {
    text-align: left
}

.tbl_head01 tbody th {
    padding: 5px 0;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9
}

.tbl_head01 td {
    padding: 5px;
    border: 1px solid #e7e9ec;
    border-top: 0;
    font-size: 1.2rem;
    line-height: 1.5;
    word-break: break-all
}

.tbl_head02 {}

.tbl_head02 caption {
    padding: 0 0 10px;
    color: #777;
    text-align: left
}

.tbl_head02 thead th {
    padding: 5px 0;
    border-top: 1px solid #d1dee2;
    border-bottom: 1px solid #d1dee2;
    background: #e5ecef;
    color: #383838;
    font-size:1.3rem;
    text-align: center;
    letter-spacing: -0.1em
}

.tbl_head02 thead a {
    color: #383838
}

.tbl_head02 thead th input {
    vertical-align: top
}

/* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th {
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    background: #484848;
    color: #fff
}

.tbl_head02 tfoot td {
    background: #484848;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.tbl_head02 tbody th {
    padding: 5px 0;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9
}

.tbl_head02 td {
    padding: 5px 3px;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    line-height: 1.3rem;
    word-break: break-all
}

/* 기본리스트 */
.list_01 ul {}

.list_01 li {
    border-bottom: 1px solid #e5ecee;
    /* 	padding: 0 6.94vw; */
}

.list_01 li:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.all_chk {
    padding: 1.5rem 0;
    border-bottom: 1px solid #e8eaee;
    background: #fff
}

/* 기본폼 */
.form_01 .write_div {
    margin-bottom: 10px;
    position: relative
}

.form_01 li {
    margin: 0 0 10px;
    position: relative;
    list-style: none
}

.form_01 textarea,
.frm_input {
    border: 1px solid #d0d3db;
    background: #fff;
    color: #000;
    vertical-align: middle;
    padding: 5px;
    border-radius: 0;
    box-shadow: none
}

.form_01 textarea {
    width: 100%;
    height: 100px
}

.frm_input {
    height: 45px
}

.full_input {
    width: 100%
}

.form_01 .frm_file {
    display: block;
    margin-bottom: 5px;
    width: 100%
}

.form_01 select {
    height: 40px;
    background-color: #fff
}

.form_01 .frm_info {
    font-size: 0.92em;
    color: #E690B0;
    text-align: left;
    margin: 3px 0 10px;
    display: block;
    line-height: 1.3em
}

/* 자료 없는 목록 */
.empty_table {
    padding: 100px 0 !important;
    color: #777;
    text-align: center
}

.empty_list {
    padding: 20px 0 !important;
    text-align: center
}

/* 필수입력 */
.required,
textarea.required {
    background-image: url('../img/require.png') !important;
    background-repeat: no-repeat !important;
    background-position: right top !important
}

/* 테이블 항목별 정의 */
.td_board {
    width: 120px;
    text-align: center
}

.td_category {
    width: 80px;
    text-align: center
}

.td_chk {
    width: 30px;
    text-align: center
}

.td_date {
    width: 60px;
    text-align: center
}

.td_datetime {
    width: 150px;
    text-align: center
}

.td_group {
    width: 100px;
    text-align: center
}

.td_mb_id {
    width: 100px;
    text-align: center
}

.td_mng {
    width: 80px;
    text-align: center
}

.td_name {
    width: 100px;
    text-align: left
}

.td_nick {
    width: 100px;
    text-align: center
}

.td_num {
    width: 50px;
    text-align: center
}

.td_numbig {
    width: 80px;
    text-align: center
}

.td_stat {
    width: 60px;
    text-align: center
}

.txt_active {
    color: #5d910b
}

.txt_done {
    color: #e8180c
}

.txt_expired {
    color: #999
}

.txt_rdy {
    color: #8abc2a
}

/* 새창 기본 스타일 */
.new_win {
    position: relative;
    background: #fff
}

.new_win #win_title {
    font-size: 1.3em;
    height: 50px;
    line-height: 30px;
    padding: 10px 20px;
    background: #fff;
    color: #000;
    -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 1px 10px rgba(0, 0, 0, .1)
}

.new_win #win_title .sv {
    font-size: 0.75em;
    line-height: 1.2em
}

.new_win_con {}

.new_win .win_ul {
    margin-bottom: 15px;
    padding: 0 20px
}

.new_win .win_ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.new_win .win_ul li {
    float: left;
    background: #fff;
    text-align: center;
    padding: 0 10px;
    border: 1px solid #d6e9ff;
    border-radius: 30px;
    margin-left: 5px
}

.new_win .win_ul li:first-child {
    margin-left: 0
}

.new_win .win_ul li a {
    display: block;
    padding: 8px 0;
    color: #6794d3
}

.new_win .win_ul .selected {
    background: #E690B0;
    border-color: #E690B0;
    position: relative;
    z-index: 5
}

.new_win .win_ul .selected a {
    color: #fff;
    font-weight: bold
}

.new_win .win_desc {
    position: relative;
    margin: 10px;
    border-radius: 5px;
    font-size: 1em;
    background: #f2838f;
    color: #fff;
    line-height: 50px;
    text-align: left;
    padding: 0 20px
}

.new_win .win_desc i {
    font-size: 1.2em;
    vertical-align: baseline
}

.new_win .win_desc:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 50px;
    background: #da4453;
    border-radius: 3px 0 0 3px
}

.new_win .win_total {
    float: right;
    display: inline-block;
    line-height: 30px;
    font-weight: normal;
    font-size: 0.75em;
    color: #E690B0;
    background: #f6f6f6;
    padding: 0 10px;
    border-radius: 5px
}

.new_win .new_win_con {
    padding: 20px
}

.new_win .new_win_con:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.new_win .new_win_con2 {
    margin: 20px 0
}

.new_win .win_btn {
    clear: both;
    padding: 10px 0 30px;
    text-align: center
}

.new_win .win_btn a {
    display: inline-block;
    height: 45px;
    line-height: 40px;
    font-weight: bold
}

.new_win .btn_close {
    width: 60px;
    height: 45px;
    overflow: hidden;
    cursor: pointer
}

.new_win .btn_submit {
    padding: 0 20px;
    height: 45px;
    font-weight: bold;
    font-size: 1.083em
}

/* 검색결과 색상 */
.sch_word {
    color: #fff;
    background: #ff005a;
    padding: 2px 4px;
    margin: 0 2px
}

/* 사이드뷰 */
.sv_wrap {
    display: inline-block;
    position: relative;
    font-weight: normal;
    line-height: 20px
}

.sv_wrap .sv {
    z-index: 1000;
    width: 100px;
    display: none;
    margin: 5px 0 0;
    font-size: 0.92em;
    background: #333;
    text-align: left;
    -webkit-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2)
}

.sv_wrap .sv:before {
    content: "";
    position: absolute;
    top: -6px;
    left: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #333 transparent
}

.sv_wrap .sv a {
    display: inline-block;
    width: 100px;
    margin: 0;
    padding: 0 10px;
    line-height: 30px;
    font-weight: normal;
    color: #bbb
}

.sv_wrap .sv a:hover {
    background: #000;
    color: #fff
}

.sv_member {
    color: #333;
    font-weight: bold
}

.sv_on {
    display: block !important;
    position: absolute;
    top: 23px;
    left: 0px;
    width: auto;
    height: auto
}

.sv_nojs .sv {
    display: block
}

/* 페이징 */
.pg_wrap {
    clear: both;
    display: block;
    padding: 10px 0;
    text-align: center
}

.pg_wrap:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.pg {
    text-align: center
}

.pg_page,
.pg_current {
    display: inline-block;
    vertical-align: middle;
    background: #eee;
    border: 1px solid #eee
}

.pg a:focus,
.pg a:hover {
    text-decoration: none
}

.pg_page {
    color: #959595;
    font-size: 1.083em;
    height: 30px;
    line-height: 28px;
    padding: 0 5px;
    min-width: 30px;
    text-decoration: none;
    border-radius: 3px
}

.pg_page:hover {
    background-color: #fafafa
}

.pg_start {
    text-indent: -999px;
    overflow: hidden;
    background: url('../img/btn_first.gif') no-repeat 50% 50% #eee;
    padding: 0;
    border: 1px solid #eee
}

.pg_prev {
    text-indent: -999px;
    overflow: hidden;
    background: url('../img/btn_prev.gif') no-repeat 50% 50% #eee;
    padding: 0;
    border: 1px solid #eee
}

.pg_end {
    text-indent: -999px;
    overflow: hidden;
    background: url('../img/btn_end.gif') no-repeat 50% 50% #eee;
    padding: 0;
    border: 1px solid #eee
}

.pg_next {
    text-indent: -999px;
    overflow: hidden;
    background: url('../img/btn_next.gif') no-repeat 50% 50% #eee;
    padding: 0;
    border: 1px solid #eee
}

.pg_start:hover,
.pg_prev:hover,
.pg_end:hover,
.pg_next:hover {
    background-color: #fafafa
}

.pg_current {
    display: inline-block;
    background: #E690B0;
    border: 1px solid #E690B0;
    color: #fff;
    font-weight: bold;
    height: 30px;
    line-height: 30px;
    padding: 0 10px;
    min-width: 30px;
    border-radius: 3px
}


/* Normalize */
#wrap {
    width: 100%;
    overflow: hidden;
}

.inner {
    width: calc(100% - 13.89vw);
    max-width: 1280px;
    margin: 0 auto;
}

#hd {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 777;
}

#hd .inner {
    height: 16.67vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#hd .logo a {
    display: block;
    width: 47.64vw;
}

#hd .hd_right {
    display: flex;
    align-items: center;
    gap: 4.17vw;
}

#hd .hd_right .tel {
    display: block;
    width: 6.25vw;
    height: 5.28vw;
    background: url('../img/mobile/common/call_ico45x38.png') no-repeat center center/cover;
}

#hd .hd_right .ham_btn {
    display: block;
    width: 6.94vw;
    height: 4.86vw;
    background: url('../img/mobile/common/ham_btn.png') no-repeat center center/cover;
}


/* visual */

.main_visual {
    position: relative;
}

.vis_slide {
    width: 100%;
}

.vis_slide .swiper-slide {
    width: 100%;
    height: 100%;
    position: relative;
    opacity: 1;
    text-align: center;
}

@keyframes slide-up {
    from {
        opacity: 0;
        transform: translateY(125%);
    }

    to {
        opacity: 1.0;
        transform: translateY(0);
    }
}

.vis_slide .txtbox {
    min-height: 166.67vw;
    text-align: center;
    padding-top: 31.67vw;
}

.vis_slide .txtbox h2 {
    font-size: 9.03vw;
    font-weight: 500;
    margin-bottom: 4.17vw;
}

.vis_slide .txtbox .tag_txt {
    font-size: 3.89vw;
    font-weight: 500;
    color: rgba(227, 227, 227, 0.64);
    opacity: 0;
    margin-bottom: 5.56vw;
}

.vis_slide .txtbox .tag_txt.dust_pink {
    color: #CFB7C4;
    letter-spacing: 0.5px;
}

.main_visual .swiper-slide {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.main_visual .swiper-slide .slide_bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: all 5s linear;
    transform: scale(1);
    background: no-repeat center center/cover;
}

.main_visual .swiper-slide .slide_bg.bg01 {
    background-image: url('../img/mobile/main/main_visual01.jpg');
}

.main_visual .swiper-slide .slide_bg.bg02 {
    background-image: url('../img/mobile/main/main_visual02.jpg');
}

.main_visual .swiper-slide .slide_bg.bg03 {
    background-image: url('../img/mobile/main/main_visual03.jpg');
}

/* .visual_sec .swiper-slide .slide_bg.bg02 {
	background-image: url('/img/main/main_visual01.jpg');
} */

.visual_sec .swiper-slide.swiper-slide-active .slide_bg {
    transform: scale(1.2);
}

.pop_ad {
    position: absolute;
    left: 4.5833vw;
    top: 97.33vw;
    z-index: 30;
}

.pop_ad .pop_wr {
    width: 27.77vw;
    position: relative;
}

.pop_ad .pop_wr img {
    width: 100%;
}

.pop_ad .close_ad {
    position: absolute;
    width: 4.86vw;
    height: 4.86vw;
    top: 1.53vw;
    right: 1.53vw;
    background: url('../img/mobile/main/btn_close34x34.png')no-repeat center center/cover;
}

/* animation */

@keyframes zoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.1);
    }
}

@keyframes txtUP {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* animation */
.main_visual .txtbox {
    color: #fff;
}

.main_visual .txtbox h2 {
    overflow: hidden;
    opacity: 0;
    font-size: 7.64vw;
    font-weight: 500;
    font-family: 'GmarketSans';
    line-height: 1.3;
}

.main_visual .txtbox .stl {
    font-size: 4.861vw;
    font-weight: 300;
    line-height: 1.7;
    word-break: keep-all;
    opacity: 0;
    font-family: 'GmarketSans';
}


.vis_slide .swiper-slide.swiper-slide-active .txtbox h2 {
    animation: txtUP 0.8s forwards;
}

.vis_slide .swiper-slide.swiper-slide-active .txtbox .stl {
    animation: txtUP 1.7s forwards;
}

.vis_slide .swiper-slide.swiper-slide-active .txtbox p {
    animation: txtUP 1.2s forwards;
}

.main_visual .vis_paging {
    position: absolute;
    bottom: 9.72vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.17vw;
    z-index: 3;
}

.main_visual .vis_paging .swiper-pagination-bullet {
    width: 3.61vw;
    height: 3.61vw;
    border-radius: 50%;
    background-color: #B2B2B2;
    margin: 0 !important;
    opacity: 1;
    transition: all 0.4s;
}

.main_visual .vis_paging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff;
}

.prgm_sec {
    padding: 13.06vw 0 8.33vw 6.94vw;
}

.prgm_sec .main_ttl_row {
    margin-bottom: 8.33vw;
}

.prgm_slide .swiper-slide {
    position: relative;
}

.prgm_slide .swiper-slide img {
    width: 100%;
}

.prgm_slide figcaption {
    font-size: 3.89vw;
    margin-top: 2.36vw;
}

.prgm_slide .view_btn {
    width: 26.39vw;
    height: 7.64vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.47vw;
    border-radius: 3.89vw;
    border: solid 0.14vw #707070;
    position: absolute;
    bottom: -1.389vw;
    right: 0;
}

.prgm_slide_wr .prgm_paging {
    height: 3.47vw;
    margin-top: 6.94vw;
    display: flex;
    align-items: center;
    gap: 2.78vw;
}

.prgm_slide_wr .prgm_paging .swiper-pagination-bullet {
    width: 1.39vw;
    height: 1.39vw;
    border-radius: 50%;
    background-color: #979797;
    margin: 0 !important;
    opacity: 1;
    transition: all 0.4s;
}

.prgm_slide_wr .prgm_paging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 3.47vw;
    height: 3.47vw;
    border: solid 0.14vw #979797;
    background: #fff;
}

.prgm_slide a{
    display: block;
}

.main_ttl_row {
    margin-bottom: 6.94vw;
}

.main_ttl_row .clinic_tag {
    font-size: 3.33vw;
    margin-bottom: 4.17vw;
}

.main_ttl_row .round_tag {
    display: flex;
    width: 17.22vw;
    height: 5.83vw;
    font-size: 2.778vw;
    justify-content: center;
    align-items: center;
    margin-bottom: 4.17vw;
    background: url('../img/mobile/main/round_tag_bg.png') no-repeat center center/cover;
}

.main_ttl_row .color_tag {
    display: inline-block;
    width: 25.42vw;
    line-height: 9.72vw;
    text-align: center;
    color: #fff;
    background: url('../img/mobile/main/main_sec03_roundbg.png') no-repeat center center/cover;
}

.main_ttl_row .ttl {
    font-size: 8.33vw;
    font-weight: 500;
    font-family: "Roboto", sans-serif;
    line-height: 1.2;
}

.main_ttl_row .disc {
    margin-top: 3.89vw;
}

.about_sec {
    padding: 8.33vw 0 16.67vw;
}

.about_sec .top img {
    width: 100%;
}

.about_sec .txt_box {
    text-align: right;
    margin-top: 5.56vw;
}

.about_sec .txt_box .subject {
    font-size: 4.86vw;
    font-weight: 600;
    margin-bottom: 3.89vw;
}

.about_sec .view_more_bk {
    justify-content: flex-end;
}

.about_sec .bot {
    margin-top: 8.61vw;
}

.about_sec .prf_img_wr {
    position: relative;
}

.about_sec .prf_img_wr img {
    width: 100%;
}

.about_sec .prf_img_wr::before {
    content: '';
    width: 22.08vw;
    height: 22.08vw;
    position: absolute;
    top: -11.11vw;
    right: 0;
    z-index: 3;
    animation: rotate 5s linear infinite;
    background: url('../img/mobile/main/main_sec03_circle.png') no-repeat center center/cover;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.about_sec .prf_img_wr figcaption {
    margin-top: 4.86vw;
    font-size: 3.89vw;
}

.view_more_bk {
    font-size: 3.19vw;
    display: flex;
    align-items: center;
    gap: 2.78vw;
    margin-top: 5.56vw;
}

.view_more_bk span {
    display: block;
    flex: 0 0 auto;
    width: 5.6944vw;
    height: 5.6944vw;
    background: url('../img/mobile/common/arrow41x41.png') no-repeat center center/cover;
}

.view_more {
    font-size: 3.19vw;
    display: flex;
    align-items: center;
    gap: 2.78vw;
    margin-top: 5.56vw;
}

.view_more span {
    display: block;
    width: 6.25vw;
    height: 6.25vw;
    background: url('../img/mobile/common/com_sec03_arrow.png') no-repeat center center/cover;
}


.prf_img_wr {
    position: relative;
}

.prf_img_wr::before {
    width: 22.08vw;
    height: 22.08vw;
    background: url('../img/mobile/main/main_sec03_circle.png') no-repeat center center/cover;
    position: absolute;
    top: -11.11vw;
    right: -8.47vw;
}

.selfie_sec {
    padding: 15.97vw 0 16.67vw;
    background-color: #F9F9F9;
}

.selfie_list {
    display: flex;
    flex-wrap: wrap;
}

.selfie_list>div:not(.c_row1) {
    width: 50%;
}

.selfie_list .c_row1 {
    width: 100%;
}

.selfie_list>div img {
    width: 100%;
}

.bna {
    padding: 16.67vw 0;
}

.bna_slide_wr .bna_img_wr {
    display: flex;
}

.bna_slide_wr .before {
    position: relative;
}

.bna_slide_wr .before,
.bna_slide_wr .after {
    width: 50%;
}

.bna_slide_wr .before img,
.bna_slide_wr .after img {
    width: 100%;
}

.bna_slide_wr .before:not(.b_view)::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../img/mobile/main/login_dim.png') no-repeat center center/cover;
}

.bna_slide_wr .bna_txt_wr {
    padding-top: 4.17vw;
    text-align: center;
}

.bna_slide_wr .bna_txt_wr p {
    font-size: 3.89vw;
    line-height: 1.5;
}

.bna_slide_wr .bna_txt_wr b {
    font-size: 5.56vw;
    font-weight: 600;
    line-height: 1.5;
}

.bna_slide_wr .bna_paging {
    height: 3.47vw;
    margin-top: 6.94vw;
    display: flex;
    align-items: center;
    gap: 2.78vw;
    justify-content: center;
}

.bna_slide_wr .bna_paging .swiper-pagination-bullet {
    width: 1.39vw;
    height: 1.39vw;
    border-radius: 50%;
    background-color: #979797;
    margin: 0 !important;
    opacity: 1;
    transition: all 0.4s;
}

.bna_slide_wr .bna_paging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 3.47vw;
    height: 3.47vw;
    border: solid 0.14vw #979797;
    background: #fff;
}

.map_info_sec {
    padding: 16.67vw 0;
    border-top: solid 1px #E6E6E6;
}

.m_info_top .l_ttl {
    color: #fff;
    font-size: 6.944vw;
    text-align: center;
    margin-bottom: 0;
}

.m_info_top .subject {
    width: 20.00vw;
    font-size: 4.17vw;
}

.m_info_top .info {
    width: 100%;
    padding-left: 22.5vw;
    font-size: 3.89vw;
    margin-top: 72.139vw;
    position: relative;
}

.m_info_top .info::before {
    content: '오시는길';
    font-size: 4.167vw;
    color: #fff;
    font-weight: 700;
    position: absolute;
    top: 0.4vw;
    left: 0;
}

.m_info_top .info b {
    font-size: 3.889vw;
    color: #fff;
}

.m_info_top .info p {
    font-size: 3.611vw;
}

#map_wr {
    position: relative;
    width: 100%;
    padding-top: 56.389vw;
}

#map_wr .root_daum_roughmap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#map_wr .root_daum_roughmap .wrap_map {
    height: 100%;
}

#map_wr .root_daum_roughmap .wrap_controllers {
    display: none !important;
}

.map_info_wr {
    position: relative;
    margin-top: 8.33vw;
}

.m_info_top b {
    font-size: 4.17vw;
    font-weight: 500;
}

.m_info_top p {
    font-size: 3.89vw;
}

.m_info_top .top p{
    margin-top: 1vw;
}

.m_info_top .bot {
    margin-top: 5.56vw;
}

.m_info_top .ttl {
    font-size: 4.86vw;
    font-weight: 700;
    margin-bottom: 1.39vw;
}

.m_info_top .stl {
    font-size: 4.17vw;
    font-weight: 500;
    letter-spacing: -0.242vw;
}

.m_info_top .stl span {
    color: #B597A7;
}

.m_info_top .call_info {
    margin-top: 5.56vw;
    font-size: 6.25vw;
    font-weight: 500;
    color: #CFB7C4;
    padding-left: 7.64vw;
    background: url('../img/mobile/common/com_sec02_ico01.png') no-repeat left center/6.25vw auto;
}

.m_info_bot {
    margin-top: 5.56vw;
}

.m_info_bot .info {
    position: relative;
}

.m_info_bot .info dl {
    font-size: 3.89vw;
    display: flex;
    align-items: center;
}

.m_info_bot .info dl dt {
    width: 16.25vw;
}

.m_info_bot .info dl dd {
    width: calc(100% - 16.25vw);
}

.m_info_bot .info dl.night dd {
    position: relative;
    display: flex;
    align-items: center;

}

.m_info_bot .info dl dd .night_mark {
    display: inline-block;
    margin-left: 2.36vw;
    width: 15.56vw;
    height: 4.86vw;
    font-size: 0;
    background: url('../img/mobile/common/com_sec02_ico02.png')no-repeat right center/cover;
}

.m_info_bot .arti {
    font-size: 3.89vw;
    line-height: 1.3;
    margin-top: 2.78vw;
}

.sns_map {
    display: flex;
    justify-content: space-between;
    margin-top: 5.56vw;
}

.sns_map li {
    width: calc(50% - 1.94vw);
}

.sns_map a {
    display: block;
    padding: 0 1.67vw;
    line-height: 8.33vw;
    background: url('../img/mobile/common/arrow_26x26.png') no-repeat right 2.64vw center/3.61vw auto;
    border: solid 1px #E5E5E5;
}

.sns_map a span {
    font-size: 3.89vw;
    padding-left: 8.33vw;
    background: no-repeat center left/5.00vw auto;
}

.sns_map .naver span {
    background-image: url('../img/mobile/common/com_sec02_ico03.png');
}

.sns_map .kakao span {
    background-image: url('../img/mobile/common/com_sec02_ico04.png');
}

.view_more_wr {
    padding: 13.33vw 0 8.33vw;
    text-align: center;
    color: #fff;
    background: url('../img/mobile/common/com_sec03_bg.jpg') no-repeat center center/cover;
}

.view_more_wr h3 {
    font-size: 4.86vw;
    font-weight: 500;
    font-family: 'GmarketSans';
    line-height: 1.5;
}

.view_more_wr .view_more {
    justify-content: center;
    color: #fff;
}

.event_sec {
    padding: 16.67vw 0 16.67vw 6.94vw;
    background: url('../img/mobile/common/com_sec01_bg.jpg') no-repeat center center/cover;
}

.event_slide .swiper-slide img {
    width: 100%;
}

.event_slide_wr figcaption {
    font-size: 3.89vw;
    padding-top: 1.39vw;
    line-height: 1.5;
}

.event_slide_wr .event_paging {
    height: 3.47vw;
    margin-top: 6.94vw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.78vw;
}

.event_slide_wr .event_paging .swiper-pagination-bullet {
    width: 1.39vw;
    height: 1.39vw;
    border-radius: 50%;
    background-color: #979797;
    margin: 0 !important;
    opacity: 1;
    transition: all 0.4s;
}

.event_slide_wr .event_paging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 3.47vw;
    height: 3.47vw;
    border: solid 0.14vw #979797;
    background: #fff;
}

.quick {
    position: fixed;
    right: 4.58vw;
    bottom: 5%;
    z-index: 30;
}

.quick * {
    display: block;
    width: 11.11vw;
    height: 11.11vw;
    background: no-repeat center center/cover;
}

.quick .form_call{
margin-bottom:3.58vw;
border-radius: 50%;
border: solid 1px #CFB7C4;
background-image: url('/img/mobile/common/form_call.png');
}

.quick .kakao {
    background-image: url('../img/mobile/common/quick_kakao.png');
}

.quick .goTop {
    margin-top: 2.78vw;
    background-image: url('../img/mobile/common/quick_top.png');
}

#ft {
    text-align: center;
    background: #2D2D2D;
    font-family: "pretendard";
    padding-bottom: 14.03vw;
}

#fnb {
    padding: 6.94vw 0;
}

#fnb ul {
    display: flex;
    justify-content: space-between;
    gap: 2.36vw;
}

#fnb ul li a {
    display: block;
    font-size: 3.33vw;
    font-weight: 600;
    color: #ABABAB;
}

#ft .ft_logo {
    display: inline-block;
    width: 31.25vw;
    height: 24.31vw;
    margin: 2.64vw auto 9.72vw;
    background: url('../img/mobile/common/ft_logo.png') no-repeat center center/cover;
}


#ft address {
    color: #D8D8D8;
    line-height: 1.75;
    font-size: 3.33vw;
}

#ft address>div,
#ft address dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

#ft address dl dd {
    margin-left: 2.08vw;
}

#ft address dl+dl {
    padding-left: 1.5rem;
    margin-left: 1.5rem;
    position: relative;
}

#ft .copy {
    color: #C9C9C9;
    font-size: 2.64vw;
    margin-top: 6.94vw;
}


#ft address {
    font-size: 3.333vw;
}

#ft address dl+dl::before {
    font-size: 3.333vw;
}

#ft address dl dd::before {
    font-size: 3.333vw;
}

#ft address dl+dl {
    margin-left: 2.08vw;
    padding-left: 2.08vw;
}

#ft .copy {
    font-size: 3.03vw;
}

/* sub */

.sub_visual {
    min-height: 97.22vw;
    padding-top: 16.67vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    overflow: hidden;
    color: #fff;
}

.sub_visual .tag {
    font-size: 3.47vw;
    margin-bottom: 2.78vw;
    overflow: hidden;
    opacity: 0;
    animation: txtUP 1s forwards;
}

.sub_visual .subject {
    font-size: 9.03vw;
    font-weight: 500;
    overflow: hidden;
    opacity: 0;
    font-family: 'GmarketSans';
    line-height: 1.3;
    animation: txtUP 1.5s forwards;
}

.sub_visual .txtbox {
    position: relative;
    z-index: 3;
}

.sub_visual .sub_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: zoom 3s forwards;
    background: no-repeat center center/cover;
}

.snb_slide {
    margin-left: -2.78vw;
}

.snb_slide .swiper-slide {
    display: block;
    width: auto;
    height: auto;
    text-align: center;
    font-weight: 600;
    padding: 0 2.78vw;
}

.snb_slide .swiper-slide a {
    display: inline-block;
    font-size: 3.75vw;
    font-weight: 500;
    height: 14.03vw;
    line-height: 14.03vw;
    color: #888;
    position: relative;
}

.snb_slide .swiper-slide.act a{
   color: #222;
   font-weight: 700; 
}

.snb_slide .swiper-slide.act a::before {
    content: '';
    width: 100%;
    height: 1.11vw;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #CFB7C4;
}

#snb {
    padding-left: 6.94vw;
    border-bottom: solid 1px #E8E8E8;
}

#container.sub {
    padding-top: 13.61vw;
}


#gnb {
    display: block;
    width: 77.77vw;
    height: 100vh;
    position: fixed;
    right: -100%;
    top: 0;
    bottom: 0;
    z-index: 50000;
    padding: 5.55vw;
    background: #fff;
    transition: all 0.5s;
}

#gnb.act {
    right: 0;
}

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


#gnb>ul {
    margin-top: 5vw;
}

#gnb>ul>li {
    position: relative;
}

#gnb .depth1 {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.5;
    padding: 3vw 0;
    position: relative;
    background: url('../img/mobile/common/btn_menu_b.png') no-repeat center right/5.22vw auto;
}

#gnb .submenu_list {
    display: none;
    background-color: #f2f2f2;
}

#gnb .submenu_list li a {
    font-size: 3.88vw;
    color: #757575;
    padding: 5vw 6.94vw;
    display: block;
}

#gnb .submenu_list li+li a {
    padding-top: 0;
}

#hd .hd_right {
    display: flex;
    align-items: center;
    gap: 4.17vw;
}

#hd.fix {
    background: linear-gradient(to right, rgba(212, 178, 194, 0.7), rgba(197, 208, 238, 0.7));
    backdrop-filter: blur(25px);
}

.call_link {
    display: block;
    width: 6.25vw;
    height: 5.28vw;
    background: url('../img/mobile/common/ico_call_btn.png') no-repeat center center/cover;
}

.hamBtn {
    width: 9.31vw;
    height: 5.28vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 1.5vw;
}

.hamBtn .line {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    margin-right: 0;
    transition: all 0.8s ease-in-out;
}

.hamBtn .line:nth-child(1) {
    width: 100%;
    background-color: var(--main-color);
}

.hamBtn .line:nth-child(2) {
    width: 50%;
    background-color: var(--sub-color);
}

.hamBtn .line:nth-child(3) {
    width: 25%;
    background-color: var(--sub-color);
}

.dim {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    z-index: 40000;
}

.dim.act {
    display: block;
}

.disc {
    font-size: 3.889vw;
    line-height: 1.6;
}

/* active */

.close_gnb {
    width: 15.72vw;
    height: 5.28vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}

.close_gnb .line {
    display: block;
    width: 50%;
    height: 2px;
    background-color: #222;
}

.close_gnb .line:nth-child(1) {
    transform: rotate(45deg);
}

.close_gnb .line:nth-child(2) {
    transform: translateY(-2.5px) rotate(-45deg);
}

.p12 {
    padding: 16.67vw 0;
}

.sub_ttl_row {
    margin-bottom: 8.33vw;
    text-align: center;
}

.sub_ttl_row.wh {
    color: #fff;
}

.sub_ttl_row.t_l {
    text-align: left;
}

.sub_ttl_row .round_tag {
    display: inline-flex;
    width: 17.22vw;
    height: 5.83vw;
    font-size: 3.47vw;
    justify-content: center;
    align-items: center;
    margin-bottom: 4.17vw;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.78)
}

.sub_ttl_row .round_tag.gy {
    border: solid 1px rgba(112, 112, 112, 0.21);
    background: rgba(255, 255, 255, 0.21);
}

.sub_ttl_row .round_tag.wh{
    background-color: rgba(255,255,255,0.41);
}

.sub_ttl_row .ttl {
    font-size: 7.64vw;
    font-weight: 500;
    line-height: 1.35;
    font-family: 'GmarketSans';
    letter-spacing: -0.525vw;
}

.sub_ttl_row .disc {
    font-size: 3.89vw;
}

.sub_ttl_row .disc+.ttl {
    margin-top: 4vw;
}

.sub_ttl_row .ttl+.disc {
    margin-top: 3.056vw;
}

.sub_ttl_row .pink_stl {
    font-size: 5.556vw;
    font-weight: 500 !important;
    font-family: "Roboto", sans-serif;
    color: #DFB9DB;
}

.sub_ttl_row .tag_txt {
    font-size: 3.611vw;
    font-weight: 500 !important;
    margin-bottom: 2.778vw;
    letter-spacing: 0.5px;
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
}

.sub_ttl_row .tag_txt.pink {
    color: #DFB9DB;
}

.sub_ttl_row .tag_txt.dust_pink {
    color: #CFB7C4;
    letter-spacing: 0.5px;
}

.sub_ttl_row .disc_blue {
    font-size: 5.556vw;
    font-weight: 500;
    color: #5382C4;
    font-family: "Roboto", sans-serif;
}

.sub_ttl_row .disc_pink {
    font-size: 5.556vw;
    font-weight: 500;
    color: #CFB7C4;
    font-family: "Roboto", sans-serif;
}

.pt12 {
    padding-top: 16.67vw;
}

.pb12 {
    padding-bottom: 16.67vw;
}

.sub_m_row {
    text-align: center;
    margin-bottom: 6.944vw;
}

.sub_m_row .stl {
    font-size: 3.889vw;
    font-weight: 500;
}

.sub_m_row .ttl {
    font-size: 9.028vw;
    font-weight: 500;
    font-family: 'GmarketSans';
    margin: 4.167vw 0 2.778vw;
}

.sub_m_row .p_subject {
    font-size: 4.861vw;
    font-weight: 600;
    line-height: 1.7;
    margin-top: 2.77vw;
}

.sub_m_row .tag {
    display: inline-block;
    font-size: 2.361vw;
    font-weight: 500;
    line-height: 4.306vw;
    padding: 0 2.083vw;
    color: #fff;
    letter-spacing: 0.15vw;
    background: linear-gradient(to right, #E5C3E1, #A2E0E2);
}

.f_row {
    padding: 0 0 14.722vw;
}

.f_row .rtt_circle {
    position: relative;
    padding: 0 4.306vw;
}

.f_row .rtt_circle::after {
    content: '';
    width: 22.916vw;
    height: 22.916vw;
    position: absolute;
    bottom: -8.472vw;
    right: -4.166vw;
    animation: rotate 7s linear infinite;
    background: url('../img/mobile/sub/circle_165x165.png') no-repeat center center/cover;
}

.f_row .top img {
    width: 100%;
}

.f_row .bot {
    margin-top: 9.722vw;
}

.f_row .hash {
    margin-bottom: 4.167vw;
}

.f_row .hash li {
    font-size: 4.444vw;
    font-weight: 600;
    line-height: 1.4;
}

.f_row .bot .disc {
    font-size: 3.889vw;
    line-height: 1.5;
}

.eft_chk li {
    padding-left: 5.972vw;
    font-size: 3.889vw;
    line-height: 1.8;
    background: url('../img/mobile/sub/chk_ico30x30.png') no-repeat left top 1.844vw /4.167vw auto;
}

.eft_row .bot {
    margin-top: 3.056vw;
}

.step_list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4.444vw;
    row-gap: 8.333vw;
}

.step_list li {
    width: calc(50% - 2.222vw);
    transform: translateX(1.389vw);
}

.step_list li .imgbox {
    position: relative;
}

.step_list li .num {
    width: 5.556vw;
    height: 5.556vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.500vw;
    font-weight: 500;
    color: #fff;
    background: #222;
    border-radius: 50%;
    left: -1.389vw;
    top: -1.389vw;
    position: absolute;
}

.step_list .txtbox {
    text-align: center;
    margin-top: 4.167vw;
}

.step_list .step {
    display: inline-block;
    min-width: 13.194vw;
    line-height: 4.861vw;
    color: #CFB7C4;
    border: solid 1px #CFB7C4;
    border-radius: 50%;
    font-family: "Roboto", sans-serif;
    font-size: 2.778vw;
    text-align: center;
}

.step_list .subject {
    font-size: 4.861vw;
    font-weight: 700;
    white-space: nowrap;
    margin: 0.556vw 0 1.667vw;
}

.step_list .disc {
    font-size: 3.889vw;
    line-height: 1.5;
}

.target_list {
    border-top: solid 0.278vw #A1A1A1;
}

.target_list.a_c li {
    align-items: center;
}

.target_list li {
    display: flex;
    padding: 2.778vw 0;
    transition: background 0.3s linear;
    border-bottom: solid 0.278vw #A1A1A1;
}

.target_list li:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.target_list li .numb {
    width: 10.139vw;
    font-size: 3.889vw;
    font-weight: 500;
    position: relative;
    text-align: center;
    transform: translateY(0.7vw);
    line-height: 1.4;
    font-family: "Roboto", sans-serif;
}

.target_list li .numb::after {
    content: '';
    width: 1px;
    height: 6.944vw;
    position: absolute;
    top: 50%;
    right: 0;
    background-color: #E5E5E5;
    transform: translateY(-50%);
}

.target_list li p:last-of-type {
    width: calc(100% - 10.139vw);
    font-size: 3.889vw;
    line-height: 1.6;
    padding-left: 3.889vw;
}

.pt_top_txt {
    padding: 0 4.306vw;
    text-align: center;
    margin-bottom: 8.333vw;
}

.pt_top_txt.p28 {
    padding: 0;
}

.pt_top_txt.p28 .stl {
    padding: 3.89vw 0;
}

.pt_top_txt.wh {
    color: #fff;
}

.pt_top_txt .stl {
    font-size: 4.861vw;
    font-weight: 500;
    color: #fff;
    line-height: 1.45;
    padding: 1.389vw 0;
    background-color: #E690B0;
}

.pt_top_txt .disc {
    margin-top: 2.778vw;
    font-size: 3.889vw;
}

.pt_top_txt .img_sec {
    margin-bottom: 8.33vw;
}

.pt_list li {
    text-align: center;
    padding: 1.389vw 1.389vw 6.111vw;
    background: #fff;
    box-shadow: 0 0.556vw 2.917vw rgba(0, 0, 0, 0.09);
}

.pt_list li figcaption {
    margin-top: 4.861vw;
}

.pt_list li .p_tag {
    display: inline-block;
    min-width: 10.139vw;
    line-height: 3.750vw;
    color: #CFB7C4;
    text-transform: uppercase;
    border: solid 1px #CFB7C4;
    border-radius: 50%;
    font-family: "Roboto", sans-serif;
    font-size: 2.283vw;
    text-align: center;
}

.pt_list li .ttl {
    font-size: 4.861vw;
    font-weight: 700;
    margin-top: 0.756vw;
}

.pt_list li .disc {
    margin-top: 1.389vw;
    font-size: 3.889vw;
}

.pt_list li+li {
    margin-top: 3.472vw;
}

.circle_row2 {
    display: flex;
    flex-wrap: wrap;
    column-gap: 5.2vw;
    row-gap: 3.472vw;
}

.circle_row2 li {
    width: 40.278vw;
    height: 40.278vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-align: center;
    background: url('../img/mobile/sub/m51_sec02_bg.png')no-repeat center center/cover;
}

.circle_row2.p_bo li {
    background: #fff;
    border: solid 0.694vw #CFB7C4;
}

.circle_row2 li .hashtag {
    font-size: 4.861vw;
    font-weight: 700;
    padding-bottom: 1.389vw;
    margin-bottom: 1.389vw;
    position: relative;
}

.circle_row2 li .hashtag::after {
    content: '';
    width: 30.556vw;
    height: 0.139vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #D4B2C2;
}

.txt_rb {
    font-size: 3.889vw;
    line-height: 1.5;
    text-align: center;
    position: relative;
}

.txt_rb::before {
    content: '';
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: no-repeat center center/cover;
}

.con0501 .txt_rb {
    margin-bottom: 8.333vw;
}

.con0501 .txt_rb::before {
    height: 17.639vw;
    background-image: url('../img/mobile/sub/m51_sec03_txtbg.png');
}

.eff_row_list ul {
    margin-top: 8.333vw;
}

.eff_row_list ul li {
    display: flex;
    gap: 2.361vw;
}

.eff_row_list.a_c ul li {
    align-items: center;
}

.eff_row_list ul li+li {
    margin-top: 4.167vw;
    padding-top: 4.167vw;
    background: url('../img/mobile/sub/dot_line04.png') no-repeat top center/100% auto;
}

.eff_row_list .num {
    flex: 0 0 auto;
    font-size: 4.861vw;
    font-weight: 600;
    color: #DFB9DB;
}

.eff_row_list .subject {
    font-size: 4.861vw;
    font-weight: 600;
    margin-bottom: 2.500vw;
}

.con0502 .sec03 .txt_rb::before {
    height: 36.806vw;
    background-image: url('../img/mobile/sub/m52_sec03_txtbg.png');
}


.con0502 .sec07 .txt_rb::before {
    height: 13.611vw;
    background-image: url('../img/mobile/sub/m52_sec07_txtbg.png');
}

.gg_paging {
    display: flex;
    margin: 8.056vw 0 8.333vw;
}

.gg_paging button {
    width: 25%;
    height: 9.028vw;
    font-size: 3.611vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s;
    background-color: rgba(238, 238, 238, 0.54);
}

.gg_paging button.act {
    background: #DFB9DB;
    color: #fff;
}

.gg_dots {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6.528vw;
    gap: 2.917vw;
}

.gg_dots .swiper-pagination-bullet {
    background: #fff;
    border: solid 1px #bdbdbd;
    opacity: 1;
    margin: 0 !important;
}

.gg_dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #DFB9DB;
    border-color: #DFB9DB;
}

.gg_slide figcaption {
    margin-top: 4.167vw;
    text-align: center;
}

.gg_slide .gg_box .subject {
    font-size: 4.861vw;
    font-weight: 400;
}

.gg_slide .gg_box .disc {
    margin-top: 1.389vw;
}

.qna_list li .top {
    display: flex;
}

.qna_list li .top span {
    display: inline-block;
    width: 6.667vw;
    font-size: 4.861vw;
    font-weight: 700;
    position: relative;
    color: #DFB9DB;
    flex: 0 0 auto;
}

.qna_list li .top span::after {
    content: '';
    width: 0.417vw;
    height: 4.722vw;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #DFB9DB;
}

.qna_list li .subject {
    font-size: 4.861vw;
    padding-left: 3.333vw;
    font-weight: 700;
}

.qna_list li .disc {
    margin-top: 2.083vw;
}

.qna_list li+li {
    margin-top: 5.556vw;
    padding-top: 5.556vw;
    border-top: solid 0.139vw rgba(112, 112, 112, 0.22);
}

.symp_row2 {
    display: flex;
    flex-wrap: wrap;
    row-gap: 8.333vw;
    column-gap: 5.556vw;
}


.symp_row2 li {
    width: calc(50% - 2.778vw);
    text-align: center;
}

.symp_row2 .numb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.778vw;
    min-width: 13.194vw;
    line-height: 4.861vw;
    margin: 4.167vw 0 2.778vw;
    color: #CFB7C4;
    border: solid 1px #CFB7C4;
    border-radius: 50%;
    font-family: "Roboto", sans-serif;
}

.symp_row2 .subject {
    font-size: 4.861vw;
    font-weight: 700;
    margin: 4.861vw 0 1.389vw;
}

.symp_row2 .disc {
    word-break: keep-all;
}

.s_bna_slide .swiper-slide {
    padding: 0.972vw 1.25vw 1.528vw;
    border: solid 1px #E2E2E2;
}

.s_bna_slide figcaption {
    width: 100%;
    margin-top: 2.78vw;
    font-size: 3.61vw;
    text-align: center;
    padding: 1.94vw 0;
    background-color: #eee;
}

.s_bna_slide_wr .cm_paging {
    margin-top: 6.94vw;
}

.cm_paging {
    display: flex;
    gap: 1.39vw;
    align-items: center;
    justify-content: center;
}

.cm_paging button {
    display: block;
    width: 9.72vw;
    height: 9.72vw;
    background: url('../img/mobile/sub/m31_cont6_next.png') no-repeat center center/cover;
}

.cm_paging button:hover {
    background-image: url('../img/mobile/sub/m31_cont6_next_hov.png');
}

.cm_paging button.prev {
    transform: scaleX(-1);
}

.why_sec {
    background: url('../img/mobile/sub/why_sec_bg.jpg') no-repeat top center/100% auto;
}

.com_dots {
    height: 3.47vw;
    margin-top: 6.94vw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.78vw;
}

.com_dots .swiper-pagination-bullet {
    width: 1.39vw;
    height: 1.39vw;
    border-radius: 50%;
    background-color: #979797;
    margin: 0 !important;
    opacity: 1;
    transition: all 0.4s;
}

.com_dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 3.47vw;
    height: 3.47vw;
    border: solid 0.14vw #979797;
    background: #fff;
}

.why_slide .slide_box {
    padding: 8.33vw 0;
    min-height: 98.61vw;
    text-align: center;
    background: no-repeat center center/cover;
}

.why_slide .slide_box.why01 {
    background-image: url('../img/mobile/sub/why_sec_bg01.png');
}

.why_slide .slide_box.why02 {
    background-image: url('../img/mobile/sub/why_sec_bg02.png');
}

.why_slide .slide_box.why03 {
    background-image: url('../img/mobile/sub/why_sec_bg03.png');
}

.why_slide .slide_box.why04 {
    background-image: url('../img/mobile/sub/why_sec_bg04.png');
}

.why_slide .slide_box .tag {
    display: inline-block;
    font-size: 2.36vw;
    font-weight: 400;
    color: #fff;
    padding: 0.42vw 2.08vw;
    margin-bottom: 4.51vw;
    background: linear-gradient(to right bottom, #E5C3E1, #A2E0E2);
}


.why_slide .slide_box .ttl {
    font-size: 4.86vw;
    font-weight: 500;
    font-family: 'GmarketSans';
    margin-bottom: 1.18vw;
    line-height: 1.3;
    color: #fff;
}

.why_slide .slide_box .disc {
    font-size: 3.61vw;
    line-height: 1.5;
    color: #ECECEC;
}

.why_sec+.prgm_sec {
    padding: 0 0 0 6.944vw;
}

.why_sec+.prgm_sec .prgm_slide_wr .prgm_paging {
    justify-content: center;
    margin-top: 9.722vw;
}

.why_sec+.prgm_sec .sub_ttl_row {
    padding-right: 6.944vw;
}

.pt_sec .top .disc {
    line-height: 1.8;
    word-break: keep-all;
}

.pt_sec .bot {
    margin-top: 8.333vw;
    box-shadow: 0 0.556vw 2.917vw rgba(0, 0, 0, 0.09);
}

.pt_sec .bot:not(.n_bg) {
    padding: 1.389vw;
    background-color: #fff;
}

.pt_sec .bot_sec {
    margin-top: 8.333vw;
}

.row3_list {
    padding: 8.333vw 6.667vw;
    background: #ffff;
    box-shadow: 0 0.556vw 2.917vw rgba(0, 0, 0, 0.09);
}

.row3_list li {
    text-align: center;
}

.row3_list li figure img {
    display: inline-block;
    width: 37.500vw;

}

.row3_list li .disc {
    margin-top: 3.472vw;
    word-break: keep-all;
}

.row3_list li+li {
    margin-top: 6.944vw;
}

.d_cm_sec {
    background: url('../img/mobile/sub/diet_bg.jpg') no-repeat center center/cover;
}

.d_cm_sec .sub_ttl_row .tag_txt.pink {
    color: #CFB7C4;
    letter-spacing: 0.5px;
}

.d_cm_sec .circle_row2 li {
    background: #fff;
    border: solid 0.694vw #CFB7C4;
}

.bd_container {
    padding: 13.61vw 0 16.67vw;
}

.bd_container2 {
    padding: 13.61vw 0 16.67vw;
}

.eq_row_wr .disc {
    text-align: center;
    margin-top: 8.33vw;
}

.eq_row_wr .eq_disc {
    margin-top: 8.33vw;
}

.eq_disc {
    display: flex;
    flex-wrap: wrap;
    row-gap: 4.17vw;
    column-gap: 3.06vw;

}

.eq_disc li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(50% - 1.53vw);
    height: 10.97vw;
    font-size: 3.89vw;
    font-weight: 500;
    color: #C8A2B7;
    background: url('../img/mobile/sub/m54_sec02_roundbg.png') no-repeat center center/cover;
}

.reco_row .top {
    margin-bottom: 8.33vw;
}

.reco_list li {
    padding: 4.17vw 5.97vw;
    border-radius: 2.7778vw;
    background-color: rgba(238, 238, 238, 0.54)
}

.reco_list .subject {
    display: flex;
    align-items: center;
    font-size: 4.86vw;
    font-weight: 700;
    color: #D9AED5;
    margin-bottom: 3.06vw;
}

.reco_list .subject span {
    display: inline-block;
    margin-right: 3.47vw;
    width: 8.19vw;
    height: 8.19vw;
    background: no-repeat center center/cover;
}

.reco_list .subject span.reco_v1 {
    background-image: url('../img/mobile/sub/ico_v1.png');
}

.reco_list .subject span.reco_v2 {
    background-image: url('../img/mobile/sub/ico_v2.png');
}

.reco_list li+li {
    margin-top: 8.33vw;
}

.dis_row .top .subject {
    display: flex;
    align-items: center;
    font-size: 5.556vw;
    font-weight: 500;
    margin-bottom: 4.167vw;
}

.dis_row .top .subject span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 6.250vw;
    height: 6.250vw;
    font-size: 3.472vw;
    font-weight: 600;
    margin-right: 3.472vw;
    color: #DFB9DB;
    border: solid 0.139vw #DFB9DB;
    background: #fff;
}

.dis_row .top .disc {
    margin-bottom: 4.167vw;
}

.dis_row .bot {
    margin-top: 11.111vw;
}

.dis_row .dis_one .subject {
    font-size: 4.861vw;
    font-weight: 500;
    padding-left: 3.472vw;
    position: relative;
    margin-bottom: 5.5556vw;
}

.dis_row .dis_one .subject::before {
    content: '';
    width: 0.694vw;
    height: 5.556vw;
    background-color: #E690B0;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.dis_row .dis_one+.dis_one {
    margin-top: 11.111vw;
}


/* sub_background */

.con0301 .sec02 {
    background: url('../img/mobile/sub/m31_sec02_bg.jpg') no-repeat center center/cover;
}

.con0301 .sec04 {
    background: url('../img/mobile/sub/m31_sec04_bg.jpg') no-repeat center center/cover;
}

.con0301 .sec05 {
    background: url('../img/mobile/sub/m31_sec05_bg.jpg') no-repeat center center/cover;
}

.con0304 .sec02 {
    background: url('../img/mobile/sub/m34_sec02_bg.jpg') no-repeat center center/cover;
}

.con0304 .sec02 figure, .con0304 .sec04 figure{
    width: 77.50vw;
    margin: 0 auto;
}

.con0304 .sec04 {
    background: url('../img/mobile/sub/m34_sec02_bg.jpg') no-repeat center center/cover;
}

.con0501 .sec02 {
    background: url('../img/mobile/sub/m51_sec02_bg.jpg') no-repeat center center/cover;
}

.con0501 .sec04 {
    background: url('../img/mobile/sub/m51_sec04_bg.jpg') no-repeat center center/cover;
}

.con0501 .sec05 {
    background: url('../img/mobile/sub/m51_sec05_bg.jpg') no-repeat center center/cover;
}

.con0502 .sec02 {
    background: url('../img/mobile/sub/m52_sec02_bg.jpg') no-repeat center center/cover;
}

.con0502 .sec04 {
    background: url('../img/mobile/sub/m52_sec04_bg.jpg') no-repeat center center/cover;
}

.con0502 .sec06 {
    background: #F6F6F6;
}

.con0502 .sec08 {
    background: url('../img/mobile/sub/m52_sec08_bg.jpg') no-repeat center center/cover;
}

.con0503 .sec02 {
    background: url('../img/mobile/sub/m53_sec03_bg.jpg') no-repeat center center/cover;
}

.con0503 .sec05 {
    background: url('../img/mobile/sub/m53_sec05_bg.jpg') no-repeat center center/cover;
}

.con0503 .sec04 {
    background: url('../img/mobile/sub/m51_sec04_bg.jpg') no-repeat center center/cover;
}

.con0504 .sec02 {
    background: url('../img/mobile/sub/m54_sec02_bg.jpg') no-repeat center center/cover;
}

.con0504 .sec04 {
    background: url('../img/mobile/sub/m54_sec04_bg.jpg') no-repeat center center/cover;
}

.con0504 .sec05 {
    background: #F1F1F1;
}

.con0201 .sec02 {
    background: #E5ECF4;
}

.con0202 .sec02 {
    background: #E5ECF4;
}

.con0202 .sec04 {
    background: url('../img/mobile/sub/m22_sec04_bg.jpg') no-repeat center center/cover;
}

.con0202 .sec05 {
    background: url('../img/mobile/sub/m22_sec05_bg.jpg') no-repeat center center/cover;
}

.con0203 .sec02 {
    background: url('../img/mobile/sub/m23_sec02_bg.jpg') no-repeat center center/cover;
}

.con0203 .sec03 {
    background: url('../img/mobile/sub/m23_sec03_bg.jpg') no-repeat center center/cover;
}

.con0203 .sec04 {
    background: url('../img/mobile/sub/m23_sec04_bg.jpg') no-repeat top center/100% auto;
}

.con0204 .sec02 {
    background: url('../img/mobile/sub/m24_sec02_bg.jpg') no-repeat center center/cover;
}

.con0204 .sec04 {
    background: url('../img/mobile/sub/m24_sec04_bg.jpg') no-repeat center center/cover;
}

.con0204 .sec05 {
    background: url('../img/mobile/sub/m24_sec05_bg.jpg') no-repeat center center/cover;
}

.con0401 .sec04 {
    background: url('../img/mobile/sub/m41_sec04_bg.jpg') no-repeat center center/cover;
}

.con0402 .sec04 {
    background: url('../img/mobile/sub/m42_sec04_bg.jpg') no-repeat center center/cover;
}

.con0402 .sec05 {
    background: url('../img/mobile/sub/m42_sec05_bg.jpg') no-repeat center center/cover;
}

.con0403 .sec03 {
    background: url('../img/mobile/sub/m43_sec03_bg.jpg') no-repeat center center/cover;
}

.con0403 .sec04 {
    background: url('../img/mobile/sub/m43_sec04_bg.jpg') no-repeat center center/cover;
}

.con0404 .sec04 {
    background: url('../img/mobile/sub/m44_sec04_bg.jpg') no-repeat center center/cover;
}

.con0404 .sec02 {
    background: url('../img/mobile/sub/m44_sec02_bg.jpg') no-repeat center center/cover;
}

.con0404 .sec03 {
    background: url('../img/mobile/sub/m44_sec03_bg.jpg') no-repeat center center/cover;
}

.con0405 .sec04 {
    background: url('../img/mobile/sub/m45_sec04_bg.jpg') no-repeat center center/cover;
}

.con0405 .sec05 {
    background: url('../img/mobile/sub/m45_sec05_bg.jpg') no-repeat center center/cover;
}

.con0201 .sec04 {
    background: url('../img/mobile/sub/m21_sec04_bg.jpg') no-repeat center center/cover;
}

.con0201 .sec05 {
    background: url('../img/mobile/sub/m21_sec05_bg.jpg') no-repeat center center/cover;
}

.con0101 .sec03 {
    background: url('../img/mobile/sub/m11_sec03_bg.jpg') no-repeat center center/cover;
}

.con0104 .sec02 {
    background: url('../img/mobile/sub/m14_sec02_bg.jpg') no-repeat center center/cover;
}


.bg_p {
    background-color: #F6F2F6;
}

#bo_gall .gall_img.Notlogin .before {
    position: relative;
}

#bo_gall .gall_img a {
    display: block;
}

#bo_gall .gall_img.Notlogin .before::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../img/mobile/main/login_dim.png') no-repeat center center/cover;
}

.chir_slide .swiper-slide {
    border-radius: 2.083vw;
    overflow: hidden;

}

.chir_slide .swiper-slide figcaption {
    padding: 5.556vw 0;
    background: #fff;
    text-align: center;
}

.chir_slide .swiper-slide .p_tag {
    display: inline-block;
    min-width: 10.139vw;
    line-height: 3.750vw;
    color: #CFB7C4;
    text-transform: uppercase;
    border: solid 1px #CFB7C4;
    border-radius: 50%;
    font-family: "Roboto", sans-serif;
    font-size: 2.083vw;
    text-align: center;
}

.chir_slide .swiper-slide .ttl {
    font-size: 4.861vw;
    font-weight: 700;
    margin-top: 0.556vw;
}

.chir_slide .swiper-slide .disc {
    margin-top: 1.389vw;
    font-size: 3.889vw;
}

.con0104 .sec02 {
    margin-top: 3.8889vw;
}

.around_tab {
    display: flex;
    justify-content: center;
}

.around_tab button {
    width: 50%;
    height: 9.722vw;
    font-size: 4.444vw;
    text-align: center;
    background-color: #fff;
    border: solid 0.139vw #CFB7C4;
}

.around_tab button.act {
    color: #fff;
    border-color: #E690B0;
    background: #E690B0;
}

.around_cont {
    margin-top: 4.6rem;
}

.around_cont .around_wr:not(.act) {
    display: none;
}

.around_wr {
    position: relative;
}

.around_wr .around_slide {
    overflow: hidden;
}

.around_wr .swiper-slide {
    overflow: hidden;
    border-radius: 1.5rem;
}

.around_slide .swiper-wrapper {
    display: block;
}

.around_wr .swiper-slide+.swiper-slide {
    margin-top: 5.417vw;
}


.chkon_list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 6.250vw;
}

.chkon_list li {
    width: 50%;
    text-align: center;
}

.chkon_list li p {
    display: inline-block;
    font-size: 3.888vw;
    padding-top: 8.333vw;
    background: url('../img/mobile/sub/chk_ico39x33.png') no-repeat top center/5.417vw auto;
}

.dis_row .bot.m45 {
    margin-top: 6.250vw;
}

.chkon_row3 {
    display: flex;
}

.chkon_row3 li {
    width: 33.33%;
    text-align: center;
}

.chkon_row3 li p {
    display: inline-block;
    font-size: 3.888vw;
    padding-top: 8.333vw;
    background: url('../img/mobile/sub/chk_ico39x33_dp.png') no-repeat top center/5.417vw auto;
}


.int_row .intro_txt {
    font-size: 5.556vw;
    font-weight: 600;
    padding: 2.778vw 0;
    position: relative;
    line-height: 1.3;
    margin-bottom: 8.333vw;
    text-align: center;
}

.int_row .intro_txt::before {
    content: '';
    width: 100%;
    height: 21.528vw;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    background: url('../img/mobile/sub/m11_sec01_txtbg.png') no-repeat center center/cover;
}

.int_row .bot {
    padding-top: 8.333vw;
}

.int_row .bot .disc+.disc {
    margin-top: 3.472vw;
}

.int_row .bot .disc span {
    color: #E690B0;
}

.pt_txt_sec .disc {
    text-align: center;
    line-height: 1.7;
    margin: 5.556vw 0 8.333vw;
}

.con0101 .sec03 .txt_rb::before {
    height: 26.66vw;
    background-image: url('../img/mobile/sub/m11_sec03_txt.png');
}

.p_disc_row {
    margin-top: 8.333vw;
    text-align: center;
    color: #444;
}

.p_disc_row .disc+.disc {
    margin-top: 2.778vw;
}

.p_disc_row .disc:last-child {
    margin-top: 4.167vw;
    font-weight: 600;
}

.doc_row dl dt {
    font-size: 3.889vw;
    padding-left: 6.389vw;
    margin-bottom: 2.917vw;
    background: url('../img/mobile/sub/m12_sec01_ico.png') no-repeat left top/4.306vw;
}

.doc_row dl dt strong {
    font-weight: 600;
    font-size: 5.556vw;
    margin-right: 2.0833vw;
}

.doc_row dl dd {
    font-size: 3.8889vw;
    line-height: 2;
}

.con0104 .root_daum_roughmap .wrap_controllers {
    display: none;
}

.map_info {
    margin-top: 4.722vw;
    text-align: center;
}

.map_info h3 {
    font-size: 5.556vw;
    font-weight: 500;
    margin-bottom: 4.028vw;
}

.map_info .bot {
    margin-top: 8.333vw;
    padding: 7.361vw 10vw;
    border: solid 1px #EEEEEE;
}

.map_info .bot .ttl {
    color: #fff;
    text-align: center;
    line-height: 8.333vw;
    font-size: 4.861vw;
    font-weight: 500;
    border-radius: 0.694vw;
    margin-bottom: 3.472vw;
    background-color: #E690B0;
}

.map_info .bot .disc+.disc {
    margin-top: 1.389vw;
}


.map_info .bot .disc b{

    font-weight: 600;
}

.map_info .bot .disc b span{
    color: #E690B0;
}

.time_table {
    display: flex;
}

.time_table .item {
    width: 50%;
    text-align: center;
    background: #fff;
}

.time_table .item .subject {
    padding: 2.500vw 0;
    font-size: 3.889vw;
    background-color: #E690B0;
}

.time_table ul {
    display: flex;
    flex-direction: column;
    gap: 3.261vw;
    padding: 4.167vw 0;
}

.time_table ul li {
    height: 6vw;
    font-weight: 600;
    font-size: 3.888vw;
    font-family: "Noto Sans KR", sans-serif;
}

.time_table .item:first-child li {
    display: flex;
    justify-content: space-between;
    opacity: 0.7;
    padding: 0 12.22vw;
}


.ch_txt{
    width: 100%;
    text-align: center;
    font-size: 3.6111vw;
opacity: 0.7;
    margin-top: 3.888vw;
}

.call_info_txt {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2.77vw;
}

.call_info_txt span {
    width: 6.944vw;
    height: 6.944vw;
    margin-right: 2.222vw;
    background: url('../img/mobile/sub/call_ico_50x50.png') no-repeat center center/cover;
}

.call_info_txt p {
    font-size: 3.888vw;
}

.call_info_txt strong {
    font-size: 4.861vw;
    margin-left: 3.055vw;
}

.txt_rb.wh {
    color: #fff;
}

.con0302 .sec05 .txt_rb {
    margin-bottom: 8.33vw;
}

.con0302 .sec05 .txt_rb::before {
    height: 17.63vw;
    background-image: url('../img/mobile/sub/m32_sec05_txt.png');
}

.con0302 .sec02 {
    background: url('../img/mobile/sub/m32_sec02_bg.jpg') no-repeat top center/100% auto;
}

.con0302 .sec04 {
    background-color: #F8F8F8;
}

.con0302 .sec05 {
    background: url('../img/mobile/sub/m32_sec05_bg.jpg') no-repeat center center/cover;
}

.con0303 .sec02 {
    background: url('../img/mobile/sub/m32_sec02_bg.jpg') no-repeat top center/100% auto;
}

.con0303 .sec04 {
    background: url('../img/mobile/sub/m33_sec03_bg.jpg') no-repeat top center/cover;
}

.con0303 .sec04 .txt_rb{
    margin: 8.33vw 0;
}

.con0303 .sec04 .txt_rb::before {
    height: 36.806vw;
    background-image: url('../img/mobile/sub/m33_txtbg.png');
}


.con0303 .sec05 .txt_rb::before {
    height: 17.63vw;
    background-image: url('../img/mobile/sub/m32_sec05_txt.png');
}

.con0303 .sec05 {
    background: url('../img/mobile/sub/m33_sec05_bg.jpg') no-repeat top center/cover;
}

.con0303 .sec05 .txt_rb {
    margin-bottom: 8.33vw;
}

.con0303 .sec06{
    background: #F1F1F1;
}

.sub_ttl_row .round_tag.pink{
    background-color: rgba(223, 185, 219, 0.41);
}

.p_row .txt_rb{
margin-bottom: 8.333vw;
}

.p_row .txt_rb::before {
    height: 17.639vw;
    background-image: url('../img/mobile/sub/m34_sec02_txtbg.png');
}

.con0304 .sec05 {
    background: url('../img/mobile/sub/m34_sec05_bg.jpg') no-repeat top center/cover;
}


.vs_dot {
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 4.17vw;
    gap: 25.78vw;
	/* margin-bottom: 8.33vw; */
    margin-bottom: 15vw;
}

.vs_dot::before {
	content: "";
	position: absolute;
	top: 2.08vw;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(112, 112, 112, 0.15);
}

.vs_dot .vs_btn {
	width: 1.94vw;
	height: 1.94vw;
	background-color: transparent;
	opacity: 1;
	position: relative;
	outline: none;
}

.vs_dot .vs_btn i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.94vw;
	height: 1.94vw;
	border-radius: 50%;
	background-color: #C7C7C7;
	transition: all .3s ease;
}

.vs_dot .subject {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	padding-top: 2.083vw;
}

.vs_dot .subject strong {
	display: block;
	font-size: 3.89vw;
	font-weight: 500;
	color: #C7C7C7;
	transition: color .3s ease;
}

.vs_dot .vs_btn.swiper-pagination-bullet-active .subject {
	color: #D9AED5;
}

.vs_dot .vs_btn.swiper-pagination-bullet-active::before{
    content: "";
	position: absolute;
	top: 1.08vw;
	left: 50%;
    transform: translateX(-50%);
	width: 28.694vw;
	height: 0.278vw;
	background-color: #D9AED5;
}

.vs_dot .vs_btn.swiper-pagination-bullet-active i {
    width: 3.33vw;
	height:3.33vw;
	border: none;
	background: url('/img/mobile/sub/vs_slide_ico.png') no-repeat center center/cover;
}

.pack_info{
    margin-top: 6.250vw;
}

.pack_info li{
    display: flex;
    background: url('../img/mobile/sub/icochk_45x45.png') no-repeat left top  4.17vw/6.25vw;
    padding: 4.17vw 0 4.17vw 11.25vw;
}

.pack_info li + li{
    border-top: solid 0.14vw rgba(217, 174, 213, 0.22);
}

.pack_info li .co01{
    color: #D4B2C2;
}

.pack_info li .co02{
    color: #D9AED5;
}

.pack_info li .co03{
    color: #C67DC0;
}

.con0504 .sec05 .pt_top_txt {
    margin-bottom: 0;
}

/* form */


.res_pop {
	position: fixed;
	right: 5.56vw;
	bottom: 8vh;
	z-index: 120;
}

.res_pop .form_call {
	display: block;
	width: 20.83vw;
}


.res_form {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: -300%;
	z-index: 13;
	transition: all 0.7s linear;
	border: solid 1px #DFDFDF;
}

.res_form.act {
	bottom: 0;
}

.res_form .res_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2.78vw 2.78vw 2.36vw 4.17vw;
	border-bottom: solid 1px #DFDFDF;
	background: #fff;
}

.res_form .res_top h2 {
	font-size: 5vw;
	font-weight: 700;
}

.res_form .res_top .close_form {
	width: 9.72vw;
	height: 9.72vw;
	font-size: 0;
	background: url('/img/mobile/common/close_form.png') no-repeat center center/cover;
}

.res_form .res_bot {
	background: #FFF9FC;
	padding: 4.86vw 5.00vw 9.44vw 4.17vw;
}

.res_form .fm_row {
	display: flex;
	align-items: center;
	gap: 4.17vw;
}

.res_form .fm_row+.fm_row {
	margin-top: 4.6vw;
}

.res_form .fm_row .label {
	width: 16.67vw;
	font-size: 4.5vw;
	font-weight: 700;
	flex: 0 0 auto;
}

.res_form .fm_row .cont {
	width: calc(100% - 20.83vw);
}

.res_form .fm_row input,
.res_form .fm_row select {
	width: 100%;
	height: 11.11vw;
	padding: 0 1.67vw;
	border: solid 0.28vw #D9D9D9;
	background-color: #fff;
}

.res_form .fm_row input{
    border-radius: 0;
}

.res_form .fm_row select {
    -o-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff url('../img/mobile/common/arrow15x8.png') no-repeat right 2.08vw center/2.08vw auto;
}

.res_form .fm_row select::-ms-expand{
    display: none;
} 

.res_form .ph_wr {
	width: 100%;
	display: flex;
	align-items: center;
}

.res_form .ph_wr span {
	display: block;
	font-size: 2.78vw;
	font-weight: 500;
	margin: 0 1.11vw;
	color: #8B8B8B;
}

.res_form .ph_wr input,
.res_form .ph_wr select {
	width: calc(33.33% - 1.56vw);
}

.res_form .chk_row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6vw;
	margin-top: 5.00vw;
	text-align: center;
}

.res_form .chk_row input+label {
	display: inline-block;
	font-size: 4vw;
	font-weight: 500;
	line-height: 1.6;
	color: #8B8B8B;
vertical-align: middle;
}

.res_form .chk_row input+label span {
	color: #474747;
}

.res_form .submit {
	display: block;
	width: 100%;
	height: 14.11vw;
	font-size: 4.44vw;
	font-weight: 500;
	color: #fff;
	background: #E690B0;
	margin: 4.17vw auto 0;
}

.blocker {z-index:99999 !important;}

.top_wrap .agree_d p{
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 600;
    margin-bottom: 1rem;
    font-family: 'Pretendard';
}

.top_wrap .agree_d textarea{
    width: 100%;
    height: 20rem;
    overflow-y: scroll;
    font-size: 1.1rem;
    line-height: 1.6;
    resize: none;
    padding: 1.5rem;
    border: solid 1px #ddd;
    font-family: 'Pretendard';
}

.top_wrap .agree_d input[type=checkbox]{
    margin-top: 1rem;
    font-size: 1.3rem;
}

.top_wrap .privacy_d{
    margin-top: 3rem;
}

.top_wrap .privacy_d p{
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 600;
    margin-bottom: 1rem;
    font-family: 'Pretendard';
}

.top_wrap .privacy_d textarea{
    width: 100%;
    height: 20rem;
    overflow-y: scroll;
    font-size: 1.1rem;
    line-height: 1.6;
    resize: none;
    padding: 1.5rem;
    border: solid 1px #ddd;
    font-family: 'Pretendard';
}

.top_wrap .privacy_d input[type=checkbox]{
    margin-top: 1rem;
    font-size: 1.3rem;
}

.gung {
 margin: 2rem 0;
    font-size: 1.2rem;
}

.gung  p + p{
    margin-top: 1rem;
}

.write_div label{
    display: block;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 600;
    padding-bottom: 0.5rem;
}