@charset "utf-8";
/* join */
.join {
    padding-top: clamp(65px, 15vw, 110px);
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}

.join .join_top {
    flex: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.join .join_top .inner {
    display: flex;
    flex-direction: column;
    margin-bottom: clamp(30px, 10vh, 100px);
}

.join .join_top .t_ment {
    font-size: clamp(24px, 5vw, 38px);
    font-weight: 400;
    color: #fff;
}

.join .join_top .t_ment b {
    font-size: clamp(32px, 6vw, 48px);
}

.join .join_top .b_ment {
    font-size: clamp(20px, 7vw, 51px);
    font-weight: 700;
    color: #444;
    margin-top: clamp(30px, 8vw, 100px);
}

.join .join_btm {
    flex-shrink: 0;
    border-radius: clamp(20px, 4vw, 30px) clamp(20px, 4vw, 30px) 0 0;
    background-color: #fff;
    position: relative;
    min-height: clamp(200px, 47vh, 400px);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.join .join_btm::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(100px, 50vw, 150px);
    height: clamp(100px, 50vw, 150px);
    background: url('/img/sub/join01_img01.png') no-repeat center / cover;
    z-index: 1;
}
.join .join_btm .join_btn01 {
    margin-top: 10vh;
}
.join_btn01 {
    height: clamp(60px, 15vw, 115px);
    border-radius: 10px;
    width: 100%;
    background-color: #FF9600;
    color: #fff;
    font-size: clamp(20px, 5vw, 34px);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}
#boomCanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;  
}
.join_top01 {
    flex-shrink: 0;
    padding-bottom: clamp(50px, 12.5vw, 90px);
}
.join_top01.type01 {
    padding-bottom: clamp(50px, 20vw, 90px);
}
.join_ment01 {
    font-size: clamp(20px, 5.3vw, 38px);
    font-weight: 400;
    color: #fff;
    text-align: center;
}

.join_progress {
    margin-top: clamp(30px, 8.3vw, 60px);
    border-radius: 10px;
    background-color: #fff;
    height: clamp(6px, 2vw, 10px);
    position: relative;
    overflow: hidden;
    width: 100%;
}

.join_progress .join_progress_bar {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #F56660;
    border-radius: 10px;
    transition: all 0.3s ease-in-out;
}

.join_btm01 {
    flex: 1;
    padding: clamp(28px, 7.64vw, 55px) 0 clamp(60px, 16.5vw, 90px);
    border-radius: clamp(20px, 4vw, 30px) clamp(20px, 4vw, 30px) 0 0;
    background-color: #fff;
    min-height: 60svh;
    text-align: center;
}

.join_btm01.type02 {
    padding: clamp(28px, 7.64vw, 55px) 0 clamp(150px, 31.944vw, 230px);
}

.join_btm01.type01 {
    position: relative;    
    display: flex;
    align-items: flex-end;
    padding: clamp(70px, 7.64vw, 150px) 0 clamp(60px, 16.5vw, 90px);
}

.join_btm01.type01 .join_btm_tit {
    margin-top: auto;
}

.join_btm01.type01::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -25%);
    width: clamp(100px, 30vw, 200px);
    height: clamp(100px, 30vw, 200px);
    background: url('/img/sub/join02_img01.png') no-repeat center / cover;
}

.join_btm_tit {
    font-size: clamp(24px, 5.3vw, 38px);
    font-weight: 400;
    color: #444;
}

.join_btm_sub_tit {
    margin: clamp(35px, 8.3vw, 60px) 0;
    font-size: clamp(16px, 4.2vw, 26px);
    font-weight: 400;
    color: #444;
}

.join_type_box a {
    display: block;
}
.join_type_box a + a {
    margin-top: clamp(10px, 4vw, 20px);
}
.txt-align-left {
    text-align: left !important;
}

.join_btn_wrap01 {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    padding-bottom: clamp(60px, 12.5vw, 90px);
    width: 100%;
    max-width: 720px;
    background-color: #fff;
}
.join_btn01.pink {
    background-color: #FF7E78;
}
.join_btn01.black {
    background-color: #494949;
}
.join_btn01.black02 {
    background-color: #111111;
}
.join_btn01.basic {
    color: #181818;
    background-color: transparent;
}

.join_btn01:disabled {
    background-color: #D3D3D3;
    color: #fff;
}

.join_label_chk_box_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: clamp(15px, 4.1667vw, 30px);
    font-size: clamp(13px, 3.6111vw, 26px);
    font-weight: 400;
}
.join_label_chk_box_wrap.all {
    background-color: #F3F3F6;
    border-radius: clamp(3px, 0.8333vw, 6px);    
    height: clamp(42px, 11.8056vw, 85px);
    margin: clamp(18px, 4.8611vw, 35px) 0;
}
.join_label_chk_box {
    display: flex;
    align-items: center;
    gap: clamp(10px, 2.7778vw, 20px);
    cursor: pointer;
    padding: clamp(10px, 2.6389vw, 19px) 0;
}
.join_label_chk_box span {
    color: #FFA82D;
}
.join_label_chk_box input {
    width: clamp(20px, 5.5556vw, 40px);
    height: clamp(20px, 5.5556vw, 40px);
    appearance: none;
    background: url('/img/sub/chk_icon01.png') no-repeat center / cover;
}
.join_label_chk_box input:checked {
    background: url('/img/sub/chk_icon01_active.png') no-repeat center / cover;
}
.join_label_chk_box_wrap .right {
    color: #111111;
    text-decoration: underline;
    text-underline-position: under;
}

.input_style_box {
    height: clamp(50px, 11.8vw, 85px);
    position: relative;
    border-radius: 6px;
    font-size: clamp(16px, 3.8889vw, 28px);
    color: #444;
    font-weight: 700;
    text-align: right;
}
.input_style_box.white input,
.input_style_box.white div {
    background-color: #fff;
    font-weight: 400;
    border: 1px solid #C4C4C4;
}
.input_style_box input,
.input_style_box div {
    border-radius: 6px;
    width: 100%;
    height: 100%;
    text-align: right;
    background-color: #F3F3F6;
    padding: 0 clamp(10px, 2.7778vw, 20px);
}
.input_style_box input::placeholder {
    color: #B3B3B3;
}
.input_style_box + .input_style_box {
    margin-top: clamp(10px, 2.7778vw, 20px);
}
.join_btm_sub_tit02 {
    text-align: left;
    font-size: clamp(18px, 4.4444vw, 32px);
    font-weight: 500;
    color: #444444;
    margin: clamp(15px, 4.1667vw, 30px) 0 clamp(13px, 2.7778vw, 20px);
}
.input_style_box.left input {
    text-align: left;
}
.input_style_box.button input {
    padding-right: clamp(120px, 28.4722vw, 205px);
}
.input_style_box.button button {
    position: absolute;
    right: clamp(3px, 0.8333vw, 6px);
    top: 50%;
    transform: translateY(-50%);
    height: clamp(45px, 10.4167vw, 75px);
    border-radius: 6px;
    background-color: #111111;
    padding: 0 clamp(15px, 4.1667vw, 30px);
    font-size: clamp(14px, 3.6111vw, 26px);
    font-weight: 400;
    color: #fff;
}
.join_btn_wrap01 .flex {
    gap: clamp(5px, 1.3889vw, 10px);
}
.join_btn_wrap01 .flex .join_btn01:nth-child(1) {
    flex: 0 0 36%;
}
.join_btn_wrap01 .flex .join_btn01:nth-child(2) {
    flex: 0 0 64%;
}
.input_style_box_wrap {
    margin-top: clamp(20px, 5.5556vw, 40px);
}


@media (max-height: 740px) {
    .join_btm01.type01 {
        padding: clamp(90px, 7.64vw, 150px) 0 clamp(60px, 16.5vw, 90px);
    }
    .join_btm01.type01::after {
        width: clamp(100px, 30vw, 300px);
        height: clamp(100px, 30vw, 300px);        
        top: -5%;
    }
}

