:root {
    --color-point1: #1F66C3;
    --color-point2: #1A4782;
    --color-point3: #1E324B;
    --color-point4: #162126;
    --color-point5: #BECFFF;
    --color-point6: #62A6FF;
    --color-point7: #4B90EC;
    --color-point8: #1F66C3;
    --color-point9: #073e87;
    --color-point10: #F4F6F8;

    --color-point1-op70: rgb(31 102 195 / 70%);
    --color-point5-op30: rgb(190 207 255 / 30%);
    --color-point5-op5: rgb(190 207 255 / 5%);

    --color-light1: #fff;
    --color-light2: #D9D9D9;
    --color-light3: #ddd;
    --color-light4: #888;
    --color-light5: #F4F6F8;
    --color-light6: #d3d3d3;
    --color-light7: #E7E7E7;
    --color-light8: #ccc;
    --color-light9: #929292;

    --color-dark3: #707070;
    --color-dark4: #000;

    --color-light1-op14: rgb(255 255 255 / 14%);
    --color-light1-op30: rgb(255 255 255 / 30%);
    --color-light1-op50: rgb(255 255 255 / 50%);
    --color-light1-op60: rgb(255 255 255 / 60%);
    --color-light1-op80: rgb(255 255 255 / 80%);

    --color-light2-op30: rgb(217 217 217 / 30%);

    --color-dark4-op10: rgb(0 0 0 / 10%);
    --color-dark4-op20: rgb(0 0 0 / 20%);

    --color-red: #f6465d;
    --color-green: #0ecb81;
    --color-yellow: #ffdd1e;
    --color-blue: #1ea9ff;

    --color-red-op: #f6465e1d;
    --color-green-op: #0ecb832c;
    --color-yellow-op: #ffdd1e22;
    --color-blue-op: #1ea9ff22;

    --color-dim: rgb(0 0 0 / 50%);
}

.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
}

.com_section {
    padding: 140px 0;
}

.com_desc {
    display: grid;
    gap: 24px;
}

.com_desc_stit {
    font-weight: 700;
    color: var(--color-point1);
}

.com_desc_mtit {
    font-size: 40px;
}

.com_desc_mtit span {
    font-weight: 700;
}

.com_desc_txt_group {
    display: grid;
    gap: 24px;
}

.com_desc_txt {
    font-size: 18px;
}

.com_desc_txt span {
    font-weight: 700;
}

.com_desc_txt.dot {
    position: relative;
    padding-left: 16px;
}

.com_desc_txt.dot::before {
    content: '';

    position: absolute;
    top: 10px;
    left: 0;

    width: 5px;
    height: 5px;
    min-width: 5px;
    min-height: 5px;
    border-radius: 50%;
    background-color: var(--color-dark4);
}

@media screen and (max-width:768px) {
    .com_section {
        padding: 90px 0;
    }

    .com_desc {
        display: grid;
        gap: 10px;
    }

    .com_desc_stit {
        font-size: 15px;
    }

    .com_desc_mtit {
        font-size: 23px;
    }

    .com_desc_txt_group {
        gap: 16px;
    }

    .com_desc_txt {
        font-size: 18px;
    }
}

br.pc_only {
    display: block;
}

br.tb_only {
    display: none;
}

br.mo_only {
    display: none;
}

@media screen and (max-width:1080px) {
    br.pc_only {
        display: none;
    }

    br.tb_only {
        display: block;
    }

    br.mo_only {
        display: none;
    }
}

@media screen and (max-width:768px) {
    br.pc_only {
        display: none;
    }

    br.tb_only {
        display: none;
    }

    br.mo_only {
        display: block;
    }
}

.btn {
    width: fit-content;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 16px 44px;
    border-radius: 30px;
    font-weight: 500;

    white-space: nowrap;
}

.btn.basic {
    background-color: var(--color-point2);
    color: var(--color-light1);
}

.btn.classic {
    background-color: var(--color-light1);
    color: var(--color-point1);
    border-radius: 0;
}

.btn.point1 {
    background-color: var(--color-point1);
    color: var(--color-light1);
    border-radius: 0;
}

.btn.black {
    background-color: var(--color-dark4);
    color: var(--color-light1);
    border-radius: 0;
}

.btn img {
    max-width: 13px;
    max-height: 11px;
}

.btn img.download {
    max-width: 20px;
    max-height: 20px;
    filter: invert(100%) sepia(97%) saturate(0%) hue-rotate(22deg) brightness(104%) contrast(100%);
}

#com_modal {
    width: 100%;
    height: 100%;

    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;

    display: flex;
    justify-content: center;
    align-items: center;

    background: rgba(0, 0, 0, 0.5);
}

#com_modal.hidden {
    display: none;
}

#com_modal_content {
    width: 100%;
    max-width: 1080px;
    max-height: 700px;

    display: grid;
    gap: 30px;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    background-color: var(--color-light1);
    padding: 80px 50px;
    overflow-y: scroll;
}

.com_modal_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.com_modal_tit {
    font-size: 30px;
    font-weight: 700;
    padding-top: 20px;
    position: relative;
}

.com_modal_tit::before {
    content: '';

    width: 40px;
    height: 5px;
    background-color: var(--color-dark4);

    position: absolute;
    top: 0;
    left: 0;
}

#com_modal_Cbtn {
    width: 38px;
    height: 38px;

    position: relative;
}

#com_modal_Cbtn::before {
    content: "";

    width: 38px;
    height: 2px;

    position: absolute;
    left: 50%;
    top: 50%;

    display: inline-block;
    vertical-align: middle;

    margin-top: -1px;
    margin-left: -18px;
    border-radius: 2px;
    background-color: var(--color-dark4);

    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transition: 0.2s;
    -webkit-transition: 0.2s;
}

#com_modal_Cbtn::after {
    content: "";

    width: 38px;
    height: 2px;

    position: absolute;
    left: 50%;
    top: 50%;

    display: inline-block;
    vertical-align: middle;

    margin-top: -1px;
    margin-left: -19px;
    border-radius: 2px;
    background-color: var(--color-dark4);

    transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transition: 0.2s;
    -webkit-transition: 0.2s;
}

.com_modal_desc {
    display: grid;
    gap: 10px;
}

.com_modal_desc_tit {
    font-size: 20px;
    font-weight: 500;
    color: var(--color-point1);

    position: relative;
    padding-left: 24px;
}

.com_modal_desc_tit::before {
    content: '★';

    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.com_modal_desc_txt {
    font-size: 16px;
    color: var(--color-light9);
}

@media screen and (max-width:768px) {
    #com_modal_content {
        max-height: 360px;
        padding: 40px 24px;
    }

    .com_modal_tit {
        font-size: 22px;
    }

    .com_modal_desc_tit {
        font-size: 16px;
    }

    .com_modal_desc_txt {
        font-size: 14px;
    }
}


.text_center {
    text-align: center;
}