.purchase .r_cate .r_name {
    position: relative;
    display: flex;
    align-items: center;
}

.purchase .r_cate .r_name .bubble_wrap {
    display: flex;
    align-items: center;
    margin-left: 4px;
}

.purchase .r_cate .r_name .bubble {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 236px;
    height: 80px;
    background: #e3f0ff;
    border-radius: 10px;
    display: none;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
}
.purchase .r_cate .r_name .bubble_wrap:hover .bubble {
    display: flex;
}
.purchase .r_cate .r_name .bubble::after {
    border-bottom: 16px solid #e3f0ff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    content: '';
    height: 0;
    position: absolute;
    top: -8px;
    left: 54px;
    width: 0;
}

.purchase .r_cate .ip_wrap .state {
    width: 50%;
    height: 44px;
    background: #f7f9fd;
    border: 1px solid #dddddd;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
}

.purchase .r_cate .ip_wrap .state + .state {
    margin-left: 12px;
}

.purchase .r_cate .ip_wrap .state.on {
    border: 1px solid #003976;
    border-radius: 8px;
    background: #fff;
    color: #003976;
}
.purchase .row .name_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.purchase .row .name_wrap small {
    font-weight: 500;
    font-size: 14px;
    line-height: 24px;
    color: #003976;
}
.purchase .cnt_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #dddddd;
    border-radius: 8px;
    height: 44px;
}
.purchase .cnt_wrap .btn {
    width: 46px;
    height: 100%;
}

.purchase .cnt_wrap .btn_minus {
    background: url('/images/icon/minus.svg') no-repeat center / 24px;
    border-right: 1px solid #dddddd;
}

.purchase .cnt_wrap .btn_plus {
    background: url('/images/icon/plus.svg') no-repeat center / 24px;
    border-left: 1px solid #dddddd;
}
.purchase .day_chk + .day_chk {
    margin-left: 16px;
}
.purchase .day_chk input[type='checkbox'] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.purchase .day_chk input + label {
    cursor: pointer;
    width: 40px;
    height: 40px;
    border: 1px solid #dddddd;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.purchase .day_chk input:checked + label {
    background: #003976;
    border: none;
    color: #ffffff;
}

.purchase .r_sum .r_name em {
    font-style: inherit;
    font-weight: 400;
    font-size: 13px;
    line-height: 22px;
    color: #888888;
    margin-left: 12px;
}
.purchase .r_sum .ip_wrap {
    position: relative;
    width: 50%;
}

.purchase .r_sum .ip_wrap > span {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0%, -50%);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
}
.purchase .r_period .ip_wrap > span {
    margin-left: 12px;
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
}

.purchase .price_info dl {
    background: #eef7ff;
    border-radius: 16px;
    padding: 20px;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.purchase .price_info dd {
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
    color: #003976;
}
.purchase .bill_info .chk_wrap + .chk_wrap {
    margin-left: 24px;
}
.purchase .bill_info .chk_wrap input + label {
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
}