/* END join */

/* mypage */
.sub_container {
    padding-top: clamp(55px, 13.8889vw, 100px);
}
#container.bg01 {
    background-color: #FCF9F4;
}
.mypage_t_box {
    margin: clamp(20px, 4.1667vw, 30px) 0 clamp(20px, 5.5556vw, 40px);     
}

.mypage_t_box .t_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: clamp(6px, 1.3889vw, 10px); 
}

.mypage_t_box .t_box .name {
    font-size: clamp(22px, 4.7222vw, 34px); 
    font-weight: 700;
    color: #444;
}

.mypage_t_box .t_box .link_box {
    display: flex;
    gap: clamp(6px, 1.3889vw, 10px);
    margin-left: auto;
}

.mypage_t_box .t_box .link_box img {
    height: clamp(40px, 8.3333vw, 60px); 
}
.gnb_login_info .point_t_box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.gnb_login_info .point_tit {
    font-size: clamp(17px, 3.6111vw, 26px);
    font-weight: 700;
}

.gnb_login_info .point_t_box .point {
    font-size: clamp(28px, 6.6667vw, 48px);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: clamp(10px, 2.0833vw, 15px);
    text-align: right;
}
.gnb_login_info .point_t_box .point img {
    height: clamp(30px, 6.9444vw, 50px);
}

.mypage_t_box .gnb_login_box02 {
    margin-top: clamp(13px, 2.7778vw, 20px);
}

.point_b_link_box {
    display: flex;
    height: clamp(50px, 10.4167vw, 75px);
    border-radius: clamp(6px, 1.3889vw, 10px);
    background-color: #fff;
    width: 100%;
}

.point_b_link_box li {
    flex: 1;
    padding: 0 clamp(9px, 1.8056vw, 13px);
}

.point_b_link_box li a {
    display: flex;
    align-items: center;
    gap: clamp(4px, 0.8333vw, 6px);
    height: 100%;
    font-size: clamp(12px, 2.3333vw, 24px);
    font-weight: 700;
}

.point_b_link_box li img {
    height: clamp(23px, 4.8611vw, 35px);
}
.mypage_t_box .recommend_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: clamp(50px, 11.1111vw, 80px);
    background-color: #FFA82D;
    border-radius: clamp(30px, 6.9444vw, 50px);
    color: #fff;
    padding-left: clamp(12px, 2.7778vw, 20px);
    padding-right: clamp(6px, 1.3889vw, 10px);
    margin-top: clamp(24px, 5.5556vw, 40px);
}

.mypage_t_box .recommend_box .left {
    font-size: clamp(16px, 3.6111vw, 26px);
    font-weight: 400;
}

.mypage_t_box .recommend_box .num {
    font-size: clamp(20px, 4.7222vw, 34px);
    font-weight: 400;
}

.mypage_t_box .recommend_box .num b {
    font-size: clamp(24px, 5.5556vw, 40px);
}

.mypage_t_box .recommend_box > a img {
    height: clamp(30px, 8.3333vw, 60px);
}

.mypage_edit_box {
    background-color: #fff;
    padding: clamp(20px, 5.5556vw, 40px) 0;
}
.mypage_edit_box + .mypage_edit_box {
    margin-top: clamp(10px, 2.7778vw, 20px);
}
.mypage_edit_box .tit {
    font-size: clamp(14px, 3.3333vw, 24px);
    font-weight: 400;
    color: #444;
}
.mypage_edit_box .con_box {
    margin-top: clamp(8px, 2.0833vw, 15px);
}
.mypage_edit_box .con_box .flex {
    padding: clamp(8px, 2.0833vw, 15px) 0;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(16px, 3.8889vw, 28px);
    font-weight: 400;
}
.mypage_edit_box .con_box .flex .con_tit {
    font-weight: 700;
}
.mypage_edit_box .con_box .flex .alt {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.3889vw, 15px);
}
.btm_btn_box01 {
    padding: clamp(18px, 4.8611vw, 35px) 0;
}
.btm_btn_box01 .join_btn01 + .join_btn01 {
    margin-top: clamp(8px, 2.0833vw, 15px);
}

/* END mypage */

/* event */
#container.bg02 {
    background-color: #fff;
}

.event_box_wrap {
    padding: clamp(37.5px, 6.94vw, 50px) 0;
}
.event_box_wrap .event_box + .event_box {
    margin-top: clamp(40px, 5.56vw, 50px);
}
.event_box .t_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: clamp(18px, 3.89vw, 28px);
    font-weight: 400;
    color: #000000;
    gap: clamp(5px, 1.39vw, 10px);
}

.event_box .t_box .chk_box02 {
    margin-left: auto;
}

.chk_box02 {
    display: flex;
    align-items: center;
    gap: clamp(5px, 1.25vw, 9px);
    font-size: clamp(18px, 3.89vw, 28px);
    font-weight: 400;
    color: #F56660;
}

.chk_box02 input {
    appearance: none;
    width: clamp(20px, 4.17vw, 30px);
    height: clamp(20px, 4.17vw, 30px);
    background: url('/img/sub/chk_icon02.png') no-repeat center / cover;
}

.chk_box02 input:checked {
    background: url('/img/sub/chk_icon02_active.png') no-repeat center / cover;
}

.event_box .img {
    margin-top: clamp(7.5px, 1.39vw, 10px);
    aspect-ratio: 1/0.468;
    width: 100%;
    position: relative;
}

.event_box .img img {
    border-radius: clamp(7.5px, 1.39vw, 10px);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event_box .alt {
    margin-top: clamp(20px, 5.56vw, 40px);
}

.event_box .alt p {
    font-size: clamp(18px, 3.89vw, 28px);
    font-weight: 400;
    color: #000000;
}

.event_box .alt span {
    font-size: clamp(16px, 3.33vw, 24px);
    font-weight: 400;
    color: #868686;
    margin-top: clamp(7.5px, 1.39vw, 10px);
    display: inline-block;
}
.event_box.end .chk_box02 input {
    display: none;
}
.event_box.end .chk_box02 {
    color: #A3A3A3;
    text-decoration-line: line-through;
}
.event_box.end .img::before {
    content: '종료된 이벤트 입니다.';
    position: absolute;
    width: 100%;
    height: 100%;       
    left: 0;
    top: 0;
    background-color: rgba(0, 0 , 0, 0.8);
    border-radius: clamp(7.5px, 1.39vw, 10px);
}
.event_box.end .img::after {
    content: '종료된 이벤트 입니다.';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(18px, 3.89vw, 28px);
    font-weight: 400;
    color: #fff;
    text-align: center;
}
.point_click_box {
    border-radius: 100px;
    background-color: #F56660;
    width: 100%;
    height: clamp(45px, 10.42vw, 75px);
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.point_click_box.black {
    background-color: #000;
}

.event_detail_edit {
    margin: clamp(30px, 5.56vw, 40px) 0;
}

.event_detail_box .join_btn01 {
    margin-top: clamp(20px, 5.56vw, 40px);
}

.event_detail_top .tit {
    font-size: clamp(20px, 5.14vw, 37px);
    font-weight: 700;
    color: #151515;
    margin-bottom: clamp(15px, 2.78vw, 20px);
}

.event_detail_top .date {
    font-size: clamp(14px, 3.06vw, 22px);   
    font-weight: 400;
    color: #999;
}

/* END event */

/* com_page_nav */
.com_page_nav_box {
    display: flex;
    justify-content: center;
    gap: clamp(10px, 2.78vw, 20px);
    width: 100%;
    margin-top: clamp(20px, 5.56vw, 40px);
}

.com_page_nav_box .com_page_num_box {
    display: flex;
    justify-content: center;
    gap: clamp(5px, 1.39vw, 10px);
    font-size: clamp(18px, 3.33vw, 24px);
    font-weight: 400;
}

.com_page_nav_box .com_page_num_box a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    width: clamp(37.5px, 6.94vw, 50px);
}

.com_page_nav_box .com_page_num_box .active {
    color: #FF7E78;
}

.com_page_nav_box .com_page_icon {
    display: block;
}

.com_page_nav_box .com_page_icon img {
    height: clamp(37.5px, 6.94vw, 50px);
}

/* END com_page_nav */

/* bank */
.bank_tit {
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 700;
    color: #444;
}
.input_label_box01 .bank_tit.eq {
    position: relative;
    padding-right: 10px;
    display: inline-block;
}

.bank_tit.eq::after {
    content: '*';
    position: absolute;
    right: 0;
    top: 0;
    color: #F56660;
}

.bank_info_box_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.bank_info_tit {
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 400;
    color: #fff;
}

.bank_info_alt {
    font-size: clamp(20px, 5vw, 36px);
    font-weight: 700;
}

.bank_btn01 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 40px;
    background-color: #444;
    font-size: clamp(14.5px, 3.06vw, 22px);
    font-weight: 400;
    color: #fff;
}

