/* contact-1 추가 */
.useinfo-01 .useinfo-01-01 {
    padding-bottom: min(7.3vw, 60px);
}
.useinfo-01 .useinfo-01-flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.useinfo-01 .useinfo-01-flex .booking-1 {
    width: 17%
}
.useinfo-01 .useinfo-01-flex .booking-2 {
    width: 81%;
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.8em;
}
.useinfo-01 .useinfo-01-flex .booking-1 h5 {
    padding-bottom: 10px;
    letter-spacing: -0.05em;
    margin-bottom: 15px;
    font-weight: 600;
}
.useinfo-01 .useinfo-01-flex .booking-2 p {
    line-height: 1.3;
    letter-spacing: -0.05em;
    color: #525252;
}
.useinfo-01 .useinfo-01-flex .booking-2 p span.light {
    color: #3396d6;
}
.useinfo-01 .useinfo-01-flex .booking-2 ul {
    padding-left: 20px;
    list-style: disc;
}
.useinfo-01 .useinfo-01-flex .booking-2 > ul > li {
    color: #525252;
}
.useinfo-01 .useinfo-01-flex .booking-2 ul li::marker {
    color: #3396d6;
    --tw-ring-color: #3396d6;
}
.useinfo-01 .useinfo-01-flex .booking-2 .em-gmap-1 {
    width: 100%;
    padding: 9px;
    border: 1px solid #dfdfdf;
    height: 400px;
}
.useinfo-01 .useinfo-01-flex .booking-2 .em-gmap-1 .root_daum_roughmap .wrap_map {
    height: 348px !important;
}
.useinfo-01 .useinfo-01-flex .booking-2 .em-gmap-1 .map {
    height: 348px;
}
.useinfo-01 .bo-pdf-con .pdf-con-view {
    width: 100%;
    height: calc(100vh - 170px);
    max-height: 900px;
}
.useinfo-01 .useinfo-01-flex .booking-2 > div {
    width: 100%;
}
.useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table {
    border-top: 2px solid #3396d6;
}
.useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table thead th {
    background-color: transparent;
    text-align: center;
    color: #424242;
}
.useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table tbody td {
    color: #525252;
}
.useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table tbody td:nth-child(1) {
    font-weight: 600;
}
.useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table tbody td:not(:nth-child(2)) {
    text-align: center;
}

.useinfo-01 .banner-box-01 {
    width: 100%;
    position: relative;
    padding: 5% 3.5%;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
}
.useinfo-01 .banner-box-01 .box-cont h5 {
    font-weight: 700;
    color: #3396d6;
}
.useinfo-01 .banner-box-01 .box-cont h5 small {
    letter-spacing: -0.03em;
    color: #323232;
}

.icon-flex-zone > ul {
    width: 100%;
    row-gap: 0;
    list-style: none !important;
    padding-left: 0 !important;
}
.icon-flex-zone > ul > li {
    flex: unset;
    width: calc((100% - 2px) / 3);
    border-right: 1px dashed #dbdbdb;
}
.icon-flex-zone > ul > li:last-child {
    border-right: 0
}
.icon-flex-zone ul li .icon {
    position: relative;
    width: 70%;
    max-width: 150px;
    padding-bottom: min(calc(70% - 24px), 126px);
    border: 12px solid #c0edff;
    border-radius: 50%;
    margin: 0 auto 25px;
}
.icon-flex-zone ul li .icon::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    display: block;
    width: 1px;
    height: 1px;
    border-top: 15px solid #c0edff;
    border-bottom: 15px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    transform: translateX(-50%);
}
.icon-flex-zone ul li .icon .img-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon-flex-zone ul li .icon .img-box img {
    max-width: 55%;
    height: auto;
}
.icon-flex-zone ul li .icon .img-box h5 {
    letter-spacing: -0.05em;
    font-weight: 700;
    color: #232323;
    text-align: center;
    line-height: 0.8;
}
.icon-flex-zone ul li .icon .img-box h5 small {
    font-size: 60%;
}
.icon-flex-zone ul li .detail {
    width: 100%;
    padding: 0 15px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px;
}
.icon-flex-zone ul li .detail p {
    width: 100%;
    text-align: center;
    color: #525252;
}
.icon-flex-zone ul li .detail p.big1 {
    color: #424242;
    font-weight: 600;
}
.icon-flex-zone ul li .detail p.big2 {
    font-weight: 600;
    line-height: 1.3;
}
.icon-flex-zone ul li .detail p.big3 {
    line-height: 1.3;
}
.icon-flex-zone ul li .detail > ol {
    padding-left: 20px;
}
.icon-flex-zone ul li .detail > ol > li {
    color: #525252;
    font-weight: 600;
}
.icon-flex-zone ul li .detail > ul {
    padding-left: 20px;
}
.icon-flex-zone ul li .detail > ul > li {
    color: #525252;
    font-weight: 600;
}
@media only screen and (min-width: 641px) {
    .icon-flex-zone.rule-1 > ul > li {
        width: 100%;
        border-right: 0;
        border-bottom: 1px dashed #dbdbdb;
        padding-bottom: min(4.25vw, 20px);
        margin-bottom: min(4.25vw, 20px);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    .icon-flex-zone.rule-1 ul li:last-child {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .icon-flex-zone.rule-1 ul li .icon {
        width: 15%;
        padding-bottom: min(calc(15% - 24px), 126px);
        margin: 0;
    }
    .icon-flex-zone.rule-1 ul li .icon::after {
        top: 50%;
        bottom: auto;
        left: auto;
        right: -35px;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #c0edff;
        border-right: 15px solid transparent;
        transform: translateY(-50%);
    }
    .icon-flex-zone.rule-1 ul li .detail {
        width: 83%;
        padding: 0 0 0 1.5%;
    }
    .icon-flex-zone.rule-1 ul li .detail p {
        text-align: left;
    }
}
@media only screen and (min-width: 992px) {
    .useinfo-01 .useinfo-01-flex .booking-1 h5 {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table thead th:first-child, 
    .useinfo-01 .useinfo-01-flex .booking-2 .tbl-wrap table tbody td:first-child {
        width: 180px;
    }
}
@media only screen and (max-width: 991px) {
    .useinfo-01 .useinfo-01-flex .booking-1,
    .useinfo-01 .useinfo-01-flex .booking-2 {
        width: 100%
    }
}
@media only screen and (max-width: 640px) {
    .icon-flex-zone > ul > li {
        width: 100%;
        border-right: 0;
        border-bottom: 1px dashed #dbdbdb;
        padding-bottom: min(4.25vw, 40px);
        margin-bottom: min(4.25vw, 40px);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    .icon-flex-zone ul li:last-child {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .icon-flex-zone ul li .icon {
        width: 23%;
        padding-bottom: min(calc(23% - 24px), 126px);
        margin: 0;
    }
    .icon-flex-zone ul li .icon::after {
        top: 50%;
        bottom: auto;
        left: auto;
        right: -35px;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #c0edff;
        border-right: 15px solid transparent;
        transform: translateY(-50%);
    }
    .icon-flex-zone ul li .detail {
        width: 75%;
        padding: 0 0 0 3.5%;
        align-content: center;
    }
    .icon-flex-zone ul li .detail p {
        text-align: left;
    }
}
