.mt-0 {
    margin-top: 0 !important;
}
.mt-5 {
    margin-top: 5px !important;
}
.mt-10 {
    margin-top: 10px !important;
}
.mt-15 {
    margin-top: 15px !important;
}
.mt-20 {
    margin-top: 20px !important;
}
.mt-25 {
    margin-top: 25px !important;
}
.mt-30 {
    margin-top: 30px !important;
}
.mt-35 {
    margin-top: 35px !important;
}
.mt-40 {
    margin-top: 40px !important;
}
.mt-45 {
    margin-top: 45px !important;
}
.mt-50 {
    margin-top: 50px !important;
}
.mt-55 {
    margin-top: 55px !important;
}
.mt-60 {
    margin-top: 60px !important;
}
.mt-65 {
    margin-top: 65px !important;
}
.mt-70 {
    margin-top: 70px !important;
}
.mt-75 {
    margin-top: 75px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mt-85 {
    margin-top: 85px !important;
}
.mt-90 {
    margin-top: 90px !important;
}
.mt-95 {
    margin-top: 95px !important;
}
.mt-100 {
    margin-top: 100px !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.mb-5 {
    margin-bottom: 5px !important;
}
.mb-10 {
    margin-bottom: 10px !important;
}
.mb-15 {
    margin-bottom: 15px !important;
}
.mb-20 {
    margin-bottom: 20px !important;
}
.mb-25 {
    margin-bottom: 25px !important;
}
.mb-30 {
    margin-bottom: 30px !important;
}
.mb-35 {
    margin-bottom: 35px !important;
}
.mb-40 {
    margin-bottom: 40px !important;
}
.mb-45 {
    margin-bottom: 45px !important;
}
.mb-50 {
    margin-bottom: 50px !important;
}
.mb-55 {
    margin-bottom: 55px !important;
}
.mb-60 {
    margin-bottom: 60px !important;
}
.mb-65 {
    margin-bottom: 65px !important;
}
.mb-70 {
    margin-bottom: 70px !important;
}
.mb-75 {
    margin-bottom: 75px !important;
}
.mb-80 {
    margin-bottom: 80px !important;
}
.mb-85 {
    margin-bottom: 85px !important;
}
.mb-90 {
    margin-bottom: 90px !important;
}
.mb-95 {
    margin-bottom: 95px !important;
}
.mb-100 {
    margin-bottom: 100px !important;
}
@media screen and (min-width: 768px) {
    .mt-sm-0 {
        margin-top: 0 !important;
    }
    .mt-sm-5 {
        margin-top: 5px !important;
    }
    .mt-sm-10 {
        margin-top: 10px !important;
    }
    .mt-sm-15 {
        margin-top: 15px !important;
    }
    .mt-sm-20 {
        margin-top: 20px !important;
    }
    .mt-sm-25 {
        margin-top: 25px !important;
    }
    .mt-sm-30 {
        margin-top: 30px !important;
    }
    .mt-sm-35 {
        margin-top: 35px !important;
    }
    .mt-sm-40 {
        margin-top: 40px !important;
    }
    .mt-sm-45 {
        margin-top: 45px !important;
    }
    .mt-sm-50 {
        margin-top: 50px !important;
    }
    .mt-sm-55 {
        margin-top: 55px !important;
    }
    .mt-sm-60 {
        margin-top: 60px !important;
    }
    .mt-sm-65 {
        margin-top: 65px !important;
    }
    .mt-sm-70 {
        margin-top: 70px !important;
    }
    .mt-sm-75 {
        margin-top: 75px !important;
    }
    .mt-sm-80 {
        margin-top: 80px !important;
    }
    .mt-sm-85 {
        margin-top: 85px !important;
    }
    .mt-sm-90 {
        margin-top: 90px !important;
    }
    .mt-sm-95 {
        margin-top: 95px !important;
    }
    .mt-sm-100 {
        margin-top: 100px !important;
    }
    .mb-sm-0 {
        margin-bottom: 0 !important;
    }
    .mb-sm-5 {
        margin-bottom: 5px !important;
    }
    .mb-sm-10 {
        margin-bottom: 10px !important;
    }
    .mb-sm-15 {
        margin-bottom: 15px !important;
    }
    .mb-sm-20 {
        margin-bottom: 20px !important;
    }
    .mb-sm-25 {
        margin-bottom: 25px !important;
    }
    .mb-sm-30 {
        margin-bottom: 30px !important;
    }
    .mb-sm-35 {
        margin-bottom: 35px !important;
    }
    .mb-sm-40 {
        margin-bottom: 40px !important;
    }
    .mb-sm-45 {
        margin-bottom: 45px !important;
    }
    .mb-sm-50 {
        margin-bottom: 50px !important;
    }
    .mb-sm-55 {
        margin-bottom: 55px !important;
    }
    .mb-sm-60 {
        margin-bottom: 60px !important;
    }
    .mb-sm-65 {
        margin-bottom: 65px !important;
    }
    .mb-sm-70 {
        margin-bottom: 70px !important;
    }
    .mb-sm-75 {
        margin-bottom: 75px !important;
    }
    .mb-sm-80 {
        margin-bottom: 80px !important;
    }
    .mb-sm-85 {
        margin-bottom: 85px !important;
    }
    .mb-sm-90 {
        margin-bottom: 90px !important;
    }
    .mb-sm-95 {
        margin-bottom: 95px !important;
    }
    .mb-sm-100 {
        margin-bottom: 100px !important;
    }
}
.free-html .container-fluid {
    max-width: none;
    width: auto;
    padding-left: 0;
    padding-right: 0;
}
#avicp2024 {
    color: #000;
}
#avicp2024 .avicp2024_mv {
    margin-left: -10px;
    margin-right: -10px;
}
#avicp2024 .avicp2024_container,
#avicp2024 .avicp2024_inner,
#avicp2024 .avicp2024_inner_02,
#avicp2024 .cp_btn_01,
#avicp2024 .result_title {
    margin-left: auto;
    margin-right: auto;
}
#avicp2024 a {
    color: #4b1e78;
    text-decoration: underline;
}
#avicp2024 a:focus,
#avicp2024 a:hover {
    text-decoration: none;
}
#avicp2024 img {
    max-width: 100%;
    height: auto;
}
#avicp2024 .cp_sec_01 {
    padding-top: 20px;
    padding-bottom: 80px;
}
#avicp2024 .avicp2024_container {
    max-width: 1264px;
    padding-left: 32px;
    padding-right: 32px;
}
#avicp2024 .avicp2024_inner {
    max-width: 1000px;
}
#avicp2024 .avicp2024_inner_02 {
    max-width: 960px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_sec_01 {
        padding-bottom: 40px;
    }
    #avicp2024 .avicp2024_container {
        padding-left: 10px;
        padding-right: 10px;
    }
    #avicp2024 .avicp2024_container .avicp2024_inner_02 {
        padding-left: 0;
        padding-right: 0;
    }
    #avicp2024 .avicp2024_inner,
    #avicp2024 .avicp2024_inner_02 {
        padding-left: 10px;
        padding-right: 10px;
    }
}
#avicp2024 .result_title {
    width: 820px;
    max-width: 100%;
    display: block;
}
#avicp2024 .cp_end {
    width: 820px;
    max-width: 100%;
    background-color: #e8e8e8;
    font-size: 18px;
    padding: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 1.61;
    margin: 55px auto 0;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_end {
        margin-top: 30px;
        margin-bottom: 40px;
    }
}
#avicp2024 .cp_end p {
    margin-bottom: 0;
}
#avicp2024 .cp_tit_h2_01 {
    margin-top: 60px;
    font-size: 31.5px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_tit_h2_01 {
        margin-top: 30px;
        font-size: 24px;
        font-feature-settings: "palt";
    }
}
#avicp2024 .cp_tit_h2_01 small {
    font-size: 27.5px;
    display: block;
    color: inherit;
    font-weight: 700;
    margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_tit_h2_01 small {
        font-size: 20px;
        margin-bottom: 10px;
    }
}
#avicp2024 .cp_presents {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 50px;
}
#avicp2024 .cp_presents img {
    width: 100%;
}
#avicp2024 .cp_present {
    padding-left: 75px;
    padding-right: 75px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_presents {
        display: block !important;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    #avicp2024 .cp_present {
        padding-left: 0;
        padding-right: 0;
    }
}
#avicp2024 .cp_present h3 {
    color: #4b1e78;
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 20px;
}
#avicp2024 .cp_present small {
    display: block;
    font-size: 18px;
    font-weight: 400;
    margin-top: 5px;
    color: #000;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_present h3 {
        font-size: 18px;
        text-align: center;
    }
    #avicp2024 .cp_present small {
        font-size: 16px;
    }
    #avicp2024 .cp_present img {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 75%;
    }
}
#avicp2024 .cp_lead {
    margin-top: 1.3em;
    font-size: 20px;
    text-align: center;
}
#avicp2024 .cp_lead small {
    display: block;
    font-size: 16px;
    margin-top: 10px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_lead {
        font-size: 16px;
    }
    #avicp2024 .cp_lead small {
        font-size: 14px;
    }
}
#avicp2024 .cp_tit_h3_01 {
    line-height: 1.2;
    font-weight: 700;
    background-color: #efdbf7;
    max-width: 1000px;
    font-size: 28px;
    text-align: center;
    padding: 10px;
    margin: 100px auto 40px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_tit_h3_01 {
        font-feature-settings: "palt";
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 20px;
    }
}
#avicp2024 .cp_tit_h3_02 {
    margin-top: 40px;
    font-size: 20px;
    text-align: center;
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_tit_h3_02 {
        font-size: 18px;
    }
}
#avicp2024 .cp_p_01 {
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
}
#avicp2024 .cp_flow {
    list-style: none;
    padding-left: 0;
    display: flex;
    margin-top: 70px;
}
#avicp2024 .cp_flow > li {
    flex-basis: 33.3%;
    max-width: 33.3%;
    padding-left: 30px;
    padding-right: 30px;
    position: relative;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_p_01 {
        font-size: 16px;
        font-feature-settings: "palt";
    }
    #avicp2024 .cp_flow {
        display: block;
    }
    #avicp2024 .cp_flow > li {
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }
}
#avicp2024 .cp_btn_01 {
    position: relative;
    width: 490px;
    max-width: 100%;
    height: 68px;
    background-color: #7b47d2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    border-radius: 34px;
    text-decoration: none;
}
#avicp2024 .cp_btn_01:focus,
#avicp2024 .cp_btn_01:hover {
    opacity: 0.6;
    transition: 0.4s;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_btn_01 {
        font-size: 20px;
        height: 50px;
    }
}
#avicp2024 .cp_btn_01.open {
    opacity: 0.6;
}
#avicp2024 .cp_btn_01.open span:after {
    opacity: 0;
}
#avicp2024 .cp_btn_01 span {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background-color: #fff;
    border-radius: 50%;
    right: 30px;
    top: 50%;
    margin-top: -17px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_btn_01 span {
        width: 24px;
        height: 24px;
        margin-top: -12px;
        right: 20px;
    }
}
#avicp2024 .cp_btn_01 span:before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    margin-top: -8px;
    margin-left: -5px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 12px;
    border-color: transparent transparent transparent #7b47d2;
}
#avicp2024 .cp_flow_02 {
    padding-left: 0;
}
#avicp2024 .cp_flow_02 p{
    line-height: 1.75;
}
#avicp2024 .cp_flow_02 h3 {
    text-align: left;
    font-size: 24px;
    margin-bottom: 20px;
    border-bottom: 1px solid #7b47d2;
    padding-bottom: 0.75em;
    margin-top: 50px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_flow_02 h3 {
        font-size: 20px;
        margin-top: 30px;
    }
}
#avicp2024 .cp_flow_02 h3:first-child {
    margin-top: 0;
}
#avicp2024 .cp_flow_02 > li {
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    padding: 60px 40px;
    list-style: none;
    margin-bottom: 0;
    margin-top: 40px;
}
#avicp2024 .cp_p_02,
.cp_bg_gray {
    background-color: rgba(140, 140, 140, 0.2);
}
#avicp2024 .cp_flow_02 > li p {
    font-size: 18px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_flow_02 > li {
        padding: 20px;
    }
    #avicp2024 .cp_flow_02 > li p {
        font-size: 16px;
    }
}
#avicp2024 .cp_flow_02 > li ol {
    list-style: none;
    font-size: 18px;
    text-indent: -1em;
    padding-left: 1em;
}
#avicp2024 .cp_flow_02 > li ol li + li {
    margin-top: 1em;
}
#avicp2024 .cp_flow_02 > li ul {
    padding-left: 0;
}
#avicp2024 .cp_p_02 {
    display: inline-block;
    line-height: 1;
    padding: 20px;
}
@media screen and (max-width: 767px) {
    #avicp2024 .cp_flow_02 > li ol {
        font-size: 16px;
    }
    #avicp2024 .cp_p_02 {
        font-size: 16px;
        font-feature-settings: "palt";
        display: block;
        text-align: center;
    }
}
.avicp2024_result_pict {
    margin-top: 30px;
}
.avicp2024_result_text {
    text-align: center;
    font-size: 18px;
    line-height: 2;
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    .avicp2024_result_text {
        margin-top: 20px;
        font-size: 16px;
        padding-bottom: 16px;
        font-feature-settings: "palt";
        text-align: left;
        padding-left: 5px;
        padding-right: 5px;
    }
    .avicp2024_result_item {
        font-size: 18px;
    }
}
.avicp2024_result_item {
    text-align: center;
    font-size: 18px;
    margin-top: 40px;
}
.avicp2024_lead {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
    margin-bottom: 80px;
}
.avicp2024_lead .text {
    font-size: 20px;
    line-height: 1.8;
}
.avicp2024_lead .pict {
    min-width: 40%;
    flex-basis: 40%;
}
.cp_bg_gray {
    margin-top: 40px;
    padding: 2em;
}
@media screen and (max-width: 767px) {
    .avicp2024_lead {
        display: block;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .avicp2024_lead .text {
        font-size: 18px;
    }
    .cp_bg_gray {
        margin-top: 20px;
        padding: 1.5em;
    }
}
.cp_bg_gray p {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    .cp_bg_gray p {
        font-size: 16px;
    }
}
.cp_notice {
    list-style: none;
}
.cp_notice li {
    position: relative;
    padding-left: 1em;
    font-size: 18px;
}
.cp_notice li:before {
    left: 0;
    top: 0.45em;
    position: absolute;
    display: block;
    content: "";
    width: 0.5em;
    height: 0.5em;
    background-color: #efdbf7;
    border-radius: 50%;
}
.tri-down,
.tri-right {
    width: 0;
    height: 0;
    border-style: solid;
}
.avicp2024_sec_contact {
    margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
    .cp_notice li {
        font-size: 16px;
    }
    .cp_notice li:before {
        top: 0.4em;
    }
    .avicp2024_sec_contact {
        margin-bottom: 50px;
    }
}
.bg-white {
    background-color: #fff !important;
}
a.bg-white:focus,
a.bg-white:hover,
button.bg-white:focus,
button.bg-white:hover {
    background-color: #e6e5e5 !important;
}
.color-white {
    color: #fff !important;
}
.bg-black,
a.bg-black:focus,
a.bg-black:hover,
button.bg-black:focus,
button.bg-black:hover {
    background-color: #000 !important;
}
.color-black {
    color: #000 !important;
}
.bg-grey {
    background-color: #f9f9f9 !important;
}
a.bg-grey:focus,
a.bg-grey:hover,
button.bg-grey:focus,
button.bg-grey:hover {
    background-color: #e0dfdf !important;
}
.color-grey {
    color: #f9f9f9 !important;
}
.bg-grey2 {
    background-color: #efefef !important;
}
a.bg-grey2:focus,
a.bg-grey2:hover,
button.bg-grey2:focus,
button.bg-grey2:hover {
    background-color: #d6d5d5 !important;
}
.color-grey2 {
    color: #efefef !important;
}
.bg-purple {
    background-color: #7b47d2 !important;
}
a.bg-purple:focus,
a.bg-purple:hover,
button.bg-purple:focus,
button.bg-purple:hover {
    background-color: #612db9 !important;
}
.color-purple {
    color: #7b47d2 !important;
}
.bg-purple-light {
    background-color: #efdbf7 !important;
}
a.bg-purple-light:focus,
a.bg-purple-light:hover,
button.bg-purple-light:focus,
button.bg-purple-light:hover {
    background-color: #dcb1ee !important;
}
.color-purple-light {
    color: #efdbf7 !important;
}
.bg-purple-dark {
    background-color: #4b1e78 !important;
}
a.bg-purple-dark:focus,
a.bg-purple-dark:hover,
button.bg-purple-dark:focus,
button.bg-purple-dark:hover {
    background-color: #32144f !important;
}
.color-purple-dark {
    color: #4b1e78 !important;
}
.tri-down {
    border-width: 23px 25px 0;
    border-color: #7a47d2 transparent transparent;
}
.tri-right {
    border-width: 18px 0 18px 16px;
    border-color: transparent transparent transparent #7a47d2;
}
.avicp2024_box {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 1em;
}
.avicp2024_box p {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0;
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .avicp2024_box p {
        padding-bottom: 16px;
    }
}