.bank_info_btm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.bank_info_sub_tit {
    font-size: clamp(16px, 3.33vw, 24px);
}

.bank_info_sub_alt {
    font-size: clamp(21.5px, 4.44vw, 32px);
}

.mypage_t_box.bank {
    margin-bottom: clamp(42px, 13.2vw, 95px);
}

.bank_tit.flex {
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(30px, 4.86vw, 35px); 
}

.bank_tit.flex p {
    font-size: clamp(16px, 3.06vw, 22px); 
}

.bank_tit.flex p span {
    color: #F56660;
    margin-left: clamp(5px, 1.39vw, 10px);
}

.bank_input_box input {
    width: 100%;
    background-color: transparent;
    border-bottom: 1px solid #C9C9C9;
    padding-bottom: clamp(18px, 5.56vw, 40px);
    font-size: clamp(16px, 5vw, 36px);
    font-weight: 700;
}

.bank_input_box input::placeholder {
    color: #DADADA;
}

.bank_sub_tit.flex {
    justify-content: space-between;
    font-size: clamp(14px, 3.33vw, 24px);
    font-weight: 400;
    gap: clamp(5px, 1.39vw, 10px);
}

.bank_sub_tit.flex > div {
    width: calc(50% - clamp(2.5px, 0.69vw, 5px));
}

.bank_sub_tit.flex .point {
    display: flex;
    justify-content: flex-end;
    text-align: right;
    align-items: center;
    gap: clamp(3px, 0.69vw, 5px);
}

.bank_sub_tit.flex .point input {
    max-width: 90%;
    text-align: right;
    background-color: transparent;
    font-size: inherit;
}

.bank_sub_tit + .bank_sub_tit {
    margin-top: 15px;
}

.bank_sub_tit.last {
    border-radius: clamp(5px, 1.39vw, 10px);
    background-color: #FEEDD4;
    padding: 15px clamp(15px, 2.78vw, 20px);
    font-weight: 700;
}

.bank_sub_tit.last .point,
.bank_sub_tit.last .point input {
    color: #F56660;
    font-weight: 700;
}
.mypage_edit_box {
    padding: clamp(20px, 5.56vw, 40px) 0;
}

.etc_tit001 {
    font-size: clamp(18px, 3.61vw, 26px);
    font-weight: 700;
    color: #444444;
}

.etc_alt001 {
    margin: clamp(10px, 2.08vw, 15px) 0 clamp(13px, 2.78vw, 20px);
    font-size: clamp(13px, 3.33vw, 24px);
    font-weight: 400;
    color: #999999;
}

.etc_link01 {
    font-size: clamp(16px, 3.33vw, 24px);
    font-weight: 400;
    color: #F56660;
}

/* END bank */

/* 포인트 */
.point_box_wrap {
    padding: clamp(30px, 8.33vw, 60px) 0;
}

.point_box_wrap .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #fff;
}

.point_box_wrap .flex .left p {
    font-size: clamp(16px, 3.61vw, 26px);
    font-weight: 400;
}

.point_box_wrap .flex .left b {
    font-size: clamp(24px, 5.97vw, 43px);
}

.com_btn03 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: clamp(4px, 1.39vw, 6px);
    background-color: #F56660;
    height: clamp(40px, 10.42vw, 75px);
    padding: 0 clamp(18px, 8.33vw, 30px);
    font-size: clamp(16px, 3.61vw, 26px);
    font-weight: 400;
    color: #fff;
}
.btm_border_box {
    border-radius: 30px 30px 0 0;
    background-color: #fff;
     padding: clamp(40px, 11.89vw, 100px) 0;
}
.input_label_box01 {
    display: block;
}
.input_label_box01 + .input_label_box01 {
    margin-top: clamp(24px, 5.56vw, 40px);
}

.input_label_box01 .bank_tit {
    margin-bottom: clamp(12px, 2.78vw, 20px);
    display: block;
}

.btm_btn_box02 {
    margin-top: clamp(36px, 8.33vw, 60px);
}
.point_box003 {
    text-align: center;
    margin: clamp(42px, 9.72vw, 70px) 0;
    font-size: clamp(25px, 8.89vw, 50px);
    font-weight: 700;
}
/* END 포인트 */

/* friend */
.friend_txt {
    text-align: center;
    font-size: clamp(14px, 4.89vw, 32px);
    font-weight: 700;
    color: #fff;
}
.friend_flex_box {
    display: flex;    
    align-items: center;
    gap: 20px;
}
.friend_flex_box .bank_tit {
    width: calc(40% - 10px);
}
.friend_flex_box .search_box01 {
    width:calc(60% - 10px);
}
.search_box01 {
    display: flex;
    position: relative;
    
}
.search_box01 input {
    background-color: #F3F3F6;
    border-radius: 30px;
    border: 1px solid #8D8D8D;
    height: clamp(40px, 8.33vw, 60px);
    padding-left: 10px;
    padding-right: 50px;
    width: 100%;
}

.search_box01 a {
    position: absolute;
    right: 0;
    height: 100%;
    border-radius: 0 30px 30px 0;
    font-size: clamp(14px, 2vw, 24px);
    font-weight: 400;
    color: #fff;
    background-color: #444444;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}
.friend_list_box {
    border-top: 2px solid #393939;
    margin-top: clamp(25px, 6.25vw, 45px);
}
.friend_list_box .box {
    display: flex;
    gap: clamp(6px, 2vw, 10px);
    padding: clamp(12px, 3.5vw, 20px) 0;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #D8D8D8;
}
.friend_list_box .box .left .t {
    font-size: clamp(14px, 3.5vw, 26px);
    font-weight: 700;
    color: #000;
}
.friend_list_box .box .left .t span + span {
    margin-left: clamp(2px, 1.2vw, 5px);
}
.friend_list_box .box .left .b {
    font-size: clamp(12px, 2.8vw, 24px);
    font-weight: 400;
    color: #4F5156;
    display: block;
    margin-top: 5px;
}
.friend_list_box .right {
    display: flex;
    gap: clamp(6px, 2vw, 10px);
}
.friend_list_box .right a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(4px, 2.5vw, 10px);
    font-size: clamp(12px, 2.5vw, 18px);
    font-weight: 400;
    color: #fff;
    border-radius: clamp(6px, 2.5vw, 10px);
    background-color: #FFA82D;
    text-align: center;
}
.friend_list_box .right a.red {
    background-color: #F56660;
}

/* END friend */

