@charset "UTF-8";
.cta dl dd .cta_block02 {
    display: block;
}
.cta_block02__flex {
    display: inline-block;
}
.cta_block02__group {
    display: flex;
    align-items: baseline;
}
.cta_block02__duration {
    font-size: 19px;
    color: #fff;
    text-align: right;
    font-weight: bold;
}
@media screen and (min-width: 769px),
print {
    a[href^=tel] {
        pointer-events: none;
        text-decoration: none;
        cursor: default !important;
    }
    .show_sp {
        display: none !important;
    }
    .container {
        min-width: 1100px;
        /*overflow-x: hidden;*/
    }
    .row {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto;
    }
    img {
        max-width: 100%;
        width: auto;
        height: auto;
    }
    body {
        padding-top: 90px !important;
    }
    body main p {
        font-size: 14px;
        line-height: 1.85714;
    }
    .header {
        padding-top: 18px;
        padding-bottom: 19px;
        -moz-box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.2);
        box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.2);
        position: fixed;
        top: 0;
        left: 0;
        min-width: 1100px;
        width: 100%;
        background-color: #fff;
        z-index: 9999;
    }
    .header__title {
        font-size: 11px;
        position: absolute;
        left: 0;
        top: -13px;
        color: #069EE1;
        font-weight: bold;
    }
    .header .header__logo,
    .header .logo {
        -webkit-box-ordinal-group: 2;
        -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-right: auto;
    }
    .header img,
    .header .logo img {
        width: 174px;
        vertical-align: bottom;
    }
    .header a.header_btn {
        font-size: 23px;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 267px;
        height: 53px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
    }
    .header a.header_btn::before {
        content: "";
        margin-right: 10px;
        width: 29px;
        height: 22px;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .header .row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -moz-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: end;
        -moz-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        position: relative;
    }
    .header .row .header_menu {
        -webkit-box-ordinal-group: 3;
        -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .header .row .header_menu>ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
    }
    .header .row .header_menu>ul>li {
        margin-right: 50px;
        transition: 0.3s;
        position: relative;
    }
    .header .row .header_menu>ul>li a {
        font-weight: 500;
        font-size: 16px;
    }
    .footer {
        background-color: #069ee1;
        padding-bottom: 118px;
    }
    .footer>p {
        color: #fff;
        text-align: center;
        background-color: #005dcc;
        font-size: 14px;
        font-weight: 500;
        padding: 12px 0;
    }
    .footer_top {
        padding: 40px 0 45px;
    }
    .ctaWr {
        padding: 130px 0 180px;
    }
    .ctaWr.st2 {
        background-color: #eef8fc;
        padding: 85px 0 50px;
    }
    .cta {
        -moz-border-radius: 10px;
        border-radius: 10px;
        background-image: -webkit-gradient(linear, left bottom, left top, from(#005bcc), to(#29b8cf));
        background-image: -webkit-linear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: -moz- oldlinear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: linear-gradient(to top, #005bcc 0%, #29b8cf 100%);
        -moz-box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.5);
        box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.5);
    }
    .cta dl {
        position: relative;
        padding-top: 60px;
        position: relative;
    }
    .cta dl::before {
        content: "";
        position: absolute;
        bottom: 57px;
        left: 43px;
        width: 193px;
        height: 260px;
        background: url(../img/cta_wm.png) center/contain no-repeat;
        display: block;
        -moz-border-radius: 0 0 0 10px;
        border-radius: 0 0 0 10px;
    }
    .cta dl dt {
        position: absolute;
        left: 215px;
        top: -35px;
    }
    .cta dl dd .cta_block01 {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -moz-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        padding-left: 245px;
        padding-bottom: 20px;
    }
    .cta dl dd .cta_block01 .cta_btn_tel>p {
        line-height: 1;
        font-size: 56px;
        font-family: "Roboto", sans-serif;
        color: #fff;
        text-shadow: 0px 0px 5.46px rgba(91, 91, 91, 0.3);
        -webkit-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -moz-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -ms-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        position: relative;
        padding-left: 89px;
        font-weight: 900;
    }
    .cta dl dd .cta_block01 .cta_btn_tel>p::before {
        content: "";
        position: absolute;
        top: 72%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 72px;
        height: 72px;
        background: url(../img/ic_tel_free.png) center/contain no-repeat;
        display: block;
    }
    .cta dl dd .cta_block01 .cta_btn_tel small {
        display: block;
        font-size: 20px;
        color: #fff;
        font-weight: 700;
        padding-left: 81px;
    }
    .cta dl dd .cta_block01 .cta_btn_mail {
        font-size: 19px;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 318px;
        height: 87px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        margin-left: 45px;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
    }
    .cta dl dd .cta_block01 .cta_btn_mail::before {
        content: "";
        margin-right: 10px;
        width: 38px;
        height: 28px;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .cta dl dd .cta_block02 {
        padding-left: 245px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        background-color: #005dcc;
        padding-top: 10px;
        padding-bottom: 10px;
        -webkit-box-align: baseline;
        -moz-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
    }
    .cta dl dd .cta_block02 span {
        color: #fff;
    }
    .cta dl dd .cta_block02 span:nth-of-type(1) {
        font-size: 19px;
        font-weight: 700;
        -webkit-box-ordinal-group: 3;
        -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-right: 5px;
    }
    .cta dl dd .cta_block02 span:nth-of-type(2) {
        -webkit-box-ordinal-group: 2;
        -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        font-size: 23px;
        font-weight: 900;
    }
    .cta dl dd .cta_block02 span:nth-of-type(3) {
        font-size: 30px;
        color: #fdff7c;
        font-weight: 900;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
    .cta dl dd .cta_block03 {
        background-color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 10px 23px;
        position: relative;
        z-index: 1;
        -moz-border-radius: 0 0 10px 10px;
        border-radius: 0 0 10px 10px;
    }
    .cta dl dd .cta_block03>span {
        font-size: 25px;
        font-weight: 900;
        color: #005dcc;
        white-space: nowrap;
    }
    .cta dl dd .cta_block03 .box_payment {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .cta dl dd .cta_block03 .box_payment span {
        font-size: 18px;
        font-weight: 700;
        margin: 0 6px 0 27px;
        white-space: nowrap;
    }
    .cta_fixed_bot {
        display: none;
        position: fixed;
        z-index: 99;
        left: 0;
        bottom: 0;
        width: 100%;
        background-image: -webkit-gradient(linear, left bottom, left top, from(#005bcc), to(#29b8cf));
        background-image: -webkit-linear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: -moz- oldlinear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: linear-gradient(to top, #005bcc 0%, #29b8cf 100%);
        -moz-box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.5);
        box-shadow: 0px 0px 8px 2px rgba(91, 91, 91, 0.5);
    }
    .cta_fixed_bot .row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        height: 118px;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .cta_fixed_bot .row figure {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
    .cta_fixed_bot .row .cta_btn_tel {
        margin-left: 30px;
        display: block;
    }
    .cta_fixed_bot .row .cta_btn_tel>span {
        line-height: 1;
        font-size: 59px;
        font-family: "Roboto", sans-serif;
        color: #fff;
        text-shadow: 0px 0px 5.46px rgba(91, 91, 91, 0.3);
        -webkit-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -moz-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -ms-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        position: relative;
        padding-left: 91px;
        white-space: nowrap;
        display: block;
        font-weight: 900;
    }
    .cta_fixed_bot .row .cta_btn_tel>span::before {
        content: "";
        position: absolute;
        top: 72%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 72px;
        height: 72px;
        background: url(../img/ic_tel_free.png) center/contain no-repeat;
        display: block;
    }
    .cta_fixed_bot .row .cta_btn_tel small {
        display: block;
        font-size: 19px;
        color: #fff;
        font-weight: 700;
        padding-left: 81px;
    }
    .cta_fixed_bot .row .cta_btn_mail {
        font-size: 19px;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 326px;
        height: 77px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        margin-left: 45px;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
        position: relative;
        margin-top: 10px;
    }
    .cta_fixed_bot .row .cta_btn_mail::after {
        content: "";
        position: absolute;
        left: 50%;
        top: -16px;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 249px;
        height: 33px;
        background: url(../img/cta_bot_tel_txt.png) center/contain no-repeat;
        display: block;
    }
    .cta_fixed_bot .row .cta_btn_mail::before {
        content: "";
        margin-right: 10px;
        width: 38px;
        height: 28px;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .t_ttl {
        text-align: center;
        margin-bottom: 30px;
    }
    .t_ttl.st2 span {
        color: #fff;
    }
    .t_ttl.st2 span:before {
        background-image: url(../img/t_ttl_ic2.png);
    }
    .t_ttl.st2 span {
        color: #fff;
    }
    .t_ttl.st2 span:before {
        background-image: url(../img/t_ttl_ic2.png);
    }
    .t_ttl span {
        position: relative;
        display: inline-block;
        padding-left: 58px;
        font-size: 35px;
        font-weight: 700;
        color: #005dcc;
    }
    .t_ttl span:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 59px;
        height: 43px;
        background-image: url(../img/t_ttl_ic1.png);
        background-repeat: no-repeat;
        -moz-background-size: contain;
        background-size: contain;
        display: block;
    }
    .t_ttl small {
        display: block;
        font-size: 20px;
        font-weight: 700;
        font-family: "Roboto", sans-serif;
    }
    .mv_cm {
        background: url(../img/mv_bg.png) repeat;
        padding: 30px 0;
        overflow: hidden;
        text-align: center;
    }
    .mv_cm picture {
        text-align: center;
    }
    .mv_cm picture img {
        margin-bottom: 0;
    }
    .medal_cm {
        background-color: #005dcc;
        color: #fff;
        padding: 23px 0 26px;
    }
    .medal_cm.st2 .medal_cm_top dl::before {
        content: "";
        position: absolute;
        top: -40px;
        left: 65px;
        width: 146px;
        height: 201px;
        background: url(../img/medal_service.png) center/contain no-repeat;
        display: block;
    }
    .medal_cm_top {
        margin-bottom: 30px;
        text-align: center;
    }
    .medal_cm_top .row {
        max-width: 1000px;
    }
    .medal_cm_top dl {
        padding-left: 220px;
        position: relative;
    }
    .medal_cm_top dl::before {
        content: "";
        position: absolute;
        top: -40px;
        left: 30px;
        width: 166px;
        height: 210px;
        background: url(../img/medal.png) center/contain no-repeat;
        display: block;
    }
    .medal_cm_top dl dt {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 20px;
    }
    .medal_cm_top dl dt span {
        font-size: 37px;
        border-bottom: 2px solid;
    }
    .medal_cm_top dl dt em {
        font-style: normal;
        font-size: 25px;
    }
    .medal_cm_top dl dd {
        text-align: center;
        font-size: 16px;
        line-height: 1.875;
    }
    .medal_cm_bot .carousel {
        width: 100%;
        overflow: hidden;
    }
    .medal_cm_bot .carousel .main_carousel {
        overflow: hidden;
        position: relative;
    }
    .medal_cm_bot .carousel .main_carousel .carousel__ul {
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        gap: 0 16px;
        width: min(100% - 40px);
        margin: auto;
    }
    .medal_cm_bot .carousel .main_carousel ul li img {
        width: 100%;
        display: block;
        object-fit: cover;
    }
    .p_top .free {
        background-color: #eef8fc;
        padding: 60px 0 75px;
    }
    .p_top .service {
        padding: 90px 0 120px;
        background: url(../img/service_bg.png) center top 35px no-repeat;
    }
    .p_top .service .list_service {
        display: -ms-grid;
        display: grid;
        gap: 40px 45px;
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    }
    .p_top .service .list_service>li {
        -moz-border-radius: 10px;
        border-radius: 10px;
        overflow: hidden;
        background-color: #fff;
        -moz-box-shadow: 0px 2px 8.37px 0.63px rgba(91, 91, 91, 0.3);
        box-shadow: 0px 2px 8.37px 0.63px rgba(91, 91, 91, 0.3);
    }
    .p_top .service .list_service>li figure {
        height: 194px;
    }
    .p_top .service .list_service>li figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .p_top .service .list_service>li .txt {
        background-color: #fff;
        position: relative;
        text-align: center;
        padding: 25px 22px;
    }
    .p_top .service .list_service>li .txt h3 {
        position: absolute;
        top: -30px;
        left: 0;
        display: inline-block;
        text-align: left;
        background-color: #fff;
        font-size: 25px;
        font-weight: 700;
        min-width: 200px;
        -moz-border-radius: 10px 10px 0 0;
        border-radius: 10px 10px 0 0;
        padding: 5px 25px;
    }
    .p_top .service .list_service>li .txt ul {
        text-align: left;
    }
    .p_top .service .list_service>li .txt ul li {
        position: relative;
        font-size: 16px;
        line-height: 1.625;
    }
    .p_top .service .list_service>li .txt ul li::before {
        content: "・ ";
    }
    .p_top .service .list_service>li .txt .df {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: left;
        margin: 25px 0;
    }
    .p_top .service .list_service>li .txt .df>span {
        width: 55px;
        height: 55px;
        background-color: #ff9700;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.375;
        color: #fff;
    }
    .p_top .service .list_service>li .txt .df .dfr {
        padding-left: 12px;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 {
        font-weight: 700;
        font-size: 20px;
        line-height: 1;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 i {
        font-style: normal;
        font-size: 30px;
        color: #ff9700;
        line-height: 1;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 span {
        color: #ff9700;
    }
    .p_top .manufacturer {
        margin-top: 90px;
    }
    .p_top .manufacturer dl {
        text-align: center;
    }
    .p_top .manufacturer dl dt {
        font-size: 30px;
        font-weight: 700;
        margin-bottom: 30px;
    }
    .p_top .manufacturer dl dd p {
        margin-top: 30px;
        font-size: 16px;
        line-height: 1.875;
    }
    .p_top .flow {
        background-color: #069ee1;
        color: #fff;
        padding: 70px 0 65px;
    }
    .p_top .flow .list_flow {
        display: -ms-grid;
        display: grid;
        gap: 36px;
        -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
        counter-reset: div;
        margin-bottom: 35px;
    }
    .p_top .flow .list_flow li {
        width: 190px;
    }
    .p_top .flow .list_flow li:not(:last-child) {
        position: relative;
    }
    .p_top .flow .list_flow li:not(:last-child):after {
        content: "";
        position: absolute;
        top: 50px;
        right: -34px;
        width: 33px;
        height: 39px;
        background: url(../img/flow_ar.png) center/contain no-repeat;
        display: block;
    }
    .p_top .flow .list_flow li:nth-of-type(1) figure img {
        width: 113px;
    }
    .p_top .flow .list_flow li:nth-of-type(2) figure img {
        margin-bottom: -15px;
    }
    .p_top .flow .list_flow li:nth-of-type(3) figure img {
        width: 133px;
    }
    .p_top .flow .list_flow li:nth-of-type(4) figure img {
        width: 120px;
        margin-bottom: 5px;
    }
    .p_top .flow .list_flow li:nth-of-type(5) figure img {
        width: 116px;
        margin-bottom: -20px;
    }
    .p_top .flow .list_flow li figure {
        height: 139px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: end;
        -moz-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    .p_top .flow .list_flow li figure img {
        width: 136px;
    }
    .p_top .flow .list_flow li h3 {
        position: relative;
        -moz-border-radius: 9999px;
        border-radius: 9999px;
        background-color: #fff;
        font-weight: 700;
        text-align: center;
        padding: 10px 50px;
        font-size: 14px;
        font-weight: 700;
        color: #343434;
        white-space: nowrap;
        margin-bottom: 15px;
    }
    .p_top .flow .list_flow li h3:before {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        counter-increment: div;
        content: counter(div);
        width: 45px;
        height: 45px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -moz-border-radius: 9999px;
        border-radius: 9999px;
        color: #fff;
        background-color: #ff5072;
        font-size: 27px;
        font-weight: 900;
        font-family: "Roboto", sans-serif;
    }
    .p_top .flow .list_flow li p {
        font-size: 14px;
        line-height: 1.73333;
        font-weight: 500;
    }
    .p_top .flow .flow_payment {
        padding: 0 50px;
    }
    .p_top .flow .flow_payment dl {
        text-align: center;
        background-color: #fff;
        -moz-border-radius: 10px;
        border-radius: 10px;
        overflow: hidden;
    }
    .p_top .flow .flow_payment dl dt {
        padding: 10px;
        font-weight: 500;
        color: #fff;
        background-color: #005dcc;
        font-size: 18px;
    }
    .p_top .flow .flow_payment dl dd {
        text-align: center;
        padding: 15px;
    }
    .p_top .voice {
        background: url(../img/voice_bg.png) repeat;
        padding: 90px 0;
        text-align: center;
    }
    .areaBotCm .example {
        background-color: #eef8fc;
        position: relative;
        padding: 50px 0 80px;
        text-align: center;
    }
    .areaBotCm .example::before {
        content: "";
        position: absolute;
        top: -125px;
        left: 0;
        width: 100%;
        height: 128px;
        background: url(../img/example_bg.png) center bottom no-repeat;
        display: block;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
    }
    .areaBotCm .example_list {
        margin-bottom: 25px;
        text-align: left;
    }
    .areaBotCm .example_list.st2 li:first-child a {
        padding-top: 0;
    }
    .areaBotCm .example_list.st2 li a figure {
        width: 296px;
    }
    .areaBotCm .example_list.st2 li a .txt {
        width: -webkit-calc(100% - 296px);
        width: -moz-calc(100% - 296px);
        width: calc(100% - 296px);
        padding-left: 23px;
    }
    .areaBotCm .example_list li .exampleWrap {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        padding: 30px 0 22px;
    }
    .areaBotCm .example_list li:not(:last-child) {
        border-bottom: 1px solid #069ee1;
    }
    .areaBotCm .example_list li figure {
        width: 310px;
    }
    .areaBotCm .example_list li .txt {
        width: -webkit-calc(100% - 310px);
        width: -moz-calc(100% - 310px);
        width: calc(100% - 310px);
        padding-left: 40px;
    }
    .areaBotCm .example_list li .txt h2 {
        font-size: 25px;
        font-weight: 500;
        margin-bottom: 20px;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }
    .areaBotCm .example_list li .txt .df {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .areaBotCm .example_list li .txt .df p {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 16px;
    }
    .areaBotCm .example_list li .txt .df p:nth-of-type(1) {
        min-width: 150px;
    }
    .areaBotCm .example_list li .txt .df p span {
        -moz-border-radius: 5px;
        border-radius: 5px;
        background-color: #069ee1;
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        padding: 5px 10px;
        margin-right: 10px;
        white-space: nowrap;
    }
    .areaBotCm .example_list li .txt p {
        font-size: 15px;
        line-height: 2;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .areaBotCm .example_list li .wrapDetail {
        text-align: right;
        margin-top: 17px;
    }
    .areaBotCm .example_list li .wrapDetail span {
        position: relative;
        font-size: 15px;
        color: #069ee1;
        padding-right: 18px;
        letter-spacing: -1.5px;
    }
    .areaBotCm .example_list li .wrapDetail span:before {
        content: "";
        position: absolute;
        top: 4px;
        right: 2px;
        width: 0;
        height: 0;
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 8px solid #069ee1;
    }
    .areaBotCm .erea {
        padding: 120px 0 60px;
        text-align: center;
    }
    .areaBotCm .erea_txt {
        font-size: 16px;
        text-align: center;
        line-height: 1.875;
        font-weight: 500;
        margin-bottom: 30px;
    }
    .areaBotCm .erea_box {
        margin: 35px 0 40px;
        text-align: left;
    }
    .areaBotCm .erea_box.st2 {
        margin-top: 0;
    }
    .areaBotCm .erea_box.st2>dl>dt {
        cursor: pointer;
        position: relative;
        text-align: left;
    }
    .areaBotCm .erea_box.st2>dl>dt i {
        position: absolute;
        width: 24px;
        height: 24px;
        right: 25px;
        top: 50%;
        margin-top: -12px;
        display: block;
    }
    .areaBotCm .erea_box.st2>dl>dt i:before,
    .areaBotCm .erea_box.st2>dl>dt i:after {
        content: "";
        position: absolute;
        background-color: #fff;
        -webkit-transition: -webkit-transform 0.25s ease-out;
        transition: -webkit-transform 0.25s ease-out;
        -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        transition: transform 0.25s ease-out;
        transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        -moz-border-radius: 3px;
        border-radius: 3px;
    }
    .areaBotCm .erea_box.st2>dl>dt i:before {
        top: 0;
        left: 50%;
        width: 4px;
        height: 100%;
        margin-left: -2px;
    }
    .areaBotCm .erea_box.st2>dl>dt i:after {
        top: 50%;
        left: 0;
        width: 100%;
        height: 4px;
        margin-top: -2px;
    }
    .areaBotCm .erea_box.st2>dl>dd {
        max-height: 0;
        padding: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.4s ease-out;
        -moz-transition: max-height 0.4s ease-out;
        transition: max-height 0.4s ease-out;
    }
    .areaBotCm .erea_box.st2>dl>dd .ctAcc {
        padding: 25px 35px;
    }
    .areaBotCm .erea_box>dl {
        border: 2px solid #005dcc;
        -moz-border-radius: 10px;
        border-radius: 10px;
        overflow: hidden;
    }
    .areaBotCm .erea_box>dl+dl {
        margin-top: 20px;
    }
    .areaBotCm .erea_box>dl>dt {
        background-color: #005dcc;
        color: #fff;
        text-align: center;
        padding: 15px 70px 15px 35px;
        font-size: 20px;
        font-weight: 500;
    }
    .areaBotCm .erea_box>dl>dd {
        padding: 25px 35px;
    }
    .areaBotCm .erea_box>dl>dd dl+dl {
        margin-top: 15px;
    }
    .areaBotCm .erea_box>dl>dd dl dt {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 5px;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -moz-box-orient: horizontal;
        -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 14px;
        line-height: 1.85714;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li+li::before {
        content: "｜";
        font-size: 14px;
        line-height: 1.85714;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li a {
        word-break: keep-all;
        font-size: 14px;
        line-height: 1.85714;
        text-decoration: underline;
    }
    .areaBotCm .faq {
        padding: 60px 0 119.5px;
        position: relative;
    }
    .areaBotCm .faq::after {
        content: "";
        position: absolute;
        left: 50%;
        top: -110px;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100%;
        height: 1542px;
        background: url(../img/service_bg.png) center/contain no-repeat;
        z-index: -1;
        display: block;
    }
    .areaBotCm .faq .row {
        padding: 0 100px;
    }
    .areaBotCm .faq_main {
        margin-top: 30px;
    }
    .areaBotCm .faq dl {
        margin-bottom: 15px;
    }
    .areaBotCm .faq dl dt {
        position: relative;
        font-size: 18px;
        font-weight: 500;
        color: #fff;
        background-color: #069ee1;
        padding: 15px 70px 15px 60px;
        cursor: pointer;
        -moz-border-radius: 4px;
        border-radius: 4px;
    }
    .areaBotCm .faq dl dt::before {
        content: "Q";
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 25px;
        font-size: 28px;
        font-weight: 700;
        font-family: "Roboto", sans-serif;
        color: #fff;
    }
    .areaBotCm .faq dl dt i {
        position: absolute;
        width: 24px;
        height: 24px;
        right: 25px;
        top: 50%;
        margin-top: -12px;
        display: block;
    }
    .areaBotCm .faq dl dt i:before,
    .areaBotCm .faq dl dt i:after {
        content: "";
        position: absolute;
        background-color: #fff;
        -webkit-transition: -webkit-transform 0.25s ease-out;
        transition: -webkit-transform 0.25s ease-out;
        -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        transition: transform 0.25s ease-out;
        transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        -moz-border-radius: 3px;
        border-radius: 3px;
    }
    .areaBotCm .faq dl dt i:before {
        top: 0;
        left: 50%;
        width: 4px;
        height: 100%;
        margin-left: -2px;
    }
    .areaBotCm .faq dl dt i:after {
        top: 50%;
        left: 0;
        width: 100%;
        height: 4px;
        margin-top: -2px;
    }
    .areaBotCm .faq dl dd {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.4s ease-out;
        -moz-transition: max-height 0.4s ease-out;
        transition: max-height 0.4s ease-out;
        font-size: 18px;
        background-color: #eef8fc;
    }
    .areaBotCm .faq dl dd .faq_a {
        padding: 22px 10px 22px 60px;
        position: relative;
    }
    .areaBotCm .faq dl dd .faq_a p {
        font-size: 18px;
    }
    .areaBotCm .faq dl dd .faq_a::before {
        content: "A";
        position: absolute;
        top: 10px;
        left: 20px;
        font-size: 30px;
        font-weight: 700;
        color: #069ee1;
        font-family: "Roboto", sans-serif;
    }
    .areaBotCm .ranking {
        padding-bottom: 110px;
    }
    .areaBotCm .ranking .row {
        padding: 0 50px;
    }
    .areaBotCm .ranking h3 {
        text-align: center;
        font-size: 30px;
        font-weight: 700;
        margin-bottom: 35px;
    }
    .areaBotCm .ranking ul {
        display: -ms-grid;
        display: grid;
        gap: 26px;
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    }
    .areaBotCm .ranking ul li {
        -moz-border-radius: 10px;
        border-radius: 10px;
        background-color: #fff;
        overflow: hidden;
        -moz-box-shadow: 0px 0px 7.6px 0.4px rgba(91, 91, 91, 0.3);
        box-shadow: 0px 0px 7.6px 0.4px rgba(91, 91, 91, 0.3);
    }
    .areaBotCm .ranking ul li figure {
        height: 222px;
    }
    .areaBotCm .ranking ul li figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .areaBotCm .ranking ul li .txt {
        padding: 20px 15px;
        background-color: #005dcc;
        color: #fff;
    }
    .areaBotCm .ranking ul li .txt h3 {
        padding: 0 0 10px 95px;
        border-bottom: 1px solid;
        margin-bottom: 15px;
        font-size: 23px;
        line-height: 1.43478;
        text-align: left;
        position: relative;
    }
    .areaBotCm .ranking ul li .txt h3 span {
        position: absolute;
        top: -30px;
        left: 0;
        width: 74px;
        height: 83px;
        background: url(../img/ranking_tt_bg.png) 0 0 no-repeat;
        -moz-background-size: 100% 100%;
        background-size: 100% 100%;
        color: #005dcc;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        padding-top: 5px;
    }
    .areaBotCm .ranking ul li .txt h3 span::after {
        content: "";
        position: absolute;
        top: 0;
        right: -5px;
        width: 0;
        height: 0;
        border-bottom: 10px solid #b7b93b;
        border-right: 5px solid transparent;
        display: block;
    }
    .areaBotCm .ranking ul li .txt h3 span i {
        font-style: normal;
        display: block;
        font-family: "Roboto", sans-serif;
        font-size: 33px;
        line-height: 1;
    }
    .areaBotCm .ranking ul li .txt p {
        font-weight: 500;
    }
}
@media screen and (max-width: 768px) {
    img {
        width: 100%;
        height: auto;
    }
    .container {
        overflow: hidden;
    }
    .show_pc {
        display: none !important;
    }
    .row {
        padding-left: 4vw;
        padding-right: 4vw;
    }
    body {
        padding-top: 15vw !important;
    }
    body p {
        font-size: 3.33333vw;
        line-height: 1.6;
    }
    .header {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99999;
        background-color: #fff;
        -moz-box-shadow: 0px 0.4vw 0.66667vw 0px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 0.4vw 0.66667vw 0px rgba(0, 0, 0, 0.1);
    }
    .header .row {
        /*height: 13.33333vw;*/
        height: 15vw;
        width: 100%;
        margin: 0;
        font-size: 0;
        line-height: 1;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-left: 4vw;
        padding-right: 0;
        position: relative;
    }
    .header .row a.header_btn {
        font-size: 3.33333vw;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 37.06667vw;
        height: 8.66667vw;
        -moz-border-radius: 0.66667vw;
        border-radius: 0.66667vw;
        background-color: #ff5072;
        margin-left: auto;
        margin-right: 3.46667vw;
    }
    .header .header__title {
        font-size: 2.1vw;
        color: #069EE1;
        position: absolute;
        top: 4px;
        left: 4vw;
    }
    .header .header__logo.header_btn::before {
        content: "";
        margin-right: 1.33333vw;
        width: 4.8vw;
        height: 3.73333vw;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .header .header__logo,
    .header .row .logo a {
        width: 32.4vw;
        display: inline-block;
    }
    .header .header__logo--margin {
        margin-top: 12px;
    }
    .header .row .menu_icon {
        position: relative;
        z-index: 200;
        top: 0;
        right: 0;
        width: 13.33333vw;
        height: 100%;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: #069ee1;
    }
    .header .row .menu_icon_in {
        width: 5.33333vw;
        height: 4vw;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        cursor: pointer;
    }
    .header .row .menu_icon_in .menu-trigger,
    .header .row .menu_icon_in .menu-trigger span {
        display: inline-block;
        -webkit-transition: all .4s;
        -moz-transition: all .4s;
        transition: all .4s;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .header .row .menu_icon_in .menu-trigger {
        position: relative;
        width: 5.33333vw;
        height: 4vw;
    }
    .header .row .menu_icon_in .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.53333vw;
        background-color: #fff;
        -moz-border-radius: 0.53333vw;
        border-radius: 0.53333vw;
    }
    .header .row .menu_icon_in .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .header .row .menu_icon_in .menu-trigger span:nth-of-type(2) {
        top: 1.73333vw;
    }
    .header .row .menu_icon_in .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .header .header_contact .cta_btn_tel {
        display: block;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        background-image: -webkit-gradient(linear, left bottom, left top, from(#005bcc), to(#29b8cf));
        background-image: -webkit-linear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: -moz- oldlinear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
        background-image: linear-gradient(to top, #005bcc 0%, #29b8cf 100%);
        -moz-box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        width: 81.73333vw;
        height: 20vw;
        margin: 6.66667vw auto 4vw;
        padding-left: 4vw;
        padding-top: 2.66667vw;
        position: relative;
    }
    .header .header_contact .cta_btn_tel::after {
        content: "";
        position: absolute;
        bottom: -1.33333vw;
        right: 1.6vw;
        width: 10.53333vw;
        height: 9.33333vw;
        background: url(../img/ic_hand.png) center/contain no-repeat;
        display: block;
    }
    .header .header_contact .cta_btn_tel>span {
        line-height: 1;
        font-size: 9.06667vw;
        font-weight: 900;
        font-family: "Roboto", sans-serif;
        color: #fff;
        text-shadow: 0vw 0vw 0.728vw rgba(91, 91, 91, 0.3);
        -webkit-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -moz-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -ms-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        position: relative;
        padding-left: 13.12vw;
        white-space: nowrap;
    }
    .header .header_contact .cta_btn_tel>span::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 11.52vw;
        height: 8.32vw;
        background: url(../img/ic_tel.png) center/contain no-repeat;
        display: block;
    }
    .header .header_contact .cta_btn_tel small {
        display: block;
        font-size: 3.33333vw;
        color: #fff;
        font-weight: 700;
        margin-top: 0.66667vw;
    }
    .header .header_contact .cta_btn_mail {
        font-size: 4.66667vw;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        -moz-box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        width: 81.73333vw;
        height: 16vw;
        margin: 0 auto;
    }
    .header .header_contact .cta_btn_mail::before {
        content: "";
        margin-right: 3.33333vw;
        width: 9.46667vw;
        height: 7.2vw;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .header .header_menu {
        position: absolute;
        /*top: 13.33333vw;*/
        top: 15vw;
        left: 0;
        width: 100%;
        overflow-y: auto;
        z-index: 999;
        opacity: 0;
        visibility: hidden;
        height: 0;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        -webkit-overflow-scrolling: touch;
        background: #069ee1;
        padding: 0 4vw 13.33333vw;
    }
    .header .header_menu>ul>li ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto 5.33333vw;
        width: -webkit-calc(100% - 10.66667vw);
        width: -moz-calc(100% - 10.66667vw);
        width: calc(100% - 10.66667vw);
        background-color: #eef8fc;
        position: relative;
    }
    .header .header_menu>ul>li ul::after {
        content: "";
        position: absolute;
        bottom: -5.33333vw;
        left: -5.33333vw;
        width: -webkit-calc(100% + 10.66667vw);
        width: -moz-calc(100% + 10.66667vw);
        width: calc(100% + 10.66667vw);
        height: 2px;
        background: #fff;
        display: block;
    }
    .header .header_menu>ul>li ul li {
        width: 50%;
    }
    .header .header_menu>ul>li ul li:nth-child(odd) a {
        border-right: 1px solid #069ee1;
    }
    .header .header_menu>ul>li ul li a {
        font-size: 4.66667vw;
        font-weight: 700;
        color: #069ee1;
        display: block;
        border-bottom: 1px solid #069ee1;
        padding: 3.33333vw 5.33333vw;
        position: relative;
        padding-right: 9.33333vw;
    }
    .header .header_menu>ul>li ul li a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 3.73333vw;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 2vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-left: 2.4vw solid #069ee1;
    }
    .header .header_menu>ul>li>a {
        color: #fff;
        font-size: 4vw;
        font-weight: 700;
        display: block;
        padding: 4.66667vw 13.33333vw 4.66667vw 4.66667vw;
        border-bottom: 0.26667vw solid;
        position: relative;
    }
    .header .header_menu>ul>li>a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 5.33333vw;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 2.13333vw solid transparent;
        border-bottom: 2.13333vw solid transparent;
        border-left: 2.4vw solid #fff;
    }
    .footer {
        background-color: #069ee1;
        padding-bottom: 19.06667vw;
    }
    .footer>p {
        color: #fff;
        text-align: center;
        background-color: #005dcc;
        font-size: 2.66667vw;
        font-weight: 500;
        padding: 3.2vw 0;
    }
    .footer_top {
        padding: 8vw 0 9.33333vw;
    }
    .ctaWr {
        padding: 17.33333vw 0 26.66667vw;
    }
    .ctaWr.st2 {
        background-color: #eef8fc;
        padding: 11.33333vw 0 6.66667vw;
    }
    .cta {
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        -moz-box-shadow: 0vw 0vw 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        box-shadow: 0vw 0vw 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        background-color: #ffffcc;
    }
    .cta dl {
        position: relative;
        padding: 24vw 5.33333vw 0vw;
        position: relative;
    }
    .cta dl::before {
        content: "";
        position: absolute;
        top: -3.33333vw;
        left: 5.33333vw;
        width: 25.73333vw;
        height: 34.66667vw;
        background: url(../img/cta_wm.png) center/contain no-repeat;
        display: block;
        -moz-border-radius: 0 0 0 1.33333vw;
        border-radius: 0 0 0 1.33333vw;
    }
    .cta dl dt {
        position: absolute;
        left: 31.73333vw;
        top: -1.33333vw;
        width: 51.6vw;
    }
    .cta dl dd .cta_block01 .cta_btn_tel,
    .cta dl dd .cta_btn_tel.sp {
        z-index: 2;
        position: relative;
        /*display: block;
    -moz-border-radius: 1.33333vw;
         border-radius: 1.33333vw;
    background-image: -webkit-gradient(linear, left bottom, left top, from(#005bcc), to(#29b8cf));
    background-image: -webkit-linear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
    background-image: -moz- oldlinear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
    background-image: linear-gradient(to top, #005bcc 0%, #29b8cf 100%);
    -moz-box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
         box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
    /*width: 100%;
    height: 20vw;
    padding-left: 4vw;
    padding-top: 2.66667vw;
    position: relative;
    margin-bottom: 3.06667vw;*/
    }
    /*.cta dl dd .cta_block01 .cta_btn_tel::after {
    content: "";
    position: absolute;
    bottom: -1.33333vw;
    right: 1.6vw;
    width: 10.53333vw;
    height: 9.33333vw;
    background: url(../img/ic_hand.png) center/contain no-repeat;
    display: block;
  }*/
    .cta dl dd .cta_block01 .cta_btn_tel>p {
        line-height: 1;
        font-size: 9.06667vw;
        font-weight: 900;
        font-family: "Roboto", sans-serif;
        color: #fff;
        text-shadow: 0vw 0vw 0.728vw rgba(91, 91, 91, 0.3);
        -webkit-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -moz-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -ms-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        position: relative;
        padding-left: 13.12vw;
        white-space: nowrap;
        display: inline-block;
    }
    .cta dl dd .cta_block01 .cta_btn_tel>p::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 11.52vw;
        height: 8.32vw;
        background: url(../img/ic_tel.png) center/contain no-repeat;
        display: block;
    }
    .cta dl dd .cta_block01 .cta_btn_tel small {
        display: block;
        font-size: 3.33333vw;
        color: #fff;
        font-weight: 700;
        margin-top: 0.66667vw;
    }
    .cta dl dd .cta_block01 .cta_btn_mail {
        font-size: 4.66667vw;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        -moz-box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        width: 100%;
        height: 16vw;
        margin: 0 auto;
    }
    .cta dl dd .cta_block01 .cta_btn_mail::before {
        content: "";
        margin-right: 3.33333vw;
        width: 9.46667vw;
        height: 7.2vw;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .cta dl dd .cta_block02 {
        padding-top: 4vw;
        padding-bottom: 4vw;
        text-align: center;
    }
    .cta dl dd .cta_block02 span:nth-of-type(1) {
        font-size: 3.73333vw;
        font-weight: 700;
        -webkit-box-ordinal-group: 3;
        -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-right: 0.66667vw;
        display: block;
    }
    .cta dl dd .cta_block02 span:nth-of-type(2) {
        -webkit-box-ordinal-group: 2;
        -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        font-size: 4.13333vw;
        font-weight: 900;
    }
    .cta dl dd .cta_block02 span:nth-of-type(3) {
        font-size: 5.33333vw;
        font-weight: 900;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background: -webkit-gradient(linear, left bottom, left top, color-stop(2.8vw, #ff9700), color-stop(2.8vw, transparent), to(transparent));
        background: -webkit-linear-gradient(bottom, #ff9700 2.8vw, transparent 2.8vw, transparent 100%);
        background: -moz- oldlinear-gradient(bottom, #ff9700 2.8vw, transparent 2.8vw, transparent 100%);
        background: linear-gradient(to top, #ff9700 2.8vw, transparent 2.8vw, transparent 100%);
    }
    .cta dl dd .cta_block02__group {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .cta dl dd .cta_block02 span:nth-of-type(1) {
        order: 1;
        grid-column: span 2;
        margin: 0;
    }
    .cta dl dd .cta_block02 span:nth-of-type(2) {
        font-size: 4vw;
    }
    .cta dl dd .cta_block02__span:nth-of-type(2),
    .cta dl dd .cta_block02__span:nth-of-type(3) {
        grid-column: span 1;
    }
    .cta_block02__duration {
        font-size: 3.73333vw;
        color: #343434;
        text-align: center;
    }
    .cta dl dd .cta_block03 {
        background-color: #005dcc;
        padding: 0 5.33333vw 4vw;
        position: relative;
        z-index: 1;
        -moz-border-radius: 0 0 1.33333vw 1.33333vw;
        border-radius: 0 0 1.33333vw 1.33333vw;
        margin: 20px -5.33333vw 0 -5.33333vw;
    }
    .cta dl dd .cta_block03 .medal_block p {
        font-size: 3.86667vw;
        font-weight: 700;
        margin-bottom: 2vw;
        position: relative;
        padding-right: 16vw;
        text-align: left;
        color: #fff;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .cta dl dd .cta_block03 .medal_block p::before {
        content: "";
        position: absolute;
        top: -2vw;
        right: 0.66667vw;
        width: 14.41734vw;
        height: 19.29539vw;
        background: url(../img/medal_sp.png) center/contain no-repeat;
        display: block;
    }
    .cta dl dd .cta_block03 .medal_block p span {
        font-size: 5.6vw;
        border-bottom: 2px solid;
    }
    .cta dl dd .cta_block03 .medal_block p em {
        font-style: normal;
        font-size: 3.73333vw;
    }
    .cta dl dd .cta_block03>span {
        font-size: 3.33333vw;
        font-weight: 900;
        color: #005dcc;
        white-space: nowrap;
    }
    .cta dl dd .cta_block03 .box_payment {
        background-color: #fff;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        overflow: hidden;
    }
    .cta dl dd .cta_block03 .box_payment span {
        font-size: 3.46667vw;
        font-weight: 700;
        text-align: center;
        color: #fff;
        white-space: nowrap;
        background-color: #069ee1;
        display: block;
        padding: 1.33333vw;
    }
    .cta dl dd .cta_block03 .box_payment picture {
        margin: 2vw 4vw;
    }
    .cta_fixed_bot {
        display: none;
        position: fixed;
        z-index: 99;
        left: 0;
        bottom: 0;
        width: 100%;
        background-color: #fff;
        -moz-box-shadow: 0vw 0vw 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        box-shadow: 0vw 0vw 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
        border-top: 4px solid #005dcc;
        border-bottom: 4px solid #005dcc;
        padding: 2.66667vw 0;
    }
    .cta_fixed_bot .row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .cta_fixed_bot .row figure {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
    .cta_fixed_bot .row .cta_btn_tel {
        /*display: block;
    -moz-border-radius: 1.33333vw;
         border-radius: 1.33333vw;
    background-image: -webkit-gradient(linear, left bottom, left top, from(#005bcc), to(#29b8cf));
    background-image: -webkit-linear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
    background-image: -moz- oldlinear-gradient(bottom, #005bcc 0%, #29b8cf 100%);
    background-image: linear-gradient(to top, #005bcc 0%, #29b8cf 100%);
    -moz-box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);
         box-shadow: 0px 0px 1.06667vw 0.26667vw rgba(91, 91, 91, 0.5);*/
        width: 49.73333vw;
        height: 12.66667vw;
        /*padding-left: 2vw;
    padding-top: 1.33333vw;
    position: relative;*/
    }
    /*.cta_fixed_bot .row .cta_btn_tel::after {
    content: "";
    position: absolute;
    bottom: -0.66667vw;
    right: -2.93333vw;
    width: 8.13333vw;
    height: 8.8vw;
    background: url(../img/ic_hand2.png) center/contain no-repeat;
    display: block;
  }
  .cta_fixed_bot .row .cta_btn_tel > span {
    line-height: 1;
    font-size: 5.2vw;
    font-weight: 900;
    font-family: "Roboto", sans-serif;
    color: #fff;
    text-shadow: 0vw 0vw 0.728vw rgba(91, 91, 91, 0.3);
    -webkit-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
       -moz-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
        -ms-transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
            transform: matrix(1.08131, 0, 0, 1.08131, 0, 0);
    position: relative;
    padding-left: 8.41026vw;
    white-space: nowrap;
  }
  .cta_fixed_bot .row .cta_btn_tel > span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 7.38462vw;
    height: 5.33333vw;
    background: url(../img/ic_tel.png) center/contain no-repeat;
    display: block;
  }
  .cta_fixed_bot .row .cta_btn_tel small {
    display: block;
    font-size: 2.4vw;
    color: #fff;
    font-weight: 700;
    margin-top: 0.66667vw;
  }*/
    .cta_fixed_bot .row .cta_btn_mail {
        font-size: 2.93333vw;
        line-height: 1.18182;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 4;
        -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        background-color: #ff5072;
        position: relative;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        -moz-box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
        width: 37.73333vw;
        height: 12.66667vw;
    }
    .cta_fixed_bot .row .cta_btn_mail::after {
        content: "";
        position: absolute;
        left: 50%;
        top: -2.13333vw;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 33.2vw;
        height: 4.4vw;
        background: url(../img/cta_bot_tel_txt.png) center/contain no-repeat;
        display: block;
    }
    .cta_fixed_bot .row .cta_btn_mail::before {
        content: "";
        margin-right: 1.33333vw;
        width: 6.13333vw;
        height: 4.66667vw;
        background: url(../img/ic_mail.png) center/contain no-repeat;
        display: block;
    }
    .t_ttl {
        text-align: center;
        margin-bottom: 6vw;
    }
    .t_ttl.st2 span {
        color: #fff;
    }
    .t_ttl.st2 span:before {
        background-image: url(../img/t_ttl_ic2.png);
    }
    .t_ttl.st2 span {
        color: #fff;
    }
    .t_ttl.st2 span:before {
        background-image: url(../img/t_ttl_ic2.png);
    }
    .t_ttl span {
        position: relative;
        display: inline-block;
        padding-left: 8.50667vw;
        font-size: 6.66667vw;
        font-weight: 700;
        color: #005dcc;
    }
    .t_ttl span:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 8.65333vw;
        height: 6.30667vw;
        background-image: url(../img/t_ttl_ic1.png);
        background-repeat: no-repeat;
        -moz-background-size: contain;
        background-size: contain;
        display: block;
    }
    .t_ttl small {
        display: block;
        font-size: 3.6vw;
        font-weight: 700;
        font-family: "Roboto", sans-serif;
    }
    .mv_cm {
        background: url(../img/mv_bg.png) repeat;
        padding: 0 0 8vw 0;
        overflow: hidden;
        text-align: center;
    }
    .mv_cm picture {
        text-align: center;
        padding-top: 10px;
    }
    .mv_cm picture img {
        /* margin-bottom: -4vw; */
        width: 91.86667vw;
    }
    .medal_cm {
        background-color: #005dcc;
        color: #fff;
        padding: 3.06667vw 0 4.66667vw;
        position: relative;
    }
    .medal_cm.st2 {
        padding-bottom: 0.26667vw;
    }
    .medal_cm.st2 .medal_cm_top {
        margin-bottom: 0;
    }
    .medal_cm_top {
        margin-bottom: 4vw;
    }
    .medal_cm_top .row {
        max-width: 133.33333vw;
    }
    .medal_cm_top dl::before {
        content: "";
        position: absolute;
        top: -15vw;
        left: 5vw;
        width: 24vw;
        height: 45vw;
        background: url(../img/medal.png) center / contain no-repeat;
        display: block;
    }
    .medal_cm_top dl dt {
        font-size: 4vw;
        font-weight: 700;
        margin-bottom: 5.33333vw;
        position: relative;
        padding-left: 28vw;
        text-align: left;
    }
    .medal_cm_top dl dt::before {
        content: "";
        position: absolute;
        top: -5.33333vw;
        left: 2vw;
        width: 17.73333vw;
        height: 23.73333vw;
        background: url(../img/medal_sp.png) center/contain no-repeat;
        display: none;
    }
    .medal_cm_top dl dt span {
        font-size: 5vw;
        border-bottom: 2px solid;
    }
    .medal_cm_top dl dt em {
        font-style: normal;
        font-size: 4.13333vw;
    }
    .medal_cm_top dl dd {
        font-size: 13px;
        line-height: 1.66667;
        font-weight: 500;
    }
    .medal_cm_top dl dd br {
        display: none;
    }
    .medal_cm_bot .carousel {
        width: 100%;
        overflow: hidden;
    }
    .medal_cm_bot .carousel .main_carousel {
        overflow: hidden;
        position: relative;
    }
    .carousel__ul {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 10px;
        width: min(100% - 30px);
        margin: auto;
    }
    .carousel__list:nth-of-type(7),
    .carousel__list:nth-of-type(8),
    .carousel__list:nth-of-type(9),
    .carousel__list:nth-of-type(10),
    .carousel__list:nth-of-type(11),
    .carousel__list:nth-of-type(12),
    .carousel__list:nth-of-type(13),
    .carousel__list:nth-of-type(14),
    .carousel__list:nth-of-type(15),
    .carousel__list:nth-of-type(16) {
        display: none;
    }
    .medal_cm_bot .carousel .main_carousel ul li img {
        display: block;
    }
    .p_top .free {
        background-color: #eef8fc;
        padding: 8vw 0 10vw;
    }
    .p_top .service {
        padding: 12vw 0 16vw;
        background: url(../img/service_bg_sp.png) top 4vw center no-repeat;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
    }
    .p_top .service .list_service {
        padding-left: 5.33333vw;
        padding-right: 5.33333vw;
    }
    .p_top .service .list_service>li {
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        overflow: hidden;
        background-color: #fff;
        -moz-box-shadow: 0vw 0.26667vw 1.116vw 0.084vw rgba(91, 91, 91, 0.3);
        box-shadow: 0vw 0.26667vw 1.116vw 0.084vw rgba(91, 91, 91, 0.3);
    }
    .p_top .service .list_service>li+li {
        margin-top: 6vw;
    }
    .p_top .service .list_service>li figure {
        height: 47.06667vw;
    }
    .p_top .service .list_service>li figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .p_top .service .list_service>li .txt {
        background-color: #fff;
        position: relative;
        text-align: center;
        padding: 6vw 5.33333vw;
    }
    .p_top .service .list_service>li .txt h3 {
        position: absolute;
        top: -7.33333vw;
        left: 0;
        display: inline-block;
        text-align: left;
        background-color: #fff;
        font-size: 6vw;
        font-weight: 700;
        min-width: 26.66667vw;
        -moz-border-radius: 1.33333vw 1.33333vw 0 0;
        border-radius: 1.33333vw 1.33333vw 0 0;
        padding: 2vw 7.33333vw;
    }
    .p_top .service .list_service>li .txt ul {
        text-align: left;
    }
    .p_top .service .list_service>li .txt ul li {
        position: relative;
        font-size: 3.86667vw;
        line-height: 1.625;
    }
    .p_top .service .list_service>li .txt ul li::before {
        content: "・ ";
    }
    .p_top .service .list_service>li .txt .df {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: left;
        margin: 4.66667vw 0;
    }
    .p_top .service .list_service>li .txt .df>span {
        width: 13.33333vw;
        height: 13.33333vw;
        background-color: #ff9700;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-weight: 700;
        font-size: 3.86667vw;
        line-height: 1.375;
        color: #fff;
    }
    .p_top .service .list_service>li .txt .df .dfr {
        padding-left: 2.66667vw;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 {
        font-weight: 700;
        font-size: 4.8vw;
        line-height: 1;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 i {
        font-style: normal;
        font-size: 7.2vw;
        color: #ff9700;
        line-height: 1;
    }
    .p_top .service .list_service>li .txt .df .dfr .txt01 span {
        color: #ff9700;
    }
    .p_top .manufacturer {
        margin-top: 12vw;
    }
    .p_top .manufacturer dl {
        text-align: center;
    }
    .p_top .manufacturer dl dt {
        font-size: 5.33333vw;
        font-weight: 700;
        margin-bottom: 4vw;
    }
    .p_top .manufacturer dl dd p {
        margin-top: 4vw;
        font-size: 11px;
        line-height: 1.875;
    }
    .p_top .flow {
        background-color: #069ee1;
        color: #fff;
        padding: 9.33333vw 0 8.66667vw;
    }
    .p_top .flow .list_flow {
        counter-reset: div;
        margin-bottom: 4.66667vw;
    }
    .p_top .flow .list_flow li {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -moz-box-orient: horizontal;
        -moz-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .p_top .flow .list_flow li+li {
        margin-top: 8.66667vw;
    }
    .p_top .flow .list_flow li:not(:last-child) {
        position: relative;
    }
    .p_top .flow .list_flow li:not(:last-child):after {
        content: "";
        width: 6.6vw;
        height: 7.8vw;
        background: url(../img/flow_ar.png) center/contain no-repeat;
        display: block;
        position: absolute;
        left: 50%;
        bottom: -10.66667vw;
        -webkit-transform: rotate(90deg) translateX(-50%);
        -moz-transform: rotate(90deg) translateX(-50%);
        -ms-transform: rotate(90deg) translateX(-50%);
        transform: rotate(90deg) translateX(-50%);
    }
    .p_top .flow .list_flow li:nth-of-type(1) figure img {
        width: 27.86667vw;
    }
    .p_top .flow .list_flow li:nth-of-type(3) figure img {
        width: 30.66667vw;
    }
    .p_top .flow .list_flow li:nth-of-type(4) figure img {
        width: 26.66667vw;
    }
    .p_top .flow .list_flow li:nth-of-type(5) figure img {
        width: 26.26667vw;
    }
    .p_top .flow .list_flow li figure {
        width: 33.86667vw;
        text-align: right;
    }
    .p_top .flow .list_flow li figure img {
        width: 31.46667vw;
    }
    .p_top .flow .list_flow li .txt {
        width: -webkit-calc(100% - 33.86667vw);
        width: -moz-calc(100% - 33.86667vw);
        width: calc(100% - 33.86667vw);
    }
    .p_top .flow .list_flow li h3 {
        position: relative;
        -moz-border-radius: 1333.2vw;
        border-radius: 1333.2vw;
        background-color: #fff;
        font-weight: 700;
        padding: 1.33333vw 0 1.33333vw 14.66667vw;
        font-size: 4vw;
        font-weight: 700;
        color: #343434;
        white-space: nowrap;
        margin-bottom: 2vw;
    }
    .p_top .flow .list_flow li h3:before {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        counter-increment: div;
        content: counter(div);
        width: 12vw;
        height: 12vw;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -moz-border-radius: 1333.2vw;
        border-radius: 1333.2vw;
        color: #fff;
        background-color: #ff5072;
        font-size: 7.06667vw;
        font-weight: 900;
        font-family: "Roboto", sans-serif;
    }
    .p_top .flow .list_flow li p {
        font-size: 3.33333vw;
        line-height: 1.73333;
        font-weight: 500;
    }
    .p_top .flow .flow_payment dl {
        text-align: center;
        background-color: #fff;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        overflow: hidden;
    }
    .p_top .flow .flow_payment dl dt {
        padding: 2vw;
        font-weight: 500;
        color: #fff;
        background-color: #005dcc;
        font-size: 2.93333vw;
    }
    .p_top .flow .flow_payment dl dd {
        text-align: center;
        padding: 2.66667vw 5.33333vw;
    }
    .p_top .voice {
        background: url(../img/voice_bg.png) repeat;
        padding: 12vw 0;
        text-align: center;
    }
    .p_top .voice .row {
        padding: 0;
    }
    .areaBotCm .example {
        background-color: #eef8fc;
        position: relative;
        padding: 6.66667vw 0 10.66667vw;
        text-align: center;
    }
    .areaBotCm .example::before {
        content: "";
        position: absolute;
        top: -6.66667vw;
        left: 0;
        width: 100%;
        height: 7.6vw;
        background: url(../img/example_bg_sp.png) center/contain no-repeat;
        display: block;
        -moz-background-size: 100% 100%;
        background-size: 100% 100%;
    }
    .areaBotCm .example_list {
        margin-bottom: 3.33333vw;
        text-align: left;
    }
    .areaBotCm .example_list li .exampleWrap {
        display: block;
        padding: 7.33333vw 5.33333vw 5.4vw;
    }
    .areaBotCm .example_list li:not(:last-child) {
        border-bottom: 1px solid #069ee1;
    }
    .areaBotCm .example_list li figure {
        margin-bottom: 4vw;
    }
    .areaBotCm .example_list li .txt h3 {
        font-size: 5.33333vw;
        font-weight: 500;
        margin-bottom: 4vw;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }
    .areaBotCm .example_list li .txt .df {
        margin-bottom: 2vw;
    }
    .areaBotCm .example_list li .txt .df p {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 14px;
        margin-bottom: 2.66667vw;
    }
    .areaBotCm .example_list li .txt .df p:nth-of-type(1) {
        margin-right: 5.33333vw;
    }
    .areaBotCm .example_list li .txt .df p span {
        -moz-border-radius: 0.66667vw;
        border-radius: 0.66667vw;
        background-color: #069ee1;
        color: #fff;
        font-size: 3.33333vw;
        font-weight: 500;
        padding: 0.66667vw 5.33333vw;
        margin-right: 2.66667vw;
    }
    .areaBotCm .example_list li .txt p {
        font-size: 14px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .areaBotCm .example_list li .wrapDetail {
        text-align: right;
        margin-top: 6px;
        margin-right: -24px;
    }
    .areaBotCm .example_list li .wrapDetail span {
        position: relative;
        font-size: 15px;
        color: #069ee1;
        padding-right: 20px;
        letter-spacing: -1.8px;
    }
    .areaBotCm .example_list li .wrapDetail span:before {
        content: "";
        position: absolute;
        top: 4px;
        right: 5px;
        width: 0;
        height: 0;
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 8px solid #069ee1;
    }
    .areaBotCm .erea {
        padding: 16vw 0 8vw;
        text-align: center;
    }
    .areaBotCm .erea_txt {
        font-size: 14px;
        text-align: left;
        line-height: 2;
        font-weight: 500;
        margin-bottom: 6vw;
    }
    .areaBotCm .erea_box {
        margin: 4.66667vw 0 5.33333vw;
        text-align: left;
    }
    .areaBotCm .erea_box.st2 {
        margin-top: 0;
    }
    .areaBotCm .erea_box.st2>dl>dt {
        cursor: pointer;
        position: relative;
        text-align: left;
    }
    .areaBotCm .erea_box.st2>dl>dt i {
        position: absolute;
        width: 3.2vw;
        height: 3.2vw;
        right: 3.33333vw;
        top: 50%;
        margin-top: -1.6vw;
        display: block;
    }
    .areaBotCm .erea_box.st2>dl>dt i:before,
    .areaBotCm .erea_box.st2>dl>dt i:after {
        content: "";
        position: absolute;
        background-color: #fff;
        -webkit-transition: -webkit-transform 0.25s ease-out;
        transition: -webkit-transform 0.25s ease-out;
        -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        transition: transform 0.25s ease-out;
        transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        -moz-border-radius: 0.4vw;
        border-radius: 0.4vw;
    }
    .areaBotCm .erea_box.st2>dl>dt i:before {
        top: 0;
        left: 50%;
        width: 0.53333vw;
        height: 100%;
        margin-left: -0.26667vw;
    }
    .areaBotCm .erea_box.st2>dl>dt i:after {
        top: 50%;
        left: 0;
        width: 100%;
        height: 0.53333vw;
        margin-top: -0.26667vw;
    }
    .areaBotCm .erea_box.st2>dl>dd {
        max-height: 0;
        padding: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.4s ease-out;
        -moz-transition: max-height 0.4s ease-out;
        transition: max-height 0.4s ease-out;
    }
    .areaBotCm .erea_box.st2>dl>dd .ctAcc {
        padding: 3.33333vw 4.66667vw;
    }
    .areaBotCm .erea_box>dl {
        border: 2px solid #005dcc;
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        overflow: hidden;
    }
    .areaBotCm .erea_box>dl+dl {
        margin-top: 2.66667vw;
    }
    .areaBotCm .erea_box>dl>dt {
        background-color: #005dcc;
        color: #fff;
        text-align: center;
        padding: 2vw 9.33333vw 2vw 4.66667vw;
        font-size: 4vw;
        font-weight: 500;
    }
    .areaBotCm .erea_box>dl>dd {
        padding: 5.33333vw;
    }
    .areaBotCm .erea_box>dl>dd dl+dl {
        margin-top: 3.33333vw;
    }
    .areaBotCm .erea_box>dl>dd dl dt {
        font-size: 15px;
        font-weight: 700;
        margin-bottom: 0.66667vw;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -moz-box-orient: horizontal;
        -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 15px;
        line-height: 1.85714;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li+li::before {
        content: "｜";
        font-size: 2.66667vw;
        line-height: 1.85714;
    }
    .areaBotCm .erea_box>dl>dd dl dd ul li a {
        font-size: 15px;
        line-height: 1.85714;
        word-break: keep-all;
        text-decoration: underline;
    }
    .areaBotCm .faq {
        padding: 8vw 0 16vw;
        position: relative;
    }
    .areaBotCm .faq_main {
        margin-top: 4vw;
    }
    .areaBotCm .faq dl {
        margin-bottom: 2vw;
    }
    .areaBotCm .faq dl dt {
        position: relative;
        font-size: 15px;
        font-weight: 500;
        color: #fff;
        background-color: #069ee1;
        padding: 3vw 9.33333vw 3vw 8vw;
        cursor: pointer;
        -moz-border-radius: 0.53333vw;
        border-radius: 0.53333vw;
    }
    .areaBotCm .faq dl dt::before {
        content: "Q";
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 3.33333vw;
        font-size: 4vw;
        font-weight: 700;
        font-family: "Roboto", sans-serif;
        color: #fff;
    }
    .areaBotCm .faq dl dt i {
        position: absolute;
        width: 3.2vw;
        height: 3.2vw;
        right: 3.33333vw;
        top: 50%;
        margin-top: -1.6vw;
        display: block;
    }
    .areaBotCm .faq dl dt i:before,
    .areaBotCm .faq dl dt i:after {
        content: "";
        position: absolute;
        background-color: #fff;
        -webkit-transition: -webkit-transform 0.25s ease-out;
        transition: -webkit-transform 0.25s ease-out;
        -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        transition: transform 0.25s ease-out;
        transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
        -moz-border-radius: 0.4vw;
        border-radius: 0.4vw;
    }
    .areaBotCm .faq dl dt i:before {
        top: 0;
        left: 50%;
        width: 0.53333vw;
        height: 100%;
        margin-left: -0.26667vw;
    }
    .areaBotCm .faq dl dt i:after {
        top: 50%;
        left: 0;
        width: 100%;
        height: 0.53333vw;
        margin-top: -0.26667vw;
    }
    .areaBotCm .faq dl dd {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.4s ease-out;
        -moz-transition: max-height 0.4s ease-out;
        transition: max-height 0.4s ease-out;
        font-size: 2.4vw;
        background-color: #eef8fc;
    }
    .areaBotCm .faq dl dd .faq_a {
        padding: 2.93333vw 1.33333vw 2.93333vw 8vw;
        position: relative;
    }
    .areaBotCm .faq dl dd .faq_a p {
        font-size: 15px;
    }
    .areaBotCm .faq dl dd .faq_a::before {
        content: "A";
        position: absolute;
        top: 1.33333vw;
        left: 2.66667vw;
        font-size: 4vw;
        font-weight: 700;
        color: #069ee1;
        font-family: "Roboto", sans-serif;
    }
    .areaBotCm .ranking {
        padding-bottom: 14.66667vw;
    }
    .areaBotCm .ranking h3 {
        text-align: center;
        font-size: 23px;
        font-weight: 700;
        margin-bottom: 4.66667vw;
    }
    .areaBotCm .ranking ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 2.4vw;
        margin-right: -4vw;
    }
    .areaBotCm .ranking ul::-webkit-scrollbar {
        width: 100%;
    }
    .areaBotCm .ranking ul::-webkit-scrollbar-track {
        border: 1px solid #005dcc;
        border-radius: 9999px;
        margin-right: 4vw;
    }
    .areaBotCm .ranking ul::-webkit-scrollbar-thumb {
        background: #005dcc;
        border-radius: 9999px;
    }
    .areaBotCm .ranking ul li {
        -moz-border-radius: 1.33333vw;
        border-radius: 1.33333vw;
        background-color: #fff;
        overflow: hidden;
        -moz-box-shadow: 0vw 0vw 1.01333vw 0.05333vw rgba(91, 91, 91, 0.3);
        box-shadow: 0vw 0vw 1.01333vw 0.05333vw rgba(91, 91, 91, 0.3);
        width: 63.73333vw;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-right: 5.33333vw;
        background-color: #005dcc;
    }
    .areaBotCm .ranking ul li figure {
        height: 42.4vw;
    }
    .areaBotCm .ranking ul li figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .areaBotCm .ranking ul li .txt {
        padding: 2.66667vw 2.66667vw 4vw;
        color: #fff;
    }
    .areaBotCm .ranking ul li .txt h3 {
        padding: 0 0 2.66667vw 18vw;
        border-bottom: 1px solid;
        margin-bottom: 2vw;
        font-size: 4.4vw;
        line-height: 1.43478;
        text-align: left;
        position: relative;
    }
    .areaBotCm .ranking ul li .txt h3 span {
        position: absolute;
        top: -4.53333vw;
        left: 0;
        width: 14.208vw;
        height: 15.936vw;
        background: url(../img/ranking_tt_bg.png) 0 0 no-repeat;
        -moz-background-size: 100% 100%;
        background-size: 100% 100%;
        color: #005dcc;
        font-size: 3.33333vw;
        font-weight: 700;
        text-align: center;
        padding-top: 0.66667vw;
    }
    .areaBotCm .ranking ul li .txt h3 span::after {
        content: "";
        position: absolute;
        top: 0;
        right: -0.96vw;
        width: 0;
        height: 0;
        border-bottom: 1.92vw solid #b7b93b;
        border-right: 0.96vw solid transparent;
        display: block;
    }
    .areaBotCm .ranking ul li .txt h3 span i {
        font-style: normal;
        display: block;
        font-family: "Roboto", sans-serif;
        font-size: 6.26667vw;
        line-height: 1;
    }
    .areaBotCm .ranking ul li .txt p {
        white-space: initial;
        font-weight: 500;
        font-size: 13px;
    }
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
/*relatedPost*/
/*追従設定*/
/*FAQデザイン*/
.faq h2 {
    border: none !important;
    text-align: center;
    /*margin-top: 6rem;*/
    font-size: 22px !important;
    margin-bottom: 14px !important;
}
.faq dl {
    border-bottom: solid 1px #EAEAEA;
}
.faq dl:first-of-type {
    border-top: solid 1px #EAEAEA;
}
@media (max-width: 768px) {
    .faq h2 {
        font-size: 4.73333vw !important;
    }
}
/*blog style*/
::marker {
    color: #069ee1;
    font-weight: bold;
}
/*.blog a:not(.btn):not(#toc_container a):not(.relatedPost a) {
    font-weight: bold;
    text-decoration: underline;
	color: #0100ff;
}*/
@media (max-width: 768px) {
    /*.blog table {
        white-space: nowrap;
    }*/
}
/**/
/*AREAfAQ*/
/*FAQの見出し*/
.faq__subtitle {
    text-align: center;
    font-size: 22px;
    background: #005dcc;
    color: #fff;
    padding: 12px;
    border-radius: 5px;
    margin-bottom: 30px;
}
@media screen and (max-width:768px) {
    .faq__subtitle {
        font-size: 4.1vw;
        margin-bottom: 5.5vw;
        padding: 3vw 1vw;
    }
}
/*サービスページの新FV*/
.sp {
    display: none;
}
@media screen and (max-width:768px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
/*記事内の目次の全部見る部分のCSS*/
/*投稿の関連記事*/
/*指定給水装置工事事業者取得地域一覧*/
.contractor__unit {
    padding: 15px 0;
    background: #fff;
}
.contractor__img {
    margin: 8px 0 4px;
}
@media screen and (max-width:768px) {
    .contractor__unit {
        padding: 1.8vw 0;
    }
}
/*エリア記事のみにCTA追加*/
/*エリア記事の上部業者比較テーブル*/
/*ローカライズ記事FVに指定店情報*/
/*エリア記事、ローカライズ記事に指定店画像・番号表示*/
/*フロントページの指定店情報*/
.wdc {
    background: #EEF8FC;
    padding: 60px 0 70px;
}
.wdc__outer {
    width: min(100% - 30px, 1100px);
    margin: auto;
    background: #fff;
    padding: 70px 74px;
}
.wdc__inner {
    display: flex;
    align-items: flex-start;
    gap: 34px;
    margin-bottom: 40px;
}
.wdc__inner--sp {
    display: none;
}
.wdc__medal {
    max-width: 166px;
}
.wdc__heading {
    font-size: 30px;
    font-weight: bold;
    line-height: normal;
    margin-bottom: 24px;
}
.wdc__strong {
    background: linear-gradient(transparent 60%, rgba(255, 255, 0, 0.8) 60%);
    color: #005DCC;
    font-weight: bold;
}
.wdc__text {
    font-size: 20px;
    font-weight: bold;
    line-height: normal;
}
.wdc__button {
    cursor: pointer;
    background: #005DCC;
    padding: 12px 24px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.wdc__button:hover {
    opacity: 1;
}
.wdc__area {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}
.wdc__icon {
    position: relative;
}
.wdc__border {
    background: #fff;
    width: 25px;
    height: 4px;
    border-radius: 2px;
    display: block;
    transition: 0.3s;
}
.wdc__transform {
    position: absolute;
    transform: rotate(90deg);
    inset: 0;
}
.wdc__wrap {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}
.wdc__box {
    background: #fff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.wdc__name {
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 8px;
    line-height: normal;
}
.wdc__img {
    display: block;
}
.wdc__number {
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    margin-top: 8px;
    line-height: normal;
}
.wdc__hide {
    display: none;
}
@media screen and (max-width:768px) {
    .wdc {
        padding: 8vw 0;
    }
    .wdc__outer {
        padding: 4vw;
        width: min(100% - 8vw, 1100px);
    }
    .wdc__inner {
        display: none;
    }
    .wdc__inner--sp {
        display: block;
        gap: 20px;
        margin-bottom: 20px;
    }
    .wdc__unit {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 16px;
    }
    .wdc__medal {
        max-width: 22vw;
    }
    .wdc__heading {
        font-size: 4.4vw;
        margin-bottom: 0;
    }
    .wdc__text {
        font-size: 4vw;
    }
    .wdc__button {
        padding: 8px 16px;
    }
    .wdc__area {
        font-size: 4.5vw;
    }
    .wdc__border {
        width: 20px;
        height: 3px;
    }
    .wdc__wrap {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }
    .wdc__box {
        padding: 7px;
    }
    .wdc__name {
        font-size: 3vw;
    }
    .wdc__number {
        font-size: 3vw;
    }
}
@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}
@media (min-width: 769px) {
    .sp {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block;
    }
}

/*LINE追加ヘッダー*/
@media screen and (min-width:768px) {
    .header .header__container {
        display: flex;
        align-items: center;
        position: relative;
        gap: 39px;
        width: min(100%, 1100px);
        margin: 0 auto;
    }
    .header .header__logoImg {
        order: unset;
    }
    .header .header__container .header_menu {
        order: unset;
    }
    .header__buttons {
        display: flex;
        align-items: center;
        gap: 16px;
        max-width: 416px;
        width: 100%;
    }
    .header .header__container .header__line--button {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: 200px;
        width: 100%;
        background-color: #06C755;
        color: #fff;
        font-weight: bold;
        font-size: 16px;
        border-radius: 5px;
        padding: 10px 8px;
        gap: 8px;
        order: unset;
    }
    .header .header__container .header__mail--button {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: 200px;
        width: 100%;
        background-color: #FF5072;
        color: #fff;
        font-weight: bold;
        font-size: 16px;
        border-radius: 5px;
        padding: 10px 8px;
        gap: 8px;
        order: unset;
    }
    .header a.header__line--button::before,
    .header a.header__mail--button::before {
        display: none;
    }
    .header__line--icon {
        max-width: 25px;
    }
    .header__buttons--sp {
        display: none;
    }
}
@media screen and (max-width:768px) {
    .header .header__container {
        gap: 0;
    }
    .header__buttons {
        display: none;
    }
    .header__buttons--sp {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-left: auto;
        margin-right: 15px;
    }
    .header__btn--sp {
        max-width: 10vw;
        margin-top: 12px;
    }
    .header__logoImg {
        width: 32.4vw;
        display: inline-block;
    }
}
/* LINE追加スライドメニュー内のCTA */
.menu__cta .menu__line {
    padding: 14px;
    border-radius: 5px;
    font-size: 4.66667vw;
    margin: auto;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #06C755;
    color: #fff;
    font-weight: bold;
    width: 81.73333vw;
    gap: 9px;
    box-shadow: 0px 0px 0.8vw 0.26667vw rgba(91, 91, 91, 0.3);
}
.menu__mail {
    gap: 9px;
}
.menu__line--icon {
    max-width: 9vw;
}
.menu__mail--icon {
    max-width: 9vw;
}
.header .header_contact .menu__mail::before {
    display: none;
}
/*LINE追加各ページのCTA*/
.cta dl dd .cta_block01 .cta__line {
    background: #06C755;
    margin: 0 0 16px;
    height: auto;
    padding: 11px;
    border-radius: 25px;
    gap: 9px;
}
.cta dl dd .cta_block01 .cta__mail {
    margin: 0;
    height: auto;
    padding: 11px;
    border-radius: 25px;
    gap: 9px;
}
.cta dl dd .cta_block01 .cta__line::before,
.cta dl dd .cta_block01 .cta_btn_mail::before {
    display: none;
}
.cta__icon {
    max-width: 25px;
}
.cta dl dd .cta__block {
    gap: 22px;
    align-items: flex-start;
}
.cta dl dd .cta_block01 .cta_btn_tel>.cta__number {
    transform: none;
    font-size: 60px;
    padding-left: 95px;
}
.cta dl dd .cta_block01 .cta_btn_tel>.cta__number:before {
    width: 80px;
    height: 80px;
}
.cta dl dd .cta_block01 .cta_btn_tel .cta__subtext {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    line-height: 1.5;
    padding-left: 95px;
}
@media screen and (max-width:768px) {
    .cta dl dd .cta_block01 .cta__line {
        padding: 14px;
        border-radius: 5px;
        font-size: 4.8vw;
        margin-bottom: 2.6vw;
    }
    .cta dl dd .cta_block01 .cta__mail {
        padding: 17px;
        border-radius: 5px;
        font-size: 4.8vw;
    }
    .cta__icon {
        max-width: 9vw;
    }
}

/* footer_top */
.footer_top h3 {
    text-align: center;
    font-size: 40px;
    line-height: 58px;
    color: #fff;
    font-weight: 500;
}
.footer_top .info {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 28px;
}
.footer_top .info .left,
.footer_top .info .right {
    width: 500px;
}
.footer_top .info dl {
    color: #fff;
    font-size: 14px;
    line-height: 2;
    font-weight: 500;
    font-family: var(--noto);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}
.footer_top .info dl dt {
    width: 56px;
    margin-right: 22px;
}
.footer_top .info dl dd {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
@media screen and (max-width:768px) {
    .footer_top h3{
        font-size: 7.46269vw;
        line-height: 10.69652vw;
    }
    .footer_top .info{
        margin-top: 4.97512vw;
    }
    .footer_top .info .left,
    .footer_top .info .right {
        width: 100%;
    }
    .footer_top .info dl {
        font-size: 12px;
    }
    .footer_top .info dl dt {
        width: 4em;
        margin-right: 2em;
    }
}
/* //footer_top */

/*footer__cta*/
.footer__cta .footer__cta--container {
    justify-content: flex-start;
}
.footer__cta--img {
    max-width: 210px;
}
.footer__cta .row .footer__cta--tel {
    margin: 0 15px 0;
    padding-left: 76px;
    position: relative;
}
.footer__cta--phone {
    display: block;
}
.footer__cta .row .footer__cta--tel::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 58px;
    background: url(../img/ic_tel_free.png) center / contain no-repeat;
    display: block;
}
.footer__cta .row .cta_btn_tel>.footer__cta--number {
    font-size: 55px;
    padding-left: 0;
    transform: none;
    line-height: 100%;
}
.footer__cta .row .cta_btn_tel>.footer__cta--number::before {
    display: none;
}
.footer__cta .row .footer__cta--tel .footer__cta--subtext {
    padding-left: 0;
    line-height: 100%;
}
.footer__cta .footer__cta--buttons {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 416px;
    position: relative;
}
.footer__cta--message {
    font-size: 28px;
    color: #FDFF7C;
    font-weight: bold;
    margin-bottom: 16px;
    text-align: center;
    position: absolute;
    top: -46px;
    left: 0;
    right: 0;
    margin: auto;
    text-shadow:
        3px 3px 3px rgba(0, 93, 204, 0.7),
        -3px -3px 3px rgba(0, 93, 204, 0.7),
        3px -3px 3px rgba(0, 93, 204, 0.7),
        -3px 3px 3px rgba(0, 93, 204, 0.7),
        0px 3px 3px rgba(0, 93, 204, 0.7),
        0px -3px 3px rgba(0, 93, 204, 0.7),
        3px 0px 3px rgba(0, 93, 204, 0.7),
        -3px 0px 3px rgba(0, 93, 204, 0.7);
}
.footer__cta .row .footer__cta--line {
    margin: 0;
    background: #06C755;
    gap: 8px;
    max-width: 200px;
    min-width: 200px;
    width: 100%;
    height: auto;
    padding: 10px;
    font-size: 18px;
}
.footer__cta .row .footer__cta--mail {
    margin: 0;
    gap: 8px;
    max-width: 200px;
    min-width: 200px;
    width: 100%;
    height: auto;
    padding: 10px;
    font-size: 18px;
}
.footer__cta .row .footer__cta--line::before,
.footer__cta .row .footer__cta--mail::before,
.footer__cta .row .footer__cta--line::after,
.footer__cta .row .footer__cta--mail::after {
    display: none;
}
.footer__cta--icon {
    max-width: 40px;
    width: 100%;
}
.footer__cta--txt {
    display: none;
}
@media screen and (max-width:768px) {
    .footer {
        padding-bottom: 21vw;
    }
    .footer__cta {
        background: #EEF8FC;
        padding: 4.2vw 0 2.9vw;
    }
    .footer__cta .footer__cta--container {
        justify-content: space-between;
        gap: 2.4vw;
    }
    .footer__cta .footer__cta--buttons {
        gap: 1.5vw;
        max-width: 100%;
        width: 100%;
    }
    .footer__cta--message {
        font-size: 4.2vw;
        top: -8.5vw;
        text-shadow:
            0.4vw 0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            -0.4vw -0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            0.4vw -0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            -0.4vw 0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            0vw 0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            0vw -0.4vw 0.4vw rgba(0, 93, 204, 0.7),
            0.4vw 0vw 0.4vw rgba(0, 93, 204, 0.7),
            -0.4vw 0vw 0.4vw rgba(0, 93, 204, 0.7);
    }
    .footer__cta .row .footer__cta--tel::before {
        display: none;
    }
    .footer__cta .row .footer__cta--tel {
        padding-left: 0;
        margin: 0;
        width: 100%;
        height: auto;
    }
    .footer__cta .row .footer__cta--line {
        padding: 1.8vw;
        max-width: 21.3vw;
        min-width: 21.3vw;
        gap: 1.2vw;
    }
    .footer__cta .row .footer__cta--mail {
        padding: 1.8vw;
        max-width: 21.3vw;
        min-width: 21.3vw;
        gap: 1.2vw;
    }
    .footer__cta--icon {
        max-width: 5vw;
    }
    .footer__cta--text {
        display: none;
    }
    .footer__cta--txt {
        display: block;
        font-size: 2.6vw;
    }
}
/*  // footer__cta */