/* pointDetail */
.pointDetail_info_box {
    border-radius: clamp(8px, 1.1111vw, 8px);
    box-shadow: 0 clamp(2px, 0.2778vw, 2px) clamp(4px, 0.5556vw, 4px) rgba(0, 0, 0, 0.1);
    padding: clamp(15.5px, 4.1667vw, 30px);
    border: 1px solid #8A8A8A;
}
.pointDetail_info_box .t_box {
    display: flex;
    align-items: center;
    gap: clamp(15px, 2.7778vw, 20px);
}
.pointDetail_info_box .t_box .img {
    width: clamp(50px, 12.5vw, 90px);
    height: clamp(50px, 12.5vw, 90px);
    min-width: clamp(50px, 12.5vw, 90px);
    border-radius: 50%;
    overflow: hidden;
}
.pointDetail_info_box .t_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pointDetail_info_box .t_box .tit {
    font-size: clamp(20px, 5vw, 36px);
    font-weight: 400;
    color: #111;
    margin-bottom: clamp(4px, 1.3889vw, 10px);
}
.pointDetail_info_box .t_box .alt {
    font-size: clamp(16px, 3.3333vw, 24px);
    font-weight: 400;
    color: #9C9CA3;
}
.pointDetail_info_box .b_box {
    margin-top: clamp(22.5px, 4.1667vw, 30px);
    border-radius: clamp(7px, 0.9722vw, 7px);
    background-color: #F4F4F4;
    padding: 0 clamp(15px, 3.4722vw, 25px);
    height: clamp(60px, 11.1111vw, 80px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pointDetail_info_box .b_box .t {
    font-size: clamp(16px, 3.6111vw, 26px);
    font-weight: 400;
    color: #9C9CA3;
}
.pointDetail_info_box .b_box .a {
    font-size: clamp(18px, 4.1667vw, 30px);
    font-weight: 700;
    color: #FF7E78;
}
.com_tab_box02 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(7.5px, 1.3889vw, 10px);
    margin: clamp(22.5px, 4.1667vw, 30px) 0;
}
.com_tab_btn02 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(5px, 1.5833vw, 15px) clamp(10px, 4.1667vw, 30px);
    border-radius: clamp(30px, 5.5556vw, 40px);
    background-color: #fff;
    border: 1px solid #d3d3d3;
    min-width: clamp(80px, 16.6667vw, 120px);
    font-size: clamp(16px, 3.3333vw, 24px);
    font-weight: 400;
    color: #7F7F7F;
}
.com_tab_btn02.active {
    background-color: #FFA82D;
    color: #fff;
    font-weight: 700;
    border: unset;
}
.pointDetail_list_box_wrap {
    border-top: 1px solid #D8D8D8;
    padding: clamp(15px, 2.7778vw, 20px) 0;
}
.pointDetail_list_box {
    border-bottom: 1px solid #D8D8D8;
    display: flex;
    gap: clamp(20px, 5.5556vw, 40px);
}
.pointDetail_list_box .list_box {
    width: 100%;
}
.pointDetail_list_box .box {
    padding: clamp(15px, 2.7778vw, 20px) 0;
    display: flex;
    justify-content: space-between;
}
.pointDetail_list_box .box + .box {
    border-top: 1px solid #D8D8D8;
}
.pointDetail_list_box .date {
    font-size: clamp(14px, 3.3333vw, 24px);
    font-weight: 400;
    color: #4F5156;
    padding-top: clamp(15px, 2.7778vw, 20px);
}
.pointDetail_list_box .tit {
    font-size: clamp(16.5px, 3.6111vw, 26px);
    font-weight: 700;
    color: #000;
}
.pointDetail_list_box .alt {
    font-size: clamp(14.5px, 3.0556vw, 22px);
    font-weight: 400;
    color: #898989;
}
.pointDetail_list_box .right {
    color: #F56660;
    font-weight: 700;
    font-size: clamp(16px, 3.6111vw, 26px);
}
.pointDetail_list_box .right.type02 {
    color: #989898;
}
/* END pointDetail */

/* point_popup */
.point_popup { display: none; }
.point_popup.on { display: block; }
.popup_type02 {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 95%;
    width: clamp(320px, 88.89vw, 640px);
    max-height: 90%;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}
.popup_type02 .t {
    height: clamp(12px, 3.47vw, 25px);
    background-color: #989494;
    flex-shrink: 0;
}

.popup_type02 .popup_body {
    position: relative;
    padding: clamp(15px, 4.17vw, 30px);
    background-color: #fff;
    padding-top: clamp(35px, 9.72vw, 70px);
    overflow-y: scroll;
}

.popup_type02 .popup_body .close_btn {
    position: absolute;
    top: clamp(15px, 4.17vw, 30px);
    right: clamp(15px, 4.17vw, 30px);
    width: clamp(30px, 8.33vw, 60px);
    height: clamp(30px, 8.33vw, 60px);
}

.com_tab_btn02.gray {
    border: unset;   
    background-color: #E9E9E9;
    color: #A9A9A9;
    font-weight: 700;
}

.popup_type02 .popup_body .t_box .point {
    margin: clamp(10px, 2.78vw, 20px) 0 clamp(25px, 6.94vw, 50px);
    color: #444;
    font-size: clamp(25px, 6.94vw, 50px);
    font-weight: 700;
}

.popup_type02 .popup_body .alt_box {
    padding: clamp(10px, 2.78vw, 20px) 0;
    border-top: 1px solid #ECECEC;
}

.popup_type02 .popup_body .alt_box .box {
    font-size: clamp(12px, 3.33vw, 24px);
    font-weight: 400;
}
.popup_type02 .popup_body .alt_box .box + .box {
    margin-top: 10px;
}

.popup_type02 .popup_body .alt_box .box.flex {
    justify-content: space-between;    
}

.popup_type02 .popup_body .alt_box .box .tit {
    color: #8C8C8C;
}

.popup_type02 .popup_body .alt_box .box .alt {
    color: #1B1B1B;
}

.popup_type02 .popup_body .alt_box .box.type02 .tit {
    color: #1B1B1B;
}

.popup_type02 .popup_body .alt_box .box.type02 .alt {
    font-weight: 700;
    color: #F56660;
}

/* END point_popup */

/* inquiry */
.inquiry_tab_box {
    background-color: #fff;
    border-bottom: 1px solid #E1E1E1;
    display: flex;
    height: clamp(60px, 13.89vw, 100px);
}

.inquiry_tab_box .inquiry_tab {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    font-size: clamp(16px, 3.61vw, 26px);
    font-weight: 400;
    color: #444;
}

.inquiry_tab_box .inquiry_tab.active {
    color: #000;
    border-bottom: clamp(2px, 0.42vw, 3px) solid #FFA82D;
}

.input_style_box.read-only input {
    background-color: #F0E9DE;
}

.custom_select {
    width: 100%;
    height: clamp(50px, 11.81vw, 85px);
    border-radius: clamp(6px, 1.39vw, 10px);
    font-size: clamp(16px, 3.61vw, 26px);
    font-weight: 400;
    padding: 0 clamp(6px, 2.78vw, 20px);
    padding-right: clamp(20px, 4.17vw, 30px);
    background: #fff url('/img/sub/select_arw.png') no-repeat center right clamp(17px, 3.47vw, 25px) / clamp(12px, 2.5vw, 18px) clamp(7px, 1.39vw, 10px);
}

.write_style_box + .write_style_box {
    margin-top: clamp(12px, 2.78vw, 20px);
}

.custom_textarea {
    background-color: #fff;
    width: 100%;
    min-height: clamp(250px, 65.28vw, 470px);
    padding: 10px clamp(12px, 2.78vw, 20px);
    font-size: clamp(16px, 3.61vw, 26px);
    border-radius: clamp(6px, 1.39vw, 10px);
}

.custom_textarea::placeholder {
    color: #D3D3D3;
}
.inquiry_list_box .answer .state_box {
    border-color: #F56660;
    color: #F56660;
}
.inquiry_list_box .state_box {
    display: inline-block;
    min-width: clamp(60px, 13.89vw, 100px);
    padding: clamp(3px, 0.69vw, 5px) clamp(12px, 2.78vw, 20px);
    border-radius: clamp(2px, 0.42vw, 3px);
    border: 1px solid #D7D7D7;
    background-color: #fff;
    font-size: clamp(12px, 2.22vw, 16px);
    font-weight: 400;
    color: #999;
}

.inquiry_list_box .q_box .tit {
    margin: clamp(6px, 1.39vw, 10px) 0;
    font-size: clamp(14px, 3.33vw, 24px);
    font-weight: 700;
    color: #111;
}

.inquiry_list_box .q_box .date {
    font-size: clamp(12px, 2.5vw, 18px);
    font-weight: 400;
    color: #999;
}

.inquiry_list_box .box {
    padding: clamp(12px, 2.78vw, 20px) 0;
    border-bottom: 1px solid #D8D8D8;
}

.inquiry_list_box .box .q_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(6px, 1.39vw, 10px);
}

.inquiry_list_box .left {
    flex: 1;
    min-width: 0;
}
.inquiry_list_box .right {
    min-width: 20px;
    flex-shrink: 0;
}

.inquiry_list_box .box .a_box {
    padding: clamp(6px, 1.39vw, 10px) 0;
    display: none;
}

.inquiry_list_box .box .a_box .txt {
    font-size: clamp(14px, 3.06vw, 22px);
    font-weight: 400;
    color: #111;
}

.inquiry_list_box .box .a_alt_box {
    margin-top: clamp(18px, 4.17vw, 30px);
    padding: clamp(12px, 2.78vw, 20px);
    border-radius: clamp(6px, 1.39vw, 10px);
    background-color: #fff;
}

.inquiry_list_box .box .a_alt_box .a_alt_tit {
    position: relative;
    padding-left: clamp(15px, 3.47vw, 25px);
    font-size: clamp(14px, 3.06vw, 22px);
    font-weight: 700;
    color: #111;
}

.inquiry_list_box .box .a_alt_box .a_alt_tit::after {
    content: '';
    position: absolute;
    left: 0;
    top: clamp(9px, 0.69vw, 10px);
    transform: translateY(-50%);
    width: clamp(10px, 2.36vw, 17px);
    height: clamp(10px, 2.36vw, 17px);
    background: url('/img/sub/inquiry_icon.png') no-repeat center / cover;
}

.inquiry_list_box .box .a_alt_box .a_alt {
    margin-top: clamp(12px, 2.78vw, 20px);
    font-size: clamp(14px, 3.06vw, 22px);
    font-weight: 400;
    color: #111;
    line-height: 1.5em;
}
/* END inquiry */

/* faq */
.faq_list_box .box {
    padding: 20px 0;
    border-bottom: 1px solid #D8D8D8;
}
.faq_list_box .q_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(6px, 1.39vw, 10px);
}

.faq_list_box .q_box .left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: clamp(12px, 2.78vw, 20px);
}

.faq_list_box .q_box .left .img {
    min-width: 0;
    flex-shrink: 0;
}
.faq_list_box .q_box .left .img img,
.faq_list_box .a_box .img img {
    height: clamp(25px, 5.28vw, 38px);
}

.faq_list_box .q_box .left .tit {
    font-size: clamp(16px, 3.33vw, 24px);
    font-weight: 700;
    color: #111;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.faq_list_box .q_box .right {
    min-width: clamp(12px, 2.78vw, 20px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.faq_list_box .q_box .right img {
    height: clamp(10px, 2.28vw, 15px);
}

.faq_list_box .a_box {
    margin-top: clamp(18px, 4.17vw, 30px);
}

.faq_list_box .a_box .flex {
    display: flex;
    min-height: 100px;
    padding: clamp(12px, 2.78vw, 20px);
    border-radius: clamp(6px, 1.39vw, 10px);
    background-color: #fff;
    font-size: clamp(14px, 3.06vw, 22px);
    font-weight: 400;
    color: #111;
    gap: clamp(9px, 2.08vw, 15px);
}

.faq_list_box .a_box .flex .img {
    flex-shrink: 0;
    min-width: 0;
}

/* END faq */

/* notice */
.faq_list_box .q_box .left .type {
    padding: clamp(3px, 0.69vw, 5px) clamp(6px, 1.39vw, 10px);
    background-color: #444444;
    border-radius: clamp(2px, 0.42vw, 3px);
    font-size: clamp(12px, 2.5vw, 18px);
    font-weight: 400;
    color: #fff;
    flex-shrink: 0;
}

.faq_list_box .q_box .date {    
    font-size: clamp(12px, 2.5vw, 18px);
    font-weight: 400;
    color: #999999;
    margin-top: 5px;
}

/* END notice */

/* gift */
.gift_tab_box {
    display: flex;
    border-radius: clamp(20px, 5.56vw, 40px);
    padding: clamp(2px, 1.11vw, 4px);
    background-color: #fff;
}
.gift_tab_box a {
    font-size: clamp(14px, 3.06vw, 22px);
    font-weight: 500;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: clamp(36px, 9.72vw, 70px);
    border-radius: clamp(20px, 5.56vw, 40px);
}
.gift_tab_box a.active {
    background-color: #FFA82D;
    color: #fff;
}
.money_tab_box {
    display: flex;
    margin-top: clamp(20px, 5.56vw, 40px);
    gap: clamp(4px, 1.11vw, 8px);
}
.money_tab_box a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: clamp(6px, 2.78vw, 20px);
    width: calc(25% - clamp(3px, 0.83vw, 6px));
    border-radius: 10px;
    border: 1px solid #DFDFDF;
    background-color: #fff;
    font-size: clamp(13px, 2.78vw, 20px);
    font-weight: 500;
    color: #444;
    padding: clamp(6px, 2.5vw, 18px) clamp(6px, 1.39vw, 10px);
}
.money_tab_box a .img img {
    height: clamp(30px, 8.33vw, 60px);
}
.gift_tab_space {
    padding: clamp(20px, 5.56vw, 40px) clamp(20px, 4.1667vw, 30px);
    background-color: #F1F1F1;
}
.gift_con_box {
    padding: clamp(20px, 5.56vw, 40px) 0 clamp(30px, 8.33vw, 60px);
    background-color: #fff;
}
.gift_flex_box01 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(6px, 1.39vw, 10px);
}
.gift_flex_box01 a {
    padding: clamp(12px, 2.78vw, 20px);
    display: flex;
    align-items: center;
    gap: clamp(10px, 2.78vw, 20px);
    font-size: clamp(14px, 2.78vw, 20px);
    font-weight: 500;
    color: #444;
    width: calc(50% - clamp(3px, 0.69vw, 5px));
    background-color: #F8F8F8;
    border-radius: 10px;
}
.gift_flex_box01 a img {
    height: clamp(30px, 7.92vw, 57px);
    object-fit: contain;
}
.gift_flex_box02 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(6px, 1.39vw, 10px);
    justify-content: center;
}
.gift_flex_box02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: calc(33% - clamp(3px, 1.11vw, 8px));
    font-size: clamp(12px, 2.78vw, 20px);
    font-weight: 500;
    gap: clamp(10px, 2.08vw, 15px);
    color: #444;
    padding: clamp(10px, 2.78vw, 20px);
    border-radius: clamp(6px, 1.39vw, 10px);
    background-color: #F8F8F8;
    aspect-ratio: 1/1;
}
.gift_flex_box02 a .img img {
    height: clamp(36px, 9.03vw, 65px);
    aspect-ratio: 1/1;
}
.gift_flex_box02.type02 a {
    background-color: #fff;
}
.gift_page_nav_box {
    background-color: #F4F4F4;
    padding: clamp(12px, 2.78vw, 20px) 0;
}
.gift_page_nav_box .inner {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #434343;
    font-size: clamp(12px, 3.06vw, 22px);
    font-weight: 500;
}
.gift_page_nav_box span {
    display: flex;
    align-items: center;
}
.gift_page_nav_box img {
    height: clamp(15px, 3.47vw, 25px);
}
.gift_page_nav_box .state {
    color: #0B0B0B;
}
.gift_tit {
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 700;
    color: #020202;
}
.gift_slide_box {
    padding: clamp(20px, 5.56vw, 40px) 0;
    background-color: #fff;
}
.item_tab_box_slide01_wrap {
    margin-top: clamp(20px, 5.56vw, 40px);
}

.gift_slide01 {
    padding-left: clamp(20px, 5.56vw, 40px);
}

.gift_price_tab {
    margin-top: clamp(18px, 4.86vw, 35px);
    display: flex;
    gap: clamp(4px, 1.39vw, 10px);
}

.gift_price_tab a {
    flex: 1;
    padding: clamp(10px, 4.17vw, 15px) clamp(3px, 1.78vw, 10px);
    font-size: clamp(10px, 2.78vw, 20px);
    font-weight: 500;
    color: #444;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: clamp(6px, 1.39vw, 10px);
    background-color: #fff;
    border: 1px solid #DFDFDF;
    word-break: keep-all;
    text-align: center;
}

.gift_price_tab a.active {
    background-color: #FFA82D;
    color: #fff;
    border: unset;
}
.gift_menu_list001 {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(20px, 5.56vw, 40px) clamp(6px, 1.39vw, 10px);
}

.gift_menu_list001 .item {
    width: calc(33.333% - clamp(4px, 0.97vw, 7px));
}

.gift_info_box01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(15px, 4.17vw, 30px);
    font-size: clamp(14px, 2.78vw, 20px);
    font-weight: 400;
    color: #020202;
}

.gift_select {
    padding: 0 clamp(6px, 2.78vw, 10px);
    padding-right: clamp(18px, 4.17vw, 30px);
    font-size: clamp(14px, 2.78vw, 20px);
    font-weight: 400;
    color: #020202;
    appearance: none;
    background: url('/img/sub/select_arw02.png') no-repeat right center / clamp(13px, 3.33vw, 24px) clamp(11px, 2.78vw, 20px);
}
.gift_detail_top_box .img {
    aspect-ratio: 1/1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}
.gift_detail_top_box .img img {
    object-fit: contain;
}
.gift_detail_info_box001 {
    border-top: 1px solid #E7E7E7;
    padding: clamp(15px, 4.17vw, 30px) 0 clamp(30px, 8.33vw, 60px);
    background-color: #fff;
}

.info_nav001 {
    display: flex;
    align-items: center;
    gap: clamp(3px, 1.39vw, 5px);
    font-size: clamp(14px, 2.5vw, 18px);
    font-weight: 400;
    color: #9F9F9F;
}

.info_nav001 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1px, 0.5vw, 4px) clamp(4px, 2.22vw, 8px);
    background-color: #F8F8F8;
    border-radius: clamp(2px, 0.83vw, 3px);
}

.info_nav001 span.color {
    background-color: #FFA82D;
    color: #fff;
}

.gift_detail_info_alt {
    display: flex;
    align-items: center;
    gap: clamp(6px, 2.78vw, 10px);
}

.gift_detail_info_tit {
    margin: clamp(10px, 2.78vw, 20px) 0;
    font-size: clamp(20px, 4.86vw, 35px);
    font-weight: 500;
    color: #1E2236;
}

.gift_detail_info_alt .name {
    font-size: clamp(16px, 3.33vw, 24px);
    font-weight: 400;
    color: #1E2236;
}

.gift_detail_info_alt .price {
    font-size: clamp(20px, 4.44vw, 32px);
    font-weight: 500;
    color: #FF7E78;
}

.gift_detail_info_alt .add {
    padding: clamp(2px, 1.11vw, 4px) clamp(6px, 2.78vw, 10px);
    border-radius: clamp(15px, 8.33vw, 30px);
    background-color: #F5606A;
    color: #fff;
    font-size: clamp(14px, 2.78vw, 20px);
    font-weight: 400;
}

.gift_item_icon_box01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: clamp(20px, 5.56vw, 40px) 0;
    border-radius: clamp(6px, 2.78vw, 10px);
    padding: clamp(12px, 5.56vw, 20px);
    background-color: #F1F1F1;
}

.gift_item_icon_box01 .img {
    width: clamp(36px, 9.03vw, 65px);
    height: clamp(36px, 9.03vw, 65px);
    border-radius: 50%;
    overflow: hidden;
}

.gift_item_icon_box01 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gift_item_icon_box01 .info {
    display: flex;
    align-items: center;
}

.gift_item_icon_box01 .info > div {
    display: flex;
    gap: clamp(4px, 2.22vw, 8px);
    align-items: center;
    font-size: clamp(14px, 3.33vw, 24px);
    color: #4F5156;
    position: relative;
}

.gift_item_icon_box01 .info div + div {
    margin-left: clamp(3px, 1.39vw, 5px);
    padding-left: clamp(3px, 1.39vw, 5px);
}

.gift_item_icon_box01 .info div + div::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: clamp(10px, 5vw, 18px);
    background-color: #A6A6A6;
}

.join_btn01.type002 {
    height: clamp(42px, 9.72vw, 70px);
    border-radius: unset;
    font-size: clamp(16px, 3.33vw, 24px);
}
.join_btn01.type002.border {
    border-radius: 6px;
    height: clamp(50px, 9.72vw, 80px);
}
.detail_info_box002 .join_btn01 {
    margin-bottom: 35px;
}
.sticky_box01 {
    position: sticky;
    height: clamp(60px, 15.28vw, 110px);
    bottom: 0;
    display: flex;
    z-index: 12;
}

.sticky_box01 a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 400;
    color: #fff;
    flex: 1;
}

.sticky_box01 a.heart_box {
    background-color: #444444;
    flex: 0 0 15%;
}

.sticky_box01 a:nth-child(2) {
    background-color: #F56660;
}

.sticky_box01 a:nth-child(3) {
    background-color: #FF4138;
}
.sticky_box01 a img {
    height: clamp(28px, 6.81vw, 49px);
}

.sticky_box01 a.heart_box img {
    height: clamp(28px, 6.81vw, 61px);
}
.item_flex_box05 {
    display: flex;
    gap: clamp(12px, 6.94vw, 25px);
    align-items: flex-start;
    margin-top: clamp(18px, 4.86vw, 35px);
}

.item_flex_box05 .img {
    min-width: clamp(90px, 23.61vw, 170px);
    width: clamp(90px, 23.61vw, 170px);
    aspect-ratio: 1 / 1;
}

.item_flex_box05 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item_flex_box05 .gift_detail_info_tit {
    font-size: clamp(16px, 3.61vw, 26px);
}
.input_style_box.button.type02 {
    margin-top: clamp(8px, 2.08vw, 15px);
}

.input_style_box.button.type02 input {
    padding-right: clamp(60px, 8.33vw, 115px);
    background-color: #EFEFEF;
}

.etc_ment002 {
    font-size: clamp(10px, 2.78vw, 20px);
    color: #FF7E78;
    font-weight: 400;
    margin-top: clamp(8px, 2.08vw, 15px);
}
.gift_member_box {
    padding: clamp(16px, 4.17vw, 30px) 0;
}

.gift_member_box .box {
    border-radius: clamp(6px, 1.39vw, 10px);
    padding: clamp(12px, 2.78vw, 20px);
    background-color: #FFFAF3;
    border: 1px solid #DADADA;
    display: flex;
    align-items: flex-start;
    gap: clamp(8px, 4.17vw, 15px);
    position: relative;
    padding-right: 24px;
    margin-top: clamp(10px, 2.78vw, 20px);
}


.gift_member_box .remove_btn {
    position: absolute;
    height: clamp(20px, 5.28vw, 38px);
    top: clamp(3px, 1.39vw, 5px);
    right: clamp(3px, 1.39vw, 5px);
}
.gift_member_box .remove_btn img {
    height: 100%;
}

.gift_member_box .box .num {
    font-size: clamp(12px, 3.33vw, 24px);
    font-weight: 500;
    color: #F56660;
}

.gift_member_box .box .info .t_box {
    display: flex;
    align-items: center;
    font-size: clamp(12px, 2.33vw, 24px);
    font-weight: 400;
    color: #848484;
}

.gift_member_box .box .info .t_box > div {
    position: relative;
    display: flex;
    align-items: center;
    gap: clamp(4px, 2.22vw, 8px);
}

.gift_member_box .box .info .t_box > div .alt {
    color: #000;
}
.gift_member_box .box .info .t_box > div + div {
    margin-left: 5px;
    padding-left: 5px;
}
.gift_member_box .box .info .t_box > div + div::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #4F5156;
    width: 1px;
    height: 80%;
}
.gift_member_box .box .info {
    width: 100%;
}
.gift_member_box .box .info .b_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: clamp(6px, 2.78vw, 10px);
}

.gift_member_box .box .info .b_box .left {
    display: flex; 
    gap: clamp(3px, 1.39vw, 5px);
    align-items: center;
}

.gift_member_box .box .info .b_box .point {
    font-weight: 700;
    font-size: clamp(16px, 3.33vw, 24px);
}

.quantity_box {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #DDDDDD;
    border-radius: clamp(2px, 1.11vw, 4px);
    width: clamp(100px, 25vw, 160px);
    height: clamp(30px, 8vw, 40px);
    font-family: inherit;
    background-color: #fff;
}

.quantity_box button {
    flex: 1;
    height: 100%;
    border: none;
    background: transparent;
    font-size: clamp(12px, 3vw, 22px);
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quantity_box .qty_value {
    flex: 0 0 44%;
    text-align: center;
    font-size: clamp(12px, 3vw, 20px);
    font-weight: 500;
    color: #222;
    pointer-events: none;
}

.quantity_box button:nth-child(1) {
    border-right: 1px solid #DDDDDD;
}
.quantity_box button:nth-child(3) {
    border-left: 1px solid #DDDDDD;
}
.gift_buy_box {
    border-top: 12px solid #F3F3F3;
}
.bank_sub_tit.flex.type02 {
    border-radius: clamp(5px, 1.39vw, 10px);
    background-color: #F6F6F9;
    padding: 15px clamp(15px, 2.78vw, 20px);
}
.bank_sub_tit.flex.type02.last {
    background-color: #fff;
    border: 1px solid #DADADA;
}
.bank_sub_tit.flex.type02.black {
    background-color: #202541;
}
.bank_sub_tit.flex.type02.black .left {
    color: #fff;
}
.gift_result_wrap .t_box {
    padding: clamp(45px, 12.5vw, 90px) 0 clamp(30px, 8.33vw, 60px);
    text-align: center;
    font-size: clamp(18px, 4.17vw, 30px);
    font-weight: 400;
    color: #000;
}

.gift_result_wrap .t_box .img {
    height: clamp(100px, 27.78vw, 200px);
    margin-bottom: clamp(15px, 4.17vw, 30px);
}

.gift_result_wrap .t_box .img img {
    height: 100%;
}

.gift_result_wrap .b_box .alt_box {
    padding-top: clamp(10px, 2.78vw, 20px);
    border-top: 1px solid #EEEEEE;
}

.gift_result_wrap .b_box .alt_box + .alt_box {
    margin-top: clamp(10px, 2.78vw, 20px);
}

.gift_result_wrap .b_box .alt_box .left {
    color: #999999;
}
.gift_result_wrap .b_box .alt_box .purple {
    color: #6A37FA;
}
.gift_tab_box.border{
    border: 1px solid #D5D5D5;
}
.join_btn01.type003 {
    height: clamp(35px, 6.94vw, 50px);
    border-radius: clamp(6px, 1.39vw, 10px);
}
.join_btn01.gray {
    background-color: #B4B4B4;
}
.gift_box_list_box .box .txt {
    margin-bottom: clamp(8px, 2.08vw, 15px);
    font-size: clamp(13px, 2.78vw, 20px);
    font-weight: 400;
    color: #000000;
}

.gift_box_list_box .box .alt_box {
    padding: clamp(4px, 1.78vw, 10px) clamp(6px, 3.17vw, 15px);
    border-radius: clamp(6px, 1.39vw, 10px);
    border: 1px solid #d5d5d5;
}

.gift_box_list_box .box .alt_box .t_box {
    padding: clamp(3px, 1.39vw, 5px) clamp(6px, 2.78vw, 10px);
    border-radius: clamp(6px, 1.39vw, 10px);
    background-color: #EDEDED;
    position: relative;
    gap: clamp(6px, 2.78vw, 10px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(14px, 2.78vw, 20px);
    font-weight: 500;
    color: #000;
    margin-bottom: clamp(8px, 2.08vw, 15px);
}

.gift_box_list_box .box .alt_box .t_box span {
    color: #9B9B9B;
}

.gift_box_list_box .box .alt_box .t_box .remove_btn {
    height: clamp(14px, 2.78vw, 20px);
}
.gift_box_list_box .box .alt_box .t_box .remove_btn img {
    height: 100%;
}

.gift_box_list_box .box .alt_box .b_box {
    display: flex;
    align-items: flex-start;
    gap: clamp(8px, 4.17vw, 15px);
}
.gift_box_list_box .box .alt_box .b_box .alt {
    width: 100%;
}
.gift_box_list_box .box .alt_box .b_box .img {
    min-width: clamp(70px, 17.75vw, 135px);
    width: clamp(70px, 17.75vw, 135px);
    aspect-ratio: 1/1;
}

.gift_box_list_box .box .alt_box .b_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gift_box_list_box .box .alt_box .b_box .tit {
    font-size: clamp(14px, 3.33vw, 24px);
    font-weight: 500;
    color: #1E2236;
    margin-bottom: clamp(10px, 2.08vw, 15px);
}

.btn_flex_box06 {
    display: flex;
    gap: clamp(5px, 1.78vw, 10px);
}

.btn_flex_box06 a.w60 {
    flex: 0 0 60%;
}

.btn_flex_box06 a {
    flex: 1;
    font-size: clamp(12px, 2.78vw, 20px);
    font-weight: 400;
}
.gift_box_list_box .box .alt_box {
    position: relative;
    overflow: hidden;
}
.gift_box_list_box .box + .box {
    margin-top: clamp(10px, 2.78vw, 20px);
}

.gift_wrap {
    padding-bottom: clamp(30px, 8.33vw, 60px);
}

.gift_box_list_box .box .end_box {
    display: none;
}

.gift_box_list_box .box.end .end_box {
    background: rgba(0, 0, 0, 0.8);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 14;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.gift_box_list_box .box.end .end_box .tit {
    font-size: clamp(16px, 3.89vw, 28px);
    font-weight: 400;
}

.gift_box_list_box .box.end .end_box .alt {
    font-size: clamp(12px, 3.06vw, 22px);
    margin-top: clamp(6px, 2.78vw, 10px);
    font-weight: 400;
}

.gift_popup .t_box {
    text-align: center;
    max-width: 70%;
    aspect-ratio: 1/1.06;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}
.gift_popup .t_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.gift_popup .popup_type02 .popup_body .alt_box.icon .box.flex {    
    justify-content: flex-start;
    gap: 10px;
}
.gift_popup .popup_type02 .popup_body .alt_box.icon .box .tit {
    min-width: clamp(60px, 12vw, 90px);
}

.gift_popup .popup_type02 .popup_body .alt_box.icon {
    position: relative;
    padding-right: clamp(45px, 10vw, 75px);
}

.gift_popup .popup_type02 .popup_body .alt_box.icon .icon {
    width: clamp(45px, 10vw, 75px);
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.gift_popup .popup_type02 .popup_body .alt_box.icon .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gift_popup .popup_type02 .popup_body .alt_box.barcord {
    text-align: center;
}

.gift_popup .popup_type02 .popup_body .alt_box.barcord .img {
    margin: 0 auto;
    max-width: 80%;
}
.gift_popup {
    display: none;
}
/* END gift */
/* product */
.product_tab_box {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    height: clamp(50px, 8vw, 75px);
    margin-top: clamp(20px, 4vw, 40px);
}

.product_tab_box .inner {
    display: flex;
    height: 100%;
}

.product_tab_box .inner a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex: 1;
    font-size: clamp(16px, 2.8vw, 24px);
    font-weight: 400;
    border-bottom: 2px solid transparent;
}

.product_tab_box .inner a.active {
    color: #F56660;
    font-weight: 500;
    border-color: #F56660;
}
.gift_info_box01 .total span {
    color: #F56660;
}
.prd_filter_box {
    display: flex;
    gap: 8px;
}
.prd_filter_box a.active {
    color: #F56660;
}
.product_con_box {
    background-color: #fff;
    padding-bottom: clamp(30px, 8.33vw, 60px);
}
.prd_item_box {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(20px, 2.8vw, 40px) clamp(10px, 1.4vw, 20px);
}

.prd_item_box a {
    width: calc(50% - clamp(5px, 0.7vw, 10px));
}

.prd_item_box .tit {
    margin: clamp(10px, 1.4vw, 20px) 0;
}

.prd_price {
    color: #A3A3A3;
    font-size: clamp(18px, 3.6vw, 26px);
    font-weight: 400;
}

.prd_price_box {
    display: flex;
    gap: clamp(5px, 0.7vw, 10px);
}

.prd_price_box .sale {
    font-size: clamp(18px, 3.6vw, 26px);
    font-weight: 700;
    color: #F56660;
}

.prd_price_box .sale_price {
    font-size: clamp(20px, 4.2vw, 30px);
    font-weight: 400;
    color: #444;
}

.prd_btn_box01 {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}
.prd_point_box {
    padding: 0 clamp(15px, 2.1vw, 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    background-color: #444444;
    color: #fff;
    height: clamp(35px, 8vw, 60px);
}
.prd_btn_box01 .prd_point_box {
    padding: unset;    
}
.prd_btn_box01 a {
    flex: 1;
    text-align: right;
}
.prd_btn_box01 a:last-child {
    flex-shrink: 0;
    flex: unset;
}
.prd_btn_box01 a img {
    height: clamp(35px, 8vw, 60px);
}

.prd_btn_box01 {
    margin-top: clamp(18px, 2.4vw, 35px);
}

.prd_detail_info_box .tit {
    font-size: clamp(20px, 5vw, 36px);
    font-weight: 500;
    margin: clamp(15px, 4.2vw, 30px) 0;
}
.prd_alt_box05 {
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8;
    margin: clamp(30px, 4.2vw, 30px) 0;
    padding: clamp(15px, 4.2vw, 30px) 0;
}

.prd_alt_box05 .bank_sub_tit .left {
    color: #4F5156;
    min-width: clamp(60px, 13.9vw, 100px);
    width: clamp(60px, 13.9vw, 100px);
}

.prd_alt_box05 .bank_sub_tit .point {
    width: 100%;
    justify-content: flex-start;
}

.join_btn01.gray02 {
    border: 1px solid #C9C9C9;
    background-color: #F3F3F3;
    color: #444444;
    font-weight: 400;
}

.detail_info_box002.prd {
    margin-top: clamp(30px, 8.3vw, 60px);
}

.join_btn01.list_btn {
    max-width: clamp(160px, 37.5vw, 270px);
    margin: clamp(25px, 6.9vw, 50px) auto 0;
}

.rental_info_box02 .prd_point_box {
    height: clamp(25px, 6vw, 50px);
    margin-top: 10px;
}
.rental_name {
    font-size: clamp(14px, 2.8vw, 20px);
    font-weight: 400;
    color: #444;
}

.rental_flex_box03 {
    padding-top: clamp(4px, 1.4vw, 10px);
    display: flex;
    justify-content: space-between;
    font-size: clamp(14px, 2.5vw, 18px);
    font-weight: 400;
    color: #444;
    align-items: center;
}
.rental_flex_box03 span:first-child {
    min-width: 65px;
}
.rental_flex_box03 .price {
    font-size: clamp(14px, 2.8vw, 20px);
}

.rental_flex_box03 .price b {
    font-size: clamp(16px, 3.3vw, 24px);
}

.rental_flex_box03.red {
    color: #F56660;
}
.prd_alt_box05 {
    padding: clamp(15px, 3.5vw, 25px) clamp(12px, 2.8vw, 20px);
    background-color: #F7F7F7;
    border-radius: clamp(12px, 2.8vw, 20px);
    border: unset;
}

.radio_flex_box {
    display: flex;
    gap: clamp(4px, 1.1vw, 8px);
}

.com_radio01 input {
    display: none;
}

.com_radio01 {
    border: 1px solid #DADADA;
    background-color: #F3F3F3;
    border-radius: clamp(15px, 4.2vw, 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    height: clamp(30px, 6.7vw, 48px);
    flex: 1;
}

.bank_sub_tit.flex .radio_flex_box {
    width: 100%;
}
.bank_sub_tit.center {
    align-items: center;
}

.com_radio01:has(input:checked) {
    border-color: #F56660;
    background-color: #fff;
    color: #F56660;
}
.renta_btm_flex_box02 {
    display: flex;   
    gap: clamp(8px, 2.1vw, 15px);
}

.renta_btm_flex_box02 .left {
    flex: 1;
}

.renta_btm_flex_box02 .join_btn01.type002 {
    flex-shrink: 0;
    height: unset;
    width: auto;
    padding: 0 clamp(8px, 2.2vw, 16px);
    font-weight: 400;
}

.item_flex_box05.custom {
    align-items: stretch;
}

.item_flex_box05 .flex.right {
    display: flex;
    flex-direction: column;
}

.item_flex_box05 .flex.right .quantity_box {
    margin-top: auto;
}

.rental_infobox_11 {
    margin: clamp(20px, 5.6vw, 40px) 0;
    border-radius: clamp(12px, 2.8vw, 20px);
    background-color: #F56660;
    padding: clamp(15px, 2.8vw, 20px);
    font-size: clamp(14px, 3.3vw, 24px);
    font-weight: 700;
    color: #fff;
    display: flex;
    gap: clamp(5px, 1.4vw, 10px);
    justify-content: space-between;
}

.rental_infobox_11 .right {
    padding: clamp(6px, 0.7vw, 8px) clamp(9px, 1.4vw, 10px);
    background-color: #fff;
    border-radius: clamp(12px, 2.8vw, 20px);
    color: #444444;
}

.rental_infobox_11 .right .last {
    font-size: clamp(16px, 3.6vw, 26px);
    color: #F56660;
}
.rental_infobox_11 .box {
    display: flex;
}
.rental_infobox_11 .left_txt {
    min-width: 80px;
}
.rental_infobox_11 .box + .box {
    margin-top: 5px;
}
.chk_flex_box11 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(5px, 1.4vw, 10px);
}

.com_chk_box22 {
    display: flex;
    align-items: center;
    font-size: clamp(14px, 3.6vw, 26px);
    font-weight: 400;
    gap: 5px;
}

.com_chk_box22 a {
    font-weight: 700;
}

.com_chk_box22 label {
    display: flex;
    align-items: center;
    gap: clamp(3px, 0.7vw, 5px);
}

/* END product */